使用clock Wizard可以自动化创建时钟网络的过程,因此强烈推荐使用。Clocking Wizard的主要优势在于其易用性和高效性。对于初学者来说,它提供了一个直观的界面和详细的步骤指导,使得创建和管理时钟网络变得简单而直接。对于高级用户,Wizard则提供了足够的灵活性和自定义选项,以满足复杂设计的需求。
双击所选的IP,或从工具栏或右键菜单中选择“Customize IP”命令。
监视Clocking Wizard的时钟输入。可以监控多达四个时钟。通常是MMCM/PLL的输入。
它还可以检测时钟频率的变化、时钟抖动或时钟停止。此外,它还允许指定所需的容差。例如,想在频率比高出1 MHz时看到错误,则需要指定1 MHz的容差。
这对于调试和监控系统健康状态非常有用,特别是在需要实时监控时钟性能的应用中。
3.1.1 时钟停止
当时钟信号在超过10个时钟周期内保持平坦(即没有变化)时,时钟停止信号会变为高电平。时钟停止信号不会立即变为高电平,从时钟信号平坦开始,可能需要最多256个时钟周期的时间。这种计算需要一组参考时钟周期作为依据,时钟停止信号变为高电平的时间取决于用户时钟(user_clk)和参考时钟(ref_clk)的比率。
3.1.2 时钟抖动
时钟监视器能够检测到的用户时钟中的最小抖动是一个参考时钟周期。时钟抖动条件可能与时钟溢出(Clock Overrun)重叠。
3.1.3 时钟频率超出范围
时钟监视器会检测用户时钟频率是否超出或低于所需的频率。
如果信号频率远低于所需频率,则在停止状态下,时钟下溢信号也可能变为高电平。
在某些情况下,如果最大用户时钟频率(例如,280 MHz)和最小用户时钟频率(例如,10 MHz)之间存在较大差异,时钟监视器可能无法检测到超出范围(OOR)或抖动(glitch)。
“Clocking Wizard”是一个软件工具,用于帮助用户配置和管理时钟信号。而“时钟基本元件(Primitive)”中的MMCM和PLL则是指用于生成或处理时钟信号的硬件组件。
3.3.1 Frequency Synthesis(频率合成)
允许生成具有不同频率的输出时钟。
3.3.2 Phase Alignment(相位对齐)
允许输出时钟相位锁定到参考源,如设备的输入时钟引脚。
通过相位对齐,可以确保不同时钟域之间的同步。
3.3.3 Dynamic Reconfiguration(动态重新配置)
允许在设备配置后更改基本元素的编程。选择此选项时,AXI4-Lite接口将默认用于重新配置时钟基本元素。
这提供了更高的灵活性和可维护性,使得系统能够在运行时适应不同的工作条件或进行故障恢复。
3.3.4 Safe Clock Startup and Sequencing(安全时钟启动和时序)
确保输出获得稳定且有效的时钟信号。它还允许按照配置中指定的特定顺序启动时钟。
在需要严格时序控制的系统中,如多核处理器或需要精确同步的并行处理系统中,此功能尤为关键。
3.3.5 Minimize Power(最小化功耗)
允许最小化基本元素所需的功耗。这可能以牺牲频率、相位偏移或占空比精度为代价。
3.3.6 Spread Spectrum(扩频)
提供了调制输出时钟,这减少了电子设备产生的电磁干扰(EMI)的频谱密度。这一功能仅适用于MMCM(E2/E3/E4)_ADV基本元素。目前尚不支持对该功能的UNISIM仿真。
这对于需要满足特定电磁兼容性(EMC)标准的应用场景非常有用,如汽车、航空航天和医疗设备等领域。
3.3.7 Dynamic Phase Shift(动态相位偏移)
允许在运行时更改输出时钟的相位关系。
3.4.1 Balanced(平衡)
通过选择平衡模式,软件会自动选择正确的带宽以优化抖动性能。
这有助于在保持系统稳定性的同时,减少时钟信号中的抖动,提高系统性能。
3.4.2 Minimize Output Jitter(最小化输出抖动)
能够最小化输出时钟的抖动,但可能会牺牲功耗和输出时钟相位精度。
在追求极低抖动性能的场景中,如高速数据传输或需要精确时序控制的应用中,这一功能非常有用。
此功能与最大化输入抖动滤波功能不能同时启用。
3.4.3 Maximize Input Jitter filtering(最大化输入抖动滤波)
允许输入时钟有较大的抖动,但可能会对输出时钟的抖动产生负面影响。
同样地,此功能与最小化输出抖动功能不能同时启用。
默认行为是使用一个输入时钟,但也可以通过选择次级时钟源(Secondary)来选择两个输入时钟。只需要提供输入时钟在指定单位下的时序参数;Clocking Wizard会根据需要使用这些参数来配置输出时钟。IDE提供了选择辅助输入时钟的选项,以启用额外的输入时钟。如果选择“Spread Spectrum”(SS)功能,则“Clocking Wizard”中将禁用secondary输入时钟。
有效的输入频率范围是:
未选择SS时的频率:10 – 1066 MHz
选择SS时的频率:25 – 150 MHz
注意:这些输入频率范围因所选设备而异。
输入时钟的频率和抖动(Jitter)
Clocking Wizard允许使用下拉菜单在用户界面(UI)或处理器系统(PS)单位中指定输入时钟抖动。
输入时钟的频率和jitter后,Clocking Wizard将使用这些信息来创建时钟网络。为了获得最佳的计算时钟参数,最好完全指定这些值。例如,如果时钟要求是33 1/3 MHz,则应输入33.333 MHz,而不是33 MHz。
可以选择驱动输入时钟的缓冲类型,这将在提供的源代码中进行实例化。如果输入缓冲区位于外部,选择“No buffer”将留空连接。如果选择“Phase Alignment”,则无法访问非时钟专用引脚,因为非时钟引脚引入的偏斜无法与组件匹配。可以通过选择UI或PS下拉菜单来选择输入时钟抖动的单位。输入抖动框将基于此选择接受值。
在IP集成器中,当选择Clocking Wizard IP以针对板卡部件时,生成的主时钟和辅助时钟的频率值将以浮点数格式显示。例如,如果主时钟频率为100 MHz,则显示为100.000而不是100。
在数字电路设计中,时钟抖动是指时钟信号的边沿(上升或下降)在理想位置上的微小偏差。这种偏差可能由多种因素引起,如电路噪声、温度变化或电源波动等。时钟抖动会对系统的时序性能产生影响,可能导致数据传输错误或系统不稳定。