邏輯設計
配分 第一次小考10% 第二次小考10% 總分:20分
大綱 組合邏輯電路 序向邏輯電路 基本邏輯閘 萬用閘 布林代數 比較器 加法器 乘法器 多工器 ALU 解碼器 JK正反器 計數器 NOT閘、AND閘、OR閘、XOR閘 萬用閘 NAND閘、NOR閘 布林代數 minterm、maxterm 化簡 定理化簡 布林代數化簡 比較器 加法器 乘法器 多工器 ALU 解碼器 序向邏輯電路 JK正反器 計數器
Digital Version軟體介紹 接Vcc 接地 power開關 input 橫的互通 直的互通 output 串接互通 兩個區塊彼此不互通
技巧 解析度 IC位置 拉線 直角 無跳線
佈線 將麵包板接地、接Vcc 接Vcc IC需接地、接Vcc 接地 依需求彈性串接互通
Input、Output Input: 00000010 低位元 高位元 1 Output:00000001
電路的種類 組合邏輯電路 輸出僅與輸入有關 Ex:加法器 循序邏輯電路 輸出與當前的輸入及之前的輸出有關 Ex:計數器、正反器
組合邏輯電路
七段顯示器 顯示數字0~9,可分成兩種 共陽極 共同腳位接Vcc 搭配IC7447 共陰極 共同腳位接GND 搭配IC7448
練習
IC7447 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9
七段顯示器+IC7447 接法: 實體:
AND閘
OR閘
NOT閘
NAND閘
NOR閘
練習 實作AND、OR、NOT基本閘,利用指撥開關給輸入值,並用七段顯示器輸出結果
如何用2 input取代3 input
XOR閘 [口訣]:相同為0 不同為1
利用NOT、AND、OR閘組成XOR閘 +
練習 1、利用IC 7486實作XOR閘 2、利用NOT、AND、OR閘實作出XOR閘 利用兩個七段顯示器同步輸出上列1與2結果 (兩個七段顯示器結果須相同)
萬用閘 萬用閘:可製作出NOT、AND、OR閘 1、NAND閘 2、NOR閘 3、多工器
萬用閘-NAND閘 ∵
利用NAND閘製作NOT閘 EX:NAND閘製作NOT閘 NOT閘:利用1個 NAND閘完成 AND閘:利用2個 NAND閘完成 OR閘: 利用3個 NAND閘完成 EX:NAND閘製作NOT閘
利用NAND閘製作AND閘 EX:NAND閘製作AND閘
利用NAND閘製作OR閘 EX:NAND閘製作OR閘 分析: ∵
利用NAND閘製作NOR閘 利用NAND製作出NOR閘
練習 利用NAND閘實作下列基本邏輯閘,並用七段顯示器輸出結果 (1) AND閘 (2) OR閘 (3) NOT閘 同步顯示
布林代數式 目的:用來表達邏輯電路 兩種表示法: 積之和(SOP):積項之和 Ex: 和之積(POS):和項之積 用在minterm 用在maxterm
minterm、maxterm minterm表示: Ex: F = AC+AB maxterm表示: 1 Step2: (找1) minterm (全及項) (找0) (minterms + bar) maxterm (全或項)
Example For the function (1)Represent the function in the sum of minterm from. (1)Represent the function in the sum of maxterm from. Sol: (1) (2) X Y Z F 1
練習 For the function 其minterm為 實作上列兩個電路,利用2個七段顯示器同步輸出結果,比較結果是否相同
布林代數式化簡 布林代數式 e.g. 如何化簡? 法一:布林代數定理 法二:卡諾圖
布林代數定理
化簡(法一):布林代數定理 化簡右式: Sol:
練習 For the function,其化簡過程如下: 實作上列藍標的兩個電路, 並將輸出結果同步顯示在兩個七段顯示器上, A B C D F 1 For the function,其化簡過程如下: 實作上列藍標的兩個電路, 並將輸出結果同步顯示在兩個七段顯示器上, 比較結果是否相同
化簡(法二):卡諾圖化簡 必要質隱項 (Essential prime implicant) ∴
化簡(法二):卡諾圖化簡 (2) ∴
練習 實作 (1)「化簡(法二):卡諾圖化簡」 例題1的兩個小電路,將結果同步顯示 於七段顯示器上 (2)「化簡(法二):卡諾圖化簡」 例題2的兩個小電路,將結果同步顯示
Essential prime implicant VS prime implicant
第一次小考
比較器 1 bit 比較器 [分析] [Input] A、B [Output] F3、F2、F1 Case1:若A<B則輸出二進制001 Case2:若A=B則輸出二進制010 Case3:若A>B則輸出二進制100 1 2 4
實作1 bit 比較器 F3 1 bit 比較器 F2 F1 [測試] 當輸入A=0 B=1: 七段顯示1 當輸入A=0 B=0或A=1 B=1: 七段顯示2 當輸入A=1 B=0: 七段顯示4
實作2 bit比較器
加法器(Adder) 一、半加器 兩個輸入(不考慮前端進位) 二、全加器 三個輸入(考慮前端進位)
半加器 符號: 真值表: 電路: 兩個input
全加器 符號: 真值表: 電路: 三個input
利用半加器組成全加器 HA HA
2bit加法器 Ex: 令A=3 ,B=2 3 2 5 A B 1 1 F0 = A0 + B0 F1 = A1 + B1 + C0 1 F0 = A0 + B0 F1 = A1 + B1 + C0 F2 = C1 1 Ex: 令A=3 ,B=2 3 2 5 A B
3bit加法器 Ex: 7 + 5 = 12 F0 = A0 + B0 F1 = C0 + A1 + B1
練習 實作一個3 bit加法器
減法器 A – B = A + B’ + 1 Ex: 2 – 3 = -1
乘法器(Multiplier) 實作2 bit 乘法器
3bit x 2bit乘法器 HA FA HA
練習 實作一個3bit x 2bit的乘法器 [清]
解碼器(Decoder) Def:將n條二進制輸入線轉成 個輸出 電路: 符號: 真值表: 2X4 Decoder A B D0 D1 D2 1
Decoder完成全加器 全加器:
練習 利用一個Decoder和二個OR閘完成全加器, 並用七段顯示器輸出結果 [台、交]
多工器(Multiplexer) Def:多個輸入選一個輸出 (1) 資料選擇器 (2) 萬用閘 電路: 符號: 功能表: 4X1 MUX
利用多工器實作一個AND閘 Step1:觀察AND閘 Step2:依AND閘的輸入數來決定多工器大小 ∵AND閘有2個輸入,∴使用2x1多工器 決定A、B誰當select、誰當input (令A當input 、B當select) A (input) (select)
利用多工器實作一個AND閘 Step3:寫出功能表 Step4:畫出多工器 select 決定input、select 填寫編號 (3) 將輸出為1圈起來 (4) 寫出結果 input
練習 利用多工器完成此Boolean function ,並用七段顯示器輸出結果 [清]
解答
練習 利用8x1多工器與一些邏輯閘完成此Boolean function 並用七段顯示器輸出結果 [交]
ALU (Arithmetic Logic Unit) 此ALU具有AND、XOR、加法功能 1bit ALU
實作1 bit ALU 1 bit ALU Result CarryOut [測試] 1、AND: s1=0 s0=0 輸入A=1 B=0 輸出七段顯示0 2、OR: s1=0 s0=1 輸入A=0 B=1 輸出七段顯示1 2、XOR: s1=1 s0=0 3、Adder:s1=1 s0=1 輸入A=1 B=1 輸出七段顯示2
4 bit ALU
序向邏輯電路 (Sequential Circuit)
序向邏輯電路 Def:輸入與上一級的輸出有關 e.g. 正反器(Flip-Flop,FF) 加時脈(clock,CK) 讓FF觸發工作
觸發信號 邊緣觸發(Edge Triggered) 正緣觸發 負緣觸發 位準觸發(Level Triggered) 主流
正反器(F.F) JK正反器 RS正反器 D正反器 T正反器
JK正反器 正邊緣觸發 真值表: 初值狀態: ∵沒有前一級的輸出 ∴輸入的Q=0 當J=0 K=0 當J=0 K=1
練習 實作非同步上數計數器 ( 0~3 ), 將輸出結果顯示在七段顯示器
練習 實作非同步上數計數器 ( 0~7 ), 將輸出結果顯示在七段顯示器 1 1
計數器 利用JK正反器實作非同步上數計數器 ( 0~15 ) 1 1 1、0~15 ∴須4bits ∴須4個FF 2、最左FF為低位元 3、以前一級的FF輸出當作下一級的FF CLK輸入 4、all FF的JK輸入都接Vcc 1 1
一分鐘計數器