Verilog流水线CPU设计(超详细)_Ace Cheney的博客-CSDN博客_流水线cpu
主要流程
Verilog单周期CPU设计(超详细)_Ace Cheney的博客-CSDN博客
单周期CPU设计做参考
3.1 数据通路 (1) IF级:取指令部分。 包括指令储存器和PC寄存器及其更新模块,负责根据PC寄存器的值从指令存储器中取出指令编码和对PC的值进行更新。 (2) ID级:指令译码部分。 根据读取的指令编码形成控制信号和读寄存器堆输出的寄存器的值。 流水线冒险检测也在该级进行,冒险检测电路需要上一条指令的MemRead,即在检测到冒险条件成立时,冒险检测电路产生stall信号清空ID/EX寄存器,插入一个流水线气泡。 (3) EX级:执行部分。 根据指令的编码进行算数或者逻辑运算或者计算条件分支指令的跳转目标地址。 此外LW、SW指令所用的RAM访问地址也是在本级上实现。控制信号有ALUCode、ALUSrcA、ALUScrB和RegDst,根据这些信号确定ALU操作、选择两个ALU操作数A、B,并确定目标寄存器。另外,数据转发也在该级完成。数据转发控制电路产生ForwardA和ForwardB两组控制信号。 (4) MEM级:存储器访问部分。 只有在执行LW、SW指令时才对存储器进行读写,对其他指令只起到一个周期的作用。该级只需存储器写操作允许信号MemWrite。 (5) WB级:寄存器堆写回部分。 该级把指令执行的结果回写到寄存器文件中。 该级设置信号MemtoReg和寄存器写操作允许信号RegWrite,其中MemtoReg决定写入寄存器的数据来自于MEM级上的缓冲值或来自于MEM级上的存储器。
流水线问题--计算机体系结构_逆袭的小羊的博客-CSDN博客
流水线问题

单周期框图