【問題13】 SR-FFのタイムチャート:完全マスター! 電子回路ドリル II(15)
情報を保持できる「フリップフロップ」。“出力された信号を入力に返す”ところが、これまで紹介してきた組み合わせ回路と異なります。
【問題12】の解答
前回の宿題【問題12】は、回路を基に「タイムチャート」を作成するという問題でした。
皆さん解けましたでしょうか?
解けた方も解けなかった方も答え合わせをして、次項の解説までぜひ読んでみてください。毎週コツコツ問題を解いて、デジタル回路の基礎知識を身に付けましょう。
それでは、解答を発表します!
【問題12】の解説
【問題12】の回路は「フリップフロップ(Flip Flop:以下、FF)」と呼ばれるもので、情報を保持(記憶)できます。
図1の赤線と青線で示したように“出力された信号を入力に返す”、すなわち信号がフィードバック(帰還)するところが、いままで紹介した組み合わせ回路と異なる点です。
まずは、この回路の動作を調べてみましょう。
A=“0”、B=“0”の場合
NANDは「1つでも“0”が入力されると結果が“1”になるもの」です。従って、図2のようにフィードバックされる値にかかわらずXは“1”、Yは“1”になります。
A=“0”、B=“1”の場合
図3のようにAが“0”なので、Xは“1”です。また、Bは“1”なので、YはG1からフィードバックされる値によります。つまり、G2は“0”ではなく“1”が入力されますので、Yは“0”になります。
A=“1”、B=“0”の場合
Aが“1”なので、XはG2からフィードバックされる値によります。一方、Bは“0”なので、Yは“1”となります。つまり、G1には“1”がフィードバックされるので、Xは“0”です(図4)。
A=“1”、B=“1”の場合
Aが“1”なので、XはG2からフィードバックされる値によります。また、Bも“1”なので、YはG1からフィードバックされる値によります。
以上のことから、XとYはフィードバックされる値によることが分かります。それでは、フィードバックされる値が「X=“0”、Y=“1”」「X=“1”、Y=“0”」「X=“0”、Y=“0”(X=“1”、Y=“1”)」の場合について、詳しく見ていきましょう。
- X=“0”、Y=“1”がフィードバックされる場合
G1に“1”がフィードバックされ、Xは“0”になります。また、G2には“0”がフィードバックされ、Yは“1”になります(図5)。すなわち、XとYは変化しません。
- X=“1”、Y=“0”がフィードバックされる場合
G1に“0”がフィードバックされ、Xは“1”になります。また、G2には“1”がフィードバックされ、Yは“0”になります(図6)。すなわち、XとYは変化しません。
以上2つのケースでは、XとYの値は変化せずに“以前の値が保たれます”。このようなFFの動作を“保持”といいます。
- X=“0”、Y=“0”(またはX=“1”、Y=“1”)がフィードバックされた場合
この場合、『困ったこと』が起こります。
G1に“0”がフィードバックされ、Xは“1”になります。また、G2にも“0”がフィードバックされ、Yは“1”になります。
すると、今度はG1に“1”がフィードバックされ、Xは“0”になります。また、G2にも“1”がフィードバックされ、Yは“0”になります。
以上の状態を繰り返し、XとYの値は定まりません。
実際には、G1とG2の応答速度が微妙に異なるため、Xが“0”でYが“1”もしくはXが“1”でYが“0”で落ち着きますが、XとYの値は定かではないのです。
こうした理由から、FFの2つの出力は同じ値を取ってはいけない(禁止)ことになっています。
以上、ここまで解説(検証)した内容がFFの動作となります。
“FFの動作は直前の回路の状態によるところがある”ので真理値表で表現することができません。そこで、FFの動作を表現するために表1のような状態表を用います。ちなみに、Xt+1はXtの次の値を、Yt+1はYtの次の値を表します。
この結果から、【問題12】の回路のタイムチャートは図7のようになります。
次回までの宿題 ― 【問題13】
Copyright © ITmedia, Inc. All Rights Reserved.