SignalTapII及SignalProbe使用指南
更新时间:2023-09-23 03:12:01 阅读量: 人文社科 文档下载
- signal翻译推荐度:
- 相关推荐
SignalTapII及SignalProbe使用指南
1. SignalTapII支持器件及下载电缆
SignalTapII内嵌式逻辑分析仪需要占用ALMs/LEs布线资源和RAM采样存储资源,支 持下面的器件系列:StratxiII、Stratix、StratixIIGX、StratixGX、CycloneII、Cyclone、APEXII、APEX20K/E/C、Excalibur和Mercury。SignalII逻辑分析仪支持目前Altera所有下载电缆,包括USB Blaster、ByteBlasterII、ByteBlasterMV和MasterBlaster。 2. SignalTapII工作流程及资源消耗
1配置ELA(Embedded Logic Analyzer)○。
2通过QuartusII软件完成布局布线,ELA下载至FPGA中。 ○
3ELA采样到内部触发信号。 ○
4ELA通过JTAG电路与QuartusII软件发生通信,以图形化的界面显示出来。 ○
ELA占用片内LE资源由信号通道数及触发级数决定,占用片内RAM资源由信号通道数及采样深度来决定。Altera建议选择选择通道数量和采样深度时要考虑二者之间的平衡,以免占用太多RAM资源,影响原本的逻辑设计。比如不推荐同时使用1024个最大通道数和128K最大采样深度(相当于消耗了32,768 个M4K的资源)。下表给出了在Statix/Cyclone器件中使用ELA的资源占用情况。
Number of Channels 8 32 256 Number of Channels 8 32 256 M4Ks Based on Sample Depth 256 < 1 2 16 512 1 4 32 2K 4 16 128 8K 16 64 512 32K 64 256 Logic Elements Trigger Level 1 316 566 2900 Trigger Level 2 371 773 4528 Trigger Level 3 426 981 6156
3. SignalTapII设计流程
在设计中嵌入SignalTapII有两种方法:一是创建一个SignalTapII文件(.stp),然后定义STP文件的详细内容;二是用MegaWizard Plug-In Manager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。
1) 创建STP文件
在QuartusII软件中选择File菜单下New命令,弹出的New对话框中选择Other Files标签栏,选择SignalTap II File。或者选择Tools菜单下SignalTapII Logic Analyzer命令打开一个已经存在的STP文件。一个SignalTapII窗口如下图所示。
2) 使用MegaWizard Plug-In Manager
使用MegaWizard Plug-In Manager建立SignalTapII逻辑分析仪不需要建立STP文件,生成一个可以在设计中实例化的HDL文件。选择Tools菜单下MegaWizard Plug-In Manager命令,在弹出的对话框中选择SignalTapII Logic Analyzer,选择输出文件类型和名称之后,就需要完成对ELA的各种设置。如下图所示,另外列出成功实例化之后端口的描述表。
端口名 acq_data_in acq_trigger_in acq_clk trigger_in Trigger_out 在设计中实例化SignalTapII文件以后,为了在目标FPGA器件中适配逻辑分析仪,
类 型 输入 输入 输入 输入 输入 是否必要 否 否 是 否 否 描 述 表示在SignalTapII中被监听的信号 用于触发分析仪的触发输入信号 SignalTapII捕获数据的采样时钟 用于触发SignalTapII的输入信号 触发事件发生使能输出信号 必须编译QuartusII工程文件。编译完加入了SignalTapII逻辑分析仪实例化模块的设计工程以后,要捕获并观测数据,必须从SignalTapII MegaWizard的输出文件建立STP文件,选择File菜单下Create/Update Menu->Create SignalTapII File from Design Instance(s)命令,输入STP文件名,则根据SignalTapII MegaWizard中的设置自动建议并打开STP文件。如下图所示。
4. SignalTapII窗口说明及设置
1) Instance Manager
Instance窗口显示了每个Instance的资源消耗,还可以通过右键创建新的Instance,便于用户分组不同的观测信号。通过选择当前不同的Instance可以分别进行信号的设置和观测。
2) Signal Configuration
如下图所示,图中标注的地方是用来设置采集时钟的。采集时钟在上升沿处采集数据,设计者可以使用设计中的任意信号作为采集时钟,但Altera建议最好使用全局时钟,而不要使用门控时钟。另外时钟信号是不可以作为待采样数据的,就算将时钟信号放入观测窗口,触发采样之后也无法观测到正确的信号。如果用户没有分配采集时钟,QuartusII软件会自动建立一个名为auto_stp_external_clk的时钟引脚。在设计中用户用户必须为这个引脚单独分配一个器件引脚,在PCB上必须有一个外部时钟信号来驱动该引脚。
3) Sample Depth
设置每次数据信号的采样深度,SignalTapII支持0-512Kbits。(当使用外部逻辑分析仪时可以选择采样深度为0)另外如果使用的器件为Stratix或StratixII,可以选择作为数据采样的RAM类型。对于用户来说,手动合理分配RAM类型是有一定的必要性。
4) Data Capture
在Buffer acquisition mode栏中,在Circular列表中可以选择数据触发的位置,包括: ● Pre trigger position:保存触发信号发生之前的信号状态信息 。
● Center trigger position:保存触发信号发生前后的数据信息,各占一半。 ● Post trigger position:保存触发信号发生之后的信号状态信息。
● Continuous trigger position:连续保存触发采样数据,直到设计者停止采集数据
为止。
选择Circular类型Buffer时,采集数据被放置在一个环形数据缓冲区中。在数据采集过程中,新的数据可以替代旧的数据,如下图左所示,这个环形数据缓冲区的大小等于用户设置的数据采样深度。图右显示了采用Circular作为数据获取Buffer的采样数据结果。
选择Segmented类型Buffer时,数据获取Buffer会分成用户自定义的小块。比如4K的RAM会分成4个1K的Segments。当数据触发时,采样数据被收集到一个Segment里,所有的Segment被填满之后收集工作会重新开始。在下图中可以看到,同样的逻辑分析设置采用Segmented作为Buffer得到的数据采样结果不同于Circular类型。
5) Trigger
● Trigger Level
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’t Care”(无关项触发)、“Low ”(低电平触发)、“High”(高电平触发)、“Falling Edge”(下降沿触发)、“Rising Edge”(上升沿触发)和“Either Edge”(双沿触发)。 ● Trigger-Out
Trigger-Out设置指定的触发输出信号连接到外部I/O管脚,可以作为外部测试设备的同步信号或者另一个SignalTapII文件的Instance内部触发事件。如果没有指定I/O管脚,软件会自动生成名为“auto_stp_trigger_out_n”的管脚,其中后缀n从1开始。在“Level”列表中可以选择“Active Low”(信号从高电平变为低电平)和“Active High”(信号从低电平变为高电平)两种不同的输出方式。另外触发信号输出相对实际触发时刻都会有4个时钟周期的延迟。
6) Waveform Viewer
如下图所示,Viewer窗口包含了Setup和Data两个标签栏。Setup标签栏内可以选择需捕获的信号或触发信号,包括完成最多10级的触发设置。Data标签栏内则显示了所有信号的捕获结果。
在Setup标签栏内用来添加待观测信号,可以通过“Edit”菜单下“Add Nodes…”命令,右键点击快捷菜单“Add Nodes…”命令,或双击标签栏内空白处这三种方式来添加信号。在弹出的“Nodes Filter”对话框中,在Filter列表中只能在“SignalTapII:
Pre-systhensis”和“SignalTapII:Post-fitting”两种过滤器做信号选择,其他过滤器的信号是无法在SignalTapII下被捕获的。Pre-systhensis下信号在对当前设计进行Analysis & Elaboration(Processing->Start菜单下)操作以后存在,表示RTL信号。如果对设计修改以后,执行Analysis & Elaboration命令后就可以快速加入一个新的节点名。Post-fitting下信号在对当前设计进行物理综合优化以及布局布线后存在。需要注意的是,不是所有信号都可以被选择为待观测信号的。
被选择信号列表中的“Data Enable”核选框控制是否作为被捕获的信号,如果不选则可以降低采样memory的大小。“Trigger Enable”核选框控制是否作为触发信号。通过不同的核选,可以区分选择被捕获信号和触发信号,达到节省ELA资源消耗的目的。
在Setup窗口下可以完成对触发信号的简单设置(Base Triggering),如下图所示。通过右键单击Trigger Levels标签栏下的列表项可以完成触发设置。可以看到在下图中设置了10级触发(图中没有显示完全),每级触发都设置了不同的条件。(此设计是用来捕获七段数码管的显示值,为了显示数码管可能出现的全部数值,所以选择了10级的触发级数。)右键点击出来的快捷菜单可以分别选择“Don’t care”、“Low”、“High”、“Failing Edge”、“Rising Edge”和“Either Edge”的触发设置。
Setup窗口下的“Debug Port Out”列表可以通过点击右键使能或禁用Debug Port,将ELA捕获到的信号通过布线资源连接到外部空余的I/O管脚上。如果使能Debug Port,QuartusII软件将自动生成一个名为“auto_stp_debug_out_m_n”的引脚,如下图所示。其中m代表定义instance的序号,n代表在待捕获信号列表中定义Debug Port时的序号。需要注意的是,当使能Debug Port之后重新编译工程,是可以在Assignment Editor下对Debug Port管脚进行约束的。如果没有约束,QuartusII软件会自动分配管脚,可以在Compilation Report->Fitter->Resource Section->Output Pins下的报告中看到Debug Port被软件自动分配到哪个管脚上。
Setup窗口下还有一个“Incremental Route”使能选项,可以实现增量式布线的
功能,在不需要完全重新编译的情况下实现节点之间的切换,提高布线效率。(比如添加/删除Instance、待测数据或触发信号;修改采样时钟或存储深度;使能或修改Trigger-In/Trigger-Out;使能Debug Port。这几种情况下需要实现重新编译。)
实现增量式布线之前需要使能“Smart Recompilation”的功能,在QuartusII软件下打开Assignments菜单下Setting对话框,SignalTapII Logic Analyzer标签栏下打开下图中的画红框的选项。
除了需要打开“Smart Recompilation”选项之外,还可以在下图所示的红框中设置已分配节点的数目。在Data栏和Trigger设置已分配节点数目是指这些节点可以作为布线预留节点,保证以后可以再添加信号。一般情况下选择Auto就可以了。需要注意的是,添加“Post-Fitting”类型节点会引起增量式布线,如果添加“Pre-Synthesis”类型节点QuartusII软件会认为是一个完全的重新编译过程。
7) JTAG Chain Configuration
建立好STP文件并完成编译之后,即可以将包含ELA信息的配置文件通过JTAG链下载至FPGA内部,点击下图中的配置按钮完成文件下载。如果用户的JTAG链上串联了多个FPGA,可以分别对每个FPGA下载sof文件并做ELA信号逻辑分析。多个
FPGA可以在下图中的“Device”下拉框来选择,通过“@1”、“@2”、“@3”…这样的前缀来区分。
8) Acquire Data
将包含ELA信息的sof文件下载至FPGA后,即可以进行信号的捕获。如下图所示,SignalTapII支持一次性捕获信号和持续捕获信号两种方式。
5. SignalTapII其他用法
1) Mnemonic Table
比如设置触发信号条件时会用到状态机或编解码(七段码等),可以通过用户自定义触发数据。打开“Edit”菜单下“Mnemonic Table Setup”或在setup窗口右键快捷菜单点击“Mnemonic Table Setup”。下图中是一个七段码的设置。设置完成后在“Trigger Levels”列表下右键弹出的快捷菜单中可以选择刚设置的“Mnemonic Table”中的值。
2) QuartusII Netlist Optimization
在QuartusII软件中设置某些综合的优化选项是不适合SignalTapII的,可能会导致SignalTapII节点丢失。如果使用SignalTapII,综合选项中有关“Register Re-timing”和“WYSIWYG Re-synthesis”的优化功能都是禁用的。(Settings->Analysis & Synthesis Settings->Synthesis Netlist Optimizations)另外在SignalTapII下的节点为了保证不会与综合优化选项冲突,可以在Assignments Editor下Logic Option设置“Netlist Optimizations”为“Never Allow”。如下图所示。
3) Advanced Triggering
相对于以上介绍的Basic Trigger,SignalTapII还可以设置更为复杂的触发信号。在Trigger Levels列表下选择Advanced,就会弹出新的触发信号设置窗口。
如上图所示,“Node List”列出了可供选择的触发信号节点,这些节点都为“Pre-Synthesis”类型。“Object Library”列出了可建立逻辑的函数,将所需函数直接拖到“Advanced Trigger Condition Editor”下即可以进行图形化的编辑。下表显示了“Object Library”下所用到的逻辑函数。
需要注意的是,如果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) 使能“Smart Compilation”
打开Assignments菜单下Settings->Compiler Process Settings使能下图中红框部分。
(b) 预留SignalProbe输出引脚
在Assignmets Editor下Pin栏约束SignalProbe引脚。管脚名称可以不在module下定义,随便取一个名字就行。但此管脚在硬件电路上是连接到测试管脚上,方便使用外部仪表做测试。在Reserved下拉框中选择“As SignalProbe output”预留管脚。
(c) 申明SignalProbe Source
打开Assignments菜单下Settings->SignalProbe Settings,点击“Assign SignalProbe Pins…”按钮,在弹出的对话框中设置SignalProbe Source。
(d) 完成SignalProbe编译
打开Processing菜单下Start->Start SignalProbe Compilation,或者直接选择完全编译。 (e) 下载器件
正在阅读:
SignalTapII及SignalProbe使用指南09-23
2018-2024年中国氨纶纤维行业发展趋势报告(目录)04-19
《网络操作系统Windows server 》实训指导书04-11
肿瘤随访登记工作程序01-17
《声音的产生》教学反思(优秀8篇)03-26
县残联2021年工作总结范文08-17
2015基础练习题目03-09
- 粮油储藏基础知识
- 论文范文(包括统一封面和内容的格式)
- 经典解题方法
- 综合部后勤办公用品管理办法+领用表
- 学生宿舍突发事件应急预案
- 16秋浙大《生理学及病理生理学》在线作业
- 四分比丘尼戒本(诵戒专用)
- 浙江财经大学高财题库第一章习题
- 九大员岗位职责(项目经理、技术负责人、施工员、安全员、质检员、资料员、材料员、造价员、机管员)
- 旅游财务管理习题(学生版)
- 德阳外国语高二秋期入学考试题
- 投资学 精要版 第九版 第11章 期权市场
- 控制性详细规划城市设计认识
- bl03海运提单3国际贸易答案
- 2010-2011学年湖北省武汉市武珞路中学七年级(上)期中数学试卷
- VB程序填空改错设计题库全
- 教师心理健康案例分析 - 年轻班主任的心理困惑
- 民间借贷司法解释溯及力是否适用?
- 三联书店推荐的100本好书
- 《化工原理》(第三版)复习思考题及解答
- 使用指南
- SignalTapII
- SignalProbe
- 2018中秋节国庆节超市促销活动方案
- 青少年心理发展与教育第四讲
- 关于公布威海市第四届中小学学科带头人
- 中国药科大学国家理科基础科学研究和教学人才培养基地
- 本课题的研究目标
- 工商银行2011招聘考试全真模拟试卷8
- 高分子材料概论-橡胶 - 图文
- 人民医院检验科急诊项目的设置征求临床意见表
- 体育场馆运营成本千万,如何“脱困”?
- 化学反应工程试卷
- 化工工艺学课程总结及复习
- 中国当代文学史考试笔记(重点)
- amber实战
- 动生作业习题
- 第三篇 组织答案
- 这样才叫职业化答案
- 关于基层党校如何打造精品课程的几点思考
- 九年级化学下册《课题1 常见的酸和碱(第三课时)》教案 新人教版
- 李凡长版 组合数学课后习题答案 习题3
- 牛津高一英语M4U2 课文填空