Vivado中的MIG已经集成了modelsim仿真环境,是不是所有IP 都有这个福利呢,不知道哦,没空去验证。

  第一步:使用vivado中的MIG IP生成一堆东西 ,这个过程自己百度。或者是ug586有step by step 的,so easy。 生成之后是这样子的

 第二步:在modelsim中增加xilinx库

编译库  tool--> compile simulation libraries

选择modelsim,我只会verilog所以只选择了这个。 comiled library location 选择一个地方保存下来。simula executable path 自动找到了modelsim的地方 ,因为我是64bit系统,所以就win64. 点击compile。

    增加库:在你选择的那个文件夹下有一个modelsim.ini文件,选择

这一段要放到modelsim安装文件夹下的modelsim.ini文件下(它默认只是可读文件哦)。不要放的太后面了。

  第三步: 改变工作目录

    打开modelsim,你会发现因为你加的这一段,libaray是有变化的。

          在modelsim中选择 file --> change directory。找到vivado建立的工程里面sim文件夹,是这个很深的文件夹 (我的工程文件夹是ddr3_sim)

好了,工作从原理上来说已经做完了。因为vivado的本意是让我们能能仿真一下这个example的,然后在modelsim中执行do sim.do 就可以了

实际上当然是不可以的,还差一点点。

记住你的工作目录是sim下,因为sim文件夹下才有这个sim.do文件。

第四步:修改sim.do的文件路径

  其实从QuartusII 和modelsim联合仿真也可以看出,modelsim经常给我们纠结文件路径。原因很简单,modelsim的起始路径是QuartusII工程中的simulation子文件夹,和QuartusII的工程文件夹不同,所以出现差异。

  好了,回归本题。如何修改  ,先看看vivado给的原始路径

看到自动给的路径,两个字回应它:胡扯!

路径更改后是这样子的:

还有一行:第94行

修改成:

改成绝对路径吧,就是找到你的vivado安装目录下的这个glbl.v文件,然后指定。

OK ,一切完毕,现在就是就是最爽的一步

第五步:在modelsim的Transcript下执行 do  sim.do 。 然后你就可以边喝茶边看着信息自己跳了

最后modelsim弹出一个框框,问finish不? 如果你选择  是, 那我只能给一个鄙视的眼神了。

转载:http://www.cnblogs.com/sepeng/p/6525366.html

ddr3调试经验分享(一)——modelsim实现对vivado中的MIG ddr3的仿真的更多相关文章

  1. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  2. CMOS Sensor的调试经验分享

    转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...

  3. CMOS Sensor的调试经验分享【转】

    转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...

  4. 【编程开发】opencv实现对Mat中某一列或某一行的元素进行normalization

    [编程开发]opencv实现对Mat中某一列或某一行的元素进行normalization 标签: [编程开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259 ...

  5. Android 5.0 + IDA 6.8 调试经验分享

    如今升级快.网上的资料仅仅能做參考. 学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了非常久,这里分享一下我的经验. 工具: IDA pro 6.8 Android 5.x IDA ...

  6. 调试经验分享-让自己的电脑充当WI-Fi模块,用来抓取连接Wi-Fi模块APP上的通信数据

    需求 手头有了厂家的APP和Wi-Fi模块 在已经知道APP是通过TCP连接Wi-Fi模块(8266), 同时也知道了连接的端口号的 情况下如何知道厂家的APP发送给Wi-Fi模块的数据 打开自己的笔 ...

  7. 利用SMB jcifs实现对windows中的共享文件夹的操作

    需求是在本地上传文件到服务器上,服务器是windows的,使用共享文件夹提供权限给你的. 利用第三方: CIFS (Common Internet File System) SMB(Server Me ...

  8. 基于TerraExplorer Pro 6.1 实现对Shape中Feature对象拾取查询

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Python利用Plotly实现对MySQL中的数据可视化

    Mysql表数据: demo.sql内容 create table demo( id int ,product varchar(50) ,price decimal(18,2) ,quantity i ...

随机推荐

  1. 【动态规划】Gym - 100507G - The Debut Album

    一般思路的dp是用f(i,j,0)表示前i位最后有j个1的方案数,用f(i,j,1)表示前j位最后有j个2的方案数,j都是大于等于1的,然后比较容易转移. 但这题卡内存,就只能用f(i,j)表示前i位 ...

  2. 【spfa】bzoj3921 Mimori与树海

    考虑“删除后图仍连通”,即其不是无向图的桥(bridge),可以用Tarjan算法预处理,这里不赘述. [算法一] 枚举删除的是哪条边,然后枚举起点,暴搜,统计答案. 可以通过0.1号测试点. 预计得 ...

  3. 【Linux】ubuntu或linux网卡配置/etc/network/interfaces

    转自:http://gfrog.net/2008/01/config-file-in-debian-interfaces-1/   青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的 ...

  4. asp.net 二级域名(路由方式实现)

    自从微软发布 ASP.NET MVC 和routing engine (System.Web.Routing)以来,就设法让我们明白你完全能控制URL和routing,只要与你的application ...

  5. C语言中的联合体union所占内存方式

     当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union).在C Programming Language 一书中对于联合体是这么描述的:      1)联合体是一个结构:    ...

  6. javascript快速入门16--表格

    表格的层次结构 <table border="1"> <caption>表格标题</caption> <thead> <tr& ...

  7. Oracle使用row_number()函数查询时增加序号列

    使用Oracle自带的row_number()函数能够实现自动增加序号列的要求,但是同时引发一个问题,如果我们查询出来的数据需要使用Order By排序的话,那么我们会发现新增加的序号列是乱序的,它会 ...

  8. 深入理解JS函数作用域链与闭包问题

    function fun(n,o) { console.log(o) return { fun:function(m){ return fun(m,n); } }; } ); a.fun(); a.f ...

  9. Scala快学笔记(二)

    一,基本概念 1,映射 Map与HashMap与TreeMap,SotredMap等区别: 1.HashMap键无序,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度 ...

  10. 报错:numRecords must not be negative

    报错的原因:删除已经使用过的kafka topic,然后新建同名topic 解决方法:把topic名字换一下 (有其他更好的解决方法,可以不修改topic名)