当前位置:   article > 正文

vivado sdk debug生成参数曲线_Vivado之ILA详解

tutorial-programming-debugging.pdf

关注、星标公众,直达精彩内容

b9c493fc6a5057b7036090f9e50b4178.png

来源:ZYNQ

整理:watchman

ILA 简介

集成逻辑分析仪 (Integrated Logic Analyzer :ILA) 功能允许用户在 FPGA 设备上执行系统内调试后实现的设计。当设计中需要监视信号时,应使用此功能。用户还可以使用此功能在硬件事件和以系统速度捕获数据时触发。

添加 ILA

1.使用 IP 添加

添加IP

937c02e51b437bb603a06ed42fea8016.png

例化IP,并将所需要的信号放入 Probe 里面

5537975275dce87c6dcf8668f256d923.png

2.图形界面添加

  1. 给待测试的信号加上约束,防止被优化
7050b5afe9e3017043263dd0c20bfe49.png
  1. 在综合选项下点击set up debug,选择需要查看的信号即可
7d492ceb6dd8fb5c6b94d4b6962f0cff.png

ILA 数据和波形的关系

  1. hw_ila表示的是ila核

  2. hw_ila_data表示保存在存储器中的ila文件

  3. WCFG是波形配置(信号颜色,总线进制表示,信号顺序,marker等)

  4. WDB是波形数据库(波形数据)

0052dc9b2d5316b26f25554cd4df5716.png

ILA 失败情景

情景1:没有波形窗口

现象如下:

d0987593b0b8cd1cd05977512965838a.png
WARNING: [Labtools 27-3123] The debug hub core was not detected at User Scan Chain 1 or 3.Resolution: 1. Make sure the clock connected to the debug hub (dbg_hub) core is a free running clock and is active OR2. Manually launch hw_server with -e "set xsdb-user-bscan " to detect the debug hub at User Scan Chain of 2 or 4. To determine the user scan chain setting, open the implemented design and use: get_property C_USER_SCAN_CHAIN [get_debug_cores dbg_hub].WARNING: [Labtools 27-1974] Mismatch between the design programmed into the device xc7z010_1 and the probes file E:/Xilinx/example/dma_sg_m/dma_sg_m.runs/impl_1/debug_nets.ltx.The device design has 0 ILA core(s) and 0 VIO core(s). The probes file has 1 ILA core(s) and 0 VIO core(s).Resolution: 1. Reprogram device with the correct programming file and associated probes file OR2. Goto device properties and associate the correct probes file with the programming file already programmed in the device.

解决方法:查看 ILA 的时钟,如果不是自由时钟会出现这种问题,然后重启VIVADO软件,重新打开

情景2:有波形窗口没有波形

现象如下:

8c5506e736e4a1540bc296ff06f277cd.png

使用示波器查看ILA信号发现时钟频率发现是10M

1f8b9624bc20be0bc08da826c43961f6.png

分析:查看 Xilinx 手册发现JATG的时钟频率要比被ILA的时钟频率2.5倍低

bb50cdf6ab81866d9fcdbfc4777b9adb.png

解决方法1:修改 Hardware Target 的 JTAG 时钟频率

552597749c011d0a5fc4b1ca310809b9.png

解决方法2:在TCL里面添加约束

08c07cd1f89491a97320910d690a1951.png

上电后查看 ILA 信号

使用场景:flash偶尔在上电后读出来后出错,可以使用该方法。

一般情况下都是让要抓的事件延迟发生或者循环发生,方便调试。

3cc2d21f046b0bc4397d80ea2341f0f9.png
2a09e10f9edb1825182161b8ebc713ea.png

如果实在要抓启动时的事件,按下面的步骤:(下面流程是ILA核在综合阶段不能浮空)

  1. 先把有ILA核的bit文件下进去,设置触发好条件

  2. 运行下面的Tcl命令把触发寄存器的值保存在tas文件中

%run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]
  1. 打开实现后的implement工程

  2. 运行下面的Tcl命令把触发设置加到当前内存里已经布线的implement设计上去

%apply_hw_ila_trigger ila_trig.tas

注意:如果发生错误的话说明ILA核在综合过程中被flattened了,这时需要设置保留hierarchy重新综合实现。

  1. 直接用Tcl命令生成bit文件,不能点击生成bit命令,这样工程会认为implement发生了改动而全部重新布线。
write_bitstream trig_at_startup.bit
  1. 下载bit到芯片。

参考链接

chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug908-vivado-programming-debugging.pdf#unique_239
chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug936-vivado-tutorial-programming-debugging.pdf

‧  END  

推荐阅读: ZYNQ 学习专辑

0863546b7b32875185f920a24cc5969c.png

关注视频,直达精彩内容

4b7edf02388d9f1c8b4dbdf4c2a96ad2.gif 你的每个在看,都是对作者最大的支持~~

         7109d541be4b562be2786abeb65381a0.gif 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号