关于CTS的latency
时间:10-02
整理:3721RD
点击:
如何才能获得latency尽量小的clock tree 呢?
为什么EDI做出来的clock tree各种乱绕,两千多个DFF,居然查了快20级的buf,并且从tree上看,很多buf完全没用,完全在乱绕,左端放一个buf,右端放一个buf,冗余的绕了8-9级的样子。
200M的设计,5个时钟,未将其设为同一个group,transion 设了200ps,max skew 150ps,max delay设置了1000ps,最终latency也有大概3.5ns。
最终手动将这些冗余的buf删掉timing也完全meet,如何才能让工具做一个很好地clock tree呢?不知道各位大神有什么经验吗?
为什么EDI做出来的clock tree各种乱绕,两千多个DFF,居然查了快20级的buf,并且从tree上看,很多buf完全没用,完全在乱绕,左端放一个buf,右端放一个buf,冗余的绕了8-9级的样子。
200M的设计,5个时钟,未将其设为同一个group,transion 设了200ps,max skew 150ps,max delay设置了1000ps,最终latency也有大概3.5ns。
最终手动将这些冗余的buf删掉timing也完全meet,如何才能让工具做一个很好地clock tree呢?不知道各位大神有什么经验吗?
显然是有不该平衡的东西被平衡了...
多谢,我去查查design。
想想觉得很疑惑,要是有不该被balance的东西被balance的话,应该clock tree早早分叉,在分叉的树上各自balance,可是这个tree从root pin出来之后一直delay了8级buf然后才开始分叉。基本上看以看出这8级完全是冗余的。
5个时钟是物理上就完全隔开的,还是有交汇点的?
作为基本的Debug手段,可以试试Spec里只留一个时钟来做做看。
五个clock跨时钟的地方path并不长,timing的问题不大,但是不能算物理独立。他们的有交汇点,但都做了处理。
五个clock有两个做了大概1ns左右,算是很合乎我的想法,但是有三个各种冗余。
我先按照您说的方法去debug,多谢了。
用ccopt试试
楼上提到ccopt,这个跟design有关,可以试试。
不过我之前的design有ccopt的效果都不太好。
你的设置可以考虑把Max Delay改成0或者10ps之类的试试,总之就是让EDI尽量去做短的CLK。
另外,如果你的冗余Buffer放的很乱,要看一下Congestion严重不严重,做完CTS在做Trial route的时候,如果发现Congestion很严重,可能会有影响。