仅对英特尔可见 — GUID: wfi1470691557054
Ixiasoft
10.5.1. ebfm_barwr规程
10.5.2. ebfm_barwr_imm处理过程
10.5.3. ebfm_barrd_wait处理过程
10.5.4. ebfm_barrd_nowt处理过程
10.5.5. ebfm_cfgwr_imm_wait处理过程
10.5.6. ebfm_cfgwr_imm_nowt处理过程
10.5.7. ebfm_cfgrd_wait处理过程
10.5.8. ebfm_cfgrd_nowt处理过程
10.5.9. BFM配置处理过程
10.5.10. BFM共享存储器访问处理过程
10.5.11. BFM日志和消息处理过程
10.5.12. Verilog HDL格式化函数
仅对英特尔可见 — GUID: wfi1470691557054
Ixiasoft
3.1. 内部例化描述符控制器时的Avalon-MM DMA接口
在组件GUI中选择Enable Avalon-MM DMA和Instantiate internal descriptor controller获得该配置结果。
下图显示为以软逻辑实现的Avalon-MM DMA桥接。它通过 Avalon® -ST接口对接PCIe的Hard IP。
下图中, Avalon® -ST连接和BAR0非突发主接口到Descriptor Controller从接口的连接均为内部连接,并以黑色虚线表示。Descriptor Controller Master和非突发Slave间的连接以及Read DMA Data Master和Descriptor Table Slave间的连接都通过Platform Designer创建。图中蓝色线表示这些连接。
注: 下图和文字描述中,术语Read和Write以系统存储器角度出发。因此,Read事务从系统存储器读取数据并将其写入 Avalon® -MM地址空间中的局部存储器。Write事务将从 Avalon® -MM地址空间的局部存储器中读取的数据写入系统存储器。
图 19. 具有可选内部描述符控制器的Avalon-MM DMA桥结构图(显示为DMA写流程)
本图示中的数字描述了DMA写流程中的步骤如下:
- CPU写入Descriptor Controller Slave中的寄存器以启动DMA。
- Descriptor Controller指示Read Data Mover获取描述符列表。
- Read Data Mover将描述符列表转发到PCIe Write Descriptor Table Slave。
- Descriptor Controller指示Write Data Mover传输数据。
- Write Data Mover将FPGA数据传输到系统存储器。
- Write Data Mover使用done位来通知描述符控制器数据传输已完成。
- Descriptor Controller Master更新系统存储器中描述符列表的状态。
- Descriptor Controller Master向主机发送MSI中断。
图 20. 具有可选内部描述符控制器的Avalon-MM DMA桥结构图(显示为DMA读流程)
本图示中的数字说明DMA读流程中的步骤如下:
- CPU写入Descriptor Controller Slave中的寄存器以启动DMA。
- Descriptor Controller指示Read Data Mover获取描述符列表。
- Read Data Mover将描述符列表转发到PCIe Write Descriptor Table Slave。
- Descriptor Controller指示Read Data Mover传输数据。
- Read Data Mover将数据从系统存储器传输到FPGA。
- Read Data Mover使用done位来通知描述符控制器数据传输已完成。
- Descriptor Controller Master更新系统存储器中描述符列表的状态。
- Descriptor Controller Master向主机发送MSI中断。
当桥接中包含可选Descriptor Controller时,Avalon-MM桥接包含以下 Avalon® 接口以实现DMA功能:
- PCIe Read DMA Data Master (rd_dma):此为256-bit宽,只写Avalon-MM主接口,它支持最多16个周期的rd_dma*前缀突发。Read Data Mover使用该接口对从 PCIe* 系统存储空间读取的数据块进行高吞吐量写入。该接口将描述符写入Read和Write Descriptor table slave以及任何与 Avalon® -MM连接的从接口。
- PCIe Write DMA Data Master (wr_dma):此只读接口将数据块以高吞吐量从Avalon-MM域传输到PCI Express存储空间。并驱动其突发Avalon-MM主接口上的读事务。还通过来自 Avalon® -MM读数据载荷创建PCIe Memory Write(MWr)TLP。将MWr TLP转发到Hard IP来实现链路上的传输。Write Data Mover模块将传输分解为所需数量的Avalon-MM突发读事务和PCIe MWr TLP。此为具有wr_dma*前缀的256-bit突发Avalon-MM接口。
- PCIe Read Descriptor Table Slave (rd_dts):这个是256-bit Avalon-MM从接口,它支持最多16个周期写突发。PCIe Read DMA Data Master将描述符写入该表。该连接在DMA桥接外创建,因为Read Data Mover通常还与其他Avalon-MM slave连接。该接口的前缀为rd_dts。
- PCIe Write Descriptor Table Slave (wr_dts):256-bit Avalon-MM从接口,它支持最多16个周期写突发。PCIe Read DMA Data Master将描述符写入该表。PCIe Read DMA Data Master必须在DMA桥接以外与该接口连接,因为突发主接口可能也需要与PCIe Read Data Mover目的地连接。该接口的前缀为wr_dts。
- Descriptor Controller Master(DCM):32-bit,非突发Avalon-MM主接口,带有只写功能。其控制将单个DWORD DMA状态信息发送到主机的非突发Avalon-MM从接口。这些接口的前缀为 wr_dcm和rd_dcm。
- Descriptor Controller Slave(DCS):32-bit非突发Avalon-MM从接口,具读写访问权限。主机通过BAR0 Non-Bursting Avalon-MM Master访问该接口以对Descriptor Controller进行编程。
注: 它并非Avalon-MM桥接的顶层接口。由于该接口与BAR0连接,因此无法使用BAR0访问其他Avalon-MM从接口。
相关信息