ZYNQ7020系列——PLL学习

这篇博客深入探讨了FPGA中的时钟管理,重点介绍了BUFG、BUFR、BUFH和BUFMR等时钟缓冲器的特性及其在不同时钟区域的应用。BUFG提供全局时钟信号,适用于资源需求高的场景;BUFR则在局部时钟区域使用,路径延时较低。同时,文章提到了SRCC和MRCC在时钟区域的限制,以及locked引脚在时钟稳定性检测中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要是PLL内部结构的知识:

在这里插入图片描述32个BUFG,上下各16个,划分为Clock Region,每个块的时钟就是BUFR。

  • BUFG可以通过Clock Backbone到达任意一个Clock Region,以及通过HROW到达Clock Region内部的每个时钟单元,路径延时低。当使用逻辑资源多时,必须使用BUFG,少的时候可以用BUFR。
  • BUFH只能通过HROW在左右相邻的时钟域工作。
  • BUFMR可以工作在相邻的时钟区域。
  • CC是时钟管脚。

BANK34
SRCC 只能作用于本时钟区域,MRCC能作用于相邻的时钟区域,引脚分为P、N,是可以连接差分信号,如果单端,像原理图,就必须连到P端,否则编译器报错。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
locked引脚代表时钟锁定,即时钟已经稳定了。

### Zynq-7020 时钟引脚配置和使用方法 #### 配置概述 Zynq-7020 设备中的时钟配置主要集中在 Clock Configuration 页面。此页面允许用户配置 PS 输入时钟、外设时钟,以及 DDR 和 CPU 时钟等[^1]。 #### 外部时钟源连接 对于 PS 的输入时钟,其频率范围应限制在 30 至 60 MHz 之间。通常情况下会选择 33.33 MHz 这一标准值,因为这一频率便于生成内部所需的各种时钟信号[^2]。外部时钟可以通过专用的时钟引脚接入到设备中。 #### 内部 PLL 设置 PS 上外设的时钟源既可以由内部相位锁定环路 (PLL) 生成,也可以来自外部时钟源。当采用内部 PLL 作为时钟源时,需要注意同一 PLL 可能需要产生多种不同频率的时钟信号,这可能导致实际获得的频率并非完全精确。因此,在完成配置之后应当检查 Actual Frequency 列来确认最终实现的具体频率数值。 #### GPIO 功能复用 类似于 STM32 芯片上的情况,Zynq-7020 中的一个物理引脚也可能具备多重功能选项——既可以用作普通的 I/O 接口,也能被指定用于 SPI 或者其他特定用途。具体的功能选择取决于当前的应用需求,并且需要通过相应的软件或硬件配置来进行设定[^3]。 ```c // 示例代码展示如何初始化并配置一个GPIO引脚为时钟输出模式(伪代码) void configure_clock_output_pin(int pin_number, int frequency){ // 假定有一个函数可以设置某个引脚的工作模式 set_gpio_mode(pin_number, MODE_CLOCK_OUTPUT); // 使用假设存在的API去调整该引脚发出的时钟信号频率 setup_clock_frequency(frequency); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值