组件可能支持两种基本的复位类型。
• 冷复位:重置组件中的所有逻辑。用作上电复位。
• 热复位:重置组件中的大部分逻辑。通常,复位的范围是所有功能逻辑。不包括在热复位中的逻辑会随组件类型而变化,但通常会排除诸如调试和 RAS 综合寄存器等功能。
当同时存在这两种复位类型时,通常会按照图 7.28 所示的方式实现。
在某些情况下,组件将省略冷复位和热复位信号的内部组合,仅提供每个逻辑分区的复位信号。冷复位和热复位域信号可以在组件外部轻松形成。
SoC 的复位域主要与实现的电源域层次结构对齐。在电源域级别,组件复位信号被聚合成冷复位和热复位域信号。在实践中,许多组件具有每个时钟域的复位信号,并且这些信号会通过适当的同步聚合成电源域复位信号。
与复位和电源控制逻辑使用相关的组件设计准则在低功耗接口逻辑复位中给出。
大多数组件仅具有冷复位信号,本节剩余部分概述了具有特定复位要求的组件和子系统的复位信号要求。
应用处理器
ARMv8-A 架构支持 PE 的冷复位和热复位。热复位排除了对允许在 PE 逻辑重置时进行调试的集成调试逻辑的复位。
该架构提供了一种使用复位管理寄存器请求 PE 热复位的方法。所需的复位请求序列保证了在应用复位时,核心处于静止状态,并且不生成任何总线事务。
外部调试寄存器还提供了一种请求 PE 热复位的方法。核心是否在通过此方式请求时重置是由实现定义的。但是,如果核心被复位,则不能保证它处于静止状态。在不保证静止状态的情况下使用热复位在热复位中进行了描述。
ARMv8-A 架构还支持调试域逻辑的外部调试复位。调试域逻辑的复位请求在 CoreSight 子系统中进行了描述。
CoreSight 子系统
调试复位请求描述了调试器如何使用调试端口 (DP) 请求调试域逻辑的热复位。调试和跟踪逻辑组件通常只有一个复位信号,因此在系统级别对于冷复位和热复位都会断言该信号。
尽管 DP 不提供任何控制位来请求系统复位,但 ARM 调试接口架构规范 ADIv6.0描述了,对调试器的物理接口通常包括一个用于启动完整系统复位的系统复位引脚 nSRST。