转载自: 东坡ju士牛360配资
在低功耗设计中(low-power design),Unified Power Format (UPF)文件相当于多电压域设计的指导说明书,里面包含内容主要有:供电网络(supply network),隔离单元(isolation),电平转换单元(switches),以及 保持单元(retention) 等方面。Synopsys tools主要依据UPF定义来进行低功耗设计。
一个power domain定义一个区域,该区域内的逻辑公用一套VDD/VSS。
scope and extent:scope指的是一个电压域下的层次结构,extent指的是该电压域下所有包含的东西。
在hierarchical level 中,supply nets and supply ports承载着很关键的作用,supply nets 作为一个桥梁导通各个器件,有时候也会用来连接不同电压域。supply ports 是相邻层次之间,多级harden 层次(父子模块)之间的连接点。有穿层次的时候一定要有supply ports。
电源开关(power switch)是打开和关闭电源的device。它具有能够控制开和关的输入电源net、输出电源net、以及至少一个用来控制开关的输入信号。
1,level-shifter cell
(1)介绍
当逻辑信号离开一个power domain进入另一个power domain时,两个电压域有不同电压时,必须有一个level-shifter cell来将信号从第一域的电压转换为第二域的电压。A cell that can perform both level shifting and isolation functions is called an enable level shifter。0.9v的信号在1.2v的domain里,会造成PMOS和NMOS的同时开启,产生额外的动态短路电流,也就是internal power。
比如当下图中信号从AON block传输到PD1时,需要加Level shifter。当信号从PD1传输到PD2时,由于PD1是power gating模块,所以需要在PD1和PD2之间加带Isolation 功能的Level shifter cell(ELS:Enable Level shifter)。
图片
ps:
Power gating是深亚微米技术中的低功耗技术之一。它是通过关闭设计中部分电路(不需要工作时)来实现的,以减少设计中的静态(泄漏)功率。要实现这个功能Power switch可以完全胜任。它的原理是将VDD或GND与特定设计层次结构的标准单元分开。
对于数字后端实现而言,我们主要关注的是Level shift cell的power连接和placement的要求。Level shifter是两条row高度的cell,其中含有VDD,VSS和VDDL(VDDH)。VDDL和VDDH是secondary power pin。在画power时,需要将其画成一个额外的power rail,确保每个Level shift cell secondary power pin的正常供电。
具体连接方式:
https://mp.weixin.qq.com/s/dVifYoZ2UD9p9LLNwkZEhg
(2)H2L Level shifer
从高电压到低电压的level shifter,可以是两个反相器的串联。
输入高电平区域信号INH,输出低电平区域信号OUTL,注意供应电源由低电压模块提供,即图中的VDDL。因此H2L level shifter一般放在低电压模块中,如果高低电压差别不大,对VDDL的cell的时序影响可接受,是不需要H2L LevelShift的。从图中可以看出,H2L的level shifter只会引入一个buffer的延迟,对时序的影响较小。
图片
图片
(3)L2H Level shifer
当信号从低压Domain传输到高压Domain时,PMOS管栅极处的较低电压可能会导致栅极不完全关断,从而导致异常的泄漏电流
低电压域的信号驱动高电压域的cell时,由于驱动能力不足,会使得高电压域cell的input transition变得更大,也就是说这个信号有更长的时间是处于接近Vth的范围内,从而造成短路电流持续的时间更长,因此消耗更多的internal power。
用低电压区域的信号invert和buffer之后得到的一对信号来驱动工作在高电压区域的交叉耦合晶体管结构牛360配资。
输入低电平区域信号INL,输出高电平区域信号OUTH,注意电源电压由高电压模块提供,level shifter也放置在高电压模块中。
L2H level shiter有明显的延迟。
(4)Lib文件中对level shifter的描述
cell(level_shifter) {
is_level_shifter : true ; #定义为true,则该Cell被认为是lever shifter cell
level_shifter_type : HL | LH | HL_LH ; #定义电平转换方向,HL表示高电平转低电平,LH直低电平转高电平,HL_LH表示都可以用
input_voltage_range (, ); #输入电压范围,指该Cell输入连接的电路,电压工作范围,EDA工具会根据Operating Condition的选择,检查该Cell是否满足电路需要,可以在功能pin中进行定义,如果在cell主体定义,则必须与output_voltage_range同时存在
output_voltage_range (, );#输出电压范围,指该Cell输出连接的电路,电压工作范围,EDA工具会根据Operating Condition的选择,检查该Cell是否满足电路需要,可以在功能pin中进行定义,如果在cell主体定义,则必须与input_voltage_range同时存在
…
pg_pin(
pg_type : primary_power;
std_cell_main_rail : true; #该primary_power连接在Cell设计中的主rail
…
}
pg_pin(
pg_type : primary_ground;
…
}
pin (data) {
direction : input;
input_signal_level : “”; #输入信号电压环名
input_voltage_range ( , );
level_shifter_data_pin : true ; #数据功能Pin
…
}/* End pin group /
pin (enable) {
direction : input;
input_voltage_range ( , );
level_shifter_enable_pin : true ; #使能Pin,如果level shifter还作为isolation cell的时候,使能信号会在电源关闭时停止level shifter功能,仅仅作为isolation cell存在
2,Isolation cell
(1)介绍
关机的时候必须存在一个隔离单元,用来确定关机之后的状态(关机之后必须有一个已知的逻辑值)。Isolation cell的作用在于在电源关掉之后,将某个信号电位固定到高电位或低电位,保证输出的信号是一个确定值(1或0)。其原理也很简单,基本上等同于AND或者OR门。
图片
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 端的固定电平。backup power有时候叫做secondary power,它能够保证power down时器件仍然能够工作。
ISO cell如果需要保持最近值,则需要一个带latch的隔离单元。一般来说Isolation Cell的输出部分有较大的电容负载,也就是说Isolation Cell的延时将会比较大,对时序有一定的影响,这个在实际做项目时经常会遇到。
(2)摆放位置:
图片
当 domain A 关掉时, nwell 也断电了,那么其中的 iso cell 的 nwell 也断电了,那么iso cell 就可能出现漏电,这个问题有两种解法:
一种是将 iso cell 的nwell 做成孤立的(与旁边的std cell 的nwell 隔开),然后连接到 backup power VDDB 上,保证nwell 不会断电,这种方法可以节省所需要的 isolation cell 数量(考虑一个模块引脚的输出连到多个模块引脚的输入的情况); 另一种更推荐的办法是将 iso cell 放到 domain B 中去,也就是在domain B 的input 加 iso cell,而 A 的output 不再需要 iso,这样就不用担心 nwell 断电的问题了。
注意事项:在布局布线阶段,需要将ISO cell的input pin设置dont_touch,防止在输出信号和ISO cell之间插buffer。假如插入了buff,断电之后,buff的状态不确定,使得ISO input pin接收到的状态不确定,很容易产生亚稳态使功能错乱。
(3)UPF定义:
set_isolation
-power_domain power domain name #目标power domain。
-isolation_supply_set supply_set_name #这里决定isolation cell的供电方式。
-supply_to input/output/both #钳制信号针对目标power domain而言是输入信号还是输出信号。
-clamp_value 0/1/latch #钳制信号恒为0(使用与门实现),恒为1(使用或门实现),根据实际信号情况决定(latch)。
-source/-sink/-diff_supply_set #钳制信号的来源或输出接什么样的电源,如果指定-diff_supply_set true就意味着isolation的输入输采取自不同的supply set
-isolation_sense high/low #指定控制信号的高低电平
-isolation_signal control signal #设置控制信号
-location parent/self #设置iso cell的hier层次,相对于目标power domain的-element而言牛360配资,parent module或self module。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。哈福证券提示:文章来自网络,不代表本站观点。