歡迎來到組合邏輯的世界!
你好!今天,我們要深入探討電子學中最令人興奮的領域之一:組合邏輯電路(Combinational Logic Circuits)。你有沒有想過計算機是如何「知道」 1 + 1 = 2 的?或者數碼鎖是如何決定何時開啟的?這一切都要歸功於這些電路!
在本章中,我們將學習如何將現實生活中的問題轉化為數學表達式,最後使用邏輯閘構建電路。別擔心這聽起來很複雜——我們會一步一步來,輕鬆搞定!
1. 真值表(Truth Table):你的決策地圖
在我們動手構建任何東西之前,都需要一個計劃。在數碼電子學中,這個計劃被稱為真值表。
真值表是一種簡單的方法,用於顯示系統在每一種可能的輸入組合下會產生什麼輸出。在我們的 O-Level 課程大綱中,我們通常處理最多三個輸入(我們稱之為 A、B 和 C)。
我需要多少行?
記住這一點有一個簡單的訣竅:行數為 \(2^n\),其中 \(n\) 是輸入的數量。
- 1 個輸入: \(2^1 = 2\) 行
- 2 個輸入: \(2^2 = 4\) 行
- 3 個輸入: \(2^3 = 8\) 行
快速複習:
真值表列出了你的電路中每一種可能的「如果……會怎樣?」情況。邏輯 0 通常表示「關」或「低電平(Low)」,而邏輯 1 表示「開」或「高電平(High)」。
2. 積之和(Sum-of-Products, SOP):將邏輯轉化為數學
一旦我們有了真值表,我們就需要將其轉換為布爾表達式(Boolean Expression)(即邏輯方程)。最常用的方法是積之和(SOP)。
秘密規則: 在 SOP 中,我們只關注輸出為 1 的行。
SOP 的步驟:
1. 查看你的真值表,找到所有輸出為 1 的行。
2. 對於每一行,寫出一個「積」項(即一個 AND 項)。
- 如果輸入為 0,則在該字母上加一條橫線(例如 \(\overline{A}\))。
- 如果輸入為 1,則直接寫出字母本身(例如 \(A\))。
3. 將所有這些項「求和」(即用 OR 連接起來)。
如果輸出僅在 A=1、B=0 和 C=1 時為 1,則該項為 \(A \cdot \overline{B} \cdot C\)。
記憶輔助: 把 SOP 想成是 "Select Only Positive-results"(只選擇正結果,即輸出為 1 的那些行!)。
核心重點:
SOP 表達式看起來像這樣:\(Y = (A \cdot B) + (\overline{A} \cdot C)\)。其中的「積」對應 AND 閘,而「和」對應連接它們的 OR 閘。
3. 簡化:讓電路更廉價、更優秀
有時我們得到的 SOP 表達式會非常長。在現實世界中,更多的邏輯閘意味著更高的成本,以及更高的故障風險。我們通過簡化表達式來節省空間和成本。
我們使用兩個主要工具:布爾代數(Boolean Algebra)和卡諾圖(Karnaugh Maps, K-maps)。
什麼是卡諾圖?
把卡諾圖想像成一個視覺拼圖。它是一個網格,我們將真值表中的 1 填入其中。
- 我們將 1 分組,每組大小為 2、4 或 8 個。
- 分組越大,最終的方程就越簡潔!
- 經驗法則: 只將相鄰的單元格(上、下、左、右)分組,絕對不要包含對角線!
簡化電路就像打掃房間。你想要清除那些「雜物」(不必要的邏輯閘),同時保留所有「重要的東西」(邏輯功能不變)。
你知道嗎?
簡化後的電路功耗更低,這就是為什麼你的智能手機電池續航時間比 20 年前的電腦長得多!
4. 實現:構建電路
現在是時候動手畫電路圖了!如果你已經有了 SOP 表達式,就可以使用 NOT、AND 和 OR 閘來構建它。
分層構建法:
1. 輸入層: 為 A、B 和 C 畫出線路。如果需要 \(\overline{A}\)、\(\overline{B}\) 或 \(\overline{C}\),請使用 NOT 閘。
2. 中間層(AND): 為每一個「積」項畫出 AND 閘。
3. 輸出層(OR): 將所有 AND 閘的輸出連接到一個大的 OR 閘中。
別忘了在 NOT 閘上畫上那個小圓圈(反相氣泡)!沒有它,它就不是 NOT 閘了。
快速複習:
- 積(Product) = AND 閘
- 和(Sum) = OR 閘
- 橫線(Bar/Overline) = NOT 閘
5. 解決現實世界的問題
讓我們試試一個簡單的場景。想像一個用於加熱器的安全警報器。
如果滿足以下條件,警報(Y)就會響起(邏輯 1):
- 溫度過高(T = 1)且冷卻風扇關閉(F = 0)。
第 1 步: 邏輯式為 \(Y = T \cdot \overline{F}\)。
第 2 步: 我們需要一個用於風扇(F)的 NOT 閘,以及一個將兩者結合的 AND 閘。
如果一開始覺得很棘手也別擔心!只要多練習畫這些「邏輯故事」,你會發現它們越來越簡單。
總結清單
1. 你能為 3 個輸入填寫真值表嗎?(記住:8 行!)
2. 你能找出所有 1 並寫出 SOP 表達式嗎?
3. 你能使用卡諾圖進行簡化嗎?(分組越大越好!)
4. 你能使用 NOT、AND 和 OR 閘畫出電路圖嗎?
最後的小貼士: 務必檢查兩遍你的真值表。如果真值表錯了,整個電路就會錯。穩紮穩打才是成功的關鍵!