Vivado2019.1/win10
调用MMCU产生时钟,输入时钟频率为100M,产生100M、50M、12.5M时钟输出,MMCU核自动生成的时钟倍频数为9,即主时钟为900M,分别分频9得100M,18得50M,72得12.5M。
在约束文件中,设置了输入时钟的频率为50M。
create_clock -period 20 [get_ports gclk]。
实现程序时报错:
[DRC PDRC-43] PLL_adv_ClkFrequency_div_no_dclk: The computed value 450.000 MHz (CLKIN1_PERIOD, net gclk_IBUF) for the VCO operating frequency of the PLLE2_ADV site PLLE2_ADV_X0Y0 (cell u0/inst/plle2_adv_inst) falls outside the operating range of the PLL VCO frequency for this device (800.000 - 1866.000 MHz). The computed value is (CLKFBOUT_MULT_F * 1000 / (CLKINx_PERIOD * DIVCLK_DIVIDE)). Please adjust either the input period CLKINx_PERIOD (20.000000), multiplication factor CLKFBOUT_MULT_F (9) or the division factor DIVCLK_DIVIDE (1), in order to achieve a VCO frequency within the rated operating range for this device.
错误信息提示,主时钟根据计算为450M,不在VCO的工作范围内(800-1866M),需要调整倍频因子。
原因:
IP核设置的参数中输入时钟为100M,主时钟为900M(倍频因子为9),但约束文件中设置的输入时钟为50M。程序实现时,IP核的输入时钟频率竟然会按约束文件中的参数运算。
解决方案:
修改约束文件
create_clock -period 10 [get_ports gclk]。
IP核设置多少,时序约束就设置多少,可避免此类问题。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !