2025-11-20
- 一生一芯
- 29天前
- 34热度
- 0评论
终于又重新开始回到YSYX上了,中间回了一趟老家,再加上人又有点错乱,耽误了一段时间。
在阅读了AXI文档的一部分之后开始将npc改造成axi-lite接口。之前的修改其实都是生搬硬套,所以我重新组织了npc的结构。现在的npc分为3级:取指,译码执行,写回。这三部分通过valid-ready握手,取指部分通过axi-lite从外部的rom读取指令,当复位释放或者执行和写回部分ready后,取指部分发起一次读请求到rom,读到指令后取指部分的valid有效,译码执行单元开始执行,如果涉及到存储器读写则还需要写回部分发起读写请求到外部ram,和ram之间也是axi-lite接口,待读写请求完成后通过ready告知取指单元继续取指,直到程序完全执行结束。
看起来有点那味了,借助difftest,调试的过程也比较顺利,没有卡住,cpu_test里的测试case也都通过了

图片说明文字