ILA
时间:2022-07-24
本文章向大家介绍ILA,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ILA 简介
集成逻辑分析仪 (Integrated Logic Analyzer :ILA) 功能允许用户在 FPGA 设备上执行系统内调试后实现的设计。当设计中需要监视信号时,应使用此功能。用户还可以使用此功能在硬件事件和以系统速度捕获数据时触发。
添加 ILA
1.使用 IP 添加
添加IP
例化IP,并将所需要的信号放入 Probe 里面
2.图形界面添加
- 给待测试的信号加上约束,防止被优化
- 在综合选项下点击set up debug,选择需要查看的信号即可
ILA 数据和波形的关系
- hw_ila表示的是ila核
- hw_ila_data表示保存在存储器中的ila文件
- WCFG是波形配置(信号颜色,总线进制表示,信号顺序,marker等)
- WDB是波形数据库(波形数据)
ILA 失败情景
情景1:没有波形窗口
现象如下:
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 OR
2. Manually launch hw_server with -e "set xsdb-user-bscan <C_USER_SCAN_CHAIN scan_chain_number>" 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 OR
2. Goto device properties and associate the correct probes file with the programming file already programmed in the device.
解决方法:查看 ILA 的时钟,如果不是自由时钟会出现这种问题,然后重启VIVADO软件,重新打开
情景2:有波形窗口没有波形
现象如下:
使用示波器查看ILA信号发现时钟频率发现是10M
分析:查看 Xilinx 手册发现JATG的时钟频率要比被ILA的时钟频率2.5倍低
解决方法1:修改 Hardware Target 的 JTAG 时钟频率
解决方法2:在TCL里面添加约束
上电后查看 ILA 信号
使用场景:flash偶尔在上电后读出来后出错,可以使用该方法。
一般情况下都是让要抓的事件延迟发生或者循环发生,方便调试。
如果实在要抓启动时的事件,按下面的步骤:(下面流程是ILA核在综合阶段不能浮空)
- 先把有ILA核的bit文件下进去,设置触发好条件
- 运行下面的Tcl命令把触发寄存器的值保存在tas文件中
%run_hw_ila -file ila_trig.tas [get_hw_ilas hw_ila_1]
- 打开实现后的implement工程
- 运行下面的Tcl命令把触发设置加到当前内存里已经布线的implement设计上去
%apply_hw_ila_trigger ila_trig.tas
注意:如果发生错误的话说明ILA核在综合过程中被flattened了,这时需要设置保留hierarchy重新综合实现。
- 直接用Tcl命令生成bit文件,不能点击生成bit命令,这样工程会认为implement发生了改动而全部重新布线。
write_bitstream trig_at_startup.bit
- 下载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
1. JTAG
2. ICON
扫码关注 一起畅聊
深耕在FPGA 扎根于视频领域
卓越于神经网络
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Spartacus BrowserPlatformLocation的初始化逻辑
- 重启 CentOS 7 系统后的 IP 地址问题
- SSM 单体框架 - 前端开发:用户权限控制,Nginx 和项目部署与发布
- 用 Python 制作飞机大战小游戏
- SSM 单体框架 - 前端开发:视频讲解
- MyBatis 的 `<if test="">` 语句里面使用反单引号的问题
- 30 个Python代码实现的常用功能,精心整理版
- Java 后台开发面试题分享一
- IDEA 报错:no tests were found 和 UnsupportedOperationException
- Angular sandbox项目的tsconfig.json内容一览
- Java 后台开发面试题分享二
- axios 进行同步请求(async+await)
- Axios 各种请求方式传递参数格式
- axios POST提交数据的三种请求方式写法
- Json对象和Json字符串的区别