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ⅡLogicAnalyzer”命令完成,而且这种方法也可用来打开一个已经存在的STP文件。SignalTapⅡ逻辑分析仪的使用SignalTapⅡ逻辑分析仪的使用4新建一个“SignalTap”文件SignalTapⅡ逻辑分析仪的使用图3-55“SignalTapⅡ”窗口SignalTapⅡ逻辑分析仪的使用2.设置数据采集时钟在使用QuartusⅡ软件的SignalTapⅡ逻辑分析仪进行数据采集之前,首先应该设置数据采集时钟。数据采集时钟一般是在上升沿处采集数据。我们可以使用设计中的任意信号作为数据采集时钟,但Altera公司一般建议使用全局时钟,而不要使用门控时钟。使用门控时钟作为数据采集时钟,有时不能准确反映设计的不同期望数据状态。QuartusⅡ时序分析结果给出设计的最大数据采集时钟频率。SignalTapⅡ逻辑分析仪的使用设置SignalTapⅡ数据采集时钟的步骤主要由以下几步组成:①在图5所示的SignalTapⅡ逻辑分析仪窗口先选择“Setup”标签页。②再单击“Clock”栏后面的“BrowseNodeFinder”按钮,然后打开NodeFinder对话框。③在“NodeFinder”对话框中,从“Filter”列表中选择“SignalTapⅡ:pre-synthesis”(综合前)。④在“Named”框中,输入数据采样时钟的信号名称;或者通过单击“List”按钮,在“NodesFound”列表中选择一个时钟信号作为数据采集时钟的信号。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”对话框。④在“NodeFinder”对话框中的“Filter”列表中选择SignalTapⅡ:Pre-synthesis或者SignalTapⅡ:post-fitting方式。SignalTapⅡ逻辑分析仪的使用⑤在“Named”框中可以输入节点名、部分节点名或者通配符,还可以单击“List”按钮查找节点。⑥在“NodesFound”列表中选择要加入STP文件中的节点或者总线。⑦通过单击“”按钮将选择的节点或总线移动到“SelectedNodes”列表中。⑧最后单击“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所示的高级触发条件编辑器(AdvancedTriggerConditionEditor),我们可以在简单的图形界面中建立非常复杂的触发条件。我们只需要将运算符通过鼠标拖动到触发条件编辑器窗口中,即可方便建立复杂的触发条件。SignalTapⅡ逻辑分析仪的使用图8高级触发条件编辑器SignalTapⅡ逻辑分析仪的使用③触发级数选择QuartusⅡ软件的SignalTapⅡ逻辑分析仪的多级触发特性,可以设置更精确的触发条件功能。在多级触发中,SignalTapⅡ逻辑分析仪首先对第一级模式进行触发;当第一级触发表达式满足条件,测试结果为“真”时,然后SignalTapⅡ逻辑分析仪对第二级触发表达式进行测试;依次类推,直到所有级的触发都完成测试,并且最后一级触发条件测试结果乃为“真”时,SignalTapⅡ逻辑分析仪开始捕获相关信号状态,在图5的SignalTapⅡ窗口的触发级数选择列表中选择触发级数,SignalTapⅡ逻辑分析仪最大可以选择的触发级数为10级。SignalTapⅡ逻辑分析仪的使用6.指定采样深度及触发位置在触发事件开始之前,我们可以指定要观测数据的采样深度,即数据存储深度,以及触发事件发生前后的采样点数。在QuartusⅡ软件的STP文件窗口的“Data”栏中,在“Sampledepth”列表中可以选择逻辑分析仪的采样深度;在“Bufferacquisitionmode”栏中,在“Circular”列表中可以选择触发之前的数据和触发之后的数据之间的比例。SignalTapⅡ逻辑分析仪的使用7.编译SignalTapⅡ逻辑分析仪的设计设置好STP。文件以后,在使用SignatTapⅡ逻辑分析仪之前,必须编译QuartusⅡ设计工程。首次建立STP文件需要先保存该文件,QuartusⅡ软件会自动将STP文件加入工程中,当然我们也可以采用下面的步骤手动添加STP文件:SignalTapⅡ逻辑分析仪的使用①通过选择“Assignments”|“Settings”命令,弹出“Settings”对话框。②在弹出“Settings”对话框的“Category”列表中选择“SignalTapⅡLogicAnalyzer”。③再在“SignalTapⅡLogicAnalyzer”页中,选中“EnableSignalTapⅡLogicAnalyzer”选项。④然后在“SignalTapⅡFileName”栏中输入STP文件名。⑤单击“OK”按钮确认。⑥最后通过选择“Processing”|“StartCompilation”命令开始编译SignalTapⅡ逻辑分析仪。SignalTapⅡ逻辑分析仪的使用2.利用MegaWizardPlug-InManager建立SignalTapII逻辑分析仪使用MegaWizardPlug-InManager建立SignalTapⅡ逻辑分析仪时,不需要建立STP文件。MegaWizardPlug-InManager生成一个可以在设计中实例化的HDL文件。SignalTapⅡ逻辑分析仪的使用1.SignalTapⅡ逻辑分析仪的HDL描述的建立在QuartusⅡ软件中,我们通过执行SignalTapⅡ兆函数(Megafunction)可以很容易地使用MegaWizardPlug-InManager建立SignalTapⅡ逻辑分析仪。具体步骤如下:(1)在QuargusⅡ软件中通过选择“Tools”|“MegaWizardPlug-InManager”命令,启动兆函数。(2)再在弹出的“MegaWizardPlug-InManager”对话框中选择“Createanewcustommegafunctionvariation”项。(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-3SignalTapⅡ兆函数端口的说明SignalTapⅡ逻辑分析仪的使用SignalTapⅡ逻辑分析仪的使用3.在设计文件中实例化SignalTapⅡ逻辑分析仪在实际工程设计中实例化SignalTapⅡ逻辑分析仪的过程与实例化其他VHDL或VerilogHDL兆函数相同。在设计中实例化SignalTapⅡ文件以后,是为了在目标FPGA器件中配置逻辑分析仪,必须重新编译QuartusⅡ工程文件。SignalTapⅡ逻辑分析仪的使用3SignaITapⅡ逻辑分析仪的器件编程在