Skip to content

patrick1129star/cpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hitsz_cpu

1.单周期cpu实现了35条指令 2.流水线实现了21条指令

请对verilog自认为不太熟,对cpu信号不太熟的同学,极限赶ddl的时候至少留3天

尽量早交,越早交问的问题越少越好过

关于verilog不要相信gpt的回答,建议问claude3.7,幻觉会好一点

一定要学会仿真,看波形图。如果有问题你需要向ai描述你的波形现象来让他改,而不是把图扔给他(亲测ai看不懂)

温馨提示:数据通路图要画4h(仅针对单周期cpu,流水线我没画),所以请留足时间

记住模块化编程,各个模块和功能一定要拆开写文件,不然后期debug非常痛苦

大部分时候cpu内部的(单周期和流水线)的代码都差不多,基本只有外设有区别,但是要注意这个和数据通路是配套的

有的班级要求完成理想流水线,有的只要求单周期,这个全看抽签运气

关于单周期上板:

绝大多数人应该一开始都是fff或者是000,如果你的trace过了,请相信你cpu内部可以正常跑,如果你仿真过了,说明你的汇编也写对了,那就要看你计数器连上没有,随机数能不能跳之类的这部分,一定注意同步异步问题

关于流水线trace:

这个里面可能会有几个信号和你手上的板子不一样,有的人说rstn有效,有的人是rst有效,这个需要根据板子和指导书来改,流水线的trace如果直接运行不对请排查下这部分原因

关于流水线上板:

我没写上板,而且我确定这个代码上板一定不对

在这里非常感谢github上关于cpu的所有学长学姐留下来的代码

这是大部分人最后一次写verilog了,祝大家好运!

ps:如果我的代码你运行有问题or没看懂,请粘贴给claude3.7(问我我大概已经看不懂了,也早忘完了)

About

1.单周期cpu实现了35条指令2.流水线实现了21条指令

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors