本頁使用了標題或全文手工轉換

邏輯閘

維基百科,自由的百科全書
前往: 導覽搜尋
基本邏輯閘
BUF NOT
AND NAND
OR NOR
XOR XNOR
IMP NIMP

邏輯閘是在積體電路上的基本組件。簡單的邏輯閘可由電晶體組成。這些電晶體的組合可以使代表兩種訊號的高低電平在通過它們之後產生高電平或者低電平的訊號。高、低電平可以分別代表邏輯上的「真」與「假」或二進位當中的1和0,從而實現邏輯運算。常見的邏輯閘包括「與」閘,「或」閘,「非」閘,「異或」閘(也稱:互斥或)等等。

邏輯閘是組成數字系統的基本結構,通常組合使用實現更為複雜的邏輯運算。一些廠商通過邏輯閘的組合生產一些實用、小型、集成的產品,例如可程式邏輯裝置等。

符號表[編輯]

同步型4位元計數器(74LS192) 以ANSI/IEEE Std. 91-1984和IEC Publication 60617-12表示

常用的邏輯閘有兩種常用的表示法,他們皆由ANSI美國國家標準協會)/IEEE電機電子工程師學會) Std 91-1984 跟作為其補充的 ANSI/IEEE Std 91a-1991。 「特殊形狀符號」是用過去電路簡圖為基礎以及50年代、60年代MIL-STD-806作衍生;有時也被描述成「軍事」,而這個也反映了它的起源。「IEC矩形國標符號」是以ANSI Y32.14跟一些早期工業用的符號為基礎,再重新由IEEEIEC(國際電工委員會)做微調而成;在每個符號中皆可以發現有舉行的外框圍著所代表的字,且相較於舊的表示法,他可以涵蓋更多的邏輯閘[1]。ICE的標準也被轉換成其他的表示法,像是歐洲的EN英語European Committee for Standardization歐洲標準委員會)60617-12:1999、英國的BS英語British Standard(由英國標準學會制定) EN 60617-12:1999跟德國的DIN EN 60617-12:1998。

IEEE Std 91-1984跟IEC 60617-12的共同目標是提供一套有系統符號來描述複雜的邏輯功能跟數位電路。這些邏輯的功能相較於AND閘和OR閘更加的複雜,例如中等大小的4位元計數器或大型的微處理器

IEC 617-12以及接替他的IEC 60617-12沒有很明確的標示出「特殊形狀符號」,但是不可能不使用他們[1]。然而在ANSI/IEEE 91和ANSI/IEEE 91a有提到:「根據IEC刊物第617期的第12部分指出特殊形狀符號不會優先使用,但也沒有和特殊形狀符號有衝突」。IEC 60617-12則包含了相應的說明(在第2.1節):「即使非優先使用,使用其他由國家標準認可的符號-特殊形狀符號,不應被認為和這個標準有衝突。在使用其他特殊形狀符號,以形成複數符號(例如使用如嵌入的符號)不應被鼓勵」。這項妥協方案使的IEEE跟IEC協會各自遵守他們的標準。

第三種表示法比較廣泛用在歐洲,尤其是歐洲的學術界;可以參見"DIN 40700"於德文版的此條目

在1980年代,示意圖成為主要的方式用來設計印刷電路板以及客製化IC(例如邏輯陣列)。而現在,客製化IC和現場可程式邏輯門陣列field-programmable gate array)通常是用硬體描述語言(Hardware Description Languages)(HDL) such as Verilog or VHDL來做設計。

類型 ANSIIEEE標準 IEC標準 名稱 短釋 邏輯函數表示 真值表
AND AND AND 「與」門╱「及」閘╱「且」閘 所有輸入為高時,才會有高的輸出。

一低出低。

A \cdot B
輸入 輸出
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
OR OR OR 「或」門/「或」閘 所有輸入為低時,才會有低的輸出。

一高出高。

A + B \,
輸入 輸出
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
NOT NOT NOT 「非」門╱反相器╱「反」閘╱逆變器 輸入的高低狀態會逆轉。 \bar{A}
輸入 輸出
A NOT A
0 1
1 0
在電子領域中,NOT閘也常常被稱為Inverter。符號的後面常常被稱為泡泡,這個泡泡常被用來表示外部邏輯狀態及內部邏輯狀態(氣泡右側及氣泡左側)的否定關係(1變0、0變1)。在電路圖中,一定需要定義0和1的狀態,通常高電位 = 1 (=5V) , 低電位 = 0(=GND);當然有些時候如果我們要將高電位設為0時,可以直接在電路圖中說明,這稱為直接極性指示,可以參見IEEE Std 91/91A 跟 IEC 60617-12,兩者表示法中泡泡跟電路圖中的說明可以在使用特殊形狀符號及矩形國標符號的電路圖中使用,但是純邏輯電路圖只有泡泡可以使用。
NAND NAND NAND 「與非」門╱「反及」閘╱「非與」閘╱「反且」閘 所有輸入為高時,才會有低的輸出。

一低出高。

\overline{A\cdot B}
輸入 輸出
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
NOR NOR NOR 「或非」門╱「反或」閘╱「非或」閘╱「反或」閘 所有輸入為低時,才會有高的輸出。

一高出低。

\overline{A + B}
輸入 輸出
A B A NOR B
0 0 1
0 1 0
1 0 0
1 1 0
XOR XOR XOR 「異或」門╱「互斥或」閘 只有其中一個輸入為高時,輸出為高;否則為低。 A \oplus B
輸入 輸出
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
XOR閘 (exclusive-OR) 的輸出為1隻有當兩個輸入是不同的狀態;反之當兩者輸入為相同的,輸出為0,不論輸入為0或1。如果有超過兩個輸入的話,當輸入端為1的數目是奇數。實際使用上,這些閘是由更基本的邏輯閘組合成的。
XNOR XNOR XNOR 「同或」門╱「反互斥或」閘╱「互斥反或」閘╱「互斥或非」閘 只有其中一個輸入為高時,輸出為低;否則為高。 \overline{A \oplus B}

{A \odot B}

輸入 輸出
A B A XNOR B
0 0 1
0 1 0
1 0 0
1 1 1
BUF NOT NOT 「是」門╱同相器╱「同」閘╱中繼器 輸出一個與輸入相同的高低狀態。 A
輸入 輸出
A BUF A
0 0
1 1
IMPLY XNOR XNOR 「蘊含」門╱「蘊含」閘 如果第一輸入為低時,輸出高,否則輸出與第二輸入相同的高低狀態。 A \to B
輸入 輸出
A B A IMPLY B
0 0 1
0 1 1
1 0 0
1 1 1
NIMPLY NIMPLY NIMPLY 「蘊含非」門╱「蘊含非」閘 如果第一輸入為低時,輸出低,否則輸出與第二輸入相反的高低狀態。 \overline{A \to B}

\lnot ( a \to b )

輸入 輸出
A B A NIMPLY B
0 0 0
0 1 0
1 0 1
1 1 0
  1. ^ 1.0 1.1 Overview of IEEE Standard 91-1984 Explanation of Logic Symbols, Doc. No. SDYZ001A, Texas Instruments Semiconductor Group, 1996

通用邏輯閘[編輯]

查爾斯·桑德斯·皮爾士(1880–81的冬天)指出NOR閘可以單獨使用(或者NAND閘也可以)來產生其他邏輯閘的所有功能,不過他的這個研究一直到1993年才發表。[1]在1913年,Henry M. Sheffer第一個發表NAND閘可以做出全部的功能的證明,也因此NAND閘的邏輯運算有時候也稱為謝費爾豎線(Sheffer stroke);NOR閘有時叫Peirce's arrow。[2]所以這些閘有時候叫做通用邏輯閘

參考文獻[編輯]

  1. ^ Peirce, C. S. (manuscript winter of 1880–81), "A Boolean Algebra with One Constant", published 1933 in Collected Papers v. 4, paragraphs 12–20. Reprinted 1989 in Writings of Charles S. Peirce v. 4, pp. 218-21, Google Preview. See Roberts, Don D. (2009), The Existential Graphs of Charles S. Peirce, p. 131.
  2. ^ Hans Kleine Büning; Theodor Lettmann. Propositional logic: deduction and algorithms. Cambridge University Press. 1999: 2. ISBN 978-0-521-63017-7. 

外部連結[編輯]