低功耗设计方法-多电压域设计(一)
为了便于讨论,我们提供了以下多电压策略分类:
静态电压缩放(SVS):给不同的块或子系统不同的,固定的电源电压。
多级电压缩放(MVS):静态电压缩放情况的扩展,在静态电压缩放情况下,对于不同的操作模式,块或子系统在两个或多个电压级别之间切换。只支持少量的、固定的、离散的级别。
动态电压和频率缩放(DVFS):MVS的扩展,可以根据工作负载的变化动态切换更多的电压级别。
多电压域设计的挑战
电平转换单元(Level shifters):信号在使用不同电压源轨道的块之间传递,通常需要电平转换单元将信号从一个电压摆动转换到另一个电压摆动。
描述和静态时序分析:如果整个芯片只有一个电压源,则可以在一个性能点上进行时序分析。这些库的特点是针对这一点,这些工具以一种直接的方式执行分析。由于多个块在不同的电压下运行,并且库可能不能以我们使用的确切电压来描述,因此时序分析变得更加复杂。
布局规划,电源规划,电网:多个电源域需要更仔细和精确的布局规划。电网变得更加复杂。
板级层面的问题:多电压设计需要额外的资源,额外的稳压器提供额外的供电。
电压缩放接口—电平转换器
当驱动信号在具有完全不同电压轨的电压域之间传输时,是需要电平转换器进行电压转换的。驱动信号从一个1V域到一个5V域可能就存在一个问题:1V的摆动可能甚至没有达到在5V域的阈值。但在芯片内部电压是紧密聚集在1V左右。为什么我们需要电平转换器将信号从0.9V域转到1.2V域?
一个基本的原因是一个0.9V的信号驱动1.2V的栅极将同时打开NMOS和PMOS管,造成短路电流。这个问题将在本章后面讨论。
此外,标准单元库的特点及最好的运行条件是在一个干净、快速切换的输入的轨道上运行。如果不能满足这一要求,可能会导致信号在一个电压域的驱动单元和另一个电压域的接收器之间出现显著的上升或下降时间增加。这反过来会导致时序收敛问题,甚至短路开关电流。
最好的解决方案是确保每个域都能得到它所期望的电压波动(以及上升和下降时间)。我们通过在使用不同电压的任何域之间提供电平转化器来做到这一点。这种方法将任何电压波动和时序特性问题限制在电压域的边界上,并且不影响域的内部时序。这种简洁的接口使得时序收敛和重用变得更加容易。
单向电平转换器
电平转换器的设计可以在不同电压轨之间提供有效的电压摆动,这是一个模拟电路设计问题。由于模拟电路设计的原因,这些电池通常只被设计为一个方向移动—从高电压到低电压,或从低电压到高电压。在本章的后面,我们将提供一些示例设计来说明这两种单元之间的区别。
对于静态电压缩放,电平转换器的这种单向限制不是问题。但对于其他形式的多电压,供电电压在运行过程中会发生变化,这确实是一个挑战。设计者必须对设计进行架构和划分,使电压域与相邻电压域有明确的大小关系,例如“总是更高”、“总是更低”或“总是相同”。有了这个限制,就可以直接使用适当的电平转换器。从系统的角度来看,设计可以双向操作的电平转换器可能很有吸引力,但需要非标准的实现组件和工具。
电平转换器—从高到低的电压转换
从表面上看,简单地从高电压轨上的缓冲器上输出一个信号不会引起什么问题—没有锁存或击穿问题,相比普通CMOS逻辑高电平或低电平开关电平,会提供一个“更好”、更快的信号边沿。
然而,为了安全的时序收敛,确实需要加入一些专门为此目的而被识别为“降档”的单元。如果在工艺库中没有提供专门的高到低电平的电平转换单元,那么整个库必须重新描述,以允许准确的静态定时分析。每个栅极都必须具有任意输入电压摆动的特征。
如图3-1所示。高电平到低电平转换器可以非常简单,本质上是两个反向器串联。电平转换器的设计将在后面的章节中详细描述,但现在我们观察到只需要一个电压轨,其来自较低或目标电压域。如图所示,高电平到低电平的移位器只引入一个缓冲延迟,因此它对时序的影响很小。