微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于DC综合后slack为零的问题求助啊!

关于DC综合后slack为零的问题求助啊!

时间:10-02 整理:3721RD 点击:
用DC综合以后 slack为零 ss tt ff 下 都没有明显的变化 分别是 0  0.02  0.04  我跑的是125M频率 频率下降一倍以后才会有明显的slack余量  请问 这个 可能是什么原因  约束里面没有对面积进行约束   是代码的问题 还是说 我加的时序约束上面存在问题 ?

这基本是DC的正确功能。
因为增加slack (搞成正值),需要电路的delay更小。意味着面积更大。
DC只要满足了你的时许要求,为什么要把面积弄那么大呢?
所以你降低频率后,area一般有相应的下降。



    那我是不是可以认为 这个结果是可行的,就是说代码在这个速度下是可以实现的,仅DC综合的结果来看。
是不是可以进行下面的工作了呢~
   还有一个问题是 ,有没有办法得到更大的slack ,是对面积做一定的约束么? 还请你不吝指点下 ,先谢谢啦~

还希望有人能再指点一二啊 各位大神

dc 的结果 和 约束在一个小范围内可能是线性相关的。但全局上不是。
你改动一点约束,结果没什么变化,或者结果变化很大。都是可能的。要看约束到什么程度。
能不能做下一步,除了看你综合结果,还要看你的约束质量。
约束太松了,综合很好通过,但到后面可能不行。
这个需要前后结合,综合判断。



    哦,谢谢大神回答。我现在没有约束面积,现在这样的slack是不是跟这个有一定的关系 。
  我觉得加约束这方面 体会还是不够 没有一个比较明确的概念。 也不知道是代码的问题还是自己
约束没有加对,这个就太头疼了

加任何一条约束都有可能改变结果。
但这个改变可能非常不明显。
比如你加一个比你现在面积大得多的约束。
我不太清楚你脑中是怎么看待目前这个slack的,我没感觉有什么异常。不太清楚你怎么想的。
约束的意义在于,在设计早期,把后端的真实情况模拟出来,告诉综合软件。
综合软件按照你给的条件,返回给你一套使用了某种库器件的设计。
你拿这个设计到后端,各种真实的物理条件(负载,时钟树各点的偏移,ir drop 等等等等)加上后,依然接近或者满足你当初的设计目标。如果达到这一步,剩下的修正工作可以限制在物理设计阶段。
很多恰到好处的约束都需要有一些个经验值,不清楚的话,可以问问后端或者流片的厂商。
你约束做的太狠了,你自己难受。太松了,后端难受。
也有可能你什么约束都没有,都打不到要求,那是rtl太差了。
基本上是这么个意思。

dc 的结果 和 约束在一个小范围内可能是线性相关的。但全局上不是。
你改动一点约束,结果没什么变化,或者结果变化很大。都是可能的。要看约束到什么程度。

能不能做下一步,除了看你综合结果,还要看你的约束质量。
约束太松了,综合很好通过,但到后面可能不行。
这个需要前后结合,综合判断。

就说一个时钟来说, 在你的约束中有不确定时间的, 那一部分时间可以当成你的余量, 你可以布局布线后在做一下时序分析, DC过后的时序仅供参考, 要以时序分析的结果为准的



    谢谢你的回复,看了你的话好像懂了一些了,很多东西都不是单单的去考虑slack就好了的。看来自己还是看到太浅 ,还是得多多学习啊~



    你说的那一部分不确定的时间 是什么啊  ? 还请再指点下


在SDC文件中, 除了时钟的定义。 还会有 set_clock_uncertainty ,  这个时间你自己定义, 一般都是ps级, 我个人常定义50ps,这个时间你可以算到你的时间余量里面,还教你一招, 在综合的时候, 你将时钟约束的占空比不要定义为50%。 以你的125M时钟来说, wavefrom {0 4}, 你可以将上升沿往前到3.5,如果以上升沿采样的话,时钟上升沿在3.5ns的时候都能正确采样,那真实时钟在4ns时钟也应该能采样, 查看综合的结果的时序违例,一般只在乎setup 是否违例,hold违例可以在后端去修正,综合后的时序仅供参考,前提是你要保证综合后setup不能有违例,至于slack为0可以放过,因为你在约束中有uncertainty时间的余量来保证的, 结果以你后端PT分析为准



    哇 真的很感谢,感觉一下子学了很多呀,谢谢 谢谢 我现在就是试试看 体会一下

路过学习,谢谢教父!但是不明白“以你的125M时钟来说, wavefrom {0 4}, 你可以将上升沿往前到3.5,”这样对单时钟沿的意义?求指导



   赞!

要想确保电路能在流片后正常工作,通常会把时钟频率乘以一个倍率,给工艺流出余量,通常是加10%,比如你设计的电路工作频率为100M,那么综合的时候可以把时钟设为110M

wavefrom {0 3.5}这样吗,但这个list第一个值表示上升沿,是将下降沿提前0.5ns吗

过来学习一下

逛逛a

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

网站地图

Top