在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. SQL注入、占位符拼接符

    一.什么是SQL注入 官方: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意 ...

  2. 洛谷1387 二维dp 不是特别简略的题解 智商题

    洛谷1387 dp题目,刚开始写的时候使用了前缀和加搜索,复杂度大概在O(n ^ 3)级别,感觉这么写还是比较对得起普及/提高-的难度的..后来看了题解区各位大神的题解,开始一脸mb,之后备受启发. ...

  3. HMM(隐马尔可夫),这篇讲的不错

    http://www.cnblogs.com/skyme/p/4651331.html

  4. 今天开始看看brpc-baidurpc

    链接如下: Link 大概看了一下.没有很明显的感觉.还是喜欢机器学习相关的内容.

  5. HDOJ 1753 大明A+B

    JAVA大数.... 大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号

    m_Orchestrate learning system---十二.为什么thinkphp验证场景里面的多个属性之间是逗号 一.总结 一句话总结:因为是数组啊 1 protected $scene ...

  7. hexo博客谷歌百度收录踩坑日记

    title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...

  8. cell的重用

    cell的重用 简单来说,就是为了节省内存,系统通过一个重用的表示进行获取重用的控件 1 定义重用的标识 NSString * reuseId = @"hero"  //这里的he ...

  9. MEF基本概念

    基本概念: Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库,在.NET 4.0发布 Container:容器,使用Compositi ...

  10. Linux部署之批量自动安装系统之Kickstart篇

    1.         安装   2.         在桌面环境下啊配置   3.         Kickstart之基本配置   4.         Kickstart之安装方法   5.    ...