(由于每个文章最多只能上传20张图片,所以这篇文章被人为地分为两部分)
图19:连接完成的Qsys
3. 在IRQ列连接DMA的中断到PCIe硬核,连接DMA的control_port_slave到PCIe的中断,如图20所示。
图20:DMA中断连接到PCIe硬核
4. 将PCIe硬核的校准模块的接口输出到Qsys系统外面,可以看到在“export”列,每个接口都有灰色的提示“双击导出”,如图21所示,双击cal_blk_clk接口将其导出Qsys系统
5. 确认导出接口名称为pcie_hard_ip_0_cal_blk_clk,如果需要可以修改到上述名称。
图21:导出PCIe硬核校准模块时钟
如图21所示,cal_blk_clk在connection列应该有一个导出的引脚符号,但是12.1和13.0目前还没有解决这个问题问题,所以这里我们看不到导出的引脚符号。
6. 按照表2所示,为PCIe硬核导出剩下的接口。
表2:需要导出的PCIe硬核接口
接口名称 |
被导出的端口名称 |
refclk |
pcie_hard_ip_0_refclk |
test_in |
pcie_hard_ip_0_test_in |
pcie_rstn |
pcie_hard_ip_0_pcie_rstn |
clocks_sim |
pcie_hard_ip_0_clocks_sim |
reconfig_busy |
pcie_hard_ip_0_reconfig_busy |
pipe_ext |
pcie_hard_ip_0_pipe_ext |
test_out |
pcie_hard_ip_0_test_out |
rx_in |
pcie_hard_ip_0_rx_in |
tx_out |
pcie_hard_ip_0_tx_out |
reconfig_togxb |
pcie_hard_ip_0_reconfig_togxb |
reconfig_gxbclk |
pcie_hard_ip_0_reconfig_gxbclk |
reconfig_fromgxb_0 |
pcie_hard_ip_0_reconfig_fromgxb_0 |
fixedclk |
pcie_hard_ip_0_fixedclk |
完成上述操作后,PCIe硬核在Qsys中就如图22所示那样。
图22:在Qsys中完成整个配置和连接的PCIe硬核
步骤6:调整系统地址空间
表3:地址空间分配表
Component |
Interface |
Base Address |
pcie_hard_ip_0 |
txs |
0x0000_0000 |
dma_0 |
control_port_slave |
0x0000_4000 |
onchip_mem_0 |
s1 |
0x0020_0000 |
地址空间分配好以后,Qsys系统如图23所示。
图23:分配好地址空间后的Qsys系统
步骤7:选择最终设置并生成Qsys系统
这一步,我们选择好最终的系统设置以后,生成Qsys文件,然后准备继续开始剩下的硬件设计。
图24:系统地址映射
2. 在时钟设置标号下,确认PCIe硬核为系统产生的是125MHz时钟。
3. 在工程设置标号下,查看系统导出的接口都是可见的,并在参数框里选择合适选项,如图25所示。
图25:查看工程设置及系统导出接口
系统生成的时候,我们可以看到若干警告,但是没有了错误。
5. 关闭生成完成窗口和关闭Qsys工具
步骤8:在Quartus软件里完成顶层文件设计,并对工程进行编译。
这里我们预先设计好了一个基于Verilog名为civgx_gen1x4_qsys_top.v的顶层文件,其原理框图如图26所示。
图26:顶层设计框图
可以看到在Qsys系统外,我们还需要其他一些逻辑设计,比如PLL、GXB重配置以及PCIe硬核重配置等。PLL为PCIe硬核产生一个125MHz的参考时钟,同时产生一个50MHz的校准时钟和GXB重配置时钟。
通过上述简单的添加QIP文件,将Qsys工具产生的综合文件都添加到了工程,SDC文件在顶层约束了一个50MHz的时钟。
参考
[1] Avalon接口协议
[2] PCI-E hard IP User guide
[3]
用户3879639 2019-8-15 17:04
用户3801860 2016-4-9 11:05
用户1867523 2016-3-30 09:04
用户610368 2015-12-24 21:43
用户610368 2015-12-13 11:55
用户610368 2015-12-13 11:49
用户610368 2015-12-12 15:03
用户1721880 2015-6-2 14:55
coyoo 2015-4-28 09:04
用户1826728 2015-4-27 16:09