EE121 John Wakerly Lecture #15

Slides:



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

FPGA (Field Programmable Gate Array)
Lecture 11-1 FPGA We have finished combinational circuits, and learned registers. Now are ready to see the inside of an FPGA.
PLDs ROM : Programmable OR array
Lecture 15 Finite State Machine Implementation
Programmable Logic Devices
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
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.
PLD Technology Basics. Basic PAL Architecture DQ Q CLK OE Fuse.
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
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.
Evolution of implementation technologies
Silicon Programming--Altera Tools1 “Silicon Programming“ programmable logic Altera devices and the Altera tools major tasks in the silicon programming.
FPGAs and VHDL Lecture L13.1 Sections 13.1 – 13.3.
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.
Implementing Digital Circuits Lecture L3.1. Implementing Digital Circuits Transistors and Integrated Circuits Transistor-Transistor Logic (TTL) Programmable.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Adv. Digital Circuit Design
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.
Xilinx CPLDs and FPGAs Lecture L1.1. CPLDs and FPGAs XC9500 CPLD Spartan II FPGA Virtex FPGA.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
Memory and Programmable Logic
EE4OI4 Engineering Design Programmable Logic Technology.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Section II Basic PLD Architecture. Section II Agenda  Basic PLD Architecture —XC9500 and XC4000 Hardware Architectures —Foundation and Alliance Series.
ECE 465 Introduction to CPLDs and FPGAs Shantanu Dutt ECE Dept. University of Illinois at Chicago Acknowledgement: Extracted from lecture notes of Dr.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices Ku-Yaw Chang Assistant Professor, Department of Computer Science.
PROGRAMMABLE LOGIC DEVICES (PLD)
CSET 4650 Field Programmable Logic Devices
CPLD (Complex Programmable Logic Device)
Memory and Programmable Logic Memory device: Device to which binary information is transferred for storage, and from which information is available for.
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.
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.
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.
“Supporting the Total Product Life Cycle”
FPGA Based System Design
Chapter 3 How transistors operate and form simple switches
CPLD Vs. FPGA Positioning Presentation
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.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
3-1 MKE1503/MEE10203 Programmable Electronics Computer Engineering Department Faculty of Electrical and Electronic Universiti Tun Hussein Onn Malaysia.
FPGA 상명대학교 소프트웨어학부 2007년 1학기.
Programmable Logic Devices
Introduction to ASIC,FPGA,PLDs (16 marks)
This chapter in the book includes: Objectives Study Guide
Issues in FPGA Technologies
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
ECE 4110– 5110 Digital System Design
This chapter in the book includes: Objectives Study Guide
Architectural Features
FIGURE 7.1 Conventional and array logic diagrams for OR gate
XC9500 Architectural Features
Implementing Logic Gates and Circuits
Programmable logic and FPGA
Presentation transcript:

EE121 John Wakerly Lecture #15 CPLDs FPGAs

CPLDs vs. FPGAs CPLD architecture Small number of largish PLDs (e.g., “36V18”) on a single chip Programmable interconnect between PLDs

FPGA architecture Much larger number of smaller programmable logic blocks. Embedded in a sea of lots and lots of programmable interconnect.

How to expand PLD architecture? Increase # of inputs and outputs in a conventional PLD? E.g., 16V8 --> 20V8 --> 22V10. Why not --> 32V16 --> 128V64 ? Problems: n times the number of inputs and outputs requires n2 as much chip area -- too costly logic gets slower as number of inputs to AND array increases Solution: multiple PLDs with a relatively small programmable interconnect. Less general than a single large PLD, but can use software “fitter” to partition into smaller PLD blocks.

CPLD families Identical individual PLD blocks (Xilinx “FBs”) replicated in different family members. Different number of PLD blocks Different number of I/O pins Many CPLDs have fewer I/O pins than macrocells “Buried” Macrocells -- provide needed logic terms internally but these outputs are not connected externally. IC package size dictates # of I/O pins but not the total # of macrocells. Typical CPLD families have devices with differing resources in the same IC package.

Xilinx CPLDs Notice overlap in resource availability in a particular package.

Xilinx 9500-family CPLD architecture 72 ==> XC9572

9500-family function blocks (FBs) 18 macrocells per FB 36 inputs per FB (partitioning challenge, but also reason for relatively compact size of FBs) Macrocell outputs can go to I/O cells or back into switch matrix to be routed to this or other FBs.

9500-series macrocell (18 per FB) Set control Programmable inversion or XOR product term Up to 5 product terms Global clock or product-term clock Reset control OE control

9500-series product-term allocator programmable steering elements Share terms from above and below

9500-series I/O block

Switch matrix for XC95108 Could be anything from a limited set of multiplexers to a full crossbar. Multiplexer -- small, fast, but difficult fitting Crossbar -- easy fitting but large and slow

FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis on interconnection routing Timing is difficult to predict -- multiple hops vs. the fixed delay of a CPLD’s switch matrix. But more “scalable” to large sizes. FPGA programmable logic blocks have only a few inputs and 1 or 2 flip-flops, but there are a lot more of them compared to the number of macrocells in a CPLD.

General FPGA chip architecture a.k.a. CLB -- “configurable logic block”

Xilinx 4000-series FPGAs

FPGA specsmanship Two flip-flops per CLB, plus two per I/O cell. 25 “gates” per CLB if used for logic. 32 bits of RAM per CLB if not used for logic. All of this is valid only if your design has a “perfect fit”.

Configurable Logic Block (CLB)

CLB function generators (F, G, H) Use RAM to store a truth table F, G: 4 inputs, 16 bits of RAM each H: 3 inputs, 8 bits of RAM RAM is loaded from an external PROM at system initialization. Broad capability using F, G, and H: Any 2 funcs of 4 vars, plus a func of 3 vars Any func of 5 vars Any func of 4 vars, plus some funcs of 6 vars Some funcs of 9 vars, including parity and 4-bit cascadable equality checking

CLB input and output connections -- buried in the sea of interconnect

Detail connections controlled by RAM bits

Programmable Switch Matrix programmable switch element turning the corner, etc.

The fitter’s job Partition logic functions into CLBs Arrange the CLBs Interconnect the CLBs Minimize the number of CLBs used Minimize the size and delay of interconnect used Work with constraints “Locked” I/O pins Critical-path delays Setup and hold times of storage elements

Oh, by the way -- I/O blocks

Problems common to CPLDs and FPGAs Pin locking Small changes, and certainly large ones, can cause the fitter to pick a different allocation of I/O blocks and pinout. Locking too early may make the resulting circuit slower or not fit at all. Running out of resources Design may “blow up” if it doesn’t all fit on a single device. On-chip interconnect resources are much richer than off-chip; e.g., barrel-shifter example. Larger devices are exponentially more expensive.

Midterm Solutions Discussion

Next Time Synchronous design methodology Metastability