D型フリップフロップを用いて下図のような回路を組む。図中のD型フリップフロップでは、クロック (CLK) のポジティブ・エッジ (0から1へ変化する) をタイミングとして、入力Dが出力Qに設定され、その値は次のポジティブ・エッジのタイミングまで保持される。出力Qは常にQの否定を出力する。初期状態で
(Q0, Q1, Q2) = (0, 0, 0) である場合、クロックが立ち上がるごとの出力 (Q0, Q1, Q2) の変化として正しいものはどれか。ただし、各選択肢は初期状態以降の出力の変化を示している。
@ (1,0,0) → (0,1,0) → (1,1,0) → (0,0,1) → (1,0,1) → (0,1,1) → (1,1,1) → ...
A (0,0,1) → (0,1,0) → (0,1,1) → (1,0,0) → (1,0,1) → (1,1,0) → (1,1,1) → ...
B (1,1,1) → (0,0,1) → (1,0,1) → (0,1,0) → (1,1,0) → (0,0,0) → (1,0,0) → ...
C (0,1,1) → (1,0,1) → (0,0,1) → (1,1,0) → (0,1,0) → (1,0,0) → (0,0,0) → ...
D (1,1,1) → (0,1,1) → (1,0,1) → (0,0,1) → (1,1,0) → (0,1,0) → (1,0,0) → ...
B
【Q0について】
ポジティブ・エッジのタイミングで、Dの値が (Q0)n になり、これが出力 (Q0)n+1に設定される。
つまり
(Q0)n+1 = (Q0)n であるから
(Q0)1 = 1、 (Q0)2 = 0、(Q0)3 = 1、と、1と0が交互に入れ替わる。
【Q1について】
(Q1)n+1 = (Q0)n XOR (Q1)n であるから、
(Q1)n+1 = NOT ((Q0)n XOR (Q1)n) となる。
従って、
(Q1)1 = NOT ((Q0)0 XOR (Q1)0) = NOT ( 0 XOR 0 ) = 1
(Q1)2 = NOT ((Q0)1 XOR (Q1)1) = NOT ( 1 XOR 0 ) = 0
(Q1)3 = NOT ((Q0)2 XOR (Q1)2) = NOT ( 0 XOR 1 ) = 0
この時点で、答えはBと判る。
【Q2について】
(Q2)n+1 = (((Q1)n XOR (Q2)n) AND (Q0)n) OR ((Q0)n AND (Q2)n) より
(Q2)n+1 = NOT((((Q1)n XOR (Q2)n) AND (Q0)n) OR ((Q0)n AND (Q2)n))
(Q2)1 = NOT((((Q1)0 XOR (Q2)0) AND (Q0)0 ) OR ((Q0)0 AND (Q2)0))
= NOT(((0 XOR 0) AND 0) OR (1 AND 0))
= NOT((0 AND 0) OR (1 AND 0))
= NOT(0 OR 0) = 1
(Q2)2 = NOT((((Q1)1 XOR (Q2)1 ) AND (Q0)1 ) OR ((Q0)1 AND (Q2)1))
= NOT(((0 XOR 0) AND 1) OR (0 AND 0))
= NOT((0 AND 1) OR (0 AND 0))
= NOT(0 OR 0) = 1
W−9 | 目次 | W−11 |