tensor: Fix consecutive commits to write to same warp

... by splitting the pending_uops queue across warps.
This commit is contained in:
Hansung Kim
2024-05-25 20:04:31 -07:00
parent 5a95eba1f5
commit 864265bda5
2 changed files with 53 additions and 33 deletions

View File

@@ -15,9 +15,11 @@ module VX_tensor_dpu #(
input [3:0][1:0][31:0] A_tile,
input [1:0][3:0][31:0] B_tile,
input [3:0][3:0][31:0] C_tile,
input [`NW_WIDTH-1:0] warp_id,
output valid_out,
output [3:0][3:0][31:0] D_tile
output [3:0][3:0][31:0] D_tile,
output [`NW_WIDTH-1:0] D_warp_id
);
logic [3:0][3:0][31:0] result_hmma;
@@ -42,15 +44,15 @@ module VX_tensor_dpu #(
// fixed-latency model
VX_shift_register #(
.DATAW (1 + $bits(D_tile)),
.DATAW (1 + $bits(warp_id) + $bits(D_tile)),
.DEPTH (`LATENCY_HMMA),
.RESETW (1)
) shift_reg (
.clk (clk),
.reset (reset),
.enable (~stall),
.data_in ({valid_in, result_hmma}),
.data_out ({valid_out, D_tile})
.data_in ({valid_in, warp_id, result_hmma}),
.data_out ({valid_out, D_warp_id, D_tile})
);
endmodule
`endif