Vivado下配置DDR3的MIG IP核————官网案例学习

本文详细指导了如何在MIG7Series中配置DDR3接口,包括选择接口类型、设置时钟频率、信号线参数、阻抗匹配和引脚分配,以及生成并测试官方示例。重点强调了系统时钟选择和XADC温度补偿的应用。
摘要由CSDN通过智能技术生成

1.双击 Memory Interface Generator(MIG 7 Series)

2.next

3.注意下面箭头处无需勾选,倘若勾选,则是选择AXI接口,本次使用的是native接口

4.next,此处无需考虑兼容其他器件。

5.选择DDR3

6.第一个箭头,是指DDR3能够运行的周期(2500ps),即最大频率(400MHz)。尽管此芯片可以实现的最大频率(1/125*1000=800MHz),但是,由于此芯片所能提供的最大速度为400MHz,因此填写2500ps。

第二个箭头,代表DDR3的型号。MT41J是指镁光的一种DDR3型号。

第三个箭头,因为我们是两片DDR3芯片,所以是32位。

第四个箭头,选择normal,这样的好处是可以节省资源,其他默认不变。

上面打勾的是进行掩膜。可以防止数据误写入。

下面两幅图,是对黄色字及上面红线的解释说明。

7.箭头是指系统时钟,这个时钟是工作时钟可以选择200MHz,也可以是其他的。红色框更加有利于MIG核进行数据写入DDR3中。

8.第一个箭头,表示是对system clk的操作,有三种选择(Differential、Singled-Ended和No buffer).前两种表示FPGA外部电路提供的时钟信号(差分时钟,单端时钟),最后一种代表的是FPGA内部经由锁相环生成的时钟信号。一般在设计开发板,为了节约引脚数目,此信号会由FPGA内部锁相环生成更为方便。

第二个箭头是指参考时钟有四种,前三种和系统时钟的配置是一致的。第四种表示,如果系统时钟也是200MHz二者可以共用一个时钟。这也就说明,参考时钟是固定200Hz。这里需要注意2020.2版本的设置IP核时有Bug,第二次打开,系统时钟会变化为400MHz,因此参考时钟找不到Use System Clock选项。

第三个箭头是XADC进行温度采集的,百度翻译如下:
内存接口使用 XADC 模块的温度读数来执行温度补偿,并使读取的 DQS 保持在数据窗口的中心。每个设备有一个 XADC 块。如果 XADC 当前未在设计中的任何位置使用请启用此选项以实例化模块。如果已使用 XADC请禁用此 MIG 选项。然后,用户需要向顶层 12 位 device_temp_i 输入端口提供温度值。有关详细信息,请参阅答复记录 51687 或 UG586。

9.这个是设置信号线的阻抗匹配,和开发板的设置有关,一般阻抗越大,其线宽越窄,更加有利于布线,这里根据开发板PCB布线自行设置。

10.引脚分配问题。根据开发板引脚原理图进行配置即可,我使用的是正点原子达芬奇Pro,从他家的官网可以找到其ddr3引脚管理(ddr3_xdc.ucf)

11.进行配置

12.一路next,accept即可。

13.选择Global。

14.生成官方example,之所以这样操作,是考虑到后面可以能会按照同一流程,进行DDR3的配置,不同工程,不同器件。首先运行一下官网案例,观察能否初始化成功,然后再将官网案例打包成一个类似于RAM的形式,进行数据操作。

15.运行官网案例进行仿真,在上一个博客中,已经介绍了vivado和modelsim联动,有兴趣可以看看。vivado的仿真也能用,但是速度太慢,还容易导致电脑宕机。标白处为初始化信号,在此版本下,花了106us才完成初始化。

至此MIG的Native官方案例生成成功。

16.注意带宽的设置

MIG IP核的输入数据带宽应与,输出数据带宽一致。

输入数据带宽:用户端数据带宽:100M*256bits=25,600Mbits

输出数据带宽:DDR3数据带宽:400M*2*32bits=25,600Mbits

带宽一致没有问题。

这里

主要参考:小白fpga、1_【正点原子】达芬奇Pro之FPGA开发指南 V2.1.pdf

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
vivado是一种用于设计、验证和实现FPGA(可编程逻辑电路)的软件开发环境。DDR3 MIGvivado中的DDR3 SDRAM控制器。 DDR3 MIG的脚约束是指对于DDR3 MIG上的各个引脚进行约束设置,以确保其在系统中正常工作。脚约束可以包括时钟信号、数据信号、控制信号等的引脚位置和电气特性。 在进行DDR3 MIG脚约束时,需要先了解DDR3 MIG的引脚定义和要求。根据DDR3 MIG的手册或数据表,可以获取到各个引脚的名称、类型、电气特性等重要信息。 然后,在vivado的工程中,打开约束文件(.xdc文件),可以使用Xilinx自带的约束语言(XDC)进行脚约束的设置。在约束文件中,根据DDR3 MIG的引脚定义,对每个引脚进行适当的约束定义。 脚约束的设置包括但不限于以下几个方面:设置时钟约束,包括主时钟和辅助时钟的频率、相位等;设置数据引脚的约束,包括信号延迟、时序等;设置控制引脚的约束,如命令信号和读/写使能信号的时序等。 在设置脚约束时,需要根据DDR3 MIG的规格手册和工程需求,合理选择约束参数并进行设置。同时,也可以通过vivado提供的约束设置工具来自动生成一些基本的脚约束。 设置完脚约束后,可以进行综合、实现和验证等步骤,确保DDR3 MIGFPGA中的正常工作。如果出现设计错误或时序冲突等问题,可以根据报错信息和约束文件进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值