3 Sequenzielle. Digitaltechnik. Schaltungen. Definition (Transitionssystem) Definition (Berechnung) Transitionssysteme

Ähnliche Dokumente
Digitaltechnik. 3 Sequenzielle. Schaltungen. Revision 1.1

Aufgabe 1: Diskutieren Sie die Unterschiede bzw. die Vorteile und Nachteile der Mealy- und Moore- Zustandsmaschinen.

Grundbegriffe der Informatik

Aufgabe 1: Diskutieren Sie die Unterschiede bzw. die Vorteile und Nachteile der Mealy- und Moore- Zustandsmaschinen.

Lösung zur Bonusklausur über den Stoff der Vorlesung Grundlagen der Informatik II (45 Minuten)

Rechnernetze und Organisation

4 Prozessor-Datenpfad

Übungen zur Wiederholung quer durch den Stoff Vollständigkeit wird nicht garantiert, und einige sind umfangreicher als klausurtypisch.

2.6 Reduktion endlicher Automaten

Bonusklausur über den Stoff der Vorlesung Grundlagen der Informatik II (45 Minuten)

4. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16

Inhalt. Endliche Automaten. Automaten und Formale Sprachen. Franz Binder. Endliche Automaten. Deterministische Automaten

Algorithmen und Datenstrukturen 1 Kapitel 4.2

4 Prozessor-Datenpfad

Franz Binder. Vorlesung im 2006W

Gliederung. Kapitel 1: Endliche Automaten

Deterministische endliche Automaten. Berechenbarkeit und Komplexität Endliche Automaten. Deterministische endliche Automaten

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Automaten und formale Sprachen Notizen zu den Folien

Vorkurs Theoretische Informatik

Klausur zur Vorlesung Grundbegriffe der Informatik 10. März 2009 mit Lösungsvorschlägen

i)((a + b) + (ā b)) + c ii ) (a c) + ((b + 0) c) iii) (a c) (ā + c) (b + c + b) iv ) (ā + (b c)) + (c (b + c))

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kurzer Einschub: das Schubfachprinzip.

Übungsblatt Nr. 1. Lösungsvorschlag

>1 z. a b. a b. a b. log. 0. a b. Übung 3: Schaltnetze. VU Technische Grundlagen der Informatik

1) Gegeben sei ein endlicher, erkennender Automat, definiert durch: f z, definiert durch das Zustandsdiagramm: a,b. z 3

1. Grundlagen der Informatik Digitale Systeme

Grundbegriffe der Informatik

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

S 1. Definition: Ein endlicher Automat ist ein 5-Tupel. Das endliche Eingabealphabet

Automaten, Spiele, und Logik

Grundbegriffe der Informatik Lösungsvorschläge Aufgabenblatt 11

Einführung in die Mathematik des Operations Research

Frank Heitmann 2/71. 1 Betrachten wir Σ für ein Alphabet Σ, so ist Σ die Menge

Formale Systeme, Automaten, Prozesse SS 2010 Musterlösung - Übung 2 M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder

Modul 3: Schaltnetze. Informatik I. Modul 3: Schaltnetze. Schaltnetze. Formale Grundlagen. Huntingtonsche Axiome.

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

4. Lineare Gleichungen mit einer Variablen

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

DEA1 Deterministische Version

Minimalität des Myhill-Nerode Automaten

Umwandlung von endlichen Automaten in reguläre Ausdrücke

Vorlesung Theoretische Informatik Sommersemester 2018 Dr. B. Baumgarten

Kapitel 4. Minimierung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

FORMALE SYSTEME. Kleene s Theorem. Wiederholung: Reguläre Ausdrücke. 7. Vorlesung: Reguläre Ausdrücke. TU Dresden, 2.

Minimierung von DFAs. Minimierung 21 / 98

Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)

Was nicht bewertet werden soll, streichen Sie bitte durch. Werden Täuschungsversuche beobachtet, so wird die Präsenzübung mit 0 Punkten bewertet.

Mitschrift Repetitorium Theoretische Informatik und Logik

Algorithmen und Datenstrukturen 1 Kapitel 3

Lösungen zum Ergänzungsblatt 4

Musterlösungen zur 4. Übung

Minimalautomat. Wir stellen uns die Frage nach dem. kleinsten DFA für eine reguläre Sprache L, d.h. nach einem DFA mit möglichst wenigen Zuständen.

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

4.1 Vom zu lösenden Problem abhängige Schaltung Vom zu lösenden Problem abhängige Schaltung

Theoretische Informatik und Logik Übungsblatt 2 (2013S) Lösung

Klausur Formale Sprachen und Automaten Grundlagen des Compilerbaus

/LQHDUH*OHLFKXQJVV\VWHPH

Automaten und formale Sprachen Notizen zu den Folien

1KOhm + - y = x LED leuchtet wenn Schalter x gedrückt ist

vollständig (Vervollständigung) deterministisch, DFA (Potenzmengenkonstruktion) Minimalautomat: minimaler vollständiger DFA

a) Eine Menge, die aus jeder Äquivalenzklasse genau ein Element enthält, ist

Endliche Automaten können wahlweise graphisch oder tabellarisch angegeben werden.

Prof. Dr. Javier Esparza Garching b. München, den Klausur Einführung in die theoretische Informatik Sommer-Semester 2017

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 14 MULTIPLIKATION EINES VEKTORS MIT EINEM SKALAR

Übung Grundbegriffe der Informatik

a q 0 q 1 a M q 1 q 3 q 2

6. Übungsblatt. (i) Von welchem Typ ist die Grammatik G? Begründen Sie Ihre Antwort kurz.

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert. Lösung

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 15 ORTHOGONALITÄT

7 Modellierung von Abläufen 7.1 Endliche Automaten

Automaten und formale Sprachen Notizen zu den Folien

dem Verfahren aus dem Beweis zu Satz 2.20 erhalten wir zunächst die folgenden beiden ε-ndeas für die Sprachen {a} {b} und {ε} {a} +

Automaten und formale Sprachen Notizen zu den Folien

HM I Tutorium 13. Lucas Kunz. 2. Februar 2017

Automaten mit dot erstellen

Universität Heidelberg 13. Oktober 2016 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Nadine Losert

Seminar - Model Checking

Nichtdeterministische endliche Automaten. Nichtdetermistische Automaten J. Blömer 1/12

Einführung in den Compilerbau

Lösungsbeispiele zur Wiederholung quer durch den Stoff

Grundlagen der Theoretischen Informatik, WS11/12 Minimale Automaten

Zustand eines digitalen Systems. FB Technologie und Management. Negation, Disjunktion, Konjunktion. Datenverarbeitung 1 (Kapitel 4 Boolesche Algebra)

Beispiellösungen zu Blatt 24

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Übungsblatt 1. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Aufbau und Funktionsweise eines Computers

Klausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2013)

Finite-State Technology

Automaten und formale Sprachen Notizen zu den Folien

Deterministische endliche Automaten

Gliederung. Kapitel 1: Endliche Automaten

Aufgabensammlung: Vertiefung der Schulmathematik 1.1 Handelt es sich bei den folgenden Zuordnungen um Funktionen? Begründen Sie ihre Entscheidung.

Datenstrukturen & Algorithmen Lösungen zu Blatt 2 FS 16

Spiele und logische Komplexitätsklassen

Transkript:

A Digitltechnik 3 Sequenzielle Schltungen Trnsitionssysteme Synchroner sequenzieller Entwurf Timing-Anlyse Pipelining Mely und Moore Mschinen Revision. Zustndsmschinen in Verilog Sequentielle Schltungen Allgemeines sequentielles System Komintorisch (engl. comintionl ) Zustndsfrei Flyweight Pttern in OOP: Ojekte ohne Zustnd Funktionle Progrmmierung (Lisp, ML): keine Seiteneffekte Ausgen sind funktionl von den Eingen hängig Sequentiell (engl. sequentil ) Zustndsehftet vgl. Ojektorientierte Progrmmierung (OOP): Ojekte mit Zustnd vergngenes Verhlten und Eingen estimmen den nächsten Zustnd Einge Momentner Zustnd (current/presentte) Komintorische Logik Register Ausge Folgezustnd (nextte) (hier nur Hrdwresicht, kum Anlogie zu OOP) Digitltechnik Kpitel 3: Sequenzielle Schltungen 3 Digitltechnik Kpitel 3: Sequenzielle Schltungen 4 Synchron vs. synchron Astrktion sequentielles System Synchron (engl. synchronous) gloles Tktsignl (engl. clock) Zustndsänderungen zu fespezifizierten Zeiten Vereinfchter Entwurf Definition (Trnsitionssystem) Ein Trnsitionssystem ist ein Tripel S, I, T mit S: Menge der Zustände I S: Initilzustände T : S S: Üergngsreltion Asynchron (engl. synchronous) Zustndsänderung zu elieigen Zeitpunkten Auch Üergng zwischen unterschiedlichen clock domins Behndlung von Hzrds isehr schwierig Definition (Berechnung) Eine Berechnung ist eine Folge s,..., s n mi i S und s I i : (s i, s i+ ) T Hier: Nur synchrone Schltungen Vgl. endliche Automten us der theoretischen Informtik Digitltechnik Kpitel 3: Sequenzielle Schltungen 5 Digitltechnik Kpitel 3: Sequenzielle Schltungen

Beispiel: Modulo 4 Zähler Determinismus Solche Automten eschreien i. Allg. nicht-deterministische Systeme:. Dedends: Zustände ohne Nchfolgezustnd 3 2 2. Zustände mit mehreren möglichen Nchfolgern Menge der Zustände S : die Zhlen is 3 ein Initilzustnd: I = {} Trnsitionsreltion: der Zähler wird um eins erhöht modulo 4 T = {(, ), (, 2), (2, 3), (3, )} Für die Hrdwre-Generierung ruchen wir Determinismus: Jeder Zustnd ht genu einen Nchfolger Digitltechnik Kpitel 3: Sequenzielle Schltungen Digitltechnik Kpitel 3: Sequenzielle Schltungen 8 Trnsitionsfunktionen Beispiel: Modulo 4 Zähler miynchronem Reset Ws mchen wir mit den Eingängen unserer Schltung? Wir führen ein Eingelphet E ein Trnsitionsfunktion δ : (S E) S Initilzustndsprädikt: I : (S E) 3 2 S = {,..., 3} E = {, } Spezilfll einer Trnsitionsreltion: (x, y) T e E.δ(x, e) = y Vorteil: für gegeenes e offensichtlich deterministisch! Keine Dedends! Zähler wird uf zurückgesetzt wenn gilt, nsonsten wird Zähler um eins erhöht modulo 4: { : δ(s, ) = (s + ) mod 4 : sonst Fehlt noch: Bits! Digitltechnik Kpitel 3: Sequenzielle Schltungen Digitltechnik Kpitel 3: Sequenzielle Schltungen Modulo 4 Zähler: Binärkodierung Modulo 4 Zähler: Zustndsüergngsfunktion δ = { (,, ), (,, ), (,, ), (,, ), (,, ), (,, ), (,, ), (,, ) } Zustände sind Belegung von D-Flipflops mit, {, } Binärkodierung:,, 2, 3 Trnsition c esteht us momentner Zustndselegung, Nchfolgezustndselegung und Üergngsedingung c Beispiele: δ(, ) =, δ(, ) = Digitltechnik Kpitel 3: Sequenzielle Schltungen Digitltechnik Kpitel 3: Sequenzielle Schltungen 2

Modulo 4 Zähler: Zustndsüergngstelle Beispiele Berechnung Modulo 4 Zähler Zustnd 2 3 dmit ergeen sich die Zustndsgleichungen: ( ) Zeit 2 3 4 5... Zeit 2 3 4 5... Digitltechnik Kpitel 3: Sequenzielle Schltungen 3 Digitltechnik Kpitel 3: Sequenzielle Schltungen 4 Synchroner sequenzieller Entwurf Modulo 4 Zähler miynchronem Reset. Bue die Trnsitionsfunktion ls komintorische Schltung 2. Der Zustnd wird in Flipflops gespeichert clk 3. Eine glole Clock git vor, wnn eine Trnsition usgeführt wird 4. Der Initilzustnd wird ei einem Reset erechnet Gloler Tkt: clk (wird oft weggelssen) Nur eine Einge: Next-Stte Logik: Gestrichelt umrndete Gtter Hier keine Ausgelogik Digitltechnik Kpitel 3: Sequenzielle Schltungen 5 Digitltechnik Kpitel 3: Sequenzielle Schltungen Minimierung der Zustndsgleichungen Timing-Anlyse Krnugh Digrmme für Zustndsgleichungen + Wie schnell dürfen wir die Schltung tkten? Ws pssiert, wenn wir zu schnell tkten? Erinnerung: metstile Zustände in den D-Flipflops clk Digitltechnik Kpitel 3: Sequenzielle Schltungen Digitltechnik Kpitel 3: Sequenzielle Schltungen 8

D-Flipflop mit positiver Flnkensteuerung Typischer Aluf t w C t plh t phl D t w t w C Eingng stil während setup Phse vor der Flnke t plh Eingng stil während hold Phse nch der Flnke Ausgng stil e nch propgtion Phse t plh zw. t phl nch der Flnke Q t phl Minimle Clock-Signllänge (width) t w Digitltechnik Kpitel 3: Sequenzielle Schltungen Digitltechnik Kpitel 3: Sequenzielle Schltungen 2 Mximle Betriesfrequenz Overclocking Overclocker Demo Setup+Holdzeiten + Propgtion Dely der Flipflops + Verzögerung der Trnsitionsfunktion (längster Pfd!) = Zykluszeit 32 + 32 - Die mx. Betriesfrequenz ist der Kehrwert der Zykluszeit + Digitltechnik Kpitel 3: Sequenzielle Schltungen 2 Digitltechnik Kpitel 3: Sequenzielle Schltungen 22 Beispiel Frequenzerechnung Beispiel Frequenzerechnung 25 Buteil t p AND ns - NAND ns - OR ns - Buteil t p NOR 5 ns - XOR ns - D-Flipflop ns 3 ns 3 ns 5Setup+Holdzeiten 2 + ns Propgtion Dely der Flipflops 2 + 2 ns längster Pfd = 4 ns Zykluszeit 4ns Mx. Betriesfrequenz: 243244 Hz 24.4 MHz Digitltechnik Kpitel 3: Sequenzielle Schltungen 23 Digitltechnik Kpitel 3: Sequenzielle Schltungen 24

Pipelining Beispiel Pipelining Q: Wie können wir die Tktfrequenz erhöhen? (Erfreut die Mrketing-Ateilung) 5 2 2 Erinnerung: Die Tktfrequenz wird durch den längsten Pfd zwischen zwei D-Flipflops estimmt. 25 Idee: Einfügen eines D-Flipflops in diesen Pfd! 5 2 8 Digitltechnik Kpitel 3: Sequenzielle Schltungen 25 Beispiel Pipelining 3 ns Setup+Holdzeiten + ns Propgtion Dely der Flipflops + 8 ns längster Pfd = 32 ns Zykluszeit Digitltechnik Kpitel 3: Sequenzielle Schltungen 2 5 2 Moore Mschine 8 inputs outputs next stte output stte registers clock Mx. Betriesfrequenz: 32ns 325 Hz 3.3 MHz Allgemeiner Prototyp eines synchronen sequentiellen Entwurfes Ausgen hängen nur vom momentnen Zustnd und ändern sich mit der Clock-Flnke komintorische Logik ildet den ktuellen Zustnd in den nächsten (Eselsrücke: nichängig von den Eingen, lso kein E) Digitltechnik Kpitel 3: Sequenzielle Schltungen 2 Digitltechnik Kpitel 3: Sequenzielle Schltungen 28 Mely Mschine Formlisierung inputs next stte stte registers output outputs Menge von Zuständen S, Menge von Eingen E, Menge von Ausgen O clock Moore Mschine: (S, I, E, O, δ, λ) mit δ : S E S und λ: S O Mely Mschine: (S, I, E, O, δ, λ) mit δ : S E S und λ: S E O Entwurf miynchronem Output Die Ausgen hängen vom momentnen Zustnd und den ktuellen Eingen Die Ausge knn sich unhängig von der Clock mit dem Wechseln des Inputs ändern (Eselsrücke: ds e in Mely steht für Einge) Boolesche Kodierung: S = 2 n, E = 2 m, O = 2 k δ = (δ i ) mit δ i : 2 n+m {, } für i =... n λ = (λ j ) mit λ j : 2 n {, } für j =... k (Moore) λ = (λ j ) mit λ j : 2 n+m {, } für j =... k (Mely) Digitltechnik Kpitel 3: Sequenzielle Schltungen 2 Digitltechnik Kpitel 3: Sequenzielle Schltungen 3

Komposition von Mschinen Sequentielle Komposition von Moore-Mschinen sequentiell prllel hyrid Sequentielle Komposition von Moore-Mschinen erzeugt Verzögerung (Ds erechnete Ergenis wird e im nächsten Tkt weitergegeen) (Dtenfluss von links nch rechts) Digitltechnik Kpitel 3: Sequenzielle Schltungen 3 Digitltechnik Kpitel 3: Sequenzielle Schltungen 32 Sequentielle Komposition von Mely-Mschinen Mely-Mschine ls Moore-Mschine Neu Sequentielle Komposition von Mely-Mschinen erzeugt lnge Signlpfde! (Erinnerung: längste Pfde ntiproportionl zu erzielren Tktfrequenz) Mely-Mschine Äquivlente Moore-Mschine Moore-Mschine ist um einen Tkt zeitverzögert Digitltechnik Kpitel 3: Sequenzielle Schltungen 33 Digitltechnik Kpitel 3: Sequenzielle Schltungen 34 Beispiel Verilog-Muster für Zustndsmschinen zum Ausfüllen q q q 2 q q. Verilog Modul eellen O = O = O = () O = () O = 2. Zustndsits definieren Unterer Teil: spezifiziert die Ausgefunktion λ 3. Next-Stte Funktion definieren ) Mely? Moore? 2) Ist die Ausge eider Mschinen ei gleicher Eingesequenz immer gleich? 4. Output-Funktion definieren (Buch, Aufge 3.2, Seite 3) Digitltechnik Kpitel 3: Sequenzielle Schltungen 35 Digitltechnik Kpitel 3: Sequenzielle Schltungen 3

Verilog Modul Zustndsits 5 module sttemchine(input clk,,... // Inputs output reg out,...);... endmodule loclprm [2:] AUS =, ROT =, GELB =, 5 GRUEN = ; reg [2:] stte ; Annhme: Eine Clock für lles Inputs und Outputs hängen von der Anwendung loclprm definiert Modul-lokle Konstnten reg ewirkt Generierung von Flipflops stte ggf. in mehrere Vrilen ufteilen Digitltechnik Kpitel 3: Sequenzielle Schltungen 3 Digitltechnik Kpitel 3: Sequenzielle Schltungen 38 Next-Stte Logik Output Logik lwys @(posedge clk) egin if ( ) stte=init; // Synchroner Reset else cse(stte) 5 INIT: if (input) stte=q2; else stte=q; // Mely hengt uch von Inputs! lwys @(stte or or...) egin out = stte [] input; out2 = stte [] & stte [2]; 5 end Q:... Q2:... 5 defult: nextte=init; endcse end Drf uch ein weiteres cse(stte) zur Fllunterscheidung enthlten Digitltechnik Kpitel 3: Sequenzielle Schltungen 3 Digitltechnik Kpitel 3: Sequenzielle Schltungen 4