Vivado逻辑分析仪使用教程

原创 FPGA技术江湖 2024-12-12 07:53

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近100个IC技术公众号。


大侠好,欢迎来到FPGA技术江湖。本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。

系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,Vivado逻辑分析仪使用教程。话不多说,上货。

Vivado 逻辑分析仪使用教程


作者:李西锐  校对:陆辉


传统的逻辑分析仪在使用时,我们需要将所要观察的信号连接到FPGA的IO管脚上,然后观察信号。当信号比较多时,我们操作起来会比较繁琐。在线逻辑分析仪就比较好的解决了这个问题,我们可以将这些功能加到FPGA设计当中。


其中待测设计就是我们整个的逻辑设计模块,在线逻辑分析仪也同样是在FPGA设计中。通过一个或多个探针来采集希望观察的信号。然后通过JTAG接口,将捕获到的数据通过下载器回传给我们的用户界面,以便我们进行观察。

在逻辑分析仪使用的过程中,我们一般常用的调用方法有两种:

1、IP核

2、mark debug标记信号


接下来我们先说一下第一种方法。这种方法需要我们打开IP核管理器,在程序设计中例化ILA。首先我们打开IP核管理器,搜索ILA,双击打开。


在此配置界面,我们配置几项内容。首先是Component Name,我们可以给我们的逻辑分析仪起一个名字,比如我在此改为my_ila。

在number of probes选项选择我们需要观察的信号个数,我们以流水灯为例,我们可以观察一下代码设计当中的计数器cnt以及输出led。所以我们在此项设置为2。Sample data depth为采样深度,采样深度影响到了我们可以观察的信号长度,大家可以根据自己的需要进行设置,在此我选择深度为1024。


然后在Probe ports里面设置被观察信号的位宽。计数器为26位,led输出为4位,那么我们将位宽设置好,点击OK生成IP核。


在这里,我们简要介绍一下Vivado的OOC(Out-of-Context)综合的概念。对于顶层设计,Vivado使用自顶向下的全局(Global)综合方式,将顶层之下的所有逻辑模块都进行综合,但是设置为OOC方式的模块除外,它们独立于顶层设计而单独综合。通常,在整个设计周期中,顶层设计会被多次修改并综合。但有些子模块在创建完毕之后不会因为顶层设计的修改而被修改,如IP,它们被设置为OOC综合方式,OOC模块只会在综合顶层之前被综合一次。这样,在顶层的设计迭代过程中,OOC模块就不必跟随顶层模块,而进行一次次的会产生相同结果的多余的综合了。所以,OOC流程减少了设计周期时间,并消除了设计迭代,使大家可以保存和重用综合结果。

Out-of-Context(OOC) 综合是一种自底向上的设计流程,默认情况下,Vivado设计套件使用OOC的设计流程来综合OOC模块。OOC模块可以是来自IP catalog的IP、来自Vivado IP Integrator的block design或者顶层模块下手动设置为OOC方式的任何子模块。

来自IP catalog的IP就默认使用OOC综合的方式,例如上图中的“Synthesis Options”选项就设置为了“Out of Context Per IP”。这些IP会在顶层的全局综合之前,单独地进行OOC综合并生成输出产品(Generate Output Products),包括综合后的网表等各种文件。在对顶层进行综合时,OOC模块会被视为黑盒子,并且不会参与到顶层的综合中来。在综合之后的实现过程中,OOC模块的黑盒子才会被打开,这时其网表才是可见的并参与到全局设计的布局布线中来。

OOC综合完毕之后如下图所示:


IP核调用完成之后,我们在IP sources窗口中打开IP核的instantiation template。my_ila.veo文件为例化的头文件,我们双击打开,将下图内容复制粘贴到顶层文件当中即可。


复制好之后,我们将信号做一下连线,改一下例化名。那么我们的逻辑分析仪调用就完成了。

调用完成之后,我们将文件保存,然后生成下板文件进行下板。


下板时,界面中出现两个文件。第一个文件为bit流文件。第二个为逻辑分析仪文件。直接点击program。下载完成之后会出现如下界面。


在开始观察波形之前,我们需要先在右下角小窗口里面设置触发信号。这个我们可以理解为我们想要观察的波形的位置。比如我们可以观察一下led为第二个灯亮,且计数器数到1000的位置,那么我们的设置如下图:


设置好之后,我们点击波形界面的三角形符号,进行触发,那么就可以观察到我们的波形了。


第二种方法:

“网表插入调试探针流程”需要在综合后的网表中,将要进行调试观察的各个信号,标记“Mark_Debug”属性,然后通过“Setup Debug”向导来设置ILA IP核的参数,最后工具会根据参数来自动创建ILA IP核。我们点击“Flow Navigator”窗口中的“Open Synthesized Design”按钮,如下图所示:


在综合后设计的窗口布局选择器中,我们选择“Debug”窗口布局,如下图所示:


此时,Vivado打开了“Netlist”子窗口、“Schematic”子窗口以及“Debug”子窗口。其中,“Netlist”子窗口和“Schematic”子窗口都用于标记要进行观察的信号,“Debug”子窗口用于显示并设置ILA IP核的各个参数。如下图所示:


在“Debug”子窗口中,又包含两个选项卡“Debug Cores”和“Debug Nets”。这两个选项卡都用于显示所有的已标记为“Mark_Debug”的信号。不同之处在于,“Debug Cores”选项卡是一个更加以ILA IP核为中心的视图,所有已标记为“Mark_Debug”的信号并且已经被分配到ILA探针的信号都会被显示在各个ILA IP核的视图树下,已标记为“Mark_Debug”的信号但是还没有被分配到ILA探针的信号被显示在“Unassigned Debug Nets”下,当然也可以在其中查看和设置ILA IP核的各种属性和参数。“Debug Nets”选项卡仅显示已标记为“Mark_Debug”的信号,但不显示ILA IP核,所有已标记为“Mark_Debug”的信号并且已经被分配到ILA探针的信号都会被显示在“Assigned Debug Nets”下,已标记为“Mark_Debug”的信号但是还没有被分配到ILA探针的信号被显示在“Unassigned Debug Nets”下。

我们首先标记要进行观察的信号,以led信号为例,在“Netlist”子窗口中的“Nets”目录下,找到“led_OBUF”网络,右击该网络(此时右边的“Schematic”子窗口也会自动地高亮选择此网络,因为“Netlist”子窗口中的对象和“Schematic”子窗口中的对象,两者之间是交叉选择的),在弹出的菜单中心选择“Mark Debug”命令,如下图所示:


也可以在“Schematic”子窗口中选择网络,然后右键选择“Mark Debug”命令,如下图所示:


另外,也可以在HDL源代码中为想要观察的reg或wire信号添加“Mark Debug”属性,例如:(* mark_debug = “true” *)reg [25:0] cnt ; 其中“(* mark_debug = “true” *)”必须紧挨在变量声明的前面。这样,在综合完之后打开综合后的设计,counter信号就自动被标记了“Mark Debug”属性。此时在“Debug”子窗口的“Debug Nets”选项卡的“Unassigned Debug Nets”目录下就会出现我们刚刚标记的“led_OBUF”网络。 

此时“Debug”子窗口的“Debug Nets”选项卡的“Unassigned Debug Nets”目录下就有了“led_OBUF”和“cnt”两个信号,如下图所示:


之后我们点击“Debug”子窗口中的“Setup Debug”按钮,如下图所示:


弹出“Setup Debug”向导,我们直接点击next,如下图所示:


接下来的页面是选择用于采样待测信号的时钟域,Vivado会自动识别出各个待测信号所属的时钟域并将其自动设定为其采样时钟,例如,我们刚刚添加的这“led_OBUF”和“cnt”两个信号就属于“sys_clk_IBUF”时钟域,并且Vivado也已经自动将“sys_clk_IBUF”时钟设置为了这两个信号的采样时钟,如下图所示:


当然,用户也可以手动指定各个用于采样待测信号的时钟域,右击待测信号,选择“Select Clock Domain”,弹出“Select Clock Domain”窗口,如下面两个图所示:


在“Select Clock Domain”窗口中就可以选择用于采样待测信号的时钟了。“Setup Debug”向导会为每个采样时钟生成一个单独的ILA IP核,由于本例程中只有一个时钟,所以这里最后只会生成一个ILA IP核。设置完采样时钟后,我们点击next,接下来的页面用于设置ILA IP核的全局设置,如下图所示:


其中“Sample of data depth”用于设置采样深度,“Input pipe stages”用于设置待测信号和其采样时钟之间的同步级数。如果在上一个设置时钟域页面中,存在与其采样时钟之间是异步的待测信号,则为了避免亚稳态,此数值最好不要低于2。由于本例中的两个待测信号的其采样时钟是同步的,所以可以设置为0。我们点击next,就进入了最后的概览页面,确认无误后直接点击finish即可,如下图所示:


在“Debug”子窗口中的“Debug Cores”选项卡中,可以看到Vivado已经添加了ILA IP核,并且“Unassigned Debug Nets”目录下已经没有未被分配的信号了,如下图所示:


网表中被标记为Mark Debug的信号也变为了虚线,以表示其完成了ILA IP核的分配,如下图所示:


前面我们提到过,在“网表插入调试探针流程”中,用户设置的调试信息会以Tcl XDC调试命令的形式保存到XDC约束文件中,在实现阶段,Vivado会读取这些XDC调试命令,并在布局布线时加入这些ILA IP核。此时,我们所做出的所有的更改和设置,都还只是停留在电脑内存中,我们需要将其保存在硬盘的XDC约束文件中,点击工具栏中的保存按钮,如下图所示:


在出现的对话框中直接点击OK,如下图所示:


弹出的“Save Constraints”窗口中,用于询问用户将约束保存在哪个XDC约束文件中,本例的工程中只有一个XDC约束文件,如下图所示,我们直接点击OK即可:


此时,我们打开led_twinkle.xdc,就会看到在用户约束的下面,Vivado自动写入了用于debug的约束,如下图所示:


在实现阶段,Vivado会读取这些约束,并按照这些命令的参数来自动地在布局布线时加入ILA IP核。至此,我们就成功地使用“网表插入调试探针流程”将ILA IP核添加到了设计中。接下来就可以将实现设计并生成比特流,最后将比特流下载到FPGA中,以对信号进行在线观察,这一部分内容在上面第一种方法里面已经介绍过了,在此不再重复介绍。



- End -


福利】:QQ交流群173560979,进群备注名字+学校/企业。
淘宝店铺:https://shop588964188.taobao.com
论坛网址:www.sxznfpga.com
叁芯智能FPGA课程

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

备注姓名+公司/学校+岗位/专业进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 电磁场的作用主要体现在以下几个方面:首先在能源领域,电磁场是发电、输电的基础。无论是火力发电还是核电站,*终都需要通过电磁感应原理将机械能转化为电能。高压输电线路则利用交变电磁场实现电能的远距离传输,为现代工业和生活提供动力保障。在通信技术方面,电磁波作为电磁场的传播形式,构成了无线通信的基础。从无线电广播到5G移动网络,从卫星通信到光纤传输,本质上都是对特定频段电磁场的**控制和利用。雷达系统通过发射和接收电磁波实现目标探测,在气象预报、航空管制等领域不可huo缺。在医疗领域,电磁场技术为诊断
    锦正茂科技 2025-05-19 13:19 116浏览
  • 机器人革命:下一个工业帝国将由谁定义?摘 要工业机器人是机器人产业的最大子赛道,占据全球及中国市场主导地位。2021年全球市场中工业机器人占比43%,中国市场占比53%。工业机器人主要用于搬运、焊接、喷涂等生产场景。当前工业机器人正从效率工具向智能中枢升级,全球工业机器人市场从粗放式扩张转向技术密集型发展,2018-2022年市场规模波动增长,2024-2028年预计年均增速8.2%。中国市场份额持续增长,主导地位强化。搬运机器人是中国工业机器人市场最大需求,占比55%。未来三年,工业机器人应用
    robolab 2025-05-21 13:24 156浏览
  • 在智能座舱感知系统(如 DMS、OMS、安全带识别、儿童遗留检测等)逐渐从研发进入大规模部署的阶段,数据成为模型性能提升的核心瓶颈。尤其在现实采集成本高、隐私受限、长尾样本稀缺的前提下,越来越多客户将目光投向了“舱内合成数据”。在与算法供应商和主机厂诸多客户的交流过程中,我们也观察到三个始终被反复提出的核心问题,本文为大家详细揭秘:一、模态是否丰富,能否覆盖多任务模型需求?相较于传统车外感知任务,舱内感知往往涉及多种任务并发:(1)驾驶员状态监测(DMS)需提供 RGB、NIR、深度图、红外热图
    康谋 2025-05-21 10:14 128浏览
  •  在刚刚过去的这个周末,一则关于“娃哈哈纯净水的生产商竟然是今麦郎?”消息在网络上掀起了轩然大波,引发了公众的广泛关注。作为国民老牌子的娃哈哈,这次真的摊上事了。这一事件不仅暴露了娃哈哈在供应链管理上的潜在问题,也引发了消费者对于品牌信任的深度思考。在当下激烈的市场竞争环境中,一个小小的代工风波,为何能引发如此巨大的反响?这背后又折射出了娃哈哈怎样的发展困境?代工风波:合作背后的质量隐忧事情起于消费者发现瓶身上的“今麦郎代工”字样。要知道,在大家印象里,娃哈哈纯净水就该是自家工厂生产的
    疯人评 2025-05-20 18:04 108浏览
  • 技术酷炫不敌交付落地:割草机器人市场的冷启动困局Robo Lab重构机器「看见世界」的方式。用硬核科普+实战案例,拆解光束背后的科技革命。一个明星项目的快速沉浮割草机器人,作为户外服务机器人领域的一颗新星,近年来吸引了大量资本和技术团队的目光。随着欧美家庭庭院经济逐步发展,这一细分市场在全球快速崛起,不少创业公司试图通过技术创新颠覆传统园艺维护方式。市场需求有目共睹,但其技术难度、使用场景复杂性、渠道构建门槛,也远非室内服务机器人可比。森合创新正是在这样的产业风口中诞生。公司由云鲸早期核心成员创
    robolab 2025-05-21 13:45 130浏览
  • 文/Leon编辑/cc孙聪颖‍“韬光养晦、后发制人”,腾讯2025年第一季度的业绩表现可以具象化为以上8个字。在AI整体赋能的情况下,腾讯控股(00700.HK)Q1营收达到了1800.2亿元,同比增长13%,相当于日入20亿;净利润478.21亿元,同比增长14%,每天净赚5.3亿。营收、净利双位数双增长,代表腾讯重回扩张周期。毫无疑问,腾讯的业绩表现释放了一个信号:AI不是单打独斗的业务线,而是生产力工具。谁能高效地部署AI、找到最契合旗下业务的赋能方式,谁就能占尽先机。值得一提的是,与腾讯
    华尔街科技眼 2025-05-20 20:14 112浏览
  • 北京贞光科技作为三星电机一级代理商,提供全面升级的技术支持、样品供应和供应链保障服务,为客户提供专业、可靠的一站式解决方案,满足AI基础设施不断发展的需求,支持更高效、更强大的人工智能应用计算系统的开发。如需更多产品信息或技术支持,请联系贞光科技。三星电子在被动元件技术领域取得重大突破,推出专为AI服务器应用设计的超小型高容量多层陶瓷电容器(MLCC)。这些新组件解决了现代AI计算基础设施不断增长的电力需求,同时优化了密集服务器环境中的空间利用率。 满足AI服务器电力需求现代AI服务器
    贞光科技 2025-05-20 11:38 122浏览
  • 汽车诞生百余年来,车灯设计始终在功能性、美学表达与工程可行性之间艰难平衡。从早期的钨丝灯泡到如今的LED、动态大灯,每一次突破都在试图回答:光能否摆脱“容器”的束缚,回归自由的本性?散热结构、封装厚度、刚性电路板——这些工程条条框框,迫使设计师在“形态服从功能”的框架中反复妥协:流线光带被切割成规整的几何模块,曲面幻想坍缩为一道道扁平切口……灯光是汽车个性的灵魂。艾迈斯欧司朗ALIYOS™ LED-on-foil技术,让汽车照明设计拥有自由,彻底颠覆了业界对刹车灯、转向灯或内饰灯等灯饰的传统想象
    艾迈斯欧司朗 2025-05-21 15:27 129浏览
  • 分享ADC自身因素带来的误差,主要分享由于外部因素导致的ADC采样误差。 一、模拟信号源输入减少带来的误差看一个STM32的ADC转换器的示意图:从图中可以看到,输入源与采样引脚之间存在阻抗RAIN,流入引脚的电压可能因为阻抗的存在产生一定的压降,导致最终输入采样引脚的电压变小。CADC采样电容通过RADC电阻为其充电,如果RAIN的阻抗选取不合理的话,会导致保持电容充满电所需要的时间变长。一般而言,RC的充电的时间常量为:tc =(RADC+RAIN)× CADC当采样时间 <
    嵌入式之入坑笔记 2025-05-20 22:19 119浏览
  •   在数字技术重塑商业格局的当下,品牌如何借助创新工具实现价值跃升成为企业战略核心。软件开发已从单纯的技术迭代载体,演变为企业连接用户、驱动增长的关键纽带。因此,筛选靠谱的软件开发公司,成为企业数字化转型的重要决策 —— 专业公司凭借技术积累与行业经验定制解决方案,权威公司则以规范服务与交付能力保障项目落地。   筛选靠谱软件开发公司的三大核心标准   标准 1:技术适配性与行业匹配度   技术适配性:优先选择掌握云计算、AI 集成、低代码开发等前沿技术的团队。   行业匹配度:医疗
    华盛恒辉l58ll334744 2025-05-20 15:46 124浏览
  • 在刚刚过去的这个周末,一则关于“娃哈哈纯净水的生产商竟然是今麦郎?”消息在网络上掀起了轩然大波,引发了公众的广泛关注。作为国民老牌子的娃哈哈,这次真的摊上事了。这一事件不仅暴露了娃哈哈在供应链管理上的潜在问题,也引发了消费者对于品牌信任的深度思考。在当下激烈的市场竞争环境中,一个小小的代工风波,为何能引发如此巨大的反响?这背后又折射出了娃哈哈怎样的发展困境?代工风波:合作背后的质量隐忧事情起于消费者发现瓶身上的“今麦郎代工”字样。要知道,在大家印象里,娃哈哈纯净水就该是自家工厂生产的。5月15日
    疯人评 2025-05-20 16:19 88浏览
  •   头部技术企业核心能力与行业解决方案解析   华盛恒辉科技有限公司   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司   五木恒润科技有限公司:是一家专业的部队信息化建设服务单位
    华盛恒辉l58ll334744 2025-05-19 17:18 154浏览
  • 文/陈昊编辑/cc孙聪颖‍在家电赛道上,海尔智家的业绩表现不俗。2025一季度,海尔智家延续了年报稳健增长的趋势,继续在高基数下实现高增长。而在业绩之外,近些年ESG也成为资本市场衡量企业价值的另一道标尺。5月16日,《财富》2025年中国ESG影响力榜揭晓,共有100家企业上榜。其中,海尔智家再次上榜,且连续四年位居行业榜首。“每一环都是绿色的”改变用户生活看似宽泛的ESG概念,如何落地?一起来看看海尔智家怎么做的就知道了。海尔智家通过“6-Green”战略,让采购、设计、制造、回收处置等环环
    华尔街科技眼 2025-05-20 20:18 179浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦