February 4, 2002 John Wawrzynek

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Lecture 15 Finite State Machine Implementation
Survey of Reconfigurable Logic Technologies
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
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Spring 2005EECS150 - Lec03-FPGA Page 1 EECS150 - Digital Design Lecture 3 - Field Programmable Gate Arrays (FPGAs) January 25, 2005 John Wawrzynek.
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.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Evolution of implementation technologies
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Introduction to Field Programmable Gate Arrays (FPGAs) COE 203 Digital Logic Laboratory Dr. Aiman El-Maleh College of Computer Sciences and Engineering.
Multiplexers, Decoders, and Programmable Logic Devices
1 EECS Components and Design Techniques for Digital Systems Lec 03 – Field Programmable Gate Arrays (an overview) David Culler Electrical.
Lecture 3 1 ECE 412: Microcomputer Laboratory Lecture 3: Introduction to FPGAs.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
General FPGA Architecture Field Programmable Gate Array.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Section I Introduction to Xilinx
EE4OI4 Engineering Design Programmable Logic Technology.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
CS 152 L03 FPGA (1)Patterson Fall 2003 © UCB Dave Patterson ( www-inst.eecs.berkeley.edu/~cs152/ CS152 – Computer.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
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.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
EE3A1 Computer Hardware and Digital Design
Spring 2007 W. Rhett Davis with minor editing by J. Dean Brock UNCA ECE Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
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.
Henry Selvaraj 1 Henry Selvaraj; Henry Selvaraj; Henry Selvaraj; Logic Synthesis EEG 707 Dr Henry Selvaraj Department of Electrical and Computer Engineering.
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.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
FPGA Field Programmable Gate Arrays Shiraz University of shiraz spring 2012.
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.
FPGA Technology Overview Carl Lebsack * Some slides are from the “Programmable Logic” lecture slides by Dr. Morris Chang.
Programmable Logic Devices
Introduction to the FPGA and Labs
Introduction to ASICs ASIC - Application Specific Integrated Circuit
ETE Digital Electronics
Programmable Logic Devices
Sequential Logic Design
Electronics for Physicists
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
EECS Components and Design Techniques for Digital Systems Lec 03 – Field Programmable Gate Arrays David Culler Electrical Engineering and.
HIGH LEVEL SYNTHESIS.
Electronics for Physicists
Presentation transcript:

February 4, 2002 John Wawrzynek EECS150 - Digital Design Lecture 5 - Field Programmable Gate Arrays (FPGAs) February 4, 2002 John Wawrzynek Spring 2002 EECS150 - Lec05-FPGA

Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic blocks. Break/Announcements Designing with FPGAs. Specifics of Xilinx 4000 series. Spring 2002 EECS150 - Lec05-FPGA

FPGA Overview Simplified version of FPGA internal architecture: Basic idea: two-dimensional array of logic blocks and flip-flops with a means for the user to configure: 1. the interconnection between the logic blocks, 2. the function of each block. Simplified version of FPGA internal architecture: Spring 2002 EECS150 - Lec05-FPGA

Why FPGAs? By the early 1980’s most of the logic circuits in typical systems where absorbed by a handful of standard large scale integrated circuits (LSI). Microprocessors, bus/IO controllers, system timers, ... Every system still had the need for random “glue logic” to help connect the large ICs: generating global control signals (for resets etc.) data formatting (serial to parallel, multiplexing, etc.) Systems had a few LSI components and lots of small low density SSI (small scale IC) and MSI (medium scale IC) components. Spring 2002 EECS150 - Lec05-FPGA

Why FPGAs? Custom ICs where sometimes designed to replace the large amount of glue logic: reduced system complexity and manufacturing cost, improved performance. However, custom ICs are relatively very expensive to develop, and delay introduction of product to market (time to market) because of increased design time. Note: need to worry about two kinds of costs: 1. cost of development, sometimes called non-recurring engineering (NRE) 2. cost of manufacture A tradeoff usually exists between NRE cost and manufacturing costs Spring 2002 EECS150 - Lec05-FPGA

Why FPGAs? Therefore the custom IC approach was only viable for products with very high volume (where NRE could be amortized), and which were not TTM sensitive. FPGAs were introduced as an alternative to custom ICs for implementing glue logic: improved density relative to discrete SSI/MSI components (within around 10x of custom ICs) with the aid of computer aided design (CAD) tools circuits could be implemented in a short amount of time (no physical layout process, no mask making, no IC manufacturing) lowers NREs shortens TTM Because of Moore’s law the density (gates/area) of FPGAs continued to grow through the 80’s and 90’s to the point where major data processing functions can be implemented on a single FPGA. Spring 2002 EECS150 - Lec05-FPGA

Why FPGAs? FPGAs continue to compete with custom ICs for special processing functions (and glue logic) but now also compete with microprocessors in dedicated and embedded applications. Performance advantage over microprocessors because circuits can be customized for the task at hand. Microprocessors must provide special functions in software (many cycles). Summary: ASIC = custom IC, MICRO = microprocessor Spring 2002 EECS150 - Lec05-FPGA

FPGA Variations Families of FPGA’s differ in: physical means of implementing user programmability, arrangement of interconnection wires, and the basic functionality of the logic blocks. Most significant difference is in the method for providing flexible blocks and connections: Anti-fuse based (ex: Actel) Non-volatile, relatively small fixed (non-reprogrammable) Spring 2002 EECS150 - Lec05-FPGA

User Programmability Latch-based (Xilinx, Altera, …) reconfigurable volatile relatively large. Latches are used to: 1. make or break cross-point connections in the interconnect 2. define the function of the logic blocks 3. set user options: within the logic blocks in the input/output blocks global reset/clock “Configuration bit stream” can be loaded under user control: All latches are strung together in a shift chain: Spring 2002 EECS150 - Lec05-FPGA

Idealized FPGA Logic Block 4-input look up table (LUT) implements combinational logic functions Register optionally stores output of LUT Spring 2002 EECS150 - Lec05-FPGA

4-LUT Implementation n-bit LUT is implemented as a 2n x 1 memory: inputs choose one of 2n memory locations. memory locations (latches) are normally loaded with values from user’s configuration bit stream. Inputs to mux control are the CLB inputs. Result is a general purpose “logic gate”. n-LUT can implement any function of n inputs! Spring 2002 EECS150 - Lec05-FPGA

LUT as general logic gate Example: 4-lut An n-lut as a direct implementation of a function truth-table. Each latch location holds the value of the function corresponding to one input combination. Example: 2-lut Implements any function of 2 inputs. How many of these are there? How many functions of n inputs? Spring 2002 EECS150 - Lec05-FPGA

Announcements Quiz results Administrative Q&A. New reading posted: large section of Xilinx 4000 databook All of chapter 2 in Mano Spring 2002 EECS150 - Lec05-FPGA

FPGA Generic Design Flow Design Entry: Create your design files using: schematic editor or hardware description language (Verilog, VHDL) Design “implementation” on FPGA: Partition, place, and route to create bit-stream file Design verification: Use Simulator to check function, other software determines max clock frequency. Load onto FPGA device (cable connects PC to development board) check operation at full speed in real environment. Spring 2002 EECS150 - Lec05-FPGA

Example Partition, Placement, and Route Idealized FPGA structure: Example Circuit: collection of gates and flip-flops Circuit combinational logic must be “covered” by 4-input 1-output “gates”. Flip-flops from circuit must map to FPGA flip-flops. (Best to preserve “closeness” to CL to minimize wiring.) Placement in general attempts to minimize wiring. Spring 2002 EECS150 - Lec05-FPGA

Xilinx FPGAs (4000 Series) Spring 2002 EECS150 - Lec05-FPGA

Xilinx FPGAs (CLB detail) Spring 2002 EECS150 - Lec05-FPGA

Xilinx FPGAs (IOB detail) Spring 2002 EECS150 - Lec05-FPGA

Xilinx FPGAs (interconnect detail) Spring 2002 EECS150 - Lec05-FPGA

Xilinx 4000 series FPGAs How they differ from idealized array: In addition to their use as general logic “gates”, LUTs can alternatively be used as general purpose RAM. Each 4-lut can become a 16x1-bit RAM array. Special circuitry to speed up “ripple carry” in adders and counters. Therefore adders in the “Xilinx Unified Library” operate much faster than adders built from gates and luts alone. Many more wires, including tri-state capabilities. Spring 2002 EECS150 - Lec05-FPGA