登录/注册

vivado 逻辑分析

更多

好的,Vivado中的逻辑分析功能主要通过集成逻辑分析器来实现,最常用的是 ILA (Integrated Logic Analyzer) 核。以下是使用Vivado ILA进行逻辑分析的中文步骤和关键点:

核心概念:

主要步骤:

  1. 在设计中标记调试信号 (Mark Debug):

    • 在综合 (Synthesis) 之前,在源文件或原理图中,选择你希望观察的内部信号(wirereg)。
    • 右键单击所选信号 -> Mark Debug。或者在综合后的网表视图 (Synthesized Design -> Schematic) 中找到信号,右键 -> Mark Debug
    • 作用: 告诉Vivado工具链,这些信号需要在ILA核中可见。
  2. 设置调试 (Debug) 并运行综合/实现:

    • 在Flow Navigator中,打开 Settings
    • 导航到 Debug -> debugdb 设置。确保勾选了 Enable debug nets to be preserved during synthesis and implementation 之类的选项(具体名称可能随版本略有不同)。这一步保证了你标记的调试信号不会被优化掉。
    • 运行综合 (Run Synthesis)。综合完成后,Vivado会自动检测到标记为调试的信号。
  3. 设置 ILA 核 (Set Up Debug):

    • 综合完成后,在Flow Navigator中找到 Synthesized Design -> Set Up Debug (或类似名称,如 Debug Cores Wizard)。Vivado会根据标记的调试信号自动生成ILA核的配置。
    • ILA核配置向导:
      • 添加时钟: 为ILA核选择一个采样时钟。这个时钟通常和你观测信号的时钟域一致,必须非常稳定
      • 添加探针:
        • 向导会自动列出所有Mark Debug的信号。你可以在这里添加或移除探针。
        • 为每个探针设置:
          • 探针宽度: 信号的位宽(通常自动识别)。
          • 探针类型: DATA(数据信号)或TRIGGER(主要用于触发条件)。
          • 触发条件初始值: 在未满足触发条件时捕获的数据值(通常不重要)。
      • 设置触发条件 (Trigger Setup - 关键!):
        • Trigger Setup 选项卡下,定义ILA核开始捕获数据的条件。
        • 常用的功能:
          • 计数器: 设置触发前/后捕获多少数据。Window Depth决定了你能捕获的总数据量(单位是采样时钟周期)。Sample On = Trigger(默认)。
          • 触发位置: 决定触发点出现在捕获窗口中的位置(开始、中间、结束)。
          • 高级触发:
            • 在波形窗口定义组合逻辑表达式:例如 probe0 = 8'hFF && probe1 == 1
            • 边缘触发:上升沿、下降沿。
            • 比较器:==, !=, >, <, >=, <=。
        • 这里定义的触发条件是初始设置,在线调试时可以修改。
      • 存储深度 (Capture Settings): 确认或设置 Window Depth (或Sample Depth),它决定了在触发发生后,ILA能记录多长时间的波形数据(占用FPGA的BRAM资源)。深度越大,占用资源越多,能查看的时序越长。
    • 完成配置后保存。
  4. 实现设计与生成比特流:

    • 运行实现 (Run Implementation),将设计布局布线到FPGA上,包括ILA核。
    • 生成比特流 (Generate Bitstream)
  5. 硬件调试 (使用 Hardware Manager):

    • 连接FPGA开发板到电脑(确保JTAG/Vivado Cable驱动正常)。
    • 在Flow Navigator中打开 Open Hardware Manager
    • 点击 Open Target -> Auto Connect 或手动选择设备和JTAG链。
    • 右键检测到的设备 -> Program Device,选择刚才生成的 .bit 文件进行烧录(确保包含debug逻辑)。
    • 设备编程完成后,Hardware Manager通常会自动检测到ILA核并打开默认的波形窗口(Debug Probes窗口)。如果没有,在工具栏或Debug Hub中找到ILA实例(如ila_0)并双击打开。
  6. 在波形窗口中进行逻辑分析:

    • 查看信号: 信号会以波形形式显示。
    • 重置触发捕获:
      • 设置/修改触发条件(在Trigger Setup面板):
        • 使用简单的下拉菜单设置。
        • 或写更复杂的触发表达式(如 {probe0[7:0] == 8'h55 && probe1 == 1'b1})。
      • 设置触发位置(窗口深度内的位置)。
      • 设置数据捕获模式(Window模式最常见)。
    • 开始捕获:
      • 运行触发: 点击类似播放键的按钮(Run Trigger)。ILA会开始监听,等待你定义的触发条件。当条件满足时,它会捕获设定深度的数据并显示在波形窗口。
      • 立即触发: 立即捕获当前的数据,不管触发条件是否满足。点击闪电图标按钮⚡。用于查看当前状态。
    • 分析波形:
      • 缩放: 使用鼠标滚轮或工具栏按钮缩放时间轴。
      • 测量: 添加游标来测量信号沿之间的时间间隔(时钟周期数)。
      • 总线格式: 右键信号可设置总线显示格式(二进制、十六进制、无符号/有符号十进制等)。
      • 查找: 在波形中搜索特定值或模式。
      • 保存波形: 可以保存捕获的波形(.wdb文件)供以后分析或分享。

关键点与技巧:

简单案例分析:

假设你怀疑一个计数器 (count[7:0]) 在到达255 (8'hFF) 后没有正确清零,同时有一个使能信号 en

  1. Mark Debug:标记 count[7:0]en
  2. Set Up Debug
    • 时钟:选计数器使用的时钟 clk
    • 探针:添加 count[7:0] (DATA),en (DATA)。
    • 触发设置:
      • Window Depth: 1024 (足够观测计数器从0到255的过程)。
      • 触发位置:设置为窗口中间。
      • 高级触发表达式:count == 255 && en == 1 (当计数器为255且使能有效时触发)。
  3. 实现、生成bit流、下载到FPGA。
  4. 在Hardware Manager:
    • 设置表达式: {count[7:0]} == 8'hFF && en == 1
    • 点击 Run Trigger。
  5. 观察波形:触发点位于窗口中间。往前看计数器如何从0增至255(查看是否在253/254/255等地方数据异常),往后看计数器在255之后的下一个时钟周期变成了什么值(是0还是别的?),同时观察en信号的状态。

通过这种方式,你就可以深入观察FPGA内部信号的实时行为,诊断硬件描述语言设计中的错误了。

vivado时序分析相关经验

vivado综合后时序为例主要是有两种原因导致: 1,太多的逻辑级 2,太高的扇出 分析时序违例的具体位置以及原因可以使用一些tcl命令方便快速

2025-10-30 06:58:47

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

两大主流厂商的软件集成逻辑分析仪供使用,Altera的Quartus自带SignalTap、Xilinx的Vivado自带ILA

2023-10-01 17:08:00

Vivado中使用逻辑分析仪ILA的过程

FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑

2023-06-29 16:08:56

Vivado Design Suite用户指南:逻辑仿真

电子发烧友网站提供《Vivado Design Suite用户指南:逻辑仿真.pdf》资料免费下载

资料下载 佚名 2025-01-15 15:25:58

Vivado设计套件用户指南:逻辑仿真

电子发烧友网站提供《Vivado设计套件用户指南:逻辑仿真.pdf》资料免费下载

资料下载 张莉 2023-09-13 15:46:41

在Artix 7 FPGA上使用Vivado的组合逻辑与顺序逻辑

电子发烧友网站提供《在Artix 7 FPGA上使用Vivado的组合逻辑与顺序逻辑.zip》资料免费下载

资料下载 吴湛 2023-06-15 09:14:49

什么是Vivado?资料下载

电子发烧友网为你提供什么是Vivado?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。

资料下载 h1654155957.9921 2021-04-07 08:51:46

Vivado设计流程指导手册

Vivado 设计分为 Project Mode 和 Non-project Mode 两种模式,一般简单设计中,我们常用的是 Project Mode。在本手册中,我们将以一个简单的实验案例,一步一步的完成 Vivado

资料下载 姚小熊27 2021-03-22 11:39:53

Vivado逻辑分析仪使用教程

及打算进阶提升的职业开发者都可以有系统性学习的机会。系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,Vivado

2023-04-17 16:33:55

DO-VIVADO-DEBUG-USB-II-G-FL

VIVADO DEBUG FLOATING LICENSE

2023-03-30 12:04:13

EF-VIVADO-DEBUG-FL

VIVADO DEBUG FLOATING LICENSE

2023-03-30 12:04:13

Vivado逻辑分析仪使用教程简析

传统的逻辑分析仪在使用时,我们需要将所要观察的信号连接到FPGA的IO管脚上,然后观察信号。

2023-03-13 13:44:05

无法在Vivado逻辑分析仪中查看wavefrom

大家好, 我无法在Vivado逻辑分析仪中查看wavefrom,下面你可以找到图像附加的波形是如何准确的...可以帮助我解决这个问题。谢谢Nav

2020-03-20 09:26:44

关于Vivado时序分析介绍以及应用

时序分析在FPGA设计中是分析工程很重要的手段,时序分析的原理和相关的公式小编在这里不再介绍,这篇文章是小编在练习

2019-09-15 16:38:00

技巧分享:如何在Vivado中正确使用接口

设计技巧:在 Vivado Synthesis 中使用 SystemVerilog 接口连接逻辑

2019-07-02 12:03:07

7天热门专题 换一换
相关标签