You are previewing Rapid System Prototyping with FPGAs.
O'Reilly logo
Rapid System Prototyping with FPGAs

Book Description

The push to move products to market as quickly and cheaply as possible is fiercer than ever, and accordingly, engineers are always looking for new ways to provide their companies with the edge over the competition. Field-Programmable Gate Arrays (FPGAs), which are faster, denser, and more cost-effective than traditional programmable logic devices (PLDs), are quickly becoming one of the most widespread tools that embedded engineers can utilize in order to gain that needed edge. FPGAs are especially popular for prototyping designs, due to their superior speed and efficiency.

This book hones in on that rapid prototyping aspect of FPGA use, showing designers exactly how they can cut time off production cycles and save their companies money drained by costly mistakes, via prototyping designs with FPGAs first. Reading it will take a designer with a basic knowledge of implementing FPGAs to the “next-level” of FPGA use because unlike broad beginner books on FPGAs, this book presents the required design skills in a focused, practical, example-oriented manner.

*In-the-trenches expert authors assure the most applicable advice to practicing engineers

*Dual focus on successfully making critical decisions and avoiding common pitfalls appeals to engineers pressured for speed and perfection

*Hardware and software are both covered, in order to address the growing trend toward "cross-pollination" of engineering expertise

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Acknowledgments
  7. About the Authors
  8. Chapter 1: Introduction
    1. 1.1 FPGA Rapid Design Implementation Potential
    2. 1.2 Rapidly Evolving Technology Field
    3. 1.3 Design Skill Set Crossover
    4. 1.4 Hardware Knowledge for Software/Firmware Designers
    5. 1.5 Software Knowledge for Hardware Designers
    6. 1.6 When FPGA Technology May Not Be an Ideal Fit
    7. 1.7 When FPGAs Technology May Be Appropriate
    8. 1.8 Summary
  9. Chapter 2: FPGA Fundamentals
    1. 2.1 Overview
    2. 2.2 SRAM-Based FPGA Architecture
    3. 2.3 Advanced FPGA Features
    4. 2.4 Summary
  10. Chapter 3: Optimizing the Development Cycle
    1. 3.1 Overview
    2. 3.2 FPGA Design Flow
    3. 3.3 Summary
  11. Chapter 4: System Engineering
    1. 4.1 Overview
    2. 4.2 Common Design Challenges and Mistakes
    3. 4.3 Defined FPGA Design Process
    4. 4.4 Project Engineering and Management
    5. 4.5 Training
    6. 4.6 Support
    7. 4.7 Design Configuration Management
    8. 4.8 Summary
  12. Chapter 5: FPGA Device-Level Design Decisions
    1. 5.1 Overview
    2. 5.2 FPGA Selection Categories
    3. 5.3 Design Decisions
    4. 5.4 Device Selection Checklist
    5. 5.5 Summary
  13. Chapter 6: Board-Level Design Decisions and Allocation
    1. 6.1 Overview
    2. 6.2 Packaging
    3. 6.3 BGA Component Considerations
    4. 6.4 I/O Assignment Iteration
    5. 6.5 FPGA Device Schematic Symbol Generation
    6. 6.6 Thermal
    7. 6.7 Board Layout
    8. 6.8 Signal Integrity
    9. 6.9 Power
    10. 6.10 Summary
  14. Chapter 7: Design Implementation
    1. 7.1 Overview
    2. 7.2 Design Architecture
    3. 7.3 Design Entry
    4. 7.4 RTL
    5. 7.5 Synthesis
    6. 7.6 Place and Route
    7. 7.7 Summary
  15. Chapter 8: Design Simulation
    1. 8.1 Overview
    2. 8.2 Stages of Simulation
    3. 8.3 Types of Simulation Files
    4. 8.4 How Much Simulation?
    5. 8.5 Hierarchical Design and Simulation
    6. 8.6 Common Simulation Mistakes and Tips
    7. 8.7 Summary
  16. Chapter 9: Design Constraints and Optimization
    1. 9.1 Overview
    2. 9.2 Design Constraint Management
    3. 9.3 Design Optimization
    4. 9.4 Summary
  17. Chapter 10: Configuration
    1. 10.1 Overview
    2. 10.2 On-Board Device Configuration
    3. 10.3 Configuration Cable Interface
    4. 10.4 JTAG Standard
    5. 10.5 Design Security
    6. 10.6 Summary
  18. Chapter 11: Board-Level Testing
    1. 11.1 Overview
    2. 11.2 Design Debug Checklist
    3. 11.3 Summary
  19. Chapter 12: Advanced Topics Introduction
    1. 12.1 Overview
    2. 12.2 Reduced Power Consumption
    3. 12.3 Volume Production Options
    4. 12.4 Summary
  20. Chapter 13: Cores and Intellectual Property
    1. 13.1 Overview
    2. 13.2 Types of IP
    3. 13.3 Categories of IP
    4. 13.4 Trade Studies
    5. 13.5 Make versus Buy?
    6. 13.6 IP Implementation/Tools
    7. 13.7 IP Testing/Debug
    8. 13.8 Summary
  21. Chapter 14: Embedded Processing Cores
    1. 14.1 Overview
    2. 14.2 FPGA Embedded Processor Types
    3. 14.3 FPGA Processor Use Considerations
    4. 14.4 System Design Considerations
    5. 14.5 FPGA Embedded Processor Concept Example
    6. 14.6 FPGA Embedded Processor Design Checklist
    7. 14.7 Summary
  22. Chapter 15: Digital Signal Processing
    1. 15.1 Overview
    2. 15.2 Basic DSP System
    3. 15.3 Essential DSP Terms
    4. 15.4 DSP Architectures
    5. 15.5 Parallel Execution in DSP Components
    6. 15.6 Parallel Execution in FPGA
    7. 15.7 When to Use FPGAs for DSP
    8. 15.8 FPGA DSP Design Considerations
    9. 15.9 FIR Filter Concept Example
    10. 15.10 Summary
  23. Chapter 16: Advanced Interconnect
    1. 16.1 Overview
    2. 16.2 Interconnection Categories
    3. 16.3 Advanced I/O Interface Challenges
    4. 16.4 Implementing an Advanced Parallel I/O Interface
    5. 16.5 Implementing an Advanced Serial I/O Interface
    6. 16.6 Summary
  24. Chapter 17: Bringing It All Together
    1. 17.1 System Overview
    2. 17.2 Requirements Phase
    3. 17.3 Architectural Phase
    4. 17.4 Implementation Phase
    5. 17.5 Verification Phase
    6. 17.6 Prototype Delivery
    7. 17.7 Summary
  25. Appendix A: Rapid System Prototyping Technical References
  26. Appendix B: Design Phases
  27. Abbreviations and Acronyms
  28. Index