W tym przykładzie opisano, jak utworzyć hierarchiczny projekt przy użyciu VHDL. Projekt najwyższego poziomu, zwany top.vhd,implementuje instancję funkcji logic.vhd. W pliku top.vhd komponent funkcji logicznej jest zgłaszany wewnątrz architektury, w której jest on inkorpionowany. Deklaracja komponentu definiuje porty funkcji niższego poziomu.
Powiązane łącza
Aby uzyskać więcej informacji na temat korzystania z tego przykładu w swoim projekcie, zapoznaj się z sekcją Jak korzystać z przykładów VHDL na stronie internetowej VHDL.
top.vhd (plik najwyższego poziomu)
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>