在 multi-voltage design 中,常常用到isolation cell,本文簡單介紹什么是 iso cell, 何時需要加 iso cell,以及如何使用 iso cell
1. 什么是 iso cell ?
isolation cell 一般用於隔離兩個不同的 power domain ,其示意圖如下:
iso cell 有一個控制端 EN, 當 EN 無效時, A 端信號直接送到 Y 端,此時 iso cell 等效於一個buffer;當 EN 有效時,buffer 斷開,Y 端保持固定的高電平或者低電平;上面這種 iso cell 有兩組 power: primary power VDD 和 backup power VDDB,當 左邊domain 關掉時, VDD off,此時就由 VDDB 供電,維持 Y 端的固定電平。
2. 何時需要用到 iso cell ?
當信號從一個 off domain 穿到 另一個 domain (on 或者 off)時,如果 domain A 關掉,而 domain B 還在運行,就會出現 B 的input floating,此時 B 就可能會因為輸入不定態而出現錯誤;所以當信號從 A 到 B 時,需要加 iso cell,保證在 A 關掉時,A 的輸出信號維持在穩定的電平
有個問題需要注意,當 domain A 關掉時, nwell 也斷電了,那么其中的 iso cell 的 nwell 也斷電了,那么iso cell 就可能出現漏電(?),這個問題有兩種解法:一種是將 iso cell 的nwell 做成孤立的(與旁邊的std cell 的nwell 隔開),然后連接到 backup power VDDB 上,保證nwell 不會斷電; 另一種更推薦的辦法是將 iso cell 放到 domain B 中去,也就是在domain B 的input 加 iso cell,而 A 的output 不再需要 iso,這樣就不用擔心 nwell 斷電的問題了。
常用的 iso cell 其實是不帶 VDDB 的,僅有primary power,如下圖,這種 iso cell 就只能放在 domain B 的input 端了
3. 如何使用 isolation cell ?
insert_mv_cells
|---------------------------------------|