Lecture 4 Combinational Logic Implementation Technologies

1 / 32

# Lecture 4 Combinational Logic Implementation Technologies - PowerPoint PPT Presentation

Lecture 4 Combinational Logic Implementation Technologies. Prith Banerjee ECE C03 Advanced Digital Design Spring 1998. Outline. Review of Combinational Logic Technologies Programmable Logic Devices (PLA, PAL) MOS Transistor Logic

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Lecture 4 Combinational Logic Implementation Technologies' - rashida-turan

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Lecture 4Combinational Logic Implementation Technologies

Prith Banerjee

ECE C03

Spring 1998

ECE C03 Lecture 4

Outline
• Review of Combinational Logic Technologies
• Programmable Logic Devices (PLA, PAL)
• MOS Transistor Logic
• READING: Katz 4.1, 4.2, Dewey 5.2, 5.3, 5.4, 5.5 5.6, 5.7, 6.2

ECE C03 Lecture 4

Programmable Arrays of Logic Gates
• Until now, we learned about designing Boolean functions using discrete logic gates
• We will now describe a technique to arrange AND and OR gates (or NAND and NOR gates) into a general array structure
• Specific functions can be programmed
• Can use programmable logic arrays (PLA) or programmable array logic (PAL)

ECE C03 Lecture 4

PALs and PLAs

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

ECE C03 Lecture 4

Why PALs/PLAs Work

Equations

F0 = A + B\' C\'

F1 = A C\' + A B

F2 = B\' C\' + A B

F3 = B\' C + A

Key to Success: Shared Product Terms

Example:

Input Side:

1 = asserted in term

0 = negated in term

- = does not participate

Personality Matrix

Output Side:

1 = term connected to output

0 = no connection to output

ECE C03 Lecture 4

Example of PALs and PLAs

All possible connections are available

before programming

ECE C03 Lecture 4

Example of PALs and PLAs (Contd)

Unwanted connections are "blown"

Note: some array structures

work by making connections

rather than breaking them

ECE C03 Lecture 4

Alternative Representations

Short-hand notation

so we don\'t have to

draw all the wires!

Notation for implementing

F0 = A B + A\' B\'

F1 = C D\' + C\' D

ECE C03 Lecture 4

Design Example

Multiple functions of A, B, C

ABC

A

F1 = A B C

F2 = A + B + C

F3 = A B C

F4 = A + B + C

F5 = A xor B xor C

F6 = A xnor B xnor C

B

C

A

B

C

ABC

ABC

ABC

ABC

ABC

ABC

ABC

ECE C03 Lecture 4

F1

F2

F3

F4

F5

F6

Differences Between PALs and PLAs

PAL concept — implemented by Monolithic Memories

constrained topology of the OR Array

A given column of the OR array

the possible product terms

PLA concept — generalized topologies in AND and OR planes

ECE C03 Lecture 4

Design Example: BCD-to-Gray Code Converter

A

A

AB

AB

00

01

11

10

00

01

11

10

CD

CD

00

0

0

X

1

00

0

1

X

0

01

0

1

X

1

01

0

1

X

0

D

D

0

1

X

X

0

0

X

X

11

11

C

C

10

10

0

1

X

X

0

0

X

X

B

B

K-map for

W

K-map for

X

A

A

AB

AB

00

01

11

10

00

01

11

10

CD

CD

00

0

1

X

0

00

0

0

X

1

01

0

1

X

0

01

1

0

X

0

D

D

1

1

X

X

0

1

X

X

11

11

C

C

10

10

1

1

X

X

1

0

X

X

B

B

K-map for

Y

K-map for

Z

Truth Table

K-maps

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\'

ECE C03 Lecture 4

Programmed PAL

0

0

0

0

0

0

A B C D

ECE C03 Lecture 4

4 product terms per each OR gate

Code Converter: Discrete Gates

\

A

D

1

\

D

\

B

\

D

\

C

1: 7404 hex inverters

\

B

3: 7410

t

ri 3-input NAND

4: 7420 dual 4-input NAND

\A

A

1

\B

4

\C

B

D

2

3

W

D

B

C

3

B

2

D

C

4

4

Z

A

5

B

2

1

X

2

C

1

C

3

2

Y

B

1

4 SSI Packages vs. 1 PLA/PAL Package!

ECE C03 Lecture 4

Another Example: Magnitude Comparator

A

A

AB

AB

00

01

11

10

00

01

11

10

CD

CD

00

1

0

0

0

00

0

1

1

1

01

0

1

0

0

01

1

0

1

1

D

D

11

0

0

1

0

11

1

1

0

1

C

C

10

0

0

0

1

10

1

1

1

0

B

B

K-map for

EQ

K-map for

NE

A

A

AB

AB

00

01

11

10

00

01

11

10

CD

CD

00

00

0

0

0

0

0

1

1

1

1

0

0

0

0

0

1

1

01

01

D

D

11

1

1

0

1

11

0

0

0

0

C

C

10

1

1

0

0

10

0

0

1

0

B

B

K-map for

L

T

K-map for

GT

ABCD

ABCD

ABCD

ABCD

AC

AC

BD

BD

ABD

BCD

ABC

BCD

EQ

NE

LT

GT

ECE C03 Lecture 4

Non-Gate Logic

So far we have seen:

AND-OR-Invert

PAL/PLA

Generalized Building Blocks

Beyond Simple Gates

Kinds of "Non-gate logic":

• switching circuits built from CMOS transmission gates

• multiplexer/selecter functions

• decoders

• tri-state and open collector gates

ECE C03 Lecture 4

Steering Logic: Switches

Voltage Controlled Switches

n-type Si

p-type Si

"n-Channel MOS"

Metal Gate, Oxide, Silicon Sandwich

Diffusion regions: negatively charged ions driven into Si surface

Si Bulk: positively charged ions

By "pulling" electrons to the surface, a conducting channel is formed

ECE C03 Lecture 4

Switching or Steering Logic

Voltage Controlled Switches

Logic 1 on gate,

Source and Drain connected

Logic 0 on gate,

Source and Drain connected

ECE C03 Lecture 4

Logic Gates with Steering Logic

+5V

+5V

+5V

Logic Gates from Switches

A

B

A

B

A B

A

A

A + B

NOR Gate

NAND Gate

Inverter

Pull-up network constructed from pMOS transistors

Pull-down network constructed from nMOS transistors

ECE C03 Lecture 4

Inverter with Steering Logic

+5V

+5V

Inverter Operation

"1"

"0"

"0"

"1"

Input is 1

Pull-up does not conduct

Pull-down conducts

Output connected to GND

Input is 0

Pull-up conducts

Pull-down does not conduct

Output connected to VDD

ECE C03 Lecture 4

NAND Gate with Steering Logic

+5V

+5V

NAND Gate Operation

"1"

"0"

"1"

"1"

"0"

"1"

A = 0, B = 1

Pull-up network has path to VDD

Pull-down network path broken

Output node connected to VDD

A = 1, B = 1

Pull-up network does not conduct

Pull-down network conducts

Output node connected to GND

ECE C03 Lecture 4

NOR Gate with Steering Logic

+5V

+5V

NOR Gate Operation

"0"

"1"

"0"

"0"

"1"

"0"

A = 0, B = 0

Pull-up network conducts

Pull-down network broken

Output node at VDD

A = 1, B = 0

Pull-up network broken

Pull-down network conducts

Output node at GND

ECE C03 Lecture 4

CMOS Transmission Gate

nMOS transistors good at passing 0\'s but bad at passing 1\'s

pMOS transistors good at passing 1\'s but bad at passing 0\'s

perfect "transmission" gate places these in parallel:

Control

Control

Control

In

Out

In

Out

In

Out

Control

Control

Control

Transmission or

"Butterfly" Gate

Switches

Transistors

ECE C03 Lecture 4

Selection/Demultiplexing

S

I

0

S

Z

S

I

1

Selector:

Choose I0 if S = 0

Choose I1 if S = 1

S

S

Z

0

Demultiplexer:

I to Z0 if S = 0

I to Z1 if S = 1

S

S

I

Z

1

S

ECE C03 Lecture 4

Use of Multiplexers or Demultiplexers

A

Y

Demultiplexers

Multiplexers

B

Z

A

Y

Demultiplexers

Multiplexers

B

Z

So far, we\'ve only seen point-to-point connections among gates

Mux/Demux used to implement multiple source/multiple destination

interconnect

ECE C03 Lecture 4

Well-formed Switching Logic

Problem with the Demux implementation:

multiple outputs, but only one connected to the input!

S

Z

0

S

"0"

I

S

S

Z

1

S

"0"

S

The fix: additional logic to drive every output to a known value

Never allow outputs to "float"

ECE C03 Lecture 4

Complex Steering Logic Example

I

1

I

1

"0"

One

"0"

One

"1"

Zero

"0"

"1"

Zero

"0"

N Input Tally Circuit: count # of 1\'s in the inputs

Straight Through

Diagonal

Conventional Logic

for 1 Input Tally

Function

Switch Logic Implementation

of Tally Function

ECE C03 Lecture 4

Complex Steering Logic

"0"

"0"

One

"0"

"0"

One

"1"

Zero

"0"

"1"

Zero

"0"

Operation of the 1 Input Tally Circuit

Input is 0, straight through switches enabled

ECE C03 Lecture 4

Complex Steering Logic

"1"

"0"

One

"1"

"0"

One

"1"

Zero

"0"

"1"

Zero

"0"

Operation of 1 input Tally Circuit

Input = 1, diagonal switches enabled

ECE C03 Lecture 4

Complex Steering Logic Example

I

I

I

Zero

One

T

wo

1

1

2

I

0

0

1

0

0

2

0

1

0

1

0

1

0

0

1

0

1

1

0

0

1

T

wo

Extension to the 2-input case

Zero

One

Conventional logic implementation

ECE C03 Lecture 4

Complex Steering Logic Example

I

1

Switch Logic Implementation: 2-input Tally Circuit

I

I

2

2

"0"

Two

Two

One

"0"

"0"

One

Zero

"1"

Zero

"0"

"0"

I

1

One

"0"

One

Zero

"1"

Zero

"0"

"0"

ECE C03 Lecture 4

Complex Steering Logic

Operation of 2-input implementation

"0"

"0"

"1"

"0"

"0"

"0"

"0"

"0"

One

One

"0"

"1"

"0"

"0"

Zero

Zero

"1"

"0"

"1"

"1"

"0"

"0"

"0"

"0"

"1"

"1"

"0"

"1"

"0"

"0"

"0"

"1"

One

One

"0"

"1"

"0"

"0"

Zero

Zero

"1"

"0"

"1"

"0"

"0"

"0"

"0"

"0"

ECE C03 Lecture 4

Summary
• Review of Combinational Logic Implementation Technologies
• Programmable Logic Devices (PLA, PAL)
• MOS Transistor Logic
• NEXT LECTURE: Combinational Logic Implementation with Multiplexers, Decoders, ROMS and FPGAs
• READING: Katz 4.2.2, 4.2.3, 4.2.4, 4.2.5, 10.3, Dewey 5.7

ECE C03 Lecture 4