1. 建一个总文件夹,如cnt
2. 为源代码,测试台文件,仿真各建一文件夹。如src,tb,sim
3. 编写源代码,testbench。如cnt.v,tb_cnt.v文件,同时文件名里的模块名与文件名相同,如module  cnt(  ), module  tb_cnt(  )。
4. 再sim文件夹里加入tb.f文件:../tb/tb_cnt.v  
                               ../src/cnt.v
                               ../tb/tb_cnt-y
  ../src  +libext+.v(这里源代码中可有许多,下一次做的DPLL必须要用第二种)
5. 下面开始仿真,仿真,顾名思义要在仿真文件夹sim中进行。pwd 出现当前目录cd ..当前目录向上一级 cd  e:/modelsim进入e盘中的modelsim目录
6. vlib  work (建工作库),此时从库文件中含有modelsim自动生成的_into文件。
7. vlog   –f   tb.f  (编译  .v文件),此时库文件加入了cnt.v 和 tb_cnt.v模块
8. vsim  -voptargs=”+acc”  tb_cnt  (在testbench中测试源代码),此时sim文件夹里出现了vsim文件,work文件夹里有一些仿真文件。同时在modelsim中出现sim项。
9. 右击sim项中的实例名称,点击 add to wave  all items in design 。本例中实例项是inst_cnt。(cnt  inst_cnt(端口连接)     其中cnt为实例引用的模块名称,inst_cnt为实例引用中的实例名称),在wave窗口中出现的信号为/tb_cnt/clk  
/tb_cnt/rstn   
/tb_cnt/cnt(它们为连到端口的信号)    
/tb_cnt/inst_cnt/i_clk     
/tb_cnt/inst_cnt/i_rstn
/tb_cnt/inst_cnt/o_cnt (它们为模块cnt中定义的端口)。   
10. 出现wave窗口,仿真即可。其中wave窗口中的按钮doom in ,doom out ,doom full。可调整波形大小。
11. 批处理文件(do文件):quit  -sim
                         vlog  -f  tb.f
                         vsim  -voptargs=”+acc”  tb_cnt
                         add   wave  sim:/tb_cnt/inst_cnt/*
      保存为sim.do文本文件,它等同于7—9步。

转载自:http://www.elecfans.com/bandaoti/eda/20100605218972.html

易懂的modelsim学习笔记的更多相关文章

  1. KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 《寒江独钓》内核学习笔记(5)

    目录 . 相关阅读材料 . <加密与解密3> . [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Ha ...

  2. Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...

    下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...

  3. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  4. ArcGIS API for JavaScript 4.2学习笔记[1] 显示地图

    ArcGIS API for JavaScript 4.2直接从官网的Sample中学习,API Reference也是从官网翻译理解过来,鉴于网上截稿前还没有人发布过4.2的学习笔记,我就试试吧. ...

  5. 2017-04-21周C语言学习笔记

    C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...

  6. VCS使用学习笔记(0)——写在前面的话

    由于毕业设计做的是数字IC相关,虽然不是纯设计,但是也有设计相关.有设计就要有仿真验证,我就趁此机会来学习一下VCS的使用吧.当然,这里只是学习其简单的逻辑仿真功能,从波形仿真到覆盖率等,基本上不涉其 ...

  7. C++学习笔记(一):C++基础知识

    一.C++基础知识 新的数据类型 C语言中的数据类型 C++中新的数据类型 思考:新的数据类型有什么好处?请看下面的代码: 可以见得:新的类型使整个程序更加简洁,程序变得易读易懂!这个就是bool类型 ...

  8. 近期Python学习笔记

    近期Python 学习笔记--一篇文入门python 作者:Pleiades_Antares(www.cnblogs.com/irischen) 写在前面的话 想学Python已经许久,一年多以前(应 ...

  9. 学习笔记-AngularJs(九)

    到目前为止,我们所做的学习案例都是没有加任何动画效果的,对于以往来说,我们经常会去使用一些动画插件或是css框架(如:animate.css)来点缀我们的网页,这样显得生动,高大上,那么接下来我们可以 ...

随机推荐

  1. poj 1286 Necklace of Beads &amp; poj 2409 Let it Bead(初涉polya定理)

    http://poj.org/problem?id=1286 题意:有红.绿.蓝三种颜色的n个珠子.要把它们构成一个项链,问有多少种不同的方法.旋转和翻转后同样的属于同一种方法. polya计数. 搜 ...

  2. win7官方下载地址

    win7官方下载地址 http://microsoftstore.me/category/microsoft/windows/

  3. 【线程篇】stop() 和suspend()

    1.为什么不推荐用 stop()和 suspend() stop这个方法将终止所有未结束的方法,包括run方法.当一个线程停止时候,他会立即释放所有他锁住对象上的锁.这会导致对象处于不一致的状态.假如 ...

  4. SET GLOBAL FOREIGN_KEY_CHECKS取消外键约束

    今天在工作中遇到的问题,在删除一个表时报错,发现有外键约束,所以不能删除,查了下发现需要取消外键约束. SET GLOBAL FOREIGN_KEY_CHECKS=0;全局取消外键约束 SET SES ...

  5. xml DTD中的ELEMENT和ATTLIST

    是W3C的一个文档类型定义规则文件,是用来让浏览器根据你定义的DTD(文档类型定义)来解释页面代码的. doctype声明指出阅读程序应该用什么规则集来解释文档中的标记.在Web文档的情况下,“阅读程 ...

  6. Go 1.5keyword搜索文件夹、文件、文件内容_修复一个小BUG

    package main import ( "bufio" "bytes" "flag" "fmt" "io& ...

  7. jquery中的replaceWith()和html()的区别

    区别在于,html()会替换指定元素内部的HTML,而replaceWith()会替换元素本身及其内部的HTML. //目标div <div id="myid" /> ...

  8. PHP-PHP.INI常用配置详解

    variables_order: 假如为'GPCS'表示系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES,SERVER, 此时$_ENV为空数组, 只要把'E'添加到'GPCS'后 ...

  9. Swift代理造成内存泄漏的解决办法

    在swift中,使用代理 ,可能很多人会这样实现: .首先定义一份协议. protocol ToolProrocol{ //代理方法 func didRecieveResults(result:Int ...

  10. HDUOJ-----Brave Game

    Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...