第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸 RS-FF ⇒ Dラッチ ⇒ D-FF タイミング図を読み書きできるようにする 瀬戸
Dラッチ (D-FFの構成部品)とその構造 D: Delayed (遅れる) ラッチ(latch, ドア固定用金具) 入力 D : 記憶したいデータ(1ビット) 入力 CLK : クロック(clock)(記憶のタイミングを指示) 出力 Q : 保持されたデータ 入力 制御部 SR-FF そのまま 出力 R D Q CLK Q S
Dラッチの特徴 R D Q CLK Q S SR-FFでは、S = 1 , R = 1 は禁止 (意味無し) だった CLK= 0 のとき: R= 0 , S= 0 (直前の出力 を保持) CLK= 1 のとき: R= D , S= D (Q に D をスルー) 入力 制御部 SR-FF そのまま 出力 R D Q CLK Q S
Dラッチのタイミング図 CLK D Q CLK= 1 のとき、 D をそのまま Q に出す ( スルー ) CLK= 0 のとき、 CLK 立下り↓ 直前の Q を 保持する スルー 保持 スルー 保持 スルー 保持 CLK D Q CLK (G) D Q Dラッチ 回路図記号 Q 不定 Qは,Qの反転なので,省略
D-FFの内部構造: Dラッチの組合せ D Q CLK Q QM Q D Q D Q D Q CLK CLK CLK Q D-FF: 最もよく使用されるFF Dラッチを 2段,カスケード状に接続 「スレーブ」は「マスタ」が保持した データを言われるがまま保持し、出力 D Q CLK Q QM D Q D Q Q D マスタ スレーブ CLK Q CLK CLK Q
タイミング図によるD-FFの動作理解 QM D Q D Q Q D CLK CLK CLK CLK Q Q CLK CLK D QM Q マスタ スレーブ CLK CLK CLK CLK Q Q スレーブ CLK 保持 スルー 保持 スルー 保持 スルー 保持 スルー 保持 マスタ CLK スルー 保持 スルー 保持 スルー 保持 スルー 保持 スルー D QM 1クロック周期 の間,値を保持 Q 不定 1クロック周期 の間,一定
D-FF (CLK信号のエッジ(端)で動作する) CLKの 立上り (↑)時点のDを取り込み,Qに出力する 出力Qは,クロックの立上りと 同期 して変化すると表現 スレーブ CLK スルー 保持 スルー 保持 スルー 保持 スルー 保持 マスタ CLK 保持 スルー 保持 スルー 保持 スルー 保持 スルー D QM Q クロック周期 不定 D-FF (CLK信号のエッジ(端)で動作する)
D-FFが実現できた! (復習) 入力 出力 1ビットのデータを保持するための回路 フリップ フロップ (FF) CLKが 0から1 に D ディジタル回路なので、入出力は当然 L または H 入力 出力 記憶 したい信号 D フリップ フロップ (FF) 記憶 された信号 Q 記憶する タイミング を 指示する信号 CLK CLKが 0から1 に 変化する瞬間 (立上り)の、 Dを記憶 (CLK=シャッターボタン) D CLK 保持 保持 Q 保持
ポジティブエッジD-FFのタイミング図 CLK D Q 不定 結局、D-FFのタイミング図は簡単!
ネガティブエッジD-FFのタイミング図 (参考) CLK D Q 不定 ポジティブエッジもネガティブエッジも,考え方は全く同じ。 今後,D-FFはポジティブエッジ動作のものを考える
D-FFの回路図記号 (CLK入力) D Q CLK Q D Q CLK Q クロック入力CLKに,三角が付いている CLKの立上り
クロック(clock,CLK,CK)信号とは? デジタル回路への号令 D-FFに値の保持を指示する,共通の信号 (ピッ,ピッ) 通常, LとHに,周期的に,切り替わる クロック周期 T [s] クロック周波数 f [Hz] 一秒間の立上りの回数 パソコン のCPUは、3GHz = 1秒間に3×109Hz D Q CLK D Q CLK D Q CLK [Hz] T(クロック周期) [s] CLK 通常,立上り(または立下り)のみが動作に意味を持つ
D-FFに正しく保持するための条件 ts th D Q CLK CLK D 入力Dは,次の制約条件を守る必要がある (出発時間) セットアップ制約 ts [s]より前に、Dが安定すること ホールド制約 th [s]より後に、Dが変化すること 通常、th=0s ts th D Q CLK CLK 制約違反の場合、 Qは不定となる (0, 1どちらかだ が,観測しないと 分からない) D
D-FFの入力に,制約違反が起こると... 出力Qが 不定(0かもしれないし1かもしれない) となる 制約を違反しないように,注意する ts th D Q CLK 違反! CLK D 不定 Q
リセット入力 (CLRという名前の信号を持つことが多い) リセット入力の機能 CLR=1 : 出力Qを、 0 にする リセットの方式には,2種類ある 非同期リセット : クロックと関係なく0にする (下図 左 ) 同期リセット : クロックに同期して0にする (下図 右 ) CLR D Q CLK CLK CLK CLR CLR Q 不定 Q 不定 クロックに関係なく機能する入力信号を,非同期入力と呼ぶ
D-FFの ポイント CLK D Q 出力Qの値は、最低、1クロック周期 T の間、固定(保持)される Dラッチと異なり,入力 D から出力 Q へスルーすることは無い 保持される値は、クロック立上り時点の値 他のときは、通せんぼ する クロックの立上り直後にあわせて、出力Qが変化 クロックに出力 Qの値は 同期 して変化 CLK D T Q 不定 T T T
JK-FF (Jack と King が Queen を取り合うFF) D-FFと同じようなもの (機能が少し多い) 入力J, K, CLK、 出力 Q, Q クロックの立下りで動作することが多い D-FF,T-FFとしても使える J Q CLK K Q 回路図記号 J K Qn+1 Qn 1 J Q J Q 保持 K Q K Q トグル(反転) 動作 D-FF 真理値表 (立下り↓時の動作) T-FF (トグルFF)
JK-FFのタイムチャート CLK J K Q 不定 時間 1 トグル 保持
4ビット レジスタ: 2進数を保持する回路 D Q D Q D Q D Q q3 d3 q2 d2 d1 q1 q0 d0 CLK 4ビット レジスタ: 2進数を保持する回路 中身は単純: D-FF の寄せ集め 4ビット入力 D (d3, d2, d1, d0) 4ビット出力 Q (q3, q2, q1, q0) すべてのD-FFで,クロックは共通 符号無し2進数なら 0 ~ 15 まで保持 符号付き2進数(2の補数表現)なら -8 ~ 7 まで保持 d3 D Q q3 d2 D Q q2 4 4 D D Q Q CLK d1 D Q q1 d0 D Q q0 CLK
4ビットレジスタのタイムチャート CLK D 5 2 8 3 4 1 Q 5 8 4 不定 時間
イネーブル(Enable)付きレジスタ イネーブル信号 EN 保持するとき,EN=1とする EN=0のとき,Dは無視される EN D Q D D Q CLK D 1 D CLK Q EN Q 不定 電源オン
まとめ D-FF: 1ビットを保持する,重要部品 Dラッチを2つ接続し,構成 クロック信号(clock): ディジタル回路への号令 レジスタ