-- eine Fussgaengerampel zeigt normalerweise auf rot
-- drueckt man den Knopfl, geht sie auf gruen
-- dort bleibt sie fuer drei Sekunden
-- und geht zurueck auf rot
-- z0+ = z0 AND NOT Knopf OR z2
-- z1+ = z0 AND KNOPF
-- z2+ = z1
-- farbe = z0 AND knopf OR z1 OR z2
library ieee;
use ieee.std_logic_1164.all;
entity ampel20240111 is
port (
farbe: out std_logic;
knopf: in std_logic;
z2p, z1p, z0p: out std_logic;
z2, z1, z0: in std_logic
);
end;
architecture verhalten of ampel20240111 is
begin
z0p <= ((z0 and not knopf) or z2);
z1p <= (z0 and knopf);
z2p <= (z1);
farbe <= (z0 and knopf) or z1 or z2;
end;