이 예에서는 VHDL을 사용하여 계층적 디자인을 만드는 방법을 설명합니다. top.vhd라고하는 최상위 설계는 함수 logic.vhd의인스턴스를 구현합니다. top.vhd 파일에서 로직 함수의 구성 요소가 인스턴스화되는 아키텍처 내부에 선언됩니다. 구성 요소 선언은 하위 레벨 함수의 포트를 정의합니다.
top.vhd(최상위 파일)
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>