Altifigence Academy

8 / 63 · 概念

從真值表到邏輯式:最小項、最大項、SOP、POS

分別由輸出為 1 與為 0 的列推導同一函數,並連結卡諾圖的表示法。

只選取真值表的一列

固定輸入順序為 A,B,CA,B,C,A 為最高有效位元。第 5 列是 ABC=101,只有在此列為 1 的乘積項為 m5=AB‾Cm_5=A\overline B C。每個變數恰好出現一次的這種項稱為最小項(minterm),並不是「閘數最少」的意思。

函數 FF 若在第 1、3、5、6、7 列為 1,就用 OR 連接各最小項最小項是每個輸入變數恰好出現一次的 AND 項,且只在特定的一種輸入組合下為 1。可將輸出為 1 的各列最小項以 OR 相加。。

F=Σm(1,3,5,6,7)=A‾B‾C+A‾BC+AB‾C+ABC‾+ABCF=\Sigma m(1,3,5,6,7)=\overline A\overline B C+\overline A B C+A\overline B C+AB\overline C+ABC

這是積之和(SOP)形式。標準 SOP 的每一項都有所有變數,一般 SOP 則允許某些變數省略。

也能從 0 的列建立同一函數

只有在第 2 列 ABC=010 為 0 的和項為 M2=A+B‾+CM_2=A+\overline B+C,各文字項的極性選成在該列全部為 0。最大項最大項是每個輸入變數恰好出現一次的 OR 項,且只在特定的一種輸入組合下為 0。將輸出為 0 的各列最大項以 AND 相乘。(maxterm)就是只讓某一列為 0 的 OR 項。

F 為 0 的列是 0、2、4,因此可得到下列和之積(POS)。

F=ΠM(0,2,4)=(A+B+C)(A+B‾+C)(A‾+B+C)F=\Pi M(0,2,4)=(A+B+C)(A+\overline B+C)(\overline A+B+C)

Σ 與 Π 是真值表真值表完整列出所有可能的輸入組合,以及每個組合的輸出。隨時間的變化須另外以波形確認。 詳細內容列編號集合的簡寫。Σm 列出為 1 的列,ΠM 列出為 0 的列。

由同一真值表建立兩種運算式
  1. 輸出為 1 的列: 將 1、3、5、6、7 的最小項做 OR
  2. 相同的 F: 為 1 時,C=1 或 A=B=1
  3. 輸出為 0 的列: 將 0、2、4 的最大項做 AND

標準形是起點,下一步才是化簡

上述函數可化簡成 F=C+ABF=C+AB。C=1 的四列形成一組,C=0 時剩下的 110 由 AB 覆蓋。AB 不含 C,因此這是 SOP,但不是標準 SOP。

下一堂卡諾圖會用視覺方式尋找這些群組。思考輸入變動時哪些變數會消失,就不必只靠背誦規則。

實作 · 連結同一函數的三種表示

真值表各列、標準式與簡化式

F = C + A · B

三輸入真值表 · X 代表規格未指定的輸出
ABCF
0000
0011
0100
0111
1000
1011
1101
1111

上方 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,但其他各列的要求仍必須全部遵守。

此選擇適用於本瀏覽器,隨時可從頁尾變更。