Signal Tap II全称Signal Tap II Logic Analyzer,是第二代系统级调试工具,它集成在Quartus II软件中,可以捕获和显示实时信号,是一款功能强大、极具实用性的FPGA片上调试工具软件。
传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚,将内部引号引出至引脚I/O上,接着进行板级调试。
? ? ? ? note:这种方法缺点是,需要逻辑分析仪,且效率很低,经常需要飞线,而且如果要测10个信号以上就非常庞杂,而且,考虑到100Mhz左右的信号完整性,不能用逻辑分析仪,要用高性能的示波器,测量的信号质量也存在失真的情况。
Signal Tap II在线逻辑分析仪克服了以上所有缺点,将采样逻辑电路编程后放在FPGA中,即使用FPGA资源来构成了嵌入式逻辑分析仪。
在Quartus软件中打开待测工程,然后选择Signal Tap Logic Analyzer,
在弹出的New File from Template窗口选择Default (default selection)即可;
弹出Signal Tap Logic Analyzer界面,包含例化管理器(Instance Manager)、JTAG链配置(JTAG Chain Configuration)、节点列表和触发条件(Data与Set两个子界面可选)、信号配置(Signal Configuration)、分层设计(Hierarchy Display,分层显示)以及数据日志(Data Log),如下图。
首先选择例化管理器,选中默认的auto_signaltap_0,可以增加、删除、重命名实例,这里一个实例可以理解为一组信号对+一个配置时钟,可以通过Enabled来选择该实例是否被编译到该工程中,因此可以有多组实例,方便分析各不同模块的信号。
选择信号配置,进行实例的时钟配置。
弹出的Node Finder界面中,首先在Options-Filter栏选择:Signal Tap: Pre-synthesis,在Options-Look in栏中选择down_sampling_top.v模块,接着输入想要在down_sampling_top.v模块中查看的信号的时钟:clk_7_148m,然后search搜索,在Matching Nodes中双击即可将clk_7_148m添加到Nodes Found栏,并单击ok即可完成时钟的添加,如下图:
完成后根据需要选择采样深度即可,其他默认,如下图:
双击节点列表和触发条件界面,弹出Node Finder窗口,与上一步添加时钟信号一样的设置,选择自己想要的信号,最后要记得单击insert按键才能正常将信号成功添加。
默认如下,但是可以根据需要对各个信号进行单独设置触发条件:
Don't Care | 不设置触发方式 |
Low | 低电平触发 |
Falling Edge | 下降沿触发 |
Rising Edge | 上升沿触发 |
High | 高电平触发 |
Either Edge | 双边沿触发 |
设置好触发条件后,就可以开始编译,等待工程编译完成即可。
首先连接JTAG烧录器与FPGA板,并给FPGA板子上电,接着Scan Chain,识别FPGA器件,然后选择生成的sof文件,并单击开始下载。
8、查看抓取的波形
单击Run Analysis运行分析一次,单击Autorun Analysis自动连续运行分析。