順序回路の実現

ディジタル回路
6. 順序回路の実現
五島 正裕
DATE
:
ディジタル回路
順序回路の復習
2
ディジタル回路
組み合わせ回路 と 順序回路
 組み合わせ回路 (combinational circuit)
 無記憶
 現在の入力 ⇒ 出力
 ex)
 0…000…0 ⇒ 0
 0…010…0 ⇒ 0
 順序回路 (sequential circuit)
 記憶
 入力の履歴 ⇒ 出力
 ex)
 0…000…0 ⇒ 0
 0…010…0 ⇒ 1
3
ディジタル回路
順序回路の例
Q
 自動販売機
 使える硬貨は100円のみ
 200円の商品1種のみ
● 100円が 2個投入されると,商品を送り出す
 その順序機械:
 入力 x:100円が投入されると,1サイクルの間だけ 1
 出力 z:1 のとき,商品が送り出される
4
ディジタル回路
順序回路の例
x
0
1
0
1
0
0
0
1
1
0
z
0
0
0
1
0
0
0
0
1
0
time
clock
x
z
5
ディジタル回路
状態機械 (State Machine) の表現
time
0/0
x
0
1
0
1
0
0
0
1
1
0
S
S0
S0
S1
S1
S0
S0
S0
S0
S1
S0
z
0
0
0
1
0
0
0
0
1
0
1/0
S(t +1), z
S(t)
S0
x=0
x=1
S0
S0, 0
S1, 0
S1
S1, 0
S0, 1
S1
1/1
0/0
x/z
状態遷移図
(state diagram)
状態遷移表
(state transition table)
6
記憶素子の例
 D-FF(フリップ・フロップ)
 データ入力: d
 データ出力: q
 「d に入力した値が,次のサイクルに q から出力される」
d
q
clk
ディジタル回路
ディジタル回路
状態割り当て
 状態 S0 と S1
 (たとえば)D-FF 1個で表現
 状態割り当て:D-FF の出力 q
 S0 : q = 0
 S1 : q = 1
 D-FF の入力 d
 次状態を S0 にしたいなら d = 0 に
 次状態を S1 にしたいなら d = 1 に
8
ディジタル回路
次状態関数 と 出力関数
S(t+1), z
S(t)
x=0
x=1
S0
S0, 0
S1, 0
S1
S1, 0
S0, 1
状態遷移表
S0 : q = 0
S1 : q = 1
d
z
q
q
x=0
x=1
0
0
1
1
1
0
次状態関数
(next state function)
の真理値表
x=0
x=1
0
0
0
1
0
1
出力関数
(output function)
の真理値表
9
ディジタル回路
順序回路の構成
d
x
q
z
clock
time
q
0
0
1
1
0
0
0
0
1
0
x
0
1
0
1
0
0
0
1
1
0
d
0
1
1
0
0
0
0
1
0
0
z
0
0
0
1
0
0
0
0
1
0
10
ディジタル回路
記憶素子
11
ディジタル回路
記憶素子 の 原理
 記憶
 ループのある回路の安定状態
 ループのある回路
 安定
 不安定(発振)
1
不安定(発振)
リング発振器
0
安定
記憶素子の基礎
 フリップ・フロップ (flip-flop : FF)
 2個の NOT からなるループ
 2つの安定状態
 1bit を記憶
1
0
0
1
ディジタル回路
記憶素子の基礎
 SR-ラッチ (Set/Reset-latch)
 S でセット,R でリセット
 ※ 普通は,両方とも ON にはしない
s’
q
q’
r’
S’R’-latch
s
q’
q
r
SR-latch
ディジタル回路
ディジタル回路
SR-ラッチ の動作
s
q
r
入力変化
0
1
0
0
0
r
0
0
0
1
0
q
0
1
1
0
0
入力変化
安定状態
状態遷移
s
入力変化
安定状態
状態遷移
状態遷移
15
ディジタル回路
SR-ラッチ の動作
s
q
r
入力変化
0
1
0
0
0
r
0
0
0
1
0
q
0
1
1
0
0
入力変化
安定状態
状態遷移
s
入力変化
安定状態
状態遷移
状態遷移
16
ディジタル回路
D ラッチの実現例 その1
en = 0
d
q
d
q
en = 1
17
ディジタル回路
D ラッチの実現例 その2
dq
00
01
11
10
0
0
1
1
0
1
0
0
1
1
q
d
g
g
q
d
g
18
ディジタル回路
同期式 / 非同期式 順序回路
19
ディジタル回路
非同期式/同期式 順序回路
 非同期式 (Asynchronous)
 入力の変化
time
入力
 ⇒ 状態遷移
状態
time
 同期式 (synchronous)
 クロック (clock) 入力の変化
 ⇒ 状態遷移
clock
入力
状態
ディジタル回路
非同期式/同期式 順序回路
x
入力
出力
組み合わせ
回路
Y
入力
組み合わせ
回路
出力
y
遅延要素
記憶素子
クロック
非同期式
y = f (x, Y)
y = f (x, y)
同期式
記憶素子 ⊂ 非同期式回路
21
ディジタル回路
非同期式/同期式 順序回路
 非同期式回路
 設計がより難しい
 ex) 入力が同時に 2つ変わると,実際上 設計不能
 本質的に非同期的な部分には不可欠
 ex) 同期式回路の記憶素子自体
 同期式回路
 設計がより容易
 「非同期な部分を記憶素子部に閉じ込めた」
22
ディジタル回路
エッジ・トリガ
23
同期式順序回路の例
q
D
d
clock
 記憶素子:
 クロックが「入った」とき,
q=d
ディジタル回路
ディジタル回路
ポジティブ・エッジ・トリガ D-FF
d
q
time
clock
d
q
25
ディジタル回路
D-FF の実現例
clock = 0
d
q
d
q
clock = 1
27
ディジタル回路
ラッチと FF
 ??
 常時サンプリング
 SR ラッチ
 レベル・センシティブ (level-sensitive):
 ラッチ・イネーブルが 1(または 0)の間サンプリング
 D ラッチ
 エッジ・トリガ (edge-trigger):
 クロックの立ち上がり(立ち下がり)でサンプリング
 D-FF
 etc
29
ディジタル回路
D-FF 以外の FF
 D-FF 以外の FF
 SR-FF (Set/Reset)
 S でセット,R でリセット
 T-FF (Toggle)
 T が 1 のとき,出力反転(トグル)
 JK-FF (Jack-Knife)
 J でセット,K でリセット,両方でトグル
 D-FF より高機能
 バラ IC(ex. 74シリーズ)で作ったときは重要だったが…
 LSI ではそうでもない
30
ディジタル回路
まとめ
31
ディジタル回路
今日のまとめ
 順序回路
 入力の履歴
 同期式順序回路
 組み合わせ回路 + 記憶素子
 記憶素子
 エッジ・トリガ D-FF が重要
32
ディジタル回路
今後の予定
 来週
 機能的な回路
33