仅对英特尔可见 — GUID: tbv1675814372469
Ixiasoft
仅对英特尔可见 — GUID: tbv1675814372469
Ixiasoft
1.3. 性能设计实例的功能描述
英特尔 Quartus Prime 23.1发布中,用于PCIe的Intel FGPA R-Tile Avalon Streaming IP 的Performance设计实例中具有有限的硬件测试支持。
该设计实例仅适用于具有如下OPN编号的器件:AGIx027R29AxxxxR3, AGIx027R29AxxxxR2, AGIx023R18AxxxxR0, AGIx041R29DxxxxR0, AGIx041R29DxxxxR1。有关OPN解码的更多详细信息,请参阅 英特尔Agilex® 7 FPGAs and SoCs Device Overview(FPGA和SoC器件概述)。
- Memory Write-only TLPs
- Memory Read-only TLPs
- Both Memory Write and Memory Read TLPs
在FPGA Application逻辑中实现了一个流量计数器,用于测量正在生成的流量。为了进行流量测量,在主机端运行的软件应用程序发布存储器读TLP,获取计数器值,并在系统终端上打印生成的流量。软件应用程序对Application逻辑内的控制寄存器执行存储器写,以开始和停止流量。
Performance设计实例包含要在英特尔 Quartus Prime软件中进行编译的所有必要文件。 它支持Gen5 x16,1024-bit接口Hard IP Mode以及500MHz时钟频率。
- 生成的R-Tile Avalon Streaming Hard IP Endpoint变体(DUT)。该组件与PCIe链路另一端的根复合体或交换机交互,并将PCIe链路上的数据转换为Avalon Streaming(Avalon-ST)数据格式。
- pioperf_multitlp_adapter(Avalon-ST Interface Adapter)模块将Avalon-ST接口的4个数据段转换成Avalon-ST数据的两个单段流。
- pioperf_rx_diverter模块将Memory Write,Memory Read和Completion TLP从主机分流至各自的目的地以进行进一步处理。
- pioperf_rx_intf(RX接口)模块解码TLP头和从pioperf_rx_diverter模块来的数据。它还提取构建Completion数据的TLP头所需的信息,例如请求程序ID、标志、属性、Traffic Class(TC,流量类别)和字节计数。
- pioperf_wr_traffic_gen(Write Traffic Controller)模块根据控制寄存器中的信息产生存储器写入。
- pioperf_rd_traffic_gen(Read Traffic Controller)模块根据控制寄存器中的信息生成Memory Read TLP。每个Memory Read请求都会受到监视,直到其相应的Completion到达。
- crdt_intf模块更新DUT和pioperf_multitlp_adapter之间必要的credit以确保对接收和传输的TLP进行适当的流量控制。
- Reset Release IP 将控制电路保持在复位状态,直到FPGA完全进入用户模式。FPGA置位INIT_DONE输出以表示设备处于用户模式。Reset Release IP生成内部INIT_DONE信号的反转信号以创建nINIT_DONE输出。
