Hardware Design with FPGA: Table of Contents

Hardware Design with FPGA

Table of Contents

1 Introduction

  • 1.1 Circuit Design ...................................................................................................10
  • 1.2 Structure of Field Programmable Gate Arrays........................................................11

2 Digital Systems

  • 2.1 Flip-Flops and Registers ............................................................................................18
  • 2.2 Memory Blocks.......................................................................................................22
  • 2.3 Truth Tables...........................................................................................................23
  • 2.4 Multiplexers.............................................................................................................25
  • 2.5 Logic Blocks............................................................................................................26
  • 2.6 Input/Output Blocks..............................................................................................27
  • 2.7 Clock Generation and PLLs.......................................................................................29

3 Digital Circuit Technology

  • 3.1 Combinational Circuits.............................................................................................31
  • 3.2 Synchronous Circuits................................................................................................32
  • 3.3 Asynchronous Circuits.............................................................................................33
  • 3.4 Circuit Effects.........................................................................................................34
    • 3.4.1 Metastabilities................................................................................................35
    • 3.4.2 Signal Pulses and Delays...................................................................................36
    • 3.4.3 Hold Time Violation.........................................................................................38
    • 3.4.4 Switched Clock..................................................................................................40
    • 3.4.5 Combinational Loops........................................................................................41
    • 3.4.6 Race Condition in the Circuit............................................................................42
  • 3.5 Simulation Effects....................................................................................................43
    • 3.5.1 Race Condition in Simulation...........................................................................43
    • 3.5.2 Signal Level......................................................................................................44
    • 3.5.3 Clock Ratios.....................................................................................................44
    • 3.5.4 Analog Circuit Components.............................................................................44
    • 3.5.5 Memory Components.......................................................................................45
  • 3.6 FPGA Circuit Design..................................................................................................45
    • 3.6.1 Clock Domains and Transitions..........................................................................46
    • 3.6.2 Handshake Signals............................................................................................50
    • 3.6.3 Synchronization Stages.....................................................................................51
    • 3.6.4 Data Exchange..................................................................................................53
    • 3.6.5 Maximum Clock Frequency...............................................................................54
    • 3.6.6 Circuit Reset.....................................................................................................56
    • 3.6.7 Use of Latches..................................................................................................58
    • 3.6.8 Internal Signal Buses........................................................................................59

4 Circuit Development

  • 4.1 Development Steps..................................................................................................65
  • 4.2 Specification and Circuit Documentation..................................................................68
  • 4.3 HDL Description.....................................................................................................70
    • 4.3.1 Behavioral Description...................................................................................71
    • 4.3.2 Synthesis Description....................................................................................73
    • 4.3.3 Differences from Software Programming.........................................................75
    • 4.3.4 HDL Description Languages............................................................................76
      • 4.3.4.1 VHDL Description..................................................................................77
        • 4.3.4.1.1 VHDL Algorithms for Logic Elements...............................................81
        • 4.3.4.1.2 VHDL Algorithms for Other Elements...............................................88
        • 4.3.4.1.3 VHDL Coding Errors......................................................................96
      • 4.3.4.2 Verilog Description.................................................................................97
        • 4.3.4.2.1 Verilog Algorithms for Logic Elements............................................101
        • 4.3.4.2.2 Verilog Algorithms for Other Elements............................................106
        • 4.3.4.2.3 Verilog Coding Errors...................................................................111
      • 4.3.4.3 SystemC and Other Description Languages..........................................113
    • 4.3.5 Software Tools..............................................................................................115
  • 4.4 Simulation and Verification.................................................................................118
    • 4.4.1 Verification Plan............................................................................................121
    • 4.4.2 Functional Verification................................................................................122
    • 4.4.3 Regression Test...............................................................................................125
    • 4.4.4 Test Environment................................................................................................125
    • 4.4.5 Assertions................................................................................................................132
    • 4.4.6 Transactions.................................................................................................141
    • 4.4.7 Test Cases and Test Coverage..........................................................................141
    • 4.4.8 Software Tools.........................................................................................................143
  • 4.5 Synthesis and Implementation............................................................................146
    • 4.5.1 Circuit Hierarchies.....................................................................................152
    • 4.5.2 Clock Frequencies and Ranges........................................................................155
    • 4.5.3 Pin Assignment..................................................................................................157
    • 4.5.4 Timing Verification.......................................................................................158
    • 4.5.5 Software Tools..................................................................................................159
  • 4.6 Further Topics.......................................................................................................160

5 FPGA Building Blocks

  • 5.1 Actel FPGAs........................................................................................................165
    • 5.1.1 Libero IDE.....................................................................................................168
    • 5.1.2 IGLOO-nano Evaluation Kit........................................................................170
  • 5.2 Altera FPGAs.......................................................................................................172
    • 5.2.1 Quartus-II Development Environment................................................................176
    • 5.2.2 Cyclone-II Evaluation Kit............................................................................178
  • 5.3 Xilinx FPGAs.......................................................................................................180
    • 5.3.1 ISE Development Environment..........................................................................185
    • 5.3.2 Spartan-3 Evaluation Kit..............................................................................188
  • 5.4 Other FPGA Manufacturers.....................................................................................191
  • 5.5 Differentiation from ASIC, ASSP, and Structured ASIC..............................................193

6 IP Core Components

  • 6.1 FPGA Manufacturers...................................................................................................199
  • 6.2 Third-Party Providers................................................................................................203
  • 6.3 OpenCores............................................................................................................204
  • 6.4 Processors..........................................................................................................205

7 Design Example: DDS Frequency Generator

  • 7.1 MATLAB/Simulink Simulation...........................................................................212
  • 7.2 Software Program for Processors....................................................................223
  • 7.3 Circuit Design for FPGA...............................................................................230
  • 7.4 Simulation and Test Environment.............................................................................237
  • 7.5 Synthesis...............................................................................................................246
  • 7.6 Implementation..................................................................................................247
  • 7.7 Realization with Actel FPGA...............................................................................249
  • 7.8 Summary................................................................................................................250

8 References and Links

9 Further Links

10 Glossary

PDF preview unavailable. Download the PDF instead.

Inhalt-Hardware-Design-mit-FPGA ScanSoft PDF Converter Professional 3

Related Documents

Preview From 0 and 1 to FPGA: A Comprehensive Guide to Digital Logic and FPGA Design
This document provides a detailed exploration of digital logic and Field-Programmable Gate Arrays (FPGAs), covering fundamental concepts like Boolean algebra, number systems, logic gates, combinational and sequential circuits, memory elements, logic families, hardware description languages (Verilog and VHDL), and practical design methodologies using tools like Quartus. It serves as a comprehensive guide for understanding and implementing digital electronic systems.
Preview Mastering FPGA Chip Design: For Speed, Area, Power, and Reliability
A comprehensive guide to mastering FPGA chip design, covering topics from digital logic design and history of computer chips to advanced concepts like timing closure, placement, floorplanning, and design for reliability. The book includes practical examples and explanations for Verilog and VHDL.
Preview The Book of 555 Timer Projects: Over 45 Builds for the Legendary 555 Chip
Explore the versatility of the 555 timer IC with 'The Book of 555 Timer Projects'. This comprehensive guide features over 45 practical builds, covering astable, monostable, and bistable circuits, as well as projects utilizing the 556 and 558 timer ICs and the CMOS version. Projects range from simple LED flashers and sensors to more complex electronic organs and traffic light controllers.
Preview Inside an Open-Source Processor: An Introduction to RISC-V
A comprehensive guide introducing the RISC-V open-source processor architecture, covering instruction sets, privileged architecture, design, and implementation. Features detailed explanations of RISC-V ISA extensions, control registers, and hardware implementation aspects.
Preview Electronics for Beginners: Simple, Instructive, Fun, and Solderless Projects
A comprehensive guide for beginners in electronics, covering essential components, circuit building, and practical projects. This revised and expanded edition offers over 350 pages of content, including identification of components, understanding schematics, and basic electronic principles.
Preview FPGA Programming and Hardware Essentials: Kick off with MAX1000 and VHDPlus
A comprehensive guide to FPGA programming and hardware essentials, focusing on the MAX1000 board and VHDPlus development environment. Covers VHDL, Python, various projects, and essential hardware concepts for electronics designers and enthusiasts.
Preview Digital Systems with FPGAs: Table of Contents
Table of contents for a book detailing digital systems development with FPGAs, covering digital technology fundamentals, VHDL, digital system components, RTL-level hardware description, and FPGA architecture.
Preview Unraveling the Mysteries of Electronics: A Comprehensive Guide by Robert Lacoste
Explore fundamental and advanced electronics topics with Robert Lacoste's comprehensive guide. Covers impedance, digital signal processing, RF circuits, component analysis, and more, presented by Elektor.