微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问什么是slack time?

请问什么是slack time?

时间:10-02 整理:3721RD 点击:
不好意思,我的问题多多!哈哈

请问什么是slack time?
基本上可以理解为你期望的时序要求和实际的差值

请问什么是slack time?
那么说应该是越小越好了?

请问什么是slack time?
一般是这样的。

请问什么是slack time?
只要是正的就可以,数值是越大越好。

请问什么是slack time?
我来给一个实际分析结果吧,呵呵。
Slack:                  0.118ns (requirement - (data path - clock path skew + uncertainty))
  Source:               .. (隐去)
  Destination:          .. (隐去)
  Requirement:          9.615ns
  Data Path Delay:      9.497ns (Levels of Logic = 7)

请问什么是slack time?
当然是越大越好,-1 总比 -10 强,但是应为正才行,而且越大越好,越大说明你的设计冗余度越大

请问什么是slack time?
没太明白,既然是“你期望的时序要求和实际的差值 ”,那么为什么要越大越好呢?

请问什么是slack time?
举个例子吧。
假如你期望某条路径的最大延时是10ns,那么你想这条路径的实际延时是8ns好呢还是9ns好呢?
我认为slack是大好还是小好,与采用的单位有关。

请问什么是slack time?

那么出现负的情况(期望值与实际值的差),又是一种怎样的原因呢!

如果是延时信息的话,说明你的实际延时没有满足你要求的延时

请问什么是slack time?
一般的做法是约束设得比要求严一些,因为靠wireload模型综合的结果本身就不是很可靠。
slack到0基本就可以认为ok。
place&route才是关键。

请问什么是slack time?
[这个贴子最后由hpsun在 2004/03/10 09:21am 第 1 次编辑]
翻译成中文是“(时间)裕量”,这下子不用解释也知道是什么意思了吧,就是时钟周期的长度减去时序通路(timing path)上花费的时间,如果是负数,则出现时序违规(timing violation)。如果是正数,则说明满足时序要求(timing requirement),或者说满足时序规约(timing specification)。
其实也未必能够说越大越好,其实只要能满足要求就好。如果正值过大,是否应该考虑系统主频过低,没有能够更好的发挥计算能力呢?

请问什么是slack time?
总算有点明白了!

好像有点明白了,但是如果是负的,怎么来修改Code呢?

1)修改PR的布局布线策略,比如改成时间优化,允许duplication(禁止逻辑优化)等
2)  加强placement constraint
5)使用floorplanner
以上几点不需要修改设计。如果还不行就要优化code了。
3)减少fanout (尤其中间的组合逻辑)
4)插入额外的flip-flop

总之是和期望的差距。把它控制在绝对值足够小的范围内。0最好了

余量
小于零就是不满足要求

出现slack为正,裕度大不容易出现时序的差错,出现负值,是不是约束的太严格了呢。

就是时序余量,当然是越大越好了,越大说明你的时序余量越大,频率在高点也不会出现时序问题。

去查文档

一般为正就OK了

看来大家认识不统一啊,还是以文档为准

学习了

代表setup/hold time無法match你的需求

setup slack equals data required time minus data arrival time
     setup slack是正值的话,表示data required time在data arrival time之后,那么setup time 一定满足;如果不是,当然就不满足了。
hold slack equals data arrival time minus data required time      同样,为正值的话,满足hold time

slack负就表示时序在当前参数设置下不满足;为正的话也不是越大越好吧,越大表明你时序不紧。

明白了,谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top