Los genéricos VHDL pueden tener un valor por defecto.
Las reglas sobre cómo se anulan en las instancias y declaraciones parecen ser bastante complejas, por lo que quería preguntar sobre las prácticas más fáciles y seguras para reducir el riesgo de desajustes en la simulación y la síntesis debido a errores de código evitables o a problemas de la herramienta.
He aquí un ejemplo sencillo. ¿Qué haría usted?
Definición:
entity counter is
generic(
G_NBITS : integer range 1 to 8 := 3
);
...
Declaración:
architecture behav of counter_tb is
component counter is
generic(
G_NBITS : integer range 1 to 8 := 4
);
Instanciación:
begin
counter_inst0 : counter
generic map (
G_NBITS => 5
)