在流水线CPU的实验过程中,发现有以下注意的地方:
1.PC寄存器和IF/ID寄存器需连接stall输入信号。
2.IF/ID寄存器和ID/EX寄存器需连接condep输入信号。
3.寄存器堆在时钟周期下降沿写入。可以添加一个非门来实现。
4.所有跳转类指令在EX级接回到PC寄存器的输入端口。
5.测试代码应当Clk和Clrn注意时间,否则结果会出现问题.代码如下:
module CPU_test;
reg Clk,En,Clrn;
wire[31:0] IF_ADDR,EX_R,EX_X,EX_Y;
CPU u(Clk,En,Clrn,IF_ADDR,EX_X,EX_Y,EX_R);
initial begin
流水线 CPU 的设计与实验
计算机科学与工程学院 43
Clk=0;
Clrn=0;
En=1;
#10
Clrn<=1;
end
always #5 Clk=~Clk;
endmodule