在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4156|回复: 11

[求助] set_input_daley

[复制链接]
发表于 2016-6-25 13:09:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
set_input_delay -min到底有什么用?set_input_delay -max是为了满足建立时间,那么set_input_delay应该是为了保证满足保持时间吧?为什么在做timequest分析时序的时候只是用了set_input_delay -max没有时序违例,但是加上了set_input_delay -min就是出现了setup违例呢?而且为什么是setup违例? 3P~QATU~MNFY8`8%_%4$NKE.png 这是图,上升沿和下降沿双沿采样。

下面是约束文件
set_input_delay -add_delay -max -clock [get_clocks {rgmii_rxclk}]  0.500 [get_ports {rgmii_rxctrl}]
#set_input_delay -add_delay -min -clock [get_clocks {rgmii_rxclk}]  -0.500 [get_ports {rgmii_rxctrl}]
set_input_delay -add_delay -max -clock_fall -clock [get_clocks {rgmii_rxclk}]  0.500 [get_ports {rgmii_rxctrl}]
#set_input_delay -add_delay -min -clock_fall -clock [get_clocks {rgmii_rxclk}]  -0.500 [get_ports {rgmii_rxctrl}]

当我把set_input_delay -min加上的时候回会在下降沿触发器的前面多一个逻辑块,这我能理解。但是多了一块让我奖励时间违例,我TM搞不懂。哦,前提是数据在进入触发器前没有任何组合逻辑。
发表于 2016-6-25 14:37:55 | 显示全部楼层
set_input_delay,用于约束输入端口信号在芯片外面的虚拟组合逻辑延时。-max和-min分别代表外部最长组合逻辑路径以及最短组合逻辑路径。

正常而言,对于最短路径,即-min,最小也只能等于0,就是完全没有组合逻辑;但是,可以考虑一种情况,外部用于产生rgmii_rxctrl信号的寄存器,它的时钟和你内部用于采样的时钟相位不一致,而是相对内部相位提前了0.5ns,那寄存器输出信号自然也提前0.5ns,现在假设寄存器输出信号还是维持原样,那就相当于说外部有一个虚拟的组合逻辑,它将rgmii_rxctrl提前了0.5ns,等价于这个组合逻辑的delay为负的0.5ns。这其实是灵活骗工具的一种约束,-min为负一般是过约束。

做hold检查的时候会使用-min,假如信号进来后内部没有任何组合逻辑,直接进入寄存器的D端,即使寄存器对hold时间需求只有0ns,显然内部就至少需要补偿0.5ns的buffer做delay。

回头看setup,使用-max,此时data path上的路径,除了外部的0.5ns,还要加上内部增加的这部分组合逻辑延时了。从而可能导致出现你说的setup不满足的情况。

上面解释的是原因。出现这个问题,你需要确认的是,自己的这个约束值是否合理。
 楼主| 发表于 2016-6-25 15:16:41 | 显示全部楼层
回复 2# 杰克淡定


   我使用set_input_delay -max ......是没有setup违例的,我同时使用set_input_delay -max..........和set_input_delay -min..........才出现setup违例。按理说,添加了这个最多出现hold违例,怎么会出现setup违例呢?
发表于 2016-6-25 15:30:41 | 显示全部楼层
回复 3# 谁枫而飘


额,我以为我上面说的已经足够清楚了。简而言之,加了-min为负的约束,导致综合时内部多出了buffer逻辑,增加了数据delay,更容易出现setup违例了。
 楼主| 发表于 2016-6-25 15:41:28 | 显示全部楼层
回复 4# 杰克淡定


   我看了这个是多了个逻辑,我也知道,但是他为什么不弄个延时小点的逻辑,这样就不会违例了啊?难道没有更小的了?还是其他什么原因?
发表于 2016-6-25 16:14:56 | 显示全部楼层
回复 5# 谁枫而飘

用延时小点的逻辑可能hold又无法满足了。按你目前给的约束,很可能是setup和hold无法做到同时满足,所以我才说要你确认自己给的这个约束值是否合理。
 楼主| 发表于 2016-6-25 16:22:14 | 显示全部楼层
回复 6# 杰克淡定


   没有道理啥,输入前没有任何逻辑,这个值完全是能保证 的啊
发表于 2016-6-25 16:23:25 | 显示全部楼层
回复 7# 谁枫而飘


   把setup的timing report贴出来看看
 楼主| 发表于 2016-6-25 17:12:13 | 显示全部楼层
回复 8# 杰克淡定


    ]$$(1DX6%8%A~76MRVWOTE0.png
 楼主| 发表于 2016-6-25 17:15:09 | 显示全部楼层
回复 8# 杰克淡定


    E~G~K0(RMCCT5$FY{U_4LUP.png 中间插入的组合逻辑这个延时也太大了点吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-1 05:30 , Processed in 0.023142 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表