Transcript 期末考數位邏輯整理
期末考數位邏輯整理 組合電路與循序電路 組合電路 組合邏輯電路 是邏輯電路的一種,它是由輸入 變數、輸出變數和許多邏輯閘組合而成,由於 不包含任何記憶元件 與反饋線 ,因此輸出訊號 值只和目前的輸入訊號值有關。 循序電路 循序電路使用閂鎖器 或正反器 來暫存資料或 狀態,它的輸出結果除了和目前的輸入值有關 之外,也與先前的輸入值、輸出值都有關係。 BCD碼轉換為2421碼 1. BCD碼這邊寫上a,b,c,d 2. 2421碼那邊寫上w,x,y,z 3. 畫出真值表(w,x,y,z分別代 表2,4,2,1 ; 如 0101 = 5 , wxyz 就 是 1(2)0(0)1(2)1(1) 由左得知 () 內2+0+2+1=5 , 9以下就是 X) X = 可忽略 , 也可拿來帶入 BCD碼轉換為2421碼 4. 畫出卡諾圖 然後看真值表由 上而下分成 w,x,y,z ; 剩下後 的 X 全部補上 BCD碼轉換為2421碼 bd+bc+a bd`+bc+a b`c+bc`d+a d 5. 卡諾圖化簡 X 這時候就可以 拿來補上化簡 BCD碼轉換為2421碼 6. 畫出邏輯電路 BCD碼轉換為2421碼 7. 利用自補定理 轉nand電路 BCD碼轉換為2421碼 nand電路 組合電路 – 加法器 加法器分為 RCA 與 CLA 兩種 RCA – 面積小 , 速度慢 CLA – 成本高 , 速度快 組合電路 – 加法與減法運算 相加後有四種可能: 0 + 0 = 0、0 + 1 = 1、1 + 0 = 1、1 + 1 = 10 其中 1 為進位 , 或稱進位輸出 其中 0為總和 相減後有四種可能: 0 − 0 = 0、0 − 1 = 11、1 − 0 = 1、1 − 1 = 0 其中 1為借位,或稱借位輸出 組合電路 – 半加法器 積之和布林代數表示式: S = A`B + AB` = A ⊕ B C = AB 組合電路 – 半加法器 組合電路 – 全加法器 半加法器輸入的加數與被加數都是一位元,於是需 要多位元時,則需要全加法器 0 + 0 + 0 = 0、0 + 0 + 1 = 1、0 + 1 +0 = 1、0 + 1 + 1 = 10 、1 + 0 + 0 = 1、1 + 0 + 1 = 10、1 + 1 + 0 = 10、1 +1 + 1 = 11(1+1=10 ; 10+1=11) 全加法器分為 1. RCA – 漣波進位加法器 – 面積小 – 速度慢 2. CLA – 進位前看加法器 – 成本高 – 速度快 組合電路 – 全加法器 Cout=ab+bc+ab S=ab`c`+a`b`c+abc+a`bc` ab+bc+ab ab`c`+a`b`c+abc+a`bc` 組合電路 – 全加法器 卡諾圖化簡後就可得到以下兩個電路圖,當然這也 能利用自補定理換成 nand(參考第九頁) 組合電路 – 全加法器 所以可以推導出xor全加法器 S=ab`c`+a`b`c+abc+a`bc` =c`(ab`+a`b)+c(a`b`+ab) =c`(a ⊕b)+c(a ⊕b)` =c ⊕(a ⊕b) .. 別問我 , 這裡我也不會 Cout = AB′Cin + A′BCin + ABCin + ABCin′ = Cin(AB′ + A′B) + AB(Cin + Cin′) = Cin(A ⊕ B) + AB .. 別問我 , 這裡我也不會 反正這裡的重點只是要你搞成 ⊕的形式,不會就用背的吧。 組合電路 – 全加法器 要搞出一個全加法器,也可以用兩個半加法器加上 一個or閘,也能搞的出來~ 漣波進位加法器 - RCA 漣波進位加法器速度慢,那是因為每次都要等一級 算好才能算下一級,而以下圖片是四位元,若是八 位元漣波進位加法器,那就要搞八級次才能出來 延遲時間長,需要等 待前一級算好,是串 連的方式(考選擇) 進位前看加法器 - CLA 優點 – 速度快 缺點 – 成本高 進位前看加法器的主要目的是讓「進位傳遞延遲時 間儘量不隨著加法器位元數目的增多而增加」 Ci + 1 決定速度快慢 進位前看加法器 - CLA 至於CLA為什麼成本高? 看下面就知道嘛~ 太複雜了! 組合電路 – 半減法器 最簡積項的和布林代數式: D = A`B + AB` = A ⊕ B M = A`B 0-0=0 , 0-1=11 , 1-0=1 , 1-1=0 借位 組合 組合電路 – 全減法器 全減法器比半減法器多了一個N 0-0-0=0 , 0-0-1=11 , 0-1-0=11 , 0-1-1=10 , 1-0-0=1 , 1-0-1=0 1-1-0=0 , 1-1-1=11 (1-1=0 , 0-1=11) A`N+ABN+A`N AB`N`+A`B`N+ABN+ABN ` 組合電路 – 全減法器 於是全減法器就變成了這付德行 組合電路 – 全減法器 然後老師說推一推就把電路圖出來了..好簡單! D = AB`N` + A`B`N + ABN + A`BN` = (AB` + A`B)N` + (A`B` + AB)N = (A ⊕ B)N` + (A ⊕ B)`N = (A ⊕ B) ⊕ N =A⊕B⊕N M = A`B+ BN + A`N` = A`(B`N + BN`) + (A` + A)BN = A`(B ⊕ N) + BN 組合電路 – 比較器 gt = 大於 ; lt = 小於 ; eq = 等於 所以套用 C++ 語法的話 If A>B ; gt=1 ; else gt=0 If A<B ; lt=1 ; else lt=0 If A=B ; eq=1 ; else eq=0 比較器不用畫真值表,會死人 組合電路 – 比較器 從高比到低 <相等> ,同時為1 ,同時為0就相等,若有一個不等於,結 果不成立 <大於> 其中有一大於 ,其餘相等,則大於,反之不成立 <小於> 其中有一小於 , 其餘相等,則小於,反之不成立 X=eq <等於是其他兩著的基本> <相等>,Xi = AiBi + Ai`Bi` i = 0, 1, 2, 3 <大於>,gt = A3B3` + X3A2B2` + X3X2A1B1` + X3X2X1A0B0` <小於>,lt = A3`B3 + X3A2`B2 + X3X2A1`B1 + X3X2X1A0`B0 組合電路 – 比較器