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