module Execute_Memory(
input wire clk,
input wire MemtoRegE,
input wire MemWriteE,
input wire RegWriteE,
input wire MemReadE,
input wire Execute_sucess,//判断指令是否执行成功
input wire[31:0] ALUOutE,
input wire[31:0] WriteDataE,
input wire[4:0] WriteRegE,
input wire[5:0] ALUControlE,
output reg Memory_sucess,//执行是否正确
output reg MemtoRegM,
output reg MemWriteM,
output reg MemReadM,
output reg RegWriteM,
output reg[31:0] ALUOutM,
output reg[31:0] WriteDataM,
output reg[4:0] WriteRegM,
output reg[5:0] ALUControlM
);
always @(posedge clk) begin
if (Execute_sucess==1'b0) begin
WriteRegM <= 5'b00000;
end else begin
WriteRegM <=WriteRegE;
end
MemReadM <= MemReadE;
RegWriteM <= RegWriteE;
MemtoRegM <=MemtoRegE;
MemWriteM <=MemWriteE;
ALUOutM <=ALUOutE;
WriteDataM <=WriteDataE;
ALUControlM <= ALUControlE;
Memory_sucess <= Execute_sucess;
end
endmodule
cpu之Execute_Memory
最新推荐文章于 2021-09-12 16:40:24 发布