Xilinx 7系列 clock IP核的使用(二)

在 Clocking Wizard 中的输出时钟设置部分,主要目的是生成并配置系统所需的特定时钟频率和信号。这一功能在硬件设计和开发中非常关键,因为它允许用户精确地控制各个部分的时钟信号,以满足特定的性能、功耗和时序要求。

1 配置输出时钟

要启用输出时钟,请点击其左边的复选框。输出时钟必须按顺序启用。可以在输出时钟表本身中重命名输出时钟。
在这里插入图片描述假设主输入时钟是活动输入时钟,可以为输出时钟频率、相位偏移和占空比指定值。Clocking Wizard会尝试推导出满足确切标准的时钟网络。如果找不到解决方案,将提供最佳尝试值,并在Actual列中显示。实际频率的计算会限制值到小数点后三位。在时钟网络推导过程中,实现指定的输出频率优先级高于实现指定的相位,而相位又高于占空比的优先级。用于推导clk_out信号的电路的优先级是clk_out1 > clk_out2 > clk_out3,依此类推。因此,为clk_out1频率找到解决方案具有更高的优先级。每次输入更改时,都会重新计算值。因此,最好从上到下、从左到右输入要求。这有助于确定无法完全支持的请求值。如果选择“Phase Alignment”,则相位偏移是相对于活动输入时钟的。

如果在clk_out2、clk_out3、clk_out4或clk_out5上请求180°相位偏移,Clocking Wizard会将其中任何一个时钟连接到前一个时钟。与前一个时钟相比,MMCM/PLL的反相时钟输出(clkout[0:3]B)在频率、占空比等其他属性方面与前一个时钟相同。

可以选择实例化某种类型的缓冲区来驱动输出时钟。如果需要缓冲区在外部代码中可用,则选择“No buffer”。可用的缓冲区取决于所选的器件系列。对于所有以BUFR作为输出驱动器的输出,BUFR_DIVIDE属性在HDL中可用作通用参数。在实例化设计时,可以更改BUFR的分频值。

在Clocking Wizard的“Output Clocks”选项卡中的“Max Freq. of buffer ”(如上图所示)显示了所选输出缓冲区可以驱动的时钟的最大频率。

如果选择了Dynamic Phase Shift,则“Use Fine PS”复选框将可用。这些复选框允许启用MMCM(E2/E3)上的可变精细相位偏移。对于需要动态相位偏移的任何时钟,请选择相应的复选框。当选择“使用精细PS”时,向导将请求的相位字段重置为0.000。

2 Use Clock Sequencing

当在GUI的第一个选项卡上启用“Safe Clock Startup”功能时,“Use Clock Sequencing”表将变为活动状态,并且可以为每个启用的时钟配置序列号。在此模式下,只允许使用BUFGCE作为时钟输出的驱动器。
在这里插入图片描述
7系列支持MMCM分数分频功能,对于CLKFBOUT和CLKOUT0,增量为1/8(0.125),并且可以支持更高的时钟频率合成。例如,如果CLKIN频率为100 MHz,并且M分频值设置为8,则VCO频率为800 MHz。CLKOUT0可用于进一步对800 MHz VCO频率进行分数分频(例如,CLKOUT0_DIVIDE = 2.5,导致输出频率为320 MHz)。

在Override模式下输入的分数分频值必须是0.125的倍数。否则,IP将返回一个错误,指出该值必须是0.125的倍数。
在使用分数分频器时,用于分数模式的输出不可编程占空比。在固定或动态相位偏移模式下不允许使用分数分频。

在配置序列号时,范围从1到所选时钟的最大数量。Clocking Wizard不允许在表格中的序列中出现任何中断,从1到最大值必须连续。序列中输出时钟的频率不应超过序列中下一个输出时钟频率的八倍。

当选择扩频(Spread Spectrum,简称SS)功能时,CLK_OUT<3>和CLK_OUT<4>将不可用。这两个输出的分频值将被用于生成扩频调制频率,而不是提供常规的时钟输出。
在这里插入图片描述

3 Clocking Feedback

只有当选择了Phase Alignment时,Feedback选择才可用。如果未选择Phase Alignment,则输出反馈直接连接到输入反馈。对于具有Phase Alignmen的设计,如果希望反馈路径与CLK_OUT1的插入延迟相匹配,请选择automatic control on-chip。如果反馈在外部代码中,也可以选择user-controlled feedback。如果路径完全在FPGA上,请选择on-chip;否则,选择off-chip。对于需要外部反馈和相关I/O逻辑的设计,请选择automatic control off-chip。在此模式下,可以选择单端或差分反馈。Clocking Wizard将生成clock IP核逻辑以及将反馈信号路由到I/O所需的逻辑。输出时钟IDE选项卡(图4-8)提供了配置时钟网络其余部分的信息。
注意:当您选择UltraScale PLL时,无法选择时钟反馈选项。

4 Optional Inputs/ Outputs for MMCM/PLL

未被特定时钟功能选择处理的所有其他可选端口均列在“Optional Inputs/ Outputs”下。点击选择希望使其可见的端口;未使用的输入会被适当绑定,而未使用的输出将在提供的源代码中被标记为未使用。

reset:当在复选框中选择该项时,复位信号会异步地清除组件的内部状态。

power_down : 当在复选框中选择该项时,时钟部件(clocking primitive)进入一个低功耗状态,输出时钟会被停止。这通常用于节省电能,特别是在不需要时钟信号的情况下。

input_clk_stopped:输出信号,当在复选框中选择该项时,如果该信号拉高,表示输入时钟已经被停止。这通常用于向其他电路或系统组件提供关于时钟状态的信息,以便它们可以采取相应的行动或进入低功耗模式。

locked: 输出信号,当在复选框中选择该项时,如果该信号拉高,表示输出时钟已经稳定,并且可以被下游电路(downstream circuitry)使用。
clkfbstopped:输出信号,当在复选框中选择该项时,如果该信号拉高,表示反馈时钟已经停止。

5 Reset Type

当启用reset时,可以选择复位类型为高电平有效或低电平有效。默认值为高电平有效。

Reset(高电平有效):当Reset信号为高电平时,它表示复位操作正在进行中。只要Reset信号保持高电平,组件的内部状态就会被清除,并且不执行其正常功能。当Reset信号从高电平变为低电平时,组件将退出复位状态,并重新初始化或重新发起锁定序列。

Resetn(低电平有效):与Reset相反,Resetn信号在低电平时表示复位操作正在进行中,组件会清除其内部状态;当Resetn信号从低电平变为高电平时,组件将退出复位状态,并重新发起锁定序列。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 15:16:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 15:16:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 15:16:02       82 阅读
  4. Python语言-面向对象

    2024-04-29 15:16:02       91 阅读

热门阅读

  1. 揭秘FastStone Capture

    2024-04-29 15:16:02       36 阅读
  2. postgres14 版本 pg_basebackup 基本备份+恢复

    2024-04-29 15:16:02       32 阅读
  3. vue-cli+vue3+vite+ts 搭建uniapp项目全过程(二)

    2024-04-29 15:16:02       34 阅读
  4. 富格林:虚假交易明晰安全应对方法

    2024-04-29 15:16:02       34 阅读
  5. 2024年一季度金融读报集锦

    2024-04-29 15:16:02       28 阅读
  6. Swift 5.10官方文档(中文版,自翻)

    2024-04-29 15:16:02       35 阅读
  7. RequestMapping注解

    2024-04-29 15:16:02       40 阅读