(一)低功耗isolation cell的目的
低功耗架构设计需要前后端拉通规划,前端设计有PMU功耗管理单元,比如A模块电压常开,B模块电压可关断,那么请思考,当B模块关断电压后,B模块输出到A模块的信号是怎样的驱动力?会造成什么结果?
后果1:
假如电源的工作电源为1.2V,当B模块关断电压后,B模块输出到A模块的信号(X态)可能为0~1.2V中任意电压,如果X处在中间电平0.6V,若这个信号送给电压常开域中的一个反相器,就会导致这个反相器的PMOS和NMOS都导通,就会存在一个短路电流从电源流经PMOS、NMOS再到地,造成功耗浪费。
后果2:
假如电源的工作电源为0~1.2V,那么X态信号可能随着温度、电压等环境因素改变而震荡,导致常开电压模块的逻辑功能出现不可预知的错误,甚至引起系统宕机,造成芯片功能的不可靠,芯片上到汽车、飞机上去后,不堪设想。
因此,当A模块电压常开,B模块电压可关断,在B模块关断电压后,B模块输出到A模块的信号需要用isolation cell进行电压钳位(clamp 0或者clamp 1信号),这样就避免了X态的传播。
也就是说Isolation cell连接的两端分别是power gated domian和always_on_domain,Isolation_cell的作用就是将power gated domian输出到always on domain的信号隔离,以防止power gated domian电源关闭后输入到always on domian的信号出现不确定状态(如X态等)。
(二)低功耗isolation cell的类型
isolation cell一般有sink side、source side两种类型。
什么是sink side?
即isolation cell放置于常开电压域PD_ON,只需要一组电源,推荐使用这种类型,较为简洁。
什么是source side?
即isolation cell放置在power gated domain(PD_SHUT)里面,但是需要接常开电源(VDDG)供电,保证power gated domain(PD_SHUT)的电压关闭后,isolation仍能输出clamp值。这种情况下,isolation cell一般得有两组电源,分别是primary power(VDD)和 backup power(VDDG),当VDD关断后,VDDG就供电,否则isolation谁来供电输出clamp值呢。
isolation cell的结构(下图为source side isolation类型):
(三)低功耗isolation cell的结构
上面介绍了模块电压关闭之后,其输出需要isolation cell进行钳位的原因,以及isolation cell的两种类型及两组电源的需求,通常isolation cell和Level Shifter一起连用,AND和OR门都可以组成一个isolation cell;
AND类型:输出iso成0;
OR类型:输出iso成1;
首先看AND类型,EN有效时(置0),输出Y(isolation)=0,请思考下图的类型是source类型还是sink类型?
展开与门电路结构如下图右边部分,请思考,下图Y输出是否和上图一致?ISO_EN是高有效还是低有效?想通了就很有趣!
isolation实现clampe_0功能
然后我们看OR或门类型:ENB有效,Y就被钳位为1。
或门展开电路如下图右边部分,请思考下图ISO_EN是1有效吗?管子是如何工作才能钳位输出?钳位输出是1吗?是不是很有趣!
综上,通常Isolation cell和Level Shifter一起连用,AND和OR门都可以组成一个isolation cell。Isolation可以放在input端,output端或者第三方Voltage Area中,但是考虑到power-on rail的走线,isolation cell自身的功耗,一般还是放在input端比较好,因为放在input端不需要always-on的power。
(四)低功耗isolation cell的UPF语法
set_isolation ISO0_PD_SHUT 指定isolation cell的添加rule,相当于前缀名称
-domain PD_SHUT 指定添加isolation cell的voltage area
-applies_to input 指定isolation cell在voltage area的input还是output
-diff_supply_only true 指定cell port上是否允许有其他supply
-loacation parent 指定isolation的放置位置,parent代表放在driver pin的父module
-isolation_signal PMU/iso_en 指定isolation cell的isolation 控制信号
-calmp_value 1 指定isolation cell的输出值
全部0条评论
快来发表一下你的评论吧 !