基本邏輯運算#
Logic Gates#
Not Gates#
- Symbol

- Truth Table
X01XorX’10
And Gates#
- Symbol

- Truth Table
X0011Y0101Z=X⋅Y0001
Or Gates#
- Symbol

- Truth Table
X0011Y0101Z=X+Y0111
布林表達式與真值表(Boolean Expression and Truth Table)#
- Boolean expression
- 用
'
代表 NOT - 用
+
代表 OR - 用
.
代表 AND - 將輸入用上面的運算子表示成算式,如:(A+C)(B’+C)
- Truth Table
A00001111B00110011C01010101B’11001100AB’00001100AB’+C01011101A+C01011111B’+C11011101(A+C)(B’+C)01011101
基本運算定理#
NOT gate 的基本運算定理#
(x’)’=x
AND gate 的基本運算定理#
x+0x+1x+xx+x’====x1x1
OR gate 的基本運算定理#
x⋅0x⋅1x⋅xx⋅x’====0xx0
進階運算定理#
交換律 Commutative Law#
xyx+y==yxy+x
結合律 Associative Law#
(xy)z(x+y)+z==x(yz)x+(y+z)
分配律 Distributive Law#
x(y+z)x+yz==xy+xz(x+y)(x+z)
Multiplying out and factoring#
- 將算式化整成各個輸入端先 AND 後再 OR
- 例: ABC+AB’C+AB’C’
- 將算式化整成各個輸入端先 OR 後再 AND
- 例: (A+B+C)(A+B’+C)(A+B’+C’)
Multiplying out:#
- 將算式化簡成 SOP form
- 善用(A+B)(A+C)=A+BC
- 範例:
(A+BC)(A+D+E)
=(A+x)(A+y)
=A+xy
=A+BC(D+E)
=A+BCD+BCE
Factoring:#
- 將算式化簡成 POS form
- 善用A+BC=(A+B)(A+C)
- 範例:
AB’+C’D
=(AB’+C’)(AB’+D)
=(A+C’)(B’+C’)(A+D)(B’+D))
2-level realization#
- 利用 Multiplying out 與 Factoring 可以將電路簡化成 2-level circuit
- 因為減少了 Delay propagation 可以減少 Total Time Delay
DeMorgan’s Laws and Duality#
DeMorgan’s Laws#
- 方法:
- AND↔OR
- A↔A’
(x+y+z+…)’(xyz…)’==x’y’z’…x’+y’+z’…
- Truth Table 證明
x00001111y00110011z01010101x’11110000y’11001100z’10101010x+y+z01111111(x+y+z)’10000000x’y’z’10000000 - 範例
[(A’B+C’)(D’+EF’)+GH+W]’
=[(A+B’)C+D(E’+F)](G’+H’)W’
Duality#
方法
- AND↔OR
- 0↔1
[f(=f(x1,x1,x2,x2,…,…,xn,xn,0,1,1,0,+,⋅,⋅+)]D)
性質
- F=G→FD=GD
範例
(x+y’)y=xy→x⋅y’+y=x+y
回顧分配律 Distributive Law,即為 Duality 的表現。
x(y+z)x+yz==xy+xz(x+y)(x+z)
Exclusive-OR and equivalence operations#
Exlusive-OR(XOR,⊕)#
- Symbol

- Truth Table
X0011Y0101Z=X⊕Y0110 - 性質:
x⊕0x⊕1x⊕xx⊕x’x⊕y(x⊕y)⊕zx(y⊕z)x⊕y========xx’01y⊕xx⊕(y⊕z)xy⊕xzxy+x’y′
Equivalence(≡)#
- Symbol

- Truth Table
X0011Y0101Z=X≡Y1001 - 性質:
x≡0x≡1x≡xx≡x’x≡y(x≡y)≡zx(y≡z)x≡y========x’x10y≡xx≡(y≡z)xy≡xzxy’+x’y
連鎖律 The consensus thorem#
- 公式:
- xy+x’z+yz=xy+x’z
- (x+y)(x’+z)(y+z)=(x+y)(x’+z)
- 證明:
xy+x’z+yz
=xy+x’z+(x+x’)yz
=xy+xyz+x’z+x’yz
=xy(1+z)+x’z(1+y)
=xy+x’z
簡化布林表達式的流程#
- 利用 xy+xy’=x(y+y’)=x(AND性質)
- 利用 x+xy+…=x(1+y+…)=x(OR性質)
- 利用 xy+x’z+yz=xy+x’z(連鎖律)
- 利用 x+x’y=x(y+y’)+x’y=xy+xy’+x’y=x+y
- 必要時加入 redundant terms
如何證明布林表達式的正確性?#
- 建構 Truth Table
- 簡化 LHS 和 RHS