在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文件设置的更多相关文章

  1. 一些常用的vim设置

    以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手.vi ...

  2. linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

    原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是 ...

  3. Apache日志不记录图片文件设置方法和来源日志的配置

    Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch&g ...

  4. C/C++常用头文件及函数汇总

    转自: C/C++常用头文件及函数汇总 C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#in ...

  5. wamp中的httpd.conf文件设置

    ServerName localhost 缺省情况下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者 ...

  6. .htaccess文件设置

    1.为使.htaccess有效,需要先做httpd.conf设置 #打开改写模式Options FollowSymLinks AllowOverride All#打开重写模式,去掉这行注释LoadMo ...

  7. Linux网络常用头文件说明

    sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函 ...

  8. linux下为目录和文件设置权限

    摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...

  9. go语言中常用的文件和文件夹操作函数

    package main; import ( "os" "log" "time" "fmt" ) //一些常用的文件操作 ...

随机推荐

  1. 循环语句第2种 WHILE ... LOOP END LOOP;

     --------第2种--------   WHILE ... LOOP   END LOOP;    declare    n number(3) :=1;  begin    WHILE n&l ...

  2. OpenLDAP 2.4.44 安装 + phpLDAPadmin 安装

    网上太多的例子搞 OpenLDAP  + phpLDAPadmin  但是没有一个能让你成功配置起来.蛋疼得很.记录一下过程 系统版本:centos7.4 软件版本:2.4.44  超级重要,版本不对 ...

  3. jQuery判断浏览器类型和版本

    jquery 判断浏览器类型 例:   if($.browser.msie) { alert("这是一个IE浏览器"); }else if($.browser.opera) { a ...

  4. 浅析Mysql InnoDB存储引擎事务原理

    浅析Mysql InnoDB存储引擎事务原理 大神:http://blog.csdn.net/tangkund3218/article/details/47904021

  5. Android sdCard路径问题

    一,获取Android设备的全部存储设备,这里边肯定有一个能用的 StorageManager sm = (StorageManager) context.getSystemService(Conte ...

  6. 50个Android开发技巧(12 为控件加入圆角边框)

    控件的圆角边框能够使你的App看起来更美观,事实上实现起来也非常easy. (原文地址:http://blog.csdn.net/vector_yi/article/details/24463025) ...

  7. httpClient模拟登陆校内某系统

    package com.huowolf; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpE ...

  8. What is the difference between Web Farm and Web Garden?

    https://www.codeproject.com/Articles/114910/What-is-the-difference-between-Web-Farm-and-Web-Ga Clien ...

  9. Python一行代码获得IP地址

    比较靠谱的方法, 通过构造UDP包获得本机IP地址   python -c "import socket;print([(s.connect(('8.8.8.8', 53)), s.gets ...

  10. 15-11-23:system指令

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本) 1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr ...