这几天学习了下modelsim 6.5SE,做些总结以便复习。不一定正确,请浏览者不吝纠正指教。
软件:modelsim 6.5SE
代码来源:王金明:《Verilog HDL程序设计教程》
1、
文件夹Adder4中,adder_tb.v的$monitor($time,,,\+ %d + %b={%b,%d}\没有现象,出现警告:
Warning: (vsim-PLI-3003) E:/modelsim65SE/wangjinming/adder4/adder_tb.v(30): [TOFD] - System task or function '$minitor' is not defined. 2、
调用顶层文件的例化语句出现错误:
adder4 adder(.cout(cout),.sum(sum),.a(ina),.b(inb),.cin(cin));
错误原因:没分清调用和被调用模块的端口放置位置,正确的写法如下: adder4 adder(.cout(cout),.sum(sum),.ina(a),.inb(b),.cin(cin)); 3、
在做counter4的时候,刚开始没信号,如图:
原来以为是source insight的问题,删掉source insight的文件只保留counter4.v和counter4_tb.v之后,仍然是这个问题。经排查是因为在点击start simulation后没有去掉Enable optimization。
改正方法:去点红圈处的钩。或者如下图,右击要仿真的文件,选中Simulaiton without Optimization.
改正之后,Objects中出现了信号:
2011.7.4 4、 发现了 initial
$monitor($time,,,\reset=%d out=%d\ 的作用,仿真运行后,在Transcript中显示: 0 clk=0 reset=0 out= x
# 50 clk=1 reset=0 out= x # 100 clk=0 reset=1 out= x # 150 clk=1 reset=1 out= 0 # 200 clk=0 reset=0 out= 0 # 250 clk=1 reset=0 out= 1 # 300 clk=0 reset=0 out= 1 # 350 clk=1 reset=0 out= 2 # 400 clk=0 reset=0 out= 2 # 450 clk=1 reset=0 out= 3 # 500 clk=0 reset=0 out= 3 5、
在做好一个工程后,想要对另一个文件夹内的文件进行仿真,必须选择Change Directory。可是,选项是暗色的,不能选。我只有关掉modelsim,再打开,才可以选。后来发现,之所以之前不能选是因为还在仿真。只要关掉仿真就可以了。做法如下:选中Simulate->End Simulation。 6、
常用指令总结: vlib work
vmap work work vlog xxx.v vcom xxx.vhd
add wave /name/ * vsim xxxx run xxx ns quit –f 7、
语法错误parameter delay 10; 错因:忘记 = 改为:parameter delay = 10; 语法错误
AOI oi(.A(A),B(B),.C(C),D(D),.F(F)); 错因:忘记 .
改为 AOI oi(.A(A),.B(B),.C(C),.D(D),.F(F)); 8、
做AOI.v,编译后出现错误
** Error: E:/modelsim65SE/wangjinming/AOI/AOI_tb.v(13): (vlog-2110) Illegal reference to net \
错因:原来以为是A = 0; B = 0; C = 0; D = 0;两边没加begin end,加上后编译仍有此错误。后来才发现测试文件的信号定义错误。 源文件端口定义是: input A,B,C,D; output F;
测试文件的信号定义应该是: reg A,B,C,D; wire F;
即:源文件的输入端在测试文件中定义为reg,源文件的输出端在测试文件中定义为wire. 9、
仿真mux4_1时,我用指令vsim mux4_1_tb,现象objects中没有信号,即没有去掉Enable Optimization。不知道怎么用命令进行不加Enable Optimization的操作,暂时还用鼠标点击选项吧。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育modelsim 错误及解决方法 全文阅读和word下载服务。
相关推荐: