- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Field Programmable Gate Arrays - kurz FPGAs - sind die ideale Basis für anspruchsvolle Maker-Projekte. Dank effizienter Parallelverarbeitung und hoher Flexibilität lassen sich mit diesen frei programmierbaren Logikbausteinen komplexe digitale Schaltungen mühelos realisieren. In diesem Praxisbuch zeigt Ihnen Jörg Rippel anhand kreativer Beispielprojekte mit den benutzerfreundlichen FPGAs von Lattice und Gowin Semiconductor, wie Sie Ideen schnell umsetzen. Durch den Einsatz einer Chat-KI generieren Sie ohne Vorkenntnisse die benötigten Verilog-Codes. Im Handumdrehen basteln Sie Lichteffekte,…mehr
Andere Kunden interessierten sich auch für
- Claus KühnelArduino44,90 €
- Harry KellnerHeimautomation mit IP-Symcon44,90 €
- Tobias HübnerGeheimakte Computer24,90 €
- Udo BrandesMikrocontroller ESP3244,90 €
- Udo BrandesNode-RED39,90 €
- Ran GiladiNetwork Processors110,99 €
- Nicole EndersSharePoint für Anwender59,90 €
-
-
-
Field Programmable Gate Arrays - kurz FPGAs - sind die ideale Basis für anspruchsvolle Maker-Projekte. Dank effizienter Parallelverarbeitung und hoher Flexibilität lassen sich mit diesen frei programmierbaren Logikbausteinen komplexe digitale Schaltungen mühelos realisieren.
In diesem Praxisbuch zeigt Ihnen Jörg Rippel anhand kreativer Beispielprojekte mit den benutzerfreundlichen FPGAs von Lattice und Gowin Semiconductor, wie Sie Ideen schnell umsetzen. Durch den Einsatz einer Chat-KI generieren Sie ohne Vorkenntnisse die benötigten Verilog-Codes. Im Handumdrehen basteln Sie Lichteffekte, Animationsanzeigen, verarbeiten Sensordaten und realisieren Ihr persönliches Traumprojekt.
Aus dem Inhalt:
Grundlagen der FPGAs und hardwarenahen ProgrammierungEffizientes Pairprogramming mit künstlicher Intelligenz wie ChatGPTPraxisnaher Einstieg: FPGAs programmieren und die Toolchain beherrschenAnbindung und Verarbeitung von Sensordaten über gängige SchnittstellenInteraktive Steuerung und Kommunikation über serielle VerbindungenSteuern von Displays, RGB-LEDs und vielfältigen AusgabenTestbenchsysteme entwickeln zum Simulieren und DebuggenEinrichten der Open-Source-Entwicklungsumgebung auf dem Raspberry Pi
In diesem Praxisbuch zeigt Ihnen Jörg Rippel anhand kreativer Beispielprojekte mit den benutzerfreundlichen FPGAs von Lattice und Gowin Semiconductor, wie Sie Ideen schnell umsetzen. Durch den Einsatz einer Chat-KI generieren Sie ohne Vorkenntnisse die benötigten Verilog-Codes. Im Handumdrehen basteln Sie Lichteffekte, Animationsanzeigen, verarbeiten Sensordaten und realisieren Ihr persönliches Traumprojekt.
Aus dem Inhalt:
Grundlagen der FPGAs und hardwarenahen ProgrammierungEffizientes Pairprogramming mit künstlicher Intelligenz wie ChatGPTPraxisnaher Einstieg: FPGAs programmieren und die Toolchain beherrschenAnbindung und Verarbeitung von Sensordaten über gängige SchnittstellenInteraktive Steuerung und Kommunikation über serielle VerbindungenSteuern von Displays, RGB-LEDs und vielfältigen AusgabenTestbenchsysteme entwickeln zum Simulieren und DebuggenEinrichten der Open-Source-Entwicklungsumgebung auf dem Raspberry Pi
Produktdetails
- Produktdetails
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10148
- Seitenzahl: 543
- Erscheinungstermin: 4. Oktober 2024
- Deutsch
- Abmessung: 243mm x 175mm x 34mm
- Gewicht: 1135g
- ISBN-13: 9783367101481
- ISBN-10: 3367101486
- Artikelnr.: 70987213
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/10148
- Seitenzahl: 543
- Erscheinungstermin: 4. Oktober 2024
- Deutsch
- Abmessung: 243mm x 175mm x 34mm
- Gewicht: 1135g
- ISBN-13: 9783367101481
- ISBN-10: 3367101486
- Artikelnr.: 70987213
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Jörg Rippel ist begeistert davon, wie einfach es geworden ist, selbst den eigenen Strom zu produzieren. Das Basteln mit elektronischen Geräten gehörte schon immer zu Jörgs Hobbys. Privat repariert er gerne alte Radios, beruflich hat er mehr als 20 Jahre in verschiedenen IT-Unternehmen und in der Luft- und Raumfahrtindustrie gearbeitet. Als Systemingenieur lag sein Schwerpunkt auf der Zusammenführung und Pflege komplexer Systeme, die aus vielen verschiedenen technischen Bereichen bestehen. Heute lebt er mit seiner Frau im Grünen und schraubt gerne an kreativen Projekten, wobei es auch immer mal wieder Probleme gibt und nicht immer alles beim ersten Versuch funktioniert. Trotzdem - oder gerade deswegen - macht ihm die Arbeit mit Elektronik immer Spaß. Sein Wissen teilt er in Fachbüchern und Beiträgen. Ausbildungen und Studiengänge in Elektronik, Funktechnik und Informatik haben dafür gesorgt, dass er ein breites Wissen zu allerlei elektrischen Geräten hat. Dazu gehören die Erstellung von analogen und digitalen Robotern, der Bau von Computern, das Betreiben von Amateurfunk und Satellitenfunk, das Design von Schaltungen und Platinenlayouts, die Arbeit mit 8- und 32-Bit-Mikrocontrollern und die Programmierung in verschiedenen Sprachen.
Materialien zum Buch ... 13
1. Los geht's: FPGAs für Maker und Kreative ... 15
1.1 ... Über dieses Buch: Was Sie lernen werden und was Sie schon können sollten ... 15
1.2 ... Ihr Weg durch dieses Buch ... 18
1.3 ... Was sind FPGAs? ... 20
1.4 ... Sprachen, Tools und Konzepte ... 23
TEIL I. Einstieg in die FPGAProgrammierung ... 27
2. FPGAs verstehen ... 29
2.1 ... Grundlagen und Überblick: Die FPGA-Technologie verstehen ... 30
2.2 ... Die FPGAs, die in diesem Buch verwendet werden ... 59
2.3 ... Was ist der richtige FPGA für Ihr Projekt? ... 68
2.4 ... Andere FPGAs und Regulatorien ... 73
2.5 ... Open-Hardware- und EDU-Boards ... 75
3. Offener Quellcode, offene Hardware ... 85
3.1 ... Kein Ablaufdatum und zeitlos gültig: Open-Source-Software und -Hardware ... 85
3.2 ... Die Open-Source-Toolchain und die Freiheit der Entwicklung ... 87
3.3 ... Das IceZero-Board für den Raspberry Pi ... 88
3.4 ... Der Tang Nano 9K ... 91
3.5 ... Die Vor- und Nachteile der Anschlüsse beider FPGA-Boards ... 92
3.6 ... Die Open-Source-Toolchain für das IceZero- und das Tang-Nano-Board ... 95
3.7 ... Die Hersteller-IDE für den Tang Nano 9K ... 95
3.8 ... Beide FPGAs gleichzeitig am Raspberry Pi nutzen ... 96
4. Software-Entwicklung leicht gemacht ... 99
4.1 ... Die Hardware-Beschreibung mit Verilog ... 100
4.2 ... Hardware-Beschreibung vs. Programmierung ... 101
4.3 ... Die Idee und die FPGAs im Rampenlicht, KI im Support ... 102
4.4 ... Einen FPGA mit Prompts designen ... 111
4.5 ... Tipps und Tricks beim Prompten ... 115
5. Offene Tools und Setup ... 119
5.1 ... Unsere Steuerzentrale: Der Raspberry Pi ... 120
5.2 ... Die Entwicklungsumgebung einrichten ... 125
6. Erste Schritte mit FPGAs und dem Raspberry Pi ... 143
6.1 ... Der iCE40HX auf dem IceZero-Board ... 147
6.2 ... Der Tang Nano 9K ... 158
6.3 ... Sind die Toolchain-Komponenten austauschbar? ... 171
6.4 ... Quellcode-Editoren für Verilog ... 172
6.5 ... Die Ausgabeinformationen der Toolchain verstehen ... 177
7. Die Grundlagen von Verilog ... 183
7.1 ... Aufbau und Struktur ... 183
7.2 ... Ein erstes Code-Beispiel ... 186
7.3 ... Datentypen ... 187
7.4 ... Konstrollstrukturen ... 194
7.5 ... Von der Software zur Hardware: Automatische Codegenerierung für FPGAs ... 196
8. Ablauf eines FPGA-Designs ... 201
8.1 ... Entwicklungsschritte ... 201
8.2 ... Aufbau und Ablauf der FPGA-Projekte in diesem Buch ... 204
TEIL II. Praxis und Projekte ... 207
9. Projekte mit dem IceZero ... 209
9.1 ... I/O: Interaktion mit der Außenwelt ... 210
9.2 ... Einen Takt ausgeben ... 224
9.3 ... Einen Zähler implementieren ... 233
9.4 ... RGB-LEDs ansteuern ... 237
9.5 ... Serielle Daten übertragen ... 252
9.6 ... Web-Control-Server ... 276
9.7 ... Retrospektive: Erlernte Grundlagen ... 283
9.8 ... Mehr zu Testbench-Techniken: Simulation und Test von digitalen Signalverarbeitungssystemen ... 287
9.9 ... Mehr zu Makefiles: Automatisierung ... 293
10. Projekte mit dem Tang Nano 9K ... 295
10.1 ... I/O: Die 48 GPIO-Pins des Tang Nano 9K ... 295
10.2 ... Die Taster des Tang Nano 9K ... 301
10.3 ... Der Takt des Tang Nano 9K ... 301
10.4 ... Der Speicher eines FPGAs ... 301
10.5 ... Eine UART-Schnittstelle ... 310
10.6 ... Ein SPI-LCD ansteuern ... 331
10.7 ... Ein OLED-Display ansteuern ... 337
10.8 ... Ein OLED-Display mit Bildanzeige ... 364
10.9 ... Ein OLED-Display mit Text-Engine ... 370
10.10 ... Ein OLED-Display mit Bargraphen (und die Frage, wann Zufall wirklich zufällig ist) ... 403
10.11 ... Ein OLED-Display mit ADC-Ausgabe ... 427
10.12 ... Einen Servo steuern ... 477
10.13 ... Retrospektive: Wie passt das alles zusammen? ... 483
11. Spezialthemen -- kurz angerissen ... 487
11.1 ... Schleifen ... 487
11.2 ... Generate-Anweisungen ... 490
11.3 ... Pipelining ... 492
11.4 ... Taktdomänen (Clock Domains) ... 496
11.5 ... Crossing Clock Domains ... 499
11.6 ... Die Bezeichnungen »größer« und »breiter« ... 502
11.7 ... Die Simulation stoppen ... 504
11.8 ... IP-Cores ... 505
11.9 ... Grundlagen zu SerDes in FPGA-Systemen ... 507
11.10 ... Phase-Locked Loops (PLL) ... 509
11.11 ... Delay-Locked Loops (DLL) ... 510
11.12 ... Multiplexer und Demultiplexer ... 512
11.13 ... Das Shift-Register ... 513
11.14 ... RISC-V-Softcore-CPU ... 514
11.15 ... Retrospektive: Gut, mal gehört zu haben ... ... 518
12. Die Community und weiterführende Ressourcen ... 519
12.1 ... Machen Sie bei Open-Source-Communitys für Maker mit ... 519
12.2 ... Retro-Messen: Entdecken Sie 8-Bit-Computer und Emulatoren ... 521
12.3 ... Der MEGA65 ... 522
12.4 ... Im Gespräch mit einem FPGA-Entwickler ... 530
13. Ihr Traumprojekt: Legen Sie los! ... 533
Danke und bis bald! ... 535
Index ... 537
1. Los geht's: FPGAs für Maker und Kreative ... 15
1.1 ... Über dieses Buch: Was Sie lernen werden und was Sie schon können sollten ... 15
1.2 ... Ihr Weg durch dieses Buch ... 18
1.3 ... Was sind FPGAs? ... 20
1.4 ... Sprachen, Tools und Konzepte ... 23
TEIL I. Einstieg in die FPGAProgrammierung ... 27
2. FPGAs verstehen ... 29
2.1 ... Grundlagen und Überblick: Die FPGA-Technologie verstehen ... 30
2.2 ... Die FPGAs, die in diesem Buch verwendet werden ... 59
2.3 ... Was ist der richtige FPGA für Ihr Projekt? ... 68
2.4 ... Andere FPGAs und Regulatorien ... 73
2.5 ... Open-Hardware- und EDU-Boards ... 75
3. Offener Quellcode, offene Hardware ... 85
3.1 ... Kein Ablaufdatum und zeitlos gültig: Open-Source-Software und -Hardware ... 85
3.2 ... Die Open-Source-Toolchain und die Freiheit der Entwicklung ... 87
3.3 ... Das IceZero-Board für den Raspberry Pi ... 88
3.4 ... Der Tang Nano 9K ... 91
3.5 ... Die Vor- und Nachteile der Anschlüsse beider FPGA-Boards ... 92
3.6 ... Die Open-Source-Toolchain für das IceZero- und das Tang-Nano-Board ... 95
3.7 ... Die Hersteller-IDE für den Tang Nano 9K ... 95
3.8 ... Beide FPGAs gleichzeitig am Raspberry Pi nutzen ... 96
4. Software-Entwicklung leicht gemacht ... 99
4.1 ... Die Hardware-Beschreibung mit Verilog ... 100
4.2 ... Hardware-Beschreibung vs. Programmierung ... 101
4.3 ... Die Idee und die FPGAs im Rampenlicht, KI im Support ... 102
4.4 ... Einen FPGA mit Prompts designen ... 111
4.5 ... Tipps und Tricks beim Prompten ... 115
5. Offene Tools und Setup ... 119
5.1 ... Unsere Steuerzentrale: Der Raspberry Pi ... 120
5.2 ... Die Entwicklungsumgebung einrichten ... 125
6. Erste Schritte mit FPGAs und dem Raspberry Pi ... 143
6.1 ... Der iCE40HX auf dem IceZero-Board ... 147
6.2 ... Der Tang Nano 9K ... 158
6.3 ... Sind die Toolchain-Komponenten austauschbar? ... 171
6.4 ... Quellcode-Editoren für Verilog ... 172
6.5 ... Die Ausgabeinformationen der Toolchain verstehen ... 177
7. Die Grundlagen von Verilog ... 183
7.1 ... Aufbau und Struktur ... 183
7.2 ... Ein erstes Code-Beispiel ... 186
7.3 ... Datentypen ... 187
7.4 ... Konstrollstrukturen ... 194
7.5 ... Von der Software zur Hardware: Automatische Codegenerierung für FPGAs ... 196
8. Ablauf eines FPGA-Designs ... 201
8.1 ... Entwicklungsschritte ... 201
8.2 ... Aufbau und Ablauf der FPGA-Projekte in diesem Buch ... 204
TEIL II. Praxis und Projekte ... 207
9. Projekte mit dem IceZero ... 209
9.1 ... I/O: Interaktion mit der Außenwelt ... 210
9.2 ... Einen Takt ausgeben ... 224
9.3 ... Einen Zähler implementieren ... 233
9.4 ... RGB-LEDs ansteuern ... 237
9.5 ... Serielle Daten übertragen ... 252
9.6 ... Web-Control-Server ... 276
9.7 ... Retrospektive: Erlernte Grundlagen ... 283
9.8 ... Mehr zu Testbench-Techniken: Simulation und Test von digitalen Signalverarbeitungssystemen ... 287
9.9 ... Mehr zu Makefiles: Automatisierung ... 293
10. Projekte mit dem Tang Nano 9K ... 295
10.1 ... I/O: Die 48 GPIO-Pins des Tang Nano 9K ... 295
10.2 ... Die Taster des Tang Nano 9K ... 301
10.3 ... Der Takt des Tang Nano 9K ... 301
10.4 ... Der Speicher eines FPGAs ... 301
10.5 ... Eine UART-Schnittstelle ... 310
10.6 ... Ein SPI-LCD ansteuern ... 331
10.7 ... Ein OLED-Display ansteuern ... 337
10.8 ... Ein OLED-Display mit Bildanzeige ... 364
10.9 ... Ein OLED-Display mit Text-Engine ... 370
10.10 ... Ein OLED-Display mit Bargraphen (und die Frage, wann Zufall wirklich zufällig ist) ... 403
10.11 ... Ein OLED-Display mit ADC-Ausgabe ... 427
10.12 ... Einen Servo steuern ... 477
10.13 ... Retrospektive: Wie passt das alles zusammen? ... 483
11. Spezialthemen -- kurz angerissen ... 487
11.1 ... Schleifen ... 487
11.2 ... Generate-Anweisungen ... 490
11.3 ... Pipelining ... 492
11.4 ... Taktdomänen (Clock Domains) ... 496
11.5 ... Crossing Clock Domains ... 499
11.6 ... Die Bezeichnungen »größer« und »breiter« ... 502
11.7 ... Die Simulation stoppen ... 504
11.8 ... IP-Cores ... 505
11.9 ... Grundlagen zu SerDes in FPGA-Systemen ... 507
11.10 ... Phase-Locked Loops (PLL) ... 509
11.11 ... Delay-Locked Loops (DLL) ... 510
11.12 ... Multiplexer und Demultiplexer ... 512
11.13 ... Das Shift-Register ... 513
11.14 ... RISC-V-Softcore-CPU ... 514
11.15 ... Retrospektive: Gut, mal gehört zu haben ... ... 518
12. Die Community und weiterführende Ressourcen ... 519
12.1 ... Machen Sie bei Open-Source-Communitys für Maker mit ... 519
12.2 ... Retro-Messen: Entdecken Sie 8-Bit-Computer und Emulatoren ... 521
12.3 ... Der MEGA65 ... 522
12.4 ... Im Gespräch mit einem FPGA-Entwickler ... 530
13. Ihr Traumprojekt: Legen Sie los! ... 533
Danke und bis bald! ... 535
Index ... 537
Materialien zum Buch ... 13
1. Los geht's: FPGAs für Maker und Kreative ... 15
1.1 ... Über dieses Buch: Was Sie lernen werden und was Sie schon können sollten ... 15
1.2 ... Ihr Weg durch dieses Buch ... 18
1.3 ... Was sind FPGAs? ... 20
1.4 ... Sprachen, Tools und Konzepte ... 23
TEIL I. Einstieg in die FPGAProgrammierung ... 27
2. FPGAs verstehen ... 29
2.1 ... Grundlagen und Überblick: Die FPGA-Technologie verstehen ... 30
2.2 ... Die FPGAs, die in diesem Buch verwendet werden ... 59
2.3 ... Was ist der richtige FPGA für Ihr Projekt? ... 68
2.4 ... Andere FPGAs und Regulatorien ... 73
2.5 ... Open-Hardware- und EDU-Boards ... 75
3. Offener Quellcode, offene Hardware ... 85
3.1 ... Kein Ablaufdatum und zeitlos gültig: Open-Source-Software und -Hardware ... 85
3.2 ... Die Open-Source-Toolchain und die Freiheit der Entwicklung ... 87
3.3 ... Das IceZero-Board für den Raspberry Pi ... 88
3.4 ... Der Tang Nano 9K ... 91
3.5 ... Die Vor- und Nachteile der Anschlüsse beider FPGA-Boards ... 92
3.6 ... Die Open-Source-Toolchain für das IceZero- und das Tang-Nano-Board ... 95
3.7 ... Die Hersteller-IDE für den Tang Nano 9K ... 95
3.8 ... Beide FPGAs gleichzeitig am Raspberry Pi nutzen ... 96
4. Software-Entwicklung leicht gemacht ... 99
4.1 ... Die Hardware-Beschreibung mit Verilog ... 100
4.2 ... Hardware-Beschreibung vs. Programmierung ... 101
4.3 ... Die Idee und die FPGAs im Rampenlicht, KI im Support ... 102
4.4 ... Einen FPGA mit Prompts designen ... 111
4.5 ... Tipps und Tricks beim Prompten ... 115
5. Offene Tools und Setup ... 119
5.1 ... Unsere Steuerzentrale: Der Raspberry Pi ... 120
5.2 ... Die Entwicklungsumgebung einrichten ... 125
6. Erste Schritte mit FPGAs und dem Raspberry Pi ... 143
6.1 ... Der iCE40HX auf dem IceZero-Board ... 147
6.2 ... Der Tang Nano 9K ... 158
6.3 ... Sind die Toolchain-Komponenten austauschbar? ... 171
6.4 ... Quellcode-Editoren für Verilog ... 172
6.5 ... Die Ausgabeinformationen der Toolchain verstehen ... 177
7. Die Grundlagen von Verilog ... 183
7.1 ... Aufbau und Struktur ... 183
7.2 ... Ein erstes Code-Beispiel ... 186
7.3 ... Datentypen ... 187
7.4 ... Konstrollstrukturen ... 194
7.5 ... Von der Software zur Hardware: Automatische Codegenerierung für FPGAs ... 196
8. Ablauf eines FPGA-Designs ... 201
8.1 ... Entwicklungsschritte ... 201
8.2 ... Aufbau und Ablauf der FPGA-Projekte in diesem Buch ... 204
TEIL II. Praxis und Projekte ... 207
9. Projekte mit dem IceZero ... 209
9.1 ... I/O: Interaktion mit der Außenwelt ... 210
9.2 ... Einen Takt ausgeben ... 224
9.3 ... Einen Zähler implementieren ... 233
9.4 ... RGB-LEDs ansteuern ... 237
9.5 ... Serielle Daten übertragen ... 252
9.6 ... Web-Control-Server ... 276
9.7 ... Retrospektive: Erlernte Grundlagen ... 283
9.8 ... Mehr zu Testbench-Techniken: Simulation und Test von digitalen Signalverarbeitungssystemen ... 287
9.9 ... Mehr zu Makefiles: Automatisierung ... 293
10. Projekte mit dem Tang Nano 9K ... 295
10.1 ... I/O: Die 48 GPIO-Pins des Tang Nano 9K ... 295
10.2 ... Die Taster des Tang Nano 9K ... 301
10.3 ... Der Takt des Tang Nano 9K ... 301
10.4 ... Der Speicher eines FPGAs ... 301
10.5 ... Eine UART-Schnittstelle ... 310
10.6 ... Ein SPI-LCD ansteuern ... 331
10.7 ... Ein OLED-Display ansteuern ... 337
10.8 ... Ein OLED-Display mit Bildanzeige ... 364
10.9 ... Ein OLED-Display mit Text-Engine ... 370
10.10 ... Ein OLED-Display mit Bargraphen (und die Frage, wann Zufall wirklich zufällig ist) ... 403
10.11 ... Ein OLED-Display mit ADC-Ausgabe ... 427
10.12 ... Einen Servo steuern ... 477
10.13 ... Retrospektive: Wie passt das alles zusammen? ... 483
11. Spezialthemen -- kurz angerissen ... 487
11.1 ... Schleifen ... 487
11.2 ... Generate-Anweisungen ... 490
11.3 ... Pipelining ... 492
11.4 ... Taktdomänen (Clock Domains) ... 496
11.5 ... Crossing Clock Domains ... 499
11.6 ... Die Bezeichnungen »größer« und »breiter« ... 502
11.7 ... Die Simulation stoppen ... 504
11.8 ... IP-Cores ... 505
11.9 ... Grundlagen zu SerDes in FPGA-Systemen ... 507
11.10 ... Phase-Locked Loops (PLL) ... 509
11.11 ... Delay-Locked Loops (DLL) ... 510
11.12 ... Multiplexer und Demultiplexer ... 512
11.13 ... Das Shift-Register ... 513
11.14 ... RISC-V-Softcore-CPU ... 514
11.15 ... Retrospektive: Gut, mal gehört zu haben ... ... 518
12. Die Community und weiterführende Ressourcen ... 519
12.1 ... Machen Sie bei Open-Source-Communitys für Maker mit ... 519
12.2 ... Retro-Messen: Entdecken Sie 8-Bit-Computer und Emulatoren ... 521
12.3 ... Der MEGA65 ... 522
12.4 ... Im Gespräch mit einem FPGA-Entwickler ... 530
13. Ihr Traumprojekt: Legen Sie los! ... 533
Danke und bis bald! ... 535
Index ... 537
1. Los geht's: FPGAs für Maker und Kreative ... 15
1.1 ... Über dieses Buch: Was Sie lernen werden und was Sie schon können sollten ... 15
1.2 ... Ihr Weg durch dieses Buch ... 18
1.3 ... Was sind FPGAs? ... 20
1.4 ... Sprachen, Tools und Konzepte ... 23
TEIL I. Einstieg in die FPGAProgrammierung ... 27
2. FPGAs verstehen ... 29
2.1 ... Grundlagen und Überblick: Die FPGA-Technologie verstehen ... 30
2.2 ... Die FPGAs, die in diesem Buch verwendet werden ... 59
2.3 ... Was ist der richtige FPGA für Ihr Projekt? ... 68
2.4 ... Andere FPGAs und Regulatorien ... 73
2.5 ... Open-Hardware- und EDU-Boards ... 75
3. Offener Quellcode, offene Hardware ... 85
3.1 ... Kein Ablaufdatum und zeitlos gültig: Open-Source-Software und -Hardware ... 85
3.2 ... Die Open-Source-Toolchain und die Freiheit der Entwicklung ... 87
3.3 ... Das IceZero-Board für den Raspberry Pi ... 88
3.4 ... Der Tang Nano 9K ... 91
3.5 ... Die Vor- und Nachteile der Anschlüsse beider FPGA-Boards ... 92
3.6 ... Die Open-Source-Toolchain für das IceZero- und das Tang-Nano-Board ... 95
3.7 ... Die Hersteller-IDE für den Tang Nano 9K ... 95
3.8 ... Beide FPGAs gleichzeitig am Raspberry Pi nutzen ... 96
4. Software-Entwicklung leicht gemacht ... 99
4.1 ... Die Hardware-Beschreibung mit Verilog ... 100
4.2 ... Hardware-Beschreibung vs. Programmierung ... 101
4.3 ... Die Idee und die FPGAs im Rampenlicht, KI im Support ... 102
4.4 ... Einen FPGA mit Prompts designen ... 111
4.5 ... Tipps und Tricks beim Prompten ... 115
5. Offene Tools und Setup ... 119
5.1 ... Unsere Steuerzentrale: Der Raspberry Pi ... 120
5.2 ... Die Entwicklungsumgebung einrichten ... 125
6. Erste Schritte mit FPGAs und dem Raspberry Pi ... 143
6.1 ... Der iCE40HX auf dem IceZero-Board ... 147
6.2 ... Der Tang Nano 9K ... 158
6.3 ... Sind die Toolchain-Komponenten austauschbar? ... 171
6.4 ... Quellcode-Editoren für Verilog ... 172
6.5 ... Die Ausgabeinformationen der Toolchain verstehen ... 177
7. Die Grundlagen von Verilog ... 183
7.1 ... Aufbau und Struktur ... 183
7.2 ... Ein erstes Code-Beispiel ... 186
7.3 ... Datentypen ... 187
7.4 ... Konstrollstrukturen ... 194
7.5 ... Von der Software zur Hardware: Automatische Codegenerierung für FPGAs ... 196
8. Ablauf eines FPGA-Designs ... 201
8.1 ... Entwicklungsschritte ... 201
8.2 ... Aufbau und Ablauf der FPGA-Projekte in diesem Buch ... 204
TEIL II. Praxis und Projekte ... 207
9. Projekte mit dem IceZero ... 209
9.1 ... I/O: Interaktion mit der Außenwelt ... 210
9.2 ... Einen Takt ausgeben ... 224
9.3 ... Einen Zähler implementieren ... 233
9.4 ... RGB-LEDs ansteuern ... 237
9.5 ... Serielle Daten übertragen ... 252
9.6 ... Web-Control-Server ... 276
9.7 ... Retrospektive: Erlernte Grundlagen ... 283
9.8 ... Mehr zu Testbench-Techniken: Simulation und Test von digitalen Signalverarbeitungssystemen ... 287
9.9 ... Mehr zu Makefiles: Automatisierung ... 293
10. Projekte mit dem Tang Nano 9K ... 295
10.1 ... I/O: Die 48 GPIO-Pins des Tang Nano 9K ... 295
10.2 ... Die Taster des Tang Nano 9K ... 301
10.3 ... Der Takt des Tang Nano 9K ... 301
10.4 ... Der Speicher eines FPGAs ... 301
10.5 ... Eine UART-Schnittstelle ... 310
10.6 ... Ein SPI-LCD ansteuern ... 331
10.7 ... Ein OLED-Display ansteuern ... 337
10.8 ... Ein OLED-Display mit Bildanzeige ... 364
10.9 ... Ein OLED-Display mit Text-Engine ... 370
10.10 ... Ein OLED-Display mit Bargraphen (und die Frage, wann Zufall wirklich zufällig ist) ... 403
10.11 ... Ein OLED-Display mit ADC-Ausgabe ... 427
10.12 ... Einen Servo steuern ... 477
10.13 ... Retrospektive: Wie passt das alles zusammen? ... 483
11. Spezialthemen -- kurz angerissen ... 487
11.1 ... Schleifen ... 487
11.2 ... Generate-Anweisungen ... 490
11.3 ... Pipelining ... 492
11.4 ... Taktdomänen (Clock Domains) ... 496
11.5 ... Crossing Clock Domains ... 499
11.6 ... Die Bezeichnungen »größer« und »breiter« ... 502
11.7 ... Die Simulation stoppen ... 504
11.8 ... IP-Cores ... 505
11.9 ... Grundlagen zu SerDes in FPGA-Systemen ... 507
11.10 ... Phase-Locked Loops (PLL) ... 509
11.11 ... Delay-Locked Loops (DLL) ... 510
11.12 ... Multiplexer und Demultiplexer ... 512
11.13 ... Das Shift-Register ... 513
11.14 ... RISC-V-Softcore-CPU ... 514
11.15 ... Retrospektive: Gut, mal gehört zu haben ... ... 518
12. Die Community und weiterführende Ressourcen ... 519
12.1 ... Machen Sie bei Open-Source-Communitys für Maker mit ... 519
12.2 ... Retro-Messen: Entdecken Sie 8-Bit-Computer und Emulatoren ... 521
12.3 ... Der MEGA65 ... 522
12.4 ... Im Gespräch mit einem FPGA-Entwickler ... 530
13. Ihr Traumprojekt: Legen Sie los! ... 533
Danke und bis bald! ... 535
Index ... 537