Evolution of implementation technologies

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
EECE579: Digital Design Flows
Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
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.
Configurable System-on-Chip: Xilinx EDK
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.
February 4, 2002 John Wawrzynek
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.
1 Introduction A digital circuit design is just an idea, perhaps drawn on paper We eventually need to implement the circuit on a physical device –How do.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
General FPGA Architecture Field Programmable Gate Array.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
Field Programmable Gate Arrays (FPGA)
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. 
05/12/06BR Fall 991 Programmable Logic So far, have only talked about PALs (see 22V10 figure next page). What is the next step in the evolution of PLDs?
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CSET 4650 Field Programmable Logic Devices
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
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
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.
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
Reconfigurable Computing - Type conversions and the standard libraries John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots.
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.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
EE3A1 Computer Hardware and Digital Design
Xilinx FPGAs - 1 trend toward higher levels of integration Evolution of implementation technologies zDiscrete devices: relays, transistors (1940s-50s)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
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.
FPGA CAD 10-MAR-2003.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
EE121 John Wakerly Lecture #15
VGA Interface1 trend toward higher levels of integration Evolution of implementation technologies zLogic gates (1950s-60s) zRegular structures for two-level.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
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.
Programmable Logic Devices Zainalabedin Samadi. Embedded Systems Technology  Programmable Processors  Application Specific Processor (ASIP)  Single.
Introduction to VLSI Design Logic Arrays Tsung-Chu Huang Electronics Eng., NCUE 2016/5/10.
Introduction to the FPGA and Labs
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Introduction to VLSI Design Logic Arrays
Presentation transcript:

Evolution of implementation technologies Logic gates (1950s-60s) Regular structures for two-level logic (1960s-70s) muxes and decoders, PLAs Programmable sum-of-products arrays (1970s-80s) PLDs, complex PLDs Programmable gate arrays (1980s-90s) densities high enough to permit entirely new class of application, e.g., prototyping, emulation, acceleration trend toward higher levels of integration Xilinx FPGAs - 1

Gate Array Technology (IBM - 1970s) Simple logic gates combine transistors to implement combinational and sequential logic Interconnect wires to connect inputs and outputs to logic blocks I/O blocks special blocks at periphery for external connections Add wires to make connections done when chip is fabbed “mask-programmable” construct any circuit Xilinx FPGAs - 2

Field-Programmable Gate Arrays Logic blocks to implement combinational and sequential logic Interconnect wires to connect inputs and outputs to logic blocks I/O blocks special logic blocks at periphery of device for external connections Key questions: how to make logic blocks programmable? how to connect the wires? after the chip has been fabbed Xilinx FPGAs - 3

Enabling Technology Cheap/fast fuse connections small area (can fit lots of them) low resistance wires (fast even if in multiple segments) very high resistance when not connected small capacitance (wires can be longer) Pass transistors (switches) used to connect wires bi-directional Multiplexors used to connect one of a set of possible sources to input can be used to implement logic functions Xilinx FPGAs - 4

Programming Technologies Fuse and anti-fuse fuse makes or breaks link between two wires typical connections are 50-300 ohm one-time programmable Flash High density Process issues RAM-based memory bit controls a switch that connects/disconnects two wires typical connections are .5K-1K ohm can be programmed and re-programmed easily (tested at factory) Xilinx FPGAs - 5

Tradeoffs in FPGAs Logic block - how are functions implemented: fixed functions (manipulate inputs) or programmable? support complex functions, need fewer blocks, but they are bigger so less of them on chip support simple functions, need more blocks, but they are smaller so more of them on chip Interconnect how are logic blocks arranged? how many wires will be needed between them? are wires evenly distributed across chip? programmability slows wires down – are some wires specialized to long distances? how many inputs/outputs must be routed to/from each logic block? what utilization are we willing to accept? 50%? 20%? 90%? Xilinx FPGAs - 6

Xilinx Programmable Gate Arrays CLB - Configurable Logic Block 5-input, 1 output function or 2 4-input, 1 output functions optional register on outputs Built-in fast carry logic Can be used as memory Three types of routing direct general-purpose long lines of various lengths RAM-programmable can be reconfigured Xilinx FPGAs - 7

The Virtex CLB Xilinx FPGAs - 9

Details of One Virtex Slice Xilinx FPGAs - 10

Implements any Two 4-input Functions registered Xilinx FPGAs - 11

Implements any 5-input Function Xilinx FPGAs - 12

Implement Some Larger Functions e.g. 9-input parity Xilinx FPGAs - 13

Two Slices: Any 6-input Function from other slice 6-input function Xilinx FPGAs - 14

Two Slices: Implement some larger functions e.g. 19-input parity from other slice Xilinx FPGAs - 15

Fast Carry Chain: Add two bits per slice Carry(a,b,cin) Sum(a,b,cin) a b cin Xilinx FPGAs - 16

Lookup Tables used as memory (16 x 2) [ Distributed Memory ] Xilinx FPGAs - 17

Lookup Tables used as memory (32 x 1) Xilinx FPGAs - 18

Block RAM Xilinx FPGAs - 19

Virtex Routing Xilinx FPGAs - 20

Virtex Routing Xilinx FPGAs - 21

Non-Local Routing Hex wires Extend 6 CLBs in one direction Connections at 3 and 6 CLBs “Express busses” Take advantage of many metal layers Long wires Extend the length/height of the chip Global signals e.g. clk, reset Tri-state busses Extend across the chip Use for datapath bit-slice Xilinx FPGAs - 22

Using the DLL to De-Skew the Clock Xilinx FPGAs - 23

Virtex IOB Xilinx FPGAs - 24

Computer-aided Design Can't design FPGAs by hand way too much logic to manage, hard to make changes Hardware description languages specify functionality of logic at a high level Validation - high-level simulation to catch specification errors verify pin-outs and connections to other system components low-level to verify mapping and check performance Logic synthesis process of compiling HDL program into logic gates and flip-flops Technology mapping map the logic onto elements available in the implementation technology (LUTs for Xilinx FPGAs) Xilinx FPGAs - 25

CAD Tool Path (cont’d) Placement and routing assign logic blocks to functions make wiring connections Timing analysis - verify paths determine delays as routed look at critical paths and ways to improve Partitioning and constraining if design does not fit or is unroutable as placed split into multiple chips if design it too slow prioritize critical paths, fix placement of cells, etc. few tools to help with these tasks exist today Generate programming files - bits to be loaded into chip for configuration Xilinx FPGAs - 26

Xilinx CAD Tools Verilog (or VHDL) use to specify logic at a high-level combine with schematics, library components Synplicity compiles Verilog to logic maps logic to the FPGA cells optimizes logic Xilinx APR - automatic place and route (simulated annealing) provides controllability through constraints handles global signals Xilinx Xdelay - measure delay properties of mapping and aid in iteration Xilinx XACT - design editor to view final mapping results Xilinx FPGAs - 27

Applications of FPGAs Implementation of random logic easier changes at system-level (one device is modified) can eliminate need for full-custom chips Prototyping ensemble of gate arrays used to emulate a circuit to be manufactured get more/better/faster debugging done than possible with simulation Reconfigurable hardware one hardware block used to implement more than one function functions must be mutually-exclusive in time can greatly reduce cost while enhancing flexibility RAM-based only option Special-purpose computation engines hardware dedicated to solving one problem (or class of problems) accelerators attached to general-purpose computers Xilinx FPGAs - 28