色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過優化RTL減少功耗

數字芯片實驗室 ? 來源:數字芯片實驗室 ? 2024-04-05 09:15 ? 次閱讀

隨著各種消費類設備智能化的巨大增長,這些應用正變得更加以數據為中心data-centric和計算密集型computation intensive。從IC設計的角度來看,這增強了早已經存在的power vs area trade-off的挑戰。

對于功耗估算來說,架構階段為時過早,物理設計階段為時已晚。有一種趨勢是在項目的RTL階段分析power hot spots。與后期分析相比,基于 RTL 的功耗分析更快、更容易執行,迭代時間更短。

本文介紹了在 RTL 級別應用的一些功耗優化技術。

消費類電器(電池驅動型)的大幅增加使功耗優化成為大多數片上系統 (SoC) 的基本需求。

VLSI行業的早期階段,功耗分析被認為是一種后端活動。但隨著芯片復雜性的增加,必須將功耗分析轉移到前端階段,以確保正確的估計和優化,僅在后端階段進行優化就無法滿足要求。

此外,動態功耗計算很大程度上取決于驅動到 SoC 的輸入激勵;因此,使用功能驗證向量輸入進行分析似乎是必須的。因此,業界開始在 RTL 階段進行功耗分析。

ASIC設計的不同階段,都有功耗優化的余地。

系統劃分為電壓域是在架構階段完成的,即使在單個電壓域下也能進行優化。當處理器處于休眠模式時,對電路進行Power gating(喚醒邏輯除外)可減少功耗浪費。這些是用于降低功耗的一些傳統方法。在多核處理器設計中,多個電壓域允許根據工作負載控制每個內核的電源電壓。在較高電壓下工作的核以較高的頻率工作,而施加較低電壓的核可以使用較低的頻率。

內存組織和模塊級時鐘門控則是架構級優化的另一個領域。

綜合階段的功耗降低歸因于晶體管尺寸調整和cell合并,以降低開關活動。另一種方法是將高開關活動的net分配給電容較低的引腳,將低開關活動的net分配給具有較高電容的邏輯引腳。綜合工具還通過將數據使能轉換為時鐘使能來實現時鐘門控。通過具有不同閾值電壓的cell映射設計中的非關鍵路徑和關鍵路徑來優化漏電功耗。

RTL level的功耗優化主要集中在降低register level的信號活動上。本文主要介紹 RTL 優化,它從更精細的級別實現功耗的優化控制。

II. 低功耗RTL

通常,實現 RTL 功耗優化包括對設計的以下方面進行優化。

寄存器級時鐘門控減少開關活動

基于有限狀態機(FSM)的上游和下游邏輯路徑門控

數據路徑未啟用時對數據路徑進行門控

減少組合電路中的冗余活動

本節介紹一些優化技術,方案和編碼示例。

A. 時鐘門控

在模塊級別插入Clock gate是一種普遍的降低功耗的方法。但是,只有在功耗需求非常嚴格的情況下,才采用寄存器級的Clock gate,這是由于寄存器級的Clock gate也會增加面積成本。

為了在寄存器級別啟用Clockgate,對于RTL的編寫方式是有一定的要求的。另一種選擇是手動配置綜合工具,為選定的寄存器插入Clockgate。在復雜的設計中,第二種選擇是不可行的。在這種情況下,應該利用RTL 的編寫方式自動綜合出Clockgate。

考慮場景,當 FIFO 滿并寫入時,生成 fifo wr 錯誤信號。示例代碼1不會綜合出Clock gate,而示例代碼2會綜合出Clock gate。

Listing 1. Code without CG Inference

always @(posedge clk or negedge reset)
if (reset = 0)
fifo_wr_err <= 0
else
fifo_wr_err <= fifo_full & fifo_wr_en ;

Listing 2. Code with CG Insertion

always @(posedge clk or negedge reset)
if (reset = 0)
fifo_wr_err <= 0
else
if (fifo_wr_en)
fifo_wr_err <= fifo_full;

1) 時鐘門控效率:在不研究時鐘門控效率的情況下插入Clockgate也可能會反方向增加功耗。需要根據以下因素估計時鐘門控效率

總線中被時鐘門控的比特數

門控占總時鐘周期的百分比

數據在使能的Clockgate內toggle

僅當寄存器上的輸入發生變化時才啟用該門控。

Listing 3. Improved Clock Gating Efficiency

always @(posedge clk or negedge reset)
if (reset = 0)
fifo_wr_err <= 0
else
if (value_en)
fifo_wr_err <= nxt_fifo_wr_err;
assign nxt_fifo_wr_err = fifo_full & fifo_wr_en;
assign value_en = fifo_wr_err ? nxt_fifo_wr_err;

2) Clock Gating TradeOff:當我們努力實現 100% 的時鐘門控效率時,系統的面積將會增加。為了避免這種情況,我們可以TradeOff。在這里,我們組合了多個寄存器的使能,允許觸發器輸入處會有些冗余切換。這種TradeOff的默認值的建議是 3-4,這意味著在 3-4 個寄存器之間共享一個公共enable,但代價是Clock Gating效率降低。

寫入錯誤和讀取錯誤生成enable可以組合使用,以降低面積成本。

Listing 5. Combined Clock Gating Example 2

always @(posedge clk or negedge reset)
if (reset = 0)
fifo_wr_err <= 0
else
if (fifo_en)
fifo_wr_err <= nxt_fifo_wr_err;
always @(posedge clk or negedge reset)
if (reset = 0)
fifo_rd_err <= 0
else
if (fifo_en)
fifo_rd_err <= nxt_fifo_rd_err;
assign nxt_fifo_wr_err = fifo_full & fifo_wr_en;
assign nxt_fifo_rd_err = fifo_empty & fifo_rd_en;
assign fifo_en = fifo_wr_en | fifo_rd_en;

B. 基于FSM的控制

基于FSM狀態生成的信號可用于對發送和接收的所有邏輯進行門控。

Listing 6. Enable Generation based on FSM

assign transmit_cg_en = ?state_tx[IDLE];
assign receive_cg_en = ?state_rx[IDLE];

C. 數據路徑運算

數據路徑運算模塊(如乘法器)可能會在輸入端進行不必要的toggle,即使未啟用相應的計算。因此,以下技術可降低功耗。

時鐘門控為數據路徑操作提供輸入的時序邏輯

在輸入端使用鎖存器或者使用使能門控輸入

Listing 7. Gating Data Operator Input Toggling Method1

always @(posedge clk or negedge reset)
if (reset = 0) begin
mul_in1 <= 0
mul_in2 <= 0
end
else
if (mul_en) begin
mul_in1 <= nxt_mul_in1;
mul_in2 <= nxt_mul_in2;
end

Listing 8. Gating Data Operator Input Method 2

assign mul_in1 = data_in1 &
{DATA_WIDTH{mul_en}};
assign mul_in2 = data_in2 &
{DATA_WIDTH{mul_en}};

D. 減少組合邏輯的toggle

組合邏輯的功耗可以通過避免不必要的輸入toggle來控制。這里可以考慮一個多路復用器作為示例,它是組合邏輯的常見模塊。

在下圖給出的示例電路中,我們有一個由兩個packetizers訪問的共享數據存儲器。在這里,我們確實有明顯的功耗浪費,因為當packetizer1 訪問數據時,packetizer2 的輸入將切換toggle,反之亦然。

338c6f52-eef9-11ee-a297-92fbcf53809c.jpg

功耗更優化的設計將把輸入門控到packetizer中的 MUX。

339c7cb2-eef9-11ee-a297-92fbcf53809c.jpg

如果我們能把內存拆分成幾個部分,我們就可以進行更細粒度的gate,從而產生更有效的門控效率。但缺點是routing congestion和面積成本。

三、RTL功耗分析工具

ASIC 設計流程正在使用 RTL 分析工具在早期階段考慮分析功耗。

33a9fcde-eef9-11ee-a297-92fbcf53809c.jpg

RTL設計文件使用VCD、SAIF或FSDB格式的仿真激勵文件,針對時鐘和數據toggle產生的功耗進行精心設計和分析。

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • IC設計
    +關注

    關注

    38

    文章

    1295

    瀏覽量

    103918
  • soc
    soc
    +關注

    關注

    38

    文章

    4161

    瀏覽量

    218160
  • 片上系統
    +關注

    關注

    0

    文章

    186

    瀏覽量

    26807

原文標題:通過優化RTL減少功耗

文章出處:【微信號:數字芯片實驗室,微信公眾號:數字芯片實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    射頻識別芯片設計中時鐘樹功耗優化與實現

    TypeC協議的UHF RFID標簽基帶處理器的的優化和實現。##降低功耗主要方法##RTL階段手工加時鐘門控##綜合階段工具插于集成門控單元##時鐘樹綜合階段優化
    發表于 03-24 14:36 ?4347次閱讀

    優化 FPGA HLS 設計

    減少錯誤并更容易調試。然而,經常出現的問題是性能權衡。在高度復雜的 FPGA 設計中實現高性能需要手動優化 RTL 代碼,而這對于HLS開發環境生成的 RTL 代碼來說是不可能的。然而
    發表于 08-16 19:56

    IC芯片功耗有哪些降低方法? 

    :一是可以通過優化布線減少功耗,互連正在開始支配開關功耗,就像在前幾個工藝節點支配時序一樣。今天,設計師有能力
    發表于 06-29 16:46

    IC功耗控制技術

    支配開關功耗,就像在前幾個工藝節點支配時序一樣。右圖表明了互連對總動態功耗的相對影響。今天,設計師有能力通過布線優化減少
    發表于 10-08 22:06

    為什么要優化FPGA功耗

    無論從微觀到宏觀、從延長電池壽命到減少全球變暖的溫室效應等等,各種不同因素都在迅速推動系統設計人員關注節能問題。一項有關設計優先考慮事項的最新調查指出,大部分工程師已把功耗排在首位,或者是將其緊跟在性能、密度和成本之后。在功耗
    發表于 08-08 07:39

    怎樣通過軟件控制的方式來優化并降低單片機的功耗

    究竟怎樣才算低功耗?小于5mA?小于1ms?小于100uA?怎樣通過軟件控制的方式來優化并降低單片機的功耗?低功耗的范圍大概在哪?
    發表于 07-08 06:25

    RTL功耗優化

    在我們針對 PC 圖形、視覺計算和應用處理器的高性能、低功耗設計方法中,RTL 功耗優化是非常關鍵的一步。NVIDIA Corporation 硬件工程部總監 Dan Smith 講道
    發表于 09-11 11:40 ?9次下載
    <b class='flag-5'>RTL</b><b class='flag-5'>功耗</b><b class='flag-5'>優化</b>

    ASIC低功耗設計詳解及相關書籍推薦

    功耗設計是一個整體的概念,意思是它在每個設計層次上都可以進行功耗優化——算法層次的優化RTL級代碼的
    的頭像 發表于 02-02 17:20 ?6067次閱讀

    用Elaborated Design優化RTL的代碼

    在Vivado FlowNavigator中有一個Elaborated Design,如下圖所示,屬于RTL Analysis這一步對應的設計。可能很多工程師都沒有使用到,而實際上對于代碼優化,它是很有幫助的。
    的頭像 發表于 10-21 10:56 ?5339次閱讀
    用Elaborated Design<b class='flag-5'>優化</b><b class='flag-5'>RTL</b>的代碼

    如何降低面積和功耗?如何優化電路時序?

    1、如何降低功耗? (1) 優化方向: 組合邏輯+時序邏輯+存儲 (2) 組合邏輯: ??(a)通過算法優化的方式減少門電路 ??(b)模塊
    發表于 02-11 15:30 ?2次下載
    如何降低面積和<b class='flag-5'>功耗</b>?如何<b class='flag-5'>優化</b>電路時序?

    RTL設計中如何做到低功耗設計

    做芯片第一應該關注的是芯片的PPA(Performance, Power, Area),本篇淺顯的部分討論,第二個 P,Power功耗,在RTL設計中如何做到低功耗設計,對于移動設備續航的十分重要,不要讓你的芯片徒增
    的頭像 發表于 04-13 08:12 ?2061次閱讀

    如何降低設備功耗,降低采集設備功耗的幾種方法

    如何降低設備功耗,降低采集設備功耗的幾種方法 工程監測傳感器 以下是降低數采設備功耗的一些方法: 優化硬件設計:通過選擇低
    的頭像 發表于 10-11 09:29 ?1560次閱讀

    英諾達發布RTL功耗分析工具助推IC高能效設計

    英諾達發布了自主研發的EnFortius?凝鋒?RTL功耗分析工具,可以在IC設計流程早期對電路設計進行優化
    的頭像 發表于 11-01 10:28 ?776次閱讀

    英諾達發布RTL功耗分析工具,助推IC高能效設計

    (摘要:英諾達發布了自主研發的EnFortius?凝鋒?RTL功耗分析工具,可以在IC設計流程早期對電路設計進行優化。) (2023年11月1日,四川成都)英諾達(成都)電子科技有限公司發布了
    發表于 11-01 09:51 ?456次閱讀

    通過優化補償最大限度地減少導通時間抖動和紋波

    電子發燒友網站提供《通過優化補償最大限度地減少導通時間抖動和紋波.pdf》資料免費下載
    發表于 08-26 11:34 ?0次下載
    <b class='flag-5'>通過</b><b class='flag-5'>優化</b>補償最大限度地<b class='flag-5'>減少</b>導通時間抖動和紋波
    主站蜘蛛池模板: 好男人在线观看视频观看高清视频免费 | 天天色天天综合网| 2020无码最新国产在线观看| 世界上第一个得抑郁症的人是谁| 91精品视频网站| 两个奶被男人揉了一个晚上| 一个色综合久久| 九色91精品国产网站| 艳鉧动漫1~6全集观看在线| 好男人好资源在线观看| 亚洲精品久久久久久久蜜臀老牛 | 国产69TV精品久久久久99| 色姊姊真舒服| 国产午夜精品片一区二区三区| 亚洲AV无码国产精品午夜久久| 扒开美女下面粉嫩粉嫩冒白浆| 亚欧免费观看在线观看更新| 天美传媒果冻传媒入口视频| 成人亚洲视频| 日日摸夜夜添夜夜爽出水| 粗好大用力好深快点漫画| 婷婷久久综合九色综合伊人色| 国产精品久久婷婷五月色| 亚洲国产成人私人影院| 久久久无码精品亚洲日韩按摩| 无人区在线日本高清免费| 97人妻无码AV碰碰视频| 免费人成视频19674不收费| abp-146| 天天靠天天擦天天摸| 国产在线精彩亚洲| 丝袜足控免费网站xx91| 国产一区二区三区乱码在线观看| 亚洲无遮挡无码A片在线| 疯狂第一次国语| 女人高潮了拔出来了她什么感觉| 一级毛片免费下载| 日本xxxxxxxxx老师59| 蜜桃AV色欲A片精品一区| 久久久无码AV精品亚洲A片软件| 亚洲欧洲日韩天堂无吗|