Files
tatu/generated-ooo/IDStage.sv
2026-06-27 07:07:07 +00:00

145 lines
4.9 KiB
Systemverilog

// Generated by CIRCT firtool-1.139.0
module IDStage(
input io_inValid,
input [63:0] io_in_pc,
input [31:0] io_in_inst_0,
io_in_inst_1,
input io_in_laneValid_0,
io_in_laneValid_1,
output io_outValid_0,
io_outValid_1,
output [63:0] io_out_0_pc,
output [31:0] io_out_0_inst,
output [4:0] io_out_0_rs1,
io_out_0_rs2,
io_out_0_rd,
output [2:0] io_out_0_funct3,
output [63:0] io_out_0_immI,
io_out_0_immS,
io_out_0_immB,
io_out_0_immU,
io_out_0_immJ,
output [3:0] io_out_0_opClass,
output [4:0] io_out_0_aluFn,
output [2:0] io_out_0_memWidth,
output io_out_0_memSigned,
io_out_0_isLoad,
io_out_0_isStore,
io_out_0_isBranch,
io_out_0_isJal,
io_out_0_isJalr,
io_out_0_isLui,
io_out_0_isAuipc,
io_out_0_isOpImm,
io_out_0_isWord,
io_out_0_isSystem,
io_out_0_isFenceI,
io_out_0_isAmo,
output [4:0] io_out_0_amoOp,
output io_out_0_writesRd,
io_out_0_illegal,
output [63:0] io_out_1_pc,
output [31:0] io_out_1_inst,
output [4:0] io_out_1_rs1,
io_out_1_rs2,
io_out_1_rd,
output [2:0] io_out_1_funct3,
output [63:0] io_out_1_immI,
io_out_1_immS,
io_out_1_immB,
io_out_1_immU,
io_out_1_immJ,
output [3:0] io_out_1_opClass,
output [4:0] io_out_1_aluFn,
output [2:0] io_out_1_memWidth,
output io_out_1_memSigned,
io_out_1_isLoad,
io_out_1_isStore,
io_out_1_isBranch,
io_out_1_isJal,
io_out_1_isJalr,
io_out_1_isLui,
io_out_1_isAuipc,
io_out_1_isOpImm,
io_out_1_isWord,
io_out_1_isSystem,
io_out_1_isFenceI,
io_out_1_isAmo,
output [4:0] io_out_1_amoOp,
output io_out_1_writesRd,
io_out_1_illegal
);
Decoder decoders_0 (
.io_pc (io_in_pc),
.io_inst (io_in_inst_0),
.io_out_pc (io_out_0_pc),
.io_out_inst (io_out_0_inst),
.io_out_rs1 (io_out_0_rs1),
.io_out_rs2 (io_out_0_rs2),
.io_out_rd (io_out_0_rd),
.io_out_funct3 (io_out_0_funct3),
.io_out_immI (io_out_0_immI),
.io_out_immS (io_out_0_immS),
.io_out_immB (io_out_0_immB),
.io_out_immU (io_out_0_immU),
.io_out_immJ (io_out_0_immJ),
.io_out_opClass (io_out_0_opClass),
.io_out_aluFn (io_out_0_aluFn),
.io_out_memWidth (io_out_0_memWidth),
.io_out_memSigned (io_out_0_memSigned),
.io_out_isLoad (io_out_0_isLoad),
.io_out_isStore (io_out_0_isStore),
.io_out_isBranch (io_out_0_isBranch),
.io_out_isJal (io_out_0_isJal),
.io_out_isJalr (io_out_0_isJalr),
.io_out_isLui (io_out_0_isLui),
.io_out_isAuipc (io_out_0_isAuipc),
.io_out_isOpImm (io_out_0_isOpImm),
.io_out_isWord (io_out_0_isWord),
.io_out_isSystem (io_out_0_isSystem),
.io_out_isFenceI (io_out_0_isFenceI),
.io_out_isAmo (io_out_0_isAmo),
.io_out_amoOp (io_out_0_amoOp),
.io_out_writesRd (io_out_0_writesRd),
.io_out_illegal (io_out_0_illegal)
);
Decoder decoders_1 (
.io_pc (io_in_pc + 64'h4),
.io_inst (io_in_inst_1),
.io_out_pc (io_out_1_pc),
.io_out_inst (io_out_1_inst),
.io_out_rs1 (io_out_1_rs1),
.io_out_rs2 (io_out_1_rs2),
.io_out_rd (io_out_1_rd),
.io_out_funct3 (io_out_1_funct3),
.io_out_immI (io_out_1_immI),
.io_out_immS (io_out_1_immS),
.io_out_immB (io_out_1_immB),
.io_out_immU (io_out_1_immU),
.io_out_immJ (io_out_1_immJ),
.io_out_opClass (io_out_1_opClass),
.io_out_aluFn (io_out_1_aluFn),
.io_out_memWidth (io_out_1_memWidth),
.io_out_memSigned (io_out_1_memSigned),
.io_out_isLoad (io_out_1_isLoad),
.io_out_isStore (io_out_1_isStore),
.io_out_isBranch (io_out_1_isBranch),
.io_out_isJal (io_out_1_isJal),
.io_out_isJalr (io_out_1_isJalr),
.io_out_isLui (io_out_1_isLui),
.io_out_isAuipc (io_out_1_isAuipc),
.io_out_isOpImm (io_out_1_isOpImm),
.io_out_isWord (io_out_1_isWord),
.io_out_isSystem (io_out_1_isSystem),
.io_out_isFenceI (io_out_1_isFenceI),
.io_out_isAmo (io_out_1_isAmo),
.io_out_amoOp (io_out_1_amoOp),
.io_out_writesRd (io_out_1_writesRd),
.io_out_illegal (io_out_1_illegal)
);
assign io_outValid_0 = io_inValid & io_in_laneValid_0;
assign io_outValid_1 = io_inValid & io_in_laneValid_1;
endmodule