summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_defs.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-11-21 17:14:58 -0600
committerAlejandro Soto <alejandro@34project.org>2023-11-21 18:03:15 -0600
commitd2df92448a7aaaff9ae72f99bf4bcd00a6e55d8c (patch)
tree7426719821476739dce9092dbc7cb2425c9efa5b /rtl/gfx/gfx_defs.sv
parentd076c33ffb6e3c0d96ee6b5dce0fcf48be8d3582 (diff)
rtl/gfx: implement SP issue
Diffstat (limited to 'rtl/gfx/gfx_defs.sv')
-rw-r--r--rtl/gfx/gfx_defs.sv7
1 files changed, 5 insertions, 2 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv
index 70664d1..ec1ea8d 100644
--- a/rtl/gfx/gfx_defs.sv
+++ b/rtl/gfx/gfx_defs.sv
@@ -6,7 +6,7 @@
`define FLOATS_PER_VEC 4
`define VECS_PER_MAT 4
-// Target de 200MHz (reloj es 143MHz) con float16, rounding aproximado
+// Target de 200MHz (reloj es 143MHz) con float16, rounding (muy) aproximado
`define FP_ADD_STAGES 10 // ~401 LUTs
`define FP_MUL_STAGES 5 // ~144 LUTs ~1 bloque DSP
`define FP_INV_STAGES 3 // ~178 LUTs ~1 bloque DSP
@@ -218,7 +218,10 @@ typedef logic[`FLOATS_PER_VEC - 1:0] vec_mask;
typedef logic[`FLOATS_PER_VEC - 1:0][$clog2(`FLOATS_PER_VEC) - 1:0] swizzle_lanes;
-typedef logic[2:0] vreg_num;
+`define GFX_SP_REG_BITS 3
+`define GFX_SP_REG_COUNT (1 << `GFX_SP_REG_BITS)
+
+typedef logic[`GFX_SP_REG_BITS - 1:0] vreg_num;
typedef struct packed
{