CCD 技术介绍(基于innovus引擎CCOpt)

发布于:2022-12-19 ⋅ 阅读:(1237) ⋅ 点赞:(0)
目录:

Ø CCOpt 概念

Ø 传统 CTS 介绍

Ø CCOpt 技术介绍

Ø CCOpt 优化流程

Ø Worst Chain Analysis

概念介绍

CCD 全称是 Concurrent Clock Datapath ,并行优化 clock data path
CCOpt 全称是 Clock Concurrent Optimization
clock 的timing 分为两种模式, ideal clock propagated clock
pre CTS 并没有 clock, 因此需要建立一个 ideal clock ,从 clock 端口到寄存器 CK 端的 network  delay 来自 sdc 中的 set_clock_latency 设置;
post CTS update IO latency clock 就会自动的转换成 propagated clock ,这时 network delay 就是实际时钟互连线网络的 RC extraction delay
在实际设计中, clock 起始于 ideal 模式,并以 propagated 模式结束。如下图所示:

 传统 CTS 介绍

对传统的flop to flop之间的电路,setuphold time需要满足以下两个条件,如图所示:

Propagated clock:

setup: L+ Dmax < T + C

hold: L+ Dmin > C

Ideal clock:

setup: Dmax < T

hold: Dmin > 0

Dmin > 0 是一个永远成立的条件,在这个model下面,我们只需要保证logic path上的最大delay,也就是critical path上的delay比时钟周期快就行。

 当一个时钟树有Nsink以后,这里就有了global skew概念,完全balance的时钟树就很难做,clock skew变成各个flop之间的Launch和capture clock path的最大差值。

Propagated clock:

setup: Dmax < T - (L-C)

hold:  Dmin > C L

Ideal clock:

setup: Dmax< T + skew

hold: Dmin > skew

 CCOpt 技术介绍

Ø 通过减小clock skew来实现ideal和propagated clock收敛的做法已经不适合现在的先进工艺设计。由于OCV, clock gating, 以及clock的复杂性等因素导致两者之间有很大的clock timing gap,实现balanced的L和C几乎变成一个不可能的目标。

 

【关于OCV的介绍和应用可以参考下文:】

 

Ø CCOpt 技术就放弃了这种减小clock skew的方法,而是将CTS和postCTS的timing optimize集合为一体,在优化data path的同时进行clock path的优化。根据timing情况自动调整时钟树各点的延迟,以达到合理利用skew来优化timing的目的。

CCOpt 优化流程

 

 CCOpt 技术介绍

 如下图可以看到,ccopt技术通过做短T2达到整体timing meet的要求。

 CCOpt (Chain的介绍)

 主要可以分为两类:IO chain和Loop chain

IO chain:

Loop chain:

可分为以下三种:

1.普通loop chain

2.带macro chain

 3.带ICG chain

 Worst chain analysis

 

 

 

 

常用命令介绍:

自定义时钟网络边界

set_ccopt_property sink_type {stop, ignore, exclude} –pin

stopcts在该点停止,把这个pin作为skew groupsink,会对其做balance

ignorects只对这个pincluster,不做balanceignore pin不会作为任何skew groupsink

excludects在该点停止,该点不是时钟的一部分,不对其做balance

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到