chanon的个人空间 https://blog.eetop.cn/56214 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

dc概论之virtual clock(转)

已有 5993 次阅读| 2013-6-23 21:46

virtual clock一般用在没有时钟的路径上或者不是与系统同时钟的约束中。
这里不讨论一般情况,嘿嘿。
可以看下,下面设计中经常会遇到的情况:




如何约束路径,从而使综合工具正确分析,这里就要用到virtual clock
观察这两个电路,不难发现。经过选择器的2个路径不会同时出现的。
基于此,我们可以利用virtual clock来分析各自的路径。
如下图:
对于每一个路径我们设计一个virtual clock,然后对输入或者输出增量约束


create_clock -name VClk_Pos -period $ppos
create_clock -name VClk_Neg -period $pneg

set_output_delay -add 4 -clock VClk_Pos Dout
set_output_delay -add 6 -clock  VClk_Neg Dout -clock_fall


 


点击看大图


create_clock -name VClk_Com -period $pcom 
create_clock -name VClk_Seq -period $pseq

set_input_delay 4 -add -clock VClk_Com Din
set_input_delay 5 -add -clock VClk_Seq Din

set_output_delay 6 -add -clock VClk_Com Dout
set_output_delay 5 -add -clock VClk_Seq Dout

用过dc综合工具的基本都会知道建立时间的检查是在最小的launch和capture间检查的。
所以上面的约束中会有一些false path,因此我们要filter掉这些路径。


set_false_path -from Clk_Pos -to VClk_Neg
set_false_path -from Clk_Neg -to VClk_Pos


点击看大图


set_false_path -from VClk_Com -to VClk_Seq
set_false_path -from VClk_Com -to Clk

set_false_path -from VClk_Seq -to VClk_Com
set_false_path -from VClk_Seq -to VClk_Seq

set_false_path -from Clk -to VClk_Com


至此,就ok了。
其实上面的情况还可以用set_max_delay来约束,但是set_max_delay通常会打断时序路径,
造成dc再分析setup time的时候比较乐观,分析hold time又比较悲观。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 13

    获赞
  • 50

    评论
  • 2787

    访问数
关闭

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

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

GMT+8, 2024-4-25 05:17 , Processed in 0.013884 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部