Book description
Design a high-speed SoC while gaining a holistic view of the FPGA design flow and overcoming its challenges.
Purchase of the print or kindle book includes a free eBook in the PDF format.
Key Features
- Use development tools to implement and verify an SoC, including ARM CPUs and the FPGA logic
- Overcome the challenge of time to market by using FPGA SoCs and avoid the prohibitive ASIC NRE cost
- Understand the integration of custom logic accelerators and the SoC software and build them
Book Description
Modern and complex SoCs can adapt to many demanding system requirements by combining the processing power of ARM processors and the feature-rich Xilinx FPGAs. You'll need to understand many protocols, use a variety of internal and external interfaces, pinpoint the bottlenecks, and define the architecture of an SoC in an FPGA to produce a superior solution in a timely and cost-efficient manner.
This book adopts a practical approach to helping you master both the hardware and software design flows, understand key interconnects and interfaces, analyze the system performance and enhance it using the acceleration techniques, and finally build an RTOS-based software application for an advanced SoC design.
You'll start with an introduction to the FPGA SoCs technology fundamentals and their associated development design tools. Gradually, the book will guide you through building the SoC hardware and software, starting from the architecture definition to testing on a demo board or a virtual platform. The level of complexity evolves as the book progresses and covers advanced applications such as communications, security, and coherent hardware acceleration.
By the end of this book, you'll have learned the concepts underlying FPGA SoCs' advanced features and you'll have constructed a high-speed SoC targeting a high-end FPGA from the ground up.
What you will learn
- Understand SoC FPGAs' main features, advanced buses and interface protocols
- Develop and verify an SoC hardware platform targeting an FPGA-based SoC
- Explore and use the main tools for building the SoC hardware and software
- Build advanced SoCs using hardware acceleration with custom IPs
- Implement an OS-based software application targeting an FPGA-based SoC
- Understand the hardware and software integration techniques for SoC FPGAs
- Use tools to co-debug the SoC software and hardware
- Gain insights into communication and DSP principles in FPGA-based SoCs
Who this book is for
This book is for FPGA and ASIC hardware and firmware developers, IoT engineers, SoC architects, and anyone interested in understanding the process of developing a complex SoC, including all aspects of the hardware design and the associated firmware design. Prior knowledge of digital electronics, and some experience of coding in VHDL or Verilog and C or a similar language suitable for embedded systems will be required for using this book. A general understanding of FPGA and CPU architecture will also be helpful but not mandatory.
Publisher resources
Table of contents
- Architecting and Building High-Speed SoCs
- Contributors
- About the author
- About the reviewer
- Preface
- Part 1: Fundamentals and the Main Features of High-Speed SoC and FPGA Designs
-
Chapter 1: Introducing FPGA Devices and SoCs
- Xilinx FPGA devices overview
- Xilinx SoC overview and history
- Xilinx Zynq-7000 SoC family hardware features
-
Xilinx Zynq Ultrascale+ MPSoC family overview
- Zynq UltraScale+ MPSoC APU
- Zynq UltraScale+ MPSoC RPU
- Zynq UltraScale+ MPSoC GPU
- Zynq UltraScale+ MPSoC VCU
- Zynq UltraScale+ MPSoC PMU
- Zynq UltraScale+ MPSoC DMA channels
- Zynq UltraScale+ MPSoC memory interfaces
- Zynq-UltraScale+ MPSoC IOs
- Zynq UltraScale+ MPSoC IOP block
- Zynq-UltraScale+ MPSoC interconnect
- SoC in ASIC technologies
- Summary
- Questions
- Chapter 2: FPGA Devices and SoC Design Tools
- Chapter 3: Basic and Advanced On-Chip Busses and Interconnects
- Chapter 4: Connecting High-Speed Devices Using Buses and Interconnects
- Chapter 5: Basic and Advanced SoC Interfaces
- Part 2: Implementing High-Speed SoC Designs in an FPGA
- Chapter 6: What Goes Where in a High-Speed SoC Design
-
Chapter 7: FPGA SoC Hardware Design and Verification Flow
- Technical requirements
- Installing the Vivado tools on a Linux VM
- Developing the SoC hardware microarchitecture
- Design capture of an FPGA SoC hardware subsystem
-
Understanding the design constraints and PPA
- What is the PPA?
- Synthesis tool parameters affecting the PPA
- Specifying the synthesis options for the ETS SoC design
- Implementation tool parameters affecting the PPA
- Specifying the implementation options for the ETS SoC design
- Specifying the implementation constraints for the ETS SoC design
- SoC hardware subsystem integration into the FPGA top-level design
- Verifying the FPGA SoC design using RTL simulation
- Implementing the FPGA SoC design and FPGA hardware image generation
- Summary
- Questions
-
Chapter 8: FPGA SoC Software Design Flow
- Technical requirements
- Major steps of the SoC software design flow
- Setting up the BSP, boot software, drivers, and libraries for the software project
-
Defining the distributed software microarchitecture for the ETS SoC processors
- A simplified view of the ETS SoC hardware microarchitecture
- A summary of the data exchange mechanisms for the ETS SoC Cortex-A9 and the MicroBlaze IPC
- The ETMP protocol overview
- The ETS SoC system address map
- The Ethernet MAC and its DMA engine software control mechanisms
- The AXI INTC software control mechanisms
- Quantitative analysis and system performance estimation
- The ETS SoC Cortex-A9 software microarchitecture
- The ETS SoC MicroBlaze PP software microarchitecture
- Building the user software applications to initialize and test the SoC hardware
- Summary
- Questions
-
Chapter 9: SoC Design Hardware and Software Integration
- Technical requirements
- Connecting to an FPGA SoC board and configuring the FPGA
- The emulation platform for running the embedded software
- Using QEMU in the Vitis IDE with the ETS SoC project
- Using the emulation platform for debugging the SoC test software
- Embedded software profiling using the Vitis IDE
- Summary
- Questions
- Part 3: Implementation and Integration of Advanced High-Speed FPGA SoCs
- Chapter 10: Building a Complex SoC Hardware Targeting an FPGA
- Chapter 11: Addressing the Security Aspects of an FPGA-Based SoC
- Chapter 12: Building a Complex Software with an Embedded Operating System Flow
- Chapter 13: Video, Image, and DSP Processing Principles in an FPGA and SoCs
- Chapter 14: Communication and Control Systems Implementation in FPGAs and SoCs
- Index
- Other Books You May Enjoy
Product information
- Title: Architecting and Building High-Speed SoCs
- Author(s):
- Release date: December 2022
- Publisher(s): Packt Publishing
- ISBN: 9781801810999
You might also like
video
React - The Complete Guide (Includes Hooks, React Router, and Redux) - Second Edition
**This course is now updated for the latest version of React—React 18** React.js is the most …
video
Angular - The Complete Guide [2023 Edition]
Learn all the fundamentals you need to know in order to get started developing Angular applications …
video
C++20 Fundamentals
Sneak Peek The Sneak Peek program provides early access to Pearson video products and is exclusively …
video
Python Fundamentals
45+ hours of video instruction. Overview The professional programmer’s Deitel® video guide to Python development with …