From c1c1f1e823099c82d02e94827a64d7a0b223048e Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 22 Oct 2023 00:16:40 -0600 Subject: rtl/gfx: reimplement multiplier as a much smaller mat-vec pipeline --- rtl/gfx/vec_dot.sv | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'rtl/gfx/vec_dot.sv') diff --git a/rtl/gfx/vec_dot.sv b/rtl/gfx/vec_dot.sv index d984504..4e1fdee 100644 --- a/rtl/gfx/vec_dot.sv +++ b/rtl/gfx/vec_dot.sv @@ -3,23 +3,24 @@ module vec_dot ( input logic clk, - rst_n, - input logic start, + input logic stall_mul, + stall_fold, + feedback, + feedback_last, + input vec4 a, b, - output logic done, output fp q ); vec4 products; - logic dones[`FLOATS_PER_VEC]; - horizontal_fold #(.N(`FLOATS_PER_VEC)) fold + horizontal_fold fold ( - .start(dones[0]), .vec(products), + .stall(stall_fold), .* ); @@ -30,8 +31,8 @@ module vec_dot ( .a(a[i]), .b(b[i]), - .done(dones[i]), .q(products[i]), + .stall(stall_mul), .* ); end -- cgit v1.2.3