応用情報技術者 2014年 秋期 午前2 問20
問題文
図の論理回路において、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型SRラッチ【午前2解説】
正解の理由
この回路はANDの出力を反転している(=NAND)ゲートが上下で相互にフィードバックした典型的なNAND型SRラッチです。NANDラッチの出力は
、
で与えられます。設問の初期条件 S=1, R=1, X=0, Y=1 は上の式に一致します。ここで S を一時的に 0 にすると上段出力は
となり、これが下段へ伝播して
と変化します。S を再び1に戻しても Y=0 のままでは
が維持されます。したがって操作後の出力は X=1, Y=0 であり、選択肢の ウ が正解です。
解法ステップ
- 回路の論理式を把握する。NAND型なので各出力は 、。
- 初期状態の整合性確認: 、 — 初期条件と一致。
- S を 1→0 に変化させた瞬間:
- 上段: となる(X が 0→1 に遷移)。
- これが下段へ伝わると下段:(Y が 1→0 に遷移)。
- S を 0→1 に戻した後:
- (X は 1 のまま)。
- (Y は 0 のまま)。
- 結果:X=1, Y=0(ウ)。
選択肢別の誤答解説
- ア: X=0, Y=0
どちらも0になるには上・下いずれも すなわち内部ANDが1になる必要がありますが、与えられた入力パルス操作では達成されません。特にNANDでは入力の0(能動)で出力が1になる点を誤認するとこの答えを選びやすいです。 - イ: X=0, Y=1
これは初期状態のまま変化がない場合に相当しますが、S を一時的に0にしたことで必ずXが1に遷移するため成り立ちません。 - ウ: X=1, Y=0
上記のステップ通り、Sのロー=能動でセット動作が起こり、この組合せが得られます(正解)。 - エ: X=1, Y=1
両方1になるのはS=R=0のような両入力が能動になった禁止(不定)状態で生じるケースと混同しやすいですが、今回の操作ではその禁止状態は発生していません。
よくある誤解
- NANDラッチをNORラッチと混同する。NOR型は入力が1で能動(S=1でセット)だが、NAND型は入力が0で能動(能動低)である点を取り違える。
- 図中のインバータやバブルの解釈ミス。ANDのあとに反転がある=NANDであるため、入力の“0”が出力を1にする能動低であることを見落としやすい。
- 禁止状態の取り違え。NAND型での禁止(両入力が同時に能動)は S=R=0 であり、S=R=1 は保持(ホールド)状態である。
補足コラム
NAND型SRラッチの基本表(S,Rは入力、QはXと対応):
- S=1, R=1 → 保持(前状態を保持)
- S=0, R=1 → Q=1(セット、能動低のためS=0でセット)
- S=1, R=0 → Q=0(リセット)
- S=0, R=0 → 禁止(両出力が1になり、入力解除後に不定動作や競合が生じる可能性)
簡易シミュレーション(参考、Python):
def nand(a,b): return 0 if (a and b) else 1
# 初期
S,R,X,Y = 1,1,0,1
# S を一旦 0 にする
S = 0
X = nand(S, Y)
Y = nand(R, X)
# S を 1 に戻す
S = 1
X = nand(S, Y)
Y = nand(R, X)
print(X,Y) # 1 0
FAQ
Q. NANDとNORのSRラッチ、どちらを使うかの目安は?
A. 入力信号の能動極性(高有効か低有効か)や既存回路の論理レベルに合わせて選びます。電気的インターフェースや設計の慣習でどちらかが有利になることがあります。
A. 入力信号の能動極性(高有効か低有効か)や既存回路の論理レベルに合わせて選びます。電気的インターフェースや設計の慣習でどちらかが有利になることがあります。
Q. 禁止状態(両入力能動)になったらどうなる?
A. 出力が同一論理(多くは1,1)になり、入力を解除した後にどちらが優勢になるか競合して不定な最終状態になるため避けるべきです。設計では禁止状態が発生しないよう入力条件を管理します。
A. 出力が同一論理(多くは1,1)になり、入力を解除した後にどちらが優勢になるか競合して不定な最終状態になるため避けるべきです。設計では禁止状態が発生しないよう入力条件を管理します。
Q. 「能動低(active low)」はどう判断する?
A. 入力が0のときに作用(セット/リセット)する場合を能動低と呼びます。図中にバブル(反転)があるか、真理式を立てて確認すると判断できます。
A. 入力が0のときに作用(セット/リセット)する場合を能動低と呼びます。図中にバブル(反転)があるか、真理式を立てて確認すると判断できます。
関連キーワード: SRラッチ、NANDラッチ、能動低、禁止状態、フィードバック回路

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

