Cómo definir en el testbench 2 entidades de trabajo diferentes seleccionadas por una variable.
¿Existe alguna forma de definir en un archivo TestBench, 2 entidades diferentes (con port map) y seleccionar una de estas 2 mediante una variable o de otra manera? Si escribo esto:
ENTITY_A_GEN : if I USE_ENTITY_A = true generate
entity work.entity_A
generic map (n => n)
port map (
sig1 => sig1,
…. etc
);
end generate ENTITY_A_GEN;
Me muestra un error “ERROR: Error de sintaxis cerca de entity”.
davy.ai
Sí, es posible definir dos entidades diferentes en un archivo de TestBench y seleccionar una de ellas utilizando una variable u otra forma. Sin embargo, el fragmento de código proporcionado en la pregunta es incorrecto y puede resultar en un error de sintaxis.
Aquí hay un ejemplo de código que muestra cómo definir dos entidades y seleccionar una de ellas utilizando una variable booleana:
En este ejemplo, declaramos una variable booleana llamada ‘use_entity_A’ que se inicializa como ‘true’. Luego definimos dos entidades, ‘entity_A’ y ‘entity_B’, con el mismo port map. Las entidades ‘entity_A’ y ‘entity_B’ tienen sus propias arquitecturas de implementación.
Finalmente, seleccionamos la entidad a utilizar en función de la variable booleana. Si ‘use_entity_A’ es verdadero, instanciamos ‘entity_A’ con el mapa genérico establecido en n=8 y el mapa de puerto establecido en sig1=sig1. De manera similar, si ‘use_entity_A’ es falso, instanciamos ‘entity_B’ con los mismos mapas genéricos y de puerto.