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

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

2.4.4. 发布对Application Layer的读和写事务

Root Port Application Layer通过调用altpcietb_g3bfm_rdwr.v中的其中一个ebfm_bar处理过程来发布读和写事务。下面列出的处理过程(procedure)和函数(function)在包含Verilog HDL的文件altpcietb_g3bfm_rdwr.v中。可用处理过程和功能的完整列表如下:

  • ebfm_barwr:将从BFM共享存储器来的数据写入特定Endpoint BAR的偏移。一旦请求被传递到用于传输的VC接口模块,此处理过程立刻返回。
  • ebfm_barwr_imm:对特定Endpoint BAR的偏移写入immediate数据(在处理过程调用中传递)的最多四个字节。一旦请求被传递到用于传输的VC接口模块,此规程立刻返回。
  • ebfm_barrd_wait:从特定Endpoint BAR的偏移读取数据,并将其存储在BFM共享存储器中。在将控制权返回给调用程序之前,此过程会阻塞并等待completion数据返回。
  • ebfm_barrd_nowt:从特定Endpoint BAR的偏移量读取数据,并将其储存在BFM共享存储器中。一旦请求被传递到VC接口模块进行传输,此过程就会返回,从而允许在间隙中发布后续读取。

这些例程将BAR数作为参数来访问存储器空间和由ebfm_cfg_rp_ep处理过程建立的bar_table数据结构的BFM共享存储器地址。(请参阅Root Port和Endpoint的配置。)使用这些参数简化了访问特定BAR偏移的BFM测试驱动器例程,并不再需要计算分配到指定BAR的地址。

注: Root Port BFM不支持对Endpoint I/O空间BAR的访问。