Embedded Systems Design with Platform FPGAs introduces 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. Each chapter is organized into two parts. The white pages describe concepts, principles, and general knowledge. The gray pages provide 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
Chapter 1: Introduction1.1 Embedded Systems1.2 Design Challenges1.3 Platform FPGAs1.A Spectrometer Example1.B Introducing the Platform FPGA Tool Chain
Chapter 2: The Target2.1 CMOS Transistor2.2 Programmable Logic Devices2.3 Field-Programmable Gate Array2.4 Hardware Description Languages2.5 From HDL to Configuration Bit stream2.A Xilinx Virtex 52.B Xilinx Integrated Software Environment
Chapter 3: System Design 3.1 Principles of System Design3.2 Control Flow Graph3.3 Hardware Design3.4 Software Design
Chapter 4: Partitioning4.1 Overview of Partitioning Problem4.2 Analytical Solution to Partitioning4.3 Communication4.4 Practical Issues4.A Profiling with Gprof4.B Linux Kernel
Chapter 5: Spatial Design5.1 Principles of Parallelism5.2 Identifying Parallelism5.3 Spatial Parallelism with Platform FPGAs5.A Useful VHDL Topics for Spatial Design5.B Debugging Platform FPGA Designs
Chapter 6: Managing Bandwidth6.1 Balancing Bandwidth6.2 Platform FPGA Bandwidth Techniques6.3 Scalable Designs
Chapter 7: Outside World7.1 Point-to-Point Communication7.2 Inter-Networking Communication
- Maxfield, Design Warrior's Guide to FPGAs, 0750676043, 542pp, Apr 2004, $49.95
- Cofer and Harding, Rapid System Prototyping with FPGAs, 0750678666, 320pp, Oct 2005, $49.95