590 likes | 749 Views
新世代計算機概論第三版. 第 6 章 數位邏輯設計. 6-1 邏輯電路. 硬體是由邏輯電路所組成,而邏輯電路是由可以完成某些功能的邏輯閘所組成,至於邏輯電路的分析與設計則是透過布林代數。 例如下表是兩個二元變數 X 、 Y 進行相加的結果, SUM 代表和, CARRY 代表進位。. AND 運算子 OR 運算子 NOT 運算子. SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X’ * Y) + (X * Y’) CARRY = X AND Y = X * Y. 6-2 布林代數.
E N D
新世代計算機概論第三版 第6章 數位邏輯設計
6-1 邏輯電路 • 硬體是由邏輯電路所組成,而邏輯電路是由可以完成某些功能的邏輯閘所組成,至於邏輯電路的分析與設計則是透過布林代數。 • 例如下表是兩個二元變數X、Y進行相加的結果,SUM代表和,CARRY代表進位。
AND運算子 • OR運算子 • NOT運算子
SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X’ * Y) + (X * Y’) CARRY = X AND Y = X * Y
6-2 布林代數 • 值為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
6-2-1 真值表 F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) 的真值表如下:
6-3 邏輯閘 6-3-1AND閘
使用NAND閘來模擬AND閘 • 使用NAND閘來模擬OR閘 • 使用NAND閘來模擬NOT閘
使用NOR閘來模擬AND閘 • 使用NOR閘來模擬OR閘 • 使用NOR閘來模擬NOT閘
6-4 邏輯簡化 6-4-1 標準形式 • 積項 (product terms):兩個或以上個二元變數以AND運算子連接在一起,例如XY、X’Y’Z’、Y’Z。 • 和項 (sum terms):兩個或以上個二元變數以OR運算子連接在一起,例如X + Y、X’ + Y’ + Z’、Y’ + Z 。 • 最小項 (miniterms):積項中每個二元變數均要出現一次,例如有X、Y、Z三個變數,那麼XYZ、X’YZ’ 等積項均屬於最小項。
最大項 (maxiterms):和項中每個二元變數均要出現一次,例如有X、Y、Z三個變數,那麼X + Y + Z、X’ + Y + Z’ 等和項均屬於最大項。 • 積項之和 (SOP):以OR運算子連接各個積項,例如XY + X’Y’Z’ + Y’Z。 • 和項之積 (POS):以AND運算子連接各個和項,例如 (X + Y)(X’ + Y’ + Z’) 。 • 最小項之和 (sum of miniterms):意義與積項之和相似,不同的是以OR運算子連接各個最小項,例如XYZ + X’YZ’ + XYZ’ 。 • 最大項之積 (product of maxterms):意義與和項之積相似,不同的是以AND運算子連接各個最大項,例如 (X + Y + Z)(X’ + Y + Z’)(X + Y + Z’) 。
6-4-2 卡諾圖 包含2個二元變數的卡諾圖
將F(X, Y) = XY + XY’ 簡化為積項之和: • F(X, Y) = m3 + m2 = Σm(2, 3)。 • XY’ + XY = (X)(Y’ + Y) = X。
將F(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’Z簡化為積項之和: • F(X, Y, Z) = m2 + m3 + m5 + m7 = Σm(2, 3, 5, 7)。 • X’YZ + X’YZ’+ XY’Z + XYZ = (X’Y)(Z + Z’) + XZ(Y’ + Y) = X’Y + XZ。
將F(W, X, Y, Z) = Σm(0, 2, 4, 6, 8, 10, 13, 15) 簡化為積項之和: • W’Z’ + WXZ + X’Z’。
以卡諾圖將F(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’Z簡化為和項之積: • F(X, Y, Z) = Σm(2, 3, 5, 7)。 • X’Y’ + XZ‘。 • 由於這個布林函數的補數為X’Y’ + XZ’,故F(X, Y, Z) = (X’Y’ + XZ’)’ = (X + Y)(X’ + Z)。
將F(W, X, Y, Z) = Σm(0, 1, 5, 10, 14) + d(4, 7, 11, 15) 簡化為積項之和: • W’Y’ + WY。
6-5-1 分析組合電路 • 將各個邏輯閘的輸出一一表示成變數。 • 由前往後推算各個變數的布林函數,直到求出最後一個變數的布林函數,即為整個邏輯電路的布林函數。
根據前一個範例的組合電路,推算真值表: • 將各個邏輯閘的輸出一一表示成變數F1、F2、F3、F。