dc概论之多周期路径multicycle_path续1

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bb2hh.blogbus.com/logs/38665424.html

 注明:如需转载,请注明作者出处,谢谢~,Author:pythonlong
 以下根据资料和个人体会整理,如果错误,疑问欢迎请指正,讨论!!

在设置multicycle_path的过程中,一定要注意到底start clock 是多周期,还是end clock 是多周期。这关系到时序分析。默认情况下,set_multicycle_path对建立时间的分析是设置end clock为多周期,对保持时间分析师设置start clock为多周期。
即:
set_multicycle_path -setup 2 -from a -to b 
等价于
set_multicycle_path -setup 2 -end -from a -to b 

set_multicycle_path -hold 1 -from a -to b
等价于
set_multicycle_path -hold 1 -start -from a -to b

了解multicycle的,应该都知道设置setup的周期是X,那么设置hold的周期为X-1。
下面的设置我们也会按照这样默认的规矩来设置。

下面再分析一次快时钟采集慢时钟:

假设我们已经知道3*clk1>delay>2*clk1
那么,如果我们不仔细思索,大概会写成如下:
set_multicycle_path -setup 3 -from clk1 -to clk2
set_multicycle_path -hold 2 -from clk1 -to clk2
下面我们扩展成默认写法:
set_multicycle_path -setup 3 -end -from clk1 -to clk2
set_multicycle_path -hold 2 -start -from clk1 -to clk2
那么我们看下时序分析:B点setup检查,A点hold检查

这里我们会发现,和我们预计的不太一样,问题就出在工具的默认设置上。
这里我们不看setup的check,这个和我们想要检查的一样。
我们看下hold的设置:
set_multicycle_path -hold 2 -start -from clk1 -to clk2
我们来了解下start,这个start说明start clock是多周期的。
dc默认a点作为hold的check点。这里又有默认的start,所以就产生上图的hold check。
如何才能让dc做我们想要的check 呢?改成下面形式:
set_multicycle_path -setup 3 -end -from clk1 -to clk2
set_multicycle_path -hold 2 -end -from clk1 -to clk2
分析结果:B点setup检查,A点hold检查

我们再看一下慢采快。

 

同样,假设我们已经知道3*clk1>delay>2*clk1
那么,同样,如果我们不仔细思索,大概会写成如下:
set_multicycle_path -setup 3 -from clk1 -to clk2
set_multicycle_path -hold 2 -from clk1 -to clk2
扩展成默认写法:
set_multicycle_path -setup 3 -end -from clk1 -to clk2
set_multicycle_path -hold 2 -start -from clk1 -to clk2
那么我们看下时序分析:B点setup检查,A点hold检查  

 

 分析和快采慢一样。


修改成:
set_multicycle_path -setup 3 -start -from clk1 -to clk2
set_multicycle_path -hold 2 -start -from clk1 -to clk2
分析如下:B点setup检查,A点hold检查

建议:
快采慢:

慢采快:

 

 

转载于:https://www.cnblogs.com/liuokay/archive/2011/04/05/2005688.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值