vivado中ila的使用方法记录

这篇具有很好参考价值的文章主要介绍了vivado中ila的使用方法记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ILA工具生成方法

一、 ILA工具介绍

在FPGA的开发中,当完成代码设计后,为了验证代码的准确性和各种不同条件下的可靠性,往往需要优先想到通过逻辑仿真进行相关验证。使用逻辑仿真进行验证虽然可以周密的考虑给出不同输入条件下的输出结果或交互结果,但是也其相对局限性:使用仿真需要设计人员写testbench代码,从而增加代码的书写量,随之而产生提高验证工作的门槛和排除错误的工作量等一些列问题。特别是对纲入门的人,有时候难对testbench的设计方法优准确的把握,甚至testbench的书写规则和设计源码的规则混淆了,从而对学习源码设计参数适得其反的效果

使用仿真进行逻辑验证还有另一个局限性,其体现在:有些驱动模块的模型无法获取的情况下,仿真几乎是一项不可能完成的任务。比如,在没有ddr2、ddr3、摄像头模组等代码模型的条件下,设计的驱动模块缺乏能够模拟真实外部期间的数据交互环境,从而很难实现仿真的验证过程。

最后,仿真大多适合以时间为标尺,对条件变化有清晰的时间节点预设的验证需求。这就导致对工程的验真很难形成FPGA芯片、计算机和人的三者互动,也很难通捕捉随机触发条件而进行验证,从而使得触发条件的选择,受较大的局限性。

能够较好解决以上问题的一种方案,是考虑使用逻辑分析仪。而采用传统的逻辑分析仪又存在额外的设备采购开销。得益于FPGA的硬件定制自由属性,FPGA生产设计公司从自身发掘潜力,并配套以软件开发环境,推出了在一定程度上能够代替逻辑分析仪的在线调试工具。

FPGA两大厂商都有自己的在线调试工具。Intel的SinganlTap,xilinx的ILA工具。

二、方法

方法一:添加ILA IP核

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

将ila IP核在顶层文件中例化。例化模板可以在ip source–>ila_o–>instantiation template–>ila_0.veo中复制过来。

vivado的ila如何使用,FPGA学习之路,fpga开发

然后编译生成bit流文件下板验证即可

方法二:使用Debug标记创建ILA调试环境

直接使用debug标记的方法创建ILA调试环境,能够弱化抓线信号的位宽对抓线调试的影响。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

标记完之后对工程进行编译。编译完毕后点击open synthesized design ,再选择debug。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

到这步之后,我发现我的图中并没有出现蜘蛛的符号,查看控制台发现警告:

[Netlist 29-72] Incorrect value 'ture' specified for property 'mark_debug'. Expecting type 'bool' with possible values of '1,0'. The system will either use the default value or the property value will be dropped. Please verify your source files.
Resolution: Please check the value of the property and set to a correct value.
大概的意思是:[网表29-72]为属性“mark_debug”指定的值“ture”不正确。应为可能值为“1,0”的类型“bool”。系统将使用默认值或删除属性值。请验证您的源文件。
解决方案:请检查属性的值并设置为正确的值。

然后我根据提示将语句中的”ture“改为”1“,如下图

vivado的ila如何使用,FPGA学习之路,fpga开发

改好的结果:

vivado的ila如何使用,FPGA学习之路,fpga开发

解决问题之后,继续:创建ila ip核

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

接下来将需要观察的信号绑定到探针上:

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

绑定完成之后就可以生成bit流文件,运行ila。

注意:在使用mark_debug方法抓线完成调试工作之后,需要记得删除源码中的mark_debug标记。否则,不但代码会留下杂乱的调试痕迹,而且被标记的信号会保持占用工程的逻辑资源,导致工程总逻辑资源使用量增大。

方法三:使用路径标记核set up debug 菜单创建ILA调试环境。

可以通过在综合后的原理图上直接进行调试标记,而简单的锁定需要观察的信号。这样,我们就不需要在代码中进行标记,也不需要承担在调试完成后忘记在代码中删除mark_debug标记的风险了。

在vivado的 tcl console中输入:reset_project。可以将工程复位到ready状态。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

然后直接生成bit流文件上板调试。

方法四:使用IP核在block design界面创建ILA调试环境

首先创建block design工程,添加ila IP核。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

把线连接好之后生成顶层

vivado的ila如何使用,FPGA学习之路,fpga开发

点击generate bitstream生成bit文件。

三、生成bit文件,板级调试

采用ila IP核的方法生成比特流下载到板子上。

1、波形显示窗口,可以通过点击十添加想查看的波形的信号。因为在IP设置中对探针设置的时候,cnt和 key_state信号的 Probe Trigger or Data 属性设置为了“DATA AND TRIGGER”,所以这里可查看的信号有cnt和 key_state。当然,通常在下载完程序后,ILA能够非常智能的识别出设计师期望观察的信号,同时,在右键菜单也可以找到删除观察信号的指令。这样,有限的窗口面积就可以被充分利用,自由调配和增减所需观察信号的条目。

vivado的ila如何使用,FPGA学习之路,fpga开发

2、ILA core的状态控制和显示窗口

vivado的ila如何使用,FPGA学习之路,fpga开发

按钮①:设置采样执行过程为循环采样。如果该按钮按下,则其外框为灰色线条,且框内颜色微深于面板背景色。
按钮②:启动采样按钮。按下后将启动ILA采样。根据是单次采样还是循环采样,根据是有条件触发还是无条件触发,启动后会呈现ILA状态的周期性变化或等待触发条件的到来。
按钮③:无条件执行ILA采样。
按钮④:停止采样按钮。如果处于循环采样状态,按下此按钮后,本轮正在执行的循环结束则停止采样。
状态栏⑤:状态栏⑤由5个空心圈组成,唯一的实心绿色点所处的位置表征ILA的运行状态。
状态栏⑥:已采集的点数占总采集点数的关系。由于图1.7-8中TRIGGER设置的在波形窗口2048点展示,而 TRIGGER还未到来,所以采样完成了2048个点而正等待TRIGGER。
状态栏⑦:以进度条的方式结合状态名称,标明当前所处的状态以及采样过程中执行状态的百分比。

3、点击窗口内➕ 添加产生触发条件的信号

vivado的ila如何使用,FPGA学习之路,fpga开发

点击后,在弹出的Add Probes窗口选择需要添加的信号。因为在IP设置中对探针设置的时候,cnt和 key_state信号的Probe Trigger or Data 属性设置为了“DATAAND TRIGGER”,所以这里可查看的信号有cnt和 key_state。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

添加好触发信号后,需要设置触发条件,触发条件有多个地方可进行设置。假设现在我们想设置在满足cnt =- 24999999并且 key_state为时触发进行一次信号的抓取,设置如下:
设置触发情况,下面是设置多个信号产生触发信号时的条件,与、或、
同或、异或,这里根据需求设置“Set Trigger Condition to‘Global AND’”表示。

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发

设置好之后按下开发板的按钮

vivado的ila如何使用,FPGA学习之路,fpga开发

结果:T的位置就是触发的位置

vivado的ila如何使用,FPGA学习之路,fpga开发

vivado的ila如何使用,FPGA学习之路,fpga开发
视频参考连接:文章来源地址https://www.toymoban.com/news/detail-602681.html

https://www.bilibili.com/video/BV1uG4y1q7pT/?p=7&spm_id_from=pageDriver&vd_source=58dae662e3d0551fcf0adfdc00c4e557
	--晓凡  2023年6月6日于桂林书

到了这里,关于vivado中ila的使用方法记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado中的FPGA时钟管理单元PLL学习记录

    FPGA中时钟管理模块(CMT)包括PLL和MMCM,用于将时钟倍频(比如输入时钟25M,我们要产生50M时钟)、分频(在不影响系统功能的前提下,较低的工作时钟,能够降低系统功耗)、改变相位偏移或占空比等。 当需要上板时,由于板上晶振时钟固定,所以其他频率的时钟产生就要用到

    2024年01月16日
    浏览(53)
  • 关于 【vivado ila debug时 高级触发的使用】之 改变ILA采样频率

    【vivado ila 高级触发的使用】之 改变ILA采样频率 一.背景 通常情况下,FPGA工程师在设计完复杂的逻辑设计后,会进行初步的仿真测试,仿真测试之后进行上板测试,但是简单的仿真往往无以应对复杂的实际情况, 上板使用在线调试工具(ILA和VIO)抓取内部信号进行debug是常用

    2024年02月03日
    浏览(59)
  • FPGA新起点V1开发板(三)——Quartus II软件的使用(流水灯的烧录以及sof转jic的方法记录)

    先创建一个工程文件夹 flow_led 再创建四个子文件夹 doc存放工程的设计文档或者其他一些datasheet文档、数据手册 par存放工程文件 rtl存放设计文件,也就代码 sim存放工程的仿真文件 第一个第四个可以为空,但是做此可以有良好的习惯 这是打开一个工程向导 这是选择FPGA的芯片

    2024年02月04日
    浏览(43)
  • Vivado中ILA(集成逻辑分析仪)的使用

      在FPGA设计上板过程中,如果出现问题难以定位具体问题的位置和原因,要观察一些信号的波形,可以使用ILA来捕获关键信号,以便分析问题并快速定位其原因。ILA(Integrated Logic Analyzer),集成逻辑分析仪,与Quqartus 中的 SignalTap II 作用类似。   在IP Catalog中搜索 ILA ,

    2024年02月07日
    浏览(49)
  • Vivado使用技巧:时钟的约束方法

            数字设计中,“时钟”表示在寄存器之间可靠地传输数据所需的参考时间;Vivado的时序引擎利用时钟特征来计算时序路径需求,通过计算时间裕量(Slack)的方法报告设计的时序空余;时钟必须被正确定义以最佳精度获得最大的时序路径覆盖范围,包含如下特性: ●

    2024年02月08日
    浏览(64)
  • Vivado 使用 ILA IP 核在线调试无法加载调试波形的永久解决方案

    Vivado 使用 ILA IP 核在线调试无法加载调试波形的永久解决方案 在 FPGA 开发过程中,调试是一个至关重要的环节。Vivado 是一款常用的 FPGA 设计工具,其中包含了 Integrated Logic Analyzer(ILA)IP 核,用于在线调试 FPGA 的设计。然而,有时候在使用 Vivado 进行在线调试时,会遇到无法

    2024年02月03日
    浏览(33)
  • FPGA篇 ila使用例子

    ila使用范例(小梅哥例程):03 使用Debug标记创建ILA调试环境_哔哩哔哩_bilibili 方法一:使用IP核创建ila调试环境     点击ip catalog 搜索ila进行配置,这里设置了两组探针。 一个探针探测key_state信号,另一个探针探测cnt计数信号。  在ip source中的ila_0下可以找到ila_0.veo文件,里

    2024年02月15日
    浏览(45)
  • 手把手教你在Vivado创建一个RAM的IP核并使用ILA工具验证

    RAM的英文全称是Random Access Memory,即随机存取存储器,它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的。RAM主要用来存放程序及程序执行过程中产生的中间数据、运算结果等。 单端口:只有一个端口,

    2024年01月25日
    浏览(57)
  • FPGA 学习笔记:Vivado 生成的 Bitstream bit 文件 超大的解决方法

    最近学习FPGA,使用Vivado,照着开发板例程,写了个流水灯的Verilog程序,配置好引脚约束后,下载到开发板,发现下载的速度有点慢,我一查看 生成的 bit文件,发现竟然接近11MB。 开始以为是 Vivado 版本出了问题,我先后更换为 Vivado 2018.2 Vivado 2019.2 Vivado 2022.2,生成的 bit 文件

    2024年02月13日
    浏览(59)
  • Vivado中使用VSCode方法(最全面最详细,所有问题这里都有答案)

    目录 安装使用方法 在vscode中显示verilog语法错误 好用的VSCODE插件 异常问题记录 更新记录 20230906更新 20230720更新 注: win7系统支持VSCode1.54.1及以下;Python支持3.8.10及以下版本;使用 chardet-3.0.4.及以下版本 win10系统支持VSCode1.54.1及以上;Python支持python3.10.5及以上版本;使用cha

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包