[DRC PDRC-34] MMCM_adv_ClkFrequency_div_no_dclk: The computed value 500.000 MHz (CLKIN1_PERIOD, net clk_in1_clk_wiz_main) for the VCO operating frequency of the MMCME2_ADV site MMCME2_ADV_X1Y5 (cell clk_wiz_main_inst/inst/mmcm_adv_inst) falls outside the operating range of the MMCM VCO frequency for this device (600.000 - 1440.000 MHz). The computed value is (CLKFBOUT_MULT_F * 1000 / (CLKINx_PERIOD * DIVCLK_DIVIDE)). Please run update_timing to update the MMCM settings. If that does not work, adjust either the input period CLKINx_PERIOD (10.000000), multiplication factor CLKFBOUT_MULT_F (5.000000) or the division factor DIVCLK_DIVIDE (1), in order to achieve a VCO frequency within the rated operating range for this device.如何解决
时间: 2024-04-19 22:27:34 浏览: 900
这个错误信息表明,您的设计中使用的时钟频率计算值超出了Xilinx器件的MMCM VCO频率的操作范围。具体来说,计算得到的VCO操作频率为500.000 MHz,而该器件的MMCM VCO频率的操作范围为600.000 - 1440.000 MHz。
要解决这个问题,有几种可能的方法:
1. 更新MMCM设置:按照错误信息中提到的建议,可以运行"update_timing"命令来更新MMCM设置。这个命令会根据当前的时钟约束和时序分析结果,自动调整MMCM的参数以确保VCO频率在操作范围内。
2. 调整输入周期:您可以尝试调整输入时钟的周期(CLKINx_PERIOD),使得计算得到的VCO频率在操作范围内。根据错误信息,当前的输入周期为10.000 ns。您可以根据需要适当增加或减小该值,然后重新运行时序分析和生成比特流文件。
3. 调整乘法因子和除法因子:另一个调整的选项是修改乘法因子(CLKFBOUT_MULT_F)和除法因子(DIVCLK_DIVIDE)。您可以根据实际需求适当增加或减小这两个因子的值,以使得计算得到的VCO频率在操作范围内。
需要注意的是,调整这些参数可能会对设计的时序和性能产生影响,因此在进行更改之前,建议您仔细评估和分析设计的需求和约束。另外,确保您的时钟源和外部电路也能够支持所需的时钟频率范围。
如果上述方法仍然无法解决问题,建议您参考Xilinx官方文档、用户指南和相关社区资源,以获取更详细的指导和支持。
相关问题
[DRC PDRC-182] PLL_adv_ClkFrequency_div_no_dclk: The computed value 666.667 MHz (CLKIN_PERIOD, net nfc_clk) for the VCO operating frequency of the PLL site PLL_X0Y11 (cell design_1_wrapper_i/design_1_i/nfc_8ch_v_wrapper_1/inst/ch0_dqs_inst/inst/top_inst/clk_rst_top_inst/clk_scheme_inst/GEN_PLL_IN_IP_USP.plle4_adv_pll0_inst) falls outside the operating range of the PLL VCO frequency for this device (750.000 - 1500.000 MHz). The computed value is (CLKFBOUT_MULT * 1000 / (CLKIN_PERIOD * DIVCLK_DIVIDE)). Please adjust either the input period CLKIN_PERIOD (12.000000), multiplication factor CLKFBOUT_MULT (8) or the division factor DIVCLK_DIVIDE (1), in order to achieve a VCO frequency within the rated operating range for this device.
这是一个Vivado综合时出现的警告,意思是PLL(锁相环)的工作频率超出了器件允许的范围。警告信息中提到了计算出的VCO工作频率为666.667 MHz,而该器件的允许工作范围是750.000 - 1500.000 MHz。建议你调整输入时钟周期CLKIN_PERIOD(12.000000)、乘法因子CLKFBOUT_MULT(8)或除法因子DIVCLK_DIVIDE(1),以便在该器件的额定工作范围内实现VCO频率。
[DRC REQP-123] connects_CLKINSEL_VCC_connects_CLKIN1_ACTIVE: nolabel_line34/mmcm/inst/mmcm_adv_inst: The MMCME2_ADV with CLKINSEL tied high requires the CLKIN1 pin to be active.
### MMCME2_ADV CLKINSEL 连接至高电平时 CLKIN1 引脚需激活的原因
当使用 Xilinx 的 Vivado 工具链配置 MMCME2_ADV 模块时,如果 `CLKINSEL` 输入被固定为高电平,则意味着选择了 `CLKIN1` 作为输入源。因此,在这种情况下,确保 `CLKIN1` 引脚有效并提供稳定的时钟信号至关重要[^1]。
为了实现这一目标,建议采取以下措施:
#### 方法一:检查顶层设计文件中的实例化语句
确认顶层模块中对 MMCME2_ADV 实例化的部分正确无误地指定了 `CLKIN1` 和其他必要的参数。例如:
```verilog
// Verilog instantiation example for MMCME2_ADV with CLKSINEL tied to VCC (high)
wire clk_in;
assign clk_in = sys_clk; // Ensure this is a valid clock source
MMCME2_ADV #(
.BANDWIDTH("OPTIMIZED"), // Jitter programming
...
) mmcme_inst (
.CLKFBIN(clk_feedback), // Feedback clock input
.RST(reset_signal),
.CLKIN1(clk_in), // Input clock from external oscillator or other sources
.CLKINSEL(1'b1), // Selects the first input, i.e., CLKN1
...
);
```
#### 方法二:验证约束条件设置
通过 XDC 文件设定适当的物理位置和其他属性来保证 `CLKIN1` 能够正常工作。这通常涉及指定 IO标准及时序路径等细节。
```tcl
# Example of setting up constraints in an XDC file
set_property IOSTANDARD LVCMOS33 [get_ports {clk_in}]
create_clock -name main_clk -period 10.000 -waveform {0 5} [get_pins mmcme_inst/CLKIN1]
```
上述方法有助于解决因 `CLKINSEL` 设置不当而导致的潜在问题,并确保所选时钟输入始终处于活动状态以维持系统的稳定运行。
阅读全文
相关推荐














