動態功耗計算


 

 

CMOS管功耗 = 動態功耗 + 靜態功耗

動態功耗有兩種表述,兩種表述的區別之處在於:把對管子內部電容充放電消耗的功耗歸於誰,第一種表述常見於理論分析,第二種表述常見於EDA工具功耗計算。

 

第一種表示:

  • 動態功耗 = 開關功耗 + 短路功耗

開關功耗:指管子在翻轉過程中對『相關電容』進行充放電消耗的功耗,此處『相關電容』包含管子內部結點電容和負載電容。

 

 

短路功耗:指管子在翻轉過程中,PMOS和NMOS同時導通,從電源VDD到地VSS之間短路通路消耗的功耗。

 

 

 

 

 

 

第二種表示:

 動態功耗 =  負載功耗  +  內部功耗

負載功耗:指管子在翻轉過程中對『負載電容』進行充放電消耗的功耗。

內部功耗:指管子在翻轉過程中,對內部結點電容進行充放電消耗的功耗及短路電流消耗的功耗。

 

 

EDA工具計算動態功耗時,會分別計算內部功耗和負載功耗。

 

  • 內部功耗:當前方法學將內部功耗模擬成輸入transition跟輸出負載 (load capacitance) 的函數,foundry會將每個管子的內部功耗定義在library中,常見的是二維表格,index是(input transition, output load cap),偶爾也有三維表格,index是(input transition, output load cap, second output load cap)。

 

 

在library中會分別定義cell的rise_power 和fall_power。通常,在90nm之后對每個cell 會根據每個輸入pin的狀態和每條timing arc分別定義內部功耗,即所謂的:path dependencies internal power。庫一定的情況下,每個EDA工具的計算公式應該大差不差,此處以Genus的計算公式為例:

 

 

  • TR 指一個arc 或pin上有效的toggle rate. arcij 的有效toggle rate取決於該arc被激活的概率 (probability) 和對應輸入pin 的toggle rate

  • Φ 是從library中查表得到的internal power值。 

  • Si 是致輸出發生翻轉的輸入pin的transition。 

  • Cj是輸出pin的負載電容。

例:以2輸入的與門為例,上述library片段中定義了A1 pin到Z pin的內部功耗,假設A1的transition是18ps, Z的load是0.336pf, A1的total rate 是0.5, probability是1,因為在library中transition index沒有18ps,需要在12和24ps之間做插值,則該與門的內部功耗為:

toggle_rateA1 × probabilityA1 → Z × ΦA1 → Z(0.0018, 0.336) 

=0.5 × rise_power(0.0018, 0.336 ) + 0.5 × fall_power(0.0018, 0.336 ) 

= 0.5 × 0.0061 + 0.5 × 0.0059 

 

負載功耗:此處的負載包括這個cell 驅動的所有net 和所有sink cell輸入pin的電容,其計算公式為:

 

 

 

 

  • CL 是負載電容 = sum(capacitances of the net,  input pins driven by the net). 在genus里可以通過attribute pin_capacitance 和 wire_capacitance 得到對應的值。

  • V 是工作電壓。 

  • TR 是toggle rate.

 

 

3.單元功耗

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM