我的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" ) //一些常用的文件操作 ...
随机推荐
- java有参无参构造器的的执行顺序
这里拿了用数组构造栈的一段代码说明一下 public class StackArray<E> { private Object[] data = null; private int max ...
- ACdream 1157 Segments
Segments Time Limit: 2000ms Memory Limit: 10000KB This problem will be judged on ACdream. Original I ...
- 30个php操作redis经常用法代码样例
这篇文章主要介绍了30个php操作redis经常用法代码样例,本文事实上不止30个方法,能够操作string类型.list类型和set类型的数据,须要的朋友能够參考下 redis的操作非常多的,曾经看 ...
- OpenGL ES 3.0 Graphics Pipeline
一:OpenGL ES 3.0 Graphics Pipeline 渲染管道如下图 1.Vertex Buffer/Arrays Objects的数据由应用程序传进来 2.由上图可以看到Textur ...
- 仿写从iOS8开始支持的UIAlertController:BGAAlertController-Android
工作以来公司UI设计师出的Android效果图都是iOS风格的UIAlertView和UIActionSheet,新项目还是用原来那一套,不想重复造轮子,所以仿写了从iOS8开始支持的UIAlertC ...
- [Avito Code Challenge 2018 G] Magic multisets(线段树)
题目链接:http://codeforces.com/contest/981/problem/G 题目大意: 有n个初始为空的‘魔法’可重集,向一个‘可重集’加入元素时,若该元素未出现过,则将其加入: ...
- javascript对象的深度克隆
在做项目的时候需要向对象里面添加新属性,又不想修改原对象.于是就写: var newObj = oldObj,但是新对象属性改变后就对象也会跟着改变,这是因为无论是新对象还是旧对象,指向的内存地址都是 ...
- C# 比较两个数据的不同
string[] arrRate = new string[] { "op1010", "op1020", "op1030", " ...
- System.IO.FileLoadException异常
未能加载文件或程序集“NHibernate, Version=4.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4”或它的某一个依赖 ...
- 51nod 1101 换零钱 完全背包的变型 动态规划
题目: 思路: ;i < ; i++){ for(int j = a[i];j <= n; j++){ dp[j] = (dp[j] + dp[j-a[i]])%mod; } } a[i] ...