Vivado中使用逻辑分析仪ILA
FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪。在vivado中叫 ILA(Integrated Logic Analyzer),之前在ISE中是叫ChipScope。基本原理就是用fpga内部的门电路去搭建一个逻辑分析仪,综合成一个ILA的core核伸出许多probe去探测信号线。
下面逐步讲解在线debug的过程,主要侧重ILA中clock domain的正确使用。
第一大部分 添加被测信号线
通常有两种方式 :
1、在代码中添加这么一句 (*MARK_DEBUG="TRUE"*) 。不管是reg还是wire型的,接口信号或者内部变量,都可以添加。
2、在Setup Debug过程中,直接添加Netlist
我一般是,常用信号都加DEBUG标识,临时测量的就手动加net,需要的就加,不要的就删。
第二大部分 生成ILA模块
完成综合之后,Open Synth Design,点里面的Set Up Debug
按需要选一个
进去之后,就可以添加/删除被测net。如果提示没有参考时钟,右键选择一个合适的即可
选择FIFO深度。这个深度可以选很大,每个被测信号都会得到这么大的一个FIFO,所以逻辑分析仪非常占用bram资源!合理设置触发条件,FIFO就不用选太大的。
我这里再跳回上一步选时钟域的部分,结合上面的FIFO来说明选取clock domain的重要性。
时钟域的选择会影响两大方面:生成几个ILA核,以及能探测多少时间。
1) 选了3个时钟就一定会生成3个ILA核,毕竟给D触发器的clk不一样嘛;
2) FIFO的参考时钟不同,直接决定FIFO多久会被存满;
比如我这个设计中有3个时钟进来 50mhz 20mhz 以及8mhz转400khz给IIC用。如果IIC的参考50mhz,那scl sda的FIFO瞬间就存满了,触发后FIFO的任务完成了,但是我们连一个信号跳变都看不到。如果参考400khz的,那从起始条件到8bit数据到停止条件都能抓到了。
FIFO存数据是参考信号时钟的,有一拍clk才会存1bit数据。
选择合适的clock domain非常重要,因为最终影响到资源的占用。ILA核的个数,FIFO的个数(经常会出现要抓500个甚至1000个信号。为什么这么多!比如你32位的地址,32位的总线,还读写分开,还有好几个,慢慢就聚集多了,fpga本来功能就是采用并行总线提高速度的原理)。
比如下面这个设置,铁定会生成3个ILA核,分3个波形界面显示。其实如果资源确实够用的话,建议按照大功能分开,这样能显示在不同界面上,然后各自设置触发条件。
第三大部分 信号波形
连上jtag,open目标板,然后烧写bit和ltx文件。
设置触发条件。这里就跟示波器是一样的用法了,可以run也可以trig。
右键有很多功能:short显示名 设置颜色 进制转换 分组 等等,可以琢磨一下。
举例子
下面被测的信号是20mhz的clk,但是显示的波形却不是均匀方波!为什么?因为是用50mhz的时钟采的,就是这样的,没有错。所以再说一遍,clock domain的选择非常重要。
Vivado中使用逻辑分析仪ILA相关推荐
- Vivado下集成逻辑分析仪ILA入门续
在 Vivado下集成逻辑分析仪ILA入门 一文中带着读者走了一遍集成逻辑分析仪ILA的使用过程.当时通过Set up Debug 添加需要监控的点,间接添加了ILA, 本文介绍另外一种方法,直接添加 ...
- Vivado下的集成逻辑分析仪ILA 入门
刚刚开始学习Zynq 7000的时候,看到别人问ILA的问题时,说是集成逻辑分析仪,我觉得这是一个好东西,我一定要学会它. 我是买了黑金的AX7010, 后来换成AC7010,开始学习Zynq 700 ...
- Vivado中ILA(集成逻辑分析仪)的使用
Vivado中ILA(集成逻辑分析仪)的使用 一.写在前面 二.ILA(Integrated Logic Analyzer)的使用 2.1 ILA查找 2.2 ILA配置 2.2.1 General ...
- FPGA学习 Vivado使用篇之ILA(逻辑分析仪)
ILA(Integrated Logic Analyzer),集成逻辑分析仪,允许用户在FPGA设备上执行系统内的调试.作为一名FPGA工程师,掌握在线调试工具进行时序分析是必备的职业技能之一. IL ...
- vivado中利用ILA抓取信号的教程
vivado中利用ILA抓取信号的教程 虽然操作ILA核会有至少四种方法,但是真正高效的方法,我认为是如下的标记法,所以单独拎出来,给大家瞧瞧: 一.重要的话说三遍: (mark_debug =&qu ...
- 利用Vivado逻辑分析仪ila观察信号
目录 一.添加ila core 1.双击ILA 2.设置采样深度 8192 及位宽8(可自定义) 二.顶层文件中进行例化 1.在IP Sources中找到ila的.veo文件双击打开 2.将文件中IL ...
- vivado中ILA核的使用
RTL设计 在RTL设计中,将想要抓取的信号前加上: (*KEEP = "TRUE"*) reg led_reg02; 例如,本例中需要抓取的信号是led_reg02: ILA核的 ...
- 使用在线路线逻辑分析仪ILA调试模块的小技巧
在CSDN这个BLOG中我详细给出了如何在VIVADO中插入在线逻辑分析仪进行信号获取.这里再记录一下自己用的一个小技巧: 实例化一个统一的多款口大位宽的ILA,在多处使用. 我们在一个模块内插入IL ...
- Vivado中Debug的用法总结
目录 方式一:代码中例化ILA IP核 方式二:通过网表标记 方式三:代码中Mark_debug Vivado中提供了多种Debug的操作方式,下面就来总结一下: 方式一:代码中例化ILA IP核 第 ...
最新文章
- 理解extract_patches_2d
- DVWA学习(二)SQL Injection(Blind)
- socket网络间通信初识
- AcWing 788 逆序对的数量-归并排序
- okhttp post json 数据_使用python抓取App数据
- python的gui编程pyqt5_Python-GUI编程-PyQt5
- 图表展示结果开发(一)
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实现字典的打印...
- [转]Resource for Windows Phone 7
- 编译安装nginx并修改版本头信息—参考实例
- ADS1112|MS1112|16位AD转换芯片|国产兼容PIN-TO-PIN。兼容替代无需修改软硬件
- 如何理解运算放大器的增益带宽积-运放增益
- oracle lsnrctl status unknown,理解 oracle 的 lsnrctl status
- 《单片机原理及应用(魏洪磊)》第六章第11题
- word文档正文页码从1开始
- TypeScript02 方法特性【参数种类、参数个数】、generate方法、析构表达式、箭头表达式、循环...
- 【深度】新派LaaS协议Elephant:重振DeFi赛道发展的关键
- 360手机刷机·LSPosed安装和使用教程
- DirectX11 骷髅头示例Demo
- win7升级win10后出现VisualSVN Server提供程序无法执行所尝试的操作 0x80041024
热门文章
- 基于STM32F103双轴机械臂完整电路板设计
- 基于ADuC845的数据采集板
- 华南赛区线上比赛安排
- 任艳频 | 竞赛12年纪念文集--后记
- oracle数据库中insert,【Oracle】sql插入之 insert all、insert first
- elf section类型_ELF文件解析(一):Segment和Section
- 图像迁移风格保存模型_CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、关键步骤配图、案例应用...
- java solr 查询条件_05 java调用solr的api完成数据的查询
- 服务器更改文件夹权限,云服务器如何修改文件权限
- FPGA之道(23)VHDL的signal、variable与constant