第12回 順序回路の解析方法 瀬戸 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表 第12回 順序回路の解析方法 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表 状態遷移図 瀬戸
次の順序回路は、どんな動作をするか?(復習) D-FFと,NOTゲートを組合せた回路 rst 1 1 x 1 1 x Q D clk 入力D、出力Qの向きが逆なので、注意! rst: 同期リセット信号 (正論理)
clkの周波数を1/2にした信号を出力 (分周器と呼ばれる) タイミング図を描く clk rst rst Q D Q 不定 不定 0 1 0 1 clk D 不定 不定 1 0 1 0 1 2 3 リセット後の時刻 n FFの出力状態 Qn Q0=0 Q1=1 Q2=0 Q3=1 入力 Dn D0=1 D1=0 D2=1 D3=0 clkの周波数を1/2にした信号を出力 (分周器と呼ばれる)
組合せ回路における、真理値表や論理関数の関係に相当 順序回路の3種類の表現 FFの状態 (つまりQの値)が、どのように変化するか表現 clk立上りで,次の状態に変化(遷移) 現在の状態 次の状態 Q=0 Qn Qn+1(=Dn ) 1 clk↑ clk↑ rst Q=1 Q D 1. 状態遷移表 2. 状態遷移図 D=Q clk 3. 状態遷移関数 Qn+1 = D = Qn 組合せ回路における、真理値表や論理関数の関係に相当
出力fは、入力a, bだけでなく、FFの出力Q1, Q2にも依存 順序回路 の 基本構成 組合せ 回路 入力 出力 a f b Q1 D1 Q2 D2 rst clk (共通) D-FF の集まり (記憶を実現する) 出力fは、入力a, bだけでなく、FFの出力Q1, Q2にも依存
順序回路 の 状態 とは a f b 1 1 1 1 D-FF の出力 Q1, Q2 の値を、 順序回路の 状態 と呼ぶ 1 1 Q1 D1 Q2 D2 1 1 rst clk D-FF の出力 Q1, Q2 の値を、 順序回路の 状態 と呼ぶ (この例では、D-FFが2個あるので、状態数は最大22= 4 状態)
次の順序回路の動作を解析しよう 1入力 x, 1出力 f, 1個のFF (状態Q) 入力 出力 x f Q D clk
状態遷移関数 と 出力関数 状態遷移 関数 D 各D-FFの状態 Qが、次のクロック↑で、どんな値になるかを表す 出力 関数 f D-FFの入力 D の論理式のこと 出力 関数 f 順序回路の出力が、どんな値になるかを表す 順序回路のポイント 1. 状態遷移関数 D、 出力関数fはともに、 入力 x と状態 Q の 論理関数 2.回路から導ける x f = xQ Q D D=xQ + xQ = x + Q clk
順序回路から、状態遷移表の導き方 出力関数f と 状態遷移関数D から、状態遷移表を作る (遷移=変化) 状態(Q),入力(x), 出力(f), 次状態(D) を回路からすべて探す 状態 Qと入力 xの全パターンを列挙 (この場合 4通り) 状態 Q,入力 xの各パターンに対し、出力 f と次状態 D を計算 (遷移=変化) 状態遷移表 現状態 現入力 現出力 次状態 Q x f D 1 x f = xQ 1 1 Q D 1 D=xQ + xQ = x + Q clk クロック↑で遷移
状態遷移表から,タイミング図が書ける clk rst x Q f D 現状態 現入力 現出力 次状態 Q x f D 1 1 D = xQ + xQ = x + Q f = xQ clk rst x Q f D
状態遷移表から,タイミング図が書ける clk rst x Q f D 現状態 現入力 現出力 次状態 Q x f D 1 1 D = xQ + xQ = x + Q f = xQ clk rst x 0 1 0 1 Q 不定 1 1 f 1 D 不定 1 1
状態遷移図 rst 状態遷移表を、視覚的に分かりやすく図示したもの 丸: 状態 (Qの値) 矢印: クロックの立上り(↑)による 状態変化 と、 出力値 ラベル: a/b (a: 現 入力 、b: 現 出力 ) 矢印の元: 現 状態 矢印の先: 次 状態 リセット直後の状態も明示 遷移先しか無い矢印(rst) 現入力 現出力 rst 0/0 状態Q 現状態 現入力 現出力 次状態 Q x f D 1 1/0 1/0 状態Q 1 0/0
状態遷移図 ⇔ 状態遷移表 状態遷移図 と 状態遷移表は、相互変換可能 (単純作業) 状態遷移表→状態遷移図 状態遷移図 と 状態遷移表は、相互変換可能 (単純作業) 状態遷移表→状態遷移図 1. 状態のパターン数だけ、 丸 を書く 2. 表の各行を参考に、 矢印 を追加していく(ラベルも付ける) 逆の変換も同様 現入力x 現出力f rst 0/0 現状態 現入力 現出力 次状態 Q x f D 0 0 0 0 1/1 1/0 0 1 0 1 1 0 0 1 1 1 1 1 0 0/0
状態遷移図による機能の理解 (どんなときに出力がアクティブになるか?) 入力xが1回 1 になると、状態が0から1に移る 入力xが1回 1 になったことを、覚えている 入力xが2回 1 になると、f=1を出力し、状態0に戻る 現入力x 現出力f clk Q f 不定 rst 1 x 0 1 rst 0/0 1/1 1/0 1 0/0 簡単な 自動販売機 (2枚のコイン投入で商品を出す)
まとめ 順序回路の機能表現方法 タイムチャート (動作の一例にすぎない) 状態遷移関数・出力関数 状態遷移表 状態遷移図