BUAA_CO_2021 北航2021届计算机组成原理课程P0-P7课程源码,仅供学习参考,否则后果自负(计组的查重非常严格) Pre 前六周的内容,熟悉一下logisim、verilog、Mars的基本操作,对这门课程有一个初步的认识,是很重要的(老师每年都这么说) 就我学习的情况来说吧,前六周还是要好好学的,但是千万不要为了完成而去盲目地刷进度,还是学懂最重要,尤其是状态机(FSM)之类的 还有就是给大家排个雷,ISE目前好像不兼容win11,所以win11用户尽早做好返回win10或使用课程虚拟机的准备,否则你真的会被ISE的各种问题给整崩溃了(跟win10也有兼容问题,但教程中或网上一般会有解决方案) P0 搭建CRC校验码计算电路,ALU,GRF,正则表达式匹配,FSM设计 内容还算简单,毕竟是一开始,但一定要重点理解Moore型和Mealy型状态机的区别,以及异步复位跟同步复位 P1 实现splitter,ALU,EXT,格雷码计数器,合法表达式识别,FSM设计 大致内容与P0差不多,不过就是用Verilog实现了,这里需要注意一下verilog不同的语句块之间是并行的,所以无需管顺序之类的问题 还有就是for循环,for循环语句块一定要放在always@ * begin ... end这里,不然P1你会死的很惨 P2 矩阵乘法、排序、回文串判断、汇编程序的编写 这里需要注意的就是递归程序的编写以及一些写mips代码的约定 尽量形成一个好的代码规范 用好.macro,即宏定义,可以用得非常花里胡哨 还有就是高老板的mips精简指令集里的指令或许有些少,有一些非常好用的伪指令都没有给出,比如大于等于跳转、小于等于跳转等等,多看看Mars的帮助文档 P3 Logisim开发单周期CPU