1 / 46

邏輯閘層次的最小化

邏輯閘層次的最小化. Chapter 3. 3-1 簡介. 邏輯閘層次的最小化 (gate-level minimization) 可歸類為求取描述數位電路之布林函數的最佳化閘 - 層次執行電路的設計工作。. 3-2 圖示法. 結構十分複雜的數位邏輯閘電路 複雜的布林函數表示式 邏輯化簡方法 代數的化簡 : 缺少特定的原則來預知化簡的下一步驟 卡諾圖法 簡單直接的方法 可以視為是真值表的圖解 applicable if the # of variables < 7 卡諾圖是由許多正方形構成的圖 每一方格代表所欲化簡函數的一個全及項. 布林函數

riley-moon
Download Presentation

邏輯閘層次的最小化

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 邏輯閘層次的最小化 Chapter 3

  2. 3-1簡介 • 邏輯閘層次的最小化 (gate-level minimization)可歸類為求取描述數位電路之布林函數的最佳化閘-層次執行電路的設計工作。

  3. 3-2 圖示法 • 結構十分複雜的數位邏輯閘電路 • 複雜的布林函數表示式 • 邏輯化簡方法 • 代數的化簡:缺少特定的原則來預知化簡的下一步驟 • 卡諾圖法 • 簡單直接的方法 • 可以視為是真值表的圖解 • applicable if the # of variables < 7 • 卡諾圖是由許多正方形構成的圖 • 每一方格代表所欲化簡函數的一個全及項

  4. 布林函數 • 全及項之和 • 以最簡形式表示成積項和或是和項積 • 項數最少 • 且每一項的文字變數最少 • 最簡表示式並不是唯一的

  5. 二變數卡諾圖 • 二變數卡諾圖 • 四個全及項 • 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

  6. 三變數卡諾圖 • 三個變數共有8個全及項,圖中包含8個方格 • 葛雷碼的順序排列 • 相鄰的行只有一個位元變化 • 有撇號與沒有撇號相鄰方格即可化簡 • 例如:m5 與m7便可化簡 • m5+ m7 = xy'z + xyz = xz (y'+y) = xz

  7. 例題 3-1 • F(x, y, z) = ∑(2, 3, 4, 5) • F = x'y + xy'

  8. 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'

  9. 例題 3-2 • F(x, y, z) = ∑(3, 4, 6, 7) = yz+ xz'

  10. 任何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

  11. 例題 3-3 • F(x,y,z) = ∑(0,2,4,5,6) • F = z'+ xy'

  12. 例題 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

  13. 3-3 四變數卡諾圖 • 圖3-8所示為四變數的布林函數卡諾圖。 • 圖(a) 部分有16個方格,每一個方格分別代表16個全及項中的一個。 • 圖(b) 部分畫出各方格與四變數間的關係,行與列均以葛雷碼的順序標明。 • 每兩個相鄰的行或列之間,只有一個變數的值改變。 • 每一個方格所對應的全及項可以由行數與列數的配合而得。

  14. 相鄰方格的合併  簡化過程  由四變數卡諾圖即可很容易地直接觀察得到: • 圖(a) 部分有16個方格,每一個方格分別代表16個全及項中的一個。

  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'

  16. 化簡布林函數 F = ABC + BCD + ABCD + ABC F= B’D’ + B’C’ + A’CD’ • 例題 3-6

  17. 質含項 • 在卡諾圖中選擇相鄰的方格時,我們必須確認: (1) 在合併方格時函數所有的全及項全都包含到; (2) 表示式中的項數必須為最少; (3) 沒任何多餘的項 (亦即全及項均已由其他項所包含)。 • 所謂質含項 (prime implicant) 就是在卡諾圖中可以合併的最大可能相鄰的方格所得到的積項。 • 假如在一個方格的一個全及項只被一個質含項所包含,則此質含項即稱為基本質含項 (essential prime implicant)。

  18. 考慮 • 簡化的表示式可能並非為唯一 • F = BD+B'D'+CD+AD = BD+B'D'+CD+AB = BD+B'D'+B'C+AD = BD+B'D'+B'C+AB'

  19. 3-4 和項積的化簡 • 方法 #1 • 以積項之和的形式化簡F' • 應用迪摩根定理:F = (F')' • F':項積和 => F:和項積 • 方法#2:對偶性 • 全或項之組合 (原為全及項) • M0M1 = (A+B+C+D)(A+B+C+D') = (A+B+C)+(DD') = A+B+C

  20. 例題 3-7 • F = S(0,1,2,5,8,9,10) • F' = AB+CD+BD' • 應用迪摩根定理; F=(A'+B')(C'+D')(B'+D) • 或者將之看成全或項

  21. 例題3-7化簡後之布林函數的電路圖:

  22. 考慮表3-1所定義的真值表的函數 以全及項和的形式: 以全或項積的形式: 取 F的補數

  23. 考慮在表3-1所定義的真值表的函數 以全及項和的形式(合併所有1的方格)此函數則可表示為: 全或項積的形式(合併所有0的方格)此函數則可表示為:

  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)

  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的函數同樣也可以得到簡化的和項積表示式。

  26. 3-6 NAND及NOR閘的應用 • NAND閘又稱為萬用閘 (universal gate) • 任何布林函數均可以利用NAND閘實現

  27. 兩個NAND閘等效的圖示符號如圖3-17所示。 • AND-反相符號先前已經定義過,其中包含一個AND閘後面跟著一個小圓的否定指示就像是一個小氣泡。 • 也可以將NAND閘表示成在其每個輸入之前都具有小圓的OR圖示符號。 • 反向-OR符號對應於NAND閘可以由迪摩根定理以及否定指示象徵補數的方法而來。

  28. 二階電路 • 二階電路:如果要用NAND閘來完成布林函數,則須先將函數簡化為積項和的形式。 • NAND-NAND = 積項和 • 例題: F = AB+CD • F = ((AB)' (CD)' )' =AB+CD

  29. 例題 3-9

  30. 從布林函數推導出NAND邏輯圖的步驟如下: 1. 將函數簡化成積項和的形式。 2. 將表示式中至少含有2個字元的每一個積項用一個NAND閘來表示。每個NAND閘的輸入為每一項中的變數。此步驟構成邏輯電路圖的第一階邏輯閘。 3. 在第二階的部分使用單一個AND-反相或反相-OR閘的圖示符號來表示,而其輸入來自第一階閘的輸出。 4. 若函數中有任一項只含一個文字 (變數),則在第一階需要一個反相器。然而,若將單一個字元取補數,則可以直接將它連接到第二階NAND閘的一個輸入。

  31. 多階NAND電路 • 布林函數的實現 • AND-OR邏輯 => NAND-NAND邏輯 • AND => NAND + 反相器 • OR:反相器 + OR = NAND • 使用混合表示法將一個多階AND-OR電路圖轉換成一個全部是NAND閘電路圖的一般步驟,如下列所示: 1. 將所有的AND閘使用AND-反相圖形符號的NAND閘來取代。 2. 將所有的OR閘使用反相-OR圖形符號的NAND閘來取代。 3. 檢查圖中所有的小圓泡,在沿著同一條線上的每一個小圓泡若不是用來補償其他小圓泡的話,則插入一個反相器 (一個輸入的NAND閘) 或是將輸入字元取補數。

  32. NAND閘電路的實現

  33. NOR閘電路的實現 • NOR 函數為 NAND函數之對偶 • NOR閘亦為萬用閘 (universal gate)

  34. 兩個NOR 閘等效的圖示符號如圖3-23所示。 例題:F = (A + B)(C + D)E

  35. 例題:F = (AB + AB)(C + D)

  36. 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

  37. 電路實現 • (x'+y')x + (x'+y')y = xy'+x'y = xy

  38. 奇函數 • 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

  39. 奇函數與偶函數的邏輯圖

  40. 四變數的互斥-OR函數(運算) • AÅBÅCÅD = (AB’+A’B)Å(CD’+C’D) = (AB’+A’B)(CD+C’D’)+(AB+A’B’)(CD’+C’D)

  41. 同位產生器與檢查 • 同位產生器與檢查 • 偶同位位元: P = xÅyÅz • 同位檢查器: C = xÅyÅzÅP • C =1:奇數個資料位元錯誤發生 • C = 0:資料正確或偶數個資料位元錯誤發生

  42. 同位產生器與檢查

  43. 同位產生器與檢查

  44. Lab 1 設計 F(w,x,y,z)=∑m(0,1,2,3,6,7,8,10,12,14,15) 的電路

More Related