低功耗设计方法-多电压域设计(二)
电平转换器
电平转换器—从低到高的电压转换
将逻辑信号从低电源轨驱动到高电压轨上的单元是一个更为关键的问题。欠驱动信号将导致接收端的上升和下降时间变差。这反过来可以导致更高的开关短路电流和降低噪声裕度。缓慢的过渡时间意味着信号在阈值附近停留的时间更长,导致短路电流持续的时间增长。对于时钟树缓冲来说,这变得尤为重要,时钟树缓冲始终是一个挑战,任何跨越电压区域边界的上升和下降时间的变差都会增加时钟偏差。
专门设计的电平转换单元解决了这个问题。它们为高电压域提供快速、全轨信号。它们可以使用设计工具进行正确建模,以实现准确的时序。
电平转换有许多设计技巧,但一个简单直接的设计显示如图3-2。这种设计采用了一个缓冲和反向器形式的低电压信号,并使用它来驱动交叉耦合晶体管结构运行在较高的电压。
电平转换器需要两个供电轨道,通常共用一个地。阱的结构不能连接在一起,而必须独立的和供应电压源联系在一起。
这些专门的低电平到高电平转换器的特点是在一个扩展的电压范围匹配高侧和低侧电压域的工作点。这使得在不同的电压和操作条件之间能够进行准确的静态时序分析。
电压转换器的摆放位置
由于高电平到低电平的电平转换器采用了低电压域的电压轨,因此通常将高电平到低电平的电平转换器置于低电压域。如果1.2V域和0.9V域之间的距离足够小,库有足够强的缓冲,那么驱动缓冲可以放置在1.2V域。不需要额外的缓冲。
在1.1V域中添加额外的缓冲区显然会带来问题—缓冲区使用什么电源?
一种方案如图3-4所示。这里缓冲器采用1.2V域的电源轨。但这意味着1.2V轨道必须1.1V域内布线。这种复杂的电源路由是实现多电压设计自动化的关键挑战之一。
如图3-5所示为信号从0.9V域进入1.2V域的情况。在这种情况下,无论电平转换器放置在哪里,电源布局路由将是一个挑战。因为它需要两个电压源,所以至少有一个电压轨必须从另一个域路由。由于输出驱动器需要比输入驱动更多的电流,我们将电平转换器置于1.2V域。
与高转低电压转换器一样,如果1.2V域与0.9V域之间的距离足够小,且库有足够强的缓冲器,则驱动缓冲器可以放置在0.9V域。不需要额外的缓冲。否则,需要在1.1V中放置额外的缓冲区,再次导致上述电压路由问题。
自动化与电平转换器
电平转换器不会影响设计的功能:从逻辑的角度来看,它们只是缓冲区。由于这个原因,现代的实现工具可以在需要的地方自动插入电平转换器。不需要更改RTL。许多工具现在允许设计师指定一个电平转换器的放置策略-将低电平到高电平的电平转换器放置在较低的域,较高的域,或在它们之间。注意,输出驱动器有更高的电源电流要求;低压电源只需要为较弱的设备供电。因此,我们建议将电平转换器放置在目标域中,如图3-3和图3-5所示。
作为定义电平转换器策略的一部分,设计师需要为插入电平转换器指定规则。设计人员可以明确指定哪些块需要电平转换器,或者设计人员可以指定需要插入电平转换器的最小电压差。
应根据时序考虑插入高电平到低电平的电平转换器。如前所述,在两个不同电压区域的接口上使用标准门而不是电平转换器会导致延迟计算的错误。如果两个域之间的电压差足够大,那么这个时间误差就变得不可接受。在这种情况下,电平转换器是必需的。确切的电压差取决于库和设计目标。
应根据电压和时序考虑插入低电平到高电平的电平转换器。如果两个域之间的电压差足够大,在更高电压域的标准栅极的输入级将不会全部关闭,导致过多短路电流。
具体来说,如果电压差大于接收端PMOS晶体管的阈值电压,晶体管将不会完全关闭。为了提供一个合理的噪声裕度,我们应该将这个数字填充VDDH(较高的电源电压)的10%。因此:
电平转换器的使用建议与陷阱
建议:
将电平转换器放置在接收域—高到低电平转换器的低域,低到高电平转换器的高域。
低电平到高电平的转换器有显著的延迟,需要理解这些延迟,并在关键时序路径块的RTL设计中仔细考虑这些延迟。
确保在不同的电压域之间有明确的关系,以使运行条件明确是否需要向上转换或向下转换器。
陷阱:
域之间的接口可能是更高或更低的电压,需要专门的电平转换器组件,并使设置和保持时间在这样的接口验证将非常复杂。