花了将近很长很长时间(两个下午)用来RTL仿真波形,但想要的按地址取指令的波形一直没有出来!调试的文件主要是:仿真文件。 PC模块文件其实一直都没有错误,但我却一直以为是PC模块出现错误!
真的!刚看到这个图形我几乎是奔溃的!!!!
也就自然而然地往PC模块去修改错误了,但事实(花费了大量的时间和误打误撞)告诉我这个方向去想是错误的!
接下来我们直接对仿真文件进行修改!在这里就不动PC模块了(因为它一直没有错,之前只是误会)。
可以发现:我们仅仅添加了一行代码“ #195 sys_rst_n= 1’b0; ”,结果波形明显好了许多!
最终代码修改:将sys_rst_n赋为1(正式启动)的时间延长到 100ns。并取消 195ns时的复位,以便于观察取指的波形。
同时,我们可以发现:initial块中未赋值的后32位ROM中的数据(也就是inst_o输出的指令)处于未知态!