論理回路

論理回路（ろんりかいろ、）では、ディジタルな（ → デジタル回路 ）電子回路による、論理演算や記憶を行う回路について説明する。
概要.
真理値の「真」と「偽」、あるいは二進法の「0」と「1」を、電圧の正負や高低、電流の方向や多少、位相の差異、パルスなどの時間の長短、などで表現し、論理素子などで論理演算を実装する。電圧の高低で表現する場合それぞれを「」「」等という。基本的な演算を実装する論理ゲートがあり、それらを組み合わせて複雑な動作をする回路を構成する。状態を持たない組み合わせ回路と状態を持つ順序回路に分けられる。
表記法.
論理回路の設計には、論理式や真理値表が用いられる。さらに回路図的な表記手段としてMIL記号など論理素子記号が使われる。
負論理には正論理の信号名の上にオーバーバー（例： formula_1 ）を加えることで表現し、MIL記号では小丸()で表現する。
正論理・負論理.
MIL記号を含めて通常のロジック・ダイアグラムでは正論理と負論理が混在して使用される。
正論理では「H」を真偽値の「真」に、負論理では「L」を真偽値の「真」に対応させる。
厳密には正論理の出力信号線は必ず正論理の入力に接続されねばならず、負論理出力は負論理の入力に接続されねばならないが、図面上の表記として必ず守られるとは限らない（「厳密には」というよりは、図面の目的による。たとえば、論理的な動作を理解するための図であるのか、製造のための電子的な回路図に近い性格のものであるのか、結局のところケースバイケースであろう）。
組み合わせ回路.
組み合わせ回路は、現在の入力のみで出力が決まる回路である。
順序回路.
順序回路は過去の内部状態と取得時の入力信号とで出力が決まる回路である。組み合わせ回路は、伝播遅延によって信号が遅れることを除けば、入力の組み合わせだけで出力が一意に決まるが、順序回路はループにより内部に状態を保持しており、過去の入力に影響されるその状態も、出力の決定に関わる。入力信号の組み合わせによっては「不定」になる場合がある（ラッチ回路#SRラッチの「不定」）。
フリップフロップ.
フリップフロップは制御信号により現在の入力信号の保持を行うものである。ラッチとも呼ばれる。論理回路ではフリップフロップと呼ぶものも、コンピュータ・システムでの回路名としては（通常は複数ビットの記憶回路を）レジスタと呼ぶ。
非同期式フリップフロップはクロック入力を持たず、その時点での入力の値に応じて出力が変化し、新たな入力信号が来るまで同じ状態を保持する。
同期式フリップフロップはクロック信号（CLK、CK等と表記）の立ち上がり（又は立ち下り）に同期してその時点での入力（D, S, J等）に対応する信号を出力する。この出力は次にクロックが立ち上がる（又は立ち下る）まで更新されない。
カウンタ.
カウンタ回路は、特定の順序で出力の組み合わせが変化し、一定の周期で元の状態に戻るもので、フリップフロップとゲートとをいくつか組み合わせたものである。
また、全ての出力状態が使用されるものと出力状態の一部のみ使用されるものの差で次の2つのグループに分類出来る。
カウンタには同期式と非同期式があり、非同期式カウンタは常に前段の結果によって次段の動作が左右されるため、多段になるほど終段の結果の確定は回路の伝播遅延による遅れが蓄積される。こうしたものは「非同期式リプルカウンタ」と呼ばれる。
多くのカウンタ回路には、加算と減算の動作選択、各段の初期値のプリセット、全段のリセットなどの機能を備えており、また、論理回路的な設計とは無関係であるが実際のICチップパッケージには多段接続時に数珠繋ぎに延長できるよう、キャリアアウト出力とキャリアイン入力と云う桁上げ出力や桁借り出力などが備わっている。
同期と非同期・他.
以上の、組合わせ回路と順序回路という分類とは別に、以下のような分類もある。
同期.
同期式では非同期式に比べて信号の遅れやレーシングといった問題に起因する動作不良が減らせる、又は根絶できるが、回路規模が大きくなるので消費電力や回路コストが増す。非同期式は単純な回路構成が採れるので低消費で回路コストも安くて済み、回路設計が最適化出来れば高速動作が可能になるが、設計マージンが小さくなる傾向があり小さなミスが動作不良に結びつく。
特に完全同期式回路は、全体で共有するクロック信号を利用して動作のタイミングをあわせる回路である(クロック同期設計)。大規模な回路で広く用いられている。設計時に大規模な回路のシミュレーションが行いやすい、製造時に全てのラッチの 1・0 が切り替わるかどうかのテストを行う試験機のプログラムを作成しやすい、といった利点がある。
非同期.
同期式に対し、別に同期信号を持たないものが非同期式で、非同期論理・非同期回路（）と言う。電気試験所のETL Mark IとMark II、富士通のFACOM 128などのリレー式計算機に採用がある。マイクロプロセッサでは、商業的に販売されてはいないがAMULETや南谷研の「TITAC」がある。
動的と静的.
DRAMのように、常に活動していなければ正常に動作しない論理回路を動的と言う。これに対し、SRAMのように、電圧の供給だけで働く論理回路を静的と言う。マイクロプロセッサのレジスタのように多くの記憶が必要な場合、素子数の点で有利な動的回路の場合があり、そういったマイクロプロセッサは動作周波数に下限があり、また、クロックを止めることができない。
論理演算に対しても、常に働く回路として論理演算をおこなうものを静的論理と言う。汎用ロジックICの多くなど、現在使われている多くの論理回路は静的である。これに対し、クロックに合わせ1クロックで1段階の論理演算を行うような方式もあり、動的論理（）と言う。電気試験所のETL Mark III・IV、パラメトロンの回路方式、トランスピュータの内部回路などに実例がある。
その他.
論理回路というよりディジタル回路としての分類になるが、以下のようなデバイスがある。
歴史.
電気による論理演算は、リレー（ことによってはソレノイドアクチュエータやモータと、スイッチ）による装置（たとえば初期の電話交換機など）があった。しかし、ブール代数は19世紀中頃に考案されていたが、当時はそれらの装置と関連付けて考えられていなかった。
ディジタル回路と論理演算の対応付けは、中嶋章が1934年頃から研究、論文としては1936-1937年に榛沢正男と発表した「継電器回路に於ける単部分路の等価変換の理論」を嚆矢とし、クロード・シャノンの1937年の研究とその発表が有名である（他にも相次いで発表されている）。後者の着想が独立かどうかは不明である。
個別部品時代もモジュール化はおこなわれていたが、1960年代に登場した汎用ロジックICにより、アナログ的な回路設計と論理設計をほぼ分離できるようになった。
小規模な場合は、論理素子記号などを使った手書きによる設計が可能であるが、大規模になると難しい。そのため、大規模な回路の設計にはハードウェア記述言語（HDL）が多用されるようになった。
1990年代後半より、試作や少量生産の場合に論理がプログラマブルな（書き換え可能な）PLDやCPLD、FPGAなどが使用されるようになった。大量生産または高性能が要求される場合はも使用される。