Simulation Steffen Ostendorff BlockM, R602, Tel: -1788 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 06 December 2010 Self-Organization 08 December 2010 1
Inhalt des Seminars Heute Simulation Funktionale Simulation Beschreibung von Zustandsautomaten Moore vs. Mealy State t Charts OR states AND states Praktische Aufgabe 06 December 2010 2
Simulation Simulation Funktionale Simulation (Behavioral) Timing Simulation (post translate) Timing Simulation (post map) Timing Simulation (post route) Beispiel für funktionale Simulation Inputsignal eines Tasters Zähler für Anzahl Tastimpulse Statemachine mit drei Zuständen Outputsignal einer LED 06 December 2010 3
Simulation Simulation Funktionale Simulation (Behavioral) Timing Simulation (post translate) Timing Simulation (post map) Timing Simulation (post route) Beispiel für funktionale Simulation Inputsignal eines Tasters Inputsignal eines Schalters Zähler für Anzahl Tastimpulse Statemachine mit drei Zuständen Outputsignal einer LED 06 December 2010 4
Signaldefinition Signaldefinition BUTTON (port) Taster SWITCH (port) Schalter svcounter (signal vector) Zähler Zählen wenn BUTTON = 1 und ststate= counting Zurücksetzen wenn ststate = idle ststate (signal type) Zustandsmachine idle (1. Zustand) Übergang nach counting wenn SWITCH(0) = 1 counting (2. Zustand) Übergang nach done wenn svcounter = 0101 done (3. Zustand) Übergang nach idle LED (port) LED 06 December 2010 5
Übersicht Testbench Inputs - Button - Switch -RST -CLK Outputs -LED - 06 December 2010 6
Quellcode Entity 06 December 2010 7
Quellcode Signals 06 December 2010 8
Quellcode State machine 06 December 2010 9
Quellcode Counter & Input/Output 06 December 2010 10
Quellcode Testbench Komponentendeklaration 06 December 2010 11
Quellcode Testbench Komponenteninstanziierung 06 December 2010 12
Quellcode Testbench Taktdefinition Resetdefinition 06 December 2010 13
Quellcode Testbench Definition der 8 Eingangssignale SWITCH 06 December 2010 14
Quellcode Testbench Definition der 4 Eingangssignale BUTTON 06 December 2010 15
Wave File 06 December 2010 16
Simulation Überblick 06 December 2010 17
Simulation Ausschnitt Reset 06 December 2010 18
Simulation Ausschnitt idle/button 06 December 2010 19
Simulation Ausschnitt SWITCH 06 December 2010 20
Simulation Ausschnitt counting/button 06 December 2010 21
Simulation Gesamtablauf 06 December 2010 22
Realisierung von Automaten in VHDL Moore vs. Mealy Steffen Ostendorff BlockM, R602, Tel: -1788 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 06 December 2010 Self-Organization 08 December 2010 23
Realisierungen von Automaten Umsetzung von Automaten (Wiederholung) Moore abhängig vom Zustand Anzahl Zustände größer-gleich der Mealy Realisierung Mealy abhängig vom Zustand und den Eingängen 06 December 2010 24
Moore- und Mealy-Automat (Wiederholung) Moore-Automat t Mealy-Automat t A=[X,Y,Z,δ,μ] A=[X,Y,Z,δ,λ] a Z a Z X δ n Z τ μ Y X δ n Z τ λ Y δ : a Z x X n Z μ : a Z Y δ : a Z x X n Z μ : a Z x X Y 06 December 2010 25
Darstellung Moore- / Mealy-Automat Ein einfaches Beispiel (Moore) Bei Button B0 und sfswitch = 1 sollen alle LEDs leuchten bis B1 gedrückt wird B2 setzt System zurück nb0 nb1 A B0+S=1 B L gleiche Funktion (Mealy) nb0 A B0+S=1/L B nb1/l B2 B1 B2 B1 C C nb2 nb2 VGA_Project_v4_00 VGA_Project_v4_10 06 December 2010 26
Umsetzung Moore-Automat Extra Logik, um die Unterschiede zwischen Moore und Mealy bei der Umsetzung besser zu veranschaulichen. Bewirkt längere Signallaufzeiten für Eingangssignal svswitch. 06 December 2010 27
Ressourcen Moore-Automat 06 December 2010 28
Schematic Moore- Automat state machine logic sync a Z async X δ n Z τ μ Y 06 December 2010 29
Schematic Moore- Automat state machine τ μ logic δ sync a Z async X δ n Z τ μ Y 06 December 2010 30
Timing Moore-Automat Bei 3.5 ns Timing constraints 3.776 ns geschätzt (nach der Synthese) 3.432 ns erreicht (nach der Implementierung) 06 December 2010 31
Umsetzung Mealy-Automat 06 December 2010 32
Ressourcen Mealy-Automat Ähnliche h State t machine Gleiche Ressourcen 06 December 2010 33
Schematic Mealy-Automat extra Logic vor FF RTL Schematic a Z X δ n Z τ λ Y 06 December 2010 34
Schematic Mealy-Automat extra Logic vor FF RTL Schematic τ λ δ a Z X δ n Z τ λ Y 06 December 2010 35
Schematic Mealy-Automat (Vergrößerung) 06 December 2010 36
Timing Mealy-Automat Bei 3.5 ns Timing constraints 3.847 ns geschätzt (nach der Synthese) 4.839 ns erreicht (nach der Implementierung) 06 December 2010 37
Timinganalyse Mealy-Automat 06 December 2010 38
Simulation Moore-Automat 06 December 2010 39
Simulation Mealy-Automat 06 December 2010 40
Vergleich der Simulationen Reaktionszeit um 1 Takt reduziert # Anmerkung: Button jetzt nicht mehr Taktsynchron zur Visualisierung des Effektes in der Testbench. Hat keinen Einfluss auf das realtive Ergebniss der letzten Folien. Ggf. selbst mit den Projekten v4_00 und v4_10 zu überprüfen. üf 06 December 2010 41
Ergebnisse der Simulation (Reaktionsverhalten vergleichen) Moore Mealy Ausgabe abhängig vom Zustand Trennung der Signallaufzeiten vor und nach der State machine Oft schnellere Taktung durch verteilen der Logiklaufzeiten Ausgabe abhängig vom Zustand und den Eingängen Logik der Eingänge beeinflusst Timing in der Ausgabe Oft langsamere Taktung durch Laufzeiten der Logik Langsamere Reaktion auf Input Output können keine Spikes enthalten Schnellere Reaktion auf Inputs Outputs können Spikes enthalten (lässt sich wie in der Simulation durch ggf. nachgeschaltetes FF beheben) Ergebnisse jedoch Abhängig von der Synthese. Bei anderen Einstellungen optimiert die Software so viel, dass beide Varianten in diesem Fall (!) ähnliche Ergebnisse liefern. 06 December 2010 42
State Charts Steffen Ostendorff BlockM, R602, Tel: -1788 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group 06 December 2010 Self-Organization 08 December 2010 43
Wiederholung State Charts Hierarchische FSM (hierarchy) OR states FSM ist in Zustand a, wenn sie in einem der Unterzustände a1, a2, ist Nebenläufige FSM (concurrency) AND states Mehrere FSM sind gleichzeitig aktiv 06 December 2010 44
Wiederholung 06 December 2010 45
Praktische Aufgabe 1 State t Charts OR states t c a A b C d B e f f D g E h F g 06 December 2010 46
Praktische Aufgabe 1 Fassen Sie die Zustände zu einem oder mehreren hierarchischen Zuständen zusammen. 06 December 2010 47
Praktische Aufgabe 1 Lösung 1 G c a A b C d B e f D g E h g F 06 December 2010 48
Praktische Aufgabe 1 Lösung 2 G c a A b C d B e f D g g E H h F 06 December 2010 49
Praktische Aufgabe 2 State t Charts OR states t Wie Aufgabe 1, jedoch mit zwei weiteren Übergängen (g) von C und B nach D c a A b C d B e g g f D g E f h F g 06 December 2010 50
Praktische Aufgabe 2 Fassen Sie die Zustände zu einem oder mehreren hierarchischen Zuständen zusammen. 06 December 2010 51
Praktische Aufgabe 2 Erster Schritt G c a A b C d B e f D g E h F 06 December 2010 52
Praktische Aufgabe 2 Zweiter Schritt H G c a A b C d B e f D g E h F 06 December 2010 53
Wiederholung 06 December 2010 54
Praktische Aufgabe 3 State t Charts AND states t a A b X,Y d V,Y e f f B g V,W h C g 06 December 2010 55
Praktische Aufgabe 3 Führen Sie für die vorgegebene Zustandsmachine eine AND Dekomposition durch. 06 December 2010 56
Praktische Aufgabe 3 Lösung A b S X d v f Y f T a e V W B g ^ T in W h g C 06 December 2010 57
Praktische Aufgabe 3 Falsche Lösung FALSCH: Da g nicht von X und Y zulässig AND und OR sondern nur von V und W!!! H S T X Y A b d v f f a e B g V W h C 06 December 2010 58
Praktische Aufgabe 3 Korrekte Aufgabenstellung für Aufgabe 3, für die die letzten falsche Lösung korrekt gewesen wäre. a e A g b X,Y d g V,Y f B g V,W f h C g 06 December 2010 59