diff options
| author | Alejandro Soto <alejandro@34project.org> | 2023-11-21 01:17:26 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2023-11-21 18:00:48 -0600 |
| commit | 7f20f4493ef1938f0ea8e86dc16f5c058fe7e4f3 (patch) | |
| tree | 8068225a7068da4702e144e4ff588573c16e2b36 /rtl/gfx/gfx_defs.sv | |
| parent | de9a1bf57f6a6c70aef36da4eea024b44fe87470 (diff) | |
rtl/gfx: implement shuffler
Diffstat (limited to 'rtl/gfx/gfx_defs.sv')
| -rw-r--r-- | rtl/gfx/gfx_defs.sv | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/rtl/gfx/gfx_defs.sv b/rtl/gfx/gfx_defs.sv index b65d74e..0a4a5da 100644 --- a/rtl/gfx/gfx_defs.sv +++ b/rtl/gfx/gfx_defs.sv @@ -12,9 +12,9 @@ `define FP_INV_STAGES 3 // ~178 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 fp[1:0] vec2; +typedef fp[`FLOATS_PER_VEC - 1:0] vec4; +typedef vec4[`VECS_PER_MAT - 1:0] mat4; `define FP_UNIT 16'h3c00 @@ -229,8 +229,8 @@ typedef struct packed typedef struct packed { - logic is_imm, - is_swizzle; + logic is_swizzle, + is_broadcast; fp imm; vec_mask select_mask; swizzle_lanes swizzle_op; @@ -249,4 +249,10 @@ typedef struct packed shuffler_deco shuffler; } insn_deco; // "insn_decode" ya existe en core, esto es confuso pero lo hice por tiempo +typedef struct packed +{ + vreg_num dst; + mat4 data; +} wb_op; + `endif |
