Top Banner
Chapter 2 1 Chapter 2 Algebraic Methods for the Analysis and Synthesis of Logic Circuits
100
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 2

Chapter 2 1

Chapter 2Algebraic Methods for the Analysis and

Synthesis of Logic Circuits

Page 2: Chapter 2

Chapter 2 2

Fundamentals of Boolean Algebra (1)

• Basic Postulates

• Postulate 1 (Definition): A Boolean algebra is a closed algebraic system containing a set K of two or more elements and the two operators and +.

• Postulate 2 (Existence of 1 and 0 element):

(a) a + 0 = a (identity for +), (b) a 1 = a (identity for )

• Postulate 3 (Commutativity):

(a) a + b = b + a, (b) a b = b a

• Postulate 4 (Associativity):

(a) a + (b + c) = (a + b) + c (b) a (bc) = (ab) c

• Postulate 5 (Distributivity):

(a) a + (bc) = (a + b) (a + c) (b) a (b + c) = ab + ac

• Postulate 6 (Existence of complement):

(a) (b)

• Normally is omitted.a a 1 a a 0

Page 3: Chapter 2

Chapter 2 3

Fundamentals of Boolean Algebra (2)

• Fundamental Theorems of Boolean Algebra

• Theorem 1 (Idempotency):

(a) a + a = a (b) aa = a

• Theorem 2 (Null element):

(a) a + 1 = 1 (b) a0 = 0

• Theorem 3 (Involution)

• Properties of 0 and 1 elements (Table 2.1):

OR AND Complement

a + 0 = 0 a0 = 0 0' = 1

a + 1 = 1 a1 = a 1' = 0

a a

Page 4: Chapter 2

Chapter 2 4

Fundamentals of Boolean Algebra (3)

• Theorem 4 (Absorption)

(a) a + ab = a (b) a(a + b) = a

• Examples:

– (X + Y) + (X + Y)Z = X + Y [T4(a)]

– AB'(AB' + B'C) = AB' [T4(b)]

• Theorem 5

(a) a + a'b = a + b (b) a(a' + b) = ab

• Examples:

– B + AB'C'D = B + AC'D [T5(a)]

– (X + Y)((X + Y)' + Z) = (X + Y)Z [T5(b)]

Page 5: Chapter 2

Chapter 2 5

Fundamentals of Boolean Algebra (4)

• Theorem 6

(a) ab + ab' = a (b) (a + b)(a + b') = a

• Examples:

– ABC + AB'C = AC [T6(a)]

– (W' + X' + Y' + Z')(W' + X' + Y' + Z)(W' + X' + Y + Z')(W' + X' + Y + Z)

= (W' + X' + Y')(W' + X' + Y + Z')(W' + X' + Y + Z) [T6(b)]

= (W' + X' + Y')(W' + X' + Y) [T6(b)]

= (W' + X')[T6(b)]

Page 6: Chapter 2

Chapter 2 6

Fundamentals of Boolean Algebra (5)

• Theorem 7

(a) ab + ab'c = ab + ac (b) (a + b)(a + b' + c) = (a + b)(a + c)

• Examples:

– wy' + wx'y + wxyz + wxz' = wy' + wx'y + wxy + wxz' [T7(a)]

= wy' + wy + wxz'[T7(a)]

= w + wxz'[T7(a)]

= w[T7(a)]

– (x'y' + z)(w + x'y' + z') = (x'y' + z)(w + x'y') [T7(b)]

Page 7: Chapter 2

Chapter 2 7

Fundamentals of Boolean Algebra (6)

• Theorem 8 (DeMorgan's Theorem)

(a) (a + b)' = a'b' (b) (ab)' = a' + b'

• Generalized DeMorgan's Theorem

(a) (a + b + … z)' = a'b' … z' (b) (ab … z)' = a' + b' + … z'

• Examples:

– (a + bc)' = (a + (bc))'

= a'(bc)' [T8(a)]

= a'(b' + c') [T8(b)]

= a'b' + a'c' [P5(b)]

– Note: (a + bc)' a'b' + c'

Page 8: Chapter 2

Chapter 2 8

Fundamentals of Boolean Algebra (7)

• More Examples for DeMorgan's Theorem

– (a(b + z(x + a')))' = a' + (b + z(x + a'))' [T8(b)]

= a' + b' (z(x + a'))' [T8(a)]

= a' + b' (z' + (x + a')') [T8(b)]

= a' + b' (z' + x'(a')') [T8(a)]

= a' + b' (z' + x'a) [T3]

= a' + b' (z' + x') [T5(a)]

– (a(b + c) + a'b)' = (ab + ac + a'b)' [P5(b)]

= (b + ac)' [T6(a)]

= b'(ac)' [T8(a)]

= b'(a' + c') [T8(b)]

Page 9: Chapter 2

Chapter 2 9

Fundamentals of Boolean Algebra (8)

• Theorem 9 (Consensus)

(a) ab + a'c + bc = ab + a'c (b) (a + b)(a' + c)(b + c) = (a + b)(a' + c)

• Examples:– AB + A'CD + BCD = AB + A'CD [T9(a)]– (a + b')(a' + c)(b' + c) = (a + b')(a' + c) [T9(b)]– ABC + A'D + B'D + CD = ABC + (A' + B')D + CD [P5(b)]

= ABC + (AB)'D + CD[T8(b)]

= ABC + (AB)'D[T9(a)]

= ABC + (A' + B')D[T8(b)]

= ABC + A'D + B'D[P5(b)]

Page 10: Chapter 2

Chapter 2 10

Switching Functions

• Switching algebra: Boolean algebra with the set of elements K = {0, 1}

• If there are n variables, we can define switching functions.

• Sixteen functions of two variables (Table 2.3):

• A switching function can be represented by a table as above, or by a switching expression as follows:

• f0(A,B)= 0, f6(A,B) = AB' + A'B, f11(A,B) = AB + A'B + A'B' = A' + B, ...

• Value of a function can be obtained by plugging in the values of all variables:

The value of f6 when A = 1 and B = 0 is: = 0 + 1 = 1.

22n

AB f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

00 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

01 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

10 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

11 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 0 1 0 ' '

Page 11: Chapter 2

Chapter 2 11

Truth Tables (1)

• Shows the value of a function for all possible input combinations.

• Truth tables for OR, AND, and NOT (Table 2.4):

ab f(a,b)=a+b ab f(a,b)=ab a f(a)=a'

00 0 00 0 0 1

01 1 01 0 1 0

10 1 10 0

11 1 11 1

Page 12: Chapter 2

Chapter 2 12

Truth Tables (2)

• Truth tables for f(A,B,C) = AB + A'C + AC' (Table 2.5)

ABC f(A,B,C) ABC f(A,B,C)

000 0 FFF F

001 1 FFT T

010 0 FTF F

011 1 FTT T

100 1 TFF T

101 0 TFT F

110 1 TTF T

111 1 TTT T

Page 13: Chapter 2

Chapter 2 13

Algebraic Forms of Switching Functions (1)

• Literal: A variable, complemented or uncomplemented.

• Product term: A literal or literals ANDed together.

• Sum term: A literal or literals ORed together.

• SOP (Sum of Products):

• ORing product terms

• f(A, B, C) = ABC + A'C + B'C

• POS (Product of Sums)

• ANDing sum terms

• f (A, B, C) = (A' + B' + C')(A + C')(B + C')

Page 14: Chapter 2

Chapter 2 14

Algebraic Forms of Switching Functions (2)

• A minterm is a product term in which all the variables appear exactly once either complemented or uncomplemented.

• Canonical Sum of Products (canonical SOP):

– Represented as a sum of minterms only.

– Example: f1(A,B,C) = A'BC' + ABC' + A'BC + ABC (2.1)

• Minterms of three variables:

Minterm Minterm Code Minterm NumberA'B'C' 000 m0

A'B'C 001 m1

A'BC' 010 m2

A'BC 011 m3

AB'C' 100 m4

AB'C 101 m5

ABC' 110 m6

ABC 111 m7

Page 15: Chapter 2

Chapter 2 15

Algebraic Forms of Switching Functions (3)

• Compact form of canonical SOP form:

f1(A,B,C) = m2 + m3 + m6 + m7 (2.2)

• A further simplified form:

f1(A,B,C) = m (2,3,6,7) (minterm list form) (2.3)

• The order of variables in the functional notation is important.

• Deriving truth table of f1(A,B,C) from minterm list:

Row No. (i)

InputsABC

Outputsf1(A,B,C)=m(2,3,6,7)

Complementf1'(A,B,C)=m(0,1,4,5)

0 000 0 1 m0

1 001 0 1 m1

2 010 1 m2 03 011 1 m3 04 100 0 1 m4

5 101 0 1 m5

6 110 1 m6 07 111 1 m7 0

Page 16: Chapter 2

Chapter 2 16

Algebraic Forms of Switching Functions (4)

• Example: Given f(A,B,Q,Z) = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ, express f(A,B,Q,Z) and f '(A,B,Q,Z) in minterm list form.

f(A,B,Q,Z) = A'B'Q'Z' + A'B'Q'Z + A'BQZ' + A'BQZ

= m0 + m1 + m6 + m7

= m(0, 1, 6, 7)

f '(A,B,Q,Z) = m2 + m3 + m4 + m5 + m8 + m9 + m10 + m11 + m12

+ m13 + m14 + m15

= m(2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14, 15)

• (2.6)

• AB + (AB)' = 1 and AB + A' + B' = 1, but AB + A'B' 1.

mii

n

0

2 1

1

Page 17: Chapter 2

Chapter 2 17

Algebraic Forms of Switching Functions (5)

• A maxterm is a sum term in which all the variables appear exactly once either complemented or uncomplemented.

• Canonical Product of Sums (canonical POS):

– Represented as a product of maxterms only.

– Example: f2(A,B,C) = (A+B+C)(A+B+C')(A'+B+C)(A'+B+C') (2.7)

• Maxterms of three variables:

Maxterm Maxterm Code Maxterm NumberA+B+C 000 M0

A+B+C' 001 M1

A+B'+C 010 M2

A+B'+C' 011 M3

A'+B+C 100 M4

A'+B+C' 101 M5

A'+B'+C 110 M6

A'+B'+C' 111 M7

Page 18: Chapter 2

Chapter 2 18

Algebraic Forms of Switching Functions (6)

• f2(A,B,C) = M0M1M4M5 (2.8)

= M(0,1,4,5) (maxterm list form) (2.9)

• The truth table for f2(A,B,C):

Rwo No.(i)

InputsABC

M0

A+B+CM1

A+B+C'M4

A'+B+CM5

A'+B+C'Outputsf2(A,B,C)

0 000 0 1 1 1 01 001 1 0 1 1 02 010 1 1 1 1 13 011 1 1 1 1 14 100 1 1 0 1 05 101 1 1 1 0 06 110 1 1 1 1 17 111 1 1 1 1 1

Page 19: Chapter 2

Chapter 2 19

Algebraic Forms of Switching Functions (7)

• Truth tables of f1(A,B,C) of Eq. (2.3) and f2(A,B,C) of Eq. (2.7) are identical.

• Hence, f1(A,B,C) = m (2,3,6,7)

= f2(A,B,C)

= M(0,1,4,5) (2.10)

• Example: Given f(A,B,C) = ( A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C'), construct the truth table and express in both maxterm and minterm form.

– f(A,B,C) = M1M3M5M7 = M(1,3,5,7) = m (0,2,4,6) Row No.

(i)InputsABC

Outputsf(A,B,C)= M(1,3,5,7) = m(0,2,4,6)

0 000 1 m0

1 001 0 M1

2 010 1 m2

3 011 0 M3

4 100 1 m4

5 101 0 M5

6 110 1 m6

7 111 0 M7

Page 20: Chapter 2

Chapter 2 20

Algebraic Forms of Switching Functions (8)

• Relationship between minterm mi and maxterm Mi:

– For f(A,B,C), (m1)' = (A'B'C)' = A + B + C' = M1

– In general, (mi)' = Mi

(2.11)

(Mi)' = ((mi)')' = mi

(2.12)

Page 21: Chapter 2

Chapter 2 21

Algebraic Forms of Switching Functions (9)

• Example: Relationship between the maxterms for a function and its complement.

– For f(A,B,C) = ( A+B+C')(A+B'+C')(A'+B+C')(A'+B'+C')

– The truth table is:

Row No. (i)

InputsABC

Outputsf (A,B,C)

Outputsf '(A,B,C)= M(0,2,4,6)

0 000 1 0 M0

1 001 0 12 010 1 0 M2

3 011 0 14 100 1 0 M4

5 101 0 16 110 1 0 M6

7 111 0 1

Page 22: Chapter 2

Chapter 2 22

Algebraic Forms of Switching Functions (10)

– From the truth table

f '(A,B,C) = M(0,2,4,6) and f(A,B,C) = M(1,3,5,7)

– Since f(A,B,C) f '(A,B,C) = 0,

(M0M2M4M6)(M1M3M5M7) = 0 or

– In general, (2.13)

– Another observation from the truth table:

f(A,B,C) = m (0,2,4,6) = M(1,3,5,7)

f '(A,B,C) = m (1,3,5,7) = M(0,2,4,6)

Mii

0

2 13

0

Mii

n

0

2 1

0

Page 23: Chapter 2

Chapter 2 23

Derivation of Canonical Forms (1)

• Derive canonical POS or SOP using switching algebra.

• Theorem 10. Shannon's expansion theorem

(a). f(x1, x2, …, xn) = x1 f(1, x2, …, xn) + (x1)' f(0, x2, …, xn)

(b). f(x1, x2, …, xn) = [x1 + f(0, x2, …, xn)] [(x1)' + f(1, x2, …, xn)]

• Example: f(A,B,C) = AB + AC' + A'C

– f(A,B,C) = AB + AC' + A'C = A f(1,B,C) + A' f(0,B,C)

= A(1B + 1C' + 1'C) + A'(0B + 0C' + 0'C) = A(B + C') + A'C

– f(A,B,C) = A(B + C') + A'C = B[A(1+C') + A'C] + B'[A(0 + C') + A'C]

= B[A + A'C] + B'[AC' + A'C] = AB + A'BC + AB'C' + A'B'C

– f(A,B,C) = AB + A'BC + AB'C' + A'B'C

= C[AB + A'B1 + AB'1' + A'B'1] + C'[AB + A'B0 + AB'0' + A'B'0]

= ABC + A'BC + A'B'C + ABC' + AB'C'

Page 24: Chapter 2

Chapter 2 24

Derivation of Canonical Forms (2)

• Alternative: Use Theorem 6 to add missing literals.

• Example: f(A,B,C) = AB + AC' + A'C to canonical SOP form.

– AB = ABC' + ABC = m6 + m7

– AC' = AB'C' + ABC' = m4 + m6

– A'C = A'B'C + A'BC = m1 + m3

– Therefore,

f(A,B,C) = (m6 + m7) + (m4 + m6) + (m1 + m3) = m(1, 3, 4, 6, 7)

• Example: f(A,B,C) = A(A + C') to canonical POS form.

– A = (A+B')(A+B) = (A+B'+C')(A+B'+C)(A+B+C')(A+B+C)

= M3M2M1M0

– (A+C')= (A+B'+C')(A+B+C') = M3M1

– Therefore,

f(A,B,C) = (M3M2M1M0)(M3M1) = M(0, 1, 2, 3)

Page 25: Chapter 2

Chapter 2 25

Incompletely Specified Functions

• A switching function may be incompletely specified.

• Some minterms are omitted, which are called don't-care minterms.

• Don't cares arise in two ways:

– Certain input combinations never occur.

– Output is required to be 1 or 0 only for certain combinations.

• Don't care minterms: di Don't care maxterms: Di

• Example: f(A,B,C) has minterms m0, m3, and m7 and don't-cares d4 and d5.

– Minterm list is: f(A,B,C) = m(0,3,7) + d(4,5)

– Maxterm list is: f(A,B,C) = M(1,2,6)·D(4,5)

– f '(A,B,C) = m(1,2,6) + d(4,5) = M(0,3,7)·D(4,5)

– f (A,B,C)= A'B'C' + A'BC + ABC + d(AB'C' + AB'C)

= B'C' + BC (use d4 and omit d5)

Page 26: Chapter 2

Chapter 2 26

Electronic Logic Gates (1)

• Electrical Signals and Logic Values

– A signal that is set to logic 1 is said to be asserted, active, or true.

– An active-high signal is asserted when it is high (positive logic).

– An active-low signal is asserted when it is low (negative logic).

Electric Signal Logic ValuePositive Logic Negative Logic

High Voltage (H) 1 0Low Voltage (L) 0 1

Page 27: Chapter 2

Chapter 2 27

Electronic Logic Gates (2)

b

a

b

a

b

a

b

a

b

a

Symbol set 1

f(a, b) = ab

f(a, b) = a + b

f(a) = a

f(a, b) = ab

f(a, b) = a

f(a, b) = a + b

AND

OR

NOT

NAND

NOR

EXCLUSIVEOR

a

b

Symbol set 2(ANSI/IEEE Standard 91-1984)

&b

a

³1

b

a

b

a

&b

a

³1

b

a

= 1b

a

1

f(a, b) = ab

f(a, b) = a + b

f(a) = a

f(a, b) = ab

f(a, b) = a

f(a, b) = a + b

AND

OR

NOT

NAND

NOR

EXCLUSIVEOR b

Page 28: Chapter 2

Chapter 2 28

Electronic Logic Gates (3)

1B

Vcc 4B 4A 4Y 3B 3A 3Y

1A 1Y 2B2A 2Y

14 13 12 11 10 9 8

7654321GND

7400: Y = ABQuadruple two-input NAND gates

1A

Vcc 4Y 4B 4A 3Y 3B 3A

1Y 1B 2A2Y 2B

14 13 12 11 10 9 8

7654321GND

7402: Y = A + BQuadruple two-input NOR gates

1B

Vcc 4B 4A 4Y 3B 3A 3Y

1A 1Y 2B2A 2Y

14 13 12 11 10 9 8

7654321GND1Y

Vcc 6A 6Y 5A 5Y 4A 4Y

1A 2A 3A2Y 3Y

14 13 12 11 10 9 8

7654321GND

7404: Y = AHex inverters

7408: Y = ABQuadruple two-input AND gates

Page 29: Chapter 2

Chapter 2 29

Electronic Logic Gates (4)

1B

Vcc 1C 1Y 3C 3B 3A 3Y

1A 2A 2C2B 2Y

14 13 12 11 10 9 8

7654321

GND

7410: Y = ABCTriple three-input NAND gates

1B

Vcc 2D 2C NC 2B 2A 2Y

1A NC 1D1C 1Y

14 13 12 11 10 9 8

7654321

GND

7420: Y = ABCDDual four-input NAND gates

Page 30: Chapter 2

Chapter 2 30

Electronic Logic Gates (5)

1B

Vcc 4B 4A 4Y 3B 3A 3Y

1A 1Y 2B2A 2Y

14 13 12 11 10 9 8

7654321

GNDB

Vcc NC H G NC NC Y

A C ED F

14 13 12 11 10 9 8

7654321

GND

7430: Y = ABCDEFGH8-input NAND gate

7432: Y = A + BQuadruple two-input OR gates

1B

Vcc 4B 4A 4Y 3B 3A 3Y

1A 1Y 2B2A 2Y

14 13 12 11 10 9 8

7654321

GND

7486: Y = A Å BQuadruple two-input exclusive-OR gates

Page 31: Chapter 2

Chapter 2 31

Basic Functional Components (1)

• AND

(a) AND logic function.

(b) Electronic AND gate.

(c) Standard symbol.

(d) IEEE block symbol.

A B Y YBA

LLHH

LHLH

LLLH

(b)

(c)

(d)

YBA &

fAND (a, b) = aba b

0011

0101

0001

(a)

Page 32: Chapter 2

Chapter 2 32

Basic Functional Components (2)

• OR

(a) OR logic function.

(b) Electronic OR gate.

(c) Standard symbol.

(d) IEEE block symbol.

A B Y YBA

LLHH

LHLH

LHHH

(b)

(c)

(d)

YBA

(a, b) = a + ba b

0011

0101

0111

(a)

fOR

Page 33: Chapter 2

Chapter 2 33

Basic Functional Components (3)

• Meaning of the designation 1 in IEEE symbol:

ab sum(a, b) sum(a, b) 1 fOR(a, b) = a + b00 0 False 001 1 True 110 1 True 111 2 True 1

Page 34: Chapter 2

Chapter 2 34

Basic Functional Components (4)

• NOT

(a) NOT logic function.

(b) Electronic NOT gate.

(c) Standard symbol.

(d) IEEE block symbol.

A Y

YA

LH

HL

(b)

(c)

(d)

YA 1

a

01

10

(a)

fNOT (a) = a

Page 35: Chapter 2

Chapter 2 35

Basic Functional Components (5)

Positive Logic Negative Logic1 is represented by High Voltage Low Voltage

0 is represented by Low Voltage High Voltage

• Positive Versus Negative Logic

Page 36: Chapter 2

Chapter 2 36

Basic Functional Components (6)

• AND Gate Usage in Negative Logic

– (a) AND gate truth table (L = 1, H = 0)

– (b) Alternate AND gate symbol (in negative logic)

– (c) Preferred usage

– (d) Improper usage

– y = a·b = (2.14)

– (2.15)

A B Y

YBA

ab

y = a + b

y = abab

1100

1010

1110

(a) (b)

(c)

(d)

),( bafbaba OR

),()()( bafbabay OR

Page 37: Chapter 2

Chapter 2 37

Basic Functional Components (7)

• OR Gate Usage in Negative Logic

– (a) OR gate truth table(L = 1, H = 0)

– (b) Alternate OR gate symbol (in negative logic)

– (c) Preferred usage

– (d) Improper usage

– (2.16)

– (2.17)

1100

1010

1000

(a) (b)

A B Y

YBA

ab

ab

y = ab

y = a + b

(c)

(d)

(a)

),( bafbababay AND

),()()( bafbabay AND

Page 38: Chapter 2

Chapter 2 38

Basic Functional Components (8)

• Example 2.32: Building smoke alarm system– Components: two smoke detectors, a sprinkler, and an automatic telephone

dialer– Behavior:

• Sprinkler is activated if either smoke detector detects smoke.• When both smoke detector detect smoke, fire department is called.

– Signals:• : Active-low outputs from two smoke detectors.• : Active-low input to the sprinkler• : Active-low input to the telephone dialer.

– Logic equations•

(2.18)•

(2.19)

2,1 DD

SPK

DIAL

21 DDSPK 21 DDDIAL

Page 39: Chapter 2

Chapter 2 39

Basic Functional Components (9)

• Logic diagram of the smoke alarm system

G1D1 + D2

G2

Smokedetectors

D1D2

Sprinkler

SPK

DIAL

TelephonedialerD 1 D 2

Page 40: Chapter 2

Chapter 2 40

Basic Functional Components (10)

• NAND

– (a) NAND logic function

– (b) Electronic NAND gate

– (c) Standard symbol

– (d) IEEE block symbol

A B Y

YBA

LLHH

LHLH

HHHL

(b)

(c)

YBA

(d)

YBA

(e)

&

fNAND (a, b) = aba b

0011

0101

1110

(a)

Page 41: Chapter 2

Chapter 2 41

Basic Functional Components (10)

• Matching signal polarity to NAND gate inputs/outputs

– (a) Preferred usage (b) Improper usage

• Additional properties of NAND gate:

• Hence, NAND gate may be used to implement all three elementary operators.

(a) (b)

yab

yab

y yab

ab

),(),(

),(),(

)(),(

bafbababaf

bafbababaf

afaaaaaf

ORNAND

ANDNAND

NOTNAND

Page 42: Chapter 2

Chapter 2 42

Basic Functional Components (11)

• AND, OR, and NOT gates constructed exclusively from NAND gates

ab

ab f(a, a) = a a = af(a, b) = ab = ab

AND gate NOT gate

f(a, b) = a + b = a + b

b

aa

b

OR gate

a

Page 43: Chapter 2

Chapter 2 43

Basic Functional Components (12)

• NOR

– (a) NAND logic function

– (b) Electronic NAND gate

– (c) Standard symbol

– (d) IEEE block symbol

A B Y

LLHH

LHLH

HLLL

(b)

(c) (d)

YBA

(e)

³1

fNOR (a, b) = a + ba b

0011

0101

1000

(a)

YBA

YBA

Page 44: Chapter 2

Chapter 2 44

Basic Functional Components (13)

• Matching signal polarity to NOR gate inputs/outputs

– (a) Preferred usage (b) Improper usage

• Additional properties of NAND gate:

• Hence, NAND gate may be used to implement all three elementary operators.

(a) (b)

yab

yab

yab

yab

),(),(

),(),(

)(),(

bafbababaf

bafbababaf

afaaaaaf

ANDNOR

ORNOR

NOTNOR

Page 45: Chapter 2

Chapter 2 45

Basic Functional Components (14)

• AND, OR, and NOT gates constructed exclusively from NOR gates.

ab

OR gate NOT gate

b

aa

b

AND gate

a f(a, a) = a + a = af(a, b) = a + ba + b

f(a, b) = ab = ab

Page 46: Chapter 2

Chapter 2 46

Basic Functional Components (15)

• Exclusive-OR (XOR)

– fXOR(a, b) = a b = (2.24)

(a) XOR logic function (b) Electronic XOR gate

(c) Standard symbol (d) IEEE block symbol

A AY Y

B B=1

a b fXOR(a, b) = a b A B Y0 0 0 L L L0 1 1 L H H1 0 1 H L H1 1 0 H H L

baba

Page 47: Chapter 2

Chapter 2 47

Basic Functional Components (16)

• POS of XOR

a b

[P2(a), P6(b)]

[P5(b)]

[P5(b)]

• Some other useful relationships– a a = 0 (2.25)– a = 1 (2.26)– a 0 = a (2.27)– a 1 = (2.28)– (2.29)– a b = b a (2.30)– a (b c) = (a b) c (2.31)

))((

)()(

baba

babbaa

bbbabaaa

baba

a

ababa

Page 48: Chapter 2

Chapter 2 48

Basic Functional Components (17)

• Output of XOR gate is asserted when the mathematical sum of inputs is one:

• The output of XOR is the modulo-2 sum of its inputs.

ab sum(a, b) sum(a, b) = 1? f(a, b) = a b00 0 False 001 1 True 110 1 True 111 2 False 0

Page 49: Chapter 2

Chapter 2 49

Basic Functional Components (18)

• Exclusive-NOR (XNOR)

– fXNOR(a, b) = a b (2.32)

– (a) XNOR logic function

– (b) Electronic XNOR gate

– (c) Standard symbol

– (d) IEEE block symbol

(c)

YBA

(d)

a b

0011

0101

1001

(a)

YBA

A B Y

LLHH

LHLH

HLLH

(b)

fXNOR(a, b) = a b

=1

ba

Page 50: Chapter 2

Chapter 2 50

Basic Functional Components (19)

• SOP and POS of XNOR

a b

[P2]

[T8(a)]

[T8(b)]

[P5(b)]

[P6(b), P2(a)]

• = a b

baab

bbbaabaa

baba

baba

baba

ba

))((

ba

Page 51: Chapter 2

Chapter 2 51

Analysis of Combinational Circuits (1)

• Digital Circuit Design:

– Word description of a function

a set of switching equations

hardware realization (gates, programmable logic devices, etc.)

• Digital Circuit Analysis:

– Hardware realization

switching expressions, truth tables, timing diagrams, etc.

• Analysis is used

– To determine the behavior of the circuit

– To verify the correctness of the circuit

– To assist in converting the circuit to a different form.

Page 52: Chapter 2

Chapter 2 52

Analysis of Combinational Circuits (2)

• Algebraic Method: Use switching algebra to derive a desired form.

• Example 2.33: Find a simplified switching expressions and logic network for the following logic circuit (Fig. 2.21a).

a

c

b

a

bc

P1

P2

P3

P4

f (a, b, c)

(a)

Page 53: Chapter 2

Chapter 2 53

Analysis of Combinational Circuits (3)

• Write switching expression for each gate output:

• The output is:

• Simplify the output function using switching algebra:

[Eq. 2.24]

[T8]

[T5(b)]

[T4(a)]

= b c [Eq. 2.32]

Therefore, f (a,b,c) = (b c)' =

,1 abP ,2 caP ,3 cbP )(214 caabPPP

)()(),,( 43 caabcbPPcbaf

),,( cbaf caabcb )(

caabcbbc

cabacbbc )(

cbacbbc cbbc

),,( cbaf

cb bc

f (a, b, c)

Page 54: Chapter 2

Chapter 2 54

Analysis of Combinational Circuits (4)

• Example 2.34: Find a simplified switching expressions and logic network for the following logic circuit (Fig. 2.22).

a

c

b

b

ab

f (a, b, c)

ca

Given circuit

a + b

a b

b c

a + c

a + b + a + c

(a b)(b c)

Page 55: Chapter 2

Chapter 2 55

Analysis of Combinational Circuits (5)

• Derive the output expression:

f(a,b,c)

=

= [T8(b)]

= [T8(a)]

= [Eq. 2.24]

= [P5(b)]

= [P6(b), T4(a)]

= [T4(a)]

= [T9(a)]

= [T7(a)]

= [Eq. 2.24]

)())(( cabacbba )))(( cabacbba

))(())(( cabacbba ))(())(( cabacbcbbaba

cbbacaaacbbacbbacbbacbba cbbacacbacba

cbbacacba bacacba

bacaba

baca

Simplified circuit

b

c

a

a

f (a, b, c)

Page 56: Chapter 2

Chapter 2 56

Analysis of Combinational Circuits (6)

• Truth Table Method: Derive the truth table one gate at a time.

• The truth table for Example 2.34:

abc f(a,b,c)000 0 0 0001 1 0 1010 0 1 1011 1 1 1100 0 1 1101 0 1 1110 0 0 0111 0 0 0

ca ba

Page 57: Chapter 2

Chapter 2 57

Analysis of Combinational Circuits (7)

• Analysis of Timing Diagrams

– Timing diagram is a graphical representation of input and output signal relationships over the time dimension.

– Timing diagrams may show intermediate signals and propagation delays.

Page 58: Chapter 2

Chapter 2 58

Analysis of Combinational Circuits (8)

• Example 2.35: Derivation of truth table from a timing diagram

AB

C

(a)(b)

(c)

A

B

C

Time

Inputs Outputs

fa(A, B, C) fb(A, B, C)

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

0

1

1

0

0

0

1

1

0

1

0

1

0

1

1

0

t0 t1 t2 t3 t4 t5 t6 t7

t0

t1

t2

t3

t4

t5

t6

t7

Y = fa (A, B, C)

Z = fb (A, B, C)

InputsOutputs

Y = fa (A, B, C)

Z = fb (A, B, C)

ABC

Page 59: Chapter 2

Chapter 2 59

Analysis of Combinational Circuits (9)

• Propagation Delay

– Physical characteristics of a logic circuit to be considered:

• Propagation delays

• Gate fan-in and fan-out restrictions

• Power consumption

• Size and weight

– Propagation delay: The delay between the time of an input change and the corresponding output change.

– Typical two propagation delay parameters:

• tPLH = propagation delay time, low-to-high-level output

• tPHL = propagation delay time, high-to-low-level output

– Approximation:

• 2

PHLPLHPD

ttt

Page 60: Chapter 2

Chapter 2 60

Analysis of Combinational Circuits (10)

• Propagation delay through a logic gate

(a) Two-input AND gate

ab

c

a

b

ctPD tPD

(c) tPD = tPLH = tPHL

a

b

c

tPLH tPHL

(d) tPLH < tPHL

a

b

c

(b) Ideal (zero) delay

Page 61: Chapter 2

Chapter 2 61

Analysis of Combinational Circuits (11)

• Power dissipation and propagation delays for several logic families (Table 2.7)

LogicFamily

Propagation DelaytPD(ns)

Power DissipationPer Gate (mW) Technology

7400 10 10 Standard TTL74H00 6 22 High-speed TTL74L00 33 1 Low-power TTL74LS00 9.5 2 Low-power Schottky TTL74S00 3 19 Schottky TTL74ALS00 3.5 1.3 Advanced low-power

Schottky TTL74AS00 3 8 Advanced Schottky TTL74HC00 8 0.17 High-speed CMOS

Page 62: Chapter 2

Chapter 2 62

Analysis of Combinational Circuits (12)

• Propagation delays of primitive 74LS series gates (Table 2.8)

Chip FunctiontPLH

Typical MaximumtPHL

Typical Maximum74LS04 NOT 9 15 10 1574LS00 NAND 9 15 10 1574LS02 NOR 10 15 10 1574LS08 AND 8 15 10 2074LS32 OR 14 22 14 22

22

Page 63: Chapter 2

Chapter 2 63

Analysis of Combinational Circuits (13)

• Example 2.36: Given a circuit diagram and the timing diagram, find the truth table and minimum switching expression.

f (A, B, C)t0 t1

t2t3 t4 t5 t6 t7

t1 + 1

t1 + 2 t2 + 2

t2 + 1t4 + 2

t4 + 1

t4 + 3

t7 + 1t7 + 2

t7 + 3

A

B

C

DE

F

G

A

B

CD

G

F

Y = f (A, B, C)

E

f (A, B, C)

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

01001110

ABC

)6,5,4,1(m

CABCBACBACBA

),,( CBAf

CBCA

Page 64: Chapter 2

Chapter 2 64

Synthesis of Combinational Logic Circuits (1)

• AND-OR and NAND Networks

– Switching expression must be in SOP form.

– Example:

– [T3]

[T8(a)]

where and

spqrsrpsrqpf ),,,(

spqrsrpsrqpf ),,,(spqrsrp

321 xxx

,1 rpx ,2 qrsx spx 3

(a) AND-OR network (b) NAND network

pr

sp

x1

x2

x3

BubblesÒcancelÓ

fd (p, q, r, s)qrs

pr

sp

fd (p, q, r, s)qrs

pr

sp

fd (p, q, r, s)qrs

(c) NAND network (preferred form)

x1

x2

x3

Page 65: Chapter 2

Chapter 2 65

Synthesis of Combinational Logic Circuits (2)

• OR-AND and NOR Networks

– Switching expression must be in POS form.

– Example:

– [T3]

[T8(b)]

where and

))()((),,,( DADCBCBADCBAf

(a) OR-AND network (b) NOR network

y1

y2

y3

fe (A, B, C, D) fe (A, B, C, D) fe (A, B, C, D)

(c) NOR network (preferred form)

y1

y2

y3D

BCD

A

ABC

D

BCD

A

ABC

D

BCD

A

ABC

))()((),,,( DADCBCBADCBAf

DADCBCBA

321 yyy

,1 CBAy ,2 DCBy DAy 3

Page 66: Chapter 2

Chapter 2 66

Synthesis of Combinational Logic Circuits (3)

• Two-level Circuits

– Input signals pass through two levels of gates before reaching the output.

– Implementation procedure for NAND (NOR) logic:

• Step 1. Express the function in minterm (maxterm) list form.

• Step 2. Write out the minterms (maxterms) in algebraic form.

• Step 3. Simplify the function in SOP (POS) form.

• Step 4. Transform the expression into the NAND (NOR) form.

• Step 5. Draw the NAND (NOR) logic diagram.

(a) Two-level network (b) Three-level network

pr

sp

x1

x2

x3

fd (p, q, r, s)qrs

pr

sp

fd (p, q, r, s)qrs

x1

x2

x3

Level 2 Level 1 Level 3 Level 2 Level 1

Page 67: Chapter 2

Chapter 2 67

Synthesis of Combinational Logic Circuits (4)

• Circuits with more than two levels are often needed due to fan-in constraints.

(b) Three-level network of two-input gates

f = abcde

f = abcde

ab

cd

e

(c) Four-level network of two-input gates.

ab

c

d

ef = abcde

abcde(a) A single five-input AND gate

Page 68: Chapter 2

Chapter 2 68

Synthesis of Combinational Logic Circuits (5)

• Example 2.37: NAND implementation of f (X,Y,Z) = m(0,3,4,5,7)

1. f (X,Y,Z) = m(0,3,4,5,7)

2. f (X,Y,Z) = m0 + m3 + m4 + m5 + m7

3. [T6(a)]

4a. [T4]

or

4b. [T3]

[T8(a)]

XYZZYXZYXYZXZYX XZYZZYZYXf ),,(

XZYZZYZYXf ),,(

XZYZZYZYXf ),,(

XZYZZY

(a) NAND implementation

f (X, Y, Z)YZ

YZ

X

Z

Page 69: Chapter 2

Chapter 2 69

Synthesis of Combinational Logic Circuits (6)

• AND-OR-invert Circuits

– A set of AND gates followed by a NOR gate.

– Used to readily realize two-level SOP circuits.

– 7454 circuit:

GHEFCDABF

Enable lines

AB

CD

EF

GH

14 13 12 11 10 9 8

1 2 3 4 5 6 7

(a) 7454 circuit package (top view) (b) 7454 used as a 4-to-1 multiplexer

OutputY

Y1

Y2

Y3

Y4

Make no externalconnection

Vcc B

A C D E F NC GND

H G Y

Page 70: Chapter 2

Chapter 2 70

Synthesis of Combinational Logic Circuits (7)

• Factoring

– A technique to obtain higher-level forms of switching functions.

– Higher-level forms:

• May need less hardware

• May be used when there are fan-in constraints

• More difficult to design

• Slower

• Example 2.39:

)()(),,,( BCDACDBACADABADCBAf

(a) Original form (b) After factoring

f (A, B, C, D)

AB f (A, B, C, D)A

BCD

AD

AC

Page 71: Chapter 2

Chapter 2 71

Synthesis of Combinational Logic Circuits (8)

• Example 2.40: f (a,b,c,d) = m(8,13) with only two-input AND and OR gates.

– Write the canonical SOP form:

f (a,b,c,d) = m(8,13) = (2.34)

Two four-input AND gates and one two-input OR gate are needed.

– Apply factoring:

(2.35)

dcabdcba

))((),,,( dbbdcadcabdcbadcbaf

b

d

c

a

f = (a, b, c, d)

Page 72: Chapter 2

Chapter 2 72

Synthesis of Combinational Logic Circuits (9)

• Example 2.41: A burglar alarm with four control switches, each of which produces logic 1 when:

Switch A: Secret switch is closed

Switch B: Safe is in its normal position in the closet

Switch C: Clock is between 1000 and 1400 hours

Switch D: Closet door is closed.

Write the equations of the control logic that produces logic 1 when

the safe is moved AND the secret switch is closed,

OR

the closet is opened after banking hours,

OR

the closet is opened with the control switch open.

DADCBADCBAf ),,,(

Page 73: Chapter 2

Chapter 2 73

Synthesis of Combinational Logic Circuits (10)

• Example 2.42: The Doe family voter:

– Vote for either hamburgers (0) or chicken (1).

– Majority wins.

– If Mom and Dad agree, they win.

– John (Dad): A, Jane (Mom):B, Joe: C, Sue: D.

– The logic function is:

ABCDDABCDCABDCABCDBABCDADCBAf ),,,(

BCDACDAB

BCDAACDAB

ABCDBABCDA

AB

CD

f (A, B, C, D)

Page 74: Chapter 2

Chapter 2 74

Synthesis of Combinational Logic Circuits (11)

• Example 2.43: Logic equations for a circuit that adds two 2-bit binary numbers (A1A0)2 and (B1B0)2, and produces sum bits (S1S0)2 and carry bit C1;

A1A0

+ B1B0

C1S1S0

Page 75: Chapter 2

Chapter 2 75

Synthesis of Combinational Logic Circuits (12)

• Truth Table:A1 A0 B1 B0 C1 S1 S0

0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0

• Logic equations:

S0 =

S1 =

C1 =

01010101

010101010101

010101010101

BBAABBAA

BBAABBAABBAA

BBAABBAABBAA

01010101

010101010101

010101010101

BBAABBAA

BBAABBAABBAA

BBAABBAABBAA

010101010101

010101010101

BBAABBAABBAA

BBAABBAABBAA

Page 76: Chapter 2

Chapter 2 76

Synthesis of Combinational Logic Circuits (13)

• Reduced equations:

S0 =

S1 =

C1 =

0000 BABA

1010110101

0101011101

BAABBABBAA

BBAABBABAA

11001010 BABAABBA

Page 77: Chapter 2

Chapter 2 77

Computer-aided Design (1)

• Design Cycle

Concept

Fail

Pass

Finished circuit

Synthesis

Analysis

Realization

Testing

Modelingand

design capture

Designoptimization

Logicsimulation

Results?

Implementation

Test

Designdatabase

Testvectors

Physicaldesign

Page 78: Chapter 2

Chapter 2 78

Computer-aided Design (2)

• Digital Circuit Modeling

– Purpose of modeling:

• Helps the designer formalize a solution.

• To check errors, verify correctness, and predict timing characteristics.

– CAD tools are available for design optimization and transformation of

design from abstract form to a physical realization.

– Model can represent different levels of design abstraction.

Level AbstractionBehavioral Algorithms to be realizedRegisterTransfer

Structure of modules Data flow among modules and control algorithm

Gate Structure of primitive logic gatesTransistor Structure of transistors and low-level componentsLayout Geometric patterns of materials for IC layout

Page 79: Chapter 2

Chapter 2 79

Computer-aided Design (3)

• High-level abstract model (behavioral model)

– Describes only desired behavior.

– Usually represented using a hardware description language (HDL), e.g., VHDL or Verilog.

– Other representation mechanisms: logic equations, truth tables, and minterm or maxterm lists.

Page 80: Chapter 2

Chapter 2 80

Computer-aided Design (4)

• Behavioral models of a full-adder circuit:

(a) block diagram, (b) truth table, (c) logic equations.

cina

(a)

b cout

cin

scout

s

(b)

Full_adder s = a b cin

cout = ab + acin + bcin

00001111

00110011

01010101

00010111

01101001

(c)

a b

Page 81: Chapter 2

Chapter 2 81

Computer-aided Design (5)

• VHDL behavioral model of a full adder circuit (Figure 2.38)

– Entity defines the interface between the circuit and the outside world.

– Architecture defines the function implemented within the circuit.

– Multiple architectures may be defined for a given entity.

• Structural model

– Interconnection of components.

– Behavior is deduced from the behavioral models of individual components and their interconnection.

– Represented by:

• Logic or schematic diagram

• Netlist (textual representation of schematic diagram)

• HDL description of circuit structures.

Page 82: Chapter 2

Chapter 2 82

Computer-aided Design (6)

• Structural models of a full-adder circuit:

(a) schematic diagram, (b) netlist

– In a netlist, each circuit element is defined as follows:

gate_name, gate_type, output, input1, input2, …, inputN

– VHDL structural model of a full-adder circuit: Figure 2.40.

I1

(a) (b)

I2

I3

ab

a1

a2

a3

X1x1

X2s

A3

A2

A1

R1

O1

O2

cin

I1I2I3X1X2A1A2A3R1O1O2

INININ

XOR2XOR2AND2AND2AND2

OR3OUTOUT

ab

cinx1s

a1a2a3

couts

cout

ax1aab

a1

bcinb

cincina2 a3

cout

Page 83: Chapter 2

Chapter 2 83

Computer-aided Design (7)

• Mixed-mode model

– Contains both behavioral and structural components.

– Mixed-mode model of the full-adder circuit: (a) full-adder block diagram, (b) circuit for sum function, (c) truth table for carry function.

cin

a

b s

(b)

(a)

sSummodule

coutCarry

module

cin

ab

cina b cout

(c)

00001111

00110011

01010101

00010111

Page 84: Chapter 2

Chapter 2 84

Computer-aided Design (8)

• Design synthesis process

HDL model Truth table Logic equations

Schematic Netlist

Constraints

Structural models

Behavioral models

Functionlibrary

Automaticsynthesis

Backannotation

Logicequations Design

optimization

Schematic

Minimize

Optimizedlogic

equations

Map designonto circuit

elements

Circuitnetlist

Netlistgeneration

Componentlibrary

Automaticsynthesis

Componentlibrary

Page 85: Chapter 2

Chapter 2 85

Computer-aided Design (9)

• Capture tools

– Each circuit model in the design process must be captured in a format that can be stored and processed by a digital computer.

– Schematic capture: an interactive graphics tool with which a designer draws a logic diagram.

Page 86: Chapter 2

Chapter 2 86

Computer-aided Design (10)

• Schematic capture process

SELECT DELETE

COPY MOVE

NAME PARAM

PLACECOMP

DRAWNET

OPENSHEET

SAVESHEET

ZOOMIN

ZOOMOUT

MENU DRAWING AREA

and2and3or2or3nand2nand3nor2nor3xor2notinout

ab

cin

x1s

a1

a2

a3

cout

(d)

SELECT DELETE

COPY MOVE

NAME PARAM

PLACECOMP

DRAWNET

OPENSHEET

SAVESHEET

ZOOMIN

ZOOMOUT

MENU DRAWING AREA

(c)

MENU DRAWING AREA

(b)

SELECT DELETE

COPY MOVE

NAME PARAM

PLACECOMP

DRAWNET

OPENSHEET

SAVESHEET

ZOOMIN

ZOOMOUT

MENU DRAWING AREA

(a)

Parts Library

11O112

13

O2

X1X2

A1

A2

A3

R1

Page 87: Chapter 2

Chapter 2 87

Computer-aided Design (11)

• Logic Simulation

– Three primary purposes:

1. Logic verification: only logical correctness is checked.

2. Performance analysis: propagation delays and potential timing problems are analyzed.

3. Test development (fault simulation): helps develop optimal test set.

– Simulation environment

Logicverification

data

Timinganalysis

data

Netlist

Componentmodels

Testvectors

Design

Simulator

Page 88: Chapter 2

Chapter 2 88

Computer-aided Design (12)

• Simulation Test Inputs

– Test set: a carefully designed set of test inputs.

– For logic verification, a list of input vectors is used (time is ignored).

– For timing analysis, the time of each input change is also specified.

functional

test set for input tabular waveform

full-adder waveform format formatcina b

00001111

00110011

01010101

c

a

b

0 5 10 15

a =b =

cin =

0:0, 10:1;0:0, 5:1,15:0;0:0;

Time cina

05

1015

0011

0110

0000

b

Page 89: Chapter 2

Chapter 2 89

Computer-aided Design (13)

• Event-Driven Simulation

– Event: a change in the value of a signal at a given time.

– Event-driven simulation example for an AND gate:

(a) (b)

ca

bc

a

b

T0 T1 T2T1 + t

Page 90: Chapter 2

Chapter 2 90

Computer-aided Design (14)

• Event-driven simulation procedure

– Input test set is converted into a set of events.

– The set of events are entered into an event queue (or event list).

– In each simulation step, the first event is retrieved and is made to occur.

– Output of each affected gate is recomputed, and new event is created.

– Record of all events along with output results are maintained.

– Simulation continues until the event queue is empty or time limit expires.

a

b

s

cin

cout

0 5 7 10 12 15 17 20

X0000011100

X0001100011

Time cina

02468

101214161820

00000111

111

00011111000

00000000000

sb cout

X0000110

X0011001

Time cina

0257

10121517

00001111

00111100

00000000

sb cout

Page 91: Chapter 2

Chapter 2 91

Computer-aided Design (15)

• Debugging a full-adder using simulation

erroneous simulation output: expanded simulation:

full-adder error in s at time 3 isolates error to n3

circuit

a

b

cin

s

n1

n2

n3

n4

Time cina b s

035

10131518

0001111

0011100

0000000

X111001

0 0 0 0 X X X X X

Time a b c in n1 n2 n3 n4 s

1 0 0 0 1 1 X 1 X 2 0 0 0 1 1 0 1 X 3 0 0 0 1 1 0 1 1 5 0 1 0 1 1 0 1 1 10 1 1 0 1 1 0 1 1 12 1 1 0 1 1 1 1 1 13 1 1 0 1 1 1 1 0 15 1 0 0 1 1 1 1 0 17 1 0 0 1 0 1 1 0 18 1 0 0 1 0 1 1 1

Page 92: Chapter 2

Chapter 2 92

Computer-aided Design (16)

• Detection of static hazard via simulation

– A glitch in g at time t3 can be detected from the output waveforms.

– This occurs because both e and f become 0 momentarily between t2 and t3.

a

b

c

d

e

f

g

(a)

a

b

c

d

e

f

g

Time tt1 t2 t3 t4

(b)

t t

Page 93: Chapter 2

Chapter 2 93

Computer-aided Design (17)

• Symbolic Logic Signal Values

– Designers sometimes need signal values other than just 0 or 1.

– Logic signal values are represented by a state and a strength.

– A third state X represents an unknown state or a potential problem.

– Truth tables for three-valued logic (with X added)

– Signal strength values:

• Forcing (F): signal line is strongly forced to a given state.

• Resistive (R): signal line is weakly forced to a given state.

• Floating (Z): signal line is not forced forced at all.

• Unknown (U): signal strength cannot be determined.

AND 0 1

01X

000

01X

0XX

X OR 0 1

01X

01X

111

X1X

X NOT 0

01X

10X

Page 94: Chapter 2

Chapter 2 94

Computer-aided Design (18)

• Signal strengths are used to resolve conflicting gate outputs:

output resolved in favor of output value

stronger signal. unable to be resolved

F1

F0

F0

R1

I2

VCC

I1

F0

(b)

F1

F0

Ux

I2

I1 F1

F0

Page 95: Chapter 2

Chapter 2 95

Computer-aided Design (19)

• Primitive Device Delay Models

– Every primitive logic gate has an intrinsic delay.

– A gate can be modeled as an ideal (zero-delay) gate and a transport delay element.

– Different models of transport delays:

• Unit/Nominal Delay

• Rise Fall Delay

• Ambiguous or Min/Max Delay

a

bc

Idealgate

Timedelay

c* t

Page 96: Chapter 2

Chapter 2 96

Computer-aided Design (20)

• Unit/Nominal Delay

– Unit delay: assign to each gate in a circuit the same unit delay.

– Nominal delay: delays are determined separately for each type of gate

(e.g., on time unit for NOR and two time units for XOR).

a

b

c

t t

Page 97: Chapter 2

Chapter 2 97

Computer-aided Design (21)

• Rise/Fall Delay

– Different delays for 0 to 1 transition and 1 to 0 transition.

– tPLH (rise time): propagation delay from low to high.

– tPHL (fall time): propagation delay from high to low.

tPLH

(rise time)tPHL

(fall time)

a

b

c

Page 98: Chapter 2

Chapter 2 98

Computer-aided Design (22)

• Ambiguous or Min/Max Delay

– Sometimes it is impossible to predict exact rise or fall time of a signal.

– For worst-case performance analysis, {tmin, tmax} is specified for each timing parameter.

tmin

tmax

a

b

c

Page 99: Chapter 2

Chapter 2 99

Computer-aided Design (23)

• A problem with min/max delay: the results tend to be pessimistic.

circuit model worst-case delays:

ambiguity region gets larger

at each successive level

a

b

d

f

g

h

c

ed

e

g

h

10 12 1415

16 20 25

Page 100: Chapter 2

Chapter 2 100

Computer-aided Design (24)

• Inertial Delay

– An input value must persist for some minimum duration of time to provide the output with the needed inertia to change.

– The minimum duration is called inertial delay.

– Effect of inertial delay:

– Gate model with both inertial delay and transport delay:

a

b

c

(a) Transport delay model

a

b

c

(b) Inertial delay model

a

b

c

a*

b*

c*

Inertialdelay

Idealgate

Transportdelay

t

t

t