XORゲートをCMOSで作ってみます。
XORを基本ゲートに含むか、というのは微妙なところです。
というのも、XORはANDとORの組み合わせで作れるからです。
で、これをMOSFETで実現します。
一番単純な、上の式を素直に回路にした、完全相補形のロジック。
本当はデジタル的なMOSFETの記号を使いたいのだけど、あいにく手元のソフトに入っていない・・・。
と言っても、中心より上がpMOSで下がnMOSなので、簡単に分かります。
「完全相補形」というのは、pMOSの配置が完全にnMOSの鏡写しになっているものです。
鏡写しというのは、「直列は並列に、並列は直列に」という意味。
だから、下半分のnMOSだけを見れば良い。
下半分にすると、電源が無くなります。
つまり、”1″にできなくなります。
グラウンドはあるから、”0″にはできます。
というわけで、「どんな時に”0″になるか」を考えて、nMOSを配置します。
“1”が入ったらnMOSがオンになるから・・・と考えれば、上の回路ができあがります。
・・・そんなこんなで、XORゲートは実現できます。
でも、これはトランジスタを8個も使っています。
AとBの否定を作らなきゃいけないことを考えると、12個のトランジスタが必要。
否定を作るのに2つずつのトランジスタが必要だから。
ちょっと工夫すれば、10個のトランジスタで完全相補形のXORゲートが作れます。
でも、そもそも完全相補形ではなく、他のロジックも色々あります。
ドミノロジックなんかが実際のLSIのチップには使われるみたいです。
簡単なのは、スイッチロジックというやつです。
これなら、否定を作るためのトランジスタを合わせても、8個のトランジスタで済みます。
しかも、こちらの方が速かったりします。
もちろん短所もありますが。
これの見方を少し変えれば、3路スイッチの話ができます。
3路スイッチがXORゲートだという話をしましたが、それはまさにこの構造です。
MOSFETスイッチを壁にあるスイッチに置き換えれば、3路スイッチになるというわけ。
コメント