Vivado 加入ILA后Error问题之[DRC LUTLP-1]问题解决

19 篇文章 7 订阅

       此篇是我在学习中做的归纳与总结,其中如果存在版权或知识错误或问题请直接联系我,欢迎留言。
        PS:本着知识共享的原则,此篇博客可以转载,但请标明出处!

目录

1、问题描述

2、原因分析:

 3、问题解决:


1、问题描述

        我在工程Debug时,为了抓取信号值来观测时序时,加入了ILA,然后生成BitStream时遇到Vivado Error问题警告如下所示:

 具体报错内容如下所示:

[DRC LUTLP-1] Combinatorial Loop Alert: 2 LUT cells form a combinatorial loop. 
This can create a race condition. Timing analysis may not be accurate. The preferred resolution is to modify the design to remove combinatorial logic loops. If the loop is known and understood, this DRC can be bypassed by acknowledging the condition and setting the following XDC constraint on any one of the nets in the loop: 'set_property ALLOW_COMBINATORIAL_LOOPS TRUE [get_nets <myHier/myNet>]'. One net in the loop is u_DdrRdData/NxtRdState[0]. Please evaluate your design. The cells in the loop are: u_DdrRdData/NxtRdState_inferred_i_3, and u_DdrRdData/NxtRdState_inferred_i_8.

2、原因分析:

        如下图所示代码段,组合循环是组合逻辑,它在没有寄存器的情况下反馈给自身。 最简单的例子是一个反相器,它的输出反馈到输入,从而产生一个振荡器。

         因此对于状态机的组合逻辑信号NxtRdState不能用于ILA抓取!!!

 同时,该错误可以在Vivado工具的Warning信息中有所提示:

在ug901中对于此警告有以下说明:

 3、问题解决:

        不要使用ILA抓取状态机组合逻辑中赋值的信号值!!!

  • 13
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

虚怀若水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值