问题描述:
在通过Modelsim进行仿真时,发现readmemh函数读取不了文件。
问题语句为:
$readmemh("../x.hex",memx);
$readmemh("../y.hex",memy);
$readmemh("../z.hex",memz);
仿真结果:
仿真波形中memx、memy、memz均读取不了对应文本中的数据;
原因回溯:
1.右击红色框标注的Project窗口;
2.点击红色框标注的copy label;
发现Project所在路径如下:
Project -C:/Users/lenovo/Desktop/Modelsim/tutorial1_test/t11
而对应的数据文件路径为:
C:/Users/lenovo/Desktop/Modelsim/tutorial1_test/x.hex
解决方案:
目前有两种修改方法
- 直接标注绝对路径
$readmemh("C:/Users/lenovo/Desktop/Modelsim/tutorial1_test/x.hex",memx);
- 建立新的Project时其位置在对应数据文件的上一级文件夹,则新建的Project所在路径如下:
Project -C:/Users/lenovo/Desktop/Modelsim/t11
本程序实现的是定点加法的功能,即
z = x + y
从上述结果也可检验。
%本文是在使用Modelsim仿真时出现的问题记录,如有其他方法或原理讲解,欢迎在评论区留言,如有错误,敬请批评指正,写于2023.10.11日。