用于 PCIe* 解决方案的 Intel® Stratix® 10 Avalon® -ST和Single Root I/O Virtualization (SR-IOV)接口用户指南

ID 683111
日期 12/06/2017
Public
文档目录

6.1.4. Avalon-ST 256-Bit TX接口

Application Layer通过Avalon-ST TX接口将数据传输到PCIe IP core的Transaction Layer。这是一个256-bit接口。
表 30.  256‑Bit Avalon-ST TX数据通路

信号

方向

说明

tx_st_data[255:0]

Input

传输的数据。Application Layer必须在TX接口上提供一个被正确格式化的TLP。当tx_st_valid置位时有效。message TLP的映射与包含4个双字头(dword header)的Transaction Layer TLP的映射相同。对于header中的length和address域,数据周期的数量必须是正确的。发送一个包含错误数量的数据周期的数据包会导致TX接口挂起,并且无法接受更多请求。此外,TLP一定不要大于协商的Max Payload。

对于TLP requester ID域,dword1中的bits[31:16]表示以下信息:

  • Bits[19:16]:指定PF数量。
  • Bits[31:20]:指定VF数量。当tx_st_vf_active置位时,VF数量有效。如果请求来自VF[<m>, <n>],那么bits[19:16]驱动PF数量,<m>,bits [31:20]驱动VF数量,<n>tx_st_vf_active信号在与tx_st_sop tx_st_valid的相同周期内置位。

请参考TLP Header and Data Alignment for the Avalon-ST TX and Avalon-ST RX Interfaces来了解TLP header的布局和数据。

tx_st_sop

Input

当同tx_st_valid一起置位时表示TLP的第一个周期。

tx_st_eop

Input

当同tx_st_valid一起置位时表示TLP的最后一个周期。

tx_st_ready

Output

表示Transaction Layer准备好接收要传输的数据。内核置低此信号来限制数据流。tx_st_ready可以在复位期间置位。在Avalon-ST TX接口上发送数据包之前,Application Layer应该在复位释放后等待至少2个时钟周期。reset_status信号也能够用于监控IP core何时退出复位状态。

如果tx_st_ready被Transaction Layer在周期<n> 上置位,那么 <n> + readyLatency是一个ready周期,在此周期中Application Layer可能置位valid并传输数据。

readyLatency是3个coreclkout_hip周期。

tx_st_valid

Input

tx_st_ready也置位时,将tx_st_data同步(clock)到内核。在tx_st_soptx_st_eop之间,除了响应tx_st_ready置低时,tx_st_valid一定不要在TLP的中间被置低。当tx_st_ready置低时,此信号必须在3个coreclkout_hip周期内置低。当tx_st_ready重新置位,并且tx_st_data处于mid-TLP时,此信号必须在3个周期内重新置位。 图 Avalon-ST TX Interface tx_st_ready Deasserts显示了此信号的时序。

要加速时序收敛,Intel建议您寄存tx_st_ready以及tx_st_valid信号。

tx_st_err

Input

表明发送TLP上的一个错误。此信号用于使一个数据包无效。要使一个数据包无效,需要通过tx_st_eop置位此信号一个周期。当使一个数据包无效时,后面的数据包应该直到下一个时钟周期才发送。

tx_st_parity[31:0]

Output

IP core支持字节奇偶校验。每个比特代表tx_st_data总线的相关字节的奇数奇偶校验。例如,bit[0]对应于tx_st_data[7:0],bit[1]对应于tx_st_data[15:8],以此类推。

tx_st_vf_active Input

置位时,发送的TLP用于VF。置低时,发送的TLP用于PF。当tx_st_sop置位时有效。

当多个功能使能时有效。