From a14fc04f3b9f5bcef941ea79c794532d7ca0e7fc Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sat, 21 Oct 2023 15:37:45 -0600 Subject: ip: downgrade to 16-bit floats --- rtl/gfx/gfx.sv | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'rtl/gfx/gfx.sv') 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) -- cgit v1.2.3