隨著登納德縮放定律在2005年終結(jié)以后,大規(guī)模數(shù)字集成電路的功耗問題以及由功耗問題衍生而來的散熱問題、可靠性問題逐步凸顯出來。因此如何有效降低大規(guī)模數(shù)字集成電路的功耗成為近10年來大規(guī)模數(shù)字集成電路所面臨的最重要挑戰(zhàn)之一。
降低功耗的前提是優(yōu)化設(shè)計,而優(yōu)化設(shè)計的前提又是分析到底功耗高在何處。因此,分析功耗是一切的前提。如果學習過數(shù)字集成電路與系統(tǒng)設(shè)計相關(guān)知識的同學應該知道功耗分為靜態(tài)功耗和動態(tài)功耗兩部分。其中,靜態(tài)功耗是由于器件中存在泄漏電流而產(chǎn)生的,只要上電以后就會一直存在。靜態(tài)功耗可以表征為:也就是電源電壓乘以泄漏電流。初看這個公式,相信大家覺得這不是常識嘛。但問題是泄漏電流又是怎么知道的?泄漏電流一般可以表示為:是不是看著有點暈了?這后面這些亂七八糟的“I ”到底是什么啊……我們就說個最簡單的IDS是是亞閾值泄露電流。
當柵極偏置電壓很低時,溝道載流子受源端勢壘的影響,泄露電流較小。當源漏端電壓升高后,源端勢壘降低,導致溝道電流受源漏端電壓影響。看到這里,是不是覺得腦袋已經(jīng)嗡嗡的了?為了避免大家看不下去而導致選手流失,就不能繼續(xù)分析下去了。我們再來看看動態(tài)功耗如何計算吧:
是不是一種看完了以后完全不想說話的感覺……如果我們依靠上面的公式來分析各種低功耗設(shè)計方案的正確性,那就太費勁了。有沒有一種簡單的分析方法能夠明確我們設(shè)計中采用的多電壓域、門控時鐘、動態(tài)電壓頻率調(diào)節(jié)、電源門控等技術(shù)是不是有效的降低了功耗,以及是否還有進一步設(shè)計優(yōu)化的空間?這種方法就是不用去直接計算再回頭反饋,而是用“規(guī)則”和“狀態(tài)”來判斷方法是否有效。
以上提到的低功耗設(shè)計方法可以通過UPF(一組TCL命令,所以可以將其簡單視為TCL語言的一個特定領(lǐng)域的子集)語言來描述,事實上UPF可以用在IC設(shè)計流程的不同階段并能夠完整的描述功耗設(shè)計意圖。在整個低功耗設(shè)計中,電源狀態(tài)表(Power State Table, PST)可被用來描述各個供電狀態(tài)(Supply State)之間的相互關(guān)系。通過對PST的靜態(tài)分析可以有效檢查Supply State的有效性、冗余性和一致性。進而對整個電源供電網(wǎng)絡(luò)的狀態(tài)進行檢查優(yōu)化。
而為方便更多的同學參賽,賽題設(shè)置本身降低了相關(guān)背景知識的門檻,將賽題抽象為數(shù)學算法問題,此外芯華章會提供完整的UPF parser,modeling等相關(guān)培訓,有利于參賽者能快速上手解題。
賽題要點解析
那么本題要解決的核心要點是什么呢?我們先來看一下賽題描述:
圖1一種電源網(wǎng)絡(luò)供電方案圖1展示了一種常見的電源供電網(wǎng)絡(luò)設(shè)計方案(注:僅作為參考而非實際應用電路)。低功耗設(shè)計工程師可以根據(jù)功耗設(shè)計意圖來定義電路設(shè)計中的每一個供電端口(Supply Port)上的供電狀態(tài)(Supply State)。
如為上述設(shè)計中的VP1, VP2, VSS, VP2, CPU_1/VP1_1, CPU_1/VP2_1, CPU_1/VSS, CPU_1/ALU/VP2_1_1, CPU_1/ALU/VSS, CPU_1/VP1_2, CPU_1/VP4_2, CPU_1/VSS, PMG/VP3_1, PMG/VSS等端口定義供電狀態(tài)。可以看出,這是大規(guī)模數(shù)字集成電路中的一種常見的層次化結(jié)構(gòu)。從最頂層的System到最底層的ALU,劃分出來3個層次。而在每一個層次中又并列了很多模塊。
模塊之間的電源網(wǎng)絡(luò)存在著不同的連接方法,層次間的電源網(wǎng)絡(luò)又存在包含關(guān)系。層次化的方法對于大規(guī)模數(shù)字集成電路設(shè)計具有結(jié)構(gòu)清晰、易于理解的優(yōu)勢。但是最終電源網(wǎng)絡(luò)是一個整體,這種層次化的狀態(tài)需要被“展開”為一種平鋪的狀態(tài)。如果說層次化是為了便于設(shè)計,那么消除層次化就是為了能夠準確分析。因為在真實的電路中并沒有所謂的“層次”,尤其是對于電源網(wǎng)絡(luò)而言,連接到同一電源的所有晶體管其實都是這個電源網(wǎng)絡(luò)的組成部分而已。因此,進行低功耗分析的第一步自然是將不同的PST進行合并,最終形成一張完整的“大表”。我們可以看到圖1可以用五個PST來描述其供電狀態(tài)。
表1. PST of System/PMG
表2. PST of System
表3. PST of System/CPU_1
表4. PST of System/CPU_1/ALU
表5. PST of System/CPU_2
低功耗設(shè)計分析器應根據(jù)電源供電網(wǎng)絡(luò)關(guān)系,分析并合并不同設(shè)計模塊下的電源狀態(tài)表得到供電源(supply source)的PST。最終得到的一張描述整個設(shè)計的大表。如在本設(shè)計中,應根據(jù)表1-5可以得到表6。
表6. 合并后的PST
這樣從最終的表6中,我們可以看到不同模塊中的幾個關(guān)鍵性的電源網(wǎng)絡(luò)節(jié)點的連接情況和供電狀態(tài),進而可以根據(jù)連接情況和供電狀態(tài)來做低功耗分析。所以直白一點,本次賽題二的核心點就在于不同PST的解析和合并。由于芯華章已經(jīng)提供了專門的Parser(解析器),各位參賽選手可以把精力集中于“合并”這一件事情。
建議解題步驟
通過對于賽題要點的分析,我們可以發(fā)現(xiàn)賽題二其實只做一件事情:如何將不同的PST按照其對應的連接關(guān)系合并為單一的、完整的PST。題目按理說難度并不大。但在賽題發(fā)布以后,仍然有不少同學認為題目有相當?shù)碾y度。
經(jīng)過分析原因后,我們認為可能主要的難點有兩個:首先,除了少部分科研課題和低功耗設(shè)計有關(guān)的同學外,大部分同學對功耗的成因、計算方法、表針方式等并不是熟悉,對于題目背景的理解有一定的難度;其次,絕大部分同學應該沒有接觸過UPF和PST,由于對其格式不熟悉而產(chǎn)生了畏難情緒。因此大家在解題之前,首先需要解決的就是對于知識背景的進一步熟悉。
尤其是需要對于UPF的用法和PST的格式有足夠的了解。這一點其實并不難做到,因為題目提供了相關(guān)的附件以及后續(xù)會對這一部分內(nèi)容重點加強培訓,幫助各位同學盡快熟悉UPF和PST。
在熟悉完UPF和PST以后各位同學應該以一個示范性的設(shè)計入手,盡快的走通從PST解析到PST合并的全部流程。在這個過程中必然涉及到部分的程序設(shè)計、函數(shù)調(diào)用、數(shù)據(jù)格式轉(zhuǎn)換等問題,而解決這個問題的過程本身又是對于賽題的進一步熟悉和對UPF以及PST的更進一步的熟悉。再完成以上兩步以后,參賽同學可以針對題目要求逐一核對功能是否完成。
在確保功能完備的基礎(chǔ)上利用芯華章提供的測試集,不斷的加強對所編寫程序的檢驗。除了檢驗一般性的bug以外,還繼續(xù)優(yōu)化程序運行的速度以及占用的空間。最終達耗時更好、占用內(nèi)存更少的目的。以上解題思路的本質(zhì)是從簡單到復雜,從確保功能到性能優(yōu)化。符合我們開發(fā)軟件的一般規(guī)律,也符合我們工程研究的一般進程。
其它注意事項
大家在解題時還需要注意以下幾點:
不要輕易放棄,題目本身難度不大,但是前期的知識準備要花點時間;
一定要積極參加培訓,很多知識其實一點就透,但是在自己沒有相關(guān)背景的情況下學習還是有一定的挑戰(zhàn)性;
要遵循循序漸進、從易到難的解題思路,切不可貪大求全讓自己陷入到重重迷霧之中。
最后,預祝各位同學發(fā)揮出自己的水平,取得良好的成績。
責任編輯:haq
-
集成電路
+關(guān)注
關(guān)注
5387文章
11530瀏覽量
361647 -
TCL
+關(guān)注
關(guān)注
10文章
1722瀏覽量
88566 -
分析器
+關(guān)注
關(guān)注
0文章
92瀏覽量
12492
原文標題:芯華章賽題解析:數(shù)字集成電路低功耗設(shè)計分析器
文章出處:【微信號:gh_387c27f737c1,微信公眾號:英諾達EnnoCAD】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論