O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Digitaltechnik, 4th Edition

Book Description

Das Konzept des nun in der 4. Auflage vorliegenden Lehrbuchs zur Digitaltechnik hat sich bewährt: Die Grundkonzepte der Digitaltechnik werden Schritt für Schritt zusammen mit den wesentlichen Sprachelementen der Hardwarebeschreibungssprache VHDL eingeführt. Der Leser ist nach Studium dieses Lehrbuchs in der Lage, einfache digitale Systeme zu verstehen und zu entwerfen, weil er allen Komponenten Funktion, Zeitverhalten sowie ein geeignetes VHDL-Entwurfsmuster zuordnen kann.
Inhaltlich wird der Bogen von der Boole’schen Algebra und den Zahlensystemen über kombinatorische Logikschaltungen und einfache getaktete Schaltungen bis hin zu sequenziell operierenden Zustandsautomaten gespannt. Weiterführende Kapitel widmen sich der Synchronisation digitaler Teilsysteme, dem Aufbau und der Modellierung von Speichern, sowie der inneren Struktur von (C)PLDs und FPGAs.
Der ausgezeichnete didaktische Aufbau unterstützt den Lernprozess: Jedem Kapitel sind Lernziele vorangestellt. Immer wieder werden grafische und tabellarische Übersichten sowie vertiefende Beispiele verwendet. Eine
Vielzahl von Übungsaufgaben mit Musterlösungen dient zur Lernkontrolle. Mit den Hinweisen im Anhang kann sich der Leser ein eigenes „Digitallabor" aufbauen, mit dem er die Aufgabenlösungen sowie eigene Fragestellungen selbstständig verifizieren kann.
Wesentliche Verbesserungen dieser Auflage sind neben weiter vertiefenden Abbildungen und Erläuterungen insbesondere eine Übersicht über Neuerungen im aktuellen VHDL-2008 Standard sowie eine Einführung in die Entwicklungssoftware Vivado für FPGAs der Fa. Xilinx.

Table of Contents

  1. Cover
  2. Titelseite
  3. Impressum
  4. Vorwort zur 4. Auflage
  5. Inhaltsverzeichnis
  6. 1 Einleitung
    1. 1.1 Die Hardwarebeschreibungssprache VHDL
    2. 1.2 Digitale und Analoge Signale
    3. 1.3 Digitale Systeme
    4. 1.4 Gliederung des Buches
    5. 1.5 Vertiefende Aufgaben
  7. 2 Modellierung digitaler Schaltungen
    1. 2.1 Lernziele
    2. 2.2 Entwurfssichten und Abstraktionsebenen
    3. 2.3 Modellierung mit Hardwarebeschreibungssprachen
      1. 2.3.1 Datenflussmodelle
      2. 2.3.2 Strukturmodelle
      3. 2.3.3 Verhaltensmodelle
    4. 2.4 Kombinatorische und getaktete Logik
      1. 2.4.1 Eigenschaften kombinatorischer Logik
      2. 2.4.2 Eigenschaften getakteter Logik2.4.3 Modellierung auf Register-Transfer-Ebene
    5. 2.5 Entwurfsmethodik für programmierbare digitale Schaltungen
    6. 2.6 Vertiefende Aufgaben
  8. 3 Boole’sche Algebra
    1. 3.1 Lernziele
    2. 3.2 Schaltvariable und Schaltfunktionen, Signale
    3. 3.3 Elementare Schaltfunktionen
      1. 3.3.1 Die NICHT-Schaltfunktion (Inversion)
      2. 3.3.2 Die UND-Schaltfunktion (Konjunktion)
      3. 3.3.3 Die ODER-Schaltfunktion (Disjunktion)
      4. 3.3.4 Boole’sche Funktionen mit mehreren Eingängen
    4. 3.4 Rechenregeln der Schaltalgebra
      1. 3.4.1 Theoreme
      2. 3.4.2 Kommutativgesetze
      3. 3.4.3 Assoziativgesetze
      4. 3.4.4 Distributivgesetze
      5. 3.4.5 De Morgan’sche Gesetze
      6. 3.4.6 Vereinfachungsregeln
    5. 3.5 Vollständige Systeme
      1. 3.5.1 Das Dualitätsprinzip
      2. 3.5.2 NAND- und NOR-Gatter
    6. 3.6 Normalformen
      1. 3.6.1 Disjunktive Normalform (DNF)
      2. 3.6.2 Konjunktive Normalform (KNF)
    7. 3.7 Realisierung von Schaltfunktionen mit Wahrheitstabellen
      1. 3.7.1 SOP- und POS-Darstellungen von Wahrheitstabellen in programmierbaren Bausteinen mit UND/ODER-Logik
      2. 3.7.2 Look-Up-Tabellen
    8. 3.8 XOR- und XNOR-Logik
      1. 3.8.1 SOP- und POS-Darstellungen
      2. 3.8.2 XOR- und XNOR-Regeln und Gesetze
      3. 3.8.3 XOR- und XNOR-Logik mit mehr als zwei Eingängen
    9. 3.9 Vorrangregeln
    10. 3.10 Schaltsymbole
    11. 3.11 Implementierung von Schaltfunktionen mit Multiplexern
    12. 3.12 Analyse von Schaltnetzen
    13. 3.13 Vertiefende Aufgaben
  9. 4 VHDL-Einführung I
    1. 4.1 Lernziele
    2. 4.2 Syntaxnotation
    3. 4.3 Der Aufbau eines VHDL-Modells
      1. 4.3.1 Beschreibung einer entity
      2. 4.3.2 Aufbau einer architecture
      3. 4.3.3 Nebenläufige Signalzuweisungen
      4. 4.3.4 Logikoperatoren in VHDL
    4. 4.4 Das Konzept von VHDL-Testbenches
    5. 4.5 Vertiefende Aufgaben
  10. 5 Zahlensysteme in der Digitaltechnik
    1. 5.1 Lernziele
    2. 5.2 Polyadische Zahlensysteme
    3. 5.3 Umwandlung zwischen Zahlensystemen
    4. 5.4 Addition und Subtraktion vorzeichenloser Dualzahlen
    5. 5.5 Darstellung negativer Zahlen
      1. 5.5.1 Eigenschaften des 2er-Komplementzahlensystems
      2. 5.5.2 Addition und Subtraktion im 2er-Komplementzahlensystem
    6. 5.6 Darstellung rationaler Zahlen
      1. 5.6.1 Festkommadarstellung im Q-Format
      2. 5.6.2 Gleitkommadarstellung
    7. 5.7 Vertiefende Aufgaben
  11. 6 Logikminimierung
    1. 6.1 Lernziele
    2. 6.2 Minimierung mit KV-Tafeln
      1. 6.2.1 Disjunktive Minimalform (DMF)
      2. 6.2.2 Konjunktive Minimalform (KMF)
      3. 6.2.3 Output-Don’t-Care-Terme
      4. 6.2.4 Grenzen der zweistufigen Minimierung
    3. 6.3 Softwarealgorithmen zur zweistufigen Minimierung
      1. 6.3.1 Quine-McCluskey-Algorithmus
      2. 6.3.2 Espresso-Algorithmus
    4. 6.4 Minimierungskonzepte für FPGAs
    5. 6.5 Vertiefende Aufgaben
  12. 7 VHDL-Einführung II
    1. 7.1 Lernziele
    2. 7.2 Das VHDL-Prozesskonzept
    3. 7.3 Ereignisgesteuerte Simulatoren
    4. 7.4 Verzögerungsmodelle
    5. 7.5 Sequenzielle Anweisungen in Prozessen
      1. 7.5.1 case-Anweisung
      2. 7.5.2 if-Anweisung
    6. 7.6 Prozesse ohne Sensitivityliste
    7. 7.7 Verwendung von Variablen in Prozessen
    8. 7.8 Modellierungsbeispiel
    9. 7.9 Lesen und Schreiben von Dateien in Testbenches
    10. 7.10 Vertiefende Aufgaben
  13. 8 Codes
    1. 8.1 Lernziele
    2. 8.2 Charakterisierung und Klassifizierung
    3. 8.3 Zahlencodes
    4. 8.4 Code für die Längen- und Winkelmesstechnik
    5. 8.5 Methoden der Fehlererkennung und -korrektur
    6. 8.6 Vertiefende Aufgaben
  14. 9 Physikalische Implementierung und Beschaltung von Logikgattern
    1. 9.1 Lernziele
    2. 9.2 Logikgatter in CMOS-Technologie
      1. 9.2.1 CMOS-Technologie und Kennlinien der MOS-Transistoren
      2. 9.2.2 Aufbau und Kennlinien eines CMOS-Inverters
      3. 9.2.3 Pegelbereiche digitaler Logikfamilien
    3. 9.3 Logikzustände und elektrische Pegel
    4. 9.4 Statische CMOS-Logikgatter
    5. 9.5 Beschaltung von Gatterausgängen
      1. 9.5.1 Standardausgang
      2. 9.5.2 Open-Drain- / Open-Collector-Ausgang
      3. 9.5.3 Three-State-Ausgang
    6. 9.6 VHDL-Modellierung mit den Datentypen std_ulogic und std_logic
      1. 9.6.1 Mehrwertige Datentypen
      2. 9.6.2 Datentypen mit Auflösungsfunktion
      3. 9.6.3 VHDL-Modellierungsbeispiele
    7. 9.7 Vertiefende Aufgaben
  15. 10 Datenpfadkomponenten
    1. 10.1 Lernziele
    2. 10.2 Multiplexer
    3. 10.3 Binärzahlendecoder und Demultiplexer
    4. 10.4 Prioritätsencoder
    5. 10.5 Code-Umsetzer
    6. 10.6 Komparator
    7. 10.7 Hierarchische Strukturmodellierung in VHDL
    8. 10.8 Addierer
      1. 10.8.1 Halb- und Volladdierer
      2. 10.8.2 Ripple-Carry-Addierer
      3. 10.8.3 Carry-Lookahead-Addierer
      4. 10.8.4 Kombinierter Addierer/Subtrahierer
      5. 10.8.5 Addition von Festkommazahlen im Q-Format
    9. 10.9 Hardware-Multiplizierer
    10. 10.10 Arithmetik in VHDL
    11. 10.11 Vertiefende Aufgaben
  16. 11 Latches und Flipflops in synchronen Schaltungen
    1. 11.1 Lernziele
    2. 11.2 Das RS-Latch
      1. 11.2.1 Basis-RS-Latch
      2. 11.2.2 Taktzustandsgesteuertes RS-Latch
    3. 11.3 Das D-Latch (Data-Latch)
    4. 11.4 D-Flipflops
    5. 11.5 JK-Flipflop
    6. 11.6 T-Flipflop
    7. 11.7 Zweispeicher-Flipflops
    8. 11.8 RTL-Modellierung synchroner Schaltungen
    9. 11.9 Zusammenfassung
    10. 11.10 Vertiefende Aufgaben
  17. 12 Entwurf synchroner Zustandsautomaten
    1. 12.1 Lernziele
    2. 12.2 Formale Beschreibung von Zustandsautomaten
    3. 12.3 Entwurf eines Geldwechselautomaten
      1. 12.3.1 Realisierung als Mealy-Automat
      2. 12.3.2 Realisierung als Moore-Automat
      3. 12.3.3 Medwedew-Automatenstruktur
    4. 12.4 Impulsfolgeerkennung mit Zustandsautomaten
      1. 12.4.1 Implementierung als Moore-Automat
      2. 12.4.2 Implementierung als Mealy-Automat
    5. 12.5 Kopplung von Zustandsautomaten
    6. 12.6 Vertiefende Aufgaben
  18. 13 Entwurf von Synchronzählern
    1. 13.1 Lernziele
    2. 13.2 Manuelle Implementierung von Zählern
      1. 13.2.1 mod-5-Zähler
      2. 13.2.2 mod-4-Vorwärts-/Rückwärtszähler
    3. 13.3 Standardzähler
      1. 13.3.1 Abhängigkeitsnotation
      2. 13.3.2 Systematischer VHDL-Entwurf von Zählern
      3. 13.3.3 Kaskadierung von Standardzählern
    4. 13.4 Vertiefende Aufgaben
  19. 14 Schieberegister
    1. 14.1 Lernziele
    2. 14.2 Arbeitsweise von Schieberegistern
    3. 14.3 Serien-Parallel-Umsetzer
    4. 14.4 Parallel-Serien-Umsetzer
    5. 14.5 Zähler mit Schieberegistern
      1. 14.5.1 Ringzähler
      2. 14.5.2 Johnson-Zähler
    6. 14.6 Linear rückgekoppelte Schieberegister
    7. 14.7 Vertiefende Aufgaben
  20. 15 Kommunikation zwischen digitalen Teilsystemen
    1. 15.1 Lernziele
    2. 15.2 Kopplung von Signalen in zueinander synchronen Taktdomänen
      1. 15.2.1 Impulsverkürzung
      2. 15.2.2 Impulsverlängerung
    3. 15.3 Synchronisation asynchroner Eingangssignale
      1. 15.3.1 Synchronisation langer Eingangsimpulse
      2. 15.3.2 Synchronisation kurzer Eingangsimpulse
      3. 15.3.3 Asynchrone Resets
    4. 15.4 Datenaustausch zwischen Teilsystemen
      1. 15.4.1 Synchrone Datenübertragung
      2. 15.4.2 Asynchrone Datenübertragung
    5. 15.5 Der AXI4-Interfacestandard
      1. 15.5.1 Übersicht
      2. 15.5.2 Das AXI4-Stream Interface
    6. 15.6 Vertiefende Aufgaben
  21. 16 Digitale Halbleiterspeicher
    1. 16.1 Lernziele
    2. 16.2 Übersicht
      1. 16.2.1 Klassifizierung
      2. 16.2.2 Speicherstrukturen
      3. 16.2.3 Kenngrößen
    3. 16.3 Nichtflüchtige Speicher
      1. 16.3.1 Maskenprogrammierbares ROM
      2. 16.3.2 PROM
      3. 16.3.3 EPROM
      4. 16.3.4 EEPROM und Flash-EEPROM
      5. 16.3.5 Instanziierung von ROM-Strukturen durch VHDL-Code
    4. 16.4 Flüchtige Speicher
      1. 16.4.1 SRAMs
      2. 16.4.2 DRAMs
      3. 16.4.3 SDRAM und DDR-RAM
      4. 16.4.4 Modellierung von SRAM-Speicher in VHDL
    5. 16.5 FIFO-Speicher
    6. 16.6 Speichererweiterung
    7. 16.7 Vertiefende Aufgaben
  22. 17 Programmierbare Logik
    1. 17.1 Lernziele
    2. 17.2 PLD-Architekturen
    3. 17.3 SPLDs
      1. 17.3.1 PROM-Speicher
      2. 17.3.2 PLAs
      3. 17.3.3 PALs
    4. 17.4 CPLDs
    5. 17.5 FPGAs
      1. 17.5.1 Die Spartan-3-FPGA-Familie der Fa. Xilinx
      2. 17.5.2 Technologische Entwicklungstrends bei FPGAs
    6. 17.6 Vertiefende Aufgaben
  23. 18 Anhang
    1. 18.1 Erweiterungen durch den Standard VHDL-2008
    2. 18.2 Hinweise zur Verwendung der Vivado WebPACK Entwicklungsumgebung
      1. 18.2.1 Konfiguration eines RTL-Projektes in Vivado
      2. 18.2.2 Funktionale Simulation des VHDL-Codes
      3. 18.2.3 Synthese und Implementierung
      4. 18.2.4 Hardwaredownload und Test
      5. 18.2.5 Entwurf getakteter Schaltungen mit Vivado
    3. 18.3 Hinweise zur Verwendung von ModelSim
      1. 18.3.1 ModelSim Hilfesystem
      2. 18.3.2 Entwicklungsablauf mit ModelSim
    4. 18.4 VHDL-Codierungsempfehlungen
  24. 19 Literaturverzeichnis
  25. 20 Sachregister
  26. Fußnoten