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.

Table of Contents

  1. Architecting and Building High-Speed SoCs
  2. Contributors
  3. About the author
  4. About the reviewer
  5. Preface
  6. Part 1: Fundamentals and the Main Features of High-Speed SoC and FPGA Designs
  7. Chapter 1: Introducing FPGA Devices and SoCs
  8. Chapter 2: FPGA Devices and SoC Design Tools
  9. Chapter 3: Basic and Advanced On-Chip Busses and Interconnects
  10. Chapter 4: Connecting High-Speed Devices Using Buses and Interconnects
  11. Chapter 5: Basic and Advanced SoC Interfaces
  12. Part 2: Implementing High-Speed SoC Designs in an FPGA
  13. Chapter 6: What Goes Where in a High-Speed SoC Design
  14. Chapter 7: FPGA SoC Hardware Design and Verification Flow
  15. Chapter 8: FPGA SoC Software Design Flow
  16. Chapter 9: SoC Design Hardware and Software Integration
  17. Part 3: Implementation and Integration of Advanced High-Speed FPGA SoCs
  18. Chapter 10: Building a Complex SoC Hardware Targeting an FPGA
  19. Chapter 11: Addressing the Security Aspects of an FPGA-Based SoC
  20. Chapter 12: Building a Complex Software with an Embedded Operating System Flow
  21. Chapter 13: Video, Image, and DSP Processing Principles in an FPGA and SoCs
  22. Chapter 14: Communication and Control Systems Implementation in FPGAs and SoCs
  23. Index
  24. Other Books You May Enjoy