next up previous contents index
Next: NOR-NOR回路 Up: 組合せ論理回路 Previous: AND-OR回路   Contents   Index

NAND-NAND回路

電子回路の場合,こうした論理はAND,ORの代わりにNANDやNORを使って 実現する必要がある。 まず,ド・モーガンの法則(de Morgan's law)について説明しよう。 これは,次の二つの法則をまとめたものである。

$\displaystyle \mathop{\rm OR}\nolimits =\mathop{\rm NAND}\nolimits (\mathop{\rm NOT}\nolimits )$      
$\displaystyle \mathop{\rm AND}\nolimits =\mathop{\rm NOR}\nolimits (\mathop{\rm NOT}\nolimits )$     (4.7)

これらの法則は,ORは,入力のいずれかが1であると,1となる。 つまり,「ORはすべての入力が0のときだけ例外的に0を出力する」こと, 一方「ANDはすべての入力が1のときだけ 例外的に1を出力する」という例外処理に着目すると簡単に理解できる。

まず前者であるが,すでに述べたように左辺のORはすべての入力が0 のときだけ0となる論理である。 一方,右辺のANDはすべてが1のときだけ1となるから, すべての入力を反転してANDに与える,つまり $\mathop{\rm AND}\nolimits (\mathop{\rm NOT}\nolimits )$とすることで, すべての入力が0のときだけを例外処理とする。 この出力を反転させれば,すべての入力が0のときだけ0となり, 両辺は一致する。 後者については,各自で解いて欲しい。

例えば前節に示した$C_o$は,四つの要素$M_i$のORからなっているが, そのORをド・モーガンの法則を使って, $\mathop{\rm NAND}\nolimits (\mathop{\rm NOT}\nolimits )$に差し替える。 次に各$M_i$の否定が必要となるが,各$M_i$はAND により構成されているので,NANDとなる。


$\displaystyle \overline{M_0}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline A,\overline B,\overline{C_i})$  
$\displaystyle \overline{M_1}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline A,\overline B,C_i)$  
$\displaystyle \overline{M_2}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline A,B,\overline{C_i})$  
$\displaystyle \overline{M_3}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline A,B,C_i)$  
$\displaystyle \overline{M_4}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (A,\overline B,\overline{C_i})$  
$\displaystyle \overline{M_5}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (A,\overline B,C_i)$  
$\displaystyle \overline{M_6}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (A,B,\overline{C_i})$  
$\displaystyle \overline{M_7}$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (A,B,C_i)$ (4.8)

またOR→NAND(NOT)と置き換えると,
$\displaystyle C_o$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline{M_3},\overline{M_5},\overline{M_6},
\overline{M_7})$  
$\displaystyle S$ $\textstyle =$ $\displaystyle \mathop{\rm NAND}\nolimits (\overline{M_1},\overline{M_2},\overline{M_4},
\overline{M_7})$ (4.9)

と変形できるのである。 これらの式から $\overline{M_0},\overline{M_1},\cdots$を消去すれば, いかなる出力もNOT,NAND(ANDに対応),NAND(ORに対応)を組み合わせればよいことが理解できよう。 また,NOT,NAND(ANDに対応),NAND(ORに対応)の配置は, 真理値表の0,1の配置に合わせて組織的に行えばよいことも理解できよう。

つまり,OR(AND)=NAND(NAND)とNANDだけがあれば,いかなる論理も 構成できてしまうのである。 厳密にはNOTとNANDで構成できると言うべきかもしれない。 しかし,NOTは1入力NANDとみなすこともできるので, 「どんな論理もNANDだけで構成できる」と表現することが多い。 これをNAND-NAND回路(NAND-NAND circuit)と言う。

問題9
NOTを1入力NANDとみなせることについて,c-MOS回路の立場から考察してみよ。 同様に,真理値表の立場からも考察してみよ。

Figure 4.5: NAND-NAND回路
\begin{figure}\begin{center}
%
\unitlength 1pt
\begin{picture}(230,295)
\put(0,...
...)[lb]{{\footnotesize$\overline{M_7}$}}}
\end{picture}
\end{center}\end{figure}

これらを回路図にすると図 4.5のようになる。 ただし,いくつの入力を持つNANDでも手に入るという前提で書いた。 なお,この図の一番上のNANDゲートは, 最終出力にいっさい関係しておらず,不要である。 しかし,現在の集積回路の内部では見やすい構造とすることを 旨としているので,不要な回路でも真理値表との対応関係から, 残しておくことが多い。

問題10
EOR回路を,NAND-NAND回路で構成してみよう。 不要な部分を消去すると,前に示したものと同じ回路になることを示せ。

Figure 4.6: 簡略表記によるNAND-NAND回路 (NANDの入力は1本にまとめて簡略記載されているが, 実際にこのように配線するとショートしてしまうので注意)
\begin{figure}\begin{center}
%
\unitlength 1pt
\begin{picture}(197,284)
\put(0,...
...)[lb]{{\footnotesize$\overline{M_7}$}}}
\end{picture}
\end{center}\end{figure}

これを, 簡略化して図 4.6のように表すことがある。 多入力NANDの入力を1本の線にまとめて表すこの表記法は,実際の回路と 対応がとれず,誤解を招きやすいので,安易な導入は危険であるが, 見やすいのでしばしば利用されている。 なお,実際にいくつかの論理の出力を1本の線に接続すると,いわゆる 短絡状態を起こす可能性があり,場合によっては論理回路の壊滅的破壊を 招きかねないので,絶対に行ってはならない。 この図を,図 4.4の真理値表と比較してみると, 極めて強い対応がとれていることが理解できよう。 左半平面のNAND面では,真理値表の入力側の1に対して, $A,B,C_i$との接続が対応し,真理値表の0に対して, $\overline A,
\overline B,\overline{C_i}$との接続が対応している。 また右半平面のNAND面では,真理値表の出力側の1が対応している。

この左半分のNAND回路は,$n$桁の2進表現された数を解析して, その数の内容に対応した$2^n$本の線のいずれかを選ぶ回路である。 2進表現コードを展開することからデコーダ(decoder)と呼ばれる。 ここに示したNAND回路は,選ばれた線だけが0となる回路である。 デコーダとは厳密には1本の線にだけ1を出す回路であるが, その場合にはすべての線にNOTを付加すればよい。

問題11
逆に$2^n$本の線のいずれかに1を入れると, その線の番号に対応する数の2進表現を出力する回路を, エンコーダ(encoder)と言う。 NAND-NAND回路の右側の設計方針にしたがって, 3bitのエンコーダの回路を求めよ。

なお,デコーダと分配器,デコーダと選択器の組合せもよく用いられる。


next up previous contents index
Next: NOR-NOR回路 Up: 組合せ論理回路 Previous: AND-OR回路   Contents   Index
Yoichi OKABE 2008-03-29