想必各位ICer们在招聘JD上专门看到低功耗设计经验的要求,那么,什么是低功耗设计呢?
对于后端工程师来讲,在物理实现方面就是引入多条电源线,并且根据设置电压域的不同/设计制定的全局电源网络的不同,对不同PD进行常开/关断式的供电,为了解决实现多电源/多电压域的电源网络供电过程中可能会
触发的问题,需要引入低功耗单元。对于简单的电压域设计,ICer们可以手动global connect后再
detail route,也不需要注意低功耗单元摆放的合理性/孤岛的设置。但是,复杂的电源网络的话,ICer就需要引入Power Intent文件,例如CPF(Common Power format),UPF(Unified Power
format)来实现复杂多电压域设计,电压域的关断,甚至是动态电压调节DVFS来控制实现各个电压域电压的变化。
实际上,UPF重点是在描述定义芯片功耗架构(比如电压源的定义,power state的定义,低功耗单
元ISO,MTCMOS(PSW),LVL,ELS单元的连接关系,供电关系以及布局信息),UPF 文件和SDC文件一样,有自己的书写风格,实际上UPF早就被认定为标准协议,做过低功耗设计的后端工程师应该
知道,在innovus内在吃入UPF3.0的时候,文件名并不叫UPF,而叫IEEE1801,下图是UPF的使用标准,可以看到为IEEE 低功耗设计标准,其中包括UPF的指令的man page以及使用的注意事项。UPF编码基础(内容:电源网络定义,多电压域设计,低功耗模式,低功耗单元规则(rules),芯片边缘供电定义,IP供电描述)。实际上,UPF贯穿整个中后端设计,不同的电压域,里面的lib_cell用的对应library库(包含各种.lib
的总库)也不一样,比如1.0V用1.0V的library,2.0V用2.0的library库。综合中一般加ISO,ICG,
LEVELSHEIFTER,而SWITCH_cell(MTCMOS四PIN的串链)在物理设计里面加。同时,值得注意的是,一般低功耗单元都是加在powerdomain的boundry边缘处,但如果有些低功耗的单元(iso,level shifter)是加在marco的pin上面的时候,就不能放在电压域boundry处。CLP验证主要验证UPF架构(就那些内容)写的对不对,通过Cadence家的conformal工具实现,Tempus和
Voltus是Cadence的PT和PI的signoff工具。图2 UPF中后端全流程以及signoff CLP,PI验证流程图为PD1的supply set包含内给element供电的primary power,给iso和retention供电的常开pg
net。到这里,小编已经介绍完了UPF编码的大概内容以及UPF在后端的应用流程,同时也介绍了supply_net以及supply_set两个重要的UPF create命令。下一篇小编将会以一个多PD的module的
UPF为例,详细解释并一步一步讲解UPF的书写规则,让手写UPF低功耗文件不再是难事,各位
ICer也能通过UPF给自身项目模块进行电源网络,电压域供电规划。
大学还用Protel 99 SE、51单片机教学?
C语言指针p、*p、&p、*&p、&*p分别代表什么?