Table Of ContentSpringer-Lehrbuch
Springer-Verlag Berlin Heidelberg GmbH
ON LI NE LIBRARY
http:// www.springer.de/engine/
Klaus Urbanski · Roland Woitowitz
Digitaltechnik
• ••
E1n Lehr- und Ubungsbuch
Vierte, neu bearbeitete und erweiterte Auflage
Mit 315 Abbildungen
~Springer
Prof. Dr.-Ing. Klaus Urbanski
Prof. Dr.-Ing. Roland Woitowitz
Fachhochschule Osnabriick
Fachbereich Elektrotechnik
AlbrechtstraBe 30
490760snabriick
www.et.jh-osnabrueck.de/dum
Bibliografische Information der Deutschen Bibliothek
Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet iiber <http://dnb.ddb.de> abrufbar.
ISBN 978-3-540-40180-3 ISBN 978-3-662-06747-5 (eBook)
DOI 10.1007/978-3-662-06747-5
Dieses Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der
Ubersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der
Funksendung, der MikroverfIlmung oder Vervielfaltigung auf anderen Wegen und der Speicherung
in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine
Vervielfaltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den
Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutsch
land vom 9. September 1965 in der jeweils geltenden Fassung zulăssig. Sie ist grundsătzlich
vergiitungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechts
gesetzes.
© Springer-Verlag Berlin Heidelberg 1997, 2000 and 2004
Urspriinglich erschienen bei Springer-Verlag Berlin Heidelberg New York 2004
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daB solche Namen im
Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten wăren und daher
von jedermann benutzt werden diirften.
Sollte in diesem Werk direkt oder indirekt auf Gesetze, Vorschriften oder Richtlinien (z.B. DIN,
VDI, VDE) Bezug genommen oder aus ihnen zitiert worden sein, so kann der Veriag keine Gewăhr
fiir die Richtigkeit, Vollstăndigkeit oder Aktuaiităt iibernehmen. Es empfiehlt sich, gegebenenfalls
fiir die eigenen Arbeiten die vollstăndigen Vorschriften oder Richtlinien in der jeweils giiltigen
Fassung hinzuzuziehen.
Einband-Entwurf: Design & Production, Heidelberg
Satz: Digitale Druckvorlage der Autoren, bearbeitet von Marianne Schillinger-Dietrich, Berlin
Gedruckt auf săurefreiem Papier 7/3020 Rw 543210
Vorwort
Die Digitaltechnik hat seit der Einführung der ersten digitalen integrierten Halb
leiterschaltungen im Jahre 1958 einen vehementen Aufschwung genommen. Maß
geblich daran beteiligt war der technologische Fortschritt in der Mikroelektronik.
Mittlerweile lassen sich integrierte Schaltungen mit mehr als 100 Mio. aktiven
Elementen realisieren.
Anfanglieh konzentrierte sich diese Technik einerseits auf niedrigintegrierte lo
gische Grundschaltungen und andererseits auf hochintegrierte kundenspezifische
Schaltungen (Full Custom ICs), aber bereits 1971 kamen die Mikroprozessoren als
neuartige programmierbare Universalschaltungen hinzu.
Seit einigen Jahren erweitert sich das Anwendungsspektrum zunehmend in
Richtung der sog. Semi Custom ICs. Hierbei handelt es sich um hochintegrierte
Standardschaltungen, bei denen wesentliche Designschritte mittels Computerun
terstützung vom Anwender selbst übernommen werden.
Das Buch widmet sichalldiesen Grundlagen der Digitaltechnik unter besonde
rer Berücksichtigung der zur Zeit gültigen Normen für Schaltsymbole und For
melzeichen.
Der Darstellung grundlegender Logikbausteine, wie NAND, NOR, Flipflops
und Zähler sowie programmierbarer Bausteine, wie PAL, PLA, LCA schließt sich
eine Einführung in die Mikroprozessor-und Mikrocontroller-Technik an.
Einen besonderen Schwerpunkt bildet der systematische Entwurf von Schalt
netzen und Schaltwerken unter Einsatz programmierbarer Bausteine. Zahlreiche
Beispiele hierzu erleichtern das Verständnis für Aufbau und Funktion dieser mo
dernen digitalen Systeme.
Zu allen Kapiteln werden Übungsaufgaben mit ausführlichen Musterlösungen
angeboten. Daher eignet sich dieses Buch besonders zum Selbststudium. Es wen
det sich damit sowohl an Hochschulstudenten der Elektrotechnik oder Informati
onstechnik im Hauptstudium, als auch an den in der Berufspraxis stehenden Inge
nieur, der seinen Wissensstand auf diesem Gebiet aktualisieren will.
Besonderer Dank gebührt Herrn Dr.-Ing. H. Kopp, der dieses Buch durch wert
volle Anregungen und vielfaltige Unterstützung bereichert hat. Auch den Studen
ten der Fachhochschule Osnabrück gilt unser Dank für ihre Mitarbeit und mannig
fache Hilfestellung.
Bedanken möchten wir uns ebenfalls beim Verlag für die gute Zusammenarbeit.
Osnabrück, Dezember 1992 Klaus Urbanski, Roland Woitowitz
VI Vorwort
In der hier vorliegenden zweiten Auflage wurde das Kapitel über digitale
Halbleiterspeicher überarbeitet und auf den aktuellen Stand gebracht. Dieses war
erforderlich, da in den letzten Jahren neue Speicherarchitekturen entwickelt wor
den sind, die den Geschwindigkeitsanforderungen moderner schnellgetakteter
Rechner genügen.
Darüber hinaus wurde das Kapitel mit Übungsaufgaben erweitert. Es enthält
nun 31 umfangreiche Aufgabenstellungen aus allen Bereichen der Digitaltechnik
mit ausführlichen Musterlösungen.
Osnabrück, April 1997 Klaus Urbanski, Roland Woitowitz
Die dritte Auflage wurde bereits nach 3 Jahren nötig, da die Autoren neuere
Entwicklungen im Bereich der Digitaltechnik an die Leser weitergeben wollen.
Hierzu gehört die Entwurfs- und Simulationssprache VHDL, die mittlerweile
breiten Einsatz in der digitaltechnischen Praxis gefunden hat. Sie wird in einem
gesonderten Kapitel zunächst in elementarer Form, dann aber auch weiterführend
dargestellt, so daß neben dem Anfänger auch der erfahrene Praktiker in diesem
neuen Bereich Unterstützung findet. Sie wird darüber hinaus in mehreren Kapiteln
bei Analyse- und Synthese-Aufgaben anhand praktischer Beispiele angewendet.
Ein weiteres neues Kapitel widmet sich dem Gebiet der Analog-Digital- und
Digital-Analog-Umsetzer. Auch hir haben in den letzten Jahren neue, richtungs
weisende Entwicklungen stattgefunden, wie an den Beispielen Delta-Sigma- oder
Pipeline-Umsetzern erkennbar ist. Die Gesamtthematik, einschließlich der Abtast
Halteglieder wird in Kap. 8 systematisch aufgearbeitet.
Die Bereiche programmierbare Logik und digitale Halbleiterspeicher wurden
ebenfalls überarbeitet.
Osnabrück, Februar 2000 Klaus Urbanski, Roland Woitowitz
Nach dem Mooreschen Gesetz verdoppelt sich die Speicherdichte alle 18 Monate.
Auch die Informationsflut nimmt ständig zu, so dass wir es für sinnvoll halten,
nach weiteren 36 Monaten die vierte Auflage mit zahlreichen Erweiterungen her
auszubringen.
Die neuen Bereiche sind hier tabellarisch aufgelistet:
• Erweiterung des Kapitels 4 "VHDL als Entwurfs- und Simulationssprache"
um die Komponente Testbenches. Dazu werden ausführliche Übungsaufga
ben vorgestellt, die auch dem Anfanger einen Einstieg in die Simulations
techniken mit Testbenches ermöglichen.
• In dem Kapitel 7 "Digitale Halbleiterspeicher" sind die Flashspeicher (NOR
und NAND-Typen), das Double Date Rate SDRAM sowie die neu entwik-
Vorwort VII
kelten nichtflüchtigen Typen FRAM und MRAM zusätzlich aufgenommen
worden.
• Völlig überarbeitet wurde das Kapitel 9 "Mikroprozessoren und Mikrocon
troller". Der Mikrocontroller 8051 wird nun hardware- und softwaremäßig
detailliert dargestellt, so dass der Leser anband des Kapitels ohne weitere
Datenbücher in der Lage ist, Hardware und Software für Mikrocontroller
Applikationen zu entwickeln. Neben der Hardwarebeschreibung bildet die
modulare Programmentwicklung in Assembler einen Schwerpunkt in diesem
Kapitel.
Aufgrund der zahlreichen zusätzlichen Komponenten mussten auch Kürzungen
vorgenommen werden. Das Kapitel 10 mit den Übungsaufgaben ist gestrafft wor
den. Es sind Übungsaufgaben ausgelagert, andere sind im Lösungsteil gekürzt und
einige sind neu aufgenommen worden.
Das Kapitel 10 aus der dritten Auflage steht dem Leser weiterhin auf unserer
Internetseite zur Verfügung. Zusätzlich bieten wir dem Leser auf der Hornepage
zahlreiche VHDL-Modelle und Testbenches zum Downloaden an.
Sie finden zusätzliche Übungsaufgaben, Beiblätter, VHDL-Modelle sowie As
sembler-und C-Programme unter der Homepage:
http://www.et.fh-osnabrueck.de/dum
http://www. springer .de/cgi/ svcat/bag generate.pl ?ISBN =3-540-40180-6
Osnabrück, im Sommer 2003 Klaus Urbanski, Roland Woitowitz
Inhaltsverzeichnis
1 Zahlensysteme ........................................................................................................ 1
1.1 Allgemeines Zahlensystem.............................................................................. 1
1.2 Dual-, Oktal-und Hexadezimalsystem............................................................ 2
1.3 Konvertierung zwischen den Zahlensystemen................................................. 3
1.4 Arithmetische Operationen im Dualsystem..................................................... 5
1.4.1 Die duale Addition............................................................................... 5
1.4.2 Die duale Subtraktion........................................................................... 5
1.4.3 Die Multiplikation von Dualzahlen (Booth-Algorithmus) ................... 10
1.4.4 Die Division von Dualzahlen (Restoring-Methode)............................. 11
1.5 Die Darstellung gebrochener Zahlen im Dualsystem...................................... 13
2 Logische Funktionen.............................................................................................. 15
2.1 Grundbegriffe.................................................................................................. 15
2.1.1 Logik-Pegel und Logik-Zustand einer binären Variablen.................... 15
2.1.2 Zuordnungssysteme...... .. .. .. ......... .. .. .. .. .. .. .. ......... .. .. ............................ .. 16
2.1.3 Signalnamen in der Digitaltechnik....................................................... 20
2.2 Vergleich zwischen analoger und digitaler physikalischer Größe................... 20
2.3 Schaltalgebra................................................................................................... 22
2.3.1 Verknüpfungszeichen........................................................................... 22
2.3.2 Definition der logischen Funktionen.................................................... 24
2.3.3 Schaltsymbole ...................................................................................... 25
2.3.4 Rechenregeln der Schaltalgebra ........................................................... 28
2.3.5 Logikstufen .......................................................................................... 30
2.3.6 Realisierung der Grundverknüpfungen in NAND-und NOR-Technik 31
2.3.7 Normalform einer logischen Funktion................................................. 33
2.4 Minimieren logischer Funktionen ... .. .... .... .. .. .... ... .. .. .. .. .. .. .. ............. ................ 35
2.4.1 Allgemeines . .. .. ........... .. .. .. ................... .. .. .. .. .... .... ............... ............ .. ... 35
2.4.2 Minimierungsverfahren ........................................................................ 37
2.4.3 Kamaugh-Veitch-Diagramm (KV-Diagramm) .................................... 38
2.4.3.1 KV-Diagramrn für zwei Eingangsvariablen ............................ 39
2.4.3.2 KV-Diagramrn für drei Eingangsvariablen.............................. 41
2.4.3.3 KV-Diagramm für vier Eingangsvariablen.............................. 44
2.4.3.4 KV -Diagramm für fünf Eingangsvariablen ............................. 46
3 Technische Realisierung digitaler Schaltungen................................................... 49
3.1 Überblick über die technologische Entwicklung............................................. 49
3.2 Realisierungskonzepte nach Einführung integrierter Schaltkreise................... 49
3.3 Charakteristische Eigenschaften digitaler integrierter Schaltkreise................. 52
3.3.1 Lastfaktoren ......................................................................................... 53
3.3.2 Störspannungsabstand .......................................................................... 53
3.3.3 Schaltzeiten .......................................................................................... 54
X Inhaltsverzeichnis
3.4 Bausteinfamilien .............................................................................................. 56
3.4.1 Transistor-Transistor-Logik (TTL) ....................................................... 56
3.4.1.1 Digitale Schaltungen in Standard-TTL .................................... 56
3.4.1.2 Digitale Schaltungen in Schottky-TTL..................................... 57
3.4.1.3 TTL-Schaltungen mit spezieller Ausgangsstufe ....................... 59
3.4.1.4 Realisierung der Pegel-Zustände an TTL-Eingängen............... 61
3.4.2 Integrierte Schaltungen in MOS-Technik ............................................. 64
3.4.3 Emitter Coupled Logic (ECL)............................................................... 69
3.4.4 Trends bei der technologischen Weiterentwicklung............................. 71
3.5 Allwenderspezifische Bausteine (Application Specific ICs) ............................ 71
3.5.1 FullcustomiCs...................................................................................... 72
3.5.2 Gate Array............................................................................................. 72
3.5.3 Standardzellen IC.................................................................................. 72
3.6 Programmierbare Logik................................................................................... 73
3.6.1 Programmahle Logic Device PLD ........................................................ 73
3.6.2 Complex Programmahle Logic Device (CPLD) ................................... 79
3.6.3 Field Programmahle Gate Array FPGA ................................................ 81
3.6.3.1 Allgemeiner Aufbau eines FPGAs ........................................... 81
3.6.3.2 FPGA mit Antifuse-Link.......................................................... 81
3.6.3.3 FPGA mit SRAM-Verbindungselement................................... 84
4 VHDL als Entwurfs-und Simulationssprache ..................................................... 91
4.1 Einführung in VHDL ....................................................................................... 91
4.2 Motivation zum Erlernen von VHDL in einem Grundkurs.............................. 91
4.3 Grundlagen....................................................................................................... 92
4.4 Entity-Deklaration............................................................................................ 93
4.4.1 Einfache Entity-Deklaration ohne Parameterübergabe ......................... 96
4.4.2 Erweiterte Entity-Deklaration mit Parameterübergabe ......................... 97
4.4.3 Entity-Declaration mit Entity-Anweisungen......................................... 97
4.5 Architecture............................................... ....................................................... 98
4.5.1 Verhaltensbeschreibung (Behavioral description) ................................ 98
4.5.2 Nebenläufige Anweisungen in der Verhaltensbeschreibung................. 98
4.5.2.1 Nebenläufige Signalzuweisung ................................................ 99
4.5.2.2 When-Eise-Anweisung ............................................................ 100
4.5.2.3 With-Select-When-Anweisung ................................................ 100
4.5.2.4 Anwendungsbeispiele mit nebenläufigen Anweisungen.......... 101
4.5.3 Prozess-Anweisung............................................................................... 103
4.5.4 Sequentielle Anweisungen in der Verhaltensbeschreibung................... 104
4.5.4.1 Sequentielle Signalzuweisung.................................................. 104
4.5.4.2 Sequentielle Variablenzuweisung ............................................ 105
4.5.4.3 If-Then-Else-Anweisung .......................................................... 105
4.5.4.4 Case-When-Anweisung............................................................ 105
4.5.4.5 For-Loop-Anweisung............................................................... 106
4.5.4.6 While-Loop-Anweisung........................................................... 106
4.5.4.7 Next-und Exit-Anweisung....................................................... 106
4.5.4.8 Anwendungsbeispiele mit Prozess und sequentiellen
Anweisungen ........................................................................... 106
4.5.5 Strukturbeschreibung (Structural description) ...................................... 107
4.6 Unterprogramme .............................................................................................. 110
4.6.1 Prozeduren............................................................................................ 110
4.6.2 Funktionen............................................................................................ 111
Inhaltsverzeichnis XI
4.7 Weiterführende Kapitel................................................................................... 113
4.7.1 Assertion-und Report-Anweisung ....................................................... 113
4.7.2 Alias-Deklaration................................................................................. 114
4.7.3 Überladen (Overloading) ..................................................................... 114
4.7.4 Auflösungsfunktionen (Resolution functions)...................................... 115
4.7.5 PackageundUse-Anweisung ............................................................... 115
4. 7.6 Bibliotheken......................................................................................... 118
4.7.7 Generate-Anweisung............................................................................ 118
4.7.8 Block-Anweisung................................................................................. 119
4.7.9 Konfiguration....................................................................................... 119
4.7.9.1 Konfiguration für VHDL-Modelle mit
Verhaltensbeschreibung..... .. .... .. .... .. .. ...................................... 120
4.7.9.2 Komponenten-Konfiguration.................................................. 120
4.7.9.3 Block-Konfiguration............................................................... 122
4.8 VHDL-Grundbegriffe zum Nachschlagen....................................................... 124
4.8.1 Bezeichner (Identifier) ......................................................................... 124
4.8.2 Datenobjekte und Objektklassen .......................................................... 125
4.8.2.1 Konstanten.............................................................................. 126
4.8.2.2 Variablen................................................................................. 126
4.8.2.3 Signale..................................................................................... 126
4.8.3 Datentypen ........................................................................................... 127
4.8.3.1 Skalare Datentypen (Scalar types)........................................... 128
4.8.3.2 Zusammengesetzte Datentypen (Composite types) ................. 130
4.8.3.3 Subtypes .................................................................................. 133
4.8.3.4 Attribute.................................................................................. 134
4.8.4 Operatoren und Operanden.................................................................. 135
4.9 Testen von VHDL-Modellen........................................................................... 137
4.9.1 Simulationstechniken ........................................................................... 137
4.9.2 Testbench mit Testvektoren ................................................................. 138
4.9.3 Testbench mit Ein-und Ausgabedatei.................................................. 141
5 Kombinatorische Schaltungen.............................................................................. 147
5.1 Codierschaltungen........................................................................................... 147
5.1.1 AlphanumerischerCode ....................................................................... 147
5.1.2 Numerischer Code................................................................................ 148
5.2 Multiplexer und Demultiplexer ....................................................................... 153
5.2.1 Multiplexer........................................................................................... 153
5.2.2 Demu1tiplexer....................................................................................... 155
5.3 Addierer........................................................................................................... 156
6 Sequentielle Schaltungen....................................................................................... 161
6.1 Elementare Schaltwerke .. ......... .. .. .. .. ..................... .. .... ............... .. .... ............... .161
6.1.1 Digitale Oszillatoren . .... ........ ............................... .... ............................ 161
6.1.2 Monostabile Kippstufen (Monoflops) .. .. ....... .. ......... ......... .. .. ......... .. .. .. 164
6.1.3 Bistabile Kippstufen (Flipflops)........................................................... 165
6.1.3.1 Ungetaktetes RS-Flipflop (RS-Latch) ..................................... 166
6.1.3.2 Einzustandsgesteuerte Flipflops.............................................. 169
6.1.3.3 Einflankengesteuerte Flipflops................................................ 171
6.2 Zähler.............................................................................................................. 180
6.2.1 Asynchrone Zähler............................................................................... 180
6.2.1.1 Asynchroner Dualzähler.......................................................... 180