当前位置: 首页 > news >正文

ZYNQ硬件调试-------day2

ZYNQ硬件调试-------day2
1.ILA(Integrated Logic Analyzer )
监控逻辑内部信号和端口信号;可以理解为输出。可单独使用
2.VIO(Virtual Input/Output )
实时监控和驱动逻辑内部信号和端口信号,可以理解为触发输入。不可单独使用
在这里插入图片描述
3.添加ILA核的几种方法
在这里插入图片描述
调用ILa进行仿真步骤:
在这里插入图片描述
双击3处弹出如下选项:
在这里插入图片描述
在“General Options”页面中, “Number of Probes” 一栏用于设置所需的探针数量,一般地,一个探针用于连接一个待测信号,例如,我们想要观察“sys_rst_n”、“led” 和“cnt” 这三个信号,则需要把“Numberof Probes” 设置为 3;
点击第二选项:
在这里插入图片描述
在“Probe_Ports(0…0)” 页面中,用于设置每个探针的参数,一般我们只需设置探针宽度“Probe Width[1…4096]”一栏即可,由于“sys_rst_n”、“led” 和“cnt” 这三个信号的位宽分别是 1 位、 2 位和 26 位,所以我们需要将其分别设置为 1、 2 和 26,然后点击“OK”按钮即可。
在这里插入图片描述
编译完成后如下图所示:
在这里插入图片描述
拷贝例程中的代码:
在这里插入图片描述
我们将 ILA 的时钟连接到了顶层时钟 sys_clk 信号上, probe0 探针连接到了 sys_rst_n, probe1 探针连接到了 led, probe2 探针连接到了 cnt。 代码修改完成后如下图所示:
在这里插入图片描述
保存源文件之后就可以直接综合并实现设计,最后生成比特流。
在这里插入图片描述
可设置选择的进制:
在这里插入图片描述
在这里插入图片描述
从左至右依次是:(1)自动触发开关、(2)开始触发、(3)立即触发、(4)停止触发。
立即触发,立即将当前 ILA RAM 中的数据上传到 Vivado,而不管触发条件是否得到满足。
移除调试代码:
将添加的代码屏蔽,将iLa文件移除工程重新进行比特流编译即可。
2.网表插入调试探针流程:

在这里插入图片描述
(mark_debug = “true”)reg [25:0] cnt ;
其中“(* mark_debug = “true” *)”必须紧挨在变量声明的前面。这样,在综合完成之后并打开综合后的设计时, cnt 信号就自动被标记了“Mark Debug”属性。此外,被添加了(*mark_debug = “true” *)属性的 reg或 wire 信号不会被工具优化掉。
在这里插入图片描述
在这里插入图片描述
生成完成后:在XDC文件中会自动增加如下代码:
在这里插入图片描述

实现效果如下所示:
在这里插入图片描述

相关文章:

  • Python的30个编程技巧
  • 中断控制器
  • ChatGPT的N种用法(持续更新中。。。)
  • 【面试题】闭包是什么?this 到底指向谁?
  • 保险项目测试,保险分类
  • ChatGPT-4 终于来了(文末附免费体验地址)
  • 漫画:什么是快速排序算法?
  • 学习 Python 之 Pygame 开发魂斗罗(十一)
  • 学习python好就业么
  • Tomcat+Servlet初识
  • 面试官问我按钮级别权限怎么控制,我说v-if,面试官说再见
  • 如何使用 Python 检测和识别车牌(附 Python 代码)
  • 理解 与 计算 物联网产品的电池使用寿命
  • Linux基础命令大全(上)
  • JAVA开发与JAVA(一文学会使用ElasticSearch)
  • Stable Diffusion加chilloutmixni真人图片生成模型,AI绘图杀疯了
  • Java为什么只能单继承???
  • 【蓝桥杯-筑基篇】排序算法
  • 30岁了,说几句大实话
  • 使用python控制摄像头