Xilinx ISE 14.7多时钟周期CPU调试记录

本文记录了在Xilinx ISE 14.7中使用多时钟周期CPU(MCPU)进行调试的过程。在实验中遇到了MIO_ready信号遗漏、数据停留在第一条指令、IP核配置问题以及分支指令不执行等问题。通过检查接口连接、确认数据通路和控制逻辑的正确性,最终发现并修复了ALU的溢出接口遗漏及Data_out连接错误,成功解决了问题。
摘要由CSDN通过智能技术生成

实验九,还比较简单。在实验8的基础上,把顶层逻辑图中的SCPU(单时钟周期CPU)换成MCPU即可。这个MCPU部件,是要用HDL写个调用文档,里面加入两个.ngc,也就是数据通路和控制逻辑。

但是换图的时候还是粗心了,有个MIO_ready信号没有置1,结果也debug了好几次。这个时候的实验板上,所有数据都停在第一条PC(mem.coe里的第一个mips指令)。所以就是PC+4不会工作,整个CPU没有被“启动”,所以还算错误比较明显。

但是改了以后CPU一直显示跑在40-43这4条指令上。最开始的时候以为是自己某条语句处理得不对。但是觉得不太可能,都是他封装好了ngc给我的。不会有里面的错。只好检查接口的连接。也找不到错。最后又翻试验资料,在后面的实验十里面发现又一个coe,换到RAM_B里面,就正常显示跑马灯和矩形了。这个也大概坑了我一周。

顺带,以前双击ipcore的时候老是要重新配置,那些位宽什么的全都重置了。但有的时候,这些信息又可以保存。也是在这次调试的时候发现,提示的错误信息是找不到对应的coe文件。我仔细核对了一下路径,发现多了一个父文件夹。分析以后知道了,是因为我每次离开东四的时候,把整个工程文件夹压缩,然后上传;下次再来的时候,下载,再解压,会在外层多套一个文件夹,所以路径没有得到更新,ipcore就找不到文件了。简直蠢萌。

实验十也是坑。是HDL写数据通路模块。第一次试的时候,两个sw,4个组合,PC都一样,而且总顺序执行。好像是36-49?这个也比较明显了,就是branch语句都不执行了。所以去检查branch、pcwrite、pcwrite

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值