欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 时钟分频电路之Innovus自动产生的_clock_gen skew group盘点

时钟分频电路之Innovus自动产生的_clock_gen skew group盘点

2024/10/24 14:02:55 来源:https://blog.csdn.net/weixin_37584728/article/details/143201518  浏览:    关键词:时钟分频电路之Innovus自动产生的_clock_gen skew group盘点

我们在查看时钟树综合的log时会发现工具会自动生成一些skew group,这些skew group的名字都是以_clock_gen开头的。

skew_group _clock_gen_CLK_CORE_PLL_clk_reg_1/func: insertion delay [min=0.020, max=0.064, avg=0.038, sd=0.022], skew [0.045 vs 0.050], 100% {0.020, 0.064} (wid=0.002 ws=0.001) (gid=0.062 gs=0.044)

SoC芯片中Clock Gen和Reset Gen的时钟树综合

出现这种情况往往多见于下面这种电路设计中,即多见于时钟分频电路处。

时钟产生电路的时钟树综合

由于工具看到FF1/Q到div_reg/SI有timing check,所以自动把分频器相关配置寄存器和div_reg归到一个新的skew group中。

这样做其实也是有弊端的,如果FF2和FF1之间需要做timing check,同样是会有setup和hold time violation。因为两者的clock tree latency不一样(clock 不平)。

解决的方法是设计中的分频寄存器不要串在scan chain中。

有的时候我们只希望工具严格按照我们的sdc中的时钟定义来生成对应的skew group,并不希望自动来生成。那么我们就需要通过下面的命令来实现。

set_ccopt_property extract_clock_generator_skew_groups false

需要注意的是这个ccopt property一定要在生成clock spec前设置,否则无效。

在咱们社区复杂时钟clock gen设计的时钟树综合CTS训练营项目中,由于default extract_clock_generator_skew_groups是开启的,所以工具会额外生成一系列_clock_gen开头的skew group,并且把分频寄存器和它的fanout归到同一个clock skew group做balance。

这样很显然是不符合我们的预期的。
在这里插入图片描述
为了给大家提供一个时钟树综合的练习,小编给大家提供一个innovus小实验。有需要的同学可以留言,我免费分享给大家。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com