Programmable Logic Devices

Slides:



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

PLDs ROM : Programmable OR array
Lecture 15 Finite State Machine Implementation
Digital Design: Combinational Logic Blocks
Combinational Logic Word Problems
CS370 – Spring 2003 Programmable Logic Devices PALs/PLAs.
Programmable Logic PAL, PLA.
1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.
111 Basic Circuit Elements n Standard TTL Small-Scale Integration: 1 chip = 2-8 gates n Requires numerous chips to build interesting circuits n Alternative:
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Programmable Logic Devices
BR 1/991 Programmable Logic There has to be a better way to implement a logic function than to hook together discrete 74XX packages or create a custom.
©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.
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.
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
1 کلاس جبراني  پنجشنبه 26 فروردين: ساعت 8:00 صبح ميان ترم  سه شنبه 3 ارديبهشت: ساعت 9:30 صبح.
Chapter # 4: Programmable and Steering Logic Section 4.1
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
Multiplexers, Decoders, and Programmable Logic Devices
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 13 – Programmable.
Figure to-1 Multiplexer and Switch Analog
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 6 – Selected Design Topics Part 4 – Programmable.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
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 Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
1 Lecture 9 Demultiplexers Programmable Logic Devices  Programmable logic array (PLA)  Programmable array logic (PAL)
4-1 Introduction Chapter # 4: Programmable and Steering Logic.
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.
Basic Sequential Components CT101 – Computing Systems Organization.
1 CSE370, Lecture 11 Lecture 11  Logistics  HW3 due now  Lab4 goes on as normal next week  Tuesday review 6pm, place TBD  Last lecture  "Switching-network"
Programmable Logic Devices (PLDs)
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.
Chapter # 4: Programmable Logic
CEC 220 Digital Circuit Design Programmable Logic Devices
DIGITAL SYSTEMS Programmable devices PLA-PAL Rudolf Tracht and A.J. Han Vinck.
Programmable logic devices. CS Digital LogicProgrammable Logic Device2 Outline PLAs PALs ROMs.
EE121 John Wakerly Lecture #15
Programmable Logic Devices. Principle of Operation: Example: X = A.B + A’.B’ requires that fuses f1 and f4 to be “blown”.
PLDS Mohammed Anvar P.K AP/ECE Al-Ameen Engineering College.
Programmable Logic Devices
This chapter in the book includes: Objectives Study Guide
Digital Design Lecture 14
Sequential Programmable Devices
Sequential Logic Design
Chapter # 4: Programmable Logic
This chapter in the book includes: Objectives Study Guide
IT IS ABOUT : Programmable Logic PAL, PLA.
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
CPE/EE 422/522 Advanced Logic Design L02
Programmable Logic.
Unit -06 PLDs.
Lecture 11 Logistics Last lecture Today HW3 due now
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
Programmable Logic Devices
"Computer Design" by Sunggu Lee
Overview Last lecture Timing; Hazards/glitches
Implementing Logic Gates and Circuits
Presentation transcript:

Programmable Logic Devices

Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking connections among the gates Inputs Dense array of AND gates Dense array of OR gates Product terms Outputs Programmable Array Block Diagram for Sum of Products Form

Basic Programmable Logic Organizations Depending on which of the AND/OR logic arrays is programmable, we have three basic organizations AND ARRAY PROG. FIXED OR ARRAY ORGANIZATION PAL PROM PLA

PLA Logic Implementation Key to Success: Shared Product Terms Equations F0 = A + B C F1 = A C + A B F2 = B C + A B F3 = B C + A Example: Personality Matrix Input Side: F 1 Outputs Inputs Product t erm A - B C 2 3 A B B C A C 1 = asserted in term 0 = negated in term - = does not participate Reuse of t erms Output Side: 1 = term connected to output 0 = no connection to output

PLA Logic Implementation Example Continued - Unprogrammed device A B C F0 F1 F2 F3 All possible connections are available before programming

PLA Logic Implementation Example Continued - Programmed part A B C F0 F1 F2 F3 AB BC AC Unwanted connections are "blown" Note: some array structures work by making connections rather than breaking them

PLA Logic Implementation Unprogrammed device Alternative representation Short-hand notation so we don't have to draw all the wires! X at junction indicates a connection A B C D AB+AB CD+CD AB CD Notation for implementing F0 = A B + A B F1 = C D + C D Programmed device

PLA Logic Implementation ABC A B C F1 F2 F3 F4 F5 F6 Design Example Multiple functions of A, B, C F1 = A B C F2 = A + B + C F3 = A B C F4 = A + B + C F5 = A  B  C F6 = A  B  C

PALs and PLAs What is difference between Programmable Array Logic (PAL) and Programmable Logic Array (PLA)? PAL concept — implemented by Monolithic Memories AND array is programmable, OR array is fixed at fabrication A given column of the OR array has access to only a subset of the possible product terms PLA concept — Both AND and OR arrays are programmable

PALs and PLAs Of the two organizations the PLA is the most flexible One PLA can implement a huge range of logic functions BUT many pins; large package, higher cost PALs are more restricted / you trade number of OR terms vs number of outputs Many device variations needed Each device is cheaper than a PLA

PAL Logic Implementation Design Example: BCD to Gray Code Converter K-maps Truth Table AB CD 00 01 11 10 D B C A X 1 K-map for W Y Z A 1 B C D W X Y Z Minimized Functions: W = A + B D + B C X = B C Y = B + C Z = A B C D + B C D + A D + B C D

PAL Logic Implementation Programmed PAL: A B C D A B C D A BD BC B C BCD AD W X Y Z Minimized Functions: W = A + B D + B C X = B C Y = B + C Z = A B C D + B C D + A D + B C D 4 product terms per each OR gate

PAL Logic Implementation Code Converter Discrete Gate Implementation B C A D W X Y 2 Z 1 4 3 5 1: 7404 hex inverters 2,5: 7400 quad 2-input NAND 3: 7410 t ri 3-input NAND 4: 7420 dual 4-input NAND 4 SSI Packages vs. 1 PLA/PAL Package!

PLA Logic Implementation Another Example: Magnitude Comparator EQ NE LT GT ABCD AC BD ABD BCD ABC A B C D A K-map for EQ 1 AB CD 00 01 11 10 D B C GT L T NE

Another Variation: Synchronous vs. Asynchronous Outputs D Q Q0 Q1 Open Com Seq CLK N Reset

Complex Programmable Logic Devices Complex PLDs typically combine PAL combinational logic with FFs Organized into logic blocks Fixed OR array size Combinational or registered output Some pins are inputs only Usually enough logic for simple counters, state machines, decoders, etc. e.g. GAL22V10, GAL16V8, etc.

GAL CPLD OLMC (Output Logic MacroCell) has OR, FF, output multiplexer and I/O control logic. Note that OLMC output is fed back to input matrix for use in other OLMCs.

GAL22V10 OLMC Structure

PAL22V10 OLMC Configuration Modes Registered Mode: active (low, high): Q’ is feedback as input only, no dedicated input in this mode Combinational Mode: active (low, high) can feedback comb. Output (high, low) and/or dedicated input

GAL16V8 OLMC Structure 11 10 01 00 T S M U X O 1 P F 10- 11- 0-1 0-0 D Q vcc XOR(n) FROM AND ARRAY FEEDBACK CLK OE I/O(n) ADJ. STAGE OUTPUT(m) AC0 AC1(n) ACO AC1(m)

PAL16V8 OLMC Configuration Modes Simple mode (combinational output) combinational output combinational output with feedback dedicated input Complex mode combinational output, with feedback combinational input from another OLMC Registered mode: active (low, high): Q’ is feedback as input (no dedicated input)

Field Programmable Gate Arrays (FPGAs) FPGAs have much more logic than CPLDs 2K to >10M equivalent gates Requires different architecture FPGAs can be RAM-based or Flash-based RAM FPGAs must be programmed at power-on External memory needed for programming data May be dynamically reconfigured Flash FPGAs store program data in non-volatile memory Reprogramming is more difficult Holds configuration when power is off

FPGA Structure Typical organization in 2-D array Configurable logic blocks (CLBs) contain functional logic (could be similar to PAL22V10) Combinational functions plus FFs Complexity varies by device CLB interconnect is either local or long line CLBs have connections to local neighbors Horizontal and vertical channels use for long distance Channel intersections have switch matrix IOBs (I/O logic Blocks) connect to pins Usually have some additional C.L./FF in block

Field-Programmable Gate Arrays structure 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 HW problems: 7-19, 7-20, 7-22, 7-23, 7-26 due 22/9/07