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

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

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

在RTL編碼中考慮延時(shí)、面積、功耗與布線的問題

冬至子 ? 來源:Andy的ICer之路 ? 作者:AndyICer ? 2023-06-05 15:42 ? 次閱讀

在RTL編碼中考慮延時(shí)

01

看下面一段代碼,第四個(gè)else if 分支中的數(shù)據(jù)信號(hào)DATA_is_late_arriving延時(shí)比較高,要怎么處理,將電路的性能提高?

圖片

一般最高優(yōu)先級(jí)給最遲到的關(guān)鍵信號(hào),因此要將DATA_is_late_arriving這個(gè)信號(hào)單獨(dú)拿出來分析,代碼如下:

圖片

再來看下面一段代碼以及其電路圖,假設(shè)A信號(hào)到來比較晚,如何修改能夠提高電路性能?

圖片

圖片

核心思想還是將延遲高的信號(hào)往后面優(yōu)先級(jí)更高的地方放 ,只需做小小修改即可,代碼如下:

圖片

圖片

在RTL編碼中考慮面積

02

隨著芯片工藝的進(jìn)步和生產(chǎn)成本的降低,其實(shí)面積已經(jīng)顯得沒有時(shí)序問題那么重要。一般綜合過程中可以對(duì)面積進(jìn)行優(yōu)化,但是在RTL設(shè)計(jì)的時(shí)候還是需要盡量減小面積的開銷,這樣可以達(dá)到事半功倍的效果。

例如RTL代碼中的一個(gè)“+”可能對(duì)應(yīng)著一個(gè)64位的加法器,所以條件語句中的比較運(yùn)算,我們要判斷其必要性,是否能用更簡(jiǎn)單的運(yùn)算代替。

比如判斷A是否小于32(if(A<32)),可以改成判斷A的第五位是否為0(if(A[5]==1'b0)),這兩種表達(dá)形式是等價(jià)的,但是后者的判斷條件更節(jié)省面積,相當(dāng)于用一個(gè)1bit的邏輯門代替一個(gè)6bit的比較器,如果我們遇到定值的比較都可以這么操作。

如果必須使用復(fù)雜的運(yùn)算符,則應(yīng)考慮是否可以資源共享,盡管電路邏輯綜合工具也會(huì)在綜合的過程中采用資源共享的方法進(jìn)行優(yōu)化,但是,綜合器的策略是有限的,因此,在編寫RTL的時(shí)候,應(yīng)該盡量考慮共享,而不是把這項(xiàng)工作完全留給綜合工具。

圖片

如上面的代碼所示,右邊是修改之后的代碼,這樣可以減少兩個(gè)不必要的加法器,實(shí)際的設(shè)計(jì)中資源共享可能不會(huì)像這樣明顯,因此平時(shí)應(yīng)該按照這樣的思路多多練習(xí)。

還有一種情況就是關(guān)于多比特位的信號(hào)問題, 多比特位操作意味著成倍使用資源 ,在使用多比特位的信號(hào)時(shí),看看這個(gè)信號(hào)是否所有比特位都需要參與操作,如果不是,則可以只對(duì)需要的部分比特進(jìn)行操作。例如訪問RAM的地址有8比特,而寫入操作時(shí)從0開始,每隔32個(gè)地址寫入一個(gè)值,地址的產(chǎn)生可以有兩種寫法。顯然右邊這種寫法操作的比特位會(huì)比左邊的代碼少。

圖片

在RTL編碼中考慮功耗

03

一個(gè)電路中的功耗影響因素主要以下4個(gè)因素: 該點(diǎn)電路的翻轉(zhuǎn)次數(shù)、電路的工作頻率、該點(diǎn)的電容還有電壓值 。

但是負(fù)載電容、工作電壓和工作頻率這些都是RTL設(shè)計(jì)無法改變的因素,因此在RTL級(jí)設(shè)計(jì)主要考慮盡量降低電路的翻轉(zhuǎn)頻率。

主要措施包括如下:

①門控時(shí)鐘;

②增加使能信號(hào),使得部分電路只有在需要工作時(shí)才工作;

(門控時(shí)鐘與增加使能的區(qū)別是:門控時(shí)鐘是關(guān)掉時(shí)鐘,而使能關(guān)閉的是電路的功能,但是時(shí)鐘仍然在翻轉(zhuǎn),顯然門控時(shí)鐘更好)

③對(duì)芯片各個(gè)模塊進(jìn)行控制,在需要工作時(shí)才工作;

④除了有用信號(hào)和時(shí)鐘的翻轉(zhuǎn)會(huì)消耗功耗,組合邏輯產(chǎn)生的毛刺也會(huì)大量消耗功耗。但是毛刺在設(shè)計(jì)中無法避免,因此,只有盡量減少毛刺在電路中的傳播,才可以減少功耗。即在設(shè)計(jì)中,盡量把產(chǎn)生毛刺的電路放在傳播路徑的最后。另外可以使用一些減少毛刺的技術(shù);

⑤對(duì)于有限狀態(tài)機(jī),可以通過低功耗編碼來減少電路的翻轉(zhuǎn),比如將二進(jìn)制編碼改為獨(dú)熱碼、格雷碼等。

在RTL編碼中考慮布線問題

04

如果可以在RTL編碼階段考慮代碼,可能對(duì)布線產(chǎn)生的影響就可以避免最后出現(xiàn)無法布通的情況。

熱點(diǎn)是指設(shè)計(jì)的功能需要在一個(gè)面積內(nèi)占用大量的布線資源。熱點(diǎn)產(chǎn)生原因:RTL編碼時(shí)使用了特定的結(jié)構(gòu),如很大的mux。

圖片

這種結(jié)構(gòu)產(chǎn)生的熱點(diǎn),在綜合的時(shí)候,導(dǎo)致的延遲是看不出來的,只有到了布線階段才能給看到它的負(fù)面影響。因此,我們?cè)赗TL階段應(yīng)該重視這種電路,及早發(fā)現(xiàn)可能在布線階段產(chǎn)生的問題。

如果設(shè)計(jì)的功能中確實(shí)需要采用很大的mux,可以通過其他方式改變他的結(jié)構(gòu)。其基本的思想就是將一個(gè)大的mux分解為多級(jí)較小的mux。

圖片

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

    關(guān)注

    8

    文章

    1368

    瀏覽量

    114731
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1651

    瀏覽量

    107231
  • 加法器
    +關(guān)注

    關(guān)注

    6

    文章

    183

    瀏覽量

    30131
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59820
  • 門控時(shí)鐘
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    8951
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問怎么折中考慮電源功率因數(shù)和效率

    如何折中考慮電源設(shè)計(jì)當(dāng)中,功率因數(shù)和效率的關(guān)系
    發(fā)表于 04-24 02:46

    【設(shè)計(jì)技巧】PCB設(shè)計(jì)中考慮電磁兼容(上)

    PCB 板上,盡量縮短和減少各元器件之間的引線和連接。3)高頻下工作的電路,要考慮元器件之間的分布參數(shù)。一般電路應(yīng)盡可能使元器件平行排列。4)盡可能地減小環(huán)路面積,以抑制輻射干擾
    發(fā)表于 08-13 08:00

    【設(shè)計(jì)技巧】PCB設(shè)計(jì)中考慮電磁兼容(下)

    理,還可以上,下兩層也是大面積的鋪地。這樣,使信號(hào)的上,下,左,右都有地包著。保證信號(hào)的干凈。3)信號(hào)的回流面積最小定律PCB設(shè)計(jì)中,每根信號(hào)最好能做到與地的回流路徑最短,如下圖所示回路面積
    發(fā)表于 08-13 08:30

    新手求助UPF低功耗設(shè)計(jì)能否RTL仿真中實(shí)現(xiàn)呢?

    RTL設(shè)計(jì)完畢之后,如何來驗(yàn)證設(shè)計(jì)的正確性?UPF低功耗設(shè)計(jì)能否RTL仿真中實(shí)現(xiàn)呢?
    發(fā)表于 06-18 08:21

    介紹RTL設(shè)計(jì)引入的后端實(shí)現(xiàn)過程中的布線問題

    RTL設(shè)計(jì)引入的后端實(shí)現(xiàn)過程中的布線(routing)問題。后端物理實(shí)現(xiàn)需要完成芯片中布局布線(place&routing)的工作。物理實(shí)現(xiàn)過程中routing之前
    發(fā)表于 04-11 17:11

    基于RTL的16位嵌入式微控制器(A8096)的設(shè)計(jì)

      這里描述了一款自主研發(fā)的16位嵌入式微控制器(A8096)的設(shè)計(jì)與實(shí)現(xiàn),基于RTL級(jí)設(shè)計(jì)方法使用VerilogHDL進(jìn)行設(shè)計(jì)描述,設(shè)計(jì)中,采用硬布線控制方式,減少了面積
    發(fā)表于 08-27 10:41 ?1258次閱讀

    RTL功耗優(yōu)化

    我們針對(duì) PC 圖形、視覺計(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>優(yōu)化

    TP RAM的面積功耗優(yōu)化

    隨著芯片集成度越來越高,隨機(jī)存儲(chǔ)器(random access memory,RAM)片上系統(tǒng)(system on chip,SoC)中的占比也越來越高,因此RAM對(duì)SoC的面積功耗的貢獻(xiàn)也
    發(fā)表于 01-19 15:27 ?1次下載
    TP RAM的<b class='flag-5'>面積</b>及<b class='flag-5'>功耗</b>優(yōu)化

    現(xiàn)代SAR和∑-Δ型模數(shù)轉(zhuǎn)換器的主要優(yōu)勢(shì)之一是設(shè)計(jì)中考慮了易用性

    現(xiàn)代SAR和∑-Δ型模數(shù)轉(zhuǎn)換器(ADC)的主要優(yōu)勢(shì)之一是設(shè)計(jì)中考慮了易用性,這是針對(duì)前幾代設(shè)計(jì)的補(bǔ)充。不僅簡(jiǎn)化了系統(tǒng)設(shè)計(jì)人員的工作,而且許多情況下,允許對(duì)多代各種應(yīng)用重復(fù)使用單個(gè)參考設(shè)計(jì)。
    的頭像 發(fā)表于 05-21 08:35 ?4336次閱讀
    現(xiàn)代SAR和∑-Δ型模數(shù)轉(zhuǎn)換器的主要優(yōu)勢(shì)之一是<b class='flag-5'>在</b>設(shè)計(jì)<b class='flag-5'>中考慮</b>了易用性

    基于瑞昱RTL系列的超低延時(shí)藍(lán)牙耳機(jī)方案

    基于瑞昱RTL系列的超低延時(shí)藍(lán)牙耳機(jī)方案
    發(fā)表于 05-12 10:21 ?47次下載

    芯片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ā)表于 08-26 10:29 ?4089次閱讀

    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 ?2076次閱讀

    ZCU106PLDDR實(shí)現(xiàn)超低延時(shí)編碼

    Xilinx提供超低延時(shí)編解碼方案,ZCU106單板上可以驗(yàn)證。文檔MPSoC VCU TRD 2020.2 Low Latency XV20 提供了詳細(xì)命令。缺省情況下,編碼使用的是PS DDR
    發(fā)表于 08-02 09:12 ?798次閱讀
    ZCU106<b class='flag-5'>在</b>PLDDR實(shí)現(xiàn)超低<b class='flag-5'>延時(shí)</b><b class='flag-5'>編碼</b>

    RTL編碼書寫中如何考慮時(shí)延與布線的問題呢?

    分if-else,case 的各種情況分開討論,主要目的是將分支支路中 晚到的信號(hào)放到離輸出最近的一級(jí)中
    的頭像 發(fā)表于 06-27 10:36 ?889次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>RTL</b><b class='flag-5'>編碼</b>書寫中如何<b class='flag-5'>考慮</b>時(shí)延與<b class='flag-5'>布線</b>的問題呢?

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

    對(duì)于功耗估算來說,架構(gòu)階段為時(shí)過早,物理設(shè)計(jì)階段為時(shí)已晚。有一種趨勢(shì)是項(xiàng)目的RTL階段分析power hot spots。與后期分析相比,基于 RTL
    的頭像 發(fā)表于 04-05 09:15 ?2164次閱讀
    如何通過優(yōu)化<b class='flag-5'>RTL</b>減少<b class='flag-5'>功耗</b>