一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過(guò)優(yōu)化RTL減少功耗

數(shù)字芯片實(shí)驗(yàn)室 ? 來(lái)源:數(shù)字芯片實(shí)驗(yàn)室 ? 2024-04-05 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著各種消費(fèi)類(lèi)設(shè)備智能化的巨大增長(zhǎng),這些應(yīng)用正變得更加以數(shù)據(jù)為中心data-centric和計(jì)算密集型computation intensive。從IC設(shè)計(jì)的角度來(lái)看,這增強(qiáng)了早已經(jīng)存在的power vs area trade-off的挑戰(zhàn)。

對(duì)于功耗估算來(lái)說(shuō),架構(gòu)階段為時(shí)過(guò)早,物理設(shè)計(jì)階段為時(shí)已晚。有一種趨勢(shì)是在項(xiàng)目的RTL階段分析power hot spots。與后期分析相比,基于 RTL 的功耗分析更快、更容易執(zhí)行,迭代時(shí)間更短。

本文介紹了在 RTL 級(jí)別應(yīng)用的一些功耗優(yōu)化技術(shù)。

消費(fèi)類(lèi)電器(電池驅(qū)動(dòng)型)的大幅增加使功耗優(yōu)化成為大多數(shù)片上系統(tǒng) (SoC) 的基本需求。

VLSI行業(yè)的早期階段,功耗分析被認(rèn)為是一種后端活動(dòng)。但隨著芯片復(fù)雜性的增加,必須將功耗分析轉(zhuǎn)移到前端階段,以確保正確的估計(jì)和優(yōu)化,僅在后端階段進(jìn)行優(yōu)化就無(wú)法滿足要求。

此外,動(dòng)態(tài)功耗計(jì)算很大程度上取決于驅(qū)動(dòng)到 SoC 的輸入激勵(lì);因此,使用功能驗(yàn)證向量輸入進(jìn)行分析似乎是必須的。因此,業(yè)界開(kāi)始在 RTL 階段進(jìn)行功耗分析。

ASIC設(shè)計(jì)的不同階段,都有功耗優(yōu)化的余地。

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

內(nèi)存組織和模塊級(jí)時(shí)鐘門(mén)控則是架構(gòu)級(jí)優(yōu)化的另一個(gè)領(lǐng)域。

綜合階段的功耗降低歸因于晶體管尺寸調(diào)整和cell合并,以降低開(kāi)關(guān)活動(dòng)。另一種方法是將高開(kāi)關(guān)活動(dòng)的net分配給電容較低的引腳,將低開(kāi)關(guān)活動(dòng)的net分配給具有較高電容的邏輯引腳。綜合工具還通過(guò)將數(shù)據(jù)使能轉(zhuǎn)換為時(shí)鐘使能來(lái)實(shí)現(xiàn)時(shí)鐘門(mén)控。通過(guò)具有不同閾值電壓的cell映射設(shè)計(jì)中的非關(guān)鍵路徑和關(guān)鍵路徑來(lái)優(yōu)化漏電功耗。

RTL level的功耗優(yōu)化主要集中在降低register level的信號(hào)活動(dòng)上。本文主要介紹 RTL 優(yōu)化,它從更精細(xì)的級(jí)別實(shí)現(xiàn)功耗的優(yōu)化控制。

II. 低功耗RTL

通常,實(shí)現(xiàn) RTL 功耗優(yōu)化包括對(duì)設(shè)計(jì)的以下方面進(jìn)行優(yōu)化。

寄存器級(jí)時(shí)鐘門(mén)控減少開(kāi)關(guān)活動(dòng)

基于有限狀態(tài)機(jī)(FSM)的上游和下游邏輯路徑門(mén)控

數(shù)據(jù)路徑未啟用時(shí)對(duì)數(shù)據(jù)路徑進(jìn)行門(mén)控

減少組合電路中的冗余活動(dòng)

本節(jié)介紹一些優(yōu)化技術(shù),方案和編碼示例。

A. 時(shí)鐘門(mén)控

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

為了在寄存器級(jí)別啟用Clockgate,對(duì)于RTL的編寫(xiě)方式是有一定的要求的。另一種選擇是手動(dòng)配置綜合工具,為選定的寄存器插入Clockgate。在復(fù)雜的設(shè)計(jì)中,第二種選擇是不可行的。在這種情況下,應(yīng)該利用RTL 的編寫(xiě)方式自動(dòng)綜合出Clockgate。

考慮場(chǎng)景,當(dāng) FIFO 滿并寫(xiě)入時(shí),生成 fifo wr 錯(cuò)誤信號(hào)。示例代碼1不會(huì)綜合出Clock gate,而示例代碼2會(huì)綜合出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) 時(shí)鐘門(mén)控效率:在不研究時(shí)鐘門(mén)控效率的情況下插入Clockgate也可能會(huì)反方向增加功耗。需要根據(jù)以下因素估計(jì)時(shí)鐘門(mén)控效率

總線中被時(shí)鐘門(mén)控的比特?cái)?shù)

門(mén)控占總時(shí)鐘周期的百分比

數(shù)據(jù)在使能的Clockgate內(nèi)toggle

僅當(dāng)寄存器上的輸入發(fā)生變化時(shí)才啟用該門(mén)控。

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:當(dāng)我們努力實(shí)現(xiàn) 100% 的時(shí)鐘門(mén)控效率時(shí),系統(tǒng)的面積將會(huì)增加。為了避免這種情況,我們可以TradeOff。在這里,我們組合了多個(gè)寄存器的使能,允許觸發(fā)器輸入處會(huì)有些冗余切換。這種TradeOff的默認(rèn)值的建議是 3-4,這意味著在 3-4 個(gè)寄存器之間共享一個(gè)公共enable,但代價(jià)是Clock Gating效率降低。

寫(xiě)入錯(cuò)誤和讀取錯(cuò)誤生成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狀態(tài)生成的信號(hào)可用于對(duì)發(fā)送和接收的所有邏輯進(jìn)行門(mén)控。

Listing 6. Enable Generation based on FSM

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

C. 數(shù)據(jù)路徑運(yùn)算

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

時(shí)鐘門(mén)控為數(shù)據(jù)路徑操作提供輸入的時(shí)序邏輯

在輸入端使用鎖存器或者使用使能門(mén)控輸入

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

組合邏輯的功耗可以通過(guò)避免不必要的輸入toggle來(lái)控制。這里可以考慮一個(gè)多路復(fù)用器作為示例,它是組合邏輯的常見(jiàn)模塊。

在下圖給出的示例電路中,我們有一個(gè)由兩個(gè)packetizers訪問(wèn)的共享數(shù)據(jù)存儲(chǔ)器。在這里,我們確實(shí)有明顯的功耗浪費(fèi),因?yàn)楫?dāng)packetizer1 訪問(wèn)數(shù)據(jù)時(shí),packetizer2 的輸入將切換toggle,反之亦然。

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

功耗更優(yōu)化的設(shè)計(jì)將把輸入門(mén)控到packetizer中的 MUX。

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

如果我們能把內(nèi)存拆分成幾個(gè)部分,我們就可以進(jìn)行更細(xì)粒度的gate,從而產(chǎn)生更有效的門(mén)控效率。但缺點(diǎn)是routing congestion和面積成本。

三、RTL功耗分析工具

ASIC 設(shè)計(jì)流程正在使用 RTL 分析工具在早期階段考慮分析功耗。

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

RTL設(shè)計(jì)文件使用VCD、SAIF或FSDB格式的仿真激勵(lì)文件,針對(duì)時(shí)鐘和數(shù)據(jù)toggle產(chǎn)生的功耗進(jìn)行精心設(shè)計(jì)和分析。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124576
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    38

    文章

    1360

    瀏覽量

    105789
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4392

    瀏覽量

    222831
  • 片上系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    27293

原文標(biāo)題:通過(guò)優(yōu)化RTL減少功耗

文章出處:【微信號(hào):數(shù)字芯片實(shí)驗(yàn)室,微信公眾號(hào):數(shù)字芯片實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    射頻識(shí)別芯片設(shè)計(jì)中時(shí)鐘樹(shù)功耗優(yōu)化與實(shí)現(xiàn)

    TypeC協(xié)議的UHF RFID標(biāo)簽基帶處理器的的優(yōu)化和實(shí)現(xiàn)。##降低功耗主要方法##RTL階段手工加時(shí)鐘門(mén)控##綜合階段工具插于集成門(mén)控單元##時(shí)鐘樹(shù)綜合階段優(yōu)化
    發(fā)表于 03-24 14:36 ?4964次閱讀

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    減少錯(cuò)誤并更容易調(diào)試。然而,經(jīng)常出現(xiàn)的問(wèn)題是性能權(quán)衡。在高度復(fù)雜的 FPGA 設(shè)計(jì)中實(shí)現(xiàn)高性能需要手動(dòng)優(yōu)化 RTL 代碼,而這對(duì)于HLS開(kāi)發(fā)環(huán)境生成的 RTL 代碼來(lái)說(shuō)是不可能的。然而
    發(fā)表于 08-16 19:56

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

    :一是可以通過(guò)優(yōu)化布線減少功耗,互連正在開(kāi)始支配開(kāi)關(guān)功耗,就像在前幾個(gè)工藝節(jié)點(diǎn)支配時(shí)序一樣。今天,設(shè)計(jì)師有能力
    發(fā)表于 06-29 16:46

    IC功耗控制技術(shù)

    支配開(kāi)關(guān)功耗,就像在前幾個(gè)工藝節(jié)點(diǎn)支配時(shí)序一樣。右圖表明了互連對(duì)總動(dòng)態(tài)功耗的相對(duì)影響。今天,設(shè)計(jì)師有能力通過(guò)布線優(yōu)化來(lái)減少
    發(fā)表于 10-08 22:06

    為什么要優(yōu)化FPGA功耗?

    無(wú)論從微觀到宏觀、從延長(zhǎng)電池壽命到減少全球變暖的溫室效應(yīng)等等,各種不同因素都在迅速推動(dòng)系統(tǒng)設(shè)計(jì)人員關(guān)注節(jié)能問(wèn)題。一項(xiàng)有關(guān)設(shè)計(jì)優(yōu)先考慮事項(xiàng)的最新調(diào)查指出,大部分工程師已把功耗排在首位,或者是將其緊跟在性能、密度和成本之后。在功耗
    發(fā)表于 08-08 07:39

    RTL功耗優(yōu)化

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

    ASIC低功耗設(shè)計(jì)詳解及相關(guān)書(shū)籍推薦

    功耗設(shè)計(jì)是一個(gè)整體的概念,意思是它在每個(gè)設(shè)計(jì)層次上都可以進(jìn)行功耗優(yōu)化——算法層次的優(yōu)化RTL級(jí)代碼的
    的頭像 發(fā)表于 02-02 17:20 ?6457次閱讀

    用Elaborated Design優(yōu)化RTL的代碼

    在Vivado FlowNavigator中有一個(gè)Elaborated Design,如下圖所示,屬于RTL Analysis這一步對(duì)應(yīng)的設(shè)計(jì)??赡芎芏喙こ處煻紱](méi)有使用到,而實(shí)際上對(duì)于代碼優(yōu)化,它是很有幫助的。
    的頭像 發(fā)表于 10-21 10:56 ?5872次閱讀
    用Elaborated Design<b class='flag-5'>優(yōu)化</b><b class='flag-5'>RTL</b>的代碼

    如何降低面積和功耗?如何優(yōu)化電路時(shí)序?

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

    RTL設(shè)計(jì)中如何做到低功耗設(shè)計(jì)

    做芯片第一應(yīng)該關(guān)注的是芯片的PPA(Performance, Power, Area),本篇淺顯的部分討論,第二個(gè) P,Power功耗,在RTL設(shè)計(jì)中如何做到低功耗設(shè)計(jì),對(duì)于移動(dòng)設(shè)備續(xù)航的十分重要,不要讓你的芯片徒增
    的頭像 發(fā)表于 04-13 08:12 ?2441次閱讀

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

    如何降低設(shè)備功耗,降低采集設(shè)備功耗的幾種方法 工程監(jiān)測(cè)傳感器 以下是降低數(shù)采設(shè)備功耗的一些方法: 優(yōu)化硬件設(shè)計(jì):通過(guò)選擇低
    的頭像 發(fā)表于 10-11 09:29 ?2318次閱讀

    英諾達(dá)發(fā)布RTL級(jí)功耗分析工具助推IC高能效設(shè)計(jì)

    英諾達(dá)發(fā)布了自主研發(fā)的EnFortius?凝鋒?RTL級(jí)功耗分析工具,可以在IC設(shè)計(jì)流程早期對(duì)電路設(shè)計(jì)進(jìn)行優(yōu)化。
    的頭像 發(fā)表于 11-01 10:28 ?1213次閱讀

    英諾達(dá)發(fā)布RTL級(jí)功耗分析工具,助推IC高能效設(shè)計(jì)

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

    通過(guò)優(yōu)化補(bǔ)償最大限度地減少導(dǎo)通時(shí)間抖動(dòng)和紋波

    電子發(fā)燒友網(wǎng)站提供《通過(guò)優(yōu)化補(bǔ)償最大限度地減少導(dǎo)通時(shí)間抖動(dòng)和紋波.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 11:34 ?0次下載
    <b class='flag-5'>通過(guò)</b><b class='flag-5'>優(yōu)化</b>補(bǔ)償最大限度地<b class='flag-5'>減少</b>導(dǎo)通時(shí)間抖動(dòng)和紋波

    英諾達(dá)推出RTL功耗優(yōu)化工具

    英諾達(dá)(成都)電子科技有限公司隆重推出芯片設(shè)計(jì)早期RTL級(jí)功耗優(yōu)化工具—EnFortius RTL Power Explorer(ERPE),該工具可以高效、全面地在
    的頭像 發(fā)表于 03-20 17:06 ?569次閱讀