ディジタル回路 6. 順序回路の実現 五島 正裕 DATE : ディジタル回路 順序回路の復習 2 ディジタル回路 組み合わせ回路 と 順序回路 組み合わせ回路 (combinational circuit) 無記憶 現在の入力 ⇒ 出力 ex) 0…000…0 ⇒ 0 0…010…0 ⇒ 0 順序回路 (sequential circuit) 記憶 入力の履歴 ⇒ 出力 ex) 0…000…0 ⇒ 0 0…010…0 ⇒ 1 3 ディジタル回路 順序回路の例 Q 自動販売機 使える硬貨は100円のみ 200円の商品1種のみ ● 100円が 2個投入されると,商品を送り出す その順序機械: 入力 x:100円が投入されると,1サイクルの間だけ 1 出力 z:1 のとき,商品が送り出される 4 ディジタル回路 順序回路の例 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 5 ディジタル回路 状態機械 (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) 6 記憶素子の例 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 に 8 ディジタル回路 次状態関数 と 出力関数 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) の真理値表 9 ディジタル回路 順序回路の構成 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 10 ディジタル回路 記憶素子 11 ディジタル回路 記憶素子 の 原理 記憶 ループのある回路の安定状態 ループのある回路 安定 不安定(発振) 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 入力変化 安定状態 状態遷移 状態遷移 15 ディジタル回路 SR-ラッチ の動作 s q r 入力変化 0 1 0 0 0 r 0 0 0 1 0 q 0 1 1 0 0 入力変化 安定状態 状態遷移 s 入力変化 安定状態 状態遷移 状態遷移 16 ディジタル回路 D ラッチの実現例 その1 en = 0 d q d q en = 1 17 ディジタル回路 D ラッチの実現例 その2 dq 00 01 11 10 0 0 1 1 0 1 0 0 1 1 q d g g q d g 18 ディジタル回路 同期式 / 非同期式 順序回路 19 ディジタル回路 非同期式/同期式 順序回路 非同期式 (Asynchronous) 入力の変化 time 入力 ⇒ 状態遷移 状態 time 同期式 (synchronous) クロック (clock) 入力の変化 ⇒ 状態遷移 clock 入力 状態 ディジタル回路 非同期式/同期式 順序回路 x 入力 出力 組み合わせ 回路 Y 入力 組み合わせ 回路 出力 y 遅延要素 記憶素子 クロック 非同期式 y = f (x, Y) y = f (x, y) 同期式 記憶素子 ⊂ 非同期式回路 21 ディジタル回路 非同期式/同期式 順序回路 非同期式回路 設計がより難しい ex) 入力が同時に 2つ変わると,実際上 設計不能 本質的に非同期的な部分には不可欠 ex) 同期式回路の記憶素子自体 同期式回路 設計がより容易 「非同期な部分を記憶素子部に閉じ込めた」 22 ディジタル回路 エッジ・トリガ 23 同期式順序回路の例 q D d clock 記憶素子: クロックが「入った」とき, q=d ディジタル回路 ディジタル回路 ポジティブ・エッジ・トリガ D-FF d q time clock d q 25 ディジタル回路 D-FF の実現例 clock = 0 d q d q clock = 1 27 ディジタル回路 ラッチと FF ?? 常時サンプリング SR ラッチ レベル・センシティブ (level-sensitive): ラッチ・イネーブルが 1(または 0)の間サンプリング D ラッチ エッジ・トリガ (edge-trigger): クロックの立ち上がり(立ち下がり)でサンプリング D-FF etc 29 ディジタル回路 D-FF 以外の FF D-FF 以外の FF SR-FF (Set/Reset) S でセット,R でリセット T-FF (Toggle) T が 1 のとき,出力反転(トグル) JK-FF (Jack-Knife) J でセット,K でリセット,両方でトグル D-FF より高機能 バラ IC(ex. 74シリーズ)で作ったときは重要だったが… LSI ではそうでもない 30 ディジタル回路 まとめ 31 ディジタル回路 今日のまとめ 順序回路 入力の履歴 同期式順序回路 組み合わせ回路 + 記憶素子 記憶素子 エッジ・トリガ D-FF が重要 32 ディジタル回路 今後の予定 来週 機能的な回路 33
© Copyright 2024 ExpyDoc