张飞实战电子官方½站:www.zhangfeidz.com
☜点击打开
(广告勿扰
100%拒绝水贴,
名疯狂工程师运营的½站,
10
有问必答)
双阈值电压与电源门控设计优化流程方案
½用双阈值电压门限(VTH)的设计优化方法与流程可以在高度自动化的情况下达到功率和时序两方
面的优异结果。这种双
VTH
方法对
VDSM(极深亚微米)芯片非常重要,此时降½的 VTH
不光会改进
性½,而且还会增加静态泄漏功率。
事实上,泄漏功率会随技术的升级呈指数增长,在
65 nm
时达到芯片功耗的
50%。泄漏功率的这种
惊人增长对大多数设计来说是不可接受的,无论它们是否采用电池供电。因此,大多数设计会借助于设计
优化流程,因为它可以在性½和泄漏功率之间取得折衷。
根据不同的设计要求,有三种常见的流程可以用于性½与泄漏功率的优化。这些流程的目标是½量减
小泄漏、获得最½性½、优化芯片面积和上电模式下的工具运行时间。由于在等待模式下仍会消耗泄漏功
率,因此这些流程亦包括待机泄漏功率最小化的内容。
管理泄漏功率的三个流程
双
VTH
方法依赖于两个单元库的应用,一个是½
VTH
单元,它有较小的传播延迟和较高的泄漏功
率,另一个则是较高
VTH
的单元,它有较大的延迟和较小的泄漏。在关键时序路径中用½
VTH
单元,
而在非关键路径中用高
VTH
单元,这种设计优化可以½速度最大化,泄漏功率最小化。
这种优化的效果很大程度上取决于对真正关键时序路径的判定,以及对½响路径的两个库时序的精确
计算。要实现所需的时序精度,对路径延迟的计算要根据单元的布放和½络走线信息将互连延迟考虑进去。
所以,在下列三个流程中,强烈建议对二次通过混合型
VTH
设计优化做物理综合:
●
最小切割(min-cut)流程在三个流程中可实现最½的泄漏功率,½却有较高的单元数目、动态功率,
以及较½的性½。
●
最大切割(max-cut)流程可得到最高的性½和最½的单元数量及动态功率,½在三个流程中泄漏功
率最高。
●
最大切割
II
流程是前两个方案的妥协,在泄漏功率和芯片面积之间½了一个良½的折衷。该流程亦
减少了工具运行时间和容量问题。
第一个流程采用了一种迭代的最小切割算法,即一个组合电路中的所有单元½初始分配一个高的阈值
电压。由于高
VTH
晶½管的性½下降,这种设计通常会违反延迟约束。½初始设计会有最½的泄漏功率。
下面算法会判断出一个最小的边界子集,将阈值降½以提高性½,并且满足延迟约束要求。基于最小权重
切割的最小切割图½算法可判断出这些边界。
这种切割相½于关键时序路径改变为½
VTH
而获得最少的功
率增长。图
1
显示了一个采用最小切割算法的双
VTH
分配实例。
张飞实战电子官方½站:www.zhangfeidz.com
☜点击打开
(广告勿扰
100%拒绝水贴,
名疯狂工程师运营的½站,
10
有问必答)
最小切割方法实现了一种以泄漏为中心的设计优化方法和流程,
生成的设计具有最½的泄漏功耗。
2
图
的右侧描述了流程。经过采用高
VTH
库的第一次优化后,设计通常会有违反时序的问题。同时用½
VTH
和高
VTH
单元库½进一步优化可以判断出所有关键的时序路径,并用½
VTH
单元替换这些路径中的单
元。综合工具亦可以完成局部设计优化,解决替换½
VTH
单元后仍然存在的违反时序问题。
与迭代最小切割算法不同,迭代最大切割算法是最初将所有½
VTH
单元初步分配给一个组合电路。由
于½
VTH
单元速度快,这种实现以正的½量满足已定义的延迟约束,½付出的代价是较高的泄漏功耗。接
着算法会判断出一个最大的边界子集,此时改变到高
VTH
可以降½泄漏功率,而不会违反延迟约束。最
张飞实战电子官方½站:www.zhangfeidz.com
☜点击打开
(广告勿扰
100%拒绝水贴,
名疯狂工程师运营的½站,
10
有问必答)
大切割图算法可以识别出基于最大权重切割的这些边界,改变到高
VTH
的结果是降½最大泄漏功率。这
种算法的实现描述在图
1
的左半边,它与前一个流程基本相同,只是½
VTH
库和高
VTH
库的½用顺序
正½相反。
第三种方法是迭代最大切割算法的一个变种(所以叫最大切割
II),它在运行时和容量上½有改进。
最大切割
II
算法开始时将所有高
VTH
单元分配给设计,然后判断出会违反时序约束的关键子电路。关键
子电路中的所有单元½改换为½
VTH,以满足时序约束的要求。接着,用常规的最大切割算法判别出可以
容忍变回高
VTH
而不会出现延迟违规的那些边界。
这样,
最大切割
II
基本上只将最大切割算法用于关键
的子电路,从而极大地降½了待优化电路的规模。
由于规模的降½,最大切割
II
算法流程的实现与普通最大切割方法相比,可以减小芯片面积,并优化
运行时间(图
3)。最大切割 II
流程的设计优化是用高
VTH
库获得最½的泄漏功耗。½是,通过降½时
钟频率,可以得到有松弛时序约束的优化结果,避免处理那些只含高
VTH
单元、不½满足时序要求的关
键路径。经过这个初始优化后,就可以将时钟频率调高至实际的目标值,还原实际的时序约束,然后用½
VTH
库和高
VTH
库½进一步的设计优化。
电源门控
在待机模式下,无论用½种优化方法,实现了怎样的优化数量,设计仍会继续消耗泄漏功率。降½待
机模式下泄漏功耗的一个方法是切断逻辑区段的电源。由于可以关掉某些逻辑的供电,而让其它逻辑保持
工½状态,因此必须将一个设计划分为两个以上的供电岛。于是,我们可以用电源门控方法,断开某些岛
张飞实战电子官方½站:www.zhangfeidz.com
☜点击打开
(广告勿扰
100%拒绝水贴,
名疯狂工程师运营的½站,
10
有问必答)
的供电。
½然这种电源门控方法可以实现极½的泄漏功率,½需要的方法很复杂。在一个设计流程中,需要完
成下列特殊½业:
●
增加睡眠晶½管,用于关断对空闲电路的供电;
●
分配电源门控信号 ;
●
供电岛唤醒时钟树的综合;
●
在断电期间保存一个子设计状态;
●
隔离供电岛接口的信号;
●
多供电岛物理设计的优化。
在电源门控设计中,睡眠晶½管的实现可以基于门、簇或电源域。在基于门控的实现中,可将睡眠晶½管
插入到一个逻辑门中,控制对该门的供电。这种方法的½处是可以根据门的开关电流和电源噪声½量,每
个门½有最理想尺寸的睡眠晶½管。另外,门中的虚拟电源½络很短,而且是隐½的,可以用标准单元综
合和物理设计工具实现这些门。在另一方面,每个门½有一个睡眠晶½管,由此增加的面积要多于簇和电
源域的实现方法。并且,要将全局性的睡眠控制
信号分配到每个门,这对物理设计也是一个挑战。
在基于簇的睡眠晶½管实现方法中,将一个设计中的多个门组成簇。选择一个最小的簇数量和最½的
同步开关电流。一个簇中的各个门属于同一个电源域,布局上互相靠近。每个簇½通过一个睡眠晶½管连
接到一个虚拟的电源½上。基于簇的实现通常比基于门的实现占用更少的面积,½难点是获得每个簇真实
电流的估测值,从而实现精确的睡眠晶½管尺寸。此外,这些分别供电簇的
IR
降也各不相同,从而产生
性½差异。
在基于电源域的睡眠晶½管实现中,一个电源域中的门互相连接成一个虚拟电源½络,该虚拟电源½
络通过一定数量的睡眠晶½管连接到一个实际的电源½络上。可以用普通的电源规划、分析和优化方法,
像实际电源½络一样对虚拟电源½络进行优化。这种睡眠晶½管的实现其面积通常比基于门实现和簇实现
的½要小,因为一个电源域中的所有门½通过分布的睡眠晶½管½络接收功率,½络中所有的晶½管½共
享和均衡电流的流出。由于虚拟接地½络会降½设计的噪声½量,造成功½性故障,因此必须仔细分析一
个电源门控设计的功率需求,以保证功率完整性。
无论采用½种睡眠晶½管方案,½要小心布放连接晶½管的电源门控信号,½得一个供电岛的断电不
会阻挡控制信号通向其它供电岛。一种特殊的缓冲树生成法可以对建立和布放做出限制,以保证那些一直
通电的电源与接地½络得到隔离。同样,要对时钟树的综合做出限制,确保不会出现时钟分支通过一个供
电岛的情况,否则该岛断电时,下游的逻辑电路就无法获得时钟信号。
张飞实战电子官方½站:www.zhangfeidz.com
☜点击打开
(广告勿扰
100%拒绝水贴,
名疯狂工程师运营的½站,
10
有问必答)
状态保持与恢复
电路被唤醒后需要一种恢复运行的方法,它先记下一个供电岛的逻辑状态后才½之空闲,并在唤醒时
恢复状态。有三种类型的状态保持与恢复方法可供选用。
第一种方法是依靠应用½件将特殊寄存器和内存值写到磁盘中储存,然后才切断电源的供电。在唤醒
时,½件将保存的状态写回到设计中。½然这种方法无需专用的硬件设计,½保持和恢复过程通常要花很
长时间,在实际应用中没有实用性。另外,磁盘的读写也要消耗大量功率,这可½足以抵偿短期待机时节
省的泄漏功率。
第二种状态保持与恢复的方法是用一个设计的扫描链,
在断电前将寄存器状态½到永续供电的内存中,
而在唤醒时再移回来。½然这种方法比前一种方法快得多,½对很多前沿应用来说仍觉太慢,同时内存访
问也会消耗很多½量。
在第三种方法中,采用½够有效地存储和恢复状态的保持寄存器和锁存器。在各种保持电路中,采用
了½功耗设计中常用的气球型电路。这种电路实现时,在正常寄存器或锁存器外增加一个½子锁存器,用
于保持断电时的寄存器状态。½子锁存器由½泄漏的高
VTH
晶½管组成,像一个系½的气球一样通过单
个点连接到普通寄存器或锁存器。
气球型的保持电路有两个保持控制信号,B1 和
B2。这两个全局信号需要以相同方式分配到电源门控
信号上,这样保证信号路径中的一个供电岛中断电源时,保持电路仍有有效的信号。
岛的隔离
½一个供电岛断电时,其输出信号处于漂浮状态。这些漂浮的信号可以½响到设计中其它工½部分。
如果是交换信号,则可½会出现故障。无论如½,漂浮的信号½可½在一个接收逻辑门引起很大的短路电
流,造成功率消耗甚至器件损坏。
为防止这些问题,需要在断电岛和有电岛之间的接口处增加隔离逻辑。实现隔离逻辑的方法有两种:
可以在断电岛上控制输出信号,或在有电岛上控制输入信号。
与输入信号隔离方法相比,隔离输出信号通常需要较少的隔离单元,因为输出经常要驱动其它供电岛
的多个输入。另外,永不停电的供电岛输出端无需隔离单元,输出隔离控制信号的分配也比较简单。
另一方面,输出信号隔离单元在待机模式下通常会消耗更多功率,因为它们必须驱动一个大的信号½
络,而输入隔离单元则只需要短的局部½络。此外,输入信号隔离逻辑可以用标准单元实现,½输出信号
隔离则必须½用定制单元。
评论