news 2026/4/18 1:59:39

【Vivado错误日志】[DRC REQP-1741]IDELAY3 drivers invalid load :IDELAY3 DATAOUT pin may not drive a BUFG*

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Vivado错误日志】[DRC REQP-1741]IDELAY3 drivers invalid load :IDELAY3 DATAOUT pin may not drive a BUFG*

问题描述:

我把7020的工程移植到XCZU19EG上用Vivado编译时报错:

[DRC REQP-1741] IDELAY3 drivers invalid load :IDELAY3 data_progress_U0/u_delay_rxd DATAOUT pin(net: data_progress_U0/data_clk)may not drive a BUFG*

原因:

除了时钟信号外,任何输入信号都可以使用 IDELAYE3 原语进行延迟,然后直接转发到设备逻辑,或者使用输入/输出互连(IOI)内的单数据速率(SDR)时钟或双数据速率(DDR)时钟在简单的触发器、IDDR 或 ISERDESE3 中进行寄存。不应使用 IDELAYE3 延迟时钟,因为 IDELAY 无法直接连接到全局时钟缓冲器。如果必须延迟时钟,使用 MMCM 或 PLL 进行时钟生成,并使用精细相位偏移功能延迟时钟。

IDDELAYE3 原语包含一个 512 级延迟线。请参阅 UltraScale 数据表中的抽头分辨率。每个单独的抽头都是未校准的。但是,用于校准延迟线的逻辑在 IDELAYCTRL 组件中可用。IDDELAYE3 可以在两种模式下使用,即计数模式和时间模式。

XCZU19EG是Zynq UltraScale+ MPSoC FPGA,相比于XC7Z020底层约束更加严格,所以在XC7Z020上编译时不会报错,XC7Z020允许使用IDELAY的输出驱动BUFG,但是XCZU19EG不能。

解决方法:

1、如果想用DATAOUT驱动BUFG、MMCM或PLL,必须插入一个基本的LUT1,如下所示:

(*dont_touch="yes")LUT1#(.INIT(2'b01))LUT1_Inst(.O(to_BUFG_orMMCM_orPLL),.I0(from_DATAOUT));

根据下表确定INIT值(不同输入的LUT,INIT位宽也不同,例如LUT3的INIT值位宽为8bit):

作用INIT值例化
信号直通(输出=输入)INIT = 2’b01LUT1 #(.INIT(2’h1))
信号取反(输出=反相)INIT = 2’b10LUT1 #(.INIT(2’h2))
生成逻辑0(输出=0)INIT = 2’b00LUT1 #(.INIT(2’h0))
生成逻辑1(输出=1)INIT = 2’b11LUT1 #(.INIT(2’h3))

以上方法亲测有效

2、使用 MMCM 或 PLL 进行时钟生成,并使用精细相位偏移功能延迟时钟。
参考:https://adaptivesupport.amd.com/s/question/0D52E00006hpRavSAE/idelaye3-output-cannot-drive-a-bufg-in-ultrascale?language=en_US

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:30:06

python基于django的社区志愿者活动签到服务平台是设计与实现

目录设计与实现摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!设计与实现摘要 基于Django框架的社区志愿者活动签到服务平台旨在解决传统志愿者活动中签到效率低、数据管理混乱…

作者头像 李华
网站建设 2026/4/17 23:54:59

微软安全公告:加固Azure AD Connect同步账户权限的实用指南

执行摘要 微软发布此安全公告,旨在提供有关用于Azure AD Connect目录同步的AD DS(Active Directory域服务)账户安全设置的信息。本公告还为本地AD管理员提供了指导,以确保该账户得到适当保护。 公告详情 Azure AD Connect允许客…

作者头像 李华
网站建设 2026/3/15 7:42:19

Java面向对象必考点:封装、继承、多态深度揭秘

文章目录Java面向对象必考点:封装、继承、多态深度揭秘封装:给代码穿上“防护衣”为什么需要封装?封装的具体实现封装的好处继承:站在巨人的肩膀上继承的基本语法继承的优势继承的注意事项继承中的访问控制多态:一个接…

作者头像 李华