當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1 引言:功耗在芯片設(shè)計中的地位長期以來,設(shè)計者面臨的最大挑戰(zhàn)是時序收斂,而功耗處于一個次要的地位。近年來,下面的因素使功耗日益得到設(shè)計者的關(guān)注:1)移動應(yīng)用的興起

1 引言:功耗在芯片設(shè)計中的地位

長期以來,設(shè)計者面臨的最大挑戰(zhàn)是時序收斂,而功耗處于一個次要的地位。近年來,下面的因素使功耗日益得到設(shè)計者的關(guān)注:

1)移動應(yīng)用的興起,使功耗的重要性逐漸顯現(xiàn)。大的功耗意味著更短的電池壽命。

2)芯片集成度的提高,使供電系統(tǒng)設(shè)計成為挑戰(zhàn)。

隨著工藝的進(jìn)步,芯片內(nèi)的電路密度成倍提高,并且運行在以前數(shù)倍的頻率之上,而片上連線則越來越細(xì),片上供電網(wǎng)絡(luò)必須將更多的電力以更少的連線資源送至每個單元,如果不能做到這一點,芯片的穩(wěn)定性和預(yù)定工作頻率都將成為問題。IR壓降和供電網(wǎng)絡(luò)消耗的大量布線資源成為困擾后端設(shè)計者的重要問題,現(xiàn)在這種壓力正在一步步傳導(dǎo)到前端設(shè)計者的身上,要求在設(shè)計階段減少需要的電力。

3)功耗對成本的影響日益顯著

功耗決定了芯片的發(fā)熱量,封裝結(jié)構(gòu)需要及時把芯片產(chǎn)生的熱量傳遞走,否則溫度上升,造成電路不能穩(wěn)定工作。因此,發(fā)熱量大的芯片需要選擇散熱良好的封裝形式,或者額外的冷卻系統(tǒng),如風(fēng)扇等,這意味著成本的增加。

基于以上原因,功耗成為產(chǎn)品的重要指標(biāo)與約束。下面的因素在設(shè)計之初,就應(yīng)當(dāng)列入設(shè)計者的考慮范圍:

1)功耗目標(biāo)的確定

a) 產(chǎn)品的應(yīng)用領(lǐng)域中功耗指標(biāo)的商業(yè)價值;

b) 封裝,制程的成本影響;

c) 實現(xiàn)的可行度,復(fù)雜度,由此帶來的設(shè)計風(fēng)險和時程影響的評估;

d) 參考值的選?。焊鶕?jù)同類產(chǎn)品,經(jīng)驗值,工具分析確定,并隨著設(shè)計的深入不斷修正。

2)優(yōu)化方案(策略)的設(shè)定

在進(jìn)一步分析之前,我們先看一下功耗的組成。

2 功耗的組成

2.1 core power

功耗的組成包含RAM、ROM、時鐘樹(clock tree)和核心邏輯電路(Core logic)等四部分,下面依次來分析。

1)RAM

RAM功耗的計算是項復(fù)雜的任務(wù),幸運的是,memory compiler可以為我們進(jìn)行此項工作。關(guān)鍵點在存取每個端口的速率,這可以通過考慮存取pattern類型得到,或者通過仿真得到。建議在設(shè)計初期即生成不同參數(shù)(寬度,深度,速度,port數(shù))的RAM/ROM的功耗數(shù)據(jù),以利于設(shè)計探索。

2)時鐘樹

時鐘樹的功耗占到整個芯片功耗的40%~60%,因為它的高活動率(100%)和正負(fù)邊沿均消耗電力。

其中,電容包含寄存器的電容,驅(qū)動單元的電容和連線電容三部分。

3)核心邏輯電路

定義核心邏輯電路功耗為除時鐘樹外的組合與時序單元消耗的電力。由兩部分組成:

leakage current

capacitive loads

4)宏單元(macro cell)

多數(shù)芯片包含PLL等模擬macro,可以從庫提供商的數(shù)據(jù)手冊找到其功耗參數(shù)。設(shè)計者可以通過切分系統(tǒng)模式關(guān)閉不需工作的模塊,以減小功耗。

2.2 IO power

IO功耗包含IO單元、外部負(fù)載、外部終端等。因為需要驅(qū)動板級的連線,IO的電容會是內(nèi)部單元的數(shù)百倍量級,因此消耗較多的電力。有時候,IO的功耗可以占到整體功耗的很大比例,系統(tǒng)架構(gòu)可能因之改變,如:重新定義系統(tǒng)的劃分,以減少芯片-芯片的連接;選擇不同的IO接口協(xié)議,以減少能量消耗。IO 功耗通常由系統(tǒng)架構(gòu),接口帶寬與協(xié)議要求決定。一旦庫選定,設(shè)計者可以優(yōu)化的空間很小,但是核心的功耗是設(shè)計者可以減小的,在后面的篇幅中,我們將以核心功耗的估算與優(yōu)化作為主題。

3 功耗估算

功耗估算的價值是盡可能早地以定量方式看到優(yōu)化結(jié)果,以助于設(shè)計者的初期架構(gòu)探索。在每個階段, 如產(chǎn)品規(guī)劃、架構(gòu)制訂、代碼書寫、綜合、P&R等,設(shè)計者都面臨若干選擇,能馬上看到選擇的結(jié)果,而不是到設(shè)計流程的末尾,可以有效減少開發(fā)時間。

3.1估算的方法

功耗的估算可以在設(shè)計流程的各個階段進(jìn)行,對應(yīng)設(shè)計表征的不同形式。

software level ->behavior level -> RT -> gate -> circuit

越早的階段,抽象層次越高,其精確度越差,但可以更早給設(shè)計者反饋,同時得到估算結(jié)果消耗的時間越少。

1. 軟件級

首先,定義系統(tǒng)將執(zhí)行的典型程序。典型的程序通常會有上百萬的機器周期,進(jìn)行一次完整的RTL級的仿真可能需要數(shù)月時間,這是不可接受的。解決的方法是在更高層次建立基本組成單元的功耗模型。

比較實用的方法是根據(jù)特定的硬件平臺,統(tǒng)計出每條指令對應(yīng)的功耗數(shù)據(jù),進(jìn)行指令級的仿真。

2. 行為級

在進(jìn)行分析前,我們首先應(yīng)了解電路的功率消耗原理,實際電路的電力消耗如圖1所示。

 

圖1

Prms = 1/2 * f * Vdd^2 * sigma(Ci * Ai)

--- f : clock frequency

--- Vdd : voltage

--- Ci is capacitance load of node,

--- Ai is the average switching activity of their node

在行為級設(shè)計表征中,物理電路單元尚未建立,難點是得到電容與活動率的值。存在兩種思路:

1) 理論估計:

根據(jù)電路復(fù)雜度得到C,復(fù)雜度由算術(shù),邏輯操作的數(shù)量,狀態(tài)的數(shù)目與轉(zhuǎn)換率衡量。

complex = f (arith ope, boolean ope, state, transition)

可以根據(jù)信息理論估算活動率。

2) 實驗估計:

由快速綜合得到寄存器傳輸級的原型,進(jìn)而估計電容與活動率。

3. 寄存器傳輸級

第一步是在庫中為高層的設(shè)計組件建立功耗信息算式,得到方式是在不同環(huán)境變量組合下通過仿真,統(tǒng)計功耗數(shù)據(jù),繪制成曲線形式。然后,通過靜態(tài)分析電路結(jié)構(gòu)或動態(tài)仿真,收集電路動作幾率數(shù)據(jù),代入上述算式,得到各個組件的功耗值。最后,把所有組件的功耗值求和,得到總功耗。

4. 門級

與寄存器傳輸級的區(qū)別在于,基本單元是工藝庫中的標(biāo)準(zhǔn)單元,功耗方程通過電路仿真得到,所以更精確。

5. 晶體管與版圖層

所有的連線的電容、單元的負(fù)載,驅(qū)動都已得到,根據(jù)晶體管和連線模型的電壓、電流方程,可以算出精確的功耗數(shù)據(jù)。[!--empirenews.page--]

3.2估算的流程

因為指令與行為級估算的精確度太差,電路級估算的耗時過多,所以在業(yè)界的實踐中采用較少。RTL與gate級估算是常用的選擇。實際功耗分析的執(zhí)行必須借助工具的輔助,目前業(yè)界通常的選擇是在RTL級采用power compiler,在門級采用primepower。

 

圖2

下面以power compiler為例,說明門級估算的步驟。

在dc compile前,設(shè)置下面的變量:

power_preserve_rtl_hier_names = false/true

編譯

寫出ddc文件

仿真生成vcd 文件

vcd2saif轉(zhuǎn)化為.saif文件 (注意vcd2saif由csh調(diào)用,而不是在dc_shell界面調(diào)用)

讀入ddc網(wǎng)表

read_saif

report_power

4 功耗的優(yōu)化

4.1優(yōu)化的原則

圖3是幾個典型設(shè)計中功耗分布數(shù)據(jù):

 

(數(shù)據(jù)來自“International Solid-State Circuits Conference”)

圖3

我們的目標(biāo)是減少時鐘樹、標(biāo)準(zhǔn)單元和存儲器的功耗。功耗與性能通常是充滿矛盾的:

1)使時鐘變慢(更少的轉(zhuǎn)換),但我們想要更快的處理速度。

2)減小Vdd,但Vdd變小會限制時鐘速度。

3)更少的電路,但更多的晶體管可以做更多的工作。

簡言之,我們想用最少的能量完成最大量的任務(wù)。實現(xiàn)方式是對電路動作的控制精細(xì)化,僅讓恰好需要的電路,在需要的時間內(nèi)動作,而不浪費分毫。完成這一任務(wù),需要設(shè)計者有效率地管理電路的動作。

現(xiàn)代系統(tǒng)是如此復(fù)雜,以致設(shè)計者必須切分為若干層次,分步前行才能把握:

軟件 -> 架構(gòu) -> 邏輯 -> 電路

每一層次中,設(shè)計者對電路動作的控制范圍和手段都是不同的。軟件是硬件動作的總調(diào)度師,設(shè)計者可以根據(jù)特定應(yīng)用,關(guān)掉整個模塊或減少無效的動作。進(jìn)入架構(gòu)層,視角轉(zhuǎn)為怎樣將設(shè)定任務(wù)合理分配到各個模塊,協(xié)調(diào)動作最有效率,如pipeline、分布式計算、并行計算等。在邏輯層,則考慮怎樣實現(xiàn)一步動作僅使需要的電路動作。電路層的視角更為精細(xì),通過調(diào)節(jié)平衡信號到達(dá)時間,驅(qū)動單元大小等手段,使電路的動作耗能最小。這里存在一個重要規(guī)律,稱作效率遞減率:

在高的抽象層次減少功耗的效率會比低的層次更高。

所以,降低功耗是一個系統(tǒng)工程,需要軟件、硬件、電路、工藝等人員的共同努力。這里,我們將采用架構(gòu)與邏輯的視角進(jìn)行下面的討論。

4.2 架構(gòu)考慮

1)切分工作模式,硬件要可以提供一個接口,以使軟件可以控制電路模塊的動作與否。不工作的模塊掛起。

2)分布式計算:將整個任務(wù)切分到不同模塊,在內(nèi)部處理高活動性信號。

雖然總計算量沒有改變,但對單個模塊,時間要求降低,可以降頻或降壓。

3)并行計算:相同時間內(nèi)計算量相同,但可降頻/壓。

(計算量=開關(guān)的次數(shù),開關(guān)次數(shù)沒變,但每次開關(guān)的功耗成本降了)

4)pipeline

每步的計算量減少,可以在性能相同的情況下,降低工作頻率。

5)可編程性與hard-wire的權(quán)衡

可編程性越強,完成相同的任務(wù)耗電越多。

 

(見參考文獻(xiàn)[7])

圖4

4.3 RAM的功耗優(yōu)化

很明顯,大的RAM比小的RAM耗電要多,將整塊的RAM分成小塊可以降低存取功耗。

 

圖5

值得注意的一點是,多數(shù)設(shè)計者認(rèn)為片選信號無效,RAM即進(jìn)入最小功耗。實際上,若此時其數(shù)據(jù)/地址端口信號有翻轉(zhuǎn),會耗費相當(dāng)?shù)碾娏?約占激活功耗的20%)。在不存取時,最佳的方式是,保持片選無效,地址、數(shù)據(jù)是恒定值。

4.4時鐘樹單元/連線

4.4.1 時鐘門控的原理

在典型的數(shù)字芯片中,時鐘網(wǎng)絡(luò)的功耗可以占到總量的50%,這是一個龐大的數(shù)字。一個行之有效的方案是使用時鐘門控,將當(dāng)前未工作邏輯的時鐘樹關(guān)閉。比如下面的邏輯,在EN是0時,可以將右側(cè)的register bank的時鐘關(guān)閉。

 

圖6

時鐘門控邏輯加入的方式有兩種:手動和自動。

a) 手動方式

在每個IP模塊的時鐘根節(jié)點加入,EN信號可以由程序設(shè)定產(chǎn)生。

b) 自動方式

dc_shell > set_clock_gating_style (options) 選擇時鐘門控的方式和條件

dc_shell > analyze -f design.v 讀入設(shè)計

dc_shell > elaborate MY_DESIGN 構(gòu)造設(shè)計

dc_shell > insert_clock_gating 將符合條件的邏輯門控

dc_shell > create_clock -period 10 -name CLK 創(chuàng)建時鐘

dc_shell > propagate_constraints -gate_clock 加入時鐘門控單元的時序約束

手動和自動結(jié)合的方式可以達(dá)到最好的效率。

4.4.2 gating 單元的選擇

a)latch-based(圖7)

 

圖7

b)latch-free(圖8)

 

[!--empirenews.page--]

(圖8)

通過set_clock_gating_style的下列選擇,設(shè)計者可以控制門控單元的選取,如圖9所示。

 

圖9

選擇考慮:

1)latch:用還是不用,是個問題。

latch-free的方案中,EN信號必須在時鐘負(fù)沿前穩(wěn)定,否則時鐘會出現(xiàn)毛刺, 造成只留給EN產(chǎn)生邏輯半個時鐘周期的時間。latch-based方案則不存在這個限制,但引入latch使時序分析,測試復(fù)雜性增加。故選擇哪種方案需要設(shè)計者權(quán)衡決定。

2)正沿/負(fù)沿寄存器需要指定不同的門控單元

比如latch-based方案:正沿FF用and門,負(fù)沿FF用or門

3)integrated clock-gating cell/普通單元

在生成庫的過程中,可以創(chuàng)建專門的集成時鐘門控單元,以獲得較好的時序。

4.4.3 時序分析

通過set_clock_gating_style -setup -hold 或 set_clock_gating_check指定。

AND門(圖10)

 

圖10

OR 門(圖11)

 

圖11

數(shù)值需要考慮到時鐘歪斜的影響。

4.4.4 與dft流程的配合

1) 加入控制點(圖12)

 

控制點的位置和控制信號可通過下面指令控制:

dc_shell> set_clock_gating_style -control_point before -control_signal scan_enable

圖12

2) 加入觀察點(圖13)

在測試中,EN信號和control logic中的信號是測不到的,解決方式是加入觀測邏輯。

 

dc_shell> set_clock_gating_style -control_signal test_mode

-observation_point true

-observation_logic_depth depth_value

圖13

在測試模式,觀察邏輯允許觀測ENL信號,在正常操作模式,XOR樹不消耗能量。

3) 測試信號與頂層測試端口連接

時鐘門控單元的測試信號需要和頂層的測試端口相連,通過下指令進(jìn)行,如圖14所示。

 

圖14

如果頂層有指定端口,將直接相連,否則,會創(chuàng)建此端口,并連接。

4.4.5 結(jié)果

在插入時鐘樹后,可以用report_clock_tree_power來獲得時鐘網(wǎng)絡(luò)的功耗信息。

時鐘門控經(jīng)設(shè)計實踐證明是一個行之有效的降低功耗手段,下圖是基于一項真實設(shè)計的評估:(見參考文獻(xiàn)[6])

 

圖15

5 結(jié)語

在現(xiàn)代芯片設(shè)計中,功耗越來越引起設(shè)計者的關(guān)注。在本文中,我們首先分析了功耗的組成部分,然后闡述了功耗估算的方法,通過功耗估算可以使設(shè)計者在設(shè)計初期及時評估設(shè)計方案的效率,以便做出最優(yōu)的選擇。最后,重點分析了功耗優(yōu)化的手段,包括架構(gòu)優(yōu)化,RAM功耗降低,時鐘門控三種技術(shù),并對引進(jìn)時鐘門控技術(shù)時若干難點逐一提出了解決方案,如門控單元選擇,時序分析,測試支持等。功耗分析與優(yōu)化二者相輔相成,設(shè)計者善加使用,方可事半功倍。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉