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乃至更大的江湖。
评论 (0)
  • 展会名称:2025成都国际工业博览会(简称:成都工博会)展会日期:4月23 -25日展会地址:西部国际博览城展位号:15H-E010科士威传动将展示智能制造较新技术及全套解决方案。 2025年4月23-25日,中国西部国际博览城将迎来一场工业领域的年度盛会——2025成都国际工业博览会。这场以“创链新工业,共碳新未来”为主题的展会上,来自全球的600+ 家参展企业将齐聚一堂,共同展示智能制造产业链中的关键产品及解决方案,助力制造业向数字化、网络化、智能化转型。科士威传动将受邀参展。&n
    科士威传动 2025-04-14 17:55 87浏览
  • 一、芯片的发展历程总结:1、晶体管的诞生(1)电子管时代 20世纪40年代,电子管体积庞大、功耗高、可靠性差,无法满足计算机小型化需求。(2)晶体管时代 1947年,贝尔实验室的肖克利、巴丁和布拉顿发明点接触晶体管,实现电子信号放大与开关功能,标志着固态电子时代的开端。 1956年,肖克利发明晶体管。(3)硅基晶体管时代 早期晶体管采用锗材料,但硅更耐高温、成本低,成为主流材料。2、集成电路的诞生与发展 1958年,德州仪器工程师基尔比用锗材料制成世界上第一块含多个晶体管的集成电路,同年仙童半导
    碧海长空 2025-04-15 09:30 113浏览
  •   无人装备作战协同仿真系统软件:科技的关键支撑   无人装备作战协同仿真系统软件,作为一款综合性仿真平台,主要用于模拟无人机、无人车、无人艇等无人装备在复杂作战环境中的协同作战能力、任务规划、指挥控制以及性能评估。该系统通过搭建虚拟战场环境,支持多种无人装备协同作战仿真,为作战指挥、装备研发、战术训练和作战效能评估,提供科学依据。   应用案例   系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。   核心功能   虚拟战
    华盛恒辉l58ll334744 2025-04-14 17:24 89浏览
  • 在当今汽车电子化和智能化快速发展的时代,车规级电子元器件的质量直接关系到汽车安全性能。三星作为全球领先的电子元器件制造商,其车规电容备受青睐。然而,选择一个靠谱的三星车规电容代理商至关重要。本文以行业领军企业北京贞光科技有限公司为例,深入剖析如何选择优质代理商。选择靠谱代理商的关键标准1. 授权资质与行业地位选择三星车规电容代理商首先要验证其授权资质及行业地位。北京贞光科技作为中国电子元器件行业的领军者,长期走在行业前沿,拥有完备的授权资质。公司专注于市场分销和整体布局,在电子元器件领域建立了卓
    贞光科技 2025-04-14 16:18 147浏览
  •   高空 SAR 目标智能成像系统软件:多领域应用的前沿利器   高空 SAR(合成孔径雷达)目标智能成像系统软件,专门针对卫星、无人机等高空平台搭载的 SAR传感器数据,融合人工智能与图像处理技术,打造出的高效目标检测、识别及成像系统。此软件借助智能算法,显著提升 SAR图像分辨率、目标特征提取能力以及实时处理效率,为军事侦察、灾害监测、资源勘探等领域,提供关键技术支撑。   应用案例系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合
    华盛恒辉l58ll334744 2025-04-14 16:09 149浏览
  • 你知道精益管理中的“看板”真正的意思吗?在很多人眼中,它不过是车间墙上的一块卡片、一张单子,甚至只是个用来控制物料的工具。但如果你读过大野耐一的《丰田生产方式》,你就会发现,看板的意义远不止于此。它其实是丰田精益思想的核心之一,是让工厂动起来的“神经系统”。这篇文章,我们就带你一起从这本书出发,重新认识“看板”的深层含义。一、使“看板”和台车结合使用  所谓“看板”就是指纸卡片。“看板”的重要作用之一,就是连接生产现场上道工序和下道工序的信息工具。  “看板”是“准时化”生产的重要手段,它总是要
    优思学院 2025-04-14 15:02 118浏览
  • 时源芯微 专业EMC解决方案提供商  为EMC创造可能(适用于高频时钟电路,提升EMC性能与信号稳定性)一、设计目标抑制电源噪声:阻断高频干扰(如DC-DC开关噪声)传入晶振电源。降低时钟抖动:确保晶振输出信号纯净,减少相位噪声。通过EMC测试:减少晶振谐波辐射(如30MHz~1GHz频段)。二、滤波电路架构典型拓扑:电源输入 → 磁珠(FB) → 大电容(C1) + 高频电容(C2) → 晶振VDD1. 磁珠(Ferrite Bead)选型阻抗特性:在目标频段(如100MHz~1GH
    时源芯微 2025-04-14 14:53 97浏览
  • 一、智能语音播报技术演进与市场需求随着人工智能技术的快速发展,TTS(Text-to-Speech)技术在商业场景中的应用呈现爆发式增长。在零售领域,智能收款机的语音播报功能已成为提升服务效率和用户体验的关键模块。WT3000T8作为新一代高性能语音合成芯片,凭借其优异的处理能力和灵活的功能配置,正在为收款机智能化升级提供核心技术支持。二、WT3000T8芯片技术特性解析硬件架构优势采用32位高性能处理器(主频240MHz),支持实时语音合成与多任务处理QFN32封装(4x4mm)实现小型化设计
    广州唯创电子 2025-04-15 08:53 98浏览
  • 四、芯片封测技术及应用场景1、封装技术的发展历程 (1)DIP封装:早期分立元件封装,体积大、引脚少; (2)QFP封装:引脚密度提升,适用于早期集成电路。 (3)BGA封装:高密度互连,散热与信号传输优化; (4)3D封装:通过TSV(硅通孔)实现垂直堆叠,提升集成度(如HBM内存堆叠); (5)Chiplet封装:异质集成,将不同工艺节点的模块组合(如AMD的Zen3+架构)。 (6)SiP封装:集成多种功能芯片(如iPhone的A系列SoC整合CPU、GPU、射频模块)。2、芯片测试 (1
    碧海长空 2025-04-15 11:45 185浏览
  • 三、芯片的制造1、制造核心流程 (1)晶圆制备:以高纯度硅为基底,通过拉晶、切片、抛光制成晶圆。 (2)光刻:光刻、离子注入、薄膜沉积、化学机械抛光。 (3)刻蚀与沉积:使用干法刻蚀(等离子体)精准切割图形,避免侧壁损伤。 (4)掺杂:注入离子形成PN结特性,实现晶体管开关功能。2、材料与工艺创新 (1)新材料应用: 高迁移率材料(FinFET中的应变硅、GaN在射频芯片中的应用); 新型封装技术(3D IC、TSV硅通孔)提升集成度。 (2)工艺创新: 制程从7nm到3nm,设计架构由F
    碧海长空 2025-04-15 11:33 190浏览
  • 一、智能门锁市场痛点与技术革新随着智能家居的快速发展,电子门锁正从“密码解锁”向“无感交互”进化。然而,传统人体感应技术普遍面临三大挑战:功耗高导致续航短、静态人体检测能力弱、环境适应性差。WTL580微波雷达解决方案,以5.8GHz高精度雷达感知技术为核心,突破行业瓶颈,为智能门锁带来“精准感知-高效触发-超低功耗”的全新交互范式。二、WTL580方案核心技术优势1. 5.8GHz毫米波雷达:精准感知的革命全状态人体检测:支持运动、微动(如呼吸)、静态(坐卧)多模态感知,检测灵敏度达0.1m/
    广州唯创电子 2025-04-15 09:20 84浏览
  • 二、芯片的设计1、芯片设计的基本流程 (1)需求定义: 明确芯片功能(如处理器、存储、通信)、性能指标(速度、功耗、面积)及目标应用场景(消费电子、汽车、工业)。 (2)架构设计: 确定芯片整体框架,包括核心模块(如CPU、GPU、存储单元)的协同方式和数据流路径。 (3)逻辑设计: 通过硬件描述语言(如Verilog、VHDL)将架构转化为电路逻辑,生成RTL(寄存器传输级)代码。 (4)物理设计: 将逻辑代码映射到物理布局,涉及布局布线、时序优化、功耗分析等,需借助EDA工具(如Ca
    碧海长空 2025-04-15 11:30 153浏览
  • 一、磁场发生设备‌电磁铁‌:由铁芯和线圈组成,通过调节电流大小可产生3T以下的磁场,广泛应用于工业及实验室场景(如电磁起重机)。‌亥姆霍兹线圈‌:由一对平行共轴线圈组成,可在线圈间产生均匀磁场(几高斯至几百高斯),适用于物理实验中的磁场效应研究。‌螺线管‌:通过螺旋线圈产生长圆柱形均匀磁场,电流与磁场呈线性关系,常用于磁性材料研究及电子束聚焦。‌超导磁体‌:采用超导材料线圈,在低温下可产生3-20T的强磁场,用于核磁共振研究等高精度科研领域。‌多极电磁铁‌:支持四极、六极、八极等多极磁场,适用于
    锦正茂科技 2025-04-14 13:29 74浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦