summaryrefslogtreecommitdiff
path: root/platform/wavelet3d/gfx_axib.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_axib.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 '')
-rw-r--r--platform/wavelet3d/gfx_axib.sv81
1 files changed, 81 insertions, 0 deletions
diff --git a/platform/wavelet3d/gfx_axib.sv b/platform/wavelet3d/gfx_axib.sv
new file mode 100644
index 0000000..7b3cbdc
--- /dev/null
+++ b/platform/wavelet3d/gfx_axib.sv
@@ -0,0 +1,81 @@
+// AXI4 con burst
+interface gfx_axib;
+
+ import gfx::word;
+
+ logic awvalid,
+ awready;
+ logic[7:0] awlen;
+ logic[1:0] awburst;
+ word awaddr;
+
+ logic wlast;
+ logic wvalid;
+ logic wready;
+ word wdata;
+
+ logic bvalid;
+ logic bready;
+
+ logic arvalid,
+ arready;
+ logic[7:0] arlen;
+ logic[1:0] arburst;
+ word araddr;
+
+ logic rlast;
+ logic rvalid;
+ logic rready;
+ word rdata;
+
+ modport m
+ (
+ input awready,
+ wready,
+ bvalid,
+ arready,
+ rlast,
+ rvalid,
+ rdata,
+
+ output awlen,
+ awburst,
+ awvalid,
+ awaddr,
+ wlast,
+ wvalid,
+ wdata,
+ bready,
+ arlen,
+ arburst,
+ arvalid,
+ araddr,
+ rready
+ );
+
+ modport s
+ (
+ input awlen,
+ awburst,
+ awvalid,
+ awaddr,
+ wlast,
+ wvalid,
+ wdata,
+ bready,
+ arlen,
+ arburst,
+ arvalid,
+ araddr,
+ rready,
+
+ output awready,
+ wready,
+ bvalid,
+ arready,
+ rlast,
+ rvalid,
+ rdata
+ );
+
+endinterface