仅对英特尔可见 — GUID: ajk1470783727431
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: ajk1470783727431
Ixiasoft
8. DMA描述符控制器的编程模型
Avalon-MM DMA Bridge模块包含一个可选DMA Descriptor Controller。使能该Descriptor Controller时,则必须遵循预定义的编程模型。编程模型包括如下步骤:
- 准备 PCIe* 系统存储器内的描述符列表,如下图所示。
图 58. 描述符列表样本
- 编程描述符列表,提供所有描述符的源地址和目的地址以及大小。
- 对于单个描述符上的中间状态更新,也需要编程RD_CONTROL或WR_CONTROL Update位。请参阅关于描述符的读DMA内部描述符控制器寄存器和写DMA内部描述符控制器寄存器小节了解这些“位”。
- 告知DMA Descriptor Controller指示Read Data Mover将列表复制到其内部FIFO。
- 在通过其他描述符重编程描述符列表之前,请等待MSI中断发出最后一个描述符完成的信号。在最后一个描述符完成前,不可更新描述符列表。
配置实例如下:
- Endpoint,包含具有DMA IP核的 Avalon® -MM Bridge
- 内部DMA描述符控制器
- 非突发 Avalon® -MM从接口
主机软件可编程 Avalon® -MM DMA Bridge的BAR0非突发Avalon-MM主端口以写入DMA Descriptor Controller内部寄存器。该编程为DMA Descriptor Controller提供针对PCIe Read和Write Data Mover生成DMA指示的必要信息。DMA Descriptor Controller通过Avalon-MM DMA Bridge的非突发Avalon-MM从接口将DMA状态发送到主机。DMA Descriptor Controller的非突发Avalon-MM主从接口均为内部接口,不能另作他用。
注: 使能内部DMA Descriptor Controller时,仅可使用BAR0编程内部DMA Descriptor Controller。使用BAR0时,将其作为非预可取处理。