論理回路のための論理ゲート

ほかの技術知識

 過去記事(ブール代数とド・モルガンの法則)の続き。

ブール代数の演算やド・モルガンの法則といった抽象的な概念を、デジタルの世界の道具となる論理回路に発展させるためには、まず論理ゲートを考える。

 なお、論理回路とは、入力と出力が付いたブラックボックスのようなものであり、入力された値によって出力が決まる。現在の入力だけから出力が決まるタイプ(組合せ論理回路)と、現在の入力に加えて過去に入力された値によって出力値を決定する論理回路(順序回路)がある。

論理ゲートとは

 論理演算(論理積・論理和・否定)を実装するための基本ユニット。基本的な論理ゲートを組合わせることにより、すべての論理回路を実現できる。論理ゲートを組合わせた基本的な論理回路を理解することで、コンピュータの演算や判断、記憶の仕組みについて理解するのが簡単になる。

論理積(AND)・論理和(OR)・否定(NOT)のほか、否定論理積(NAND)・否定論理和(NOR)・排他的論理和(XOR)などがある。また、NOTゲートにはインバータ(inverter)という名前がついている。

NANDゲートは何でも屋

 NANDゲートとは「NOT AND」ゲートであり、MIL記号では、ANDゲートの先っぽにNOTを表す「〇」が付いた形をしている。なお、NOT記号の△は、「〇」だけではどちらが入力でどちらが出力かが分からないので、左が入力・右が出力を示すためにある。複数のNANDゲートを使って、NOTゲート・ANDゲート・ORゲートを表現できる。

NANDゲートでNOTゲートを作る

1) x=¬(a・a)=¬a

NANDゲートの入力端子2本に、aを入れると、¬aが出力される

2) x¬(a・1)=¬a

 NANDゲートの入力端子2本に、aと1を入れると、¬aが出力される。具体的には、NANDゲートの入力端子の片方を「1」(たとえば、+5Vの電源VCCにつなぐ)と、インバータができる。

NANDゲートでANDゲートを作る

 NANDゲートは「NOT AND」ゲートなのだから、NANDゲートの出力をインバータに通したものは、ANDゲートの二重否定、つまりANDゲートになる。

NANDデートでORゲートを作る

 ド・モルガンの法則を思い出して
x=¬(a・b)=¬a+¬b とする。
否定の否定は肯定、を利用して、両辺のaとbを¬aと¬bで置き換えると、
¬(¬a・¬b)=¬¬a+¬¬b=a+b
となり、このときの最右辺はORゲートそのものである。

XORゲート:
日本語で言うところの排他的論理和のゲートであり、入力PとQが同じでないときにx=1になるので、不一致回路とも呼ばれる。暗号論だとハミングコードで出てくる。

例)CMOSはNOTゲート(インバータ)

 半導体を思い出してみると、入力電圧と出力電圧のON/OFFが反転するという点で、CMOS (Complementary MOS:相補型MOS) はインバータになっている。CMOSでは、 論理値が変化するときにだけ、電流を消費し、論理値を維持している状態では原理的には消費電力がゼロに なる。

原理

CMOSによるインバータ

pチャネルとnチャネル のMOSFETを、相補的に利用する。
最も基本的な論理ゲートであるNOTゲート(論理反転)を右図に示す。この回路において、VddとVssは電源線(VddはVssに対して3〜15V程度の電位差を持つ)で、Aが入力信号線である。Vdd側(図中上側)がPMOS-FETでありVss側(図中下側)がNMOS-FETである。
AがVssと同じ電位を持つとき、上のFETがオンになり、下のFETがオフになる。このため、出力Qの電位はVddとほぼ等しくなる。また、AがVddと同じ電位を持つとき、上のFETがオフになり、下のFETがオンになる。このため、出力Qの電位はVssとほぼ等しくなる。つまり、Aと反対の電位がQに現れる事になる。

Wikipediaより