Chapter 2 Digital Design and Computer Architecture , 2 nd Edition - - PowerPoint PPT Presentation

chapter 2
SMART_READER_LITE
LIVE PREVIEW

Chapter 2 Digital Design and Computer Architecture , 2 nd Edition - - PowerPoint PPT Presentation

Chapter 2 Digital Design and Computer Architecture , 2 nd Edition David Money Harris and Sarah L. Harris Chapter 2 <1> Chapter 2 :: Topics Introduction Boolean Equations Boolean Algebra From Logic to Gates Multilevel


slide-1
SLIDE 1

Chapter 2 <1>

Digital Design and Computer Architecture, 2nd Edition

Chapter 2

David Money Harris and Sarah L. Harris

slide-2
SLIDE 2

Chapter 2 <2>

  • Introduction
  • Boolean Equations
  • Boolean Algebra
  • From Logic to Gates
  • Multilevel Combinational Logic
  • X’s and Z’s, Oh My
  • Karnaugh Maps
  • Combinational Building Blocks
  • Timing

Chapter 2 :: Topics

slide-3
SLIDE 3

Chapter 2 <3>

A logic circuit is composed of:

  • Inputs
  • Outputs
  • Functional specification
  • Timing specification

inputs

  • utputs

functional spec timing spec

Introduction

slide-4
SLIDE 4

Chapter 2 <4>

  • Nodes

– Inputs: A, B, C – Outputs: Y, Z – Internal: n1

  • Circuit elements

– E1, E2, E3 – Each a circuit

A E1 E2 E3 B C n1 Y Z

Circuits

slide-5
SLIDE 5

Chapter 2 <5>

  • Combinational Logic

– Memoryless – Outputs determined by current values of inputs

  • Sequential Logic

– Has memory – Outputs determined by previous and current values

  • f inputs

inputs

  • utputs

functional spec timing spec

Types of Logic Circuits

slide-6
SLIDE 6

Chapter 2 <6>

  • Every element is combinational
  • Every node is either an input or connects

to exactly one output

  • The circuit contains no cyclic paths
  • Example:

Rules of Combinational Composition

slide-7
SLIDE 7

Chapter 2 <7>

  • Functional specification of outputs in terms
  • f inputs
  • Example: S

= F(A, B, Cin) Cout = F(A, B, Cin)

A S S = A B Cin Cout = AB + ACin + BCin B Cin C L Cout

Boolean Equations

slide-8
SLIDE 8

Chapter 2 <8>

  • Complement: variable with a bar over it

A, B, C

  • Literal: variable or its complement

A, A, B, B, C, C

  • Implicant: product of literals

ABC, AC, BC

  • Minterm: product that includes all input

variables ABC, ABC, ABC

  • Maxterm: sum that includes all input variables

(A+B+C), (A+B+C), (A+B+C)

Some Definitions

slide-9
SLIDE 9

Chapter 2 <9>

Y = F(A, B) =

  • All equations can be written in SOP form
  • Each row has a minterm
  • A minterm is a product (AND) of literals
  • Each minterm is TRUE for that row (and only that row)
  • Form function by ORing minterms where the output is TRUE
  • Thus, a sum (OR) of products (AND terms)

Sum-of-Products (SOP) Form

A B Y 1 1 1 1 1 1 minterm A B A B A B A B minterm name m0 m1 m2 m3

slide-10
SLIDE 10

Chapter 2 <10>

Y = F(A, B) =

Sum-of-Products (SOP) Form

  • All equations can be written in SOP form
  • Each row has a minterm
  • A minterm is a product (AND) of literals
  • Each minterm is TRUE for that row (and only that row)
  • Form function by ORing minterms where the output is TRUE
  • Thus, a sum (OR) of products (AND terms)

A B Y 1 1 1 1 1 1 minterm A B A B A B A B minterm name m0 m1 m2 m3

slide-11
SLIDE 11

Chapter 2 <11>

Y = F(A, B) = AB + AB = Σ(1, 3)

Sum-of-Products (SOP) Form

  • All equations can be written in SOP form
  • Each row has a minterm
  • A minterm is a product (AND) of literals
  • Each minterm is TRUE for that row (and only that row)
  • Form function by ORing minterms where the output is TRUE
  • Thus, a sum (OR) of products (AND terms)

A B Y 1 1 1 1 1 1 minterm A B A B A B A B minterm name m0 m1 m2 m3

slide-12
SLIDE 12

Chapter 2 <12>

Y = F(A, B) = (A + B)(A + B) = Π(0, 2)

  • All Boolean equations can be written in POS form
  • Each row has a maxterm
  • A maxterm is a sum (OR) of literals
  • Each maxterm is FALSE for that row (and only that row)
  • Form function by ANDing the maxterms for which the
  • utput is FALSE
  • Thus, a product (AND) of sums (OR terms)

Product-of-Sums (POS) Form

A + B A B Y 1 1 1 1 1 1 maxterm A + B A + B A + B maxterm name M0 M1 M2 M3

slide-13
SLIDE 13

Chapter 2 <13>

  • You are going to the cafeteria for lunch

– You won’t eat lunch (E) – If it’s not open (O) or – If they only serve corndogs (C)

  • Write a truth table for determining if you

will eat lunch (E).

O C E 1 1 1 1

Boolean Equations Example

slide-14
SLIDE 14

Chapter 2 <14>

  • You are going to the cafeteria for lunch

– You won’t eat lunch (E) – If it’s not open (O) or – If they only serve corndogs (C)

  • Write a truth table for determining if you

will eat lunch (E).

O C E 1 1 1 1 1

Boolean Equations Example

slide-15
SLIDE 15

Chapter 2 <15>

SOP & POS Form

  • SOP – sum-of-products
  • POS – product-of-sums

O C E 1 1 1 1 minterm O C O C O C O C O + C O C E 1 1 1 1 maxterm O + C O + C O + C

slide-16
SLIDE 16

Chapter 2 <16>

  • SOP – sum-of-products
  • POS – product-of-sums

O + C O C E 1 1 1 1 1 maxterm O + C O + C O + C

O C E 1 1 1 1 1 minterm O C O C O C O C

E = (O + C)(O + C)(O + C) = Π(0, 1, 3) E = OC = Σ(2)

SOP & POS Form

slide-17
SLIDE 17

Chapter 2 <17>

  • Axioms and theorems to simplify Boolean

equations

  • Like regular algebra, but simpler: variables

have only two values (1 or 0)

  • Duality in axioms and theorems:

– ANDs and ORs, 0’s and 1’s interchanged

Boolean Algebra

slide-18
SLIDE 18

Chapter 2 <18>

Boolean Axioms

slide-19
SLIDE 19

Chapter 2 <19>

  • B 1 = B
  • B + 0 = B

T1: Identity Theorem

slide-20
SLIDE 20

Chapter 2 <20>

1

= =

B B B B

  • B 1 = B
  • B + 0 = B

T1: Identity Theorem

slide-21
SLIDE 21

Chapter 2 <21>

  • B 0 = 0
  • B + 1 = 1

T2: Null Element Theorem

slide-22
SLIDE 22

Chapter 2 <22>

= =

B 1 B 1

  • B 0 = 0
  • B + 1 = 1

T2: Null Element Theorem

slide-23
SLIDE 23

Chapter 2 <23>

  • B B = B
  • B + B = B

T3: Idempotency Theorem

slide-24
SLIDE 24

Chapter 2 <24>

B

= =

B B B B B

  • B B = B
  • B + B = B

T3: Idempotency Theorem

slide-25
SLIDE 25

Chapter 2 <25>

  • B = B

T4: Identity Theorem

slide-26
SLIDE 26

Chapter 2 <26>

= B

B

  • B = B

T4: Identity Theorem

slide-27
SLIDE 27

Chapter 2 <27>

  • B B = 0
  • B + B = 1

T5: Complement Theorem

slide-28
SLIDE 28

Chapter 2 <28>

B

= =

B B B 1

  • B B = 0
  • B + B = 1

T5: Complement Theorem

slide-29
SLIDE 29

Chapter 2 <29>

Boolean Theorems Summary

slide-30
SLIDE 30

Chapter 2 <30>

Boolean Theorems of Several Vars

Note: T8’ differs from traditional algebra: OR (+) distributes over AND (•)

( )

slide-31
SLIDE 31

Chapter 2 <31>

Y = AB + AB

Simplifying Boolean Equations

Example 1:

slide-32
SLIDE 32

Chapter 2 <32>

Y = AB + AB = B(A + A) T8 = B(1) T5’ = B T1

Simplifying Boolean Equations

Example 1:

slide-33
SLIDE 33

Chapter 2 <33>

Y = A(AB + ABC)

Example 2:

Simplifying Boolean Equations

slide-34
SLIDE 34

Chapter 2 <34>

Y = A(AB + ABC) = A(AB(1 + C)) T8 = A(AB(1)) T2’ = A(AB) T1 = (AA)B T7 = AB T3

Example 2:

Simplifying Boolean Equations

slide-35
SLIDE 35

Chapter 2 <35>

  • Y = AB = A + B
  • Y = A + B = A B

A B Y A B Y A B Y A B Y

DeMorgan’s Theorem

slide-36
SLIDE 36

Chapter 2 <36>

  • Backward:

– Body changes – Adds bubbles to inputs

  • Forward:

– Body changes – Adds bubble to output

A B Y A B Y

A B Y A B Y

Bubble Pushing

slide-37
SLIDE 37

Chapter 2 <37>

A B Y C D

  • What is the Boolean expression for this

circuit?

Bubble Pushing

slide-38
SLIDE 38

Chapter 2 <38>

A B Y C D

  • What is the Boolean expression for this

circuit? Y = AB + CD

Bubble Pushing

slide-39
SLIDE 39

Chapter 2 <39>

A B C D Y

  • Begin at output, then work toward inputs
  • Push bubbles on final output back
  • Draw gates in a form so bubbles cancel

Bubble Pushing Rules

slide-40
SLIDE 40

Chapter 2 <40>

A B C Y D

Bubble Pushing Example

slide-41
SLIDE 41

Chapter 2 <41>

A B C Y D no output bubble

Bubble Pushing Example

slide-42
SLIDE 42

Chapter 2 <42>

bubble on input and output A B C D Y A B C Y D no output bubble

Bubble Pushing Example

slide-43
SLIDE 43

Chapter 2 <43>

A B C D Y bubble on input and output A B C D Y A B C Y D Y = ABC + D no output bubble no bubble on input and output

Bubble Pushing Example

slide-44
SLIDE 44

Chapter 2 <44>

  • Two-level logic: ANDs followed by ORs
  • Example: Y = ABC + ABC + ABC

B A C Y minterm: ABC minterm: ABC minterm: ABC A B C

From Logic to Gates

slide-45
SLIDE 45

Chapter 2 <45>

  • Inputs on the left (or top)
  • Outputs on right (or bottom)
  • Gates flow from left to right
  • Straight wires are best

Circuit Schematics Rules

slide-46
SLIDE 46

Chapter 2 <46>

  • Wires always connect at a T junction
  • A dot where wires cross indicates a

connection between the wires

  • Wires crossing without a dot make no

connection

wires connect at a T junction wires connect at a dot wires crossing without a dot do not connect

Circuit Schematic Rules (cont.)

slide-47
SLIDE 47

Chapter 2 <47>

A1 A 1 1 1 1 Y3 Y2 Y1 Y0 A

3

A2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A0 A1 PRIORITY CiIRCUIT A2 A3 Y0 Y1 Y2 Y3

  • Example: Priority Circuit

Output asserted corresponding to most significant TRUE input

Multiple-Output Circuits

slide-48
SLIDE 48

Chapter 2 <48>

A1 A 1 1 1 1 Y3 Y2 Y1 Y0 1 1 1 A

3

A2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A0 A1 PRIORITY CiIRCUIT A2 A3 Y0 Y1 Y2 Y3

  • Example: Priority Circuit

Output asserted corresponding to most significant TRUE input

Multiple-Output Circuits

slide-49
SLIDE 49

Chapter 2 <49>

A1 A 1 1 1 1 Y3 Y2 Y1 Y0 1 1 1 A

3

A2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A3A2A1A0 Y3 Y2 Y1 Y0

Priority Circuit Hardware

slide-50
SLIDE 50

Chapter 2 <50>

A1 A 1 1 1 1 Y3 Y2 Y1 Y0 1 1 1 A

3

A2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A1 A0 1 1 X X X Y3 Y2 Y1 Y0 1 1 1 A3 A2 1 X X 1 1 X

Don’t Cares

slide-51
SLIDE 51

Chapter 2 <51>

  • Contention: circuit tries to drive output to 1 and 0

– Actual value somewhere in between – Could be 0, 1, or in forbidden zone – Might change with voltage, temperature, time, noise – Often causes excessive power dissipation

  • Warnings:

– Contention usually indicates a bug. – X is used for “don’t care” and contention - look at the context to tell them apart

A = 1 Y = X B = 0

Contention: X

slide-52
SLIDE 52

Chapter 2 <52>

  • Floating, high impedance, open, high Z
  • Floating output might be 0, 1, or

somewhere in between

– A voltmeter won’t indicate whether a node is floating Tristate Buffer

E A Y Z 1 Z 1 1 1 1 A E Y

Floating: Z

slide-53
SLIDE 53

Chapter 2 <53>

  • Floating nodes are used in tristate

busses

– Many different drivers – Exactly one is active at

  • nce

en1 to bus from bus en2 to bus from bus en3 to bus from bus en4 to bus from bus

shared bus processor video Ethernet memory

Tristate Busses

slide-54
SLIDE 54

Chapter 2 <54>

  • Boolean expressions can be minimized by

combining terms

  • K-maps minimize equations graphically
  • PA + PA = P

C 00 01 1 Y 11 10 AB 1 1 C 00 01 1 Y 11 10 AB ABC ABC ABC ABC ABC ABC ABC ABC B C 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 Y

Karnaugh Maps (K-Maps)

slide-55
SLIDE 55

Chapter 2 <55>

C 00 01 1 Y 11 10 AB 1 1

B C 1 1 1 1 A 1 1 1 1 1 1 1 1 1 1 Y

  • Circle 1’s in adjacent squares
  • In Boolean expression, include only

literals whose true and complement form are not in the circle

Y = AB

K-Map

slide-56
SLIDE 56

Chapter 2 <56>

C 00 01 1 Y 11 10 AB ABC ABC ABC ABC ABC ABC ABC ABC

1 B C Y 1 1 1 1 1 Truth Table C 00 01 1 Y 11 10 AB A 1 1 1 1 1 1 1 1 1 K-Map

3-Input K-Map

slide-57
SLIDE 57

Chapter 2 <57>

C 00 01 1 Y 11 10 AB ABC ABC ABC ABC ABC ABC ABC ABC

1 B C Y 1 1 1 1 1 Truth Table C 00 01 1 Y 11 10 AB A 1 1 1 1 1 1 1 1 1

1 1 1

K-Map

Y = AB + BC

3-Input K-Map

slide-58
SLIDE 58

Chapter 2 <58>

  • Complement: variable with a bar over it

A, B, C

  • Literal: variable or its complement

A, A, B, B, C, C

  • Implicant: product of literals

ABC, AC, BC

  • Prime implicant: implicant corresponding to

the largest circle in a K-map

K-Map Definitions

slide-59
SLIDE 59

Chapter 2 <59>

  • Every 1 must be circled at least once
  • Each circle must span a power of 2 (i.e. 1, 2,

4) squares in each direction

  • Each circle must be as large as possible
  • A circle may wrap around the edges
  • A “don't care” (X) is circled only if it helps

minimize the equation

K-Map Rules

slide-60
SLIDE 60

Chapter 2 <60>

01 11 01 11 10 00 00 10 AB CD Y C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

4-Input K-Map

slide-61
SLIDE 61

Chapter 2 <61>

01 11 1 1 1 1 01 1 1 1 1 1 11 10 00 00 10 AB CD Y C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

4-Input K-Map

slide-62
SLIDE 62

Chapter 2 <62>

01 11 1 1 1 1 01 1 1 1 1 1 11 10 00 00 10 AB CD Y Y = AC + ABD + ABC + BD C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

4-Input K-Map

slide-63
SLIDE 63

Chapter 2 <63>

C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 X 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X 01 11 01 11 10 00 00 10 AB CD Y

K-Maps with Don’t Cares

slide-64
SLIDE 64

Chapter 2 <64>

C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 X 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X 01 11 1 X X X 1 1 01 1 1 1 1 X X X X 11 10 00 00 10 AB CD Y

K-Maps with Don’t Cares

slide-65
SLIDE 65

Chapter 2 <65>

C D 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 X 1 1 Y A 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X 01 11 1 X X X 1 1 01 1 1 1 1 X X X X 11 10 00 00 10 AB CD Y Y = A + BD + C

K-Maps with Don’t Cares

slide-66
SLIDE 66

Chapter 2 <66>

  • Multiplexers
  • Decoders

Combinational Building Blocks

slide-67
SLIDE 67

Chapter 2 <67>

  • Selects between one of N inputs to connect

to output

  • log2N-bit select input – control input
  • Example:

2:1 Mux

Multiplexer (Mux)

Y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 S D0 Y D1 D1 D0 S Y 1 D1 D0 S

slide-68
SLIDE 68

Chapter 2 <68>

2-<68>

  • Logic gates

– Sum-of-products form

Y D0 S D1

D1 Y D0 S S 00 01 1 Y 11 10 D0 D1 1 1 1 1 Y = D0S + D1S

  • Tristates

– For an N-input mux, use N tristates – Turn on exactly one to select the appropriate input

Multiplexer Implementations

slide-69
SLIDE 69

Chapter 2 <69>

A B Y 1 1 1 1 1 Y = AB

00

Y

01 10 11

A B

  • Using the mux as a lookup table

Logic using Multiplexers

slide-70
SLIDE 70

Chapter 2 <70>

A B Y 1 1 1 1 1 Y = AB A Y 1 1 A B Y B

  • Reducing the size of the mux

Logic using Multiplexers

slide-71
SLIDE 71

Chapter 2 <71>

2:4 Decoder A1 A0 Y3 Y2 Y1 Y0 00 01 10 11 1 1 1 1 1 Y3 Y2 Y1 Y0 A0 A1 1 1 1

  • N inputs, 2N outputs
  • One-hot outputs: only one output HIGH at
  • nce

Decoders

slide-72
SLIDE 72

Chapter 2 <72>

Y3 Y2 Y1 Y0 A0 A1

Decoder Implementation

slide-73
SLIDE 73

Chapter 2 <73>

2:4 Decoder A B 00 01 10 11 Y = AB + AB Y AB AB AB AB Minterm = A B

  • OR minterms

Logic Using Decoders

slide-74
SLIDE 74

Chapter 2 <74>

A Y Time delay A Y

  • Delay between input change and output

changing

  • How to build fast circuits?

Timing

slide-75
SLIDE 75

Chapter 2 <75>

A Y Time A Y tpd tcd

  • Propagation delay: tpd = max delay from input to output
  • Contamination delay: tcd = min delay from input to
  • utput

Propagation & Contamination Delay

slide-76
SLIDE 76

Chapter 2 <76>

  • Delay is caused by

– Capacitance and resistance in a circuit – Speed of light limitation

  • Reasons why tpd and tcd may be different:

– Different rising and falling delays – Multiple inputs and outputs, some of which are faster than others – Circuits slow down when hot and speed up when cold

Propagation & Contamination Delay

slide-77
SLIDE 77

Chapter 2 <77>

A B C D Y Critical Path Short Path n1 n2

Critical (Long) Path: tpd = 2tpd_AND + tpd_OR Short Path: tcd = tcd_AND

Critical (Long) & Short Paths

slide-78
SLIDE 78

Chapter 2 <78>

  • When a single input change causes an output

to change multiple times

Glitches

slide-79
SLIDE 79

Chapter 2 <79>

A B C Y 00 01 1 Y 11 10 AB 1 1 1 1 C Y = AB + BC

  • What happens when A = 0, C = 1, B falls?

Glitch Example

slide-80
SLIDE 80

Chapter 2 <80>

A = 0 B = 1 0 C = 1 Y = 1 0 1 Short Path Critical Path B Y Time 1 0 0 1 glitch

n1 n2

n2 n1

Glitch Example (cont.)

slide-81
SLIDE 81

Chapter 2 <81>

00 01 1 Y 11 10 AB 1 1 1 1 C Y = AB + BC + AC AC

B = 1 0 Y = 1 A = 0 C = 1

Fixing the Glitch

slide-82
SLIDE 82

Chapter 2 <82>

  • Glitches don’t cause problems because of

synchronous design conventions (see Chapter 3)

  • It’s important to recognize a glitch: in

simulations or on oscilloscope

  • Can’t get rid of all glitches – simultaneous

transitions on multiple inputs can also cause glitches

Why Understand Glitches?