0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈PCIe包分析解扰器模块的输出数据

电子设计 来源:赛灵思中文社区 作者:赛灵思中文社区 2020-11-29 10:29 次阅读

PIPE 接口上的数据在 Gen3 的速度下被加密。当调试 PCIe 问题时,能在 PCIe 链接上查看各个包会很有帮助。

若要实现此目的,用户需拥有协议链接分析器。由于其成本较高,能接触到此等设备的用户不多。随协议链接分析器提供的包分析工具很广泛,可对链接流量进行深入分析。

赛灵思 UltraScale+ 器件的 PCIe® Express Gen3 IP 集成块有一个功能,可让您集成一个解扰器模块,以便解密在 PIPE 接口上被加密的数据。尽管它不能提供与协议链接分析器相同数量的分析数据,但它可以在识别潜在问题方面提供帮助,而且在大部分情况下可帮助追踪问题的根本原因。

本文将详细介绍如何通过识别来自链路并进入 PCIe IP 的不同类型的 PCIe 包来分析解扰器模块的输出数据。

解扰器模块在 PCIe IP 配置 GUI 中被使能,具体如下:


解扰器模块只在 Gen3 模式中被支持。

如果复选框变成灰色,要确保配置 GUI 的“Basic标签中的链接速度被设为 8.0 GT/s。如果该选项不可用,请将“Basic”标签中的“Mode”设为“Advanced”。

为了追踪 PIPE 接口上有效 PCIe 包的起始点,该接口提供了两种信号:*_sync_header 和 *_start_block。


为了确认 rx_data 上的数据是否为有效包,请检查以下各项:

  • *_data_valid 已被有效
  • *_start_block 已被有效
  • *_sync_header 为“1”或“2”。
    - 如果该值是“1”,则表示是“Ordered Set”的起始点。
    - 如果该值是“2”,则表示是 TLP 或 DLLP 包的起始点。

被解扰的数据分析也可在仿真中进行。

以下的波形图来自与 IP 一起生成的 Gen3 示例设计的仿真。


退出“Recovery.Speed”LTSSM 状态后的第一个包是 EIEOS(电气空闲退出有序集)。


上文波形图中所示的 FF00FF00 就是 EIEOS。

被解扰信号上的第一个包将是 EIEOS。

如前文所述,*_start_block 必须有效,而且下文波形图中所示的 *_sync_header 信号应为“1”。


一旦所有均衡状态都已完成,在进入 L0 状态之前,您应该看到 555555E1。

这就是 SDS(数据流起始点)。一旦您看到了 SDS,则意味着有序集交互已完成。接口上的下一个包类型将是初始流量控制信用,即,我们应在接口上看到 DLLP 包。


下面的波形图即显示了 DLLP 包。DLLP 包以 SDP(DLLP 包起始点 - ACF0)开始。在多通道设计时,数据将被跨通道分布。


InitFC1-P(Posted Data 的初始流量控制)以“40”开始。下文来自 Lecory 分析器的捕获显示 InitiFC1-P 标识符。


在下文的波形图中,DLLP 包为 InitFC1-P。


DLLP 包格式共有四种:

  • ACK 或 Nak DLLP 包格式
  • 功耗管理 DLLP 包格式
  • 流量控制 DLLP 包格式
  • 供应商特定 DLLP 包格式

每一种 DLLP 包的长度都是 6 个符号。 有关解码 DLLP 包内容的信息,请参阅 PCI Express 规范。在下文的波形图中,“60”是 InitFC-Cpl(Cpl 代表 completion)。“50”是 InitFC-NP(NP 代表 Non-Posted)。


UpdateFC-P 以“80”开始。被解扰数据中的更新值为十六进制,因此需要将其转化为十进制,以便获得可用信用的准确数字。


有序集总是按通道来的。每条通道都有其自己的有序集。 DLLP 和 TLP 被跨通道分配;每条通道一个字节。

DLLP 只在 lane-0、lane-4 或 lane-8 中开始,即,F0 只能在 lane 0、4 或 8 上。TLP 可在任何通道上开始。

TXRATE 表示链路运行的速度。向 Gen3 速度的过渡在“Recovery.Speed”(0C)LTSSM 状态中发生,如以下波形图所示。


在 L0 状态之前以 Gen1/Gen2 速度运行的包未被加扰,它仅在 Gen3 速度下被加扰。在 PIPE 接口上以 Gen1/Gen2 速度运行的有序集可被直接读取。但是,所有速度的所有内容在 L0 状态中都会被扰码。下面的波形图显示了在 Gen1 速度时的捕获。


在这里,“4A”系指其 TS1 有序集。只有在速度如 TXRATE 所示变化至 Gen3 时才需要解扰器模块。

下列波形图中的 AAAAAAAA 表示一个 SKP 有序集。


E1 表示 SKP_END 符号的定义详见如下所示的 PCIe 规范。


下面的波形图显示了在 Gen3 链接上的一个 TS1 有序集。所示的“1E”表示在 Gen3 速度时的一个 TS1 有序集。



下面的波形图显示了每条通道中的一个 TS1 有序集。它不会跨越多条通道。它在所有通道上都相同,只是通道号不同。在下面的波形图中,通道号分别为 00 和 01。


这里的“0E”是 Symbol-4。Symbol-4 在规范中的定义如下:


0E= 0000_1110。当我们将这些位映射到规范中的 Symbol-4 描述上时,它表示 Gen3 速度得到了支持。

Symbol-6 在 LTSSM 所处的不同状态中具有不同含义。在如下所示的波形图中,LTSSM 为“28”,则意味着它位于 phase-0 中。



Symbol-6 为 20,即 001_0000。由于它在 phase-0 中,则位 1:0 被设为“00”。

下面的波形图显示了一个完整的 TS1 有序集。


下面的波形图显示了设置为 Gen3 速度的一个 TS2 有序集。“2D”表示它是一个 TS2 有序集



至此,我们已讨论了有关有序集和 DLLP 的内容,那么现在我们来看一下如何在 PIPE 接口上识别 TLP。

每个 TLP 都以 STP(TLP 包起始点)标识开始。因此,在解扰器中查找具有 *_start_block = 1 和 *_sync_header= 2 的任何“nF”。

每个 STP 标识都是 4 个符号并表示 TLP 的开始。

STP 字段的定义详见下图所示:


以下是 MemWr(存储器写入 TLP)的示例。请注意,这是一个 x4 链接,因此所有内容都被跨越分配。下面的波形图取自示例设计仿真。


该波形图显示了来自主机测试平台而通过 PCIe 硬块的 CQ 接口进入用户逻辑的存储器写入传输事务。该传输事务在 PIPE 接口上具体理解如下:

开始从 LSB 读取:

DW0 = ClkCycle0-Byte0 (Lane-0 to Lane-3) 
-> “6F-80-20-1D” 
-> STP token

DW1 = Header starts here -> ClkCycle0-Byte1 (Lane-0 to Lane-3) 
-> “40-00-00-01”
-> Indicates Fmt/Type = 0x40 which is a 3DW MemWr request, Length = 1
DW2 = ClkCycle0-Byte2 (Lane-0 to Lane-3)
-> "00-00-00-0F” 
-> "0000- ReqID, Tag – 00, 1st DW Byte Enable = "F"

DW3 = ClkCycle0-Byte3 (Lane-0 to Lane-3)
-> “00-00-00-10” -> Address = 'h10

DW4 = ClkCycle1-Byte0 (Lane-0 to Lane-3)
-> “04-03-02-01” -> Payload (Byte0 to Byte3, 01-> MSB, 04-> LSB)

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7453

    浏览量

    163609
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    131166
  • PCIe
    +关注

    关注

    15

    文章

    1224

    浏览量

    82446
  • GUI
    GUI
    +关注

    关注

    3

    文章

    649

    浏览量

    39550
收藏 人收藏

    评论

    相关推荐

    PCIe加速卡在数据中心的应用

    随着数据中心的快速发展,对计算能力的需求也在不断增长。PCIe(Peripheral Component Interconnect Express)加速卡作为一种高性能的计算设备,已经在数据
    的头像 发表于 11-06 09:32 295次阅读

    粒子探测干嘛用的

    粒子探测是一种用于检测和分析粒子的设备,它通过热技术来实现对粒子的检测。这种探测在物理学、化学、材料科学、环境科学等领域有着广泛的
    的头像 发表于 09-25 14:20 333次阅读

    艾体宝干货 OIDA之四:掌握数据包分析-分析的艺术

    本文是OIDA方法系列的最后一部分,重点介绍了数据包分析的“分析”阶段。这一最后阶段将剖析阶段的精炼数据转化为可操作的见解,使网络管理员和安全专业人员能够解决问题、优化性能并增强安全性
    的头像 发表于 09-24 11:47 168次阅读
    艾体宝干货 OIDA之四:掌握<b class='flag-5'>数据包</b><b class='flag-5'>分析</b>-<b class='flag-5'>分析</b>的艺术

    CDCI6214超低功耗时钟发生(具有PCIe支持、四路可编程输出和EEPROM)数据

    电子发烧友网站提供《CDCI6214超低功耗时钟发生(具有PCIe支持、四路可编程输出和EEPROM)数据表.pdf》资料免费下载
    发表于 08-21 11:50 0次下载
    CDCI6214超低功耗时钟发生<b class='flag-5'>器</b>(具有<b class='flag-5'>PCIe</b>支持、四路可编程<b class='flag-5'>输出</b>和EEPROM)<b class='flag-5'>数据</b>表

    LMK00334-Q1四路输出PCIe第1代至第5代时钟缓冲和电平转换数据

    电子发烧友网站提供《LMK00334-Q1四路输出PCIe第1代至第5代时钟缓冲和电平转换数据表.pdf》资料免费下载
    发表于 08-21 10:49 0次下载
    LMK00334-Q1四路<b class='flag-5'>输出</b><b class='flag-5'>PCIe</b>第1代至第5代时钟缓冲<b class='flag-5'>器</b>和电平转换<b class='flag-5'>器</b><b class='flag-5'>数据</b>表

    LMK00334四路输出PCIe第1代至第5代时钟缓冲和电平转换数据

    电子发烧友网站提供《LMK00334四路输出PCIe第1代至第5代时钟缓冲和电平转换数据表.pdf》资料免费下载
    发表于 08-20 10:03 0次下载
    LMK00334四路<b class='flag-5'>输出</b><b class='flag-5'>PCIe</b>第1代至第5代时钟缓冲<b class='flag-5'>器</b>和电平转换<b class='flag-5'>器</b><b class='flag-5'>数据</b>表

    DS90UB936-Q1双路3Gbps、MIPI CSI-2输出、FPD-link III集线器数据

    电子发烧友网站提供《DS90UB936-Q1双路3Gbps、MIPI CSI-2输出、FPD-link III集线器数据表.pdf》资料免费下载
    发表于 06-19 12:41 1次下载
    DS90UB936-Q1双路3Gbps、MIPI CSI-2<b class='flag-5'>输出</b>、FPD-link III<b class='flag-5'>解</b>串<b class='flag-5'>器</b>集线器<b class='flag-5'>数据</b>表

    DS90UB954-Q1双路4.16Gbps、MIPI CSI-2输出、FPD-link III集线器数据

    电子发烧友网站提供《DS90UB954-Q1双路4.16Gbps、MIPI CSI-2输出、FPD-link III集线器数据表.pdf》资料免费下载
    发表于 06-19 12:33 0次下载
    DS90UB954-Q1双路4.16Gbps、MIPI CSI-2<b class='flag-5'>输出</b>、FPD-link III<b class='flag-5'>解</b>串<b class='flag-5'>器</b>集线器<b class='flag-5'>数据</b>表

    FPGA的PCIE接口应用需要注意哪些问题

    决定了其逻辑单元、内存块和输入/输出端口的数量。这些资源的限制会影响PCIe的配置,如通道数量和速度等级。 不同FPGA的内部架构差异可能导致性能不同。例如,数据传输路径的宽度、时钟频率以及串行收发
    发表于 05-27 16:17

    看看PCIe设备之间的通信方式

    PCIe是以(Packet)为单位传输数据的。和计算机网络类似,其协议也是分层的。
    的头像 发表于 03-01 14:18 5698次阅读
    看看<b class='flag-5'>PCIe</b>设备之间的通信方式

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    充分利用PC的高效数据处理和开放性特性,以及控制卡高速PWM、多维位置比较输出PSO等功能,实现出色的多轴同步控制和高速点位以及复杂的轨迹运动控制等功能,确保了控制卡与上位机的无缝实时数据交互,极大
    发表于 01-24 09:48

    光纤产品介绍

    可模型化为级联结构的双折射调制,每一个双折射调制工作于不同频率下进而达到匀化输出偏振态的目的。该产品具有低插入损耗、低回波损耗、宽工作波长范围、高速
    发表于 01-23 09:12 0次下载

    视频数据卡设计方案:120-基于PCIe的视频数据

    实验室数据采集 , 视频数据收发卡 , 信号采集、分析 , PCIe的视频数据卡 , 模拟输出
    的头像 发表于 12-22 09:40 338次阅读
    视频<b class='flag-5'>数据</b>卡设计方案:120-基于<b class='flag-5'>PCIe</b>的视频<b class='flag-5'>数据</b>卡

    AD采集卡设计原理图:630-基于PCIe的高速模拟AD采集卡

    一、产品概述 基于PCIe的一款分布式高速数据采集系统,实现多路AD的数据采集,并通过PCIe传输到存储计算服务,实现信号的
    发表于 12-11 11:36

    浅谈滤波

    浅谈滤波
    的头像 发表于 11-29 16:20 803次阅读
    <b class='flag-5'>浅谈</b>滤波<b class='flag-5'>器</b>