mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-24 22:07:41 -04:00
bug fixes
Some checks are pending
CI / setup (push) Waiting to run
CI / build (32) (push) Blocked by required conditions
CI / build (64) (push) Blocked by required conditions
CI / tests (cache, 32) (push) Blocked by required conditions
CI / tests (cache, 64) (push) Blocked by required conditions
CI / tests (config1, 32) (push) Blocked by required conditions
CI / tests (config1, 64) (push) Blocked by required conditions
CI / tests (config2, 32) (push) Blocked by required conditions
CI / tests (config2, 64) (push) Blocked by required conditions
CI / tests (debug, 32) (push) Blocked by required conditions
CI / tests (debug, 64) (push) Blocked by required conditions
CI / tests (opencl, 32) (push) Blocked by required conditions
CI / tests (opencl, 64) (push) Blocked by required conditions
CI / tests (regression, 32) (push) Blocked by required conditions
CI / tests (regression, 64) (push) Blocked by required conditions
CI / tests (scope, 32) (push) Blocked by required conditions
CI / tests (scope, 64) (push) Blocked by required conditions
CI / tests (stress, 32) (push) Blocked by required conditions
CI / tests (stress, 64) (push) Blocked by required conditions
CI / tests (synthesis, 32) (push) Blocked by required conditions
CI / tests (synthesis, 64) (push) Blocked by required conditions
CI / tests (vector, 32) (push) Blocked by required conditions
CI / tests (vector, 64) (push) Blocked by required conditions
CI / tests (vm, 32) (push) Blocked by required conditions
CI / tests (vm, 64) (push) Blocked by required conditions
CI / complete (push) Blocked by required conditions
Some checks are pending
CI / setup (push) Waiting to run
CI / build (32) (push) Blocked by required conditions
CI / build (64) (push) Blocked by required conditions
CI / tests (cache, 32) (push) Blocked by required conditions
CI / tests (cache, 64) (push) Blocked by required conditions
CI / tests (config1, 32) (push) Blocked by required conditions
CI / tests (config1, 64) (push) Blocked by required conditions
CI / tests (config2, 32) (push) Blocked by required conditions
CI / tests (config2, 64) (push) Blocked by required conditions
CI / tests (debug, 32) (push) Blocked by required conditions
CI / tests (debug, 64) (push) Blocked by required conditions
CI / tests (opencl, 32) (push) Blocked by required conditions
CI / tests (opencl, 64) (push) Blocked by required conditions
CI / tests (regression, 32) (push) Blocked by required conditions
CI / tests (regression, 64) (push) Blocked by required conditions
CI / tests (scope, 32) (push) Blocked by required conditions
CI / tests (scope, 64) (push) Blocked by required conditions
CI / tests (stress, 32) (push) Blocked by required conditions
CI / tests (stress, 64) (push) Blocked by required conditions
CI / tests (synthesis, 32) (push) Blocked by required conditions
CI / tests (synthesis, 64) (push) Blocked by required conditions
CI / tests (vector, 32) (push) Blocked by required conditions
CI / tests (vector, 64) (push) Blocked by required conditions
CI / tests (vm, 32) (push) Blocked by required conditions
CI / tests (vm, 64) (push) Blocked by required conditions
CI / complete (push) Blocked by required conditions
This commit is contained in:
parent
bd3f444d44
commit
98e90b80bf
3 changed files with 25 additions and 4 deletions
|
@ -23,7 +23,7 @@ module VX_dispatch import VX_gpu_pkg::*; #(
|
|||
output wire [PERF_CTR_BITS-1:0] perf_stalls [NUM_EX_UNITS],
|
||||
`endif
|
||||
// inputs
|
||||
VX_operands_if.slave operands_if [`NUM_OPCS],
|
||||
VX_operands_if.slave operands_if,
|
||||
|
||||
// outputs
|
||||
VX_dispatch_if.master dispatch_if [NUM_EX_UNITS]
|
||||
|
|
|
@ -34,7 +34,7 @@ module VX_issue_slice import VX_gpu_pkg::*; #(
|
|||
|
||||
VX_ibuffer_if ibuffer_if [PER_ISSUE_WARPS]();
|
||||
VX_scoreboard_if scoreboard_if();
|
||||
VX_operands_if operands_if[`NUM_OPCS]();
|
||||
VX_operands_if operands_if();
|
||||
|
||||
VX_ibuffer #(
|
||||
.INSTANCE_ID (`SFORMATF(("%s-ibuffer", INSTANCE_ID)))
|
||||
|
|
|
@ -32,15 +32,18 @@ module VX_operands import VX_gpu_pkg::*; #(
|
|||
|
||||
VX_writeback_if.slave writeback_if,
|
||||
VX_scoreboard_if.slave scoreboard_if,
|
||||
VX_operands_if.master operands_if [`NUM_OPCS]
|
||||
VX_operands_if.master operands_if
|
||||
);
|
||||
`UNUSED_SPARAM (INSTANCE_ID)
|
||||
|
||||
localparam NUM_OPDS = NUM_SRC_OPDS + 1;
|
||||
localparam SB_DATAW = UUID_WIDTH + ISSUE_WIS_W + `NUM_THREADS + PC_BITS + EX_BITS + INST_OP_BITS + INST_ARGS_BITS + NUM_OPDS + (REG_IDX_BITS * NUM_OPDS);
|
||||
localparam OPD_DATAW = UUID_WIDTH + ISSUE_WIS_W + `SIMD_WIDTH + PC_BITS + EX_BITS + INST_OP_BITS + INST_ARGS_BITS + 1 + NR_BITS + (NUM_SRC_OPDS * `SIMD_WIDTH * `XLEN);
|
||||
|
||||
VX_opc_if opc_if[`NUM_OPCS]();
|
||||
VX_scoreboard_if per_opc_scoreboard_if[`NUM_OPCS]();
|
||||
VX_operands_if per_opc_operands_if[`NUM_OPCS]();
|
||||
|
||||
wire [ISSUE_WIS_W-1:0] per_opc_wis[`NUM_OPCS];
|
||||
wire [SIMD_IDX_W-1:0] per_opc_sid[`NUM_OPCS];
|
||||
wire [NUM_REGS-1:0] per_opc_pending_regs[`NUM_OPCS];
|
||||
|
@ -74,7 +77,7 @@ module VX_operands import VX_gpu_pkg::*; #(
|
|||
.pending_regs (per_opc_pending_regs[i]),
|
||||
.scoreboard_if(per_opc_scoreboard_if[i]),
|
||||
.opc_if (opc_if[i]),
|
||||
.operands_if (operands_if[i])
|
||||
.operands_if (per_opc_operands_if[i])
|
||||
);
|
||||
end
|
||||
|
||||
|
@ -108,4 +111,22 @@ module VX_operands import VX_gpu_pkg::*; #(
|
|||
.opc_if (opc_if)
|
||||
);
|
||||
|
||||
`ITF_TO_AOS (per_opc_operands_if, per_opc_operands, `NUM_OPCS, OPD_DATAW)
|
||||
|
||||
VX_stream_arb #(
|
||||
.NUM_INPUTS (`NUM_OPCS),
|
||||
.NUM_OUTPUTS (1),
|
||||
.DATAW (OPD_DATAW)
|
||||
) operands_arb (
|
||||
.clk (clk),
|
||||
.reset (reset),
|
||||
.valid_in (per_opc_operands_valid),
|
||||
.data_in (per_opc_operands_data),
|
||||
.ready_in (per_opc_operands_ready),
|
||||
.valid_out (operands_if.valid),
|
||||
.data_out (operands_if.data),
|
||||
.ready_out (operands_if.ready),
|
||||
`UNUSED_PIN(sel_out)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue