こんにちは!くるです!
今回はフリップフロップの1つ「RSフリップフロップ」について分かりやすく解説していきます。
RSフリップフロップの概要
まずは、簡単にRSフリップフロップについて説明していきます。
RSフリップフロップとは、「Set」を表す$S$と「Reset」を表す$R$の2種類の入力を持ち、「$Q$」と「$\bar{Q}$」の2種類の出力を持つ回路です。
SetとResetの頭文字を取って、RSフリップフロップと呼ばれています。
「Set」は次の状態$Q$を「1」に、「Reset」は次の状態$Q$を「0」にする役割があります。
文字通り、「セット」と「リセット」を繰り返す回路で、ON・OFFのあるスイッチみたいなものだと思えばいいでしょう。
具体的に見ていきましょう。

真理値表
まずは、RSフリップフロップの真理値表です。
RSフリップフロップは次のような真理値表となっています。

➀から順番に意味を解説していきます。

➀ $S=0, R=0$のとき
$S=0, R=0$のときは、「セット」も「リセット」起こりません。つまり、現在の状態をそのまま保持し続けるわけです。
② $S=0, R=1$のとき
$S=0, R=1$のときは「リセット」だけが起こります。つまり、次の状態$Q_{次}$を「0」にするということです。
現在の状態が$Q_{現}$が「0」なら、次の状態$Q_{次}$も「0」
現在の状態が$Q_{現}$が「1」なら、リセットされて、次の状態$Q_{次}$は「0」
③ $S=1, R=0$のとき
$S=0, R=1$のときは「セット」だけが起こります。つまり、次の状態$Q_{次}$を「1」にするということです。
現在の状態が$Q_{現}$が「0」なら、セットされて、次の状態$Q_{次}$は「1」
現在の状態が$Q_{現}$が「1」なら、次の状態$Q_{次}$も「1」
④ $S=1, R=1$のとき
$S=1, R=1$のときは「セット」と「リセット」の両方が起こると思うかもしれませんが、実は、この入力パターンは「禁止」されているのです。
なぜ、禁止されているのかというと、簡単に言えば、「不安定な状態になるから」です。
詳しくはこちらの記事で分かりやすく解説したので、ぜひご覧ください。
真理値表(簡単ver)
最初に見せた真理値表は少し無駄な部分があるため、次のような真理値表が主に使われています。

保持は「現在の状態を保持する」という意味です。どちらの真理値表も意味的には同じものです。
回路図
RSフリップフロップの回路図は2種類あります。
まず、1つ目がNORを使った回路図です。

もう1つがNANDを使った回路図です。

今回はNORを使った回路図だけを説明します。
回路図を読み解く
この回路図が本当に真理値表通りのものなのかを確かめてみましょう。

➀ $S=0, R=0$のとき
まず、現状態$Q$が「0」であると考えると、各値は次の図のようになります。

NANDは「2つの入力が共に0のときのみ1を出力する回路」です。
このとき、この図の状態から各値が変化することはありません。つまり「現状態が保持される」のです。
これは、現状態$Q$が「1」のときでも同じことが言えます。


$S=0, R=0$のときは真理値表通りの動きをするってことっすね~
$S=0, R=1$のとき
現状態$Q$が「0」であると考えると、各値は次の図のようになります。

図を見ればわかる通り、現状態$Q$が「0」のときは、状態が保持されます。しかし、現状態$Q$が「1」のときは「Reset」するために、各値が変化します。
値の変化を動画で見てみましょう。音は出ないので安心してください。
そして、この後は、ずっと現状態$Q$が「0」のままです。
つまり、$S=0, R=1$のときは、「現状態$Q$を「0」にする=「Reset」する」ように動いていることが分かります。

$S=0, R=1$のときも真理値表通りの動きをしていますね。
$S=1, R=0$のとき
現状態$Q$が「0」のときは、現状態を「1」に「Set」するため、各値は以下のような動き方をします。
そして、この後はずっと現状態$Q$が「1」のままです。
また、現状態$Q$が「0」のときは、以下のように、状態が保持されます。

全ての場合において、真理値表と等しいことが分かりました!

タイムチャート
RSフリップフロップを立ち上がりエッジトリガ方式で動かしたときのタイムチャートは次のようになります。

実際に1つずつ目で追って確かめてみてください。
タイムチャートについては、また詳しく解説した記事を書こうと思いますので、乞うご期待!
今回はここまで!
フリップフロップについて簡単に説明した記事もあるので、気になる方はぜひ読んで見てください!
お疲れ様でした!

現在の状態が$Q_{現}$が「0」なら、次の状態$Q_{次}$も「0」
現在の状態が$Q_{現}$が「1」なら、次の状態$Q_{次}$も「1」