ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

Similar documents
FYSE420 DIGITAL ELECTRONICS. Lecture 7

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

INTRODUCTION TO FPGA ARCHITECTURE

FPGA architecture and design technology

Very Large Scale Integration (VLSI)

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

Programmable Logic. Any other approaches?

FPGA Implementations

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Design Methodologies. Full-Custom Design

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

Lecture 13: Memory and Programmable Logic

Digital Integrated Circuits

FPGA Programming Technology

CprE 583 Reconfigurable Computing

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Altera FLEX 8000 Block Diagram

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Design Methodologies and Tools. Full-Custom Design

Memory and Programmable Logic

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi

Design Methodologies

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

FPGA: What? Why? Marco D. Santambrogio

ECE 331 Digital System Design

Design Methodologies. Digital Integrated Circuits A Design Perspective. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

CS310 Embedded Computer Systems. Maeng

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

EITF35: Introduction to Structured VLSI Design

Power Solutions for Leading-Edge FPGAs. Vaughn Betz & Paul Ekas

How Much Logic Should Go in an FPGA Logic Block?

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

ELCT 912: Advanced Embedded Systems

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Programmable Logic Devices

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs

Design and Implementation of FPGA Logic Architectures using Hybrid LUT/Multiplexer

Memory and Programmable Logic

FPGA VHDL Design Flow AES128 Implementation

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

LSN 6 Programmable Logic Devices

CMPE 415 Programmable Logic Devices FPGA Technology I

Field Programmable Gate Array (FPGA)

Introduction to reconfigurable systems

Xilinx ASMBL Architecture

ΔΙΑΛΕΞΗ 5: FPGA Programming Technologies (aka: how to connect/disconnect wires/gates)

Hybrid LUT/Multiplexer FPGA Logic Architectures

CAD for VLSI. Debdeep Mukhopadhyay IIT Madras

An Introduction to Programmable Logic

now FPGA Architecture: Survey and Challenges the essence of knowledge Foundations and Trends in Electronic Design Automation

FPGAs: Instant Access

Graduate course on FPGA design

ELCT 501: Digital System Design

Computer Structure. Unit 2: Memory and programmable devices

Unit 6 1.Random Access Memory (RAM) Chapter 3 Combinational Logic Design 2.Programmable Logic

Field Program mable Gate Arrays

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

Introduction to Modern FPGAs

Leso Martin, Musil Tomáš

Topics. Midterm Finish Chapter 7

Workspace for '4-FPGA' Page 1 (row 1, column 1)

Lecture (1) Introduction to FPGA. 1. The History of Programmable Logic

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx

Effects of FPGA Architecture on FPGA Routing

Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

DRAF: A Low-Power DRAM-based Reconfigurable Acceleration Fabric

LOW POWER DESIGN IMPLEMENTATION OF A SIGNAL ACQUISITION MODULE RAVI BHUSHAN THAKUR. B.Tech, Jawaharlal Nehru Technological University, INDIA 2007

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

FPGAs & Multi-FPGA Systems. FPGA Abstract Model. Logic cells imbedded in a general routing structure. Logic cells usually contain:

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Very Large Scale Integration (VLSI)

160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp

DRAF: A Low-Power DRAM-based Reconfigurable Acceleration Fabric

Lecture 41: Introduction to Reconfigurable Computing

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

EECS150 - Digital Design Lecture 16 Memory 1

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

discrete logic do not

Spiral 2-8. Cell Layout

Hardware Design with VHDL PLDs I ECE 443. FPGAs can be configured at least once, many are reprogrammable.

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

DESIGN AND IMPLEMENTATION OF HYBRID LUT/MULTIPLEXER FPGA LOGIC ARCHITECTURES

Digital Systems Design with PLDs and FPGAs Kuruvilla Varghese Department of Electronic Systems Engineering Indian Institute of Science Bangalore

EECS150 - Digital Design Lecture 16 - Memory

Section 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8

Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Reconfigurable Computing

Transcription:

ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I

Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices - Wiring - Embedded New trends - Single-driver wiring - Power optimization

22V10 PAL Combinational logic elements (SoP) Sequential logic elements (D-FFs) Up to 10 outputs Up to 10 FFs Up to 22 inputs

Antifuse Switch Anti-fuses are one-time programmable. - Pulse eliminates dielectric - Only need to program once. Metal 3 Metal-to-Metal Antifuse Metal 2 Via Metal 1 Contact Silicon

Anti-Fuse FPGA Negligible programming overhead Low capacitance routing (fast) Security Tolerant of firm errors Resistance of about 100 antifuse polysilicon ONO dielectric n + antifuse diffusion 2

Anti-fuse Interconnect Logic Module Horizontal Track Anti-fuse Vertical Track Interconnection Fabric

Anti-fuse Security 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) ACTEL Courtesy: Burleson/Gogniat

EEPROM Programming Technology Control programming transistor to allow for new value (Actel ProASIC devices) Control gate allows for programming Widely deployed technology

FLASH-Memory Switch PRG/SEN SWITCH WORD LINE SEL 1 SEL 2

Flash/EEPROM Trends Logic elements (LUTs and flip flops) Segmented routing Low logic to register ratio Future? Altera Max II

SRAM-based FPGA Q Read or Write Data Q P1 P2 P3 P4 Out Programming Bit I1 I2 2-Input LUT SRAM bits can be programmed many times Each programming bit takes up five transistors Larger device area reduces speed versus EPROM and antifuse.

Field Programmable Gate Array

Design Tradeoffs switchbox IO connections Logic Cluster Some logic clusters are large (>10 LUTs per cluster) Three important issues: - Logic elements per cluster - Cluster connectivity to interconnect wires (F C ) connection flexibility - Switchbox flexibility (F s )

Issue 1: The Logic Cluster Question: How many BLE should there be per cluster?

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) Situation changes as VLSI feature size is reduced

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 include more inputs than needed to provide for flexibility

Connection Box Flexibility Tracks IO pin T 0 T 1 T 2 Out Logic Cluster T 0 T 1 T 2 F C = 3 Out T 0 T 1 T 2 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 or less for many current FPGAs

Switchbox Flexibility 0 1 0 1 0 1 0 1 Switch box provides optimized interconnection area. Flexibility found to be not as important as F C Connections typically made with multiplexers

Switchbox Issues

Switchbox Issues

Buffering S S FPGAs need to buffer to isolate large RC networks Architects must decide where to place buffers.

Segmentation X Y Length 2 Length 4 Length 1 Segmentation distribution: how many of each length? Longer length - Better performance? - Reduced routability?

More recent CLB (V5): Slices More hierarchy in current devices Slices are complex. Multiple slices communicate with switch matrix Source: Brad Hutchings, BYU

Virtex 5 Slice More complex LUT (6 input) Source: Brad Hutchings, BYU

Implementing Memory on FPGAs 16X1 Addr A 16X1 D LUT1 A D LUT2 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.

Coarse-grained Memory Word line 5V Special large blocks of SRAM found in FPGA array Allow for efficient implementation of memory predictable performance Six transistor SRAM cell. BIT Line BIT Line

Stratix-4 Block Diagram Courtesy: Brad Hutchings

Stratix-4 ALM (LE) Courtesy: Brad Hutchings

Inside the EAB - Altera Embedded array highly optimized Address and data can be latched for fast performance. Scalable to even larger sizes.

Inside the ESB Embedded System Blocks can be configured as either memory or PLA. Multiple levels of hierarchy.

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 10K Xilinx 4000E Size EABs trans CLBs trans 32x1 1 12288 1 2400 32x8 1 12288 8 19200 128x8 1 12288 32 76800 512x8 2 24576 128 307200 For 512x8 fine-grained requires 10X more size

Stratix V More Recent ALM (Lewis FPGA 13) Note use of full adder for each LUT More flip flops per LUT Some LUT inputs can be shared

Stratix V More Recent ALM (Lewis FPGA 13) Different LUT sizes can accommodate different functions Software determines appropriate mapping Most functions map well to four-luts

Stratix V More Recent 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

Stratix 10 New Features (Lewis FPGA 16) Insert latched in interconnect to help delay Latches must be low overhead Limited impact on signals which do not use the latch Also requires computeraided design software

Stratix 10 New Features (Lewis FPGA 16) Select clocks from rows Relatively small number of clock choices needed Multiplexers allow for clock selection N = 8 or 9 is sufficient

Stratix 10 New Features (Lewis FPGA 16) Distributing the flip flops from the user design into the interconnect improves performance by 10% Retiming the design (moving the design flip flops around) improves performance by 53%

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