modelsim的详细使用方法和容易出现的问题!(适用初学者) |
您所在的位置:网站首页 › modelsim使用步骤 › modelsim的详细使用方法和容易出现的问题!(适用初学者) |
一、建立文件夹 先在电脑建立一个文件夹,目的是把接下来的各种操作产生的文件都存到这个文件夹里。比如我在D盘创建一个名字叫project_mux的文件夹。取名不要带中文。 二、 双击打开modelsim,有弹窗则关掉。然后 File→Change Directory 弹出的窗口选择刚才建立的文件夹,点击确认。做完这一步,我们的modelsim就如图三所示。 三、建立库(library) 接下来,建立仿真库。编写verilog代码后,modelsim会把代码映射到实际的电路模型。而仿真库里面,有实际的电路模型。所以我们要添加仿真库。 File → Library ,默认的库名叫work , 我们也可以自己取名, 我在此处均默认 操作完后,发现多出了work(empty) 这个就是我们刚刚建立的库,但是此时是empty,表示目前还没有工程用到它,接下来我们建立工程。 四、建立工程(project) File → Project 工程名自己取(我取名mux)意思是多路选择器 五、创建源文件和测试文件 六、开始写代码 双击mux2_1.v 文件,一般会直接弹出代码窗口。但是也有可能弹出记事本窗口,这个时候可以点右上方的open 分两次分别打开mux2_1.v和mux2_1_tb.v文件。然后就可以看到各自的代码窗口了。接着,分别在各自的代码窗口敲代码,源代码和测试代码分别在下方。 源代码 module mux2_1( a, b, sel, out ); input a; input b; input sel; output out; assign out = (sel==1)?a:b; endmodule 测试代码 `timescale 1ns / 1ns module mux2_1_tb(); reg s_a; reg s_b; reg sel; wire out; mux2_1 mux2_1_inst0( .a(s_a), .b(s_b), .sel(sel), .out(out) ); initial begin s_a = 0;s_b=0;sel=0; #200; s_a = 0;s_b=0;sel=1; #200; s_a = 0;s_b=1;sel=0; #200; s_a = 0;s_b=1;sel=1; #200; s_a = 1;s_b=0;sel=0; #200; s_a = 1;s_b=0;sel=1; #200; s_a = 1;s_b=1;sel=0; #200; s_a = 1;s_b=1;sel=1; #200; $stop; end endmodule 写完源代码,一定要 ctrl+s 保存!!! 写完测试代码,也要 ctrl+s 保存!!! 否则,等会儿就算编译通过了,你的库(work)仍然是(empty)!!! 这样就仿真不了了!!! (这里不太知道能不能直接复制代码,我按照上面的代码自己敲进去,编译的时候是没问题的 但是如果复制上面的代码,然后粘贴进modelsim,编译会报错。。。我也不知道为啥) 七、开始编译 在空白处鼠标右键,然后compile → compile all 编译成功的话,mux2_1.v 和 mux2_1_tb.v两个文件的 ”❓“ 会变成 ”✔“ 下方的窗口也会出现successful 八、开始观察仿真波形 点击左下角的library 我们发现,work库不再是empty,而是多出了这两个文件,说明,这两个文件可以调用work仿真库,库里面有实际的电路模型,这样写的源代码才能映射电路,测试代码产生的激励作用电路,才会产生波形,这也就是为什么之前我们要建立仿真库。 接着右击mux2_1_tb.v文件 → simulate 九、仿真波形的设置 可能你在上一步后弹出的界面是这样的,没有wave窗口,又或者没有object窗口,没有precess窗口。这个时候可以在view下拉菜单把它们都点击一下,这样就会出现 勾号 ,然后就会出现相应的窗口了。(如果有勾号,但是没有窗口,那么就点一下取消勾号,接着再点一下,出现勾号,这个时候,就有窗口了) 十、添加object窗口的这几个信号到wave窗口 这个时候,wave窗口还没有波形,因为你还没有把信号添加进去。所以我们要添加信号。 按住ctrl键,然后在object窗口,把这几个信号全点上,按照图片的选项选择,便可发现wave窗口多出了信号。这个时候波形还没出现,因为还没开始跑。所以点”Restart“ →出现的弹窗点ok → ”Run All“ 有可能这个时候,wave窗口会突然没了,不要慌,它只是收起来了,可以自己按照图片点开,这个时候便出现了波形。
十一、保存波形 在wave窗口,按 CTRL + S 则可以自己选择波形保存位置。它默认保存在第一步时电脑建立的文件夹下。 十二、总结 1、建立文件夹 2、把modelsim的所有文件改路径(change Directory),放在第一步的文件夹下。 3、建立库(library),目的是为了让后面的代码有映射的电路。 4、建立工程(project) 5、建立源文件和测试文件(creat new file) 6、往源文件和测试文件写代码,写完一个窗口代码要CTRL+S保存,一定要保存。不然后面modelsim的library里的work库可能为empty。即work库没有源文件和测试文件。 7、编译(compile) 8、进行波形仿真(simulate) 9、在view中调出object、precess、wave窗口 10、从object窗口把信号添加到wave窗口,restart → run all,观察波形是否满足要求 11、保存波形 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |