付費限定[Verilog] 10分鐘看懂IC design的low power design - 1 (原創)
付費限定

[Verilog] 10分鐘看懂IC design的low power design - 1 (原創)

更新於 發佈於 閱讀時間約 8 分鐘

對於現在的IC來說,

除了追求性能外另外一個重點就是如何降低功耗,

除了電池考量外,高功耗帶來較高的溫度,然而隨著溫度升高有可能會導致IC燒毀,

以及cooling的設計會替產品帶來較高的成本,

因此對於如何降低chip的功耗逐漸成為了ic design的顯學


以APPLE 最新的A18 Core來說對比A16的power consumption降低了35%,

raw-image


那對於ic design的過程中有甚麼手法有機會讓chip的功耗降低呢

在這邊來探討一下


以現今主流的low power 技術大致上有幾種

  1. clk gating
  2. power gating
  3. volatge island
  4. DVFS
  5. Multi-Vt
  6. MBFF


這裡來上述的item做更深一點的介紹讓各位了解到其內涵,

首先對於logic power consumption計算來說,

有一個屬於他的model


Total power = Dynamic power + Static power


這個公式淺而易懂,

意思就是logic power消耗的總和 = 因為變化造成的power消耗 + 底電提供的power消耗

舉個好懂一點例子,

就像是電動車一樣,

當發動後,即使沒有踩油門,也會因為必須讓汽車處於一個可正常工作的條件下,

電池會對發電機等周遭的設備提供一定的電源供應,這個基礎的供電消耗就是屬於static power的部分

而因為油門加速所造成額外的電力消耗則是屬於dynamic power.


又或是我們日常在使用手機一樣,

相信大家都有注意到,即使我手機擺著不用,一段時間後電池的電量還是會隨著時間降低,

因為手機處於一個待機的狀態,電池必須提供他最低的一個用電需求,讓他處於一個功能正常隨時可用的狀態,這就像是底電的部分,屬於static power consumption,又稱為leakage power

對於我們在划手機時,會使的螢幕等一直不斷地更新去update最新的data,

在為了要更新狀態所消耗的電就屬於dynamic power consumption,亦為switching power + internal power (short circuit power)


那我們把觀察的scale 縮小

縮到剩一個CMOS來說,

CMOS 屬於電路中的最基本元件,

在操作上,必須提供他一個最基本的工作電壓,也就是底電的部分,讓他可以處於一個待命的狀態,隨時都可以運作,這時所消耗的最基本電量即為static power

對於trigger cmos output從0變成1或是從1變成0,

因為這個轉換的過程所造成的電量即為dynamic power


Total power = Dynamic power + Static power

= (Switching power + Internal power) + leakage power


  • switching power : 驅動output 0->1 or 1->0過程對負載或電容充放電所耗的電量
  • internal power : cmos在從0->1 or 1->0 過程中,會有短暫的時間處於transition( nmos+pmos全導通的狀態),形成一個短路電流
  • leakage power : 半導體製程特性,trun on後即使沒有做任何行為依然會出現一個微小的電流從substrate或gate oxide流出
raw-image



1.clk gating

clk gating屬於ic design中最常見的手法,

IC在運作過程中,所有的register或latch皆是由clk來trigger,

每當active clk來臨,就會去更新data

假如我function都劃分得很開,

每塊module都有自己特定的功能,

像是對於手機運作來說,

如果我只想要用藍芽耳機聽串流音樂,

此時我使用到的module可能有blue tooth module , DAC module , wifi module ,

此外像是display ,camera module等是完全不用被用到的

因此這些不會用到的module基本上就算該區域個regiser一直被clk trigger也不會需要update任何東西,

所以我們就說,那不如直接把這些沒用到的module clk直接停掉吧

這樣這些idle的register就不會再動了,直接切掉了dynamic power

只會剩下讓他們維持待命所需的基本電量消耗 static power

因此對於做了clk gating的register來說

基本上可以看成Total power = static power = leakage power

此外於clk source to register上的 clock tree cell也會一併停止toggle


  1. power gating

power gating 和clk gating一樣常見的技術,

對於power gating來說,使屬於一個簡單暴力的省電方法,

對於那些不需要使用的module,我直接把他的供電給關了,

等到下次要被使用時,再把他開起來,表面是就是幫module的供電上裝一個開關,

不用時可以把電關掉,

和我們生活中一樣,隨手關燈達到省電的效果,

以clk gating使用的例子來說,

我用藍芽耳機來聽串流音樂,

就只會用到某幾個module而已,

對於剩下處於idle狀態的register來說雖然因為使用了clk gating來省掉了dynamic power,不過最終還是剩下了static power

因此我狠一點在這些module 供電的地方裝一個開關,

在不用的時候除了把dynamic power掐掉外,連底電都不給他了,

直接達到沒有耗電的狀態

Total power = 0

等到下次會需要使用時,我們在把power給他開回來

以行動支持創作者!付費即可解鎖
本篇內容共 2985 字、1 則留言,僅發佈於10分鐘看懂IC設計你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
數位IC設計第一品牌
60會員
22內容數
數位IC設計第一品牌 從0到1用嘴做IC 觀念大權
留言
avatar-img
留言分享你的想法!
前篇內容提到說,async reset有著打出glitch的風險, 但除了glitch之外, 如果reset deassert的時間點不對的話可是造出大量metastable的data, 直接導致function fail, 至於assert的時間點因為是async reset,所以何時出發
面試必考題, 人人說的一口好setup time / hold time 但是除了公式外很沒有感覺, 小弟出一張嘴經年累月用心體會說說對這個timing設定的感想, 講一下我消化完對他的定義 setup time 指的是當訊號要被抓住前必須保持穩定幾秒 hold time 指的是當訊號被
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
加入前必須懂<數位IC設計>在做什麼? IC設計產業中主要分成兩大區塊,數位IC及類比IC 對於電機系學生剛聽到IC設計的人來說,淺意識會認為IC設計需要用到龐大的電子學, 每天的工作內容就是在算cmos電流電壓,小訊號放大器等.. 對於這些刻板印象來說是屬於類比IC的工作, 然而數位IC
前篇內容提到說,async reset有著打出glitch的風險, 但除了glitch之外, 如果reset deassert的時間點不對的話可是造出大量metastable的data, 直接導致function fail, 至於assert的時間點因為是async reset,所以何時出發
面試必考題, 人人說的一口好setup time / hold time 但是除了公式外很沒有感覺, 小弟出一張嘴經年累月用心體會說說對這個timing設定的感想, 講一下我消化完對他的定義 setup time 指的是當訊號要被抓住前必須保持穩定幾秒 hold time 指的是當訊號被
數位IC裡我們關注的都是0或1, 大家都知道電腦是0101在做二進位的運算, 在晶片裡又是怎麼做到的? 實際上我們在設計晶片時,會給他一個VDD跟GND, VDD-GND給的是預期的Driving volatge, 像是5V或9V 以5V為例 0或1物理上就是目前的電壓靠近0V或5
IC設計流程大致如下 每個步驟都是必經過程,走完整個過程後輸出一版real chip |-----------------------| | 定SPEC | --- 決定 Function/clk period/製程liberary .
加入前必須懂<數位IC設計>在做什麼? IC設計產業中主要分成兩大區塊,數位IC及類比IC 對於電機系學生剛聽到IC設計的人來說,淺意識會認為IC設計需要用到龐大的電子學, 每天的工作內容就是在算cmos電流電壓,小訊號放大器等.. 對於這些刻板印象來說是屬於類比IC的工作, 然而數位IC