做集成电路这个行业,真的很不容易!

modesim 教程

上一篇 / 下一篇  2006-07-30 07:35:27 / 天气: 晴朗 / 心情: 高兴

ModelSim SE简明操作指南EDA中国门户网站IH&n7H g;V2?3k~t
第一章   EDA中国门户网站~3l+pe |\
本指南是为ModelSim5.5f版本编写的,该版本运行于UNIXMicrosoft Windows 95/98/Me/NT/2000的操作系统环境中。本指南覆盖了VHDLVerilog模拟仿真,但是你在学习过程中会发现对于单纯的HDL设计工作而言,它是一个很有用的参考。ModelSim具备强大的模拟仿真功能,在设计、编译、仿真、测试、调试开发过程中,有一整套工具供你使用,而且操作起来极其灵活,可以通过菜单、快捷键和命令行的方式进行工作。ModelSim的窗口管理界面让用户使用起来很方面,它能很好的与操作系统环境协调工作。ModelSim的一个很显著的特点就是它具备命令行的操作方式,类似于一个shell有很多操作指令供你使用,给人的感觉就像是工作在Unix环境下,这种命令行操作方式是基于Tcl/Tk的,其功能相当强大,这需要在以后的实际应用中慢慢体会。
c9Y^3K2z.a6\)]0ModelSim
的功能侧重于编译、仿真,不能指定编译的器件,不具有编程下载能力。不象SynplifyMAX+PLUS II可以在编译前选择器件。而且ModelSim在时序仿真时无法编辑输入波形,不象MAX+PLUS II可以自行设置输入波形,仿真后自动产生输出波形,而是需要在源文件中就确定输入,如编写测试台程序来完成初始化、模块输入的工作,或者通过外部宏文件提供激励。这样才可以看到仿真模块的时序波形图。另外对于Synplify来说,也只具有编译能力,但是比MAX+PLUS II可编译的verilog的内容要多,所以常常可以现在Synplify下编译,生成编译文件再送到MAX+PLUS II中使用。EDA中国门户网站p fv4P u9F
ModelSim
还具有分析代码的能力,可以看出不同的代码段消耗资源的情况,从而可以对代码进行改善,以提高其效率。EDA中国门户网站wIaRC.A
第二章    ModelSim的主要结构EDA中国门户网站@2xNU~1u'V,{ ^+o"R;J
ModelSim
的主窗口(Main window)包括菜单栏、工具栏、工作区和命令行操作区。EDA中国门户网站mX2_Khsv5q'I:_
在工作区可以显示Project TabLibrary TabSim Tab(显示Load DesignHierarchical Structure);在命令行操作区,可以用命令提示符的方式进行编译、仿真设计,同时打开其他窗口。EDA中国门户网站$~,QciQ K(q
在菜单栏View下可以打开,source windowlist windowwave windowstructure windowsignal windowdataflow windowprocess windowviarables window等窗口,用来测试仿真、调试仿真。由此也可以看出该软件具有强大的仿真设计能力,它提供的工具很多。
aZp#N#NS _0
在帮助菜单里有SE的帮助文件和Tcl的帮助文件,是学用ModelSim很好的帮手。
ldyhJN fL3F0
第三章    ModelSim的简要使用方法
n!_PV(Z8x0
在这一章里通过一些课程来简单介绍ModelSim的使用方法,更多的需要在实际应用中熟练和掌握。EDA中国门户网站Q)KdKX4\B4I2N2y
第一课   Create a Project
L/W@Y1`o01
    第一次打开ModelSim会出现Welcome to ModelSim对话框,选取Create a Project,或者选取File\New\Project,然后会打开Create Project对话框。
EDA中国门户网站*]+TRK:I J3t
2
    Create Project对话框中,填写test作为Project Name;选取路径Project Location作为Project文件的存储目录;保留Default Library Name设置为work
r| j#R o$\Zr03
    选取OK,会看到工作区出现Project and Library Tab
3K jL@n+|*fT/~04
    下一步是添加包含设计单元的文件,在工作区的Project page中,点击鼠标右键,选取Add File to Project
+Df4Li)F#bW,gx @05
    在这次练习中我们加两个文件,点击Add File to Project对话框中的Browse按钮,打开ModelSim安装路径中的example目录,选取counter.vtcounter.v,再选取Reference from current location,然后点击OKEDA中国门户网站PN+Bp-G|1h%n6f_
6
    在工作区的Project page中,单击右键,选取Compile AllEDA中国门户网站6fu,qx1a] cz
7
    两个文件编译了,鼠标点击Library Tab栏,将会看到两个编译了的设计单元列了出来。看不到就要把Library的工作域设为workEDA中国门户网站7G@&e WIV4l
8
    最后一不是导入一个设计单元,双击Library Tab中的counter,将会出现Sim Tab,其中显示了counter设计单元的结构。也可以Design\Load design来导入设计。EDA中国门户网站;PE.G1l]
到这一步通常就开始运行仿真和分析,以及调试设计,不过这些工作在以后的课程中来完成。结束仿真选取Design \ End Simulation,结束Project选取File \ Close \ Project
'W:p\'g,q5[,s0
第二课   Basic VHDL Simulation
;F e9Tt H deaw_0
准备仿真

/Hz6u/Ec!Zr01
    为这次练习新建一个目录,然后拷贝example目录中所有的vhd文件到该目录下。设置该目录为当前工作目录,这一步通过从该目录调用ModelSim或是选取File\Change Directory命令来完成。EDA中国门户网站&v3b%E Y c,NF
2
    在编译任何HDL代码前,要建立一个设计库来存放编译结果。选取Design \ Create a New Library生成一个新的设计库。确定选取Create: a new library and a logical mapping to it,在Library Name域中键入work,然后选取OK。这就在当前目录中建立了一个子目录,即你的设计库。ModelSim在这个目录中保存了名为_info的特殊文件。EDA中国门户网站yc S%Q+A]6F{K
( Prompt : vlib work
%`(w*Iw4f#p0vmap work work )
l0Q)q"pzB%t03
    选取工具栏里的Compile命令来编译counter.vhd文件到新库中。这将打开Compile HDL Source Files对话框。使用vcom命令是看不到的。从列表中选取counter.vhd再点击Compile,完成后选取Done。可以编译多个文件,按照设计的需要依次选取进行编译。EDA中国门户网站&XdJ6XTI
( Prompt : vcom counter.vhd )
xj)O"u.r04
    选取工具栏里的Load design按钮,导入设计单元。Load design对话框可以让你选择库和顶级( top-level )设计单元来仿真,你也可以为仿真选取Simulation Resolution限制。这次仿真运行,下述是缺省的显示:
:w8N8}j] c0• Simulator Resolution: default (the default is 1 ns)
:s ] f5T4tc0• Library: work
"U e]0fZz0• Design Unit: counter
"S8YRT _b0   
如果设计单元是一个实体,你可以点击前面的加号,来浏览其关联的结构。EDA中国门户网站(FN3J9U iM8mgU
   ( Prompt : vsim counter )
g5V7iV#Op(m6P0B05
    选取counter,然后选择Load接受设置。EDA中国门户网站#J Ui;s&q)O.Hk
6
    下面,选取View \ All打开所有的窗口,关于窗口的描述,参阅ModelSim User’s ManualEDA中国门户网站kUpW^%Z
( Prompt : view * )
L.{!Ijq vx(_u\07
    Signals window选取View\List\Signals in Region,这个命令显示List window中的顶级( top-level )信号。EDA中国门户网站-S0v*c Lb\'g
   ( Prompt : add list /counter/* )EDA中国门户网站/}$ZbN?A.?8H
8
    下步,通过从Signals window选取View\Wave\Signals in Region添加顶级( top-level )信号到Wave window
s1T4I7`3zu*l"H0   ( Prompt : add wave /counter/* )
y f:{k+z;K7J }fA0
运行仿真EDA中国门户网站&Gv(fC&y6` ^
通过应用始终输入激励来开始仿真。EDA中国门户网站 fI(vMs1~n~
1
    点击主窗口,在vsim提示符下敲如下面的命令:EDA中国门户网站Y A5f(j}B9\ d
   ( force clk 1 50 , 0 100 –repeat 100 )
jSMMf!RW;VR;N0   ( MENU : Signals\Edit\Clock )
J(e'C6i[vg'Gh!T!eeN0   ModelSim
解释force命令如下:EDA中国门户网站u#{|!M2zH(V
    force clk to the
n value 1 at 50 ns after the current time
!oS3j:MR'H4}0    then to 0 at 100 ns after the
n
current time
R~j.g1},K0    repeat this cycle every 100 ns
n
EDA中国门户网站'V8]"E"uFX0B'q gt6|6B
2
    现在你可以练习来自于主窗口或波形窗口工具条按钮的两个不同的Run功能。(Run功能在主窗口和波形窗口中定义,即这两个窗口中有Run功能)。首先选取Run按钮,运行完成之后选取Run All
6e"S m BB0D P,|'CI3A0Run.  
运行仿真,在100ns后停止。
c6y$B!H+l,J0(PROMPT: run 100) (MENU: Run \ Run 100ns)
"{O"yx.ld'\F0Run-All.  
一直运行仿真,直到选取BreakEDA中国门户网站y9[U.k&r${1F qP
(PROMPT: run -all) (MENU: Run \ Run -All)EDA中国门户网站4I iN/S/fdq3Rt l*O
3
    选取主窗口或波形窗口的Break按钮来中断仿真,一旦仿真到达一个可接受的停止点,它就停止运行。EDA中国门户网站YWm3Y3K,T0|:X^
在源文件窗口中的箭头指向下一条将被执行的语句。(如果暂停发生时,仿真没在评测一个过程,则没有箭头显示在源文件窗口上)。
[1aK#o7z0
下面,你将在18行的函数内部设置一个断点。EDA中国门户网站h5LD w }/_r
4
    移动鼠标到源文件窗口,在18行上点击设置断点,可以看到紧挨着行号有一个红点,可以用鼠标点击切换断点的使能与否,断点禁止后看到是一个小的红色的园环。可以在断点上点击鼠标右键,选取Remove BreakPoint 18来取消断点。EDA中国门户网站K)O-T%On!H"N
( PROMPT : bp counter.vhd 18 )
.~a;lMN0W8P Tt:w05
    选取Continue Run按钮恢复中断了的运行,ModelSim会碰上断点,通过源文件中的一个箭头或是在主窗口中的一条中断信息来显示出来。
N)d4ieC0   (PROMPT: run -continue) (MENU: Run \ Continue)
5Z4Mu qse$P%`?06
    点击Step按钮可以单步执行仿真,注意Variables window中值的变化。如果你愿意可以持续点击StepEDA中国门户网站5_'Tl9rG/[*x.S4e
   (PROMPT: run -step) (MENU: Step)
]S] i K/n8[#pff07
    当你完成了,敲入以下命令结束仿真。
@ c?M.qX0quit -force
)wI?,xm9Pp0bj%~"T08
    命令没有寻求确认就结束了ModelSim
F"F0Z0O1Mx8{4P%e0
第三课   Basic verilog SimulationEDA中国门户网站uKS:n(d;N@"A
1
    新建一个目录,并设置该目录为当前工作目录,通过从该目录调用ModelSim或是选取File\Change Directory命令来完成。
EDA中国门户网站}*D1HfV!lGz0o
2
    拷贝example目录中verilog文件到当前目录下。在你编译verilog文件前,你需要在新目录下生成一个设计库。如果你仅仅熟悉解释性verilog

TAG: 怀念哈尔滨

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 8033
  • 日志数: 38
  • 文件数: 1
  • 建立时间: 2006-07-03
  • 更新时间: 2008-10-30

RSS订阅