modelsim问题:在rom里直接把程序写进去了
时间:10-02
整理:3721RD
点击:
仿真一个单片机ip核,接上rom。当在testbench里用 readmemh指令将存放在txt文档里的汇编语言(02 00 70 00。)读入rom后,都是正常的。
因为要流片,所以要把这个汇编程序写到rom里并能综合,所以采用了以下办法:
当在rom里手工的把寄存器单元的地址和对应数据写入后(即memory[00000000]=8'h02; memory[00000001]=8'h00; memory[00000010]=8'h70; memory[00000011]=8'h00; 仿真出现问题:

也就是说,前面两个数据都读出来了;但是到了第三个数据,单片机给出了正确的地址0002(16进制),却读不出来8’h70 这个数据了。求指导。
因为要流片,所以要把这个汇编程序写到rom里并能综合,所以采用了以下办法:
当在rom里手工的把寄存器单元的地址和对应数据写入后(即memory[00000000]=8'h02; memory[00000001]=8'h00; memory[00000010]=8'h70; memory[00000011]=8'h00; 仿真出现问题:

也就是说,前面两个数据都读出来了;但是到了第三个数据,单片机给出了正确的地址0002(16进制),却读不出来8’h70 这个数据了。求指导。
你给出的是接口信号,继续往下查就知道了。比如把memory也放在波形中看看。
综合之后,时序不满足,应该还有相应的warning的,你可以看看!
修改修改激励延时时间,试试吧
谢谢!我查出来原因了,把memory[00000000]改为memory[0],把memory[00000010]改为memory[2]就好了,也就是说,写memory得时候直接用10进制~
谢谢!
