Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I.

Slides:



Advertisements
Similar presentations
ECE 506 Reconfigurable Computing ece. arizona
Advertisements

Lecture 15 Finite State Machine Implementation
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
Lecture 7 FPGA technology. 2 Implementation Platform Comparison.
ECE 506 Reconfigurable Computing Lecture 6 Clustering Ali Akoglu.
Survey of Reconfigurable Logic Technologies
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
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.
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
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.
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.
Lecture 3: Field Programmable Gate Arrays II September 10, 2013 ECE 636 Reconfigurable Computing Lecture 3 Field Programmable Gate Arrays II.
Evolution of implementation technologies
Programmable logic and FPGA
CS294-6 Reconfigurable Computing Day 2 August 27, 1998 FPGA Introduction.
Lecture 3 1 ECE 412: Microcomputer Laboratory Lecture 3: Introduction to FPGAs.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #3 – FPGA.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CSET 4650 Field Programmable Logic Devices
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 7 Programmable.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
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.
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
Lecture 15: Multi-FPGA System Software I November 1, 2004 ECE 697F Reconfigurable Computing Lecture 15 Mid-term Review.
J. Christiansen, CERN - EP/MIC
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
Sept. 2005EE37E Adv. Digital Electronics Lesson 1 CPLDs and FPGAs: Technology and Design Features.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
BR 1/991 Issues in FPGA Technologies Complexity of Logic Element –How many inputs/outputs for the logic element? –Does the basic logic element contain.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
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.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
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.
Reconfigurable Architectures
Field Programmable Gate Arrays
Issues in FPGA Technologies
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Give qualifications of instructors: DAP
XILINX FPGAs Xilinx lunched first commercial FPGA XC2000 in 1985
We will be studying the architecture of XC3000.
The Xilinx Virtex Series FPGA
The architecture of PAL16R8
Topics Antifuse-based FPGA fabrics: Flash-based FPGAs Actel.
The Xilinx Virtex Series FPGA
CprE / ComS 583 Reconfigurable Computing
Give qualifications of instructors: DAP
Implementing Logic Gates and Circuits
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices -Wiring -Embedded New trends -Single-driver wiring -Power optimization

Lecture 2: Field Programmable Gate Arrays I September 5, V10 PAL °Combinational logic elements (SoP) °Sequential logic elements (D-FFs) °Up to 10 outputs °Up to 10 FFs °Up to 22 inputs

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Antifuse Switch Metal 3 Metal-to-Metal Antifuse Metal 2 Via Metal 1 Contact Silicon Anti-fuses are one-time programmable. -Pulse eliminates dielectric -Only need to program once.

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Anti-Fuse FPGA Negligible programming overhead Low capacitance routing (fast) Security Tolerant of firm errors Resistance of about 100  antifuse polysiliconONO dielectric n + antifuse diffusion 2

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Interconnection Fabric Typical Actel Anti-fuse Interconnect

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 °Very good for design security No bitstream can be intercepted in the field (no bitstream transfer, no external configuration device) Need a Scanning Electron Microscope (SEM) to try to know the antifuse states (an Actel AX2OOO antifuse FPGA contains 53 million antifuses with only 2-5% programmed in an average design) Anti-fuse Security ©ACTEL Courtesy: Burleson/Gogniat

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 FLASH-Memory Switch

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Flash/EEPROM Trends Logic elements (LUTs and flip flops) Segmented routing Low logic to register ratio Future? Altera Max II

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 SRAM-based FPGA SRAM bits can be programmed many times Each programming bit takes up five transistors Larger device area reduces speed versus EPROM and antifuse. Read or Write Data Q Q Programming Bit I1I2 P1 P2 P3 P4 Out 2-Input LUT

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Field Programmable Gate Array

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Design Tradeoffs Some logic clusters are large (e.g. Altera contains 8 LUT-FF pairs) Three important issues: -Logic elements per cluster -Cluster connectivity to interconnect – wires (F C ) – connection flexibility -Switchbox flexibility (F s ) Logic Cluster IO connections switchbox

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Issue 1: The Logic Cluster Question: How many BLE should there be per cluster?

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Logic Cluster Size Interestingly, small block cluster more efficient (Betz – CICC’99) Includes area needed for routing. Small clusters (e.g. one BLE per cluster) not “CAD friendly). Most commercial devices have 4-8 BLEs per cluster

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Number of Inputs per Cluster Lots of opportunities for input sharing in large clusters (Betz – CICC’99) Reducing inputs reduces the size of the device and makes it faster. Most FPGA devices (Xilinx, Lucent) have 4 BLE per cluster with more inputs than actually needed.

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Connection Box Flexibility F c -> How many tracks does an input pin connect to? If logic cluster is small, F C is large F C = W If logic cluster is large, F c can be less. -Approximately 0.2W for Xilinx XC4000EX Logic Cluster IO pin Tracks Out T0T0 T1T1 T2T2 T0T0 T1T1 T2T2 F C = 3 T0T0 T1T1 T2T2

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Switchbox Flexibility Switch box provides optimized interconnection area. Flexibility found to be not as important as F C Six transistors needed for F S =

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Switchbox Issues

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Wilton Switchbox Rotate connections inside the switchbox while keeping F S = 3 Still has six transistors for base switch matrix. Eliminates domain issue

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Switchbox Issues

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Buffering FPGAs need to buffer to isolate large RC networks Architects must decide where to place buffers. SS

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Segmentation Segmentation distribution: how many of each length? Longer length -Better performance? -Reduced routability?  XY Length 4 Length 2 Length 1

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Modern CLB (V5): Slices Source: Brad Hutchings, BYU More hierarchy in current devices Slices are complex. Multiple slices communicate with switch matrix

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Virtex 5 Slice Source: Brad Hutchings, BYU More complex LUT (6 input)

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Implementing Memory on FPGAs For 4-input LUTs 16 bits of information available Can be chained together through programmable network. Decoder and multiplexer an issue. Flexibility is a key aspect. Addr AD AD 16X1 LUT1 LUT2

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Xilinx XC4000 Series Devices Ideal for small data storage -Register Files -Coefficient storage No wasted space

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Xilinx XC4000 Dual Port Mem Access data concurrently. Fine-grained access Synchronous access

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Coarse-grained Memory Special large blocks of SRAM found in FPGA array Allow for efficient implementation of memory – predictable performance Six transistor SRAM cell. 5V Word line BIT Line BIT Line

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Xilinx Block Memory Each memory block is 4 CLBs high 4096 bit SRAMs. Can be implemented in differeent aspect ratios. Need to address performance.

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Stratix-4 Block Diagram Courtesy: Brad Hutchings

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Stratix-4 ALM (LE) Courtesy: Brad Hutchings

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Inside the EAB - Altera Embedded array highly optimized Address and data can be latched for fast performance. Scalable to even larger sizes.

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Inside the ESB Embedded System Blocks can be configured as either memory or PLA. Multiple levels of hierarchy.

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Growth Rate of Memory Approximately 2400 transistors per CLB -(1200 per LUT) for XC4000-like implementation (32x1 SRAM) Six transistors per cell for Altera SRAM (2K per EAB) Altera 10KXilinx 4000E SizeEABstransCLBstrans 32x x x x For 512x8 fine-grained requires 10X more size

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Stratix V – State-of-the-Art Memory (Lewis – FPGA’13) Increasing amounts of memory per device Results below that a single uniform memory block size is better (20 kb) Evaluation over various ratios of logic to memory

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Stratix V – New Features (Lewis FPGA’13) Consider clock skewing – technique to balance pipeline Clock signal is locally stalled to affect rising edge clock time

Lecture 2: Field Programmable Gate Arrays I September 5, 2013 Summary Three basic types of FPGA devices -Antifuse -EEPROM -SRAM Key issues for SRAM FPGA are logic cluster, connection box, and switch box. Latest advances examine performance and routability. Newer FPGAs require large amounts of RAM. -Trends indicate uniform blocks -Experimentation over many benchmarks is key