ハードウェア記述言語と検証
SystemVerilogのalways_ffやalways_combを、Verilogのalwaysの代わりに使う利点として正しいものはどれか。
- Aalways_ffを使うと、回路の速さが必ず2倍になる
- Balways_combを使うと、シミュレーションが不要になる
- C設計者の意図(フリップフロップか組み合わせ回路か)をツールが知り、意図と違う回路(ラッチなど)になると警告できる
答えと解説を見る
正解:C. 設計者の意図(フリップフロップか組み合わせ回路か)をツールが知り、意図と違う回路(ラッチなど)になると警告できる
Verilogのalwaysは、フリップフロップにも組み合わせ回路にもラッチにも使えるので、ツールは設計者の意図を知りません。always_ffと書けばフリップフロップのつもり、always_combと書けば組み合わせ回路のつもりだと明示でき、条件の書き漏れでラッチができたときなどにツールが警告やエラーを出せます。always_combは中で読んでいる信号から自動でセンシティビティを決めます。
- A. 速さとは関係ありません。
- B. シミュレーションは引き続き必要です。
- C. 正しい。always_combはセンシティビティリストも自動で決まります。