若要对XDC文件中的约束进行反向注释以供将来运行,则所有单元的位置连接到固定网络的也必须保留。您可以通过选择来查询此信息原理图或设备视图中的单元格,并在中查看它们的LOC/BEL属性值“属性”窗口。或者,您可以直接从Tcl控制台查询这些值:
% get_property LOC [get_cells {a0 L0 L1}] SLICE_X0Y47 SLICE_X0Y47
SLICE_X0Y47
% get_property BEL [get_cells {a0 L0 L1}] SLICEL.CFF SLICEL.A6LUT
SLICEL.B6LUT
因为固定路由通常是定时关键的,所以LUT引脚映射也必须在LUT的LOCK_PINS属性,以防止路由器交换引脚。同样,您可以从Tcl控制台查询每个逻辑引脚的站点引脚:
% get_site_pins -of [get_pins {L0/I1 L0/I0}] SLICE_X0Y47/A4 SLICE_X0Y47/A2
% get_site_pins -of [get_pins {L1/I1 L1/I0}] SLICE_X0Y47/B3 SLICE_X0Y47/B2
修复netA的路由所需的完整XDC约束是:
set_property BEL CFF [get_cells a0] set_property BEL A6LUT [get_cells L0]
set_property BEL B6LUT [get_cells L1]
set_property LOC SLICE_X0Y47 [get_cells {a0 L0 L1}] set_property LOCK_PINS
{I1:A4 I0:A2} [get_cells L0] set_property LOCK_PINS {I1:A3 I0:A2}
[get_cells L1]
set_property FIXED_ROUTE { CLBLL_LL_CQ CLBLL_LOGIC_OUTS6 FAN_ALT5
FAN_BOUNCE5 {
IMUX_L17 CLBLL_LL_B3 } IMUX_L11 CLBLL_LL_A4 } [get_nets netA]
如果使用交互式Tcl命令而不是XDC,则可以使用几个放置约束
使用place_cell命令一次指定,如下所示:
place_cell a0 SLICE_X0Y47/CFF L0 SLICE_X0Y47/A6LUT L1 SLICE_X0Y47/B6LUT
配置约束
配置约束是位流生成的全局约束,应用于当前设计。这包括诸如配置模式之类的约束。
配置约束示例一将CONFIG_MODE设置为M_SELECTMAP
% set_property CONFIG_MODE M_SELECTMAP [current_design]
配置约束示例二
打开调试位流。
% set_property BITSTREAM.GENERAL.DEBUGBITSTREAM Yes [current_design]
配置约束示例三
禁用CRC检查
% set_property BITSTREAM.GENERAL.CRC Disable [current_design]