通信算法之327:Vivado中时钟clocking wrizard IP核


学习目标:clocking wrizard IP核

提示:clocking wrizard属于非常常用的IP核,可用于时钟的分频、倍频,在工程中需要多个时钟时,通常选用IP核由主时钟产生其他时钟。

在这里插入图片描述

一、Clocking Options

1、Clock Monitor选项是时钟监控,一般情况下不勾选。

2、该IP核具有两种结构:mixed-mode clock manager (MMCM) 和 phase-locked loop (PLL)

这两种primitive架构不同,MMCM实现更复杂一些,具有更多的features。

MMCM可以实现Spread Spectrum和差分输出,最多可以出7个clock,PLL最多6个。倍频分频的方式也不同。

一般选择MMCM结构。

3、Clocking Features

Frequency Synthesis选项是允许输出时钟具有不同频率,就是输入和输出的频率可以不同;

Phase Alignment是相位锁定,即输出时钟的相位被锁定到一个时钟参考点,一般是指与输入时钟同步;

Minimize Power是低功耗,减少资源,但是是以频率、相位偏移或占空比精度为代价的(不建议,除非有要求);

Dynamic Recomfig是动态配置,其允许你更改原语的编程设备配置(一般用不到);

Dynamic Phase Shift是动态相移,允许你更改输出的相位关系时钟;

Safe Clock Startup是安全时钟启动,一般用于模块需要一个接一个的系统操作很有用;

Jitter Optimization一般情况选择Balanced。

(1)balanced:在抖动优化时选择比较均衡的正确带宽。

(2)minimize output jitter:使输出时钟抖动最小,但是可能会增加功耗或资源,可能导致输出相位错误。

(3)maximize input jitter filtering:该选项表示可使输入时钟抖动变大,但是可能会导致输出时钟抖动变大。

4、Input Clock Information

Primary:主参考时钟输入,input jitter 一般根据实际时钟质量选择,如果为正常内部时钟,可选0.010;最后面source选项根据输入时钟的实际情况选择,包含Single ended clock capable pin(单端时钟)和 Differential clock capable pin(差分时钟);

Secondry:副参考时钟输入。Secondry时钟工作时,会导致输出时钟的质量变差(频率、相位、抖动)。

二、Output Clocks

1、Requested是需求输出频率,Actual是实际输出频率,Duty Cycle是占空比,Drives是输出信号的时钟类型(根据实际情况选择,如果资源允许,一般情况下选BUFG)。

2、Clocking Feedback

Source:如果之前有选相位校准,该选项框为相位校准的反馈控制,一般情况下选择automatic control on-chip,在反馈信号为我们自己控制的时候可以选择user-controlled feedback。其中on-chip和off-chip为反馈路径是否在片内,一般情况下选automatic control on-chip:反馈自动控制在片内。

Signaling:选择反馈信号的类型是单端还是差分,如果选择antomatic on-chip就会默认,其他选择想根据用户实际反馈信号的类型选择。

3、Enable Optional Inputs/ Outputs for MMCM/PLL

一般情况下只选择locked,可以作为复位信号使用,或监测分频器是否输出时钟。当该分频器不产生时钟时 locked = 0,产生时钟时 locked = 1。

三、The Others

MMCM Setting可以不用改,其是由前面的设置自动生成最优的。如果需要更改,可以勾选Allow Mverride Mode。

Summaru是自己的设置摘要,无参数设置。

四、Clocking Wizard使用注意事项

1、当将主时钟选作分频器的输入时钟后,工程中其他部分还需用到该主时钟时,最好由分频器输出一个同样频率的主时钟,而不是继续用原本的主时钟。因为此时该主时钟和其他分出来的时钟”对齐“,避免出现错误。

2、输出端口数越靠后,误差越大

时钟选项如上图,Primitive选项里面:
1、MMCM:混合模式时钟管理器
2、PLL:锁相环
PLL和MMCM区别 :最大的区别MMCM可以实现动态调整,PLL没有办法实现动态调整

  • 一 https://www.cnblogs.com/Ivan0506/p/16142844.html
  • [ ]

学习内容:

Clocking Wizard IP:

Clocking Wizard IP 是 Xilinx Vivado 工具中的核心时钟管理模块,用于在 FPGA 中生成高精度、低抖动的多路时钟信号,其核心功能与配置要点如下:

⚙️ 一、核心功能与架构
‌时钟生成机制‌
基于 FPGA 内部的 ‌MMCM‌(混合模式时钟管理器)或 ‌PLL‌(锁相环)硬件资源,支持输入时钟的倍频、分频、相位偏移及占空比调整。
MMCM 相比 PLL 功能更强:
支持动态相位/频率重配置(运行时调整)
占空比可编程
相位调整精度更高(1/56 VCO 周期 vs PLL 的 1/8 VCO 周期)。
二、动态重配置能力
‌接口类型‌
‌AXI4-Lite 接口‌:通过处理器(如 Zynq PS 或 MicroBlaze)动态修改寄存器,实时调整输出时钟频率、相位)。
‌DRP 接口‌:硬件直接访问配置寄存器,无需处理器介入。
‌应用场景‌
扫频信号生成(如 88MHz–108MHz 以 0.1MHz 步进调整)、低功耗模式切换。
三、配置流程(Vivado 环境)
‌基础配置‌
在 IP Catalog 添加 “Clocking Wizard”,选择 MMCM/PLL 类型。
设置输入时钟参数(频率、源类型如差分/单端)。
‌输出时钟定义‌
添加多路输出时钟,独立配置频率、相位及占空比(例如 CLK_OUT1=200MHz/0°、CLK_OUT2=50MHz/90°)。
‌启用动态功能‌
勾选 “Enable Dynamic Reconfiguration” 并选择接口类型(AXI4-Lite 或 DRP)。

四、代码例化示例

Copy Code
clk_wiz_0 clk_gen_inst (
.clk_in1 (sys_clk), // 输入时钟(如 100MHz)
.reset (reset), // 异步复位
.clk_out1 (clk_200m), // 输出时钟 1(200MHz)
.clk_out2 (clk_50m), // 输出时钟 2(50MHz)
.locked (clk_locked) // 时钟稳定标志
);

动态调整相位示例(AXI4-Lite 接口):
always @(posedge clk) begin
if (phase_inc) begin
clk_gen_inst.mmcm_psclk = 1’b1;
clk_gen_inst.mmcm_psen = 1’b1; // 使能相位调整
clk_gen_inst.mmcm_psincdec = 1’b1; // 增加相位
end
end

五、关键注意事项
‌时序约束‌
必须在 XDC 文件中约束生成时钟,避免跨时钟域冲突。
‌资源与抖动‌
每个 Clocking Wizard 消耗 1 个 MMCM/PLL 资源,需评估 FPGA 剩余量)。
优先选择 MMCM 以实现更低抖动(尤其适用于高速接口如 PCIe/DDR)。
‌锁定信号‌(locked)
必须监控此信号,仅在 locked=1 时使用输出时钟,避免系统不稳定。

六、典型应用场景
‌多时钟域设计‌:为逻辑模块、存储器接口提供独立时钟。
‌高速通信‌:驱动 GTP/GTX 收发器、以太网 MAC。
‌信号采集系统‌:精密控制 ADC/DAC 采样时钟相位。
提示:动态重配置时,需严格遵循寄存器映射规则(参考 XAPP888 手册)。

例如:

  1. 搭建 Java 开发环境
  2. 掌握 Java 基本语法
  3. 掌握条件语句

学习时间:

提示:这里可以添加计划学习的时间

例如:

  • 周一至周五晚上 7
  • 点—晚上9点
  • 周六上午 9 点-上午 11 点
  • 周日下午 3 点-下午 6 点

学习产出:

提示:这里统计学习计划的总量

//例化 PLL IP 核
clk_wiz_0 clk_wiz_0(
    //clock out ports
    .clk_out1         (clk_50m    ),   //output clk_out1
    .clk_out2         (clk_100m   ),   //output clk_out2
    // Status and control signal
    .locked           (locked     ),    //output locked
    //clock in port
    .clk_in1          (sys_clk    )     //input clk_in1
);

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个
  • https://blog.csdn.net/2301_76707170/article/details/140875187

提示:如果文章对你有帮助,请记得关注CSDN号。本公众号将持续更新相关的技术话题,谢谢。

提示:如果文章对你有帮助,请记得关注CSDN号。本公众号将持续更新相关的技术话题,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋风战士

你的鼓励是我创造的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值