SignalTapⅡ逻辑分析仪的使用
SignalTapⅡ逻辑分析仪支持的器件有很多系列,
主要包括Stratix、StratixII、StratixGX、
Cyclone、CycloneⅡ、APEX及APEXⅡ等系列的FPGA
器件。
在设计中建立SignalTapⅡ逻辑分析仪有两种方法:
第一种方法是建立一个SignalTapⅡ文件(.stp),然后
定义STP文件的详细内容;第二种方法是用
MegaWizardPlug-InManager建立并配置STP文件,然后用
MegaWizard实例化一个HDL输出模块。
SignalTapⅡ逻辑分析仪的使用
设计中建立SignalTapⅡ逻辑分析仪
SignalTapⅡ逻辑分析仪的使用
图给出了用这两种方法建立和使用SignalTapⅡ逻辑分析仪的过程
• 1.创建STP文件
QuartusⅡ软件的STP文件包括SignalTapⅡ逻辑分析仪
设置部分和捕获数据的查看、分析部分。创建一个
STP文件的步骤可按下面的方法来操作:
①在QuartusⅡ软件中,通过选择“File”|“New”命
令,弹出新建文件对话框。
②在弹出的新建文件对话框中,选择“OtherFiles”标
签页,从中选择“SignalTapⅡFile”’如图4所示。
③再单击“OK”按钮确定,便建立了一个新的
SignalTapⅡ窗口,如图5所示。
上面的操作我们也可以通过选择
“Tools”|“SignalTapⅡLogic Analyzer”命令完
成,而且这种方法也可用来打开一个已经存在的STP
文件。
SignalTapⅡ逻辑分析仪的使用
SignalTapⅡ逻辑分析仪的使用
4新建一个“SignalTap”文件
SignalTapⅡ逻辑分析仪的使用
图3-55 “SignalTapⅡ”窗口
SignalTapⅡ逻辑分析仪的使用
2.设置数据采集时钟
在使用QuartusⅡ软件的SignalTapⅡ逻辑分析仪进行
数据采集之前,首先应该设置数据采集时钟。数据采集时
钟一般是在上升沿处采集数据。我们可以使用设计中的任
意信号作为数据采集时钟,但Altera公司一般建议使用全
局时钟,而不要使用门控时钟。使用门控时钟作为数据采
集时钟,有时不能准确反映设计的不同期望数据状态。
QuartusⅡ时序分析结果给出设计的最大数据采集时钟频
率。
SignalTapⅡ逻辑分析仪的使用
设置SignalTapⅡ数据采集时钟的步骤主要由以下几
步组成:
①在图5所示的SignalTapⅡ逻辑分析仪窗口先选择
“Setup”标签页。
②再单击“Clock”栏后面的“Browse Node Finder”
按钮,然后打开Node Finder对话框。
③在“Node Finder”对话框中,从“Filter”列表中
选择“SignalTapⅡ: pre-synthesis”(综合前)。
④在“Named”框中,输入数据采样时钟的信号名称;
或者通过单击“List”按钮,在“Nodes Found”列表中
选择一个时钟信号作为数据采集时钟的信号。
SignalTapⅡ逻辑分析仪的使用
⑤再单击“OK”按钮确定相关设置。
⑥在图3-55所示的“SignalTapⅡ”窗口中,“Clock”栏中显示
为采样时钟的信号。
如果我们在SignalTapⅡ窗口中没有分配采集时钟,则
QuartusⅡ软件会自动建立一个默认名为auto_stp_extemal_clk时
钟引脚。在实际工程设计中我们必须为这个引脚单独分配一个器件
引脚,在我们设计的印制电路板上必须有一个外部时钟信号驱动该
引脚。
SignalTapⅡ逻辑分析仪的使用
3.STP文件中分配信号
在STP文件中,QuartusⅡ软件可以分配两种类型的信号:
①Pre-synthesis:该信号在对设计进行Analysis&Elaboration
操作以后存在,这些信号表示寄存器传输级(RTL)信号。
在SignalTapⅡ中要分配Pre-synthesis信号,我们应通过选择
“Processing”“StartAnalysis&Elaboration”命令。对逻辑分
析仪设计进行修改以后,如果要在物理综合之前快速添加一个新的
节点名,使用这项操作特别实用。
②Post-fitting:该信号是在对工程设计进行物理综合优化以及
布局、布线操作后才存在。
SignalTapⅡ逻辑分析仪的使用
4.分配数据信号
①首先完成工程设计的Analysis&Elaboration或
Analysis&Synthesis后,或者工程全编译之后。
②在SignalTapⅡ逻辑分析仪窗口,通过单击Setup标签
页。
③在STP窗口的“Setup”标签页中双击鼠标左键,弹出
“NodeFinder”对话框。
④在“Node Finder”对话框中的“Filter”列表中选择
SignalTapⅡ: Pre-synthesis或者SignalTapⅡ:post-
fitting方式。
SignalTapⅡ逻辑分析仪的使用
⑤在“Named”框中可以输入节点名、部分节点名或者通配符,还
可以单击“List”按钮查找节点。
⑥在“Nodes Found”列表中选择要加入STP文件中的节点或者总
线。
⑦通过单击“>”按钮将选择的节点或总线移动到“Selected
Nodes”列表中。
⑧最后单击“OK”按钮,将选择的节点或者总线添加到STP文件,
如图6所示。
SignalTapⅡ逻辑分析仪的使用
6 分配数据信号
SignalTapⅡ逻辑分析仪的使用
5.设置逻辑分析仪触发方式
逻辑分析仪触发控制包括设置触发类型和触发级数。
①Basic触发类型
如果SignalTapⅡ触发类型选择Basic,在STP文件中我们必须
为每个信号设置一种触发模式(TriggerPattern)。SignalTapⅡ逻
辑分析仪中的触发模式包括:Don'tCare(无关项触发),Low(低电
平触发),High(高电平触发),FallingEdge(下降沿触发),
RisingEdge(上升沿触发)以及EitherEdge(双沿触发)。
当选定触发级数的所有信号的“逻辑与”结果为TRUE时,
SignalTapⅡ逻辑分析仪才开始捕捉数据,如图7所示。
SignalTapⅡ逻辑分析仪的使用
7 设置触发模式
SignalTapⅡ逻辑分析仪的使用
②Advanced触发类型
如果SignalTapⅡ触发类型选择Advanced,则我们必须为逻辑
分析仪建立触发条件表达式。一个SignalTapⅡ逻辑分析仪最关键
的因素就是它的触发能力。如果不能很好地为数据捕获建立相应的
触发条件,逻辑分析仪就可能无法帮助我们调试FPGA程序设计。
在SignalTapⅡ逻辑分析仪中,使用如图8所示的高级触发条
件编辑器(Advanced Trigger Condition Editor),我们可以在简
单的图形界面中建立非常复杂的触发条件。我们只需要将运算符通
过鼠标拖动到触发条件编辑器窗口中,即可方便建立复杂的触发条
件。
SignalTapⅡ逻辑分析仪的使用
图8 高级触发条件编辑器
SignalTapⅡ逻辑分析仪的使用
③触发级数选择
QuartusⅡ软件的SignalTapⅡ逻辑分析仪的多级触发特性,可
以设置更精确的触发条件功能。在多级触发中,SignalTapⅡ逻辑
分析仪首先对第一级模式进行触发;当第一级触发表达式满足条件,
测试结果为“真”时,然后SignalTapⅡ逻辑分析仪对第二级触发
表达式进行测试;依次类推,直到所有级的触发都完成测试,并且
最后一级触发条件测试结果乃为“真”时,SignalTapⅡ逻辑分析
仪开始捕获相关信号状态,
在图5的SignalTapⅡ窗口的触发级数选择列表中选择触发级数,
SignalTapⅡ逻辑分析仪最大可以选择的触发级数为10级。
SignalTapⅡ逻辑分析仪的使用
6.指定采样深度及触发位置
在触发事件开始之前,我们可以指定要观测数据的采样深度,
即数据存储深度,以及触发事件发生前后的采样点数。
在QuartusⅡ软件的STP文件窗口的“Data”栏中,在
“Sampledepth”列表中可以选择逻辑分析仪的采样深度;在
“Buffer acquisition mode”栏中,在“Circular”列表中可以
选择触发之前的数据和触发之后的数据之间的比例。
SignalTapⅡ逻辑分析仪的使用
7.编译SignalTapⅡ逻辑分析仪的设计
设置好STP。文件以后,在使用SignatTapⅡ逻辑分析仪之前,
必须编译QuartusⅡ设计工程。首次建立STP文件需要先保存该文件,
QuartusⅡ软件会自动将STP文件加入工程中,当然我们也可以采用
下面的步骤手动添加STP文件:
SignalTapⅡ逻辑分析仪的使用
①通过选择“Assignments”|“Settings”命令,弹出
“Settings”对话框。
②在弹出“Settings”对话框的“Category”列表中选择
“SignalTapⅡLogic Analyzer”。
③再在“SignalTapⅡLogic Analyzer”页中,选中“Enable
SignalTapⅡLogic Analyzer”选项。
④然后在“SignalTapⅡFileName”栏中输入STP文件名。
⑤单击“OK”按钮确认。
⑥最后通过选择“Processing”|“Start Compilation”命令
开始编译SignalTapⅡ逻辑分析仪。
SignalTapⅡ逻辑分析仪的使用
2.利用MegaWizard Plug-In Manager建立SignalTapII逻辑分析仪
使用MegaWizard Plug-In Manager建立SignalTapⅡ逻辑分析
仪时,不需要建立STP文件。MegaWizard Plug-In Manager生成一
个可以在设计中实例化的HDL文件。
SignalTapⅡ逻辑分析仪的使用
1.SignalTapⅡ逻辑分析仪的HDL描述的建立
在QuartusⅡ软件中,我们通过执行SignalTapⅡ兆函数
(Megafunction)可以很容易地使用MegaWizard Plug-In Manager建
立SignalTapⅡ逻辑分析仪。具体步骤如下:
(1)在QuargusⅡ软件中通过选择“Tools”|“MegaWizard Plug-
In Manager”命令,启动兆函数。
(2)再在弹出的“MegaWizard Plug-In Manager”对话框中选择
“Create a new custom megafunction variation”项。
(3)然后单击“Next”按钮。
(4)在弹出的对话框中选择“SignalTapⅡLogicAnalyzer”,并且
选择要输出的文件类型(AHDL、VHDL、VerilogHDL),输入
SignalTapⅡ兆函数名,如图9所示。
SignalTapⅡ逻辑分析仪的使用
图9 建立SignalTapⅡ逻辑分析仪
SignalTapⅡ逻辑分析仪的使用
(5)再单击“Next”按钮,进入下一步。
(6)在弹出的下一个对话框中,需要指定逻辑分析仪的采样深度、
存储器类型、数据输入端口宽度、触发输入端口宽度以及触发级数,
如图10所示。
图10 设置逻辑分析仪参数
SignalTapⅡ逻辑分析仪的使用
(7)再单击“Next”按钮,进入下一步。
(8)通过选择Basic或Advanced,设置每一级触发选项,如图11所
示。
图11 设置每一段触发选项
(9)最后单击“Finish”按钮,完成建立SignalTapⅡ逻辑分析
仪的HDL描述过程。
如果在第(8)步中选择了“Advanced”,将弹出如图8所示的高
级触发条件编辑界面。
2.SignalTapⅡ兆函数端口
表3-3给出了SignalTapⅡ兆函数端口的说明。
表3-3 SignalTapⅡ兆函数端口的说明
SignalTapⅡ逻辑分析仪的使用
SignalTapⅡ逻辑分析仪的使用
3.在设计文件中实例化SignalTapⅡ逻辑分析仪
在实际工程设计中实例化SignalTapⅡ逻辑分析仪的过程与实
例化其他VHDL或Verilog HDL兆函数相同。在设计中实例化
SignalTapⅡ文件以后,是为了在目标FPGA器件中配置逻辑分析仪,
必须重新编译QuartusⅡ工程文件。
SignalTapⅡ逻辑分析仪的使用
3 SignaITapⅡ逻辑分析仪的器件编程
在QuartusⅡ软件完成SignalTapⅡ逻辑分析仪并编译完成以后,
打开STP文件,接下来是完成SignalTapⅡ逻辑分析仪器件编程。具
体步骤如下:
(1)在STP文件中,在JTAG Chain设置部分选择SignalTapⅡ逻
辑分析仪的SRAM对象文件(.sof)。
(2)再单击“Scan Chain”按钮,检测器件。
(3)在Device列表中选择目标器件。
(4)单击“ProgramDevice”图标进行器件编程下载,如图12所
示。
SignalTapⅡ逻辑分析仪的使用
图12SignalTapⅡ逻辑分析仪编程
SignalTapⅡ逻辑分析仪的使用
4查看SignalTaPⅡ采样数据
在SignalTapⅡ窗口中,选择Run Analysis或AutoRun Analysis,
启动SignalTapⅡ逻辑分析仪。当设置的触发条件满足时,
SignalTapⅡ逻辑分析仪开始捕获数据。
在QuartusⅡ软件的SignalTapⅡ工具条上有四个执行逻辑分析仪
选项,如图12左上角所示。
SignalTapⅡ逻辑分析仪的使用
●Run Analysis:单步运行SignalTapⅡ逻辑分析仪。即执行该命
令后,SignalTapⅡ逻辑分析等待触发事件,当触发事件一旦发生
便开始采集数据,然后停止。
●AutuRun Analysis:执行该命令后,SignalTapⅡ逻辑分析仪连
续捕获数据,直到用户按下Stop Analysis为止。
●Stop Analysis:停止SignalTapⅡ分析。如果触发事件还没有
发生,则不会有采集到的数据显示出来。
●Read Data:显示捕获的数据。如果触发事件还没有发生,我们
可以通过单击该按钮查看当前捕获的数据。
QuartusⅡ软件的SignalTapⅡ逻辑分析仪自动将采集到的数据显
示在SignalTapⅡ界面的Data标签页中,如图12所示。
SignalTapⅡ逻辑分析仪的使用
图12SignalTapⅡ逻辑分析仪采集数据
归纳利用QuartusⅡ进行VHDL文本输入设计的
流程:从文件输入一直到SignalTapⅡ测试。
习题
SignalTapⅡ逻辑分析仪的使用