精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

詳解低功耗設計

CHANBAEK ? 來源:數字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-26 15:57 ? 次閱讀

功耗影響

便攜性

功耗越低,同等電量下電子產品工作時間越長,便攜性設備的電池容量和體積設計的困難度也會降低。例如,手機越做越薄,性能還不受影響,就是因為低功耗設計發揮了至關重要的作用。

性能

功耗越大,耗能越多,產生的熱量越多,各器件的工作性能就會受到影響。例如,手機使用時間較長時,會感覺手機發熱,而且各應用軟件也會出現卡頓的現象。

成本

不考慮低功耗設計時,一個功能的實現方法可能較為繁瑣,實現的器件增多,產品面積增大;同時,功耗過大時,就要考慮散熱裝置,這又增加了組裝成本。

總之,低功耗設計有很多的優點,也是以后數字設計的發展趨勢。

功耗類型

功耗類型一般可分為動態功耗、靜態功耗和浪涌功耗。

動態功耗

動態功耗主要包括開關功耗(又稱為翻轉功耗)和短路功耗(又稱為內部功耗)。

1> 開關功耗

在數字 CMOS 電路中,對負載電容進行充放電時消耗的功耗為開關功耗。如下 CMOS 非門:

截圖20230301181746.png

當 Vin = 0 時,上面的 PMOS 導通,下面的 NMOS 截止;VDD 對負載電容 Cload 進行充電。充電完成后,Vout 的電平為高。

當 Vin = 1 時,上面的 PMOS 截止,下面的 NMOS 導通,負載電容通過 NMOS 進行放電。放電完成后,Vout 的電平為低。

這樣一開一閉的變化,即電源的充放電,就形成了開關功耗。開關功耗的計算公式如下所示:

圖片

其中,VDD 為供電電壓,Cload 為后級電路等效的負載電容大小,Tr 為輸入信號的翻轉率。

2>短路功耗

信號的翻轉不是在瞬時完成的。因此,在輸入信號進行翻轉時,PMOS 和 NMOS 總有一段時間是同時導通的,那么從電源 VDD 到地 VSS 之間就有了通路,形成短路電流,產生短路功耗。如下反相器電路圖所示:

圖片

短路功耗的計算公式如下:

圖片

其中,Vdd 為供電電壓,Tr 為翻轉率,Q 為一次翻轉過程中從電源流到地的電荷量。

靜態功耗

在 CMOS 電路中,靜態功耗主要是漏電流引起的功耗,往往與工藝有關。

圖片

漏電流的組成主要為:PN 結反向電流 I1、源極和漏極之間的亞閾值漏電流 I2、柵極漏電流(包括及柵極和漏極之間的感應漏電流 I3)、柵極和襯底之間的隧道漏電流 I4。

一般情況下,漏電流主要是指柵極泄漏電流和亞閾值電流。對于超深亞微米工藝的,隧道漏電流成為主要電流之一。

1>在 PN 結兩端加反向電壓時,P 區空穴和 N 區電子的運動相反,沒有電流通過,二極管處于截止狀態,部分能量較大的空穴和電子會掙脫反向電場的束縛而形成微弱的漂移電流。

2> 柵極泄漏功耗:在柵極上加信號后(即柵壓),從柵到襯底之間存在電容,因此在柵襯之間就會存在有電流,由此就會存在功耗。

3> 亞閾值電流:使柵極電壓低于導通閾值,仍會產生從漏極到源極的泄漏電流。此電流稱為亞閾值泄漏電流。在較狹窄的晶體管中,漏極和源極距離較近的情況下會產生亞閾值泄漏電流。晶體管越窄,泄漏電流越大。要降低亞閾值電流,可以使用高閾值的器件,還可以通過襯底偏置增加閾值電壓,這些也屬于低功耗設計的考慮范疇。

4>隧道漏電流:屬于量子力學范疇,感興趣的同學可自行查閱。

靜態功耗的計算公式如下:

圖片

浪涌功耗

浪涌功耗是浪涌電流引起的功耗。浪涌電流是指開機或者喚醒時,器件流過的最大電流,因此浪涌電流也稱為啟動電流。一般情況下,浪涌功耗不是本次所討論的內容。

功耗模型

library 信息

下面是一種 library 工藝的前幾行代碼描述,包含功耗有關的參數,具體含義在注釋中說明。

library (xxx) {
    /*  library head: xxx */
    technology (cmos) ;
    simulation  : true ;
    nom_process : 1 ;
    nom_temperature : -40;         //默認溫度
    nom_voltage : 0.81;            //默認電壓
    voltage_map(VDD, 0.81);        //定義lib中多個電壓,包括以下幾行
    voltage_map(TVDD, 0.81);
    voltage_map(VDDDST, 0.81);
    voltage_map(VDDGR, 0.81);
    voltage_map(VDDSRC, 0.81);
    voltage_map(VSS, 0);
    operating_conditions("ssg0p81vm40c"){    //一種corner定義
        process : 1; /* SSGlobalCorner_LocalMC_MOS_MOSCAP-SSGlobalCorner_LocalMC_RES_BIP_DIO_DISRES */
        temperature : -40;
        voltage : 0.81;
        tree_type : "balanced_tree";
    }
    default_operating_conditions : ssg0p81vm40c ;
    capacitive_load_unit (1,pf) ;      //定義電容單位
    voltage_unit : "1V" ;              //定義電壓單位
    current_unit : "1mA" ;             //定義電流單位
    time_unit : "1ns" ;                //定義時間單位
    pulling_resistance_unit : "1kohm"; 
    define_cell_area (pad_drivers,pad_driver_sites) ;
    ……

cell 信息

一個 library 中會有多個基本功能單元,用關鍵字 cell 聲明,也包含了多種的功耗信息。

cell (AN2D0BWP7T40P140) {
    area : 0.392;
    cell_footprint : "an2d1";
    pg_pin (VDD) {                //電源引腳
        pg_type : primary_power;
        voltage_name : VDD;
    }
    ……

    pin(A1) {                     //輸入信號引腳
    driver_waveform_fall : "tcbn22ullbwp7t40p140ssg0p81vm40c:fall";
    driver_waveform_rise : "tcbn22ullbwp7t40p140ssg0p81vm40c:rise";
    direction : input;
    related_ground_pin : VSS;     //輸入引腳地端
    related_power_pin : VDD;      //輸入引腳電壓
    capacitance : 0.000418924 ;   //輸入引腳電容
    …… 
    }


  pin(Z) {
    direction : output;
    power_down_function : "!VDD + VSS";
    function : "(A1 A2)";
    related_ground_pin : VSS;     //輸出引腳地端
    related_power_pin : VDD;      //輸出引腳電壓
    max_capacitance : 0.04182;    //輸出引腳最大電容
    min_capacitance : 0.00013;    //輸出引腳最小電容
    ……  
  }

此時,如果再知道翻轉率,就可以計算出動態功耗。

翻轉率(Toggle rate,Tr),指單位時間內信號(包括時鐘、數據等信號)的翻轉次數。如下所示,信號在 40ns 時間內跳轉了 4 次,則翻轉率為 Tr = 4/4ns = 0.1GHz。

圖片

內部功耗信息

cell 定義中,內部功耗會有如下定義。

internal_power() { 
    related_pin : "A1" ; 
    related_pg_pin : VDD ; 
    rise_power(power_template_8x8) {   //內部功耗查找表
        index_1("0.0026, 0.0101, 0.0252, 0.0553, 0.1155, 0.236, 0.4769, 0.9587");
        index_2("0.00013, 0.00046, 0.00112, 0.00243, 0.00506, 0.01031, 0.02081, 0.04182");
        values (           "0.000249215, 0.000254481, 0.000262354, 0.000261007, 0.00026381, 0.000277799, 0.000304295, 0.000345046",           "0.000239751, 0.000248667, 0.000255454, 0.0002551, 0.000268563, 0.000275995, 0.000294669, 0.000336529",           ……   
        );
      }


    fall_power(power_template_8x8) { //內部功耗查找表
        index_1("0.0026, 0.0101, 0.0252, 0.0553, 0.1155, 0.236, 0.4769, 0.9587");
        index_2("0.00013, 0.00046, 0.00112, 0.00243, 0.00506, 0.01031, 0.02081, 0.04182");
        values (           "0.000577367, 0.000584652, 0.000589472, 0.000591623, 0.000592223, 0.000591943, 0.00059185, 0.000592132",           "0.000563896, 0.000570743, 0.000576589, 0.000579818, 0.000580794, 0.00057962, 0.000579997, 0.000579136",           "0.000550059, 0.000555794, 0.00056188, 0.000565568, 0.000567663, 0.000567231, 0.000567712, 0.00056745",           ……   
        );
      }
}

cell 的內部功耗與其轉換時間和輸出電容負載有關。根據輸入轉換時間和輸出電容的大小,在工藝庫中進行查表,得到上升功耗和下降功耗,再根據下面公式進行計算,可得到總的內部功耗:

圖片

靜態功耗信息

cell 定義中,靜態功耗(漏電功耗)會有如下定義。

leakage_power () {
    value : 0.059561;
    related_pg_pin : VDD;
  }
  leakage_power () {
    value : 0.048082;
    when : "!A1 !A2 !Z";
    related_pg_pin : VDD;
  }
  leakage_power () {
    value : 0.053318;
    when : "!A1 A2 !Z";
    related_pg_pin : VDD;
  }
  ……

靜態功耗跟 cell 的狀態有關,也就是輸入輸出信號在不同的狀態下,功耗也會有所差異。通過狀態進行查表,就可以得到相應的靜態功耗了。

實際分析功耗時,不會手動的去查找相關參數來計算功耗,因為工作量將大到難以估量。往往是借助一些功耗分析工具,提取這些標準單元庫的功耗信息進行整合計算。

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

    關注

    58

    文章

    5680

    瀏覽量

    235140
  • NMOS
    +關注

    關注

    3

    文章

    290

    瀏覽量

    34291
  • 低功耗
    +關注

    關注

    10

    文章

    2362

    瀏覽量

    103594
  • PMOS
    +關注

    關注

    4

    文章

    244

    瀏覽量

    29488
  • 負載電容
    +關注

    關注

    0

    文章

    137

    瀏覽量

    10426
收藏 人收藏

    評論

    相關推薦

    詳解低功耗溫度補償式電橋信號調理器和驅動器電路

    帶溫度補償的差分電橋型傳感器監控電路是一款適用于電橋型傳感器的完整低功耗信號調理器,包括一個溫度補償通道。
    發表于 11-05 03:38 ?4704次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>低功耗</b>溫度補償式電橋信號調理器和驅動器電路

    詳解STM32低功耗模式

    本文討論下STM32低功耗模式,先看如下手冊。
    的頭像 發表于 11-08 12:18 ?1986次閱讀

    #硬聲創作季 #STM32 手把手教你學STM32-044 待機喚醒實驗-低功耗-M4-1

    功耗低功耗
    水管工
    發布于 :2022年10月29日 14:06:05

    #硬聲創作季 #STM32 手把手教你學STM32-044 待機喚醒實驗-低功耗-M4-2

    功耗低功耗
    水管工
    發布于 :2022年10月29日 14:06:37

    #硬聲創作季 #STM32 手把手教你學STM32-044 待機喚醒實驗-低功耗-M4-3

    功耗低功耗
    水管工
    發布于 :2022年10月29日 14:07:05

    低功耗藍牙怎么低功耗?如何界定

    ``什么是低功耗?如何界定* 平均工作電流為 uA 級* 峰值電流不超過 15mA* 采用紐扣電池供電,電池壽命可達數年 在很多低功耗應用場景中,是采用紐扣電池來供電的,采用紐扣電池來供電是低功耗
    發表于 02-06 15:32

    基于STM8S的Atomthreads低功耗詳解

    基于STM8S的Atomthreads低功耗的深度思考
    發表于 02-01 06:42

    STM32的低功耗模式

    STM32的低功耗模式1.睡眠模式2.停止模式3.待機模式各種模式的特點這三種低功耗模式層層遞進,運行的時鐘越來越少和芯片的功能也越來越少,所以功耗越來越低。1.睡眠模式詳解進入睡眠的
    發表于 08-11 07:35

    微處理器的低功耗芯片設計技術詳解

    本文介紹了低功耗微處理器的研究現狀,討論了幾種常用的微處理器低功耗設計技術,展望了低功耗微處理器設計研究的發展趨勢。
    發表于 08-01 17:44 ?1w次閱讀
    微處理器的<b class='flag-5'>低功耗</b>芯片設計技術<b class='flag-5'>詳解</b>

    低功耗、遠距離傳輸、性能穩定的無線模塊技術詳解

    低功耗、遠距離傳輸,性能穩定的無線模塊技術詳解幫助朋友尋找到自己需要的無線模塊類型
    發表于 01-11 16:37 ?16次下載

    基于MSP430單片機低功耗控制與系統工作模式詳解

    基于MSP430單片機低功耗控制與系統工作模式詳解
    發表于 10-12 15:29 ?11次下載
    基于MSP430單片機<b class='flag-5'>低功耗</b>控制與系統工作模式<b class='flag-5'>詳解</b>

    什么是低功耗,對FPGA低功耗設計的介紹

    功耗是各大設計不可繞過的話題,在各大設計中,我們應當追求低功耗。為增進大家對低功耗的認識,本文將對FPGA低功耗設計予以介紹。如果你對FPGA低功耗
    的頭像 發表于 10-28 15:02 ?2954次閱讀

    還在了解什么是低功耗?FPGA低功耗設計詳解

    功耗是各大設計不可繞過的話題,在各大設計中,我們應當追求低功耗。為增進大家對低功耗的認識,本文將對FPGA低功耗設計予以介紹。如果你對FPGA低功耗
    的頭像 發表于 10-26 18:51 ?2889次閱讀

    低功耗設計詳解(UPF編碼篇)

    想必各位ICer們在招聘JD上專門看到低功耗設計經驗的要求,什么是低功耗設計呢?對于后端工程 師來講,在物理實現方面就是引入多條電源線
    的頭像 發表于 05-23 16:59 ?3789次閱讀
    <b class='flag-5'>低功耗</b>設計<b class='flag-5'>詳解</b>(UPF編碼篇)

    一文詳解低功耗雙運算放大器LM358,超全

    LM358低功耗雙運算放大器算是電子元器件中的明星元件,在很多經典電子電路中,都能看到LM358的身影。LM358是由兩個獨立的高增益電壓比較器組成,可在單電源下或雙電源下工作,并且其電流大小不受
    的頭像 發表于 07-13 17:36 ?8863次閱讀
    一文<b class='flag-5'>詳解</b>:<b class='flag-5'>低功耗</b>雙運算放大器LM358,超全