-- -- Komplettes Aufzugsystem -- entity SYSTEM is port (inknopf : in bit_vector (1 to 5); outknopf : in bit_vector (1 to 5)); constant STW : integer := 5; end SYSTEM; architecture SYSTEM of SYSTEM is component CONTROLLER port (inknopf : in bit_vector (1 to STW); outknopf : in bit_vector (1 to STW); at : in bit_vector (1 to STW); door_open: in bit; moving : in bit; go_up : out bit; go_down : out bit; open_door: out bit); end component; component AUFZUG port (progress: in bit; go_up: in bit; go_down: in bit; open_door: in bit; at: out bit_vector (1 to STW); door_open: out bit; moving: out bit); end component; signal go_up, go_down, open_door, door_open, moving, progress : bit; signal at : bit_vector (1 to STW); for AUZ: AUFZUG use entity work.AUFZUG(AUFZUG) generic map (STW); for CTL: CONTROLLER use entity work.CONTROLLER(CONTROLLER) generic map (STW); begin AUZ: AUFZUG port map (progress, go_up, go_down, open_door, at, door_open, moving); CTL: CONTROLLER port map (inknopf, outknopf, at, door_open, moving, go_up, go_down, open_door); -- -- tja, das wird langweilig. Alles was wir zu tun haben ist, ab und zu mal -- den Aufzugsautomaten aufzuwecken. Alles andere regeln Aufzug und Controller -- schon unter sich. -- process begin wait for 100 ns; progress <= not(progress); end process; end SYSTEM;