做芯片第一應(yīng)該關(guān)注的是芯片的PPA(Performance, Power, Area),本篇淺顯的部分討論,第二個(gè) P,Power功耗,在RTL設(shè)計(jì)中如何做到低功耗設(shè)計(jì),對于移動(dòng)設(shè)備續(xù)航的十分重要,不要讓你的芯片徒增功耗。
數(shù)據(jù)通路寄存器打拍
數(shù)據(jù)寄存器打拍帶上vld,不加復(fù)位邏輯,這樣會省去寄存器復(fù)位電路的布線面積,而且工具還會給寄存器自動(dòng)插時(shí)鐘門控,還達(dá)到了降低功耗的效果。至于寄存器不復(fù)位,一些剛學(xué)習(xí)的朋友可能會感覺有些刷新認(rèn)知,寄存器怎么能不復(fù)位,不復(fù)位不就是x態(tài)了,系統(tǒng)不就紊亂了。是的,寄存器不復(fù)位是會產(chǎn)生x態(tài),不過這里說的是數(shù)據(jù)通路,控制通路的所有信號都是必須帶復(fù)位邏輯。數(shù)據(jù)通路因?yàn)檫@里是帶著vld進(jìn)行打拍,只需要保證在你使用的時(shí)候,它不是x態(tài)就行了。控制通路的信號控制系統(tǒng)的運(yùn)行,出現(xiàn)x態(tài),必然掛死。而數(shù)據(jù)通路只要保證在vld的有效,也就是我踩這個(gè)數(shù)據(jù)的時(shí)候它是正確的就行了,不管它是x態(tài)還是其他無效的數(shù)據(jù)。當(dāng)然如果數(shù)據(jù)有作為判斷邏輯用于控制,那這個(gè)數(shù)據(jù)一定要進(jìn)行復(fù)位。代碼示例,時(shí)序邏輯可以省略else,寄存器默認(rèn)保持,組合邏輯必須寫else。vld是一個(gè)脈沖將這個(gè)數(shù)據(jù)踹一腳直接踹進(jìn)這個(gè)寄存器存儲,在下一腳來臨之前,這個(gè)寄存器都將保持這個(gè)數(shù)據(jù)。
always @(posedge clk)begin if(data_vld) dout[63:0] 《= din;end
手動(dòng)插入時(shí)鐘門控
手動(dòng)插入時(shí)鐘門控,根據(jù)控制場景的不同自動(dòng)關(guān)掉部分模塊的時(shí)鐘,留有軟件的控制通道,由軟件關(guān)閉。可以有效的減少動(dòng)態(tài)功耗。舉例,比如一塊運(yùn)算電路配置全開的時(shí)候需要四個(gè)相同的計(jì)算模塊同時(shí)工作,最少的情況只需要一個(gè)模塊工作,這時(shí)根據(jù)配置的不同可以將其他三個(gè)模塊的時(shí)鐘關(guān)掉,減少動(dòng)態(tài)功耗。
整個(gè)Top模塊掉電
整個(gè)二級Top模塊掉電休眠,掉電后將所有需要保存的數(shù)據(jù)寫到memory中,等下一次模塊喚醒上電啟動(dòng)時(shí)再重新寫回到硬件中。ASIC中的RAM可以自己生成是否需要掉電保存數(shù)據(jù)的功能,不需要的專門存儲的RAM也一起掉電。需要使用和保存的數(shù)據(jù)寄存器較少,可以從模塊伸出接口到頂層,讓軟件讀走,等下一次模塊喚醒上電啟動(dòng)時(shí)再通過軟件配置寄存器配置回模塊。這就是低功耗模式。
靜態(tài)功耗和動(dòng)態(tài)功耗
靜態(tài)功耗只要電路供電就有,除非掉電休眠,否則無法避免,動(dòng)態(tài)功耗只要存在高低電平切換就有。在rtl設(shè)計(jì)時(shí),良好的代碼風(fēng)格也可以降低動(dòng)態(tài)功耗,乘法器、加法器等運(yùn)算單元,通過減少組合邏輯的翻轉(zhuǎn),從而達(dá)到降低動(dòng)態(tài)功耗的效果。輸入到輸出,組合邏輯的a、b端值不變,沒有電平翻轉(zhuǎn),所以不會有動(dòng)態(tài)功耗,只存在靜態(tài)功耗。在設(shè)計(jì)中考慮組合邏輯無效翻轉(zhuǎn)問題,某段時(shí)間這部分?jǐn)?shù)據(jù)無效,通過使能信號選擇這部分邏輯保持,得到避免動(dòng)態(tài)功耗的效果。
責(zé)任編輯:haq
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423152 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110075 -
低功耗
+關(guān)注
關(guān)注
10文章
2396瀏覽量
103675
原文標(biāo)題:Verilog如何實(shí)現(xiàn)低功耗設(shè)計(jì)?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論