数字后端低功耗

摘要:
之后使能ICC中的LPP功能,这样ICC在布局阶段会自动挪动一些Cell,缩短高翻转的Net长度,降低这些Net上的电容,从而降低与之相连的Cell的动态功耗。门级功耗优化的技术:1.BufferInsertion:插入Buffer以降低负载电容,并缩短输入Transition时间,从而降低动态功耗。

本文转自:自己的微信公众号《集成电路设计及EDA教程》

数字后端低功耗第1张

推文主要内容:

  • LPP: Low Power Placement
  • GLPO: Gate-level power opt

低功耗技术:

  • Buffer Insertion
  • Cell Sizing
  • Pin Swapping
  • Phase Assignment
  • Technology Mapping
  • Factoring

有哪些低功耗策略可以应用到芯片物理布局阶段从而降低芯片的功耗呢?

执行静态功耗优化的一些设置:

1. 对于MCMM的设计而言,我们也需要在创建scenario的时候指定哪些scenario可以被用来进行静态功耗的优化,一般选择那些静态功耗非常大的scenario,所用命令为:set_scenario_options -leakage_power true

2. 指定多阈值电压约束,命令为:set_multi_vth_constraint

执行动态功耗优化的流程:执行LPP降低动态功耗的流程如下:

1. 对于MCMM的设计而言,我们首先需要在创建scenario的时候指定哪些scenario可以被用来进行动态功耗的优化,所用命令为:set_scenario_options -dynamic_power true

2. 在布局之前,读入网表动态仿真得到的saif文件,它记录了Cell和Net的Swithing Activity。所用命令为:read_saif。之后使能ICC中的LPP功能,这样ICC在布局阶段会自动挪动一些Cell,缩短高翻转的Net长度,降低这些Net上的电容,从而降低与之相连的Cell的动态功耗。如果没有saif文件的话,需要在布局之前在设计的输入端口设置Toggle Rate并让其往后传递,如果知道某些中间节点的Toggle Rate也可以设置,这样功耗分析会更加精确。

该选项默认是关闭的,需要在布局之前开启。

数字后端低功耗第2张

旧版的ICC中是通过下面的方式开启的:set_power_options -low_power_placement true

Flow如下:

数字后端低功耗第3张

注意:在新版的ICC中,set_power_options命令已经被废除;如果是新版的软件可以用下面的命令:set_optimize_pre_cts_power_options -low_power_placement true

执行GLPO降低动态功耗的流程如下:在布局的时候我们也可以通过门级功耗优化(Gate-level power optimization, GLPO)来优化逻辑从而降低功耗。

门级功耗优化的技术:

1. Buffer Insertion:插入Buffer以降低负载电容,并缩短输入Transition时间,从而降低动态功耗。

数字后端低功耗第4张

数字后端低功耗第5张

2. Cell Sizing:降低High Switching Activity网络上的电容,缩短Transition时间以降低Inernal Power。

数字后端低功耗第6张

数字后端低功耗第7张

3. 交换引脚(Pin Swapping):将高翻转的Net连接到Cell的低电容引脚上。

数字后端低功耗第8张

数字后端低功耗第9张

4. 相位分配(Phase Assignment):进行相位翻转来移除高翻转的反相器

数字后端低功耗第10张

5. 工艺映射(Technology Mapping):隐藏Cell内的高翻转网络比如4输入的AND门,我们可以用AND4+INV的方案实现,也能通过NAND2+NOR2的方案实现,两种方案在Area和Delay、Energy方面的对比如下:

数字后端低功耗第11张

PPA的对比:

面积:方案(a)结构更加紧凑,因此面积更小;

速度:两种方案都是双级结构,方案(a)比(b)速度更快,或者至少一样快;

能量:方案(a)内部高翻转网络被隐藏,因此消耗的能量更少,且效果非常明显

6. 代数变换分解(Algebraic Transformations Factoring):修改网络结构,降低电容,但可能会增加活动性。

数字后端低功耗第12张

注意:可以在place_opt期间同时执行GLPO,LPP和泄漏功耗优化,也可以在place_opt之后,在psynopt期间单独执行GLPO,可以获得类似的结果,并可能会降低整体运行时间。

旧版ICC整体Flow如下:

数字后端低功耗第13张

在新版ICC里面,set_power_options命令被废除,同样通过set_scenario_options -dynamic_power true选取进行动态功耗优化的scenario,之后用place_opt -power来进行GLPO。

网易云课堂

视频课程

Calibredrv教程-提高流程自动化

数字后端低功耗第14张

免责声明:文章转载自《数字后端低功耗》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android空指针异常的常见情况自己动手搭建私有百度网盘下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

为什么要先装IIS后装.Net Framework?

1.动态页面和静态页面的区别   动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服务器的交互)  静态页面(静态网站):纯HTML+CSS+javascript开发的页面,负责页面的展示效果开发的网站一般是动静结合 2.为什么要先装II...

Linux性能优化实战学习笔记:第五十一讲

一、上节回顾 上一节,我带你一起学习了常见的动态追踪方法。所谓动态追踪,就是在系统或者应用程序正常运行的时候,通过内核中提供的探针,来动态追踪它们的行为,从而辅助排查出性能问题的瓶颈。 使用动态追踪,可以在不修改代码、不重启服务的情况下,动态了解应用程序或者内核的行为,这对排查线上问题、特别是不容易重现的问题尤其有效。 在 Linux 系统中,常见的动态追...

Nginx学习之Nginx配置

Nginx可以用来提供静态资源服务(静态资源文件访问)、反向代理服务(请求转发、负载等)、API服务,可以通过配置文件进行配置来实现Nginx的能力,因此本篇就进行配置文件的详述来进行Nginx使用实践。 1、Nginx配置概述   1.1、配置文件结构 Nginx配置文件结构目录如下图所示: 具体模块功能分工如下: 全局块 该部分配置主要影响Ngin...

李艳鹏:技术人如何修炼内功

李艳鹏:技术人如何修炼内功     前不久趣直播举办了一场技术人成长交流会。邀请了易宝支付产品中心首席架构师李艳鹏来分享。 以下是文字版:   有请李艳鹏老师!第一场分享是由艳鹏老师带来的,今天非常感谢大家来到现场。艳鹏老师这本《分布式服务架构原理设计与实战》的作者,之前是一个朋友介绍他来我们平台做了一次直播,然后他相应的在服务器方面造诣比较深,他在易宝现...

c#使用反射调用类型成员示例

在实际的工作中直接使用反射的机会比较少,有印象的就是一次自己做的WinForms小工具的时候利用反射来动态获取窗体上的每个控件,并且为必要的控件动态添加注册事件。因为刚入职新公司,为了更快的了解公司的业务、和开发习惯,先和现在公司同事一起修改现有系统的一些小Bug。在Tester提交的Bug中有一个是对GridView进行动态的排序——点击一个列时使用该列...

lib和dll文件的初了解

lib,dll这两样东西在许多编程书中都很少出现,但实际工程中,这两样东西的作用确实非常重要,我觉得c++程序员都有必要了解这两样东西。 首先总共有 动态链接 和 静态链接 这两种链接方式 |静态链接:静态链接使用静态链接库lib,且只在源代码编译时用到(编译期)。编译生成静态库时会生成一个.lib文件.lib里面装载了各种类,函数的实现。这种静态链接的...