我的modelsim常用DO文件设置
在modelsim中使用do文件是非常方便的进行仿真的一种方法,原来接触到的一些项目不是很大,用modelsim仿真只需要仿真单独的一些模块,最近接触的项目比较大,是几个人分开做的,所以前后模块的联合仿真比较重要,并且WAVE窗口里面需要引入的信号也很多,不同人开发的代码放在了单独的文件夹中,如果还是像原来那样仿真,单单是编译源文件,添加查看信号就要花费不少时间,而且仿真需要比较长的时间,需要观察不同时间段内的仿真结果,因此便使用了do文件来方便自己的仿真。
新建文本文件,修改后缀为do便可以建立自己的do文件了。我写了3个do文件: simulate.do,restart.do,complie.do.
其中simulate.do具体内容如下:
#定义控制台命令简称,方便在控制台中使用do文件和do命令,执行一次 do simulate.do以后,
#在控制台输入r 然后回车就相当于执行do restart.do
alias c "do compile.do"
alias s "do simulate.do"
alias r "do restart.do"
alias sw "write format wave -window .main_pane.mdi.interior.cs.vm.paneset.cli_0.wf.clip.cs.pw.wf
~~~~/wave.do"
#sw引号中内容根据实际情况修改,设置好仿真波形后进行保存wave后,控制台就会有一行命令, 将此行命令替换掉sw引号中即可。
#设置最小仿真时间 和是否优化,work后面的*替换为自己的仿真顶层名。
vsim -t ns -novopt work.*
#显示窗口设置
view wave
view structure
view signals
do wave.do
#设置仿真运行时间
run 1690415000 ps
#设置在波形窗口中显示的仿真时间段
WaveRestoreZoom {102000 ns} {286000 ns}
view wave
complie.do具体内容如下:
#将所有需要编译的文件都是用下面命令来编译,-93后面是文件路径,注意斜杠与windows环境下不同。
#使用do文件来编译的一个好处就是可以将不同文件夹中的源文件都编译到仿真根目录下的work中。
vcom -93 G:/MYProject/my_variables.vhd
restart.do具体内容如下:
#执行restart命令
restart
#仿真运行时间
run 17814000 ps
#显示wave窗口
view wave
#在波形窗口显示特定时间段波形 时间可以自己根据情况修改
WaveRestoreZoom {16293000 ps} {17814000 ps}
写好这三个do文件以后,将三个do文件放入仿真根目录下,也就是work库文件夹所在目录下,打开modelsim后首先在控制台中 执行 do complie.do 编译所有源文件(当然前提已经有work库了)。然后选择信号加入到波形窗口对设计进行仿真,保存波形文件为wave.do。
当下次再需要进行仿真的时候就可以使用do文件了。进入仿真目录后,首先运行一次do simulate.do 然后输入c回车就会编译所有文件,当修改其中一个或几个源文件后就可以直接输入c然后回车进行编译了,编译完修改后的文件需要进行重新仿真,这时候我们输入r回车就可以运行我们设置的仿真时间,而且波形窗口会显示我们设置的时间段的波形。
我的modelsim常用DO文件设置的更多相关文章
- 一些常用的vim设置
以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手.vi ...
- linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)
原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是 ...
- Apache日志不记录图片文件设置方法和来源日志的配置
Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch&g ...
- C/C++常用头文件及函数汇总
转自: C/C++常用头文件及函数汇总 C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#in ...
- wamp中的httpd.conf文件设置
ServerName localhost 缺省情况下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者 ...
- .htaccess文件设置
1.为使.htaccess有效,需要先做httpd.conf设置 #打开改写模式Options FollowSymLinks AllowOverride All#打开重写模式,去掉这行注释LoadMo ...
- Linux网络常用头文件说明
sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- go语言中常用的文件和文件夹操作函数
package main; import ( "os" "log" "time" "fmt" ) //一些常用的文件操作 ...
随机推荐
- 洛谷 P2949 [USACO09OPEN]工作调度Work Scheduling
P2949 [USACO09OPEN]工作调度Work Scheduling 题目描述 Farmer John has so very many jobs to do! In order to run ...
- spring-boot-maven-plugin 插件的作用(转)
OM 文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件.在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一 ...
- [CSS3] The different of Background-size between 'cover' and 'contain'
'cover': The smaller axies of image (x axies) should match smaller axies (x axies) of container. So ...
- 数据共享之相互排斥量mutex
相互排斥量介绍 相互排斥量能够保护某些代码仅仅能有一个线程运行这些代码.假设有个线程使用相互排斥量运行某些代码,其它线程訪问是会被堵塞.直到这个线程运行完这些代码,其它线程才干够运行. 一个线程在訪问 ...
- Okio简化处理I/O操作原理
转载:http://blog.csdn.net/sbsujjbcy/article/details/50523623 Okio库是一个由square公司开发的,它补充了java.io和java.nio ...
- BZOJ 1007: [HNOI2008]水平可见直线 平面直线
1007: [HNOI2008]水平可见直线 Description 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则 ...
- UVA 1016 - Silly Sort 置换分解 贪心
Silly Sort Your younger brother has an assignment and needs s ...
- php设计模式之桥接模式
php设计模式之桥接模式 一.概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果. 其实就是讲不相关的东西通过类(本例中是SendInfo)结合在一起,从而 ...
- vue组件样式添加scoped属性之后,无法被父组件修改。或者无法在本组件修改element UI样式
在vue开发中,需要使用scoped属性避免样式的全局干扰,但是这样在父组件中是无法被修改的,不仅如此如果项目中用了UI框架比如element Ui,这个时候在本组件也无法修改样式,因为权重问题.但是 ...
- spark thrift server configuration
# MainApplicationProperties # --master yarn --deploy-mode client 下的配置, client 模式表示,driver 是在本地机器上跑的, ...