SRフリップフロップ(エスアールフリップフロップ)とは | 意味や読み方など丁寧でわかりやすい用語解説
SRフリップフロップ(エスアールフリップフロップ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
SRフリップフロップ (エスアールフリップフロップ)
英語表記
SR Flip-Flop (エスアールフリップフロップ)
用語解説
SRフリップフロップは、デジタル回路における最も基本的な記憶素子の一つである。1ビットの情報を一時的に保持する能力を持ち、コンピュータのメモリや制御回路など、デジタルシステムの中核をなす要素として広く利用される。その名称は、二つの主要な入力端子「セット (Set)」と「リセット (Reset)」に由来する。セット入力がアクティブになると出力は「1」の状態になり、リセット入力がアクティブになると出力は「0」の状態になる。この特性により、特定の条件に基づいて回路の状態を「セット」または「リセット」することが可能となる。クロック信号に同期して動作するタイプのフリップフロップであり、システムのタイミングを正確に制御するために不可欠な役割を果たす。単純ながらも、デジタルシステムの動作原理を理解する上で非常に重要な概念である。
SRフリップフロップの動作を詳細に見ていく。まず、フリップフロップが「ラッチ」と区別される点として、クロック入力を持つことが挙げられる。SRラッチは入力信号の変化に即座に反応する非同期素子だが、SRフリップフロップはクロック信号が特定の状態(通常は立ち上がりエッジまたは立ち下がりエッジ)になったときにのみ、入力信号を受け入れて出力状態を更新する同期素子である。これにより、システム全体の動作タイミングを厳密に同期させることができ、安定した回路動作を実現する。
SRフリップフロップは、通常、NANDゲートまたはNORゲートを相互接続した形で構成される。NANDゲートを用いた構成の場合、セット入力(S)とリセット入力(R)は通常アクティブLOW、つまり論理「0」で有効になる。一方、NORゲートを用いた構成の場合、SとRはアクティブHIGH、つまり論理「1」で有効になる。ここでは、アクティブHIGHのSとR入力を持つNORゲートによる構成を例に、その動作原理を解説する。
この構成では、クロック入力(CLK)、セット入力(S)、リセット入力(R)があり、それぞれが内部のゲートを制御する。出力はQと、その反転であるQバー(Qの補数)の二つがある。
主な動作モードは以下の通りである。
-
記憶保持モード (S=0, R=0): クロックがアクティブなときに、S入力とR入力が両方とも「0」の場合、フリップフロップの現在の状態は変化しない。つまり、前のQの状態がそのまま保持される。これは、SもRもアクティブでないため、セットもリセットも行われないためである。デジタルシステムにおいて、一度設定された状態を意図的に変更されるまで維持する、という基本的な記憶機能をこのモードが担う。
-
セットモード (S=1, R=0): クロックがアクティブなときに、S入力が「1」でR入力が「0」の場合、フリップフロップは「セット」される。これにより、出力Qは「1」となり、Qバーは「0」となる。この状態は、回路に特定の条件が満たされた際に「フラグを立てる」ような状況で用いられる。
-
リセットモード (S=0, R=1): クロックがアクティブなときに、S入力が「0」でR入力が「1」の場合、フリップフロップは「リセット」される。これにより、出力Qは「0」となり、Qバーは「1」となる。これは、セットモードとは逆に、特定の条件が解消された際に「フラグをクリアする」ような状況で用いられる。
-
禁止状態 (S=1, R=1): クロックがアクティブなときに、S入力とR入力が両方とも「1」の場合、これは「禁止状態」または「不定状態」と呼ばれる。NORゲートを用いた構成の場合、この入力によってQとQバーの両方が「0」になる。本来、QとQバーは互いに反転した値であるべきため、この状態は論理的に矛盾している。さらに問題なのは、この状態からSとRが同時に「0」に戻った場合、QとQバーのどちらが「1」になるか、あるいはどちらが「0」になるか、その最終的な状態が予測できないことである。これは、ゲートの物理的な特性(伝播遅延など)のわずかな差によって決まるため、非常に不安定であり、デジタル回路の設計においては意図的に避けるべき状態とされる。この禁止状態の存在が、より信頼性の高いフリップフロップであるJKフリップフロップやDフリップフロップが開発される動機の一つとなった。
SRフリップフロップは、その単純な構造と動作原理から、デジタル回路の基礎を学ぶ上で非常に重要である。禁止状態の問題点があるものの、チャタリング防止回路(スイッチのオン/オフ時の不規則な信号を安定化させる回路)など、SとRが同時にアクティブになる状況が確実に回避できる用途では、依然として利用されることがある。しかし、一般的なシーケンシャル回路やデータ記憶においては、禁止状態の危険性を回避し、より予測可能な動作をするDフリップフロップやJKフリップフロップが好んで用いられる。SRフリップフロップを理解することは、これら発展的な記憶素子の動作原理を理解するための第一歩となる。