Modelsim仿真常出现的错误及Fifo和RAM输出出现蓝线和红线
使用环境:
仿真环境: Modelsim 10.5a ;QuartusII 17.1 仿真内容: 由quartusII 17.1生成的fifo和rom,并进行测试。 出现问题: 仿真fifo和rom时候,输出出现高阻
几种常见错误:
Modelsim在仿真过程中会出现很多经常见到的错误;有一些错误是由于源码编写错误,有些是modelsim配置错误;有些会显示蓝线高组态(Hiz);有些会显示红线不定态(XXX);
当出现错误是,需要开发者定位到错误所在位置,一般出现红色错误的地方还需要往上查找错误。 1、Missing instance name in instantiation of ‘xxx’.
? xxx为模块名,这说明你在testbench文件中调用的xxx模块,但是没有给实例名;
? 修改方法: 查看文件为模块【添加实例名】,个人一般使用:XXXX u_XXXX_inst();这种方式定义模块名;
2、near “initial”: syntax error, unexpected initial, expecting ‘;’
在initial模块附近缺少分号" ; ",或者某一行的后面出现了连续的两个;;
例如:
? wire w_border_row_en
或者
? wire w_border_row_en;;
都会出现错误;
3、
# ** Error: (vsim-3053) C:/Users/tlm/Desktop/cnt_8/prj/cnt_tb.v(19): Illegal output or inout port connection for "port 'RST_N'".
#
# Region: /tb_CCD_II/First_PreMask
# Error loading design
指明了tb_CCD_II模块中实例名First_PreMask的信号RST_N没有连接,或者连接错误;
出现红线或者蓝线时:
1,在仿真的时候,要选择需要进行仿真的文件,为应该选择tb_test文件,如选到非tb_test文件则会出现仿真出现蓝线和红线的问题。
2,变量必须初始化;对于输入信号在测试文件(tb)中一定要赋值;输出信号将其复位为一个确定的初始状态
3,变量的位宽必须保持一致;
4,指定timescale问题,不要把“ ` ”(Esc下面的按钮~)和“ ’ ”(双引号按钮“)混肴,会导致timescale定义失败。
`timescale 1ns/1ns
5,仿真Fifo或者RAM时,添加仿真文件,fifo.v和ram.v文件即可,不能同时添加fifo_bb.v和ram_bb.v,否者导致仿真时Fifo读出数据Q出现蓝线;去掉此文件,编译后仿真通过。
|