亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

自動駕駛芯片的低功耗設(shè)計

2023-08-04 10:08:09 來源:佐思汽車研究

Cassie Ren,復(fù)睿微電子架構(gòu)專家,畢業(yè)于新加坡國立大學(xué),曾就職于新加坡瑞昱半導(dǎo)體,在芯片低功耗、信息安全等領(lǐng)域工作經(jīng)驗豐富。


(資料圖)

背景

從陸續(xù)出臺的相關(guān)政策上來看,自動駕駛行業(yè)是當(dāng)前國家重點支持的領(lǐng)域,近些年來,我國的自動駕駛行業(yè)也在多方的支持下蓬勃發(fā)展。隨著軟件和硬件條件的日趨成熟,新車搭載L2級別自動駕駛功能正逐漸成為智能汽車的前裝標(biāo)配。當(dāng)前我國量產(chǎn)乘用車的自動駕駛級別也在從L2向L3+過渡,甚至很多科技公司已經(jīng)開始研發(fā)L4級別的自動駕駛芯片及其解決方案。隨著市場對汽車自動駕駛等級需求的提高,汽車搭載的自動駕駛芯片的算力需求也越來越高,而算力更高的芯片也會帶來更高的功耗。對于消費者和車廠來說,功耗問題一直都是他們關(guān)注的焦點,如何實現(xiàn)低功耗高性能,是芯片設(shè)計方及其上游要一起解決的問題。

1降低功耗的優(yōu)點

為什么需要功耗管理呢?這里來簡單聊一下。

1)功耗過大會縮短使用時間,常用手機(jī)等電子設(shè)備的我們也知道,頻繁充電會大大降低我們的用戶體驗。

2)功耗過大會造成更高的溫度,較高的溫度會引起電子遷移或者其他的熱失效機(jī)制,從而降低芯片的穩(wěn)定性。

3) 對于汽車而言,自動駕駛芯片的功耗超過一定限度,則會需要車廠采用水冷措施來降溫而不是風(fēng)冷系統(tǒng),這也會提高整車的制造成本。

4)功耗大也會影響電池壽命,使電池壽命更短,這也從一定程度上提高了用戶的成本及降低了用戶的產(chǎn)品體驗。

所以片上系統(tǒng)的功耗是一個非常重要的話題,作為芯片設(shè)計方,使搭載到智能汽車的自動駕駛芯片擁有更低的功耗貫穿了我們工作的始終,從前期芯片非自研IP選型,到中期芯片設(shè)計,到后期的軟件及解決方案,我們將從每個階段盡量降低芯片的功耗,在保證算力的同時提供更穩(wěn)定更具市場競爭力的自動駕駛芯片。

2降低功耗的方式[1]

2.1基本概念

首先要介紹兩個概念:動態(tài)功耗和靜態(tài)功耗。SoC的功耗包括動態(tài)功耗(DynamicPower)和靜態(tài)功耗(Static Power)。

動態(tài)功耗(Dynamic Power)

動態(tài)功耗是因為信號值改變帶來的功耗損失。動態(tài)功耗由兩部分組成:開關(guān)功耗(switching power)和內(nèi)部功耗(internal power)。開關(guān)功耗是外部電容充放電消耗的功率(如圖1所示),內(nèi)部功耗是電路邏輯狀態(tài)變化時流過PMOS-NMOS堆的短路電流消耗的功率(如圖2所示)。

圖1

圖2

靜態(tài)功耗(Static Power)

靜態(tài)功耗是設(shè)備還在上電狀態(tài)但是沒有信號值改變時消耗的功率。在CMOS設(shè)備中,靜態(tài)功耗來源于漏電(如圖3所示)。

圖3

2.2降低功耗的方式

2.2.1 降低供電電壓(Supply VoltageReduction)

最基礎(chǔ)的降低功耗的方式是降低供電電壓。功耗與電壓的平方成正比。所以如果降低50%的電壓,功耗會降低75%(如圖4所示)。CMOS技術(shù)的不斷更新迭代使供電電壓越來越低以降低功耗,供電電壓從上世紀(jì)八十年代的5V降低到當(dāng)前0.75V甚至更低。

圖4

2.2.2 時鐘門控(Clock Gating)

時鐘門控(clock gating)是一種降低動態(tài)功耗的方式。對于那些很多個時鐘周期下都需要保持同一個數(shù)值的寄存器來說,這種降低功耗的方式非常有用,因為這種方式可避免每個時鐘周期都重新加載寄存器而帶來的不必要的功耗損失。這個方法最大的挑戰(zhàn)是如何找到最優(yōu)的位置來放置時鐘門控,以保證在合適的時間開關(guān)時鐘。

時鐘門控技術(shù)沿用了多年,也很成熟。Power Compiler等綜合工具可以監(jiān)測到低吞吐量的數(shù)據(jù)路徑,然后在時鐘路徑上合適的位置自動插入時鐘門控單元。時鐘門控的實現(xiàn)也比較簡單,它只需要改網(wǎng)表,而不需要額外增加電源供電或者其它電源設(shè)施。

2.2.3 多Vt庫單元(Multiple-Vt Library Cells)

一些CMOS技術(shù)支持具有不同電壓閾值的標(biāo)準(zhǔn)庫單元。在這種情況下,單元庫可以提供兩種甚至更多不同的閾值電壓單元來實現(xiàn)相同的邏輯功能。舉個例子:庫里可以提供兩種反相器單元:一種是low-Vt晶體管,一種是high-Vt晶體管。

Low-Vt單元有更高的速度,但是同時擁有更大的漏電流。High-Vt單元有更低的漏電流,但是速度更慢。所以綜合工具可以根據(jù)速度和功耗的tradeoff來選擇合適類型的單元。比如可以用low-Vt單元在timing-critical的路徑以達(dá)到更高的速度,至于對timing要求不是很高的路徑可選用high-Vt單元以減少功耗。

2.2.4 多電壓設(shè)計(Multi-voltage Design)

芯片不同的部分有不同的速度需求。比如CPURAM需要比外設(shè)擁有更高的速度。就像前面提到的,低電壓不僅會降低功耗也會降低速度。為了得到最大的速度和更低的功耗,可以給CPU和RAM提供較高的供電電壓,而給外設(shè)部分提供較低的供電電壓。但是在同一個芯片上提供兩個或多個供電會增加設(shè)計復(fù)雜性和成本。比如需要更多的管腳來給芯片供電,而且電源網(wǎng)格必須將每個電壓源分別分配給適當(dāng)?shù)哪K。

2.2.5 電源開關(guān)(Power Switching)

電源開關(guān)是在芯片的某個模塊長時間不用的情況下,通過關(guān)掉電源的方式來節(jié)省功耗的一種方式。比如一個手機(jī)芯片,當(dāng)手機(jī)處于待機(jī)模式的時候關(guān)掉聲音處理模塊。當(dāng)用戶收到電話或者打電話的時候,這個模塊會被喚醒。

電源開關(guān)進(jìn)一步降低了靜態(tài)功耗和動態(tài)功耗。但是它也帶來了一些挑戰(zhàn),比如它的實現(xiàn)需要一個電源控制器,一個電源開關(guān)網(wǎng)絡(luò),隔離單元(isolation cells)和retention寄存器。

電源控制器就是一個決定什么時候上下電的邏輯模塊。但是上電和下電會帶來一定的時間和功耗代價,所以控制器必須決定一個合適的時間來開關(guān)電源。

一個可以被下電的模塊必須從電源開關(guān)網(wǎng)絡(luò)中收到供電,電源網(wǎng)絡(luò)由大量在always-on的電源軌道和供電引腳單元之間有source-to-drain連接的晶體管組成。電源開關(guān)必須在該模塊周圍或者內(nèi)部。這個網(wǎng)絡(luò),當(dāng)打開電源時,連接了電源和邏輯門,當(dāng)關(guān)上電源時,電源供電就從邏輯門斷開連接。

我們常常會把High-Vt晶體管用作電源開關(guān)(power switch),因為它可以有更小的漏電流并且我們也不關(guān)心它的開關(guān)速度。如圖5所示,PMOS header 開關(guān)可以被放在VDD和模塊供電電源管腳中間,或者NMOS footer 開關(guān)可以被放在VSS和模塊地管腳中間。

圖5

上面描述的電源開關(guān)策略是粗粒度的開關(guān)策略,因為這個電源開關(guān)可以控制整個模塊的上下電。如果是細(xì)粒度策略,則每個庫單元都有自己的電源開關(guān),允許更細(xì)粒度的控制電源上下電。這種方式可以更好的節(jié)省功耗,但是也要求更大的面積。

2.2.6 動態(tài)電壓頻率調(diào)整(Dynamic Voltage FrequencyScaling)

根據(jù)前面提到的多電壓(Multi-voltage)的概念,我們可以將其拓展成操作過程中根據(jù)當(dāng)前的工作負(fù)載而動態(tài)調(diào)整電壓。比如一個芯片在做簡單的計算時可以用更低的電壓和更低的頻率,如果需要更高的性能,則可以提高電壓和頻率。這種實時調(diào)整電壓和頻率的方式叫做DVFS。

芯片的供電電壓可以被設(shè)計為多個檔位或者一個連續(xù)的范圍,動態(tài)調(diào)壓要求多檔位的供電及一個能準(zhǔn)確判斷給定任務(wù)的最優(yōu)電壓值的邏輯模塊。因為要分析和考慮到不同的電壓等級和頻率的結(jié)合,所以這對設(shè)計、執(zhí)行、驗證和測試來說都是不小的挑戰(zhàn)。

我們可以將動態(tài)調(diào)壓和電源開關(guān)結(jié)合起來,讓模塊既可以根據(jù)當(dāng)前工作負(fù)載調(diào)整電壓也可以在完全不用的時候關(guān)掉電源,以達(dá)到更多的功耗節(jié)省。

3功耗管理模塊[2]

隨著當(dāng)代SoC的復(fù)雜程度的提高,越來越多的芯片設(shè)計者選擇將SoC中的功耗管理的角色獨立出來,選擇一個小的處理器結(jié)合軟件來負(fù)責(zé)整個SoC的功耗管理。

以前是用操作系統(tǒng)(OS)來管理SoC的功耗和性能,但是慢慢發(fā)現(xiàn)形成和維護(hù)一個通用的OS kernel來支持不同供應(yīng)商非常困難,且現(xiàn)在的SoC也有越來越多的限制,也迫使有能多的功能安全和信息安全的要求,這些對OS來說都過于復(fù)雜以至于無法在管理的同時滿足最優(yōu)負(fù)載性能。這就迫使工業(yè)界把基于OS的集中的控制機(jī)制剝離出來,形成一個專門用來控制和管理功耗和性能的小系統(tǒng)。

前面提到動態(tài)調(diào)壓調(diào)頻(DVFS), DVFS會根據(jù)OS的工作負(fù)載選擇{頻率,電壓}對,這就要求OSkernel要知道該平臺支持的所有的{頻率,電壓}對的信息,然后還要知道如何讀取和設(shè)置它們。每個SoC的讀取和設(shè)置信息對的方式不同,所以如果需要OS kernel來管理功耗和性能,就需要根據(jù)每個SoC的設(shè)計更改kernel,這個與大家想保持kernel的通用性的想法相悖。因此,我們可以將平臺支持的{頻率,電壓}對記錄在功耗管理小系統(tǒng)中,并將性能等級與頻率電壓對進(jìn)行一一對應(yīng),OS kernel僅需發(fā)出調(diào)整頻率電壓請求給小系統(tǒng),小系統(tǒng)便可根據(jù)請求對頻率和電壓進(jìn)行相應(yīng)的調(diào)整。這樣做既達(dá)到了控制的效果,也維護(hù)了OS kernel的通用性。

在功能安全方面,當(dāng)出現(xiàn)偶發(fā)事件時,通常來說硬件的反應(yīng)時間小于固件的反應(yīng)時間小于內(nèi)核Kernel的反應(yīng)時間。圖6展示了典型場景下,硬件hardware、固件firmware、OSKernel對SoC平臺偶發(fā)事件的反應(yīng)時間。從圖6可以看出,kernel的反應(yīng)時間遠(yuǎn)大于固件的反應(yīng)時間。而且,Kernel也無法知道SoC上所有功能安全相關(guān)的操作,所以這些事情也可以委派給到功耗控制小系統(tǒng)。該小系統(tǒng)有更快的反應(yīng)時間且可以提供功能安全的保證,也可以享有控制SoC內(nèi)其他的硬件的權(quán)力。

圖6

此外,在信息安全方面,OS的DVFS實現(xiàn)在kernel,kernel位于BL1,而BL1是不可信(untrusted)的。如果kernel擁有頻率和電壓的控制權(quán)是比較危險的。不可信的軟件可能會把SoC平臺置于overclocked或者undervolted的狀態(tài)。所以我們把對頻率和電壓的控制權(quán)轉(zhuǎn)交給一個可信的firmware,這個firmware可以對要求的性能等級進(jìn)行可信度檢查,以避免惡意編程帶來的危害。

4系統(tǒng)低功耗模式及設(shè)計

ACPI[3]定義了G0~G3四種電源狀態(tài),G0是工作狀態(tài),G3是關(guān)電狀態(tài)。G1和G2又分出了S0ix到S5的睡眠狀態(tài),且定義了每種睡眠狀態(tài)下CPU,GPU及memory等模塊的狀態(tài)(如表1所示)。

表1

對于SoC而言,首先需要支持工作和關(guān)電兩種電源狀態(tài),然而介于這兩種狀態(tài)之間的睡眠態(tài)是應(yīng)用場景需求決定的。當(dāng)前汽車行業(yè)仍處于一個發(fā)展階段,對于自動駕駛芯片的功耗模式定義尚未形成較固定的方案。根據(jù)當(dāng)前自動駕駛芯片串聯(lián)座艙芯片的場景來分析,現(xiàn)在很多汽車會支持前裝哨兵模式,該模式則需要在汽車熄火且人離開汽車后,汽車上的傳感器可以感知物體靠近來喚醒車身上的攝像頭。喚醒攝像頭意味著控制其的芯片也需被喚醒,使其將周圍發(fā)生的情況通過攝像頭記錄并保存下來。然而,如果該功能下自動駕駛芯片完全關(guān)電,喚醒時芯片從上電到可以工作的時間可能要10秒以上,這是無法滿足場景需求的。所以這就要求在該模式下自動駕駛芯片支持一個快速喚醒的低功耗狀態(tài)。為什么需要一個低功耗狀態(tài)?因為如果還保持之前的工作狀態(tài),芯片的耗電量會比較大,從而造成車機(jī)很快沒電,非常影響用戶體驗及電池壽命。所以前裝哨兵模式需要自動駕駛芯片必須支持至少一種低功耗模式。

此外,一些車廠可選擇汽車熄火后不完全給自動駕駛芯片和座艙芯片關(guān)電,而是選擇讓它們處于一種超低功耗的模式。這樣做帶來的好處是一旦點火,車機(jī)系統(tǒng)可以非??斓膯拥诫x開車前的狀態(tài)。一般座艙芯片會采用Android系統(tǒng),Android系統(tǒng)的啟動可能需要十秒以上的時間,也就是說用戶從啟動汽車到看到顯示屏顯示可能需要十幾秒甚至更久的時間,這會大大降低用戶的產(chǎn)品體驗。低功耗模式可以將下電前的軟件現(xiàn)場保存在DDR連接的DRAM顆粒中,并使DRAM顆粒處于一種retention狀態(tài),且僅保持一個耗電量很小的處理器小系統(tǒng)在工作。這個小處理器在收到喚醒信號后,可以將現(xiàn)場快速恢復(fù)到車機(jī)系統(tǒng)到離車前狀態(tài)。這個狀態(tài)耗電量很小,且可以快速喚醒,可以在耗費很小電量的同時解決因操作系統(tǒng)啟動較慢而造成的不良體驗的問題。這種功能也需要自動駕駛芯片支持低功耗模式。

4.1系統(tǒng)低功耗模式設(shè)計

4.1.1 電源域

首先要介紹一下電源域概念,電源域是指同一個電壓域內(nèi),共享相同電源開關(guān)邏輯的模塊合集。前面有提到,多電壓設(shè)計是降低功耗的一種方式,不同的電壓就會是不同的電源域。對于現(xiàn)在功能比較復(fù)雜的SoC而言,多電源域設(shè)計是必須的選擇。

4.1.2 基于多電源域的低功耗模式設(shè)計

前面提到自動駕駛芯片的應(yīng)用場景,如果要支持低功耗模式,如何降低功耗?整體思路就是要把該模式下不需要用到的模塊做關(guān)電處理,以節(jié)省動態(tài)功耗和靜態(tài)功耗。而對于無法做關(guān)電處理的模塊,我們保留其供電,但是在供電狀態(tài)下,選擇該模塊的低功耗模式以達(dá)到最多的功耗節(jié)省。比如memory,我們需要用到連接到LPDDR的DRAM顆粒保存軟件?,F(xiàn)場的信息,RAM的特性是一旦下電,數(shù)據(jù)就會消失,所以我們會采用保存其數(shù)據(jù)不消失但最省電的一種功耗模式-Retention模式。之前我們還提到,SoC的功耗管理模塊是一個以一個處理器為核心的小系統(tǒng),所以該場景下需要該處理器保持運行,以監(jiān)測外界的喚醒信息及幫助其他處理器核快速恢復(fù)現(xiàn)場。之前介紹了電源域,電源域中通常會有一個常電(Always-On)電源域,該電源域享有最高的電源等級,即在所有電源域中它掉電的優(yōu)先級最低。低功耗模式下,該處理器要在上電狀態(tài),所以該處理器處于Always On電源域。處理器要運行,還需要內(nèi)存來及時讀寫變量,所以該處理器要使用的SRAM也是在電狀態(tài)。此外,還要有GPIO作為接收喚醒中斷信息的源頭,該GPIO收到喚醒中斷信息并將其傳給處理器,處理器接收到喚醒中斷后啟動其恢復(fù)現(xiàn)場程序。所以總的來說,該低功耗模式下需要一個管理功耗的子系統(tǒng)處于運行狀態(tài)和DRAM顆粒處于Retention模式,其中子系統(tǒng)應(yīng)包括一個處理器核,一塊運行程序的內(nèi)存,用于接收喚醒信號的GPIO,用于與PMIC通信接口,及用于聯(lián)通各個子模塊的內(nèi)部總線等。這樣的一個功耗管理小系統(tǒng)加DRAM顆粒retention狀態(tài)的設(shè)計即可滿足在耗電量極低的情況下快速喚醒整片SoC的需求。示意圖如圖7,其中亮黃色為功耗管理小系統(tǒng),處于Always-On電源域。除此之外,有一路供電給到DDR PHY以保持DRAM的Retention狀態(tài)。

圖7

結(jié)語

本文對自動駕駛芯片的功耗管理做了一個簡單的介紹,除了上面提到的部分,還有很多可以節(jié)省出功耗的方法。芯片只是這個行業(yè)鏈上的一個部分,整個系統(tǒng)的功耗控制才是最終的目標(biāo),需要每個環(huán)節(jié)上的人做出努力。

審核編輯:湯梓紅

標(biāo)簽:

上一篇:直線電機(jī)的基本結(jié)構(gòu)/工作原理/優(yōu)點/應(yīng)用領(lǐng)域
下一篇:最后一頁