summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx_sp_isa.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_sp_isa.sv
parentd076c33ffb6e3c0d96ee6b5dce0fcf48be8d3582 (diff)
rtl/gfx: implement SP issue
Diffstat (limited to 'rtl/gfx/gfx_sp_isa.sv')
-rw-r--r--rtl/gfx/gfx_sp_isa.sv23
1 files changed, 23 insertions, 0 deletions
diff --git a/rtl/gfx/gfx_sp_isa.sv b/rtl/gfx/gfx_sp_isa.sv
new file mode 100644
index 0000000..1420d95
--- /dev/null
+++ b/rtl/gfx/gfx_sp_isa.sv
@@ -0,0 +1,23 @@
+`ifndef GFX_SP_ISA_SV
+`define GFX_SP_ISA_SV
+
+`include "gfx/gfx_defs.sv"
+
+`define GFX_INSN_OP_SELECT 32'b00000000_zzzz0zzz_0zzz0zzz_00000001
+`define GFX_INSN_OP_SWIZZL 32'bzzzzzzzz_00000000_0zzz0zzz_00000010
+`define GFX_INSN_OP_BROADC 32'bzzzzzzzz_zzzzzzzz_00000zzz_00000100
+`define GFX_INSN_OP_MATVEC 32'b00000000_00000zzz_0zzz0zzz_00001000
+`define GFX_INSN_OP_SEND 32'b00000000_00000000_0zzz0000_00010000
+`define GFX_INSN_OP_RECV 32'b00000000_00000000_00000zzz_00100000
+
+`define GFX_INSN_DST [10:8]
+`define GFX_INSN_SRC_A [14:12]
+`define GFX_INSN_SRC_B [18:16]
+
+`define GFX_INSN_SELECT_MASK [23:20]
+
+`define GFX_INSN_SWIZZL_LANES [31:24]
+
+`define GFX_INSN_BROADC_IMM [31:16]
+
+`endif