ddr3调试经验分享(一)——modelsim实现对vivado中的MIG ddr3的仿真
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的仿真的更多相关文章
- (转)CMOS Sensor的调试经验分享
CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...
- CMOS Sensor的调试经验分享
转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...
- CMOS Sensor的调试经验分享【转】
转自:https://blog.csdn.net/yapingmcu/article/details/37817727 转自:http://bbs.52rd.com/forum.php?mod=vie ...
- 【编程开发】opencv实现对Mat中某一列或某一行的元素进行normalization
[编程开发]opencv实现对Mat中某一列或某一行的元素进行normalization 标签: [编程开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259 ...
- Android 5.0 + IDA 6.8 调试经验分享
如今升级快.网上的资料仅仅能做參考. 学到了NDK逆向这一块,昨天为了能让IDA 能动态调试SO,瞎折腾了非常久,这里分享一下我的经验. 工具: IDA pro 6.8 Android 5.x IDA ...
- 调试经验分享-让自己的电脑充当WI-Fi模块,用来抓取连接Wi-Fi模块APP上的通信数据
需求 手头有了厂家的APP和Wi-Fi模块 在已经知道APP是通过TCP连接Wi-Fi模块(8266), 同时也知道了连接的端口号的 情况下如何知道厂家的APP发送给Wi-Fi模块的数据 打开自己的笔 ...
- 利用SMB jcifs实现对windows中的共享文件夹的操作
需求是在本地上传文件到服务器上,服务器是windows的,使用共享文件夹提供权限给你的. 利用第三方: CIFS (Common Internet File System) SMB(Server Me ...
- 基于TerraExplorer Pro 6.1 实现对Shape中Feature对象拾取查询
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Python利用Plotly实现对MySQL中的数据可视化
Mysql表数据: demo.sql内容 create table demo( id int ,product varchar(50) ,price decimal(18,2) ,quantity i ...
随机推荐
- 【动态规划】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位 ...
- 【spfa】bzoj3921 Mimori与树海
考虑“删除后图仍连通”,即其不是无向图的桥(bridge),可以用Tarjan算法预处理,这里不赘述. [算法一] 枚举删除的是哪条边,然后枚举起点,暴搜,统计答案. 可以通过0.1号测试点. 预计得 ...
- 【Linux】ubuntu或linux网卡配置/etc/network/interfaces
转自:http://gfrog.net/2008/01/config-file-in-debian-interfaces-1/ 青蛙准备写一个系列文章,介绍一些Debian/Ubuntu里面常用的 ...
- asp.net 二级域名(路由方式实现)
自从微软发布 ASP.NET MVC 和routing engine (System.Web.Routing)以来,就设法让我们明白你完全能控制URL和routing,只要与你的application ...
- C语言中的联合体union所占内存方式
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union).在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构: ...
- javascript快速入门16--表格
表格的层次结构 <table border="1"> <caption>表格标题</caption> <thead> <tr& ...
- Oracle使用row_number()函数查询时增加序号列
使用Oracle自带的row_number()函数能够实现自动增加序号列的要求,但是同时引发一个问题,如果我们查询出来的数据需要使用Order By排序的话,那么我们会发现新增加的序号列是乱序的,它会 ...
- 深入理解JS函数作用域链与闭包问题
function fun(n,o) { console.log(o) return { fun:function(m){ return fun(m,n); } }; } ); a.fun(); a.f ...
- Scala快学笔记(二)
一,基本概念 1,映射 Map与HashMap与TreeMap,SotredMap等区别: 1.HashMap键无序,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度 ...
- 报错:numRecords must not be negative
报错的原因:删除已经使用过的kafka topic,然后新建同名topic 解决方法:把topic名字换一下 (有其他更好的解决方法,可以不修改topic名)