【問題13】 SR-FFのタイムチャート完全マスター! 電子回路ドリル II(15)

情報を保持できる「フリップフロップ」。“出力された信号を入力に返す”ところが、これまで紹介してきた組み合わせ回路と異なります。

» 2008年04月24日 00時00分 公開
[横田一弘 埼玉県立新座総合技術高等学校 教諭,@IT MONOist]

【問題12】の解答

 前回の宿題【問題12】は、回路を基に「タイムチャート」を作成するという問題でした。

 皆さん解けましたでしょうか?

 解けた方も解けなかった方も答え合わせをして、次項の解説までぜひ読んでみてください。毎週コツコツ問題を解いて、デジタル回路の基礎知識を身に付けましょう。

 それでは、解答を発表します!


問題12

答え.

答え


【問題12】の解説

 【問題12】の回路は「フリップフロップ(Flip Flop:以下、FF)」と呼ばれるもので、情報を保持(記憶)できます。

 図1の赤線青線で示したように“出力された信号を入力に返す”、すなわち信号がフィードバック(帰還)するところが、いままで紹介した組み合わせ回路と異なる点です。

FFの回路構成とフィードバック 図1 FFの回路構成とフィードバック

 まずは、この回路の動作を調べてみましょう。

A=“0”、B=“0”の場合

 NANDは「1つでも“0”が入力されると結果が“1”になるもの」です。従って、図2のようにフィードバックされる値にかかわらずXは“1”、Yは“1”になります。

FFの状態(A=“0”、B=“0”の場合) 図2 FFの状態(A=“0”、B=“0”の場合)

A=“0”、B=“1”の場合

 図3のようにAが“0”なので、Xは“1”です。また、Bは“1”なので、YはG1からフィードバックされる値によります。つまり、G2は“0”ではなく“1”が入力されますので、Yは“0”になります。

FFの状態(A=“0”、B=“1”の場合) 図3 FFの状態(A=“0”、B=“1”の場合)

A=“1”、B=“0”の場合

 Aが“1”なので、XはG2からフィードバックされる値によります。一方、Bは“0”なので、Yは“1”となります。つまり、G1には“1”がフィードバックされるので、Xは“0”です(図4)。

FFの状態(A=“1”、B=“0”の場合) 図4 FFの状態(A=“1”、B=“0”の場合)

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は変化しません。

FFの状態(A=“1”、B=“1”で、X=“0”、Y=“1”の場合) 図5 FFの状態(A=“1”、B=“1”で、X=“0”、Y=“1”の場合)
  • X=“1”、Y=“0”がフィードバックされる場合

 G1に“0”がフィードバックされ、Xは“1”になります。また、G2には“1”がフィードバックされ、Yは“0”になります(図6)。すなわち、XとYは変化しません。

FFの状態(A=“1”、B=“1”で、X=“1”、Y=“0”の場合) 図6 FFの状態(A=“1”、B=“1”で、X=“1”、Y=“0”の場合)

 以上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の次の値を表します。

表1

 この結果から、【問題12】の回路のタイムチャートは図7のようになります。

FFのタイムチャート 図7 FFのタイムチャート

次回までの宿題 ― 【問題13】

問題13

次のSR-FFのタイムチャートを作ってください

問題13

答え. 解答はこちら(←クリック)



Copyright © ITmedia, Inc. All Rights Reserved.