PCIe/RapidIO 控制器基于FPGA操作说明(PCIe 部分)
来源:互联网 发布:mac能玩wow吗 编辑:程序博客网 时间:2024/05/29 03:32
目录
一、coreConsultant生成PCIe
二、基于Xilinx
三、基于Xilinx
四、上板调试步骤 5
4.1
4.2
4.3
一、coreConsultant生成PCIe IP 核操作步骤
在coreConsutant中,基于版本中附带的参数文件修改了配置参数中的其中几项:
1. Basic
2. Basic
3. Basic
4. Basic
5. Basic
6. Basic
7. Basic
9. Advanced
10. Advanced
11. Advanced
12. Advanced
13. Device-Wide
14. Device-Wide
15. Device-Wide
16. Device-Wide
二、基于Xilinx GTX 的PCIe仿真操作说明
进行仿真的文件夹中包含仿真使用的vip文件和vtb文件,使用vtb文件夹下的makefile文件进行仿真,进入vtb文件夹后使用make
仿真中用到的仿真模型描述如下:
1.sim_top作为最顶层模块,调用chip_iip.v和chip_vip.v两个模块。chip_iip.v为主核DWC_pcie_dm.v的顶层模型,相当于ASIC模型中的hr2_pcie_ctl_top.v;后者为验证模型,两个模块间由串行收发差分对相连。
2.PCIe
3.主核DWC_pcie_dm的应用层连接AMBA
4.chip_iip.v下的clk_rst.v模块作为时钟和复位管理模块向DWC_pcie_dm.v、ram、PHY等模块提供具有相互依赖关系的时钟和复位。
三、基于Xilinx GTX 的PCIe综合操作说明
发布的最终版工程文件夹中包含综合所用的全部文件,需要替换仿真下的chip_iip.v文件,在coreConsultant生成代码的基础上删除DW_minmax.v,加入RAM,修改chip_iip.v文件生成综合版chip_iip_fpga.v。其中chip_iip.v修改部分有:时钟和复位,pcie_dm顶层信号,GPIOLINK,替换RAM。具体修改操作如下:
1.时钟部分。chip_iip.v有两路差分输入时钟:host主机通过Cable线缆提供100MHz
2.复位部分。简化chip_iip.v外部复位信号为power_up_rst_n,由HAPS系统总复位驱动。该复位信号经计数器产生10us延时后生效,以防较host端过早复位。替换clk_rst中的延时模块DWC_pcie_bcm21为可综合的固定延时。
3.在chip_iip.v中增加GPIO模块HAPS70_2000T_GPIO,用于FPGA通过GPIO
4.为了方便集成SoC环境前的上板调试,确定链路建立功能,将DWC_pcie_dm.v模块的AXI、MSI、ELBI、SII等应用层接口中的输入部分置固定电平、输出部分悬空。
5.综合时,Synplify提示部分参数未定义。通过在chip_iip.v和cx_pl.v模块中加入include预编译指令指定参数的定义路径解决。
四、上板调试步骤
使用vivado进行后续的布局布线和最终生成上板调试文件,MGB子板跳线接downstream模式,bin文件下载后重启host端,使用PCItree软件扫描并进行数据读写测试。
4.1 chipsocpe观察PIPE接口数据
利用vavido
4.2 PCI Tree软件测试
将bit文件下载到HAPS70开发板上,开发板和PC的连接如图所示:
MGB子板的状态灯显示正常后,重启PC端电脑,开机后会自动弹出找到新的硬件向导,系统提示你安装新的驱动设备,打开设备管理器可以找到新的设备名称为PCI设备的新设备,如下图所示:
右键点击更新驱动,将synopsys公司提供的驱动文件synps_pedd_win7_32.cat、synps_pedd_win7_32.inf、snps_pedd_win7_32.sys指定到驱动安装文件文件夹,系统自动安装驱动,安装完成后PCI设备名称会变成Synopsys
PCI
选择连续写入memory地址,点击Write
4.3 Synopys软件测试
在完成单IP阶段测试后,需要重新生成SoC系统级bit文件进行后续测试,集成系统后利用Synopsys软件进行后续DMA测试,该软件测试界面如图所示,图中测试软件不断给待测设备发送TLP和DLLP数据包,由于截图在未连接设备的情况下,所有发送数据包均被忽略,在eDMA吞吐量这一栏中,可以实时监测当前DMA带宽大小和传输完成度。该软件可以完成DMA大数据量测试和压力测试。
- PCIe/RapidIO 控制器基于FPGA操作说明(PCIe 部分)
- PCIE-rapidio-ethernet分析
- 基于FPGA的PCIe接口实现
- FPGA开发PCIe
- pcie
- pcie
- PCIE
- PCIE
- PCIE
- 基于FPGA的PCIE总线扩展卡的设计
- Xilinx FPGA 的PCIE 设计
- PCIe学习笔记(3)---PCIe初步
- uboot中PCIe驱动程序说明
- uboot中PCIe驱动程序说明
- Considerations for host-to-FPGA PCIe traffic
- 聊聊FPGA/CPU/PCIE/Cache-Coherency/CAPI
- pcie--调试(一)
- 基于FPGA的PCIE总线实现PC与SDRAM的数据读写过程
- 全面理解面向对象的 JavaScript
- 070.Pointer Sort 使用指针排序变量
- 简单封装AFNetworking
- Struts2自定类型转换器
- mysql分组查询group by时分页的实现。
- PCIe/RapidIO 控制器基于FPGA操作说明(PCIe 部分)
- web服务器测试工具Gulu——HTTP接口测试工具
- 069.Pointer 指针作为函数的返回值
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十五)
- aixs2客户端调axis1服务
- ADT删除appcompat_v7文件
- Linux和windows系统直接的文件传输
- 068.Pointer 指针为什么分类型
- 矩阵分解在推荐系统中的应用:NMF和经典SVD实战