Indización no constante para una declaración lógica en systemverilog

Estoy tratando de crear un bucle for que asigne diferentes valores a una matriz lógica dada la iteración del bucle.

Entonces, por ejemplo, digamos que estoy tratando de instanciar dos ladrillos diferentes, ambos con un ancho de 10 y una altura de 5. Digamos también que cada uno de estos valores son 10 bits. Para dos ladrillos, tengo el código:

logic[19:0] Brick_Width;
logic[19:0] Brick_Height;

Donde el ancho y la altura del primer ladrillo se asignarán a los 10 bits más significativos y el segundo a los 10 bits menos significativos.

Este es el código que tengo actualmente para esto:

int i = 19;
initial
begin
 for(i=19; i>=0; i=i-10)
 begin
  assign Brick_Width[i:i-9] = 10;
  assign Brick_Height[i:i-9] = 5;
 end
end

Sin embargo, recibo un error que dice que "i" no es una constante. ¿Alguna idea sobre cómo puedo hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta