微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 请教高速时钟,PR时如何得到漂亮的clock tree!

请教高速时钟,PR时如何得到漂亮的clock tree!

时间:10-02 整理:3721RD 点击:
小弟以前没有做过高速的时钟,最快也就100+M,现在突然要做1G的时钟,不知道PR的时候需要怎么设置,
比如buffer level什么的,buffer level过长,delay也会增加,clock频率会上不去!
多谢了!

虽然clock频率提高了,但是对CTS本身没太多影响,fanout大约30~40,slew设紧,比如50~80ps,skew放宽一些,比如200~250ps。不过频率高的话,各种寄生影响就会更加敏感,所以要采用NDR的routing。一般能做1G主频时钟的case,差不多也是40,28nm的了吧。估计可以用M7和M6的双倍间距双倍宽度的net走trunk,用M3到M5的signal net走leaf。如果route资源充足的话,还可以用VSS或者VDD进行clock net shielding。
剩下就看你Opt能做到什么样子了。
有问题,请继续跟帖

1G 28nm 时钟基本上只能上mesh了。

20nm 3GHz 一样可以用CTS实现
joemool说得对,要用double width double spacing,shielding,严格控制skew,max wire length,选用X8, X12,X16的clock buf或者inv,clock buf/inv附近加decap

用mesh的case还是太少了,不是主流20nm以下,时序比较紧张的时候必须要用useful skew了
但是CTS之后,fix了clock path和cell,useful skew通过opt来处理已经显得力不从心
所以,必须采用CCOpt了

能否稍微详细点说明CCOPT的概念?

http://bbs.eetop.cn/viewthread.php?tid=344198&extra=

非常感谢,又长见识了,请问什么是NDR route?

Non-Default Rule
就是对特殊线要求特殊的层、宽、间距、shield等

很强力。


为什么我设置的rule没有起作用,clock net用的依然是default 值,下面是clock route之前的设置
define_routing_rule clk_rule \
-default_reference_rule-taper_level 0 -snap_to track \
-width {M1 0.07 M2 0.07 M3 0.07 M4 0.07 M5 0.07} \
-spacing {M1 0.14 M2 0.14 M3 0.14 M4 0.14 M5 0.14}
define_routing_rule hs_clk_rule \
-default_reference_rule-taper_level 0 -snap_to track \
-width {M1 0.14 M2 0.14 M3 0.14 M4 0.14 M5 0.14} \
-spacing {M1 0.14 M2 0.14 M3 0.14 M4 0.14 M5 0.14}
set_clock_tree_options -routing_rule clk_rule \
-use_default_routing_for_sinks 1 \
-layer_list {M3 M4 M5}
set_clock_tree_options -routing_rule hs_clk_rule \
-use_default_routing_for_sinks 1 \
-layer_list {M3 M4 M5} \
-clock_trees {clk1 clk2}
有设置不对的的地方吗?
另外下面的设置和上面是不是等效的?
define_routing_rule clk_rule \
-multiplier_spacing 2.0
define_routing_rule hs_clk_rule \
-multiplier_spacing 2.0 \
-multiplier_width 2.0
set_clock_tree_options -routing_rule clk_rule \
-use_default_routing_for_sinks 1 \
-layer_list {M3 M4 M5}
set_clock_tree_options -routing_rule hs_clk_rule \
-use_default_routing_for_sinks 1 \
-layer_list {M3 M4 M5} \
-clock_trees {clk1 clk2}

蓝色字体的设置是什么,我的理解是stdcell出pin的地方需要用metal2才能跳的metal3,metal2的rule不受NDR的约束,不知道这样理解对不对?
非常感谢!

用大size的buf和inv长clock tree,小size 的是不是要设dont_use?
clock buf/inv附近加decap是不是EM考虑?
如果是block level,boundary cell需要加吗?
非常感谢!

再问一个问题,top level没有clock,sdc中只设置了max delay
set_max_delay 0.2 -from [get_pins {u_io/datein[?]] -to [get_pins [u_iomux/dataout[?]]
PR时只做了place_opt,这些path上没有做优化,但是线特别长,有1500um,但是pt报出来的tran比较大,delay是0.44,
为什么icc没有对这些path做优化,插一些buf或inv?
手动去插一些buf之后tran会变小,但是delay却变的更大了,很费解!
非常感谢!

-multiplier_width layer_width


Defines the layer width multiplier. You do not have to know the units or exact metal width currently defined in the library.
For example, to define double width, specify -multiplier_width 2.0.

-multiplier_spacing layer_spacing

Defines the layer spacing multiplier. You do not have to know the units and exact layer spacing currently defined in the library.
For example, to define double spacing, specify -multiplier_spacing 2.0.
-------------------------------------------------------

-use_default_routing_for_sinks count

Forces the default routing rule to be used on the leaf nets that drive the clock tree sinks and nets at the bottom n-1 levels of the clock tree. A net is considered as leaf net if it drives at least one flip-flop or latch. Float pins, exclude pins, and don't touch subtree pins are treated as nonsink pins of the clock tree for this purpose. For example, a net that drives only one float pin is not treated as a leaf net for this purpose.
The default is 0.
This option is valid only if the -routing_rule option is specified.
-----------------------------------------------------

呵呵,英文理解能力有限!这个我也看到了!
-use_default_routing_for_sinks count 不理解真正的意思
非常感谢!

应该设成1吧

haohao

自顶一下!

就是在哪一层sink上使用默认的rule,一般写1就可以了,最底层的sink上使用

你上面的几行命令为什么要加default_reference_rule这个option?你define 以后可以report 一下这个rule,看每一层定义的是否是你想要的。

学习啦。谢谢

你确定clock slew设置成50~80p? 你什么工艺?设置这么小你有多少clock transition 的violation需要修?

广告植入的好哇

请问一下,encounter怎么设置时钟树双间距双宽度规则,急急!先谢了

自己做一个non default rule 的lef文件

我也在纠结这个问题,既然自己定义了rule,为什么还要加这个option,你知道答案了吗?

你说的那个violation你解决了嘛求帮助我的旧设的80psviolation很多65的工艺

请问下slew是什么意思?cts中有这样的设置吗?

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

网站地图

Top