完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在Kintex 7目标(我正在使用xc7k410t)上,在P& R之后,我发现ISE在输入焊盘和切片寄存器之间的每个数据网上放置了3个额外的LUT,充当路径引线。
但是在设备利用率报告中,那些LUT被视为逻辑,而不是路由。我尝试了ISE 13.4和14.3,两者都有这种行为。 任何人都知道为什么有这样的额外LUT? 下面是我的VHDL中定义的输入Pad和触发器之间的单个数据位的拓扑: 以下是切片中的互连。 该LUT的O6输出等于A1输入,然后该信号离开切片。 |
|
相关推荐
8个回答
|
|
如果您的设计使用不使用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约束的更多信息,请参阅约束指南。 在原帖中查看解决方案 |
|
|
|
|
|
|
|
这是切片中的互连
|
|
|
|
您没有向我们提供太多信息,但我的猜测是该工具有意添加这些信息以修复保留时间违规。
如果您在输入上具有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 |
|
|
|
Avrum,
感谢您的回复,这对解决一般I / O输入时序违规问题非常有帮助。 但是,这仍然无法解释为什么ISE总是在我的设计中插入额外的LUT。 我做了3次实验,每次,ISE在每个I / O和第一个寄存器之间插入3个LUT: 1.使用宽松的时钟周期约束,没有OFFSET IN约束。 没有建立/保持违规,因此无需延迟数据信号。 NET“Clk”TNM_NET = Clk; TIMESPEC TS_Clk = PERIOD“Clk”10 ns HIGH 50%; 2.再次设置松散的OFFSET IN约束,不需要延迟数据信号。 NET“Clk”TNM_NET = Clk; TIMESPEC TS_Clk = PERIOD“Clk”10 ns HIGH 50%; TIMEGRP“DataIn”OFFSET = IN 5 ns有效10 ns,在“Clk”上升之前; 3.设置一个非常小的IN约束,因此使用LUT延迟数据信号将导致设置时间违规。 它实际上会导致设置时间违规。 NET“Clk”TNM_NET = Clk; TIMESPEC TS_Clk = PERIOD“Clk”10 ns HIGH 50%; TIMEGRP“DataIn”OFFSET = IN 0.1 ns有效10 ns“Clk”上升之前; 在这些情况下,没有必要使用LUT来延迟信号。 所以我想知道为什么会这样。 这种行为给我带来麻烦,因为我想评估我的模块中使用了多少资源,并且LUT的数量总是高于预期。 我也尝试过Virtex 5,没有这样的LUT。 我在下面附上了一个示例项目。 它是一个简单的16位加法器,只需要16个LUT。 但实际上它还使用了96个LUT来延迟输入信号。 XAddY.zip 6 KB |
|
|
|
如果您的设计使用不使用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约束的更多信息,请参阅约束指南。 |
|
|
|
谢谢llewis,这回答了我的问题。
|
|
|
|
在我的帖子中更正atypo。
在下面的段落中,我说在高范围IO中没有未补偿的IOBDELAY(ZHOLD_DELAY)。 这应该说高性能IOB中没有ZHOLD_DELAY。 使用高性能IO时,ZHOLD的延迟变化可能太大,因此在使用高性能IO时,设计人员应使用带有IDELAYCNTRL的Calibrated IOBDELAY来确保良好的延迟跟踪。 请注意,高范围IO中没有未补偿的IOBDELAY,因此如果您尝试在HR IO中执行此操作,则会出现错误。 为此拓扑设置IOB = TRUE(BUFG没有CMT以消除时钟插入延迟)仍将导致FF被推入结构并插入3个LUT,因为工具识别出可能存在必须保持违规 得到解决。 如果你想超过这个,那么设置IOB = FALSE |
|
|
|
只有小组成员才能发言,加入小组>>
2380 浏览 7 评论
2797 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2262 浏览 9 评论
3335 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2428 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
756浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
545浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
366浏览 1评论
1963浏览 0评论
682浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 23:33 , Processed in 1.334154 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号