Transcript Chap. 3

邏輯閘層次的最小化
Chapter 3
3-1簡介
 邏輯閘層次的最小化 (gate-level minimization) 可歸
類為求取描述數位電路之布林函數的最佳化閘-層次
執行電路的設計工作。
3-2
3-2 圖示法
 結構十分複雜的數位邏輯閘電路
 複雜的布林函數表示式
 邏輯化簡方法
 代數的化簡:缺少特定的原則來預知化簡的下一步驟
 卡諾圖法
 簡單直接的方法
 可以視為是真值表的圖解
 applicable if the # of variables < 7
 卡諾圖是由許多正方形構成的圖
 每一方格代表所欲化簡函數的一個全及項
3-3
 布林函數





全及項之和
以最簡形式表示成積項和或是和項積
項數最少
且每一項的文字變數最少
最簡表示式並不是唯一的
3-4
二變數卡諾圖
 二變數卡諾圖
 四個全及項
 x' = 0那一列; x = 1
那一列y' = 0那一行;
y = 1那一行
 a truth table in
square diagram
 xy = m3
 x+y = x‘y+xy‘+xy
=m1+m2+m3
3-5
三變數卡諾圖
 三個變數共有8個全及項,圖中包含8個方格
 葛雷碼的順序排列
 相鄰的行只有一個位元變化
 有撇號與沒有撇號相鄰方格即可化簡
 例如: m5 與m7 便可化簡
 m5+ m7 = xy'z + xyz = xz (y'+y) = xz
3-6
 例題 3-1
 F(x, y, z) = ∑(2, 3, 4, 5)
 F = x'y + xy'
3-7
 m0 與 m2 (m4與m6)相鄰
 m0+ m2 = x'y'z' + x'yz' = x'z' (y'+y) = x'z'
 m4+ m6 = xy'z' + xyz' = xz' (y'+y) = xz'
3-8
 例題 3-2
 F(x, y, z) = ∑(3, 4, 6, 7) = yz+ xz'
3-9
 任何4個相鄰的方格
 方格0, 2, 4與6 或者方格1, 3, 5與7
 m0+m2+m4+m6 = x'y'z'+x'yz'+xy'z'+xyz'
= x'z'(y'+y) +xz'(y'+y)
= x'z' + xz‘ = z'
 m1+m3+m5+m7 = x'y'z+x'yz+xy'z+xyz
=x'z(y'+y) + xz(y'+y)
=x'z + xz = z
3-10
 例題 3-3
 F(x, y, z) = ∑(0, 2, 4, 5, 6)
 F = z'+ xy'
3-11
 例題 3-4
 已知布林函數 F = A'C + A'B + AB'C + BC
(a)將函數表示成全及項的和。
(b)求出函數之最簡積項和表示式。
 函數表示成全及項之和的形式為
F(A, B, C) = ∑(1, 2, 3, 5, 7)
F = C + A’B
3-12
3-3 四變數卡諾圖
 圖3-8所示為四變數的布林函數卡諾圖。
 圖(a) 部分有16個方格,每一個方格分別代表16個全及項
中的一個。
 圖(b) 部分畫出各方格與四變數間的關係,行與列均以葛
雷碼的順序標明。
 每兩個相鄰的行或列之間,只有一個變數的值改變。
 每一個方格所對應的全及項可以由行數與列數的配合而得。
3-13
3-14
 相鄰方格的合併  簡化過程  由四變數卡諾圖即可很
容易地直接觀察得到:
 圖(a) 部分有16個方格,每一個方格分別代表16個全及項
中的一個。
3-15
 例題 3-5
 F(w,x,y,z) = S (0,1,2,4,5,6,8,9,12,13,14)

F = y'+w'z'+xz'
3-16
 例題 3-6
化簡布林函數
F = ABC + BCD + ABCD + ABC
F = B’D’ + B’C’ + A’CD’
3-17
質含項

在卡諾圖中選擇相鄰的方格時,我們必須
確認:
(1) 在合併方格時函數所有的全及項全都包含到;
(2) 表示式中的項數必須為最少;
(3) 沒任何多餘的項 (亦即全及項均已由其他項所包含)。


所謂質含項 (prime implicant) 就是在卡諾圖中可以合併的
最大可能相鄰的方格所得到的積項。
假如在一個方格的一個全及項只被一個質含項所包含,
則此質含項即稱為基本質含項 (essential prime implicant)。
3-18
考慮 F ( A , B , C , D ) 
 (0, 2, 3, 5, 7, 8, 9,1 0,1 1,1 3,1 5)
 簡化的表示式可能並非為唯一
 F = BD+B'D'+CD+AD = BD+B'D'+CD+AB
= BD+B'D'+B'C+AD = BD+B'D'+B'C+AB'
3-19
 方法 #1
3-4 和項積的化簡
 以積項之和的形式化簡 F'
 應用迪摩根定理:F = (F')'
 F':項積和 => F:和項積
 方法#2:對偶性
 全或項之組合 (原為全及項)
 M0M1 = (A+B+C+D)(A+B+C+D')
(A+B+C)+(DD')
A+B+C
AB
00
01
11
10
3-20
=
=
CD
00
M0
M4
M12
M8
01
M1
M5
M13
M9
11
M3
M7
M15
M11
10
M2
M6
M14
M10
 例題 3-7
 F = S(0,1,2,5,8,9,10)
 F' = AB+CD+BD'
 應用迪摩根定理;
F=(A'+B')(C'+D')(B'+D)
 或者將之看成全或項
3-21
 例題3-7化簡後之布林函數的電路圖:
3-22
 考慮表3-1所定義的真值表的函數
以全及項和的形式:
F ( x, y, z) 
 (1, 3, 4, 6 )
以全或項積的形式:
F ( x , y , z )   (0, 2, 5, 7 )
取 F的補數
F ( x , y , z )  ( x   z )( x  z )
3-23
 考慮在表3-1所定義的真值表的函數
以全及項和的形式(合併
所有1的方格)此函數則可
表示為:
F ( x , y , z )  x z  xz 
全或項積的形式(合併
所有0的方格)此函數則
可表示為:
F ( x , y , z )  xz  x z 
3-24
3-5 不理會條件
 有些應用對於函數的某些變數的組合是沒有指定的:
 BCD碼 1010-1111:不理會條件
 不理會條件可以使用在卡諾圖上,以提供布林表示式更進
一步的化簡。
 不理會條件在卡諾圖中最初是標示為 X。
 不理會條件可以假設為0或是1。
 例題 3-8
 F (w,x,y,z) = S (1,3,7,11,15)
 d (w,x,y,z) = S (0,2,5)
3-25
 F = yz + w'x'; F = yz + w'z
 F = S(0,1,2,3,7,11,15) ; F = S(1,3,5,7,11,15)
 上述兩種表示式都滿足這個例題所要的條件。
 對於圖3-15的函數同樣也可以得到簡化的和項積表示式
3-26
。
3-6 NAND及NOR閘的應用
 NAND閘又稱為萬用閘 (universal gate)
 任何布林函數均可以利用NAND閘實現
3-27
 兩個NAND閘等效的圖示符號如圖3-17所示。
 AND-反相符號先前已經定義過,其中包含一個AND閘後面跟
著一個小圓的否定指示就像是一個小氣泡。
 也可以將NAND閘表示成在其每個輸入之前都具有小圓的OR圖
示符號。
 反向-OR符號對應於NAND閘可以由迪摩根定理以及否定指示
象徵補數的方法而來。
3-28
二階電路
 二階電路:如果要用NAND閘來完成布林函數,則須先將函數簡
化為積項和的形式。
 NAND-NAND = 積項和
 例題: F = AB+CD
 F = ((AB)' (CD)' )' =AB+CD
3-29
 例題 3-9
F ( x, y, z) 
 (1, 2, 3, 4, 5, 7 )
F ( x , y , z )  xy   x y  z
3-30
 從布林函數推導出NAND邏輯圖的步驟如下:
1. 將函數簡化成積項和的形式。
2. 將表示式中至少含有2個字元的每一個積項用一個NAND閘來
表示。每個NAND閘的輸入為每一項中的變數。此步驟構成邏
輯電路圖的第一階邏輯閘。
3. 在第二階的部分使用單一個AND-反相或反相-OR閘的圖示符號
來表示,而其輸入來自第一階閘的輸出。
4. 若函數中有任一項只含一個文字 (變數),則在第一階需要一
個反相器。然而,若將單一個字元取補數,則可以直接將它
連接到第二階NAND閘的一個輸入。
3-31
多階NAND電路
 布林函數的實現
 AND-OR邏輯 => NAND-NAND邏輯
 AND => NAND + 反相器
 OR:反相器 + OR = NAND

使用混合表示法將一個多階AND-OR電路圖轉換成一
個全部是NAND閘電路圖的一般步驟,如下列所示:
1.將所有的AND閘使用AND-反相圖形符號的NAND閘來取代。
2. 將所有的OR閘使用反相-OR圖形符號的NAND閘來取代。
3. 檢查圖中所有的小圓泡,在沿著同一條線上的每一個小圓
泡若不是用來補償其他小圓泡的話,則插入一個反相器 (一
個輸入的NAND閘) 或是將輸入字元取補數。
3-32
3-33
NAND閘電路的實現
3-34
NOR閘電路的實現
 NOR 函數為 NAND函數之對偶
 NOR閘亦為萬用閘 (universal gate)
3-35
 兩個NOR 閘等效的圖示符號如圖3-23所示。
例題:F = (A + B)(C + D)E
3-36
例題:F = (AB + AB)(C + D)
3-37
3-8 互斥-OR函數
 互斥-OR函數[Exclusive-OR (XOR)]
 x  y = xy'+x'y
 互斥-NOR (XNOR)
 (xy)' = xy + x'y'
 一些恆等式






x0 = x
x1 = x'
xx = 0
xx' = 1
xy' = (xy)'
x'y = (xy)'
 交換性與結合性
 AB = BA
 (AB) C = A (BC) = ABC
3-38
 電路實現
 (x'+y')x + (x'+y')y = xy'+x'y = xy
3-39
奇函數
 ABC = (AB'+A'B)C' +(AB+A'B')C
= AB'C'+A'BC'+ABC+A'B'C
= S (1,2,4,7)
 奇數個變數等於1
3-40
 奇函數與偶函數的邏輯圖
3-41
 四變數的互斥-OR函數(運算)
 ABCD = (AB’+A’B)(CD’+C’D)
(AB’+A’B)(CD+C’D’)+(AB+A’B’)(CD’+C’D)
3-42
=
同位產生器與檢查
 同位產生器與檢查
 偶同位位元: P = xyz
 同位檢查器: C = xyzP
 C =1:奇數個資料位元錯誤發生
 C = 0:資料正確或偶數個資料位元錯誤發生
3-43
同位產生器與檢查
3-44
同位產生器與檢查
3-45
Lab 1
 設計
F(w,x,y,z)=∑m(0,1,2,3,6,7,8,10,12,14,15) 的電路
46