Transcript Document
ディジタル回路
4. 順序回路
五島 正裕
ディジタル回路
組み合わせ回路 と 順序回路
組み合わせ回路 (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
ディジタル回路
状態
状態 S:
S0 : 100円を受け取っていない
S1 : 100円を1個受け取っている
time
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
ディジタル回路
状態機械 (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
ディジタル回路
順序回路の例 その2
Q
自動販売機
使える硬貨は100円のみ
200円の商品1種のみ
– 100円が 2個投入されると,次のサイクルに 商品を送り出す
その順序機械:
入力 x:100円が投入されると,1サイクルの間だけ 1
出力 z:1 のとき,商品が送り出される
ディジタル回路
順序回路の例 その2
x
d
q
d
q
z
clk
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
ディジタル回路
Mealy マシン と Moore マシン
x
d
q
x
z
clk
d
q
d
q
clk
Mealy マシン
Moore マシン
z
ディジタル回路
Mealy マシン と Moore マシン
出力関数
入力
現状態
出力
入力
次状態関数
q
d
出力関数
次状態
現状態
次状態関数
q
d
clk
Mealy マシン
出力
次状態
clk
Moore マシン
ディジタル回路
状態機械の最小化
順序回路の例
ディジタル回路
状態の等価性
状態 Si と Sj に同じ入力系列を与えて,異なる出力系列が得られる
⇒ この入力系列を, Si と Sj の識別系列という
Si と Sj に識別系列が存在する
⇒ Si と Sj は識別可能 という
Si と Sj に識別系列が存在しない
⇒ Si と Sj は等価 という
等価:
あらゆる長さのあらゆる系列を与えても,出力が異ならない
ディジタル回路
状態の等価性
Si と Sj に,長さ k の識別系列が存在する
⇒ Si と Sj は k 識別可能 という
Si と Sj に,長さ k の識別系列が存在しない
⇒ Si と Sj は k 等価 という
ディジタル回路
k 等価性による状態分割
現状態
次状態, 出力
x=0
x=1
S0
S1, 0
S2, 0
S1
S0, 0
S3, 0
S2
S4, 0
S5, 1
S3
S4, 0
S5, 1
S4
S0, 0
S5, 1
S5
S1, 0
S3, 1
π1
B01
B11
次ブロック
状
態
x=0
x=1
S0
B01
B11
S1
B01
B11
S2
B11
B11
S3
B11
B11
S4
B01
B11
S5
B01
B11
1 等価
π2
B02
B12
B22
次ブロック
状
態
x=0
x=1
S0
B02
B12
S1
B02
B12
S2
B22
B22
S3
B22
B22
S4
B02
B22
S5
B02
B12
2 等価
ディジタル回路
k 等価性による状態分割
現状態
次状態, 出力
x=0
x=1
S0
S1, 0
S2, 0
S1
S0, 0
S3, 0
S2
S4, 0
S5, 1
S3
S4, 0
S5, 1
S4
S0, 0
S5, 1
S5
S1, 0
S3, 1
π2
B02
B12
B22
次ブロック
状
態
x=0
x=1
S0
B02
B12
S1
B02
B12
S2
B22
B22
S3
B22
B22
S4
B02
S5
B02
2 等価
次ブロック
状
態
x=0
x=1
S0
B03
B13
S1
B03
B13
S2
B23
B33
S3
B23
B33
B22
B23 S4
B03
B33
B12
B33 S5
B03
B13
π3
B03
B13
3 等価
ディジタル回路
状態割り当て
ディジタル回路
状態割り当て と 状態機械の構造
S(t + 1):Y1Y2, z
S(t + 1):Y1Y2, z
S(t):y1y2
x=0
x=1
S(t):y1y2
x=0
x=1
S0:00
S0:00, 0
S1:01, 0
S0:00
S0:00, 0
S1:11, 0
S1:01
S3:10, 0
S0:00, 0
S2:01
S0:00, 0
S3:10, 1
S2:11
S0:00, 0
S3:10, 1
S1:11
S3:10, 0
S0:00, 0
S3:10
S3:10, 0
S2:11, 1
S3:10
S3:10, 0
S2:01, 1
x
z
y2
y1
y1
x
z
y2
ディジタル回路
状態割り当ての「最適化」
n 個の状態を k 個のFFで表すとき,異なる割り当て
(2k − 1)! / (2k − n)! k! 通り
n = 3, k = 2
⇒ 3 通り
n = 5, k = 3
⇒ 140 通り
n = 10, k = 4
⇒ 27億+ 通り
効率のよいアルゴリズムは知られていない!
仕様どおり,素直に設計したほうがよい?
ディジタル回路
今日のまとめ
今日のまとめ
ディジタル回路
今日のまとめ
順序回路の表現
状態遷移図
状態遷移表
順序回路の構成
状態機械 :状態遷移表 ⇒
状態割り当て
次状態関数,出力関数 ⇒
組み合わせ回路の簡単化(カルノー図,etc)
ディジタル回路
今日のまとめ
状態機械の最小化
k 等価性による状態分割
状態割り当て
順序回路の大きさ
状態割り当てに依存
状態割り当ての「最適化」は難しい
ディジタル回路
今後の予定など
次回
ロジックの構成
教科書
年末に発売予定