3 多电压域设计
在现代的SoC设计中,不同的模块有不同的性能和约束;举例来说,CPU在系统中可需要以最快的速度运行,这样的前提下,CPU就需要较高的电源电压,对于另一个模块USB而言,它只需要以一个比协议要求的基本频率稍高一点且相对固定的频率去运行就可以,这种情况下,USB就可以以一个比CPU的电压低的电源来供电;从前面的章节我们可以知道,低电压意味着更低的动态功耗和静态功耗。
多电压域设计是将芯片内部的逻辑分为多个部分,每个部分由其对应的电源电压进行供电。脱离只有一种电压的电源为芯片供电的思想后,有以下几种技术可以应用。
1) 静态电压缩放(Static Voltage Scaling),简称为SVS:系统中的模块采用固定的但电压值不同的电源进行供电。
2) 多电压缩放(Multi-level Voltage Scaling),简称MVS:系统中的同一个模块根据不同的应用场景,可在两级或多级电压的电源上进行切换。
3) 动态电压和频率缩放(Dynamic Voltage and Frequency Scaling),简称DVFS:这是MVS的一种拓展应用,是通过控制电路实时的将不同模块的工作电压及工作频率降低到恰好满足系统最低要求来降低系统中不同模块功耗的方法。
4) 自适应电压缩放(Adaptive Voltage Scaling),简称AVS:可以说这又是DVFS的一种拓展应用,该技术采用闭环的控制电路,实时的对各模块的电压进行自动的调整。
3.1 多电压域设计的挑战
多电压域设计对于设计人员而言,主要有以下几个方面的挑战:
1) 电压转换器:各级电压域之间的有信号交互时,信号不能直接从一个电压域跨越到另一个电压域,需要在两个电压域之间增加一个电压转换器。
2) 静态时序分析:当整个芯片只有一个电压供电时,时序分析时只需要使用一个特征电压的库,工具可以直接进行分析;当芯片的多个模块工作在不同的电压下时,需要用到库里的多个电压特征,某些电压下,库里面可能