warp scheduler optimization
This commit is contained in:
@@ -196,20 +196,17 @@ module VX_warp_sched #(
|
|||||||
|
|
||||||
assign {join_else, join_pc, join_tm} = ipdom [join_if.wid];
|
assign {join_else, join_pc, join_tm} = ipdom [join_if.wid];
|
||||||
|
|
||||||
// round-robin warp scheduling
|
// schedule the next ready warp
|
||||||
|
|
||||||
wire [`NUM_WARPS-1:0] ready_warps = active_warps & ~(stalled_warps | barrier_stalls);
|
wire [`NUM_WARPS-1:0] ready_warps = active_warps & ~(stalled_warps | barrier_stalls);
|
||||||
|
|
||||||
VX_rr_arbiter #(
|
VX_priority_encoder #(
|
||||||
.NUM_REQS (`NUM_WARPS)
|
.N (`NUM_WARPS)
|
||||||
) rr_arbiter (
|
) rr_arbiter (
|
||||||
.clk (clk),
|
.data_in (ready_warps),
|
||||||
.reset (reset),
|
.index (schedule_wid),
|
||||||
.requests (ready_warps),
|
.valid_out (schedule_valid),
|
||||||
.grant_index (schedule_wid),
|
`UNUSED_PIN (onehot)
|
||||||
.grant_valid (schedule_valid),
|
|
||||||
`UNUSED_PIN (grant_onehot),
|
|
||||||
`UNUSED_PIN (enable)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
wire [`NUM_WARPS-1:0][(`NUM_THREADS + 32)-1:0] schedule_data;
|
wire [`NUM_WARPS-1:0][(`NUM_THREADS + 32)-1:0] schedule_data;
|
||||||
|
|||||||
Reference in New Issue
Block a user