单周期CPU设计(一)
单周期CPU设计(一)
设计过程分两步,首先,根据所设计的所有汇编指令的功能及指令格式,完成CPU的数据通路设计;其次,根据指令功能和数据通路设计控制部件。
数据通路的一般设计方法:
1.根据指令的功能,确定每条指令在执行过程中所需要的部件。
2.所用的部件用表格列出,并在表格中填入每个部件的输入来源。
3.根据表格所涉及的部件及部件的输入来源,画出每条指令的数据通路。
4.将所有指令数据通路汇总成一个总的数据通路。
以下仅描述ADDU.SUBU.ORI.SLL.LW.SW.BEQ.J八条指令的CPU设计
下图实现了8条指令的完整的数据通路。
控制部件设计步骤:
1.根据每条指令功能,在已形成的数据通路下,画出每条指令从取值到执行过程的指令流程图。
2.根据指令流程图,编排指令取指到执行的操作时间表。
3.根据指令操作时间表,写出每个信号的逻辑表达式。
4.根据逻辑表达式,用门电路实现,完成控制部件设计。
以下是八条指令控制信号表:
以下是单周期CPU设计8条指令的操作时间表:
以下是8条指令的CPU逻辑结构:
目前仅完成了控制信号、pc、npc的行为级建模,用verilog实现,在vivado实验平台。
以后代码调试好了再考虑上传。