isolation cell的低功耗设计

编程语言及工具

102人已加入

描述

在 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示意图如下:

ISOCELL

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;

ISOCELL

3. 何时需要用到 iso cell ?

当信号从一个module传入另一个module,如果shutdown模块的电源关闭,则输出信号可能出现不可预测的数值,若此数值传递给always on模块,可能会导致功能出现问题。因此需要将电源关闭module的输出信号和其他module隔离开来,给所有的边界信号加入isolation cell(ISO)。

isolation cell的作用在于在电源关掉之后,将某个信号电位固定到高电位或低电位,保证输出的信号是一个确定值(1或0)。如下图所示:

ISOCELL

当信号从一个 off domain 穿到 另一个 domain (on 或者 off)时,如果 domain A 关掉,而 domain B 还在运行,就会出现 B 的input floating,此时 B 就可能会因为输入不定态而出现错误;所以当信号从 A 到 B 时,需要加 iso cell,保证在 A 关掉时,A 的输出信号维持在稳定的电平;

4.iso cell的插入位置?

关于isolation cell的插入位置,我们需要决定是放在power gated module (source module)内还是always-on module (destination module)内。

插在 source module 的ouput 端一是可以节省所需要的 isolation cell 数量,考虑一个模块引脚的输出连到多个模块引脚的输入的情况,二是便于检查。

插在destination module的input 端优点是 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同时存在并且物理和逻辑连接都正确,因此经常会把isolation cell指定一个固定的区域放置,可以选择在此区域中打上两种不同的power stripe和power rail来连接它们,或者选择让工具以自动routing的方式将secondary power连接起来,后者主要出现在非先进工艺中。

总结:

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数量问题。
对于power_gated_domian:always_on_domain=1:n时,要实现一个isolation_cell可以控制所有输出,有两个选择power_gated_domian和独立,而always_on_domain肯定不能实现。

3)isolation_cell所占的面积问题。
如果isolation_cell独立,单个isolation_cell所占的面积可以稍微大一些。因此,可以看出isolation_cell的位置是与具体的场景有关,并不是唯一的。

如果power_gated_domian:always_on_domain=1:1,那放在always_on_domain中应该是最优解,因为可以直接使用电源,数量为1,面积最小。  

注:

1)power_gated_domian:电源可关闭域,即低功耗下,为关闭状态。

2)always_on_domain:电源常开域,即器件主要处理域,电源工作状态不可关闭。

下面是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) {
 ...
 }
 ...
}
...

 

 

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分