CCD (concurrent clock-data optimization)

之前说multisource时 (Multi-Source Clock Tree Synthesis (MSCTS)简介),挖过要整理CCD的坑,现在填坑。理解的比较浅请指正~

根据字面意思可知CCD 技术包含两层含义:

1,CUS: useful skew computation,通过调整到各个sinks 的latency来达到最优的WNS/TNS

2,NPO: data-path opt,优化data path提高timing picture,便于更好的利用useful skew

几个关键的参数与设置:

1,Primary corner: 所有corners 的代表,一般指定的是最差的corner,该corner 下的worst cell/wire delay across all the corners

2,Prepone &Postpone value:指的是往前推和往后推的skew 值,一般会使用ccd.max_prepone & ccd.max_postpone来指定(相当于useful skew limits);primary corner不会超过设定的limits,同时非primary corners会根据实际场景调整对应的limits (scalingFactor <=1),如下图所示:

3,分别针对setup/hold设置effort : ccd.timing_effort & ccd.hold_control_effort,这两种一般是优化TNS为主

4,优化setup 的WNS(应用于clock_opt & route_opt): ccd_fmax_optimization_effort

5,针对某些pins 设置limits:

set attribute [get_pins *] ccd_max_prepone/ccd_min_preponr 0.1

6,不让某些pins使用CCD opt 引擎:

This app option is used to exclude the sink pins with attribute ccd_respect_cts_fixed_balance_pin during CCD opt and the tool will not adjust the latencies of these pins

ccd_respect_cts_fixed_balance_pin -value [false|true|upstream]

set_attribute [get_pins *] ccd_respect_cts_fixed_balance_pin true

7,CCD skewing on I/Os

8,不对某个path group使用CCD OPT,或者不对某个scn使用

ccd.ignore.scenarios

9,Target CCD :

通过哪些方法可以得到skew值?

1,before_cts之前使用report_timing

2,做过时钟之后使用report_clock_balance_points

3,一般log中都会有显示,如果是user自己设置的会体现在 -delay 后面,如果是工具自行derived的会体现在-offset 后面。

eg: set_clock_balance_points -balances xx -delay 0.300 -offset 0.010

以FC为例,CCD何时被唤起?

default 情况下,inital opt 一般会进行三轮CCD,先low effort 然后medium 最后是high effort,每一轮都是先进行CCD然后进行NPO。

final opt 一般会有两轮CCD,先medium然后high,同样是先进行CCD然后进行NPO。

如何debug CCD?:

1,使用report_ccd_timing

2,get_clock_tree_pins

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东坡ju士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值