基于ASIC的功耗評估與優(yōu)化設(shè)計
Power estimation and optimization based on ASIC design
本文引用地址:http://butianyuan.cn/article/201903/399036.htm尹遠(yuǎn),黃嵩人
(湘潭大學(xué)物理與光電工程學(xué)院,湖南 湘潭 411105)
摘要:隨著芯片設(shè)計的復(fù)雜度和規(guī)模越來越大,現(xiàn)如今ASIC芯片的功耗要求也越來越高。低功耗設(shè)計作為一個重要目標(biāo),需要設(shè)計者格外重視[1] 。在本文中,首先討論了功耗的組成及來源,闡述了在設(shè)計初期的功耗評估,以及功耗優(yōu)化的思路[1] 。接著描述了功耗優(yōu)化的具體操作技巧,其中詳細(xì)描述了時鐘門控的原理、實現(xiàn)流程等,最后對功耗優(yōu)化的效果進(jìn)行分析和比較。
關(guān)鍵詞:低功耗設(shè)計;功耗評估;功耗優(yōu)化;時鐘門控
0 引言
隨著便攜式導(dǎo)向的消費類電子產(chǎn)品的需求不斷增大,便攜式電子設(shè)備的低功耗需求、基于可靠性與性能影響的考慮、芯片設(shè)計及制造的成本影響等,都體現(xiàn)了低功耗設(shè)計的需求和必要性。因而對功耗要求也越來越高,低功耗設(shè)計已逐漸成為衡量電子產(chǎn)品是否成功的重要指標(biāo),使得芯片設(shè)計者也越來越重視對功耗的優(yōu)化設(shè)計。近來工藝技術(shù)的快速提高,面積、速率、溫度等性能要求不斷提升,這些改變對芯片的功耗優(yōu)化設(shè)計有著很重要的影響。尤其對于追求低功耗、微型化、高可靠性等目標(biāo)的ASIC芯片來說,更是面臨著不小的挑戰(zhàn)。
本文將介紹芯片功耗的來源和構(gòu)成,及其基本概念。然后介紹芯片的功耗的評估計算方法和途徑,提出在ASIC芯片設(shè)計中進(jìn)行功耗優(yōu)化的思路,同時結(jié)合EDA工具輔助實現(xiàn),介紹對芯片設(shè)計初期階段的核心功耗進(jìn)行優(yōu)化的具體操作流程,最后進(jìn)行功耗優(yōu)化后的分析。
1 功耗的構(gòu)成
功耗的構(gòu)成按照類型分類,主要由動態(tài)功耗和靜態(tài)功耗兩部分構(gòu)成,通常動態(tài)功耗占芯片整體功耗的絕大部分 [2] 。
?。?)動態(tài)功耗,是電路在工作時所消耗的能量。
對于CMOS電路,動態(tài)功耗又分為開關(guān)功耗和短路功耗,即PDynamic =Pswitch +Pinternal[3] 。開關(guān)功耗也稱為翻轉(zhuǎn)
功耗(Switching Power),由電路翻轉(zhuǎn)時對負(fù)載電容充放電引起,即
短路功耗也叫內(nèi)部功耗(Internal Power),在輸入翻轉(zhuǎn)時PMOS和NMOS同時導(dǎo)通的瞬間電流形成,即Pinternal =VDD ·Tr·Qx[4]。
(2)靜態(tài)功耗,是在電路沒有翻轉(zhuǎn)只供電的情形下,晶體管中漏電流造成的功耗,所以也叫漏電功耗(Leakage Power),公式為Pleakage=VDD·Ileakage。靜態(tài)功耗的來源有幾種方式,很大比例是由源極和漏極之間的亞閾值漏電流造成,另外還有柵極漏電流、柵極和襯底之間的隧道漏電流等引起的漏電功耗。
上述公式中,VDD為電路供電電壓,C為門電路的等效電容負(fù)載,Tr為信號的翻轉(zhuǎn)率,為一次翻轉(zhuǎn)過程中電源到地的電荷量,Ileakage為泄漏電流。
2 功耗的評估
功耗評估是低功耗設(shè)計中的重要內(nèi)容,在芯片設(shè)計的各個階段,都有相應(yīng)的方法去評估功耗,提前幫助設(shè)計者更科學(xué)有效的做好功耗優(yōu)化。
2.1 功耗評估方法
在設(shè)計前期階段,對功耗的估算主要可以通過手動計算和工具自動評估。
?。?)手動計算:通過對功耗來源的分析,根據(jù)功耗總公式P=Pswitch+Pinternal+Pleakage,再結(jié)合工藝庫中有關(guān)功耗的信息,進(jìn)行理論估計。根據(jù)上文中提到的公式,可以由重要的參數(shù)進(jìn)行功耗的具體估算,再根據(jù)不同的條件在工藝庫中查找對應(yīng)的信息。工藝庫中包含了標(biāo)準(zhǔn)單元的功耗信息,在使用軟件或手動對RTL級代碼和門級網(wǎng)表做功耗分析時,都需要用到。
?。?)工具自動評估:在RTL級代碼完成后,可以通過Spyglass等軟件進(jìn)行低功耗的代碼風(fēng)格檢查,找出可進(jìn)行優(yōu)化的邏輯模塊。一般常用Synopsys公司的工具(從屬于Design Compiler),對RTL級和門級網(wǎng)表進(jìn)行分析并優(yōu)化。
由于電路級的功耗評估的延時過多,需要大量的時間和資源,所以在工業(yè)實踐中很少采用。實際的功耗分析常對設(shè)計初期的RTL級和門級網(wǎng)表進(jìn)行,通過工具自動計算出功耗的數(shù)值,因是在理想情況且忽略了包括物理設(shè)計等因素,所以獲得的結(jié)果不夠精確,但對低功耗設(shè)計具有重要的指導(dǎo)作用。物理設(shè)計完成后可通過Prime Time PX工具精確計算功耗,不過屆時再降低功耗收益就小了。
2.2 功耗評估流程
在實際大規(guī)模的集成電路項目中,通過手工計算功耗是不現(xiàn)實的,一般需要借助EDA工具。以Power Compiler來說,功耗的分析主要兩種方法,分別是設(shè)置翻轉(zhuǎn)率(無向量分析法)和仿真分析法,都需要獲取每個節(jié)點的開關(guān)行為情況。
仿真分析法更方便精確,其關(guān)鍵是獲得文件,本質(zhì)是一種記錄開關(guān)動態(tài)行為的內(nèi)部交換格式的文件,后用軟件讀取進(jìn)行功耗分析。SAIF文件可由VCS等仿真工具對RTL級電路仿真或者門級網(wǎng)表電路仿真后得到,之后便可進(jìn)行功耗分析[5] 。
3 功耗的優(yōu)化
3.1 功耗的優(yōu)化思路
一般而言,可利用自頂向下的方法進(jìn)行低功耗設(shè)計的思考,而且優(yōu)化的抽象層級越高,越能獲得顯著的功耗降低效果。首先應(yīng)從系統(tǒng)與架構(gòu)級層面思考功耗優(yōu)化,然后思考在RTL級與門級進(jìn)行低功耗設(shè)計的方法。
?。?)系統(tǒng)與架構(gòu)級功耗優(yōu)化:在設(shè)計初期的系統(tǒng)結(jié)構(gòu)層級,可以通過優(yōu)化算法使得如加法器、乘法器、存儲等資源和操作的使用最小化,實現(xiàn)對硬件資源的合理配置與使用。也可以增加休眠待機模式,減少芯片不必要的工作時間。
?。?)合理選擇并行或者流水線技術(shù),可以適當(dāng)降低功耗。采用并行處理可以降低系統(tǒng)工作頻率,從而可降低功耗[6]。流水線技術(shù)(Pipeline)是將組合邏輯系統(tǒng)地拆分,并在各級之間插入寄存器,這樣每一步小操作的時間減小,可提高工作頻率,又能并行執(zhí)行提高處理速度,還能以較低的電壓來驅(qū)動系統(tǒng)。
?。?)邏輯優(yōu)化與資源共享:RTL級代碼設(shè)計時可進(jìn)行邏輯優(yōu)化,減少硬件資源消耗。使用良好的編碼風(fēng)格,利用數(shù)據(jù)編碼來降低開關(guān)活動,例如用格雷碼比用二進(jìn)制碼翻轉(zhuǎn)更少,功耗更低[6]。簡化狀態(tài)機,降低每次工作的狀態(tài)機的寄存器數(shù)量,為功耗降低提供了可能性。進(jìn)行邏輯共享,提高如FIFO、查找表、RAM存儲資源的利用率。
此外在RTL級與門級中,常采用的低功耗設(shè)計技術(shù)是時鐘門控[7]。
3.2 時鐘門控
3.2.1 時鐘門控原理
動態(tài)功耗是芯片功耗主要部分,是由電路翻轉(zhuǎn)引起負(fù)載電容的充放電,所以降低電路中冗余的翻轉(zhuǎn)動作,關(guān)閉未工作時的電路的時鐘網(wǎng)絡(luò)使其處于靜態(tài),是一種降低功耗的重要思路。時鐘門控技術(shù)通過控制時鐘的翻轉(zhuǎn),降低電路的翻轉(zhuǎn)率,從而達(dá)到降低動態(tài)功耗的目的,使用門控時鐘技術(shù)能有效降低芯片的系統(tǒng)動態(tài)功耗,所以在低功耗設(shè)計中使用較多,廣泛應(yīng)用于大規(guī)模集成電路設(shè)計中[2]。
如圖2所示,通過門控單元控制時鐘信號的翻轉(zhuǎn),從而實現(xiàn)對寄存器或模塊的工作時鐘的開關(guān)控制,決定數(shù)據(jù)是否向下一級邏輯傳播。避免了冗余信號的翻轉(zhuǎn),從而降低了電路的動態(tài)功耗[8]。
隨著設(shè)計規(guī)模的增大,通過手動方式添加時鐘門控邏輯效率很低,因而目前業(yè)界主流是通過EDA工具在綜合階段根據(jù)RTL級代碼的特點自動插入時鐘門控邏輯[2]。
3.2.2 時鐘門控單元的選擇
時鐘門控的實現(xiàn)方式有多種,最常用的是free和Latch-based。Latch-free類型時鐘門控一般是由結(jié)構(gòu)簡單的與門或者或門電路組成,但對時序要求較高。比如由與門組成的電路波形圖中時鐘信號CLK和使能信號EN相與,得到的門控時鐘GCLK出現(xiàn)了毛刺,影響了電路的穩(wěn)定性[2]。因此大部分設(shè)計使用Latch-based時鐘門控電路,其電路圖如下:
3.2.3實現(xiàn)流程
上圖描述了利用DC工具插入時鐘門控單元的流程,首先是選定時鐘門控類型,然后讀取RTL設(shè)計文件、定義時鐘策略,再插入指定類型的時鐘門控單元,最后邏輯綜合的過程[2] 。其中選取時鐘門控類型是最關(guān)鍵的環(huán)節(jié),具體命令如下:指定使用基于latch的門控電路類型,-minimum_bitwidth意味著一個門控時鐘至少需要3個寄存器,指定時鐘上升沿/下降沿觸發(fā)的寄存器所用的門控單元,-setup/hold指定的是setup/hold time的約束,-maxfanout指定的是最大扇出數(shù)[5]。另外可以查看工具手冊,進(jìn)行更多自定義選擇。
3.2.4 結(jié)果分析
基于某ASIC工程在臺積電90 nm工藝下進(jìn)行實踐,獲得的結(jié)果如下:被時鐘門控的寄存器占比達(dá)90%,因而能控制寄存器翻轉(zhuǎn),可有效降低動態(tài)功耗。統(tǒng)計功耗優(yōu)化前后的具體數(shù)據(jù),如表1所示。在90 nm工藝下,從DC綜合后獲得的信息來看,可以直觀看出功耗降低效果顯著,面積也節(jié)省了約37%,實踐證明時鐘門控技術(shù)是一種行之有效的降低功耗的方法。
4 結(jié)論
本文來源于科技期刊《電子產(chǎn)品世界》2019年第3期第1頁,歡迎您寫論文時引用,并注明出處在目前日趨復(fù)雜的芯片設(shè)計中 , 更 加 追 求 性能、面積、功耗等設(shè)計目標(biāo),低功耗優(yōu)化設(shè)計已是重要指標(biāo)之一。本文從設(shè)計需求實際出發(fā),首先分析了功耗的構(gòu)成及來源,然后闡述了功耗評估的方法,最后基于ASIC設(shè)計重點講述了功耗優(yōu)化的若干方法,并對時鐘門控技術(shù)做主要說明,并實踐證明獲得了顯著的功耗降低效果[1]。
影響功耗的因素眾多,優(yōu)化的方法也很多,需要結(jié)合項目實際,在不同的設(shè)計階段綜合運用不同的優(yōu)化方法來降低功耗,全局綜合考慮,以達(dá)到功耗、性能、面積等多方面的優(yōu)化提升[9]。
參考文獻(xiàn)
[1] 于立波.芯片設(shè)計中的功耗估計與優(yōu)化技術(shù)[J].中國集成電路,2010,19(06):37-43.
[2] 茅錦亮.動態(tài)時鐘門控管理策略的設(shè)計與實現(xiàn)[D].東南大學(xué),2014.
[3] Synopsys. Low Power Methodology Manual[EB/OL].www.synopsys.com/lpmm.
[4] 楊玲.基于電路級的低功耗關(guān)鍵技術(shù)研究[D].上海交通大學(xué),2010.
[5] Synopsys. Power Compiler User Guide[EB/OL].www.synopsys.com.
[6] 王彬, 任艷穎.數(shù)字IC系統(tǒng)設(shè)計[M].西安電子科技大學(xué)出版社,2005
[7]喻賢坤,姜爽,王磊,王莉,彭斌.數(shù)字集成電路門控時鐘可靠性研究[J].電子技術(shù)應(yīng)用,2017,43(01):60-63+67.
[8] 嚴(yán)石.面向DSP的時鐘門控技術(shù)的優(yōu)化與設(shè)計[D].東南大學(xué),2016.
[9] 袁博.集成電路設(shè)計中乘法器的低功耗算法與實現(xiàn)技術(shù)研究[D].西安電子科技大學(xué),2013.
作者簡介:
尹遠(yuǎn)(1993-),男,湖南張家界人,碩士研究生,主要研究方向:數(shù)字集成電路設(shè)計。
黃嵩人(1972-),男,江蘇無錫人,碩士研究生導(dǎo)師,主要研究方向:SOC設(shè)計,射頻識別技術(shù)。
本文來源于科技期刊《電子產(chǎn)品世界》2019年第4期第54頁,歡迎您寫論文時引用,并注明出處
評論