順序回路の実現

ディジタル回路
8. 順序回路の実現
五島 正裕
ディジタル回路
順序回路の復習
ディジタル回路
組み合わせ回路 と 順序回路
 組み合わせ回路 (combinational circuit)
 無記憶
 現在の入力 ⇒ 出力
 ex)

0101…0…0 ⇒ 0

0101…1…0 ⇒ 0
 順序回路 (sequential circuit)
 記憶
 入力の履歴 ⇒ 出力
 ex)

0101…0…0 ⇒ 0

0101…1…0 ⇒ 1
ディジタル回路
順序回路の例
 Q
 自動販売機

使える硬貨は100円のみ

200円の商品1種のみ
– 100円が 2個投入されると,商品を送り出す
 その順序機械:

入力 x:100円が投入されると,1サイクルの間だけ 1

出力 z:1 のとき,商品が送り出される
ディジタル回路
順序回路の例
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
ディジタル回路
状態機械 (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)
ディジタル回路
記憶素子の例
 D-FF(フリップ・フロップ)
 データ入力:
d
 データ出力:
q
 「d に入力した値が,次のサイクルに q から出力される」
d
clk
q
ディジタル回路
状態割り当て
 状態 S0 と S1
 (たとえば)D-FF 1個で表現
 状態割り当て:D-FF の出力 q
 S0 : q = 0
 S1 : q = 1
 D-FF の入力 d
 次状態を S0 にしたいなら d = 0 に
 次状態を S1 にしたいなら d = 1 に
ディジタル回路
次状態関数 と 出力関数
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)
の真理値表
ディジタル回路
順序回路の構成
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
ディジタル回路
記憶素子
ディジタル回路
記憶素子 の 原理
 記憶
 ループのある回路の安定状態
 ループのある回路
 安定
 不安定(発振)
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
入力変化
安定状態
状態遷移
状態遷移
ディジタル回路
SR-ラッチ の動作
s
q
r
入力変化
0
1
0
0
0
r
0
0
0
1
0
q
0
1
1
0
0
入力変化
安定状態
状態遷移
s
入力変化
安定状態
状態遷移
状態遷移
ディジタル回路
非同期式/同期式 順序回路
time
 非同期式 (Asynchronous)
入力
 入力の変化

⇒ 状態遷移
状態
time
 同期式 (synchronous)
 クロック (clock) 入力の変化

clock
⇒ 状態遷移
入力
状態
ディジタル回路
非同期式/同期式 順序回路
x
入力
出力
組み合わせ
回路
Y
入力
組み合わせ
回路
y
遅延要素
記憶素子
クロック
非同期式
y = f (x, Y)
y = f (x, y)
同期式
記憶素子 ⊂ 非同期式回路
出力
ディジタル回路
非同期式/同期式 順序回路
 非同期式回路
 設計がより難しい

ex) 入力が同時に2つ変わると,実際上 設計不能
 本質的に非同期的な部分には不可欠
 同期式回路
 設計がより容易
 「非同期な部分を記憶素子部に閉じ込めた」
ディジタル回路
同期式順序回路の例
D
clock
 記憶素子:
 クロックが「入った」とき,
 入力 ⇒ 出力
ディジタル回路
ポジティブ・エッジ・トリガ D-FF
D Q
time
clock
D
Q
ディジタル回路
ポジティブ・エッジ・トリガ D-FF
clock
Q
Q’
D
ディジタル回路
ポジティブ・エッジ・トリガ D-FF
clock = 0
D
Q
D
Q
clock = 1
ディジタル回路
入力をサンプリングするタイミング
 (狭義の)FF
 クロックの立ち上がり(立ち下がり)

エッジ・トリガ型 (edge-trigger)
– ポジティブ(ネガティブ)エッジ・トリガ
– マスタ―スレーブ構造 (master-slave)
ディジタル回路
入力をサンプリングするタイミング
 ラッチ (latch)
 常時

??
– SR ラッチ
 クロックが 1(または 0)の間

レベル・センシティブ型 (level-sensitive)?
– D ラッチ
 「危険」なので,あまり使わない
ディジタル回路
D-FF 以外の FF
 D-FF 以外の FF
 SR-FF (Set/Reset)

S でセット,R でリセット
 T-FF (Toggle)

T 入力が 1 のとき,出力反転(トグル)
 JK-FF (??)

J でセット,K でリセット,両方でトグル
 D-FF より高機能
 バラ IC(ex. 74シリーズ)で作ったときは重要だったが…
 LSI ではそうでもない
ディジタル回路
今日のまとめ
ディジタル回路
今日のまとめ
 順序回路
 入力の履歴
 同期式順序回路
 組み合わせ回路 + 記憶素子
 記憶素子
 エッジ・トリガ D-FF が重要