Combinational Logic Design

1 / 24

# Combinational Logic Design - PowerPoint PPT Presentation

Combinational Logic Design. digital systems are complex and sophisticated. Millions of gates. It is impossible to design each and every implementation of functions from scratch. Even seemingly simple expressions may turn out to have not so simple implementations.

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

## PowerPoint Slideshow about 'Combinational Logic Design' - jock

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
Combinational Logic Design

digital systems are complex and sophisticated

Millions of gates

It is impossible to design each and every implementation of functions from scratch.

Even seemingly simple expressions may turn

out to have not so simple implementations.

Fortunately, many expressions are

compositions of expressions we know and

whose implementations we can re-use and

combine.

Digital design Ed F. Deprettere Leiden University

Design a circuit with nine inputs and one output:

if number of 1’s in input is odd (even) then output is 1 (0)

F(0, 0, 0, 0, 0, 0, 0, 1, 1) = 0 F(1, 0, 1, 0,1,0,0,0,0)= 1

What about the truth table? It has29 = 512 rows (!)

50% of these will have an odd number of 1’s :

256minterms(!)

It turns out thatall minterms are prime!

Conclusion: 9x256 = 2304 literals!

Example: 9-input Odd Parity Generator

Digital design Ed F. Deprettere Leiden University

n

Half the number of minterms (2

/2)

have an odd number of 1’s

XYZ+XYZ+XYZ+XYZ

and they all appear in the SOP form of the many-variable XOR

Y

An odd number of variables must be 1

No symplification is possible!

1

1

1

X

1

Z

Parity generator and parity checker

Recall XOR function:

X  Y  Z = m(1, 2, 4, 7)

Such functions are special. They are called Odd Functions. Why?

Parity GeneratorP = X  Y  Z

Parity CheckerC = X  Y  Z  P

MESSAGE = (X,Y,Z,P)

Total number of 1’s even

Digital design Ed F. Deprettere Leiden University

XOR(XOR(X, Y), Z) computes odd parity of three inputs (X,Y,Z)

Thus, odd parity of 9 inputs is generated by:

X

0

X

1

X

2

X

3

X

4

X

5

X

6

X

7

X

8

Example: 9-input Odd Parity Generator (cont’d)

Digital design Ed F. Deprettere Leiden University

Combinational Logic Design

How to design combinational circuits?

Use fundamental circuits called basic blocks

Re-usebasic blocks to design new circuits

Use hierarchy

Use toolsfor Computer Aided Design

Digital design Ed F. Deprettere Leiden University

System Diagram

Circuit Design for Unit

Circuit Symbol for Unit

Logic Diagram for Module

Example: The 9-variable PG

Digital design Ed F. Deprettere Leiden University

Design Procedure

Requirements (Input-Output) and Constraints

Specification Truth Table of Function for Requirements

Optimization (transformations) to meet constraints

Implementation Logic diagram using ANDs, ORs, and NOTs

Technology mapping Equivalent diagram based on available

cell library

Verification Diagram’s Output, given Inputs equals the

requirements.

Digital design Ed F. Deprettere Leiden University

Example

Requirement and Constraint One-bit adder; three-level.

Specification

Digital design Ed F. Deprettere Leiden University

X

Y

S

C

Z

S = X’Y’Z + X’YZ’ + XY’Z’ + XYZ = XOR(X,Y,Z)

C = XY + Z(XOR(X,Y)) (use maps)

Digital design Ed F. Deprettere Leiden University

(Seven-Segment)

(BCD)

(4) 0 1 0 0

Other Examples

BCD-to-Excess-3 Code Converter

Excess-3(Decimal) = Binary(Decimal + Decimal(3))

Decimal = 8

8 + 3 = 11

Excess-3(8) = 1011

See Lab Hands-on

BCD-to-Seven-Segment Decoder

Digital design Ed F. Deprettere Leiden University

A circuit is designed to inplement a function.

Question: is the design correct?

Answer: find the circuit’s actual input-ouput relation and see

whether it is the desired function.

How?

1. Label gate outputs that depend on input variables directly

2. Write Boolean functions for these gate outputs

3. Repeat process until final output is obtained

Verification

Alternatively: build up Truth Table instead of function.

Digital design Ed F. Deprettere Leiden University

Finding the circuit’s function

T1=B'C

T2=A'B

B'D

T3=T1+A=A+B'C

F2 = T5 = A'B + D

Digital design Ed F. Deprettere Leiden University

Write input rows (2n, where n is the number of inputs)

2. Break circuit up into blocks, label each block with symbol

3. Obtain truth table for blocks with functions that depend on input variables only

4. Go on to obtain truth table for blocks with functions that

depend on previously defined inputs and block outputs,

until columns for all circuit outputs are found.

Truth Table from Circuit

Digital design Ed F. Deprettere Leiden University

Example: Circuit to Truth Table

Digital design Ed F. Deprettere Leiden University

Circuit to Truth Table (cont’d)

Digital design Ed F. Deprettere Leiden University

Technology Mapping

Custom Design The best you can, using just transistors.

Time consuming and expensive

Standard-Cell Design Re-use of cells in library.

Faster, but sub-optimal

Gate-Array Design Pre-fabricated chips with millions of

gates. All that is to be done is connect the gates.

Very fast and to-day’s preferred

Gate Arrays are mature forms of Programmable Logic

Digital design Ed F. Deprettere Leiden University

“Programmable”

Programmable Logic

In general, Programmable Logic Array (PLA)

consist of two arrays:

An AND array, and

An OR array.

Array logic

Two-input AND

OR array

AND array

Three-input OR

Digital design Ed F. Deprettere Leiden University

2

• (PROM, EPROM, E PROM)
Types
• AND array is fixed (decoder), OR array is
• programmable
• AND array is programmable, OR array is fixed
• 3. AND array and OR array are programmable

The names: programmable logic devices:

2.Programmable array logic (PAL) devices

3. Programmable logic array (PLA) devices

Digital design Ed F. Deprettere Leiden University

k

k

A 2  n ROM stores 2 words of n bits each in a nonvolatile way.

k

It consists of 1) a k-to-2 decoder and 2) a programmable OR array

0

1

2

.

.

.

31

0

1

2

3

4

5-to-32

decoder

7 6 5 4 3 2 1 0

To be considered as having 32 inputs

Each decoder out connected to one

of the inputs of each OR gate

32 lines = 32 inputs/OR, 8 ORs 32  8=256 programmable connections.

Data out

Digital design Ed F. Deprettere Leiden University

XYZ F1 F2 F3 F4 (= Memory Word)

000 001 000 01 0000

001 000 010 00 0101

010 011 100 10 0000

011 000 100 00 0010

100 010 000 11 1100

Three bits

three bits three bits two bits four bits 12 bits

0

1

2

3

4

x

x

3-to-8

decoder

ROM design

Is a Truth table

Digital design Ed F. Deprettere Leiden University

P-term 1 connected

P-term 2 connected

P-term 3 not connected

P-term 4 connected

Out is F1 (not F1)

k  m prog. connects

F1 = AB + AC + ABC F2 = AC + BC

2n  k progr. connects

1

AB

Inputs Outputs

(T) (C)

Product terms A B C F1 F2

1 1 0 1

2 1 1 1 1

3 1 1 1

4 0 1 0 1

AC

2

BC

3

ABC

4

0

1

F1

C C B B A A

A connected

B connected

C not connected

F2

Prog’able Logic Array (PAL)

In a PLA, the decoder of the PROM is replaced

by an AND array.

The AND array generates product terms.

k P-terms (four)

PLA Programming table.

n inputs (three)

When programmable by user, PLA is called field programmble.

m outputs (two)

Digital design Ed F. Deprettere Leiden University

programmable

One buffer/inverter input

One buffer/inverter output feedback

One output

A k-wide AND-OR array (k programmable

AND gates and one fixed OR gate)

four programmable AND gate connections,

Prog’able Array Logic (PAL)

In these programmable devices, the OR array is fixed.

PALs are composed of a number of

PAL sections.

Out

Each section consists of:

In

Product terms cannot be shared among sections. Thus each output

(function) can be simplified by itself (unlike in PALs where you

want to share product terms).

The number of P-terms in a section is fixed. If you need more, use more sections.

Digital design Ed F. Deprettere Leiden University

A2 A1 A0 M2 M1 M0

0 0 0 1 0 1

0 0 1 1 1 1

0 1 0 1 0 1

0 1 1 0 1 0

1 0 1 1 1 1

1 1 0 0 0 1

MUX2 = m(0, 1, 2, 4) = A 2 A0 + A 1A0

MUX1 = m(1, 3, 4) = A 2A0 + A 1A0

A2 A2 A1 A1A0A0M2M2

MUX0 = m(0, 1, 2, 4,5) = MUX2 + A 1A0

1

A2

M0

2

P-term A2 A1 A0 M2 Output

1 1

2 1 0 M0

3 0 1

4 0 0 M1

5 0 0

6 0 1 M2

3

A1

M1

4

5

A0

M2

A2 connected

A1 not connected

A0 connected

6

Example.

PAL Programming Table.

Digital design Ed F. Deprettere Leiden University

FPGAs

Most popular are Xilinx and Altera. See your

hands-on exercise implementations.

I’ll come back to them when we have seen

sequential circuits.

Programming FPGAs is all you have to master

to realize even very complicated digital systems

That’s exactly what you will master by the end

of the course.

Digital design Ed F. Deprettere Leiden University