今回は平成26年度 機械科目 B問題18を解説します。JK-フリップフロップ(FF1,FF2,FF3)と論理回路Dを用いた非同期式カウンタ回路について、論理回路Dの種類とカウンタの最大数・リセット後の値を求める(a)と、タイムチャート上のグリッチと伝搬遅れを読み解く(b)の問題です。
(a)はJKフリップフロップがJ=K=1でトグル動作すること、論理回路Dが特定の状態でリセット信号を出すNANDゲートであることから、カウンタの最大数と初期化後の値を求めます。(b)はFF2・FF3の出力とNAND回路の出力の変化を順にたどり、伝搬遅れによってタイムチャート上に時間差が生じる仕組みを理解します。
平成26年度 機械科目 B問題18:問題文と選択肢
まずは、実際の試験問題を確認してみましょう。

電験3種 機械科目 【情報】 平成26年度 B問題18
図はJK-フリップフロップ(FF1,FF2,FF3)と論理回路Dを用いた非同期式カウンタ回路とそのタイムチャートである。次の(a)及び(b)の問に答えよ。
(a) カウンタ回路における論理回路Dは,(ア)回路で,その役割は出力(CBA)が2進数でカウンタの最大数(イ)になった後,次のクロック入力の立ち下がりによって出力(CBA)を2進数で(ウ)にすることである。上記の記述中の空白箇所(ア),(イ)及び(ウ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。
(b) タイムチャートにおいて,クロック入力のパルス6の立ち下がりでFF1のQ出力は1から0へ変化する。FF1の立ち下がりはFF2を動作させ,0から1に変化させる。図のa時点でFF2及びFF3のQ出力はともに(ア)である。これら二つの(ア)は論理回路Dに入力され,その出力は(イ)となる。この(イ)は三つのJK-フリップフロップのCLR入力端子に入って,b時点において,クリアされている。a時点からb時点までのFF2のQに現われるパルスは,パルス幅が非常に狭いため,カウンタの出力(ア)としてはカウントされない。カウンタは再びカウントを開始する。クロック入力のパルス6が1から0に変化する時刻と,FF2及びFF3が最終的にb時点でクリアされる時刻とには時間遅れが生じている。これは論理回路Dとフリップフロップの入出力における信号の(ウ)遅れに起因している。上記の記述中の空白箇所(ア),(イ)及び(ウ)に当てはまる組合せとして,正しいものを次の(1)〜(5)のうちから一つ選べ。
(ア) (イ) (ウ) (1) NOR 101 000 (2) NOR 110 111 (3) NAND 110 111 (4) NAND 110 000 (5) NAND 101 000
(ア) (イ) (ウ) (1) 1 0 伝搬 (2) 0 1 伝搬 (3) 1 1 伝搬 (4) 0 1 同期 (5) 1 0 同期

出題のポイント:6進カウントとNANDリセット

FF1、FF2、FF3はJ=K=1で動作し、A、B、Cを出力する3段の非同期式カウンタです。FF2とFF3の出力B、Cがともに1になると、2入力NAND回路Dの出力が0となり、アクティブLowのCLRによって全段が000へ戻ります。安定な計数状態と、ごく短い過渡状態を分けて読み取ることが重要です。
ポイント解説:a点からb点までの伝搬遅れ

JKフリップフロップはJ=1,K=1のときクロックの立ち下がりで出力が反転(トグル)します。3段を直列(リップル)接続すると2進カウンタになりますが、特定の値でリセットをかけると任意のカウント数のカウンタを作れます。
リセット用の論理回路Dは、カウンタが最大数に達したときの出力パターンでちょうど0を出力するNANDゲートとして設計されるのが典型的です。(b)ではこのリセット動作が伝搬遅れを伴って生じる様子をタイムチャートから読み取ります。
問題の解説:状態遷移とa点・b点を照合

STEP1 (a)(ア)論理回路Dの種類を判定する
JKフリップフロップはJ=K=1でトグル動作。3段のカウンタが特定の値に達したときにNANDゲートの2入力がともに1となり,出力が0になってリセットがかかる構成なので,論理回路DはNAND回路(ア)です。
STEP2 (a)(イ)カウンタの最大数を求める
NAND回路の入力にFF2とFF3のQ出力が使われる構成から,(CBA)2=(110)2になった時点でNAND出力が0になりリセットがかかります。よってカウンタの最大数は101(イ)。
STEP3 (a)(ウ)リセット後の値を求める
次のクロックの立ち下がりでリセット信号が働き,出力(CBA)は000(ウ)に戻ります。
以上より(ア)NAND(イ)101(ウ)000の組合せである(5)が(a)の正解です。
STEP4 (b) a時点・b時点の信号を追跡する
a時点でFF2,FF3のQ出力はともに1(ア)。これがNAND回路(論理回路D)に入力されると,その出力は0(イ)になります。
このNAND出力0が全FFのCLR端子に入り,b時点でクリアされます。この動作の遅れは論理回路とFFの入出力に生じる信号の伝搬遅れ(ウ)によるものです。
以上より(ア)1(イ)0(ウ)伝搬の組合せである(1)が(b)の正解です。
答え:(a)-(5),(b)-(1)
💡 覚え方
非同期リップルカウンタは各FFのQ出力が次段FFのCLK入力となる直列接続。特定のカウント値でNAND出力が0になりCLR端子へ戻ることで任意の数を数えるカウンタになる。信号の遅れは伝搬遅れと呼ぶ。
⚠️ よくある間違い
論理回路DをNORと取り違えない(両入力が1のとき出力0になるのはNAND)。カウンタの最大数(イ)とリセット後の値(ウ)を混同しない(最大数に達した「次」にリセットされて000に戻る)。
まとめ
| (a)(ア) 論理回路D | NAND |
| (a)(イ) 最大数 | 101 |
| (a)(ウ) リセット後 | 000 |
| (b)(ア) | 1 |
| (b)(イ) | 0 |
| (b)(ウ) 遅れの種類 | 伝搬 |
| 答え | (a)-(5),(b)-(1) |
▼あわせて解きたい関連問題
・n個の配列を降順に並べ替えるフローチャートと交換回数:【機械】令和2年度B問題18
・チャタリング防止回路とJK-FFカウンタのJ入力値トレース:【機械】平成18年度B問題18

コメント