什么是低功耗設計呢?對于后端工程師來講,在物理實現(xiàn)方面就是引入多條電源線,并且根據(jù)設置電壓域的不同/設計制定的全局電源網(wǎng)絡的不同,對不同PD進行常開/關斷式的供電,為了解決實現(xiàn)多電源/多電壓域的電源網(wǎng)絡供電過程中可能會觸發(fā)的問題,需要引入低功耗單元。對于簡單的電壓域設計,ICer們可以手動global connect后再detail route,也不需要注意低功耗單元擺放的合理性/孤島的設置。但是復雜的電源網(wǎng)絡的話,ICer就需要引入Power Intent文件,例如CPF(Common Power format),UPF(Unified Powerformat)來實現(xiàn)復雜多電壓域設計,電壓域的關斷,甚至是動態(tài)電壓調節(jié)DVFS來控制實現(xiàn)各個電壓域電壓的變化。
圖1 UPF文件包括/定義低功耗設計的內容 實際上UPF重點是在描述定義芯片功耗架構(比如電壓源的定義,power state的定義,低功耗單元ISO,MTCMOS(PSW),LVL,ELS單元的連接關系,供電關系以及布局信息),UPF 文件和SDC文件一樣,有自己的書寫風格,實際上UPF早就被認定為標準協(xié)議,做過低功耗設計的后端工程師應該知道,在innovus內在吃入UPF3.0的時候,文件名并不叫UPF,而叫IEEE1801,下圖是UPF的使用標準,可以看到為IEEE 低功耗設計標準,其中包括UPF的指令的man page以及使用的注意事項。
UPF編碼基礎(內容:電源網(wǎng)絡定義,多電壓域設計,低功耗模式,低功耗單元規(guī)則(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工具實現(xiàn),Tempus和Voltus是Cadence的PT和PI的signoff工具。
圖2 UPF中后端全流程以及signoff CLP,PI驗證流程 UPF電源網(wǎng)絡定義 supply net
?
?
?
UPF電源網(wǎng)絡定義 supply set
?
?
?
圖為PD1的supply set包含內給element供電的primary power,給iso和retention供電的常開pgnet)。
到這里,小編已經(jīng)介紹完了UPF編碼的大概內容以及UPF在后端的應用流程,同時也介紹了supply_net以及supply_set兩個重要的UPF create命令。下次小編將會以一個多PD的module的UPF為例,詳細解釋并一步一步講解UPF的書寫規(guī)則,讓手寫UPF低功耗文件不再是難事,各位ICer也能通過UPF給自身項目模塊進行電源網(wǎng)絡,電壓域供電規(guī)劃。
編輯:黃飛
?
評論