Modelsim简单教程._第1页
Modelsim简单教程._第2页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可看到vlibworkvmapworkwork)。Modelsim入门技术文档单位:深圳大学EDA中心实验室指导老师:徐渊作者:陈战夫rshamozhihu时间:2010-1-7说明:本文档作为EDA中心研究生modelsim入门用。分三个章节阐述。1.modelsim中库的编译1. 自己新建一个文件夹,如D:modelsimprocounter,将counter.v与counter_tb.v文件拷贝到该文件夹下。2. 点击modelsim的图标,打开modelsim的界面窗口。3. 选择File>ChangeDirectory,选择步骤1中的目录,点击OK。两栏中均填work.点击0K

2、。(在transcript窗口中6.选择Compile>Compile,出现如下窗口。同时选中counter.v与counter_tb.v两个文件。下。9.双击counter_tb.v可将该设计装载到本次工程库中。JillLibrary冒或i言FilesniTranscriptttModelTechnologyModelSimSEvlog6.0Compiler2004.08Aug192004#-CompilingmodulecounterttToplevelitodules:ttcounterModelsim>vsimwork.counterttvsimwork.counter_t

3、bitLuddinqwork.counter_tbttLoadingwork,counter_tb10. 选择View>DebugWindows>wave将弹出波形窗口。11. 在workspace窗口下点击sim标签。12. 右击counter_tb.v,在出现的菜单中选择Add>AddtoWava13. 在transcript窗口中VSIM>后敲入run1000.则系统将仿真1000ns.我们可根据波形查看仿真结果。14. 在workspace窗口中点击files标签,鼠标左键双击counter.v,打开counter.v文件。15. 在第10行数字10旁鼠标左键点

4、击一下,可出现一小红点,即断点。(再次右击断点处在出现的菜单下选择removebreakpoint即可取消该断点的设置)。園counter,v:12inodulecuunter(clkreset_n,duut);input-elk;inputre5et_n;outpu匸7:口clunt.;reg7:clout.;always(pusedgeelkornegedgereset_n)beginif(-reset_n)begindout<=0;end13 elsebegin14 dout<=duut+1;16在transcript窗口中敲restart,点击restart.系统将重新仿真

5、。1AArid17.在在transcript窗口中敲run1000,可查看结果。程序将在第10行处停下来。出现如下所示。可实现单步调试。19,重新设置断点,仿真,配合单步调试,直到达到自己想要的调试和仿真结果。2.modelsim中工程的编译1. 自己新建一个文件夹,如D:modelsimprocounterl,将counter.v与counter_tb.v文件拷贝到该文件夹下。2. 点击modelsim的图标,打开modelsim的界面窗口。3. 选择File>ChangeDirectory,选择步骤1中的目录。4选择File>New>Project。5.在projectn

6、ame中填test,DefaultLibraryName中填work.点击OK。6在出现的新窗口中点击AddExistingFile.7.点击browse,选择D:modelsimprocounter1counter.v和D:modelsimprocounter1counter_tb.v.点击OK,点击close.8.在workspace窗口中点击project标签,在任意空白处右击选择Compile>CompileAll。9.点击library中work旁的“+“符号,可看到counter,counter_tb.在transcript窗口中出现如下字样。T3ngript=tt/AllF

7、lightsReserved#/_tt/THISWORKCONTAINSTRADESECRETANDtt/PFIUPFIIETARYINFORMATIONSHICHISTHEPFIUPEFITYtt/OFMENTUFIGRAPHICSCORFUFIATIUNUFlITSLICENSORStt/ANDISSUBJECTTOLICENSETERMS.tt/cdD:/modelsimpro/counterlttLoadingprojecttestttCompileofcaunter_tb.Ywassuccessful.tt匚ompileofcounter.vwassuccessful.tt2comp

8、iles,0failedwithnoerrors.10.双击couter_tb.v进行工程的加载,出现窗口如下。11. 选择View>DebugWindows>wave将弹出波形窗口。12. 右击counter_tb.v,在出现的菜单中选择Add>AddtoWava13. 在transcript窗口中VSIM>后敲入run1000.则系统将仿真1000ns.我们可根据波形查看仿真结果。4/counterjb/cik疋LrLrLrLrLrpirLrLrLrlJirLrLrLrLrLnjirinjirLrLrLriJirLrLrLrJ/couritetb/rasen1J/C

9、oun_tb/dout011W100UJJJJJJJJJJJJJJJJJJJJJJJJJJJJ:14. 在transcript窗口中敲入quit0m,退出程序的仿真。15. 在workspace窗口中点击project标签,在任意空白处右击选择AddtoProject>Folder.16在FolderName一栏中填入DesignFiles。点击OK。可看到图形如下:Workspace二±1由沟Name|StatujTypeOrdeModified閃:caunter_tb.'#Verilog012/09/090员|counter.vVerilog112/09/090_J

10、De.signFilsFolder16. 在project标签中任意空白处再次右击选择AddtoProject>Folder.17. 在FoldName中敲入HDL,在FolderLocation一栏中选择DesignFiles。点击OK。AddFolder|X|18.点击DesignFiles左边的“+“号,可看到文件夹HDL在文件夹DesignFiles.19. 同时选中counter.v与counter_tb.v,右击选择Properties.20. 在PlaceInFolder中选择HDL,再点击OK,则counter.v与counter_tb.v两个文件都移到了文件夹HDL中。

11、21. 在project标签中任意空白处右击选择AddtoProject>SimulationConfiguration.22. SimulationConfigurationName敲入counter,在PlaceinFolder一栏中选择HDL。23. 在Resolution选择ps。24. 点击verilog,选择EnableHazardChecking.再点击OK。25. 双击counterSimulationConfiguration,在transcript窗口中可看至UT旧riEuript'VSIM5>quit-simvsim-hazards-tpsworkic

12、punter_tbttysim-hazards-tpswork.counter_tbttLoadingwork.counter_tbttLoadingwork.countervsitn-hazards-tpswork.counter_tb# vsim-hazards.<-tpswork.counter_tb# Loadingwork.c:punter_tbttLoadingwork.counter26重复本章节中11步到13步骤。26. 在transcript窗口中敲入quit-im,退出程序的仿真,敲入quit退出modelsim程序。3.modelsim的自动编译和仿真1.DO文件1

13、. 自己新建一个文件夹,如D:modelsimprocounter2,将counter.v与counter_tb.v文件拷贝到该文件夹下。2. 点击modelsim的图标,打开modelsim的界面窗口。3. 选择File>ChangeDirectory,选择步骤1中的目录。4 选择File>New>Library。5 在libraryname与libraryphysicalname两栏中均填work.点击OK。(在transcript窗口中可看到vlibworkvmapworkwork)。6.选择Compile>Compile,出现如下窗口。同时选中counter.v

14、与counter_tb.v两个文件。4. 选择File>New>Source>Do,创建一个DO文件。在窗口中敲入以下命令行:addwavecountaddwaveclkaddwaveresetforce-freezeclk00,150ns-r100forcereset1run100forcereset0run300forcereset1run400forcereset0run2004. 选择File>SaveAs文件名命名为sim.do,保存到步骤1中的目录。5. 双击counter_tb.v,进行文件的装载。6. 在在transcript窗口中敲入dosim.do,

15、我们便可看到仿真结果。7. 选择File>Quit,退出modelsim.2. 脚本文件1.自己新建一个文件夹,如D:modelsimprocounter3,将counter.v与counter_tb.v以及stim.do文件拷贝到该文件夹下。2在电脑桌面选择开始所有程序附件命令提示符,进入DOS命令窗口。3. 分别先后敲入命令d:回车,cdmodelsimpro回车cdcounter3,回车,进入步骤1中的目录。4 敲入vlibwork。5 再敲入vmapworkwork.6再敲入vlogcounter.v,对文件counter.v进行编译。D:deIsimproXcounter3&g

16、t;ulogcounter.uModelTechnologyModeISimSEulog6.0Compiler2004.08fiug192004i-一CompilingmodulecounterTopleue1modules:counter7打开一个文本编辑器(UE或记事本),在里面敲入以下命令:#listallsignalsindecimalformataddlist-decimal*#readinstimulusdostim.do#outputresultswritelistcounter.lst#quitthesimulationquit-f8保存到步骤1中的目录下,文件名命名为sim.

17、do.9在DOS命令窗口中敲以下命令:vsim-c-dosim.docounter-wlfcounter.wlfitusin-dosim.do-c-wlfcounter,ulfcounteritLoadingwork.counteritdosin.doitResetOK;COUNTis迥国回国回国迥国.itTestpassed.COUNTis011010.10.打开counter.lst,便可看到以下结果。ns/counter/clkdelta/counter/dout/counter/reset_n0+0z0x0+1z0050+0-100100+0000100+10*0150+0-1*120

18、0+00*1250+0-1*2300+00*2350+0-1*3400+00*3450+0-1*4500+00*4550+0-1*5600+00*5650+0-1*611.在DOS命令窗口中再敲入命令vsim-viewcounter.wlf。:XnodeIsimprocounter3>usim-ulewcounter.wlfheadingE:/Modeltech_6.0tc1/usim/pref.tc112.右击counter,选择Add>AddtoWave便可看波形窗口中看到仿真波形。13.选择选择File>Quit,退出modelsim.2.TCL语言1. 自己新建一个文

19、件夹,如D:modelsimprocounter4,将counter.v与counter_tb.v文件拷贝到该文件夹下。2. 新打开一个编辑器,在里面敲入以下字符:procadd_wave_zoomstimenumecho"Bookmarkingwave$num"bookmarkaddwave"bk$num""expr$stime-50expr$stime+100"0addbutton"$num"listbookmarkgotowavebk$numaddwave-r/*whenclk'eventandclk="1"echo"Countisex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论