Field Programmable Gate Arrays (FPGAs) An Enabling Technology.

Slides:



Advertisements
Similar presentations
Field Programmable Gate Array
Advertisements

FPGA (Field Programmable Gate Array)
Lecture 15 Finite State Machine Implementation
Lecture 7 FPGA technology. 2 Implementation Platform Comparison.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Programmable Logic Devices
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
EECE579: Digital Design Flows
MICROELETTRONICA Design methodologies Lection 8. Design methodologies (general) Three domains –Behavior –Structural –physic Three levels inside –Architectural.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Evolution of implementation technologies
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Multiplexers, Decoders, and Programmable Logic Devices
February 4, 2002 John Wawrzynek
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
General FPGA Architecture Field Programmable Gate Array.
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
Figure to-1 Multiplexer and Switch Analog
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Storey: Electrical & Electronic Systems © Pearson Education Limited 2004 OHT 27.1 Implementing Digital Systems  Introduction  Semiconductor Memory 
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
FPGA and CADs Presented by Peng Du & Xiaojun Bao.
Memory and Programmable Logic
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
EET 252 Unit 4 Programmable Logic: SPLDs & CPLDs  Read Floyd, Sections 11-1 to  Study Unit 4 e-Lesson.  Do Lab #4.  Homework #4 and Lab #4 due.
EE4OI4 Engineering Design Programmable Logic Technology.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
PROGRAMMABLE LOGIC DEVICES (PLD)
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
J. Christiansen, CERN - EP/MIC
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
Basic Sequential Components CT101 – Computing Systems Organization.
Programmable Logic Devices
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
IC design options PLD (programmable logic device)
Survey of Reconfigurable Logic Technologies
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Field Programmable Gate Arrays
Introduction to ASICs ASIC - Application Specific Integrated Circuit
This chapter in the book includes: Objectives Study Guide
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
We will be studying the architecture of XC3000.
XC4000E Series Xilinx XC4000 Series Architecture 8/98
"Computer Design" by Sunggu Lee
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Presentation transcript:

Field Programmable Gate Arrays (FPGAs) An Enabling Technology

Introduction Field Programmable Gate Array or FPGA -a type of programmable device. Field Programmable Gate Array or FPGA -a type of programmable device. Programmable devices - a class of general-purpose chips that can be configured for a wide variety of applications (e.g. PROM- Programmable Read-Only Memory ) Programmable devices - a class of general-purpose chips that can be configured for a wide variety of applications (e.g. PROM- Programmable Read-Only Memory )

A gate array where the logic network can be programmed into the device after its manufacture. An FPGA consists of an array of logic elements, either gates or lookup table RAMs, flip-flops and programmable interconnect wiring. A gate array where the logic network can be programmed into the device after its manufacture. An FPGA consists of an array of logic elements, either gates or lookup table RAMs, flip-flops and programmable interconnect wiring. FPGAs are similar in principle to, but have vastly wider potential application than, programmable read- only memory (PROM) chips.

Two basic PROM versions: Two basic PROM versions: 1) Mask-Programmable Chip - programmed only by the manufacturer 1) Mask-Programmable Chip - programmed only by the manufacturer 2) Field-Programmable Chip - programmed by the end-user ; two types: the Erasable Programmable Read-Only Memory (EPROM) and the Electrically Erasable Programmable Read-Only Memory (EEPROM). 2) Field-Programmable Chip - programmed by the end-user ; two types: the Erasable Programmable Read-Only Memory (EPROM) and the Electrically Erasable Programmable Read-Only Memory (EEPROM).

Programmable Logic Device (PLD) - constructed to implement logic circuits; included an array AND gates connected to an array of OR gates. Programmable Logic Device (PLD) - constructed to implement logic circuits; included an array AND gates connected to an array of OR gates. Programmable Array Logic (PAL) - commonly used PLD consisting of a programmable AND-plane followed by a fixed OR-plane; come in both mask and field versions; for small logic circuits. Programmable Array Logic (PAL) - commonly used PLD consisting of a programmable AND-plane followed by a fixed OR-plane; come in both mask and field versions; for small logic circuits.

Mask-Programmable Gate Array (MPGA) - developed to handled larger logic circuits Mask-Programmable Gate Array (MPGA) - developed to handled larger logic circuits usually consists of rows of transistors that can be interconnected to implement desired logic circuits; usually consists of rows of transistors that can be interconnected to implement desired logic circuits; User specified connects are available both within the rows and between the rows which enable implementation of basic logic gates and the ability to interconnect the gates. User specified connects are available both within the rows and between the rows which enable implementation of basic logic gates and the ability to interconnect the gates.

Overview of the FPGA Four main categories of FPGAs commerically available: Four main categories of FPGAs commerically available: symmetrical array symmetrical array row-based row-based hierarchical PLD hierarchical PLD sea-of-gates (Figure 1). sea-of-gates (Figure 1). Currently used technologies: Currently used technologies: static RAM cells static RAM cells anti-fuse anti-fuse EPROM transistors, EPROM transistors, EEPROM transistors. EEPROM transistors.

Figure 1. Classes of FPGAs

Static RAM Technology --programmable connections are made using pass=transistors, transmission gates, or multiplexers that are controlled by SRAM cells; it allows fast in-circuit reconfiguration. Static RAM Technology --programmable connections are made using pass=transistors, transmission gates, or multiplexers that are controlled by SRAM cells; it allows fast in-circuit reconfiguration. Anti-Fuse Technology - resides in a high-impedance state; and can be programmed into low impedance or "fused" state; less expensive than the RAM technology, this device is a program once device. Anti-Fuse Technology - resides in a high-impedance state; and can be programmed into low impedance or "fused" state; less expensive than the RAM technology, this device is a program once device. EPROM / EEPROM Technology --same as used in the EPROM memories; it can be reprogrammed without external storage of configuration; EPROM transistors cannot be re-programmed in-circuit. EPROM / EEPROM Technology --same as used in the EPROM memories; it can be reprogrammed without external storage of configuration; EPROM transistors cannot be re-programmed in-circuit.

Fuse

Anti- fuse

Characteristics of FPGA technology

The following table shows some of the commercially available FPGAs

The SRAM based FPGA Field-Programmable Gate Arrays (FPGAs) : Field-Programmable Gate Arrays (FPGAs) : provide the benefits of custom CMOS VLSI, while avoiding the initial cost, time delay, and inherent risk of a conventional masked gate array. provide the benefits of custom CMOS VLSI, while avoiding the initial cost, time delay, and inherent risk of a conventional masked gate array. customized by loading configuration data into the internal memory cells. customized by loading configuration data into the internal memory cells. can either actively read its configuration data out of external serial or byte-parallel PROM (master mode), or the configuration data can be written into the FPGA (slave and peripheral mode). can either actively read its configuration data out of external serial or byte-parallel PROM (master mode), or the configuration data can be written into the FPGA (slave and peripheral mode). can be programmed an unlimited number of times and supports system clock rates of up to 50 MHz. can be programmed an unlimited number of times and supports system clock rates of up to 50 MHz.

FPGA Elements configurable logic blocks (CLBs) - provide the functional elements for constructing user's logic (Figure 2). configurable logic blocks (CLBs) - provide the functional elements for constructing user's logic (Figure 2). input/output blocks - provide the interface between the package pins and internal signal lines input/output blocks - provide the interface between the package pins and internal signal lines Interconnects - programmable interconnect resources provide routing paths to connect the inputs and outputs of the CLBs and IOBs onto the appropriate networks. Interconnects - programmable interconnect resources provide routing paths to connect the inputs and outputs of the CLBs and IOBs onto the appropriate networks. Customized configuration is established by programming internal static memory cells that determine the logic functions and internal connections implemented in the FPGA.

Figure 3. CLBs, Interconnects Figure 3 depicts a FPGA with a two- dimensional array of logic blocks that can be interconnected by interconnect wires. Figure 3 depicts a FPGA with a two- dimensional array of logic blocks that can be interconnected by interconnect wires. All internal connections are composed of metal segments with programmable switching points to implement the desired routing. All internal connections are composed of metal segments with programmable switching points to implement the desired routing. An abundance of different routing resources is provided to achieve efficient automated routing. An abundance of different routing resources is provided to achieve efficient automated routing. There are four main types of interconnect, three are distinguished by the relative length of their segments: single-length lines, double- length lines and Longlines. There are four main types of interconnect, three are distinguished by the relative length of their segments: single-length lines, double- length lines and Longlines. Eight global buffers drive fast, low-skew nets most often used for clocks or global control signals. Eight global buffers drive fast, low-skew nets most often used for clocks or global control signals.

Figure 4. Configurable Logic Blocks The principle CLB (Configurable Logic Block) elements are shown in Figure 4. The principle CLB (Configurable Logic Block) elements are shown in Figure 4. Each CLB contains a pair of flip- flops and two independent 4-input function generators. These function generators have a good deal of flexibility as most combinatorial logic functions need less than four inputs. Configurable Logic Blocks implement most of the logic in an FPGA. The flexability and symmetry of the CLB architecture facilitates the placement and routing of a given application. Each CLB contains a pair of flip- flops and two independent 4-input function generators. These function generators have a good deal of flexibility as most combinatorial logic functions need less than four inputs. Configurable Logic Blocks implement most of the logic in an FPGA. The flexability and symmetry of the CLB architecture facilitates the placement and routing of a given application.

Programming the FPGA The standard digital design flow for Hardware Object implementation.

Digital Design Stage the digital design is created with a schematic digital design editor or a Hardware Description Language (HDL). The schematic entry program utilizes graphic symbols of the circuitry. the digital design is created with a schematic digital design editor or a Hardware Description Language (HDL). The schematic entry program utilizes graphic symbols of the circuitry. As the output of these programs produce netlists, one must be sure the library sets of the targeted FPGA are available in the tool you have selected. As the output of these programs produce netlists, one must be sure the library sets of the targeted FPGA are available in the tool you have selected.

Design Implementation Stage the netlist produced by the design entry program is converted into the bitstream file which configures the FPGA. The first step Maps the design onto the FPGA resources;. The second step places or assigns logic blocks created in the mapping process in specific locations in the FPGA. The third step Routes the interconnect paths between the logic blocks. The output is a Logic Cell Array File (LCA) for the particular FPGA. This LCA file is then converted into a bitstream file for configuring the FPGA. the netlist produced by the design entry program is converted into the bitstream file which configures the FPGA. The first step Maps the design onto the FPGA resources;. The second step places or assigns logic blocks created in the mapping process in specific locations in the FPGA. The third step Routes the interconnect paths between the logic blocks. The output is a Logic Cell Array File (LCA) for the particular FPGA. This LCA file is then converted into a bitstream file for configuring the FPGA.

Design Verification Step tests the design's logic and timing using input stimuli. Various software packages provide verification/simulation tools. These tools are designed to perform detailed characterization of the design, by performing both functional and timing simulations. In- circuit verification tests the circuit under typical operating conditions, e.g. The Virtual Computer tm, reconfigurable computer. tests the design's logic and timing using input stimuli. Various software packages provide verification/simulation tools. These tools are designed to perform detailed characterization of the design, by performing both functional and timing simulations. In- circuit verification tests the circuit under typical operating conditions, e.g. The Virtual Computer tm, reconfigurable computer.

FPGA Configuration process in which the circuit design (bitstream file) is downloaded into the FPGA. The method of configuring the FPGA determines the type of bitstream file. FPGAs can be configured by a PROM. The serial PROM is the most common. The FPGA can either actively read its configuration data out of external serial or byte-parallel PROM (master mode), or the configuration data can be written into the FPGA (slave and peripheral mode). Where the FPGA is used in a Reconfigurable Computing Platform, the bitstream file is converted into a High Level Language (i.e. 'C" ) function process in which the circuit design (bitstream file) is downloaded into the FPGA. The method of configuring the FPGA determines the type of bitstream file. FPGAs can be configured by a PROM. The serial PROM is the most common. The FPGA can either actively read its configuration data out of external serial or byte-parallel PROM (master mode), or the configuration data can be written into the FPGA (slave and peripheral mode). Where the FPGA is used in a Reconfigurable Computing Platform, the bitstream file is converted into a High Level Language (i.e. 'C" ) function