
- 當變數愈來愈多時,很難依靠人眼判斷,所以必須計設系統化的簡化過程讓電腦運行。
- 系統化的簡化過程
- 輸入:minterm expansion
- 輸出:minimum SOP
- 步驟:
- 找出所有質函項,並試著將和項消除到不能再消,利用XY+XY’=X
- 利用質函項圖找出最小解
- 範例:F(a,b,c)=a’b’c’+ab’c’+ab’c+abc
- c’ca’b’1a’bab1ab’11
- 所有蘊函項:a’b’c’,ab’c’,ab’c,abc,ab’,b’c’,ac
- 質函項:ab’,b’c’,ac
- 基本質函項:b’c’,ac
- Min SOP:F(a,b,c)=b’c’+ac
決定質函項(prime implicants)#
- 找出所有質函項
- 將每個 minterm 以二進制表示。
- 統計每個項的
1
的數量作為 index 並分群。 - 將分完群的 minterm 以 index 排列。
- 從 index 最小開始,往 index + 1 的群,尋找可以用XY+XY’=X簡化的組合
- 檢查所有的項都合併成組合,留下來的項即為質函項。
- 重複步驟 4 到 步驟 5 直到沒有函項可以合併。
被打勾表示不是質函項(prime implicants)
- 範例:f(a,b,c,d)=∑m(0,1,2,5,6,7,8,9,10,14)
- f(a,b,c,d)=P1+P2+P3+P4+P5+P6
- f(a,b,c,d)=a’c’d+a’bd+a’bc+cd’+b’d’+b’c’
- m0m1m2m8m5m6m9m10m7m14Column I0000000100101000010101101001101001111110✓✓✓✓✓✓✓✓✓✓
m0,m1m0,m2m0,m8m1,m5m1,m9m2,m6m2,m10m8,m9m8,m10m5,m7m6,m7m6,m14m10,m14Column II000.00.0.0000.01.0010.10.010100.10.001.1011..1101.10✓✓✓P1✓✓✓✓✓P2P3✓✓
m0,m1,m8,m9m0,m2,m8,m10m0,m8,m1,m9m0,m8,m2,m10m2,m6,m10,m14m2,m10,m6,m14Column III.00..0.0.00..0.0..10..10P4P5P6
質函項圖(表)#
- 範例
- 0,1,8,90,2,8,102,6,10,141,55,76,7b’c’b’d’cd’a’c’da’bda’bcP6P5P4P1P2P30✓✓1✓✓2✓✓5✓✓6✓✓7✓✓8✓✓9⊕10✓✓14⊕
- 1,55,76,7a’c’da’bda’bcP1P2P35✓✓7✓✓
- 優先選 ⊕的質函項(只出現過一次,代表是基本質函項),如範例P6與P4。
- 刪除選出的質函項後化簡成更簡化的質函項圖。
- 選可以同時照顧到最多函項的質函項。
- →f(a,b,c)=P2+P4+P6=a’bd+cd’+b’c’
- (若沒有基本質函項時,有可以有多個最佳解)
Petrick’s method#
- 用來解出質函項圖的所有 min SOP 解。
- 在使用 Petrick 法前,需將所有基本質函項與其函蓋的 minterms 從表上劃掉。
- 範例:F=∑m(0,1,2,5,6,7)
P1P2P3P4P5P60,10,21,52,65,76,7a’b’a’c’b’cbc’acab✓✓✓✓✓✓✓✓✓✓✓✓- 0→P1+P21→P1+P32→P2+P45→P3+P56→P4+P67→P5+P6
- P=(P1+P2)(P1+P3)(P2+P4)(P3+P5)(P4+P6)(P5+P6)=1
- P=(P1+P2P3)(P4+P2P6)(P5+P3P6)
- P=P1P4P5+P1P2P5P6+P2P3P4P5+P2P3P5P6+P1P3P4P6+P1P2P3P6+P2P3P4P6+P2P3P6
- 刪掉含有P2P3P6的和項
- P=P1P4P5+P1P2P5P6+P2P3P4P5+P1P3P4P6+P2P3P6
- min Sol:
- F=P1+P4+P5=a’b’+bc’+ac
- F=P2+P3+P6=a’c’+b’c+ab
考慮 Don’t Care 的情形#
- 稍微修改一下 Quine-McClusky 方法
- 找出所有質函項:將DC視為minterms
- 建構出質函項表:DC不必列在表頭
- 範例:F(A,B,C,D)=∑m(2,3,7,9,11,13)+∑d(1,10,15)
- 1239107111315000100100011100110100111101111011111✓✓✓✓✓✓✓✓✓
1,31,92,32,103,73,119,119,1310,117,1511,1513,1500.1.001001..01.0.11.01110.11.01101..1111.1111.1✓✓✓✓✓✓✓✓✓✓✓✓
1,3,9,112,3,10,11,3,7,11,159,11,13,15.0.1.01...111..1
- 1,3,9,11∗2,3,10,11∗3,7,11,15∗9,11,13,152⊕3✓✓✓7⊕9✓✓11✓✓✓✓13⊕
- F=B’C+CD+AD
- 其中 1 被當作 0,10、15當作1。