Switching Fabric的設計:
三種架構:P溝道的switch vdd(header switch),N溝道的switch vss(footer switch),兩個switch。
但是如果加入兩個switch,與門電路結合,可能會產生較大的IR-drop,增大delay,所以這種方式很少用。
P溝道的switch vdd,廣泛應用在volatge scaling設計中。
N溝道的switch vss,很少用,有switch的電路,一般都需要level shifter。
但是一般level shifter都是一個共地,兩個voltage。
Switch Fabric的控制:
主要考慮是為了減少in-rush current,voltage spike。
兩種方法:
1)對switch的菊花鏈的控制信號(daisy-chain),control signal連接到第一級的switch,
進行buffer之后,在傳遞給到第二級的switch。
需要引入ack信號,來保證有效的power up。
2)對control signal進行分級,第一級開啟一個weak/trickle的switch,
第二級開啟main switch,
switch signal必須在always on的power內,會增加power routing的復雜性。
而且在DFT設計中,必須保證Power Gating signal是可控的。
Signal isolation的必要性:
1)保證power down的region不會對power up的region的input端口產生弧電流,
2)保證power down region的浮空輸出不會對power up的region產生影響,
Isolation的cell,一般采用AND門電路或OR門電路進行,但這樣會引入門電路的延時。
lib中的cell一般會針對leakage和timing,對這樣的門電路進行優化。
還有一種方式是直接通過isolation信號將output鉗位在某一電平。
但是這樣會引起multi-drive的問題,isolation必須在掉電之后才能有效,無法實現。而且DFT的設計也很困難。
這樣做的好處是節省area,而且timing較好。
目前的isolation cell一般都加在output端,對於reuse-ip,可以直接在內部包含isolation cell。
為了避免不必要的leakage 泄漏(sneak path),一般對於header-switched design,選擇高電平的isolation控制信號,
低電平的reset有效信號和clamp到"0"。
提供retention操作的幾種方式:
1)軟件的方式讀寫register;
2)利用scan-chain的方式,將信息存儲起來;
3)使用retention的register。
第一種方式,要求軟件工程師了解很多的硬件操作,不介紹。后倆種對系統幾乎透明,主要介紹。
使用scan-chain的方式:
1)由於scan-chain的數目和長度都是在綜合過后,才能確定的,而Power Gating在前端必須驗證;
2)從數據位寬角度,scan-chain的數目必須和存儲器的位寬一致;
3)由於scan-enable的信號是由所有的chain共享的,所以需要做balance;所有的san-chain等長;
4)在scan操作過程中,信號toggle的頻率比正常工作大很多,DFT工具會分析IR-drop,並調整,但是retention中需注意;
retention的register:由一個regular的register和一個shadow register組成,shadow register是always power on的。
有的由兩個信號save,restore組成,有的只有一個retention信號。
save操作多在clock已經關掉,但是power還在的情況下有效,restore在power有效,clock還沒開始的情況下有效。
相較於一般的register,帶retention功能的,面積增加20%左右,而且shadow register多采用highVt的cell
來避免leakage過大,但是對於reset和clock tree一般選擇lowVt的cell來保證timing。
partial retention:保留shallow state(control register),復位deep state(register contain large amount data);
在power up之后,電路中不會有X存在即傳遞,這樣需要分別的reset信號來控制retention和non-retention部分。
在進行DFT測試時,需要保證可以force retention的寄存器,來檢查save和restore都是deassert。
同樣可以去除這個force,來檢查save和restore可以assert。
Power Gating Controller:
有一個handshake來保證power down和power up的完備性。
由switch產生的ack信號,多是異步的,power controller需要做sync處理。