Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem.

Ähnliche Präsentationen


Präsentation zum Thema: "X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem."—  Präsentation transkript:

1 X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem Energieverbrauch in VHDL beschrieben werden: Wenn das Gerät eingeschaltet wird, befindet sich der Steuerautomat im Anfangszustand idle. Ansonsten funktioniert die Steuerung gemäß folgendem Zustandsdiagramm: Übung zu Grundlagen der Technischen Informatik

2 X. Übungsblatt – Aufgabe X Ansonsten funktioniert die Steuerung gemäß folgendem Zustandsdiagramm: Übung zu Grundlagen der Technischen Informatik

3 X. Übungsblatt – Aufgabe X a)Geben Sie die Schnittstellenbeschreibung des abgebildeten Automaten in Form einer Entity in VHDL an. Überlegen Sie zuerst, ob Signale Ein- oder Ausgabesignale, bzw. intern oder extern sind. Hinweis: Alle Ein- bzw. Ausgangssignale nehmen nur die Binärwerte 0 oder 1 an. b)Geben Sie eine Implementierung des Automaten (siehe Abbildung) in Form einer VHDL Architecture-Beschreibung an. (Die Verwendung von IEEE-Libraries kann weggelassen werden.) Übung zu Grundlagen der Technischen Informatik

4 X. Übungsblatt – Aufgabe X a)Geben Sie die Schnittstellenbeschreibung des abgebildeten Automaten in Form einer Entity in VHDL an. Überlegen Sie zuerst, ob Signale Ein- oder Ausgabesignale, bzw. intern oder extern sind. Hinweis: Alle Ein- bzw. Ausgangssignale nehmen nur die Binärwerte 0 oder 1 an. Übung zu Grundlagen der Technischen Informatik

5 X. Übungsblatt – Aufgabe X entity PCU is port ( o_isolate:outstd_logic; o_connect:outstd_logic; i_new_job:instd_logic; i_suspend:instd_logic; i_no_job:instd_logic; i_wake_up:instd_logic; --Synchroner Automat => clk; i_clk:instd_logic; i_rst:instd_logic); end entity PCU; Übung zu Grundlagen der Technischen Informatik

6 X. Übungsblatt – Aufgabe X b)Geben Sie eine Implementierung des Automaten (siehe Abbildung) in Form einer VHDL Architecture-Beschreibung an. (Die Verwendung von IEEE-Libraries kann weggelassen werden.) Übung zu Grundlagen der Technischen Informatik

7 X. Übungsblatt – Aufgabe X architecture PCU_RTL of PCU is -- internal signal for output ports signal s_o_isolate:std_logic; signal s_o_connect:std_logic; -- Zustaende: type state_type is (IDLE, RUNNING, SAVE_STATE, POWER_DOWN, SLEEPING, WAKE_UP, POWER_UP, RESTORE_STATE); signal s_current_state:state_type; Übung zu Grundlagen der Technischen Informatik

8 X. Übungsblatt – Aufgabe X begin FSM: process (i_clk, i_rst) variable v_s_state_next:state_type; begin if (i_rst = ‘1‘) then s_current_state <= IDLE; v_s_state_next := IDLE; s_o_isolate <= ‘0‘; s_o_connect <= ‘1‘; elsif (rising_edge(i_clk)) then … Übung zu Grundlagen der Technischen Informatik

9 X. Übungsblatt – Aufgabe X elsif (rising_edge(i_clk)) then case (s_current_state) is when IDLE => … when RUNNING => … when SAVE_STATE => … when POWER_DOWN => … when SLEEPING => … when WAKE_UP => … when POWER_UP => … when RESTORE_STATE => … when others => … end case; … Übung zu Grundlagen der Technischen Informatik

10 X. Übungsblatt – Aufgabe X when IDLE => if (i_new_job = ‘1‘) then v_s_state_next := RUNNING; elsif (i_no_job = ‘1‘) then v_s_state_next := POWER_DOWN; else v_s_state_next := IDLE; end if; when RUNNING => … when SAVE_STATE => … when POWER_DOWN => … when SLEEPING => … when WAKE_UP => … … Übung zu Grundlagen der Technischen Informatik

11 X. Übungsblatt – Aufgabe X when IDLE => … when RUNNING => if (i_new_job = ‘1‘) then v_s_state_next := RUNNING; elsif (i_suspend = ‘1‘) then v_s_state_next := SAVE_STATE; else v_s_state_next := RUNNING; end if; when SAVE_STATE => … when POWER_DOWN => … when SLEEPING => … when WAKE_UP => … … Übung zu Grundlagen der Technischen Informatik

12 X. Übungsblatt – Aufgabe X when IDLE => … when RUNNING => when SAVE_STATE => v_s_state_next := POWER_DOWN; when POWER_DOWN => s_o_isolate <= ‘1‘; s_o_connect <= ‘0‘; v_s_state_next := SLEEPING; when SLEEPING => … when WAKE_UP => … when POWER_UP => … when RESTORE_STATE => … when others => … … Übung zu Grundlagen der Technischen Informatik

13 X. Übungsblatt – Aufgabe X when IDLE => … when RUNNING => when SAVE_STATE => when POWER_DOWN => when SLEEPING => if (i_wake_up = ‘1‘ OR i_new_job = ‘1‘) then v_s_state_next := WAKE_UP; else v_s_state_next := SLEEPING; end if; when WAKE_UP => … when POWER_UP => … when RESTORE_STATE => … … Übung zu Grundlagen der Technischen Informatik

14 X. Übungsblatt – Aufgabe X when IDLE => … when RUNNING => when SAVE_STATE => when POWER_DOWN => when SLEEPING => when WAKE_UP => v_s_state_next := POWER_UP; when POWER_UP => s_o_connect <= ‘1‘; v_s_state_next := RESTORE_STATE; when RESTORE_STATE => v_s_state_next := IDLE; when others => … … Übung zu Grundlagen der Technischen Informatik

15 X. Übungsblatt – Aufgabe X when IDLE => … when RUNNING => when SAVE_STATE => when POWER_DOWN => when SLEEPING => when WAKE_UP => … when POWER_UP => … when RESTORE_STATE => … when others => s_o_isolate <= ‘0‘; s_o_connect <= ‘1‘; v_s_state_next := IDLE; end case; … Übung zu Grundlagen der Technischen Informatik

16 X. Übungsblatt – Aufgabe X elsif (rising_edge(i_clk)) then case (s_current_state) is … end case; -- Setze den naechsten Zustand: s_current_state <= v_s_state_next; end if; end process FSM; -- assign internal signals to ports o_isolate <= s_o_isolate; o_connect <= s_o_connect; end architecture PCU_RTL; Übung zu Grundlagen der Technischen Informatik

17 X. Übungsblatt – Aufgabe X c)Welche zusätzliche spezielle VHDL-Beschreibung wird benötigt, um den Automaten mit einem Simulationsprogramm zu simulieren? d)Welche Signale müssen in der speziellen Beschreibung aus Teilaufgabe c) unbedingt gesetzt bzw. initialisiert werden? Übung zu Grundlagen der Technischen Informatik

18 X. Übungsblatt – Aufgabe X c)Welche zusätzliche spezielle VHDL-Beschreibung wird benötigt, um den Automaten mit einem Simulationsprogramm zu simulieren? Übung zu Grundlagen der Technischen Informatik

19 X. Übungsblatt – Aufgabe X c)Welche zusätzliche spezielle VHDL-Beschreibung wird benötigt, um den Automaten mit einem Simulationsprogramm zu simulieren? →Testbench-Datei Übung zu Grundlagen der Technischen Informatik

20 X. Übungsblatt – Aufgabe X c)Welche zusätzliche spezielle VHDL-Beschreibung wird benötigt, um den Automaten mit einem Simulationsprogramm zu simulieren? →Testbench-Datei d)Welche Signale müssen in der speziellen Beschreibung aus Teilaufgabe c) unbedingt gesetzt bzw. initialisiert werden? Übung zu Grundlagen der Technischen Informatik

21 X. Übungsblatt – Aufgabe X c)Welche zusätzliche spezielle VHDL-Beschreibung wird benötigt, um den Automaten mit einem Simulationsprogramm zu simulieren? →Testbench-Datei d)Welche Signale müssen in der speziellen Beschreibung aus Teilaufgabe c) unbedingt gesetzt bzw. initialisiert werden? →Clock und Reset Übung zu Grundlagen der Technischen Informatik


Herunterladen ppt "X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem."

Ähnliche Präsentationen


Google-Anzeigen