除外設定した違反のみが除外されるかどうかを確認することをお勧めします。これは、除外設定の定義後、最終的なビットストリームよりも前に確認する必要があります。
[Report CDC]、[Report DRC]、および [Report Methodology] コマンドでは、複数のレポート モードがサポートされます。
- デフォルトでは、
report_cdc
、report_drc
、およびreport_methodology
コマンドでは、除外設定されていない違反のみがレポートされます。 -
-waived
を使用すると、report_cdc
、report_drc
、およびreport_methodology
コマンドで除外設定された違反のみがレポートされます。このレポートで、除外設定されたすべての違反が意図どおりになっているかどうかを確認する必要があります。 -
-no_waiver
を使用すると、report_cdc
、report_drc
、およびreport_methodology
コマンドが除外設定なしで実行されます。このモードでは、除外設定の有無に関係なくすべての違反がレポートされます。
この 3 つのレポート モードは、コマンド ラインおよび GUI のレポート関連のダイアログ ボックスから指定できます。次の [Report DRC] ダイアログ ボックス図の [Waivers] セクションの下で、これらのレポート モードが選択できるようになっています。同じ [Waivers] セクションは、[Report CDC] および [Report Methodology] ダイアログ ボックスにも表示されます。
CDC、DRC、および Methodology の GUI の結果ウィンドウでは、除外設定された違反が含まれている場合、違反の前にアイコンが表示され、ウィンドウ名に除外設定された違反の数が含まれます。
次のウィンドウ例は、2 つの除外設定された違反を含む DRC が 2 つ含まれているところを示しています。
すべての除外設定と除外された違反のレポートのサマリは、report_waivers
コマンドで取得できます。レポートは、Tcl コンソールからのみ使用できます。
report_waivers
では、report_cdc
、report_drc
、および report_methodology
コマンドで抽出された統計のみがレポートされます。正確な統計を取得するには、report_waivers
よりも前、および除外設定が変更 (追加または削除) されるよりも前に、report_cdc
、report_drc
、および report_methodology
を実行する必要があります。統計は、レポートがコマンド ラインから実行されるか GUI から実行されるかに関係なくアップデートされます。アップデートされた統計を取得できない場合、CDC、DRC、または Methodology 情報のどれが古くなっているかによって、report_waivers
で次のようなメッセージが表示されます。
WARNING: [Vivado_Tcl 4-972] Waiver counts for 'CDC' will be invalid because
report_cdc has not been run since waivers were changed; please run the report_cdc
command.
WARNING: [Vivado_Tcl 4-972] Waiver counts for 'DRC' will be invalid because
report_drc has not been run since waivers were changed; please run the report_drc
command.
WARNING: [Vivado_Tcl 4-972] Waiver counts for 'METHODOLOGY' will be invalid because
report_methodology has not been run since waivers were changed; please run the
report_methodology command.
report_waivers
からのレポートには、サマリの表と、CDC、DRC、および Methodology 除外設定別の詳細な表が含まれます。表には、次の列があります。
- [Total Vios]: 除外設定を適用する前の違反の総数。つまり、除外設定のない場合にレポートされる違反数です。終点の数は複数ビットのルールによって変わります。
- [Remaining Vios]: 除外設定適用後の違反数。違反に除外設定がない場合、この数は [Total Vios] と同じになります。終点の数は複数ビットのルールによって変わります。
- [Waived Vios]: 除外設定された違反数。違反が除外設定されていない場合、この数は 0 になります。終点の数は複数ビットのルールによって変わります。
- [Used Waivers]: 違反を除外した除外設定の数。パターンやワイルドカードを含む場合は、1 つの除外設定で複数の違反を除外できます。
- [Set Waivers]: デザインに適用された除外設定の数。[Used Waivers] と [Set Waivers] の数は同じであるのが理想的です。除外設定が定義されていても、どの違反とも一致しなければ、これらの数は同じになりません。
デフォルトでは、定義された除外設定が複数あるルールのみが詳細な表にレポートされます。ただし、最初のサマリの表には、デザイン内のすべての違反がレポートされます。
-show_msgs_with_no_waivers
コマンド ライン オプションを使用すると、その特定のルールに対する除外設定が存在するかどうかに関係なく、違反のあったチェックすべてが詳細な表にレポートされます。
上記のレポートに加えて、report_waivers
では、CDC、DRC、または Methodology 違反に一致する除外設定と、どの違反にも一致しない除外設定のリストがエクスポートできます。-write_valid_waivers
オプションを使用すると、違反と一致した除外設定が、 -write_ignore_waivers
オプションを使用すると、どの違反にも一致しなかった除外設定がエクスポートできます。どの違反にも一致しなかった除外設定のリストは、確認しておくことをお勧めします。このような除外設定がないはずの場合は、除外設定が正しく定義されているかどうかを確認してください。
-write_valid_waivers
および -write_ignore_waivers
オプションでは、一番最近の report_cdc
、report_drc
、および report_methodology
コマンドの実行でレポートされた情報に基づいて除外設定がフィルターされます。report_drc
または report_methodology
がルール チェックまたはチェックのサブセットを指定して実行される場合、除外設定の中に実行されていないチェックを無視するものがあります。 -write_valid_waivers
および -write_ignore_waivers
を使用する前に DRC/Methodology チェックすべてを実行することをお勧めします。次に例を示します。
report_cdc -all_checks_per_endpoint
report_drc -checks [get_drc_checks]
report_methodology -checks [get_methodology_checks]
report_waivers -write_valid_waivers -file waivers_valid.xdc
report_waivers -write_ignored_waivers -file waivers_ignored.xdc