EETOP 创芯网论坛

找回密码

  登录   注册  

搜帖子
汽车电子资料大全(下载奖励300信元)
查看: 260|回复: 1

[原创] 玩转Zynq连载33——基于Vivado的在线逻辑分析仪板级调试

[复制链接]
发表于 2019-10-28 11:19:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
更多资料共享
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.bAIdu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c
鼠标垫图.jpg
1概述
         基于Vivado的板级调试介绍,可以参考文档《玩转Zynq-基础篇:基于Vivado的在线板级调试概述.pdf》。这里我们以zstar_ex54工程为例,对FPGA的在线逻辑分析仪使用进行介绍和实战操练。
2 标记探测信号
         在axi_gp_top.v模块中,可以看到AXIGP总线的很多信号前面都有(*mark_debug = "true"*)这个语句,它的作用就是将代码中需要引出进行在线逻辑分析仪观察的信号,就如同一个个探棒一样将信号标记起来。
33-1.png
3工程编译与Debug信号设置
         工程的代码设计完成,并且标记好需要探测的信号后,点击Synthesis --> Run Synthesis对当前工程执行综合编译。
33-2.png
         完成编译后,打开SynthesizedDesign --> Set Up Debug.
33-3.png
         如图所示,点击Next。
33-4.png
         Nets to Debug界面可以添加或删除设置代码中标记了mark_debug的信号,并对其采样和触发属性做设置。
●  名称(Name)列中显示了在代码中标记了“(*mark_debug = "true"*)”的所有信号。若需要在这里删除或添加信号,可以使用左侧的“+”或“-”符号进行操作。
●  时钟域(Clock Domain)将作为信号采样的同步时钟,默认为信号在逻辑代码中的同步时钟。若需要修改时钟域,可以点击右侧的方波形状符号操作。
●  驱动单元(DriveCell)显示信号的驱动类型。
●  探针类型(ProbeType)显示信号的采样类型,可以是数据信号(Data)、触发信号(Trigger)或同时作为数据和触发信号(Data and Trigger)。一般我们都设置为Data and Trigger,在调试过程中,所有信号都可以随意的设置被采样信号和触发信号。
         选中这些带调试信号,点击时钟图标(图示的SelectClock Domain)。
33-5.png
         如图所示,Select ClockDomain页面中选中时钟FCLK_CLK0,点击OK。这就是信号的采样时钟。
33-6.png
         ILA Core Options页面中,可以设定探测信号的采样深度、缓存寄存器等级和信号采集触发相关控制选项。完成设置后,点击Next进入下一页面。
●  采样深度(Sampleof data depth),用于设置信号的连续采样点数量。当然,这个值越大,采样的数据越多,越利于调试探测,但是这需要更多的FPGA片内RAM的资源消耗,所以这个值的大小取决于实际系统可用的RAM。这里设定32768个点,至少保证能够采样到一帧9600bps的UART接收数据。
●  探测信号经过的寄存器等级(Inputpipe states)设定,此选项主要用于确保设计中的关键信号不会因为ILA探测信号的加入而受到影响。对于设计本身时序余量充足的情况,这个值可以设置为0。
         触发和存储设置(Trigger andStorage Settings)中可以使能采集控制(Capture control)和高级触发(Advanced trigger)。使能采集控制,ILA支持的基本采集控制模式可用。使能高级触发,ILA支持的一些高级触发模式可用。
         完成设定后,点击Next。
33-7.png
         最后是Set up DebugSummary页面,点击Finish完成设定。
33-8.png
         点击Program and Debug à Generate Bitstream重新编译工程,产生下载配置的bit文件。
3 板级调试观察
         在已经下载bit文件,并且elf文件已经在Zstar板子上运行起来以后。回到Vivado中,如图所示,展开Programand Debug --> Open Hardware Manager,点击Open Target,弹出菜单中选择AutoConnect。
33-9.png
    随后弹出如图所示的HardwareManager界面。
●  1:Hardware窗口,这里将会出现FPGA中所有可以通过JTAG进行调试的选项,例如XADC以及本实例专门增加的在线逻辑分析仪ILA(hw_ila_1)。双击hw_ila_1,将弹出相应的调试界面。
●  2:Setting窗口,这里可以对信号的采样和触发控制进行设置。
●  3:Status窗口,这里显示当前数据采样或触发的状态。
●  4:Trigger Setup窗口,这里可以添加触发信号并编辑触发条件。
●  5:Waveform窗口,这里显示信号触发后的采样波形。
33-10.png
图 Hardware Manager界面
    本实例的Setting窗口设置如图所示。
●  触发模式(Triggermode)反应的是Set Up Debug里的设定,我们是Basic_ONLY设置。
●  采样模式(Capturemode)的选项有BASIC和ALWAYS,我们设定ALWAYS。
●  窗口数量(Numberof windows)的值可以设定同样的触发条件下,连续多次的触发显示在不同的窗口中。当然了,窗口数量的增加,势必会使得单个窗口的采样深度变小。换句话说,所有窗口采样深度的总和不能大于总的采样深度。
●  单个窗口的数据采样深度(Windowdata depth),最大值等于我们的Set Up Debug里的设定。
●  触发信号在窗口中的位置(Triggerposition in window),这里的值表示当信号触发后,触发信号在显示波形中的位置。
●  刷新率(Refreshrate),刷新率主要是针对连续触发的。
33-11.png
图 Settings窗口
    Trigger Setup窗口用于添加触发信号并设定触发条件。如图所示,在界面左侧点击“+”号后,所有可用的触发信号出现在弹出的列表中。选择uut_axi_gp_top/AXI_GP0_awvalid信号作为触发条件,CompareValue中选择 == [B] R,表示触发条件是触发信号为上升沿(Rise)。
33-12.png
图 正在添加信号的TriggerSetup窗口
    如图所示,点击Compare Value列的下拉三角符号,会弹出触发条件设定的对话框。
●  运算符(Operator)中可以选择符号“==”或者“!=”。
●  进制(Radix)中可以设定后面值(Value)的进制,可选项有二进制([B]Binary)、八进制([O] Octal)、十六进制([H] Hexadecimal)、有符号十进制([U] Unsigned Decimal)和无符号十进制([S] Signed Decimal)。
●  值(Value),即运算符后面的取值。可选项有0(逻辑0)、1(逻辑1)、X(任何值)、R(上升沿)、F(下降沿)、B(上升或下降沿)、N(没有变化)。
33-13.png
图 触发条件设置
    如图所示,Waveform窗口显示弹出信号在触发条件满足后的波形。窗口左侧的小图标可以控制探测信号的添加、删减,波形采样的单次运行、连续运行、停止,波形的放大、缩小以及光标线的移动等。点击图示的Run triggerfor this ILA core按钮则启动一次触发。
33-14.png
图 Waveform窗口
    如图所示,此时Status一直处于Waiting for Trigger状态,等待触发条件的发生。
33-15.png
图 等待触发状态
    触发条件发生时,如图所示,Status会依次经过Post-Trigger和Full状态并回到Idle状态。
33-16.png
图 触发完成返回Idle状态
    如图所示,Waveform窗口中出现了一连串的AXI GP总线读写的波形。大家可以更具波形对照AXI协议进行分析。
33-17.png
图 触发波形
腾讯微云链接:https://share.weiyun.com/5s6bA0s
百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw
提取码:ld9c

发表于 2019-12-31 12:04:23 | 显示全部楼层
thanks for sharing
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询 |  EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2020-2-19 16:30 , Processed in 0.064535 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表