[转]SignalTap II使用方法简介

SignalTap II嵌入逻辑分析仪集成到Quartus II设计软件中,能够捕获和显示可编程单芯片系统(SOPC)设计中实时信号的状态,这样开发者就可以在整个设计过程中以系统级的速度观察硬件和软件的交互作用。它支持多达1024个通道,采样深度高达128Kb,每个分析仪均有10级触发输入/输出,从而增加了采样的精度。SignalTap II为设计者提供了业界领先的SOPC设计的实时可视性,能够大大减少验证过程中所花费的时间。

使用SignalTap II的一般流程是:设计人员在完成设计并编译工程后,建立SignalTap II (.stp)文件并加入工程、配置STP文件、编译并下载设计到FPGA、在Quartus II软件中显示被测信号的波形、在测试完毕后将该逻辑分析仪从项目中删除。以下描述设置 SignalTap II 文件的基本流程:

1.设置采样时钟。采样时钟决定了显示信号波形的分辨率,它的频率要大于被测信号的最高频率,否则无法正确反映被测信号波形的变化。SignalTap II在时钟上升沿将被测信号存储到缓存。(个人觉得采样时钟通常可以用系统时钟,这样子采样频率足够高,能够反映信号波形的变化)

2.设置被测信号。可以使用Node Finder 中的 SignalTap II 滤波器查找所有预综合和布局布线后的SignalTap II 节点,添加要观察的信号。逻辑分析器不可测试的信号包括:逻辑单元的进位信号、PLL的时钟输出、JTAG引脚信号、LVDS(低压差分)信号。(这个就不用多说了吧。。)

3.配置采样深度、确定RAM的大小。SignalTap II所能显示的被测信号波形的时间长度为Tx,计算公式如下: --- Tx=N×Ts --- N为缓存中存储的采样点数,Ts为采样时钟的周期。(师兄的观点是,反正fpga资源还有多,物尽其能,尽量开大些。)

4.设置buffer acquisition mode。buffer acquisition mode包括循环采样存储、连续存储两种模式。循环采样存储也就是分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。该功能可以去掉无关的数据,使采样缓存的使用更加灵活。(个人喜欢分段存储,如同物理课本上的振荡波形图,沿时间轴拉开,每次触发只存储分段大小的数据,从而反映依次触发时的信号波形变化。连续存储则记录一次采样过程中的所有数据,直至ram区满为止)

5.触发级别。SignalTap II支持多触发级的触发方式,最多可支持10级触发。

6.触发条件。可以设定复杂的触发条件用来捕获相应的数据,以协助调试设计。当触发条件满足时,在signalTap时钟的上升沿采样被测信号。(最最重要的一条。能否成功地展示波形就看你触发条件设置得好不好了。师兄说这个得设置方法只可意会不可言传。。。反正视情况而言的吧。)

完成STP设置后,将STP文件同原有的设计下载到FPGA中,在Quartus II中SignalTap II窗口下查看逻辑分析仪捕获结果。SignalTap II可将数据通过多余的I/O引脚输出,以供外设的逻辑分析器使用;或输出为csv、tbl、vcd、vwf文件格式以供第三方仿真工具使用。

报错分析:

SignalTap II片内逻辑分析仪方便好用,在使用中如果遇到你选的节点被优化,出现can‘t find the instance的错误,不坊使用下面的方法。

- T. @6 N" J, N% b incremental compilation可以提高效率,但会将要观察的节点优化了,而stp文件中又要观察这个节点,所以烧下去会提示找不到,SignalTap II上的信号提示红色。关闭incremental compilation是最好的方式,然后编译,编译时间会延长但可以观察到需要的节点。

时间: 2024-09-29 16:52:09

[转]SignalTap II使用方法简介的相关文章

primace 5.0软件的Debug ware 功能的使用方法简介

用primace 软件已经一年多了,一直不知道Debug ware 软件怎么使用,上周终于逮住FAE请教了下这个功能的使用方法.发现这个功能和signalTap ii 原理不一样,这个是非时事的波形,而是出发一次保留下来的波形.方法如下: 1.建立IP核: 以下三种触发方式选择一个: 例化: 2.设置数据: 按住Ctrl点击鼠标左键右键可以放大与缩小波形图. 3.关闭:

嵌入式逻辑分析仪SignalTap II 设计范例

Crazy Bingo :嵌入式逻辑分析仪SignalTap II 设计范例 例程下载地址  http://www.cnblogs.com/crazybingo/archive/2011/07/26/2117262.html

C#——Marshal.StructureToPtr方法简介

目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢 迎广大朋友指正! 具体可以参考http://msdn.microsoft.com. Marshal.StructureToPtr方法简介 1. 功能及位置 将数据从托管对象封送到非托管内存块,属于.NET Framework 类库命名空间:System.

Quartus prime 16.0 signaltap II 使用

前言 由于逻辑分析仪太贵,altera贴心提供signal tap II来观察输出波形,不过使能signaltap II会占用片内ram,毕竟原理就是把数据采样到ram中再通过jtag口上传到quartus中显示. 流程 1.项目全编译完成后,打开signaltapII: 2.打开默认有一个文件,重命名它设置完触发条件记得保存: 触发与显示信号设置窗口: 3.右侧有个设置采样窗口:时钟可以使用系统时钟,采样深度视项目而定,其他的默认即可. 4.重新全编译工程并设置jiag项: 5. 下板子调试即

SignalTap II应用小实例之触发位置

概述 SignalTap II一直以来都是笔者调试Altera FPGA设计的利器,最近比较有时间静下心来研究SignalTap II某些细节,虽然笔者有过不少关于SignalTap的使用,且也发表过一些博文介绍,但是还是有些有技巧如果加以利用是可以大大方便具体项目中的调试.比如本文将要介绍的触发条件位置的选择. 什么是触发位置 所谓触发位置,即trigger position.是指trigger采样位于缓存中的位置,我们知道在设置SignalTap的时候需要设置一个采样深度,缓存深度.那么触发

Datatable的Select()方法简介

DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是 Select() Select(string filterExpression) Select(string filterExpression, string sort) Select(string filterExpression,string sort, DataViewRowSt

$.getJSON( )的使用方法简介

JSON(JavaScript Object Notation)即JavaScript对象表示法,是一种轻量级的数据交换格式.它非常便于编程人员对数据的处理,也便于机器对数据的解析和生成,应用非常广泛. json文件可以保存为"test.json"这样的文件,json数据的一般格式如下("{ }"中的为对象,"[ ]"中的为数组): {"total":3,"rows":[{"userId"

Level Set方法简介

originate from: http://www.cnblogs.com/tabatabaye/articles/891232.html Level Set方法简介: Level Set方法是由Sethian和Osher于1988年提出,最近十几年得到广泛的推广与应用.简单的说来,Level Set方法把低维的一些计算上升到更高一维,把N维的描述看成是N+1维的一个水平.举个例子来说,一个二维平面的圆,如x^2+y^2=1可以看成是二元函数f(x,y)=x^2+y^2的1水平,因此,计算这个

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,