FPGA开发要懂得使用硬件分析仪调试——ILA

0. ILA概述
在FPGA开发中,当我们写完代码,进行仿真,确定设计没有问题后,下载到硬件上一般都能按照我们的设计意愿执行相应功能。但这也并非绝对的,有时候你会遇到一些突然情况,比如时序问题或者仿真时我没有考虑到某种情况,但实际中它确实存在的,这就会造成功能上的错误了。也有时候你的设计似乎你没法进行仿真或者做起来很费劲,比如设计一个SDRAM或者DDR控制器,让你相应写一个SDRAM或者DDR之类的模型进行仿真,这时候是不是就很为难了哈哈。

所以在很多时候,一个FPGA工程师应该学会使用在线调试工具进行分析。我没法写一个DDR模型,我还不能采集它的时序进行修改,直到满足要求吗?这里给大家介绍Xilinx公司的开发软件Vivado上的在线调试工具——ILA。Vivado中对ILA的使用非常灵活,操作也很方便,这里先介绍做常用的调试方式,即使用ILA核。

1. ILA核如何调用

ILA核,也可以当做是一个IP核。他可以把用户指定的信号存入RAM中,然后读取出来,用于查看分析。如下图所示,在Vivado中,左边栏有一个“IP Catalog”,双击这个选项就可以进行IP选择了。

此时会弹出一个IP核选择界面,在右上角方框里输入“ila”,接着ILA核便会出现,我们只需双击即可。

2. ILA核如何配置
接下来便会看到ILA核的真面目了,它的帮助文档,在左上角的“Documentation”看到没,这个可以链接到IP核的data_sheet,如果对IP核的使用不是很懂可以点击此处获取IP核的详细信息。下面我们介绍最经常的使用。

图中最上面的“Component Name”可以给IP核取一个名字,注意,必须IP核名与代码中的IP名一致,才能关联起来,而且一旦生成了IP核,就算打开IP核,也不能再更改这个IP核的名字了,所以取名需谨慎。

黄色框里是输入信号的格式,如何你是AXI总线,就可以选择"AXI",如果不是就选“Native”。

"Number of Probes"是要采集的信号数量,如果要采集5个信号就在方框里输入5即可。


“Sample Data Depth”是采样深度,深度越大意味着能看到的信息量越多。但是要切记一点,采样的数据都是要存储在芯片内的RAM里,所以选择越大占用的资源就越多,用户要根据自己芯片的情况选择采样深度。另外,因为使用了RAM,所以也会对布局布线产生影响,使用越多对时序可能影响越大,应该根据实际情况选择。



“Trigger Out Port”和“Trigger In Port”是用于触发,可以不选,触发在后面调试时可以灵活使用。
"Trigger And Strorage Setting"是数据捕获的设计,一般直接勾上即可。

“Probe_Ports”这个页面就比较简单了,在"Number of Probes"中用户设置了多少个采样数量,这里就会有多少个通道。如前面所示,我们设置了3,这里就出现了3个通道。
“Probe_Width”数据宽度,有多少位就填多少,像“PROBE1”通道是一个3Bit的数据,就填3.其他的默认即可。

最后点击“OK”就行了,等待ILA核的生成就行了,是不是很简单哈哈。

当然,我们的代码也必须有这个核的定义才行,如下图所示,这样才是一个完整的ILA核设计。

3. 总结
通过ILA核的使用,可以快速的帮助我们调试bug。另外,还有一个非常有用的VIO核,他就是虚拟输入输出IO,可以用来改变PL端的输入信号的值,观测输出的值,至于ILA的使用VIO的介绍和使用以后再讲。

Vivado ILA(Integrated Logic Analyzer)是一种用于调试和分析FPGA设计的工具。下面是使用Vivado ILA的简要教程: 1. 将ILA模块添加到设计中:根据引用\[1\]中的说明,将ILA模块添加到需要进行调试的模块中。可以参考夏宇闻老师的《Verilog经典教程第三版》了解具体的Verilog语法。 2. 生成比特流文件:在Vivado中,点击"Generate Bitstream"生成比特流文件。 3. 打开硬件调试:点击"Open Hardware Manager"打开硬件调试界面。 4. 添加调试语句:根据引用\[1\]中的说明,在需要进行调试的模块中添加调试语句(*MARK_DEBUG="true"* )。 5. 配置ILA:在Vivado中,打开IP核目录(IP Catalog),搜索ILA并选择相应的ILA IP核。根据引用\[3\]中的说明,选择需要测量的信号数和采样数据深度等参数。 6. 连接ILA:将ILA IP核实例化模板添加到设计中,并根据需要连接到需要测量的信号。 7. 生成比特流文件:重新生成比特流文件,以包含ILA的配置。 8. 下载比特流文件:将生成的比特流文件下载到FPGA板上。 9. 打开ILA界面:在Vivado的硬件调试界面中,打开ILA界面。可以看到已经命名的ILA,并在左边的模块框内看到对应的端口。 10. 进行调试:根据需要,设置触发条件和采样时机,并开始进行调试和分析。 以上是使用Vivado ILA的简要教程,希望对您有帮助。 #### 引用[.reference_title] - *1* *2* *3* [FPGA学习 Vivado使用篇之ILA(逻辑分析仪)](https://blog.csdn.net/m0_53606280/article/details/123600212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值