做芯片第一應該關注的是芯片的PPA(Performance, Power, Area),本篇淺顯的部分討論,第二個 P,Power功耗,在RTL設計中如何做到低功耗設計,對于移動設備續航的十分重要,不要讓你的芯片徒增功耗。
數據通路寄存器打拍
數據寄存器打拍帶上vld,不加復位邏輯,這樣會省去寄存器復位電路的布線面積,而且工具還會給寄存器自動插時鐘門控,還達到了降低功耗的效果。至于寄存器不復位,一些剛學習的朋友可能會感覺有些刷新認知,寄存器怎么能不復位,不復位不就是x態了,系統不就紊亂了。是的,寄存器不復位是會產生x態,不過這里說的是數據通路,控制通路的所有信號都是必須帶復位邏輯。數據通路因為這里是帶著vld進行打拍,只需要保證在你使用的時候,它不是x態就行了。控制通路的信號控制系統的運行,出現x態,必然掛死。而數據通路只要保證在vld的有效,也就是我踩這個數據的時候它是正確的就行了,不管它是x態還是其他無效的數據。當然如果數據有作為判斷邏輯用于控制,那這個數據一定要進行復位。代碼示例,時序邏輯可以省略else,寄存器默認保持,組合邏輯必須寫else。vld是一個脈沖將這個數據踹一腳直接踹進這個寄存器存儲,在下一腳來臨之前,這個寄存器都將保持這個數據。always @(posedge clk)begin
if(data_vld)
dout[63:0] <= din;
end
手動插入時鐘門控
手動插入時鐘門控,根據控制場景的不同自動關掉部分模塊的時鐘,留有軟件的控制通道,由軟件關閉。可以有效的減少動態功耗。舉例,比如一塊運算電路配置全開的時候需要四個相同的計算模塊同時工作,最少的情況只需要一個模塊工作,這時根據配置的不同可以將其他三個模塊的時鐘關掉,減少動態功耗。整個Top模塊掉電
整個二級Top模塊掉電休眠,掉電后將所有需要保存的數據寫到memory中,等下一次模塊喚醒上電啟動時再重新寫回到硬件中。ASIC中的RAM可以自己生成是否需要掉電保存數據的功能,不需要的專門存儲的RAM也一起掉電。需要使用和保存的數據寄存器較少,可以從模塊伸出接口到頂層,讓軟件讀走,等下一次模塊喚醒上電啟動時再通過軟件配置寄存器配置回模塊。這就是低功耗模式。靜態功耗和動態功耗
靜態功耗只要電路供電就有,除非掉電休眠,否則無法避免,動態功耗只要存在高低電平切換就有。在rtl設計時,良好的代碼風格也可以降低動態功耗,乘法器、加法器等運算單元,通過減少組合邏輯的翻轉,從而達到降低動態功耗的效果。輸入到輸出,組合邏輯的a、b端值不變,沒有電平翻轉,所以不會有動態功耗,只存在靜態功耗。在設計中考慮組合邏輯無效翻轉問題,某段時間這部分數據無效,通過使能信號選擇這部分邏輯保持,得到避免動態功耗的效果。
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
寄存器
+關注
關注
31文章
5355瀏覽量
120513 -
Verilog
+關注
關注
28文章
1351瀏覽量
110133 -
RTL
+關注
關注
1文章
385瀏覽量
59829
原文標題:Verilog如何實現低功耗設計?
文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
藍牙AOA定位系統如何做到高精準度?
藍牙AOA定位系統是一種高精度的室內定位技術,其高精準度是通過一系列高科技的技術和方法實現的。以下是給大家分析的幾點關于如何做到高精準度的幾個關鍵點:
物聯網系統中TCP低功耗產品長連接狀態下降低功耗功能的實現方案
01 ?概述 TCP相關內容參考文章《物聯網行業中TCP通信協議介紹以及如何實現》 02 ?功耗的組成 低功耗技術就是一系列的降低功耗的技術。 在了解
OPA320與OPA320S在確保運放精度能達到穩定的前提下盡量做到低功耗應該如何選擇?
OPA320與OPA320S主要區別在于是否有使能引腳,如果用于低功耗電路中,需要快速切換運放的開關工作狀態,是選擇增加外部供電切換電路好還是使用帶有使能引腳的運放好?在確保運放精度能達到穩定的前提下盡量做到
發表于 08-21 06:14
STM32在PWM輸出模式中,如何做到PWM移向輸出?
在PWM輸出模式中,如何做到PWM移向輸出?在DSP中有時基相位寄存器,可以移向配置占空比。但是好像沒有發現STM32單片機有類似的寄存器功能。請問各位大神是否有其他方法可以實現PWM移向輸出呢?
發表于 05-15 06:02
如何通過優化RTL減少功耗
對于功耗估算來說,架構階段為時過早,物理設計階段為時已晚。有一種趨勢是在項目的RTL階段分析power hot spots。與后期分析相比,基于 RTL 的功耗分析更快、更容易執行,迭
stm32G071CB通過配置串口可喚醒低功耗模式失敗怎么解決?
現在按照通過\"LPUART_WakeUpFromStop\"參考例程燒寫進去,串口無法退出低功耗,jlink也無法燒寫程序,該如何做才能夠重新燒寫程序。
發表于 03-08 08:04
光伏戶用如何做到低成本獲客?
光伏戶用如何做到低成本獲客?
隨著可再生能源的日益普及和技術的不斷進步,光伏系統正逐漸走進千家萬戶。然而,對于光伏企業來說,如何在激烈的市場競爭中低成本地獲取客戶,成為了他們面臨的一大挑戰。本文將
發表于 02-27 10:33
低功耗藍牙技術的特點 低功耗藍牙如何實現低功耗?
低功耗藍牙技術是一種優化的藍牙技術,專為滿足低功耗需求而設計。它通過采用一系列節能措施和技術,實現了更低的功耗消耗,延長了設備的續航時間。
RF模組sleep狀態下如何做到最低功耗?
的。那么如何解決呢?本文將對RF模組在Sleep狀態下如何做到最低功耗進行說明。RF模組sleep時RF模組的IO狀態先要獲知RF模組Sleep時,RF模組的IO
評論