本章节主要调用官方的MIG控制器,并使用官方的MIG控制器进行仿真,开发环境vivado2020.1
鉴于很多童鞋无法仿真自己新建的DDR工程,即使使用modelsim仿真也仿真失败,本例程着重于在vivado中,对自己新建的带DDR3的工程进行仿真。
新建DDR3工程,ddr3_tb工程
![](https://i-blog.csdnimg.cn/blog_migrate/ba562cf2ad83eb9bb3b0643b4519f0ed.png)
调用MIG控制器
点击IP Catalog打开ip搜索栏
![](https://i-blog.csdnimg.cn/blog_migrate/7afc2303f21b262fb0f5d8c770cd963b.png)
搜索栏输入mig,双击mig控制器,开始设置mig控制器
![](https://i-blog.csdnimg.cn/blog_migrate/36de5180d7a1df0fe3c442fdcf7e86f8.png)
点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/a48b230e6bed7b3c4b6bf1097a62c731.png)
点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/95aa705479be645dcf4cf81e99df8b49.png)
点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/d19645dc04ad114e4b14ece6882ec843.png)
选择DDR3,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/cc6761c8c58cb3481cbdb68a54d3fc4e.png)
开发板上的型号"MT41J256m16xx-125", Data Width数据宽度选择32位,其它的按照截图中设置,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/57efac0ea01e98cb90d69bfe16d5d438.png)
选择ddr3的外部时钟为200M,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/dd76c3ca9997081f3d6ac0b6ab7defa0.png)
设置输入时钟的输入方式,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/8eb49998c565c2626048430bffcfd1cf.png)
选择默认配置,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/5d984151670cb328f0735eb9117f53a3.png)
选择第二项,需要设置ddr3管脚,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/fd0f110603098dfac571c39cc29044f6.png)
点击Read XDC/UCF,导入黑金提供的ucf文件
![](https://i-blog.csdnimg.cn/blog_migrate/be0a2cdcab27c7e43223029dfbe4f189.png)
点击OK,导入ucf文件
![](https://i-blog.csdnimg.cn/blog_migrate/f8b79ace1487b6ccac8efdcbceba64e5.png)
再点击"validate" 按验证一下,通过后点击 Next
![](https://i-blog.csdnimg.cn/blog_migrate/27cdb815e4fea34d6fa808fac8d9af40.png)
选择默认配置,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/6c23d136110940383edda69739410758.png)
ddr3配置参数,如下图所示,点击NEXT
![](https://i-blog.csdnimg.cn/blog_migrate/1b9c23de213161ed40b2955e47d014ba.png)
选择 Accept, 点击 Next
![](https://i-blog.csdnimg.cn/blog_migrate/aea5b196ed6c5915e7dce3d7a99af5c4.png)
点击 Next
![](https://i-blog.csdnimg.cn/blog_migrate/6f40c60d773a25290e8379a9b0ff98d1.png)
点击 Generate 按钮生成 MIG 控制器
![](https://i-blog.csdnimg.cn/blog_migrate/aab48ee099b1b0185a663bbac981caac.png)
点击 Generate 按钮生成 MIG 相关的设计文件
![](https://i-blog.csdnimg.cn/blog_migrate/3f03a94661abf8ef2d994689cef28516.png)
调用的mig控制器
![](https://i-blog.csdnimg.cn/blog_migrate/d4c52265d0c729594d7506ca9ddbf5a0.png)
右击mig控制器,选择Generate Output Products
![](https://i-blog.csdnimg.cn/blog_migrate/0822b858313d35930a8a88e886d9a707.png)
点击 Generate
![](https://i-blog.csdnimg.cn/blog_migrate/08d23745b95436665a4d3da073a0dd6d.png)
右击mig控制器选择Open IP Example Design,导出官方mig仿真文件
![](https://i-blog.csdnimg.cn/blog_migrate/7ac77af8238147a0fa858ecbce9bc28c.png)
选择官方仿真文件存放位置,点击OK
![](https://i-blog.csdnimg.cn/blog_migrate/fb297407e32e19962af5ca8dc567250f.png)
点击OK后,会自动打开官方的mig仿真工程mig_7series_0_ex
![](https://i-blog.csdnimg.cn/blog_migrate/37b4710ca3841deb62e15163c8feb271.png)
官方提供的mig仿真文件(后续如果自己建工程需要仿真ddr工程,可以使用这部分官方配置仿真,不使用modelsim进行仿真)
![](https://i-blog.csdnimg.cn/blog_migrate/956569cf57ce4ca651b4eaf291ed18e1.png)
点击Run Simulation-->Run Behavioral Simulation进行仿真
![](https://i-blog.csdnimg.cn/blog_migrate/fd2996765c53eda4a1f5ed045c912ef6.png)
正在打开仿真环境
![](https://i-blog.csdnimg.cn/blog_migrate/65161290362a8ac93c7e9a8958a991cf.png)
仿真界面如下图所示,点击Background缩小运行界面
![](https://i-blog.csdnimg.cn/blog_migrate/87cb32a390eb5d65875728a16ee90efa.png)
可以看到官方工程运行到107us左右init_calib_complete信号拉高,ddr3初始化成功
![](https://i-blog.csdnimg.cn/blog_migrate/34c3e8b9ecbe9b384949a39f9c902988.png)
本章节主要是调用mig控制器,以及使用官方提供的仿真文件进行仿真,如果我们自己做的工程中使用了DDR3,可以使用官方提供的仿真文件对自己工程进行仿真,后续博客将告诉你如何对带有ddr3的工程进行仿真。
如若转载,请注明出处