x yz
wx yz
x yz
第 三 章 作 業 解 答
1、試利用卡諾圖化簡法,分別求出下列布林函數為最簡表示式。
(a) f1(x, y, z)= x⋅z+x⋅z
(b) f2(w, x, y,z)=w⋅z+w⋅ y+w⋅x (c) f3(x, y,z)=(x+ y+z)⋅(x+z)⋅(x+ y) (d) f4(w, x, y, z)=(w+z)⋅(w+ x+ y)⋅(x+z) 解:
(a) f1(x, y,z)=x⋅z+x⋅z
∑ (
1,3,5,7)
= z00 01 11 10
0 1 1
1 1 1
(b)
( )
y w x w z w
x w y w w z y x w f
⋅ +
⋅ +
⋅
=
=
⋅ +
⋅ +
⋅
= z
∑
1,3,5,7,8,9,12,13,14,15) , , ,
2(
00 01 11 10
00 1 1 01 1 1
11 1 1 1 1 10 1 1
(c)
( )
( ) ( ) ( )
xx yy xz zx xz yx yz y x f
+
⋅ +
⋅ +
=
= +
⋅ +
⋅ + +
=( ) ( ) ( )
∏
2,3,4,5,7) , ,
3(
00 01 11 10 0 0 0 1 0 0 0
(d)
( )
( ) ( ) ( )
xw zz xwyx wy z x zz y x w f
+
⋅ +
⋅ +
=
= +
⋅ + +
⋅ +
=( ) ( ) ( )
∏
5,6,7,8,10,12,13,14,15) , , ,
4(
wx yz 00 01 11 10
00
01 0 0 0
11 0 0 0 0 10 0 0
2、試利用卡諾圖化簡法,分別求出下列布林函數為最簡積項之和 (SOP) 與和項之積 (POS) 表示式,並比較兩種形式化簡法所得的結果,當使用邏輯閘來實現時,何者 較為經濟?
(a) f1(w, x, y,z)=
∑
(0,1,5,7,8,10,12,15)(b) f2(w,x, y, z)=∏(2,6,8,9,10,12,15) 解:
(a)、 f1(w, x, y, z)=
∑
(0,1,5,7,8,10,12,15) =∏ (
2,3,4,6,9,11,13,14)
(1)、利用積項之和化簡所得之最簡布林代數表示式為:
(
w x y z)
w x y w x z w y z x y z w x zf1 , , , = ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ (2)、利用和項之積化簡所得之最簡布林代數表示式為:
(
w x y z) (w x y) (
w x z) (
x y z) (
w y z) (
w x z)
f1 , , , = + + ⋅ + + ⋅ + + ⋅ + + ⋅ + +
實現(1)部分之最簡布林代數所需的邏輯閘數量為 6 個,其中包括 5 個 3 輸 入 AND 閘與 1 個 5 輸入 OR 閘,而實現(2)部分之最簡布林代數所需的邏輯閘數 量亦為 6 個,其中包括 5 個 3 輸入 OR 閘與 1 個 5 輸入 AND 閘,因實現 AND 閘與 OR 閘所需支成本相同,因此使用積項之和與和項之積所得之布林代數一 樣經濟。
(b)、 f2(w, x, y, z)=∏(2,6,8,9,10,12,15)=
∑ (
0,1,3,4,5,7,11,13,14)
(1)、利用和項之積化簡所得之最簡布林代數表示式為:
(
, , ,)
( ) ( ) ( ) ( ) ( )2 w x y z w y z w x y w y z w x z w x y z
f = + + ⋅ + + ⋅ + + ⋅ + + ⋅ + + +
(2)、利用積項之和化簡所得之最簡布林代數表示式為:
(
w x y z)
w z w y x y z x y z w x y zf2 , , , = ⋅ + ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅
實現(1)部分之最簡布林代數所需的邏輯閘數量為 6 個,其中包括 4 個 3 輸
入 OR 閘、1 個 4 輸入 OR 閘與 1 個 5 輸入 AND 閘,而實現(2)部分之最簡布林 代數所需的邏輯閘數量亦為 6 個,其中包括 2 個 2 輸入 AND 閘、2 個 3 輸入 AND、1 個 4 輸入 AND 閘與 1 個 5 輸入 OR 閘,因實現 AND 閘與 OR 閘所需 支成本相同,因此使用積項之和所需之輸入數量較少,因此實現積項之和所得 之布林代數較為經濟。
3、試利用卡諾圖化簡法,分別求出下列具不完全指定函數之布林函數為最簡表示 式。
(a) f1(w, x, y, z)=∑(0,1,3,6,9,10,12,15)+∑×(2,7,14) (b) f2(w, x, y,z)=∏(0,1,3,7,10,11,12)+∏×(2,5,6) 解:
(a) f1(w, x, y, z)=∑(0,1,3,6,9,10,12,15)+∑×(2,7,14) =w⋅x+x⋅y+ y⋅z+w⋅x⋅z+x⋅y⋅z
(b) f2(w, x, y, z)=∏(0,1,3,7,10,11,12)+∏×(2,5,6) =
(
w+x) (
⋅ w+y) (
⋅ x+y) (
⋅ w+x+y+z)
4、試利用變數之變數引入圖法,分別求出下列布林函數為最簡表示式。
(a) f1(w,x, y, z)= w⋅x⋅ y+w⋅y+x (b) f2(w, x, y, z)= y+w⋅x+w⋅ y⋅z 解:
(a) f1(w, x, y, z)= w⋅x⋅ y+w⋅y+x =
∑ (
2,3,4,5,6,7,8,9,12,13,14,15)
已知布林函數式為標準積項之和,接著檢視所求布林函數可知,首先選取 w 當作外 部變數,並繪出選取 w 當作外部變數之餘數圖,如下圖所示,最後在此餘式圖上求解 每一行(Column)之最簡式。
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 w w w w 1 1 1 1 w
xyz
0 1
000 111 001 010 011 100 101 110
觀察上圖可知,將每一行化簡所得之結果來設定變數 x、y 與 z 所對應之變數引入圖 之方格值,如下圖所示。
首先將所有設定為外部變數 w 與 w 之方格視為 0 方格,再使用卡諾圖化簡法,可得 化簡後之布林函數表示式如下:
x z y x w
f′( , , , )=
接著分別將外部變數 w 與 w 之方格設定為 1 方格,而將原來之所有 1 方格設定為不 在意項後,再使用卡諾圖之化簡法,可得化簡後之布林函數表示式如下:
y z y x w
f ′′( , , , )=
y z y x w
f ′′′( , , , )=
最後將上述步驟所得之最簡布林函數式,用 OR 連結起來(由外部變數 w 與 w 設定 為 1 方格之卡諾圖化簡所得之積項需多加入外部變數 w 與 w ,即 f ′′(w,x,y,z)=w⋅y、
y w z y x w
f ′′′( , , , )= ⋅ ),即可得最簡布林函數表示式如下:
y w y w x z y x w
f( , , , )= + ⋅ + ⋅
(b) f2(w, x, y, z)= y+w⋅x+w⋅ y⋅z =
∑ (
0,2,3,4,6,7,8,9,10,11,14,15)
已知布林函數式為標準積項之和,接著檢視所求布林函數可知,首先選取 w 當作外 部變數,並繪出選取 w 當作外部變數之餘數圖,如下圖所示,最後在此餘式圖上求解 每一行(Column)之最簡式。
w w w w
1 1 1 1
1 1
× × × ×
1 1
× × × × x
yz 0 1
10 11
01 00
x yz
10 11
01 00
0 1
x
yz 00 01 11 10 0
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 w 1 1 w 0 1 1
觀察上圖可知,將每一行化簡所得之結果來設定變數 x、y 與 z 所對應之變數引入圖 之方格值,如下圖所示。
首先將所有設定為外部變數 w 之方格視為 0 方格,再使用卡諾圖化簡法,可得化簡 後之布林函數表示式如下:
y z x z y x w
f′( , , , )= ⋅ +
接著分別將外部變數 w 與 w 之方格設定為 1 方格,而將原來之所有 1 方格設定為不 在意項後,再使用卡諾圖之化簡法,可得化簡後之布林函數表示式如下:
x z y x w
f ′′( , , , )=
z z y x w
f ′′′( , , , )=
最後將上述步驟所得之最簡布林函數式,用 OR 連結起來(由外部變數 w 與 w 設定 為 1 方格之卡諾圖化簡所得之積項需多加入外部變數 w 與 w ,即 f ′′(w,x,y,z)=w⋅x、
z w z y x w
f ′′′( , , , )= ⋅ ),即可得最簡布林函數表示式如下:
z w x w z x y z y x w
f( , , , )= + ⋅ + ⋅ + ⋅ 1 w 1 1
w 1 1
× 1 × ×
× ×
× × × 1 × × w
xyz
0 1
000 111 001 010 011 100 101 110
x yz
0 1
10 11
01 00
x yz
10 11
01 00
0 1
x
yz 00 01 11 10
1 0
5、試利用列表法,分別求取下列布林函數之最簡表示式。
(a)、 f1(x, y, z)=x+x⋅y+y⋅z (b)、 f2(w, x, y, z)= x+w⋅ y⋅z+x⋅z 解:
(a)、 f1(x, y,z)=x+x⋅y+ y⋅z=
∑ (
0,1,2,3,4,5,7)
將上述之最小項所對應的二進位數具有相同指標個數整理在同一組,並由大至 小依序排列,接著比較指標個數為 i 與 i+1 之所有最小項,若兩個最小項間僅有 1 個 二進位數有 0 與 1 的變化,則表示此兩個最小項可以合併成一項,並將可合併之兩個 最小項作記號,如下表所示。
指標個數 等效十進位數
x y z
0 0 0 0 0 *
1
1 0 0 1 * 2 0 1 0 * 4 1 0 0 *
2 3 0 1 1 *
5 1 0 1 *
3 7 1 1 1 *
重複上述之方法,再繼續比較指標個數為i 與 i+1之所有最小項,所得結果如下 表所示。
指標個數 等效十進位數
x y z
0
0 , 1 0 0 - * 0 , 2 0 - 0 * 0 , 4 - 0 0 *
1
1 , 3 0 - 1 * 1 , 5 - 0 1 * 2 , 3 0 1 - * 4 , 5 1 0 - * 2 3 , 7 - 1 1 * 5 , 7 1 - 1 *
接著處理上表中指標個數為i 與i+1之可合併之最小項,所得結果如下表所示。
指標個數 等效十進位數
x y z
0 0 , 1, 2, 3 0 - - 質隱項 A 0, 1, 4, 5 - 0 - 質隱項 B 1 1, 3, 5, 7 - - 1 質隱項 C
檢查上面合併指標個數為 i 與 i+1所得之三個表中,將標示有質隱項之最小項組 合起來,即可得質隱項之集合 I 如下
} , , {x y z I =
接著將化簡所得質隱項集合,以每個質隱項成一對 (Row) 方式,依序組成一個 質隱項表,接著將每個質隱項之所有可能對應十進位數字上作記號 (*),如下表所 示。
質隱項對應之十進位數
質隱項 0 1 2 3 4 5 7 A x * * * *
B y * * * * 必要質隱項
D z * * * * 必要質隱項
× × × × × × ×
最後利用包含銷去法,即可得到所求之最簡布林函數表示式為 z
y z y x
f( , , )= +
(b)、 f2(w, x, y,z)=x+w⋅y⋅z+x⋅z =∑(0,1,2,3,4,6,8,9,10,11,12,13,14)
將上述之最小項所對應的二進位數具有相同指標個數整理在同一組,並由大至 小依序排列,接著比較指標個數為 i 與 i+1 之所有最小項,若兩個最小項間僅有 1 個 二進位數有 0 與 1 的變化,則表示此兩個最小項可以合併成一項,並將可合併之兩個 最小項作記號,如下表所示。
指標個數 等效十進位數 等效二進位數 w x y z
0 0 0 0 0 0 *
1
1 0 0 0 1 * 2 0 0 1 0 * 4 0 1 0 0 *
8 1 0 0 0 *
2
3 0 0 1 1 * 6 0 1 1 0 * 9 1 0 0 1 * 10 1 0 1 0 * 12 1 1 0 0 *
3
11 1 0 1 1 * 13 1 1 0 1 * 14 1 1 1 0 *
重複上述之方法,再繼續比較指標個數為i 與 i+1之所有最小項,所得結果如下 表所示。
指標個數 等效十進位數 等效二進位數 w x y z
0
0, 1 0 0 0 - * 0, 2 0 0 - 0 * 0, 4 0 - 0 0 * 0, 8 - 0 0 0 *
1
1, 3 0 0 - 1 * 1, 9 - 0 0 1 * 2, 3 0 0 1 - * 2, 6 0 - 1 0 * 2, 10 - 0 1 0 * 4, 6 0 1 - 0 * 4, 12 - 1 0 0 * 8, 10 1 0 - 0 * 8, 12 1 - 0 0 *
2
3, 11 - 0 1 1 * 6, 14 - 1 1 0 * 9, 11 1 0 - 1 * 9, 13 1 - 0 1 * 10, 11 1 0 1 - * 10, 14 1 - 1 0 *
12, 13 1 1 0 - 質隱項 A 12, 14 1 1 - 0 *
接著處理上表中指標個數為i 與i+1之可合併之最小項,所得結果如下表所示。
指標個數 等效十進位數 等效二進位數 w x y z
0
0, 1, 2, 3 0 0 - - 質隱項 B 0, 2, 4, 6 0 - - 0 *
0, 1, 8, 9 - 0 0 - * 0, 2, 8, 10 0 - - 0 * 0, 4, 8, 12 - - 0 0 *
1
1, 3, 9, 11 0 - - 1 * 2, 3, 10, 11 - 0 1 - * 2, 6, 10, 14 - - 1 0 *
4, 6, 12,14 - 1 - 0 質隱項 C 8, 9, 12, 13 1 - 0 - 質隱項 D
最後處理上表中指標個數為i 與i+1之可合併之最小項,所得結果如下表所示。
指標個數 等效十進位數 等效二進位數 w x y z
0
0, 1, 2, 3, 4, 6, 9, 11 0 - - - 質隱項 E 0, 1, 2, 3, 8, 9, 10, 11 - 0 - - 質隱項 F 0, 4, 8, 12, 2, 6, 10, 14 - - - 0 質隱項 G
檢查上面合併指標個數為 i 與 i+1所得之三個表中,將標示有質隱項之最小項組 合起來,即可得質隱項之集合 I 如下
} , , , ,
{w x y w x w x z I = ⋅ ⋅v ⋅
接著將化簡所得質隱項集合,以每個質隱項成一對 (Row) 方式,依序組成一個 質隱項表,接著將每個質隱項之所有可能對應十進位數字上作記號 (*),如下表所 示。
質隱項對應之十進位數
質隱項 0 1 2 3 4 5 6 7 8 9 10 11 12 14
A w⋅x⋅y * *
B w⋅ * * * * x
C w * * * * * * * * 必要質隱項
D x * * * * * * * * 必要質隱項 z * * * * * * * * 必要質隱項
× × × × × × × × × × × × ×
最後利用包含銷去法,即可得到所求之最簡布林函數表示式為 z
x w z y x w
f( , , , )= + +
6、試利用卡諾圖化簡法,求出下列多輸出布林函數為最簡表示式。
y w z x y z y x w f
z x z y w w z y x w f
⋅ +
⋅ +
=
⋅ +
⋅
⋅ +
= ) , , , (
) , , , (
2 1
解:
展開已知之布林函數式為標準積項之和如下
( )
( )
∑ ∑
=
⋅ +
⋅ +
=
=
⋅ +
⋅
⋅ +
=
14 , 13 , 12 , 9 , 8 , 6 , 5 , 4 , 1 , 0 )
, , , (
14 , 12 , 10 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 )
, , , (
2 1
y w z x y z y x w f
z x z y w w z y x w f
檢 視 所 求 之 兩 個 布 林 函 數 間 之 關 係 , 以 尋 找 這 兩 個 布 林 函 數 f1(w,x,y,z) 與 )
, , ,
2(w x y z
f 之公共項,如下圖所示。
) , , ,
1(w x y z
f f2(w,x,y,z)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1
經由以上卡諾圖法之化簡,即可得兩個布林函數之最簡結果為 z
y z x w z y x w
f1( , , , )= + ⋅ + ⋅ z x y z y x w
f2( , , , )= + ⋅ wx
yz
01 00
00 01
11
11
10
10
wx yz
01 00 00 01
11
11
10
10