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.

Key Features

  • 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


Embedded Software, Hardware and Systems Engineers, Designers, Developers and Architects, Field Application Engineers, Digital Designers, Upper-level Undergraduate and Graduate Students in Electrical & Computer Engineering

Table of Contents

Chapter 1: Introduction
1.1 Embedded Systems
1.2 Design Challenges
1.3 Platform FPGAs
1.A Spectrometer Example
1.B Introducing the Platform FPGA Tool Chain

Chapter 2: The Target
2.1 CMOS Transistor
2.2 Programmable Logic Devices
2.3 Field-Programmable Gate Array
2.4 Hardware Description Languages
2.5 From HDL to Configuration Bit stream
2.A Xilinx Virtex 5
2.B Xilinx Integrated Software Environment

Chapter 3: System Design
3.1 Principles of System Design
3.2 Control Flow Graph
3.3 Hardware Design
3.4 Software Design

Chapter 4: Partitioning
4.1 Overview of Partitioning Problem
4.2 Analytical Solution to Partitioning
4.3 Communication
4.4 Practical Issues
4.A Profiling with Gprof
4.B Linux Kernel

Chapter 5: Spatial Design
5.1 Principles of Parallelism
5.2 Identifying Parallelism
5.3 Spatial Parallelism with Platform FPGAs
5.A Useful VHDL Topics for Spatial Design
5.B Debugging Platform FPGA Designs

Chapter 6: Managing Bandwidth
6.1 Balancing Bandwidth
6.2 Platform FPGA Bandwidth Techniques
6.3 Scalable Designs

Chapter 7: Outside World
7.1 Point-to-Point Communication
7.2 Inter-Networking Communication


No. of pages:
© 2010
Morgan Kaufmann
Print ISBN:
Electronic ISBN:


Intel Recommended Reading List for Developers, 1st Half 2013 – Books for Embedded Developers, Intel
Intel Recommended Reading List for Developers, 2nd Half 2013 – Books for Embedded Developers, Intel
Intel Recommended Reading List for Developers, 1st Half 2014 – Books for Embedded Developers, Intel