create_waiver
のその他の引数の数とタイプは、除外設定する必要のある DRC および Methodology 違反によって異なります。TIMING-9 などの DRC および Methodology 違反の中には、メッセージが一般的で特定ができないので、その他の引数がないものが少しあります。その他の DRC および Methodology 違反には、複数の文字列およびさまざまなタイプのオブジェクトを含めることができます。
違反内の文字列は、除外設定内で -string
を使用して指定します。デバイスまたはデザイン オブジェクト (ピン、セル、ネット、Pblock、サイト) は -objects
オプションを使用して指定します。これらのコマンド ライン オプションは、それぞれこれらのエレメントを含む違反と同じ数分指定する必要があります。
除外設定を GUI または違反オブジェクトから作成する場合、その違反独自の文字列およびオブジェクトすべてが指定されることになるので、除外設定はその違反のみを除外するように定義されます。除外設定を手動で作成すると、除外設定の適用範囲を広げて、複数の違反を 1 つの除外設定で除外できるようになります。複数の違反が含まれるように除外設定の範囲を広げる方法は、次のとおりです。
- 特定の名前でなく、
get_*
コマンドのパターンを使用します。 - 文字列またはオブジェクトにワイルドカードを使用します。ワイルドカードは特殊なキーワードで、文字列の場合は *、ピンの場合は *PIN になります (次の表を参照)。同じタイプのオブジェクトが違反内で見つかった同じ位置のエレメントに一致していれば、それは一致しているとみなされます。除外設定からのエレメントすべてが違反と一致する場合、その違反は除外されます。
- 1 つのオブジェクトの代わりにオブジェクトのリストを指定します。違反内のオブジェクトが除外設定内の同じ位置にあるオブジェクト リストのオブジェクトの 1 つに一致していれば、それは一致しているとみなされます。除外設定からのエレメントすべてが違反と一致する場合、その違反は除外されます。
たとえば、次のコマンドを使用すると、mux2_inst/mux_out_INST_0
セルを参照する TIMING-14 違反が 1 つ除外されます。
create_waiver -id "TIMING-14" -description "Reviewed by the team" \
-objects [get_cells mux2_inst/mux_out_INST_0 ]
デザインに複数の mux2_inst/mux_out_INST_*
セルが含まれているとすると、get_cells
コマンドのパターンを使用して、これらすべてのセルに関連する TIMING-14 違反を除外するように上記の除外設定を変更できます。
create_waiver -id "TIMING-14" -description "Reviewed by the team" \
-objects [get_cells mux2_inst/mux_out_INST_* ]
次の表では、オブジェクト タイプ別にワイルドカードとして使用されるキーワードをまとめています。
オブジェクト | ワイルドカード |
---|---|
セル | *CELL |
ネット | *NET |
ピン | *PIN |
ポート | *PORT |
サイト | *SITE |
タイル | *TILE |
BEL | *BEL |
パッケージ バンク | *PKGBANK |
クロック領域 | *CLKREGION |
クロック | *CLOCK |
Pblock | *PBLOCK |
文字列 | * |
create_waiver -scope
を使用すると、ピンおよびセルのワイルドカードが使用され、除外設定が作成される現在のインスタンスに範囲を限定できます。範囲を指定した除外設定を作成する場合、-scope
を使用すると、ピンおよびセルのワイルドカードがその範囲 (スコープ) よりも高いレベルにあるオブジェクトと一致しなくなり、除外設定してはいけない違反が除外されることがあります。