はじめまして、日々イチから電子回路を学んでいるダックです。
先日、研修中に先輩からこんなことを言われました。
先輩 「組み合わせ回路と順序回路は理解できているよね。」
ダック「フリップフロップがあるかどうかですか?」
先輩 「まあ、あっているけど、データを保持するかどうかが重要だね。」
ダック「(保持??)」
ということで、組み合わせ回路と順序回路の違いについて考えてみました。
今回はそれぞれの例として2ビットの加算回路と D-フリップフロップを取り上げ、
動作の違いを確認してみました。
デジタル回路の例
それぞれの回路で入力に対する出力をタイミングチャート形式で確認します。
タイミングチャート
入力データ(A, B)に対して |
入力されたデータ(DATA)は |
D-フリップフロップは上記の通り、クロックの立ち上がり時以外は出力が変化しません。それ以降はクロックの立ち上がり時の過去のデータを出力し続けるのです。
なるほど、過去の状態を現在の出力に反映できることができるので、保持回路なのですね。
まとめ
組み合わせ回路・・・入力データが変化するとすぐ出力が変化する
→現在の入力のみに出力が依存する
順序回路・・・・・・入力データはクロックの立ち上がりまで出力が変化しない
→過去の入力を出力に反映できる
ちなみに
下記の回路のように順序回路は組み合わせ回路を含むこともあります。
順序回路でないと同期式回路を作れません。 FPGA の設計では同期式回路を組むのが基本ですので、この順序回路が重要になってきます。
同期式回路、非同期式回路については関連記事にて詳しく説明していますのでそちらをご覧ください。