SignalTapII及SignalProbe使用指南Word格式.docx
- 文档编号:17508949
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:19
- 大小:1.67MB
SignalTapII及SignalProbe使用指南Word格式.docx
《SignalTapII及SignalProbe使用指南Word格式.docx》由会员分享,可在线阅读,更多相关《SignalTapII及SignalProbe使用指南Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
316
371
426
32
566
773
981
256
2900
4528
6156
M4KsBasedonSampleDepth
512
2K
8K
32K
<
1
1
4
16
64
2
128
3.SignalTapII设计流程
在设计中嵌入SignalTapII有两种方法:
一是创建一个SignalTapII文件(.stp),然后定义STP文件的详细内容;
二是用MegaWizardPlug-InManager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。
1)创建STP文件
在QuartusII软件中选择File菜单下New命令,弹出的New对话框中选择OtherFiles标签栏,选择SignalTapIIFile。
或者选择Tools菜单下SignalTapIILogicAnalyzer命令打开一个已经存在的STP文件。
一个SignalTapII窗口如下图所示。
2)使用MegaWizardPlug-InManager
使用MegaWizardPlug-InManager建立SignalTapII逻辑分析仪不需要建立STP文件,生成一个可以在设计中实例化的HDL文件。
选择Tools菜单下MegaWizardPlug-InManager命令,在弹出的对话框中选择SignalTapIILogicAnalyzer,选择输出文件类型和名称之后,就需要完成对ELA的各种设置。
如下图所示,另外列出成功实例化之后端口的描述表。
端口名
类型
是否必要
描述
acq_data_in
输入
否
表示在SignalTapII中被监听的信号
acq_trigger_in
用于触发分析仪的触发输入信号
acq_clk
是
SignalTapII捕获数据的采样时钟
trigger_in
用于触发SignalTapII的输入信号
Trigger_out
触发事件发生使能输出信号
在设计中实例化SignalTapII文件以后,为了在目标FPGA器件中适配逻辑分析仪,必须编译QuartusII工程文件。
编译完加入了SignalTapII逻辑分析仪实例化模块的设计工程以后,要捕获并观测数据,必须从SignalTapIIMegaWizard的输出文件建立STP文件,选择File菜单下Create/UpdateMenu->
CreateSignalTapIIFilefromDesignInstance(s)命令,输入STP文件名,则根据SignalTapIIMegaWizard中的设置自动建议并打开STP文件。
如下图所示。
4.SignalTapII窗口说明及设置
1)InstanceManager
Instance窗口显示了每个Instance的资源消耗,还可以通过右键创建新的Instance,便于用户分组不同的观测信号。
通过选择当前不同的Instance可以分别进行信号的设置和观测。
2)SignalConfiguration
如下图所示,图中标注的地方是用来设置采集时钟的。
采集时钟在上升沿处采集数据,设计者可以使用设计中的任意信号作为采集时钟,但Altera建议最好使用全局时钟,而不要使用门控时钟。
另外时钟信号是不可以作为待采样数据的,就算将时钟信号放入观测窗口,触发采样之后也无法观测到正确的信号。
如果用户没有分配采集时钟,QuartusII软件会自动建立一个名为auto_stp_external_clk的时钟引脚。
在设计中用户用户必须为这个引脚单独分配一个器件引脚,在PCB上必须有一个外部时钟信号来驱动该引脚。
3)SampleDepth
设置每次数据信号的采样深度,SignalTapII支持0-512Kbits。
(当使用外部逻辑分析仪时可以选择采样深度为0)另外如果使用的器件为Stratix或StratixII,可以选择作为数据采样的RAM类型。
对于用户来说,手动合理分配RAM类型是有一定的必要性。
4)DataCapture
在Bufferacquisitionmode栏中,在Circular列表中可以选择数据触发的位置,包括:
●Pretriggerposition:
保存触发信号发生之前的信号状态信息。
●Centertriggerposition:
保存触发信号发生前后的数据信息,各占一半。
●Posttriggerposition:
保存触发信号发生之后的信号状态信息。
●Continuoustriggerposition:
连续保存触发采样数据,直到设计者停止采集数据为止。
选择Circular类型Buffer时,采集数据被放置在一个环形数据缓冲区中。
在数据采集过程中,新的数据可以替代旧的数据,如下图左所示,这个环形数据缓冲区的大小等于用户设置的数据采样深度。
图右显示了采用Circular作为数据获取Buffer的采样数据结果。
选择Segmented类型Buffer时,数据获取Buffer会分成用户自定义的小块。
比如4K的RAM会分成4个1K的Segments。
当数据触发时,采样数据被收集到一个Segment里,所有的Segment被填满之后收集工作会重新开始。
在下图中可以看到,同样的逻辑分析设置采用Segmented作为Buffer得到的数据采样结果不同于Circular类型。
5)Trigger
●TriggerLevel
SignalTapII的多级触发特性为设计者提供了更精确的触发条件设置功能,最高可以设置10级触发。
在多级触发中,SignalTapII首先对第一级触发模式进行触发;
当第一级触发表达式满足条件,测试结果为TRUE时,SignalTapII对第二级触发表达式进行测试;
依此类推,直到所有触发级完成测试,并且最后一级触发条件测试结果为TRUE时,SignalTapII开始捕获信号状态。
一般来说简单的测试只需要选择一级触发就可以了。
●Trigger-In
Trigger-In设置SignalTapII的外部触发信号,可以是任意的I/O引脚。
如果没有指定I/O管脚,软件会自动生成名为“auto_stp_trigger_in_n”的管脚,其中后缀n从1开始。
在“Pattern”列表中可以选择触发方式:
“Don’tCare”(无关项触发)、“Low”(低电平触发)、“High”(高电平触发)、“FallingEdge”(下降沿触发)、“RisingEdge”(上升沿触发)和“EitherEdge”(双沿触发)。
●Trigger-Out
Trigger-Out设置指定的触发输出信号连接到外部I/O管脚,可以作为外部测试设备的同步信号或者另一个SignalTapII文件的Instance内部触发事件。
如果没有指定I/O管脚,软件会自动生成名为“auto_stp_trigger_out_n”的管脚,其中后缀n从1开始。
在“Level”列表中可以选择“ActiveLow”(信号从高电平变为低电平)和“ActiveHigh”(信号从低电平变为高电平)两种不同的输出方式。
另外触发信号输出相对实际触发时刻都会有4个时钟周期的延迟。
6)WaveformViewer
如下图所示,Viewer窗口包含了Setup和Data两个标签栏。
Setup标签栏内可以选择需捕获的信号或触发信号,包括完成最多10级的触发设置。
Data标签栏内则显示了所有信号的捕获结果。
在Setup标签栏内用来添加待观测信号,可以通过“Edit”菜单下“AddNodes…”命令,右键点击快捷菜单“AddNodes…”命令,或双击标签栏内空白处这三种方式来添加信号。
在弹出的“NodesFilter”对话框中,在Filter列表中只能在“SignalTapII:
Pre-systhensis”和“SignalTapII:
Post-fitting”两种过滤器做信号选择,其他过滤器的信号是无法在SignalTapII下被捕获的。
Pre-systhensis下信号在对当前设计进行Analysis&
Elaboration(Processing->
Start菜单下)操作以后存在,表示RTL信号。
如果对设计修改以后,执行Analysis&
Elaboration命令后就可以快速加入一个新的节点名。
Post-fitting下信号在对当前设计进行物理综合优化以及布局布线后存在。
需要注意的是,不是所有信号都可以被选择为待观测信号的。
被选择信号列表中的“DataEnable”核选框控制是否作为被捕获的信号,如果不选则可以降低采样memory的大小。
“TriggerEnable”核选框控制是否作为触发信号。
通过不同的核选,可以区分选择被捕获信号和触发信号,达到节省ELA资源消耗的目的。
在Setup窗口下可以完成对触发信号的简单设置(BaseTriggering),如下图所示。
通过右键单击TriggerLevels标签栏下的列表项可以完成触发设置。
可以看到在下图中设置了10级触发(图中没有显示完全),每级触发都设置了不同的条件。
(此设计是用来捕获七段数码管的显示值,为了显示数码管可能出现的全部数值,所以选择了10级的触发级数。
)右键点击出来的快捷菜单可以分别选择“Don’tcare”、“Low”、“High”、“FailingEdge”、“RisingEdge”和“EitherEdge”的触发设置。
Setup窗口下的“DebugPortOut”列表可以通过点击右键使能或禁用DebugPort,将ELA捕获到的信号通过布线资源连接到外部空余的I/O管脚上。
如果使能DebugPort,QuartusII软件将自动生成一个名为“auto_stp_debug_out_m_n”的引脚,如下图所示。
其中m代表定义instance的序号,n代表在待捕获信号列表中定义DebugPort时的序号。
需要注意的是,当使能DebugPort之后重新编译工程,是可以在AssignmentEditor下对DebugPort管脚进行约束的。
如果没有约束,QuartusII软件会自动分配管脚,可以在CompilationReport->
Fitter->
ResourceSection->
OutputPins下的报告中看到DebugPort被软件自动分配到哪个管脚上。
Setup窗口下还有一个“IncrementalRoute”使能选项,可以实现增量式布线的功能,在不需要完全重新编译的情况下实现节点之间的切换,提高布线效率。
(比如添加/删除Instance、待测数据或触发信号;
修改采样时钟或存储深度;
使能或修改Trigger-In/Trigger-Out;
使能DebugPort。
这几种情况下需要实现重新编译。
)
实现增量式布线之前需要使能“SmartRecompilation”的功能,在QuartusII软件下打开Assignments菜单下Setting对话框,SignalTapIILogicAnalyzer标签栏下打开下图中的画红框的选项。
除了需要打开“SmartRecompilation”选项之外,还可以在下图所示的红框中设置已分配节点的数目。
在Data栏和Trigger设置已分配节点数目是指这些节点可以作为布线预留节点,保证以后可以再添加信号。
一般情况下选择Auto就可以了。
需要注意的是,添加“Post-Fitting”类型节点会引起增量式布线,如果添加“Pre-Synthesis”类型节点QuartusII软件会认为是一个完全的重新编译过程。
7)JTAGChainConfiguration
建立好STP文件并完成编译之后,即可以将包含ELA信息的配置文件通过JTAG链下载至FPGA内部,点击下图中的配置按钮完成文件下载。
如果用户的JTAG链上串联了多个FPGA,可以分别对每个FPGA下载sof文件并做ELA信号逻辑分析。
多个FPGA可以在下图中的“Device”下拉框来选择,通过“@1”、“@2”、“@3”…这样的前缀来区分。
8)AcquireData
将包含ELA信息的sof文件下载至FPGA后,即可以进行信号的捕获。
如下图所示,SignalTapII支持一次性捕获信号和持续捕获信号两种方式。
5.SignalTapII其他用法
1)MnemonicTable
比如设置触发信号条件时会用到状态机或编解码(七段码等),可以通过用户自定义触发数据。
打开“Edit”菜单下“MnemonicTableSetup”或在setup窗口右键快捷菜单点击“MnemonicTableSetup”。
下图中是一个七段码的设置。
设置完成后在“TriggerLevels”列表下右键弹出的快捷菜单中可以选择刚设置的“MnemonicTable”中的值。
2)QuartusIINetlistOptimization
在QuartusII软件中设置某些综合的优化选项是不适合SignalTapII的,可能会导致SignalTapII节点丢失。
如果使用SignalTapII,综合选项中有关“RegisterRe-timing”和“WYSIWYGRe-synthesis”的优化功能都是禁用的。
(Settings->
Analysis&
SynthesisSettings->
SynthesisNetlistOptimizations)另外在SignalTapII下的节点为了保证不会与综合优化选项冲突,可以在AssignmentsEditor下LogicOption设置“NetlistOptimizations”为“NeverAllow”。
3)AdvancedTriggering
相对于以上介绍的BasicTrigger,SignalTapII还可以设置更为复杂的触发信号。
在TriggerLevels列表下选择Advanced,就会弹出新的触发信号设置窗口。
如上图所示,“NodeList”列出了可供选择的触发信号节点,这些节点都为“Pre-Synthesis”类型。
“ObjectLibrary”列出了可建立逻辑的函数,将所需函数直接拖到“AdvancedTriggerConditionEditor”下即可以进行图形化的编辑。
下表显示了“ObjectLibrary”下所用到的逻辑函数。
需要注意的是,如果Object的参数设置显示为下图中的白色背景,表示具有实时可配置性。
参数发生改变后需要再次编译是不会导致一次完全编译的,这样便节省了编译时间。
6.SignalProbe增量式布线
1)SignalProbe支持器件
SignalProbe利用多余的I/O管脚(测试引脚)将需观察的内部信号节点通过增量式布线引出来,可以节省大约10%的编译时间。
SignalProbe不会影响已完成编译节点的布局功能,也不会降低设计的Fmax。
SignalProbe支持的器件为:
Stratix,StratixII,StratixGX,Cyclone,MAXII,Excalibur,APEXII和APEX20K/E/C。
2)使用SignalProbe
(a)使能“SmartCompilation”
打开Assignments菜单下Settings->
CompilerProcessSettings使能下图中红框部分。
(b)预留SignalProbe输出引脚
在AssignmetsEditor下Pin栏约束SignalProbe引脚。
管脚名称可以不在module下定义,随便取一个名字就行。
但此管脚在硬件电路上是连接到测试管脚上,方便使用外部仪表做测试。
在Reserved下拉框中选择“AsSignalProbeoutput”预留管脚。
(c)申明SignalProbeSource
SignalProbeSettings,点击“AssignSignalProbePins…”按钮,在弹出的对话框中设置SignalProbeSource。
(d)完成SignalProbe编译
打开Processing菜单下Start->
StartSignalProbeCompilation,或者直接选择完全编译。
(e)下载器件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SignalTapII SignalProbe 使用指南
![提示](https://static.bdocx.com/images/bang_tan.gif)