本文摘要
前面的章节已经从系统架构师和芯片设计师的角度讨论了低功耗设计。本文从设计复杂IP(如处理器、DSP、USB、PCIE和总线)的工程师的角度介绍低功耗设计。
在我们完成 IP 的架构、设计和封装过程时,我们需要牢记任何可以在芯片IP中实现低功耗设计的技术:
• 多 VT
• 时钟门控
• 电源门控(内部和/或外部)
• 电压调节
对于某些类型的 IP,可能需要对这些功能提供不同类型的支持。
存储块和其他硬 IP 块对低功耗有特殊要求。低功耗存储器通常具有多种模式:正常操作模式、保留模式和断电。在保留模式下,电压降低到保留数据所需的最小值,但低于进行读取和写入所需的电压。
USB 或 PCIE等 IO 标准的物理层接口通常也有不止一种电源模式。除了正常工作模式外,可能还有一种完全关闭模式,可以使功耗接近于零。可能还有一种额外的操作模式,其中足够的电路通电以便它可以响应其接口上的活动而唤醒。
可配置软 IP,因为它可以由用户配置,提供了一个复杂的设计挑战,从某种意义上说,它是硬 IP 挑战的超级集。对于软 IP,必须以稳健、易于使用且灵活的用户可配置方式支持多种功耗模式和多种功耗降低技术。
1.电源门控的架构和分区
在支持各种低功耗策略时,电源门控是 IP 架构中最重要的新架构挑战。
为了支持电源门控,我们需要:
• 决定 IP 何时以及如何断电和上电
• 决定哪些模块将被电源门控,哪些模块将始终开启
• 设计一个电源控制器控制上电和断电顺序
• 确定在断电期间需要隔离哪些信号
• 制定时钟、复位和电源控制信号的初始策略
1.1如何以及何时关闭
在 SALT 芯片上,我们设计了一个包括CPU 和 USB OTG 数字内核的电源门控版本。CPU 的策略是让软件控制掉电顺序。当软件确定要关闭 CPU 电源时,它会向 CPU 电源控制器发出信号。然后控制器执行断电序列。保持足够的时间以响应中断。当适当的中断发生时,比如来自外设定时器或来自外部源,CPU 的电源控制器然后配置上电序列。
USB OTG 的策略是在空闲时间关闭电源,但仅在 CPU 允许时关闭。CPU 在 USB OTG 的寄存器中写入一个使能位以启用断电—本质上说它是通过transactions完成的。然后 USB OTG 等待 USB 总线空闲 3ms(表明 USB OTG 可以进入 SUSPEND 模式)。进入 SUSPEND 时,USB 向 USB 电源控制器发出信号以开始断电序列。如果 CPU 清除掉电使能位,或者 USB 总线上有活动,则控制器将执行上电序列。
1.2 怎样关闭以及怎样保持
图 8-1 显示了 USB OTG 数字内核的简化图。在断电期间,总线接口单元保持通电状态,以便它可以响应 CPU 的通电请求。类似地,PHY 接口模块保持通电状态,因此如果检测到 USB 活动,它可以向电源控制器发送信号并唤醒内核。时钟和复位模块也保持通电状态,为总线接口单元和 PHY 接口提供时钟。
USB OTG 内核的所有其余部分都是电源门控的。状态和控制寄存器在电源门控序列中保存和恢复,使用由单个引脚 RETAIN 控制的保持寄存器。因为协议引擎它从头开始每个事务,只需在上电时重置。
电源控制器包含在总线接口单元的 AHB 从模块中只是为了方便—它运行在 AHB 时钟之外,在电源门控期间需要保持供电,并且电源门控使能寄存器是也位于那里。但是控制器也可以很容易地成为一个单独的块。
USB OTG 数字内核的电源门控区域有两个时钟域——AHB 时钟域和 PHY 时钟域。同步器用于控制信号,包括在两个域之间传递的电源门控控制信号。因此,从电源门控控制信号有效(在 AHB 域中)到它影响 PHY 域的时间是不确定的。事实上,它可能会有很大差异,因为这两个域之间的时序关系可能因应用程序而异。
出于这个原因,请求-确认握手被用于许多电源门控控制信号。