"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的重要里程碑,添加了多項新功能并明確了現有功能,同時保持了先前版本之間一定程度的向后兼容性。
隨著低功耗設計方法學的演進以及越來越多的用戶開始使用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](https://file1.elecfans.com//web2/M00/9A/EE/wKgZomTnsb6ALEEFAACn0N12TVE546.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解決方案。
審核編輯:劉清
-
電源管理
+關注
關注
115文章
6193瀏覽量
144950 -
晶體管
+關注
關注
77文章
9745瀏覽量
138896 -
低功耗設計
+關注
關注
0文章
80瀏覽量
16199 -
UPF
+關注
關注
0文章
50瀏覽量
13576
原文標題:低功耗設計標準出臺多年,為何低功耗設計還是那么難?
文章出處:【微信號:gh_387c27f737c1,微信公眾號:英諾達EnnoCAD】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
如何實現EEPROM的低功耗模式
stm32低功耗設計技巧
物聯網系統中TCP低功耗產品長連接狀態下降低功耗功能的實現方案
![物聯網系統中TCP<b class='flag-5'>低功耗</b>產品長連接狀態下降<b class='flag-5'>低功耗</b>功能的實現方案](https://file1.elecfans.com//web2/M00/08/8E/wKgZomb4znuADSfLAAAROoJL_4Y911.jpg)
柵極驅動芯片選型低功耗原因
適用于超低功耗和低功耗應用的獨特高效隔離式DC/DC轉換器
![適用于超<b class='flag-5'>低功耗</b>和<b class='flag-5'>低功耗</b>應用的獨特高效隔離式DC/DC轉換器](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CPU的低功耗與高功耗的區別
低功耗BLE Mesh耗電量很大的原因?
國產藍牙模組 | 低功耗藍牙應用
![國產藍牙模組 | <b class='flag-5'>低功耗</b>藍牙應用](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
低功耗藍牙和藍牙Mesh模塊的區別與關系
藍牙模塊選經典藍牙還是低功耗藍牙?
![藍牙模塊選經典藍牙<b class='flag-5'>還是</b><b class='flag-5'>低功耗</b>藍牙?](https://file1.elecfans.com/web2/M00/E9/45/wKgaomZPE3mAfE7pAAC6WyCLPO8945.png)
評論