关于DDR3的FPGA开发中Vivado的一些报错及解决办法

报错1:[DRC PDRC-34] MMCM_adv_ClkFrequency_div_no_dclk: The computed value 390.000 MHz (CLKIN1_PERIOD, net pll_clk3) for the VCO operating frequency of the MMCME2_ADV site MMCME2_ADV_X1Y5 (cell u_ddr3_top/u_mig_7series_0/u_mig_7series_0_mig/u_ddr3_infrastructure/gen_mmcm.mmcm_i) falls outside the operating range of the MMCM VCO frequency for this device (600.000 - 1440.000 MHz). 

站内查阅是因为CLK_WIZ ip输入输出时钟写错位,我检查了一下发现没有。后面问了学长知道是因为板子用的差分时钟LVDS标准,但是配置的时候仅仅引入了一路时钟导致的问题。也有可能是DDR配置频率不对,注意查看DDR工作时钟和参考时钟是不是对得上

报错2:Multi-driven net Q with xth driver pin

看到这样的报错,首先考虑是不是在一个以上的always时序逻辑里赋值了同一个变量,我这里检查不是这个问题。原来的报错有标注mig7,遂考虑是不是因为DDR配置和代码逻辑不符,后面发现确实。我的DDR设了32位带宽,但是代码是按照16位编写的,后面调整DDR带宽匹配后成功消除报错。

报错3:[Opt 31-305] Invalid connectivity on net clk_p connected to port clk_p. It drives some loads that need a buffer, and other loads that do not need a buffer. This configuration cannot be placed.

比较简单,ila配置有问题,不能把时钟接口和探针直接连到一起

报错4:Cannot set property ‘PACKAGE_PIN’, because the property does not exist for objects of type ‘pin’ 

这个报错是因为.v文件里没有写到接口,但是这个接口却在xdc文件里被声明了,所以会有‘does not exist’。检查删除xdc接口或在.v文件里提前声明即可

这个错误信息表明,您的设计中使用的时钟频率计算值超出了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官方文档、用户指南和相关社区资源,以获取更详细的指导和支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值