summaryrefslogtreecommitdiff
path: root/platform/wavelet3d/gfx_front_back.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2024-05-02 21:03:05 -0600
committerAlejandro Soto <alejandro@34project.org>2024-05-02 21:03:17 -0600
commit405c0287c80c34b0e9dfb9d9326b86d12433b4c4 (patch)
treeef38368c911bae30ff9c528dcf4a8fbfbc227fa7 /platform/wavelet3d/gfx_front_back.sv
parent50b71c7f0ea2574eb4802e1a12fe8b0920a4ca7f (diff)
platform/wavelet3d: implement shader cores
This commit contains over a month of intermittent work (I don't have enough free time to do this the right way)
Diffstat (limited to 'platform/wavelet3d/gfx_front_back.sv')
-rw-r--r--platform/wavelet3d/gfx_front_back.sv37
1 files changed, 37 insertions, 0 deletions
diff --git a/platform/wavelet3d/gfx_front_back.sv b/platform/wavelet3d/gfx_front_back.sv
new file mode 100644
index 0000000..890b734
--- /dev/null
+++ b/platform/wavelet3d/gfx_front_back.sv
@@ -0,0 +1,37 @@
+interface gfx_front_back
+import gfx::*;;
+
+ struct
+ {
+ group_id group;
+ fpint_op p0;
+ mem_op p1;
+ sfu_op p2;
+ group_op p3;
+ } execute;
+
+ struct
+ {
+ logic valid;
+ group_id group;
+ } loop;
+
+ shader_dispatch dispatch;
+
+ modport front
+ (
+ input loop,
+
+ output execute,
+ dispatch
+ );
+
+ modport back
+ (
+ input execute,
+ dispatch,
+
+ output loop
+ );
+
+endinterface