芯片設(shè)計中的功耗估計與優(yōu)化技術(shù)
(圖8)
本文引用地址:http://www.ex-cimer.com/article/201609/303352.htm通過set_clock_gating_style的下列選擇,設(shè)計者可以控制門控單元的選取,如圖9所示。
圖9
選擇考慮:
1)latch:用還是不用,是個問題。
latch-free的方案中,EN信號必須在時鐘負(fù)沿前穩(wěn)定,否則時鐘會出現(xiàn)毛刺, 造成只留給EN產(chǎn)生邏輯半個時鐘周期的時間。latch-based方案則不存在這個限制,但引入latch使時序分析,測試復(fù)雜性增加。故選擇哪種方案需要設(shè)計者權(quán)衡決定。
2)正沿/負(fù)沿寄存器需要指定不同的門控單元
比如latch-based方案:正沿FF用and門,負(fù)沿FF用or門
3)integrated clock-gating cell/普通單元
在生成庫的過程中,可以創(chuàng)建專門的集成時鐘門控單元,以獲得較好的時序。
4.4.3 時序分析
通過set_clock_gating_style -setup -hold 或 set_clock_gating_check指定。
AND門(圖10)
圖10
OR 門(圖11)
圖11
數(shù)值需要考慮到時鐘歪斜的影響。
4.4.4 與dft流程的配合
1) 加入控制點(圖12)
控制點的位置和控制信號可通過下面指令控制:
dc_shell> set_clock_gating_style -control_point before -control_signal scan_enable
圖12
2) 加入觀察點(圖13)
在測試中,EN信號和control logic中的信號是測不到的,解決方式是加入觀測邏輯。
dc_shell> set_clock_gating_style -control_signal test_mode
-observation_point true
-observation_logic_depth depth_value
圖13
在測試模式,觀察邏輯允許觀測ENL信號,在正常操作模式,XOR樹不消耗能量。
3) 測試信號與頂層測試端口連接
時鐘門控單元的測試信號需要和頂層的測試端口相連,通過下指令進行,如圖14所示。
圖14
如果頂層有指定端口,將直接相連,否則,會創(chuàng)建此端口,并連接。
4.4.5 結(jié)果
在插入時鐘樹后,可以用report_clock_tree_power來獲得時鐘網(wǎng)絡(luò)的功耗信息。
時鐘門控經(jīng)設(shè)計實踐證明是一個行之有效的降低功耗手段,下圖是基于一項真實設(shè)計的評估:(見參考文獻(xiàn)[6])
圖15
5 結(jié)語
在現(xiàn)代芯片設(shè)計中,功耗越來越引起設(shè)計者的關(guān)注。在本文中,我們首先分析了功耗的組成部分,然后闡述了功耗估算的方法,通過功耗估算可以使設(shè)計者在設(shè)計初期及時評估設(shè)計方案的效率,以便做出最優(yōu)的選擇。最后,重點分析了功耗優(yōu)化的手段,包括架構(gòu)優(yōu)化,RAM功耗降低,時鐘門控三種技術(shù),并對引進時鐘門控技術(shù)時若干難點逐一提出了解決方案,如門控單元選擇,時序分析,測試支持等。功耗分析與優(yōu)化二者相輔相成,設(shè)計者善加使用,方可事半功倍。
評論