mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 13:27:29 -04:00
rename use_imm and use_PC
This commit is contained in:
parent
013dab4aeb
commit
b441870789
9 changed files with 25 additions and 25 deletions
|
@ -32,9 +32,9 @@ module VX_alu_unit #(
|
|||
wire [`NUM_THREADS-1:0][31:0] alu_in1 = alu_req_if.rs1_data;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in2 = alu_req_if.rs2_data;
|
||||
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in1_PC = alu_req_if.rs1_is_PC ? {`NUM_THREADS{alu_req_if.PC}} : alu_in1;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in2_imm = alu_req_if.rs2_is_imm ? {`NUM_THREADS{alu_req_if.imm}} : alu_in2;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in2_less = (alu_req_if.rs2_is_imm && !is_br_op) ? {`NUM_THREADS{alu_req_if.imm}} : alu_in2;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in1_PC = alu_req_if.use_PC ? {`NUM_THREADS{alu_req_if.PC}} : alu_in1;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in2_imm = alu_req_if.use_imm ? {`NUM_THREADS{alu_req_if.imm}} : alu_in2;
|
||||
wire [`NUM_THREADS-1:0][31:0] alu_in2_less = (alu_req_if.use_imm && !is_br_op) ? {`NUM_THREADS{alu_req_if.imm}} : alu_in2;
|
||||
|
||||
for (genvar i = 0; i < `NUM_THREADS; i++) begin
|
||||
assign add_result[i] = alu_in1_PC[i] + alu_in2_imm[i];
|
||||
|
|
|
@ -24,7 +24,7 @@ module VX_csr_io_arb (
|
|||
`UNUSED_VAR (clk)
|
||||
`UNUSED_VAR (reset)
|
||||
|
||||
wire [31:0] csr_core_req_mask = csr_core_req_if.rs2_is_imm ? 32'(csr_core_req_if.rs1) : csr_core_req_if.rs1_data;
|
||||
wire [31:0] csr_core_req_mask = csr_core_req_if.use_imm ? 32'(csr_core_req_if.rs1) : csr_core_req_if.rs1_data;
|
||||
|
||||
// requests
|
||||
assign csr_pipe_req_if.valid = csr_core_req_if.valid || csr_io_req_if.valid;
|
||||
|
|
|
@ -391,9 +391,9 @@ module VX_decode #(
|
|||
assign decode_if.rs3 = rs3;
|
||||
`endif
|
||||
|
||||
assign decode_if.imm = imm;
|
||||
assign decode_if.rs1_is_PC = use_PC;
|
||||
assign decode_if.rs2_is_imm = use_imm;
|
||||
assign decode_if.imm = imm;
|
||||
assign decode_if.use_PC = use_PC;
|
||||
assign decode_if.use_imm = use_imm;
|
||||
|
||||
assign decode_if.used_regs = (`NUM_REGS'(use_rd) << decode_if.rd)
|
||||
| (`NUM_REGS'(use_rs1) << decode_if.rs1)
|
||||
|
@ -419,7 +419,7 @@ module VX_decode #(
|
|||
print_ex_type(decode_if.ex_type);
|
||||
$write(", op=");
|
||||
print_ex_op(decode_if.ex_type, decode_if.op_type, decode_if.op_mod);
|
||||
$write(", mod=%0d, tmask=%b, wb=%b, rd=%0d, rs1=%0d, rs2=%0d, rs3=%0d, imm=%0h, use_pc=%b, use_imm=%b, use_regs=%b\n", decode_if.op_mod, decode_if.tmask, decode_if.wb, decode_if.rd, decode_if.rs1, decode_if.rs2, decode_if.rs3, decode_if.imm, decode_if.rs1_is_PC, decode_if.rs2_is_imm, decode_if.used_regs);
|
||||
$write(", mod=%0d, tmask=%b, wb=%b, rd=%0d, rs1=%0d, rs2=%0d, rs3=%0d, imm=%0h, use_pc=%b, use_imm=%b, use_regs=%b\n", decode_if.op_mod, decode_if.tmask, decode_if.wb, decode_if.rd, decode_if.rs1, decode_if.rs2, decode_if.rs3, decode_if.imm, decode_if.use_PC, decode_if.use_imm, decode_if.used_regs);
|
||||
end
|
||||
end
|
||||
`endif
|
||||
|
|
|
@ -185,8 +185,8 @@ module VX_ibuffer #(
|
|||
ibuf_enq_if.rs2,
|
||||
ibuf_enq_if.rs3,
|
||||
ibuf_enq_if.imm,
|
||||
ibuf_enq_if.rs1_is_PC,
|
||||
ibuf_enq_if.rs2_is_imm,
|
||||
ibuf_enq_if.use_PC,
|
||||
ibuf_enq_if.use_imm,
|
||||
ibuf_enq_if.used_regs};
|
||||
|
||||
assign ibuf_deq_if.valid = deq_valid;
|
||||
|
@ -202,8 +202,8 @@ module VX_ibuffer #(
|
|||
ibuf_deq_if.rs2,
|
||||
ibuf_deq_if.rs3,
|
||||
ibuf_deq_if.imm,
|
||||
ibuf_deq_if.rs1_is_PC,
|
||||
ibuf_deq_if.rs2_is_imm,
|
||||
ibuf_deq_if.use_PC,
|
||||
ibuf_deq_if.use_imm,
|
||||
ibuf_deq_if.used_regs} = deq_instr;
|
||||
|
||||
endmodule
|
|
@ -44,8 +44,8 @@ module VX_instr_demux (
|
|||
.reset (reset),
|
||||
.valid_in (alu_req_valid),
|
||||
.ready_in (alu_req_ready),
|
||||
.data_in ({execute_if.wid, execute_if.tmask, execute_if.PC, next_PC, `ALU_OP(execute_if.op_type), execute_if.op_mod, execute_if.imm, execute_if.rs1_is_PC, execute_if.rs2_is_imm, execute_if.rd, execute_if.wb, tid, gpr_rsp_if.rs1_data, gpr_rsp_if.rs2_data}),
|
||||
.data_out ({alu_req_if.wid, alu_req_if.tmask, alu_req_if.PC, alu_req_if.next_PC, alu_req_if.op_type, alu_req_if.op_mod, alu_req_if.imm, alu_req_if.rs1_is_PC, alu_req_if.rs2_is_imm, alu_req_if.rd, alu_req_if.wb, alu_req_if.tid, alu_req_if.rs1_data, alu_req_if.rs2_data}),
|
||||
.data_in ({execute_if.wid, execute_if.tmask, execute_if.PC, next_PC, `ALU_OP(execute_if.op_type), execute_if.op_mod, execute_if.imm, execute_if.use_PC, execute_if.use_imm, execute_if.rd, execute_if.wb, tid, gpr_rsp_if.rs1_data, gpr_rsp_if.rs2_data}),
|
||||
.data_out ({alu_req_if.wid, alu_req_if.tmask, alu_req_if.PC, alu_req_if.next_PC, alu_req_if.op_type, alu_req_if.op_mod, alu_req_if.imm, alu_req_if.use_PC, alu_req_if.use_imm, alu_req_if.rd, alu_req_if.wb, alu_req_if.tid, alu_req_if.rs1_data, alu_req_if.rs2_data}),
|
||||
.valid_out (alu_req_if.valid),
|
||||
.ready_out (alu_req_if.ready)
|
||||
);
|
||||
|
@ -78,8 +78,8 @@ module VX_instr_demux (
|
|||
.reset (reset),
|
||||
.valid_in (csr_req_valid),
|
||||
.ready_in (csr_req_ready),
|
||||
.data_in ({execute_if.wid, execute_if.tmask, execute_if.PC, `CSR_OP(execute_if.op_type), execute_if.imm[`CSR_ADDR_BITS-1:0], execute_if.rd, execute_if.wb, execute_if.rs2_is_imm, execute_if.rs1, gpr_rsp_if.rs1_data[0]}),
|
||||
.data_out ({csr_req_if.wid, csr_req_if.tmask, csr_req_if.PC, csr_req_if.op_type, csr_req_if.csr_addr, csr_req_if.rd, csr_req_if.wb, csr_req_if.rs2_is_imm, csr_req_if.rs1, csr_req_if.rs1_data}),
|
||||
.data_in ({execute_if.wid, execute_if.tmask, execute_if.PC, `CSR_OP(execute_if.op_type), execute_if.imm[`CSR_ADDR_BITS-1:0], execute_if.rd, execute_if.wb, execute_if.use_imm, execute_if.rs1, gpr_rsp_if.rs1_data[0]}),
|
||||
.data_out ({csr_req_if.wid, csr_req_if.tmask, csr_req_if.PC, csr_req_if.op_type, csr_req_if.csr_addr, csr_req_if.rd, csr_req_if.wb, csr_req_if.use_imm, csr_req_if.rs1, csr_req_if.rs1_data}),
|
||||
.valid_out (csr_req_if.valid),
|
||||
.ready_out (csr_req_if.ready)
|
||||
);
|
||||
|
|
|
@ -74,8 +74,8 @@ module VX_issue #(
|
|||
assign execute_if.rd = ibuf_deq_if.rd;
|
||||
assign execute_if.rs1 = ibuf_deq_if.rs1;
|
||||
assign execute_if.imm = ibuf_deq_if.imm;
|
||||
assign execute_if.rs1_is_PC = ibuf_deq_if.rs1_is_PC;
|
||||
assign execute_if.rs2_is_imm= ibuf_deq_if.rs2_is_imm;
|
||||
assign execute_if.use_PC = ibuf_deq_if.use_PC;
|
||||
assign execute_if.use_imm = ibuf_deq_if.use_imm;
|
||||
|
||||
VX_instr_demux instr_demux (
|
||||
.clk (clk),
|
||||
|
@ -105,8 +105,8 @@ module VX_issue #(
|
|||
`SCOPE_ASSIGN (issue_rs2, ibuf_deq_if.rs2);
|
||||
`SCOPE_ASSIGN (issue_rs3, ibuf_deq_if.rs3);
|
||||
`SCOPE_ASSIGN (issue_imm, ibuf_deq_if.imm);
|
||||
`SCOPE_ASSIGN (issue_rs1_is_pc, ibuf_deq_if.rs1_is_PC);
|
||||
`SCOPE_ASSIGN (issue_rs2_is_imm, ibuf_deq_if.rs2_is_imm);
|
||||
`SCOPE_ASSIGN (issue_rs1_is_pc, ibuf_deq_if.use_PC);
|
||||
`SCOPE_ASSIGN (issue_use_imm, ibuf_deq_if.use_imm);
|
||||
`SCOPE_ASSIGN (scoreboard_delay, scoreboard_delay);
|
||||
`SCOPE_ASSIGN (execute_delay, ~execute_if.ready);
|
||||
`SCOPE_ASSIGN (gpr_rsp_a, gpr_rsp_if.rs1_data);
|
||||
|
|
|
@ -12,8 +12,8 @@ interface VX_alu_req_if ();
|
|||
wire [31:0] next_PC;
|
||||
wire [`ALU_BITS-1:0] op_type;
|
||||
wire [`MOD_BITS-1:0] op_mod;
|
||||
wire rs1_is_PC;
|
||||
wire rs2_is_imm;
|
||||
wire use_PC;
|
||||
wire use_imm;
|
||||
wire [31:0] imm;
|
||||
wire [`NT_BITS-1:0] tid;
|
||||
wire [`NUM_THREADS-1:0][31:0] rs1_data;
|
||||
|
|
|
@ -12,7 +12,7 @@ interface VX_csr_req_if ();
|
|||
wire [`CSR_BITS-1:0] op_type;
|
||||
wire [`CSR_ADDR_BITS-1:0] csr_addr;
|
||||
wire [31:0] rs1_data;
|
||||
wire rs2_is_imm;
|
||||
wire use_imm;
|
||||
wire [`NR_BITS-1:0] rs1;
|
||||
wire [`NR_BITS-1:0] rd;
|
||||
wire wb;
|
||||
|
|
|
@ -18,8 +18,8 @@ interface VX_decode_if ();
|
|||
wire [`NR_BITS-1:0] rs2;
|
||||
wire [`NR_BITS-1:0] rs3;
|
||||
wire [31:0] imm;
|
||||
wire rs1_is_PC;
|
||||
wire rs2_is_imm;
|
||||
wire use_PC;
|
||||
wire use_imm;
|
||||
wire [`NUM_REGS-1:0] used_regs;
|
||||
wire ready;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue