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

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

3天内不再提示

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

lp7u_bia 来源:SiliconThink 作者:SiliconThink 2021-08-09 14:12 次阅读

1. 前言

在数字IP/ICFPGA项目的上板验证阶段,对于一些难以确定原因的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

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

    关注

    192

    文章

    1397

    浏览量

    79753
  • GUI
    GUI
    +关注

    关注

    3

    文章

    611

    浏览量

    38801
  • ILA
    ILA
    +关注

    关注

    0

    文章

    5

    浏览量

    3506

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

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

收藏 人收藏

    评论

    相关推荐

    点焊机的工作原理使用方法

    点焊机是一种常用于金属加工中的设备,它能够将金属零件通过瞬间高温融合在一起。这种焊接方式在汽车制造、电子设备制造、金属加工等领域广泛应用。本文创想焊缝跟踪小编将介绍点焊机的工作原理以及使用方法
    的头像 发表于 03-26 17:50 512次阅读
    点焊机的<b class='flag-5'>工作原理</b>及<b class='flag-5'>使用方法</b>

    如何在下载Bitstream后自动触发ILA采集

    ,以普通人的手速显然是无能为力的。有的变通方法比如在程序中加入一定的延时量或者外部按键做触发 ILA 采集也可以实现。但是某些应用场景下,初始化必须在上电后的一定时间范围内完成。本文将介绍一种可适用于上述场景的方法,即在下载 B
    的头像 发表于 02-23 09:45 449次阅读
    如何在下载Bitstream后自动触发<b class='flag-5'>ILA</b>采集

    ph传感器的工作原理 ph传感器的使用方法

    PH传感器是一种感知物质酸碱性的设备,它在许多领域中被广泛应用,包括环境监测、水质检测、食品加工和生物科学研究等领域。本文将详细介绍PH传感器的工作原理使用方法。 一、PH传感器的工作原理 PH
    的头像 发表于 02-03 09:43 1084次阅读

    变频器工作原理及应用 变频器的使用方法及参数调整

    使用方法和参数调整。 一、变频器的工作原理 变频器的基本构成 变频器通常由直流整流器、滤波器、逆变器和控制电路组成。其中,直流整流器将交流电源转换为直流电源,滤波器用于平滑输出电流,在逆变器中将直流电流转换为具
    的头像 发表于 01-30 14:43 1186次阅读

    高压放大器的工作原理使用方法是什么

    工作原理使用方法。 一、工作原理 放大器拓扑结构:高压放大器通常采用共源极或共集电极的放大器拓扑结构。其中,共源极电路具有较高的输入阻抗和较低的输出阻抗,适合用于高压放大器应用。通过合理设计电路结构和匹配网络,可
    的头像 发表于 01-02 14:59 177次阅读
    高压放大器的<b class='flag-5'>工作原理</b>和<b class='flag-5'>使用方法</b>是什么

    数码管的工作原理使用方法解析

    数码管是一种常见的显示元件,用于以数字形式显示数字、字母和特殊符号。它具有简单、可靠、易读等特点,在很多电子设备中应用广泛。本文将对数码管的工作原理使用方法进行细致的解析。 一、数码管的工作原理
    的头像 发表于 12-18 17:31 1258次阅读

    如何实现ILA Cross Trigger

    ILA Cross Triggering功能使得ILA核心之间、以及ILA核心与处理器(例如,AMD Zynq 7000 SoC)之间可以进行Cross Trigger。这个功能在你需要在不同时钟域的两个
    的头像 发表于 11-30 10:17 671次阅读
    如何实现<b class='flag-5'>ILA</b> Cross Trigger

    光耦继电器的工作原理使用方法详解

    光耦继电器的工作原理使用方法详解 光耦继电器是一种将输入的光信号转换为输出电信号的电子装置。它主要由发光二极管(LED)和光敏三极管(光二极管)组成,通过发光二极管发出的光信号,来控制光敏三极管
    的头像 发表于 11-17 14:04 1481次阅读

    集成逻辑分析仪(ILA)的使用方法

    两大主流厂商的软件集成逻辑分析仪供使用,Altera的Quartus自带SignalTap、Xilinx的Vivado自带ILA逻辑调试工具。
    的头像 发表于 10-01 17:08 1861次阅读
    集成逻辑分析仪(<b class='flag-5'>ILA</b>)的<b class='flag-5'>使用方法</b>

    如何利用ila(逻辑分析仪)调试nice?

    仿真和生成mcs文件后运行的结果如下(仿真的结果和实际传回的数据结果不同,并且相同的c程序前后两次传回的结果都不同),目前想用ila调试,看错在那一步了,但ila一直不出波形,三种加debug的方法
    发表于 08-16 06:37

    E203移植到自己开发板之后,ila抓取信号,IFU模块输出的ir和pc不对应的原因?

    为mcs文件,load进去,在串口也打印出了相应的输出内容。当用ila查看IFU模块的两个关键输出信号时,发现和之前用testbench进行verilog仿真的输出波形有差异。 按照官网给出的ppt上上解
    发表于 08-12 07:26

    蜂鸟E203 V2的FPGA实现之后,上板测试想用ila抓取内部信号没有波形是为什么?

    RISC-V 蜂鸟E203平台在黑金的AX7050上移植搭建,想查看IFU模块的内部信号,于是调用ila查看,却发现没有任何波形输出,FPGA实现是可以正常run编译之后可执行文件的。图1是用ila
    发表于 08-12 06:25

    TTL电路分析、工作原理使用方法

    今天给大家分享的是: TTL电路的分析 、TTL电路 工作原理 、TTL电路 使用方法
    发表于 05-18 09:06 3933次阅读
    TTL电路分析、<b class='flag-5'>工作原理</b>、<b class='flag-5'>使用方法</b>

    数据转换器的基本工作原理使用方法

    数据转换器是一种仪器、装置,也是一种电子元器件,它的主要作用是将其他类型的电能信号转换成另一种,并且能够将一种电能因数信号转换成另一种电能因数信号。数据转换可分分为两大类:电能信号转换和电能因数信号转换。下面AMEYA360电子元器件采购网详细介绍:数据转换器的基本工作原理使用
    的头像 发表于 05-15 11:29 1293次阅读

    佳金源|锡膏使用方法注意事项

    ,下面佳金源锡膏厂家简单的介绍一下使用方法注意事项:一、锡膏的使用方法1、锡膏须保存在2-10℃的冷藏空间内,贮存期限为6个月。在使用前,将原装的锡膏从冷藏室取
    的头像 发表于 05-15 11:02 1017次阅读
    佳金源|锡膏<b class='flag-5'>使用方法</b>及<b class='flag-5'>注意</b>事项