上次介绍完了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. STL容器的应用场景
  2. r语言和python-R语言和Python —— 一个
  3. Oracle11gR2 数据库客户端PL/SQL中文乱码的问题
  4. 最牛B 的 Linux Shell 命令(一)
  5. linux查看网卡物理编号_Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡)...
  6. c语言指针选择排序1,求助利用指针进行选择排序
  7. apt update时出现签名无法验证,公钥失效的解决办法
  8. 二分查找和三分求单峰函数极值
  9. 【mean teacher】RuntimeError: Integer division of tensors using div or / is no longer suppor的解决
  10. C#企业微信邮箱发送邮件问题_Error: authentication failed, system busy
  11. 编写高效 TS 代码的一些建议
  12. 基于C#(Visual Studio 2013)的AutoCAD2016二次开发(二)创建直线
  13. python strip什么意思_python中strip什么意思
  14. 七代处理器装win7_雷神ST(Intel第七代CPU)怎么一键重装win7系统
  15. 2020中国卓越管理公司颁奖晚宴成功举办,四家香港科大EMBA校友企业获奖
  16. 计划模拟--实现生产计划最佳的方法
  17. 拿什么拯救你,我的大规模杀伤性武器--Nokia!
  18. ·我开发的项目以及进展情况
  19. 20170922在arduino IDE添加mega16\32\64\128 mcu支持
  20. [Codevs] 一塔湖图

热门文章

  1. 【Codecs系列】x265编码器(三):preset支持工具集和优化分析
  2. Ubuntu 安装网易云音乐,及网易云音乐出现闪退、无法打开、无法自动登录的问题解决
  3. 如何优雅的判断一个数字在一个范围内
  4. java:实现奇偶校验(附完整源码)
  5. Zero date value prohibited解决方法
  6. 本地html在线打包apk,HTML一键打包APK工具使用及配置方法
  7. php 点号作用,PHP - 逗号和点号的区别
  8. kali配置KDE花里胡哨的科幻主题
  9. 游戏/应用出海本地化策略 | 泰国市场篇
  10. iOS 7新漏洞:不用输密码就能关闭“找到我的iPhone”并移除iCloud账户