CONTENTS

FOREWORD

PREFACE

ACRONYMS

TRADEMARKS AND PROPRIETARY NAMES

1.   System Implementation Strategies

1.1   The FPGA Paradigm

1.2   Design and Implementation Using FPGAs

1.3   Implementation Styles

1.3.1   Era of Early Logic Families

1.3.2   Era of LSI and VLSI Components

1.3.3   Era of ASICs

1.3.4   Era of Programmable Logic

1.4   Design Styles

1.4.1   The Software Paradigm

1.4.2   The Hardware Paradigm

1.4.3   The Configurable Hardware Paradigm

1.5   Design Methodologies

1.5.1   Describing a Design

1.5.2   Hierarchical Design

1.5.3   Technology-independent Design

1.5.4   The Mead–Conway Design Method

1.5.5   Temporal Design

1.5.6   Pipelined

1.5.7   Unsynchronized

2.   REVIEW OF LOGIC DESIGN AND ELECTRICAL ASPECTS

2.1   Combinational Circuit Design

2.1.1   Boolean Algebra

2.1.2   Multiplexers and Boolean Function Evaluation

2.2   Sequential Circuits

2.2.1   Latches and Flip-Flops

2.3   State Machines

2.3.1   Encoded State Machines

2.3.2   “One-hot” State Machines

2.4   Petri Nets for State Machines*

2.4.1   Basic Concepts

2.4.2   Basic Properties

2.4.3   Extended Petri Nets for Parallel Controllers

2.4.4   Simple Example—A Traffic Light Controller

2.4.5   Implementation of Petri Net Description

2.5   Electrical Aspects

2.5.1   Complementary MOS Circuits

2.5.2   Voltage Levels and Loading

2.5.3   Three-state Outputs

2.5.4   Signal Propagation in CMOS

2.5.5   Electrostatic Precautions and ESD Protection

2.5.6   Switch Debouncing

2.5.7   Power Supply Regulation

2.5.8   Metastability Characteristics

3.   INTRODUCTION TO FPGA ARCHITECTURE

3.1   Background to the FPGA Concept

3.1.1   History

3.2   Channel-type Field-programmable Gate Arrays

3.2.1   Distinguishing Architectural Features

3.2.2   Scaling with Technology Improvements

3.2.3   The Xilinx 3000 Series

3.2.4   The Actel ACT 2 Family

3.3   Structured Programmable Array Logic

3.3.1   The Altera EP1810

3.4   Computational Logic Arrays

3.4.1   The Algotronix CAL 1024

3.5   VLSI Primitives

3.5.1   Function Units

3.5.2   Wide Gates and Long Lines

3.5.3   Switches and Switch Boxes

3.5.4   Multiplexers

3.5.5   Input–Output Pad Design

3.6   Programming

3.6.1   Technology

3.6.2   Issues

3.7   Benchmarking

3.7.1   Utilization

3.7.2   Gate Equivalents

3.7.3   RAM- and Area-based Benchmarks

3.7.4   Benchmarking and Dynamic Reconfiguration

3.7.5   The PREP Benchmarks

3.7.6   Summary and Health Warning

3.8   Historical Background

3.8.1   Early Work

3.8.2   PALs and Structured PALs

3.8.3   FPGAs

3.8.4   Computational Arrays

3.8.5   VLSI Primitives and Programming

3.8.6   Benchmarking

4.   DESIGN PROCESS FLOWS AND SOFTWARE TOOLS

4.1   The Software Toolbox

4.1.1   Design Capture

4.1.2   Tools for Design Validation

4.1.3   Tools for Physical Design

4.2   The FPGA Design Dichotomy

4.3   Design Process Flow

4.3.1   Conceptual Design of Display Driver

4.3.2   Design Verification of Display Driver

4.3.3   Physical Design of Display Driver

4.4   Design Process Flow: The Application-specific Integrated Circuit Route

4.4.1   Conceptual Design of Stopwatch

4.4.2   Design Verification of Stopwatch

4.4.3   Physical Design of Stopwatch

4.5   Libraries and Design Idioms

4.5.1   Parameterized Libraries

4.6   Placement, Routing, and Wireability

4.6.1   Rent’s Rule and Package Pin-outs

4.6.2   Rent’s Rule and Wireability

4.6.3   Partitioning Designs within and across Chips

5.   CASE STUDIES

5.1   Combinational Circuits

5.1.1   Parallel Adder Cell

5.1.2   Parallel Adder

5.2   Sequential Circuits

5.2.1   Decade Counter

5.3   Pseudorandom Number Generation

5.4   Random Testing

5.4.1   Signature Analyzer

5.4.2   State Machine

5.5   Systolic Sorter*

5.6   Multipliers

5.6.1   Parallel Multipliers

5.6.2   Serial Multiplier with Parallel Addition

5.7   A Parallel Controller Design*

5.7.1   Operation of Part of the Petri Net Controller

5.7.2   Characteristics of the Design Technique

5.7.3   Implementation on XC3090

5.7.4   Conclusions

6.   COMPUTATIONAL APPLICATIONS

6.1   The State of the Art

6.2   Architecture of the CHS2×4

6.2.1   Hardware Architecture

6.3   DES Encryption

6.3.1   The DES Process

6.3.2   Implementation of DES

6.3.3    Pipelining

6.3.4    Performance

6.4    Self-timed First-In First-Out Buffer

6.4.1    STEP Elements

6.4.2    CAL Implementation

6.4.3    Filling the Self-timed FIFO

6.4.4    Designing in CAL

6.4.5    A Full-custom Self-timed FIFO

6.4.6    Conclusions

6.5    Self-timed Genetic String Distance Evaluation

6.5.1    String Comparison

6.5.2    Genetic Sequence Comparison

6.5.3    Dynamic Programming Algorithm

6.5.4    Implementation Considerations

6.5.5    Performance Evaluation

6.5.6    The Self-timed Implementation

6.6    Cellular Automaton

6.6.1    The Model

6.6.2    Architecture

6.6.3    Comparison with Previous Systems

6.6.4    Conclusion

6.7    Place-and-Route Acceleration

6.7.1    The Global Routing Algorithm

6.7.2    Hardware Architecture

6.7.3    CAL Layout

6.7.4    Software

6.7.5    Performance

6.8    A Field-Programmable Gate Array for Systolic Computing

6.8.1    Introduction

6.8.2    CLi6000 Architecture

6.8.3    Motion Estimation

6.8.4    Algorithm Overview

6.8.5    Processing Elements

6.8.6    Absolute-difference Module and Accumulator

6.8.7    Processing-element Layout

6.8.8    Technology Comparisons

6.8.9    Conclusions

7.   BUSINESS DEVELOPMENT

7.1   Technology Push or Market Pull?

7.2   The Pioneers

7.3   FPGA Market and Start-up Companies

7.3.1   Rapid Prototyping

7.3.2   Logic Replacement

7.3.3   Arrays of FPGA Chips

7.3.4   Dynamic Reconfiguration

7.3.5   Do You Need a Fabrication Facility?

7.4   The MPGA as an Alternative to the FPGA for Low-volume Production

7.5   Intellectual Property

7.5.1   Patents

7.5.2   Copyrights

7.5.3   The Semiconductor Chip Protection Act of 1984

7.5.4   Trade Secrets

7.5.5   Reverse Engineering

7.6   Sources for Capital

7.6.1   Small Business Innovation Research

7.6.2   Small Business Technology Transfer Program

8.   RECENT DEVELOPMENTS

8.1   Introduction

8.2   New Architectures

8.2.1   Altera FLEX

8.2.2   Pilkington (Motorola/Plessey/Toshiba)

8.2.3   Xilinx XC4000 Family

8.3   Field-programmable Interconnect

8.3.1   Aptix Field-programmable Interconnect

8.3.2   I-Cube IQ160 Description

8.4   Configurable Logic Arrays and Prototyping Boards

8.4.1   The XESS RIPP Board

8.5   CAD Support

8.5.1   NeoCAD Foundry

8.6   Future Outlook

AFTERWORD

GLOSSARY

INDEX

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.118.250