次に、クエリに関するその他の推奨事項を示します。
- all_registers を使用したクエリは多数のオブジェクトを返すので、できるだけ使用しないようにしてください。このようなクエリは、適切な名前パターンを使用したセル/ピンのクエリに置き換える必要があります。
-
all_registers
をどうしても使用する必要があり、このクエリであるクロック ドメインからのすべての順次エレメントを取得する場合は、all_registers
-clock を使用する場合とクロック オブジェクトを直接使用する場合とで適用範囲が同じになることがあります。たとえば、次の 2 つのコマンドの適用範囲は同じですが、
get_clocks
を使用する 2 つ目のコマンドは、マルチサイクル パス制約で膨大な数の順次エレメントではなく 1 つのクロック オブジェクトを参照しているので、より効率的です。元の制約:
set_multicycle_path –from [all_inputs] –to [all_registers –clock clk1]
効率的な制約:
set_multicycle_path –from [all_inputs] –to [get_clocks clk1]
重要:
Vivado Design Suite 2018.3 から、all_registers コマンドは、少なくとも 1 つのイネーブルにされたセットアップ/ホールド/リカバリ/リリムーバル タイミング アークおよび CLK->Q タイミング アークを含むプリミティブしか返さなくなりました。つまり、BUFGCE および BUFGCE_DIV などのバッファーは all_registers コマンドでは返されなくなりました。