Vivado调试记录

本文详述了在使用Vivado进行FPGA设计时遇到的问题及解决方案,包括如何SDK与ILA联合调试,插入自定义IP时的命名限制,ARM CPU输出产品时的错误,布局布线效率提升,PLL实现问题,设置默认编辑器为VS Code,以及增量实现的策略等。通过这些实例,帮助开发者更好地理解和解决Vivado设计中的常见挑战。
摘要由CSDN通过智能技术生成

1. 如何SDK和ILA联合调试

  • SDK与ILA联合调试一定要在SDK下将比特流下载到FPGA中,而不要在vivado中下载比特流。Xilinx官方给出的解释是:由于使用PS端的时钟来接入ILA,所以要先在SDK中将比特流进行下载
  • 在SDK中进入debug模式,在首个断点处,在Vivado中连接目标板,此时将会进入硬件调试界面,如果没有就点击一下refresh device , 在程序烧写到device上之后,需要refresh device 才能加载到抓信号界面,因为烧写程序和抓信号都是通过Jtag线来做的
  • 确认debug core时钟频率比Jtag线的频率高
  • 对于free running clock是上电就可以运行的时钟,而不能是需要一定条件才能运行的时钟(比如ZYNQ CPU输出的时钟,必须下载ELF后才能启动,这种情况在design block中允许,但是在外部创建debug core或者debugIP内部信号的时候不行)。
  • 可以与CPU同级设计一个PLL专门输出debug时钟,但是尽量不要把ZYNQ_CPU作为顶层,不然更新IP时候总是会把例化的debug PLL给优化掉。可用进行约束设置,防止综合器优化。
 (*dont_touch="true"*) 
  • 发现即便是在综合选项中选择打平设置为none,但是还是有些reg会被综合优化成其他的名字,对于使用综合后的set up debug工具时不好找或者一个多bit的信号被分割成多个单bit的信号不便于添加和观察。可直接在顶层例化了一个ILA使用最原始的办法,把需要观察的信号接到ILA IP的端口。这种方式操作起来比较麻烦。
  • 也可以将需要debug的信号使用如下命令标注,综合之后打开综合结果可以看到一些未连接的debug信号,全部选中后右键set up debug即可。注意选中一个上电启动且运行频率高于JTAG频率的时钟(默认30M)作为debugcore的时钟域。
(*mark_debug = "true"*)

2. 插入自定义IP时出现双下划线错误

  • 插入自定义IP时出现如下错误
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Arist9612

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

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

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

打赏作者

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

抵扣说明:

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

余额充值