PCIe/RapidIO 控制器基于FPGA操作说明(PCIe 部分)

来源:互联网 发布:mac能玩wow吗 编辑:程序博客网 时间:2024/05/29 03:32

 

目录

一、coreConsultant生成PCIe IP核操作步骤 2

二、基于Xilinx GTXPCIe仿真操作说明 4

三、基于Xilinx GTXPCIe综合操作说明 5

四、上板调试步骤 5

4.1 chipsocpe观察PIPE接口数据 6

4.2 PCI Tree软件测试 6

4.3 Synopys软件测试 8

 

 一、coreConsultant生成PCIe IP核操作步骤

coreConsutant中,基于版本中附带的参数文件修改了配置参数中的其中几项:

1. Basic Features Config(PCIe) ->Phy Type ->Phy Selection:Custom PHY(external)

2. Basic Features Config(PCIe) ->Phy/Core Configuration and Compatability Check -> Core Gen2 Mode Dynamic Frequency

3. Basic Features Config(PCIe) ->Phy/Core Configuration and Compatability Check -> Phy Gen2 Mode Dynamic Frequency

4. Basic Features Config(PCIe) ->Phy/Core Configuration and Compatability Check -> Core Base Freq:62.5Mhz

5. Basic Features Config(PCIe) ->Phy/Core Configuration and Compatability Check -> Phy Base Freq:125Mhz

6. Basic Features Config(PCIe) ->Phy/Core Configuration and Compatability Check -> Maximum Link Width:1/2

7. Basic Features Config(PCIe) ->Technology ->FPGA -> 

 

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分)

 8.Advanced PHY config -> PHY Timing -> PHY Timing -> Number of Fast Training(NFTS) Sequences 255          

9. Advanced PHY config -> PHY Timing -> PHY Timing ->NFTS when using common clock 255

10. Advanced PHY config -> PHY Timing -> PHY Timing ->NFTS Sequences at 5Gb/s 255

11. Advanced PHY config -> PHY Timing -> PHY Timing ->PHY Tx Delay:16

12. Advanced PHY config -> PHY Timing -> PHY Timing ->PHY Rx Delay:52

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

13. Device-Wide PCIe Features and Capabilities Config->PCIe Capability->PCIe Capability->L0S Exit Latency->More than 4us

14. Device-Wide PCIe Features and Capabilities Config->PCIe Capability->PCIe Capability->L0S Exit Latency(Common Clock)->More than 4us

15. Device-Wide PCIe Features and Capabilities Config->PCIe Capability->PCIe Capability->L1 Exit Latency->More than 64us

16. Device-Wide PCIe Features and Capabilities Config->PCIe Capability->PCIe Capability->L1 Exit Latency(Common Clock)->More than 64us

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

 

 

二、基于Xilinx GTXPCIe仿真操作说明

进行仿真的文件夹中包含仿真使用的vip文件和vtb文件,使用vtb文件夹下的makefile文件进行仿真,进入vtb文件夹后使用make simep/simepdma/simrcbasic运行仿真,vtb/tb文件夹下chip_iip.v文件用于PCIe仿真,chip_iip_fpga.v用于PCIe综合。vtb/tc文件夹下是仿真使用的三个caseepbasicepdmarcbasic。仿真其他case需要自己调用task编写其他模式,目前tc中只实现上述三种模式的仿真。

仿真中用到的仿真模型描述如下:

1.sim_top作为最顶层模块,调用chip_iip.vchip_vip.v两个模块。chip_iip.v为主核DWC_pcie_dm.v的顶层模型,相当于ASIC模型中的hr2_pcie_ctl_top.v;后者为验证模型,两个模块间由串行收发差分对相连。

2.PCIe PHY使用Xilinx公司的Virtex GTX模块,该模块由pcie_gt_top.vp加密文件定义。这个FPGA PHYASIC PHY的主要差别在于集成位置不同。ASIC PHY采用Synopsys PHY集成在主核DWC_pcie_dm的内部,与控制逻辑cx_pl模块直接相连;FPGA PHY集成在主核DWC_pcie_dm外侧,两者由为PIPE标准接口相连。FPGA PHY的输入时钟为100MHz参考时钟,并向PIPE接口和PCIe的控制逻辑提供125MHz的系统时钟。

3.主核DWC_pcie_dm的应用层连接AMBA VIP模型,作为应用层的测试激励。

4.chip_iip.v下的clk_rst.v模块作为时钟和复位管理模块向DWC_pcie_dm.vramPHY等模块提供具有相互依赖关系的时钟和复位。

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

三、基于Xilinx GTXPCIe综合操作说明

发布的最终版工程文件夹中包含综合所用的全部文件,需要替换仿真下的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 refclk作为GTX参考时钟、系统辅时钟、AXI接口时钟,HAPS提供100MHz参考时钟gpiolink_clk作为GPIO模块的驱动时钟。这两路差分输入时钟在使用前需通过特定的buf转为单端时钟。

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 Linkhost端提供WAKE_nPRSNT_n两个信号。该模块在Synplify的器件库中,需在chip_iip.v中加入器件库路径。

4.为了方便集成SoC环境前的上板调试,确定链路建立功能,将DWC_pcie_dm.v模块的AXIMSIELBISII等应用层接口中的输入部分置固定电平、输出部分悬空。

5.综合时,Synplify提示部分参数未定义。通过在chip_iip.vcx_pl.v模块中加入include预编译指令指定参数的定义路径解决。

四、上板调试步骤

使用vivado进行后续的布局布线和最终生成上板调试文件,MGB子板跳线接downstream模式,bin文件下载后重启host端,使用PCItree软件扫描并进行数据读写测试。

4.1 chipsocpe观察PIPE接口数据

利用vavido chipsocpe观察PIPE接口数据,其中需要加入debug核的信号有:smlh_ltssm_statesmlh_link_upmac_phy_txdatamac_phy_txdatakphy_mac_rxdataphy_mac_rxelecidlephy_txelecidlephy_mac_rxdatakmac_phy_txdetectrx_loopbackmac_phy_txcompliancemac_phy_rxpolaritymac_phy_txmarginphy_mac_rxstatusphy_mac_rxvaild。上板结果如下图所示:

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

4.2 PCI Tree软件测试

bit文件下载到HAPS70开发板上,开发板和PC的连接如图所示:

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

MGB子板的状态灯显示正常后,重启PC端电脑,开机后会自动弹出找到新的硬件向导,系统提示你安装新的驱动设备,打开设备管理器可以找到新的设备名称为PCI设备的新设备,如下图所示:

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

右键点击更新驱动,将synopsys公司提供的驱动文件synps_pedd_win7_32.catsynps_pedd_win7_32.infsnps_pedd_win7_32.sys指定到驱动安装文件文件夹,系统自动安装驱动,安装完成后PCI设备名称会变成Synopsys eDMA Data R/W 32-bit。打开PCI Tree软件,在PCI/PCI设备下拉项中发现VIDx16C3 Insilicon CorporationDIDxABCD的设备。如下图所示:

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

PCI Tree软件右侧可以修改基本配置寄存器,右下方是全部寄存器的功能分类,勾选Write ConfReg下方的写入后重刷新选项,写入一个随机值。如果需要对BAR组地址进行操作,例如BAR0,则点击右下方BAR0,会弹出一个子窗口,如下图所示:勾选自动读memory,右下方可以完成memory读写等测试。

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

选择连续写入memory地址,点击Write Memory按钮,测试结果如下图所示:

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分) 

4.3 Synopys软件测试

在完成单IP阶段测试后,需要重新生成SoC系统级bit文件进行后续测试,集成系统后利用Synopsys软件进行后续DMA测试,该软件测试界面如图所示,图中测试软件不断给待测设备发送TLPDLLP数据包,由于截图在未连接设备的情况下,所有发送数据包均被忽略,在eDMA吞吐量这一栏中,可以实时监测当前DMA带宽大小和传输完成度。该软件可以完成DMA大数据量测试和压力测试。

PCIe/RapidIO <wbr>控制器基于FPGA操作说明(PCIe <wbr>部分)

0 0
原创粉丝点击