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 ...
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