8 / 63 · 概念
從真值表到邏輯式:最小項、最大項、SOP、POS
分別由輸出為 1 與為 0 的列推導同一函數,並連結卡諾圖的表示法。
單元可免費閱讀,註冊課程即可儲存學習進度。
只選取真值表的一列
固定輸入順序為 ,A 為最高有效位元。第 5 列是 ABC=101,只有在此列為 1 的乘積項為 。每個變數恰好出現一次的這種項稱為最小項(minterm),並不是「閘數最少」的意思。
函數 若在第 1、3、5、6、7 列為 1,就用 OR 連接各最小項最小項是每個輸入變數恰好出現一次的 AND 項,且只在特定的一種輸入組合下為 1。可將輸出為 1 的各列最小項以 OR 相加。。
這是積之和(SOP)形式。標準 SOP 的每一項都有所有變數,一般 SOP 則允許某些變數省略。
也能從 0 的列建立同一函數
只有在第 2 列 ABC=010 為 0 的和項為 ,各文字項的極性選成在該列全部為 0。最大項最大項是每個輸入變數恰好出現一次的 OR 項,且只在特定的一種輸入組合下為 0。將輸出為 0 的各列最大項以 AND 相乘。(maxterm)就是只讓某一列為 0 的 OR 項。
F 為 0 的列是 0、2、4,因此可得到下列和之積(POS)。
Σ 與 Π 是真值表真值表完整列出所有可能的輸入組合,以及每個組合的輸出。隨時間的變化須另外以波形確認。 詳細內容列編號集合的簡寫。Σm 列出為 1 的列,ΠM 列出為 0 的列。
- 輸出為 1 的列: 將 1、3、5、6、7 的最小項做 OR
- 相同的 F: 為 1 時,C=1 或 A=B=1
- 輸出為 0 的列: 將 0、2、4 的最大項做 AND
標準形是起點,下一步才是化簡
上述函數可化簡成 。C=1 的四列形成一組,C=0 時剩下的 110 由 AB 覆蓋。AB 不含 C,因此這是 SOP,但不是標準 SOP。
下一堂卡諾圖會用視覺方式尋找這些群組。思考輸入變動時哪些變數會消失,就不必只靠背誦規則。
實作 · 連結同一函數的三種表示
F = C + A · B
| ABC | F |
|---|---|
| 000 | 0 |
| 001 | 1 |
| 010 | 0 |
| 011 | 1 |
| 100 | 0 |
| 101 | 1 |
| 110 | 1 |
| 111 | 1 |
上方 A、B、C 按鈕只改變正在觀察的輸入;圖中的 0、1、X 按鈕則改變函數規格本身。請區分兩種操作。虛線代表目前輸入,藍色邊框代表所選乘積項覆蓋的格子。
原始函數設為 ABC=110 時,F=1,因為即使 C=0,AB 項仍為 1。輪流點選 C 群組與 A·B 群組,確認 m7 同時屬於兩組。重複包含同一格不會改變 OR 的結果。
接著點兩次 m6 的輸出,使它從 1 → X → 0。最後函數只需 C 表示。Σm 應移除 6,ΠM 則應加入 6。中間的 X 表示規格不要求該列的輸出值。若輸入可能出現且輸出已有定義,不得為降低成本而任意改成 X。
Σm 顯示必要的 1,ΠM 顯示必要的 0,d 顯示無關項集合。d 非空時,單靠 Σm 或 ΠM 並未指定完整真值表。練習中的「最小 SOP」先減少乘積項數,項數相同時再減少文字項數,顯示符合條件的一個解;不代表實際閘面積的最佳解。
自己試試看
F=C+AB 中,若只把 m6 的要求從 1 改成 0,會得到什麼式子?規格上與把 m6 改成 X 有何差別?
查看解說
得到 F=C。m6=0 要求該輸入下必須輸出 0;m6=X 則允許實作在該列輸出 0 或 1,但其他各列的要求仍必須全部遵守。