Estoy tratando de sintetizar un archivo verilog con una parte de código como esta (obviamente no había declarado el módulo y otras variables de entrada y salida)
input [15:0] me;
reg [15:0] p_array [7:0];
reg abc_pqr [2:0];
abc_pqr[0] <= me[0];
abc_pqr[1] <= me[1];
abc_pqr[2] <= me[1];
p_array[abc_pqr[0]] <= me[0];
p_array[abc_pqr[1]] <= me[1];
p_array[abc_pqr[2]] <= me[2];
donde había usado reg como índice del elemento de matriz, por lo que no es válido, aunque este módulo dentro de mi archivo verilog no se sintetizó, ya que contiene un elemento de memoria, pero solo quiero confirmar que es válido usar reg como índice de matriz? No quiero encontrar nada en la red a este respecto, pero si se toma el registro como índice, haré que la matriz actúe como búfer y creo que debe ser un código válido.