在 multi-voltage design 中,常常用到isolation cell;
本文簡單介紹什么是 iso cell,
如何使用 iso cell,
何時需要加 iso cell,
iso cell的插入位置。
1. 什么是 iso cell ?
isolation cell(隔離單元),通常用于電源關斷技術(PSO)和多電源多電壓技術(MSMV)。起到不同電壓域之間的電壓鉗制和隔離作用。
isolation cell是shutdown模塊和always on模塊之間的接口,用于隔離兩個不同的 power domain。
isolation cell示意圖如下:

iso cell 有一個控制端 EN,
當 EN 無效時, A 端信號直接送到 Y 端,此時 iso cell 等效于一個buffer;
當 EN 有效時,buffer 斷開,Y 端保持固定的高電平或者低電平;
為了保證isolation cell能夠在power down的時候仍然能夠正常工作,一般來說isolation cell都會有一個primary power和一個secondary power,后者能夠保證前者power down時器件仍然能夠工作。
即如上圖所示:
iso cell 的兩組 power:primary power VDD 和 backup power VDDB,當 左邊domain 關掉時, VDD off,此時就由 VDDB 供電,維持 Y 端的固定電平。
2. 如何使用 iso cell ?
通常isolation cell和Level Shifter一起連用,AND和OR門都可以組成一個isolation cell;
1. AND類型:輸出iso成0;
2. OR類型:輸出iso成1;

3. 何時需要用到 iso cell ?
當信號從一個module傳入另一個module,如果shutdown模塊的電源關閉,則輸出信號可能出現(xiàn)不可預測的數(shù)值,若此數(shù)值傳遞給always on模塊,可能會導致功能出現(xiàn)問題。因此需要將電源關閉module的輸出信號和其他module隔離開來,給所有的邊界信號加入isolation cell(ISO)。
isolation cell的作用在于在電源關掉之后,將某個信號電位固定到高電位或低電位,保證輸出的信號是一個確定值(1或0)。如下圖所示:

當信號從一個 off domain 穿到 另一個 domain (on 或者 off)時,如果 domain A 關掉,而 domain B 還在運行,就會出現(xiàn) B 的input floating,此時 B 就可能會因為輸入不定態(tài)而出現(xiàn)錯誤;所以當信號從 A 到 B 時,需要加 iso cell,保證在 A 關掉時,A 的輸出信號維持在穩(wěn)定的電平;
4.iso cell的插入位置?
關于isolation cell的插入位置,我們需要決定是放在power gated module (source module)內(nèi)還是always-on module (destination module)內(nèi)。
插在 source module 的ouput 端一是可以節(jié)省所需要的 isolation cell 數(shù)量,考慮一個模塊引腳的輸出連到多個模塊引腳的輸入的情況,二是便于檢查。
插在destination module的input 端優(yōu)點是 isolation cell 需要 always-on 的 power。若放在 source module的output端,還需要引 always-on 的 power rail 過來。
(考慮到power-on rail的走線,isolation cell自身的功耗,一般還是放在input端比較好,因為放在input端不需要always-on的power)
不管放在那里,其power的連接都需要注意:
isolation放置的地方都需要gated power和always-on power同時存在并且物理和邏輯連接都正確,因此經(jīng)常會把isolation cell指定一個固定的區(qū)域放置,可以選擇在此區(qū)域中打上兩種不同的power stripe和power rail來連接它們,或者選擇讓工具以自動routing的方式將secondary power連接起來,后者主要出現(xiàn)在非先進工藝中。
總結:
isolation_cell可以放在哪個domain,或者獨立呢?可以從幾個角度思考:
1)isolation_cell電源問題。
isolation_cell工作的意義就在于power_gated_domian關閉不影響always_on_domain,所以其本身要工作至少不能使用power_gated_domian的電源。
所以isolation_cell放在always_on_domain或者獨立更好。
2)isolation_cell數(shù)量問題。
對于power_gated_domian:always_on_domain=1:n時,要實現(xiàn)一個isolation_cell可以控制所有輸出,有兩個選擇power_gated_domian和獨立,而always_on_domain肯定不能實現(xiàn)。
3)isolation_cell所占的面積問題。
如果isolation_cell獨立,單個isolation_cell所占的面積可以稍微大一些。因此,可以看出isolation_cell的位置是與具體的場景有關,并不是唯一的。
如果power_gated_domian:always_on_domain=1:1,那放在always_on_domain中應該是最優(yōu)解,因為可以直接使用電源,數(shù)量為1,面積最小。??
注:
1)power_gated_domian:電源可關閉域,即低功耗下,為關閉狀態(tài)。
2)always_on_domain:電源常開域,即器件主要處理域,電源工作狀態(tài)不可關閉。
下面是lib iso cell:
?
?
cell(Isolation_Cell)?{
is_isolation_cell?:?true;
dont_touch?:?true;
dont_use?:?true;
pg_pin(VDD)?{
?voltage_name?:?VDD;
?pg_type?:?primary_power;
}
pg_pin(VSS)?{
?voltage_name?:?VSS;
?pg_type?:?primary_ground;
}
...
pin(A)?{
?direction?:?input;
?related_power_pin?:?VDD;
?related_ground_pin?:?VSS;
?isolation_cell_data_pin?:?true;
}
pin(EN)?{
?direction?:?input;
?related_power_pin?:?VDD;
?related_ground_pin?:?VSS;
?isolation_cell_enable_pin?:?true;
}
pin(Y)?{
?direction?:?output;
?related_power_pin?:?VDD;
?related_ground_pin?:?VSS;
?function?:?"A?*?EN";
?power_down_function?:?"!VDD?+?VSS";
?timing()?{
?related_pin?:?"A?EN";
?cell_rise(template)?{
?...
?}
?...
}
...
?
?
編輯:黃飛
?
電子發(fā)燒友App


















評論