ディジタル回路 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 等価性による状態分割 状態割り当て 順序回路の大きさ 状態割り当てに依存 状態割り当ての「最適化」は難しい ディジタル回路 今後の予定など 次回 ロジックの構成 教科書 年末に発売予定
© Copyright 2024 ExpyDoc