电源门控设计
给定电源开关结构、隔离策略和保持策略,我们现在可以设计控制掉电和上电排序的电源控制器。
电源控制顺序
从上面的讨论中,我们提取了以下对无保留寄存器的电源门控的要求。
不带保留寄存器的电源门控:
- 刷新任何正在进行的总线或者外部操作
- 在适当的阶段停止时钟,以尽量减少电源门控区域的泄漏
- 确认隔离控制信号,使所有输出都处于安全状态
- 确认块复位,以便它在复位条件下上电
- 置位电源门控控制信号以关闭模块
恢复供电:
- 取消电源门控信号,以恢复电源模块
- 根据电流涌流管理方法和技术,可选地对上电的多个控制信号进行排序,分阶段上电。
- 取消断言复位,以确保在门控上电后进行干净的初始化
- 取消隔离控制信号以恢复所有输出
- 重新启动时钟,没有毛刺,没有违反最小脉冲宽度的设计限制。 无保留寄存器的电源门控模块的电源控制顺序如图5-7所示。
对于具有保留寄存器的块,我们必须将保存和恢复信号添加到电源门控序列中。
- 刷新任何正在进行的总线或外部操作
- 在适当的阶段停止时钟以最大程度地减少进入电源门控区域的泄漏
- 确认隔离控制信号,使所有输出都处于安全状态
- 确认保留状态保存条件(脉冲或边缘触发取决于技术)
- 确认对块中的非保留寄存器进行复位,以便它们在复位条件下启动
- 确认电源门控控制信号关闭模块
恢复供电和保留状态:
- 取消电源门控信号,以恢复电源模块
- 根据电流涌流管理方法和技术,可选地对分相上电的多个控制信号进行排序。
- 取消断言复位,以确保在门控上电后进行干净的初始化
- 确认状态保持恢复条件(脉冲或边缘触发取决于技术)
- 取消隔离控制信号以恢复所有输出
- 重新启动时钟,没有毛刺,没有违反最小脉冲宽度的设计限制
握手协议
电源门控控制需要时间。电源门控开关结构必须设计限制可能破坏保留寄存器或其他上电逻辑的电压峰值。大多数设计通过在上电时限制电流,从而限制电压上升到最终值的速率来实现这一点。
电源控制器必须适应这个过程。特别是,它必须等到电源启动完成后才发出恢复。也就是说,它必须在上电和恢复之间插入一个延迟。
最简单的方法是在控制器排序中建立一个固定的延迟,计数器可以添加足够的时钟周期来满足上电或关闭时间,然而在RTL中嵌入这些时间常数将使得RTL与特定开关结构的时序联系起来。结果是IP的可移植性和可重用性明显降低。即使将一个工作产品迁移到下一代技术节点(其中电源门控时间可能不同),也需要对RTL进行更改。
因此,我们建议使用请求-确认握手来控制电源开关结构。
该协议示例如图5-9所示。电源控制器发出N_PWR_REQ来关闭电源开关。当电源完全关闭时,开关结构负责返回N_PWR_ACK。上电时,控制器将取消断言N_PWR_REQ,以打开开关结构。当开关结构完全打开并且可以安全进行时,开关结构将拉低N_PWR_ACK。当控制器看到确认时,它继续恢复并继续通过上电序列。
在许多应用中,电源确认信号是异步的—它的时序取决于开关结构的设计。由于这个原因,电源控制器需要在使用它之前将其与自己的时钟同步。
电源门控中的建议与陷阱
建议:
- 为电源门控设计带有请求和确认握手的控制协议。
- 建立内置联锁和同步机制以确保一个安全的唤醒序列。
陷阱:
一个关键的情况是,当控制器尝试在断电后立即给块上电,而实际上断电还没有完成。也就是说,当电源结构只是部分断电时,电源启动序列启动。设计人员在设计电源控制器时需要仔细考虑这种情况。请记住,断电时间取决于半导体工艺和温度。