时钟树综合CTS介绍

说到时钟树综合,需要大家紧紧围绕3W和1H来思考,即What,Why,When和How。这些词是小编自己总结的,可能你们都没听说过。那么它们分别是指什么呢?

What----什么是CTS?

Why-----为什么要做CTS?

When-----什么时候做CTS?

How------怎么做CTS?怎么QA CTS结果?

上面这几个问题,看似很简单,但能真正回答得比较好的工程师不多。CTS这块是数字IC后端岗位招聘时面试官比较喜欢问的一块,因为从应聘者回答问题的广度和深度,就能看出大体上知道对方的水准了。

PS:正值一年一度的跳槽高峰期,有技术问题或者工作选择问题,可以私信小编(ic-backend2018),纯免费,能够帮忙的会尽量帮忙(知识星球会员特权)。

So,上面这些问题希望各位多思考,特别是最后一问,如何做好CTS这个问题?(千万不要跟面试官你设置了哪些参数,然后执行哪个命令)

Clock Insertion Delay (Clock Tree Latency)最短

Clock tree越长,意味着clock tree级数越长,级数长了,tree上的power就越大。同时,受OCV效应影响,timing就越难meet。

以上图为例,如果PLL摆放在右下角,有一个Flop放置在左上角,那么从physical上讲该Flop的clock tree latency将会是最长的一个。由于它要与别的Flop做balance,那么别的寄存器也会被拖长。

【思考题】:假设在core中间区域有一堆Flop的tree被拖长后,请问会造成什么影响?

如果将PLL摆放中间位置,并且把左上角的一部分区域打上soft blockage,如下图所示,那么整条clock tree latency将会减少不少。

最近知识星球上有星友提问,memory之间的窄channel能否放置寄存器的问题。理论上各种channel都是能摆放寄存器的,但是对于那种memory堆的比较深的情况,从CTS角度考虑,最好不要摆放寄存器,因为channel中的寄存器可能会拖累整条clock tree。

所以有一个对CTS友好的Floorplan和Placement是非常重要的,它直接决定CTS的Quality。

Clock skew最小

Clock Skew的概念请看这篇文章。为什么要关注Clock Skew? 如何做小CLock Skew? Clock Skew对setup和hold有何影响?


大部分情况下,我们是希望Clock Skew越小越好,因为它对setup和hold是有很大的好处。

但是有的时候我们倒希望认为引入一定的clock skew,比如S家工具的CCD,它可以充分利用前后级的timing margin来改善时序。又比如从IR Drop的角度看,并不希望寄存器同时翻转。

Design Rule Violation (DRV)

DRV主要是指max_transition, max_cap和max_fanout。前两个是硬性条件,signoff阶段必须满足要求。

Common Clock Path尽量长

在clock tree latency长度一定的情况下,common clock path要尽量长,这样CRPR补偿回来的就越多,对timing就更好。

Un-common clock path尽量短

Multi-level Clock Gating

从功耗的角度讲,我们希望Clock Gating cell尽量靠近root,而且大部分的寄存器都要有Clock Gating cell来控制。但是当ICG靠root端摆放时,容易出现ICG enable端的setup出问题。

Clock Gating Clone/Clock Gating Splitting

PR工具在做CTS时,除了做Clock gating的merge操作外,它还可以做Clone和split操作。上面我们讲到CTS阶段要把un-common clock path做到最短,那么很多时候可以通过Clone clock gating来实现。

Clock Duty Cycle

导致duty cycle出问题的主要原因是cell的rise delay和fall delay不平衡。因此,在做CTS综合时,我们往往都是用clock inverter 来做时钟树的。

Clock Signal Integrity

为了确保时钟信号的质量,在Signal Route前会先对clock net进行绕线,并且为其设置上NDR。必要时,还会对clock net进行shielding

Custom时钟树综合

对于简单的设计,可能clock_opt -cts或者ccopt_design -cts就可以把tree做的很好。但是对于复杂时钟结构的SOC设计,我们能否直接执行命令做Tree呢?

显然是不能的。

一般情况下,中等规模及以上的SOC芯片的时钟树综合,都是需要编写时钟树约束文件。因为时钟太多了之后,工具处理起来比较费劲,特别是当一堆时钟进行mux操作后,工具经常还会把tree做的很长。工具之所以做起来费劲,之所以做不好tree,主要原因还是时钟结构相对复杂,其复杂程度已经超出它的能力范围了。

CTS Constraint编写方法

如果我们能够对时钟结构进行拆分,把时钟结构很清晰地告诉工具,那么它还是能够做的非常漂亮的。当然这个前提是你要理清楚整个芯片的时钟结构。

画时钟结构图和写时钟约束文件都是数字IC后端工程师必备的一项工作技能,当然也是一项非常核心技能。如果这项技能能够很好的掌握,那么整个数字IC后端设计实现,还有比这更难的吗?

这里结合上图所示的案例,解析下如何写时钟约束文件。

首先,可以把整个芯片的时钟路径分为三部分。第一部分是晶振—-> PLL ,第二部分是 PLL—-> CLOCK GEN ,第三部分是分频器输出——-> 各个功能模块。

其次,搞清楚 CLOCK Gen 模块是用来产生各种分频时钟信号的,它本身并不会直接与其他逻辑进行一个交互。因此,该模块内的寄存器都和别人是异步的。

最后,再整理下各个时钟路径的终点和 clock exception ,比如 floating pin ,exclude pin , non-stop pin ,断开一些不需要穿过mux的时钟等等。

转自:数字IC后端时钟树综合CTS技术经验分享(高薪必备!) - 知乎 (zhihu.com)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容

  • (1) clock Q1.1 什么是同步时钟? 时钟频率是整倍数,并且相互之间的相位是固定而且相差可预知的...
    飞奔的大虎阅读 2,865评论 0 0
  • 以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。 Discuss ...
    蜀湘情缘阅读 6,154评论 0 8
  • 1、同步电路与异步电路 首先来谈谈同步电路与异步电路。那么首先就要知道什么是同步电路、什么是异步电路? 对于同步时...
    飞奔的大虎阅读 4,857评论 0 0
  • 1. 亚稳态 亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。 发生情况 在跨时钟域传输或者异步信...
    黑心的一涛阅读 2,383评论 0 2
  • 今天想来聊一聊芯片设计中的一个非常基础的概念——时钟。对于外行来说听到这个词可能会感觉迷茫,猜一个大概意思吧可能也...
    伟酱的芯片后端之路阅读 1,006评论 0 0