Book description
Get started with FPGA programming using SystemVerilog, and develop real-world skills by building projects, including a calculator and a keyboard
Key Features
- Explore different FPGA usage methods and the FPGA tool flow
- Learn how to design, test, and implement hardware circuits using SystemVerilog
- Build real-world FPGA projects such as a calculator and a keyboard using FPGA resources
Book Description
Field Programmable Gate Arrays (FPGAs) have now become a core part of most modern electronic and computer systems. However, to implement your ideas in the real world, you need to get your head around the FPGA architecture, its toolset, and critical design considerations. FPGA Programming for Beginners will help you bring your ideas to life by guiding you through the entire process of programming FPGAs and designing hardware circuits using SystemVerilog.
The book will introduce you to the FPGA and Xilinx architectures and show you how to work on your first project, which includes toggling an LED. You’ll then cover SystemVerilog RTL designs and their implementations. Next, you’ll get to grips with using the combinational Boolean logic design and work on several projects, such as creating a calculator and updating it using FPGA resources. Later, the book will take you through the advanced concepts of AXI and show you how to create a keyboard using PS/2. Finally, you’ll be able to consolidate all the projects in the book to create a unified output using a Video Graphics Array (VGA) controller that you’ll design.
By the end of this SystemVerilog FPGA book, you’ll have learned how to work with FPGA systems and be able to design hardware circuits and boards using SystemVerilog programming.
What you will learn
- Understand the FPGA architecture and its implementation
- Get to grips with writing SystemVerilog RTL
- Make FPGA projects using SystemVerilog programming
- Work with computer math basics, parallelism, and pipelining
- Explore the advanced topics of AXI and keyboard interfacing with PS/2
- Discover how you can implement a VGA interface in your projects
Who this book is for
This FPGA design book is for embedded system developers, engineers, and programmers who want to learn FPGA and SystemVerilog programming from scratch. FPGA designers looking to gain hands-on experience in working on real-world projects will also find this book useful.
Table of contents
- FPGA Programming for Beginners
- Contributors
- About the author
- About the reviewer
- Preface
- Section 1: Introduction to FPGAs and Xilinx Architectures
- Chapter 1: Introduction to FPGA Architectures and Xilinx Vivado
- Section 2: Introduction to Verilog RTL Design, Simulation, and Implementation
-
Chapter 2: Combinational Logic
- Technical requirements
- Creating SystemVerilog modules
- Introducing data types
- Packaging up code using functions
- Project 1 – creating combinational logic
- Summary
- Questions
- Further reading
- Chapter 3: Counting Button Presses
- Chapter 4: Let's Build a Calculator
- Chapter 5: FPGA Resources and How to Use Them
-
Chapter 6: Math, Parallelism, and Pipelined Design
- Technical requirements
- Introduction to fixed-point numbers
- Project 7 – Using fixed-point arithmetic in our temperature sensor
- Project 8 – Updating the temperature sensor project to a pipelined floating-point implementation
- Parallel designs
- Summary
- Questions
- Further reading
- Section 3: Interfacing with External Components
- Chapter 7: Introduction to AXI
- Chapter 8: Lots of Data? MIG and DDR2
- Chapter 9: A Better Way to Display – VGA
- Chapter 10: Bringing It All Together
- Chapter 11: Advanced Topics
- Other Books You May Enjoy
Product information
- Title: FPGA Programming for Beginners
- Author(s):
- Release date: March 2021
- Publisher(s): Packt Publishing
- ISBN: 9781789805413
You might also like
book
Getting Started with FPGAs
Whether you have been toying with field programmable gate arrays (FPGAs) for years or are completely …
video
Getting Started with FPGAs
This is an entry level course for computer engineering professionals, dedicated makers, and advanced hobbyists wanting …
video
Embedded Systems Object-Oriented Programming in C and C++
This Embedded Systems Object-Oriented Programming course will help you develop the skills you need to be …
book
Hands-On Embedded Programming with C++17
Build safety-critical and memory-safe stand-alone and networked embedded systems Key Features Know how C++ works and …