为降低功率需求而关断IC的一个区域或子模块,这个架构概念对逻辑设计师来说表面上非常合理且直截了当。然而,在实际设计中实现电源门控(power gating)却是一个非常艰巨的挑战。
首先也是最重要的就是,切断设计的电源必须能节省功耗,因为在断电和加电转换期间的功率纯粹是浪费的。断电和加电要求一定的转换周期,也需要通过仿真来对比电源关断时节省的功率以及加电时耗费的切换功率。同时,也必须权衡考虑为实现此省电技术而需要的芯片面积和关断该设计所导致的任何性能降低。
电源可以从外部或内部关断。外部关断通过电压控制功能,在系统/板级提供变化的电源。要这样做就必须向芯片的各个子系统提供可靠的隔离式电源,因此可能限制独立电源的数量。
电源门控可以采用在每个标准单元中构建睡眠晶体管的精细粒度方法实现,也可以采用在逻辑模块级聚集睡眠晶体管的粗粒度方法实现。设计电源门控控制信号需要对缓冲/驱动强度进行分析,来充分考虑像电迁移和IR压降时序性能等可靠性问题。因为被关断模块在关断期间处于亚稳态,所以它们的输出信号必须被隔离。
在关断之前,考虑好需要为更快“唤醒”周期而保留的逻辑模块的最小状态。保留逻辑状态包括在断电期间维持将关键信息存入存储器的功能。上电复位、从RAM扫描状态或将状态保存到本地“状态保持”寄存器都可以在断电后恢复模块的逻辑状态。虽然使用状态保持寄存器会增大占位面积和降低可布线性,但与软件重启或在存储器内储存相比,它能提供更快的加电过程,且通常需要较少的控制逻辑就能保存和重启当前的执行状态。
电源门控的实现,要从综合阶段开始,这时可理解电源域并能在需要时插入隔离单元和状态保持寄存器。接着,物理实现阶段必须了解头部/底部(header/footer)开关的特殊电源连接需求,同时还应该插入开关来完成电源域模块的布局布线和优化开关尺寸。
正确的设计要求通过时序和信号完整性分析,来解决开关中额外的IR压降、通过隔离单元的时延和控制信号对噪声的灵敏度问题。大型系统级芯片要求采用形式验证技术来验证门级网表和低功耗功能的正确性。等效性检查应包括电源域识别、隔离/电源开关使能的验证以及状态保持的睡眠/唤醒序列检查。
电源门控要求从系统级处了解在哪里增加电源门,怎样及何时去控制这些电源门。对域敏感的架构有助于减少整体转换时间。
作者:Anand Iyer
Email:anand@
数字IC部门高级产品经理
George Kuo
工程总监
Cadence设计系统公司