Programmable Logic Devices (PLDs)

Slides:



Advertisements
Similar presentations
Random-Access Memory (RAM)
Advertisements

Digital Design: Combinational Logic Blocks
Overview Programmable Implementation Technologies (section 6.8)
Documentation Standards
CS370 – Spring 2003 Programmable Logic Devices PALs/PLAs.
Programmable Logic PAL, PLA.
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:
Combinational Logic Design
Parity. 2 Datasheets TTL:  CMOS: 
Chapter # 4: Programmable and Steering Logic Section 4.1
CENG 241 Digital Design 1 Lecture 12
Figure to-1 Multiplexer and Switch Analog
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Programmable Logic Devices, Threshold Logic
Random-Access Memory (RAM)
Dr. Ahmed El-Bialy, Dr. Sahar Fawzy Combinational Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
ROM & PLA Digital Logic And Computer Design
Chapter 5 Designing Combinational Systems Tell me what you Have in Have out And want done in between Then I can build a program to do anything. Capt. Ed.
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"
BR 8/991 Combinational Building Blocks 2/1 Multiplexor (MUX) I0 I1 Y S if S = 0, then Y = I0 if S = 1, then Y = I1 Y = I0 S’ + I1 S I0 I1 Y S A[3:0] B[3:0]
Chapter 0 - reVieW Combinational Logic Circuit, Combinational Logic Circuit, Propagation Delay, Propagation Delay, Programmable Logic. Programmable Logic.
Programmable Logic Devices (PLDs)
Lecture 11 Combinational Design Procedure
EE207: Digital Systems I, Semester I 2003/2004
Chapter # 4: Programmable Logic
1 CS 151: Digital Design Chapter 3: Combinational Logic Design 3-1Design Procedure CS 151: Digital Design.
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.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
ACOE161Digital Circuit Design1 Design Of Combinational Logic Circuits.
1 Combinational Logic Design.  A process with 5 steps Specification Formulation Optimization Technology mapping Verification  1 st three steps and last.
1 Chap 6. Memory and Programmable Devices Memory & Programmable Logic Device Definitions Memory –a collection of cells capable of storing binary.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
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.
CENG 241 Digital Design 1 Lecture 13
This chapter in the book includes: Objectives Study Guide
Memory and Programmable Logic
ETE Digital Electronics
Digital Design Lecture 14
Chapter # 4: Programmable Logic
CS221: Digital Logic Design Combinational Circuits 3
Logic and Computer Design Fundamentals
Lecture 9 Logistics Last lecture Today HW3 due Wednesday
Dr. Clincy Professor of CS
This chapter in the book includes: Objectives Study Guide
ECE 434 Advanced Digital System L03
CPE/EE 422/522 Advanced Logic Design L02
Buffers Buffer: Doesn’t change the input. Only amplifies. EN in out.
FIGURE 7.1 Conventional and array logic diagrams for OR gate
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
ECE434a Advanced Digital Systems L02
Programmable Logic.
Programmable Configurations
Chapter 7 Memory and Programmable Logic
COE 202: Digital Logic Design Combinational Circuits Part 3
Unit -06 PLDs.
Lecture 10 Logistics Last lecture Today
Dr. Clincy Professor of CS
Princess Sumaya University
Lecture 11 Logistics Last lecture Today HW3 due now
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Overview Last lecture Timing; Hazards/glitches
Analysis of Logic Circuits Example 1
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Presentation transcript:

Programmable Logic Devices (PLDs) 28-Nov-18 Programmable Logic Devices (PLDs) Chapter 6-i: Programmable Logic Devices (Sections 6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Overview Three-State Buffers Programmable Logic Technologies Read-Only Memory (ROM) Programmable Logic Arrays (PLAs) Programmable Array Logic (PAL) 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Three-State Buffers Buffer output has 3 states: 0, 1, Z Z stands for High-Impedance  Open circuit EN = 0  out = Z (open circuit) EN = 1  out = in (regular buffer) EN in out X Z 1 EN in out 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Three-state buffer(BUF)/inverter(INV) symbols EN EN in out in out 3-state BUF, EN high 3-state INV, EN high EN EN in out in out 3-state BUF, EN low 3-state INV, EN low 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Multiplexed output lines using three-state buffers Assume an output line that can receive data from either a system (circuit) A or a system B. A If A = B  out = A = B If A  B  a large enough current can be created, that causes excessive heating and could damage the circuit. out B wired logic 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Multiplexed output lines using three-state buffers (cont.) Solution: S A B ENA ENB out 1 A B S out 1 A B out ENA ENB S A B 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programmable Logic Devices (PLDs) Standard logic devices that can be programmed to implement any combinational logic circuit. Standard  of regular structure Programmed  refers to a hardware process used to specify the logic that a PLD implements 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Gate Symbols One major difference! . . . . . . Conventional AND gate symbol Array Logic OR gate symbol One major difference! a b c F = 0 a F b c F = a.c F = a.b.c 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Read-Only Memory (ROM) Stores binary information permanently Non-Volatile (info is kept even when power is turned off) k inputs = specify the # of addresses available n outputs = specify the size of data ROM 2k x n k m Block Diagram 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Read-Only Memory (cont.) Address 8x4 ROM Example: k=3, n=4 There are 23=8 available addresses 4-bits are stored in each address 1 2 3 4 5 6 7 3 4 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

ROM construction: Example of an 25x8 ROM Use a 5-to-32 decoder to generate the 32 addresses. Use 8 OR gates, each can be programmed to be driven by any of the decoder outputs. Programmable logic. # of interconnections is 25x8 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programming the ROM, i.e. load desired data at specified addresses (in decimal) 1 2 3 28 29 30 31 ROM addresses ROM data 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programming the ROM (cont.) Example: Let I0I1I3I4 = 00010 (address 2). Then, output 2 of the decoder will be 1, the remaining outputs will be 0, and ROM output becomes A7A6A5A4A3A2A1A0 = 11000101. 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

ROM-based circuit implementation Given a 2kxn ROM, we can implement ANY combinational circuit with at most k inputs and at most n outputs. Why? k-to-2k decoder will generate all 2k possible minterms Each of the OR gates must implement a m() Each m() can be programmed 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Example Find a ROM-based circuit implementation for: f(a,b,c) = a’b’ + abc g(a,b,c) = a’b’c’ + ab + bc h(a,b,c) = a’b’ + c Solution: Express f(), g(), and h() in m() format (use truth tables) Program the ROM based on the 3 m()’s 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Example (cont.) There are 3 inputs and 3 outputs, thus we need a 8x3 ROM block. f = m(0, 1, 7) g = m(0, 3, 6, 7) h = m(0, 1, 3, 5, 7) a 1 2 3 4 5 6 7 3-to-8 decoder b c f g h 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programmable Logic Arrays (PLAs) Similar concept as in ROM, except that a PLA does not necessarily generate all possible minterms (ie. the decoder is not used). More precisely, in PLAs both the AND and OR arrays can be programmed (in ROM, the AND array is fixed – the decoder – and only the OR array can be programmed). 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) PLA Example f(a,b,c) = a’b’ + abc g(a,b,c) = a’b’c’ + ab + bc h(a,b,c) = c PLAs can be more compact implementations than ROMs, since they can benefit from minimizing the number of products required to implement a function AND array OR array 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Another PLA Example Find a PLA-based circuit implementation for: F1(A,B,C) = AB’ + AC + A’BC’ F2(A,B,C) = (AC + BC)’ Solution: 3 inputs, 2 outputs ( 2 OR gates) 4 distinct product terms (4 AND gates) Use XOR array to find complements 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) PLA Example (cont.) XOR array F2’ F1 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

PLA Example (cont.) Tabular Form Specification of interconnection programming F1 = AB’+AC+A’BC’ F2 = AC+BC 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Determining the size of a PLA Given: n inputs p product terms m outputs PLA size is: Gates: n INV (and maybe n BUF) + p ANDs + m ORs + m XORs Programmable interconnections: 2np + pm + 2m 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programmable Array Logic (PAL) OR plane (array) is fixed, AND plane can be programmed Less flexible than PLA # of product terms available per function (OR outputs) is limited 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) PAL Example inputs 1st output section 2nd output section Only functions with at most four products can be implemented 3rd output section 4th output section 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

PAL-based circuit implementation W = ABC + CD X = ABC + ACD + ACD + BCD Y = ACD + ACD + ABD 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Can we implement more complex functions using PALs? Yes, by allowing output lines to also serve as input lines in the AND plane. 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Example Implement the combinational circuit described by the following equations, using a PAL with 4 inputs, 4 outputs, and 3-wide AND-OR structure. W(A,B,C,D) = m(2,12,13) X(A,B,C,D) = m(7,8,9,10,11,12,13,14,15) Y(A,B,C,D) = m(0,2,3,4,5,6,7,8,10,11,15) Z(A,B,C,D) = m(1,2,8,12,13) 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Example (cont.) Use function simplification techniques to derive: W = ABC’+A’B’CD’ X = A+BCD Y=A’B+CD+B’D’ Z=ABC’+A’B’CD’+AC’D’+A’B’C’D = W + AC’D’+A’B’C’D 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8) Example (cont.) 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Example (cont.) Tabular Form Specification of interconnection programming 28-Nov-18 Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)