modelsim 错误及解决方法 modelsim错误及解决方法 这几天学习了下modelsim6.5se,做些总结以便复习。不一定正确,请浏览者不吝纠正指教。 软件:modelsim6.5se 代码来源:王金明:《veriloghdl程序设计教程》 1、 文件夹adder4中,adder_tb.v的$monitor($time,,,\+%d+%b={%b,%d}\没有现象,出现警告: warning:(vsim-pli-3003)e:/modelsim65se/wangjinming/adder4/adder_tb.v(30):[tofd]-systemtaskorfunction'$minitor'isnotdefined.2、 调用顶层文件的例化语句出现错误: adder4adder(.cout(cout),.sum(sum),.a(ina),.b(inb),.cin(cin)); 错误原因:没分清调用和被调用模块的端口放置位置,正确的写法如下:adder4adder(.cout(cout),.sum(sum),.ina(a),.inb(b),.cin(cin));3、 在搞counter4的时候,刚开始没有信号,例如图: 原来以为是sourceinsight的问题,删掉sourceinsight的文件只保留counter4.v和counter4_tb.v之后,仍然是这个问题。经排查是因为在点击startsimulation后没有去掉enableoptimization。 废止方法:回去点红圈处的钩。或者如下图,右击必须仿真的文件,选上simulaitonwithoutoptimization. 改正之后,objects中出现了信号: 2021.7.44、辨认出了initial $monitor($time,,,\reset=%dout=%d\的作用,仿真运行后,在transcript中显示:0clk=0reset=0out=x #50clk=1reset=0out=x#100clk=0reset=1out=x#150clk=1reset=1out=0#200clk=0reset=0out=0#250clk=1reset=0out=1#300clk=0reset=0out=1#350clk=1reset=0out=2#400clk=0reset=0out=2#450clk=1reset=0out=3#500clk=0reset=0out=35、 在做好一个工程后,想要对另一个文件夹内的文件进行仿真,必须选择changedirectory。可是,选项是暗色的,不能选。我只有关掉modelsim,再打开,才可以选。后来发现,之所以之前不能选是因为还在仿真。只要关掉仿真就可以了。做法如下:选中simulate->endsimulation。6、 常用指令总结:vlibwork addwave/name/*vsimxxxxrunxxxnsquitcf7、 语法错误parameterdelay10;错因:忘掉=改成:parameterdelay=10;语法错误 aoioi(.a(a),b(b),.c(c),d(d),.f(f));错因:忘记. 改成aoioi(.a(a),.b(b),.c(c),.d(d),.f(f));8、 做aoi.v,编译后出现错误 **error:e:/modelsim65se/wangjinming/aoi/aoi_tb.v(13):(vlog-2110)illegalreferencetonet\ 错因:原来以为是a=0;b=0;c=0;d=0;两边没加beginend,加上后编译仍有此错误。后来才发现测试文件的信号定义错误。源文件端口定义是:inputa,b,c,d;outputf; 测试文件的信号定义必须就是:rega,b,c,d;wiref; 即:源文件的输入端在测试文件中定义为reg,源文件的输出端在测试文件中定义为wire.9、 仿真mux4_1时,我用指令vsimmux4_1_tb,现象objects中没信号,即为没换成enableoptimization。不晓得怎么用命令展开不作enableoptimization的操作方式,暂时还用鼠标页面选项吧。 本文来源:https://www.wddqw.com/doc/a14229c3bfeb19e8b8f67c1cfad6195f312be888.html