最小または最大遅延制約を使用する主な理由は、次のとおりです。
- セットアップ/リカバリ パス要件を厳しくすることで、デザインのいくつかのパスを過剰に制約する。
これにより、ロジック最適化または配置が一部のクリティカル パスのセルに集中的に実行されるようにすることができ、配線でタイミングを満たすために柔軟な処理が可能になります。
- マルチサイクル制約を置き換える。
これは、ソース クロック エッジおよびデスティネーション クロック エッジが N クロック サイクルごとにアクティブになるパスのセットアップ要件を緩和するのには有効ですが、推奨される方法ではありません。ただし、これがマルチサイクル パスをクロック周期のごく小さい割合だけ厳しくして配線中にタイミング クロージャを達成しやすくするための唯一のオプションです。たとえば、マルチサイクル制約が 3 に設定されたパスが配線後に違反が最も大きいワースト パスになり、数百 ps タイミングが満たされていないとします。
この場合、元のマルチサイクル パス制約を、最適化および配置段階で次の制約に置き換えることができます。14.5 は 3 クロック周期に相当し (それぞれ 5 ns)、-500 ps は必要な外部マージンの量に相当します。set_max_delay -from [get_pins <startpointCell>/C] \ -to [get_pins <endpointCell>/D] 14.5
- 非同期 CDC パスに最大データパス遅延制約を付ける。
この手法の詳細は、クロック グループおよび CDC 制約の定義 を参照してください。
set_min_delay
制約を使用してパスに遅延を挿入する方法はあまり使用されず、推奨もされません。通常は、ホールドまたはリムーバルに対するデフォルトの最小遅延要件だけで十分で、スラックが正の値の場合はハードウェアが問題なく機能します。