vivado2016.2下系统自带DDR3 ip例程仿真运行
背景:从ISE14.7迁移到vivado2016.2. xilinx的软件改的真是不一般的大。两个软件操作差距真是让人想骂人。由于项目需要,准备调试DDR3。对于新手来说,例化一个DDR3 ip.如果有个例程,可以参考。那就非常好了。xilinx贴心的给我们准备了这个例程。那如何去运行这个例程,给我们作为参考用呢。本文档就简单介绍一下具体方法。本方法纯属个人方法。如有问题,自行解决!!!
开始正题:
第一步,在你自己的project下例化一个DDR3的ip。例化完成之后,如下图:
第二步,右击这个核,显示open ip example
第三步,就是点击这个open_ip_example_design .vivado会开始新建一个project .过程不表~。结果如图
第四步,简单的操作是,运行tb仿真就行了
运行结果:就是漫长的等待!!!!!!!!!系统自带的vivado simulate
实际项目,仿真测试,还是用利器modelsim吧!速度甩了vivado自带的好几条街~
运行结果:
到此,整个流程都结束了。
BUT,总感觉怪怪的是不是,系统自带的仿真时如何操作的呢!!!
其实vivado对应的project里有相关的文档解释的很清楚了。
关于modelsim的操作如下:
1. How to run simulations in Modelsim/QuestaSim simulator
A) sim.do File :
a) The 'sim.do' file has commands to compile and simulate memory
interface design and run the simulation for specified period of time.
b) It has the syntax to Map the required libraries (unisims_ver,
unisim and secureip). The libraries should be mapped using
the following command
vmap unisims_ver <unisims_ver lib path>
vmap unisim <unisim lib path>
vmap secureip <secureip lib path>
Also, $XILINX_VIVADO environment variable must be set in order to compile glbl.v file
c) Displays the waveforms that are listed with "add wave" command.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
B) Steps to run the Modelsim/QuestaSim simulation:
a) The user should invoke the Modelsim/QuestaSim simulator GUI.
b) Change the present working directory path to the sim folder.
In Transcript window, at Modelsim/QuestaSim prompt, type the following
command to change directory path.
cd <sim directory path>
c) Run the simulation using sim.do file.
At Modelsim/QuestaSim prompt, type the following command:
do sim.do
d) To exit simulation, type the following command at Modelsim/QuestaSim
prompt:
quit -f
e) Verify the transcript file for the memory transactions.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
大家看懂了有没有?看起了很简单。是不是!!!!BUT,你自己操作一遍,发现不知道怎么弄!!!
此处分割线———————————————————————-
为了找到流程,第一步在project里面找到sim.do文件。
第二步,打开文件,查看相关内容
vlib work
Map the required libraries here
vmap unisims_ver
vmap unisim
vmap secureip
Compile all modules
vlog ../../../sources_1/imports/rtl/*.v
vlog -incr ../../../sources_1/imports/rtl/traffic_gen/*.v
vlog ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/mig_7series_0.v
vlog ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/mig_7series_0_mig_sim.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/clocking/*.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/controller/*.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ecc/*.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ip_top/*.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/phy/*.v
vlog -incr ../../../sources_1/ip/mig_7series_0/mig_7series_0/user_design/rtl/ui/*.v
这段代码干什么用的呢?
vlib work ,刚才截图里说了,是用来在当前目录下建一个work文件夹
至于为毛能建立?大伙百度一下。
vlog ….
vlog….
vlog….
这几行的是编译对应目录下的.v文件
剩下的基本上就是一样的。编译
Compile files in sim folder (excluding model parameter file)
$XILINX variable must be set
vlog -incr $env(XILINX_VIVADO)/data/verilog/src/glbl.v
vlog wiredly.v
vlog sim_tb_top.v
这里的glbl.v文件是哪里的呢?这个文件是在vivado安装路径里面。我们需要copy过来。然后把语句改一下。不然你就要去设置XILINX_VIVADO 的环境变量。我一开始是报错了。所以还是改了吧
改成如下的
vlog ./glbl.v
do 文件需要修改的就这么多。没什么修改的。
是不是到此就可以了呢!too native too simple
这里我们需要一个modelsim.ini文件。这个文件是干啥的呢?
是vivado仿真库里的环境变量!!!
这个文件必须要,不然找不到相应的编译库。根本就无法编译。
我们把这个文件copy过来。基本上就可以了。
这次就直接在modelsim里面,change directory到当前目录。然后直接输入do sim.do。就等着运行结束,出结果吧。
第一篇认真写的博客。谢绝无引用转载。写的有点粗略。后期再慢慢修改吧!

-
qq_32164245
前天 11:06
- 回复yanhe156:D:\FPGA\DDR3\k7_ddr3\ddr3_sim1\mig_7series_0_ex\mig_7series_0_ex.srcs\sources_1\ip\mig_7series_0\mig_7series_0\example_design按这样的路径找 这只是我的路径 但是后面的都一样

-
u011164476
2017-07-06 19:202楼
- 你好,我问一下如果我加上fifo,自己写一个与ddr3的控制接口, sim_tb_top.v需要修改吗?其他的还要修改吗?我自己写了一个用户接口控制一直不知道testvbench怎么写,希望你能回复一下,谢谢。可加qq870650456

-
qq_36255949
2017-04-30 21:391楼
- 你好,如果加上fifo的话怎么仿真呢?sim.do文件改怎样修改呢?
vivado2016.2下系统自带DDR3 ip例程仿真运行的更多相关文章
- sips 命令(iMac 下系统自带)
2. sips 2.1 -Z 指定最大宽高 //等比例缩放 scaleFill $ sips -Z 300 hgl.png $ for i in *.jpg;do sips -Z 300 " ...
- Broadcom有线网卡在Windows 8/8.1/10下使用系统自带驱动会断网的解决办法
出处:qiuyi21.cnblogs.com 1.下载最新正式版驱动程序 上Broadcom官方网站http://www.broadcom.com/support/ethernet_nic/downl ...
- #在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat
#在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat子网和主机网络是同一网络,网络管理员要注 ...
- IP编辑控件(因为封装的是系统自带控件,所以也使用了CreateSubClass,不过为啥要封装CN_COMMAND和CN_NOTIFY不是很明白)
最近需要用一个IP输入控件,网上找了几个,都不符合效果,有些还有一些奇怪的Bug.后来发现原来系统已经提供了IP地址编辑控件,只是系统提供的控件不能设置只读效果.网上找了下资料,封装了一下,自己迂回一 ...
- [Swift通天遁地]二、表格表单-(4)使用系统自带的下拉刷新控件,制作表格的下拉刷新效果
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 利用win7系统自带的dos命令把笔记本无线网卡当无线路由器(无线AP发射器)
利用win7系统自带的dos命令把笔记本无线网卡当无线路由器(无线AP发射器). 1.打开win7开始菜单,找到命令提示符选项,以管理员身份运行cmd.2.在命令行上输入:netsh wlan set ...
- XP系统电脑带安卓手机上网教程(无需adhoc补丁)
XP系统电脑带安卓手机上网教程(无需adhoc补丁) WIN7系统可以虚拟wifi热点,安卓手机连上这个热点就能上网.XP系统虚拟出来的wifi热点是adhoc形式的,原生的安卓系统并不支持adhoc ...
- 如何在windows系统自带命令查看硬件信息?
如何在windows系统自带命令查看硬件信息? 对于在windows下查看系统信息大家一定不陌生了,我现在说几个最常用的方法,对命令感兴趣的朋友看看,(给菜鸟看的,老手就不要笑话我了,大家都是从那个时 ...
- 系统自带的日志管理工具-rsyslogd
系统自带的日志管理工具-rsyslogd 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志管理简介 1.什么是日志 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以 ...
随机推荐
- 17、Flask实战第17天:Flask-cookie
cookie的基本概念 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接并且登录成功后,第二次请求服务器依然不能知道当前请求的是哪个用户. cookie的出现就是为了解决这个问题,第一 ...
- [UOJ300]吉夫特
直接上lucas定理,可以得到$\binom nm=1$等价于$m$是$n$的子集(二进制) 因为数字两两不同,所以设$f_i$表示以$i$开头的满足要求的序列有多少个,转移就是$f_i\gets f ...
- 【点分治】【map】【哈希表】hdu4670 Cube number on a tree
求树上点权积为立方数的路径数. 显然,分解质因数后,若所有的质因子出现的次数都%3==0,则该数是立方数. 于是在模意义下暴力统计即可. 当然,为了不MLE/TLE,我们不能存一个30长度的数组,而要 ...
- Scala实战高手****第10课:Scala继承彻底实战和Spark源码鉴赏
isInstanceOf 和 asInstanceOf is用于判断 as用于转换,把父类类型转换成子类类型 getClass 具体找出类型
- 使用jQuery操作dom(追加和删除样式-鼠标移入移出)练习
1.实现鼠标移入则添加背景色,鼠标移出则删除背景色 <!DOCTYPE html> <html> <head> <title>test1.html< ...
- Android Studio 首次安装取消自动下载SDK
一.第一次安装: Android Studio安装完成后,第一次启动AS前,为了避免重新下载新版本的SDK,需要做如下操作: AS启动前,打开安装目录,请先将bin目录的idea.properties ...
- Maven设置snapshot无法在远程仓库下载的问题解决
检查步骤如下: 1.检查nexus是否纳入public版本中: 2.配置中是否启用snapshots功能.以下方法两种设置都可以,任选一个即可. 一种是在项目pom.xml使用: <reposi ...
- Matlab设置形状大小
x=0:10; y=2*x; plot(x,y,'-*','linewidth',0.5,'markersize',6)%%默认线宽为0.5,点大小为6 说明:调整线宽也可改变点的形状,这实际上是通过 ...
- ThreadPoolExecutor 的三种提交任务方式
学习内容: ExecutorService线程池的应用... 1.如何创建线程池... 2.调用线程池的方法,获取线程执行完毕后的结果... 3.关闭线程... 首先我们先了解一下到底什么是线程池 ...
- js时间小总结
1.js获取时间 var myDate = new Date(); 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份 ...