在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. hadoop系列:zookeeper(2)——zookeeper核心原理(选举)

    1.前述 上篇文章<hadoop系列:zookeeper(1)--zookeeper单点和集群安装>(http://blog.csdn.net/yinwenjie/article/deta ...

  2. js中callback执行

    <!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...

  3. linux下面增加磁盘空间

    1.先看看情况 [root@localhost tmp]# fdisk -l Disk /dev/sda: 3221 MB, 3221225472 bytes 255 heads, 63 sector ...

  4. 关于JQuery中的事件冒泡

    什么是事件冒泡? 事件冒泡就是当父元素和子元素存在同一事件时在子元素的事件处理程序中会自动调用其父级元素的事件处理程序. demo: <!DOCTYPE html> <html xm ...

  5. 从SQL注入谈数据访问层

    什么是SQL注入? SQL注入就是应用程序的开发人员未预期的吧SQL语句传入到应用程序的过程,如果直接使用用户输入的值来构建SQL语句的应用程序是很可能会受到SQL注入攻击的.特别是基于浏览器的网络应 ...

  6. http请求post,返回excel文件,并接收

    1.post的方法里要加responseType: 'arraybuffer'参数,不然下载的excel会乱码 2.使用{type: "application/vnd.ms-excel&qu ...

  7. HTML&CSS——使用DIV和CSS完成网站首页重构

    1.DIV 相关的技术 Div 它是一个 html 标签,一个块级元素(单独显示一行).它单独使用没有任何意义,必须结合CSS来使用.它主要用于页面的布局. Span 它是一个 html 标签,一个内 ...

  8. solarwinds之数据库

      1.              Orion配置向导     2.              连接数据库     3.              创建一个新的数据库     4.           ...

  9. ARC下dealloc过程及.cxx_destruct的探究

    我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: - (void)dealloc { self.array = nil; self.string = nil; ...

  10. SpringBoot学习笔记(8)-----SpringBoot文件上传

    直接上代码,上传文件的前端页面: <body> <form action="/index/upload" enctype="multipart/form ...