下面我们以《Hello FPGA! Quartus II 软件的使用——新建工程与下载程序》中新建的工程为例:
1、打开工程
2、创建分析文件:【File】——【New】——【SignalTap II Logic Analyzer File】
3、选择检测信号:在空白处双击
这里需要注意的是,如果我们发现我们添加的信号变成了红色,那么也就是说我们的信号不能使用。这是因为 reg 与 wire 被Quartus II优化掉不见了,导致无法使用SignalTap II 观察。有两种方法可以解决这个问题:一是将 reg 与 wire 信号改成输出端口接入到 top module 的方式来观察;二是在待观察的wire 信号旁边加上 /*synthesis keep*/,在 reg 信号旁边加上 /*synthesis noprune*/ 或者 /*synthesis preserve*/。
4、配置采样属性:添加采样时钟和设置采样深度
我们的采样时钟使用的是工程中的系统时钟50MHz,采样时钟决定了逻辑分析仪的最小采样分辨率。采样深度设置为2K。采样深度决定了采样的数据量,深度越深,耗费的RAM越多。
5、定时触发条件:这里设置的是LED1下降沿触发。


6、重新编译工程:利用SignalTap II 软件来进行编译
1)在 JTAG 配置窗口中点击【Setup】,找到我们的 USB-Blaster[USB-0],然后点击【Scan Chain】
2)点击【Run Analysis】,然后保存文件,之后会自动进行全编译。
7、下载分析波形:工程编译完成之后,我们可以在SignalTap II 中下载.sof文件。
8、程序下载进去之后,然后点击【Run Analysis】
波形放大之后,我们可以发现,每10个CLK时钟,LED1翻转1次,程序里确实是这么写的。
9、将触发条件更改为RST_N下降沿触发
这是我们可以看到,由于SignalTap II 软件一直等不到复位按键按下,所以它也一直不能触发,直到我们按下复位按键之后,它便能采样到下降沿,从而进行触发。
10、将触发条件更改为 time_cnt=4 触发
1)将Basic改为Advanced,则会弹出高级触发设置页面
2)从“Node List”中拖入time_cnt信号,在“Object Library”下“Comparison Operator”中加入equality,最后加入“Input Objects”下的“Bus Value”,设置Setting为4。
3)设置完成之后,点击调试运行按钮,接下来重新编译,下载程序,再次点击调试运行。
11、上电触发,触发条件为 time_cnt=4
点击调试运行按钮,接下来重新编译,下载程序,再次点击调试运行。