MIPS架构下的五级流水线详细编写

· · 个人记录

五级流水线的编写本质上就是翻译一下这一张图,本文用于将代码分块,帮助大家在逐步理解代码的前提下,学会五级流水线的编写。

本文将以一个模块一个文件的方式进行。在前期我们会忽略冲突单元和控制单元对模块的影响,主体围绕图中的实线进行。

(1)2:1复用器(mux1.sv)

module mux1(
    input logic[31:0] PCBranchD,PCPlus4F,
    input logic PCSrcD,
    output logic[31:0] PC1
);
always_comb begin
    if(PCSrcD) assign PC1=PCBranchD;
    else assign PC1=PCPlus4F;
end
endmodule

(2)触发器