别辜负你的设计,了解Skew vs Uncertainty重要性

时钟作为数字电路中最重要的信号,几乎每一个ASIC实现环节都需要针对时钟信号做很多特殊的处理,其主要原因在于时钟信号有着巨大的扇出。在电路网表里,可以看到一个时钟信号会从一个源头延伸出许许多多的支路到达一个个DFF的时钟输入端。这些时钟的分支就好像一颗树的分出的树枝一样,而那些DFF就好像一片片叶子。时钟树就是对这种时钟在电路中分支延展的一种形象而生动的比喻和说法。

上图就是最原始简单的时钟树示意图。很显然,从时钟源头到不同的DFF端,时钟所走的路径不一样,而走每条路径都是需要第一定时间的,路径不同必然需要的时间不同,这就导致时钟源到不同DFF时钟总输入端的延时差异,这个延时差异就被定义为Skew(延时偏差)。这个skew的存在会对DFF的时序造成影响,比较坏的情况可能会使得DFF的setup或hold时序要求无法满足。为了减少这种skew对时序的影响,在自动布局布线时,需要对时钟进行高扇出优化,这一步处理称之为时钟树综合(CTS)。经过时钟树综合后的电路布局一般呈现相对规整的时钟分叉,理想的时钟树分枝如下图:

这时问题来了,CTS一般是在自动布局布线的后端流程里完成的,那时才考虑时序平衡问题有点晚了。如何在早期如逻辑综合时就开始处理合平衡时钟树的时序问题呢?在逻辑综合阶段,默认情况下时钟信号都被当中理想时钟来处理(Ideal),为了提前模拟真实时钟信号对时序的影响,就需要人为的设置一些时钟属性,其中主要的就是这种时钟偏差Skew。Skew对setup和hold的检查的影响,可能有利也可能有害,但是在逻辑综合阶段,我们都是当中有害来处理,以避免综合的时序结果过于乐观。

在DesignCompiler中,是通过clock uncertainty来体现这种时钟属性,但是,clock uncertainty可以不完全等价于clock skew, 其他时钟的一些属性也可以附加在这个变量上,比如时钟抖动(Jitter)。Jitter指的就是时钟周期的偏差,主要由时钟源Pll本身来决定,比如定义时钟周期为10ns,但是由于pll的精度问题,不能保证每个时钟周期都是严格等于10ns,可能在10±0.1ns范围内变化,这0.1ns的微小偏差也会对时序产生影响。同时,利用这个clock uncertainty变量,还可以再附加一些时序余量(Margin),以约束综合工具对关键路径进行充分的综合。虽然现在的自动布局布线工具也可以优化时序,但综合工具的对时序的优化方法和力度更强。

另外,由于逻辑综合只考虑Setup的约束和优化,所以这里的clock uncertainty也只是针对setup的约束。

因此,Synopsys 的Student Guide明确指出:clockuncertainty = clock skew + clock jitter + Margin。在Design Compiler中,对应的Tcl命令为:

set_clock_uncertainty-setup 0.2 [get_clocks CLK]

实际应用中,该值是一个经验值(10~20%时钟周期),比如根据APR的反馈CTS可以做到的最小skew,pll测试的时钟抖动,最后timing signoff时需要留的margin等。也因此,在CTS之后,我们可以继续保留clock uncertainty,但此时的clock skew已经真实存在,无须人为的设置,可以适当减掉该部分值。比如:

set_propagated_clock [get_clocks CLK] set_clock_uncertainty -setup 0.05 [get_clocks CLK]

这种做法,使得前后端保持一致的时钟周期,通过调整clock_uncertainty来对不同实现环节的时序约束进行调整。

原文链接:https://www.sohu.com/a/140706292_485357?scm=1102.xchannel:325:100002.0.6.0&spm=smpc.channel_248.block3_308_NDdFbm_1_fd.1.1675934338158l2rYQYT_324&_trans_=000019_wzwza

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

推荐阅读更多精彩内容