Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Minna Holtzer Geändert vor über 8 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.