用于 PCI Express* 的 英特尔® FPGA R-tile Avalon® Streaming IP设计实例用户指南

ID 683544
日期 4/10/2023
Public
文档目录

2.3.2. 测试台

测试台使用测试驱动程序模块,altpcietb_bfm_rp_gen5_x16.sv,启动配置和存储器事务。启动时,测试驱动程序模块显示Root Port和Endpoint Configuration Space寄存器的信息,以便关联您使用Parameter Editor(参数编辑器)指定的参数。

设计实例和测试台是根据您对PCIe的R-tile IP选择的配置而动态生成。测试台使用您在英特尔 Quartus Prime的Parameter Editor中指定的参数。

该测试台仿真使用串行PCI Express接口的Gen5 × 16 PCI Express链路。

图 22. PIO设计实例仿真测试台
图 23. SR-IOV设计实例仿真测试台
配置为Endpoint变体时,测试台会例化一个具有R-tile Endpoint和包含第二R-tile(配置为Root Port)的Root Port BFM的设计实例,以对接Endpoint。有关该Root Port BFM的更多详细信息,请参阅第2.5小节:Root Port BFM。Root Port BFM提供如下功能:
  • 一个配置例程,设置Endpoint中的所有基本配置寄存器。该配置允许Endpoint应用程序成为PCI Express事务的目标和启动程序。

  • Verilog HDL处理过程接口,用于向Endpoint发起PCI Express事务。

该测试台仿真单Root Port对话单Endpoint的情景。

测试台使用测试驱动程序模块,altpcietb_bfm_rp_gen5_x16.sv,发起配置和存储器事务。启动时,测试驱动程序模块显示从Root Port和Endpoint Configuration Space寄存器来的信息,以便关联您使用Parameter Editor(参数编辑器)指定的参数。

注: 英特尔测试台和Root Port BFM提供一种简易方法,来对连接各变体的Application Layer逻辑进行基本测试。此BFM允许您通过创建并运行简单任务激励,来训练英特尔设计实例的基本功能。测试台和Root Port BFM并非要取代完整验证环境。也不包含极端情况和具体流量概况激励。请参阅下面列出的各项,进一步了解详情。为尽可能确保最佳验证范围,英特尔强烈建议获得市售的PCI Express验证IP和工具,并结合执行广泛的硬件测试。
您的Application Layer设计可能需要至少处理以下无法使用英特尔测试台和Root Port BFM来创建,或者由于设计的限制导致无法创建的情景:
  • 无法生成或接收Vendor Defined Messages(供应商定义的消息)。一些系统会生成Vendor Defined Messages。Hard IP块只是将这些消息传递到Application Layer。因此,应根据您的应用程序决定是否设计该Application Layer来处理这些消息。

  • 在接收到的读请求中,它仅可处理小于等于256位或8 DW的读请求。许多系统能够处理更大的读请求,然后以多个完成回送这些请求。

  • 始终回送每个读请求的单个完成。一些系统以每64字节地址边界将完成进行拆分。
  • 始终按照发布读请求的顺序回送完成。一些系统会不按顺序生成完成。
  • 无法生成0长度读请求,而一些系统生成0长度请求,来作为某些写事务后的刷新请求。Application Layer必须能够生成0长度读请求的完成。

  • 不支持奇偶校验(parity)。
  • 不支持多功能设计。
  • 不支持Single Root I/O Virtualization (SR-IOV)。