仅对英特尔可见 — GUID: nik1410905310368
Ixiasoft
2. Avalon-MM DMA入门
可从 <install_dir>/ ip/altera/altera_pcie/altera_pcie_a10_ed/example_design/a10目录下载 Qsys设计实例,ep_g3x8_avmm256_integrated.qsys
注: 本实例设计说明为生成仿真和综合文件提供指导,但并不生成下载设计到硬件时的所有必要文件。前面章节中介绍的Arria 10 PCI Express Quick Start Guide包含将设计下载到Arria 10 GX FPGA开发套件时的所有必要文件。
设计实例包含以下组件:
Avalon-MM DMA for PCI Express
此IP内核包含高效DMA Read和DMA Write模块。DMA Read和Write模块使用突发数据传输器在PCI Express地址域和Avalon-MM地址域之间高效地移动大块数据模块 基于您的所选配置,DMA Read和DMA Write模块使用128-或256-bit Avalon-MM数据通路。除高性能数据传输以外,DMA Read和DMA Write模块确保PCI链路上的要求符合PCI Express Base Specification, 3.0。DMA Read和DMA Write引擎还运行下列功能:
- 将原请求分成多个请求以避免跨4KByte边界。
- 将原请求分成多个请求以确保最大负载等同于或小于写请求的最大负载及读请求的最大读请求大小。
- 当原请求划分成符合读和写请求大小时支持无序完成。
使用DMA Read和DMA Write模块,您能指定描述符条目表中输入大型负载。
片上存储器IP内核
此IP内核储存DMA数据。该存储器的数据宽度是256-bit。描述符控制器
描述符控制器管理Read DMA和Write DMA模块。主机软件根据描述符表格所在的位置编程描述符控制器内部寄存器。描述符控制器指示读DMA模块将整个表格复制到其内部FIFO。然后将表格条目推入DMA读或DMA写模块进行数据传输。描述符控制器还通过Avalon-MM TX从端口发送DMA状态下游。本设计实例中,描述符控制器参数,Instantiate internal descriptor controller是开启的。因而,如下图所示,描述符控制器被集成到Avalon-MM 桥中。将描述符控制器嵌入Avalon-MM DMA桥中从而简化设计。若打算用个人实现代替描述符控制器IP内核,在参数化IP内核时就请勿打开参数编辑器中的Instantiate internal descriptor controller。
描述符控制器具有下列特性:
- 单个双工 channel。
- 1个dword(4 bytes)的最小传输量。
- 最大传输量为1 MB - 4 bytes。
注: 尽管描述符控制器支持的最大传输量为(1 MB - 4 bytes),但本设计实例中的片上存储器较小。因此,本设计实例无法处理最大传输量。
- 仅端点。
- DMA完成传输时,通过生成一个中断向主机软件提供状态。
图 2. Arria 10 Avalon-MM DMA for PCI Express框图
设计实例限制
本设计实例旨在显示DMA基本功能性,并不能替代用作强健检测testbench。修改Testbench以创建更强健的激励可能导致错误的testbench行为。