5.9 SignalTap II在线逻辑分析仪的使用方法
随着设计复杂度的增加,传统的设计验证方法需要其他技术和工具的补充,因为这些可编程芯片系统(SOPC)进行完全的真实模拟是不可在适当的时间内完成。而且,设计规模的陡增必然需要新的工具来观察已编程期间的内部操作。尤其是随着第三方IP使用的增加,它们需要获取内部探测来验证操作,使其和设计的其他部分相分离。最后,由于封装技术的提高,必须开发新的方法以便对日趋小型化和大规模封装的硬件(如BGA)进行验证。
5.9.1 SignalTap II介绍
Quartus II 5.0支持SignalTap II,满足这些需求。SignalTap允许设计者在FPGA运行期间同时监视内部信号。通过下载电缆或传统的分析设备连接到用户的PC板卡上,便可以观察到这些信号的波形。使用SingnalTap就类似于使用逻辑分析仪,能够设置初始化、触发(内部或外部)和显示条件以及观察的内部信号,用户以此可以研究设计的运行状态。用户的分析参数可以被编译为嵌入逻辑分析仪(ELA),它和设计的其他数据一起配置FPGA。Altera全系列FPGA器件支持SignalTap,采用Byteblaster II或者USB blaster作为器件的下载电缆。
若没有采用SignalTap接口,用户必须更改设计以探测内部逻辑的连线。设计的内部连线必须连接到顶层设计的管脚上。如果结点处于庞大分级设计的下层,那么改起来很复杂,同时很耗时,而且破坏了设计的完整性。ELA接口支持拖放选择用于逻辑分析的连线。这个接口根本就无需改变设计。选择了ELA的输入通道之后,需要重新编译设。更新后的配置文件重新配置器件后,标准逻辑分析仪就会可以检测那些被连接到器件管脚的内部信号了。
输入通道的样值存储在器件的嵌入存储块内,ELA功能监测输入通道是否发生触发事件。一旦ELA存储了满足触发状态的足够数据,ELA停止采样监测输入通道。然后数据上载到主机,显示在Quartus的波形编程器中。数据的主载速率取决于JTAG TCK信号的速率。ELA功能会使用设计本身占用以外的器件资源。ELA是可参数化的,因此能够使用有效的资源。
SignalTap II支持以用户指定的格式识别和显示总线使所捕获的数据更加易懂。SignalTap II嵌入式逻辑分析仪能够以等价的十六进制、无符号十进制、二元补码形式的符号十进制,符号大小表示法表示的符号十进制、八进制、二进制、8比特ASCII等格式来显示总线。用户还可以选择条形图或者线性图表示总线时间关系。
SignalTap II支持多文件输出数据结果,嵌入式逻辑分析仪可以采用矢量波形(vwf)、矢量表(tbl)、矢量文件(vec)、逗号分割数据(csv)和Verilog数值更改转存(vcd)文件格式输出所捕获的数据。这些文件格式可以被第三方验证工具读入,显示和分析SignalTap II嵌入式逻辑分析仪所捕获的数据。
5.9.2 使用SignalTap II操作流程
若要使用SignalTap II逻辑分析器,必须先建立SignalTap II文件(stp)此文件包括所有配置设置并以波形显示捕获到的信号。一旦设置了SignalTap II文件,就可以编译工程,对器件进行编程并使用逻辑分析器采集和分析数据。
以下步骤描述设置SignalTap II文件和采集信号数据的基本流程。
(1)建立新的SignalTap II文件。
(2)向SignalTap II文件添加实例,并向每个实例添加节点。可以使用Node Finder中的SignalTap II滤波器查找所有预综合和布局布线后的SignalTap II节点。
(3)分配一个采样时钟。
(4)设置其他选项,例如采样深度和触发级别等。
(5)完全编译工程文件。
(6)下载程序到FPGA中。
(7)运行硬件并打开SignalTap II观察信号波形。
5.9.3 设置触发器
如图5.39所示是SignalTap II逻辑分析仪的界面。其中实例管理器对话框识别出设计中
图5.39 SignalTap II逻辑分析仪
等待测试的所有验证过的逻辑分析仪,它们可以用来捕获并存储数据。该对话框还可以对用来生成每个分析仪的资源进行估算。
信号配置面板用于设置采样信号和触发信号。采样时钟信号支持超过200MHz频率,采样深度最大高达128K。
数字示波器或逻辑分析仪中,触发器是一个重要的组成部分。触发器的性能很大程度上决定了仪器的性能。触发器是逻辑级别、逻辑边缘触发方式、逻辑样本等逻辑事件的组合。通过不同的触发方式实现对信号的不同采样。
SignalTap接口定义的触发事件中,每个事件的输入通道可以监测10个基本或高级的触发级别。触发级别向SignalTap II逻辑分析仪指明何时开始采集数据,10个触发级别为设置复杂的触发条件提供了足够的灵活性,帮助验证工程师分离错误或者找出问题原因,如果设置了多触发级别,直到所有的触发条件顺序满足后,才开始采集数据。
触发位置允许指定在选定实例中在触发器之前和触发器之后应采集的数据量。分段的模式允许通过将存储器分为周密的时间段,为定期事件捕获数据,而无需分配很深的采样深度。其中对环形缓冲模式支持4个触发位置;这样,当触发条件满足后,用户可以更多地控制应该捕获并显示什么样的数据。
· “前”触发位置向软件表明,在达到触发条件前,保存所发生采样的12%,达到触发条件后,再保存采样的88%。
· “中”触发位置向软件表明,在达到触发条件前,保存所发生采样的50%,达到触发条件后,再保存采样的50%。
· “后”触发位置向软件表明,在达到触发条件前,保存所发生采样的88%,达到触发条件后,再保存采样的12%。
· “连续”触发位置向软件表明,以环形缓冲的方式进行连续采样保存,直到用户中断为止。