当前位置:网站首页>Vivado 错误代码 [DRC PDCN-2721] 解决
Vivado 错误代码 [DRC PDCN-2721] 解决
2022-06-26 12:37:00 【在路上,正出发】
不只是解决 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] 的记录,欢迎留言交流,补充~
解决思路参考官网:官方论坛
边栏推荐
- 快手实时数仓保障体系研发实践
- Stream流学习记录
- Mongodb of NoSQL - 03 mongodb CRUD
- Spark-day01- get started quickly
- Ubuntu安装配置PostgreSQL(18.04)
- openlayers 绘制动态迁徙线、曲线
- 第十章 设置结构化日志记录(二)
- Laravel uses find_ IN_ The set() native MySQL statement accurately queries whether a special string exists in the specified string to solve the problem that like cannot be accurately matched. (resolve
- Analysis report on dynamic research and investment planning suggestions of China's laser medical market in 2022
- A most practical arbitrage wizard EA [2022 modified version]
猜你喜欢

Scala problem solving the problem of slow SBT Download

Fengshentai old shooting range Kali series

Installing MySQL under Linux (RPM package installation)

ES6:迭代器

Realize microservice load balancing (ribbon)

Software testing - Fundamentals

使用SSH密钥对登陆服务器
![[solved] data duplication or data loss after laravel paginate() paging](/img/68/7bf51bbf893a91bee24f5f7d4a369f.jpg)
[solved] data duplication or data loss after laravel paginate() paging
![[esp32-C3][RT-THREAD] 基于ESP32C3运行RT-THREAD bsp最小系统](/img/4a/503240b332e3279047c438f1d9845e.png)
[esp32-C3][RT-THREAD] 基于ESP32C3运行RT-THREAD bsp最小系统

深入解析 MySQL binlog
随机推荐
Stream流学习记录
PHP unit conversion
不到40行代码手撸一个BlocProvider
老司机总结的12条 SQL 优化方案(非常实用)
Tiger Dao VC products are officially launched, a powerful supplement to seektiger ecology
关于NaN的一些总结
Spark-day02-core programming-rdd
PHP returns false when calling redis method decrby less than 0
JS how to judge when data contains integer and floating-point types. Floating-point decimals retain two digits after the decimal point
PHP laravel+gatewayworker completes im instant messaging and file transfer functions (Chapter 2: explanation of business logic)
Mongodb of NoSQL - 03 mongodb CRUD
Fengshentai old shooting range Kali series
不到40行代码手撸一个BlocProvider
dried food! Yiwen will show you SD card, TF card and SIM card!
Tiger DAO VC产品正式上线,Seektiger生态的有力补充
小程序中控件里面的内容较多,让其支持滚动的良好方案
SQL injection
【Spark】.scala文件在IDEA中几种图标的解释
NoSQL mongodb - 02 mongodb server installation, mongodb shell, basic concepts and visualization tools
Learning directory