低功耗设计方法--电源门控的架构问题(一)
电源门控与层次结构
芯片架构的可扩展方法是有价值的,因为今天的片上系统设计经常成为后续产品中更大芯片的组件。
为了支持这种可移植性,必须在电源域级别强制执行模块边界。也就是说,一个给定的模块应该属于一个单一的电源域,而不是跨越多个电源域。一些工具和流程支持将RTL流程逐个分配到电源域,但这会导致更复杂的实现和分析。清晰可见的电源门控块的边界是拥有一个清晰的、自上而下的实现和验证流程的关键。
尽管理论上可以在电源门控子系统中任意嵌套电源门控模块,而这些子系统又嵌套在共享的开关电源轨上,但不创建多级电源开关结构具有相当大的好处。电源门控是激进的,并且会增加一些电压降和性能下降。级联多个电压降会导致不可接受的延迟增加。
即使设计在体系结构级别上表示为多层次结构,如果在实现时将其映射到单一的电源门控级别,则实现将得到改进。考虑图6-1所示的示例。从概念上讲,CPU具有所有核心逻辑电源门控,并且在其内部有许多功能单元,每个单元都可以独立地关闭电源—在本例中是一个乘累加单元和一个向量浮点单元:
操作方式可以用表格形式描述为:
从实现的角度来看,电源开关结构应当是扁平的,如图6-2所示。从来不会出现当MAC或VFP功能单元被打开时,CPU核心逻辑块没有打开的情况。因此,开关控制语义被调整为与门控制项,而不是级联开关元素。
电源模式表现在包括嵌套电源的显式控制门控功能单元:
建议:
将电源门控区域映射到明确的模块边界
对分层电源门控设计进行分区时,确保电源门控控制项可以映射回平面交换结构。
陷阱:
避免控制信号通过电源门控或电源关闭区域传递到没有与第一个区域进行层次切换的其他电源区域。
避免过细的电源门控粒度,除非绝对需要积极的泄漏功耗管理。每个接口都添加了实现和验证挑战,并使系统级生产测试复杂化。
电源网络及其控制
在基于处理器的SoC设计中,CPU系统可以很好地引入一些电源网络:
l 整个缓存 CPU 子系统的独立电源轨—这允许CPU在长期的“睡眠”模式下完全关闭。
l CPU逻辑的电源门控电源,以支持短期泄漏节省模式,在这种模式下,高速缓存内存可以保留,但所有泄漏的标准单元逻辑在本地关闭。
l 可选地,非电源门控导轨的某种形式的始终保持电源。这是在设计的标准单元部分支持状态保留寄存器所必需的。
l 为隔离单元提供始终打开的电源。
l 一种非电源门控电源,用于电源门控控制器和所有功率控制信号的缓冲器:电源开关控制、保持控制和隔离控制。
l 一种SOC级的始终开机电源,用于控制外部轨道开关与电源握手。
图6-3给出了具有独立的“VDDCPU”和常开域“VDDSOC”、VSS接地的电源网络。在本例中,电源门控标准单元区域有一个非门控状态的保持电源,表明在电源门控区域内有一个常开电源轨: