Zynq-7000 CPU系列时钟详解
扫描二维码
随时随地手机看文章
在此之前,先看看Zynq-7000系列时钟介绍,下图显示 CPU 时钟域中的时钟生成网络
CPU 时钟生成和域
1比率示例
CPU 时钟域以6:2:1和4:2:1两种模式运行。下图显示了这些模式和模块在每个时钟域中运行的示例频率。
CPU 时钟频率比示例
2CPU 时钟分频器限制
为了提高进入 CPU 和 DDR 的高速时钟的质量,需要在slcr.ARM_CLK_CTRL [DIVISOR]位字段中将它们除以偶数,对于slcr.ARM_CLK_CTRL [DIVISOR],软件必须将其编程为等于或大于 2。
3时钟使用
在正常使用过程中,大多数系统时钟将通过获取输入时钟PS_CLK,将其发送到PLL,最后将其分频在PS内使用来导出。
虽然 PS 生成许多不同的时钟,但系统中交互作用最大且重要性最大的时钟域有 3 个:
-
DDR_3x 域
-
DDR_2x 域
-
CPU 时钟域
DDR_3x 时钟域包括 DDR 存储器控制器, DDR_2x 域主要用于到 PL(AXI_HP{0:3})和互连的高性能 AXI 接口, CPU 时钟域控制 ARM 处理器以及许多 CPU 外设。
CPU 时钟域由四个独立的时钟组成:
-
CPU_6x4x
-
CPU_3x2x
-
CPU_2x
-
CPU_1x
这四个时钟是根据它们的频率命名的,它们与以下两个比率之一相关:6:3:2:1 或 4:2:2:1(缩写为 6:2:1 和 4:2:1),操作时钟比率由CLK_621_TRUE [0]位值决定,在6:2:1模式下,CPU_6x4x 时钟的频率是 CPU_1x 时钟的 6 倍。
所有 CPU 时钟相互同步;而DDR时钟相互独立,CPU时钟相互独立, CAN 参考时钟和 SDIO 参考时钟等 I/O 外设时钟都是通过类似的方法生成的,从 PS_CLK 引脚开始,经过一个 PLL,然后是一个分频器,最后到达外设目的地,每个外设时钟与所有其他时钟完全异步。
4互连时钟域
各个时钟域如图所示:
系统时钟域
中央互连有两个主要时钟域:DDR_2x 和 CPU_2x。对于五个子开关,四个时钟在CPU_2x时钟域中,而内存互连时钟在DDR_2x时钟域中。
CPU(通过 L2 缓存)和 DDR 控制器之间的直接路径在 DDR_3x 时钟域中,确保最大吞吐量。
CPU 和 OCM 之间的直接路径在 CPU_6x4x 时钟域中。
SCU ACP 和 PL 之间的直接路径在 CPU_6x4x 时钟域中(PL 时钟域和 CPU 时钟域之间的时钟域交叉在 PS 中的异步 AXI 桥接器中完成。
5CPU时钟停止
可以使用slcr.A9_CPU_RST_CTRL.A9_CLKSTOP{0,1}单独停止每个 CPU 时钟。
6PS 外设 AMBA 时钟
PS 内的每个外设都提供有自己独立门控版本的 CPU 时钟,用于连接到控制和状态寄存器的 AMBA 总线,有时还连接到控制器逻辑本身。当保证外设未被寻址时,可以禁用该时钟。
7系统性能
PS 不同时钟域的时钟频率有助于决定总体系统性能,在许多情况下,最高频率的 CPU 时钟会带来最高的性能,然而,一些用户会发现 CPU 不是系统中的关键执行者,互连带宽是瓶颈,在这种情况下,将比率从6:2:1切换到4:2:1模式可能会很有用。
根据设备速度等级,CPU 时钟频率在6:2:1模式下可能受 cpu_6x 限制,而在4:2:1模式下可能受 cpu_2x 时钟限制。
因此,建议对于那些可能会交换某些 CPU 性能以换取互连性能的应用程序,请查看相应的数据表以确定最佳频率。





