Taschenbuch Digitaltechnik

Christian Siemers, Axel Sikora

Taschenbuch Digitaltechnik

2014

495 Seiten

Format: PDF, Online Lesen

E-Book: €  23,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446439900

 

Vorwort zur 1. Auflage

8

Inhaltsverzeichnis

10

1 Grundlagen

20

1.1 Einführung in die Digitaltechnik

20

1.1.1 Analoge und digitale Signale

21

1.1.2 Umsetzung zwischen analogen und digitalen Werten

23

1.1.3 Binäre Zustände

24

1.1.4 Zeichen, Alphabet und Code

24

1.1.5 Mehrwertige Logik

25

1.1.6 Programmierbare digitale Systeme

25

1.2 Klassifizierung von digitalen Schaltungen

25

1.2.1 Zeitunabhängige Schaltungen

26

1.2.2 Zeitabhängige Schaltungen

26

1.3 Zielfunktionen

27

1.3.1 Zielfunktionen in der Rechnertechnik

28

1.3.2 Zielfunktionen in der Kommunikationstechnik

28

1.3.3 Weitere Zielfunktionen

29

1.4 Einheiten und Größen der Digitaltechnik

29

2 Halbleitertechnologie und Schaltungstechnik

31

2.1 Einführung

31

2.2 Technologische Grundlagen

31

2.2.1 Eigenschaften von Atomen im Verbund

31

2.2.2 Eigenschaften von Halbleitern

34

2.2.3 Herstellung von Halbleitern

35

2.2.4 Skalierung von Halbleiterbauelementen

37

2.2.5 Weiterentwicklung von Halbleitern

38

2.3 Bauelemente

40

2.3.1 Bipolardioden

40

2.3.2 Bipolartransistoren

42

2.3.3 Feldeffekttransistoren

44

2.3.3.1 Isolierschicht-FET

44

2.3.3.2 Sperrschichtisolierte FET

47

2.3.4 CMOS-Technologien

48

2.3.5 Metallisierungssysteme

49

2.4 Schaltungstechniken

50

2.4.1 Überblick

50

2.4.2 TTL

51

2.4.3 ECL

53

2.4.4 NMOS

53

2.4.5 CMOS

55

2.4.5.1 Grundaufbau

55

2.4.5.2 Zeitverhalten

58

2.4.5.3 Transmission-Gates

59

2.4.6 BiCMOS

59

2.4.7 Ausgangsschaltungen

60

2.4.8 Schaltkreisfamilien

62

3 Zahlensysteme und Codierung

63

3.1 Zahlensysteme

63

3.1.1 Additionssysteme

63

3.1.2 Stellenwertsysteme

64

3.1.3 Zahlensystemkonvertierung

64

3.2 Binäre Codierung von Zahlen und Zeichen

64

3.2.1 Darstellung positiver ganzer Zahlen

64

3.2.2 Darstellung negativer ganzer Zahlen

65

3.2.3 Darstellung rationaler Zahlen

68

3.2.3.1 Festkommadarstellung

68

3.2.3.2 Gleitkommadarstellung

69

3.2.4 Tetraden-Codes

72

3.2.5 Zeichencodes

73

3.2.5.1 ASCII

73

3.2.5.2 ISO 8859

74

3.2.5.3 Unicode

75

3.2.5.4 Universal Transformation Format (UTF)

75

3.3 Grundbegriffe der Codierungstheorie

76

3.4 Quellencodierung

79

3.4.1 Grenzen der Kompression

79

3.4.1.1 Informationsgehalt und Entropie

79

3.4.1.2 Theorem von Shannon

80

3.4.2 Verlustfreie Kompression

82

3.4.2.1 Fano-Codierung

83

3.4.2.2 Huffman-Codierung

84

3.4.2.3 Lauflängencodierung

85

3.4.2.4 Lempel-Ziv-Codierung

85

3.4.2.5 Arithmetische Codierung

86

3.4.3 Verlustbehaftete Kompression

87

3.4.3.1 Sprachkompression

88

3.4.3.2 Bildkompression

88

3.4.3.3 Audio- und Videokompression

89

3.5 Kanalcodierung

89

3.5.1 Hamming- und Code-Distanz

90

3.5.2 Fehlererkennende Codes

90

3.5.2.1 Paritäts-Codes

91

3.5.2.2 CRC-Codes

91

3.5.3 Fehlerkorrigierende Codes

94

3.5.3.1 Hamming-Code

94

3.5.3.2 Matrix-Codes

96

3.5.4 Grenzen der Datenübertragung

96

3.6 Leitungscodierung

98

3.6.1 Signalbildung

98

3.6.2 Modulation

100

4 Boole'sche Algebra

101

4.1 Grundlagen

101

4.1.1 Elementare Boole'sche Operatoren

101

4.1.1.1 Null- und Eins-Theoreme

102

4.1.1.2 Idempotenz

102

4.1.1.3 Komplement

102

4.1.2 Boole'sche Funktionen

102

4.1.2.1 Funktionen mit einem Eingang und Ausgang

103

4.1.2.2 Funktionen mit zwei Eingängen

103

4.1.2.3 Boole'sche Funktionen mehrerer Variabler

105

4.1.3 Rechenregeln der Schaltalgebra

106

4.1.3.1 Kommutativgesetze

106

4.1.3.2 Assoziativgesetze

106

4.1.3.3 Distributivgesetze

106

4.1.3.4 Kürzungsregeln

106

4.1.3.5 De Morgan'sche Gesetze

107

4.1.3.6 Dualitätsprinzip, Shannon'sches Gesetz

107

4.1.4 Vollständige Logiksysteme

108

4.1.4.1 Vollständiges System aus UND, ODER, NICHT

108

4.1.4.2 Vollständige Systeme mit NAND- oder mit NOR-Operator

109

4.2 Normalformen

109

4.2.1 Disjunktive Normalform (DNF)

109

4.2.1.1 Minterm

109

4.2.1.2 DNF-Beschreibung Boole'scher Funktionen

109

4.2.2 Konjunktive Normalform (KNF)

110

4.2.2.1 Maxterm

110

4.2.2.2 KNF-Beschreibung Boole'scher Funktionen

111

4.2.3 Vertauschen der UND/ODER-Operatoren

111

4.3 Minimieren Boole'scher Funktionen

111

4.3.1 Minimierungsverfahren

112

4.3.2 KV-Diagramm

112

4.3.2.1 KV-Diagramm für zwei Eingangsvariable

112

4.3.2.2 KV-Diagramm für drei Eingangsvariable

113

4.3.2.3 KV-Diagramme mit bis zu sechs Eingangsvariablen

114

4.3.2.4 Implikanten

114

4.3.2.5 Minimieren Boole'scher Funktionen

115

4.3.3 Ausnutzen von Redundanzen

117

4.3.4 Verfahren von Quine und Mc Cluskey

117

4.4 Funktionszerlegung

119

4.4.1 Disjunkte Zerlegung

119

4.4.2 Iterative Zerlegung

120

4.4.3 Shannon-Zerlegung

120

4.4.4 Geordnete binäre Entscheidungsgraphen

122

5 Kombinatorische Schaltungen

124

5.1 Wichtige Grundschaltungen

124

5.1.1 Multiplexer

124

5.1.1.1 Funktionsweise eines Multiplexers

125

5.1.1.2 Schaltsymbol

125

5.1.1.3 Realisierung Boole'scher Funktionen

126

5.1.2 Demultiplexer

126

5.1.2.1 Funktionsweise eines Demultiplexers

126

5.1.2.2 Schaltsymbol

127

5.1.2.3 Realisierung Boole'scher Funktionen

127

5.1.3 Code-Umsetzer

128

5.1.3.1 Prioritäts-Encoder

128

5.1.3.2 Binär/Gray-Code-Umsetzer

129

5.1.4 Addition und Subtraktion von Zahlen

129

5.1.4.1 Addition einzelner Bits

129

5.1.4.2 Addition positiver Festkommazahlen

130

5.1.4.3 Addition von 2er-Komplementzahlen

131

5.1.4.4 Subtraktion von Festkommazahlen

131

5.1.4.5 Rechenwerk zur Addition und Subtraktion

132

5.1.4.6 Beschleunigung der Addition

133

5.2 Hazards

134

5.2.1 Entstehung von Hazards

135

5.2.2 Eliminieren von Hazards

136

5.3 Schaltungen mit externer asynchroner Rückkopplung

136

5.3.1 Gedankliche Auftrennung der Rückkopplungssignale

137

5.3.2 Spezifikation asynchron rückgekoppelter Schaltungen

137

5.3.2.1 Spezifikation mittels Funktionstabelle

137

5.3.2.2 Spezifikation durch Zustandsdiagramm

138

5.3.3 Realisierung asynchron rückgekoppelter Schaltungen

139

6 Sequenzielle Schaltungen

142

6.1 Grundlagen

142

6.1.1 Realisierung von bistabilen Kippstufen (Flipflops)

142

6.1.1.1 Grundlegendes

142

6.1.1.2 Asynchrone Flipflops

143

6.1.1.3 Synchrone Flipflops

144

6.1.2 Zeitverhalten von Flipflops

149

6.1.3 Schmitt-Trigger

151

6.2 Asynchrone Schaltwerke

153

6.3 Synchrone Schaltwerke

154

6.3.1 Endliche Zustandsautomaten

154

6.3.1.1 Übersicht

154

6.3.1.2 Diskretisierung der Zeit

157

6.3.1.3 Entwurf endlicher Zustandsautomaten

157

6.3.1.4 Modellierung endlicher Zustandsautomaten

158

6.3.1.5 Codierung

165

6.3.2 Timing-Bedingungen

165

6.3.2.1 Synchroner Fall

165

6.3.2.2 Taktversatz

166

6.3.2.3 Minimierung des Taktversatzes

168

6.3.3 Pipelining

168

6.3.4 Verlustleistung

169

6.3.5 Hilfsschaltungen

170

6.3.5.1 Realisierung von Multivibratoren (Oszillatoren)

170

6.3.5.2 Realisierung von Reset-Schaltungen

172

6.4 Zähler und Frequenzteiler

172

6.4.1 Asynchrone Zähler

173

6.4.2 Synchrone Zähler

174

6.5 Schieberegister

175

7 Entwurfsverfahren für digitale Schaltungen

178

7.1 Schritte im Entwurfsprozess

180

7.2 Modellierung digitaler Systeme

185

7.2.1 Modelleingabe

186

7.2.1.1 Schaltplaneingabe

186

7.2.1.2 HDL-Modelleingabe

187

7.2.1.3 Grafische Modelleingabe

187

7.2.2 Einfaches Entwurfsbeispiel

188

7.2.2.1 Spezifikation auf algorithmischer Ebene

188

7.2.2.2 Strukturierung auf RT-Ebene

189

7.2.2.3 Verhaltensmodellierung auf RT-Ebene

190

7.2.2.4 Synthese und Implementierung des RT-Modells

192

7.2.2.5 Analyse auf Gatterebene

193

7.2.2.6 Redesign als Ripple-Carry-Addierer

193

7.2.2.7 Gatternetzliste einer CPLD-Implementierung

194

7.2.2.8 Übergang auf die Transistorebene

195

7.3 Simulation

196

7.3.1 Grundlagen der Simulation

196

7.3.1.1 Simulationsarten

197

7.3.1.2 Simulationsmethoden

199

7.3.1.3 Grenzen der Simulation

200

7.3.1.4 Verzögerungsmodelle

201

7.3.2 Ereignisgesteuerte Simulation

203

7.4 Synthese

205

7.4.1 Verhaltenssynthese

207

7.4.2 RT-Synthese

209

7.5 Physikalische Implementierung

210

7.5.1 Translate

211

7.5.2 Technology Mapping und Place & Route

211

7.5.2.1 CPLD Optimierung

211

7.5.2.2 Mehrstufige Logikoptimierung

211

7.5.2.3 Optimierung für SRAM-FPGAs

213

7.5.3 Place & Route

213

7.5.4 Neuere Trends

214

7.6 Verifikation

214

7.6.1 Funktionale Verifikation

215

7.6.1.1 Verifikationssimulation

216

7.6.1.2 Hardware-Emulation

216

7.6.1.3 FPGA-Prototypen

217

7.6.2 Statische Timinganalyse

217

7.6.3 Formale Verifikation

218

7.6.3.1 Logikverifikation

219

7.6.3.2 Verifikation durch Modellprüfung

219

7.7 Entwicklungstrends

220

7.7.1 Hierarchisierung

220

7.7.2 Hardware-Software-Codesign

221

8 Hardware-Modellierung

223

8.1 Hardware-Beschreibungssprachen

223

8.2 VHDL

224

8.2.1 Grundkonzepte von VHDL

225

8.2.1.1 Sprachelemente

225

8.2.1.2 Schnittstellenbeschreibung durch entity, port und generic

230

8.2.1.3 Architekturbeschreibung und lokale Signale

232

8.2.1.4 Datenflussbeschreibung durch nebenläufige Signalzuweisungen

232

8.2.1.5 Verhaltensbeschreibungen durch Prozesse

233

8.2.1.6 Strukturbeschreibung mit Komponenten

238

8.2.1.7 Unterprogramme

240

8.2.1.8 Verwendung von Bibliotheken

241

8.2.1.9 Testumgebungen

243

8.3 VHDL-AMS

244

8.3.1 VHDL-AMS-Konzepte

244

8.3.2 Verhaltensbeschreibungen

246

8.3.3 Strukturmodelle

248

8.4 Verilog im Vergleich zu VHDL

249

8.4.1 Sprachelemente

249

8.4.2 Strukturelle Beschreibung

249

8.4.3 Verhaltensbeschreibung

251

8.5 SystemC

256

8.5.1 Grundkonzepte von SystemC

257

8.5.2 RT-Verhaltensbeschreibungen

258

8.5.3 Strukturbeschreibungen

260

8.5.4 Entwurf einer Testbench

261

8.5.5 Besonderheiten bei der Verwendung von Signalen und Variablen

264

9 Test und Diagnose

265

9.1 Grundlagen

265

9.2 Fehlermodelle und Testmethoden

267

9.2.1 Ausbeutemodelle

267

9.2.2 Fehlermodelle

267

9.3 Testmustererzeugung und Fehlersimulation

270

9.3.1 Schaltungspartitionierung und Fehlerreduktion

271

9.3.2 Fehlersimulation

272

9.3.3 Testbarkeitsmaße und Zufallstests

272

9.3.4 Automatische Testmustererzeugung

273

9.3.5 Diagnostische Tests

273

9.3.6 Testmethoden ohne Haftfehlerannahme

274

9.3.7 Teststrategien und Produktqualität

275

9.4 Prüfgerechter Entwurf

276

9.4.1 Prüfpfadbasierender Entwurf

276

9.4.2 Ad-hoc-Techniken des prüfgerechten Entwurfs

278

9.4.3 Verlustleistung im Testbetrieb

278

9.5 Selbsttest und eingebetteter Test

279

9.5.1 Prüfpfadbasierender Selbsttest

280

9.5.2 Mustererzeugung im Selbsttest

280

9.5.3 Auswertung der Testantworten im Selbsttest

282

9.5.4 Eingebetteter Test

283

9.6 Test von Speicherfeldern

284

9.7 Standardisierung

285

9.7.1 IEEE 1149.1 Boundary Scan (JTAG)

285

9.7.2 Standard zum Test von Systems on Chip (SoC)

287

10 Realisierung digitaler Schaltwerke

289

10.1 Grundlagen

289

10.1.1 Layout

289

10.1.2 Chip-Layout

289

10.1.3 Entwurfsarten

290

10.2 Full-Custom-Entwurf

291

10.3 Semi-Custom-Entwurf

291

10.3.1 Standardzellentwurf

291

10.3.2 Gate-Array

292

10.3.3 Embedded-Array

293

10.4 Systemintegration

293

10.4.1 Anforderungen und Herausforderungen

293

10.4.2 Bereitstellung von Makros

295

10.4.3 Positionierung der Hersteller

296

10.4.4 SoC-Standards

297

10.4.5 Produktbeispiele von Makros

297

10.4.5.1 Voraussetzungen

297

10.4.5.2 Speicher

297

10.4.5.3 Prozessorkerne

298

10.4.5.4 Kommunikationscontroller

298

10.4.5.5 Schnittstellen

299

10.4.5.6 Proprietäre Bibliotheken

299

10.4.6 Erweiterungen

299

11 Digitale Halbleiterspeicher

300

11.1 Übersicht

300

11.2 Halbleiterspeicher – Einteilung, Strukturen, Kenngrößen

301

11.2.1 Einteilung von Halbleiterspeichern

301

11.2.2 Strukturen von Matrixspeichern

305

11.2.3 Kenngrößen von Halbleiterspeichern

306

11.3 Flüchtige Speicher

308

11.3.1 SRAM

309

11.3.1.1 SRAM-Speicherzelle

309

11.3.1.2 SRAM-Bausteine

310

11.3.2 DRAM

312

11.3.2.1 DRAM-Speicherzelle

312

11.3.2.2 DRAM-Bausteine

313

11.3.2.3 Weiterentwicklung von DRAM-Technologien

316

11.3.3 SDRAM und DDR-RAM

319

11.3.3.1 SDRAM

319

11.3.3.2 Ansätze zur Erhöhung der Datentransferrate

320

11.3.3.3 DDR-RAM

320

11.3.3.4 Rambus DRAM (RDRAM)

321

11.3.4 Kenngrößen von SRAM und DRAM

322

11.3.5 Weiterentwicklungen flüchtiger Speicher

323

11.4 Nichtflüchtige Speicher

324

11.4.1 Maskenprogrammierte ROM

325

11.4.2 PROM

327

11.4.3 EPROM

328

11.4.3.1 EPROM-Speicherzelle

328

11.4.3.2 Programmierung der FAMOS-Speicherzelle

329

11.4.3.3 Lesen einer FAMOS-Speicherzelle

329

11.4.3.4 Löschen einer FAMOS-Zelle

329

11.4.3.5 EPROM-Bausteine

330

11.4.4 EEPROM

330

11.4.4.1 EEPROM-Speicherzellen

330

11.4.4.2 Programmieren von EEPROM-Zellen

331

11.4.4.3 Löschen von EEPROM-Zellen

332

11.4.4.4 Lesen von EEPROM-Zellen

332

11.4.4.5 EEPROM-Baustein

332

11.4.5 Flash-EEPROM

333

11.4.5.1 Flash-EEPROM-Speicherzelle

333

11.4.5.2 Flash-Architekturen

334

11.4.5.3 Flash-Bausteine

336

11.4.5.4 Weiterentwicklungen der Flash-Technologie

337

11.5 NVRAM/NOVRAM

338

11.5.1 Überblick

338

11.5.2 Flüchtige RAM-Speicher mit Energiespeichern

338

11.5.3 RAM-/EEPROM-(Flash-EEPROM-)Architekturen

338

11.5.4 Ferroelectric RAM (FeRAM/FRAM)

339

11.5.5 Magneto-resistives RAM (MRAM)

340

11.5.6 Phase Change RAM (PCRAM, PRAM)

342

11.6 Entwicklungstrends

342

12 Mikroprozessortechnik

344

12.1 Einführung

344

12.1.1 Bestandteile eines Mikrocomputers

345

12.1.2 Gegenstand der Mikroprozessortechnik

347

12.1.3 Historische Entwicklung

347

12.1.4 Differenzierung von Mikroprozessoren

350

12.2 Aufbau und Funktion einfacher Mikroprozessoren

353

12.2.1 Komponenten eines Mikroprozessors

353

12.2.1.1 Register

353

12.2.1.2 ALU

355

12.2.1.3 Steuerwerk

357

12.2.1.4 Adresswerk

358

12.2.1.5 Systembus

359

12.2.2 Ausgewählte Funktionsprinzipien

360

12.2.2.1 Ablauf der Befehlsabarbeitung

360

12.2.2.2 Bussteuerung

362

12.2.2.3 Stackfunktion

365

12.2.2.4 Polling und Interrupt-Steuerung

367

12.2.3 Basis-Architekturen

368

12.2.3.1 Vorbemerkungen

368

12.2.3.2 CISC-Prozessoren

369

12.2.3.3 RISC-Prozessoren

370

12.3 Programmiermodell eines Mikroprozessors

371

12.3.1 Registersatz

371

12.3.2 Speichermodell

373

12.3.3 Befehlssatz

374

12.3.4 Adressierungsarten

375

12.4 Erhöhung der Verarbeitungsleistung

376

12.4.1 Pipelining

377

12.4.2 Cache-Speicher

379

12.4.3 Superskalare Prozessoren

381

12.4.4 Multicore-Prozessoren

383

12.5 Architekturmerkmale eines ausgewählten Mikroprozessors

385

12.6 Trends

389

13 Architekturen programmierbarer Logikbausteine

391

13.1 Programmierbare Logikbausteine

391

13.1.1 Allgemeines PLD-Modell

391

13.1.2 Basisblöcke

393

13.1.2.1 Logikblöcke in Look-Up-Table-Struktur

393

13.1.2.2 Logikblöcke in PAL-Struktur

393

13.1.2.3 Logikblöcke mit Multiplexer

394

13.1.2.4 Speicherfunktion mit Bypass

395

13.1.2.5 Aufbau des konfigurierbaren Routings

395

13.1.3 Input-/Output-Blöcke

396

13.1.3.1 Speicher- und Pufferfunktionen bei I/O

396

13.1.3.2 Elektrische Anpassungen im I/O-Block

397

13.1.4 Programmiertechnologien

398

13.1.4.1 Pass-Transistoren

399

13.1.4.2 Technologien im PLD-Codespeicher

399

13.1.5 Aufbau von Simple- und High-Density-PLDs

401

13.1.5.1 Simple-PLDs

402

13.1.5.2 High-Density-PLDs

402

13.1.6 Klassifizierungen

403

13.1.6.1 Klassifizierung nach Mikroarchitektur

403

13.1.6.2 Klassifizierung nach Programmierbarkeit

404

13.1.6.3 Weiterentwicklungen

405

13.2 Übersicht zu Herstellern von PLDs

406

13.2.1 Programmierbare Logikbausteine

406

13.2.2 Software-definierte Mikroprozessorkerne

407

13.3 Simple Programmable Logic Devices (SPLD)

408

13.3.1 GAL/PAL 16V8

408

13.3.2 GAL/PAL 22V10

410

13.4 Complex Programmable Logic Devices (CPLD)

411

13.4.1 Basisarchitektur

411

13.4.2 Erweiterungen

413

13.4.2.1 Erweiterung der PAL-Struktur

413

13.4.2.2 Integration von SRAM-basierten Datenspeicher

415

13.4.2.3 Hierarchische Organisation des Bausteins

416

13.5 Field-Programmable Gate Arrays (FPGA)

416

13.5.1 Basisarchitektur

416

13.5.2 Erweiterungen

418

13.5.2.1 Zusammenfassung der Look-Up Tables (LUT)

418

13.5.2.2 Integration von SRAM-basierten Datenspeicher

419

13.5.2.3 Integration von Elementen zur arithmetischen Verarbeitung

419

14 Digital/Analog-Umsetzer und Analog/Digital-Umsetzer

420

14.1 Grundlagen der Digitalisierung und Analogisierung

420

14.1.1 Digitale Systeme mit ADC und DAC

420

14.1.2 Abtastung, Quantisierung und Rekonstruktion

422

14.1.3 Weitere Kenngrößen von ADC und DAC

427

14.2 Digital/Analog-Umsetzer (DAC)

428

14.2.1 Grundprinzipien der Digital/Analog-Umsetzung

428

14.2.2 Umsetzer mit Widerstandskettenleitern

429

14.2.3 Umsetzer mit geschalteten Stromquellen

431

14.2.4 Umsetzer mit Pulsweitenmodulator

432

14.2.5 Umsetzer mit Sigma-Delta-Modulation

433

14.2.6 DAC im Signalweg

434

14.2.7 Stand der Technik

435

14.3 Analog/Digital-Umsetzer

435

14.3.1 Grundprinzipien der Analog/Digital-Umsetzung

436

14.3.2 Umsetzer mit Parallelverfahren

438

14.3.3 Parallelumsetzer mit Pipeline

440

14.3.4 Umsetzer mit sukzessiver Approximation

441

14.3.5 Umsetzer mit Integration

443

14.3.6 Umsetzer mit Sigma-Delta-Modulator

445

Abkürzungsverzeichnis

447

Literaturverzeichnis

456

Sachwortverzeichnis

470

 

© 2009-2024 ciando GmbH