|
Vorwort |
5 |
|
|
Inhaltsverzeichnis |
7 |
|
|
Notation |
10 |
|
|
1 Schaltungsentwurf mit Hardwarebeschreibungssprachen |
11 |
|
|
1.1 Vom Schaltplan zur Schaltungssynthese |
11 |
|
|
1.2 Logische Operationen in digitalen Schaltungen |
16 |
|
|
1.3 Dualarithmetik |
20 |
|
|
1.4 Strukturbeschreibung digitaler Systeme |
24 |
|
|
1.5 Hardwarebeschreibungssprache VERILOG |
25 |
|
|
1.6 Hardwarebeschreibungssprache VHDL |
28 |
|
|
1.7 Registrierung und Download für System ISE WebPACK |
34 |
|
|
2 VHDL-Beschreibung kombinatorischer Schaltungen |
35 |
|
|
2.1 Logik-Operatoren in VHDL |
35 |
|
|
2.2 Verhaltensbeschreibung in VHDL |
36 |
|
|
2.3 Alternative VHDL-Beschreibungen kombinatorischer Schaltungen |
42 |
|
|
2.4 Vektor-Operationen |
45 |
|
|
2.5 VHDL-Modelle für kombinatorische Grundschaltungen |
48 |
|
|
2.5.1 Multiplexer |
48 |
|
|
2.5.2 Codierer, Decoder und Code-Wandler |
50 |
|
|
2.5.3 Komparatoren |
51 |
|
|
2.5.4 Addierschaltungen |
53 |
|
|
2.5.5 Barrelshifter |
55 |
|
|
2.5.6 Tristate-Treiber |
59 |
|
|
2.6 Logik-Elemente in programmierbaren Bauelementen |
61 |
|
|
2.7 Zusammengesetzte kombinatorische Schaltungen |
63 |
|
|
2.8 VHDL-Testbench |
66 |
|
|
2.9 Einführung in das VHDL-Entwurfssystem XILINX ISE |
69 |
|
|
3 VHDL-Beschreibung sequenzieller Schaltungen |
79 |
|
|
3.1 Speicherelemente-Typen |
79 |
|
|
3.1.1 Latch-Speicherelemente |
79 |
|
|
3.1.2 Taktflankengesteuerte D-Flipflops |
81 |
|
|
3.1.3 Funktions-Flipflops |
85 |
|
|
3.2 Speicherelemente in programmierbaren Logikbausteinen |
88 |
|
|
3.3 Synchrone sequenzielle Schaltungen |
89 |
|
|
3.4 Funktionaler Entwurf sequenzieller Schaltungen |
94 |
|
|
3.5 Automatenbeschreibung sequenzieller Schaltungen |
99 |
|
|
3.5.1 Automatentypen |
99 |
|
|
3.5.2 Automaten-Entwurf |
102 |
|
|
3.5.3 VHDL-Beschreibung von Zustandsautomaten |
103 |
|
|
3.6 Asynchrone sequenzielle Schaltungen |
105 |
|
|
3.7 Synthese sequenzieller Schaltungen mit dem Entwurfssystem ISE |
107 |
|
|
4 Zähler-Entwurf |
111 |
|
|
4.1 Schaltungssynthese für Dualzähler |
111 |
|
|
4.2 Zusammengesetzte Zähler |
121 |
|
|
4.3 Dezimalzähler |
122 |
|
|
4.4 Entwurf schneller Zähler |
126 |
|
|
4.5 Grundschaltungen mit Zählerelementen |
130 |
|
|
4.6 Frequenz-Vervielfachung mit PLL-Schaltungen |
134 |
|
|
4.7 Takt-Management mit DLL-Schaltungen |
137 |
|
|
4.8 Schaltungsentwurf mit Schaltbild im System ISE |
139 |
|
|
5 Schieberegister |
143 |
|
|
5.1 VHDL-Modelle für Schieberegister |
143 |
|
|
5.2 Ringzähler |
146 |
|
|
5.3 Automaten-Entwurf mit Schieberegistern |
147 |
|
|
5.4 LFSR-Zähler |
151 |
|
|
5.5 Scrambler |
154 |
|
|
5.6 CRC-Berechnung |
158 |
|
|
5.7 Implementierung von CPLD-Bausteinen im System ISE |
161 |
|
|
6 Schaltungen mit Speicherblöcken |
165 |
|
|
6.1 VHDL-Modelle für Speicherblöcke |
165 |
|
|
6.2 Verteilte Speicherblöcke in FPGAs |
168 |
|
|
6.3 Blockspeicherelemente in FPGAs |
172 |
|
|
6.4 ROM-Speicher |
176 |
|
|
6.5 Registerschaltungen |
179 |
|
|
6.6 Schieberegister mit Speicherblöcken |
187 |
|
|
6.7 FIFO-Speicher |
191 |
|
|
6.8 CAM-Speicher |
197 |
|
|
6.9 Implementierung von FPGA-Bausteinen im System ISE |
202 |
|
|
7 Arithmetik-Schaltungen |
205 |
|
|
7.1 Schnelle Addierschaltungen |
205 |
|
|
7.2 Multiplikations-Algorithmen |
207 |
|
|
7.3 Sequenzielle Multiplikations-Schaltungen |
210 |
|
|
7.4 Divisions-Algorithmen |
217 |
|
|
7.5 Sequenzielle Divisions-Schaltungen |
219 |
|
|
7.6 Konstanten-Multiplizierer |
223 |
|
|
7.7 Gleitpunktarithmetik-Baugruppen |
226 |
|
|
7.7.1 Gleitpunktdatenformate |
226 |
|
|
7.7.2 Gleitpunkt-Multiplikation |
227 |
|
|
7.7.3 Gleitpunkt-Division |
231 |
|
|
7.7.4 Gleitpunkt-Addition |
233 |
|
|
7.8 Konvertierung der Datenformate |
238 |
|
|
7.8.1 Konvertierung zwischen Integer- und Gleitpunkt-Darstellungen |
238 |
|
|
7.8.2 Konvertierung zwischen Gleitpunkt- und Integer-Darstellungen |
241 |
|
|
7.9 Core-Generator im System ISE |
242 |
|
|
8 Peripherieschaltungen für Mikroprozessoren |
247 |
|
|
8.1 Prozessorschnittstellen |
247 |
|
|
8.2 BUS-Systeme |
252 |
|
|
8.3 Register-Interface |
258 |
|
|
8.4 FIFO-Interface |
263 |
|
|
8.5 Timer |
265 |
|
|
8.6 Echtzeituhr |
271 |
|
|
8.6.1 Dezimalzählermodule |
271 |
|
|
8.6.2 Strukturbeschreibung |
274 |
|
|
8.7 100-Jahres-Kalender |
277 |
|
|
8.8 Konfigurationsverfahren für FPGAs |
281 |
|
|
Literaturverzeichnis |
283 |
|
|
Sachwortverzeichnis |
286 |
|