summaryrefslogtreecommitdiff
path: root/rtl/gfx/mat_mat_mul.sv
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/gfx/mat_mat_mul.sv')
-rw-r--r--rtl/gfx/mat_mat_mul.sv33
1 files changed, 33 insertions, 0 deletions
diff --git a/rtl/gfx/mat_mat_mul.sv b/rtl/gfx/mat_mat_mul.sv
new file mode 100644
index 0000000..aa5e769
--- /dev/null
+++ b/rtl/gfx/mat_mat_mul.sv
@@ -0,0 +1,33 @@
+`include "gfx/gfx_defs.sv"
+
+module mat_mat_mul
+(
+ input logic clk,
+ rst_n,
+
+ input logic start,
+ input mat4 a,
+ b,
+
+ output logic done,
+ output mat4 q
+);
+
+ logic dones[`VECS_PER_MAT];
+
+ assign done = dones[0];
+
+ genvar i;
+ generate
+ for (i = 0; i < `VECS_PER_MAT; ++i) begin: columns
+ mat_vec_mul column_i
+ (
+ .x(b[i]),
+ .q(q[i]),
+ .done(dones[i]),
+ .*
+ );
+ end
+ endgenerate
+
+endmodule