當前位置:
首頁 > 最新 > 這些低功耗設計實現經驗,你真的懂了嗎?

這些低功耗設計實現經驗,你真的懂了嗎?

吾愛IC社區近期發布了基於28nm工藝的ARM Cortex-A53 CPU的數字後端實現教程。看到粉絲們反饋的好評,特別欣慰。小編會一如既然繼續碼字,繼續分享更多數字後端設計實現方面的技術乾貨。今天為大家帶來低功耗技術中的一些經驗分享。

Power gating 概述

Power gating是深亞微米技術中的低功耗技術之一。它是通過關閉設計中部分電路(不需要工作時)來實現的,以減少設計中的靜態(泄漏)功率。要實現這個功能Power switch可以完全勝任。它的原理是將VDD或GND與特定設計層次結構的標準單元分開。下圖為一個典型power gating系統。

通常有兩種類型的Power switch cell,分別為Footer和Header兩種類型。Footer結構類型是通過VSS的開關來實現標準單元的開與關,而Header結構類型則是通過VDD的開關來實現標準單元的開與關。在實際應用中,因為其leakage低和實現的便利性,往往都是選用Header類型的Power switch cell。

Power switch 結構

Power Switch的結構有fine grain power gating和coarse grain power gating兩種類型。

fine grain power gating是指將每個switch都放在cell內部。這樣使得面積增大1x-3x。優點是IR drop可以更小。

而coarse grain power gating則是在design中加入一些power switch cell來控制std cell的開和關。這種做法的優點是面積適中,缺點是power switch cell本身的壓降會偏大。

因此,在實際項目應用中,大部分都是採用coarse grain power gating方式。

Placement要求

這些Power switch cell必須在floorplan 階段添加進來,而且必須將其global 和local power ground pin 連接到power mesh 上。Header類型的power switch,一般有一個Global VDD(VDD),一個Local VDD(VDD_GATED),SLEEP信號和ACK信號。

在實際應用中,我們會在模塊中規劃一個Power Switch Network。這個power switch network由外面的Power Control模塊來控制power gating模塊的開啟與關斷。整個power switch network是由一堆的MTCMOS級聯而成的。

Power switch cell之間必須確保都是經過always on的domain。同時需要確保Power switch cell transition沒問題,保證可以正常開啟和關斷。如果在後期發現MTCMOS之間存在transition違例,則需要插入always on buffer來解決transition問題(這種情況應該盡量避免)。

Power switch cell 數量

每個模塊中應該加多少個MTCMOS,是非常有講究的。加的太多會導致面積過大,routing resource也會相應減少,影響繞線和時序。加的太少又會影響IR Drop過大。

所以,我們需要事先估算下模塊中理論上需要加多少數量,然後再加一定的margin,就可以得出我們最終需要添加的MTCMOS數量(最終要以Redhawk分析結果為準)。這個方法是吾愛IC社區小編一直在用的方法,實踐表明IR Drop結果符合預期。

計算方法:

根據預估功耗和供電電壓,計算出模塊理論上所需要的總電流

再根據MTCMOS的電阻和其本身所能允許的最大壓降值,算出理論上所需MTCMOS的數量

將所需要MTCMOS數量乘以1.3(預留margin),得出最終需要添加的MTCMOS數量

Low power cell

Isolation cell

在SOC系統中,當一個信號從一個power domain穿過AON Block,需要用到isolation cell,如下圖所示。當信號從PD2穿到AON block時,防止PD2 shut off後將不穩定的狀態傳到AON Block,需要將PD2所有output端加isolation cell,且ISO cell必須添加在always on domain。這個isolation cell其實等效於一個buffer。與buffer不同的地方在於,這個ISO cell還有一個clamp 使能信號,可以將PD2不穩定或者X態,clamp成一個固定值。根據不同的設計需求,可以將其clamp為0或者1。

對於數字後端實現而已,這個Isolation cell需要在綜合階段編寫upf,讓工具自動插入。在布局布線階段,需要將ISO cell的input pin設置dont_touch,防止在PD2 輸出信號和ISO cell之間插buffer。

Level shift cell

當信號從低壓Domain傳輸到高壓Domain時,PMOS管柵極處的較低電壓可能會導致柵極不完全關斷,從而導致異常的泄漏電流。因此,當信號在跨電壓域傳輸時,需要加Level shift cell。比如當信號從AON block傳輸到PD1時,需要加Level shift。當信號從PD1傳輸到PD2時,由於PD1是power gating模塊,所以需要在PD1和PD2之間加帶Isolation 功能的Level shift cell(ELS)。

對於數字後端實現而言,我們主要關注的是Level shift cell的power連接和placement的要求。Level shifter是兩條row高度的cell,其中含有VDD,VSS和VDDL(VDDH)。VDDL和VDDH是secondary power pin。在畫power時,需要將其畫成一個額外的power rail,確保每個Level shift cell secondary power pin的正常供電。

Level shift cell的placement主要考慮cell的transition。所以建議用magnet_placement來實現。同樣還需要注意各種電壓域跨越時,level shift cell 的input 和output需要設置dont_touch,防止工具插buffer。

如果你對isolation cell和level shift cell的placement和power連接還有疑問,歡迎前往小編知識星球提問,手把手教會。

小編知識星球簡介:

在這裡,目前已經規劃並正著手做的事情:

ICC/ICC2 lab的編寫

基於ARM CPU的後端實現流程(已經發布

利用ICC中CCD(Concurrent Clock Data)實現高性能模塊的設計實現(已經發布

其他內容待定

在這裡,各位可以就公眾號推文的內容或者實際項目中遇到的難題提問,小編會在24小時內給予解答(也可以發表你對數字後端設計實現中某個知識點的看法,項目中遇到的難點,困惑或者職業發展規劃等)。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 吾愛IC 的精彩文章:

最全的數字IC設計經典書籍電子版下載
硅光子晶元的時代將開啟,準備好了么?

TAG:吾愛IC |