マイクラで論理回路(ろんりかいろ)を学ぼう(第9回)

投稿者: | 2022/01/07

Learning logic circuits by Minecraft (part 9).

前回に続き、マイクラで論理回路(ろんりかいろ)を学ぼう、の第 9回目です。今回は、フリップフロップという面白い回路を勉強しましょう。

組み合わせ(くみあわせ)回路と順序(じゅんじょ)回路

いきなり難しい言葉が出てきましたが、頑張りましょう。

今回のシリーズで、これまで出てきた論理回路は、全て「組み合わせ(論理)回路」というものでした。論理回路には、入力信号(0 や 1 の信号が入ってくるところ)と出力信号(出て行くところ)があります。前回までに真理値表(しんりちひょう)というものも習いました。真理値表は、すべての入力の組み合わせに対して、出力がどうなりますよ、ということを、表にまとめたものです。

組み合わせ回路では、入力の組み合わせが決まると、出力が必ず決まります。例えば AND(アンド)回路では、入力信号の全てが 1 であれば、出力は必ず 1 になります。そうでないときは、出力は必ず 0 になります。

ところが、今回紹介する順序(論理)回路では、入力が決まっても、出力が決まらない(分からない)ことがあるのです!

順序回路の考え方を正しく説明するには、高校生くらいの数学の勉強が必要になってきますので、今回は、「SR フリップフロップ回路は、順序回路の一つなんだ。入力が同じでも、出力がいつも同じとは限らないんだ」ということだけ、覚えて貰えばだいじょうぶです。

SR フリップフロップ

SR(エスアール)フリップフロップは、略して SR-FF(エスアール・エフエフ)と呼ぶこともあります。

余談: フリップフロップという用語以外に「ラッチ」という用語もありますが、厳密に区別するのは難しいので、ここでは全てフリップフロップという言葉に統一します。

フリップフロップ(flip-flop)とは、英語で「とんぼ返り」「宙返り」といった意味だそうです。パタン、パタンとひっくり返るもの、といったところでしょうか。あるいは、公園にある遊具のシーソー(ぎったん・ばっこん)をイメージして貰えば分かりやすいと思います。

SR フリップフロップの SR とは、Set(セット), Reset(リセット)の略です。「セット(S)」と「リセット(R)」という 2つの入力信号があり、それらに真(しん)あるいは 1 を入力するたびに、回路をセットしたりリセットしたりすることができます。一度セットしたり、リセットしたりした SR フリップフロップは、S と R がいずれも偽(ぎ)あるいは 0 のときは、回路の「状態」が変化せず、ずっと同じ状態を保ち続ける働きがあります。

ちょっと難しいですね。図を書いて説明しましょう。

タイミング図について

組み合わせ回路のタイミング図

以下で示す図は、タイミング図(timing diagram)と呼ばれるものです。時間が経つに連れて、論理回路の信号がどのように変化するのかを示すものです。

まずは、AND 回路を使ってタイミング図を見方を学びましょう。AND 回路は、こんな記号で表す基本的な論理回路でした。

入力 A と B に 0 や 1 を入れたときに、出力 X がどのように変化するかを示してみましょう。

この入力は、このように入力しなくてはいけない、という意味ではなく、もしこのように入力したら、という意味だと考えてください。図の横軸は時間になっていて、左から右に時間が進んでいきます。

図の左端では、入力の A と B がいずれも 0 であることを示しています。(図では、0 のときは低い線、1 のときに高い線になります。)

AND 回路では、このような入力のとき、出力が 0 になることを習いましたね。ですので、この部分は正しい図になっています。

さて、縦線一つ分だけ右を見てください。時間が少し進んで、入力 A が 1 になりました。ここでも、出力 X は 0 のままです。さらに一つ時間が進んで入力 B も 1 になりました。そうすると、AND 回路の決まりにより、出力 X は 1 になります。 最後に、もう一つ時間が進んで入力 A が 0 になると、出力 X は 0 になります。

なお、組み合わせ回路では入力が決まれば出力が決まるので、実は、このようなタイミング図がなくても、真理値表だけで回路を理解することができます。ところが、SR フリップフロップでは、そうはいかないのです!

SR フリップフロップのタイミング図

SR フリップフロップは、回路図では次のような記号で表します。

S(セット)と R(リセット)が入力で、出力は一般に Q と Q バー(上線)で表します。Q バーは、通常は Q の NOT になるので、使わなければ書く必要はありません。今回も、Q バーは使いません。

SR フリップフロップのタイミング図の例を示します。

これも左側から見ていきます。

最初に、出力 Q の波形に斜線が引かれていますが、これは「不定(ふてい)」という意味です。つまり、0 でも 1 でも良い、あるいは、0 か 1 か分からない、という意味です。

時間が一つ進んで、S が 1 になりました。S はセットの信号なので、ここで Q がセットされて 1 になります。Q がもともと 1 だった場合は、ここでは Q は変化しません。

さらに時間が一つ進んで、S が 0 になりました。S も R も 0 のときには、SR フリップフロップの状態に変化がなく、前の状態が続きます。

さらに時間が一つ進んで、今度は R が 1 になりました。R はリセットの信号なので、ここで Q はリセットされて 0 になります。

次に、R が 0 になりますが、ここでも Q の状態は変わりません。

さらに時間が進んで、もう一度 S が 1 になりました。すると、ここでも Q は 1 に変化します。

さて、皆さん、ここまで分かりましたでしょうか?

SR フリップフロップが順序回路だよ、という意味

さて。ここまで読んで頂いて、ふーん、組み合わせ回路と順序回路と何が違うの? と思われた方もあるでしょう。それでは、説明しましょう。

SR フリップフロップの、上のタイミング図をもう一度見てください。左から 3マス目のところで、S と R がどちらも 0 になっている部分がありますね。このとき、Q は 1 になっています。もう少し右の 6マス目のところでも、S と R がどちらも 0 である部分がありますが、このときは Q は 0 になっています。

これが、SR フリップフロップが組み合わせ回路ではなく、順序回路だというポイントなのです。つまり、入力の組み合わせが同じでも、あるときは Q が 1 であり、あるときは Q が 0 なので、簡単な真理値表では SR フリップフロップを書き表せない、ということなのです!

ところで、SR フリップフロップでは S と R を同時に 1 にしてはいけません。回路が壊れてしまう、ということはないのですが、SR フリップフロップでは、S と R を同時に 1 にすることを「組み合わせ禁止」(違反した使い方)としています。つまり、そのような使い方をした場合、「Q と Q バーがどうなるかは知らないからね。たまたま、ある動きをするかも知れないけど、いつもそうなるとは限らないからね」ということになります。

最後に、SR フリップフロップは記憶回路の一種です。記憶回路というのは、以前のことを覚えていることのできる回路のことです。よく、パソコンやスマートフォンの話で、RAM(メモリ)が何ギガバイト、というようなことを言いますが、この「RAM」というのは記憶回路で作られています。正確には少し違うのですが、パソコンにメモリが 1ギガバイトあるとき、1バイトはフリップフロップ 8つ(8ビットと言います)で作れるので、そのパソコンにはフリップフロップが 8,000,000,000(80億)個入っている、ということになります。フリップフロップは、電子回路の中で大活躍しているのです!

マイクラで SR フリップフロップを作ってみよう

さて、お待たせしました。Minecraft(マイクラ)のレッドストーン回路で SR フリップフロップを作ってみましょう。

下のビデオを見てもらったほうが楽しいと思うのですが、少しだけ、技術的なことを説明しておきましょう。

ポイントの一つ目は、レッドストーンリピーターを使い、その出力を入力に戻してあげると(これを、技術の世界ではフィードバック、あるいは難しい日本語で「帰還」といいます)、その回路は S フリップフロップ(R なし)になります。

ポイントの二つ目は、この回路に R(リセット)端子を用意するために、以前に説明した「レッドストーンコンパレーターの基本回路」が使えるということです。この「基本回路」は、入力 A が 1 で、入力 B が 0 のときだけ、出力が 1 になります。これをどうやって使うと SR フリップフロップを作れるのでしょう? この辺は、ぜひ、ビデオを見ながら皆さんも考えてみてくださいね。

今日はここまで!  次回からは、さらに別のフリップフロップである、D フリップフロップ、T フリップフロップという回路を勉強していきたいと思います。なお、以下の YouTube チャネルに御登録頂くと、新しい教材が公開された際にすぐ御覧頂けます。よろしくお願いいたします!

お問い合わせはお気軽に!

お問い合わせを頂いた後、継続して営業活動をしたり、ニュースレター等をお送りしたりすることはございません。
御返答は 24時間以内(営業時間中)とさせて頂いております。もし返答が届かない場合、何らかの事情でメールが不達となっている可能性がございます。大変お手数ですが、別のメールアドレス等で督促頂けますと幸いです。

このページが更新されたらメール通知を受け取ります