vivado报错:[DRC PDRC-34] MMCM_adv_ClkFrequency_div_no_dclk
2026/6/25 22:01:25 网站建设 项目流程

我在vivado2018.3使用了一个MMCM作为我的锁相环,输入频率为50MHZ,我设置了双输出时钟,一个输出clk频率25.175MHZ,另一个输出clk为125.875MHZ,也就是第一个clk的五倍时钟输出。但是在综合时报错[DRC PDRC-34] MMCM_adv_ClkFrequency_div_no_dclk: The computed value 2000.000 MHz (CLKIN1_PERIOD, net clk_in1_clk_wiz_0) for the VCO operating frequency of the MMCME2_ADV site MMCME2_ADV_X1Y1 (cell pll_clk_inst/clk_wiz_0_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 (20.000000), multiplication factor CLKFBOUT_MULT_F (40.000000) or the division factor DIVCLK_DIVIDE (1), in order to achieve a VCO frequency within the rated operating range for this device.
翻译一下大致就是说MMCM的VCO(压控振荡器)工作频率为600—1440MHZ,现在我的VCO为2000MHZ,超过了这个频率。然后给了一个公式

然后说我现在的CLKFBOUT_MULT_F是40,CLKINx_PERIOD是20, DIVCLK_DIVIDE是1,所以VCO是(40×1000)/(20×1) = 2000MHZ,超过了VCO的频率上限。
为什么CLKFBOUT_MULT_F跳到了40,是为了匹配两个输出clk,25.175向上乘到整数刚好是40,40×25.175 = 1007?这里我对CLKFBOUT_MULT_F的自动取值并不是很了解。
解决办法是,我将输出clk的时钟精度砍到了25MHZ和125MHZ,MMCM就可以正常运行了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询