Buch, Deutsch, 543 Seiten, Format (B × H): 175 mm x 243 mm, Gewicht: 1138 g
Reihe: Rheinwerk Computing
Einstieg, Schaltungen, Projekte. Der Leitfaden für kreative Maker und Bastler
Buch, Deutsch, 543 Seiten, Format (B × H): 175 mm x 243 mm, Gewicht: 1138 g
Reihe: Rheinwerk Computing
ISBN: 978-3-367-10148-1
Verlag: Rheinwerk Verlag GmbH
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 Programmierung
- Effizientes Pairprogramming mit künstlicher Intelligenz wie ChatGPT
- Praxisnaher Einstieg: FPGAs programmieren und die Toolchain beherrschen
- Anbindung und Verarbeitung von Sensordaten über gängige Schnittstellen
- Interaktive Steuerung und Kommunikation über serielle Verbindungen
- Steuern von Displays, RGB-LEDs und vielfältigen Ausgaben
- Testbenchsysteme entwickeln zum Simulieren und Debuggen
- Einrichten der Open-Source-Entwicklungsumgebung auf dem Raspberry Pi
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
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 ... 23TEIL 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 ... 204TEIL 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 ... 29310. 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? ... 48311. 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 ... ... 51812. 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 ... 53013. Ihr Traumprojekt: Legen Sie los! ... 533 Danke und bis bald! ... 535 Index ... 537