完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在设计一个双向ddr i / o电路,但遇到时序约束失败。
器件为A7-100-FGG484-2,开发环境为vivado 2016.2。当电路作为输入(t_rn = 1)运行时,ddr输入引脚ldat有一个有效的数据窗口,窄至1.4nS,中间与ddr输入对齐 时钟引脚lclkin,(tsu = 0.7nS,th = 0.7nS)。我使用iddr从ldat捕获ddr数据,但是时序要求不能满足。 时序报告显示时钟延迟远大于数据延迟,导致保持时间违规。我尝试将BUFG / BUFIO或IBUF直接连接到iddr原语,没有一个可以满足时序要求。可以帮我设计一个这样的双向 具有tsu = th = 0.7nS的Artix-7器件中的ddr i / o电路?顺便提一下,时序报告显示IBUF(0.886nS)/ BUFIO(1.105nS)的最大延迟远大于IBUF的最小延迟(0.265nS) )/ BUFIO(0.483nS),这是因为数据窗口缩小为1.4nS所以设置和保持不能同时满足的原因是什么? 以下是我的电路和设置/保持时序报告。 |
|
相关推荐
5个回答
|
|
这与路径是双向的这一事实无关。
这些工具(正确地)告诉您,它无法可靠地捕获小到1.4ns的数据眼(至少没有这种时钟结构)。 你有两个基本问题。 第一个(不太严重)是输入的时钟/数据关系与IDDR与BUFIO捕获的“最佳”时序不匹配。 这些工具告诉您,您需要更多延迟数据以匹配时钟插入。 这可以使用数据输入上的IDELAY元素来完成。 在理想的世界中,您添加的延迟量将减少您的设置松弛并增加您的保持松弛量。 尽管如此,这些工具告诉你这还不够。 即使您可以在数据延迟上精确地添加1.250ns(这会将保持违规减少到0),这会将您的设置松弛减少到-0.019ns - 技术上是失败。 由于设置松弛和保持松弛的总和小于0,因此该接口不可用。 根据我的经验,使用BUFR而不是BUFIO可以获得略微更好的时机 - 虽然不直观(我仍然认为这些工具是错误的),时间应该略有改善,但可能不够重要。 即使窗口改进得足以使setup_slack + hold_slack> 0,IDELAY的添加也会破坏这一点。 添加IDELAY会增加相当多的额外窗口要求,原因有两个 - 通过IDELAY的额外无补偿延迟路由 - 由于延迟数据导致的模式相关抖动 通过向时钟而不是数据添加延迟可以避免两者中的第二个,但为此,您还需要更改约束以修改启动和捕获边缘关系。 看看这篇关于约束中心对齐源同步DDR输入接口的文章。 但是,再一次,我认为这不会在Artix-7中发挥作用,即使在-2速度等级...... Kintex-7有点快(可能更好),但可能仍然不够。 如果你无法静态捕获,那么你将不得不求助于某种动态捕获机制(带校准)。 Avrum 在原帖中查看解决方案 |
|
|
|
嗨,
缓冲区不会有太大帮助。 尝试延迟数据路径以匹配时钟路径延迟。 IDELAYE2原语可以很好地运行Artix7,它可以插入到您的数据路径中。 选择合适的分接头值以获得所需的延迟。 问候。 -------------------------------------------------- -------------------------------------------------- ---- FPGA爱好者!------------------------------------------- -------------------------------------------------- ----------- |
|
|
|
这与路径是双向的这一事实无关。
这些工具(正确地)告诉您,它无法可靠地捕获小到1.4ns的数据眼(至少没有这种时钟结构)。 你有两个基本问题。 第一个(不太严重)是输入的时钟/数据关系与IDDR与BUFIO捕获的“最佳”时序不匹配。 这些工具告诉您,您需要更多延迟数据以匹配时钟插入。 这可以使用数据输入上的IDELAY元素来完成。 在理想的世界中,您添加的延迟量将减少您的设置松弛并增加您的保持松弛量。 尽管如此,这些工具告诉你这还不够。 即使您可以在数据延迟上精确地添加1.250ns(这会将保持违规减少到0),这会将您的设置松弛减少到-0.019ns - 技术上是失败。 由于设置松弛和保持松弛的总和小于0,因此该接口不可用。 根据我的经验,使用BUFR而不是BUFIO可以获得略微更好的时机 - 虽然不直观(我仍然认为这些工具是错误的),时间应该略有改善,但可能不够重要。 即使窗口改进得足以使setup_slack + hold_slack> 0,IDELAY的添加也会破坏这一点。 添加IDELAY会增加相当多的额外窗口要求,原因有两个 - 通过IDELAY的额外无补偿延迟路由 - 由于延迟数据导致的模式相关抖动 通过向时钟而不是数据添加延迟可以避免两者中的第二个,但为此,您还需要更改约束以修改启动和捕获边缘关系。 看看这篇关于约束中心对齐源同步DDR输入接口的文章。 但是,再一次,我认为这不会在Artix-7中发挥作用,即使在-2速度等级...... Kintex-7有点快(可能更好),但可能仍然不够。 如果你无法静态捕获,那么你将不得不求助于某种动态捕获机制(带校准)。 Avrum |
|
|
|
非常感谢,但答案是抑制。
我认为该报告暗示数据窗口窄至1.25 ns无法在7-2速度下正确捕获,因为设置松弛和保持松弛的总和为负。 但是,为什么a7 ddr2sdram控制器可以在400MHz内正确捕获数据,因为数据窗口也很窄。 |
|
|
|
但是,为什么a7 ddr2sdram控制器可以在400MHz内正确捕获数据,因为数据窗口也很窄。
MIG控制器中的PHY层使用许多动态校准机制来捕获小于静态捕获的数据眼。 Avrum |
|
|
|
只有小组成员才能发言,加入小组>>
2413 浏览 7 评论
2820 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2292 浏览 9 评论
3371 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2456 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1030浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
576浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
434浏览 1评论
1998浏览 0评论
721浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 15:33 , Processed in 1.349365 second(s), Total 83, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号