• 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 的差分参考时钟引入并转为同频率的单端时钟

     在代码里面进行例化:

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

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

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

    1. clk_wiz_1 instance_name1
    2. (
    3. // Clock out ports
    4. .clk_out1(CLK_10M), // output clk_out1
    5. // Status and control signals
    6. .reset(0), // input reset
    7. .locked(locked), // output locked
    8. // Clock in ports
    9. .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]  的记录,欢迎留言交流,补充~

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

  • 相关阅读:
    lvresize与lvextend扩容逻辑卷的区别
    python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
    2022健康元年,送自己或者父母一台能测血压的智能手表吧
    ChatGPT Prompting开发实战(七)
    聊聊Kafka的生产者消费者确认机制
    百度地图设置和关闭label弹窗
    JavaWeb搭建学生管理系统(手把手)
    Mac配置git ssh公钥
    mybatis-plus使用sql的date_format()函数来查询数据
    页面优化技术
  • 原文地址:https://blog.csdn.net/qq_43045275/article/details/125428997