X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für...

21
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

Transcript of X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für...

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

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

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

X. Übungsblatt – Aufgabe X• Ansonsten funktioniert die Steuerung gemäß folgendem

Zustandsdiagramm:

Übung zu Grundlagen der Technischen Informatik

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

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

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

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

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

X. Übungsblatt – Aufgabe X

entity PCU is port (

o_isolate: out std_logic;o_connect: out std_logic;

i_new_job: in std_logic;i_suspend: in std_logic;i_no_job: in std_logic;i_wake_up: in std_logic;

--Synchroner Automat => clk;i_clk: in std_logic;i_rst: in std_logic);

end entity PCU;Übung zu Grundlagen der Technischen Informatik

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

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

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

X. Übungsblatt – Aufgabe X

architecture PCU_RTL of PCU is

-- internal signal for output portssignal 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

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

X. Übungsblatt – Aufgabe X

beginFSM: process (i_clk, i_rst)

variable v_s_state_next: state_type;begin

if (i_rst = ‘1‘) thens_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

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

X. Übungsblatt – Aufgabe X

elsif (rising_edge(i_clk)) thencase (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

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

X. Übungsblatt – Aufgabe X

when IDLE =>if (i_new_job = ‘1‘) then

v_s_state_next := RUNNING;

elsif (i_no_job = ‘1‘) thenv_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

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

X. Übungsblatt – Aufgabe X

when IDLE => …when RUNNING =>

if (i_new_job = ‘1‘) thenv_s_state_next := RUNNING;

elsif (i_suspend = ‘1‘) thenv_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

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

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

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

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

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

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

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

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

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

X. Übungsblatt – Aufgabe X

elsif (rising_edge(i_clk)) thencase (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 portso_isolate <= s_o_isolate;o_connect <= s_o_connect;end architecture PCU_RTL;

Übung zu Grundlagen der Technischen Informatik

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

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

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

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

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

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

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

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

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

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