fix: resolve OoO simulation timeout

This commit is contained in:
abnerhexu
2026-06-27 03:38:34 +00:00
parent 502803c37f
commit a2e0126199
68 changed files with 78250 additions and 210 deletions

62
generated-ooo/Frontend.sv Normal file
View File

@@ -0,0 +1,62 @@
// Generated by CIRCT firtool-1.139.0
module Frontend(
input clock,
reset,
io_redirectValid,
input [63:0] io_redirectPc,
output io_imemReqValid,
output [63:0] io_imemReqAddr,
input io_imemRespValid,
input [31:0] io_imemRespBits_0,
io_imemRespBits_1,
input io_outReady,
output io_outValid,
output [63:0] io_out_pc,
output [31:0] io_out_inst_0,
io_out_inst_1,
output io_out_laneValid_0,
io_out_laneValid_1
);
wire _icache_io_respValid;
wire [63:0] _icache_io_resp_pc;
wire _icache_io_resp_laneValid_0;
wire _icache_io_resp_laneValid_1;
reg [63:0] pc;
always @(posedge clock) begin
if (reset)
pc <= 64'h80000000;
else if (io_redirectValid)
pc <= io_redirectPc;
else if (_icache_io_respValid & io_outReady)
pc <=
_icache_io_resp_pc
+ {60'h0,
{1'h0, _icache_io_resp_laneValid_0} + {1'h0, _icache_io_resp_laneValid_1},
2'h0};
end // always @(posedge)
ICache icache (
.clock (clock),
.reset (reset),
.io_reqAddr (pc),
.io_reqPc (pc),
.io_flush (io_redirectValid),
.io_respReady (io_outReady),
.io_memReqValid (io_imemReqValid),
.io_memReqAddr (io_imemReqAddr),
.io_memRespValid (io_imemRespValid),
.io_memRespBits_0 (io_imemRespBits_0),
.io_memRespBits_1 (io_imemRespBits_1),
.io_respValid (_icache_io_respValid),
.io_resp_pc (_icache_io_resp_pc),
.io_resp_inst_0 (io_out_inst_0),
.io_resp_inst_1 (io_out_inst_1),
.io_resp_laneValid_0 (_icache_io_resp_laneValid_0),
.io_resp_laneValid_1 (_icache_io_resp_laneValid_1)
);
assign io_outValid = _icache_io_respValid;
assign io_out_pc = _icache_io_resp_pc;
assign io_out_laneValid_0 = _icache_io_resp_laneValid_0;
assign io_out_laneValid_1 = _icache_io_resp_laneValid_1;
endmodule