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
beginres2<= res1 and in3 after 1 ns;
res1<= in1 and in2 after 1 ns;
process (in1, in2, in3)
variable int1, int2:bit:='0';
beginint1:=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?
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
beginprocess (x)
begincase 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?