上次介绍完了placement的各个内容,那接下来,轮到介绍place_opt的另一个大步骤了——Optmize(优化)。 同样地,它也是一个超级命令,内容也是很复杂。我们先来看一下它的一些概述性介绍吧。

首先,设计的不同阶段需要不同的Optmize,我们先来看一个最简单的PR流程图:

我们看到,每个opt前面分别跟着不同的名词,place_optclock_optroute_opt,分别代表着设计不同阶段的对应优化。我们为什么需要Optmize?Placement之后直接做CTS不可以嘛,CTS之后为什么不能直接绕线?其实,这些做法不是不行,但仅仅是能跑完整个流程而已,结果肯定是差强人意的。

所谓“闻道有先后,术业有专攻”,我们工具的各个功能也有它们各自的主职业务,比如说Placement并不会太“关心”timing, Routing也不是timing driven。那我们拿着一个timing很烂的data base去做CTS会有什么后果呢?通常是CTS做得更烂。因此,我们在运行每一个超级命令时,需要一个相对而言比较干净良好的data base。这时候,Optmize就应运而生,它就是专门负责帮Place, CTS, Route擦屁股的“保姆”

那这个“保姆”会做些什么事情呢?前面有提到过我们希望有一个timing较好的data base。没错!修timing是它的拿手绝活,另外他还会修DRV,修Power。如下图所示:

附校招笔试题一道:

Q1: 什么是DRV?
A1: DRV,全称Design Rule Violation(设计规则违例),包括max_transition,max_capacitance,max_fanout,max_length.

保姆有她自己的理想和奋斗目标,就是我们经常说的“PPA”。

再附带一道笔试题:

Q2: 什么是PPA?
A2: 衡量芯片三大指标:Power,Performance,Area

为了达到PPA的要求,这个保姆眼观六路,耳听八方,施展各种绝技:以下这些都是她经常会做的事情:

Add buffer/invertor:添加buffer或者invertor, 后者必须成对出现

Resize:增大或者减小buffer的尺寸

Move:挪动std cell的位置

Pin Swap: 调整有等价关系的term的连接关系。如下左图所示,在该与门电路中,假设Pin C和Pin D具有等价关系。经过A的path更critical,而且D pin的delay较小,所以我们希望可以调整两个pin的连接关系,如下右图所示。

Restruct优化一些电路结构。如下面的电路转换成三输入AOI电路

Layer Assignment:把一些critcal的path用高层走线,这样timing会较好

Split/Merge:这是一种比较新的降低功耗的方法,它可以将原来的single bit flip flop根据一些规则等价替换成为Multi Bits Flip Flop(MBFF) 。一般常用的是两个bit的MBFF。如下图所示:

MBFF有什么好处呢?

它不仅降低寄存器CK pin上的动态功耗,也能有效降低时钟树上的BUF个数,从而带来时钟树上功耗的节省。而且,如果它是一个scan flip-flop,那么dual bit register就会少一个SI和SE端口。端口的减少,可以有效降低route congestion的发生几率。

当然,她也不是随便乱用这些技能,每种技能消耗的魔法值都不一样,一般Restruct与Pin swap相对而言代价较大,optimize较少使用它们。总体来说,会尽量先用消耗较小的技能。

我们的老板(PR工具)给了保姆最大限度发挥的自由,当然底线不能触碰,就是不能违反formal规则。一旦违反,年终奖可就没了。。。

对于设计的不同阶段,我们需要保姆做不同的事情。我们这次要讲得是PreCTS的Optmize。它是介于Place和CTS之间的一个步骤。主要目的就是给CTS一个timing相对干净,DRV较少的data base,这样CTS才能生长一个较好的Tree,发挥它自身最大的功能。

详细内容,且听下回介绍——Optmize(二)


Q&A
Q1:为什么加buffer或者invertor可以减小timing?
Q2:为什么没有preCTS hold?

公司招聘

各大IC公司招聘各类IC工程师

简历请戳邮箱:taozhang3260@163.com

“擦屁股”也是个技术活——Optmize(一)相关推荐

  1. 《擦屁股先生》词:你挚爱的强哥

    <擦屁股先生> 词:你挚爱的强哥 曲:姚中仁 我似乎快要疯癫 又过了差不多的一天 需求差不多在变 我花了差不多的时间 bug差不多在改 锅要差不多的甩 活要差不多的拖 总监差不多在啰嗦 差 ...

  2. ffmpeg推流_明白了以下5点思路,你也能用Python实现直播推流效果(技术活)

    今天为大家带来的内容是:明白了以下5点思路,你也能用Python实现直播推流效果(技术活) 本文内容主要介绍了Python实现直播推流效果,主要是通过opencv读取视频对视频分割为帧,本文通过实例代 ...

  3. CEO 赠书 | 决策是一个技术活,如何做「对」的事?

    弱者群居,于是有了芸芸众生 强者求变,方才见证出类拔萃 相比勤奋,更重要的是深度思考的能力 它藏着你走过的路,读过的书 本期荐书 <斯坦福商业决策课> 豆瓣评分:7.8 作者简介 卡尔·斯 ...

  4. 拒载制度失灵?台湾一空服员被逼帮旅客“擦屁股”

    中新网1月22日电 据台湾<联合报>报道,日前,一名台湾长荣航空的空服员遭外籍乘客逼迫"脱裤子.擦屁股",该名空服员21日在桃园市空服员职业工会的陪同下出面说明,指自己 ...

  5. 前人栽树,后人擦屁股

    同意我吐槽吐槽. 我们公司的工资有3分之中的一个是按做的题来算的.这是boss就差没有跳楼的时候,开会愁眉苦脸宣布的. 我不否认这个对大家的积极性,可是问题也随之而来. 我的两个同事,求多求快(刚開始 ...

  6. 沟通技巧-《好好说话》书中的精髓:掌握沟通、说服、谈判、演讲、辩论的五维话术,让你在任何场景下,都能做到处变不惊,学会说话这个技术活。

    <好好说话>书中的精髓:掌握沟通.说服.谈判.演讲.辩论的五维话术,让你在任何场景下,都能做到处变不惊,学会说话这个技术活. 相信在生活中,每个人都可能因为不会说话遇到一些困难: 工作辛苦 ...

  7. 华为云MVP周峥:气象预报是个技术活,大数据、超算、AI,缺一不可

    摘要:在这样一个关乎民生的行业里,人工智能.大数据.超算这些技术,可发挥的潜力也是无限的,华为云MVP周峥就是其中的技术践行者,他正带领着团队为国内气象行业带来一股温柔而不失力量的春风. 本文分享自华 ...

  8. 聊天也是技术活:内向性格社交宝典-摘抄

    聊天也是技术活:内向性格社交宝典-学习笔记 1.聊天之道:练好嘴皮子,世界就是你的 2.让我们相识,从有趣的自我介绍开始 2.1自我介绍 2.2具体化形象化的介绍自己的爱好 2.3用几个关键词突出自己 ...

  9. 观复嘟嘟:职场是个技术活-马未都

    职场是个技术活 职场是个技术活 1. 职场的定义 2. 兴趣和职场哪个更要? 3. 如何处理职场关系 5. 如何与不喜欢的人打交道 6. 职场的生存法则一:勿打听 7. 职场的生存法则二:融入集体 8 ...

最新文章

  1. python中opener_详解在Python程序中使用Cookie的教程
  2. 字符串中斜杠换行注意事项之-多余空格
  3. Java 获取当前时间
  4. 关于WebService中用到的QName详解
  5. Oracle ORA-00903:表名无效
  6. arm cortex-a8 天梯图_ARM正式推出CortexA78C核心:针对笔记本电脑设计、支持8个大核心...
  7. SQLServer知识:sqlcmd用法笔记
  8. 在家办公这半年,让我开始热爱生活
  9. mysql insert 错误码_利用 MySQL 自身错误诊断区域-爱可生
  10. 8款JVM性能调优监控工具(提高开发效率)
  11. Yarn的资源调度与隔离
  12. R|数据处理|list的转化与转置
  13. C++ error C3867 请使用 ““ 来创建指向成员的指针
  14. php 依赖注入 数据库切换_通俗易懂理解PHP依赖注入容器
  15. Atitit。 《吠陀》 《梨俱吠陀》overview 经读后感  是印度上古时期一些文献的总称
  16. 中国精算师资格考试-考试指南
  17. 计算机硬盘能改成移动硬盘,旧硬盘怎么改装成移动硬盘
  18. 【x86架构】中断基础介绍
  19. c#进行excel编辑
  20. TP框架增删改查需要掉ajax么6,TP6框架--EasyAdmin学习笔记:实现数据库增删查改

热门文章

  1. 力扣 -- 526. 优美的排列
  2. postgres 数据库导入导出
  3. Vue学习笔记(0504)
  4. ROS安装和 控制小海龟画圆
  5. Python 计算变上限二重积分的数值模拟进阶
  6. Tomcat(一):简介
  7. SQL优化整理(三)
  8. LeNet5网络结构分类CIFAR10数据集
  9. shell编程===》shell基础
  10. 美国智能音响生态系统对比分析