Combinational Logic 組合邏輯 Chapter 5 Combinational Logic 組合邏輯 基本的組合邏輯電路 實作組合邏輯 NAND閘和NOR閘的萬用特性 用NAND閘和NOR閘來作組合邏輯 用脈波來操作邏輯電路 檢修 可程式邏輯 數位系統應用
上一章的SOP邏輯表示式是用AND及OR閘來製作, 稱為AND-OR Logic. 1. 基本的組合邏輯電路 上一章的SOP邏輯表示式是用AND及OR閘來製作, 稱為AND-OR Logic. Figure 5--1 An example of AND-OR logic. Open file F05-01 to verify the operation. Thomas L. Floyd Digital Fundamentals, 8e
例題5-1 在化工廠中有三個裝液態化學藥品的儲存槽, 每個槽 都有一個液位高度的感應器, 當某一槽的化學藥品掉到低於設 1. 基本的組合邏輯電路 例題5-1 在化工廠中有三個裝液態化學藥品的儲存槽, 每個槽 都有一個液位高度的感應器, 當某一槽的化學藥品掉到低於設 定的高度時, 該感應器就輸出高電壓. 設計一個電路來監視這 三個儲存槽, 當某兩個槽低於設定的高度時, 指示器就亮起. BC 00 01 11 10 A B C F 1 A 1 1 卡諾圖 F=BC+AC+AB BC AC AB 指示器 Thomas L. Floyd Digital Fundamentals, 8e Figure 5--2
POS邏輯表示式可以是AND, OR及NOT閘來製作, 稱為AND-OR-Invert Logic. 1. 基本的組合邏輯電路 POS邏輯表示式可以是AND, OR及NOT閘來製作, 稱為AND-OR-Invert Logic. Figure 5--3 An AND-OR-Invert circuit produces a POS output. Open file F05-03 to verify the operation. (A+B)(C+D)=(AB)(CD)=(AB)(CD)=AB+CD=AB+CD Thomas L. Floyd Digital Fundamentals, 8e
例題5-2 若將例題5-1的感應器改用另一種形式, 即在某一槽的 化學藥品掉到低於設定的高度時, 該感應器就輸出低電壓. 設 1. 基本的組合邏輯電路 例題5-2 若將例題5-1的感應器改用另一種形式, 即在某一槽的 化學藥品掉到低於設定的高度時, 該感應器就輸出低電壓. 設 計一個電路來監視這三個儲存槽, 當某兩個槽低於設定的高度 時, 指示器就亮起. BC 00 01 11 10 A B C F 1 1 1 卡諾圖 F=B’C’+A’B’+A’C’ Figure 5 - 4 Thomas L. Floyd Digital Fundamentals, 8e
1. 基本的組合邏輯電路 實際的AND-OR-Invert邏輯閘 Figure A--1 The 74LS51 dual 2-wide AND-OR-Invert and the 74LS54 single 4-wide AND-OR-Invert. The term 2-wide means there are two AND gates per device and 4-wide means there are four AND gates per device.
Exclusive Gate (排斥或閘) 是由兩個反向器, 兩個AND閘及 一個OR閘構成 1. 基本的組合邏輯電路 Exclusive Gate (排斥或閘) 是由兩個反向器, 兩個AND閘及 一個OR閘構成 Figure 5--5 Exclusive-OR logic diagram and symbols. Open file F05-06 to verify the operation. Thomas L. Floyd Digital Fundamentals, 8e
在Exclusive OR 的輸出端加一個反向器就變成Exclusive NOR 1. 基本的組合邏輯電路 在Exclusive OR 的輸出端加一個反向器就變成Exclusive NOR X = ((AB’) +(A’B))’ = (AB’)’ (A’B)’ = (A’+B)(A+B’) = AA’+A’B’+AB+BB’ = A’B’+AB Figure 5--6 Two equivalent ways of implementing the exclusive-NOR. Open file F05-07 to verify the operation. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--7 Logic circuit for X = AB + CDE. 2. 實作組合邏輯 看到邏輯表示式就要知道電路長什麼樣子. Figure 5--7 Logic circuit for X = AB + CDE. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--8 Logic circuits for X = AB(CD + EF) = ABCD + ABEF. 2. 實作組合邏輯 乘開等於右式 Figure 5--8 Logic circuits for X = AB(CD + EF) = ABCD + ABEF. Thomas L. Floyd Digital Fundamentals, 8e
使用真值表畫出電路圖 A’B’C’D A’BC’D AB’C’D ABCD’
2. 實作組合邏輯 看到真值表,就要 能夠畫出電路圖 Figure 5--9 Logic circuit for X = ABC + ABC. Open file F05-10 to verify the operation. Inputs Output Product Term A B C 1 A’BC AB’C’ 看到真值表,就要 能夠畫出電路圖 Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--10 Open file F05-11 to verify the operation. 2. 實作組合邏輯 例題5-3 試設計可實作表5-4真值表所指定運算的邏輯電路。 Inputs Output Product Term A B C 1 A’BC AB’C ABC’ 看到真值表就要會 寫出邏輯表示式,並 畫出電路圖 X=A’BC+AB’C+ABC’ Figure 5--10 Open file F05-11 to verify the operation. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--11 Open file F05-12 to verify the operation. 2. 實作組合邏輯 例題5-4 設計一個具 有四個輸入變數的 邏輯電路, 只有當 其中三個變數為 1 時, 輸出才為1 Figure 5--11 Open file F05-12 to verify the operation. Thomas L. Floyd Digital Fundamentals, 8e
X = (A’B’C’)’ C + (A’B’C’)’ + D = (A+B+C) C + (A+B+C) + D 2. 實作組合邏輯 例題5-5 化簡 Figure 5--12 Open file F05-13 to verify that this circuit is equivalent to the circuit in Figure 5-14. X = (A’B’C’)’ C + (A’B’C’)’ + D = (A+B+C) C + (A+B+C) + D = (A+B+C) (C+1) + D = (A+B+C) + D = A+B+C+D Figure 5--13 Thomas L. Floyd Digital Fundamentals, 8e
2. 實作組合邏輯 例題5-6 化簡 X = AB’C’ + ABC’D’ + A’B’C’D + A’B’C’D’ = AB’C’(D+D’) + ABC’D’ + A’B’C’D + A’B’C’D’ = AB’C’D + AB’C’D’ + ABC’D’ + A’B’C’D + A’B’C’D’ Figure 5--14 Thomas L. Floyd Digital Fundamentals, 8e
2. 實作組合邏輯 Figure 5--15 Thomas L. Floyd Digital Fundamentals, 8e
3. NAND閘和NOR閘的萬用特性 5-3 NAND閘和 NOR閘的 萬用特性 Figure 5--16 Universal application of NAND gates. Open files F05-17(a), (b), (c), and (d) to verify each of the equivalencies. Thomas L. Floyd Digital Fundamentals, 8e
Yes they are
3. NAND閘和NOR閘的萬用特性 Figure 5--17 Universal application of NOR gates. Open files F05-18(a), (b), (c), and (d) to verify each of the equivalencies. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--18 NAND logic for X = AB + CD. 4. 用NAND閘和NOR閘來作組合邏輯 5-4 用NAND閘和NOR閘來作組合邏輯 Figure 5--18 NAND logic for X = AB + CD. Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--19 Development of the AND-OR equivalent of the circuit in Figure 5-19. Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--20 Illustration of the use of the appropriate dual symbols in a NAND logic diagram. Thomas L. Floyd Digital Fundamentals, 8e
例題5-7 使用正確的對偶符號重畫電路圖並寫出邏輯表示式 4. 用NAND閘和NOR閘來作組合邏輯 例題5-7 使用正確的對偶符號重畫電路圖並寫出邏輯表示式 Figure 5--21 Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--22 Thomas L. Floyd Digital Fundamentals, 8e
例題5-8 試使用NAND邏輯閘實作下列數學式 (a)ABC+DE (b) ABC+D’+E’ SOL: 4. 用NAND閘和NOR閘來作組合邏輯 例題5-8 試使用NAND邏輯閘實作下列數學式 (a)ABC+DE (b) ABC+D’+E’ SOL: Figure 5--23 Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--24 NOR logic for X = (A + B)(C + D). 4. 用NAND閘和NOR閘來作組合邏輯 NOR GATE Figure 5--24 NOR logic for X = (A + B)(C + D). X = ((A+B)’ + (C+D)’)’ = (A+B)’’ (C+D)’’ = (A+B) (C+D) Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--25 Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--26 Illustration of the use of the appropriate dual symbols in a NOR logic diagram. Thomas L. Floyd Digital Fundamentals, 8e
例題5-9 使用正確的對偶符號重畫電路圖並寫出邏輯表示式 4. 用NAND閘和NOR閘來作組合邏輯 例題5-9 使用正確的對偶符號重畫電路圖並寫出邏輯表示式 Figure 5--27 Thomas L. Floyd Digital Fundamentals, 8e
4. 用NAND閘和NOR閘來作組合邏輯 Figure 5--28 Thomas L. Floyd Digital Fundamentals, 8e
二階NAND和NOR閘電路的設計 由 且應用迪摩根定律可以將一個AND和OR閘的二階電路轉換成由NAND閘或NOR閘所組成的電路。 迪摩根定律:
Ex:最簡積項和形式轉換成一些其它二階形式的過程。 (7-13)式、(7-14)式、(7-15)式和(7-16)式分別代表AND-OR,NAND-NAND,OR-NAND和NOR-OR形式,如圖7-11所示。
Ex(續1):由卡諾圖可以求出F的最簡和項積形式: (7-18)式、(7-19)式、,(7-20)式和(7-21)式分別表示OR-AND、NOR-NOR、AND-NOR和NAND-AND形式,如圖7-11所示。
Ex(續2):
Ex(續3):
多階NAND和NOR閘電路的設計 設計多階NAND閘電路的步驟: 1.化簡所要實現的交換函數。 2.設計一個多階的AND和OR閘電路。輸出閘必 須是OR閘。AND閘的輸出不能做為AND閘的 輸入,OR閘的輸出不能做為OR閘的輸入。 3.由輸出閘當作第1階開始做階層編號。以 NAND閘取代所有的閘,閘與閘之間的連接 方式保持不變。且第2、4、6...階的輸入 保持不變,而將第1、3、5....階的文字 輸入取反相。
多階NAND和NOR閘電路的設計(續1) 設計多階NOR閘電路的步驟: 2.設計一個多階的OR和AND閘電路。輸出閘必 1.化簡所要實現的交換函數。 2.設計一個多階的OR和AND閘電路。輸出閘必 須是AND閘。AND閘的輸出不能做為AND閘的 輸入,OR閘的輸出不能做為OR閘的輸入。 3.由輸出閘當作第1階開始做階層編號。以 NOR閘取代所有的閘,閘與閘之間的連接 方式保持不變。且第2、4、6...階的輸入 保持不變,而將第1、3、5....階的文字 輸入取反相。
範例:利用多階NAND閘電路實現 Sol:
Sol(續):
Ex:
將一個AND-OR電路(即使AND和OR閘沒有交替)轉換成一個NAND或NOR電路的步驟: AND閘轉換成NAND閘。利用在OR閘的輸入 加上反相圈圈,將所有OR閘轉換成NAND閘。 (要轉換成NOR,則要在所有OR閘的輸出以 及所有AND閘的輸入加入反相圈圈)。
2.當一個反相輸出推動一個反相輸入時,因 為兩個反相互相抵銷,所以毋須額外的動 作。 3.當一個非反相閘輸出推動一個反相閘輸入 或相反時,則加入一個反相器使得圈圈被 消掉。(視需要選擇一個在輸入或輸出有 圈圈的反相器。) 4.當一個變數推動一個反相輸入時,則將變 數取補數(或加入一個反相器)使得補數消 掉在輸入端的反相。
Ex:
5. 用脈波來操作邏輯電路 5-5 用脈波來操作邏輯電路 5-5 用脈波來操作邏輯電路 例題 5-10 圖5-29電路的輸入波形A、B、C如圖所示。試決定電路的最後輸出波形X。 Figure 5--29 Thomas L. Floyd Digital Fundamentals, 8e
5. 用脈波來操作邏輯電路 例題 5-11 試畫出圖5-30電路的時序圖,顯示出G1、G2和 G3的各別輸出,輸入波形A和B已顯示在如圖5-30中。 Figure 5--30 Figure 5--31 Thomas L. Floyd Digital Fundamentals, 8e
5. 用脈波來操作邏輯電路 例題 5-12 試分析圖5-32(a)邏輯電路中每一點Y1、Y2、Y3、Y4的中間波形,再決定其輸出波形其輸入波形如圖5-32(b)所示。 Figure 5--32 Thomas L. Floyd Digital Fundamentals, 8e
5. 用脈波來操作邏輯電路 例題 5-13 試直接從例題5-12中圖5-32(a)電路的輸出數學式求其輸出波形 Figure 5--33 Thomas L. Floyd Digital Fundamentals, 8e
Troubleshooting The above circuit is built with ICs 7400 and 7402 But there is a problem.
The counter is counting up what is wrong?
X = A’B’CD’ +AB’CD’ + A’B’C’D +AB’C’D +A’B’CD +AB’CD But X should be ABCD’+ABCD +ABC’D
What is wrong? Pin 2 and 3 of the 7400 chip are shorted replacing the 7400 the circuit is A B C D X X = ABCD’ + ABC’D + ABCD That is better.
Figure 5--35 Illustration of a node in a logic circuit. 6. 檢修 圖5-35所示這些互連的路徑共用相同的電路接點就是我們所謂的節點(node) , G1閘是用來驅動節點,而其它邏輯閘代表連接至節點的負載。 常見的錯誤型式如下: 驅動閘的輸出端開路 負載邏輯閘的輸入端開路 驅動閘的輸入端短路 負載邏輯閘的輸入端短路 Figure 5--35 Illustration of a node in a logic circuit. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--36 Open output in driving gate. 6. 檢修 驅動閘的輸出端開路 Figure 5--36 Open output in driving gate. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--37 Open input in a load gate. 6. 檢修 負載邏輯閘的輸入端開路 Figure 5--37 Open input in a load gate. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--38 Shorted output in driving gate. 6. 檢修 驅動閘的輸出端對地短路 Figure 5--38 Shorted output in driving gate. Thomas L. Floyd Digital Fundamentals, 8e
Figure 5--39 Shorted input in a load gate. 6. 檢修 負載邏輯閘的輸入端對地短路 Figure 5--39 Shorted input in a load gate. Thomas L. Floyd Digital Fundamentals, 8e
6. 檢修 信號追蹤和波形分析 Figure 5--40 Example of signal tracing and waveform analysis in a portion of a digital system. TP indicates test point Thomas L. Floyd Digital Fundamentals, 8e
6. 檢修 例題 5-14 利用波形分析找出圖5-41(a)邏輯電路故障。觀察到的波形是圖5-41(b)中綠色,紅色是正確的。 Figure 5--41 Thomas L. Floyd Digital Fundamentals, 8e
5-8 以VHDL 描述組合邏輯 運用結構描述法(Structural approach)編寫 VHDL 程式 寫VHDL程式就像將 IC元件安裝在電路板上,並用導線將它們相連接。 描述邏輯函數,並且指明它們之間如何相互連接一起。 VHDL 關鍵字component被使用在預先定義的邏輯函數。 VHDL關鍵字signal被當作以導線在元件之間進行連接的方式。
VHDL Components 預先定義的邏輯函數 以套件宣告(package declaration)儲存在VHDL的程式庫,並且可在程式中視需要多次呼叫。 類似一個IC的儲存盒。 任何邏輯函數的VHDL程式都可以變成元件(component) ,然後在大型程式中使用。
VHDL Components component name_of_component is port (port definition); end component name_of_component; - 2-input XOR gate component declaration component XOR_gate is port (A, B: in bit; X: out bit); end component XOR-gate The entity XOR_gate and the architecture of the XOR_gate must also be defined
VHDL Signals Signals 類似於電路板上使各元件互相連接的導線。 Inputs與outputs是利用埠(Port)敘述式在實體(entity)宣告中進行宣告。 Signals 是在結構(architecture)中宣告,使用signal敘述式。 Signal是VHDL關鍵字。
Program in VHDL using structural approach
In a library in the entity and architecture of the OR_1 and the XOR_gate -- program for the XOR OR circuit entity XOR_OR_Logic is port (IN1, IN2, IN3, IN4: in bit; OUT3: out bit); end entity XOR_OR_Logic;
program for the XOR OR circuit continued architecture LogicOperation of XOR_OR_Logic is component XOR_gate is port (A, B: in bit; X: out bit); end component XOR_gate; component OR_1 is port (A, B; in bit; X: out bit): end component OR_1; signal OUT1, OUT2: bit;
program for the gate XOR OR circuit continued begin G1: XOR_gate port map (A=>IN1, B=>IN2, X=>OUT1); G2: XOR_gate port map (A=>IN3, B=>IN4, X=>OUT2); G3: OR1 port map (A=>OUT1, B=>OUT2, X=>OUT3); end architecture LogicOperation
VHDL 並行性 並行性(concurrency)表示系統可同時處理敘述式。 並行的概念適用於程式的架構(architecture)裡的begin和end之間的敘述式中。 entity combinational is port(A,B,C,D: in bit; X,Y: out bit) end entity combinational; architecture example of combinational is begin X<=(A and B) or not C; Y<=C or not D; end architecture example; 並行敘述式,與出現順序無關
VHDL Processes 過程(process)是用在程式的架構中,順序地或並行地執行敘述式。 信號串列(Sensitivity list)是過程(process) 必須處理的一組信號。 Name: process (sensitivity list) Declarations Begin Sequential statements End process;
VHDL的變數 變數(variable)是一種可以儲存資料的物件型別 VHDL變數只能用於過程(process)中。 變數值的指定使用的是運算子 :=,如下所示: Y := B 變數宣告是放在process與begin之間。
例題 5-16 在飛機安全系統裡,四個液壓系統中至少要有兩個系統在整個飛行時間全速運轉,以便維持飛行安全,綠燈代表至少有一個備用系統是可以使用,紅燈代表飛機已經沒有多餘的液壓備用系統。 飛行安全系統需要邏輯1來點亮指示燈。如果液壓系統可以運轉,則它的感測器會傳回1 ;反之,會傳回邏輯0 。 試編寫一個SOP邏輯的VHDL程式碼用來監測液壓系統,如圖5-53所示。 Fig. 5-53
我們可以寫出如下VHDL程式碼: Sol: 圖5-53邏輯圖輸出布林數學式為: X=AB+AC+AD+BC+BD+CD Y=X’ eneity flightsafety is port(A,B,C,D: in bit;X,Y: out bit); end entity flightsafety;
architecture sensorlogic of flightsafety is begin poocess(A,B,C,D) variable V1:bit; V1:=(A and B) or (A and C) or (A and D) or (B and C) or (B and D) or (C and D); X:=V1; Y:=not V1; end process end architecture sensorlogic;
運用軟體開發工具 軟體開發工具的程式碼編輯器來完成你的程式碼輸入的工作。 使用提供之模擬器測試你的程式。
數位系統應用 具有液面高度及溫度感應器的液體儲存槽 輸入閥 高位準感應器 警報器 低位準感應器 輸出閥 溫度感應器 加熱器 儲存槽液體數位控制邏輯 1. 控制輸入和輸出閥門 2. 控制液體溫度 輸入閥 高位準感應器 警報器 低位準感應器 控制邏輯和介面電路 輸出閥 溫度感應器 加熱器 Figure 5--56 Fluid storage tank with level and temperature sensors and controls. Thomas L. Floyd Digital Fundamentals, 8e
操作要求 數位系統應用 當液面超過水位感測器, 感測器輸出High , 否則輸出Low 輸入閥門動作 高水位感測器為 Low, 啟動輸入閥門(High) 高水位感測器為 High, 關閉輸入閥門(Low) 輸出閥門動作(與液體溫度範圍有關) 低水位感測器為 High, 高低溫感測器為Low時, 啟動輸出閥門(High) 低水位感測器為 Low, 或高低溫感測器任一為High時, 關閉輸出閥門(Low) 加熱器(與液體溫度有關) 液體溫度過低, 低溫感測器為 High, 加熱器(H)開啟 , 否則加熱器(H)關閉' 警示鈴 當感測器故障或溫度過高, 啟動警示鈴(A) 感測器故障 當高水位感測器為High , 低水位感測器為Low ; 當兩個溫度感測器同時為High
數位系統應用 具有液面高度及溫度感應器的液體儲存槽 表5-6 儲存槽控制邏輯的輸入和輸出 控制邏輯的輸入 變數 說明 啟動位準 備註 LH 高水位感應器 HIGH(1) 感應器侵入液體中 LL 低水位感應器 TH 高溫感應器 溫度太高 TL 低溫感應器 溫度太低 控制邏輯的輸出 VINLET 輸入閥門 閥門開啟 VOUTLET 輸出閥門 閥門關閉 H 加熱器 加熱器開啟 A 警示鈴 發生感測器故障或溫度太高的情況 表5-6 儲存槽控制邏輯的輸入和輸出
數位系統應用 表5-7 儲存槽控制邏輯的真值表 輸入 輸出 備註 LH LL TH TL VINLET VOUTLET H A 1 1 進水/加熱器關閉 進水/加熱器開啟 溫度感測器故障/警示鈴啟動 進水且排水/加熱器關閉 低水位感測器故障/警示鈴啟動 兩組感測器故障/警示鈴啟動 排水/加熱器關閉 加熱器開啟 加熱器關閉
數位系統應用 用卡諾圖化簡及實作輸入閥 Figure 5--57 Karnaugh map simplification and implementation for the inlet valve logic. Thomas L. Floyd Digital Fundamentals, 8e
數位系統應用 Figure 5--58 Karnaugh map simplification and implementation for the outlet valve logic. Thomas L. Floyd Digital Fundamentals, 8e
數位系統應用 Figure 5-- Thomas L. Floyd Digital Fundamentals, 8e
數位系統應用 Figure 5 IC pin diagrams. Thomas L. Floyd Digital Fundamentals, 8e
數位系統應用 Figure 5 Thomas L. Floyd Digital Fundamentals, 8e
習題5-56 真值表 L=A’B+AB’ 房間理以電池供應能源的燈泡,由兩個開關來控制,一個在後門另一個在前門 如果前門開關(A)開啟(High)且後門開關(B)關閉(Low)或者 如果前門開關關閉(Low)且後門開關開啟(High) 則電燈(L)會亮(High) 如果兩個開關關閉(High)且兩個開關開啟(Low) 則電燈(L)會滅(Low) 真值表 A B L 1 L=A’B+AB’
End of Chapter 5