步骤2:添加放置约束
探索一些设计层次结构,并开始放置逻辑元素以创建物理
约束。
1.从Flow Navigator中,选择Open Synthetic Design。综合设计可能
如果您直接进入此步骤,则已经打开。
合成网表打开,显示设备窗口。
2.选择网表窗口并展开clkgen层次结构。
3.展开Leaf Cells文件夹并选择实例mmcm_adv_inst(MMCME2_adv)
4.查看Properties选项卡下的Cell Properties视图,注意STATUS为
未放置,并且没有显示IS_LOC_FIXED或IS_BEL_FIXED属性。
5.在Tcl控制台中键入以下命令进行检查:
获取属性IS_LOC_FIXED[获取单元格clkgen/mmcm_adv_inst]
这将返回零,表示对象未固定到某个位置。
6.放大设备视图的右下角,显示时钟区域的下半部分
X1Y0,准备放置所选对象。请参见下图。
提示:如果不显示路由资源,则更容易在设备窗口中放置逻辑。如果他们是
显示时,选择“路由资源”工具栏按钮以禁用。
7.在网表窗口中,单击mmcm_adv_inst并将其拖动到设备窗口中
将其放入右下角的MMCME2_ADV中。
8.查看Tcl控制台。您应该看到以下三个命令:
启动组
位置_电池电量/mmcm_adv_inst MMCME2_adv_X1Y0/MMCME2_ adv
终端组
startgroup和endgroup Tcl命令将命令序列括起来以支持
Vivado工具中的撤消功能。如果出错,可以使用撤消命令
在Tcl控制台中,或使用“编辑”→“撤消”命令。这可以撤消放置并允许您
要重做它。有关开始组、结束组和撤消的更多信息,请参阅Vivado
设计套件Tcl命令参考指南(UG835)。
9.查看您放置的MMCM单元格的“单元格属性”窗口的“属性”选项卡。
请注意,现在检查了IS_BEL_FIXED和IS_LOC_FIXED属性,反映
对象已放置,如下图所示。STATUS属性已设置
也要固定。
注意:“设备”窗口中的“单元格拖放”模式决定是否只有“已固定LOC”
放置对象时,也会设置“是否固定”。请参阅Vivado设计套件用户中的此链接
指南:使用Vivado IDE(UG893)了解有关设备窗口的更多信息。
对象上的IS_BEL_FIXED和IS_LOC_FIXED属性是物理约束
反映物体的位置。这些约束由Vivado实现使用,
并且它们不会被工具改变。但是,如果属性无效,则可能
导致设计流程下游的错误。
请注意,当您在“设备”窗口中放置mmcm_adv_inst时,保存约束
按钮已启用。物理约束将添加到内存中的Vivado工具中
设计,但它们尚未保存到目标约束文件中。