1、modelsim经常遇到数据位宽不相等的情况,这样往往仿真时是不会出数据的,如果用parameter定义了数据的位宽,
要注意实际的位宽数大于parameter定义参数能表示的位宽时,如:
parameter WIDTH = 5'd46,要注意5位的数据宽度最大能表示的数是31,46已经溢出。
2、# ** Warning: (vsim-3015) F:/Company_Prj/Date201409/LowCost/ICS_MyPrj/Src/aic_fir_2ch_64x.v(182): [PCDPC] - Port size (48 or 48) does not match connection size (32) for port 'shiftin'. The port definition is at: F:/Company_Prj/Date201409/LowCost/ICS_MyPrj/Quartusii14.0/Core/y_shift_ip.v(42).
在aic_fir_2ch_64x.v文件中例化了一个IP核--y_shift_ip,但在例化过程中出现了位宽不相等的现象。如上行给出的警告:这句话是说我们生成的IP核是48位的,但是在例化过程中却是用32位来例化的。
3、Modelsim仿真时位宽不一致可能的原因:经过一番查找,发现在TCL中没有添加一些IP的文件,所以IP的设置更新后,库并不会相应的更新,而这个库又是以前生成的。
4、modelsim中经常会出现高阻,解决这种问题最笨的办法就是把所有的数据都拉出来,看下是那个数据最开始出现高阻状态,也可能是某些总线的某些位没有数据,这也是解决位宽不相等问题的一个好办法。