Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs (eBook)

Einführung mit VHDL und SystemC
eBook Download: PDF
2013 | 3. korrigierte und aktualisierte Auflage
566 Seiten
De Gruyter (Verlag)
978-3-486-74715-7 (ISBN)

Lese- und Medienproben

Entwurf von digitalen Schaltungen und Systemen mit HDLs und FPGAs - Frank Kesel, Ruben Bartholomä
Systemvoraussetzungen
59,80 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Der Entwurf digitaler Hardware beruht heute im Wesentlichen auf so genannten Hardwarebeschreibungssprachen. Jedoch sind für den erfolgreichen Entwurf nicht nur Kenntnisse einer Hardwarebeschreibungssprache wichtig, sondern auch Kenntnisse der digitalen Schaltungstechnik sowie der rechnergestützten Entwurfswerkzeuge. Dieses Lehrbuch bietet eine zielgerichtete Einführung in den Entwurf digitaler Schaltungen und Systeme, beginnend bei MOS-Transistoren und FPGA-Technologien bis hin zu aktuellsten Entwicklungen der Synthese (High-Level-Synthese) und den Hardwarebeschreibungssprachen VHDL und SystemC.

1 Einleitung 21
1.1 Digitaltechnik und die mikroelektronische Revolution 21
1.2 Abstraktionsebenen und EDA-Werkzeuge 30
1.3 Ziele und Aufbau des Buches 37
2 Modellierung von digitalen Schaltungen mit VHDL 41
2.1 Historische Entwicklung von VHDL 42
2.2 Grundlegende Konzepte von VHDL 45
2.2.1 Entity und Architecture 45
2.2.2 Verhaltensbeschreibungen und Prozesse 49
2.2.3 Strukturbeschreibungen 55
2.2.4 Testbenches und die Verifikation von VHDL-Entwürfen 60
2.2.5 Kompilation von VHDL-Modellen 64
2.2.6 Simulation von VHDL-Modellen 66
2.2.7 Modellierung von Verzögerungszeiten in VHDL 72
2.2.8 Variable und Signal 74
2.3 Objekte, Datentypen und Operatoren 77
2.3.1 Deklaration und Verwendung von Objekten 77
2.3.2 Überladen von Operatoren und Funktionen 80
2.3.3 Gültigkeitsbereich von Objekten 81
2.3.4 Übersicht über die VHDL-Datentypen und Operatoren 82
2.3.5 Attribute 88
2.4 Sequentielle Anweisungen 90
2.4.1 IF-Verzweigungen 90
2.4.2 CASE-Verzweigungen 94
2.4.3 Schleifen 97
2.4.4 Weitere sequentielle Anweisungen 101
2.5 Nebenläufige Anweisungen 103
2.5.1 Unbedingte nebenläufige Anweisungen 103
2.5.2 Bedingte nebenläufige Anweisungen 104
2.6 Unterprogramme und Packages 106
2.7 Auflösungsfunktionen, mehrwertige Logik und IEEE-Datentypen 111
2.7.1 Auflösungsfunktionen und mehrwertige Logik 111
2.7.2 Die IEEE 1164-Datentypen 116
2.8 Weitere Konstruktionen für Strukturbeschreibungen 122
2.8.1 Parametrisierung von Komponenten 122
2.8.2 Iterative und bedingte Instanzierung 125
2.8.3 Bindung von Komponenten 126
2.9 Weitere VHDL-Konstruktionen 132
2.10 Zusammenfassung zu Kapitel 2 134
2.11 Übungsaufgaben 137
3 Digitale integrierte Schaltungen 139
3.1 Auswahl von Implementierungsformen für integrierte Schaltungen 139
3.2 Grundlagen der CMOS-Schaltungstechnik 146
3.2.1 DerMOS-Feldeffekttransistor 147
3.2.2 Der CMOS-Inverter 158
3.2.3 Statisches Verhalten des CMOS-Inverters 159
3.2.4 DynamischesVerhalten des CMOS-Inverters 163
3.2.5 Leistungs- und Energieaufnahme von CMOS-Schaltungen 170
3.3 Kombinatorische CMOS-Schaltungen 176
3.3.1 Komplementäre statische CMOS Logikgatter 176
3.3.2 Pass-Transistor-Logik und Transmission-Gate-Logik 180
3.3.3 Tri-State-Treiber 184
3.4 Sequentielle CMOS-Schaltungen 185
3.4.1 Das Bistabilitäts-Prinzip 186
3.4.2 Taktzustandsgesteuerte Latches 187
3.4.3 Taktflankengesteuerte Flipflops 188
3.4.4 Metastabilität und Synchronisation 190
3.5 MOS Halbleiterspeicher 195
3.5.1 Übersicht und Klassifikation von Halbleiterspeichern 196
3.5.2 Matrixspeicher-Architekturen 200
3.5.3 SRAMSpeicherzellen 203
3.5.4 EPROMSpeicherzellen 205
3.5.5 EEPROMSpeicherzellen 207
3.5.6 Flash Speicherzellen 209
3.6 Programmierungstechnologien von MOS-PLDs 213
3.6.1 Programmierungmit SRAM-Zellen 213
3.6.2 Programmierungmit Floating-Gate-Zellen 216
3.6.3 Programmierungmit Antifuses 217
3.7 SPLD/CPLD-Architekturen 219
3.7.1 Implementierung von Schaltfunktionenmit PROMs 219
3.7.2 SPLDs: PLA- und PAL-Strukturen 222
3.7.3 CPLDs 225
3.8 FPGA-Architekturen 228
3.8.1 Multiplexer-Basiszellen 229
3.8.2 LUT-Basiszellen 231
3.8.3 Verbindungsarchitekturen 234
3.8.4 I/O-Blöcke 240
3.8.5 Entwicklungstrends bei FPGAs 241
3.9 Zusammenfassung zu Kapitel 3 244
3.10 Übungsaufgaben 247
4 Von der Register-Transfer-Ebene zur Gatterebene 249
4.1 Einführung in die Logiksynthese 249
4.1.1 Übersetzung und Inferenz des VHDL-Codes 250
4.1.2 Schaltwerkssynthese 253
4.1.3 Zeitliche Randbedingungen für die Synthese 260
4.1.4 Statische Timing-Analyse 262
4.1.5 Das Problem des „Falschen Pfades“ 266
4.1.6 Umgebung des Designs und Betriebsbedingungen 269
4.1.7 Logikoptimierung und Technologieabbildung 271
4.1.8 Mehrstufige Logikoptimierung 272
4.1.9 Technologieabbildung für SRAM-FPGAs 275
4.1.10 Einfluss der Optimierungsvorgaben auf das Syntheseergebnis 278
4.2 Ein 4-Bit-Mikroprozessor als Beispiel 281
4.3 Schaltwerke und Zähler 284
4.3.1 Steuerwerk des Beispiel-Prozessors 284
4.3.2 Einfluss der Zustandscodierung auf das Syntheseergebnis 288
4.3.3 Das Problem der unbenutzten Zustände 290
4.3.4 Verwendung von Signalen und Variablen in getakteten und kombinatorischen Prozessen 295
4.3.5 Beschreibung von Zählern in VHDL 301
4.3.6 Implementierung von Zählern in FPGAs 305
4.4 Arithmetische Einheiten 309
4.4.1 ALU des Beispiel-Prozessors 309
4.4.2 Implementierung von Addierern in FPGAs 312
4.4.3 Implementierung von Subtrahierern in FPGAs 316
4.4.4 Implementierung von Multiplizierern in FPGAs 320
4.4.5 Ressourcenbedarf von logischen, relationalen und arithmetischen Operatoren 324
4.4.6 Mehrfachnutzung von arithmetischen Ressourcen 325
4.4.7 Darstellung vorzeichenbehafteter und vorzeichenloser Zahlen 327
4.5 Integration vonMatrixspeichern: RAMund ROM 331
4.5.1 Programmspeicher des Beispiel-Prozessors 332
4.5.2 Verwendung von synchronen „Block RAM“-Speichern 335
4.5.3 Datenspeicher des Beispiel-Prozessors 339
4.5.4 Vergleich von „Distributed RAM“und „Block RAM“ 342
4.5.5 Instanzierung von Makros und Verwendung von Makro-Generatoren 343
4.6 On-Chip-Busse und I/O-Schnittstellen 346
4.6.1 Datenbus des Beispiel-Prozessors 347
4.6.2 Multiplexer- und Logik-Busse 349
4.6.3 Tristate-Busse 352
4.6.4 Vergleich von Tristate-Bus und Logik-Bus 356
4.6.5 Paralleler Port des Beispiel-Prozessors 357
4.7 Häufig begangene Fehler und weitere Aspekte des RTL-Entwurfs 360
4.7.1 Häufige Fehler in getakteten Prozessen (Flipflops) 361
4.7.2 Häufige Fehler in kombinatorischen Prozessen (Schaltnetze) 364
4.7.3 Optimierung der Schaltung 365
4.7.4 Partitionierung des Entwurfs 370
4.8 Zusammenfassung zu Kapitel 4 372
4.9 Übungsaufgaben 375
5 Von der Gatterebene zur physikalischen Realisierung 379
5.1 Entwurfsablauf für FPGAs 379
5.2 Physikalischer Entwurf von FPGAs 383
5.2.1 Erstellen des Floorplans 383
5.2.2 Platzierung der Komponenten im FPGA 386
5.2.3 Verdrahtung der Komponenten im FPGA 390
5.2.4 Platzierung und Verdrahtung des Beispiel-Prozessors 395
5.3 Einfluss der Verdrahtung auf das Zeitverhalten 396
5.3.1 Elektrische Parameter der Verdrahtung 397
5.3.2 Modellierung der Verzögerungszeiten durch das Elmore-Modell 399
5.3.3 Induktive und kapazitive Leitungseffekte 403
5.3.4 Verdrahtung und Zeitverhalten im FPGA 406
5.3.5 Logiksynthese und physikalischer Entwurf 413
5.4 Synchroner Entwurf und Taktverteilung 415
5.4.1 Synchrone und asynchrone digitale Systeme 416
5.4.2 Flankengesteuerte und pegelgesteuerte Schaltungen 421
5.4.3 Ursachen und Auswirkungen von Taktversatz und Jitter 423
5.4.4 Taktverteilung in FPGAs 430
5.4.5 Synchrone Entwurfstechniken 438
5.5 Simulation des Zeitverhaltens mit VHDL 445
5.5.1 Modellierung der Schaltung mit VITAL-Komponenten 445
5.5.2 Austausch von Timing-Datenmit SDF 453
5.5.3 Simulation des Zeitverhaltens mit einem VHDL-Simulator 456
5.6 Bestimmung der Chiptemperatur 460
5.7 Zusammenfassung zu Kapitel 5 461
5.8 Übungsaufgaben 464
6 Modellierung von digitalen Schaltungen mit SystemC 467
6.1 Modellierung auf Register-Transfer-Ebene mit SystemC 468
6.1.1 Module 468
6.1.2 Verhaltensbeschreibungen auf Register-Transfer-Ebene 471
6.1.3 Strukturbeschreibungen 475
6.1.4 Testbenches 478
6.1.5 Simulation 481
6.2 Hardwareorientierte SystemC-Datentypen 485
6.2.1 Logik-Datentypen 485
6.2.2 Integer-Datentypen 488
6.2.3 Fixpunkt-Datentypen 489
6.3 Modellierung auf algorithmischer Ebene mit SystemC 492
6.3.1 Verhaltensbeschreibungen auf algorithmischer Ebene 493
6.3.2 Von der algorithmischen Ebene zur Register-Transfer-Ebene 501
6.4 Zusammenfassung zu Kapitel 6 510
A Anhang 511
A.1 Verwendete Schaltzeichen, Abkürzungen und Formelzeichen 511
A.1.1 Schaltzeichen 511
A.1.2 Abkürzungen 513
A.1.3 Formelzeichen 516
A.2 VHDL-Syntax 518
A.3 VHDL-Strukturbeschreibung des Beispiel-Prozessors 526
A.4 Lösungen der Übungsaufgaben 529
A.4.1 Übungsaufgaben aus Kapitel 2 529
A.4.2 Übungsaufgaben aus Kapitel 3 532
A.4.3 Übungsaufgaben aus Kapitel 4 535
A.4.4 Übungsaufgaben aus Kapitel 5 545
Literaturverzeichnis 549
Index 557

Buchrezension von Prof. Dr.-Ing. habil. Reinhold Paul, TU Hamburg-Harburg (bisher - 22.6.2006 - noch nicht veröffentlicht): Der Entwurf digitaler Schaltungen und Systeme besitzt einen großen Stellenwert nicht nur in der Ausbildung, sondern noch mehr in der industriellen täglichen Praxis. Er umfasst gründliche Kenntnis der digitalen Schaltungstechniken und Systemabstraktionen, die Zuordnung zu unterschiedlichen Entwurfsebenen, die zu jeder Ebene gehörigen Simulationswerkzeuge und Hochsprachen sowie die experimentelle Schaltungsrealisierung - heute oft mittels FPGAs. Wurden diese Teilgebiete in der Vergangenheit oft singulär betrachtet - die zugehörige Literatur ist sehr umfangreich - so unternehmen die Autoren hier den - vorweggenommen sehr gut geglückten Versuch - alle Teile zusammenhängend darzustellen. Nach einem Überblick zur heutigen Bedeutung der Digitaltechnik wenden sich die Autoren sehr schnell der Entwurfsproblematik zu und bereiten die Entwurfsebenen und zugehörigen EDA-Werkzeuge und damit das inhaltliche Konzept des Buches vor. (erster Abschnitt) Grundlage ist eine Einführung in die Hochsprache VHDL im zweiten Abschnitt (96 Seiten). Dabei beschränkt man sich auf die Elemente, die zum Hardwareentwurf und der Logiksynthese erforderlich sind. Dem Verständnis förderlich sind zahlreiche kleine Beispiele, so dass dieser Abschnitt auch eigenständig als Einführungskurs in VHDL verwendet werden kann. Der folgende, 3. Abschnitt "Digitale integrierte Schaltungen" (110 Seiten) gibt einen Überblick über die digitale CMOS-Schaltungstechnik. Ca. 40 Seiten davon sind den Programmierungstechnologien der MOS-PLDs vorbehalten - die im Buch bevorzugte FPGA-Technologie zur Schaltungsrealisierung. Zusammengeführt werden VHDL-Kenntnisse und Schaltungstechnik im 4. Abschnitt - der Logiksynthese oder dem "Übergang von der Register-Transfer- zur Gatter-Ebene" (125 Seiten) mit den Schwerpunkten Synthesegrundlagen, Beispielsysteme (4-Bit Mikroprozessor), Schaltwerke und Zähler,

Erscheint lt. Verlag 28.6.2013
Verlagsort Berlin/München/Boston
Sprache deutsch
Themenwelt Technik Bauwesen
Technik Elektrotechnik / Energietechnik
Technik Maschinenbau
Schlagworte FPGA • Hardwarebeschreibung • HDL • Schaltungsentwurf • VHDL
ISBN-10 3-486-74715-0 / 3486747150
ISBN-13 978-3-486-74715-7 / 9783486747157
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
PDFPDF (Wasserzeichen)
Größe: 3,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Grundlagen der Berechnung und baulichen Ausbildung von Stahlbauten

von Jörg Laumann; Markus Feldmann; Jörg Frickel …

eBook Download (2022)
Springer Vieweg (Verlag)
119,99