ILA的使用

ILA的使用摘要 介绍 ILA 必须掌握的两种使用 ILA 的高级使用 CaptureContr 和 AdvancedTrig 懂了后再来补

摘要:介绍ILA必须掌握的两种使用,ILA的高级使用Capture Control和Advanced Trigger(懂了后再来补)

1.添加IP ILA

Number of Probes添加要观察的信号数量;

Sample Data Depth指的是调试的时候能够观察到的调试图的大小、数据的多少,1K选择1024,16K选择16384;

Number of Comparators,我一般选择默认2

ILA的使用

Capture Control和Advanced Trigger可以默认勾选,暂时还不太清楚怎么用。

Probe_Ports里面设置每个信号的比特位宽。其余的地方默认就好了。

ILA的使用

2.NetList里添加 ILA

ILA的使用

比较好用的一种方法,可以在打开了Synthesis之后在网表里面右键然后Mark Debug,也可以在右边的图里面对线右键然后Mark Debug。 

ILA的使用

但是呢,有的信号比特在综合的时候会被优化掉,这个时候可以用另一种方法;在要观察的信号前面添加mark_debug(在reg、wire或者logic信号前面添加)

(* mark_debug = "true" *) 或者 (* dont_touch = "true" *) 场景1:保留等效寄存器 最典型的场合是为降低扇出,对高扇出的寄存器进行复制,之后对复制的寄存器和原始寄存器添加DONT_TOUCH属性。因为这些寄存器是等效寄存器,这样做可以保证在综合阶段哲学等效寄存器不会被合并。 场景2:保留观测寄存器 为了观测某一个信号(需要将其添加到ILA中),可能会出现在综合后的网表中无法找到的情况。这时候有些工程师会选择用DONT_TOUCH,使得该寄存器可以被保留在综合后的网表中。 场景3:保留冗余逻辑 举一个简单的例子,两个LUT级联,每个LUT的功能都是取反,这样最后一级LUT的输出与第一级LUT的输入是完全一样的,差别在于延迟。而这种延迟又是设计刻意为之(暂且不管什么原因)。抛开延迟而言,这两个LUT其实是冗余逻辑,可以被优化掉的。一旦使用了DONT_TOUCH就可以保证它们不会被移除。

 类似这样:ILA的使用

无论是netlist还是mark_debug添加好了之后,可以在”open synthesis design” 下 “set up debug”

ILA的使用

基本可以按照默认一直Next,这里注意加的信号对应的时钟是否正确(clock domain) 

ILA的使用

下面两个用到了就要勾选

ILA的使用

 添加ila的时候到时候可能需要在XDC里面写点东西,一般按照提示默认写进去就行。

3.调试

两种加ILA的方法在调试的时候是一样的,至于Capture Control和Advanced Trigger怎么用,以后再来补。

生成比特后,导入bit和ila;

ILA的使用

 右下角的框里面可以添加要变化的信号(可以多个信号组合在一起观察),对他的数值、上升沿、下降沿、高电平、低电平进行选取;选取完成了之后点击左下角三角形图标运行;如果界面刷新,表明状态被获取到了,如果一直抓不到,说明该信号没有此数值;

这里面需要知道的是,ILA也是可以抓数据,导出数据,然后用python或者matlab进行分析的。 

ILA的使用

参考:

工具篇_Vivado软件的硬件调试与仿真(ILA集成逻辑分析仪、Simulator使用)_哔哩哔哩_bilibili

VIVADO学习笔记之–DONT_TOUCH_有钱挣的地方就是江湖的博客-CSDN博客_vivado防止寄存器被优化掉

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217926.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:27
下一篇 2026年3月18日 上午8:27


相关推荐

  • ANDROID自定义视图——onMeasure,MeasureSpec源码 流程 思路详解

    ANDROID自定义视图——onMeasure,MeasureSpec源码 流程 思路详解自定义视图详解 MeasureSpec onMeasure measureChild 等方法源码分析

    2026年3月16日
    2
  • iostat命令详解——linux性能分析[通俗易懂]

    iostat命令详解——linux性能分析[通俗易懂]之前总结uptime和free命令,今天继续来总结一下iostat。给自己留个笔记,同时也希望对大家有用。版本信息:         sysstatversion9.0.4         (C)SebastienGodard(sysstatorange.fr)基本使用:          iostat[-c][-d][-N][-n

    2022年10月6日
    3
  • c语言中怎么定义的字符串,C语言中定义字符串的几种方式

    c语言中怎么定义的字符串,C语言中定义字符串的几种方式1 什么是字符串 所谓字符串本质上就是以 0 作为 结尾的特殊字符数组 2 定义字符串的过程中有哪些注意点由于字符串本质上其实就是以 0 作为 结尾的特殊字符数组 所以定义字符串时 必须保证字符串存储的最后一个元素为 0 当我们没有给定字符串具体长度时 我们通过这种方式 char 字符串名称 字符串所含元素 来定义字符串时 就需要手动的在字符串末尾加上 0 不然的话 它就仅仅

    2026年3月17日
    2
  • Linux 简单查看网卡实时网速

    Linux 简单查看网卡实时网速简单粗暴⛽️1.nload查看sudonloadnload展示效果退出查看:按q键2.通过ifconfig实时查看watch-n1″/sbin/ifconfigeth0|grepbytes”ifconfig实时查看效果RX:接收流量TX:发送流量计算方法:(KB=数值/1000)(MB=数值/100000)退出查看:按ctrl+c键……

    2022年10月18日
    7
  • matlab读取txt数据文件「建议收藏」

    matlab读取txt数据文件「建议收藏」一、load()函数load函数适合读取纯数据文本例子,data_txt.txt内容如下:0  1.000000  2.000000  3.0000001  3.000000  4.000000  5.0000002  6.000000  7.000000  8.0000003  9.000000  10.00000  11.00000读取代码如下:%对于类似的txt文件,不含有字符,只有数字data=load(‘data_tx…

    2025年9月19日
    7
  • java图书馆新地址_推荐20个5月最热门的Java开源项目

    java图书馆新地址_推荐20个5月最热门的Java开源项目以下涉及到的数据统计与2019年6月1日18点,数据来源:https://github.com/trending/java?since=monthly[1]。下面推荐的内容从Java学习文档到最热门的框架再到热门的工具应有尽有,建议收藏+在看!1.LeetCodeAnimation•Github地址:https://github.com/MisterBooo/L…

    2022年7月7日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号