Vivado 错误代码 [DRC PDCN-2721] 解决



不只是解决 error ,更多是记录和总结。加油!


目录

说明

问题描述

解决错误



说明

VIVADO IDE :2021.1

操作系统:WIN 10

FPGA芯片系列:Kintex 7 (xc7k410tffg900-2L)


问题描述

最近在调试一块信号处理板卡,板载芯片为XILINX的7系列FPGA(xc7k410tffg900-2L)。MGT BANK的参考时钟是156.25MHz的差分时钟,是由CDCM6208时钟芯片的输出来驱动。CDCM6208配置完成后,首要的工作便是验证其产生的156.26MHz差分时钟有没有真正进入FPGA 的MGT BANK。具体验证步骤如下:

第一步:使用 原语 IBUFDS_GTE2 将MGT BANK 的差分参考时钟引入并转为同频率的单端时钟

 在代码里面进行例化:

   IBUFDS_GTE2 #(
      .CLKCM_CFG("TRUE"),   // Refer to Transceiver User Guide
      .CLKRCV_TRST("TRUE"), // Refer to Transceiver User Guide
      .CLKSWING_CFG(2'b11)  // Refer to Transceiver User Guide
   )
   IBUFDS_GTE2_inst (
      .O(O_CLK_156M25),         // 输出156.25M的单端时钟
      .ODIV2(),                 // 该端口可闲置不用
      .CEB(1'b0),               // 该端口低电平输入有效 要一直给 0 
      .I (I_CLK_156M25_P),      // BANK 参考时钟 输入端口 P
      .IB(I_CLK_156M25_N)       // BANK 参考时钟 输入端口 N
   );

第二步:将原语输出的单端时钟送入MMCM或者PLL进行分频,供系统设计使用

问题可能就是出在这里,如果不进MMCM或者PLL,可能就不会出现错误

  clk_wiz_1 instance_name1
   (
    // Clock out ports
    .clk_out1(CLK_10M),     // output clk_out1
    // Status and control signals
    .reset(0), // input reset
    .locked(locked),       // output locked
   // Clock in ports
    .clk_in1(O_CLK_156M25));      // input clk_in1

然后再实现的过程中就会报DRC的错误,违背了设计规则(Design Rule):

[DRC PDCN-2721] IBUFDS_GT_loads_clock_region: IBUFDS_GTE2 IBUFDS_GTE2_inst drives MMCME2_ADV instance_name1/inst/mmcm_adv_inst in a different clock region and must do so using local routing resources which may negatively affect clock performance. Use CLOCK_DEDICATED_ROUTE set to FALSE to indicate this is intended.

错误的大致原因就是IBUFDS_GTE2原语出来的时钟区域和所驱动的MMCM或PLL的时钟区域不一致。注意,个人认为此处的时钟区域的概念是物理层面的时钟资源分布的区域,有别于STA(静态时序分析)的时钟域概念。

解决错误

其实在错误的最后已经给出了解决方法。需要在XDC文件里面做如下约束:

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets O_CLK_156M25]

而后就可以无误生成比特流~


以上就是对错误  [DRC PDCN-2721]  的记录,欢迎留言交流,补充~

解决思路参考官网:官方论坛

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在路上-正出发

哈哈,多少是个心意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值