前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >低功耗设计 | isolation cell

低功耗设计 | isolation cell

作者头像
数字芯片社区
发布2022-02-11 08:29:46
3.2K0
发布2022-02-11 08:29:46
举报
文章被收录于专栏:数字芯片

在 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模块的电源关闭,则输出信号可能出现不可预测的数值,若此数值传递给always on模块,可能会导致功能出现问题。因此需要将电源关闭module的输出信号和其他module隔离开来,给所有的边界信号加入isolation cell(ISO)。

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

当信号从一个 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:

代码语言:javascript
复制
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) {
 ...
 }
 ...
}
...

参考资料:

  • <Synopsys®Low-Power Flow>
  • https://aijishu.com/q/1010000000133347
  • https://www.sohu.com/a/220628287_99933533
  • https://www.cnblogs.com/xiaoxie2014/p/10837155.html
  • https://blog.csdn.net/qq_36480087/article/details/111589349
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是 iso cell ?
  • 2. 如何使用 iso cell ?
  • 3. 何时需要用到 iso cell ?
  • 4.iso cell的插入位置?
    • 总结:
    • 下面是lib iso cell:
    • 参考资料:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档