ディジタル回路

ディジタル回路
山梨大学 工学部 電気電子工学科
2015 年度
山梨大学 工学部 電気電子工学科
ディジタル回路
今日の講義内容
フリップフロップ (FF) の原理
RS-FF
順序回路の表現法
タイミングチャート
状態遷移表
状態表
状態遷移図
RST-FF,セット優先 RS-FF
JK-FF
マスタースレーブとエッジトリガ
D-ラッチと D-FF
T-FF
山梨大学 工学部 電気電子工学科
ディジタル回路
順序回路
記憶なし
a
組合せ論理
回路
時刻 t
A
a
組合せ論理
回路
時刻 t
1
A
2
記憶あり
a
順序回路
時刻 t
A
1
a
順序回路
時刻 t
B
2
記憶のない回路と記憶のある回路
状況に応じて異なる対応をするためには記憶が不
可欠
山梨大学 工学部 電気電子工学科
ディジタル回路
フリップフロップ (FlipFlop) とラッチ
フリップフロップ (FF) = 2 進数の記憶の原始形
態.0 と 1 の 2 状態を持ち,入力あるいはクロック
に変化がない限りその状態を保持する
FF の種類
入力レベルが変化すると直ちに出力も変化す
るタイプ (ラッチ)
RS-FF,D ラッチ
クロックパルスに同期して出力が変化するタ
イプ
RST-FF,JK-FF,D-FF,T-FF
山梨大学 工学部 電気電子工学科
ディジタル回路
フリップフロップの原理
Negative Feedback と Positive Feedback
1
1
0
0
0
1
or
0
記憶する=繰り返し思い出す= Positive Feedback
⇓
偶数個 (通常 2 個) の NOT 回路で記憶ができる
(奇数個だと発振器 (logical oscillator, ring oscillator) になる)
山梨大学 工学部 電気電子工学科
ディジタル回路
出力の 0/1 を設定するには入力端子が必要
⇓
NOT 回路の代わりに NAND を使う
⇓
S
or
R
Q
Q
セット : S を H から L に変化させると Q = H ,Q = L
リセット : R を H から L に変化させると Q = L,Q = H
山梨大学 工学部 電気電子工学科
ディジタル回路
RS フリップフロップの基本回路
NAND で作った FF (R S-FF)
S
S
Q
R
Q
Q
Q
R
入力が H になるときにリセット・セットが行われ
る RS-FF
S
S
Q
R
Q
Q
Q
R
山梨大学 工学部 電気電子工学科
ディジタル回路
タイミングチャート (timing chart)
RS-FF の動作を 波形 で表現する
S
R
Q
S = 0,R = 0 のとき Q は変化しない
S = 1,R = 0 のとき出力 Q = 1 に変化し,
その後 S = 0 に戻っても出力は変化しない
S = 0,R = 1 のとき出力 Q = 0 に変化し,
その後 R = 0 に戻っても出力は変化しない
S = 1,R = 1 は入力禁止
山梨大学 工学部 電気電子工学科
ディジタル回路
状態遷移表 (state transition table)
フリップフロップの状態遷移表
次の状態 Qn+1
現在の
状態 Qn
入力 SR
00 01 11 10
0 0 0 禁止 1
1 1 0 禁止 1
現在の状態 Qn が,入力に従って次の状態 Qn+1 に
遷移 (変化) する仕方を表にしたもの.Qn を縦軸,
SR を横軸に取ったカルノー図と思えば良い.
⇒ 論理式で書けば
Qn+1 = S + R · Qn
山梨大学 工学部 電気電子工学科
ディジタル回路
状態表 (state diagram)
フリップフロップの状態表
入力
S
0
0
1
1
出力
R Qn+1
0 Qn
1
0
1
0
1 禁止
状態の変化を真理値表の形で書く.次の出力 Qn+1
の欄に現在の出力 Qn が現れる.
山梨大学 工学部 電気電子工学科
ディジタル回路
状態遷移図 (state transition diagram)
状態の変化を 図 で表現する
00 / 0
00 / 1
入力/出力
01 / 0
Q n+ 1
=1
Q n+ 1
= 0
10 / 1
01 / 0
状態を円で表す
山梨大学 工学部 電気電子工学科
10 / 1
状態遷移を矢印で表す
ディジタル回路
( 問)
次のような状態遷移表で表される順序回路があると
する.これを,状態表および状態遷移図で表せ.
次の状態 Qn+1
現在の
状態 Qn
山梨大学 工学部 電気電子工学科
入力 SR
00 01 11 10
0 0 0 1 1
1 1 0 0 1
ディジタル回路
RS-FF の応用 : チャタリング防止回路
E
人間は1回だけスイッチ
を押したつもりでも
実際は何度もオン・オフ
している
E
R
t
E
S
Q
R
Q
R
R
山梨大学 工学部 電気電子工学科
FFを通せば1回押したもの
が記憶される
ディジタル回路
RS-FF の応用 : パワーオンリセット回路
電源を入れたとき FF の出力 Q が 0 になるか 1 に
なるかは分からない ⇒ どちらかに決まるようにし
た方が安全
⇓
パワーオンリセット回路
S
E
Q
R
Q
R
C
コンデンサが充電されるまではLレベル
なので必ずリセットされる
山梨大学 工学部 電気電子工学科
ディジタル回路
同期形 RS-FF (RST-FF)
コンピュータ内部の動作はクロックパルスに同期し
て変化する
⇓
RS-FF の出力もクロックに同期した方が良い
⇓
同期形 RS-FF or RST-FF
S
S
Q
T
S
T
クロック
パルス
R
Q
R
Q
R
T が1のときだけ信号
を通すスイッチ
山梨大学 工学部 電気電子工学科
ディジタル回路
セット優先 RS-FF
RS-FF に S = 1,R = 1 を入力すると出力は不定
⇓
どちらかに決まるようにした方が安全
⇓
セット優先 RS-FF
S
S
Q
T
Q
R
R
S=R=1のとき強制的に
R=1にする
山梨大学 工学部 電気電子工学科
ディジタル回路
逆にリセットを優先するには
⇓
リセット優先 RS-FF
S
S
Q
T
Q
R
R
S=R=1のとき強制的に
S=1にする
山梨大学 工学部 電気電子工学科
ディジタル回路
( 問)
1
セット優先 RS-FF の状態遷移表を書け
2
セット優先 RS-FF の状態表を書け
3
セット優先 RS-FF の状態遷移図を描け
山梨大学 工学部 電気電子工学科
ディジタル回路
JK フリップフロップ
RS-FF は S = R = 1 のとき出力が不定になる
⇓
S = R = 1 のときも出力を定義しておきたい
⇓
S = R = 1 にセットやリセットの機能を割り
当てるとセット (リセット) 優先 RS-FF
⇓
S = R = 1 に 出力の反転 (0 → 1,1 → 0) を
割り当てる
⇓
JK フリップフロップ (JK-FF)
山梨大学 工学部 電気電子工学科
ディジタル回路
JK-FF の状態表
クロック
入力
出力
動作
CK
1
1
1
1
0
Jn Kn Qn+1
0 0
Qn
記憶
0 1
0
リセット
1 0
1
セット
1 1
Qn
トグル (反転)
* *
Qn
記憶
J がセット,K がリセットの働きをする
J = K = 1 のときは出力を反転させる
クロックが 0 の間は何もしない
山梨大学 工学部 電気電子工学科
ディジタル回路
S
J
Q
CK
J
CK
クロック
パルス
K
Q
K
Q
R
出力の反転
J=K=CK=1のとき
は出力を反転する
JK-FF の基本回路 (ゲート形 JK-FF)
山梨大学 工学部 電気電子工学科
ディジタル回路
レーシングと発振
CK
J
K
Q
現実の出力
望ましい出力1
望ましい出力2
CK = 1 のとき J や K が変化すると出力 Q は直
ちに変化するが,本来はクロックの変化に揃って変
化することが望ましい
山梨大学 工学部 電気電子工学科
ディジタル回路
CK = 1 のとき J や K の変化が直ちに出力に現れ
ると
ゲート形 JK-FF を多段接続したとき,クロッ
クに同期せずに次々と JK-FF の出力が変化し
てしまう ( レーシング,racing )
CK = J = K = 1 の状態が長く続くと出力
が 発振状態 になる
山梨大学 工学部 電気電子工学科
ディジタル回路
状態変化のタイミング
レーシングや発振の対策
マスタースレーブ形 (master-slave type)
入力の変化をマスター
FFが受け取る
master FF
J
J
Q
CK
K
CK
K
Q1
スレーブFFはCKの
立下りに出力する
slave FF
J
Q
Q
CK
CK
Q
K
CK
Q
Q
J
Q1
CK
山梨大学 工学部 電気電子工学科
Q
ディジタル回路
エッジトリガ形 (edge trigger type)
トリガーを生成
する回路
ゲート形JK-FF
J
J1
J
Q
Q
J
CK
K
K
CK
Q
Q
J1
J1
CK
ネガティブエッジトリガ
Q
ポジティブエッジトリガ
他方,エッジトリガ形でない FF は,CK の信号レ
ベル(0 or 1)に従って出力が変化するので,レベ
ルトリガ形(level trigger type)と呼ぶ.
山梨大学 工学部 電気電子工学科
ディジタル回路
JK-FF の記号
J
Q
CK
K
J
Q
J
CK
Q
マスター
スレーブ
K
CK
Q
ポジティブ
エッジトリガ
K
ディジタル回路
Q
ネガティブ
エッジトリガ
三角形 → エッジトリガ
丸印 → ネガティブ
山梨大学 工学部 電気電子工学科
Q
D フリップフロップと D ラッチ
D ラッチ
D G Qn+1
0 0 Qn
0 1
0
1 0 Qn
1
1 1
D
Q
G
Q
ゲート G が 0 のときは状態保持,ゲート G が 1 の
ときは入力 D の値がそのまま出力 Q に現れる
山梨大学 工学部 電気電子工学科
ディジタル回路
D フリップフロップ
D
CK
Qn+1
0 エッジ以外 Qn
0
0
エッジ
1 エッジ以外 Qn
1
エッジ
1
D
Q
CK Q
ポジティブ
エッジトリガ
D
Q
CK Q
ネガティブ
エッジトリガ
クロック CK がエッジ以外のときは状態保持,ク
ロック CK がエッジのときは入力 D の値が出力
Q に現れる
山梨大学 工学部 電気電子工学科
ディジタル回路
T フリップフロップ
T フリップフロップ
Q
T
Qn+1
エッジ以外 Qn
エッジ
Qn
T
Q
T
Q
ポジティブ
エッジトリガ
Q
ネガティブ
エッジトリガ
入力 T がエッジ以外のときは状態保持,入力 T が
エッジのときは出力反転
山梨大学 工学部 電気電子工学科
ディジタル回路
FF の相互変換
JK-FF や D-FF を用いて T-FF を作ることができる
(逆はできない)
1
D
Q
Q
T
T
CK Q
Q
Q
J
T
CK
K
Q
(問) JK-FF を用いて D-FF を作るにはどうしたら良
いか?
山梨大学 工学部 電気電子工学科
ディジタル回路