数据对齐选项 - 1.3 简体中文

UltraScale+ 器件 Integrated Block for PCI Express 产品指南 (PG213)

Document ID
PG213
Release Date
2022-11-16
Version
1.3 简体中文

传输事务层包 (TLP) 在每个 AXI4-Stream 接口上都作为描述符后接有效载荷数据(当 TLP 包含有效载荷时)的形式来传输。描述符大小固定,在请求接口上为 16 字节,在完成接口上则为 12 字节。集成块在其发射侧(目标为链路)根据用户应用在描述符中提供的参数来汇编 TLP 报头。集成块在其接收侧(目标为用户接口)从接收到的 TLP 的报头中提取参数,并构成描述符以交付到用户应用。根据 AXI4-Stream 接口协议中的定义,每个 TLP 均作为数据包来传输。

64/128/256 位接口:

当存在有效载荷时,有 2 个选项可用于对齐与数据路径有关的有效载荷的第 1 个字节。
  1. Dword 对齐模式:在此模式下,只要存在有效载荷,描述符字节后紧接的就是下一个 Dword 位置中的有效载荷字节。
  2. 地址对齐模式:在此模式下,有效载荷可从数据路径上的任意字节位置开始。对于从集成块传输到用户应用的数据,第 1 个字节的位置判定方式为
    n = A mod w

    其中 A 表示描述符中指定的存储器或 I/O 地址(针对报文和配置请求,采用的地址为 0),而 w 则表示已配置的数据总线宽度(以字节数为单位)。描述符的结束位置与有效载荷的第 1 个字节的起始位置之间的间隔全部以空字节来填充。

对于从集成块传输到用户应用的数据,数据对齐方式根据用户存储器中数据块的目标起始位置来判定。对于从用户应用传输到集成块的数据,使用地址对齐模式时,用户应用必须使用 tuser 边带信号向集成块明确标示第 1 个字节的位置。

在地址对齐模式下,不允许有效载荷与描述符重叠。即,当发射器已发射描述符之后,会开始 1 个新节拍以启动有效载荷的传输。发射器会以空字节填充描述符的最后 1 个字节与有效载荷的第 1 个字节之间的所有间隔。

512 位接口:

当存在有效载荷时,有 2 个选项可用于对齐与数据路径有关的有效载荷的第 1 个字节。
  1. Dword 对齐模式:在此模式下,只要存在有效载荷,描述符字节后紧接的就是下一个 Dword 位置中的有效载荷字节。如果 D 表示描述符大小(以字节为单位),那么对应于有效载荷的第 1 个字节的通道编号的判定方式为:
    n = (S + D + (A mod 4)) mod 64
    其中 S 表示描述符的第 1 个字节出现的通道编号(有效值包括 0、16、32 或 48),D 表示描述符宽度(可以是 12 字节或 16 字节),A 表示用户存储器中数据块的第 1 个字节的地址(对于报文和配置请求,采用的地址为 0)。
  2. 128b 地址对齐模式:在此模式下,512 位总线上有效载荷的起始位置与 128 位边界对齐。对应于有效载荷的第 1 个字节的通道编号的判定方式为:
    n = (S + 16 + (A mod 16)) mod 64

    其中 S 表示描述符的第 1 个字节出现的通道编号(有效值包括 0、16、32 或 48),A 表示对应于有效载荷的第 1 个字节的存储器或 I/O 地址(对于报文和配置请求,采用的地址为 0)。描述符的结束位置与有效载荷的第 1 个字节的起始位置之间的间隔全部以空字节来填充。

    在 4 个用户接口之间,用于数据对齐的地址 A 的源各不相同,如下所述:
    CQ 接口
    对于通过 CQ 接口从核传输到用户应用的数据,用于对齐的地址位为描述符中指定的下位地址,即用户存储器中数据块的起始地址。
    CC 接口
    对于通过 CC 接口从用户应用传输到核的完成数据,基于用户在描述符中提供的地址位来进行对齐。
    RQ 接口
    对于通过 RQ 接口从用户应用传输到核的存储器请求,根据用户随使用边带信号的请求一起提供的地址位来进行对齐。用户可以为 A 指定任意值,与描述符中地址字段的设置无关。
    RC 接口
    对于通过 RC 接口从核传输到用户应用的完成数据,根据用户随使用边带信号(在 RQ 接口上发出该信号时)一起提供的地址位来进行对齐。核会保存来自请求的对齐信息,并在通过 RC 接口交付完成包有效载荷时,将此信息用于对齐对应完成包的有效载荷。

    128b 地址对齐模式将 512 位 AXI 节拍分割为 4 个子节拍,每拍 128 位。有效载荷只能在紧接在描述符之后的子节拍中开始。不允许有效载荷与描述符在同一子节拍中重叠。发射器会以空字节填充描述符的最后 1 个字节与有效载荷的第 1 个字节之间的所有间隔。

通过设置 IP 自定义 GUI 即可为请求器接口(RQ 或 RC)和完成器接口(CQ 或 CC)单独选择对齐模式。

注释: 如果性能是设计中的关键要素,那么应使用 Dword 对齐模式代替地址对齐模式。

Vivado® IP 目录会将数据对齐选项全局应用于全部 4 个接口。但高级用户可以为这 4 个 AXI4-Stream 接口分别选择对齐模式。此操作可通过设置对应的对齐模式参数来完成。请参阅 64/128/256 位完成器接口512 位完成器接口 以获取有关地址对齐和示例图的更多详细信息。