在 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
|---------------------------------------|