欢迎来到天天文库
浏览记录
ID:37712746
大小:31.50 KB
页数:4页
时间:2019-05-29
《ModelSim SE 快速入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ModelSimSE快速入门本文以ModelSimSE5.6版本为基础,介绍ModelSimSE的最基本用法,高深的我也不会。 当你安装完ModelSimSE之后,可以将你的ModelSimSE的起始路径设置为你的工作目录(如e:verilog),具体方法是在右键单击执行文件ModelSimSE的图标再点击属性栏,就可以看到ModelSimSE的起始位置,改为你的工作目录就可。 学习verilog语言也必须学习写它的testbench文件,即测试文件。建议从最开始就学习写,写一个程序写一个testbench。ModelSimS
2、E仿真用的文件也就是testbench文件。Testbench文件可以在仿真中发现你的逻辑错误,对于以后作较大的程序更适用。而避免让你在实际调试中的出现很多的问题而无头绪。 好,现在假设你在e:verilog目录下有一个div目录,该目录下有两个文件div.v和tdiv.v为一个分频时序描述文件和它的testbench文件。文件内容如下:e:verilogdivdiv.vmodulediv(clk_i,clk_o,reset);parameterDIV_N=4;inputclk_i;inputreset;outputclk
3、_o;regclk_o;integercount;always@(negedgeresetorposedgeclk_i)begin if(!reset) count<=0; else if(count==3) count<=0; else count<=count+1; endalways@(negedgeresetorposedgeclk_i)begin if(!reset) cl
4、k_o<=0; else begin if(count<=(DIV_N/2-1)) clk_o<=0; else clk_o<=1; end ende:verilogdivtdiv.vmoduletestdiv;regclk_i;regreset;wireclk_o;always#50clk_i=~clk_i;initialbegin #0 reset=0;clk_i=0; #100 reset=1; #
5、2000$stop; enddivdiv1(.clk_i(clk_i),.clk_o(clk_o),.reset(reset));endmodule下面是我们的仿真步骤:启动ModelSimSE,首先看到在在ModelSimSE右边的窗口有ModelSim>这样的提示符。在提示符后,顺序运行以下命令: vlibwork 该命令的作用是在该目录下建立一个work目录,请注意不要用操作系统来新建一个work的文件夹,因为用操作系统建立的work文件夹并没有ModelSimSE自动生成的_info文件。 vmapworkw
6、ork 该命令的作用是将目前的逻辑工作库work和实际工作库work映射对应。 vlogdiv.v tdiv.v 该命令的作用是编译这些文件,要注意的是文件可以单独分开编译,但是一定要先编译被调用的文件。假如是VHDL文件就可以用vcomfile1,file2命令来编译。 vsimtestdiv 仿真命令,注意后面的参数必须为tdiv.v中的模块名。 addwave/testdiv/*该命令的作用是将testbench文件tdiv.v中模块testdiv下所有的信号变量加到波形文件中去。这时候你也可以看到wave文件被打
7、开。 run2000 该命令的作用是运行2000个单位时间的仿真。也可以用run–all命令来一直仿真下去。 这时候就可以在wave窗口文件中看到你的仿真结果。 当然也可以观察其它窗口的结果,用view命令显示 view*观察包括signals、wave、dataflow等窗口文件。也可以分别打开。例如用viewsignals来观察信号变量。 ModelSim5.6还有一个很好用的功能。就是可以看整个文件所形成的数据流程,各个模块之间的逻辑联系。具体方法是在仿真后执行命令 viewdatalflow就可以打
8、开dataflow文件,在dataflow的窗口菜单中点击navigate(导航)中的viewallnets就可以观察到各个模块之间的逻辑联系,模块一般都为initial模块、always模块、assign
此文档下载收益归作者所有