CMOS回路を論理式に置き換える
- 原理は今回は考えずにどのようにCMOS回路を読むかについてのみ書きます。
回路を論理式にするときの共通のルールは
直列 | AND |
---|---|
並列 | OR |
直列で接続されているときは論理積
並列で接続されているときは論理和
になります。
加えて、pMOSとnMOSでは異なった独自のルールが存在するので区別する必要があります。
出力Yを基準として、下にnMOSを集めた回路・上にpMOSを集めた回路になっているので区別できます。
nMOS・pMOSに対してそれぞれ1つずつルールをおぼえるだけです。
(実際には多くのルールが違いますが、今回は回路を読むための最低限です。)
ルール | |
---|---|
pMOS | 入力が0のときにONになる |
nMOS | 全ての条件が満たされたときに出力0 |
入力が0の時にpMOSはONになるので入力を反転させる必要があります。
nMOSでは、論理式が満たされたときに出力が0になるので、nMOS全体の論理式を反転させる必要があります。
簡略化すると下記の表になります。
ルール | |
---|---|
pMOS | 各入力を反転 |
nMOS | nMOS全体の論理式を反転 |
下記のCMOS NANDゲートを例として、これは本当にNAND回路なのか確認します。
-
nMOS側
Qn1とQn2が直列接続されているのでA・Bになります。
nMOSのルールである全体の論理式を反転を行うと、Y = NOT(A・B)になります。
NANDの形になってます。 -
pMOS側
Qp1とQp2が並列接続されているのでA+Bになります。
pMOSのルールである入力を反転を行います。
Y = NOT(A) + NOT(B) となり、出力Yはドモルガンの法則を適用すると
Y = NOT(A・B)となり、pMOS側もNANDの形になってます。
このように、pMOS側, nMOS側がともにNANDの形になっている必要があり、それを上記で示すことができました。
おまけ
なぜpMOS側とnMOS側両方が同じ形になっている必要があるのかと思った人もいると思います。
これは、CMOSが、pMOSとnMOSがお互いを補完するように作成されているからです。
片方ががONの時はもう片方はOFFになっているので、消費電力をおさえることができます。
これ以上は原理の部分に触れる必要があるので、詳しくは時間があるときに追記します。