FE EXAM

Dフリップフロップ(Data ラッチ)

クロックの立ち上がりで入力Dの値をそのまま記憶するフリップフロップ。

INTERACTIVE VISUALIZATION
入力 D
クロック
出力 Q
動作
idle
入力 D
0
クロック
出力 Q
0
シナリオ
ステップ1 / 7
STEP 1/7DフリップフロップとはDフリップフロップは、クロック(=一定間隔で0と1を繰り返す信号)の合図に合わせて、入力Dの値をそのまま記憶する回路です。データ(Data)の頭文字をとってD型と呼びます。横軸は時間で、上段がD、中段がクロック、下段が出力Qのタイムチャートです。
DCLKQt0t1t2t3t4t510
特性表(クロック立ち上がり時の D → Q)
入力 D次の出力 Q動作
00D=0 を取り込む
11D=1 を取り込む
Q = D (クロックの立ち上がりエッジで更新)
解説

📌
Dフリップフロップとは

D-FFDCLKQ

Dフリップフロップとは、クロック(=一定間隔で0と1を繰り返す合図の信号)のタイミングで、入力Dの値をそのまま記憶する回路のことです。データ(Data)の頭文字をとってD型と呼びます。

身近な例で考えると、カメラのシャッターに似ています。シャッターが切れた瞬間(クロックの合図)の景色(D)だけが写真(Q)として記録され、その後に景色が変わっても写真はそのまま残ります。合図のタイミングだけ値を写し取るのがポイントです。

上のツールで▶ボタンを押すと、Dを変えてもクロックの立ち上がりが来るまでQが変わらず、立ち上がりの瞬間にDの値がQへコピーされる流れをタイムチャートで確認できます。

⏱️
クロックエッジでラッチ

取り込み取り込みCLK

Dフリップフロップが値を取り込むのは、クロックの「エッジ(端)」の瞬間だけです。エッジとは信号が切り替わる瞬間のことで、特に0から1へ変わる瞬間を立ち上がりエッジと呼びます(多くのD型はこのタイミングで動きます)。

動作の流れは次のとおりです。
立ち上がりを待つ:その間にDが変わってもQは反応しない
立ち上がりの瞬間:そのときのDの値をQにコピー(ラッチ=かんぬきで固定)
次の立ち上がりまで保持:Qは取り込んだ値を覚え続ける

このように「Q = D(クロックエッジで更新)」という関係が成り立ちます。決まったタイミングでだけ値を取り込むので、たくさんの回路の足並みをそろえて動かすことができます。上のツールで、立ち上がりの区間だけQが更新される様子を確認してください。

🗄️
用途(レジスタ等)

D-FFD-FFD-FFD-FF4ビットのレジスタ(4個並べる)

Dフリップフロップは入力が1本(D)だけで値をそのまま記憶できるシンプルさから、コンピュータの中で「データを覚えておく」あらゆる場面で使われます。

代表的な用途は次のとおりです。
レジスタ:D-FFを複数個横に並べると、数ビットのデータをまとめて保持できる記憶素子(=レジスタ)になる
シフトレジスタ:D-FFを数珠つなぎにすると、クロックごとに値を隣へ送れる
タイミング合わせ:信号をクロックにそろえて取り込み、回路全体の歩調をそろえる

たとえば8ビットのデータを覚えるレジスタは、D-FFを8個横に並べ、同じクロックで一斉に取り込ませて作ります。CPUの内部にあるレジスタも、もとをたどればこのD-FFの集まりです。地味な部品ですが、コンピュータの記憶を支える土台になっています。

練習問題

🎯
基本情報技術者 練習問題

Q1.Dフリップフロップが入力Dの値を取り込むのはどのタイミングか。
A.D の値が変化した瞬間(クロックに関係なく即座に)
B.クロックの立ち上がり(または立ち下がり)エッジの瞬間
C.電源を入れた瞬間に1回だけ
D.常にD=Qが成り立つように毎瞬間取り込む
Q2.クロックの立ち上がりの瞬間に D=1 だった。このときの出力 Q はどうなるか。
A.Q=0 になる
B.Q=1 になる
C.直前の Q を反転する
D.不定になる
Q3.Dフリップフロップの主な用途として最も適切なものはどれか。
A.2つの数の足し算を行う加算器
B.1ビットのデータを記憶するレジスタの構成要素
C.電圧を増幅するアンプ
D.信号の周波数を測る装置

関連コンテンツ