組み合わせ回路と順序回路の違い:出力の決まり方を比較
組み合わせ回路では、出力が現在の入力だけで決まるので、同じ入力にはいつも同じ出力が返ります。順序回路では、出力が、記憶している状態、つまり過去の入力の履歴にも依存します。順序回路は、フリップフロップなどの記憶素子を持ち、多くはクロックで制御されます。実際のデジタルシステムは両方を交互に使い、状態を保持するレジスタの間で、組み合わせ回路が計算します。
| 項目 | 組み合わせ回路 | 順序回路 |
|---|---|---|
| 出力が依存するもの | 現在の入力だけ | 現在の入力と、記憶している状態(履歴) |
| 記憶素子 | なし | フリップフロップやラッチ |
| クロック | 不要 | 多くはクロックで動く(同期設計) |
| フィードバック | なし。フィードバックのループがあれば、設計の誤り | 状態の素子を通したフィードバックがある |
| 例 | 加算器、マルチプレクサ、デコーダ、エンコーダ、比較器 | レジスタ、カウンタ、シフトレジスタ、ステートマシン |
| タイミングの注意点 | 伝搬遅延と、入力が変わる間のグリッチ(ハザード) | セットアップ時間とホールド時間、クロック周期、クロックスキュー |
| 設計の道具 | 真理値表、ブール代数、カルノー図 | 状態遷移表と状態遷移図 |
| Verilogでは | 連続代入、またはすべての分岐ですべての出力を設定するalwaysブロック | クロックのエッジで動くalwaysブロック |
数値は代表的な目安で、世代や製品によって異なります。