vivado防止信号被优化

       在添加ILA进行DEBUG时经常发现某些信号找不到了,可以在信号定义前添加如下约束(选择其中一个即可)
1.(* keep = "true" *)
2.(* keep_hierarchy = “yes” *)
3.(* DONT_TOUCH= “TRUE” *)
例如:(* keep = "true" *)wire aaa; 
       若在例化模块前加则表示该模块的层次结构不优化,如:(* keep = "true" *)name name_u;
       其中1和2的约束是仅防止综合期间被优化,而DONT_TOUCH则是能作用到布局布线阶段。包括了综合阶段,效果最好
       DONT_TOUCH属性不建议使用在XDC文件中,因为对于信号来说,通常优化是发生在工具读取XDC文件前,因此设置属性可能导致无效。唯一一种推荐使用到XDC中的场景是当RTL代码中使用了DONT TOUCH属性并设置为yes时,想让该属性不生效但又不想改变RTL设计时,可以在XDC文件中再次进行DONT TOUCH属性设置为no的设置,此时后者设置生效,信号将会被优化。
                       
参考手册:《ug901-vivado-synthesis.pdf》

但有时候加上这些约束后,在ila窗口还是无法找到信号,直接抓打一拍的信号。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值