780 likes | 1.12k Views
最新計算機概論. 第 4 章 數位邏輯設計. 4-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. 4-2 布林代數.
E N D
最新計算機概論 第4章 數位邏輯設計
4-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
4-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
4-2-1 真值表 F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) 的真值表如下:
4-3 邏輯閘 4-3-1AND閘
使用NAND閘來模擬AND閘 • 使用NAND閘來模擬OR閘 • 使用NAND閘來模擬NOT閘
使用NOR閘來模擬AND閘 • 使用NOR閘來模擬OR閘 • 使用NOR閘來模擬NOT閘
4-4 邏輯簡化: 簡少電路邏輯閘之使用數目之一種處理程序 4-4-1 標準形式 • 積項 (product terms) • 和項 (sum terms) • 最小項 (miniterms) • 最大項 (maxiterms) • 積項之和 (SOP) • 和項之積 (POS) • 最小項之和 (sum of miniterms) • 最大項之積 (product of maxterms)
積項 (product terms) • 兩個或以上二元變數以AND運算子連接在一起,例如XY, X’Y’Z’, Y’Z’均屬之,而X+Y, X(Y+Z)則不是 • 和項 (sum terms) • 兩個或以上二元變數以OR運算子連接在一起,例如X+Y, X’+Y’, Y’+Z’均屬之,而XY, X(Y+Z)則不是 • 最小項 (miniterms) 積項中每個二元變數都要出現一次,不論是變數本身或補數形式,例如XYZ, X’Y’Z屬之,XY, XZ’則不是 • 最大項 (maxiterms) 和項中每個二元變數都要出現一次,不論是變數本身或補數形式,例如X+Y+Z, X’+Y’+Z屬之,X+Y, X+Z’則不是
積項之和 (SOP) • 以OR運算子連接各個積項,例如XY+ X’Y’Z’+ Y’Z’均屬之,而(X+Y)( X+Y+Z)則不是 • 和項之積 (POS) • 以AND運算子連接各個和項,例如(X+Y)(X’+Y’+Z’)屬之,而XY+ XYZ+Y’Z’則不是 • 最小項之和 (sum of miniterms) • 與積項之和類似,但以OR運算子連接各個最小項,例如XYZ+X’Y’Z+XYZ’屬之,XY+ XZ’則不是 • 最大項 之積((product of maxterms) • 與和項之積類似,但以AND運算子連接各個最小項,例如(X+Y+Z)( X’+Y’+Z)(X+Y+Z’)屬之,(X+Y)( X+Z’)則不是
4-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。
4-5-1 分析組合電路 • 將各個邏輯閘的輸出一一表示成變數。 • 由前往後推算各個變數的布林函數,直到求出最後一個變數的布林函數,即為整個邏輯電路的布林函數。