Embedded Systems Design with Platform FPGAs: Principles and Practices
This book will introduce professional engineers and students alike to system development using Platform FPGAs. The focus is on embedded systems but it also serves as a general guide to building custom computing systems. The text describes the fundamental technology in terms of hardware, software, and a set of principles to guide the development of Platform FPGA systems. The goal is to show how to systematically and creatively apply these principles to the construction of application-specific embedded system architectures. There is a strong focus on using free and open source software to increase productivity.
The organization of each chapter in the book includes two parts. The white pages describe concepts, principles, and general knowledge. The gray pages include a technical rendition of the main issues of the chapter and show the concepts applied in practice. This includes step-by-step details for a specific development board and tool chain so that the reader can carry out the same steps on their own. Rather than try to demonstrate the concepts on a broad set of tools and boards, the text uses a single set of tools (Xilinx Platform Studio, Linux, and GNU) throughout and uses a single developer board (Xilinx ML-510) for the examples.
- Explains how to use the Platform FPGA to meet complex design requirements and improve product performance
- Presents both fundamental concepts together with pragmatic, step-by-step instructions for building a system on a Platform FPGA
- Includes detailed case studies, extended real-world examples, and lab exercises
Why Read This Book
You should read this book if you want a practical, system-level guide to building embedded systems on platform FPGAs — it walks through FPGA architecture, HW/SW partitioning, and concrete design flows. It balances concepts and hands-on examples so you can translate architectural principles into working FPGA-based embedded systems.
Who Will Benefit
Embedded engineers or advanced students who design FPGA-based systems and need to integrate processors, peripherals, memory and software to create complete embedded platforms.
Level: Intermediate — Prerequisites: Basic digital logic and computer architecture concepts, familiarity with C programming; prior exposure to HDL (VHDL/Verilog) and embedded toolchains is helpful but not strictly required.
Key Takeaways
- Design complete embedded systems using platform FPGAs by combining programmable fabric with processor cores and peripherals.
- Partition functionality between hardware and software and evaluate tradeoffs in performance, area, and power.
- Integrate soft/hard processors (e.g., MicroBlaze/PowerPC), memory subsystems, buses and peripherals into a cohesive system.
- Use practical FPGA toolflows and open-source software to build, debug and deploy embedded designs.
- Apply verification, debugging and performance-analysis techniques specific to platform FPGA systems.
Topics Covered
- Introduction to Platform FPGAs and System-Level Design
- FPGA Fabric and Technology Overview
- Soft and Hard Processor Cores for FPGAs (e.g., MicroBlaze, PowerPC)
- Buses, Interconnects, and Peripheral Interfaces
- Memory Systems, Caches and DMA
- Hardware/Software Co-Design Principles and Partitioning
- Design Flow and Toolchains (ISE/EDK, GNU toolchain, open-source tools)
- Peripheral Design and I/O Integration
- System Integration, Debugging and Verification
- Performance, Power and Cost Tradeoffs
- Case Studies and Example Platform Designs
- Appendices and Lab-Oriented Technical Notes
Languages, Platforms & Tools
How It Compares
Compared to Pong P. Chu's FPGA prototyping books (which focus on HDL and building blocks), Sass's book is more system- and platform-oriented, emphasizing HW/SW partitioning and building complete embedded platforms rather than low-level HDL coding.













