ディジタル回路 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 が重要
© Copyright 2024 ExpyDoc