Автор: Ross K. Snider
Издательство: Springer
Год: 2023
Страниц: 435
Язык: английский
Формат: pdf (true)
Размер: 12.5 MB
This textbook teaches students techniques for the design of advanced digital systems using System-on-Chip (SoC) Field Programmable Gate Arrays (FPGAs). The author demonstrates design of custom hardware components for the FPGA fabric using VHDL, with implementation of custom hardware-software interfaces. Readers gain hands-on experience by writing programs and Linux device drivers in C to interact with custom hardware. This textbook enables laboratory experience in the design of custom digital systems using SoC FPGAs, emphasizing computational tasks such as digital signal processing, audio, or video processing.
This book covers a lot of ground that is constantly shifting. Hardware is constantly changing, software is always being updated, toolchains are always being improved, and development methodologies change over time. So yes, this book is likely to be out of date as soon as it is “printed.” So why bother with this book? There are three primary reasons:
- Reason1:
Students gain a system level view of computers where they see how hardware and software interact.
- Reason2:
System-on-Chip (SoC) Field Programmable Gate Arrays (FPGAs) are an ideal platform for teaching hardware and software interactions and low cost SoC FPGAs are affordable for students.
- Reason3:
Students get jobs. Students have reported great feedback in their job interviews. They report that being able to explain how they created their own custom hardware in the FPGA fabric and being able to explain how they wrote their own device drivers in Linux have impressed interviewers from some very large companies.
Contents:
Part I. Part I
Chapter 1: Preliminaries
Chapter 2: Introduction to System-on-Chip Field Programmable Gate Arrays
Chapter 3: Introduction to the SoC FPGA Boot Process
Chapter 4: Introduction to the DE10-Nano Board
Chapter 5: Introduction to the Audio Mini Board
Chapter 6: Introduction to Intel Quartus Prime
Chapter 7: Introduction to Memory Addressing
Chapter 8: Introduction to Verification
Chapter 9: Introduction to Linux
Chapter 10: Introduction to Digital Signal Processing
Part II. Part II
Chapter 11: Development Environment Setup
Chapter 12: Creating a LED Pattern Generator System
Part III. Part III
Example 1 Audio FPGA Passthrough
Example 2 Feedforward Comb Filter System
Example 3 FFT Analysis Synthesis System
Part IV. Part IV
Lab 1 Setting Up the Ubuntu Virtual Machine
Lab 2 Hardware Hello World
Lab 3 Developer’s Setup
Lab 4 LED Patterns
Signal Tap
Lab 6 Creating a Custom Hardware Component in Platform Designer
Lab 7 Verifying Your Custom Component Using System Console and /dev/mem
Lab 8 Creating LED Patterns with a C Program Using /dev/mem in Linux
Lab 9 Linux Kernel Module Hello World
Lab 10 Modifying the Linux Device Tree
Lab 11 Creating a Platform Device Driver for the HPS_LED_Patterns Component
Lab 12 Implementing the Passthrough Project
Lab 13 Implementing the Comb Filter Project
Lab 14 Implementing the FFT Analysis Synthesis Project
Lab 15 Creating Your Sound Effect in Simulink
Lab 16 Implementing Your Sound Effect in the FPGA Fabric
Lab 17 Writing a Linux Device Driver to Control Your Sound Effect Processor
Скачать Advanced Digital System Design using SoC FPGAs: An Integrated Hardware/Software Approach