20.03.2015 Views

Di i l S gital System Chapter 2 Boolean Algebra and Logic Gates ...

Di i l S gital System Chapter 2 Boolean Algebra and Logic Gates ...

Di i l S gital System Chapter 2 Boolean Algebra and Logic Gates ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Outline<br />

<strong>Di</strong><strong>gital</strong> i<br />

<strong>System</strong><br />

數 位 系 統<br />

<strong>Chapter</strong> 2<br />

<strong>Boolean</strong> <strong>Algebra</strong> <strong>and</strong> <strong>Logic</strong> <strong>Gates</strong><br />

Ping-Liang Lai ( 賴 秉 樑 )<br />

21 2.1 Introduction<br />

2.2 Basic Definitions<br />

2.3 Axiomatic Definition of <strong>Boolean</strong> <strong>Algebra</strong><br />

2.4 Basic Theorems <strong>and</strong> Properties of <strong>Boolean</strong> <strong>Algebra</strong><br />

2.5 <strong>Boolean</strong> Functions<br />

2.6 Canonical <strong>and</strong> St<strong>and</strong>ard Forms<br />

2.7 Other <strong>Logic</strong> Operations<br />

28 2.8 <strong>Di</strong><strong>gital</strong> <strong>Logic</strong> <strong>Gates</strong><br />

2.9 Integrated Circuits<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-1<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-2<br />

2.1 Introduction<br />

2.2 <strong>Boolean</strong> <strong>Algebra</strong> (Huntington, 1904) (p.52, 53)<br />

A set is collection of having the same property.<br />

S: set, x <strong>and</strong> y: element or event<br />

For example: S = {1, 2, 3, 4}<br />

» If x = 2, then x∈S.<br />

» If y = 5, then y S.<br />

在 代 數 系 統 中 , 一 個 集 合 S 的 二 元 運 算 子 ( binary operator) 是<br />

定 義 集 合 中 的 任 何 一 對 元 素 經 此 符 號 運 算 以 後 的 結 果 , 仍 為<br />

該 集 合 中 的 一 個 元 素 。<br />

For example: given a set S, consider a*b = c <strong>and</strong> * is a binary operator.<br />

If (a, b) through * get c <strong>and</strong> a, b, c∈S, then * is a binary operator of S.<br />

On the other h<strong>and</strong>, if * is not a binary operator of S <strong>and</strong> a, , b∈S, , then cS.<br />

A set of elements S <strong>and</strong> two binary operators + <strong>and</strong> *<br />

1. Closure: a set S is closed with respect to a binary operator if, for every pair of<br />

elements of S, the binary operator specifies a rule for obtaining a unique<br />

element of S.<br />

x, y∈S, ∋ x+y ∈S<br />

» a+b = c, for any a, b, c∈N. (“+” binary operator plus has closure)<br />

» But operator – is not closed for N, because 2-3 = -1 <strong>and</strong> 2, 3 ∈N, but (-1)∈N.<br />

2. Associative law: a binary operator * on a set S is said to be associative<br />

whenever<br />

(x * y) * z = x * (y * z) ) for all x, , y, z∈S<br />

» (x+y)+z = x+(y+z)<br />

3. Commutative law: a binary operator * on a set S is said to be commutative<br />

whenever<br />

x * y = y * x for all x, y∈S<br />

» x+y = y+x<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-3<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-4


<strong>Boolean</strong> <strong>Algebra</strong> (p.53)<br />

Six Postulate of Huntington<br />

4. Identity element: a set S is said to have an identity element with respect to a<br />

binary operation * on S if there exists an element e∈S with the property that<br />

e * x = x * e = x for every x∈S<br />

» 0+x = x+0 =x for every x∈I . I = {…, -3, -2, -1, 0, 1, 2, 3, …}.<br />

» 1*x = x*1 =x for every x∈I. I = {…, -3, -2, -1, 0, 1, 2, 3, …}.<br />

5. Inverse: a set having the identity element e with respect to the binary operator<br />

to have an inverse whenever, for every x∈S, there exists an element y∈S such<br />

that<br />

x * y = e<br />

» The operator + over I, with e = 0, the inverse of an element a is (-a), since a+(-a) = 0.<br />

6. <strong>Di</strong>stributive law: if * <strong>and</strong>.are two binary operators on a set S, * is said to be<br />

distributive over whenever.<br />

歷 史 : 1854 年 George Boole 發 展 布 林 代 數 ;<br />

x *(y.z) = (x * y).(x * z)<br />

Note<br />

<br />

The associative law can be derived<br />

No additive <strong>and</strong> multiplicative inverses<br />

Complement<br />

1904 E. V. Huntingtion 提 出 布 林 代 數 的 假<br />

設 ; 1938 年 C. E. Shannon 介 紹 一 種 二 值 布<br />

林 代 數 , 稱 為 交 換 代 數 (switch algebra),<br />

說 明 了 雙 穩 態 的 電 子 交 換 電 路 , 可 以 用 交<br />

換 代 數 來 表 示 。<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-5<br />

B = {0, 1} <strong>and</strong> two binary operations, + <strong>and</strong>.<br />

Closure: + <strong>and</strong>.are closed.<br />

+ have identity 0, .have identity 1<br />

» x+0 =0+x = x<br />

» x.1 =1.x = x<br />

<br />

+ <strong>and</strong>.are communication<br />

» x+y = y+x<br />

» x.y =y.x<br />

<br />

<strong>Di</strong>stribution<br />

» .is distributive over whenever +<br />

− x+(y.z) = xy+xz<br />

» + is distributive over whenever.x<br />

− x.(y+z) = (x+y).(x+z)<br />

Each x∈B, ∋x'∈B (complement) s.t.<br />

» x + x' = 1<br />

» x.x' x = 0<br />

At least exist two element x, y∈B <strong>and</strong> x ≠ y.<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-6<br />

2.3 Postulates of Two-Valued <strong>Boolean</strong><br />

<strong>Algebra</strong> (1/3) (p.55)<br />

B = {0, 1} <strong>and</strong> two binary operations, + <strong>and</strong>.<br />

The rules of operations: AND、OR <strong>and</strong> NOT.<br />

AND OR NOT<br />

x y x.y x y x+y x x'<br />

0 0 0 0 0 0 0 1<br />

0 1 0 0 1 1 1 0<br />

1 0 0 1 0 1<br />

1 1 1 1 1 1<br />

1. Closure (+ <strong>and</strong>‧)<br />

2. The identity elements<br />

(1) +: 0<br />

(2).:1<br />

Postulates of Two-Valued <strong>Boolean</strong> <strong>Algebra</strong><br />

(2/3) (p.56)<br />

3. The commutative laws<br />

4. The distributive laws<br />

x y z y+z x.(y+z) x.y x.z (x.y)+(x.z)<br />

0 0 0 0 0 0 0 0<br />

0 0 1 1 0 0 0 0<br />

0 1 0 1 0 0 0 0<br />

0 1 1 1 0 0 0 0<br />

1 0 0 0 0 0 0 0<br />

1 0 1 1 1 0 1 1<br />

1 1 0 1 1 1 0 1<br />

1 1 1 1 1 1 1 1<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-7<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-8


Postulates of Two-Valued <strong>Boolean</strong> <strong>Algebra</strong><br />

(3/3) (p.56)<br />

5. Complement<br />

x+x'=1 → 0+0'=0+1=1; 1+1'=1+0=1<br />

x.x'=0 x.x=0 → 0.0=0.1=0; 0.0'=0.1=0; 1.1=1.0=0<br />

1.1'=1.0=0<br />

6. Has two distinct elements 1 <strong>and</strong> 0, with 0 ≠ 1<br />

2.4 Basic Theorems <strong>and</strong> Properties (p.57)<br />

Duality<br />

The binary operators are interchanged; AND (.) ⇔ OR (+)<br />

The identity elements are interchanged; 1 ⇔ 0<br />

Note<br />

A set of two elements<br />

+ : OR operation; .: AND operation<br />

A complement operator: NOT operation<br />

Binary logic is a two-valued <strong>Boolean</strong> algebra<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-9<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-10<br />

Basic Theorems (1/3) (p.58)<br />

Basic Theorems (2/3) (p.58)<br />

Theorem 1(a): x + x = x<br />

x+x = (x+x).1 by postulate: 2(b)<br />

=(x+x).(x+x')<br />

) 5(a)<br />

= x+xx' 4(b)<br />

= x+0 5(b)<br />

= x 2(a)<br />

Theorem 1(b): x.x = x<br />

x.x = xx + 0 by postulate: 2(a)<br />

= xx + xx' 5(b)<br />

= x.(x + x') 4(a)<br />

= x.1 1 5(a)<br />

= x 2(b)<br />

Theorem 2(a): x+1=1<br />

1 = 1<br />

x + 1 = 1.(x + 1) postulate 2(b)<br />

=(x+x')(x+1)<br />

+ x + 5(a)<br />

= x + x' 1 4(b)<br />

=x+x'<br />

x 2(b)<br />

= 1 5(a)<br />

Theorem 2(b): x.0=0<br />

= 0<br />

Theorem 3: (x')' = x<br />

by duality<br />

Postulate t 5 defines the complement of x, x + x' = 1 <strong>and</strong> x x' = 0<br />

The complement of x' is x is also (x')'<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-11<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-12


Basic Theorems (3/3) (p.59)<br />

DeMorgan's Theorems (p.59)<br />

Theorem 6(a): x + xy = x<br />

x + xy = x.1 + xy<br />

postulate2(b)<br />

=x(1 + y) 4(a)<br />

= x (y + 1) 3(a)<br />

= x.1 2(a)<br />

= x 2(b)<br />

Theorem 6(b): x (x +y)=x<br />

= by duality<br />

By means of truth table (another way to proof )<br />

x y xy x+xy<br />

0 0 0 0<br />

0 1 0 0<br />

1 0 0 1<br />

1 1 1 1<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-13<br />

DeMorgan's Theorems<br />

(x+y)' = x' y'<br />

(xy)' = x' +y'<br />

x y x + y (x + y)’ x’ y’ x’y’ xy<br />

0 0 0 1 1 1 1<br />

0 1 1 0 1 0 0<br />

1 0 1 0 0 1 0<br />

1 1 1 0 0 0 0<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-14<br />

Operator Precedence (p.59)<br />

2.5 <strong>Boolean</strong> Functions (p.60)<br />

The operator precedence for evaluating <strong>Boolean</strong> Expression is<br />

Parentheses ( 括 弧 )<br />

NOT<br />

AND<br />

OR<br />

Examples<br />

xy'+ + z<br />

(x y + z)'<br />

A <strong>Boolean</strong> function<br />

Binary variables<br />

Binary operators OR <strong>and</strong> AND<br />

Unary operator NOT<br />

Parentheses<br />

Examples<br />

F 1 =xyz'<br />

F 2 = x + y'z<br />

F 3 =x' y' z+x' yz+xy'<br />

y<br />

F 4 = x y' + x' z<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-15<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-16


<strong>Boolean</strong> Functions (p.60)<br />

<strong>Boolean</strong> Functions (p.61)<br />

The truth table of 2 n entries<br />

x y z F 1 F 2 F 3 F 4<br />

0 0 0 0 0 0 0<br />

0 0 1 0 1 1 1<br />

0 1 0 0 0 0 0<br />

0 1 1 0 0 1 1<br />

1 0 0 0 1 1 1<br />

1 0 1 0 1 1 1<br />

1 1 0 1 1 0 0<br />

1 1 1 0 1 0 0<br />

Two <strong>Boolean</strong> expressions may specify the same function<br />

F 3 = F 4<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-17<br />

Implementation with logic gates<br />

F 4 is more economical<br />

F 2 = x + y'z<br />

F 3 = x' y' z + x' y z + x y'<br />

F 4 = x y' + x' z<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-18<br />

<strong>Algebra</strong>ic Manipulation (p.62)<br />

Complement of a Function (p.63)<br />

To minimize <strong>Boolean</strong> expressions<br />

Literal: a primed or unprimed variable (an input to a gate)<br />

Term: an implementation with a gate<br />

The minimization of the number of literals <strong>and</strong> the number of terms → a<br />

circuit with less equipment<br />

It is a hard problem (no specific rules to follow)<br />

Example 2.1<br />

1. x(x'+y) = xx' + xy = 0+xy = xy<br />

2. x+x'y xy = (x+x')(x+y) x)(x = 1(x+y) = x+y<br />

3. (x+y)(x+y') = x+xy+xy'+yy' = x(1+y+y') = x<br />

4. xy + x'z + yz = xy + x'z + yz(x+x') ( ) = xy + x'z + yzx + yzx' = xy(1+z) ) +<br />

x'z(1+y) = xy +x'z<br />

5. (x+y)(x'+z)(y+z) = (x+y)(x'+z), by duality from function 4. (consensus<br />

theorem with duality)<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-19<br />

An interchange of 0s 0's for1's 1s <strong>and</strong>1's 1s for0's 0s in the value of F<br />

By DeMorgan's theorem<br />

(A+B+C)' =(A+X)'<br />

let B+C = X<br />

= A'X' by theorem 5(a) (DeMorgan's)<br />

= A'(B+C)' substitute B+C = X<br />

= A'(B'C') by theorem 5(a) (DeMorgan's)<br />

= A'B'C' ABC<br />

by theorem 4(b) (associative)<br />

Generalizations: a function is obtained by interchanging AND<br />

<strong>and</strong> OR operators <strong>and</strong> complementing each literal.<br />

(A+B+C+D+ ... +F)' = A'B'C'D'... F'<br />

(ABCD ... F)' = A'+ A+ B+C+D B'+C'+D' ... +F'<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-20


Example 2.2<br />

2<br />

Examples (p.64)<br />

Complement each literal: x'+(y+z)(y'+z') z ) = F 2 '<br />

2.6 Canonical <strong>and</strong> St<strong>and</strong>ard Forms (p.64)<br />

Minterms <strong>and</strong> Maxterms<br />

F 1 ' = (x'yz' + x'y'z)' = (x'yz')' (x'y'z)' = (x+y'+z) (x+y+z')<br />

F 2 ' = [x(y'z'+yz)]' [x(yz+yz)] = x' +(y'z'+yz)' (yz+yz) = x' +(y'z')' (yz) (yz)‘<br />

= x' + (y+z) (y'+z')<br />

A minterm (st<strong>and</strong>ard product): an AND term consists of all<br />

literals l in their normal form or in their complement form.<br />

For example, two binary variables x <strong>and</strong> y,<br />

= x' + yz‘+y'z<br />

z<br />

» xy, xy', x'y, x'y'<br />

'<br />

It is also called a st<strong>and</strong>ard product.<br />

Take the dual of the function <strong>and</strong> complement each literal<br />

n variables con be combined to form 2 n minterms.<br />

1. F 1 = x'yz' + x'y'z.<br />

A maxterm (st<strong>and</strong>ard sums): an OR term<br />

The dual of F 1 is (x+y+z) (x'+y+z') (x'+y'+z) (x+y+z).<br />

It is also call a st<strong>and</strong>ard sum.<br />

Complement each literal: (x+y'+z)(x+y+z') = F 1 '<br />

2 n maxterms.<br />

2. F 2 = x(y' z' + yz).<br />

The dual of F 2 is x+(y'+z')(y+z).<br />

Example 2.3: a simpler procedure<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-21<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-22<br />

Minterms <strong>and</strong> Maxterms (1/3) (p.65)<br />

Minterms <strong>and</strong> Maxterms (2/3) (p.65)<br />

Each maxterm is the complement of its corresponding minterm,<br />

<strong>and</strong> vice versa.<br />

An <strong>Boolean</strong> function can be expressed by<br />

A truth table<br />

Sum of minterms<br />

f 1 = x'y'z + xy'z' + xyz = m 1 + m 4 +m 7 (Minterms)<br />

f 2 = x'yz+ xyz+ xy'z + xyz'+xyz = m 3 +m 5 +m 6 +m 7 (Minterms)<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-23<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-24


Minterms <strong>and</strong> Maxterms (3/3) (p.66)<br />

Sum of Minterms (p.66)<br />

The complement of a <strong>Boolean</strong> function<br />

The minterms that produce a 0<br />

f 1 ' = m 0 +m 2 +m 3 +m 5 +m 6 =x'y'z'+x'yz'+x'yz+xy'z+xyz'<br />

yz yz+xy z+xyz<br />

f 1 = (f 1 ')'<br />

= (x+y+z)(x+y'+z) y y (x+y'+z') y z) (x'+y+z')(x'+y'+z) y z)(x y z) = M 0 M 2 M 3 M 5 M 6<br />

f 2 = (x+y+z)(x+y+z')(x+y'+z)(x'+y+z)=M 0 M 1 M 2 M 4<br />

Any <strong>Boolean</strong> function can be expressed as<br />

A sum of minterms (“sum” meaning the ORing of terms).<br />

A product of maxterms (“product” meaning the AN<strong>Di</strong>ng of terms).<br />

Both boolean functions are said to be in Canonical form.<br />

Sum of minterms: there are 2 n minterms <strong>and</strong> 2 2n combinations of<br />

function with n <strong>Boolean</strong> variables.<br />

Example 2.4: express F = A+BC' as a sum of minterms.<br />

F = A+B'C = A (B+B') + B'C = AB +AB' + B'C = AB(C+C') +<br />

AB'(C+C') ) + (A+A')B'C )BC = ABC+ABC+ABC+ABC+ABC<br />

ABC+ABC'+AB'C+AB'C'+A'B'C<br />

F = A'B'C +AB'C' +AB'C+ABC'+ ABC = m 1 + m 4 +m 5 + m 6 + m 7<br />

F(A, B, C) = Σ(1, 4, 5, 6, 7)<br />

or, built the truth table first<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-25<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-26<br />

Product of Maxterms (p.68)<br />

Conversion between Canonical Forms (p.68)<br />

Product of maxterms: using distributive law to exp<strong>and</strong>.<br />

x + yz = (x + y)(x + z) = (x+y+zz')(x+z+yy') = (x+y+z)(x+y+z')(x+y'+z)<br />

Example 2.5: express F=xy+x'z xz as a product of maxterms.<br />

F = xy + x'z = (xy + x')(xy +z) = (x+x')(y+x')(x+z)(y+z) =<br />

(x'+y)(x+z)(y+z)<br />

)(y )<br />

x'+y = x' + y + zz' = (x'+y+z)(x'+y+z')<br />

F = (x+y+z)(x+y'+z)(x'+y+z)(x'+y+z') = M 0 M 2 M 4 M 5<br />

F(x, y, z)= Π(0, 2, 4, 5)<br />

The complement of a function expressed as the sum of minterms<br />

equals the sum of minterms missing from the original function.<br />

F(A, B, C) = Σ(1, 4, 5, 6, 7)<br />

Thus, F'(A, B, C) = Σ(0, 2, 3)<br />

By DeMorgan's theorem<br />

F(A, B, C) = Π(0, 2, 3)<br />

F'(A (A, B, C) =Π Π (1, 4, 5, 6, 7)<br />

m j ' = M j<br />

Sum of minterms = product of maxterms<br />

Interchange the symbols Σ <strong>and</strong> Π <strong>and</strong> list those numbers missing from the<br />

original form<br />

» Σ of 1's<br />

» Π of 0's<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-27<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-28


St<strong>and</strong>ard Forms (P.70)<br />

Example<br />

F = xy + x′z<br />

F(x, y, z)=Σ(1367)<br />

= Σ(1, 3, 6, F(x, y, z) = Π (0, 2, 4, 6)<br />

Canonical forms are very seldom the ones with the least number<br />

of literals.<br />

St<strong>and</strong>ard d forms: the terms that t form the function may obtain one,<br />

two, or any number of literals.<br />

Sum of products: F 1 = y' '+ xy+ x'yz'<br />

'<br />

Product of sums: F 2 = x(y'+z)(x'+y+z')<br />

F 3 = A'B'CD+ABC'D'<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-29<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-30<br />

Implementation (p.70, 71)<br />

2.7 Other <strong>Logic</strong> Operations (p.71, 72)<br />

Two-level implementation<br />

2 n rows in the truth table of n binary variables.<br />

2 2n functions for n binary variables.<br />

16 functions of two binary variables.<br />

F 1 = y' + xy+ x'yz'<br />

F 2 = x(y'+z)(x'+y+z')<br />

Multi-level implementation<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-31<br />

All the new symbols except for the exclusive-OR symbol are not<br />

in common use by di<strong>gital</strong> designers.<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-32


<strong>Boolean</strong> Expressions (p.72)<br />

2.8 <strong>Di</strong><strong>gital</strong> <strong>Logic</strong> <strong>Gates</strong> (p.73)<br />

<strong>Boolean</strong> expression: AND, OR <strong>and</strong> NOT operations<br />

Constructing gates of other logic operations<br />

The feasibility <strong>and</strong> economy;<br />

The possibility of extending gate's inputs;<br />

The basic properties of the binary operations (commutative ti <strong>and</strong><br />

associative);<br />

The ability of the gate to implement <strong>Boolean</strong> functions.<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-33<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-34<br />

St<strong>and</strong>ard <strong>Gates</strong> (p.73)<br />

Summary of <strong>Logic</strong> <strong>Gates</strong> (p.74)<br />

Consider the 16 functions in Table 2.8 (slide 33)<br />

Two are equal to a constant (F 0 <strong>and</strong> F 15 ).<br />

Four are repeated twice (F 4 , F 5 , F 10 <strong>and</strong> F 11 ).<br />

Inhibition (F 2 ) <strong>and</strong> implication (F 13 ) are not commutative or associative.<br />

The other eight: complement (F 12 ), transfer (F 3 ), AND (F 1 ), OR (F 7 ),<br />

NAND (F 14 ), NOR (F 8 ), XOR (F 6 ), <strong>and</strong> equivalence (XNOR) (F 9 ) are<br />

used as st<strong>and</strong>ard gates.<br />

Complement: inverter.<br />

Transfer: buffer (increasing drive strength).<br />

Equivalence: XNOR.<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-35<br />

Figure 2.5 <strong>Di</strong><strong>gital</strong> logic gates<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-36


Summary of <strong>Logic</strong> <strong>Gates</strong> (p.74)<br />

Multiple Inputs (p.75)<br />

Extension to multiple inputs<br />

A gate can be extended to multiple inputs.<br />

» If its binary operation is commutative <strong>and</strong> associative.<br />

AND <strong>and</strong> OR are commutative <strong>and</strong> associative.<br />

» OR<br />

− x+y = y+x<br />

− (x+y)+z = x+(y+z) = x+y+z<br />

» AND<br />

− xy = yx<br />

− (x y)z = x(y z) ) = x y z<br />

Figure 2.5 <strong>Di</strong><strong>gital</strong> logic gates<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-37<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-38<br />

Multiple Inputs (p.76)<br />

Multiple Inputs (p.76)<br />

NAND <strong>and</strong> NOR are commutative but not associative → they are not<br />

extendable.<br />

Multiple NOR = a complement of OR gate, Multiple NAND = a<br />

complement of AND.<br />

The cascaded NAND operations = sum of products.<br />

The cascaded NOR operations = product of sums.<br />

Figure 2.6 Demonstrating ti the nonassociativity it of the NOR operator;<br />

(x ↓ y) ↓ z ≠ x ↓(y ↓ z)<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-39<br />

Figure 2.7 Multiple-input <strong>and</strong> cascated NOR <strong>and</strong> NAND gates<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-40


Multiple Inputs (p.77)<br />

Positive <strong>and</strong> Negative <strong>Logic</strong> (p.77)<br />

The XOR <strong>and</strong> XNOR gates are commutative <strong>and</strong> associative.<br />

Multiple-input XOR gates are uncommon?<br />

XOR is an odd function: it is equal to 1 if the inputs variables have an odd<br />

number of 1's.<br />

Positive <strong>and</strong> Negative <strong>Logic</strong><br />

Two signal values two logic values<br />

Positive logic: H=1; L=0<br />

Negative logic: H=0; L=1<br />

Consider a TTL gate<br />

A positive logic AND gate<br />

A negative logic OR gate<br />

The positive logic is used in this book<br />

Figure 2.8 3-input XOR gate<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-41<br />

Figure 2.9 Signal assignment <strong>and</strong> logic polarity<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-42<br />

Positive <strong>and</strong> Negative <strong>Logic</strong> (p.78)<br />

2.9 Integrated Circuits (p.79)<br />

Level of Integration<br />

An IC (a chip)<br />

Examples:<br />

Small-scale Integration (SSI): < 10 gates<br />

Medium-scale Integration (MSI): 10 ~ 100 gates<br />

Large-scale Integration (LSI): 100 ~ xk gates<br />

Very Large-scale Integration (VLSI): > xk gates<br />

VLSI<br />

Small size (compact size)<br />

Low cost<br />

Low power consumption<br />

High reliability<br />

High speed<br />

Figure 2.10 Demonstration of positive <strong>and</strong> negative logic<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-43<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-44


Moore’s Law<br />

Silicon Wafer <strong>and</strong> <strong>Di</strong>es<br />

Transistors on lead microprocessors double every 2 years.<br />

(transistors on electronic component double every 18 months)<br />

Exponential cost decrease – technology basically the same:<br />

A wafer is tested <strong>and</strong> chopped into dies that are packaged.<br />

dies along the edge<br />

<strong>Di</strong>e ( 晶 粒 )<br />

Wafer ( 晶 圓 )<br />

source: http://www.intel.com<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-45<br />

AMD K8, source: http://www.amd.com<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-46<br />

Cost of an Integrated Circuit (IC)<br />

Examples of Cost of an IC<br />

Cost of die + Cost of testing die + Cost of packaging <strong>and</strong> final test<br />

Cost of IC =<br />

Final test yield<br />

(A greater portion of the cost that varies between machines)<br />

Cost of<br />

wafer<br />

Cost of die =<br />

#<strong>Di</strong>es per wafer × <strong>Di</strong>e yield<br />

π ×<br />

# <strong>Di</strong>es per wafer =<br />

(sensitive to die size)<br />

( Wafer radius)<br />

2<br />

π × Wafer diameter<br />

−<br />

<strong>Di</strong>e area<br />

2<br />

×<br />

<strong>Di</strong>e area<br />

(# of dies along the edge)<br />

⎛ Defect desity×<br />

<strong>Di</strong>e area ⎞<br />

<strong>Di</strong>e yield = Wafer yield × ⎜1<br />

+<br />

⎟<br />

⎝<br />

α<br />

⎠<br />

Today’s technology: α≈4.0, defect density 0.4 ~ 0.8 per cm 2<br />

−α<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-47<br />

<br />

<br />

Example 1: Find the number of dies per 30-cm wafer for a die that is 0.7 cm on a side.<br />

The total die area is 0.49 cm 2 . Thus<br />

π<br />

# <strong>Di</strong>es per wafer<br />

=<br />

2<br />

× ( Wafer radius<br />

) π × Wafer diameter<br />

<strong>Di</strong>e area<br />

( 30 / 2)<br />

π ×<br />

=<br />

0.49<br />

2<br />

−<br />

−<br />

2×<br />

<strong>Di</strong>e area<br />

π × 30 706.5 94.2<br />

= −<br />

=<br />

1,347<br />

2 × 0.49 0.49 0.99<br />

Example 2: Find the die yield for dies that are 1 cm on a side <strong>and</strong> 0.7 cm on a side,<br />

assuming a defect density of 0.6 per cm 2 .<br />

The total die areas are 1 cm 2 <strong>and</strong> 0.49 cm 2 . For the large die the yield is<br />

<strong>Di</strong>e yield<br />

⎛ Detect<br />

desity<br />

×<br />

<strong>Di</strong>e area<br />

⎞<br />

= Wafer yield × ⎜1<br />

+<br />

⎟<br />

⎝<br />

α ⎠<br />

−4<br />

⎛ 0.6<br />

×<br />

1<br />

⎞<br />

=<br />

⎜1 +<br />

⎟ = 0.35<br />

⎝ 4.0 ⎠<br />

For the small die, it is<br />

−4<br />

⎛ 0.6 × 0.49 ⎞<br />

<strong>Di</strong>e yield = ⎜1+<br />

⎟<br />

⎝ 4.0 ⎠<br />

= 0.58<br />

−<br />

α<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-48


<strong>Di</strong><strong>gital</strong> <strong>Logic</strong> Families (p.79)<br />

<strong>Di</strong><strong>gital</strong> <strong>Logic</strong> Families (p.80)<br />

<strong>Di</strong><strong>gital</strong> logic families: circuit technology<br />

TTL: transistor-transistor logic (dying?)<br />

ECL: emitter-coupled logic (high speed, high power consumption)<br />

MOS: metal-oxide semiconductor (NMOS, high density)<br />

CMOS: complementary MOS (low power)<br />

BiCMOS: high speed, high density<br />

The characteristics of di<strong>gital</strong> logic families<br />

Fan-out: the number of st<strong>and</strong>ard loads that the output of a typical gate can<br />

drive.<br />

Power dissipation.<br />

Propagation delay: the average transition delay time for the signal to<br />

propagate from input to output.<br />

Noise margin: the minimum of external noise voltage that caused an<br />

undesirable change in the circuit output.<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-49<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-50<br />

Fan-out (FO)<br />

Delay Definitions<br />

The fan-out gates act as a load to the driving<br />

circuit because of their input capacitance C in<br />

Therefore, the total input capacitance is<br />

(Figure 2.1(a))<br />

V in<br />

in<br />

50%<br />

<br />

C<br />

in<br />

=<br />

C<br />

Gp<br />

+<br />

C G<br />

=<br />

Gn<br />

(b) Loading<br />

(a) Single stage<br />

due to fan-out<br />

In Figure 2.1(b), the external load capacitance<br />

C L is<br />

C = 3<br />

L<br />

C in<br />

In Figure 2.2 where the total output<br />

capacitance is defined das<br />

C = C + C<br />

out<br />

FET<br />

FET<br />

C = C + C<br />

Dn<br />

L<br />

Dp<br />

Fig 2.1 Input capacitance <strong>and</strong> load effects<br />

(a) External load<br />

(b) Complete<br />

switch model<br />

Fig 2.2 2 Evolution of the inverter<br />

switching model<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-51<br />

50%<br />

V in V out<br />

t pHL<br />

t pLH<br />

Propagation delay<br />

t<br />

p<br />

=<br />

( t + t )<br />

pHL<br />

pLH<br />

V out<br />

90%<br />

50%<br />

2<br />

10%<br />

t f<br />

t<br />

t<br />

t r<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-52


Power <strong>Di</strong>ssipation (1/2)<br />

Power <strong>Di</strong>ssipation (2/2)<br />

The current I DD flowing from the power<br />

supply to ground gives a dissipated power of<br />

<br />

<br />

P = V DD I DD<br />

Since V DD is assumed to be a constant<br />

P = P DC<br />

+ P dyn<br />

Where P DC is the DC term <strong>and</strong> P dyn is due to<br />

dynamic switching events.<br />

DC contribution<br />

P = V<br />

DC<br />

I<br />

DD DDQ<br />

Where I DDQ is leakage current.<br />

Fig. Origin of power<br />

dissipation i calculation<br />

l Leakage current is very small, therefore, the<br />

value of P DC is thus quite small (a) VTC (b) DC current<br />

However, leakage power on today is critical<br />

for low-power design.<br />

Fig. DC current flow<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-53<br />

Dynamic power dissipation P dyn<br />

1<br />

f =<br />

T<br />

P dyn arises from the observation that a<br />

complete cycle effectively creates a path for<br />

current to flow from the power supply to<br />

ground,<br />

<br />

Q = C<br />

e<br />

V<br />

out DD<br />

The average power dissipation over a single<br />

cycle with a period T is<br />

P = V<br />

av<br />

⇒ P<br />

sw<br />

P = V<br />

I<br />

DD DD<br />

= C<br />

I<br />

DD DDQ<br />

= V<br />

DD<br />

2<br />

outVDD<br />

+ C<br />

⎛ Qe<br />

⎞<br />

⎜ ⎟<br />

⎝ T ⎠<br />

f<br />

V<br />

f<br />

2<br />

out DD<br />

DC term dynamic power<br />

term<br />

(b) Charge<br />

(a) Input voltage<br />

(c) <strong>Di</strong>scharge<br />

Fig. Circuit for finding the<br />

transient power dissipation<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-54<br />

CAD (p.80)<br />

Homework 2<br />

CAD – Computer-Aided Design<br />

Millions of transistors<br />

Computer-based representation <strong>and</strong> aid<br />

Automatic the design process<br />

Design entry<br />

» Schematic capture<br />

» HDL – Hardware Description Language<br />

g<br />

− Verilog, VHDL<br />

Simulation<br />

Physical realization<br />

» ASIC, FPGA, PLD<br />

Problem 2.1, 2.6, 2.8, 2.14, 2.20, 20 2.27, 27 <strong>and</strong> 2.28<br />

28<br />

Due day: 10/16<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-55<br />

<strong>Di</strong><strong>gital</strong> <strong>System</strong> Ch2-56

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!