项目场景:
modelsim仿真(vsim-PLI-3409)
·
问题描述:
在进行modelsim的testbech仿真时,调用 r e a d m e m b ( 用 于 二 进 制 ) 或 者 readmemb(用于二进制)或者 readmemb(用于二进制)或者readmemh(用于16进制)读.mif文件时,( r e a d m e m b 有 关 详 细 用 法 点 击 博 主 h t t p s : / / b l o g . c s d n . n e t / q q 3 3231534 / a r t i c l e / d e t a i l s / 106167484 ) , readmemb有关详细用法点击博主https://blog.csdn.net/qq_33231534/article/details/106167484), readmemb有关详细用法点击博主https://blog.csdn.net/qq33231534/article/details/106167484),display将文件数据打印显示出来时,会提示出现Warning: (vsim-PLI-3409) Illegal binary digit ‘;’ in data on line 1 of file “./ram_16x32_data.mif”. : ./spi_816_tb.v(30)。
原因分析:
可依据提示内容,翻译如下“”vsim-PLI-3409) 文件"./ram_16x32_data.mif "第1行数据中的二进制数字’;'不合法。 : ./spi_816_tb.v(30)”
解决方案:
为了能够将.mif文件中的数据随着for循环依次显示出来,对提示的内容,进行测试,发现并非时二进制数字不合法,而是调用$readmemb时,分号并不能被读取,而导致读取数据时造成读取数据的不完整,解决办法很显然,将二进制后的分号去掉便可,即无提示信息出现。