En este ejemplo se describe cómo crear un diseño de consangre con VHDL. El diseño de nivel superior, denominado top.vhd, implementa una instancia de la función logic.vhd. En el archivo top.vhd, se declara un componente para la función lógica dentro de la arquitectura en la que se crea una instancia. La Declaración de componente define los puertos de la función de nivel inferior.
Enlaces relacionados
Para obtener más información sobre el uso de este ejemplo en su proyecto, consulte la sección Cómo utilizar los ejemplos de VHDL en la página web de VHDL.
top.vhd (archivo de nivel superior)
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY top IS
PORT(w_in, x_in, y_in :IN std_logic;
clock :IN std_logic;
z_out :OUT std_logic);
END top;
ARCHITECTURE a OF top IS
COMPONENT logic
PORT(a,b,c :IN std_logic;
x :OUT std_logic);
END COMPONENT;
SIGNAL w_reg, x_reg, y_reg, z_reg :std_logic;
BEGIN
low_logic : logic PORT MAP (a => w_reg, b => x_reg, c => y_reg, x => z_reg);
PROCESS(clock)
BEGIN
IF (clock'event AND clock='1') THEN
w_reg<=w_in; x_reg<=x_in; y_reg<=y_in; z_out<=z_reg; END IF; END PROCESS; END a; </PRE>
logic.vhd
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY logic IS
PORT(a,b,c : IN std_logic;
x : OUT std_logic);
END logic;
ARCHITECTURE a OF logic IS
BEGIN
PROCESS (a,b,c)
BEGIN
x<=(a and b) or c; END PROCESS; END; </pre>