微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 综合是,如果有门控时钟,如何进行较好的时钟网络优化呢?

综合是,如果有门控时钟,如何进行较好的时钟网络优化呢?

时间:10-02 整理:3721RD 点击:
在DC中,如果对时钟输入端口设置了set_dont_touch_network,对于门控时钟而言,很有可能发生DRC VIOLATION。比如门控时钟输出端是带不动这个时钟网络的。
请问下各位在利用DC综合门控时钟电路的时候一般是怎么做的呢?

学习一下!

gate clock后面需要做clock tree,所有的clock都是这样处理的,如果没有的话再强的驱动能力也带不动后面的DFF

在综合的时侯,再加set_ideal_network 在clock root上就可以了。
等clock tree synthesis 后再分析clock timing/DRC



   综合的时候,gate clock后面的时钟网络应该是理想的。你说的clock tree应该是指的布局时的。确实,按理说DC综合的时候时钟树是不用考虑的,这个时候的小的hold违例也可以不管。但是如果只对时钟输入端设置set_dont_touch_network,则该属性只能停止到门控单元处,也就是说门控后的线网也就不会有dont_touch的属性。如果是这样的话,后面的线网(也就是实际的时钟网络)也就会在DC的时候进行综合,而花费大量的时间,且综合结果出现很多没必要的违例现象。而如果对门控后和门控前的部分都做set_dont_touch的属性设置的话,则门控部分的逻辑没有进行逻辑优化,会导致后面在布线的时候导致门控前的部分驱动能力不够。
再若果门控前的部分不做dont_touch的属性设置,只对门控后的部分做dont_touch的属性设置。则门控后的时钟网络按照理想的时钟网络处理(这部分没有问题),但是门控前的部分由于不知道后面的信息,所以综合插入的buffer或者其他驱动可能就不准,导致在后面的PR过程中还是会出题。
所以想问下大家常规的处理方法是怎样的。



   你对门控时钟的输入端口加ideal特性是没有意义的,因为属性是停止在最后一个end point。可以参考DC user guide

   propogate, clock tree可以穿过,综合工具会自动替换库里的gating cell,逻辑上无需综合优化



   恩,propagate是可以,那是后端PR之后有了时钟树的结果才可以。现在说的是前端对门控的处理。一般前端处理非门控的时钟网络直接设置为理想的,再加一些约束即可,然后后端步线之后,再把propagate的反标回来即可。但是有门控的貌似这样干会出一些问题。就是上面说的一些问题。


你的意思是set_dont_touch_network穿不过clock gating cell?



   恩,如果这个dont_touch属性只设置在输入时钟管脚。因为这个命令是终止在end_point,也就是与时钟端口相连的连线的最后一个门电路。门控时钟的最后一个门电路就是与门(门控逻辑),也就是说,这个属性只能控制到门控,后面就没辙了

我是新人听的一头雾水


我试过,在时钟上加上与门后,dont_touch属性是可以穿过的(后面带了多负载,但是没有插入buffer)。而且如果已经create_clock 后,不用加set_dont_touch_network也是可以穿过的

1、dont_touch属性可以穿过门控逻辑
2、如果P&R工具不能很好的优化时钟链路,包含门控时钟,可以在综合时,设置更宽的约束,进行小的timing优化



   我也遇见了同样的问题,有没有在综合的时候进行约束,在不加时钟树的情况下后仿能出结果啊?兄弟们

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

网站地图

Top