仅对英特尔可见 — GUID: nik1412473914926
Ixiasoft
1.3. 参考设计的功能介绍
参考设计包含下列组件:
- 应用层包含由IP内核生成的chaining DMA实例
- IP内核variation
- 针对本参考设计
图 5. Reference Design Components所配置的应用软件和Windows驱动器
Chaining DMA实例包含2个DMA模块在应用逻辑和内部端点存储器中。此设计支持仿真的DMA读和DMA写处理。DMA写模块把数据从端点存储器传输到PCIe链路中的根复合系统存储器。DMA读模块实现读传输来自PCIe链路中根复合系统存储器的数据到端点存储器。
本参考设计包含FPGA且不依赖除PCIe链路以外的其他硬件接口。Chaining DMA性能高于用作系统和端点存储器间非连续存储器传输的普通DMA。关于普通DMA,应用软件因每次传输而编程DMA寄存器。Chaining DMA使用每存储器页的描述符列表。这些描述符列表包含下列信息:
- 传输长度
- 用于传输的源和目的地址
- 控制信息设置应用软件和DMA模块间的握手(handshaking )行为
每个描述符包含4个dword。描述符储存于连续的存储器页中。
基于参数编辑器中的属性设置,应用软件创建系统存储器中的必要描述符。应用软件也创建描述符头(header)列表。该列表指定描述符总数及首个描述符列表地址。传输开始阶段,应用软件根据描述符头列表编程DMA寄存器。DMA模块连续收集这些描述符以用于每DMA读并执行指定的传输。
DMA模块还包括一个运行计数器。当软件写描述符头列表到DMA寄存器时,计数器启动。计数器持续计数直到DMA模块已传输最后数据。传输完成后,应用软件使用计数器的值计算传输吞吐量并报告结果。计数器的值包含初始描述符读延迟。因此,应用软件所报告的吞吐量小于实际吞吐量。