Embedded Systems Design with Platform FPGAs book cover

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.

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

Hardbound, 408 Pages

Published: July 2010

Imprint: Morgan Kaufmann

ISBN: 978-0-12-374333-6


  • 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


advert image