signaltap使用简记

转自:http://blog.163.com/taofenfang_05/blog/static/64214093201021751534644/

概述:

利用FPGA片上资源实现逻辑分析仪的功能。signaltap和你自己的逻辑设计一起被quartus编译,生成的sof文件中会包含signaltap。使用时在quartus中打开当前工程,打开stp文件(signaltap的定义文件),把sof下载到器件中就可以开始抓取波形了。


用法:
1. 在工程中加入signaltap: tools->signaltapII logic analyzer,设置采样时钟、欲抓取的波形、触发条件。所有这些信号必须源自于自己的逻辑设计中已有的信号,可以是rtl中的信号、引脚上的信号、综合后的门级信号。


2. 可以为每个被抓取的信号单独设置触发方式。最简单的方法是:只对一个被采样信号设置触发方式,其余信号的触发方式都设成‘don't care‘


3. 编译工程,得到包含signaltap的sof文件。打开stp文件,连接好FPGA板,配置JTAG chain让软件找到FPGA器件,把sof下载到器件中就可以开始抓取波形了。


4. 改变触发方式是不需要重新编译工程的,其他操作就需要重新编译工程


几个特点:


1.signaltap的时钟: signaltap是在采样时钟的上升沿进行采样。采样时钟不仅可以使用design中的任何一个信号,还可以指定从FPGA pin外部输入时钟,Altera建议采用全局时钟。一个普遍的错误的观点认为signaltap的采样时钟局限于design中的时钟频率,所以不能观察到design中clk的glitch,这是片面的。假设design中的最高clk是10Mhz,那么我们可以外加一个(或用pll生成一个)100Mhz的时钟给signaltap,这样就可以看到任何宽度大于1/100 us的glitch了。


2. 加入被采样信号时有2个选项:data enable、trigger enable,如果不勾选data enable会减少缓存容量,节省FPGA资源。


3. 缓存配置:有mem block的器件可以选择mem type,这决定了signaltap的采样存储区域是用FPGA的逻辑单元实现还是用mem block实现。


4. 增量编译:Altera建议使用signaltap的工程开启增量编译,如不开启,post-fit信号将不能用于高级触发方式。推测quartus是编译完design之后再通过增量编译来把signaltap编译进来,可以先将工程分区,把signaltap划到一个分区中,这样当修改了signaltap之后只需编译signaltap部分就可以了。


tips:
1. ‘trigger in/out’属于外触发方式。当in触发条件满足时开始抓取波形,同时在out上输出一个使能信号,这用于多个signaltap存在时触发其他的LA。


2. 设置和编译含有signaltap的工程不需要JTAG和FPGA保持连接,使用时只需要stp和sof这2个文件就可以抓取波形了。


以下转抄:
SignalTap II的特点及使用


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


--- SignalTap II将逻辑分析模块嵌入到FPGA中,如图1所示。逻辑分析模块对待测节点的数据进行捕获,数据通过JTAG接口从FPGA传送到Quartus II软件中显示。使用SignalTap II无需额外的逻辑分析设备,只需将一根JTAG接口的下载电缆连接到要调试的FPGA器件。SignalTap II对FPGA的引脚和内部的连线信号进行捕获后,将数据存储在一定的RAM块中。因此,需要用于捕获的采样时钟信号和保存被测信号的一定点数的RAM块。


--- 使用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为采样时钟的周期。


--- 4.设置buffer acquisition mode。buffer acquisition mode包括循环采样存储、连续存储两种模式。循环采样存储也就是分段存储,将整个缓存分成多个片段(segment),每当触发条件满足时就捕获一段数据。该功能可以去掉无关的数据,使采样缓存的使用更加灵活。


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


--- 6.触发条件。可以设定复杂的触发条件用来捕获相应的数据,以协助调试设计。当触发条件满足时,在signalTap时钟的上升沿采样被测信号。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值