四、Xilinux在线调试方法和XADC的使用

一、Xilinux在线调试解决方案

所有的程序都需要时钟,在线调试也称为板级调试,它是将程序文件下载到FPGA芯片后分析代码运行的情况。

为什么要在线调试?

直接观察代码很难找到BUG,仿真不全面,难以做到100%的代码覆盖率,在扳级交互中,存在异步事件,很难做到仿真,或者仿真起来仿真时间很长,无法运行,外围电路可靠性问题,如电源问题、信号干扰等导致程序出错。

1.Vivado工具集成了逻辑分析仪(ILA),用于替换外部的逻辑分析仪。

2.添加ILA核和VIO核实现在线调试

3.通过JTAG接口和PC连接

ILA:监控逻辑内部信号和端口信号

VIO:实时监控和驱动逻辑内部信号和端口信号

二、添加ILA的方法

1.添加ILA IP核,在代码中ILA IP核进行例化

2.在原理图或者网表文件中添加"mask debug"属性

3.手动地在XDC约束文件中编写对应地TCL XDC调试命令

三、vivado软件操作

打开vivado软件,打开硬件管理----连接下载器----点击XADC(X系统监控),会出现温度监控,点击加号可以添加观察电压(VCCAUX:辅助电压;VCCINT:内核电压),连接达芬奇pro开发板有些电压可能为0。

四、添加ILA IP核的调试方法

(1)使用呼吸灯例程添加ILA核

在资源总结页面下滑可以看到资源占用的情况,找到IP Catelog----搜索ILA----双击打开会弹出IP核的配置界面----文档中有产品指南----选择第一个会打开IP核手册,多根据手册去配置。下面是它的配置界面。

Number of Probes:监控信号的数量(系统时钟不能监控)

Sample Data Depth:设置采样深度,设置的越大,观察到的数据量越多,对芯片所需的BRAM资源就更多。

第二个页面设置:对每个探针的位宽进行设置。位宽来源于所定义的数据位宽。取消左上角的勾选可以看到真正有用到的端口。在IP Source---IP下的IP核下可以找到例化模板,拷贝到呼吸灯代码的里面。

输入端口:默认在后缀添加IBUF。

输出端口:默认在后缀添加OBUF。

左下角可以添加触发信号,在Radix可以选择触发沿类型。

相关推荐
ARM+FPGA+AI工业主板定制专家7 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(二)软硬件设计,模拟量,温度等采集与分析
arm开发·人工智能·目标检测·fpga开发
szxinmai主板定制专家10 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(一)总体设计方案,包括振动、压力、温度、流量等参数
arm开发·人工智能·嵌入式硬件·fpga开发
FPGA小迷弟13 小时前
高频时钟设计:FPGA 多时钟域同步与时序收敛实战方案
前端·学习·fpga开发·verilog·fpga
szxinmai主板定制专家14 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(三)振动,流量,功耗,EMC,可靠性测试
arm开发·人工智能·嵌入式硬件·fpga开发
hoiii18719 小时前
Vivado下Verilog交通灯控制器设计
fpga开发
嵌入式-老费20 小时前
vivado hls的应用(开篇)
fpga开发
ARM+FPGA+AI工业主板定制专家21 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(一)总体设计
网络·arm开发·人工智能·机器学习·fpga开发·自动驾驶
Eidolon_li21 小时前
ARINC429模块规格书(V1.1)
fpga开发
FPGA-ADDA1 天前
第四篇:嵌入式系统常用通信接口详解(I2C、SPI、UART、RS232/485、CAN、USB)
人工智能·单片机·嵌入式硬件·fpga开发·信息与通信
421!2 天前
ESP32学习笔记之GPIO
开发语言·笔记·单片机·嵌入式硬件·学习·算法·fpga开发