基于FPGA的PCIe总线接口的DMA控制器的实现并进行仿真验证.doc
《基于FPGA的PCIe总线接口的DMA控制器的实现并进行仿真验证.doc》由会员分享,可在线阅读,更多相关《基于FPGA的PCIe总线接口的DMA控制器的实现并进行仿真验证.doc(2页珍藏版)》请在三一文库上搜索。
1、基于FPGA的PCIe总线接口的DMA控制器的实现并进行仿真验证 随着通信技术的不断发展,对数据传输系统的速度与数据传送质量的要求也在不断提高。由1.1 基础模块1.1.1 Altera Stra1.1.2 Synopsys IP与VIP8。1.1.3 AXI总线9,减少了延时,提高了DMA的效率。1.2 总体方案设计2.1 应用端DMA操作流程2.2 应用端DMA控制状态机3.1 仿真验证3.2 FPGA测试验证在仿真验证完成之后,进行FPGA测试验证,将硬件部分烧录到板卡的FPGA芯片后,通过板卡的PCIe金手指插入到PC机的主板上,PC机重启后检测到PCIe硬件的插入,即可安装对应的PC
2、Ie驱动软件,利用上位机进行测试。上位机软件界面如图8所示,包括寄存器读写(Target操作)和DMA读写(Master操作)测试模块。选择“Target”操作的“dual”模式,寄存器长度设置为118,因为前10个寄存器与DMA操作相关,可能会触发DMA操作,所以在软件中选择跳过。点击“启动测试”,数据将会被先从主机侧写到FPGA,再从FPGA读回到主机侧,比较两次寄存器操作的数据,即可判断寄存器操作的正确性。如图9所示,选择“Master”操作的“dual”模式,点击“memory”,即在PC侧开辟一块内存存放数据,然后点击“启动测试”,数据先从PC写到FPGA的RAM中,接着再从FPGA
3、回到PC,比较存放到PC内存的数据和从FPGA写回到PC的数据,即可判断DMA读写操作的正确性。根据DMA传输固定大小的数据的时间,可以计算出DMA读写速率,经过多次测试,DMA读写速率分别为1 547 MB/s和1 607 MB/s。本设计采用的是PCIe Gen2、4通道,理论最大传输速率为2 000 MB/s。分析代码得出可能由于应用端向PCIe Core IP写入和读取数据过程占用了一定的时间,另外驱动程序向DMA寄存器写入或读取参数也占用了一些时间,都会影响速率。4 结语本文实现的基于FPGA的PCIe总线接口的DMA控制器是在Altera PHY IP和Synopsys Core IP的基础上实现的,利用Synopsys VIP验证环境进行了功能仿真验证,并通过FPGA进行了系统实测,达到了较高的传输速率,在Gen2、4模式下,DMA读写操作的带宽分别为 1 547 MB/s和1 607 MB/s,达到了预期的设计目标。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA PCIe 总线接口 DMA 控制器 实现 进行 仿真 验证
链接地址:https://www.31doc.com/p-3410312.html