summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_defs.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-22 00:16:40 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-22 00:16:50 -0600
commitc1c1f1e823099c82d02e94827a64d7a0b223048e (patch)
treecc6466fad9a943bbde314feb151bbacadf5b338a /rtl/gfx/gfx_defs.sv
parenta14fc04f3b9f5bcef941ea79c794532d7ca0e7fc (diff)
rtl/gfx: reimplement multiplier as a much smaller mat-vec pipeline
Diffstat (limited to 'rtl/gfx/gfx_defs.sv')
-rw-r--r--rtl/gfx/gfx_defs.sv7
1 files changed, 7 insertions, 0 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv
index d01822a..648f9e6 100644
--- a/rtl/gfx/gfx_defs.sv
+++ b/rtl/gfx/gfx_defs.sv
@@ -1,6 +1,7 @@
`ifndef GFX_DEFS_SV
`define GFX_DEFS_SV
+// Esto es arquitectural, no se puede ajustar sin cambiar otras cosas
`define FLOAT_BITS 16
`define FLOATS_PER_VEC 4
`define VECS_PER_MAT 4
@@ -10,7 +11,13 @@
`define FP_MUL_STAGES 3 // ~119 LUTs ~1 bloque DSP
typedef logic[`FLOAT_BITS - 1:0] fp;
+typedef fp vec2[2];
typedef fp vec4[`FLOATS_PER_VEC];
typedef vec4 mat4[`VECS_PER_MAT];
+typedef logic[1:0] index4;
+
+`define INDEX4_MIN 2'b00
+`define INDEX4_MAX 2'b11
+
`endif