數位邏輯簡介
學習數位邏輯的目的 電腦硬體以0,1來運作,通常 電腦硬體由許多的邏輯電路組合而成。 常用邏輯閘的介紹 0~1 Volts(伏特)視為邏輯值”0”。 3~5 Volts(伏特)視為邏輯值”1”。 1~3 Volts(伏特)視為不穩定狀態(轉換狀態) 電腦硬體由許多的邏輯電路組合而成。 以布林(Boolean)函數及相關的布林代數來代表邏輯電路的運作及功能。 常用邏輯閘的介紹 運用邏輯閘來實現布林函數的功能 如何簡化布林函數以降低所需邏輯閘,進而降低製造成本。
布林函數 布林函數的組成 AND 運算 二元變數:A,B,C…,其值只可能為 0,1。 常數: 0,1。 括號及等號:(, ), [, ], {, }, =。 邏輯運算符號:AND, OR, NOT。 AND 運算 以 XY 或 XY 或 XY表示 若 F = XY (F 等於 X AND Y) 時 當X和Y的值均為1時,F的值才等於1。 真值表 X Y F 1
布林函數 OR 運算 NOT 運算 以 X+Y 表示 若 F = X+Y (F 等於 X OR Y) 時 以 X’ 或 X 表示 真值表 OR 運算 以 X+Y 表示 若 F = X+Y (F 等於 X OR Y) 時 當X和Y的值只要有一個為1時,F就等於1。 NOT 運算 以 X’ 或 X 表示 若 F = X’ (F 等於 NOT X) 時 F的值與X的值相反。 X Y F 1 ¯ 真值表 X F 1
布林函數 例:試說明 F(X,Y,Z) = XY+Y’Z+X’YZ’ When F 的值會等於 1? 當 X的值=1 且 Y的值=1 ; or 當 Y的值=0 且 Z的值=1 ; or 當 X的值=0 且 Y的值=1 且 Z的值=0 上述三種情況皆不發生,F 的值就等於 0 可寫成 F = XY+Y’Z+X’YZ’ 練習:試說明 F = X’Y’+YZ’+XY’Z 當 X的值=0 且 Y的值=0 ; or 當 Y的值=1 且 Z的值=0 ; or 當 X的值=1 且 Y的值=0 且 Z的值=1 上述只要有一種情況發生時,F 的值就等於 1 上述三種情況皆不發生,F 的值就等於 0
布林函數 例:試寫出 F = XY+Y’Z+X’YZ’ 的真值表 練習:試寫出 F = X’Y’+YZ’+XY’Z 的真值表 X Y Z F 1 X Y Z F 1 1 1 1 1 1 1 1 1 1 1
布林函數 若已知某布林函數之真值表如下,試寫出該布林函數。 F 也可以描述如下: 當 X=0, Y=0, Z=1 時 or 1 當 X=0, Y=0, Z=1 時 or 當 X=1 時 上述 2 個情況之一發生時,F=1 ∴ F = X’Y’Z + X F=X’Y’Z +XY’Z’ +XY’Z +XYZ’ +XYZ
布林函數 練習:若已知某布林函數之真值表如下,試寫出該布林函數。 X Y Z F 1 心得: 某布林函數,與其對應的真值表一定唯一 1 F=X’Y’Z’+X’YZ+XY’Z’ ∴ F 也可以 = Y’Z’ + X’YZ 心得: 某布林函數,與其對應的真值表一定唯一 某真值表,與之對應的布林函數不是唯一
布林代數 恆等式 (重要) X + 0 = X X + Y = Y + X X 1 = X X Y = Y X X + (Y + Z) = (X + Y) + Z X (Y Z) = (X Y) Z X (Y + Z) = X Y + X Z X + (Y Z) = (X + Y) (X + Z) X + Y = X Y X Y = X + Y ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯
布林代數 例1. 試化簡 F = X’YZ + X’YZ’ +XZ 練習1. 試化簡 F = X + XY = X’Y(Z + Z’) + XZ = X’Y 1 + XZ = X’Y + XZ# 練習1. 試化簡 F = X + XY 解答: F = X + XY = X(1 + Y) = X 1 = X#
布林代數 例2. 試化簡 F = XY + XY’ 練習2. 試化簡 F = X + X’Y 解答: F = XY + XY’ = X(Y+Y’) = X 1 = X# 練習2. 試化簡 F = X + X’Y 解答: F = X + X’Y = (X + X’)(X + Y) = 1 (X + Y) = X + Y#
布林函數之標準型態 A B C F 1 積項之和 SOP (Sum Of Product) F = A’BC+AB’C+ABC’+ABC 1 積項之和 SOP (Sum Of Product) F = A’BC+AB’C+ABC’+ABC = Σm(3,5,6,7) 和項之積 POS (Product Of Sum) F = (A+B+C)(A+B+C’)(A+B’+C)(A’+B+C) = ΠM(0,1,2,4) 1 2 3 4 5 6 7
利用卡諾圖做布林函數的化簡 試化簡 F(X,Y) = X’Y + XY Y=0 1 X=0 F=Σm(1,3) X Y F 1 F=Σm(1,3) X Y F 1 1 1 由卡諾圖可知: ∵當Y=1時,不論X=0或1,F皆等於 1 ∴F = Y 2 3 2 3 Y=0 1 X=0 練習:試化簡 F(X,Y) = X + XY ∵當X=1時,不論Y=0或1,F皆等於1 ∴F = X X Y F 1 1 F(X,Y)=Σm(2,3) 2 3
利用卡諾圖做布林函數的化簡 試化簡 F(X,Y,Z) = Σm(1,3,5,6,7) 00 01 11 10 X=0 1 X=1 由卡諾圖可知: ∵當Z=1時,不論X=0或1, Y=0或1,F 皆等於 1 當X=1且Y=1時,不論Z=0或1,F皆等於1 ∴F = Z +XY YZ 1 3 2 4 5 7 6 練習:試化簡 F(X,Y,Z) = Σm(2,3,4,6,7) 00 01 11 10 X=0 1 X=1 YZ ∵當Y=1時,不論X=0或1,Z=0或1,F皆等於1 當X=1且Z= 0時,不論Y=0或1,F皆等於1 ∴F = Y + XZ’ 1 3 2 4 5 7 6
利用卡諾圖做布林函數的化簡 試化簡 F(A,B,C,D) = Σm(0,2,5,7,8,10,13,15) 由卡諾圖可知: 00 01 11 10 AB=00 1 CD 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 由卡諾圖可知: ∵當B=1且D=1時,不論A=0或1,C=0或1,F皆等於 1 當B=0且D=0時,不論A=0或1,C=0或1,F皆等於1 ∴F = BD +B’D’
利用卡諾圖做布林函數的化簡 試化簡 F(W,X,Y,Z) = WXY’Z’+W’XY’+WXZ+YZ’ 1 00 01 11 10 WX=0 1 YZ 1 3 2 1 4 5 7 6 1 12 13 15 14 1 8 9 11 10 1 ∵當X=1且Y=0時,不論W=0或1,Z=0或1,F皆等於1 當W=1且X=1時,不論Y=0或1,Z=0或1,F皆等於1 當Y=1且Z=0時,不論W=0或1,X=0或1,F皆等於1 ∴F = XY’ +WX +YZ’ 1 1 1 1 1