論理回路においてPower on Resetを実現する
前記事の
でRC直列回路を組むことで、論理回路のL->Hの立ち上がりを330μs程遅らせることができた。これを用いて、RSフリップフロップの初期化ができる。その回路であるが、全体は、

素子74LS00はNANDゲートが4個入ったICであるが、上図のような書き方は見慣れない読者が多いかもしれない。普通は、

こんなふうに書くことが多い。真理値表は、入力AおよびBの両方がHの時だけQがアクティブになるということから、
| 入力A | 入力B | 出力Q |
| L | L | H |
| H | L | H |
| L | H | H |
| H | H | L |
となるが、これは入力側を正論理(Hの時にActiveとみなす)見方をしたときであって、同じ上図の真理値表の見方を変えると入力Aか入力BのどちらかがLなら出力はHと見なすこともできる。つまり機能としてはORを取っているわけで、ORとしシンボルを書くと、

と書ける。NANDを負論理で書いているわけだ。結果はNANDではなくInverted ORだね。有名なドモルガンの法則で、ORはAND、ANDはORになる。フリップフロップに戻りますが、二つの入力のどちらかがLになれば、それに対応して出力側がHになる。両方Hなら状態は不変。両方Lは禁止。という形で、この時の真理値表は、
| 入力A | 入力B | 出力Q | 出力 |
| L | H | H | L |
| H | L | L | H |
| H | H | 不変 | 不変 |
| L | L | 禁止 | 禁止 |
この様な時、RC充電回路側の入力は遅延により全体の回路が安定した後で、L->Hの変化をするので安定してはHになり、Qは反対の値なのでLとなる。ぱっと見てフリップフロップの動作が直感的に理解しやすいので、このように負論理で書くのが望ましい。この書き方をMIL記法といふ。
上図のようなワイヤードロジック(ゲートだけで組んだ論理回路)は近年少なくなってきており、普通はなんらかのプロセッサを搭載し初期化を含めてソフトウエアで行うことも多いかもしれないですが、最初のような回路を目にしたら思い出してくれると幸いである。
見方を180°変えた方が理解しやすいこともある。


コメント