合成ロジック複製のための制約の調整 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: 制約の使用 (UG903)

Document ID
UG903
Release Date
2023-11-01
Version
2023.2 日本語

合成中、デザイン パフォーマンスを向上するため一部のレジスタが複製されます。合成エンジンでは、複製されたセルを含めるためにユーザー XDC 制約は変更されません。Vivado 合成で複製されたオブジェクトにタイミング制約が設定されている場合、XDC 制約の記述方法によって、複製されたセルに常に XDC 制約が適用されるわけではないので、インプリメンテーションの結果の質 (QoR) に影響することがあります。

Vivado 合成を使用する際は、get_cells および get_pins コマンドを使用すると、複製されたオブジェクトが自動的に含まれるようになります。

たとえば set_false_path –from [get_cells –hierarchical *rx_reg] は、次のように記述し直すと、インプリメンテーション中に複製されたオブジェクトが含まれるようになります。

set_false_path -from [get_cells -hierarchical *rx_reg -include_replicated_objects]

-include_replicated_objects コマンド オプションは、複製されたオブジェクトに設定された ORIG_CELL_NAME プロパティに依存します。次のクエリ コマンドでは、元のセルと複製されたセルが返されます。

get_cells -include_replicated_objects *rx_reg
get_cells -include_replicated_objects [get_cells -hier -filter {NAME =~ *rx_reg}] 
get_cells -hierarchical -filter {NAME =~ *rx_reg || ORIG_CELL_NAME =~ *rx_reg}

-filter オプションは、常にオブジェクトのコレクションが構築されてから適用されます。フィルター式が NAME プロパティを参照する場合、-filterinclude_replicated_objects を一緒に使用しないようにしてください。このような場合、NAME で指定したパターンと一致しないと、複製オブジェクトは返されません。たとえば、次の構文では、*reg_replica* に一致する複製オブジェクトは返されません。

get_cells -include_replicated_objects -filter {NAME =~ *rx_reg}

AMD では、設計手法チェック (report_methodology) を実行して XDCV-1 および XDCV-2 チェックのメッセージを確認し、get_cells/get_pins -include_replicated_objects オプションを使用して記述し直す必要がある制約を特定することを勧めしています。

図 1. 合成済みデザインでの制約の作成

インプリメンテーションに進む前に、大きなタイミング違反がないことを確認する必要があります。マイナーなタイミング違反であれば、たいていのものは配置配線で修正できますが、タイミング クロージャを不可能にするような根本的なデザインの問題は修正できません。

詳細は、 『Vivado Design Suite ユーザー ガイド: 合成』 (UG901) の「タイミング解析の実行」または 『Vivado Design Suite ユーザー ガイド: インプリメンテーション』 (UG904) の「インプリメンテーションでのデザイン制約の使用」を参照してください。