応用情報技術者 2009年 秋期 午前2 問23
問題文
図の論理回路において、S=1, R=1, X=0, Y=1のとき、Sをいったん0にした後、再び1に戻した。この操作を行った後のX, Yの値はどれか。

選択肢
ア:X=0, Y=0
イ:X=0, Y=1
ウ:X=1, Y=0(正解)
エ:X=1, Y=1
🔒 解説は解答すると表示されます
NANDラッチの状態遷移【午前2解説】
正解の理由
図中の小さな円(バブル)はNANDの出力側の表示であり、X,Yは各NANDゲートの出力(表示点)です。したがって各出力は次の論理関係を満たします。
、。
初期条件 S=1, R=1, X=0, Y=1 はこれらの式に整合します(,)。
ここで S を一時的に 0 にすると上側NANDは入力に 0 を含むためその出力は 1 になり、下側NANDはその 1 を受けて出力が 0 になります。S を再び 1 に戻しても下側からのフィードバックが 0 であるため上側は 1 を維持します。従って最終的に となり、選択肢の ウ が当てはまります。
、。
初期条件 S=1, R=1, X=0, Y=1 はこれらの式に整合します(,)。
ここで S を一時的に 0 にすると上側NANDは入力に 0 を含むためその出力は 1 になり、下側NANDはその 1 を受けて出力が 0 になります。S を再び 1 に戻しても下側からのフィードバックが 0 であるため上側は 1 を維持します。従って最終的に となり、選択肢の ウ が当てはまります。
解法ステップ
- 図のノード定義を明確にする:X,Y は各NANDゲートの出力(表示点)であり、各ゲートの出力式は 、 とする。
- 初期状態の確認(S=1,R=1):
- 、 (初期値と一致)
- S を 0 にする瞬間の出力更新(Rは1のまま):
- 上側:
- その結果、下側:
- S を再び 1 に戻す:
- 上側:
- 下側:
- よって最終的に (ウ)。
選択肢別の誤答解説
- ア: X=0, Y=0
→ S を 0 にした時点で上側NANDの出力は 1 になり、下側が 0 となるため X が 0 のまま両方とも 0 となることは起こらない。 - イ: X=0, Y=1
→ この組は初期状態には一致するが、S を 0 にして戻す操作を行うと状態は変化する(セット動作が働く)。 - ウ: X=1, Y=0
→ 前節の手順どおり S を 0 にした後に 1 に戻すと保持される状態で、正しい。 - エ: X=1, Y=1
→ 両方とも 1 となるには S または R のどちらかが 0 になり、それに引き続くフィードバックで相手側も 1 になる必要があるが、今回の操作(S を 0 にして戻す)では到達しない。
よくある誤解
- 「図中の小さな円は別のインバータ」だと誤認すること。実際はNANDの出力バブル(出力が反転していることの表記)であり、X,YはNAND出力として扱う必要があります。
- NANDラッチの入力は“アクティブロー”(0が有効)であると見落とすと、S=0 の効果を逆に解釈してしまいます。
- フィードバックの向き(どのノードがどこに戻されているか)を混同すると誤答になります。図で接続先を正確にたどってください。
補足コラム
NANDによるSRラッチは入力がアクティブローです。操作のまとめ:
- S=0, R=1 → 「セット」動作(例えば X が 1、Y が 0 になる方向に遷移)
- S=1, R=0 → 「リセット」動作(逆方向に遷移)
- S=1, R=1 → 保持(前の状態を保持)
- S=0, R=0 → 禁止状態(同時に 0 にすると不定・競合が生じる)
回路図では出力ラベルがどの論理点(ゲート出力か、インバータ出力か)に付いているかを必ず確認することが重要です。
FAQ
Q1. なぜ出力式を のように書くのですか?
A1. 図のゲートはNANDなので出力は入力の論理積に否定をかけた形、すなわち NAND の標準式 になります。フィードバック先が Y(相手出力)なのでそのまま の否定です。
A1. 図のゲートはNANDなので出力は入力の論理積に否定をかけた形、すなわち NAND の標準式 になります。フィードバック先が Y(相手出力)なのでそのまま の否定です。
Q2. S を短く 0 にしただけで記憶が書き換わるのはなぜですか?
A2. NANDラッチは入力が 0 のとき強制的に対応側のNAND出力を 1 にし、その値はフィードバックで相手出力を0にするため、短いパルスでもラッチ状態が変化(セットまたはリセット)します。
A2. NANDラッチは入力が 0 のとき強制的に対応側のNAND出力を 1 にし、その値はフィードバックで相手出力を0にするため、短いパルスでもラッチ状態が変化(セットまたはリセット)します。
Q3. 両方の入力を0にするとどうなる?
A3. 両方0は禁止状態であり、戻したときにどちらが1/0になるか不定(競合・不安定)です。解答・設計ではこの状態を避けます。
A3. 両方0は禁止状態であり、戻したときにどちらが1/0になるか不定(競合・不安定)です。解答・設計ではこの状態を避けます。
関連キーワード: ラッチ回路、NANDラッチ、アクティブロー、状態遷移、フィードバック制御

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

