《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > SoC 設(shè)計(jì)中的時(shí)鐘低功耗技術(shù)
SoC 設(shè)計(jì)中的時(shí)鐘低功耗技術(shù)
摘要:  針對(duì)由時(shí)鐘網(wǎng)絡(luò)引起的2 種系統(tǒng)動(dòng)態(tài)功耗,,本文研究并實(shí)現(xiàn)3 種時(shí)鐘低功耗技術(shù)。
關(guān)鍵詞: 電源管理 SOC 時(shí)鐘 低功耗
Abstract:
Key words :

  1 概述

 

  SoC 芯片設(shè)計(jì)的復(fù)雜度日益增加,,其內(nèi)部時(shí)鐘設(shè)計(jì)越來(lái)越復(fù)雜,,一個(gè)SoC 芯片內(nèi)部通常存在若干個(gè)時(shí)鐘域,,由時(shí)鐘網(wǎng)絡(luò)引起的系統(tǒng)動(dòng)態(tài)功耗成為近年來(lái)的研究熱點(diǎn),。時(shí)鐘網(wǎng)絡(luò)引起的系統(tǒng)動(dòng)態(tài)功耗分為2 個(gè)方面:(1)由于時(shí)鐘網(wǎng)絡(luò)的作用是為芯片內(nèi)部所有時(shí)序單元提供時(shí)鐘信號(hào),因此時(shí)鐘頻率的快慢決定了時(shí)序單元和與之相連的邏輯單元的動(dòng)態(tài)功耗,,關(guān)斷時(shí)鐘將消除電路的動(dòng)態(tài)功耗,。(2)時(shí)鐘網(wǎng)絡(luò)自身的特點(diǎn)將導(dǎo)致巨大動(dòng)態(tài)功耗的產(chǎn)生:1)時(shí)鐘網(wǎng)絡(luò)是芯片內(nèi)規(guī)模最大的互連線網(wǎng)絡(luò),其負(fù)載巨大,,負(fù)載來(lái)自因?yàn)榛ミB線電容和平衡時(shí)鐘樹(shù)的偏差而插入的大量延時(shí)單元,;2)時(shí)鐘網(wǎng)絡(luò)是芯片內(nèi)翻轉(zhuǎn)率最高的互連線網(wǎng)絡(luò),翻轉(zhuǎn)率的高低直接決定了互連線動(dòng)態(tài)功耗和互連線驅(qū)動(dòng)的標(biāo)準(zhǔn)單元的動(dòng)態(tài)功耗,。

  針對(duì)由時(shí)鐘網(wǎng)絡(luò)引起的2 種系統(tǒng)動(dòng)態(tài)功耗,,本文研究并實(shí)現(xiàn)3 種時(shí)鐘低功耗技術(shù)。

 

  2 動(dòng)態(tài)時(shí)鐘管理

 

  一顆SoC 芯片的工作狀態(tài)變化很大,,一些應(yīng)用需要用到芯片內(nèi)部的所有模塊,,而另一些應(yīng)用只要用到部分模塊;在某些應(yīng)用中,,芯片需要全速運(yùn)行,,而在其他應(yīng)用中,則可以運(yùn)行在很低的工作頻率[1],。綜合以上2 點(diǎn),,動(dòng)態(tài)管理芯片的時(shí)鐘可以分為2 個(gè)方面:動(dòng)態(tài)地開(kāi)關(guān)芯片內(nèi)部模塊的時(shí)鐘,動(dòng)態(tài)地配置芯片內(nèi)部模塊的時(shí)鐘頻率,。

  本文以音視頻解碼SoC 芯片——rsthu1 為例,,介紹在系統(tǒng)級(jí)設(shè)計(jì)時(shí)采用的動(dòng)態(tài)時(shí)鐘管理技術(shù)。

  為了實(shí)現(xiàn)rsthu1 的動(dòng)態(tài)時(shí)鐘管理,,在芯片系統(tǒng)級(jí)設(shè)計(jì)時(shí)定義了4 種工作模式,,見(jiàn)表1,其中,,實(shí)心圓表示開(kāi)啟此模塊,;空心圓表示關(guān)閉此模塊,。

 

  

 

  當(dāng)芯片工作在正常模式時(shí),,采用高速時(shí)鐘HCLK 供給Risc0, Risc1,, Decoder,, BE(Bit Engine)這4 個(gè)系統(tǒng)內(nèi)的主要模塊,此時(shí)系統(tǒng)全速運(yùn)行,,進(jìn)行音視頻解碼,。當(dāng)芯片工作在低速模式時(shí),采用低速時(shí)鐘VCLK 供給上述4 個(gè)模塊,,此時(shí)系統(tǒng)可以運(yùn)行簡(jiǎn)單的應(yīng)用程序,,保證了系統(tǒng)的持續(xù)工作,,且降低了時(shí)鐘頻率,即降低了系統(tǒng)的動(dòng)態(tài)功耗,。當(dāng)芯片工作在閑置模式時(shí),,只保留操作系統(tǒng)的運(yùn)行,采用低速時(shí)鐘VCLK 供給Risc0,,關(guān)斷其余模塊的時(shí)鐘供給,,消除了除Risc0 以外其余模塊產(chǎn)生的動(dòng)態(tài)功耗。當(dāng)芯片工作在睡眠模式時(shí),,關(guān)斷所有模塊的時(shí)鐘供給,,消除系統(tǒng)不工作時(shí)產(chǎn)生的動(dòng)態(tài)功耗。

  采用Synopsys 公司的功耗分析工具Prime Power,,在RTL級(jí)基于4 種工作模式的仿真波形進(jìn)行功耗分析,,結(jié)果見(jiàn)表2。

 

  

 

  可以看出,,在系統(tǒng)級(jí)設(shè)計(jì)時(shí)采用動(dòng)態(tài)時(shí)鐘管理技術(shù)后,,正常、低速,、閑置,、睡眠4 個(gè)工作模式下,系統(tǒng)動(dòng)態(tài)功耗逐級(jí)遞減,,功耗優(yōu)化效果明顯,。

 

  3 門控時(shí)鐘

 

  RTL 代碼中經(jīng)常會(huì)出現(xiàn)以下語(yǔ)句:

  @posedge (CLK)

  begin

  if (EN == 1)

  Data_out = Data_in;

  end

  如果直接對(duì)上述代碼進(jìn)行邏輯綜合將生成如圖1 所示的電路結(jié)構(gòu)??刂萍拇嫫鳡顟B(tài)更新的控制信號(hào)被置于寄存器的輸入端之前,,通過(guò)控制是否接收新數(shù)據(jù)來(lái)控制寄存器狀態(tài)是否更新。在該結(jié)構(gòu)的電路中,,寄存器狀態(tài)不更新時(shí)的寄存器時(shí)鐘端仍然在不停翻轉(zhuǎn),,會(huì)浪費(fèi)系統(tǒng)動(dòng)態(tài)功耗。

 

  

 

  采用圖2 的結(jié)構(gòu),,將控制信號(hào)置于寄存器的時(shí)鐘端之前,,通過(guò)控制寄存器是否翻轉(zhuǎn)來(lái)控制寄存器狀態(tài)是否更新。與圖1 的電路結(jié)構(gòu)相比,,圖2 的電路結(jié)構(gòu)在寄存器狀態(tài)不進(jìn)行更新時(shí),,時(shí)鐘信號(hào)將不翻轉(zhuǎn),消除了由此帶來(lái)的系統(tǒng)動(dòng)態(tài)功耗的浪費(fèi),。由于多個(gè)MUX 被替換為一個(gè)門控時(shí)鐘單元,,因此進(jìn)一步降低了功耗。

 

  

 

  門控時(shí)鐘單元可以通過(guò)Synopsys 公司的功耗優(yōu)化工具Power Compiler 在邏輯綜合時(shí)插入,,其優(yōu)點(diǎn)在于[3]:(1)不需要對(duì)RTL 級(jí)代碼進(jìn)行修改,,Power Compiler 將自動(dòng)檢測(cè)出RTL 代碼中可以插入門控時(shí)鐘的語(yǔ)句,;(2)門控時(shí)鐘單元將在邏輯綜合時(shí)自動(dòng)插入門級(jí)網(wǎng)單中。

  采用Power Compiler 對(duì)rsthu1 進(jìn)行門控時(shí)鐘綜合,,并采用Prime Power 進(jìn)行功耗分析,,結(jié)果如表3 所示??梢钥闯?,在邏輯綜合時(shí)采用門控時(shí)鐘技術(shù),總功耗下降了34.52%,,功耗優(yōu)化效果明顯,。

 

  

 

  4 低功耗時(shí)鐘樹(shù)綜合

 

  觀察時(shí)鐘樹(shù)的生長(zhǎng)過(guò)程,可以發(fā)現(xiàn)時(shí)鐘樹(shù)的生長(zhǎng)分為橫向擴(kuò)張和縱向延伸,,如圖3 所示,,其中,Arrow1 和Arrow3為縱向延伸,;Arrow2 為橫向擴(kuò)張,。

 

  

 

  普通的時(shí)鐘樹(shù)綜合以降低時(shí)鐘偏差為目標(biāo),加大縱向延伸,,減小橫向擴(kuò)張,,將投入較多buffer,更細(xì)粒度地調(diào)整每條時(shí)鐘路徑的延時(shí),,從而得到較小時(shí)鐘偏差,。上述方式以增大時(shí)鐘樹(shù)規(guī)模為代價(jià),它綜合得到的時(shí)鐘樹(shù)如圖4(a)所示,。

 

  

 

  出于功耗的考慮,,希望能減小時(shí)鐘樹(shù)的規(guī)模。通過(guò)減小時(shí)鐘樹(shù)縱向延伸,,加大橫向擴(kuò)張可以有效減小時(shí)鐘樹(shù)的規(guī)模,,如圖4(b)所示。但由于buffer 數(shù)量的減少,,較之縱深結(jié)構(gòu)的時(shí)鐘樹(shù),,扁平結(jié)構(gòu)的時(shí)鐘樹(shù)將粗粒度地調(diào)整每條時(shí)鐘路徑的延時(shí),得到的時(shí)鐘偏差較大,??梢?jiàn),以降低時(shí)鐘樹(shù)規(guī)模為目標(biāo),,進(jìn)行低功耗時(shí)鐘樹(shù)綜合是以增加一定的時(shí)鐘偏差為代價(jià)的。

  后端工具在進(jìn)行時(shí)鐘樹(shù)綜合時(shí),,能通過(guò)綜合參數(shù)對(duì)時(shí)鐘樹(shù)結(jié)構(gòu)進(jìn)行約束,,見(jiàn)表4,。

 

  

 

  對(duì)rsthu1 的快速時(shí)鐘HCLK 進(jìn)行時(shí)鐘樹(shù)綜合時(shí),采用以降低時(shí)鐘樹(shù)規(guī)模為目標(biāo)的低功耗時(shí)鐘樹(shù)綜合,,結(jié)果如表5 所示,。分別加大最大扇出,減小路徑總延時(shí)和每一級(jí)緩沖器數(shù)量上限,。加大最大扇出后,,時(shí)鐘樹(shù)規(guī)模減小了20.21%,而時(shí)鐘偏差只增加了0.023 ns,,因此,,由減小時(shí)鐘樹(shù)規(guī)模而帶來(lái)的偏差結(jié)果的變差是可以接受的。

 

  

 

  5 結(jié)束語(yǔ)

 

  目前已有很多時(shí)鐘低功耗技術(shù),,在SoC 芯片的設(shè)計(jì)中可以進(jìn)一步降低由時(shí)鐘網(wǎng)絡(luò)引起的功耗,。在以后的研究工作中,需要進(jìn)行更廣泛而深入的探索,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。