如果顶级测试平台包含任何其他信号的初始化,则readmemh函数可能无法在仿真期间正确初始化基于altsyncram的内存。
由于ModelSim仿真器调度信号初始化的方式,会出现问题。
当没有额外的信号初始化时,ModelSim仿真器的时间表如下:
1)内部存储器复位序列。
2)从testbench执行
当测试平台中存在任何其他初始化时,ModelSim仿真器将按如下方式安排:
1)从testbench执行
2)内部存储器复位序列。
该序列导致在应用函数之后存储器内容被重置,导致内容被全部读出。
解决/修复方法
要确保在存储器复位阶段之后应用该功能,您应该延迟如下所示:
初始#1(<文件名>,<内存路径>);
没有回复内容