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

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

3天内不再提示

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

FPGA设计论坛 来源:FPGA设计论坛 2025-06-09 09:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在Vivado中,VIO(Virtual Input/Output)是一种用于调试和测试FPGA设计的IP核,它允许设计者通过JTAG接口实时读取和写入FPGA内部的寄存器,从而检查设计的运行状态并修改其行为。VIO IP核提供了一个简单易用的接口,使得用户可以轻松地与FPGA内部寄存器进行交互。

在Vivado中,ILA(Integrated Logic Analyzer)是一种强大的在系统调试工具,它可以捕获并分析FPGA内部的信号。使用ILA时,需要确保ILA的时钟信号与被观察信号的时钟域一致,以避免由于时钟域不匹配导致的数据捕获错误。此外,ILA的探针数量和数据深度应根据实际需求进行配置,以平衡资源消耗和调试需求。

VIO与ILA基本上就是我们在板调试FPGA的主要工具,在vivado中均有相应的IP core,具体的步骤如下:

1. vivado中打开IP Catalog

2. 搜索ila,在Debug&Verification 中选择ILA(Inegrated Logic Analyzer)

3. 右键Customize IP ,设置参数,多数的选择可以采用默认的选择。

87f7e460-4126-11f0-b715-92fbcf53809c.png

这里对ILA的特殊参数做一点说明:

Capture Control:即可以选择一个条件信号,仅条件信号满足设置要求时,才会进行采样或者触发操作,用于我们在需要某些信号进行触发时勾选;

Advanced Trigger:支持高级触发功能,它允许用户通过编写触发状态机(Trigger State Machine,TSM)来定义更复杂的触发条件。TSM是一个简单的脚本语言,用于定义触发状态机。可以在ILA的属性窗口中编写TSM代码,或者创建一个后缀为.tsm的文件来编写TSM脚本,实现相应的触发设置,可以利用ILA的高级触发功能来更精确地捕获和分析FPGA设计中的信号。

Setup Debug:由于这种Debug方式是将Debug信息写入XDC文件的方式,vivado提示我们需要更新XDC文件,可以选择覆盖overwite现有的XDC文件,该选项并不会删除我们现有的XDC文件约束,而是将Debug信息添加在XDC约束后面,实际操作中会发现,并不是完全将新的ILA约束信息,添加在原有XDC文件之后,而是以vivado自己的方式,重新写我们的约束文件,即如果我们有重要的约束信息,建议新增XDC文件save constraints as,这样可以保障原有XDC信息不被修改。

ILA其他注意事项

(1)ILA核的采样深度不宜过大,采样深度尽量设置在1024bit以内:在每个采样时钟下,ILA都会将捕获到的探针信号的值送入RAM中,由于RAM的存储空间是有限的,其数值越大,消耗的RAM资源也越多,从而对设计性能产生不利影响。

(2)ILA核的采样宽度不宜过大,随探针宽度增加,对资源利用率和时序的影响也会增大。

(3)请确保输入到ILA核的时钟与抓取的信号是同步关系,否则在设计编程到器件中时会产生时序问题并导致通信失败。

(4)抓信号的时钟必须为全局时钟网络。

(5)请尽量确保ILA核选择的时钟均为自由运行的时钟(常开稳定时钟),否则可能造成在器件上加载版本时无法与调试核通信。

(6)请尽量确保FPGA JTAG时钟比Debug Hub时钟慢2.5倍,否则可能出现运行后报错或者运行后不报错但不显示任何结果的情况,ug908。

8825da14-4126-11f0-b715-92fbcf53809c.png

VIO的配置界面中,设置Input Probe Count和Output Probe Count,即输入和输出探头的数量。

Enable Input Probe Activity Detectors:当输入信号发生变化时,Vivado会显示一个活动指示,帮助追踪信号的变化。启用Input Probe Activity Detectors后,你可以在ILA调试波形中看到哪些信号是活动的,这有助于快速定位问题。

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

    关注

    1656

    文章

    22292

    浏览量

    630405
  • 寄存器
    +关注

    关注

    31

    文章

    5590

    浏览量

    129092
  • 调试工具
    +关注

    关注

    1

    文章

    53

    浏览量

    12931
  • Vivado
    +关注

    关注

    19

    文章

    847

    浏览量

    70479

原文标题:FPGA上板调试方式总结----VIO/ILA

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    FPGA 开发过程中,烧写bit文件和使用ILA进行调试是再常见不过的操作。但如果 FPGA 板卡被放在机房,或者通过PCIe插在服务器上,那么每次
    的头像 发表于 06-05 16:41 2004次阅读
    <b class='flag-5'>FPGA</b>远程烧写bit文件和<b class='flag-5'>调试</b><b class='flag-5'>ILA</b>指南

    XILINX FPGA Debug with VIO and TCL

    的JTAG Chain和Debug Core,因此本文提出一种比较方便的调试方法来同时使用这两个core:ILA通过analyzer查看,VIO通过TCL控制。使用步骤:使用CoreGEN生成
    发表于 03-08 15:29

    玩转Zynq连载5——基于Vivado的在线板级调试概述

    我们看看Vivado中支持的一些重要调试方式ILA(Integrated LogicAnalyzer),即内嵌逻辑分析仪。可以在FPGA器件上对已实现的设计进行板级在线
    发表于 05-24 15:16

    chipcope pro核心生成并在设计中使用它们

    嗨, 我试图使用Chipscope Pro来调试我的FPGA(Spartan 6:SP605)实现。我想在顶层模块放置一个ILA和一个VIO核心,在子级别模块放置一个
    发表于 03-18 10:21

    Chipscope中的ILAVIO和ATC2有什么区别?

    HI,Chipscope中的ILAVIO和ATC2有什么区别?问候Naveen G K.谢谢娜文G K.
    发表于 03-31 10:09

    关于ILA核心使用的一些事情?

    最近我一直在使用vc709板来研究PCIe示例,然后我想用ILA IP调试核心.AndI就像视频所说的那样,在我创建比特流并打开之后调用插入调试核心到Design.But很难,Vivado给我一个
    发表于 07-27 14:28

    Arty是否有可能不支持ILA调试

    大家好,我在使用Arty(Artix 7 FPGA)进行调试时遇到了一些麻烦。背景:我使用ILA在Zybo(Zynq)和Nexys 4 DDR(也是Artix 7)上调试我的程序,一切
    发表于 08-26 15:20

    Xilinx FPGA ChipScope的ICON/ILA/VIO核使用

    使用ChipScope有两种方式: 第一种,使用CoreInsert,可参考下面链接: 这种方法可以快速的使用ICON和ILA核,以及ATC2核,而且不必修改原代码。缺点是不能使用其他核,如VIO
    发表于 02-09 05:19 1604次阅读
    Xilinx <b class='flag-5'>FPGA</b> ChipScope的ICON/<b class='flag-5'>ILA</b>/<b class='flag-5'>VIO</b>核使用

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

    其实这儿便很简单了,可以直接在画布上添加一个ILA核,再把想要的信号线连进来就行了呀,都不需要在代码里定义这个ILA核。不过这样做就说明你还没能灵活的使用Xilinx的在线调试工具了,因为还有更简单的办法哈哈。
    的头像 发表于 11-14 10:47 7466次阅读
    <b class='flag-5'>FPGA</b>开发要懂得使用硬件分析仪<b class='flag-5'>调试</b>——<b class='flag-5'>ILA</b>

    Vivado调试ILA debug结果也许不对

    FPGA调试是个很蛋疼的事,即便Vivado已经比ISE好用了很多,但调试起来依旧蛋疼。即便是同一个程序,FPGA每次重新综合、实现后结果都多多少少会有所不同。而且加入到
    的头像 发表于 03-08 17:35 1.3w次阅读

    VivadoILA详解

    集成逻辑分析仪 (Integrated Logic Analyzer :ILA) 功能允许用户在 FPGA 设备上执行系统内调试后实现的设计。当设计中需要监视信号时,应使用此功能。用户还可以使用此功能在硬件事件和以系统速度捕获数
    发表于 01-22 07:52 19次下载
    Vivado<b class='flag-5'>之</b><b class='flag-5'>ILA</b>详解

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

    不一致,从而出现Bug。一种debug的方式就是用FPGA工具提供的ILA模块(xilixn在ISE中叫:chipscope),来实时抓取FPGA内部数字信号的波形,分析逻辑错误的原因
    的头像 发表于 08-09 14:12 1.9w次阅读
    <b class='flag-5'>ILA</b>工作原理 <b class='flag-5'>ILA</b>使用方法与注意

    VivadoVIO原理及应用

    FPGA设计进行连接。由于VIO核与被监视和驱动的设计同步,因此应用于设计的时钟约束也适用于VIO核内的元件。当使用这个核进行实时交互时,需要使用Vivado逻辑分析特性。 接下来将介绍VI
    的头像 发表于 09-23 16:11 1.1w次阅读
    Vivado<b class='flag-5'>之</b><b class='flag-5'>VIO</b>原理及应用

    VIO在chipscope上的使用

    一般情况下ILAVIO都是用在chipscope上使用,VIO可以作为在chipscope时模拟IO。
    的头像 发表于 06-12 15:51 3552次阅读

    使用Python提取ILA数据的流程

    ILA应该是调试AMD-Xilinx FPGA最常用的IP。
    的头像 发表于 05-01 10:43 2202次阅读
    使用Python提取<b class='flag-5'>ILA</b>数据的流程