1 Programmable Logic. 2 Prgrammable Logic Organization Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making or breaking.

Slides:



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

PLDs ROM : Programmable OR array
Chapter #10: Finite State Machine Implementation
Lecture 15 Finite State Machine Implementation
Digital Design: Combinational Logic Blocks
Limitations are  The number of inputs (n)  The number of outputs (m)  The number of product terms (p) 5.3 Combinational PLDs ReturnNext Programmable.
Combinational Logic Word Problems
CS370 – Spring 2003 Programmable Logic Devices PALs/PLAs.
Programmable Logic PAL, PLA.
Programmable Logic Devices
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.
ECE C03 Lecture 41 Lecture 4 Combinational Logic Implementation Technologies Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
ENGN3213: Digital Systems and Microprocessors L#8 1 Lecture 8 Overview Review of Combinational Logic Technologies Logic Implementation Programmable Logic.
1 کلاس جبراني  پنجشنبه 26 فروردين: ساعت 8:00 صبح ميان ترم  سه شنبه 3 ارديبهشت: ساعت 9:30 صبح.
Chapter # 4: Programmable and Steering Logic Section 4.1
Multiplexers, Decoders, and Programmable Logic Devices
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.
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.
9/20/6Lecture 3 - Instruction Set - Al1 Address Decoding for Memory and I/O.
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)
Basic Logic Operations and Standard Logic Gates (Lecture #1) ECE 331 – Digital System Design.
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 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
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
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"
Unit VII SEMICONDUCTOR INTEGRATED CIRCUIT DESIGN
Programmable Logic Devices (PLDs)
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ENGN3213: Digital Systems and Microprocessors L#8 1 Lecture 8 Overview Review of Combinational Logic Technologies Logic Implementation Programmable Logic.
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.
CSI-2111 Structure of Computers Ipage Combinational Circuits  Objectives : To recognize the principal types of combinational circuits  Adders.
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
1 Programmable Logic There are other ways to implement a logic function than to hook together discrete 74XX packages or create a custom Integrated Circuit.
This chapter in the book includes: Objectives Study Guide
Sequential Logic Design
Chapter # 4: Programmable Logic
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices
ECE 331 – Digital System Design
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
Programmable Logic.
Unit -06 PLDs.
Lecture 11 Logistics Last lecture Today HW3 due now
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
"Computer Design" by Sunggu Lee
Overview Last lecture Timing; Hazards/glitches
Presentation transcript:

1 Programmable Logic

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

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

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

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

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

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

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

9 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

10 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

11 PAL Logic Implementation Design Example: BCD to Gray Code Converter Truth Table K-maps Minimized Functions: A B C D W X X X X X X X X X X X X X Y X X X X X X Z X X X X X X AB CD D B C A 00X1 01X1 01XX 0 1 XX K-map forW AB CD D B C A 01X0 01X0 00XX 00XX K-map forX AB CD D B C A 01X0 01 X 0 11XX 11XX K-map forY AB CD D B C A 00X1 1 0X0 01XX 10XX K-map for Z 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

12 PAL Logic Implementation 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

13 PAL Logic Implementation Code Converter Discrete Gate Implementation 4 SSI Packages vs. 1 PLA/PAL Package! 1: 7404 hex inverters 2,5: 7400 quad 2-input NAND 3: 7410tri 3-input NAND 4: 7420 dual 4-input NAND

14 Another Example: Magnitude Comparator A K-map forEQ AB CD D B C AB CD D B C A K-map forGT AB CD D B C A K-map forLT AB CD D B C K-map forNE A PLA Logic Implementation

15 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. 22G10, 20V8, etc.

16 Field Programmalble 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-volitile memory – Reprogramming is more difficult – Holds configuration when power is off

17 FPGA Structure Typical organization in 2-D array – Configurable logic blocks (CLBs) contain functional logic 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

18 FPGA Structure CLB SM CLB SM CLB SM CLB SM IOB Input/Output Block Switch Matrix Configurable Logic Block