D型フリップフロップを用いて下図のような同期型3ビットアップカウンタを構成する。図中のD型フリップフロップでは、クロック (CLK) のポジティブ・エッジ
(0から1へ変化する) をタイミングとして、入力Dが出力Qに設定され、その値は次のポジティブ・エッジのタイミングまで保持される。出力Qは常にQの否定を出力する。初期状態で
(Q2, Q1, Q0) = (0, 0, 0) である場合、クロックが立ち上がるごとの出力 (Q2, Q1, Q0) の変化として、最も適切なものはどれか。ただし、各選択肢は初期状態以降の出力の変化を示している。
@ (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) → (1,1,0) → (1,0,1) → (1,0,0) → (0,1,1) → (0,1,0) → (0,0,1) → ...
A
【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)1 = (Q0)0 XOR (Q1)0 = 0 XOR 0 = 0
(Q1)2 = (Q0)1 XOR (Q1)1 = 1 XOR 0 = 1
(Q1)3 = (Q0)2 XOR (Q1)2 = 0 XOR 1 = 1
この時点で、答えはAと判る。
【Q2について】
(Q2)n+1 = (((Q1)n XOR (Q2)n) AND (Q0)n) OR ((Q0)n AND (Q2)n) より
(Q2)1 = (((Q1)0 XOR (Q2)0) AND (Q0)0 ) OR ((Q0)0 AND (Q2)0)
= ((0 XOR 0) AND 0) OR (1 AND 0)
= (0 AND 0) OR (1 AND 0)
= 0 OR 0 = 0
(Q2)2 = (((Q1)1 XOR (Q2)1 ) AND (Q0)1 ) OR ((Q0)1 AND (Q2)1)
= ((0 XOR 0) AND 1) OR (0 AND 0)
= (0 AND 1) OR (0 AND 0)
= 0 OR 0 = 0
V−8 | 目次 | V−10 |