インテル® Quartus® Prime プロ・エディションのユーザーガイド: デザインの推奨事項

ID 683082
日付 8/03/2023
Public
ドキュメント目次

1.6.5.3. IF ステートメントの暗黙的デフォルト

Verilog HDLおよびVHDLの IF ステートメントでは、CASE 型のアプローチでは表現しにくい条件を簡単に表現することができます。ただし、IF ステートメントは複雑なマルチプレクサー・ツリーになることがあり、合成ツールでの最適化が難しくなる可能性があります。具体的には、IF ステートメントにはすべて、コードで指定されていない場合でも ELSE 条件があります。これらの暗黙的なデフォルトは、多重化デザインをさらに複雑にする原因です。

多重化されたロジックを簡潔にし、不必要なデフォルトを削除する方法はいくつかあります。最適な方法は、デザインを再コーディングし、ロジックが4:1の CASE ステートメントの構造を取るようにすることです。優先順位が重要な場合は、コードを再構築してデフォルトのケースを減らし、マルチプレクサーをフラット化することも可能です。デフォルトの「ELSE IF」条件がDon't Careであるかを調べます。デフォルトの ELSE ステートメントを追加して、動作を明示的にすることができます。マルチプレクサー・ロジックで不必要なデフォルト条件を回避することで、デザインの実装における複雑さと必要になるロジック使用率を低減します。