tensor: Write stall logic for hgmma_wait

HGMMA_WAIT instruction stalls at issue when inuse_tensor is set, which
is done by the previous HGMMA insn. Currently inuse_tensor is never set
back to zero.
This commit is contained in:
Hansung Kim
2024-10-11 17:18:01 -07:00
parent 72f9dedce3
commit 408a9b5d2a
3 changed files with 31 additions and 1 deletions

View File

@@ -543,6 +543,16 @@ module VX_decode #(
end
`ifdef EXT_T_ENABLE
`INST_EXT4: begin
`ifdef EXT_T_HOPPER
ex_type = `EX_TENSOR;
// tensor core macroop is encoded as r-type
if (func3[0]) begin
op_type = `INST_TENSOR_HGMMA_WAIT;
end else begin
op_type = `INST_TENSOR_HGMMA;
end
// rd/rs1/rs2/rs3 unused
`else
ex_type = `EX_TENSOR;
op_type = `INST_TENSOR_HMMA;
// tensor core macroop is encoded as r-type
@@ -551,6 +561,7 @@ module VX_decode #(
`USED_IREG (rs1);
`USED_IREG (rs2);
`USED_IREG (rs3);
`endif
end
`endif
default:;