首页 > 技术 > 内容

FPGA设计中动态时钟的使用方法

时间:2025-12-02  作者:Diven  阅读:0

时钟是每个 FPGA 设计的核心。如果我们正确地设计时钟架构、没有 CDC 问题并正确进行约束设计,就可以减少与工具斗争的时间。

但对于某些应用,我们希望能够更改某些IP中的时钟频率。其中一个例子是在图像处理管道中,输出分辨率可以动态变化,从而需要改变像素时钟。

众所周知,我们可以在 Zynq SoC 和 Zynq MPSoC 中使用结构时钟并在运行时更改结构时钟的频率。但是,如果我们在 Zynq 或 ZYNQ MPSoC 中使用 FPGA 或 PL,我们仍然可以使用动态配置的时钟向导在运行时更改频率。

动态配置时钟允许我们使用 AXI 接口在运行时更改时钟频率。为了创建一个简单的示例,我们将实例化PS并将动态配置时钟IP连接到主 AXI 接口。我们将输出时钟连接到 IO 引脚,以便我们可以对其进行观察并查看频率的变化。上面的时钟是我们打算使用的最大频率,这样可以确保时序约束和时序性能正确。下图是我们这次demo的最终设计。接下来我们将在 Vitis 中开发软件,并且将在设计中的 IP 下看到相关驱动及文档。

开发这个IP的驱动和其 AXI Lite 接口一样,需要对IP寄存器空间进行写入和读取。

要更改时钟频率输出,我们有两种选择。如果只生成一个时钟,我们可以使用名为 SetRate 的函数。该函数将通过AXI Lite总线传递到IP中,IP会给出我们所需的频率输出,并计算必要的分频器、乘法器和相位参数实现所需的输出频率。

如果我们有多个时钟,那么我们需要分别计算这些寄存器的值并单独更新时钟寄存器(每个时钟有两个寄存器)。

这里有个注意点就是在进行时钟更改前最好等待IP锁定到之前的频率后再进行新操作。

更改频率的代码还是比较简单的,如下:当然,我们也可以使用类似的方法,通过将时钟频率降低来实现不同功耗模式下 FPGA 的功耗,从而实现降低功耗的功能。

猜您喜欢


Qorvo作为一个传统的无线射频芯片的领先半导体厂商,他们的产品线在最近几年通过系列的并购已经有了很大的扩张。除了之前电子发烧友网粉丝们非常熟悉的BLDC控制M...
2024-07-18 14:00:00
测量贴片电阻阻值及好坏,主要使用万用表。 将万用表调至合适的电阻档位。对于小阻值电阻(例如几欧姆到几百欧姆),选择较低的档位;对于较大阻值电阻(例如几千欧姆到几...
2024-11-29 10:26:07
NTC热敏电阻(Negative Temperature Coefficient Thermistor)是常用的温度传感器,其电阻值温度的升高而降低。由于其高灵...
2025-04-19 15:01:11
TO-220-3是一种广泛应用于电子设备中的封装类型,因其优越的散热性能和较高的功率处理能力而受到青睐。它通常用于晶体管、集成电路和其他功率器件的封装中。本文将...
2025-02-24 10:19:19
二极管作为重要的半导体器件,应用于电子电路中,其性能的好坏直接影响到整个电路的稳定性和可靠性。了解如何判断二极管的性能显得尤为重要。本文将从多个方面介绍判断二极...
2025-04-09 01:31:40
电流检测电阻作为电路中关键的元器件,在电流检测和控制中起着非常重要的作用。顺络电子(Sunlord)作为国内知名的电子元器件制造商,其电流检测电阻凭借优良的品质...
2023-02-21 20:56:49
现代电子产品的设计中,芯片的封装形式对其性能和应用范围有着重要影响。WSON8_2X2MM_EP(Wafer-LevelChipScalePackage)是一种...
2025-02-24 11:46:05
电子元器件中,排阻是常见的组件,应用于电路中以实现电阻分压、限流等功能。焊接排阻是电子组装中重要的一环,直接影响到电路的性能与稳定性。本文将详细介绍排阻的焊接技...
2025-04-18 06:31:08
现代电子产品中,封装技术扮演着至关重要的角色。SOP16_300MIL作为一种常见的封装形式,广泛应用于各种电子元件的设计与制造中。本文将对SOP16_300M...
2025-02-24 11:35:13