132
2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz bis 1.6 Sequentielle Schaltungen Prof. G. Kemnitz Institut f¨ ur Informatik, Technische Universit¨ at Clausthal 24. April 2013 Prof. G. Kemnitz · Institut f¨ ur Informatik, Technische Universit¨ at Clausthal 24. April 2013 1/129

Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

2.

Entwurf digitaler Schaltungen (F2)

Kapitel 1, Teil 2

Modellbildung und SimulationAbschnitte 1.3 Laufzeittoleranz

bis 1.6 Sequentielle Schaltungen

Prof. G. Kemnitz

Institut fur Informatik, Technische Universitat Clausthal24. April 2013

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 1/129

Page 2: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

2.

Laufzeittoleranz1.1 Glitches1.2 Verzogerungsmodell1.3 Simulation mit Laufzeittoleranz1.4 Laufzeitanalyse1.5 Aufgaben

Register2.1 Register als Abtastelement2.2 VHDL-Abtastprozesse2.3 Verarbeitung + Abtastung2.4 Register-Transfer-Funktion2.5 Taktversatz2.6 Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 1/129

Page 3: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

2.Asynchrone Eingabe

3.1 Abtasten Einzelbits3.2 Entprellen von Tasten3.3 Asynchrone Initialisierung3.4 Parallele Schnittstelle3.5 Aufgaben

Sequentielle Schaltungen4.1 Endlicher Automat4.2 Automat ⇒ VHDL4.3 Systemabsturz4.4 Zahlenschloss4.5 Operationsablauf4.6 Quadratur-Encoder

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 1/129

Page 4: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz4.7 Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 2/129

Page 5: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz

Laufzeittoleranz

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 2/129

Page 6: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz

Schwachen des bisherigen Modells

signalfuhrende Großen andern sich stetig, nicht sprunghaft

sind zwischen den Werteanderungen kurzzeitig ungultig

eine Eingabeanderung kann Mehrfachanderungen amAusgang verursachen

Verzogerungszeiten nie genau bekannt / abhangig von derTemperatur, vor Fertigungsstreuungen, von der Alterung, ...

Eine digitale Schaltung arbeitet nur dann zuverlassig, wenn ihreFunktion nicht von Zeitparametern abhangt, solange dieseinnerhalb ihrer zulassigen Toleranzbereiche liegen.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 3/129

Page 7: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 1. Glitches

Glitches

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 4/129

Page 8: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 1. Glitches

Glitches, Wettlaufe

Glitches: kurze Pulse, die bei der Signalverarbeitung entstehenund Fehlfunktionen verursachen konnen

10

tx

Mogliche Ursachen:

Wettlaufe: fast zeitgleiche Anderungen an mehrerenEingangen und unterschiedliche Verzogerung

td1 td1

Impulse durch Wettlaufe

10

10

10

10

x2

ztd2td2

x1

x1

x2

td1

z

td2td2

td2

& y

y

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 5/129

Page 9: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 1. Glitches

Hazard

auch wenn gleichzeitig nur der Wert an einem Eingangwechselt, kann das an den Ausgangen eine Folge vonSignalwechseln zur Folge habenUrsache: rekonvergenter Signalfluss (verzweigenderSignalfluss, der wieder zusammen trifft)

Hazard

td1 td1 td1td1

td1

&&

&x1

x2y2

td2td1

10

10

10

10

10

10

x2

x1 y1

td2

z1

td1

Schaltung

vereinfacht

z2

td2 td2 td2

x1

z1

x2

y1

td2 td2

z2

y2Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 6/129

Page 10: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 1. Glitches

das Auftreten von Wettlaufen und Hazards

ist nicht von der Funktion, sondern von der Strukturabhangig (vorherige Folie unten links)die Anzahl und die Lange der Glitches sind laufzeitabhangigund damit von Fertigungsstreuungen, der Temperatur derAlterung etc. abhangigin Synthesevorgaben sind Glitches weder einplanbar nochausschließbar

das bisherige Laufzeitmodell ist fur laufzeitempfindlicheEffekte wie Glitches sehr ungenau (siehe spater)

Fakt 1

Digitale Schaltungen sind moglichst so zu entwerfen, dassGlitches entweder ausgeschlossen werden konnen oder dass siedie Funktion nicht beeintrachtigen.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 7/129

Page 11: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 2. Verzogerungsmodell

Verzogerungsmodell

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 8/129

Page 12: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 2. Verzogerungsmodell

Verzogerungsmodell einer Signalzuweisung

Glitches vervielfachen die Signalereignisse

Signalzuweisung unterdrucken kurz aufeinanderfolgendeSignalwechsel; einstellbar mit dem Verzogerungsmodell

Signalbezeichner <= [VM] Ausdruck after td;VM ⇒ transport|[reject tr] inertial]

VM -- optionale Angabe des Verzogerungsmodells

td -- Verzogerungszeit

tr -- Ruckweiszeit

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 9/129

Page 13: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 2. Verzogerungsmodell

’0’

’1’

’0’

’1’

t in ns

’0’

’1’

’1’

’0’

t in ns

TransportverzogerungsmodellStandardverzogerungsmodell

0 10 20 30 40 50 0 10 20 30 40 50

after transporty <= x 10 ns; y <= x after 10 ns;

x

y

x

y

Standardverzogerungsmodell: Zuweisung loscht alleschwebenden Anderungen

Transportverzogerungsmodell: Zuweisung loscht nurschwebende Anderungen, die spater als die zugewiesenAnderungen wirksam werden

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 10/129

Page 14: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 2. Verzogerungsmodell

’0’

’1’

’1’

’0’

t in ns

durch eine spatere Ande-rung geloscht wird

schwebende Anderung, die

0 10 20 30 40 50

Verzogerungsmodell mit Ruckweiszeit

normal abgearbeitet wird

nicht eingestellt wird, weilder Wert gleich bleibt

reject inertialy <= 5 ns x after 10 ns;

x

y

unterdruckt nur Pulse bis zur Breite der Ruckweiszeit trloschen aller schwebenden Zuweisungen fur Zeitpunktespatere td − tr geloscht; Ausnahme. schwebendeZuweisungen vor der neuen Zuweisung, die bereits denselbenWert zuweisen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 11/129

Page 15: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 2. Verzogerungsmodell

Ein Simulationsbeispiel

signal y1, y2, y3: NATURAL;...y1 <= 1 after 1 ns, 2 after 2 ns, 3 after 3 ns, 4 after 4 ns,5 after 5 ns;y2<=y1; y3<=y2; wait for 2.1 ns;

y1 <= 8 after 3 ns, 9 after 4 ns;y2 <= transport 8 after 3 ns, 9 after 4 ns;y1 <= reject 1.5 ns inertial 8 after 3 ns, 9 after 4 ns;wait;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 12/129

Page 16: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

Simulation mit Laufzeittoleranz

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 13/129

Page 17: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

Beschreibung der Verzogerung als Toleranzbereich

y

x

f(x) yx

th, td

th

f(wi+1)

wi+1

td

t

wi

f(wi)

Signalwert ungultig

th Haltezeit, Zeit, die der alte gultige Ausgabewert nacheiner Eingabeanderung garantiert noch erhalten bleibttd Verzogerungszeit, Zeit, nach Anliegen des neuen gultigenEingabewerts, bis die Ausgabe spatestens den neuengultigen Funktionswert ubernimmt

ungultig:

Wert im verbotenen Bereich; Anderungszeitpunkt nichtgenauer bekannt; Glitch-Gefahr

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 14/129

Page 18: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

Beschreibung in VHDL

x

y

f(x) yx

th, td

wi+1wi

f(wi+1)f(wi)

tdth

Signalwert ungultig

process(x)

begin

if vorherige Eingabe gultig then

y <= ungultig after th;

end if;

if neuer Eingabewert gultig then

y <= transport f(x) after td;(1)

end if;

end process;(1) Transportmodell, damit schwebende Anderung nach ungultig nichtgeloscht wird

Kurzschreibweise

y <= ungultig after th, f(x) after td;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 15/129

Page 19: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

Simulation eines Inverters

signal x, y: STD LOGIC;

...

x <= ’0’ after 0.5 ns, ’X’ after 4 ns, ’1’ after 4.5 ns,

’X’ after 8 ns, ’0’ after 9.5 ns, ’1’ after 12 ns,

’0’ after 12.5 ns;

y <= ’X’ after 1 ns, not x after 2 ns;

10y

0 2 4 6 8 10

thtd

tsim

10x

nicht initialisiert (U) ungultig (X)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 16/129

Page 20: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

10y

0 2 4 6 8 10

thtd

tsim

10x

nicht initialisiert (U) ungultig (X)

Prozess �x-Zuweisung� wird nur zum Simulationsbeginngeweckt; einmalige Zuweisung mehrerer AnderungenProzess �y-Zuweisung� wird auch bei jeder Anderung von xgeweckt; Zuweisung zwei AnderungenStandardverzogerungsmodell, jede Neuzuweisung loschtschwebende Anderungenbei schwebender Anderung nach �X� ubernimmt die neueZuweisung den alten Zuweisungszeitpunkt

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 17/129

Page 21: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

Schaltung mit mehreren Gattern th, td1

th, td1

th, td2&G1

G2

G3z2

z1

&x4

x3

x2

x1

≥1 y

signal x1, x2, x3, x4,

z1, z2, y: STD LOGIC;

constant th: DELAY LENGTH:= 500 ps;

constant td1: DELAY LENGTH:= 1 ns;

constant td2: DELAY LENGTH:= 2 ns;

...G1:z1<= ’X’ after th, x1 and x2 after td1;

G2:z2<= ’X’ after th, x3 and x4 after td1;

G3: y<= ’X’ after th, z1 or z2 after td2;

Eingabe: process begin

wait for 1 ns; x3<=’1’;wait for 2 ns; x1<=’1’; x4<=’1’;wait for 4 ns; x2<=’1’; wait for 3 ns; x4<=’0’;wait for 2 ns; x3<=’0’; wait;

end process;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 18/129

Page 22: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 3. Simulation mit Laufzeittoleranz

G1:z1<= ’X’ after th, x1 and x2 after td1;

G2:z2<= ’X’ after th, x3 and x4 after td1;

G3: y<= ’X’ after th, z1 or z2 after td2;

x1

x2

x3

x4

z1

z2

y

0 5 10 15 20

01

01

01

01

01

01

01

nicht initialisiert (U) ungultig (X)

tsim

ohne th

Ausgabe im Beispiel meiste Zeit ungultigungultig bedeutet hier �nicht unbedingt richtig�

Schaltungen, die ungultige Signalwerte verarbeiten, konnenfunktionieren, aber nicht zuverlassig; schwer zu debuggen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 19/129

Page 23: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 4. Laufzeitanalyse

Laufzeitanalyse

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 20/129

Page 24: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 4. Laufzeitanalyse

Laufzeitanalyse

Berechnung der Halte- und Verzogerungszeit einer uberge-ordneten Schaltung aus den Parametern der Teilschaltungen

x5

x4

x3

x2

x1

td3 = 2nsth3=1ns

td4=3nsth4=1ns

td1=2nsth1=1ns td5 = 2ns

th5 = 1ns

G3

G4y2

&

&

td2=3nsth2=1ns

&G1

G2&

G5& y1

Pfade∑

th.i∑

td.i

G1-G3-G5 3 ns 6 ns

G2-G3-G5 3 ns 7 ns

G2-G4-G5 3 ns 8 ns

G2-G4 2 ns 6 ns

G4-G5 2 ns 5 ns

G4 1 ns 3 ns

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 21/129

Page 25: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 4. Laufzeitanalyse

Aufsummierung der Halte- und Verzogerungszeiten entlangaller Pfade

die Haltezeit der Gesamtschaltung ist die des Pfades mit derkurzesten Haltezeit

die Verzogerungszeit der Gesamtschaltung ist die des Pfadesmit der langsten Verzogerungszeit

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 22/129

Page 26: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 4. Laufzeitanalyse

Algorithmus fur große Schaltungen

die Pfadanzahl wachst exponentiell; besser Alg. mit lin.Ordnung:

Wiederhole von den Eingangen beginnend fur jedeSignalgruppe

Berechnung der Halte- und Verzogerungszeit bis zu ihr

x1

x2

x4

x3

x5

1

&&

&&

td3th3

td4th4

td5th5

td1th1

y2

y1td2th2

&

Signalgruppen

0

2

3

4

5

6

78 9

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 23/129

Page 27: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 4. Laufzeitanalyse

td.2

th.4

th.2

th.1

td.1

td.3

td.4

th.5

th.3

gruppeSignal-

td.5

0

98

76

1

23

54

max(tdS.5, Td.6)

tdS.0 + td.2

tdS.3 + td.3td.2

tdS.2 + td.4

tdS.7 + td.5max(tdS.6, tdS.9)

tdS.i

0 (Definition)

tdS.0 + td.1

max(tdS.1, tdS.2)thS.0 + th.2

min(thS.1, th.2)

thS.3 + th.3thS.0

thS.0 + th.4min(thS.5, th.6)

thS.7 + th.5min(thS.6, thS.9)

thS.i

0 (Definition)

thS.0 + th.1

lineare Ordnung ⇒ auch fur große Schaltungen beherrschbar

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 24/129

Page 28: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 5. Aufgaben

Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 25/129

Page 29: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 5. Aufgaben

Aufgabe 1.9: Hazard

01

0 2 4 6 8 10tsim

01

01x0

x2

x1

z0 4 ns

2 ns

==

&1,5 ns

& y

G2

G4

G3

G1

x0

x1

x2

1 ns z1

z2

VHDL-Beschreibung der Schaltung durch nebenlaufigeSignalzuweisungenVHDL Beschreibung der EingabesignalerzeugungBestimmung der Signalverlaufe fur z1, z2 und yWelche Eingabeanderung verursacht einen Glitch?

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 26/129

Page 30: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 5. Aufgaben

Aufgabe 1.10: VHDL-Verzogerungsmodelle

signal y: STD LOGIC;...

--- nebenlaufige Zuweisungeny <= ’0’, ’X’ after 3 ns, ’1’ after 7 ns, ’X’ after 8 ns,

’1’ after 10 ns, ’0’ after 11 ns, ’1’ after 13 ns,’1’ after 15 ns, ’X’ after 18 ns, ’0’ after 20 ns;

wait for 5 ns;y <= ’1’ after 12 ns;

--- y <= transport ’1’ after 12 ns;

--- y <= reject 8 ns inertial ’1’ after 12 ns;

Welche der schwebenden Anderungen werden geloscht, wenn diezweite Signalzuweisung

1 mit dem Standardverzogerungsmodell2 mit dem Verzogerungsmodell �transport�

3 mit dem Verzogerungsmodell �reject 8 ns inertial� erfolgt?

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 27/129

Page 31: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

3. Laufzeittoleranz 5. Aufgaben

Aufgabe 1.11: Laufzeitanalyse

--- Vereinbarungsteil der Entwurfseinheitsignal x: STD LOGIC VECTOR(4 downto 0):=”01011”;signal z: STD LOGIC VECTOR(4 downto 0);signal y: STD LOGIC;

--- Anweisungsteil der EntwurfseinheitG1: z(0) <= ’X’ after 4 ns, x(0) and x(1) after 8

ns;

G2: z(1) <= ’X’ after 5 ns, x(2) or x(3) after 6 ns;

G3: z(2) <= ’X’ after 3 ns, z(0) or z(1) after 6 ns;

G4: z(3) <= ’X’ after 4 ns, z(1) and x(3) after 7

ns;

G5: z(4) <= ’X’ after 3 ns, z(3) or x(4) after 5 ns;

G6: y <= ’X’ after 5 ns, z(2) or z(4) after 7 ns;

1 Zeichnen Signalflussplan mit eingezeichneten Halte- und dieVerzogerungszeiten

2 Bestimmen der Halte- und Verzogerungszeit derGesamtschaltung.Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 28/129

Page 32: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register

Register

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 29/129

Page 33: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register

Gultigkeitsfenster und Abtastung

≥1&z3

z1z2

Gultigkeitsdauer am PfadanfangGultigkeitsdauer am PfadendetGE

tGA

0

10

1z3

z4

0

1

1z1

z2 0th3, td3th1, td1

z4≥1

th2, td2

00

td3td1 td2 tGE

th2 th3tGA th1

1

Breite des Gultigkeitsfensters am Ausgang:

tGA = tGE +

3∑i=1

thi −3∑

i=1

tdi

Abnahme mit der Lange der VerarbeitungsketteVerbreiterung der Gultigkeitsfenster ⇒ Abtasten (Register)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 30/129

Page 34: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 1. Register als Abtastelement

Register als Abtastelement

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 31/129

Page 35: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 1. Register als Abtastelement

Register als Abtastelement

ts, tn

tTyp tTypx

T

T

x

thrtdr

tn

w1w0

ts

w2

w2w1

x’

thr, tdr

x’

ts tn

Register: Ubernahme der Eingabedaten mit der aktivenTaktflanke1, sonst Speichernts Vorhaltezeit, Zeit die die Eingabedaten vor der aktivenTaktflanke stabil sein mussentn Nachhaltezeit, Zeit die die Eingabedaten nach der aktivenTaktflanke stabil sein mussen; oft vernachlassigbarthr, tdr Halte- und Verzogerungszeit des RegisterstTyp: Datentyp, �STD LOGIC�, Vektortyp davon, ...

1steigende, fallende Flanke oder beide Flanken

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 32/129

Page 36: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 1. Register als Abtastelement

Taktsignale

ts, tn

tTyp tTypx

T

T

x

thrtdr

tn

w1w0

ts

w2

w2w1

x’

thr, tdr

x’

ts tn

Takte sind Spezialsignale, die periodisch zwischen �0� und�1� wechseln und andere Signale zeitlich ausrichten

Modellierung als idealisiertes Signal (ohne �X�)die Zeittoleranzen stecken mit in den Registerparameterndie Taktsignale mussen zeitgenau und glitch-frei sein;erfordert Spezialschaltungen

aktive Taktflanke/Ubernahmeflanke (fallend, steigend,beide)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 33/129

Page 37: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 1. Register als Abtastelement

Notation fur abzutastende und abgetastet Signale

Abtasten ist eine Grundfunktion digitaler Schaltungen;Vereinbarung folgender Notationen:

Registereingabesignal zum abgetasteten Signal x wird als x+

(Folgezustand) bezeichnet (in VHDL x next)

das abgetastete Signal von x wird mit x’, das zweimalabgetastet Signal mit x” etc. bezeichnet (in VHDL x del,x del2 etc.)

(x next) (x del) (x del2)

x+ x x’ x”

T

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 34/129

Page 38: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

VHDL-Abtastprozesse

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 35/129

Page 39: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

VHDL-Abtastprozess

Verhalten eines Abtastprozesses

Abtastprozess: process(T)

begin

if aktive Taktflanke then

Ausgabesignal <= ungultig after th,

Eingabewert after td;

Kontrolle Vorhaltebedingung

Kontrolle Nachhaltebedingung

end if;

end process;

Erforderliche, noch nicht eingefuhrte Beschreibungsmittel:

FallunterscheidungFlankenabfrage (Signalattribute)Kontrollanweisungen fur die Vor- und Nachhaltebedingung

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 36/129

Page 40: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

Signalattribute, Beschreibungsmittel zur Abfrage zusatzlicherSignaleigenschaften:

signal s: tTyp;

constant t: DELAY LENGTH;

s’EVENT → BOOLEAN True, wenn der Prozess durch eineAnderung von s geweckt wurde

s’STABLE(t) → BOOLEAN True, wenn seit einer Zeit t keinSignalereignis stattgefunden hat

s’LAST EVENT →DELAY LENGTH

Zeit seit der letzten Anderung von s

s’LAST VALUE → tTyp Wert vor der letzten Anderung von s

s’DELAYED(t) → tTyp das um t verzogerte Signal zu s

. . .

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 37/129

Page 41: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

Funktionen zur Abfrage, ob ein Prozess von der aktivenFlanke geweckt wurde (Package IEEE.STD LOGIC 1164):

function RISING EDGE(signal T: STD LOGIC) return BOOLEAN isbeginreturn T’EVENT and T=’1’;

end function;

function FALLING EDGE(signal T: STD LOGIC) return BOOLEAN isbeginreturn T’EVENT and T=’0’;

end function;

Kontrolle von Vor- und Nachhaltebedingungen:

s’STABLE(t); s’LAST EVENT

Binare Fallunterscheidungen im Kontrollfluss:

if b then

{sequentielle Anweisung;}

end if;

(b – Bedingung vom Typ BOOLEAN, z.B. �RISING EDGE(T)�Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 38/129

Page 42: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

Kontrollanweisung:

assert b [report m ] [severity sl ];

( m – erganzender Text fur die Fehlermeldung; sl –Fehlerschwere; Datentyp:

type SEVERITY LEVEL is (

NOTE, --- Kontrollausgabe

WARNING, --- Warnung

ERROR, --- Fehler

FAILURE); --- schwer Fehler/Simulationsabbruch

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 39/129

Page 43: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

einfaches Registermodelltdr

x

y

T

w1 w3

w0 w1 w2

td

w2

ytTyptTyp

x

Tsignal T: STD LOGIC;

signal x, y: tTyp;

constant tdr: DELAY LENGTH:=...;

...

process(T)

begin

if RISING EDGE(T) then

y <= x after tdr;

end if;

end process;

Prozess nur mit dem Takt in der Wartelistenur Ausgabezuweisung bei steigender TaktflankeRISING EDGE(T) ⇒ �T’EVENT and T=’1’�; wenn der Prozessaufwacht ist �T’EVENT� immer �TRUE�; AusnahmeSimulationsbeginn

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 40/129

Page 44: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

Modell komplett

tn

ts

ts, tn

AbtastfensterWert ungultig

Registerparameter:

Signale:

abzutastendes SignalTakt

xT

x’ (x del) abgetastetesSignal

VorhaltezeitNachhaltezeitHaltezeitVerzogerungszeittdr

thr

Typ des DatensignaltTyp

T

x

thrtdr

tn

w1w0

ts

w2

w2w1

T

x

thr, tdr

x’tTyp tTyp

x’

Signalwertwi

ts tn

process(T)beginif RISING EDGE(T) thenif x’LAST EVENT>ts thenx del<= ungultig after thr, x after tdr;wait for tn;

if x’LAST EVENT<tn thenx del <= ungultig;

report "Nachhaltebed. verletzt"

severity WARNING;

end if;elsex del <= ungultig after thr;

report "Vorhaltebed. verletzt"

severity WARNING;

end if;end if;

end process;Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 41/129

Page 45: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 2. VHDL-Abtastprozesse

Nachhaltezeit tn = 0 und ohne Warnungen

process(T)beginif rising edge(T) thenif x’last event>ts theny <= ungultig after thr, x after tdr;

elsey <= ungultig after thr;

end if;end if;

end process;

im Weiteren verwendete Beschreibungsschablone fur dieSimulation von Registern

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 42/129

Page 46: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 3. Verarbeitung + Abtastung

Verarbeitung + Abtastung

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 43/129

Page 47: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 3. Verarbeitung + Abtastung

Verarbeitungsfunktion mit Ergebnisabtastung

ts

notwendigesGultigkeitsfenster

ts T

x

y

f(x)x

thf , tdf

wi

thftdf + ts

f(wi)

f(wi)f(wi−1)

tdrthr

T

thr, tdr

yy+

y+

process(T)beginif RISING EDGE(T) thenif x’DELAYED(thf)’LAST EVENT>tdf+ts-thf then

y<= ungultig(1) after thr, f(x) after tdr;

elsey<= ungultig(1) after thr;

end if;end if;

end process;(1) fur STD LOGIC ’X’; fur STD LOGIC VECTOR ”XX...X”

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 44/129

Page 48: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 3. Verarbeitung + Abtastung

Verarbeitung abgetasteter Signale

ts

ts

y

T

x

f(wi)f(wi−1)

T

thr, tdr

f(x)

thf , tdf

y

wiwi−1

thftdf

tdfthf

x’x

x’

wi

process(T)beginif RISING EDGE(T) thenif x’LAST EVENT>ts theny<= ungultig after thr+thf,

f(x) after tdr+tdf;

elsey<= ungultig after thr+thf;

end if;end if;

end process;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 45/129

Page 49: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 4. Register-Transfer-Funktion

Register-Transfer-Funktion

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 46/129

Page 50: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 4. Register-Transfer-Funktion

Register-Transfer-Funktion

von Registern eingerahmte Verarbeitungsfunktionen

thr, tdrthr, tdr

x’, y’TP

abgetastete Werte, in der VHDL-Bescheibung x del, y del

y

TP

w2

tdf

tdrthr

tdrthr

w1x’

thfthftn

y = f(x)

ts, tn

x y’

T

TP

ts, tn

x’ y

ts

thf , tdf

T

Taktperiodef(w1)f(w0)

w0

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 47/129

Page 51: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 4. Register-Transfer-Funktion

thr, tdrthr, tdr

x’, y’TP

abgetastete Werte, in der VHDL-Bescheibung x del, y del

y

TP

w2

tdf

tdrthr

tdrthr

w1x’

thfthftn

y = f(x)

ts, tn

x y’

T

TP

ts, tn

x’ y

ts

thf , tdf

T

Taktperiodef(w1)f(w0)

w0

Bedingung fur die Abtastung gultiger Ausgabewerte

TP ≥ TPmin = tdr + tdf + ts

tn ≤ tnmax = thr + thf

Kontrolle beider Bedingungen mittels Laufzeitanalyse (vorder Simulation)Es genugt ein stark vereinfachtes Simulationsmodell

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 48/129

Page 52: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 4. Register-Transfer-Funktion

thr, tdr

f(...)

TP

yx’x

T

ts, tn

y’

Verarbeitung: process(T):

begin

if RISING EDGE(T) thenif x’LAST EVENT>ts thenx del <= x; else x <= ungultig ;

end if;

y del <= ungultig after th, f(x del) after td;

end if;

end process;

Vereinfachung gegenuber zwei normalen Abtastprozessen

unverzogerte Zuweisung an x’ (x del)kein Kontrolle der Vorhaltebedingung fur y

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 49/129

Page 53: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 5. Taktversatz

Taktversatz

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 50/129

Page 54: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 5. Taktversatz

Taktversatz

Abtastfenster

ts

t∆T12

yf(x’)

x′ y′

ts, tn

VerzogerungT2T1

x

thr, tdr

a)

Ubernahmeflanke Eingaberegister

Ubernahmeflanke Ausgaberegister0

t∆T12

T1

T2

y

b)

TP

tdr

tdf

thr

thf

x′

thf , tdf

t

tn

Taktversatz t∆T12: Zeitversatz zwischen den aktivenTaktflanken des Eingabe- und des Ausgaberegistersabsichtlich zur Erhohung der max. Taktfrequenzunbeabsichtigt durch unterschiedliche Verzogerungen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 51/129

Page 55: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 5. Taktversatz

Abtastfenster

ts

t∆T12

yf(x’)

x′ y′

ts, tn

VerzogerungT2T1

x

thr, tdr

a)

Ubernahmeflanke Eingaberegister

Ubernahmeflanke Ausgaberegister0

t∆T12

T1

T2

y

b)

TP

tdr

tdf

thr

thf

x′

thf , tdf

t

tn

Bedingungen fur korrekte Datenubernahme:

tdr + tdf + ts ≤ TP + t∆T12

thr + thf ≥ tn + t∆T12

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 52/129

Page 56: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 5. Taktversatz

Bedingungen fur korrekte Datenubernahme:

tdr + tdf + ts ≤ TP + t∆T12

thr + thf ≥ tn + t∆T12

Maximal zulassiger Taktversatz:

t∆T12 ≤ thr + thf − tnMaximale Taktfrequenz:

fT ≤1

tdr + tdf + ts +−tn − (thr + thf)

Kehrwert aus der Differenz aus der Summe derVerzogerungs-, der Vorhalte- und der Nachhaltezeit und derSumme der Haltezeiten.Schaltungen mit einer großen Haltezeit konnen bei der Wahleines geeigneten Taktversatzes schneller getaktet werden alsohne Taktversatz.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 53/129

Page 57: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 5. Taktversatz

Zusammenfassung

Ergebnisse mussen innerhalb der Gultigkeitsfensterabgetastet werden. Dazu dienen Register.Register werden durch Abtastprozesse beschrieben.Abtastprozesse haben nur den Takt in der Weckliste;Datenubernahme nur bei aktiver Taktflanke; wenn vor- oderNachhaltebedingung verletzt, Ubernahme �ungultig�.Abtastprozesse konnen auch vor- oder nachgelagerteFunktionen mit einschließen; vereinfacht die Simulation.Einrahmung in Ein- und Ausgaberegister ⇒Register-Transfer-Funktion; Zeitbedingungen mit einerLaufzeitanalyse kontrollierbar; stark vereinfachteSimulationsmodelle.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 54/129

Page 58: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 6. Aufgaben

Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 55/129

Page 59: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 6. Aufgaben

Aufgabe 1.12: Beschreibung als Abtastprozess

thr, tdr

y+

ts

Abtastfensterungultig

t3t4

t5

x1x0

y+

y

t6t7

t1t2

x2

T

a)

G1G2

& y

TReg

=1x0

x1

x2

th1, td1 th2, td2

b)

signal x0, x1, x2, y next, T, y: STD LOGIC;

Beschreibung von t1 bis t7 als Funktion der Werte von th..,td... etc.Beschreibung der Gesamtschaltung als Abtastprozess

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 56/129

Page 60: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 6. Aufgaben

Aufgabe 1.13: Register-Transfer-Funktion

x+ 1

xn−1

0

1

n

nn

x

nn

y+

tdr = 1ns

T

td1 = 0,5 ns td2 = n · 1 ns td3 = 2nsts = 0,5 ns

Gesucht:

maximal zulassige Taktfrequenz in Abhangigkeit von derBitbreite n?maximal zulassige Taktfrequenz fur n = 16?

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 57/129

Page 61: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

4. Register 6. Aufgaben

Aufgabe 1.14: Taktversatz

thr = 0nstdr = 1ns

Takt 1

x y

Takt 2

y = f(x)

thf = 5nstdf = 11ns

tn = 0ts = 2ns

In welchem Zeitbereich muss der Taktversatz t∆T12 liegen, damitbei Taktfrequenz fT = 100 MHz die Vorhalte- und dieNachhaltebedingungen fur das Ausgaberegisters erfullt sind?

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 58/129

Page 62: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe

Asynchrone Eingabe

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 59/129

Page 63: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe

asynchron: �ohne zeitliche Abstimmung�

der Zeitversatz zwischen der Eingabeanderung und deraktiven Taktflanke ist eine gleichverteilte Zufallsgroße imBereich:

txT ∈ {0, TP}auch Werte asynchroner Signale durfen nur innerhalb ihrerGultigkeitsfenster ausgewertet werden

verlangt spezielle Schaltungslosungen und spezielleBeschreibungsschablonen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 60/129

Page 64: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 1. Abtasten Einzelbits

Abtasten Einzelbits

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 61/129

Page 65: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 1. Abtasten Einzelbits

Abtasten binarer Eingabesignale

ein Bitsignal hat auch, wenn es im Abtastmoment ungultigist, den Abtastwert �0� oder �1�; Abtastwerte sindglitch-frei und fur eine Taktperiode stabil

TP

T

x

x’

x′x

ts thr, tdr

T

ts ts ts ts

txT txT

tdrthr

tdrthr

tdrthr

tdrthr

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 62/129

Page 66: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 1. Abtasten Einzelbits

Entwurfsfehler: Verarbeitung nicht abgetasteterEingaben

x

y

y′

a a′

T

x f(..)y

th, td

w1 w2

f(w1, 1) f(w2, 1)f(w1, 0)

f(w0, 0) XX f(w2, 1)

y′

ts th

ts

ththtdtd td

a

T

a

T

(verarbeitete) asynchrone Eingaben sind mit einer gewissenHaufigkeit im Abtastmoment ungultigAbtastwert von �ungultig�: a′ ∈ {0, 1}n, meist falsch, oftunzulassig, nicht vorhersagbares VerhaltenWorkaround: zusatzlich bitorientierte Eingabe abtasten

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 63/129

Page 67: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 2. Entprellen von Tasten

Entprellen von Tasten

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 64/129

Page 68: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 2. Entprellen von Tasten

Entprellen von Schaltern und Tastern

typ. 1-Bit-Eingabeelemente: mechanische Taster undSchalterPrellen: mehrfaches Offnen und Schließen durch mechanischeSchwingungenEntprellung: Abtasten mit Abtastperiode großer PrellzeitFlankenerkennung: zweimal abtasten, Differenz auswerten

tPr

Abtastperiodemaximale Prellzeit

tP > tPr

&

Schaltung zur Erkennung derfallenden Flanken

tP

tPr

1011 00 01 11

T

x

x’

x”

x”x’

x”x’y

x

T

Achtung, ohne erste Abtastung unzuverlassigProf. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 65/129

Page 69: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 2. Entprellen von Tasten

x

Tx’ x”

y&

th, td

y’

(Takt)

signal T, x, x del, x del2, y:

STD LOGIC;

...

process(T)beginif RISING EDGE(T) then

if x=’1’ then x del<=’1’;else del<=’0’; end if;x del2 <= x del;

end if;end process;y <= ’X’ after th not x del and x del2 after td;

Abtastung x: �’1’7→’1’, sonst 7→’0’� (Beschreibungsschablonefur �Abtastwert∈ {0, 1}kombinatorische Ausgabe nach jedem Takt kurzzeitigungultig; Glitches moglichum y als Takt verwenden zu konnen, nochmal abtasten

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 66/129

Page 70: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 3. Asynchrone Initialisierung

Asynchrone Initialisierung

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 67/129

Page 71: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 3. Asynchrone Initialisierung

Register mit Initialisierungseingang

I

x yx

I

T

signal x, y: tTyp;

signal T, I: STD LOGIC;

constant aw: tTyp:=...;

...

process(T, I)

beginif I=’1’ theny <= aw;

elsif RISING EDGE(T) theny <= x;

end if;end process;

Registerzustand vor der Initialisierung ”UU...U” (ungultigaufgrund fehlender Initialisierung)�aw� beliebiger gultiger Wert

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 68/129

Page 72: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 3. Asynchrone Initialisierung

Potentielle Fehlfunktionen

Pulsdauer des Initialisierungssignals zu kurz

01

01

w1 w2w0

w1 w2

T

x′x

I

f()

tsthf , tdfthr, tdr

yx’I

x

I

x

T≪ TP

y’

Selbst wenn das Eingaberegister seinen Anfangswert korrektubernimmt, liegt der Initialwert am Registerausgang zukurze Zeit stabil an, so dass das nachfolgende Register imersten Schritt einen ungultigen Wert ubernimmt.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 69/129

Page 73: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 3. Asynchrone Initialisierung

Register aus Master-Slave-Flipflops:

Master-Ubernahme vor der aktiven Taktflanke

Slave-Ubernahme und Ausgabe nach der aktiven Taktflanke

I initialisiert den Slave

01

01

01

01

w0

w1 w2

T

I

x

x′ w2

ungultig statt w1

w2w1w0

w2w1

T

I

x

x′

≪ TP

Deaktivierung von Iin der Slave-Phase am Ende der Slave-Phase

Deaktivierung von I

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 70/129

Page 74: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 3. Asynchrone Initialisierung

Laufzeitrobuste Losung Power-on-Reset-

Schaltung

≥1

T

I

TasteReset-

Abtasten

UVsignal T, I, I POR,

I Tast: STD LOGIC;

...

I POR <= ’1’, ’0’

after 1 ms;

process(T)

begin

if RISING EDGE(T) then

if I POR=’0’ or I Tast=’0’ then I<=’1’;else I<=’0’;end if;

end if;

end process;

Power-On-Reset: Aktivierung beim Einschalten furtPOR ≈ R · CAbtasten zur Ausrichtung an der aktiven Taktflanke

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 71/129

Page 75: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 4. Parallele Schnittstelle

Parallele Schnittstelle

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 72/129

Page 76: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 4. Parallele Schnittstelle

Asynchrone parallele Schnittstelle

der Empfanger fur asynchrone parallele Daten benotigt einZusatzsignal fur die �Gultigkeit�, z.B. Takt des Sendersim Beispiel sei x immer ab Zeitpunkt �Flanke von Tx� furtg gultig

xw1 w2 w3 w4 w5

G

G

Tx’Tx

=1

x’

abgetastetes EingabesignalSystemtaktSendetaktasynchrones Eingabesignalx

Tx

Gx’

Gultigkeitssignal fur x’

T

T

Tx”

TPtg

w2w1w0 w3 w4 w5

w0x

Tx

T

x’

Tx’

Tx”

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 73/129

Page 77: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 4. Parallele Schnittstelle

xw1 w2 w3 w4 w5

G

G

Tx’Tx

=1

x’

abgetastetes EingabesignalSystemtaktSendetaktasynchrones Eingabesignalx

Tx

Gx’

Gultigkeitssignal fur x’

T

T

Tx”

TPtg

w2w1w0 w3 w4 w5

w0x

Tx

T

x’

Tx’

Tx”

alle Eingabedaten mit Abtastperiode: TP < tg abtastenTakt zweites mal abtastenabgetastete Daten sind gultig, wenn sich der einfachabgetastet Sendetakt vom doppelt abgetasteten Sendetaktunterscheidet

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 74/129

Page 78: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 4. Parallele Schnittstelle

x

SYNC y

G

x

Tx

Symbol

f(...)Tx’ =1

TTx

G

Synchronisationsschalt.y

signal T, Tx, Tx del, Tx del2, G: STD LOGIC;

signal x, y: STD LOGIC VECTOR(...);

...process(T)beginif RISING EDGE(T) theny<= x;

if Tx=’1’ then tx del <= ’1’;

else tx del <= ’0’;

end if;tx del2 <= Tx del;

end if;end process;G <= Tx del xor Tx del2;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 75/129

Page 79: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 4. Parallele Schnittstelle

Zusammenfassung

asynchrone Signale vor ihrer Verarbeitung abtasten

Signale von mechanischen Kontakten zusatzlich entprellen;Abtastperiode großer als die maximale Prelldauer

asynchrone Initialisierungssignale abtasten

zu asynchronen parallelen Eingabesignalen ist einGultigkeitssignal mitzuubertragen; abtasten mitSynchronisationsschaltung

fehlende Abtastung verursacht nicht reproduzierbareFehlerwirkungen; schwer zu lokalisieren; Beeintrachtigungder Zuverlassigkeit

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 76/129

Page 80: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 5. Aufgaben

Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 77/129

Page 81: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 5. Aufgaben

Aufgabe 1.15: Addition Schaltereingabe

UV Versorgungsspannung

Addiererschaltung

(Signalwert Eins)

(Signalwert Null)Bezugspotential

· · ·

T

+

UV

xn−1

x1

x0+

Unter welchen Betriebsbedingungen kann es zu einemunerwarteten Fehlverhalten kommen?

Wie ist die Schaltung zu verandern, damit sie zuverlassigarbeitet?

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 78/129

Page 82: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 5. Aufgaben

Aufgabe 1.16: Asynchrone parallel Ubertragung

Bei einer asynchronen Ubertragung seien die mit dem Signal xubertragenen Datenworte immer dann gultig, wenn das mitubertragene Gultigkeitssignal g 6= 0 ist:

Maximaldauer g =X

Periodendauer von gTPg

tgx

Mindestdauer g = 1tg1

Mindestdauer g = 0tg0

0g

x wi+1wi

tg1

TPg

tgxtg0

1

Mit welcher Taktfrequenz muss die Empfangsschaltung diebeiden Signale abtasten2?Wie ist das Gultigkeitssignal fur die abgetastetenDatenworte zu bilden, damit es fur jedes abgetastete gultigeDatenwort genau einen Takt lang aktiv ist?

2Zeit fur g = 0 gleich Zeit fur g = 1

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 79/129

Page 83: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 5. Aufgaben

Aufgabe 1.17: Handtakt

Entwurf einer Schaltung mit Eingabetaste x, Eingabetakt T(fT = 50 MHz) und internem Taktteiler zur Erzeugung einesglitch- und prellfreien Handtakt Tout:

entity Handtakt isport(x: in std logic; -- Eingabesignal von der Taste

T: in std logic; -- 50MHz-Eingabetakt

Tout: out std logic); -- glitch- und prellfreier Handtakt

end entity;

maximalen Prelldauer 20 msminimale Betatigungszeit 100 ms.Teilerverhaltnis des Taktteilers sei eine Zweierpotenz.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 80/129

Page 84: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

5. Asynchrone Eingabe 5. Aufgaben

1 Welchen Vorteil hat eine Zweierpotenz als Teilerverhaltnis?(Hinweis, die Schaltung hat keinen Initialisierungseingang.)

2 Welche Werte darf das Taktteilerverhaltnis haben?

3 Zeichnen der Gesamtschaltung mit dem Taktteiler alsBlack-Box.

4 Beschreiben der Gesamtschaltung in VHDL.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 81/129

Page 85: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen

Sequentielle Schaltungen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 82/129

Page 86: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen

Sequentielle Schaltungen

(im deutschen Sprachraum auch als Schaltwerk)

Abtastelement

a) b)S0

S0

X1

S1

X2

S1

tdth

S2

s’

s

x

x

th, td

fy(x, s)y

fs(x, s)s s’

Abtastzeitpunkt

x+y’

Wert ungultig

sequentiell: zeitlich nacheinanderBerechnung der Schaltungsausgaben in mehrerenZeitschrittenkombinatorischen Schaltungen + Registern furErgebnisabtastung und -aufbewahrung

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 83/129

Page 87: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Endlicher Automat

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 84/129

Page 88: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Endlicher Automat

engl. FSM finite state machine; allgemeines Funktionsmodell zurBeschreibung sequentieller Ablaufe; Definition der Wertebereicheals Symbolmengen:

Eingabemenge: Σ = {E1, E2, . . .}Zustandsmenge: S = {Z1, Z2, . . .} (ein Anfangszustand)Ausgabemenge: Π = {A1, A2, . . .}Ubergangsfunktion: fs : S × Σ→ SAusgabefunktion: fa : S × Σ→ Π

Nachbildung mit einer digitalen Schaltung:

Symbole 7→ Bitmuster; Ein- und Ausgabe 7→ SignaleZustand 7→ Register; Ubergangs- und Ausgabefunktion 7→kombinatorische Schaltungentaktsynchrone ZustandswechselStartzustand = Initialisierungswert des Zustandsregisters

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 85/129

Page 89: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Beschreibung als Zustandsgraph

UbergangsbedingungZustandsubergang

Name des ZustandsZustand

Ausgabe

Neuinitialisierungdie Anfang undStartzustand furKennzeichnung als

Z3

AZ1

Z1

AK3.1

E1.1

Z2

AZ2

AZ2

AK2.1

AK1.1

AK2.2

AK2.1

E2.1

E2.2E1.2

E3.1

Ausgabe nur vom Zustand abhangig / den Knotenzugeordnet / fur alle abgehenden Kanten gleich 7→Moore-AutomatAusgabe auch von der Eingabe abhangig / den Kantenzugeordnet 7→ Mealy-Automat

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 86/129

Page 90: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Vorwarts-/Ruckwartszahler als Mealy-Automaten

Zustands

R/N

A B

CD

V/L

R/LV/KR/K

V/M

R/M

V/N

H/L

H/M

H/K

H/N

Π = {K,L,M,N}S = {A,B,C,D}Σ = {H,V,R}

Anfangszustand

Eingabemenge

Zustandsmenge

Ausgabemenge

x/y

Eingabewert

Ausgabewert

Bedeutung der Eingabesymbole: H – halt; V – vorwarts; R –ruckwarts

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 87/129

Page 91: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

⇒ ⇒

BA

CD

V

BCDA

H

BA

CD

R

BA

C

D

V H R

KLMNK

LMN

KLM

N 0010

1011

KLMN

1011

CD

0010

VHR

000110 01

00

1011

00011011

000110

11

00

011011

00 01 10

00011011

000110

11

00

011011

00 01 10

gangs und Ausgabefunktiongangs und Ausgabefunktionsymbolorientierte Uber- bitvektororientierte Uber-

s+ = fs(x, s)

s x :

AB

s x :

s+ = fs(x, s)

codierungZustands-

y = fa(x, s) y = fa(x, s)

Zustandsgraphen: anschaulich, gut zur Spezifikation derZiefunktion geeignetdaraus ablesbar Ubergangs- und Ausgabefunktion alsTabellenZustandscodierung: Festlegung der Bitvektordarstellung furdie SymboleUmrechnung in bitorientierte Funktionen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 88/129

Page 92: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Vorwarts-/Ruckwartszahler als Moore-Automaten

s

y

Zustand

Ausgabewert

Eingabewertx

fs(...)fa(...)

xss+

y AusgabeUbergangsfunktionAusgabefunktion

FolgezustandIst-ZustandEingabe

BA

CD

KLMN

V

BCDA

H

BA

CD

{K,L,M,N} Ausgabemenge{A,B,C,D}{H,V,R}

ZustandsmengeEingabemenge

RV

V

R

V

RD

A B

C

K L

MN

H H

H

ba

H

s x :

s+ = fs(x, s) y = fy(s)

R

BA

C

D

R V

die Ausgabe ist nur vom Zustand abhangig

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 89/129

Page 93: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 1. Endlicher Automat

Autonome Automaten

keine Eingabe; eine abgehende Kante je Zustand

A B C D

E G HFb)

A B C D

EFGHa)

a) zyklischer Automat; Beispielanwendung Taktteilerb) zyklenfreier Automat, der im Endzustand verbleibt;Beispielanwendung Initialisierungsablaufe

Wenn im Zustandsgraphen keine Ausgaben zugeordnet sind, istder Zustand gleichzeitig die Ausgabe.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 90/129

Page 94: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Automat ⇒ VHDL

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 91/129

Page 95: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Schaltungsstruktur fur Automaten

Abtastelement

a) b)S0

S0

X1

S1

X2

S1

tdth

S2

s’

s

x

x

th, td

fy(x, s)y

fs(x, s)s s’

Abtastzeitpunkt

x+y’

Wert ungultig

das Eingabe- und das Initialisierungssignal mussen am Taktausgerichtet sein

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 92/129

Page 96: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

I Ixfs(x, s)

fy(x, s)

x

y’

s

x+

I+y

T

th, td

die optionalen Ein- und Ausgaberegister zahlen in der Regelnicht zum AutomatenInitialisierung des Zustandsregisters ⇒ Ubergang in denStartzustandZustandsregister + Ubergangsfunktion ⇒ Abtastprozess mitInitialisierung (T , I in der Weckliste)Ausgabefunktion ohne Abtastregister ⇒ kombinatorischerProzess (x, s in der Weckliste)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 93/129

Page 97: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

VHDL-Fallunterscheidung als Tabellenfunktion

} =>{ |WertWert

{Anweisung Anweisung}A0 A1 An

. . .

. . .

w0 w1

ssonst

case Ausdruck is

when

{when

} =>{ |WertWert

end case

=>

;{Anweisung }]]

{Anweisung Anweisung}} A1w1

A0

w0

Auswahlgroßeswi Auswahlwert(e) i

Anweisungsfolge iAi

An[[when others

Anweisung

s

aus Zustandsgraphen abgeleitete Ubergangs- und Ausgabe-funktionen lassen sich am besten mit Auswahlanweisungenund Fallunterscheidungen beschreiben, z.B.:

case Zustand is

when Zi => if Eingabe=... then Zustand <= Zj; ...

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 94/129

Page 98: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Beispiel fur einen Mealy-Automaten

Zielstruktur

fs xI

00

0110

0/1

1/0

1/1

1/10/0

Ablaufgraph

0/0 s+ ysx

I

T T

fy

Teil des Automatenvorhanden, aber nicht

Eingabemenge: {0, 1} ⇒ BitZustandsmenge: {00, 01, 10} ⇒ 2-Bit-VektorAusgabemenge: {0, 1} ⇒ Bit

signal x, y, T, I: STD LOGIC;

signal s: STD LOGIC VECTOR(1 downto 0);

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 95/129

Page 99: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Ubergangsfunktion als Abtastprozess

s+

Ifsx

xI

T

s

00

0110

0/1

1/01/10/0

1/1

0/0

process(I, T)

variable sx: STD LOGIC VECTOR(2 downto 0);

beginif I=’1’ thens <= "00";

elsif RISING EDGE(T) thensx := s & x;

case sx iswhen "00"&’0’ | "10"&’0’ => s <= "00";

when "01"&’0’ | "00"&’1’ => s <= "01";

when "10"&’1’ | "01"&’1’ => s <= "10";

when others => s <= "XX";

end case;end if;

end process;

Auswahlausdruck: Konkatenation Zustand und EingabeProf. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 96/129

Page 100: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Ausgabefunktion als kombinatorischer Prozess

00

0110

0/1

1/01/10/0

0/0

1/1process(x, s)

variable sx: STD LOGIC VECTOR(2 downto 0);

beginsx := s & x;

case sx iswhen "00"&’1’ | "01"&’0’ | "10"&’0’ => y <= ’0’;

when "00"&’0’ | "01"&’1’ | "10"&’1’ => y <= ’1’;

when others => y <= ’X’;

end case;end process;

Auswahlausdruck ist wieder eine Konkatenation des Zustands-und des Eingabesignals

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 97/129

Page 101: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Beispiel Moore-Automat

process(s)begincase s iswhen "01" => y <= ’0’;

when "00"|"10" => y <= ’1’;

when others => s <= ’X’;

end case;end process; x

I

T

001 1

100

011001

1

0

s+ s

I

T

xy

fyfs

Eingabe-, Zustands- und Ausgabemenge sowieUbergangsfunktion wie im Bsp. zuvorAusgabe hangt nur vom Zustand ab

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 98/129

Page 102: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

Autonomer Automat, Beispiel Johnson-Zahler

0000

1000 1100 1110 1111

011100110001 s0 s1 s2 s3

II+

T

x

I I I

x x x

Schieberegister, das abwechselnd mit Nullen und Einsen volllauftZykluslange 2 · n (n – Bitanzahl des Zustandsregisters)sehr geringe Register-Register-Verzogerung; hohe zulassigeTaktfrequenzAnwendung als schneller Vorteiler, z.B. zurFrequenzmessung im Gigahertz-Bereich

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 99/129

Page 103: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 2. Automat ⇒ VHDL

0000

1000 1100 1110 1111

011100110001 s0 s1 s2 s3

II+

T

x

I I I

x x x

signal T, I: STD LOGIC;

signal s: STD LOGIC VECTOR(3 downto 0);

...

process(I, T)

beginif I=’1’ then s <= "0000";

elsif RISING EDGE(T) thens <= s(2 downto 0) & (not s(3));

end if;end process;

Fur bestimmte Automaten konnen die Ubergangs- undAusgabefunktionen wesentlich kompakter als mit einerAuswahlanweisung beschrieben werden.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 100/129

Page 104: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 3. Systemabsturz

Systemabsturz

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 101/129

Page 105: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 3. Systemabsturz

Unzulassige Zustande und Systemabsturz

n Speicherzellen hat 2n Zustande; nicht alle genutztWas passiert in den ungenutzten (unzulassigen) Zustanden?

Beispiel 4-Bit-Johnson-Zahler:

0100

1011

Fehl-funktion

keinRuck-weg

s3s2s1s0

Soll-Funktion Funktion nach einem Absturz

0000

111111101100

1000

0001 0011

0111 0101

00101001

01101101

1010

Automat durchlauft zyklisch unzulassigen Zustandebis zur Neuinitialisierung keine sinnvolle Reaktion mehr⇒Absturz

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 102/129

Page 106: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 3. Systemabsturz

Absturzfreie Automaten

Schaltung zur automatischen Neuinitialisierung

0000.0

1111.0

I

T

xs0

I

x

I

x

s1 s2

&

I+

s3

I

xI+r≥1

- - - -.1

unzulassige Zustande Zyklus der zulassigen Zustande

Ubergange durchFehlfunktionen

s3s2s1s0.I

0111.00011.00001.0

1110.01100.01000.01101.0

0101.01001.00100.0

1010.0 0110.0

0010.0

1011.0

Einzeichnen der unzulassigen Zustande; Definition vonKanten zum Verlassenim Beispiel automatisches Rucksetzen bei Erkennen derZustande �1101� und �0101�

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 103/129

Page 107: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 3. Systemabsturz

Watchdog uberwachter Automat Watchdog

RW

RA

RA

RW

Ein Uberlauf des Watchdogs initialisiert den Automaten neu

Bei einem bestimmten, regelmaßig stattfindenen Zustands-ubergang wird der Watchdog neu initialisiert

N = 1000 Speicherzellen ⇒ 21000 Zustande, die meistenunzulassig; Verfahren Folie zuvor unpraktikabelAlternative Zeituberwachung: wenn innerhalb einesvorgegebenen Zeitintervalls kein Zustand erreicht wird, derden Watchdog rucksetzt, initialisiert dieser das System neuStandardlosung fur Prozessrechner

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 104/129

Page 108: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Zahlenschloss

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 105/129

Page 109: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Entwurf der Steuerung eines Zahlenschlosses

Eingabefolge: Reset + richtige Zahlenfolge ⇒ leuchtendeAusgabe-LEDEingabefolge: Reset + falsche Zahlenfolge ⇒ LED bleibt aus

Entwurfsablauf:

Schaltungsskizze Eingabeelemente, Ausgabeelemente,Abtastregister, Taktversorgung; Ubergangs- undAusgabefunktion als noch zu entwerfende FunktionsblockeSpezifikation des ZustandsgraphenZustandscodierung (wenn nicht spezifiziert Eingabe- undAusgabecodierung)Beschreibung in VHDLSimulationSynthese, ...

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 106/129

Page 110: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Schaltungsskizze

xI

&x xU

x+

x+m−1

fs

sfy

xU’

s+

y

TI+

x+0

UV

· · ·x+1

I

m Zifferntasten + Reset-Taste; asynchron prellend;Abtastung z.B. mit TP ≈ 10 ms; �0� wenn gedrucktgultige Eingabe: Abtastfolge keine Taste - eine Tastebetatigt; mehrere Tasten gilt als falsche TasteAusgabe-LED + Vorwiderstand; leuchtet bei y = 0Moore-Automat (zustandszugeordnete Ausgabe)Neuinitialisierung mit abgetastetem Reset-Wert �0�

xU – UND-Verknupfung der Tasten; �1�, wenn imAbtastmoment keine Taste gedruckt, sonst �0�

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 107/129

Page 111: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Spezifikation des Ablaufs

1110∗ 0111∗ 1101∗

LED ausZ2 Z3

LED einLED ausZ0 Z1

LED aus

LED ausF

sonst∗ sonst∗sonst∗

∗ ∧(xU = 0) ∧ xU’= 1)

Akzeptorautomat; Zi Zustandsname; i – Nummer dernachsten GeheimzahlUbergangsbedingung: aktive Taktflanke ∧ xU = 0 (Tastegedruckt) ∧ xU’ (Abtastschritt zuvor keine Taste gedruckt)∧s 6= F ∧ s 6= Z3 (kein Endzustand)richtige Zahlenfolge 0-3-1 ⇒ Eingabefolge 1110-0111-1101(m = 4 Zifferntasten)falsche Eingabe ⇒ Fehlerzustand Fdie Endzustande F und Z3 werden nur durchNeuinitialisierung verlassen

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 108/129

Page 112: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Beschreibung in VHDL

xI

&x xU

x+

x+m−1

fs

sfy

xU’

s+

y

TI+

x+0

UV

· · ·x+1

I

signal T, I next, I, xu, xu del: STD LOGIC;

signal s: STD LOGIC VECTOR(2 downto 0);

signal x next, x: STD LOGIC VECTOR(3 downto 0);...

process(T) beginif RISING EDGE(T) thenx <= x next;

I <= I next;

xu del <= xu;

end if;end process;

xu <= x(0) and x(1) and x(2) and x(3);Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 109/129

Page 113: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Endzustande: 1- -

000

100010001

111

Z0

Z1

Z2

Z3

F

Zustand Codierung

Z1

LED aus LED ausZ2

LED ausZ0 Z3

LED ein

∗ ∧(xU = 0)∧xU’= 1)LED aus

F

1110∗ 0111∗

sonst∗sonst∗

1101∗

sonst∗

process(I, T)

variable v: STD LOGIC VECTOR(6 downto 0);

beginif I=’0’ thens <= "000";

elsif RISING EDGE(T) and xu=’0’

and xu del =’1’ and s(2)=’0’ thenv:= s & x;

case v iswhen "000" & "1110" => s<="001";when "001" & "0111" => s<="010";when "010" & "1101" => s<="100";when others => s <= "111";

end case;end if;

end process;--- nebenlaufige Anweisung zur Bildung von y

y<= not s(2) or s(1) or s(0);Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 110/129

Page 114: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 4. Zahlenschloss

Zusammenfassung

Die Zuruckfuhrung einer Aufgabe auf einen Automatenentwurf:

Schaltungsskizze mit dem Automat als Black-Box (kreativ)

Spezifikation des Ablaufs als Zustandsgraph (kreativ)

Umsetzung der Beschreibung in VHDL (rezeptartig)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 111/129

Page 115: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 5. Operationsablauf

Operationsablauf

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 112/129

Page 116: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 5. Operationsablauf

Operationsablaufgraph

Die Zustands- und Kantenanzahl eines Zustandsgraphen wachstexponentiell mit der Anzahl der Eingabe- und Zustandsbits.

Wie lasst sich die Information besser strukturieren?Wie bei einem Rechner:

als Operationsablauf, der Datenoperationen steuertbeschrankte Operationsmenge: Addition, Zahlen, bitweiseLogikoperationen ...

Operationsablaufgraph: erweiterter Zustandsgraph, derzuatzlich Operationen steuert und fur die KantenubergangeOperationsergebnisse auswertet

Definition der Operanden und Operationen zur Nachbildungder Zielfunktion als Register-Transfer-FunktionenBeschreibung des Operationsablaufs als Graph

Bereits eine Zahloperation kann die Beschreibung einessequentiellen Ablaufs drastisch vereinfachen.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 113/129

Page 117: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 5. Operationsablauf

Dreiecksignalgenerator

Zeitablauf

000000010010

11101101

1111

0 15 30

y

Schritt

Autonomer Automat, der periodisch 30 Zustande durchlauft.Zustandsraum teilbar in Zahlrichtung (aufwarts oderabwarts) und Zahlstand (�0000� bis �1111�)Die zwei fehlenden Tupel des kartesischen Produktes(�0000�, abwarts) und (�1111�, aufwarts) sind unzulassig.Benotigte Zahloperationen: clr (mit �0000� initialisieren),inc (aufwartszahlen) und dec (abwartszahlen)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 114/129

Page 118: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 5. Operationsablauf

+1

0000 y

Zeitablauf

Operationen des Zahlregisters

y

y

inc

dec

clr

−1

Operationsablaufgraph

0inc

1dec

y=1110

y=0001

clrI=1

sonstsonst

000000010010

11101101

1111

0 15 30

y

Schritt

library Tuc;

use Tuc.Numeric Sim.all;...signal T, I, s: STD LOGIC;

signal y: tUnsigned(3 downto 0);...process(I, T)beginif I=’1’ thens <= ’0’; y <= ”0000”;

elsif RISING EDGE(T) thencase s iswhen ’0’ => y <= y +”1”;

if y=”1110” then s<=’1’; end if;when ’1’ => y <= y -”1”;

if y=”0001” then s<=’0’; end if;when others => y <= ”XXXX”;

end case;end if;

end process;Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 115/129

Page 119: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

Quadratur-Encoder

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 116/129

Page 120: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

Wegemessung mit Quadratur-Encoder

vorwartsruckwarts

vorwarts ruckwarts

1 2 30 44 5 3 2 1 0

a’

b’ b”

a”0000

0 0 000 1

10

000

111

0 10 01 1

111

000

1 01 10 0

111

111

1 11

10

0

b’a” b” a’

−1

−1+1

+1

+1−1

+1−1

ct

T

0

01

1b’

a’

ct

a

b

Lochscheibe auf der Radachse z.B. eines mobilen Roboters.Bei einer Vorwartsdrehung andert sich das Signal a und beieiner Ruckwartsdrehung das Signal b zuerst.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 117/129

Page 121: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

vorwarts ruckwarts

00000 0 0

00 110

000

111

0 10 01 1

111

000

1 01 10 0

111

111

1 11

10

0

b’a” b” a’

−1

−1+1

+1

+1−1

+1−1

ct

1 2 30 44 5 3 2 1 0

0

01

1b’

a’

ct

Halt / nicht zahlen: a”b” = a’b’unzulassig: a”b” = a’b’

Rotation vorwarts / vorwarts zahlen:

zuerst schaltet a ein (a”b”a’b’ = 0010)dann b ein (a”b”a’b’ = 1011)dann a aus (a”b”a’b’ = 1101) undzum Schluss b aus (a”b”a’b’ = 0100).

Rotation ruckwarts / ruckwarts zahlen:

zuerst schaltet b ein (a”b”a’b’ = 0001)dann a ein(a”b”a’b’ = 0111)dann b� aus (a”b”a’b’ = 1110) undzum Schluss a aus (a”b”a’b’ = 1000)

Ubergangsfunktion:a”b” <= a’b’

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 118/129

Page 122: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

library Tuc; use Tuc.Numeric Sim.all;...signal T, I, I del: STD LOGIC;signal ab: STD LOGIC VECTOR(1 downto 0);signal ab del: STD LOGIC VECTOR(3 downto 0);

signal ct: tSigned(15 downto 0);

--- Abtastprozess ohne Initialisierung

process(T)beginif RISING EDGE(T) thenI del <= I;

ab del(1 downto 0) <= ab;

ab del(3 downto 2) <=ab del(1 downto 0);

end if;end process;

a’

b’ b”

a”a

b

T

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 119/129

Page 123: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

00000 0 0

00 110

000

111

0 10 01 1

111

000

1 01 10 0

111

111

1 11

10

0

b’a” b” a’

−1

−1+1

+1

+1−1

+1−1

ct

--- Zahlerprozess

process(I del, T)beginif I del=’1’ thenct <= ”0000000000000000”;

elsif RISING EDGE(T) thencase ab del iswhen ”0010” |”1011” |”1101” |”0100” => ct <= ct +”1”;when ”0001” |”0111” |”1110” |”1000” => ct <= ct -”1”;when ”0000” |”0101” |”1010” |”1111” => null;when others => ct <=”X...(16×X)...XX”;

end case;end if;

end process;

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 120/129

Page 124: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 6. Quadratur-Encoder

Zusammenfassung

Funktionsvorgabe als Ablaufgraph; rezeptartige Umsetzungin VHDL und weiter in eine Schaltung

Zustand ⇒ Zustandsregister, AbtastprozessAnfangswert ⇒ Initialwert des ZustandsregistersUbergangs- und Ausgabefunktion ⇒ Abtast- oder komb.Prozess mit Fallunterscheidung nach Zustand und Eingabe

redundante Zustande; Absturzgefahr; typischeFehlerbehandlung Neuinitialisierung; Resettaste, Watchdogkomplexere Funktionen mit großen Eingabe- undZustandsmengen

Nachbildung der Zielfunktion durch eine OpertionsfolgeSpezifikation der Operanden und Operatoren alsRegister-Transfer-FunktionenOperationsablaufgraphrezeptartige VHDL-Nachbildung

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 121/129

Page 125: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgaben

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 122/129

Page 126: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgabe 1.18: Ruckgekoppeltes Schieberegister

b)a)

x

I

x

I00

10

10

10

10

x

IT

y

s0 s1

T

x

I

s1s0

y

=1=1

Bestimmung der Folgezustande s+1 s

+0 und des Ausgabewerts

y fur alle Variationen des Ist-Zustands s1s0 und desEingabewerts von xZeichnen des ZustandsgraphenErganzen der Signalverlaufe fur s1s0 und y in der Abbildungrechts.

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 123/129

Page 127: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgabe 1.19: Automat

Z1

y<=’0’

y<=’1’

Z4

Z2

y<=’1’

x=’1’

x=’1’

x=’1’

y<=’0’

Z3

x=’0’x=’0’

x=’0’

x=’1’

x=’0’

symbolische Zustandsbezeichnung Z1 Z2 Z3 Z4

Zustandsvektor ”00” ”01” ”10” ”11”

Zustandswechsel bei steigender TaktflankeInitialisierung mit high-aktivem Initialisierungssignal

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 124/129

Page 128: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

1 Ausfullen der Ubergangstabelle

Eingabe 0 1 0 1 0 1 0 1

Zustand 00 00 01 01 10 10 11 11

Folgezustand

Ausgabe

2 Skizze der Gesamtschaltung (Eingabeabtastung,Zustandsregister, Ubergangsfunktion, Ausgabefunktion)

3 Wie viele Speicherzellen benotigt der Automat?

4 Beschreibung in VHDL (Entity- und Architecture-Teil).

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 125/129

Page 129: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgabe 1.20: Uberwachung eines Sendesignals

Fur ein Sendesignal ist zu uberwachen, dass die Differenz ∆ derAnzahl der gesendeten Einsen minus Anzahl gesendete Nullenden Bereich von −3 bis 3 nicht uberschreitet. Bei UberschreitungFehlersignal y aktivieren. Beispielsignalverlauf:

x 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 . . .

∆ 0 1 0 -1 -2 -3 -3 -2 -3 -2 -1 0 1 2 3 3

y 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 . . .

(x – Eingabe; ∆ – Anz. �0� minus Anz. �1�; y – Fehlersignal)

gesucht:

ZustandsgraphVHDL-Vereinbarungen + Prozessbeschreibung(en)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 126/129

Page 130: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgabe 1.21: Taktteiler

Entwerfen Sie eine Taktteilerschaltung mit dem Teilerfaktor 2 · n,die mit jeder n-ten Eingabetaktflanke den Ausgabetaktinvertiert. Gesucht:

Skizze der Signalverlaufe des Eingabe- und desAusgabetakts fur n = 2.Beschreibung der Zielfunktion mit einemOperationsablaufgraphen und einem Zahler.VHDL-Beschreibung. Der Parameter n ist als Konstante zuvereinbaren.

Hinweis: Der Typ fur den Zahler kann auch ein Zahlentyp sein(INTEGER, NATURAL oder POSITIVE).

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 127/129

Page 131: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Aufgabe 1.22: Morse-Empfanger

4 6 8 102

A R I SP

0

1

0x

t in s

Morsezeichen bestehen aus

kurzen Pulsen (Punkt, tP = 200...300 ms) undlangen Pulsen (Strich, tS = 600...900 ms).

Taktfrequenz: fT = 20 HzPrellzeit viel kleiner als Taktperiode.zwei low-aktive Tasteneingange

Signal x: Morse-SignalSignal I: Initialisierungssignal

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 128/129

Page 132: Entwurf digitaler Schaltungen (F2) Modellbildung und …tech...2. Entwurf digitaler Schaltungen (F2) Kapitel 1, Teil 2 Modellbildung und Simulation Abschnitte 1.3 Laufzeittoleranz

6. Sequentielle Schaltungen 7. Aufgaben

Drei bitorientierte Ausgange, zu aktivieren fur je einen Takt

Signal p: nach einem PunktSignal s: nach einem StrichSignal err: nach einem Puls unzulassiger Breite

Skizze der Gesamtschaltung mit Tasten, Abtastregistern,Zustandsregister und der Ubergangs- und Ausgabefunktionals Black-Box.

Operationsablaufgraph unter Verwendung eines Zahlers

VHDL-Beschreibung (nur Vereinbarungen der Datenobjekteund Beschreibung der Prozesse)

Prof. G. Kemnitz · Institut fur Informatik, Technische Universitat Clausthal 24. April 2013 129/129