論理ゲートはどのように電子的に作成されますか?


27

AND、NOT、NAND、NOR、ORゲートがありますが、電子的/電気的にどのように作成されますか?

たとえば、何がNOTゲートで値を反転させるのですか?



これは、トランジスタから回路を物理的に作成する方法と、それらが機能する理由を説明するブログ投稿です。理論を読むだけでなく、実際に作ってから理解するのが一番簡単だと思いました。回路はここからの図に基づいています
insano10

回答:


61

これをコミュニティWikiに変えたので、将来参照するクールなロジックゲートの実装を収集できます。

まず、トランジスタを簡単に理解する必要があります。これまでに存在したすべてのロジックの99%(数カウント)がCMOSとして存在するため、CMOSを扱います。

使用されるトランジスタには、PMOSとNMOSの2種類があります。記号は次のとおりです。 図1

トランジスタは電気的に制御される電流源/シンクです。ゲート電圧がソースより低い場合、PMOSは電源(ソースに接続された)からドレインおよび他の回路に電流を流します(図の点線はオン時の電流の流れを示します)。NMOSは、ドレインからソースへの電流をグランドにシンクします(この場合、シンクと考える必要があります)。

わかりやすくするために、ネーミングにはいくつかの自由度があることに注意してください。

通常、PMOSは正の電圧に接続され、NMOSは通常、通常はグランドの負の電圧に接続されます。

興味深いことに、デバイスを積み重ねてさまざまな機能を作成できます。2つのPMOSをスタックすると、2つの電圧で制御される電流源が得られ、2つのNMOSをスタックすると、2つの電圧で制御される電流シンクが得られます。

ここに画像の説明を入力してください

電流が流れるためには、Aの電圧(Aと呼びます)とBの両方が+ V未満でなければならないことに注意してください。また、電流をシンク(シンク?)するには、CとDの両方がGround(そのハッチした三角形のシンボル)よりも高くなければならないことに注意してください。「電流を流すにはAとBの両方を低くする必要があります」、「電流を流すにはCとDの両方を高くする必要がある」と言うことができます。

「スタック」(実際には直列に配置)できるように、デバイスを並列化できます。 ここに画像の説明を入力してください

PMOSでは「A OR Bのいずれかが低くなり、電流が流れる」と言うことができ、NMOS回路では「C OR Dのいずれかが高くなると電流が流れる」と言うことができます。

ロジック言語を使用して関数(AND、OR)を記述しているので、回路をつなぎ合わせることができます。

まずインバーターから:

ここに画像の説明を入力してください

Vinがグランドにあるとき、PMOSはオンになり、電流をソースできますが、NMOSはオフになり、電流をシンクできません。その結果、Voutピンは利用可能な静電容量に電荷を入れようとし、その静電容量をV +レベルに達するまで充電します。

同様に、VinがHighの場合、NMOSはオンになり、電流をシンクできますが、PMOSはオフになり、電流をソースできません。その結果、Voutピンは利用可能な静電容量から電荷を引き出そうとし、その静電容量がグランドレベルに達するまで放電します。

入力の「高」は出力に「低」を与え、入力の「低」は出力に「高」を与えます。反転します!

PMOSとNMOSの両方のシンボルを見ると、ゲートはシンボル上のコンデンサのように見えます。MOSトランジスタはコンデンサであるため、これは意図的なものであり、主にこの容量が動作中に充電および放電されます。電流は時間ごとの電荷の流れであり、静電容量は電圧ごとの電荷の蓄積です。トランジスタは、ゲート電圧を制御された電流に変換し、その後、ゲート容量を充電および放電し、電荷の変化を電圧の変化に戻します。

次に、最初の2つの入力ゲートであるNANDゲートについて:

ここに画像の説明を入力してください

NMOSの「スタック」は、1つの条件下でのみ電流をシンクします。つまり、AとBの両方が高い場合です。両方のPMOSがオフになっている(つまり、電流を供給しない)という条件に注意してください。したがって、その状態では、Voutは電流をシンクし、VoutはLowになります。

他のすべての条件では、PMOSの少なくとも1つが電流をソースし、NMOSスタックは電流をシンクできません。次に、出力が充電され、Vout =高になります。

A B Out
0 0 1
0 1 1
1 0 1
1 1 0

この真理値表は、Not(A&B)別名NANDであることを示しています。0 = gnd、1 = V +。

ANDゲートにするには、出力を反転するだけです。

ここに画像の説明を入力してください

そして、それは真理値表です。

A B Out
0 0 0
0 1 0
1 0 0
1 1 1

次に、NORゲート

ここに画像の説明を入力してください

これで、自分で真理値表を入手できるようになることを願っています。

C D Out
0 0 1
0 1 0
1 0 0
1 1 0

NORからNANDへの対称性があります。構造は単純な反転です。

今OR

ここに画像の説明を入力してください

と真理値表

C D Out
0 0 0
0 1 1
1 0 1
1 1 1

3入力NANDで示されているように、設計をより高次の入力に拡張するのは簡単です。

ここに画像の説明を入力してください

NMOSとPMOSを直列/並列の組み合わせで配置することにより、トランジスタレベルでさまざまなロジック機能を実装できます。多くの場合、これは面積効率、電力効率、または速度のために行われます。これらの関数は、厳密にAND、OR、またはXor関数である必要はありません。以下は、AND / ORゲートとして知られています。

ここに画像の説明を入力してください

次の真理値表があります。

C A B Out
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

これがこれらの機能を実装する唯一の方法であるとは思わないので、トランスミッションゲートと呼ばれるデバイスを紹介します。

ここに画像の説明を入力してください

適切に動作するには、NMOSとPMOSの両方のゲートを反対に駆動する必要があります。

これは、追加のNMOSでできることのサンプル回路です。

ここに画像の説明を入力してください

ここで/ A =デジタルロジックではNot(A)

A + B = AまたはB

A * B = A AND B

したがって、A OR Bを実装できるのは3つのトランジスタのみであることがわかります。ただし、この回路には重大な副作用があり、一般的には使用されないことに注意してください。しかし、それはそれでも実例です。

以下は、TGベースのロジック関数のコレクションです。

ここに画像の説明を入力してください

Pass-Transistor-LogicまたはPTLもあります。そのような例:PTL


13
EE.SEは自己完結型であり、リンクは一般的に眉をひそめているため、私は自分で作成しました。さらに、将来的にはクールなアイデアをここで収集できるように、コミュニティWikiに変更しました。
プレースホルダー

1
超回答!!!
WIM

2
多くの状況では、いくつかのORゲートの出力をNANDで結合する機能、またはいくつかのNANDゲートの出力をNORで結合する機能が必要です。このような表現(A or B) nand (C or D)は、8つのトランジスタを使用した単一レベルのロジックで実装できます。2つの本格的な「OR」ゲートを使用して結果をNANDするよりもはるかに効率的です。
スーパーキャット

TG OR実装の「深刻な副作用」とは何ですか?
アパロポハパ

@apalopohapa:最大の副作用は、TGロジック回路が少なくとも瞬間的に入力を逆駆動できる場合があることです。「TG」または実装の上部にある「/ A」は「/ B」である必要があります。そうであると仮定し、AとBの両方が低く開始します。最初に、AとBは出力に接続されるため、相互に接続されます。/ Aの立ち下がりエッジの前にAの立ち上がりエッジが発生した場合、Aからの電流はBに逆流する可能性があります。
supercat

2

特にCMOSのNOTゲートは、出力を反転するように構成された相補的なPMOSおよびNMOSデバイスで構成されています。

私があなたに与えることができる最善のアドバイスは、デジタル集積回路の本を見ることです。トランジスタレベルでロジックを設計する方法について知りたいことはすべて揃っています。


2

RTL(抵抗-トランジスタロジック)の使用。

また、いくつかのゲートは、ゲートを組み合わせて作成されます。たとえば、XORは(OR)AND(NOT AND)です。また、NANDは単なる反転ANDです。

インバーターとNOR:http : //en.wikipedia.org/wiki/Resistor%E2%80%93transistor_logic
ORは逆NORです。
ANDは、反転入力のNORです。
NANDは反転ANDです。
XORは、NANDとの論理積です。
NXORは、反転XOR、またはNORとの論理和です。



1

論理ゲートで何が起こるかを視覚的に表現できれば、おそらくよりよく理解できるでしょう。これに最適な場所の1つは、この優れたインタラクティブシミュレータfalstadです。Javaベースであり、ブラウザから実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.