http://blog.sina.com.cn/s/blog_9c9b95910102xbi5.html
PTPX 在功耗分析中的作用
當今,隨着工藝的越來越深入,芯片的漏電也變得越來越大。而且芯片的性能也越來越高,如之前的matrix只要幾十Mhz,現在都需要上百Mhz這樣的頻率。而且CPU/GPU的主頻也變得越來越高。又由於現在人們越來越講究電池的續航能力,無論是手持設備,還是筆記本,人們都希望自己的電子設備待機時間越長越好。所以,種種原因,降低功耗提高到了一個空前的關注度。
那么,本文就相關PTPX在功耗分析中的作用,稍微簡述一下。
首先,功耗大致包括total power = leakage power +internal power + switching power。其中internal power + switch power = dynamic power.
Leakage power,即漏電功耗和本身工藝庫特性相關,后端可以對non-crtical path 進行cell的替換,從LVTàSVT,SVTàHVT,HVTàUHVT。另外,也可以對設計進行划分power domain。當這個模塊不工作的時候,可以進行斷電。從而大大降低芯片的漏電功耗。
Internal power,即短路功耗,即上下PMOS和NMOS同時導通時的功耗。當物理上cell驅動transition time很差的時候,會導致chip的internal power有異樣。
Switch power,即開關功耗。動態功耗和data的翻轉率(TR),靜態概率(SP),電壓,負載電容相關。一般情況下,需要讀入SPEF文件,從而抽取每個節點上的RC參數用於計算switch power。
第二,我們可以設置以下命令可以讓PrimeTime進入功耗分析模式:
set power_enable_analysis true
PTPX可以在設計的不同階段,可以采用不同的模式進行功耗的分析。下面提供PTPX 兩種不同的流程。方式一比較適合大型設計,大型設計的后端都比較難出,所以采用RTL的waveform,通過PTPX的propagation算法,自動推導出netlist上每個節點的翻轉,即(TR,SP),進而得到功耗。另外也非常適合在設計的早期階段,評估和計算設計中的功耗。方式二,比較適合小型設計。另外加上后仿波形相對容易獲取,那么可以采用方式二獲得功耗值。方式二相比方式一在功耗值上更接近芯片回片真實值。
(方式一)
(方式二)
第三,從PTPX中我們可以獲取average power和time-based power.
從Average power中我們可以獲取clk tree power,這是我們關注的重點。經驗值告訴我們,在重負載情況下,clk tree power 占據1/3total power。對於Combinational power,根據經驗,對於大型算法模塊,如通信算法,圖像處理ISP等。在RTL階段可能看不出power的異樣,一旦加入SDF就會發現power成倍增加,這是大家小心的地方。
下面是time-based power 曲線圖,可以看出整個數據發包,收包,解包過程的功耗變化趨勢。
第四,PTPX不僅能夠提供功耗值,還能利用PTPX找出功耗為什么過大的原因。主要利用的特性為clock gating efficiency,clock gating ratio以及register gating efficiency。 經驗表明,提高CGE,可以高效的對功耗進行優化。下圖為一個CGE的概括圖,CGE和clock-gating cell后面帶的filp-flop的個數,以及CG cell本身的toggle rate saving 系數相關。
綜上,可以使用PTPX的average power、time-based power、clock gating efficiency、clock gating ratio、Q/CP等feature對設計進行功耗的評估,給出功耗優化的指導方向。