3 / 63 · 概念
基本邏輯閘:AND、OR、NOT、BUFFER
連結電路符號與真值表,並用多個邏輯閘組成條件。
單元可免費閱讀,註冊課程即可儲存學習進度。
邏輯閘定義所有輸入組合的函數
對輸入 ,AND 在兩者都為 1 時輸出 1,OR 在至少一者為 1 時輸出 1。NOT 反相反相是將 0 變為 1、1 變為 0 的 NOT 運算。公式上方的橫線表示對線下的整個運算式套用 NOT。 詳細內容輸入,BUFFER 原樣傳遞邏輯值。實際 BUFFER 也有驅動能力與延遲,此處只看邏輯功能。
| a | b | AND | OR | NOT a | BUFFER a |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 1 |
布林代數布林代數處理 0、1 與 AND、OR、NOT 運算。此處的加號通常代表 OR,規則與整數加法不同。 詳細內容以 表示 AND、 表示 OR、 表示 NOT,因此這裡的 不是整數加法。也可寫成 、、。
同時閱讀符號、輸入與真值表
在下方選擇 AND 與 OR,逐一確認 00→01→10→11。比較 AND 平直的輸入側、圓弧的輸出側,以及 OR 彎曲的輸入側。NOT 以三角形尖端的小圓圈表示反相,BUFFER 則是沒有圓圈的三角形。圖中使用常見邏輯符號,其他標準也可能採用矩形符號。
| a | b | y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR 是「至少一個」,不是「恰好一個」。兩個輸入都為 1 時,OR 為 1,而下一堂的 XOR 為 0。真值表真值表完整列出所有可能的輸入組合,以及每個組合的輸出。隨時間的變化須另外以波形確認。若漏掉一列,就可能忽略這項差別。
串接條件便能組成電路
下列電路以 作為許可輸入,並要求兩個感測器 至少一個開啟才輸出。
先由 OR 產生 ,再由 AND 與 結合。 時,不論感測器狀態為何,輸出都是 0。三個輸入有 種組合,因此要在真值表八列中確認規格與實作相同。
- a 與 b: 定義兩個感測器的輸入值
- OR: 至少一個啟用:t = a + b
- AND: 與允許訊號 e 結合:y = e · t
閱讀 RTL 符號的基本規則
a & b、a | b、~a 是逐位元 AND、OR、NOT。若向量 a=0010、b=0100,則 a & b=0000,但邏輯條件 a && b 因兩個向量都非零而為 1。單運算元的 &a 是將全部位元以 AND 合併的歸約運算。逐位元、邏輯條件與歸約運算的結果寬度及意義各不相同。
真值表描述輸入穩定後的值。即使符號和算式正確,也不會使傳播延遲傳播延遲是輸入改變後,輸出穩定至正確值所需的時間。邏輯式是否等價與時間特性是兩個不同問題。 詳細內容或瞬間毛刺消失。
變更輸入以觀察結果
自己試試看
請用同一條規則說明 y=e(a+b) 中 e=0 的四種組合。若誤寫成 y=eab,哪兩組輸入能揭露錯誤?
查看解說
e=0 時,不論 OR 的結果為何,最後的 AND 都輸出 0。e=1 且 (a,b)=(0,1) 或 (1,0) 時,正確電路輸出 1,錯誤電路輸出 0。