負論理
負論理とは(ふろんり、英: Active LowまたはNegative Logic)、その反対の正論理(せいろんり、英: Active HighまたはPositive Logic)に相対する呼び方である。負論理は論理回路を実装したデジタル回路における手法として正論理とともに用いられる。
目次 |
概要 [編集]
デジタル回路の実現法には様々な方法があるが、以下では現在主流のCMOSやTTLによる、0Vに近い電圧(Low、Lと略す)と、電源電圧に近い電圧(High・Hi、Hと略す)により、2状態を表す方式を前提とする。バスにはハイインピーダンス状態(Zと略す)もあるが、ここでは扱わない。
コンピュータなどの、情報処理や論理演算や数値計算をおこなうデジタル回路において、二進法の「0」と「1」や、真理値(真偽値)における「真」と「偽」は、電子回路上の H か L の状態であらわされる。コンピュータにおいては、たとえば「マウスのボタンが押されている」などといった活動(activity)についても同様に表現される。
この時、1 や真や「アクティブである」という状態に H を割り当て、0 や偽に L を割り当てるのが正論理(Active High)である。これに対して、H と L を逆に割り当てるのが負論理(Active Low)である。
日常生活での正論理と負論理 [編集]
人間の日常の生活において、例えば会議や合議で「賛成の人は起立してください」、「反対の人は座ったままでいてください」と言うのが正論理であり、逆に、「賛成の人は座ってください」、「反対の人は立ったままで居てください」と言うのが負論理と言える。正論理では、賛成を立った高い姿勢とし、座った低い姿勢を偽とするのもであり、負論理では賛成の低い姿勢を真、高い姿勢を偽としたもの、と見ることもできる。このように負論理にはわずかな違和感はあるとしても論理の処理には問題はない。
論理回路と真理値表 [編集]
具体的には、TTLを例にとれば、入力電圧:2.0V以上を「真」、入力電圧:0.8V以下を「偽」、出力電圧:2.7V以上を「真」、出力電圧:0.4V以下を「偽」とするのが正論理である。負論理では入力0.8V以下と、出力0.4V以下を「真」とし、入力2.0V以上と出力2.7V以上を「偽」とする。
論理回路の多くはTTL ICに限らず、人間の生活に即した正論理で処理が行われる方が理解もし易い。負論理の方法は電子回路の働きを人間が設計や修理の際に考える場合に面倒であっても、回路そのものは正しく働いてくれる。実際にはコンピュータなどのバスや割り込みの処理にはオープンコレクタ回路に代表されるように負論理も必要に応じて利用される。
| 入力 A | 入力 B | 出力 Y |
|---|---|---|
| Hi | Hi | Low |
| Hi | Low | Hi |
| Low | Hi | Hi |
| Low | Low | Hi |
これを、負論理として見てみよう。Hi=偽、Low=真として見ると、NORとなっていることが以下の表からわかる。
| 負論理の入力 A | 負論理の入力 B | 負論理の出力 Y |
|---|---|---|
| Hi=偽 | Hi=偽 | Low=真 |
| Hi=偽 | Low=真 | Hi=偽 |
| Low=真 | Hi=偽 | Hi=偽 |
| Low=真 | Low=真 | Hi=偽 |
同様に正論理のAND回路は負論理のOR回路に、正論理のOR回路は負論理のAND回路になる。
論理の混在 [編集]
このように例えば一つのICチップに4個のNANDゲート回路が有るとして3個は正論理と1個は負論理NORとした使い分けもできる。正論理だけでロジック回路を組むことは現実的で無かったり困難であったり無駄を生じる事がある。複雑なロジックになるほど正論理と負論理を混在させた方が都合が良い場合が多い。
またICゲート素子のシリーズ(例:標準ロジックIC、TTL IC 7400シリーズ)そのものがAND回路やOR回路のみだけでなく、NAND(NOT-AND)回路やNOR(NOT-OR)回路もありこれらを混在させる方が無駄がない。 実際には機器や基板の回路全体の機能は正論理で行われるが一部は負論理であったりする。前段を正論理とし、その後段を負論理としたり、逆に前段を負論理、後段を正論理とした組み合わせなど、正論理と負論理のAND、OR、NAND、NOR、XORを駆使し上手く組み合わせて演算回路素子をできるだけ少なく使用するなどの工夫もなされる。