0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ILA工作原理 ILA使用方法与注意

lp7u_bia 来源:SiliconThink 作者:SiliconThink 2021-08-09 14:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 前言

在数字IP/IC,FPGA项目的上板验证阶段,对于一些难以确定原因的bug,比如:RTL仿真时,测试pattern覆盖不够全面,fpga跑起来后的实际信号时序可能跟RTL 仿真不一致,从而出现Bug。一种debug的方式就是用FPGA工具提供的ILA模块(xilixn在ISE中叫:chipscope),来实时抓取FPGA内部数字信号的波形,分析逻辑错误的原因,帮助debug。

ILA的正确、高效使用,能加速debug的进程。

2. ILA工作原理

根据xilinx的datasheet功能描述,猜测ILA也是一个数字IP,大致结构如下:

1f86597a-f878-11eb-9bcf-12bb97331649.png

其中:

1) dbg_sig?:是待观测的debug信号;

2) ila_clk:是设置的ILA工作时钟(监测、抓取);

3) jtag_inf:ILA数据与上层的交互口(tigger条件设置,抓取的数据上传);

4) sram_ctrl:根据trig_ctrl,触发抓取,并把抓取的数据按cila_clk的cycle实时写入SRAM;

5) sram:抓取数据的存储空间;

6) jtag_io:Jtag协议定义的标准IO;

根据这个大致结构,预计ILA工作原理如下:

1) PC端GUI应用程序设置trigger条件;通过jtag_io配置进入ILA core;

2) ILA core开始工作,使用ila_clk监测debug信号是否符合tigger条件;

3) 符合条件后,使用ila_clk抓取debug信号,并实时存入SRAM;

4) 抓取结束后,通过jtag_io把debug信号的值上传到PC端;

5) PC端GUI应用程序显示波形;

根据这个工作原理,可以推导出ILA的一些使用特性:

1) ILA加入后,需要增加LUT/DFF的使用量;

2) ILA加入后,需要增加的使用量,跟debug信号的数量,抓取深度成正比;

这些特性,跟实际布局布线后的结果是匹配的。

3. ILA使用方法与注意

ILA的使用步骤如下:

A. 设计综合;

B. 点击:Set Up Debug开始添加ILA;

C. 添加debug信号:

D. 对每个debug信号选择监测、抓取时钟:

E. 设置抓取特性:

F. 结束,保存ILA设置。ILA信息将存入工程的xdc约束文件:

到此,ILA插入结束,在place&route完成,产生configure bit后,下载进入FPAG即可使用ILA进行内部观测了。

4. ILA使用注意

在ILA的使用过程中,有如下3点需要注意:

A. 设置监测、抓取时钟时,最好用drive这个信号的clk。因为是数字电路,也存在跨时钟域的问题。如果ila_clk和debug信号的clk不一致,这儿就是一个跨时钟域的点。在P&R时,timing会报错。你可以用set_false_path来mask掉这些timing violation,但是需要记住跨时钟域的特性:如果debug一个4bit信号,实际信号只有4‘b0001--》 4’b0111的变化,可能抓取到:4‘b0001--》 4’b0101 -》 4‘b0111。

B. 因为综合可能优化掉一些信号(尤其是组合逻辑),或改变信号的名字,为了keep某些信号,可以在RTL code中,添加:“* mark_debug = “true” *”,使用如下:

C. 设置抓取特性时,“input pipe stage”建议设置到2~3。这样虽然多用些DFF,可以确保ILA输入时的timing更容易过。因为你的debug逻辑可能离ILA core非常的远,增加pipe stage寄存器,可以把信号一级一级pipe到ILA core的输入口。

5. 写在最后

虽然ILA比逻辑分析仪好用多了,但是并不建议靠ILA来debug。因为:

1) ILA分析的波形长度有限;

2) ILA抓取的信号数量有限;

3) 添加大量信号时,麻烦;

4) 如果需要新加debug信号,需要重新做ILA,在Place&Route,这样费时费力(一个稍大的工程,可能需要跑数小时);

所以,“此女”虽好但不可亵玩焉,否则走火入魔,举步维艰。建立完备的测试pattern,cover全功能点,跑RTL simulation才是正道。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数字电路
    +关注

    关注

    193

    文章

    1648

    浏览量

    83026
  • GUI
    GUI
    +关注

    关注

    3

    文章

    693

    浏览量

    42836
  • ILA
    ILA
    +关注

    关注

    0

    文章

    6

    浏览量

    3856

原文标题:数字IC/FPGA设计基础_ILA原理与使用

文章出处:【微信号:bianpinquan,微信公众号:变频圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IKSEMI发布高性能车规级CAN芯片组:IN2515与ILA82C251,全面替代MCP2515及PCA82C251

    半导体品牌IKSEMI凭借其自主研发的IN2515CAN控制器与ILA82C251CAN收发器,为汽车电子系统提供了安全、可靠且完整的CAN总线通信解决方案。这两款芯片均已通过严苛的AEC-Q100
    的头像 发表于 12-02 09:25 48次阅读
    IKSEMI发布高性能车规级CAN芯片组:IN2515与<b class='flag-5'>ILA</b>82C251,全面替代MCP2515及PCA82C251

    ILA 抓取MCU200T的内部信号

    我们在调BUG的过程中单纯利用引脚输出中间变量的方法可能比较困难,因此我们在实际的开发过程中使用了ILA内嵌式逻辑分析仪来进行内部信号的捕捉和观察。 1、在E203的 vivado工程中打开IP
    发表于 10-29 08:03

    将e203 例化AXI总线接口

    否有信号变化,注意axi的awaddr,awvalid,wready,wdata一定要引出到ILA,这里调用ILA时候可以选择axi属性。 最后终于用e203的axi把led0点亮。(最终发现是axi_gpio分配地址为
    发表于 10-29 06:08

    锡膏的储存及使用方法详解

    锡膏是一种常用的焊接辅助材料,广泛应用于电子、电器、通讯、仪表等行业的焊接工艺中。正确的储存和使用方法对于保证锡膏的品质和焊接效果至关重要。本文将就锡膏的储存和使用方法进行详细介绍,希望能对广大焊接工作者有所帮助。
    的头像 发表于 07-18 17:36 1056次阅读
    锡膏的储存及<b class='flag-5'>使用方法</b>详解

    FPGA调试方式之VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与FPGA内部寄存器进行交互。
    的头像 发表于 06-09 09:32 3092次阅读
    FPGA调试方式之VIO/<b class='flag-5'>ILA</b>的使用

    FPGA远程烧写bit文件和调试ILA指南

    在 FPGA 开发过程中,烧写bit文件和使用ILA进行调试是再常见不过的操作。但如果 FPGA 板卡被放在机房,或者通过PCIe插在服务器上,那么每次调试时我们都不得不带着笔记本电脑跑去机房或服务器旁,接上 JTAG 线后才能进行调试,非常不便。
    的头像 发表于 06-05 16:41 1986次阅读
    FPGA远程烧写bit文件和调试<b class='flag-5'>ILA</b>指南

    LCR测试仪的使用方法注意事项

    LCR测试仪的使用方法、操作注意事项及常见故障处理,帮助读者高效、安全地掌握这一仪器的使用技巧。   二、LCR测试仪的基本使用方法 1. 准备阶段 (1)设备检查:确保测试仪电源线、连接线完好,电源开关关闭。检查测试夹具或探针
    的头像 发表于 04-29 10:36 5266次阅读
    LCR测试仪的<b class='flag-5'>使用方法</b>与<b class='flag-5'>注意</b>事项

    DLP9500显示的图像拉伸,并且有部分图像无法显示,是什么原因导致这种异常现象呢?

    使用ILA抓取的数据是正确的。DMD显示的图像拉伸,并且有部分图像无法显示。是什么原因导致这种异常现象呢?这是因为DLP9500的管脚设置错误还是软排线呢?
    发表于 02-26 06:43

    精密空调操作使用方法详解

    精密空调操作使用方法详解
    的头像 发表于 02-10 14:44 1883次阅读
    精密空调操作<b class='flag-5'>使用方法</b>详解

    无线收发器工作原理,无线收发器怎么使用

    无线收发器作为现代通信技术的重要组成部分,广泛应用于各个领域,包括无线通信、物联网、远程控制和无线传感器网络等。本文将深入探讨无线收发器的工作原理,同时提供详细的使用方法
    的头像 发表于 01-29 15:31 2528次阅读

    相位测量仪工作原理,相位测量仪怎么使用

    相位测量仪作为电子测量领域的重要工具,广泛应用于电力、通信、自动化控制等多个行业。它通过精确测量电压、电流等信号之间的相位关系,为工程师和技术人员提供了关键的数据支持。本文旨在深入探讨相位测量仪的工作原理,并详细介绍其使用方法
    的头像 发表于 01-29 15:07 3861次阅读

    快速了解电源模块的使用方法

    电源是整个电路可靠工作的核心部分。然而,由于电源电路的电流和发热量较大,容易出现故障。今天我为大家介绍一下电源模块的使用方法
    的头像 发表于 01-21 15:24 1392次阅读

    电烙铁的使用方法注意事项

    一、电烙铁的使用方法 1、新电烙铁使用前要先让电烙铁通电,给烙铁头“上锡”。具体方法是先用锉刀将烙铁头按需要锉成一定的形状,然后接上电源,当烙铁头温度升到刚刚能熔化焊锡时,在助焊剂上沾涂一下,等
    的头像 发表于 01-18 14:19 5879次阅读

    ADS54J54IRGCT用示波器观测SYNC信号一直为低,为什么?

    正确的K28.5后,将SYNCb拉高,完成代码组同步阶段。 3、ADS54J54在SYNCb拉高后,发送ILA序列。FPGA收到正确的ILA序列后,完成ILA阶段 4、而后发送AD采样数据 我分析是AD配置可能有问题。 提问:请
    发表于 01-02 07:06

    AB伺服软件使用方法

    AB伺服软件使用方法
    发表于 12-24 14:45 1次下载