赛灵思
直播中

郝汉

7年用户 182经验值
私信 关注
[问答]

Kintex 7输入IO焊盘和FF(片寄存器)之间的额外LUT是什么

在Kintex 7目标(我正在使用xc7k410t)上,在P& R之后,我发现ISE在输入焊盘和切片寄存器之间的每个数据网上放置了3个额外的LUT,充当路径引线。
但是在设备利用率报告中,那些LUT被视为逻辑,而不是路由。我尝试了ISE 13.4和14.3,两者都有这种行为。
任何人都知道为什么有这样的额外LUT?
下面是我的VHDL中定义的输入Pad和触发器之间的单个数据位的拓扑:
以下是切片中的互连。
该LUT的O6输出等于A1输入,然后该信号离开切片。

回帖(8)

赵文平

2020-7-16 07:46:04
如果您的设计使用不使用MMCM,DCM或PLL(CMT)的BUFG来消除延迟时钟,那么ISE将插入3个LUT以帮助最小化必须添加以解决保持时间的路由。
如果您的BUFG不使用CMT来消除时钟插入延迟,那么从PAD到BUFG然后从BUFG再到FF将会有很多延迟。
在以前的架构中,工具总是为此电路拓扑启用未补偿的IOBDELAY元素。未补偿的IOBDELAY不使用IDELAYCNTRL来保证固定延迟,因此它也有可能导致PVT延迟的大幅度变化,与3LUT和结构路由相同

在7系列中,所有IO都没有未补偿的IOBDELAY,因此他们的工具无法自动插入它以解决时钟的大延迟(当不使用CMT时)。
因此,当识别出此拓扑时,工具将插入3个LUT。
如果您不想要3个LUT,那么组件上只有IOBDELAY = NONE,这将禁用插入延迟。
你也可以设置IOB = FORCE这将强制FF进入IOB并防止插入LUT。
设置IOB = FORCE并仅为高范围IO设置IOBDELAY = IFF,这将打开IO中未补偿的延迟并防止LUT插入。
请注意,高范围IO中没有未补偿的IOBDELAY,因此如果您尝试在HR IO中执行此操作,则会出现错误。
为此拓扑设置IOB = TRUE(BUFG没有CMT以消除时钟插入延迟)仍将导致FF被推入结构并插入3个LUT,因为工具识别出可能存在必须保持违规
得到解决。
如果你想超过这个,那么设置IOB = FALSE
有关使用IOBDELAY约束的更多信息,请参阅约束指南。
在原帖中查看解决方案
举报

李桂芝

2020-7-16 08:01:14
对不起,我没有附上数据。
此附件是拓扑
举报

李桂芝

2020-7-16 08:08:02
这是切片中的互连
举报

陈玉筠

2020-7-16 08:20:28
您没有向我们提供太多信息,但我的猜测是该工具有意添加这些信息以修复保留时间违规。
如果您在输入上具有VALID规范的OFFSET IN,则工具将在VALID窗口的末尾执行保持检查。
如果数据在触发器有机会对其进行采样(并满足其保持时间要求)之前消失,那么这些工具将为传入数据路径添加延迟,以便使数据保持“更长”以满足
保持翻牌的时间要求。
这似乎可以通过工具命名单元格来确认* _DELAY_ *
如果您100%确定您的OFFSET IN约束是100%正确(即您已经分析了输入接口并包括所有时钟偏移,抖动和传播的来源),并且该工具满足此配置的时序,那么接口应该工作
但是,经常不会。
该工具将修复保持时间违规超过设置时间违规。
在添加这三个延迟LUT时,该工具添加了最小量的延迟以满足保持时间要求。
然而,这些延迟是高度依赖于工艺/温度/电压的 - 在“最佳PVT”下增加最小1ns的延迟,这将导致最差PVT时延迟约3ns。
这种延迟可能(并且经常会)使得无法满足此输入的设置时间要求。
这(通常)不是设计可靠输入接口的良好机制。
使用IOB FF捕获输入数据通常更可靠。
如果数据窗口不在适当的位置(分析后),那么你应该设计一种将它放在正确位置的机制 - 用早先到达的时钟(使用DCM / MMCM / PLL)捕获它,或者放一些
使用IDELAY单元延迟数据。
这些机制的主要优点是它们都经过PVT补偿 - IDELAY的延迟和DCM / PLL / MMCM的相位调整都非常精确;
如果你要求1ns的延迟,你将获得1ns +/-几百皮秒 - 而不是1-3ns,因为你会得到结构延迟。
Avrum
举报

更多回帖

发帖
×
20
完善资料,
赚取积分