DRC、Methodology、CDC の違反オブジェクトを使用しても除外設定を作成できます。これは、create_waiver
コマンドが Tcl コンソールに送信される際に GUI で使用する方法です。
1 つまたは複数の違反オブジェクトから除外設定を作成するには、次の構文を使用します。
create_waiver -of_objects <ViolationObject(s)> -description <string> [-user <name>]
-description は必須です。-user を指定しない場合は、Vivado ツールを実行しているユーザー ID が使用されます。
違反オブジェクトは get_cdc_violations
、get_drc_violations
、および get_methodology_violations
コマンドで返されます。これらのコマンドは、report_cdc
、report_drc
、および report_methodology
を前に実行した場合にのみオブジェクトを返します。コマンド ライン オプション -name
を使用すると、GUI レポートの 1 つから違反オブジェクトのリストを取得できます。
次のコード例では、top/sync_1
モジュール内に始点がある CDC-1 違反すべてに対して除外設定が作成されます。
report_cdc -name cdc_1
set vios [get_cdc_violations -name cdc_1 -filter {CHECK == CDC-1}]
foreach vio $vios {
if {[regexp {^top/sync_1} [get_property STARTPOINT_PIN $vio]]} {
create_waiver -of $vio -description {Safe by protocol}
}
}
違反オブジェクトから作成する除外設定は、その違反内で参照されるすべてのオブジェクトおよび文字列から作成されます。これにより、その違反独自の違反設定が作成されます。除外設定に複数の違反を含める場合は、除外設定を外部ファイルにエクスポートして、create_waiver
コマンドを編集して、1 つのオブジェクトおよび文字列をパターンおよびワイルドカードなどに置換する必要があります。パターンおよびワイルドカードの詳細は、DRC および Methodology 除外設定の作成を参照してください。
create_waiver
コマンドにより、スラックを表す文字列が自動的にワイルドカードに置換されます。これにより、レポートされるスラックに関係なく、特定のオブジェクトに関連する違反が除外できます。UCIO-1 および NSTD-1 の場合も同様です。