1、五级流水线cpu设计中,仿真结果均正确,使用时钟上升沿变化得不到正确的板上运行结果,而使用时钟下降沿变化可以得到正确运行结果的原因。
2、5.10.5和5.10.6
多级页表可以节省存储页表所需的内存总量吗?
3、触发器如何在流水线初始阶段使能信号还是未知时工作?
比如en需要流水线后级的数据参与产生的时候,刚开始流水线后级还没有数据,en为x。
module flopr#(parameter WIDTH=8)(input clk,en,
input [WIDTH-1:0] d,
output reg [WIDTH-1:0] q
);
always @ (posedge clk)
if(en) q<=d;
endmodule
一种方法:使用一个reset初始化,使第一条指令充满整个流水线,使能信号便可以产生
module flopr#(parameter WIDTH=8)(input clk,en,rst,
input [WIDTH-1:0] d,
output reg [WIDTH-1:0] q
);
always @ (posedge clk or posedge rst)
if(rst) q<=d;
else if(~en) q<=d;
endmodule