¿Cuál es la mejor práctica para crear un bus, que es solo la extracción de ciertos bits de un bus más grande? No quiero almacenar los números de índice para realizar la búsqueda en el programa generar si se pudiera evitar ... Esperaba algo como seguir el código que, por supuesto, no es válido. ¿Podemos aprovechar el hecho de que el bus más corto extraído es siempre bits consecutivos del bus más grande?
localparam logic [7:0] VALID = {1'b0, 1'b1, 1'b1, 1'b1, 1'b1, 1'b0, 1'b0, 1'b0};
genvar m, j;
generate
for (m=0; m<8; m++) begin
if (VALID[m]) begin
assign short_bus[j] = large_bus[m];
j++;
end
endgenerate