Questo esempio descrive come creare una progettazione gerarchica utilizzando VHDL. La progettazione di livello superiore, chiamata top.vhd, implementa un'istanza della funzione logic.vhd. Nel file top.vhd, un componente per la funzione logica viene dichiarato all'interno dell'architettura in cui è stata creata un'istanza. La dichiarazione del componente definisce le porte della funzione di livello inferiore.
Link correlati
Per ulteriori informazioni sull'utilizzo di questo esempio nel progetto, fare riferimento alla sezione Come utilizzare gli esempi VHDL nella pagina Web VHDL.
top.vhd (file di primo livello)
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>