From ebd3ef9b8ebe6c19d0965c3d5ee741c725180f85 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Thu, 26 Oct 2023 04:37:38 -0600 Subject: rtl/gfx: implement matrix transpose --- rtl/gfx/transpose.sv | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rtl/gfx/transpose.sv (limited to 'rtl/gfx/transpose.sv') diff --git a/rtl/gfx/transpose.sv b/rtl/gfx/transpose.sv new file mode 100644 index 0000000..1df68d5 --- /dev/null +++ b/rtl/gfx/transpose.sv @@ -0,0 +1,17 @@ +`include "gfx/gfx_defs.sv" + +module transpose +( + input mat4 in, + output mat4 out +); + + integer i, j; + + // Esto no tiene costo en hardware, es un renombramiento de seƱales + always_comb + for (i = 0; i < `VECS_PER_MAT; ++i) + for (j = 0; j < `FLOATS_PER_VEC; ++j) + out[i][j] = in[j][i]; + +endmodule -- cgit v1.2.3