違反オブジェクトからの除外設定の作成 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック (UG906)

Document ID
UG906
Release Date
2022-05-04
Version
2022.1 日本語

DRC、Methodology、CDC の違反オブジェクトを使用しても除外設定を作成できます。これは、create_waiver コマンドが Tcl コンソールに送信される際に GUI で使用する方法です。

1 つまたは複数の違反オブジェクトから除外設定を作成するには、次の構文を使用します。

create_waiver -of_objects <ViolationObject(s)> -description <string> [-user <name>]

-description は必須です。-user を指定しない場合は、Vivado ツールを実行しているユーザー ID が使用されます。

注記: 複数の違反オブジェクトを指定する場合は、違反ごとに 1 つの除外設定が作成されます。作成される除外設定は元の違反オブジェクトを参照しません。その代わり、除外設定には違反に含まれる文字列とオブジェクトのリストが含まれます。

違反オブジェクトは get_cdc_violationsget_drc_violations、および get_methodology_violations コマンドで返されます。これらのコマンドは、report_cdcreport_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 除外設定の作成を参照してください。

注記: DRC および Methodology チェックの中には、UCIO-1、NSTD-1、TIMING-15、および TIMING-16 など、自動的にワイルドカードに変換される文字列も少しあります。TIMING-15 または TIMING-16 の場合、違反内のセットアップおよびホールド スラックの量には関係がありません。TIMING-15 または TIMING-16 違反オブジェクトから除外設定が削除される場合は、create_waiver コマンドにより、スラックを表す文字列が自動的にワイルドカードに置換されます。これにより、レポートされるスラックに関係なく、特定のオブジェクトに関連する違反が除外できます。UCIO-1 および NSTD-1 の場合も同様です。