EE207: Digital Systems I, Semester I 2003/2004

30
EE207: Digital Systems I, Semester I 2003/2004 CHAPTER 6-i: Programmable Logic Devices (PLDs)

description

EE207: Digital Systems I, Semester I 2003/2004. CHAPTER 6-i: Programmable Logic Devices (PLDs). Overview. Three-State Buffers Programmable Logic Technologies Read-Only Memory (ROM) Programmable Logic Arrays (PLAs) Programmable Array Logic (PAL). Three-State Buffers. - PowerPoint PPT Presentation

Transcript of EE207: Digital Systems I, Semester I 2003/2004

Page 1: EE207: Digital Systems I, Semester I 2003/2004

EE207: Digital Systems I, Semester I 2003/2004

CHAPTER 6-i:

Programmable Logic Devices (PLDs)

Page 2: EE207: Digital Systems I, Semester I 2003/2004

Overview

• Three-State Buffers

• Programmable Logic Technologies– Read-Only Memory (ROM)– Programmable Logic Arrays (PLAs)– Programmable Array Logic (PAL)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

2Apr 20, 2023

Page 3: EE207: Digital Systems I, Semester I 2003/2004

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)

ENEN inin outout

00 XX ZZ

11 00 00

11 11 11

Apr 20, 2023

3Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

in out

EN

Page 4: EE207: Digital Systems I, Semester I 2003/2004

Three-state buffer(BUF)/inverter(INV)

symbols

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

4Apr 20, 2023

in out

EN

in out

EN

in out

EN

in out

EN

3-state BUF, EN high

3-state BUF, EN low 3-state INV, EN low

3-state INV, EN high

Page 5: EE207: Digital Systems I, Semester I 2003/2004

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.

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

5Apr 20, 2023

A

B

out

wiredlogic

If A = B out = A = BIf A B a large enough current can be created, that causes excessive heating and could damage the circuit.

Page 6: EE207: Digital Systems I, Semester I 2003/2004

Multiplexed output lines using three-state buffers (cont.)

• Solution: SS AA BB ENENAA ENENBB outout

00 00 00 11 00 00

00 00 11 11 00 00

00 11 00 11 00 11

00 11 11 11 00 11

11 00 00 00 11 00

11 00 11 00 11 11

11 11 00 00 11 00

11 11 11 00 11 11

Apr 20, 2023

6Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

A

B

out

ENA

ENB

S

A

B

A

B

S

out0

1

Page 7: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

7Apr 20, 2023

Page 8: EE207: Digital Systems I, Semester I 2003/2004

Gate Symbols

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

8Apr 20, 2023

...

Conventional AND gate symbol

...

Array Logic OR gate symbol

One major difference!

abc

F

F = a.b.c

a b cF = 0

F = a.c

Page 9: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

9Apr 20, 2023

ROM2k x nk m

Block Diagram

Page 10: EE207: Digital Systems I, Semester I 2003/2004

Read-Only Memory (cont.)

• Example: k=3, n=4

• There are 23=8 available addresses

• 4-bits are stored in each address

00

11

22

33

44

55

66

77

Apr 20, 2023

10Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Address

3 4

8x4 ROM

Page 11: EE207: Digital Systems I, Semester I 2003/2004

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.

Apr 20, 2023

11Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Programmablelogic. # of interconnectionsis 2255x8x8

Page 12: EE207: Digital Systems I, Semester I 2003/2004

Programming the ROM, i.e. load desired data at

specified addresses

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

12Apr 20, 2023

ROM addresses ROM data

Address(in decimal)

0123

28293031

Page 13: EE207: Digital Systems I, Semester I 2003/2004

Programming the ROM (cont.)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

13Apr 20, 2023

Example: Let I0I1I3I4 = 00010 (address 2). Then, output 2 of thedecoder will be 1, the remaining outputs will be 0, and ROM outputbecomes A7A6A5A4A3A2A1A0 = 11000101.

Page 14: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

14Apr 20, 2023

Page 15: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

15Apr 20, 2023

Page 16: EE207: Digital Systems I, Semester I 2003/2004

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)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

16Apr 20, 2023

3-to-8decoder

01234567

a

b

c

f g h

Page 17: EE207: Digital Systems I, Semester I 2003/2004

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).

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

17Apr 20, 2023

Page 18: EE207: Digital Systems I, Semester I 2003/2004

PLA Example

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

18Apr 20, 2023

AND array

OR array

• 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 compactimplementations than ROMs,since they can benefit fromminimizing the numberof products required toimplement a function

Page 19: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

19Apr 20, 2023

Page 20: EE207: Digital Systems I, Semester I 2003/2004

PLA Example (cont.)

Apr 20, 2023

20Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

XOR array

F2’ F1

Page 21: EE207: Digital Systems I, Semester I 2003/2004

PLA Example (cont.)Tabular Form Specification

of interconnection programming

Apr 20, 2023

21Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

F1 = AB’+AC+A’BC’F2 = AC+BC

Page 22: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

22Apr 20, 2023

Page 23: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

23Apr 20, 2023

Page 24: EE207: Digital Systems I, Semester I 2003/2004

PAL Example

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

24Apr 20, 2023

inputs

1st output section

2nd output section

3rd output section

4th output section

Only functions withat most four products can be implemented

Page 25: EE207: Digital Systems I, Semester I 2003/2004

PAL-based circuit implementation

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

25Apr 20, 2023

W = ABC + CDX = ABC + ACD + ACD + BCD Y = ACD + ACD + ABD

Page 26: EE207: Digital Systems I, Semester I 2003/2004

Can we implement more complex functions using PALs?

• Yes, by allowing output lines to also serve as input lines in the AND plane.

Apr 20, 2023

26Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

Page 27: EE207: Digital Systems I, Semester I 2003/2004

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)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

27Apr 20, 2023

Page 28: EE207: Digital Systems I, Semester I 2003/2004

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

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

28Apr 20, 2023

Page 29: EE207: Digital Systems I, Semester I 2003/2004

Example (cont.)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

29Apr 20, 2023

Page 30: EE207: Digital Systems I, Semester I 2003/2004

Example (cont.)

Chapter 6-i: Programmable Logic Devices (6.5 -- 6-8)

30Apr 20, 2023

Tabular Form Specificationof interconnection programming