/media/sda-magnetic/david/Dok-15-2023-11-27/informatik/vhdl-2024-01-16/ampel20240111.vhdl


-- 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;