Signal Tap Logic Analyzer是Intel Quartus Prime计划软件中自带的新一代系统级调试工具,它可以在FPGA计划中采集和显示实时的信号活动。当计划在FPGA上全速运行时,无需额外的I/O引脚即可检查正常器件操纵期间内部信号的活动。
Signal Tap Logic Analyzer具有可扩展性,易于利用,支持以下功能:
无需外部装备,通过探测内部信号的状态来调试FPGA计划。
自定义触发条件逻辑,提高准确性并提升分析题目的能力。
将全部捕捉的信号数据存储在装备存储器中,直到需要举行读取和分析。
Signal Tap Logic Analyzer支持可编程逻辑市场上任何逻辑分析仪中最多的通道数、最大的采样深度和最快的时钟速度。
下图1.1是Signal Tap Logic Analyzer内部结构图,它是利用JTAG界限扫描的原理来读取FPGA内部节点的值,然后传输到buffer(缓冲器),再由JTAG把数据送到Quartus下的Signal Tap Logic Analyzer工具。整个过程只读取数据,而数据的频率无法直接知道,只能由计划者自行计算得出。
图1.1 Signal Tap Logic Analyzer结构图
在计划中嵌入Signal Tap Logic Analyzer▷▷▷
要利用Signal Tap Logic Analyzer对计划举行调试,需要执行几个使命来添加、配置和运行Signal Tap Logic Analyzer。如下图所示为Signal Tap Logic Analyzer使命流程图。
3. 想要看工程内里的哪个文件的信号,就在Look in这里选择对应的文件(或者直接选top文件,全部信号在top文件内里可以找到),然后点击Name行后的List按钮,在Nodes Found列表中选择合适的信号作为Signal Tap Logic Analyzer的采集时钟,如图2.8所示,此处举例选择Sdram_Control.v文件的信号举行查看,选择Sdram_Control.v文件内里的100MHz作为采样时钟。选中后点击">"按钮将时钟信号添加到Nodes Found列表中,也可以直接双击CLK将时钟信号添加到Nodes Found列表。
图2.8 Node Finder对话框设置
4. 点击OK按钮确定。在Signal Tap Logic Analyzer窗口中可以看到,设置作为采样时钟的信号CLK显示在Clock栏中。如图2.9所示。
图2.9 显示Clock采样时钟信号
注意:如果在Signal Tap Logic Analyzer窗口中没有分配采集时钟,Quartus软件会主动创建一个名为auto_stp_external_clk_0的时钟引脚。在计划中必须为这个引脚单独分配一个器件引脚。在开发板上也必须有一个外部时钟信号驱动该引脚。
在.stp文件中配置信号节点▷▷▷
在.stp文件中,常分配如下两种范例的信号:
Signal Tap: pre-synthesis——该信号在对计划举行Analysis&Elaboration操纵以后存在,这些信号表示寄存器传输级(RTL)信号。在Signal Tap Logic Analyzer中要分配Pre-synthesis信号,可以选择Quartus软件工具栏的Processing-->Start Analysis&Elaboration。对计划举行修改后,如果要在物理综合之前快速加入一个新的节点名,利用这项操纵特别有效。
Signal Tap: post-fitting——该信号在对计划举行物理综合优化以及结构布线操纵后存在。
Signal Tap Logic Analyzer触发设置重要是设置观测信号的触发条件(Trigger Conditions)。
触发范例选择Basic AND或Basic OR:如果触发范例选择Basic,在.stp文件中必须为每个信号设置相应的触发模式(Trigger Pattern)。Signal Tap Logic Analyzer中的触发模式包括Don't Care(无关项触发)、Low(低电平触发)、High(高电平触发)、Falling Edge(下降沿触发)、Rising Edge(上升沿触发)和Either Edge(双边沿触发)。如图2.14所示,当设定的触发条件满足时,Signal Tap Logic Analyzer开始捕捉数据。
图2.14-1 设置范例
图2.14-2 设置触发模式
触发范例选择Advanced:如果触发范例选择Advanced,则必须为Signal Tap Logic Analyzer创建触发条件表达式。一个Signal Tap Logic Analyzer最关键的特点是它的触发能力。如果不能很好的为数据捕捉创建相应的触发条件,它大概无法帮助计划者捕捉到需要观测的有效信号。
在Signal Tap Logic Analyzer中,利用高级触发条件编辑器(Advanced Trigger Condition Editor)可以在简朴的图形界面创建非常复杂的触发条件。计划者只需要将运算符拖动到触发条件编辑器窗口中,就可以创建复杂的触发条件,如图2.15所示。