除外 (Waiver) 機能を使用すると、CDC、DRC、および Methodology (設計手法) 違反をレポートから除外できます。違反が除外されると、その違反は report_cdc
、report_drc
、report_methodology
コマンドでレポートされなくなります。除外された DRC は、opt_design
、place_design
、phys_opt_design
、route_design
または write_bitstream
などのインプリメンテーション コマンドの条件として実行される必須の DRC からも除外されます。
除外設定は、XDC と互換性があり、read_xdc
または source
コマンドを使用してインポートできます。これらは、プロジェクト モードまたは非プロジェクト モードで XDC ファイルまたは Tcl スクリプトに含めることができます。最上位から作成できるほか、階層モジュールに対して範囲を指定することもできます。除外設定がデザインに追加されたら、チェックポイント内に自動的に保存され、チェックポイントを読み込むと復元されるようになります。除外設定は、write_xdc
および write_waivers
コマンドで書き出すことができます。
除外設定には、トラック機能があります。Vivado ツールでは、除外設定を作成したユーザー、作成日時、短い説明などが記録されます。これらは、トラックする際に重要な情報です。デザインに使用された除外設定は有効かどうかすべて確認および検証することをお勧めします。
除外設定は、作成、クエリ、レポートおよび削除可能なファースト クラス オブジェクトで、Vivado の get_*
コマンドで返されるピン、セル、ネット、Pblock、およびサイトなどのほかのファースト クラス オブジェクトを参照します。これらのオブジェクトは、除外設定を作成する前にデザインに含まれている必要があります。除外設定作成時に存在しないデザイン オブジェクトには、除外設定は使用されません。
除外設定では、ネットリスト オブジェクトの複製および削除がサポートされます。除外設定に関連するオブジェクトを複製した場合、その複製されたオブジェクトは除外設定に自動的に追加されます。同様に、オブジェクトが削除された場合は、それを参照するものがすべて自動的に除外設定からも削除されます。オブジェクトを削除することで除外設定が空のオブジェクト リストを参照することになった場合、その除外設定がインメモリ デザインから削除され、後のチェックポイントには保存されなくなります。これは、タイミング制約およびクロック オブジェクトにも該当します。クロックがロジック最適化やタイミング制約の削除 (reset_timing
) により削除された場合、そのクロック オブジェクトを参照する除外設定も削除され、その後のチェックポイントには保存されなくなります。
rename_net
、rename_cell
、rename_port
、および rename_pin
を実行しても、除外設定内のデザイン エレメントの名前は変更されません。除外設定がこれらのコマンドのいずれかによって名前が変更されたネットリスト要素を参照する場合、その除外設定はデザイン要素の元の名前を参照するため、無効になります。