下載/瀏覽

Download Report

Transcript 下載/瀏覽

Boolean Algebra
and
Logic Gates
布林代數與邏輯閘
• 二位元邏輯 (Binary Logic) 的數位系統
• 數位系統的分析及合成(設計)的工具:布林
代數
• 布林代數處理常數、變數及邏輯運算
– 布林常數:以0,1表示
– 布林變數:以英文字母表示,其數值只有0或1
– 布林代數中的基本邏輯運算: NOT、AND、
OR
布林表示式
Boolean Expression
• 由布林變數、布林常數、邏輯運算及括號所構
成
• 例如
或
A  B  (C  D  0)
A  B(C  D  0)
A  B(C  D  0)
邏輯運算之先後順序
(1) 括號
(2) NOT
(3) AND
(4) OR
A  B(C  D  0)
(C  D  0)
D
C D 0
B(C  D  0)
A  B(C  D  0)
布林函數
Boolean Function
F  A  B(C  D )
數位系統之輸入信號: A,B,C,D
輸出信號: F
0代表接地
布林函數(Boolean Function)
• Boolean function consists of a binary
variable denoting the function, an
equals sign, and an algebraic
expression.
方塊圖 (Block Diagram)
輸入
輸出
x
數位電路
y
F
Top-Down approach
• 什麼是Top-down design ?
就是先規劃整個設計案的組件架構與零件
位置,再做零件的細部設計 。
• In practice, they can be seen as a style of
thinking and teaching. In many cases topdown is used as a synonym of analysis or
decomposition, and bottom-up of
synthesis.
布林代數的定理
Basic Theorems and Properties
• Duality
– the binary operators are interchanged; AND  OR
– the identity elements are interchanged; 1  0
Basic Theorems and Properties
x+0 = x
x
x
x
x‧1=1
x
分配律 (distributive laws)
• X(Y + Z) = XY + XZ
• X + YZ = (X + Y)(X + Z)
• Duality
– the binary operators are interchanged; AND  OR
– the identity elements are interchanged; 1  0
化簡定理
XY  XY   X
( X  Y )( X  Y )  X
X  XY  X
X (X  Y)  X
( X  Y )Y  XY
XY   Y  X  Y
• Duality
– the binary operators are interchanged; AND  OR
– the identity elements are interchanged; 1  0
練習題
• 利用布林代數化簡下列布林函數
F  AB  A( B  C )
F  AB  A( B  C )
1.
F  AB  AB  AC
2.
F  A( B  B)  AC
3.
4.
F  A 1  AC
F  A(1  C)
5.
F  A 1
6.
FA
以邏輯閘實現布林函數
邏輯電路的布林表示式
A(B+CD)
P188
布林代數定律
結合律
三個變數的加法結合律寫法如下:
A + (B + C) = (A + B) + C
三變數乘法結合律的寫法如下:
A(BC) = (AB)C
P177
習題
• 三個變數x、y及z的NOR運算(↓)是否滿
足結合律?
即 (x↓y)↓z 是否與 x↓(y↓z) 等價?
習題
• 三個變數x、y及z的NAND運算(↑)是否滿足
結合律?
即 (x↑y)↑z 是否與 x↑(y↑z) 等價?
習題
• 三個變數x、y及z的XOR運算(⊕)是否滿足結
合律?
即 (x⊕y)⊕z 是否與 x⊕(y⊕z) 等價?
習題
• 三個變數x、y及z的XNOR運算(⊙)是否
滿足結合律?
即 (x⊙y)⊙z 是否與 x⊙(y⊙z) 等價?
x
y
F
z
y
x
z
x
y
z
F
F
F=AB+C(D+E)
• Three-level
implementation (三層的
實現)
F = AB + C(D+E)
E
D
C
F
B
A
•
Two-level
implementation (二層的
實現)
F = AB + CD + CE
E
C
D
B
A
F
布林代數的運算法則
A  AB  A  B
P181
積之和(Sum of Products,SOP)
sum : OR運算
product : AND運算
F  xy  xy 
F  x  xy 
積之和形式(SOP)
積項為由字母 ( 變數或其補數 ) 乘積 ( 布林AND運算 )
所組成的項。當兩個以上的積項以布林OR運算執行加法
時,所得的表示式就是積之和 (sum-of-products, SOP)。
如下列各式:
AB  ABC
ABC  CDE  BC D
AB  ABC  AC
P195
標準SOP形式
(最小項minterm型式)
將積項轉換成標準SOP SOP表示式中的每個積項未必包
含範圍集合內所有變數,這些積項可以擴充成每個都包含
所有集合內變數或其補數(每一項都是一個最小項)的標準
形式。
F  xy  y 
 xy  ( x  x) y 
 xy  xy   xy 
P196
最小項
Minterm
• 最小項(Minterm)又稱為標準積(Standard Product)
• Minterms
– A minterm: an AND term consists of all literals in their
normal form or in their complement form
– For example, two binary variables x and y,
• xy, xy', x'y, x'y'
– It is also called a standard product
– n variables con be combined to form 2n minterms
積之和(Sum of Products,SOP)
與
最小項(Minterm)
F  xy  x y
是最小項表示式
F  x  xy
不是最小項表示式
F  x  xy
 x( y  y )  x y
 xy  x y  x y
 xy  x y
將下列布林表示式轉換成
標準SOP形式:
ABC  A B  ABCD
ABC  AB  ABC D
 ABC ( D  D)  AB(C  C )( D  D)  ABC D
 ABC D  ABCD  ABC ( D  D)  ABC ( D  D)  ABC D
 ABC D  ABCD  ABC D  ABC D  ABC D  ABCD  ABC D
 ABC D  ABCD  ABC D  ABC D  ABC D  ABCD  ABC D
練習題
將下列布林表示式轉換成
標準SOP形式:
W XY  XY Z  WXY
P197
和之積(Product of Sums,POS)
sum : OR運算
product : AND運算
F  ( x  y )( x  y )
F  x ( x  y )
和之積 (product-of-sum)形式
( A  B)( A  B  C )
( A  B  C )(C  D  E )( B  C  D)
( A  B)( A  B  C )( A  C )
P198
標準POS形式
(最大項maxterm表示式)
標準POS表示式是指範圍集合內的所有變數都會出現
在表示式的各個和項中。例如,
( A  B  C  D)( A  B  C  D)( A  B  C  D)
就是個標準POS表示式。
P199
最大項
Maxterm
• 最大項(Maxterm)又稱為標準和(Standard
Sum)
• A maxterm: an OR term
– It is also call a standard sum
– 2n maxterms
– each maxterm is the complement of its
corresponding minterm, and vice versa
和之積(Product of Sums,POS)
與
最大項Maxterm表示式
F  ( x  y )( x  y )
F  x( x  y)
是最大項表示式
不是最大項表示式
F  x ( x  y )
 ( x  yy )( x  y )
 ( x  y )( x  y )( x  y)
 ( x  y )( x  y )
將下式化成標準POS形式
F  ( A  B )( B  C )
P200
F  ( A  B)( B  C )
F  ( A  B )( B  C )
 ( A  B  CC )( AA  B  C )
 ( A  B  C )( A  B  C )( A  B  C )( A  B  C )
 ( A  B  C )( A  B  C )( A  B  C )
兩個變數的最小項與最大項
x
y
最小項
最大項
0 1
x y  m0
x y m1
x  y M1
1 0
xy 
m2
x  y M 2
1 1
xy
m3
x  y  M 3
0 0
x y
M0
3個變數的最小項與最大項
x
y
最小項
最大項
0 1
x y  m0
x y m1
x  y M1
1 0
xy 
m2
x  y M 2
1 1
xy
m3
x  y  M 3
0 0
x y
M0
以最小項或最大項實現布林函數
• 例: 互斥或閘的實現
F  xy  xy  m1  m2   m(1,2)
F  xy  xy  M 0 M 3   M (0,3)
F  m1  m2  M 0 M 3
將SOP表示式轉換成真值表格式
F  ABC  ABC  ABC   m(1,4,7)
 M (0,2,3,5,6)
 ( A  B  C )( A  B  C )( A  B  C )( A  B  C )( A  B  C )
P203
將SOP表示式轉換成真值表格式
表4-6
輸入端
輸出端
A
B
C
X
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
1
 m(1,4,7)   M (0,2,3,5,6)
P203
4位元平行加法器
P315