数字电路功耗分析基础
功耗來源
一個單元的功耗分為靜態功耗和動態功耗。
靜態功耗
這是在沒有發生翻轉活動時消耗的功率。對于CMOS單元,這部分功耗主要來自于柵極漏電和亞閾值電流。這種靜態功耗可能因輸入引腳中的電壓而異。
由于一個標準單元的 leakage power 和其面積成正比,因此在實際后端設計的各個階段,尤其是低功耗設計中,一般會重點關注芯片中邏輯門的面積變化并以此快速推斷設計的 leakage 功耗變化。
動態功耗
動態功耗是電路發生翻轉時消耗的功耗。對于靜態CMOS電路,動態功耗通常占總功耗的絕大部分。
這種功耗可進一步分為兩類:
- 翻轉/開關功耗(Switching Power):這是由于單元驅動的外部電容性負載的充電和放電而消耗的能量/功率。
- 內部功耗(Internal Power):由于開關過程中發生的短路情況以及單元本身內部電容的充電/放電,內部能量以脈沖形式耗散。
一個兩輸入NAND的動態功耗波形如下:
在 t=12 ns 時,在 Vip1處發生下降沿。這不會在輸出端發生完整的邏輯轉換,但會帶來一個小毛刺(圖中不嚴格按照比例)。這種輸入轉換會導致Pxhnd2_1的小幅增加,這部分功耗不包括在翻轉功耗里,有時會包含在內部功耗中,一般可以忽略。
在實際后端設計時,動態功耗由于和芯片的功能息息相關,因此在計算的時候會引入翻轉率(toggle rate)的概念。翻轉率是衡量單位時間內 device 上信號翻轉時間所占的比率。在實際計算動態功耗的時候,又會分成兩個部分。一部分為庫文件查表得到的 Internal Power,下面會介紹到;另一部分為互連線(net)上的動態功耗,這部分的計算通過將所有 net 上每個翻轉周期的功耗乘以其翻轉率并相加得到。翻轉率通過某種固定格式的文件傳入EDA工具,比較常用的格式有 SAIF(Switching Activity Interchange Format)、VCD(Value Change Dump)以及 FSDB(Fast Signal Database)文件。
Synopsys功耗模型
在表征用于功耗分析工具的單元功耗時,需要測量以下量:
由于內部功率和負載電容/輸入轉換延遲之間的關系不一定由方程很好地描述,因此模型只是以查找表(lookup table)的形式存在。
lib文件中的功耗模板:
總結
以上是生活随笔為你收集整理的数字电路功耗分析基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zedboard Linux JTAG驱
- 下一篇: 开源流媒体服务器SRS学习笔记(1) -