vhdl generar rango múltiple

0

Tengo 2 cheques que son similares, excepto por el rango de generación: Todo funciona bien, se parece a esto:

check : for bit in (1 to 5)  generate  
  process
          some cool stuff;
  end process;
end generate  check ;

check2 : for bit in (7 to 8)  generate  
  process
          Same some cool stuff;
  end process;
end generate  check2 ;

Me gustaría implementar algo más simple de mantener así:

check : for bit in (1 to 5) & (7 to 8)  generate  
  process
          Simpler to mantain the cool stuff;
  end process;
end generate  check ;

¿Es esto posible?

    

2 respuestas

3

Puedes definir tu rango como una matriz y usar el bucle for para ejecutar esta matriz:

type arr is array(0 to 7) of integer;
constant bit : arr := (0,1,2,3,4,5,7,8);

[..]
check : for i in 0 to 7 generate
   cool_stuff(bit(i));
end generate;
    
respondido por el asdfex
0

Seguí la sugerencia del usuario "oldfart", hice un rango de 1 a 8 y agregué un, si no fuera por 6 ...

Probablemente haya formas más limpias de hacerlo, pero funciona ...

Todavía estoy interesado en formas más limpias ...

    
respondido por el Cristian Mardones

Lea otras preguntas en las etiquetas