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

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文件中会自动增加如下代码:
在这里插入图片描述

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


http://www.kler.cn/a/1171.html

相关文章:

  • 离线录制激光雷达数据进行建图
  • 可视化-Visualization
  • Springboot新手开发 Cloud篇
  • 企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui
  • 【Java进阶篇】—— File类与IO流
  • 小菜鸟Python历险记:(第三集)
  • 解析 TNS_ADMIN 环境变量的配置
  • MATLAB算法实战应用案例精讲-【智能优化算法】海洋捕食者算法(MPA) (附MATLAB和python代码实现)
  • 【STL二】STL序列式容器(array、vector、deque、list、forward_list)
  • 【makefile函数】makefile 常用函数汇总
  • 蓝桥杯嵌入式第五课--输入捕获
  • 字符串匹配【BF、KMP算法】
  • flutter调用go
  • 经验分享-如何使用http调用chatGPT-3.5-turbo模型API
  • Mysql 竟然还有这么多不为人知的查询优化技巧,还不看看?
  • 【云原生|Docker】03-docker的基础操作
  • 【CSS】盒子模型外边距 ① ( 盒子模型外边距设置 | 外边距属性单独设置 | 外边距属性复合写法 )
  • 网络补充 总结
  • 如何测试一个AI系统?
  • 三天吃透操作系统面试八股文
  • flink多流操作(connect cogroup union broadcast)
  • selenium(5)-------自动化测试脚本(python)