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?