vivado LOCK_PINS

LOCK_PINS是一个单元格属性,用于指定逻辑LUT输入(I0、I1、I2等)的映射
Xilinx FPGA资源上的物理LUT输入(A6、A5、A4等)。一个常见的用法是强迫
定时关键LUT输入被映射到最快的A6和A5物理LUT输入。
默认情况下,LUT引脚按从高到低的顺序映射。最高逻辑引脚为
映射到最高物理引脚。
•放置在A6LUT标签上的ALUT6的默认引脚映射为:
I5:A6 I4:A5 I3:A4 I2:A3 I1:A2 I0:A1
•放置在D5LUT标签上的LUT5的默认引脚映射为:
I5:A5 I4:A4 I3:A3 I2:A2 I1:A1
•放置在A6LUT标签上的LUT2的默认引脚映射为:
I1:A6 I0:A5

LOCK_PINS属性由Vivado路由器使用,它不会修改引脚映射
即使这会导致时间的改善,也可以锁定LUT。LOCK_PINS对于
定向路由。如果通过定向路由连接的引脚与另一个引脚交换,
定向路由将不再与LUT连接对齐从而导致错误。所有LUT
由定向路由网络驱动的单元应使用LOCK_pins锁定其引脚。请参阅
Vivado设计套件用户指南:实施(UG904)[参考20]了解更多信息
关于定向路由。
注意:DONT_TOUCH并不意味着LOCK_PINS。
当运行phys_opt_design-critical_pin_opt优化时
LOCK_PINS属性未优化,LOCK_PINS指定的引脚映射为
保留。请参阅《Vivado设计套件Tcl命令参考指南》(UG835)[参考13]
有关phys_opt_design命令的更多信息。

当从单元格中删除LOCK_PINS属性时,引脚映射将被清除
引脚可以自由更换。但是,当前引脚没有立即变化
作业。
架构支持
所有架构。
适用对象
•LUT单元(get_cell)
价值观
•LOCK_PINS{I0:A6 I1:A5}:一个或多个引脚映射对,分配LUT逻辑
使用逻辑到物理引脚映射对将引脚映射到LUT物理引脚。
°LOCK_PINS值语法是一个无序的引脚映射列表,由
HDL中的逗号或XDC中的空格。
°可能的实例引脚列表范围从LUT1的I0到LUT1的I4到I5
LUT6.6LUT的物理引脚范围从A6(最快)到A1,A5(最快
A1代表5LUT。
提示:Vivado设计中不支持ISE支持的ALL值或无值表示ALL
一套。要锁定所有引脚,必须明确指定每个引脚。任何未列出的逻辑引脚都映射到
使用默认映射的物理引脚

Syntax
Verilog Syntax
LOCK_PINS values can be assigned as a Verilog attribute placed on instantiated LUT cells
(e.g. LUT6, LUT5, etc).
The following example defines LOCK_PINS with pin mapping logical I1 to A5, and logical I2
to A6, on a LUT cell LUT_inst_0:
(* LOCK_PINS = "I1:A5, I2:A6" *) LUT6 #(.INIT(64'h1) ) LUT_inst_0 (. . .
Verilog Example
module top (
i0,
i1,
i2,
i3,
i4,
i5,
o0);
input i0;
input i1;
input i2;
input i3;
input i4;
input i5;
output o0;
(* LOCK_PINS = "I1:A5,I2:A6" *)
LUT6 #(
.INIT(64'h0000000000000001))
LUT_inst_0
(.I0(i0),
.I1(i1),
.I2(i2),
.I3(i3),
.I4(i4),
.I5(i5),
.O(o0));
endmodule
VHDL Syntax
LOCK_PINS values can be assigned as a VHDL attribute placed on instantiated LUT cells (e.g.
LUT6, LUT5, etc).
The following example defines LOCK_PINS with pin mapping logical I1 to A5, and logical I2
to A6, on a LUT cell LUT_inst_0:
attribute LOCK_PINS : string;
attribute LOCK_PINS of LUT_inst_0 : label is "I1:A5, I2:A6";
. . .
VHDL Example:
entity top is port (
i0, i1, i2, i3, i4, i5 : in std_logic;
o0 : out std_logic
);
end entity top;
architecture struct of top is
attribute lock_pins : string;
attribute lock_pins of LUT_inst_0 : label is "I1:A5, I2:A6";
begin
LUT_inst_0 : LUT6 generic map (
INIT => "1"
) port map (
I0 => i0,
I1 => i1,
I2 => i2,
I3 => i3,
I4 => i4,
I5 => i5,
O => o0
);
end architecture struct;
XDC Syntax
The LOCK_PINS property can be set on LUT cells using the set_property Tcl command in the
Vivado Design Suite:
set_property LOCK_PINS {pin pairs} [get_cells instance_name]
Where:
instance_name is one or more LUT cells.
IMPORTANT: XDC requires white space separation between pin pairs to satisfy the Tcl list syntax, while
HDL syntax requires comma-separated values.
XDC Syntax Example
% set myLUT2 [get_cells u0/u1/i_365]
% set_property LOCK_PINS {I0:A5 I1:A6} $myLUT2
% get_property LOCK_PINS $myLUT2
I0:A5 I1:A6
% reset_property LOCK_PINS $myLUT2
% set myLUT6 [get_cells u0/u1/i_768]
% set_property LOCK_PINS I0:A6 ; # mapping of I1 through I5 are dont-cares
  • 27
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值