490 likes | 954 Views
計算機概論. 第 6 章 數位邏輯設計. 6-1 邏輯電路 (Logic Circuit). 兩個二元變數 X 、 Y 進行相加的結果, SUM 代表和, CARRY 代表進位. SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X ’ * Y) + (X * Y ’ ) CARRY = X AND Y = X * Y. 6-2 布林代數 (Boolean Algebra). 值為 0 或 1 的二元變數 (binary variable) 值為 0 或 1 的常數 (constant)
E N D
計算機概論 第6章 數位邏輯設計
6-1 邏輯電路(Logic Circuit) 兩個二元變數X、Y進行相加的結果,SUM 代表和,CARRY代表進位
SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X’ * Y) + (X * Y’) CARRY = X AND Y = X * Y
6-2 布林代數 (Boolean Algebra) • 值為0或1的二元變數 (binary variable) • 值為0或1的常數 (constant) • AND、OR、NOT運算子 (operator) • (、)、[、]、{、} 等括號 • = 等號
舉例來說,假設有個布林函數F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z),且X = 1、Y = 1、Z = 0,則運算過程如下: F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) = X * Y * Z’ + (X’ * Z’) * (Y + Z) = 1 * 1 * 0’ + (1’ * 0’) * (1 + 0) = 1 * 1 * 1 + (0 * 1) * (1 + 0) = 1 + 0 * 1 = 1 + 0 = 1
欄數為二元變數的個數,加上一個存放結果的欄位,故有n+1欄。欄數為二元變數的個數,加上一個存放結果的欄位,故有n+1欄。 每個二元變數有0、1兩種值,所以n 個二元變數會有 2n 種組合,故有 2n 列。 將X、Y、Z的值代入F(X、Y、Z),就可以算出這個欄位的值。 6-2-1 真值表(Truth Table) 布林函數F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) 的真值表推算如下:
6-2-3 布林代數恆等式 一、公設 P1. 0與1的存在 (a) X + 0 = X (b) X * 1 = X P2. 交換律 (a) X + Y = Y + X (b) X * Y = Y * X P3. 結合律 (a) X + (Y + Z) = (X + Y) + Z (b) X * (Y * Z) = (X * Y) * Z
P4. 分配律 (a) X + (Y * Z) = (X + Y) * (X + Z) (b) X * (Y + Z) = (X * Y) + (X * Z) P5. 互補 (a) X + X’ = 1 (b) X * X’ = 0 二、定理 T1.冪次 (a) X + X = X (b) X * X = X
T2. 0與1的特性 (a) X + 1 = 1 (b) X * 0 = 0 T3. Absorption (a) X + XY = X (b) X * (X + Y) = X (c) X + X’Y = X + Y (d) X * (X ‘ + Y) = X * Y T4. 狄摩根 (a) (X + Y)’ = X’ * Y’ (b) (X * Y)’ = X’ + Y’
T5. 反身律 (X’)’ = X T6. Consensus (a) XY + X’Z + YZ = XY + X’Z(b) (X + Y) * (X’ + Z) * (Y + Z) = (X + Y) * (X’ + Z)
6-3 邏輯閘(Logic Gate) 6-3-1AND閘
使用NAND閘來模擬AND閘 使用NAND閘來模擬OR閘
6-3-6NOR閘 使用NOR閘來模擬AND閘
使用NOR閘來模擬OR閘 使用NOR閘來模擬NOT閘
6-4 邏輯簡化(Logic Minimization) 6-4-1 標準形式(Standard Form) • 積項(product terms) • 和項(sum terms) • 最小項(miniterms) • 最大項(maxiterms) 最小項之和(sum of miniterms)
將布林函數F(X, Y, Z) = X’Y + XZ表示成最小項之和 (1)首先,將F(X, Y, Z) = X’Y + XZ的真值表寫出來 (2)以OR運算子連接所有布林值等於1的最小項 F (X, Y, Z) = m2 + m3 + m5 + m7 = Σm (2, 3, 5, 7)
將布林函數F(X, Y, Z) = X’Y + XZ表示成最大項之積 (1)首先,將F(X, Y, Z) = X’Y + XZ的真值表寫出來 (2)以 AND 運算子連接所有布林值等於 0 的最大項 F (X, Y, Z) = M0 + M1 + M4 + M6 = ΠM (0, 1, 4, 6)
6-4-2 卡諾圖(Karnaugh Map) 兩個二元變數的卡諾圖 以卡諾圖將F(X, Y) = XY + XY’ 簡化為積項之和 (1)F(X, Y) = XY + XY’ = m3 + m2 = Σ m (2, 3)
(2) (3) (4)找出矩形涵蓋的積項並求取其和, XY’ + XY = (X)(Y’ + Y) = X
三個二元變數的卡諾圖 以卡諾圖將F(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’Z簡化為積項之和 (1)F (X, Y, Z) = Σm (2, 3, 5, 7)
(2) (3)
(4)X’YZ + X’YZ’ = (X’Y)(Z + Z’) = X’Y,XY’Z + XYZ = XZ(Y’ + Y) = XZ,兩者相加於是 得到X’Y + XZ • 四個二元變數的卡諾圖
以卡諾圖將F(W, X, Y, Z) = Σm (0, 2, 4, 6, 8, 10, 13, 15) 簡化為積項之和 (1)
(2) (3)找出矩形涵蓋的積項並求取其和,本 例有三個矩形,W’Z’ + WXZ + X’Z’
以卡諾圖將布林函數簡化為和項之積 F(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’Z以卡 諾圖將布林函數簡化為和項之積 (1)F(X, Y, Z) = Σm(2, 3, 5, 7) (2)
(3) (4)找出矩形涵蓋的積項並求取其和得到X’Y’ + XZ‘ (5)F(X, Y, Z) = (X’Y’ + XZ’)’ = (X + Y)(X’ + Z)