找回密码
 注册
关于网站域名变更的通知
查看: 316|回复: 0
打印 上一主题 下一主题

【教程】史上最详细的调试工具SingalTap使用教程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-20 09:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
【教程】史上最详细的调试工具SingalTap使用教程
* I; Z3 q, D" I: y
作者:陈刀刀
+ D- L$ W% N: M8 p# S  V$ h
本文为明德扬原创文章,转载请注明出处!
& r* u$ H" \) y$ k

# [4 ~+ W/ A8 @2 ]5 ~4 S
明德扬设计的工程经常使用到Quartus Ⅱ软件,其中常用的调试工具就是SignalTap。当代码经过仿真没有问题,但加载到FPGA电路板后,发现功能不正确时,我们就可以用signalTap工具进行分析,它的作用就类似于一个数字逻辑分析仪。今天就给大家分享SignalTap的使用教程。
$ t2 z3 U  v/ R+ M) e$ e2 L
一、打开SignalTap工具

  a0 l2 C  u, G4 M1 T
打开Quartus后,在菜单栏中,选择“Tools”->”SignalTal II Logic Analyzer”,就可以打开SignalTap工具。如下图:

3 t: ~: O7 c+ ~  W  w% I
/ s, x8 l! Q! a
二,使用SignalTap调试设置步骤

/ S  B" O% @$ E9 f- Q
界面示意图如下所示,其中有对应的标号,其解释如下:

: |3 w+ A( h4 O/ m9 ~7 d
  E4 q; X' Y5 f9 {$ q/ o' X7 [0 {
◆ 1—4为基本的软硬件配置:1为下载线选择;2为硬件检测(识别相关的FPGA设备);3工程配置文件选择(sof文件);4加载sof文件(1-3均完成后即可加载文件)。

) b1 T& h0 W! i: u6 E
◆ 5为采样时钟设置:选择采样时钟,采样时钟要根据具体需要进行设置, 可以为模块的工作时钟,也可以为内部信号;

8 J1 D4 M' v3 }. N( P4 _
◆ 6为采样深度设置:采样深度并非越大越好,要根据分析需求进行合理设置;
7 g3 Q* J) Y8 z9 _7 W+ D! T' x9 [( f
◆ 7为触发位置选择:包括前段触发、中间触发、后端触发三种方式,以触发点为参考,触发位置不同,我们能得到不同时间段的信号值。

  b4 M5 X. a: b! F' ?. i
◆ 8—9为信号设置:包括添加信号,设置信号触发条件等。在8中空白处双击即可添加信号界面,根据需要添加工程中的相应信号,添加信号后即可设置其触发条件。

6 a$ a# ~) E; J0 u, K* e: \
◆ 10为资源使用情况指示:如果资源多于FPGA本身的资源,综合时会报错,无法进行分析。

2 \6 l" O" W1 E/ }# i/ ^9 Y7 [7 }
◆ 11为运行操作按钮:开始运行后,待触发条件满足后会显示波形。
9 I8 \  {/ Y+ d4 a: I5 c6 \

/ c9 |1 X* K0 ^5 v6 D5 ?# v
三,选择采样时钟

) B' @, j, I7 L- c
1、SIGNALTAP的采样时钟,不一定是时钟信号,可以是其他任意的信号。总之,SIGNALTAP会在采样时钟的上升沿去捕捉信号的值,如果没有上升沿,则会一直等待。例如下图所示,就是以按键信号key【0】为采样时钟。在key【0】由0变1时,就会采样一个值。

* X" w3 l( i; a$ m) j0 t
2、若该工程使用到几个模块,并且每个模块的时钟不一定相同,则我们选择采样时钟时,要根据我们要测试的信号所在的模块的时钟是什么。

6 @0 d4 F% |& X5 m. P
& b0 j# d9 A" G' h: e, Q/ X
四,选择触发条件的次数
, o" V$ n- e& h. ]$ F! b$ l; D  x
下图所示,通过设置segmented,可以检查满足触发条件的次数。例如,发现按键有时候失灵的情况,为了定位此问题,我想检查按键按下的次数,是否与捕捉到信号次数一致。
其主要设置为:
1. 把segmented设置为32;
2. 把捕捉到信号key_vld拉到显示窗口,该信号为1表示捕捉到一个按键;
3. 设置触发条件为:key_vld的上升沿;
4. 按下run键,等待触发条件满足;
5. 按下按键4次;
6. 按停止捕捉键 。
7 |9 _( x: ^! b# M; s+ Q

5 v) S( r1 V2 k8 g- E( m
五,信号的触发条件
" h3 b4 t+ N1 B
1、如下图所示,6种触发条件的含义如下:
don’t care:表示不关心,也即任意,此信号的值不影响触发条件;
Low :低电平触发;
Falling Edge:下降沿触发;
Rising Edge:上升沿触发;
High:高电平触发;
Either Edge:双沿触发,即有变化时触发。

! @$ a3 c8 d4 p! |8 W: d
2、假设取上升沿触发,并对key_col也做触发条件的设置如下:

& ^' b7 R. J7 C1 H' h
此时的触发条件含义为:当rst_n为上升沿并且key_col全为高时触发。
注意,这里多触发条件之间默认的是“与”的关系,很多人会误认为是“或”的关系。

$ V8 `7 S+ R# z  D" U8 \: V4 o4 C; j
以上就是SignalTap的使用教程,有兴趣的朋友可在明德扬论坛获取更多学习资料,也可加入明德扬技术交流Q群:544453837与我们进行深入讨论,期待与大家一起学习进步!!
* J7 Z# o# b. j2 V

3 ]8 d# V( S- _; F6 k+ _- M
( M0 \( c( Y3 q$ l
2 X* C/ {( e$ m  u" C" p/ f9 f/ ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 07:43 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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