Reconfigurable Architectures Greg Stitt ECE Department University of Florida.

Slides:



Advertisements
Similar presentations
ECE 506 Reconfigurable Computing Lecture 2 Reconfigurable Architectures Ali Akoglu.
Advertisements

FPGA (Field Programmable Gate Array)
ECE 506 Reconfigurable Computing ece. arizona
Digital Design: Combinational Logic Blocks
Programmable Logic Devices
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Survey of Reconfigurable Logic Technologies
Programmable Logic Devices
©2004 Brooks/Cole FIGURES FOR CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES Click the mouse to move to the next page. Use the ESC key.
Physical Implementation 1)Manufactured Integrated Circuit (IC) Technologies 2)Programmable IC Technology 3)Other Technologies Other Technologies 1. Off-The-Shelf.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
1 Other Technologies Off-the-shelf logic (SSI) IC –Logic IC has a few gates, connected to IC's pins Known as Small Scale Integration (SSI) –Popular logic.
Programmable logic and FPGA
Multiplexers, Decoders, and Programmable Logic Devices
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
EET 1131 Unit 4 Programmable Logic Devices  Read Kleitz, Chapter 4.  Homework #4 and Lab #4 due next week.  Quiz next week.
ECE 301 – Digital Electronics
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
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.
ECE 506 Reconfigurable Computing Lecture 3 Reconfigurable Architectures Ali Akoglu.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
9/20/6Lecture 3 - Instruction Set - Al1 Address Decoding for Memory and I/O.
Figure to-1 Multiplexer and Switch Analog
CPLD 1.1 ©Paul R. Godin Last Mod: Dec 2013 gmail.com.
Lecture 7 1. Introduction  Comparison of Standard Logic Circuits and Programmable Logic Circuits  Evolution and Overview of PLC:  PROM, PLA, PAL 
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
Microprocessor Address Decoding.
PROGRAMMABLE LOGIC DEVICES (PLD)
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
CPLD (Complex Programmable Logic Device)
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
CHAPTER 9 MULTIPLEXERS, DECODERS, AND 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.
EE3A1 Computer Hardware and Digital Design
FPGA Based System Design
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
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.
CEC 220 Digital Circuit Design Programmable Logic Devices
Programmable Logic Devices. Principle of Operation: Example: X = A.B + A’.B’ requires that fuses f1 and f4 to be “blown”.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
Thinning Lines Between Software and Hardware Programmable Logic Devices Adam Foust.
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
Reconfigurable Architectures
B0110 Fabric and Trust ENGR xD52 Eric VanWyk Fall 2013.
This chapter in the book includes: Objectives Study Guide
EET 1131 Unit 4 Programmable Logic Devices
ETE Digital Electronics
Digital Design Lecture 14
Sequential Programmable Devices
Sequential Logic Design
Reconfigurable Architectures
This chapter in the book includes: Objectives Study Guide
Dr. Clincy Professor of CS
This chapter in the book includes: Objectives Study Guide
FIGURE 7.1 Conventional and array logic diagrams for OR gate
Programmable Configurations
Introduction to Programmable Logic Devices
Dr. Clincy Professor of CS
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
Reconfigurable Architectures
PROGRAMMABLE LOGIC DEVICES (PLD) UNIT-IV
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Programmable logic and FPGA
Presentation transcript:

Reconfigurable Architectures Greg Stitt ECE Department University of Florida

How can hardware be reconfigurable? Problem: Can’t change fabricated chip ASICs are fixed Solution: Create components that can be made to function in different ways

History SPLD – Simple Programmable Logic Device Example: PAL (programmable array logic) PLA (programmable logic array Basically, 2-level grid of “and” and “or” gates Program connections between gates Initially, used fuses/PROM Could only be programmed once! GAL (generic array logic) allowed to be reprogrammed using EPROM/EEPROM But, took long time Implements hundreds of gates, at most [Wikipedia]

History CPLD – Complex Programmable Logic Devices Initially, was a group of SPLDs on a single chip More recent CPLDs combine macrocells/logic blocks Macrocells can implement array logic, or other common combinational and sequential logic functions [Xilinx]

Current/Future Directions FPGA (Field-programmable gate arrays) - mid 1980s Misleading name - there is no array of gates Array of fine-grained configurable components Will discuss architecture shortly Currently support millions of gates FPOA (Field-programmable object array) Array of coarse-grained components Multipliers, DSP units, etc. Potentially, larger capacity than FPGA But, applications may not map well Wasted resources Inefficient execution

FPGA Architectures How can we implement any circuit in an FPGA? First, focus on combinational logic Example: Half adder Combinational logic represented by truth table What kind of hardware can implement a truth table? InputOut ABS InputOut ABC

Look-up-tables (LUTs) Implement truth table in small memories (LUTs) Usually SRAM ABS ABC Addr Output Logic inputs connect to address inputs, logic output is memory output 2-input, 1-output LUTs A B Addr A B S C

Look-up-tables (LUTs) Alternatively, could have use a 2-input, 2-output LUT Outputs commonly use same inputs S C S C Addr A B A B A B

Look-up-tables (LUTs) Slightly bigger example: Full adder Combinational logic can be implemented in a LUT with same number of inputs and outputs 3-input, 2-ouput LUT InputsOutputs ABCinSCout A B Cin SCout Truth Table 3-input, 2-output LUT

Look-up-tables (LUTs) Why aren’t FPGAs just a big LUT? Size of truth table grows exponentially based on # of inputs 3 inputs = 8 rows, 4 inputs = 16 rows, 5 inputs = 32 rows, etc. Same number of rows in truth table and LUT LUTs grow exponentially based on # of inputs Number of SRAM bits in a LUT = 2 i * o i = # of inputs, o = # of outputs Example: 64 input combinational logic with 1 output would require 2 64 SRAM bits 1.84 x Clearly, not feasible to use large LUTs So, how do FPGAs implement logic with many inputs?

Look-up-tables (LUTs) Fortunately, we can map circuits onto multiple LUTs Divide circuit into smaller circuits that fit in LUTs (same # of inputs and outputs) Example: 3-input, 2-output LUTs

Look-up-tables (LUTs) What if circuit doesn’t map perfectly? More inputs in LUT than in circuit Truth table handles this problem More outputs in LUT than in circuit Extra outputs simply not used Space is wasted, so should use multiple outputs whenever possible

Look-up-tables (LUTs) Important Point The number of gates in a circuit has no effect on the mapping into a LUT All that matters is the number of inputs and outputs Unfortunately, it isn’t common to see large circuits with a few inputs 1 gate 1,000,000 gates Both of these circuits can be implemented in a single 3-input, 1-output LUT