Vivado ツールでは、インメモリ デザインに対して次の表に示すように物理最適化が実行されます。
重要: 特定の物理最適化に対応するコマンド オプションを指定すると、その最適化のみが実行されます。ほかの最適化は、通常デフォルトで実行されるものも、ディスエーブルになります。
オプション名 | 配置後 | 配線後 | ||
---|---|---|---|---|
実行可能 | デフォルト | 実行可能 | デフォルト | |
クリティカル セルの最適化 | Y 1 | Y 1 | Y 1 | N |
ファンアウトの最適化 | Y 1 | Y 1 | N | N/A |
ファンアウトが非常に大きいネットの最適化 | Y 1 | Y 1 | N | N/A |
インターコネクト リタイミング | Y 2 | Y 2 | Y 2 | Y 2 |
クリティカル セルのグループ最適化 | Y 2 | Y 2 | N | N/A |
クロックの最適化 | Y 2 | Y 2 | ○ | ○ |
DSP レジスタの最適化 | ○ | ○ | × | N/A |
ブロック RAM レジスタの最適化 | ○ | ○ | × | N/A |
UltraRAM レジスタの最適化 | ○ | ○ | × | N/A |
シフト レジスタの最適化 | ○ | ○ | × | N/A |
クリティカル ピンの最適化 | ○ | ○ | ○ | ○ |
LUT 再構築の最適化 | ○ | ○ | ○ | ○ |
シングル LUT の最適化 | Y 2 | Y 2 | Y 2 | Y 2 |
LUT カスケードの最適化 | Y 2 | Y 2 | N | N/A |
配置の最適化 | Y 1 | Y 1 | Y 1 | Y 1 |
配線の最適化 | × | なし | ○ | ○ |
ブロック RAM イネーブルの最適化 | Y 1 | × | N | N/A |
ホールド違反修正 | ○ | × | ○ | × |
立ち下がりエッジで動作するフリップフロップの挿入 | ○ | × | N | N/A |
Laguna ホールド違反の修正最適化 | N | N/A | Y 1 | × |
ネットの強制的な複製 | ○ | × | N | N/A |
SLR をまたぐパスの最適化 | Y 1 | Y 1 | Y 1 | Y 1 |
|
最適化がプリミティブ セルで実行されると、そのセルの PHYS_OPT_MODIFIED プロパティがアップデートされ、最適化が反映されます。複数の最適化が同じセルに対して実行される場合、PHYS_OPT_MODIFIED 値に最適化リストが発生する順序で含まれます。次の表は、PHYS_OPT_MODIFIED プロパティとその該当値へのアップデートをトリガーする phys_opt_design
オプションをリストしています。
phys_opt_design オプション | PHYS_OPT_MODIFIED 値 |
---|---|
-fanout_opt
|
FANOUT_OPT |
-placement_opt
|
PLACEMENT_OPT |
-routing_opt
|
MISC_OPT |
-slr_crossing_opt
|
SLR_CROSSING_OPT |
-insert_negative_edge_ffs
|
INSERT_NEGEDGE |
-restruct_opt
|
RESTRUCT_OPT |
-interconnect_retime
|
IMR_RETIME_OPT |
-lut_opt
|
MISC_OPT |
-casc_opt
|
MISC_OPT |
-cell_group_opt
|
CELL_GROUP_OPT |
-critical_cell_opt
|
CRITICAL_CELL_OPT |
-dsp_register_opt
|
DSP_REGISTER_OPT |
-bram_register_opt
|
BRAM_REGISTER_OPT |
-uram_register_opt
|
URAM_REGISTER_OPT |
-shift_register_opt
|
SHIFT_REGISTER_OPT |
-hold_fix
|
HOLD_FIX |
-aggressive_hold_fix
|
HOLD_FIX |
-retime
|
MISC_OPT |
-force_replication_on_nets
|
FORCE_REPLICATION_ON_NETS |
-critical_pin_opt
|
MISC_OPT |
-clock_opt
|
CLOCK_OPT |
-sll_reg_hold_fix
|
MISC_OPT |