为什么reg2cgate的setup难以满足?

3 篇文章 0 订阅
2 篇文章 0 订阅

        Reg2cgate的setup天生是难以满足的,其中缘由是什么呢?通过下面一张图大家便可以直观的了解到。

        从图上我们可以看出,clock gate的clock latency是delay1,reg1的clock latency是delay1+delay2,可以明显的看出,reg2cgate的setup,其launch clock path delay天生是要比capture clock path delay要多delay2的,因此其setup相对于reg2reg是不好满足的。

        根据setup的计算公式可以看出:

Launch_clock_path_delay +data_path_delay+setup_check < capture_clock_path_delay + clock_period

        我们将下图中的一些值代入到上述公式可以得到:

(Launch_clock_path_delay - capture_clock_path_delay) + data_path_delay+setup_check < clock_period,即delay2 + delay3 + setup_check < clock+period

        所以为了解决reg2cgate的setup,我们可以降低delay2,delay3的值,delay3为data path delay,这个工具默认是为去降低的。因此,能够让我们去处理的就是delay2的值。

        那么delay2的值是如何降低的呢?下面有几种方法供大家参考。

        a. 在长clock tree的时候,让clock gate尽量贴近其后面的register,尽量不要在clock gate后面用插buffer的方式,去解clock gate的fanout。这么操作会导致delay2变大。如果clock gate的fanout特别大,可以去问一下综合人员是否可以优化一下netlist,或者我们在长clock tree的时候可以将clock gate clone选项打开;

        b. 如果reg1与其他register没有timing交互的话,可以在reg1的ck端设置ignore pin,这样工具在长clock tree的时候,便会将reg1的clock latency做短,即减少了delay2的值。

        那么,通过上述方法,基本上可以解决掉reg2cgate的setup问题。

        另外,在innovus中,我们也可以在对reg2cgate创建group path,并对group path level设置一个较高的值。那么,工具在优化的时候,会着重去优化reg2cgate path。

        以上就是解决reg2cgate setup的原理和方法。

#小编是一个入行多年的数字后端工程师,本身对编程方面比较感兴趣,在数字后端的脚本、flow上比较擅长,可以为大家提供答疑咨询服务。如有需求,可打开星球芯冰乐,获取更多知识干货分享与答疑服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值