SignalTapII操作入门.doc_第1页
SignalTapII操作入门.doc_第2页
SignalTapII操作入门.doc_第3页
SignalTapII操作入门.doc_第4页
SignalTapII操作入门.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SignalTapII操作入门林新新 2010年10月20日SignalTapII是嵌入式逻辑分析仪,它是综合在FPGA内部资源的数字逻辑,所以在使用它之前要先创建这个逻辑(包括创建,触发条件的设置),并将其加入设计,和设计一起综合。另外在调试的过程中由于需要多次修改触发条件,每次修改都要重新综合,非常耗时,所以使用SignalTapII最好引入增量编译。SignalTapII具有逻辑分析仪的功能,却没有较高的设备要求。首先它利用了FPGA内部的逻辑资源,触发条件设置好之后,它与其它逻辑工作在相同的频率,信号的采样结果存储在FPGA内部的RAM中,并没有实时传输到PC中, 当用户需要查看分析结果时才将内容从RAM通过JTAG传输到PC中,这与一般的实时采样过程是不同的。一、添加SignalTapII逻辑分析仪可以像创建新文件一样创建一个.stp文件:点击菜单中的新建文件,在新建文件菜单中选择SignalTap II Logic Analyzer File,点击确定后会弹出SignalTap II Editor也可以点击工具栏中的SignalTap II Logic Analyzer图标,也会弹出SignalTap II Editor,在SignalTap II Editor进行各种设置之后,点击文件保存,将.stp文件保存在工程适当的位置。保存时会出现一个对话框询问用户是否要使用该stp文件,选择是,就可以将该stp加入工程设计中,并且是能。如果存在stp文件,可以通过setting菜单设置是能该stp文件:点击assignment-setting, 在category中选择SignalTap II Logic Analyzer.可出现如下页面:在这里可以选择stp文件以及是否是能。也可以用Mega Wizard Plug In Manager生成stp,这里只要熟悉上一种方法就够了,所以不多说了。二、在一个FPGA中使能多个逻辑分析仪该特性适用于多个时钟域的信号分析。在Edit菜单中选择Create Instance或者在Instance Manager Window中右键,选择Create Instance。每一个Instance都是可以独立配置的。综合后可以在Instance Manager Window中查看每一个Instance的资源使用情况,SignalTapII消耗最多的是Memory。在Instance Manager Window中还可以进行很多对Instance的其它操作,如删除、重命名等。三、配置SignalTapII(1)设置采样时钟Acquisition Clock:SignalTapII获取数据的时钟,在Acquisition Clock的上升沿采样数据,下降沿不能采样数据。可以选择任何信号作为Acquisition Clock,然而最好是全局的非门控时钟信号,并且与被采样信号同步。Acquisition Clock的最高频率与设计的最高频率相同,编译结束后在在编译报告的时序分析部分可以查看到Fmax。在SignalTap II Logic Analyzer window中选择Setup标签。在Signal Configuration面板的Clock即为采样时钟,点击浏览键通过Node Finder设置采样时钟。在Node Finder中的Filter后有几个选项:针对SignalTapII的选项有SignalPre-synthesis和Post-fitingPre-synthesis:综合优化之前,寄存器传输级的信号。Post-fiting:物理综合优化,布局布线之后的网点。如果没有使用增量编译,选择Pre-synthesis 选项。因为当改变了设计文件之后不需要进行全综合,只需要运行一下Analysis & Elaboration就可以得到更新后的网点,这节省了时间。在Data标签页中蓝色文字显示的是Post-fiting信号,黑色文字显示的是Pre-synthesis信号。Analysis & Elaboration之后用红色文字显示的信号是无效的信号,需要从移除。下图为开启Analysis & Elaboration的方法。(2)添加信号有多种方法可以添加信号:A通过Node FinderB用Technology Map ViewerC用Plug in添加与某个IP核相关的一组信号 这里只用Node Finder添加。点击setup标签页后,可以看到Double-click to add nodes字样,双击即弹出Node Finder,通过Node Finder添加信号。(3)添加有限状态机的编码寄存器:由于在综合和布局布线的时候状态编码被改变或优化掉,要观察状态机的状态可以利用SignalTapII的一个特定功能,在Setup标签页的信号面板中右键,选择Add State Machine Nodes,弹出Add State Machine Nodes对话框网点可以是Pre-synthesis也可以是Post-fiting,在该对话框中选择状态机运行分析后可以查看状态的变化情况。(4)设置采样深度以及存储器的类型采样深度直接影响到资源利用情况,当资源不够时尝试减小采样深度。根据器件支持的存储体类型还可以选择采样的存储类型。(5)选择Buffer Acquisition Modea non-segmented buffer: SignalTapII将整个存储空间当做单个FIFO,一直往里面写数据,一直到满足了适当的触发条件停止下来。segmented buffer:将存储空间等分成几个段,每个段当过一个FIFO,并为每一个段定义一个触发条件,每一次只有一个段处于活跃状态,当前段满足触发条件后,SignalTapII会激活下一个段进行同样的过程。该方式适用于不连续发生的重复事件。(6)使用存储资格功能Storage Qualifier(去除冗余)对存储空间进行写使能控制,以去除一些无用的采样,只能在non-segmented buffer模式下使用。A. Input Port: 被选为input port的信号如果是高电平,存储器可以写数据,如果是低电平,不能写数据。BTransitional Mode:选择Transitional Mode之后,在信号单中会多出Storage Enable和Storage Qualifier两栏,在Storage Qualifier中被选中的信号如果在前一个时钟沿发生变化,写使能,如果在前一个时钟沿没有变化,停止写使能。CConditional Mode:分为basic和Advanced。选择Transtition Mode之后,在信号单中会多出Storage Enable和Storage Qualifier两栏,在Storage Qualifier设置为Basic,并设置信号要求的条件,当几个信号同时与设置的内容匹配时写使能。如果选择为Advanced会弹出逻辑编辑器,画框图设置组合逻辑。DStart/Stop: 与Conditional Mode类似,只不过要设置两个匹配条件,一个作为开始用,一个做为结束用。EState Based:太复杂了,还与State-based triggering flow相关,不想看了在store qualifier面板中还有Record data discontinuities和Disable storage qualifier两个选项,顾名思义,就不多写了。(7)设置触发条件触发条件:当我们启动SignalTapII逻辑分析仪时,它会对被监视的信号进行不断的采样,一直到某个条件满足后就停止采样,这个条件就是触发条件。创建基本触发条件:在信号列表Trigger Conditions栏的顶端选择Basic。选中某个信号右键,选择触发条件的样式,如果是总线,还可以选择Insert Value,在弹出的对话框里设置总线值。当每个信号的触发条件都满足后便停止数据的捕捉。创建Advanced触发条件在信号列表Trigger Conditions栏的顶端选择Advanced,Advanced会弹出逻辑编辑器,在这里可以设计一个复杂的触发表达式。(8)触发流程顺序触发:把多个触发条件串联起来,直到所有的触发条件满足才算触发完成,下面是顺序触发对于非分段存储和分段存储的的影响过程设置方法是在触发面板中,trigger flow control选择sequential,trigger condition选择触发条件个数,便会发现左边的信号列表多出几栏trigger condition,每一栏对应一种触发条件,对他们进行分别设置。基于用户状态机的触发:太麻烦了,估计也用不到,不想看了(9)设置触发位置触发位置用于确定触发事件前后的采样数量,触发前和触发后的数据比例有三种情况可供选择:Pre触发前12%,触发后88%Center触发前后各50%Post触发前88%,触发后12%这三种预定义的比例可以应用于非分段式存储,也可以应用于分段式存储。(10)Power up trigger和Runtime TriggerPower up trigger是上电和复位之后进行的触发,Runtime Trigger是正常运行时的触发。没有尝试过,以后再做了解。(11)外部的触发(也放据其次)四、编译整个设计使用SigalTap II推荐使用增量编译,增量编译可以让你保留原先设计的综合和fit的结果,增加SignalTapII不用重编译原先的设计代码。当修改了SignalTapII的配置后也只需要重新编译SignalTapII,以反映配置的变化。当编译结束后会自动添加sld_signaltap 和 sld_hub这两个部分,他们是SignalTapII的主要部件,分别是触发逻辑和JTAG口逻辑。增量编译是工程的默认配置,在setting菜单中配置。与是你可以为工程指定一个设计部分,然而对于SignalTapII没有必要指定设计部分,SignalTapII会把自己当做增量编译的部分。当你选择了Post-fit属性的信号之后就已经使用了增量编译的功能了。(参考一下增量编译的内容)五、减小SignalTapII对时序方面的影响SignalTapII是一个IP,将其应用于工程,或多或少会对时序产生影响,为了尽量减小影响,可以考虑下面几个方法。A使用增量编译,加入SignalTapII不对原来的布局布线产生影响。B不要在stp文件中加入关键路径的信号。CStp中尽量减少组合逻辑信号的数量。D为设计的每一个时钟信号加fmax约束。六、对设备进行编程当配置好SignalTapII并编译过整个工程后,不要再改变SignalTapII的任何设置,否则要重新编译,在SignalTapII最上方的状态管理中可以看到是否需要重新编译,下图是需要重新编译的情况。为了防止改变,设置结束后,在setup面板顶端设置整个设置为lock模式。虽然可以用Quartus的programmer对设备进行编程,但为了保证stp与pof想匹配,还是推荐在SignalTapII中进行编程操作。至于操作的方法就不多说了。七、运行SignalTapII手动运行SignalTapII,被观测的数据不断的被保存到FPGA片内的存储器上,当触发条件满足后停止,然后将数据通过JTAG传送到.stp文件。也可以手动强制触发,这样可以看到当下的采样结果。在SignalTapII的工具栏里有几个选项:Run Analysis:运行SignalTapII,知道触发条件满足停止捕捉,并显示数据。AutoRun Analysis:一直运行SignalTapII,屏蔽所有触发条件,直到Stop Analysis被按下。Stop Analysis:停止运行SignalTapII,但如果触发条件还未满足,不会显示出捕捉的数据。Read Data:显示捕捉的数据,及时触发条件未满足。九、简单的一个实验:先编写一个计数器的程序,使其从0-16计数(1) 设置时钟为计数器时钟输入clk,采样不分段存储,不使用Storage qualifier,设置结果如图1所示:图1采样方式的设置(2)设置计数器的输出out为被采样信号。使用最高位out3作为触发,触发方式为基本触发,选择下降沿触发,设置如图2所示:图2采样信号的设置(2) 设置触发方式为sequential,触发位置为pre trigger position,即被采样的信号大部分在触发到来之后图3触发位置的设置(3) 当所有内容设置完成之后,在setup面板顶端设置整个设置为lock模式,以防止改变了设置后又要重新编译图4 设置为lock模式(4) 编译整个工程(这里没有用增量编译)(5) 设置JTAG连接、检测被配置芯片、设置sof文件,最后点击下载按钮,完成FPGA的配置。图5 FPGA的配置(6) 点击工具栏里的run analysis按钮图6 运行逻辑分析仪(3)查看运行结果图7 运行结果从运行结果可以看出在刻度0的地方刚好是out3的第一个下降沿,说明这里是触发点,由于触发位置选择的是pre trigger position,所以触发点之前有8个采样点,之后有56个采样点,符合1:8的比例,一共是64个采样点,与采样深度相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论