XDMA与DDR进行数据传输交互工程设计

一、配置好XDMA和MIG,二者通过AXI Interconnect 连接,系统整体工程如下:

需要注意的地方是:

1、MIG是的复位是高电平复位,当接到axi interconnect时需要加一个反相器再接过去。

2、XDMA的user_lnk_up是用来表示PCIE是否与电脑连接起来的信号,把它接到LED灯,LED低电平有效,所以这里也接一个反相器。

3、在想观测的信号上添加DEBUG信号,之后run automation时vivado会为我们自动生成ILA。

4、中断信号暂时不用,make external, 然后把XDMA和MIG的时钟复位都make external,并将名字修改得容易分辨。

5、XDMA映射地址要改一下:

6、、对design进行generate output products并重新生成顶层,生成顶层时选择第一个选项,不要让vivado自动管理,否则无法编辑顶层。(因为待会儿要将XDMA的差分时钟信号转成单端)

附:第一个选项,用户可以根据需要修改顶层; 第二个选项:用户无法修改顶层,让vivado来自动更新

二、顶层文件的修改

先大概看下顶层有些什么信号:

①MIG的时钟及复位就不用了,要把input那里的sys_rst_mig 和clk删了,复位的话下面直接给他赋1。 同样的,暂时不用中断,给0;

②原理图上PCIE的参考时钟是差分的,但BD界面中xdma核的参考时钟是单端的,这里需要转换一下,使用IBUFDS原语,IBUFDS_GTE2。(在vivado的Language Templates中搜索IBUFDS即可找到),复制到顶层中修改。

修改后的顶层如下:

三、跑下综合看有没有报错,接着绑定引脚。

综合设计的默认界面是这样的:

在右上角小框里选IO Planning就可以绑定引脚了

四、引脚绑定

这里需要绑定的引脚有pcie的单端输入时钟、pcie复位信号, 接到led灯的link_up信号,这个时候需要看原理图了。

这里PCIE的参考时钟接到N8, 复位的话不知道为什么没接引脚,它是这样说的

后来得知,板子需要转接板来复位,所以这里就没绑定引脚了。

DDR3与PCIE的管脚已经默认分配好了,但还是需要注意下,板子的数据差分对是倒序还是顺序连接,vivado默认的是倒序连,比如T0--->TX3   T1--->TX2…..,去原理图里看下对不对,因为有些板子会顺序连接,比如tx0 -->tx0,tx1-->tx1这样。如果需要修改线序的话,要在这个地方修改,把顺序倒一下:

在这下面找到一个.xdc文件,比如我的叫做 design_1_xdma_0_0_pcie2_ip-PCIE_X0Y0.xdc

五、生成比特流

个人学习笔记,仅供参考,欢迎指正,后面有空会介绍XDMA上机测试前的准备工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值