summaryrefslogtreecommitdiff
path: root/rtl/gfx/gfx.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-21 15:37:45 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-21 15:37:45 -0600
commita14fc04f3b9f5bcef941ea79c794532d7ca0e7fc (patch)
tree50385f76fe3883a9052a395aa6ff71d76a85439c /rtl/gfx/gfx.sv
parent0d3a62a498f60c4fa1941026495991da78de712d (diff)
ip: downgrade to 16-bit floats
Diffstat (limited to 'rtl/gfx/gfx.sv')
-rw-r--r--rtl/gfx/gfx.sv9
1 files changed, 6 insertions, 3 deletions
diff --git a/rtl/gfx/gfx.sv b/rtl/gfx/gfx.sv
index ab2bcce..ec2fb13 100644
--- a/rtl/gfx/gfx.sv
+++ b/rtl/gfx/gfx.sv
@@ -12,10 +12,13 @@ module gfx
output logic[31:0] cmd_readdata
);
+ fp readdata, writedata;
mat4 a, b, q, hold_q;
logic start, done;
- assign cmd_readdata = hold_q[cmd_address[3:2]][cmd_address[1:0]];
+ assign readdata = hold_q[cmd_address[3:2]][cmd_address[1:0]];
+ assign writedata = cmd_writedata[`FLOAT_BITS - 1:0];
+ assign cmd_readdata = {{($bits(cmd_readdata) - `FLOAT_BITS){1'b0}}, readdata};
mat_mat_mul mul
(
@@ -25,9 +28,9 @@ module gfx
always_ff @(posedge clk) begin
if (cmd_write) begin
if (cmd_address[4])
- a[cmd_address[3:2]][cmd_address[1:0]] <= cmd_writedata;
+ a[cmd_address[3:2]][cmd_address[1:0]] <= writedata;
else
- b[cmd_address[3:2]][cmd_address[1:0]] <= cmd_writedata;
+ b[cmd_address[3:2]][cmd_address[1:0]] <= writedata;
end
if (done)