eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und...

13
e X amen.press

Transcript of eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und...

Page 1: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

eXamen.press

Page 2: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

eXamen.press ist eine Reihe, die Theorie undPraxis aus allen Bereichen der Informatik fürdie Hochschulausbildung vermittelt.

Page 3: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Technische Informatik

123

Gunter Kemnitz

Band 2: Entwurf digitaler Schaltungen

Page 4: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

TU ClausthalInstitut fur InformatikArbeitsb. Hardwareentwurf u.RobotikJulius-Albert-Strasse 438678 Clausthal-ZellerfeldDeutschland

ISSN 1614-5216ISBN 978-3-642-17446-9 e-ISBN 978-3-642-17447-6DOI 10.1007/978-3-642-17447-6Springer Heidelberg Dordrecht London New York

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;detaillierte bibliografische Daten sind im Internet uber http://dnb.d-nb.de abrufbar.

c© Springer-Verlag Berlin Heidelberg 2011Dieses Werk ist urheberrechtlich geschutzt. Die dadurch begrundeten Rechte, insbesondere die derUbersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, derFunksendung, der Mikroverfilmung oder der Vervielfaltigung auf anderen Wegen und der Speicherung inDatenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. EineVervielfaltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzender gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9.September 1965 in der jeweils geltenden Fassung zulassig. Sie ist grundsatzlich vergutungspflichtig.Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werkberechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne derWarenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher von jedermannbenutzt werden durften.

Einbandentwurf: KuenkelLopka GmbH

Gedruckt auf saurefreiem Papier

Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)

[email protected]

Gunter Kemnitz

Page 5: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Vorwort

Die Technische Informatik umfasst zwei ganz unterschiedliche Grundausrich-tungen, die im applikativen Bereich stark miteinander verflochten sind:

• die technische Basis der Informatik und• die technischen Anwendungen der Informatik.

Die technische Basis der Informatik ist die Digitaltechnik, die ihrerseits dieGrundlage für den Entwurf hochintegrierter Schaltkreise bildet. Hochintegrier-te Schaltkreise sind wiederum der Kern der Rechnerhardware.

Die andere, nicht weniger bedeutende Grundausrichtung ist die informa-tionstechnische Erfassung und Steuerung technischer Systeme. Hier ist die Ba-sis die Nachbildung technischer Zusammenhänge durch Zahlen, Algorithmen,Regeln etc., d.h. durch Modelle, die ein Rechner verarbeiten kann. Darauf set-zen die stärker applikativ orientierten Gebiete wie die rechnergestützte Mess-,Steuer- und Regelungstechnik sowie die Nachrichtentechnik auf.

Technische Anwendungen stellen spezielle Anforderungen an die Rechner-hardware und die darauf laufende Software, nämlich

• Echtzeitfähigkeit,• geringe Abmessungen,• geringer Stromverbrauch,• hinreichende Verlässlichkeit etc.

An dieser Schnittstelle haben sich wichtige Teilgebiete der Informatik heraus-gebildet, die sich z.B. unter den Überschriften »Eingebettete Systeme« und»Echtzeitsysteme« mit Systemen aus Hard- und Software beschäftigen, diehauptsächlich für technische Anwendungen gedacht sind. Die Einsatzgebietesolcher Systeme reichen von der Waschmaschine mit Mikrorechner über dasHandy bis zum Autopiloten in einem Flugzeug.

Die beiden Grundausrichtungen der Technischen Informatik – technischeBasis und technische Anwendungen – repräsentieren unterschiedliche Denk-welten. Die digitale Welt der Informatik unterscheidet nur »0« und »1«. Die

Page 6: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

logischen Grundbausteine – UND, ODER, Inverter, ... – sind sehr einfach zuverstehen und ihre Funktionen sind exakt definiert. Aus ihnen werden hier-archisch zuerst kleine Teilsysteme, aus diesen wieder größere Teilsysteme undaus diesen wieder komplette Rechner und Rechnersysteme zusammengesetzt.

Bei den heutigen hochintegrierten Schaltkreisen mit vielen Millionenvon Transistoren gibt es keinen Menschen mehr, der sagen kann, wozujeder der Transistoren da ist.

Die Entwurfstechnik für wirklich große Systeme besteht inzwischen vereinfachtdarin, einen Algorithmus zu entwickeln, der einen Algorithmus entwickelt, derdas System entwickelt. Das ist eine vollkommen andere Denkwelt als bei derAnwendung der Informatik in der Technik.

Die informationstechnische Erfassung, Modellierung und Steuerung tech-nischer Systeme arbeitet immer mit Näherungen. Ein technisches System ver-hält sich nur zu einem Teil deterministisch. Der deterministische Teil ist meistnichtlinear. Die Nachbildung erfolgt durch große Gleichungssysteme, die sichnur lösen lassen, wenn sie durch lineare Gleichungssysteme angenähert wer-den. Die Grundlagen hierfür sind die Physik und die Mathematik. Es ist dieGenauigkeit, die es zu beherrschen gilt, nicht die Größe.

Dieses Buch behandelt die technische Basis der Informatik: die Modellbil-dung, die Simulation, den (rechnergestützten) Entwurf und den Test digitalerSchaltungen. Ein Rechner ist in diesem Rahmen eine Beispielschaltung.

Clausthal-Zellerfeld, Günter KemnitzOktober 2010

vi Vorwort

Page 7: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Inhaltsverzeichnis

1 Modellbildung und Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Entwurf digitaler Schaltungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Der Umgang mit großen Schaltungen . . . . . . . . . . . . . . . . 11.1.2 Modelle und Entwurfsraum . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.3 Entwurfsablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.1.4 VHDL als formale Beschreibungsplattform . . . . . . . . . . . . 91.1.5 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 15

1.2 Funktion, Struktur und Simulation . . . . . . . . . . . . . . . . . . . . . . . . 161.2.1 Signale und Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.2 Signalflussplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.2.3 Imperative Funktionsmodelle . . . . . . . . . . . . . . . . . . . . . . . 221.2.4 Ereignisgesteuerte Simulation . . . . . . . . . . . . . . . . . . . . . . . 331.2.5 Strukturbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371.2.6 Testrahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401.2.7 Instanziierung von Komponenten . . . . . . . . . . . . . . . . . . . . 411.2.8 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 41

1.3 Laufzeittoleranz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441.3.1 Glitches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441.3.2 Das Verzögerungsmodell einer Signalzuweisung . . . . . . . . 461.3.3 Simulation mit Halte- und Verzögerungszeiten . . . . . . . . 481.3.4 Laufzeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511.3.5 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 52

1.4 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551.4.1 Register als Abtastelemente . . . . . . . . . . . . . . . . . . . . . . . . . 561.4.2 VHDL-Abtastprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571.4.3 Verarbeitung plus Abtastung . . . . . . . . . . . . . . . . . . . . . . . 601.4.4 Register-Transfer-Funktion . . . . . . . . . . . . . . . . . . . . . . . . . 611.4.5 Taktversatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621.4.6 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 64

1.5 Asynchrone Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661.5.1 Abtasten asynchroner Signale . . . . . . . . . . . . . . . . . . . . . . . 66

Page 8: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

1.5.2 Entprellen von Tasten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671.5.3 Asynchrone Initialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . 681.5.4 Asynchrone parallele Schnittstelle . . . . . . . . . . . . . . . . . . . 701.5.5 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 72

1.6 Sequenzielle Schaltungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741.6.1 Endlicher Automat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741.6.2 Vom Zustandsgraph zur VHDL-Beschreibung . . . . . . . . . 781.6.3 Unzulässige Zustände, Systemabsturz und Watchdog . . . 821.6.4 Entwurf eines Zahlenschlosses . . . . . . . . . . . . . . . . . . . . . . . 841.6.5 Operationsablaufgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861.6.6 Beispiel Wegemessung mit Quadratur-Encoder . . . . . . . . 891.6.7 Software-orientierte Ablaufbeschreibung . . . . . . . . . . . . . . 911.6.8 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 92

2 Synthese und Logikoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952.1 Register-Transfer-Synthese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

2.1.1 Beschreibung und Extraktion von Registern . . . . . . . . . . 972.1.2 Kombinatorische Schaltungen . . . . . . . . . . . . . . . . . . . . . . . 992.1.3 Kombinatorische Schaltungen mit Abtastregistern . . . . . 1062.1.4 Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112.1.5 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162.1.6 Entwurfsfehler und Fehlervermeidung . . . . . . . . . . . . . . . . 1192.1.7 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 122

2.2 Schaltungsvereinfachung auf Basis der Schaltalgebra . . . . . . . . . 1252.2.1 Umformungs- und Vereinfachungsregeln . . . . . . . . . . . . . . 1252.2.2 Optimierungsziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282.2.3 Schaltungsvereinfachung mit Konjunktionsmengen . . . . . 1292.2.4 KV-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312.2.5 Verfahren von Quine und McCluskey . . . . . . . . . . . . . . . . 1382.2.6 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 141

2.3 Binäre Entscheidungsdiagramme . . . . . . . . . . . . . . . . . . . . . . . . . . 1432.3.1 Vereinfachung binärer Entscheidungsdiagramme . . . . . . . 1442.3.2 Zweistellige Operationen mit ROBDDs . . . . . . . . . . . . . . . 1462.3.3 Umsetzung von ROBDDs in minimierte Schaltungen . . . 1482.3.4 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 149

2.4 Zahlendarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502.4.1 Stellenwertsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512.4.2 Vorzeichenbehaftete Zahlen im Zweierkomplement . . . . 1532.4.3 Festkommazahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552.4.4 Gleitkommazahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1562.4.5 Zahlendarstellung und -verarbeitung in VHDL . . . . . . . . 1582.4.6 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 159

2.5 Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.5.1 Ripple-Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.5.2 Serieller Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

viii Inhaltsverzeichnis

Page 9: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Inhaltsverzeichnis ix

2.5.3 Schneller Übertragsdurchlauf . . . . . . . . . . . . . . . . . . . . . . . 1672.5.4 Hierarchische Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1682.5.5 Carry-Save-Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1712.5.6 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 172

2.6 Weitere Rechenwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1732.6.1 Subtrahierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1732.6.2 Zähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1742.6.3 Negation und Betragsbildung . . . . . . . . . . . . . . . . . . . . . . . 1742.6.4 Multiplizierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1762.6.5 Dividierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1772.6.6 Vergleicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1822.6.7 Verschiebung und Rotation . . . . . . . . . . . . . . . . . . . . . . . . 1822.6.8 Synthese-Suchmuster und Optimierung . . . . . . . . . . . . . . . 1842.6.9 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 187

3 VHDL im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1893.1 Imperative Beschreibungsmittel . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

3.1.1 Operatoren, Ausdrücke und Zuweisungen . . . . . . . . . . . . . 1913.1.2 Fallunterscheidungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1943.1.3 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1953.1.4 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1983.1.5 Unreine Funktionen und globale Variablen . . . . . . . . . . . . 2043.1.6 Operatorfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2053.1.7 Prozeduren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2063.1.8 Nebenläufige Prozeduren . . . . . . . . . . . . . . . . . . . . . . . . . . . 2093.1.9 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 212

3.2 Anwendungsspezifische Datentypen . . . . . . . . . . . . . . . . . . . . . . . . 2143.2.1 Zahlentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2143.2.2 Aufzählungstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2183.2.3 Physikalische Typen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2193.2.4 Attribute von elementaren Datentypen . . . . . . . . . . . . . . . 2203.2.5 Felder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2213.2.6 Zuordnungslisten für Feldelemente . . . . . . . . . . . . . . . . . . . 2243.2.7 Bitvektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2263.2.8 Verbund . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2303.2.9 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 233

3.3 Ein- und Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2353.3.1 Das Dateikonzept von VHDL . . . . . . . . . . . . . . . . . . . . . . . 2353.3.2 Textausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2363.3.3 Texteingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2403.3.4 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 242

3.4 Beschreibungsschablonen für digitale Schaltungen . . . . . . . . . . . . 2443.4.1 Auslagerung kombinatorischer Funktionen in Packages . 2443.4.2 Bäume statt Ketten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2503.4.3 Blockspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Page 10: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

x Inhaltsverzeichnis

3.4.4 Ein objektorientiertes FIFO-Modell . . . . . . . . . . . . . . . . . . 2623.4.5 UART – schrittweise Modellentwicklung . . . . . . . . . . . . . . 2653.4.6 Entwicklung eines CORDIC-Rechenwerks . . . . . . . . . . . . . 2783.4.7 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 286

3.5 Methoden und Funktionsbausteine für den Test . . . . . . . . . . . . . 2883.5.1 Pseudo-Zufallstest und Mehrversionsvergleich . . . . . . . . . 2893.5.2 Vorab berechnete Eingaben und Soll-Werte . . . . . . . . . . . 2943.5.3 Spezifikationstest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2963.5.4 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 300

4 Vom Transistor zur Schaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3014.1 Entwurf und Modellierung von CMOS-Gattern . . . . . . . . . . . . . . 301

4.1.1 MOS-Transistoren als Schalter . . . . . . . . . . . . . . . . . . . . . . 3014.1.2 Geschaltete Transistornetzwerke . . . . . . . . . . . . . . . . . . . . . 3054.1.3 Signale mit mehreren Quellen . . . . . . . . . . . . . . . . . . . . . . . 3074.1.4 FCMOS-Gatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3094.1.5 Bussignale und deaktivierbare Treiber . . . . . . . . . . . . . . . . 3124.1.6 Gatter mit Pull-Up- und Pull-Down-Elementen . . . . . . . 3134.1.7 Transfergatter und Multiplexer . . . . . . . . . . . . . . . . . . . . . . 3154.1.8 Geometrische Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . 3174.1.9 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 320

4.2 Zeitverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3224.2.1 Simulation des elektrischen Verhaltens . . . . . . . . . . . . . . . 3234.2.2 Verzögerungsparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3294.2.3 Parameterbestimmung mit Ringinvertern . . . . . . . . . . . . . 3324.2.4 Gatter mit mehreren Eingängen . . . . . . . . . . . . . . . . . . . . . 3334.2.5 Simulation mit geschalteten Transistorbreiten . . . . . . . . . 3354.2.6 Reduktion auf zwei Zeitparameter . . . . . . . . . . . . . . . . . . . 3394.2.7 Gepufferte CMOS-Gatter . . . . . . . . . . . . . . . . . . . . . . . . . . . 3414.2.8 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 342

4.3 Speicherzellen, Latches und Register . . . . . . . . . . . . . . . . . . . . . . . 3444.3.1 Dynamische Speicherzellen . . . . . . . . . . . . . . . . . . . . . . . . . 3444.3.2 RS-Flipflop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3454.3.3 D-Flipflops und Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3464.3.4 Übernahme an der Taktflanke . . . . . . . . . . . . . . . . . . . . . . . 3474.3.5 Register aus Master-Slave-Flipflops . . . . . . . . . . . . . . . . . . 3494.3.6 Taktversorgung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3514.3.7 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 355

4.4 Schreib-Lese-Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3574.4.1 SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3584.4.2 Mehrportspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3654.4.3 Assoziativspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3694.4.4 Dynamische Speicher (DRAM) . . . . . . . . . . . . . . . . . . . . . . 371

4.5 Festwertspeicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3754.6 Programmierbare Logikschaltkreise . . . . . . . . . . . . . . . . . . . . . . . . 376

Page 11: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Inhaltsverzeichnis xi

4.6.1 Programmierbare Tabellenfunktionen . . . . . . . . . . . . . . . . 3774.6.2 Programmierbare UND-Matrix . . . . . . . . . . . . . . . . . . . . . . 3784.6.3 Weitere programmierbare Elemente . . . . . . . . . . . . . . . . . . 3794.6.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

5 Komplexe Beispielentwürfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3815.1 Pipeline-Verarbeitung und Speicherengpass . . . . . . . . . . . . . . . . . 381

5.1.1 Prinzip der Pipeline-Verarbeitung . . . . . . . . . . . . . . . . . . . 3815.1.2 Ausbalancieren einer Pipeline . . . . . . . . . . . . . . . . . . . . . . . 3835.1.3 Engpass Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384

5.2 FIR-Filter mit Blockspeichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3845.2.1 Planung der Speicherstruktur und der Pipeline-Abläufe 3855.2.2 Der gesamte Operationsablauf . . . . . . . . . . . . . . . . . . . . . . 3875.2.3 Datentypen und Bearbeitungsmethoden . . . . . . . . . . . . . . 3885.2.4 Das erste komplette Simulationsmodell . . . . . . . . . . . . . . . 3905.2.5 Ersatz der Zahlentypen durch Bitvektortypen . . . . . . . . . 3935.2.6 Ein- und Ausgabe über Signale . . . . . . . . . . . . . . . . . . . . . . 3955.2.7 Umformung in eine Automatenbeschreibung . . . . . . . . . . 3975.2.8 Zusammenfassung und Übungsaufgaben . . . . . . . . . . . . . . 402

5.3 Point-of-Interest-Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4025.3.1 Die Zielfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4035.3.2 Grobkonzept der Hardware-Struktur . . . . . . . . . . . . . . . . . 4035.3.3 Optimierung der 2D-FIR-Filter . . . . . . . . . . . . . . . . . . . . . 4055.3.4 Entwurf der Filter-Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . 4065.3.5 Nachladen des Bildausschnittsspeichers . . . . . . . . . . . . . . . 4085.3.6 Suche der betragsmäßig größten Filterantworten . . . . . . . 4105.3.7 Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4125.3.8 Sortieren der klassifizierten Punkte . . . . . . . . . . . . . . . . . . 4125.3.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

5.4 Entwurf eines RISC-Prozessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4145.4.1 Die Pipeline für Verarbeitungsbefehle . . . . . . . . . . . . . . . . 4155.4.2 Lade- und Speichereinheit . . . . . . . . . . . . . . . . . . . . . . . . . . 4175.4.3 Sprung-Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4185.4.4 Entwurf eines Befehlssatzes für einen Minimalprozessor 4205.4.5 Konstanten- und Datentypdefinitionen . . . . . . . . . . . . . . . 4235.4.6 Das Rechenwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4245.4.7 Test des Rechenwerks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4275.4.8 Schaltung zur Auswertung der Sprungbedingung . . . . . . 4295.4.9 Das Pipeline-Objekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4305.4.10 Die Übergangsfunktion für einen Pipeline-Schritt . . . . . . 4325.4.11 Test der Übergangsfunktion . . . . . . . . . . . . . . . . . . . . . . . . 4355.4.12 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

Page 12: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

xii Inhaltsverzeichnis

6 Lösungen zu den Übungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . 4396.1 Modellbildung und Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

6.1.1 Entwurf digitaler Schaltungen . . . . . . . . . . . . . . . . . . . . . . . 4396.1.2 Funktion, Struktur und Simulation . . . . . . . . . . . . . . . . . . 4406.1.3 Laufzeittoleranz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4426.1.4 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4446.1.5 Asynchrone Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4466.1.6 Sequenzielle Schaltungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

6.2 Synthese und Logikoptimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 4506.2.1 Register-Transfer-Synthese . . . . . . . . . . . . . . . . . . . . . . . . . 4506.2.2 Schaltungsvereinfachung auf Basis der Schaltalgebra . . . 4526.2.3 Binäre Entscheidungsdiagramme . . . . . . . . . . . . . . . . . . . . 4566.2.4 Zahlendarstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4576.2.5 Addierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4596.2.6 Weitere Rechenwerke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

6.3 VHDL im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4636.3.1 Imperative Beschreibungsmittel . . . . . . . . . . . . . . . . . . . . . 4636.3.2 Anwendungsspezifische Datentypen . . . . . . . . . . . . . . . . . . 4656.3.3 Ein- und Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4666.3.4 Beschreibungsschablonen für digitale Schaltungen . . . . . 4696.3.5 Methoden und Funktionsbausteine für den Test . . . . . . . 471

6.4 Vom Transistor zur Schaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4726.4.1 Entwurf und Modellierung von CMOS-Gattern . . . . . . . . 4726.4.2 Zeitverhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4746.4.3 Speicherzellen, Latches und Register . . . . . . . . . . . . . . . . . 476

6.5 Komplexe Beispielentwürfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4766.5.1 FIR-Filter mit Blockspeichern . . . . . . . . . . . . . . . . . . . . . . 476

A Ergänzungen zu VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479A.1 Syntax, Schlüsselworte, Bezeichner, Konstanten . . . . . . . . . . . . . 479

A.1.1 Syntaxregeln für die Beschreibung vonSprachkonstrukten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

A.1.2 Schlüsselworte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479A.1.3 Syntaxregeln für Bezeichner . . . . . . . . . . . . . . . . . . . . . . . . 480A.1.4 Zeichen- und Zeichenkettenkonstanten . . . . . . . . . . . . . . . 481A.1.5 Darstellung von Zahlenwerten . . . . . . . . . . . . . . . . . . . . . . . 481A.1.6 Vordefinierte Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

A.2 Die Bibliothek »Tuc« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484A.2.1 Textausgabe (Tuc.Ausgabe) . . . . . . . . . . . . . . . . . . . . . . . . 484A.2.2 Kontrollierter Simulationsabbruch (Tuc.StopSim_pack) 486A.2.3 Texteingabe (Package Tuc.Eingabe) . . . . . . . . . . . . . . . . . . 487A.2.4 Arithmetische Operationen (Tuc.Numeric_Sim und

Tuc.Numeric_Synth) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489A.2.5 Pseudo-Zufallstest (Tuc.Zufallstest) . . . . . . . . . . . . . . . . . . 492

Page 13: eXamen - link.springer.com978-3-642-17447-6/1.pdf · eXamen.press ist eine Reihe, die Theorie und Praxis aus allen Bereichen der Informatik für die Hochschulausbildungvermittelt.

Inhaltsverzeichnis xiii

Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493

Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501