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