Transcript H→L

ディジタル回路 第7回
フリップフロップ
テキスト第5章
情報工学科
天野英晴
最も簡単な記憶回路
H
Q
L
Q
Q
L
セットの状態
Q
H
リセットの状態
一度その状態になったら保持し続ける
このままだと切り替える手段がない→ 切り替え用の入力を付けよう
RSラッチ(SRラッチ)
S=L
Q=H
S=H
Q=L
R=H
Q=L
Q=H
R=L
S=Lでセットにする(Q=H)
R=Lでリセットにする(Q=L)
強制的にセット、リセットさせる端子を付ける
RSラッチ(SRラッチ)
S=H
Q
Q
R=H
NANDは片方の入力がH
ならばNOTと同じ
H
状態を保持
Q
L
Q
Q
L
以前セットであればセット
Q
H
以前リセットであればリセット
RSラッチの動作
S
R
Q
ここはLかHか
決まらない
すでにセットされているので
無意味
禁止状態
S=L
Q=H
Q=H
R=L
セット、リセット両方の働きが重なると
Q,Q 共にHになる
H
Q
Q
H
両方Hは本来有り得ない
→禁止状態と呼ばれる
しかし使うのが禁止されている
わけではない
少しでも長くLになった方が
勝つ→ 判定回路などに使う
チャタリング防止回路
スイッチを倒したときにバウンドする
→ チャタリング
Q=L
Q
バウンド
しても大丈夫
Q=H
Q
RSラッチは使いにくい
→データの記憶の形に:Dラッチ
D
Q
Q
D
G
G
G=Hの時 NANDはNOTと同じ
D=H
L
Q=H
H
D=L
H
L
D=HのときQ=H
D=LのときQ=L
つまり、Q=D
Q=L
Dラッチによるデータの保存
D
Q
G
G=Lの時 NANDの出力は常にH
H
H
G=Hの時のDの値を保持する
Q:以前の状態を保持
Dラッチの動作
D
G
Q=D
Q
Q=D
ここはLかHか
決まらない
Q=D
Dラッチは目、G=Hは見たものをそのまま出す
G=Lの時は最後に見たものを覚えておく
Q=D
DラッチのCMOS回路
G
D
Q
G
G
Q
G
G=L
G
D
Q
G=H
G=H
Q
D
G
G
Q
G=L
G=Hの時Q=D
Q
G
G=Lの時データ保持
トランスペアレントラッチ
入力データが通過
入力データを記憶
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
D Q
G
G=H
G=L
フリップフロップ(Flip Flop)
• RSラッチもDラッチもレベル動作
– 入力レベルによって記憶操作を行う
• フリップフロップはエッジ動作
– クロック入力の変化に応じて記憶操作を行う
– 状態遷移を行うためにはエッジ動作が必要
– 記憶素子のほとんどはエッジ動作→同期回路
• 言葉の意味
– 広義のフリップフロップ
• 1ビットの記憶素子全般を指す
– 狭義のフリップフロップ
• エッジ動作のものに限定
• レベル動作のものをラッチと呼んで区別する
D-Flip Flop
Q
Q
D
D
クロック入力
立上りでD入力を記憶して
Qから出力
クロック入力
立下りでD入力を記憶して
Qから出力
D-Flip Flopの動作
D
クロック
Q
ここはLかHか
決まらない
D-Flip Flopはカメラ
ClockがL→Hに変化した瞬間シャッターを切って記録
演習1
D
クロック
/G
Dラッチ
のQ
D-F.F.
のQ
D-ラッチ、D-F.F.の出力Qを示せ。初期値はLとする
D-Flip Flopの中身
D
Q
Q
Clock
D
Q
D
Clock
Q
G
マスタ
S Q
R
スレーブ
マスタスレーブ型と呼ばれる(動作的には主人と奴隷ではないが、、)
マスタースレーブ型の動作
D
S Q
Q
D
Clock
H
R
Q
G
L
マスタは保持しているデータを出力
スレーブはスルーして
新しいデータを入れる
D
S Q
Q
D
Clock
L
R
Q
G
スレーブの入力は切れて記憶保持
H
ClockがH→Lでデータはマスタを
スルーして出力
Clockの立下り(H→L)で反応するフリップフロップ
CMOSのマスタスレーブ型フリップフロップの動作
CK
CK
Q
D
CK
CK
CK
CK
CK=Hの時
CK
CK
スレーブはスルーして
新しいデータを入れる
CK
マスタは保持しているデータを出力
CK
Q
D
CK=Lの時
CK
CK
CK
スレーブの入力は切れて記憶保持
CK
CK
CK マスタはスルーでスレーブの値を出力
Clockの立下り(H→L)で反応するフリップフロップ
D-F.F.の応用回路:シフトレジスタ
Qa
Qb
Q
D
D
Qc
Q
D
Qd
Q
D
Q
D
Clock
各D-FFは変化前を記憶する→1クロック遅れる
Clock
D
サンプル
Qa
変化前を記憶
Qb
Qc
Qd
シリアルパラレル変換に利用可能
D-F.F.の応用回路:ジョンソンカウンタ
Qa
Qb
Q
D
Clock
Qc
Q
D
Qd
Q
D
Q
D
Q
Qdまで1が届くと今度は0が入る→満ちたるが極まればすなわち欠ける。
陰が極まれば陽に転ず
Clock
Qa
Qb
Qc
Qd
簡単でビット距離が1のカウンタ→コントローラに使う
Clear、Preset端子
PR
D
CLR
Q
CLR : F.F.をクロックと関係なしにリセット
RSラッチのR端子
PR : F.F.をクロックと関係なしにセット
RSラッチのS端子
クロックに同期しないでセット、リセットが可能
初期化には便利
リセットのみを持つF.F.は標準的に使われる
J.K F.F. J
J
Q
K Q
Clock
J
K
Q
Jはセット
Kはリセットの働き
しかしクロックの
エッジで変化する
K
CK
Q
L H
L
H L
H
L L
前の状態を保持
H H
前の状態と反転
=トグルモード
同期カウンタ
J
Q
K Q
Qa
J
Q Qb
K Q
J
Q Qc
K Q
J
Q
K Q
Clock
Clock
Qa
Qb
Qc
Qd
自分より前の桁がすべて‘1’ならば反転する→数をかぞえる
Qd
非同期カウンタ
Qa
立下りで
反転
J
Q
K Q
Qb
J
Q
K Q
Clock
Clock
Qa
Qb
Qc
Qd
自分より前の桁がクロックに入る
〇簡単 ×出力にずれが生じる
Qc
J
Q
K Q
J
Q
K Q
Qd
T-F.F.
JK-F.F.のJとKを
繋いだもの
T
J
T
CK
Q
Q
T Q
L
前の状態を保持
K Q
Q
H
前の状態と反転
=トグルモード
J
JK-F.F.はT-F.F.とD-F.F.
を兼ねている→かつてJK-F.F.が
重んじられた理由
JとKを反転して
繋ぐとD-F.F.となる
D
J
Q
K Q
Q
D
しかし、最近はD-F.F.で全てを
構成する方法が主流
⇔ HDLによる設計法とマッチする
Enable付きD-F.F.
D Q
0
D
Y
1S
Q
D Q
D
D Q
D Q
EI
D Q
EI=Hの時だけD入力から
データを記憶
EI=Lではデータを保持
D Q
EI
EI
CLK
EI=Hの時だけ
クロックの立上りに
同期してデータを
格納
現在のRTLはこの
形のレジスタが基本
演習2
• タイミング図を描け
Y
Din
D Q
Q
Clock
Clock
Din
Qa
Qb
Y
Qa
Qb
D Q
Q
Qa、Qbの初期値はLとせよ