270 likes | 524 Views
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 個投入されると,商品を送り出す その順序機械:
E N D
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 のとき,商品が送り出される
順序回路の例 time clock x z
状態 • 状態 S: • S0: 100円を受け取っていない • S1: 100円を1個受け取っている time
状態機械(State Machine) の表現 time 0 / 0 1 / 0 • S0 • S1 1 / 1 0 / 0 x / z 状態遷移図 (state diagram) 状態遷移表 (state transition table)
状態機械の構成 入力 出力 組み合わせ 回路 現状態 次状態 記憶素子
記憶素子の例 • 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に
次状態関数 と 出力関数 • S0: q= 0 S1: q= 1 状態遷移表 次状態関数 (next state function) の真理値表 出力関数 (output function) の真理値表
順序回路の構成 d q x z clock time
順序回路の例 その2 • Q • 自動販売機 • 使える硬貨は100円のみ • 200円の商品1種のみ • 100円が 2個投入されると,次のサイクルに 商品を送り出す • その順序機械: • 入力 x:100円が投入されると,1サイクルの間だけ 1 • 出力 z:1 のとき,商品が送り出される
d q 順序回路の例 その2 d q x z clk time
d q Mealy マシン と Moore マシン d q d q x x z z clk clk Mealy マシン Moore マシン
d d q q Mealy マシン と Moore マシン 出力関数 出力関数 出力 出力 入力 入力 次状態関数 次状態関数 現状態 次状態 現状態 次状態 clk clk Mealy マシン 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等価性による状態分割 1 等価 2 等価
k等価性による状態分割 2 等価 3 等価
状態割り当て と 状態機械の構造 x y1 z y2 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等価性による状態分割 • 状態割り当て • 順序回路の大きさ • 状態割り当てに依存 • 状態割り当ての「最適化」は難しい
今後の予定など • 次回 • ロジックの構成 • 教科書 • 年末に発売予定