跳转至

时钟与复位

本章介绍处理器内使用的时钟和复位。

1. 时钟与时钟使能

Cortex-R52 处理器只有一个时钟,用于驱动其所有触发器(flops)和 RAM。包括复位输入在内的多种输入带有同步逻辑,使其能够异步于处理器时钟工作。大多数总线具有使能输入,允许其以处理器时钟的整数分频工作。

Cortex-R52 处理器为所有核及其相关逻辑提供一个主时钟输入。每个核使用一个门控时钟,该时钟可在 WFI 低功耗模式或 WFE 低功耗模式下被禁用。有关这些模式的更多信息,请参见第 5-194 页的 5.3 Architectural clock gating。

在采用 DCLS 和 Split/Lock 的系统中,为冗余逻辑提供了单独的时钟输入。该时钟输入必须与主时钟输入频率相同并与之保持平衡。在 DCLS 和 Split/Lock 配置中,所有输入必须与时钟同步,以防止同步器引起偏差。

下表给出了时钟信号。

信号 方向 描述
CLKIN 输入 主时钟。
CLKINDCLS 输入 锁步(lock-step)配置中冗余逻辑使用的冗余时钟。

处理器各总线端口均可以主处理器时钟的整数分频工作。这是通过时钟使能输入实现的。

下表给出了时钟使能信号。

信号 方向 描述
PCLKENDBG 输入 APB 时钟使能。
ACLKENMx 输入 AXIM 接口时钟使能。
ACLKENS 输入 AXIS 接口时钟使能。
ATCLKEND 输入 数据跟踪的 ATB 时钟使能。
ATCLKENI 输入 指令跟踪的 ATB 时钟使能,以及 TSVALUEB[63:0] 的时钟使能。
ACLKENFx 输入 Flash 接口时钟使能。
CNTCLKEN 输入 计数器时钟使能 CNTVALUEB。
ACLKENPx 输入 LLPP 时钟使能。

2. 复位信号

Cortex-R52 处理器具有复位输入,用于实现以下操作:

  • 整个处理器的上电复位,或意外安全错误时的复位。
  • 核关断后对单个核的复位。
  • 对单个核的热复位,或仿真关断后的复位。
  • 整个处理器的调试复位。
  • MBIST 复位。

只有在相关核处于静止(quiescent)状态时,才能仅复位单个核而不复位其周边系统。无论是否仿真,核关断后即处于该状态。如果需要在其他时间使用此功能,例如出于安全目的进行周期性预防性复位,则软件必须首先使处理器进入类似关断模式的静止状态。

下表给出了复位及复位控制信号。

注意: 如果配置了 DCLS 或 Split/Lock,所有复位信号必须与处理器时钟同步。

信号 方向 描述
nCORERESETx 输入 单核热复位。
0:对核 x 施加复位,不包括调试和跟踪逻辑。
1:不对核施加复位。
nCPUPORESETx 输入 单核上电冷复位。
0:对核 x 施加复位,包括调试和跟踪逻辑。
1:不对核施加复位。
nTOPRESET 输入 顶层复位。复位顶层功能逻辑。
0:复位顶层功能逻辑。
1:不复位顶层功能逻辑。
nCORERESETDCLSx 输入 单核冗余热复位。该输入必须与 nCORERESET 完全相同。
0:对核 x 的冗余副本施加复位,不包括调试逻辑。
1:不对冗余核施加复位。
nCPUPORESETDCLSx 输入 单核冗余上电冷复位。该输入必须与 nCPUPORESET 完全相同。
0:对核 x 的冗余副本施加复位,包括调试逻辑。
1:不对冗余核施加复位。
nTOPRESETDCLS 输入 顶层冗余逻辑复位。复位处理器内所有冗余逻辑。该输入必须与 nTOPRESET 完全相同。
0:对所有冗余逻辑施加复位。
1:不对所有冗余逻辑施加复位。
nPRESETDBG 输入 APB 复位:
0:对 APB 和顶层调试逻辑施加复位。
1:不对 APB 和顶层调试逻辑施加复位。
nMBISTRESET 输入 MBIST 复位。
0:对 MBIST 施加复位。
1:不对 MBIST 施加复位。

在正常工作时,所有复位信号均处于去断言状态。下表给出了各种复位场景及相应的断言复位信号。复位触发器使用异步复位输入。

信号与场景 上电 核上电 核热复位 调试 MBIST
核功能逻辑:nCORERESETx 是 是 是 否 否
核功能与调试逻辑:nCPUPORESETx 是 是 否 否 否
L2 系统(AXIS 和 GIC):nTOPRESET 是 否 否 否 否
调试:nPRESETDBG 是 否 否 是 否
MBIST:nMBISTRESET 是 否 否 否 是

断言时,上电复位会异步传播到触发器。

所有复位在去断言时都经过同步,以满足触发器处的时序要求。执行逻辑扫描时,所有复位信号都能被禁用,这包括主输入同步器以及为每个核提供的同步器。

在采用 DCLS 的系统中,为冗余逻辑提供了单独的复位输入,并期望其行为与主复位输入完全相同。唯一的例外是发生故障时,此时它们的行为不再相同。

当 Cortex-R52 处理器退出复位时,它会自动无效化指令缓存和数据缓存,并在该过程完成前阻止任何查找。在自动缓存无效化操作进行期间,核不使用缓存。这可能在复位后短时间内影响核性能。自动缓存无效化还会初始化 RAM 的 ECC 校验子(syndrome)值。

3. 复位相关信号

每个核有两个复位请求输出,可用于请求热复位。这些信号是否参与复位输入,由 Cortex-R52 处理器外部的复位控制逻辑决定。

下表给出了复位相关信号。

信号 方向 描述
WARMRSTREQx 输出 热核复位请求。
DBGRSTREQx 输出 来自外部调试逻辑的复位请求。
CPUHALTx 输入 核退出复位后等待该信号,之后才进入复位异常并取指。
CFGINITREG 输入 复位后程序可见寄存器初始化为固定值。
CFGL1CACHEINVDISx 输入 禁用复位后的 L1 缓存自动无效化。

当软件向 HRMR.RR 写入 1 时,WARMRSTREQx 被断言。当调试器向 EDPRCR.CWRR 写入 1 时,DBGRSTREQx 被断言。