0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

低功耗设计标准出台多年,为何低功耗设计还是那么难?

英诺达EnnoCAD 来源:英诺达EnnoCAD 2023-06-02 09:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

"IEEE 1801或更为业内所熟知的UPF标准,是描述电源意图(power intent)、设计及验证电源管理架构的一套方法学。这个标准自推出以来经历了4次大的更新,而不同版本之间的兼容性问题也使该标准成为EDA领域最难支持的标准之一。"

十年前,低功耗领域的两项标准终于在业界期待下进行了融合,在达成这个结果之前,行业内经过了巨头站队、各自为营的过程,其结果是给用户体验造成了困扰。这个标准就是现在的IEEE 1801标准,现在业界也称为低功耗标准格式(UPF)。

在这个标准出来之前,功耗已经成为最令全行业头痛的问题之一,连续多年来,都是国际会议上的焦点议题。彼时,工艺持续在按照摩尔定律演进,功耗也可以持续改善。虽然晶体管缩小了,但是单位面积上功耗不降反升,甚至有人预测若不对此做出相应的功耗改善,芯片功耗的能量密度将会赶上火箭发动机喷射口的能量密度。

渐渐地业内企业不再寄希望于工艺方面出现奇迹,所以必须进行设计相关的功耗降低,也就是电源管理,这其中包括多电压、电源关断、电压岛等方法。但是其结果就是整个设计流程变得碎片化,流程中每个工具都有不同的文件格式,极难实现自动化。

因此,用户急需一套统一的标准,一个可以描述电源意图的工具成为了市场的需求。诺基亚的全球IC工具经理Mika Naula在当时表示,他对功耗标准的要求就是MISS(make it simple, silly)和KISS(keep it simple, stupid)。希望能有一个可用、可维护和支持验证的标准,这样有助于工具之间的互操作性。

在此背景下,业界第一个低功耗的标准CPF (Common Power Format) 于2007年出炉了。通过CPF,设计师终于可以定义他们的功耗策略和框架了,而且因为是标准规范格式,只需要一次,工程师所定义的功耗意图就可以应用在整个芯片设计开发的流程之中。

这样大大简化了这个流程,真正做到事半功倍的效果。 这个本应给全行业带来更多便利的工具却成为了EDA巨头争夺的战场,与CPF相应的UPF标准也被开发出来。这两个标准语义不同,当时的用户评价CPF和UPF做功耗意图时是一样的,但是在细节上却是各行其道,用户在使用工具时不得不选边站队,让两个标准相互融合的呼声也越来越高。

IEEE 1801发展演进

2007年3月

Silicon Integration Initiative(Si2)组织发布了CPF 1.0,该标准由42条命令组成,可以描述低功耗意图。该标准不仅可以显著有效地降低了芯片的功耗,基于CPF的全流程设计实现了跨团队之间的高效沟通协作。同年,Accellera组织通过了UPF 1.0草案。UPF 1.0由32个命令组成。

2008年

Si2组织发布了CPF 1.1。由于Accellera组织将UPF贡献给IEEE,同年IEEE发布了IEEE 1801-2009标准,也被称为UPF 2.0。该标准向后兼容UPF 1.0,同时吸纳了CPF的一些概念。对比1.0版本,UPF 2.0最大的不同是引入了supply_set的概念,一个supply_set有6个function,从而检查会更加完善。

2011年

CPF 2.0发布。新版本优化了层级流程、增强了验证仿真相关流程,同时提高了与IEEE 1801的互操作性。

2011年5月

促成日后电源格式融合的里程碑事件是Si2宣布对IEEE开放低功耗方法论 (OpenLPM)。方法融合的直接好处是增强了采用混合低功耗格式设计流程中不同格式之间的互操作性。从长远来看,方法论的趋同也成为了标准格式融合的快车道,让两个标准尽快达成一致。

2013年

自Si2把CPF 2.0贡献给IEEE之后,这一年IEEE 1801-2013(UPF 2.1)发布,其中包含11条新的UPF命令,此版本象征了CPF和UPF的正式融合。该版本对先前的命令做了进一步改进、引入了电源模型和中继器策略,以及一些电源管理单元定义命令。UPF 2.1共包含86个命令:46个功耗意图、6个电源管理和34个Query命令。

2014年

此后不久,2014年发布了UPF 2.1的修订版——IEEE 1801a-2014(UPF 2.2)。此修正案中没有引入新命令,也没有弃用或删除任何命令。该版本纠正了UPF 2.1中的错误。改正了与电源状态、电源、优先规则和电源管理单元位置的语义相关的歧义和不一致之处。

2015年

IEEE 1801-2015(UPF 3.0)定稿并获得批准。该标准引入了11条新命令。一共由62条命令组成:51个功耗意图、6个电源管理和5个Query命令。新增内容包括电源状态和状态转换的功能增强,以及对IC设计流程不同阶段电源意图连续改进的支持。该版本还引入了详细的信息模型,作为增强包UPF功能和查询功能的基础。此外,它现在还支持在虚拟原型应用中进行系统级功耗分析的组件功耗建模。

2018年

到目前为止最新IEEE 1801-2018(UPF 3.1)发布。此版本是IEEE 1801的重要里程碑,添加了多项新功能并明确了现有功能,同时保持了先前版本之间一定程度的向后兼容性。 ee13389a-009f-11ee-90ce-dac502259ad0.png

随着低功耗设计方法学的演进以及越来越多的用户开始使用UPF,UPF标准会持续迭代升级,而这种升级包含但不限于对现有语义不完整或有歧义的地方进行修改,UPF也将满足用户更加多元的需求。

UPF经历了多代更迭才发展到现在,然而用户在使用UPF的时候出于使用习惯等原因未必会使用最新版。

在某些情况下,当设计迁移到新标准时,属性规范可能会导致错误,这表明设计中存在潜在问题,来自Liberty和UPF的信息存在冲突。因此工程师还需要编辑UPF文件并确保在电源意图中指定了正确的信息集。

多版本导致歧义

IEEE 1801虽然一步步趋于完善,但对用户的使用也产生了一定的困扰,尤其是各个版本之间存在语义、语法上的歧义甚至是冲突。

而目前市面上常用的EDA工具往往不能很好地兼容各个UPF版本,这也就使得芯片工程师不得不迁就EDA工具。 下面仅举几例说明UPF各版本之间的差异。

一. UPF语法上的不一致, 但语义都是一样的

1) 对电源状态表(Power State Table)的支持:

UPF1.0 步骤一:定义supply_ports的电源状态

add_port_statevdd1-state{s080.8}-state{offoff}
add_port_statevdd2-state{s090.9}-state{offoff}
add_port_state vss        -state {s0  0}
步骤二:列出supply_ports之间的状态关系
create_pst PST1 -supplies {vdd1 vdd2 vss}
add_pst_state M1 -pst PST1 -state {s08 s09 s0}
add_pst_state M2 -pst PST1 -state {s08 off s0 }
UPF2.0 步骤一:定义supply_sets的电源状态
create_supply_set SS1 -function {power vdd1} -function {ground vss}
create_supply_set SS2 -function {power vdd2} -function {ground vss}
add_power_state SS1 -state {on 
     -supply_expr { (power == {FULL_ON 0.8}) && (ground == {FULL_ON 0.0}) }
add_power_state SS2 -state {on 
     -supply_expr { (power == {FULL_ON 0.9}) && (ground == {FULL_ON 0.0}) }
步骤二:列出supply_sets之间的状态关系
add_power_state pd1 -state {m1  -logic_expr {  SS1==on   &&   SS2==on  }}
二. 语义不一致

1)电源域边界(power domain boundary)的定义不一样

UPF 1.0中定义仅是upper boundary,UPF 2.0及以上定义包括upper boundary和lower boundary。如下图, 对于蓝色这个power domain来说,在UPF 1.0的定义中,有效的elements是P1、P3。而在UPF 2.0的定义中,有效的elements是P1、P2和P3。

ee299860-009f-11ee-90ce-dac502259ad0.png

2)option -diff_supply_only的默认值不一样

在set_level_shifter的command里面有一个option叫做-diff_supply_only。UPF 2.1及以下版本:默认值是false,表示不管source的电源和sink的电源是否是等价,当有set_level_shifter这个命令的时候,必须在它的elements上加level shifter cell。后来IEEE标准工作委员会认为这不合理,因为只有source和sink的电源不等价时才需要加level shifter cell,因此在UPF 3.0版本里把-diff_supply_only的默认值改成了true。

轻松搞定低功耗设计,让你的产品更COOL

市场对低功耗的需求越来越高,不只是便携设备的电池需要更长的续航时间,非便携设备也要降低冷却装置的成本,不仅如此,功耗近几年还成为了制约大算力芯片发展的重要瓶颈之一。随着社会对环保和可持续发展的重视,越来越多的公司和组织开始采取行动,推动电子设备的能效,这也将促进IEEE 1801标准在芯片设计中的采用和推广。 英诺达作为一家本土EDA公司,自创立之初就在低功耗领域积极布局,目前EnFortius“凝锋”系列低功耗EDA工具已经推出了两款低功耗工具——LPC低功耗设计验证工具GPA门级功耗分析工具

这两款工具采用了全新的产品架构,为业界首个基于UPF 3.1版本信息模型搭建核心电源意图数据结构的EDA工具,该数据库功能丰富,可以有效地访问UPF中描述的任何电源意图信息。 基于一些历史原因,在英诺达的系列低功耗EDA工具面世之前,市场上没有一款工具可以同时支持CPF和早期UPF版本,另外由于标准更新速度快,迄今许多大厂也尚未支持最新版中的一些命令和语义。

而英诺达的系列工具兼容了老版本的命令及语义,保证了最大程度的通用性及灵活性用以支持不同客户的实际需求。 英诺达秉持以客户需求为导向,帮助客户实现价值最大化的理念,将持续在低功耗领域深耕,与客户一起克服低功耗设计的难题,为中国半导体产业提供更为卓越的EDA解决方案。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源管理
    +关注

    关注

    117

    文章

    6559

    浏览量

    147549
  • 晶体管
    +关注

    关注

    78

    文章

    10277

    浏览量

    146352
  • 低功耗设计
    +关注

    关注

    0

    文章

    85

    浏览量

    16672
  • UPF
    UPF
    +关注

    关注

    0

    文章

    51

    浏览量

    14118

原文标题:低功耗设计标准出台多年,为何低功耗设计还是那么难?

文章出处:【微信号:gh_387c27f737c1,微信公众号:英诺达EnnoCAD】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MCU芯片想实现低功耗如何做到?

    1、关闭非必要外设时钟 逐一检查MCU的外设,仅保留工作中必须的模块时钟,关闭未使用的外设时钟,以此减少不必要的功耗。 2、避免时钟倍频 在进入低功耗模式前,禁用PLL(相位锁定环)和FLL(频率
    发表于 12-01 08:01

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?
    发表于 11-12 07:29

    RTT支持低功耗应用吗?

    RTT支持低功耗应用吗?哪个版本更适合用来做低功耗的项目?选标准版,nano,还是smart好?谢谢
    发表于 10-13 07:59

    pm组件进入低功耗不能唤醒是怎么回事?

    (进入低功耗前是20mA左右),但是现在lptime没有唤醒。源码里的程序是有哪些需要修改的吗?还是配置没配置对?有知道的大佬,麻烦指导一下。
    发表于 09-12 06:04

    CYBT-213043-MESH如何降低低功耗节点的电流消耗?

    低功耗节点,我设置了 \" LOW_POWER_NODE?= makefile 中的 1\"(低功耗节点)。 但是低功耗节点的电流消耗仍然太高。 我的问题是,除了
    发表于 07-04 06:21

    低功耗低功耗前端模块,适用于蓝牙®范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于蓝牙®范围扩展应用的引脚图、接线图、封装手册、中文资料
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于蓝牙®范围扩展应用 skyworksinc

    低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用的引脚图、接线图、封装手册、
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于蓝牙®信号范围扩展应用 skyworksinc

    DA16600MOD超低功耗Wi-Fi低功耗蓝牙组合模块数据手册

    DA16600 模块为您的设备添加低功耗 Wi-Fi 和低功耗蓝牙™ (LE) 功能提供了便捷的方式。 低功耗 Wi-Fi DA16200 片上系统(SoC) 和低功耗蓝牙 LE DA
    的头像 发表于 05-25 16:10 727次阅读
    DA16600MOD超<b class='flag-5'>低功耗</b>Wi-Fi<b class='flag-5'>低功耗</b>蓝牙组合模块数据手册

    蓝牙低功耗模块的原理和应用介绍

    或更高版本标准的设备,它们采用低功耗蓝牙(BLE)技术。以下是其工作原理的简要概述: 1. 广播和连接模式:蓝牙低功耗模块可以在广播模式和连接模式之间切换。在广播模式下,模块会定期广播包含特定信息的数据,而在连接模式下,
    的头像 发表于 05-21 15:56 915次阅读

    关于低功耗蓝牙连接功耗的评估

    关于低功耗蓝牙连接状态下的功耗评估,推荐一个好用的工具: 对于做低功耗蓝牙开发的小伙伴来说,功耗的评估与测试是绕不开的一个环节,如何快速的评估自己所选用的方案平台,
    发表于 04-26 17:10

    低功耗MCU软件设计技巧与选型

    低功耗MCU(微控制器)凭借其极低的功耗和高效的能量管理能力,正在快速渗透到多个新兴领域,尤其在物联网(IoT)、可穿戴设备、智能家居和医疗电子等领域展现出巨大的应用潜力,国内超低功耗MCU的崛起
    的头像 发表于 04-12 17:19 1506次阅读
    超<b class='flag-5'>低功耗</b>MCU软件设计技巧与选型

    低功耗蓝牙和经典蓝牙,到底怎么选?

    和Bluetooth Smart两者又有什么区别?我的应用到底该选经典蓝牙技术还是低功耗蓝牙技术?这是很多刚接触蓝牙技术的人经常碰到的问题。 首先,在2010年以前,当我们谈论蓝牙的时候,就是在说经典蓝牙,因为
    的头像 发表于 04-07 16:01 1192次阅读
    <b class='flag-5'>低功耗</b>蓝牙和经典蓝牙,到底怎么选?

    低成本的低功耗MCU

    内置24位ADC的MCU,需要低功耗,怎么找不到低于5元的呢?大家有吗?
    发表于 02-13 22:13

    低功耗处理器的优势分析

    随着科技的飞速发展,电子设备的种类和数量不断增加,人们对设备的能效要求也越来越高。低功耗处理器因其在节能、环保和成本效益方面的优势而受到广泛关注。 低功耗处理器的定义 低功耗处理器是指在设计时
    的头像 发表于 02-07 09:14 1810次阅读

    如何实现EEPROM的低功耗模式

    内容进行擦除和重写。在许多应用中,尤其是在电池供电的设备中,低功耗模式对于延长设备的使用寿命至关重要。以下是实现EEPROM低功耗模式的一些方法: 1. 选择合适的EEPROM类型 选择功耗较低
    的头像 发表于 12-16 16:54 1427次阅读