【xilinx】Vivado : 解决 I/O 时钟布局器错误:Versal 示例

示例详细信息:

设备: XCVM1802 Versal Prime
问题:尽管使用 CCIO 引脚作为时钟端口,但该工具仍返回 I/O 时钟布局器错误

错误:

<span style="background-color:#f3f3f3"><span style="color:#333333"><code>ERROR: [Place 30-675] Sub-optimal placement for a global clock-capable IO pin and BUFG pair.If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
    < set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets <output net of input buffer>] >
 
    <Differential input buffer name> (IBUFDS.O) is locked to IOB_X14Y9
    <Clock Buffer BUFGCE> (BUFGCE.I) is provisionally placed by clockplacer on BUFGCE_X2Y23
 
    The above error could possibly be related to other connected instances. Following is a list of
    all the related clock rules and their respective instances.
 
    Clock Rule: rule_bufgce_bufg_conflict
    Status: PASS
    Rule Description: Only one of the 2 available sites (BUFGCE or BUFGCE_DIV/BUFGCTRL) in a pair can be
    used at the same time
    <Clock Buffer BUFGCE> (BUFGCE.O) is provisionally placed by clockplacer on BUFGCE_X2Y23
 
Resolution: A dedicated routing path between the two can be used if: (a) The global clock-capable IO (GCIO) is placed on a GCIO capable site (b) The BUFG is placed in the same bank of the device as the GCIO pin. Both the above conditions must be met at the same time, else it may lead to longer and less predictable clock insertion delays.
ERROR: [Place 30-1161] Could not place all instances for rule!
    Clock Rule: rule_bufg_ctrl_in_shadow_regions_driven_by_one_fabric
    Rule Description: Only one connection is available for BUFGCE/BUFGCTRL driven by a non IO/Clock element in shadow clock regions.
 
    <Load> (FDRE.Q) cannot be placed
    <Another Clock buffer> (BUFGCTRL.I1) is provisionally placed by clockplacer on BUFGCTRL_X11Y7 Please ensure there are no physical constraint that prevent a legal placement.
 
ERROR: [Place 30-1161] Could not place all instances for rule!
    Clock Rule: rule_bufg_ctrl_in_shadow_regions_driven_by_one_fabric
    Rule Description: Only one connection is available for BUFGCE/BUFGCTRL driven by a non IO/Clock element in shadow clock regions.
 
    <Load> (FDRE.Q) cannot be placed
    <Another Clock Buffer> (BUFGCTRL.I1) is provisionally placed by clockplacer on BUFGCTRL_X11Y6 Please ensure there are no physical constraint that prevent a legal placement.</code></span></span>

当我们生成网络的原理图并将其扩展到该网络的源和负载时,我们得到以下原理图。

这里,端口被分配给来自 HDIO 组的 CCIO 引脚,该引脚位于设备左上角的时钟区域,即 L35,而 BUFGCE 则由 I/O 时钟布局器放置在设备的底行时钟区域。

将此行为与表中的规则 1 关联,很明显该工具应该将 BUFG 放置在与端口(即 X0Y4)相同的时钟区域。


使用以下命令列出时钟区域X0Y4中的所有BUFG,我们可以看到有一些可用的BUFG。

show_objects [get_sites -filter {CLOCK_REGION == X0Y4 } BUFGCE*]

因此决定的约束是 BUFG 上的 CLOCK_REGION 到 X0Y4

set_property CLOCK_REGION X0Y4 [get_cells <BUFG>]  

在随后的约束运行中,该工具在放置过程中没有出错,并且发现所有的 BUFG 都被放置到同一个时钟区域,因此遵循规则 1。

注意:黄色标记的站点和蓝色标记的站点是 X0Y4 时钟区域中的 BUFGCE 站点。


查看此设计中此端口和 BUFG 的完整行为,它看起来像是一个错误,已在 Vivado 的后续版本中修复。(苏拉杰·乔索

 

 

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

神仙约架

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值