vivado 修改实施结果、修改设计的放置、布线

修改实施结果

本节介绍如何修改设计的放置、布线和逻辑。

修改放置

Vivado工具跟踪已放置单元格的两种状态,“固定”和“未固定”,这描述了Vivado工具在设计中查看放置的单元格。

固定单元格

固定单元格是您自己放置的单元格,或者单元格的位置约束具有已从XDC文件导入。

•Vivado设计套件将这些放置的单元格视为固定单元格。

•除非得到指示,否则固定单元格不会移动。

•下图中的FF显示为橙色(默认值),表示它是固定的。

未固定单元格

Vivado工具在实施过程中,在place_design命令或在优化命令之一的执行时执行。

•Vivado Design Suite将这些放置的单元格视为未固定(或松散放置)的单元格。

•这些单元可以根据设计迭代中的需要由实施工具移动。

•下图中的LUT显示为蓝色(默认值),表示其为“未固定”。

LOCS和BELS都可以固定。上面的放置会生成以下约束:

set_property is_bel_fixed true [get_cells [list {usbEngine0/u4/u6/
csr0_reg[6]}]]
set_property is_loc_fixed true [get_cells [list {usbEngine0/u4/u6/
csr0_reg[6]}]]

LUT上没有放置约束。其位置未固定,表明放置不应进入XDC。

修复放置器放置的逻辑

要在Vivado IDE中固定Vivado放置器放置的单元,请执行以下操作:

1.选择单元格。

2.从弹出菜单中选择“修复单元格”。

要使用Tcl固定单元格位置,请使用以下形式的命令:

set_property is_bel_fixed TRUE [get_cells [list {fftEngine/
control_reg_reg[1]_i_1}]]
set_property is_loc_fixed TRUE [get_cells [list {fftEngine/
control_reg_reg[1]_i_1}]]

有关Tcl命令的更多信息,请参阅《Vivado Design Suite Tcl命令参考指南》(UG835),或键入<command>-help。

手动放置和移动逻辑

你可以手动放置和移动逻辑。

•如果单元格已放置,请将其拖放到新位置。

•如果单元格未放置:

1.单击“拖放模式”工具栏按钮,然后选择“创建BEL约束模式”。

2.将逻辑从“网表”窗口或“定时报告”窗口拖动到设备窗口。

逻辑会迅速转移到一个新的合法位置。

提示:将逻辑拖动到设备窗口中的某个位置时,GUI仅允许您将逻辑拖放到合法地点。如果位置非法(例如,由于Slice FF的控制集限制)逻辑不会“捕捉”到“设备”视图中的新位置,也无法进行分配。

手动放置逻辑可能很慢,并且仅在特定情况下使用。约束是脆弱的关于设计更改,因为在约束中使用了单元名称。

使用Tcl命令放置逻辑

您可以使用place_cell Tcl将逻辑放置到目标部件的设备资源上命令细胞可以放置在特定的BEL位点上(例如,SLICE_X49Y60/A6LUT)或转换为可用的站点(例如SLICE_X49Y60)。如果指定了站点而没有指定BEL,则工具在指定站点内确定适当的BEL(如果有)。您可以使用place_cell命令,用于放置单元格或将放置的单元格从设备上的一个站点移动到另一个网站。命令语法与放置未放置的单元格或移动放置的单元格相同

提示:将逻辑分配到非法位置时(例如,由于Slice的控制集限制FF),Tcl控制台发出错误消息,并且忽略分配。使用place_cell Tcl命令放置的单元格被视为已固定Vivado工具。

修改工艺路线

设备视图允许您修改设计的布线。您可以取消路由、路由和修复任何单个网络上的路由。

要在网络上取消路由、路由或修复路由,请执行以下操作:

1.打开设备窗口。

2.选择网络。

•未布线的网由红色飞线表示。

•部分路由的网络以黄色突出显示。

•具有固定路由的网络由虚线路由表示。

3.右键单击并选择“取消路由”、“路由”或“修复路由”。

•取消路由和路由:以重新进入模式调用路由器,以在上执行操作网有关详细信息,请参见route_design。

•修复路线:保存路线,在路线数据库中标记为固定路线,并修复LOC以及驱动器的BEL和网络的负载。您也可以输入“分配路由模式”手动布网。有关更多信息,请参阅下面的手动布线。

提示:所有网络命令都可以从网络上的上下文菜单中获得。