デザイン階層の一部を確認して、物理制約を作成するためにロジック エレメントを配置します。
- Flow Navigator で Open Synthesized Design をクリックします。この手順に直接進んだ場合は、合成済みのデザインが既に開いているかもしれません。
合成済みネットリストが開き、[Device] ウィンドウが表示されます。
- Netlist ウィンドウをクリックし、clkgen 階層を展開します。
-
Leaf Cells フォルダーを展開し、mmcm_adv_inst (MMCME2_ADV) インスタンスを選択します。
- [Cell Properties] ビューの [Properties] タブを確認します。[STATUS] が [UNPLACED] になっており、IS_LOC_FIXED または IS_BEL_FIXED プロパティはありません。
- [Tcl Console] ウィンドウに次を入力します。
get_property IS_LOC_FIXED [get_cells clkgen/mmcm_adv_inst]
0 が返されます。つまり、このオブジェクトは特定のロケーションに固定されていません。
- [Device] ウィンドウの右下を拡大表示し、クロック領域 X1Y0 の下半分を表示し、選択したオブジェクトを配置する準備をします。次の図を参照してください。ヒント: [Routing Resources] をオフにして配線リソースを非表示にすると、[Device] ウィンドウでロジックを配置しやすくなります。[Routing Resources] がオンになっている場合は、ツールバーの Routing Resources ボタン をクリックしてオフにします。
- [Netlist] ウィンドウで mmcm_adv_inst を選択し、[Device] ウィンドウにドラッグして、右下にある MMCME2_ADV に配置します。
- [Tcl Console] ウィンドウを確認します。次の 3 つのコマンドが表示されているはずです。
startgroup place_cell clkgen/mmcm_adv_inst MMCME2_ADV_X1Y0/MMCME2_ADV endgroup
startgroup
およびendgroup
Tcl コマンドは、Vivado ツールで取り消し機能をサポートするためコマンド シーケンスを囲みます。間違えた場合は、[Tcl Console] ウィンドウでundo
コマンドを使用するか、または をクリックします。現在の配置が解除され、やり直すことができます。startgroup
、endgroup
、およびundo
の詳細は、 『Vivado Design Suite Tcl コマンド リファレンス ガイド』 (UG835) を参照してください。 - [Cell Properties] ウィンドウの [Properties] タブで配置した MMCM セルを確認します。
次の図に示すように、オブジェクトが配置されたことを反映して、IS_BEL_FIXED および IS_LOC_FIXED プロパティがオンになっています。STATUS プロパティも FIXED に設定されています。
注記: [Device] ウィンドウの [Cell Drag and Drop] モードにより、オブジェクトを配置したときに IS LOC FIXED のみを設定するか、IS BEL FIXED も設定するかが決定されます。[Device] ウィンドウの詳細は、 『Vivado Design Suite ユーザー ガイド: Vivado IDE の使用』 (UG893) のこのセクションを参照してください。
オブジェクトの
IS_BEL_FIXED
およびIS_LOC_FIXED
プロパティは物理制約で、オブジェクトの配置を反映しています。これらの制約は Vivado インプリメンテーションで使用され、ツールでは変更されません。これらのプロパティが無効な場合、デザイン フローの後の段階でエラーが発生することがあります。[Device] ウィンドウで
mmcm_adv_inst
を配置すると、Save Constraints ボタン がイネーブルになります。物理制約は Vivado ツールのインメモリ デザインには追加されていますがターゲット制約ファイルには保存されていません。