数字后端知识点扫盲——CTS(下)

30 篇文章 67 订阅
订阅专栏
本文介绍了如何调用工具执行时钟树综合(CTS)过程,包括CTS的基本行为、命令对应关系以及常见问题的调试方法。如未被综合的clockline可能是由于SDC定义遗漏、错误设置或库问题。过长的latency可能源于平衡cell的插入。解决策略包括检查cell命名规则、CTS路径和routingrule。
摘要由CSDN通过智能技术生成

今天要讲的是,如何调用工具执行CTS,时钟树综合过程中工具的行为以及如何debug常见的问题,首先还是回忆一下CTS的基本流程。

在ICC/ICC2中,工具CTS中的基本行为和命令的对应关系如下:

简言之,工具在CTS时的基本行为是:读取clock的定义以及在何种scenario/view下进行时钟树综合 —> FIix clock Line DRV —>优化每个clock内部的skew/latency —>balance 已经定义的clock group的latency —> 对clock上的nets进行绕线。

请大家牢记上面的流程,因为在debug CTS的时候可能会用到上述流程,那么,一般在CTS后经常出现的问题是什么呢?下面我们将分别谈谈。

有些clock line 没有被时钟树综合

检查是否所有的clock line都被综合的常用方法是查看clock line上的DRV。如果某些sink或者clock逻辑上的cell有非常大的max_transition violation,那么很有可能有它们根本就没有被时钟树综合。因为上面我们讲过,工具在CTS过程中的第一步就是fix clock line的DRV。对于出现这种情况的原因,可能是CTS的SDC定义有遗漏,也有可能是设置了错误的clock exception或dont_touch,还有可能是工具因为某些cell的库有问题而没有被正确识别。不管是什么原因,解决的办法就是找出design中CTS是在哪里停下的,并对照自己的SDC和各种设置,同时注意log中的CTS信息,一般都能找到一些线索。

有些clock在CTS后latency 特别长

此种情况的原因一般有两个:自己的latency本身就很长或者由于clock之间的balance导致插入了过多的balance cell。区别这两种情况的方法是,工具在CTS阶段插入的不同用途的cell都有不同的命名规则。比如对于ICC2来说,修DRV的cell名字就是cts_inv或者cts_buf之类的;balance clock内的latency的就是cts_dlydt;balance clock之间的cell名字就带ICDB。所有的命名规则可以参考下图。通过这些命名规则,我们可以很方便地得知是什么原因导致clock的latency过长。对于clock内部来说,我们需要分析clock的sink是否有分布在太远的地方、工具的CTS路径是否合理,有没有迂回、线上delay是否过大、有没有cell/net没有被综合等;对于clock之间,我们需要找到是哪一个或几个clock导致整个group的latency变长,分辨的主要方法就是通过下面的命名规则。

Latency不够短

在CTS中我们永远希望latency能够一短再短,但是有的时候明明距离不远却很难做短。造成这种现象的原因可能有以下几种:CTS中使用的cell不合理,使用了过多太小或驱动能力太弱的cell;CTS的routing rule设置不合理,导致线上delay较大或者cross talk比较严重;target skew/target transition设置太严,导致工具为了获得更小的skew或者transition而插入了过多的cell导致clock级数增加。不管是什么原因,分析的根本方法都在于对照clock源头和sink分布,预估CTS的级数和delay,如果有较大出入都需要引起注意。

以上就是常见的一些CTS的问题以及基本的解决思路。在实际中其实还有很多问题,但是限于篇幅,我们不在这里一一讨论。如果大家有什么问题可以加入后端设计讨论群一起讨论。

至此,CTS系列的三篇文章就都完成了。虽然感觉有不少内容,但是仍然感觉有太多的东西还没有涉及,可能限于本人经验有很多东西也没有讲的很深,毕竟CTS是一个非常耗费心力也是非常容易出问题的一个步骤。如果大家有其他想要了解的内容欢迎留言或者加群讨论。

时钟树综合知识分享
weixin_37584728的博客
09-13 4876
时钟树综合干货分享 文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。 在今天主题分享之前,发一个社区的招聘信息。吾爱 IC 社区正式对外招聘讲师 啦。想不想跟小编一起工作,想不想在业余时间赚点 money?想不想在这个平台上实现名利双收?优秀的讲师有机会成为我们的合作伙伴 ,将来副业收入会远高于主业收入 (即便你目前年薪百万)。 如果你擅长以下任何一个细分领域 (或掌握的比较好),并且喜欢做内容分享这块,欢迎就以下任何一个方向制作一只视频,并发送到小编的邮箱。这
ic后端学习笔记-CTS
tfrofc的博客
07-27 2156
CTS就是时钟树综合。时钟树就是指从某个时钟root点长到sink点的buffer/inverter树,时钟树综合,顾名思义,就是指对时钟树进行综合:生成时钟树,使得同一时钟尽量尽快、同时地到达不同寄存器,对抗时钟源到不同终点寄存器的距离的不一致,保证不同寄存器的相位一致。CTS是P&R(Placement&Route)阶段的一个重要流程,它进行在placement之后,信号routing之前。在CTS完成后,design就有了真实的时钟(propagated clock,传播时钟。
数字后端基础技能之:CTS(上篇)
sinat_41774721的博客
06-28 1273
CTS
数字后端基础技能之:CTS(下篇)
sinat_41774721的博客
06-28 1273
CTS
数字后端CTS合集
Tao_ZT的博客
05-25 1782
以下资料是我之前写过的,芯片数字后端中的一些概念介绍,主要是Optimize部分。整理了一下,做成合集,方便大家查询。点击标题就可以选择文章查看,会直接挂在公众号的主页菜...
数字后端知识点扫盲——CTS(中)
笨蛋大乌龟的博客
01-07 2467
我们知道transition基本是cell高低电平翻转所需要的时间,对于clock line上的cell,我们一般需要对其施加比其他cell更严格的transition约束,不同的工艺,不同design和不同时钟频率的芯片对此可能都有不同的设置,但是我们可以大致遵循从时钟周期的10%-20%的规律,对于某些频率较低的design可能可能需要更紧的约束,在ICC2中可以通过如下命令实现。: 精确控制部分时钟树的设置,再次我们遵循从ICC的术语,在ICC2中某些术语已经弃用,但是仍能找到对应的设置方法。
DDR扫盲——single rank与dual-rank
02-13
通常情况下,一条DDR内存的数据总线宽度为64bits,意味着总线上有64条数据通道,每次可以传输64位的数据。为了实现这一目标,DIMM(Dual In-line Memory Module,双列直插式内存模块)上的内存颗粒需要共同协作,将...
Git和Repo扫盲——如何取得Android源代码.doc
07-06
Git和Repo扫盲——如何取得Android源代码
Shell新手必学:基础知识扫盲——变量、命名与分类
这篇教程旨在帮助读者建立起对shell基础知识的理解,包括变量操作、命名规则以及不同类型的变量,为后续深入学习shell脚本打下坚实的基础。随着作者承诺的后续更新,读者将能逐步掌握更多高级技巧和应用场景。
FOC项目知识点总结一 | 概念扫盲——从有刷直流电机到PMSM和BLDC
Wilson Huang的博客
04-02 4527
1 有刷直流电机 直流电机采用机械换向器,使得驱动方法简单,其模型示意图如下图所示: 电机主要由永磁材料制造的定子、绕有线圈绕组的转子(电枢) 、换向器和电刷等构成。只要在电刷的A和B两端通入一定的直流电流, 电机的换向器就会自动改变电机转子的磁场方向,这样,直流电机的转子就会持续运转下去。 有刷直流电机缺点: 结构相对复杂,增加了制造成本; 容易被环境(如灰尘等)影响,降低了工作的可靠性; 换向时会产生火花,限制了使用范围; 容易损坏,增加了维护成本等。 2 BLDC:无刷直流电机(Brushl
100天精通Python丨基础知识篇 —— 04、Python基础知识扫盲(第一个Python程序,13个小知识点
热门推荐
独木不成林,单弦不成音。
03-26 4万+
Python基础语法包括基本数据类型和变量、基本语句和控制流程、函数和模块以及面向对象编程。掌握Python基础语法可以编写更加复杂的Python程序,实现更加复杂的功能。《100天精通Python专栏 - 快速入门到黑科技》不吃西红柿。
数字IC后端流程——(四)时钟树综合Clock Tree Synthesis
sinat_41774721的博客
03-11 1万+
参考原博地址:https://blog.csdn.net/weixin_46752319/article/details/107387584 ICC时钟树综合 时钟树综合就是指从某个clock的root点长到各个sink点的clock buffer/inverter tree。工具试图将某个clock所属的所有sinks做到相同长度,即尽可能的使一个时钟信号到达各个终端节点的时间相同。   
浅聊数字后端中的 时钟延迟(clock_latency)
weixin_51185045的博客
09-26 5172
首先 1.时钟延迟的组成部分? 2.如何定义时钟延迟? 1.时钟延迟是由 时钟源延迟(source_latency) 和时钟网络延迟(network_latency) 两个部分组成。 如下图所示。 ①表示 时钟源延迟 ,指的是从 时钟源点 到 clk定义点 之间的延迟。这段延迟,自始至终都存在。 ②表示 时钟网络延迟,指的是从 clk定义点 到 时序单元的时钟输入端 的延迟。要注意的事,和时钟源延迟不一样。这一段延迟的设置并不是自始至终都存在的! 它是在clock tree没做之
数字后端面试问答No.16-18
weixin_37584728的博客
05-21 5692
数字后端面试问答No.16-18 今天继续更新三道数字后端设计实现笔试面试题目。第一道题为 CDC 问题及其解决方案。第二道题考察 setup 及 hold check 机制。第三道题考察逻辑综合阶段常用的几种 wire load model。小编目前已经开通知识星球,建立了一个连接你和我私密交流的 IC 圈子,欢迎各位上车,进行深度交流和提问。 1.What is CDC (Clock Domain Crossing)? And how to fix CDC metastability? 被不同 clo
数字后端关于clock latency的一点学习
weixin_44675561的博客
07-12 1699
数字后端 clock latency skew
IC入门必备!数字IC中后端设计实现全流程解析(1.3万字长文)
最新发布
weixin_37584728的博客
12-30 1万+
数字IC后端设计实现全流程解析
7nm项目——CTS步骤重点解析
tong66666666的博客
08-20 521
clock buffer / inverter的area (功耗) (好的clock tree 不仅是时序的问题 还涉及 clock power ,EM , IR Drop 问题,不同clock check等)实验小试:1.可以再把target skew调整 2.再换换inverter buffer(s clock 比较balance)类型。根据SDC来的,MMMC文件里有一个mode,有时候可能有多个SDC,所以一定要确保时钟树定义是全的。一、时钟树的定义在哪里?二、时钟树的目标看什么?
CTS提要总结
W215879wjj的博客
12-05 1076
place时,clock是0,skew是0;CTS之后,clock很难balanceCTS tree上还有OCV,这些都使得clock tree不平,会导致一些hold violation。整合相关sdc的clock成一个新的sdc,重新跑一次到PostC,查看新生成的clock tree结构,是否有漏clock tree。修时序违例可以看看slack time,查找是否有数值断层,时序违例一般先修大的和多的违例,如果违例大的可以先不管,后边直接硬修。一般太小的不用,太大的也不用,最大的不会超过X16。
写文章

分类专栏

  • PCIe 17篇
  • 以太网 7篇
  • 数字IC 30篇
  • TCL脚本 1篇
  • linux 5篇
  • Timing Analysis 2篇
  • 小说
  • UVM 2篇
  • SV 1篇
  • 图像 1篇
  • C语言 1篇
  • Centos os7 1篇
  • gvim 2篇
  • CPU GPU NPU 1篇
  • DDR3 1篇
  • C语言指针详解 1篇
  • python 6篇
  • matlab 4篇
  • FPGA 54篇

最新评论

  • verilog实现带进位的4进制计数器

    2401_87165683: 请问为什么进位端要另外用一个always@分开写啊😢把它们放在一起确实实现不了,但是不太明白为什么不能放在一起

  • MIPI-DSI协议解析——DCS命令集

    Mao_Guai: 必须给个好评,是入门科普的好文章。

  • 让我们来搞清楚8b/10b编码到底是怎么回事吧

    zxw661236: 抱歉,请教博主一个问题。就以D.X.4为例,默认RD=-1,可是-1表示0比1多,但是表里-1是1101,这是不是有点冲突呢?

  • 说一说system verilog内建函数$value$plusargs()

    Rhino_: 感谢pengyuyan

  • 低功耗实例——isolution cell以及level shift的选择

    手搓芯片我不会: 那不就是B和C吗,不需要

大家在看

  • 十九、Python基础语法(字典(dict)) 21
  • day01|计算机网络重难点之TCP/IP模型和OSI模型的区别、从输入 URL 到页面展示
  • 研发运营一体化(DevOps)能力成熟度模型 223
  • 五.流程控制语句
  • 刘二大人-卷积神经网络(高级篇) 794

最新文章

  • eFuse基本概念
  • 讲透filelist中+incdir+ 和 `include 的用法
  • 以太网基础知识(四)—Auto-Negotiation & Link Training
2024年11篇
2023年68篇
2022年28篇
2021年15篇
2020年19篇
2019年12篇
2018年51篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家四川大型商场美陈生产企业铜陵环保玻璃钢雕塑生产厂家广东定制玻璃钢雕塑价位新密玻璃钢座椅雕塑玻璃钢草莓雕塑价格白银人物玻璃钢雕塑多少钱西藏玻璃钢雕塑公司江西扁鹊玻璃钢雕塑玻璃钢人物雕塑的寓意徐州商场周年美陈家居商场沙发美陈广东商业商场美陈供货商玻璃钢动物豹雕塑商场中庭挂饰美陈正宗玻璃钢雕塑厂家直供德州大型不锈钢玻璃钢卡通雕塑武冈玻璃钢花盆花器浙江大型玻璃钢雕塑厂玻璃钢花盆玻璃纤维六安五一商场美陈白银玻璃钢卡通雕塑厂家江苏周年庆典商场美陈厂家直销郑州玻璃钢雕塑电话济南商场美陈生产企业北京玻璃钢造型雕塑深圳透明玻璃钢雕塑生产厂家四川玻璃钢花盆哪里有玻璃钢雕塑会碎吗枣庄园林玻璃钢雕塑定制石家庄学校玻璃钢雕塑生产厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化