Simulación vs síntesis

Se presentan un par de ejemplos de análisis de código simples e interesantes que muestran la particularidad simulación versus síntesis

Con ello se pretende incidir en el hecho de que hay que conocer la finalidad del modelo cuando se crea

Ejemplo 1 (es interesante encontrar la solución previa abertura de la misma)

Un modelo viene descrito por el siguiente código

architecture func of prueba is
begin

res2<= res1 and in3 after 1 ns;
res1<= in1 and in2 after 1 ns;
process (in1, in2, in3)
variable int1, int2:bit:='0';
begin

int1:=in1 and in2; -- (1)
int2:=int1 and in3; -- (2)
res3<=int1 after 3 ns;
res4<=int2 after 3 ns;

end process;

end;

i) ¿Cuál es el circuito combinacional -función- que implementa?

ii) ¿Qué ocurre si intercambiamos el orden de las instrucciones (1) y (2) en simulación? ¿Qué ocurriría en síntesis?

Respuesta a las preguntas

Ejemplo 2(es interesante encontrar la solución previa abertura de la misma)

Un segundo modelo tiene la siguiente descripción VHDL

entity Concurrent is port

( x: in std_logic_vector(2 downto 0);
z1, z0: buffer std_logic);

end;
architecture logic of Concurrent is
begin

process (x)
begin

case conv_integer(x) is

when 3 to 5 | 7 => z1 <= '1' after 1 ns;
when others => z1 <= '0' after 1 ns;

end case;
z0 <= z1 after 1 ns;

end process;

end;

i) ¿Cuál sería su diagrama temporal en una herramienta de simulación?

ii) ¿Y en una herramienta de síntesis?

Respuesta a las preguntas

Anterior
Volver a inicio curso
Volver a inicio capítulo
Siguiente


WcN - Joan Oliver. Diseño de circuitos digitales con VHDL: Síntesis