From 223dbc0619adde456cf5dde7c2c5235c33301b15 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sat, 18 Nov 2023 20:17:38 -0600 Subject: rtl/gfx: fix Verilator loop unrolling bug in gfx_pipes --- rtl/gfx/gfx_pipes.sv | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'rtl/gfx') diff --git a/rtl/gfx/gfx_pipes.sv b/rtl/gfx/gfx_pipes.sv index 390a481..09b1d43 100644 --- a/rtl/gfx/gfx_pipes.sv +++ b/rtl/gfx/gfx_pipes.sv @@ -17,13 +17,8 @@ module gfx_pipes if (!stall) begin pipes[0] <= in; - /* Esto tiene que ir así porque Verilator no soporta <= en for - * loops a las que no logre hacerle unrolling. Nótese que el - * orden de iteración descendiente es necesario porque estamos - * usando un blocking assignment dentro de always_ff. - */ - for (integer i = DEPTH - 1; i > 0; --i) - pipes[i] = pipes[i - 1]; + for (integer i = 1; i < DEPTH; ++i) + pipes[i] <= pipes[i - 1]; end endmodule -- cgit v1.2.3