赞
踩
ILA (Integrated Logic Analyzer)集成逻辑分析器:即 Vivado 的在线逻辑分析仪,
现在我们写一段测试代码,随便一段就可以,例如下面一段代码
- module top(
- input sysclk,
- input rst_n,
- input key1,
- input key2,
- output reg [3:0] led
- );
- wire key_out1;
- wire key_out2;
- reg[3:0] led_water;
- reg[3:0] led_jump;
- reg[31:0] timer;
- reg[31:0] timedelay; //计时0.5s 1s 2s 5s
- reg[2:0] dt; // 时间档位
这里笔者定义了两个单击按键,分别可以控制开发板上的led灯的流动样式和速度。
当key_out1键信号输出我们可以改变开发板的led灯样式,当key_out2按键信号输出可以更改led灯的速度.
然后我们点击vivado界面左边的IP Catalog
在右面弹出的界面,搜索框搜索ila,双击选择如下的IP核:
在下图的1处,我们可以选择多少个检测的probe数量,2处深度,3处选项卡可以选择我们测量数据的数据位宽,例如我要检测key_out1的数据位宽,因为位置代码里面只给了一个位宽,所以数据位宽我也只给一个建议选择综合选项选ooc,减少综合时间
点击OK会为我们创建IP核,这里我们勾选上Out of context per IP可以提高我们的综合速度,右下角的Number of jobs 是用多少个处理器核心来完成,你的电脑有多少个核心就选多少个,然后点击Generate.
这个时候Vivado会生成ila的IP核
生成完成后 ,我们可以在左上角的Source界面看到我们刚刚生成的IP核
这个时候点击下方的IP Sources,点开如下图的veo文件,在这里我们可以直接找到他的例化代码
我们将其复制出来,然后粘贴到我们代码文件中
保存后可以看见ilaIP核已经例化进了我们的代码中
然后点击 Generate Bitstream生成 bit流文件,稍等一会,这个时候可以给我点个赞,时间是完全够的。
生成完成之后,我们可以打开hardware manager界面,这个界面在左下角也可以打开
点击program device,将程序下载到开发板上
可以看见这个时候下方会有要得多出来的测试文件路径
将程序烧录到开发板上时,会同时弹出来这个界面,在标红的地方可以添加我们要查看的信号波形
在下图的1处,可以添加我们设定好的触发器,注意这里可以同时添加多个触发器,但是要保证他们都能同时触发才能添加进来,否则就算添加进来怎么调试也不会触发我们的触发器的,所以建议是一次添加一个触发器,2处是选择触发数值的进制,B开头是二进制,U开头是十进制,H开头是十六进制,O开头是八进制,3处是填写数值,这里的key_out1我代码中触发时会输出一个高电平的信号,所以这里可以写1
设置好了之后,可以点击红框处的三角符号运行触发器,这个时候触发器会等待我们的触发信号
当我们按下按键时,按键会返回给我key_out1的高电平信号,所以触发器会被这个型号给触发
ila可以实时的检测我们的开发板所传输的数据,可以很好的帮助我们纠错,当仿真我们找不出来bug的时候,ila这个时候可以排上用场了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。