广告

原创 SignalTap Ⅱ嵌入式逻辑分析仪的使用【转】

2009-8-30 10:20 3281 0 分类: FPGA/CPLD

随着FPGA设计任务复杂性的不断提高,FPGA设计调试工作的难度也越来越大,在设计验证中投入的时间和花费也会不断增加。为了让产品更快投入市场,设计者必须尽可能减少设计验证时间,这就需要一套功能强大且容易使用的验证工具。Altera SignalTap Ⅱ逻辑分析仪可以用来对Altera FPGA内部信号状态进行评估,帮助设计者很快发现设计中存在问题的原因。


Quartus Ⅱ软件中的SignalTap Ⅱ逻辑分析仪是非插入式的,可升级,易于操作且对Quartus Ⅱ用户**。SignalTap Ⅱ逻辑分析仪允许设计者在设计中用探针的方式探查内部信号状态,帮助设计者调试FPGA设计。


SignalTap Ⅱ逻辑分析仪支持下面的器件系列:Stratix Ⅱ、Stratix、Stratix GX、Cyclone Ⅱ、Cyclone、APEX Ⅱ、APEX 20KE、APEX 20KC、APEX 20K、Excalibur和Mercury。


10.1 在设计中嵌入SignalTap Ⅱ逻辑分析仪


在设计中嵌入SignalTap Ⅱ逻辑分析仪有两种方法:第一种方法是建立一个SignalTap Ⅱ文件(.stp),然后定义STP文件的详细内容;第二种方法是用MegaWizard Plug-InManager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。图10.1给出用这两种方法建立和使用SignalTap Ⅱ逻辑分析仪的过程。


图片点击可在新窗口打开查看

10.1.1  使用STP文件建立嵌入式逻辑分析仪

1. 创建STP文件


STP文件包括SignalTap Ⅱ逻辑分析仪设置部分和捕获数据的查看、分析部分。创建一个STP文件的步骤如下:


(1)  在Quartus Ⅱ软件中,选择File→New命令。


    (2)  在弹出的New对话框中,选择Other Files标签页,从中选择SignalTap Ⅱ File
如图10.2所示。


图片点击可在新窗口打开查看
(3)  点击OK按钮确定,一个新的SignalTap Ⅱ窗口如图10.3所示。


 

图片点击可在新窗口打开查看
上面的操作也可以通过Tools→SignalTap Ⅱ Logic Analyzer命令完成,这种方法也可以用来打开一个已经存在的STP文件。


2. 设置采集时钟


在使用SignalTap Ⅱ逻辑分析仪进行数据采集之前,首先应该设置采集时钟。采集时钟在上升沿处采集数据。设计者可以使用设计中的任意信号作为采集时钟,但Altera建议最好使用全局时钟,而不要使用门控时钟。使用门控时钟作为采集时钟,有时会得到不能准确反映设计的不期望数据状态。Quartus Ⅱ时序分析结果给出设计的最大采集时钟频率。


设置SignalTap Ⅱ采集时钟的步骤如下:


(1)  在SignalTap Ⅱ逻辑分析仪窗口选择Setup标签页。


(2)  点击Clock栏后面的Browse Node Finder按钮,打开Node Finder对话框。


(3)  在Node Finder对话框中,在Filter列表中选择SignalTap Ⅱ:pre-synthesis。


(4)  在Named框中,输入作为采样时钟的信号名称;或点击List按钮,在Nodes Found列表中选择作为采集时钟的信号。


(5)  点击OK确定。
  
(6) 在SignalTap Ⅱ窗口中,设置作为采样时钟的信号显示在Clock栏中。


用户如果在SignalTap Ⅱ窗口中没有分配采集时钟,Quartus Ⅱ软件会自动建立一个名为auto_stp_external_clk的时钟引脚。在设计中用户必须为这个引脚单独分配一个器件引脚,在用户的印刷电路板(PCB)上必须有一个外部时钟信号驱动该引脚。


3. 在STP文件中分配信号


在STP文件中,可以分配下面两种类型的信号:


(1) Pre—synthesis:该信号在对设计进行Analysis&Elaboration操作以后存在,这些信号表示寄存器传输级(RTL)信号。


在SignalTap Ⅱ中要分配Pre-synthesis信号,应选择Processing→Start Analysis&Elaboration命令。对设计进行修改以后,如果要在物理综合之前快速加入一个新的节点名,使用这项操作特别有用。


(2)  Post-fitting:该信号在对设计进行物理综合优化以及布局、布线操作后存在。


4.分配数据信号


(1)  首先完成设计的Analysis&Elaboration或Analysis&Synthesis,或全编译过程。


(2)  在SignalTap Ⅱ逻辑分析仪窗口,点击Setup标签页。


(3)  在STP窗口的Setup标签页中双击鼠标左键,弹出Node Finder对话框。


    (4)  在Node Finder对话框的Filter列表中选择SignalTap Ⅱ:pre-synthesis或SignalTap
Ⅱ:post-fitting。


(5)  在Named框中输入节点名、部分节点名或通配符,点击List按钮查找节点。


(6)  在Nodes Found列表中选择要加入STP文件中的节点或总线。


(7) 点击“>”按钮将选择的节点或总线拷贝到Selected Nodes列表中。


(8)  点击OK按钮,将选择的节点或总线插入STP文件,如图10.4所示。


 

图片点击可在新窗口打开查看

5.逻辑分析仪触发控制

    逻辑分析仪触发控制包括设置触发类型和触发级数。


    1)  触发类型选择Basic


    如果触发类型选择Basic,在STP文件中必须为每个信号设置触发模式(TriggerPattern)。SignalTap Ⅱ逻辑分析仪中的触发模式包括:Don’t Care(无关项触发),Low(低电平触发),High(高电平触发),Falling Edge(下降沿触发),Rising Edge(上升沿触发)以及EitherEdge(双沿触发)。


    当选定触发级数的所有信号的“逻辑与”结果为TRUE时,SignalTap Ⅱ逻辑分析仪开始捕捉数据,如图10.5所示。


图片点击可在新窗口打开查看
    2)  触发类型选择Advanced


    如果触发类型选择Advanced,则设计者必须为逻辑分析仪建立触发条件表达式。一个逻辑分析仪最关键的特点就是它的触发能力。如果不能很好地为数据捕获建立相应的触发条件,逻辑分析仪就可能无法帮助设计者调试设计。


    在SignalTap Ⅱ逻辑分析仪中,使用如图10.6所示的高级触发条件编辑器(AdvancedTrigger Condition Editor),用户可以在简单的图形界面中建立非常复杂的触发条件。设计者只需要将运算符拖动到触发条件编辑器窗口中,即可建立复杂的触发条件。


图片点击可在新窗口打开查看
      3)  触发级数选择


    SignalTap Ⅱ逻辑分析仪的多级触发特性为设计者提供了更精确的触发条件设置功能。  在多级触发中,Signal]1ap II逻辑分析仪首先对第一级触发模式进行触发;当第一级触发表达式满足条件,测试结果为TRUE时,SignalTap Ⅱ逻辑分析仪对第二级触发表达式进行测试;依次类推,直到所有触发级完成测试,并且最后一级触发条件测试结果为TRUE时,SignalTap Ⅱ逻辑分析仪开始捕获信号状态。


    在图10.3的触发级数选择列表中选择触发级数,SignalTap Ⅱ逻辑分析仪最大可以选择触发级数为10级。


    6.指定采样点数及触发位置


    在触发事件开始之前,用户可以指定要观测数据的采样点数,即数据存储深度,以及触发事件发生前后的采样点数。


    在sTP文件窗口的Data栏中,在Sample depth列表中可以选择逻辑分析仪的采样点数;在Buffer acquisition mode栏中,在circular列表中可以选择超前触发数据和延时触发数据之间的比例,其中:


    ?Pre trigger position:保存触发信号发生之前的信号状态信息(88%触发前数据,12%触发后数据);


    ?Center trigger position:保存触发信号发生前后的数据信息,各占50%;


    ?Post trigger position:保存触发信号发生之后的信号状态信息(12%触发前数据,88%触发后数据);


    ?  Continuous trigger position:连续保存触发采样数据,直到设计者停止采集数据为止。


    触发位置设置允许用户指定SignalTap Ⅱ逻辑分析仪在触发信号发生前后需要捕获的采样点数。采集数据被放置在一个环形数据缓冲区中。在数据采集过程中,新的数据可以替代旧的数据,如图10.7所示。这个环形数据缓冲区的大小等于用户设置的数据存储深度。


图片点击可在新窗口打开查看

7.编译嵌入SignalTap Ⅱ逻辑分析仪的设计

    配置好STP文件以后,在使用SignalTap Ⅱ逻辑分析仪之前必须编译Quartus Ⅱ设计工程。


    首次建立并保存STP文件时,Quartus Ⅱ软件自动将STP文件加入工程中。也可以采用下面的步骤手动添加STP文件:


    (1)  选择Assignments→Settings命令,弹出Settings对话框。


    (2)  在Category列表中选择SignalTap Ⅱ Logic Analyzer。


    (3)  在SignalTap Ⅱ Logic Analyzer页中,使能Enable SignalTap Ⅱ Logic Analyzer选项。


    (4)  在SignalTap Ⅱ File Name栏中输入STP文件名。


    (5)  点击OK按钮确认。


    (6)  选择Processing→Start Compilation命令开始编译。


10.1.2使用MegaWizard Plug-In Manager建立嵌入式逻辑分析仪


    使用MegaWizard Plug-In Manager建立SignalTap Ⅱ逻辑分析仪不需要建立STP文件。MegaWizard Plug-In Manager生成一个可以在设计中实例化的HDL文件。


    1.建立SignalTap Ⅱ逻辑分析仪的HDL描述


    在Quartus Ⅱ软件中,执行SignalTap Ⅱ兆函数(Mega)可以很容易地使用MegaWizard Plug-In Manager建立SignalTap Ⅱ逻辑分析仪。步骤如下:


    (1)  在Quartus Ⅱ软件中选择Tools→MegaWizard Plug-In Manager命令。


    (2)  在弹出的MegaWizard Plug-In Manager对话框中选择Create a new custommega variation项。


    (3)  点击Next按钮。


    (4)  在弹出的对话框中选择SignalTap Ⅱ Logic Analyzer,并选择输出文件类型,输入SignalTap Ⅱ兆函数名,如图10.8所示。


图片点击可在新窗口打开查看


    (5)  点击Next按钮。


    (6)  在弹出的下一个对话框中,指定逻辑分析仪的采样深度(Sample depth)、存储器类型(RAM type)、数据输入端口宽度(Data input port width)、触发输入端口宽度(Trigger inputport width)以及触发级数(Trigger levels),如图10.9所示。


图片点击可在新窗口打开查看

(7)  点击Next按钮。


(8)  通过选择Basic或Advanced设置每一级触发选项,如图10.10所示。


图片点击可在新窗口打开查看
   (9)  点击Finish按钮,完成建立SignalTap Ⅱ逻辑分析仪HDL描述的过程。


    如果在第(8)步中选择了Advanced,将弹出如图10.6所示的高级触发条件编辑器界面。


    2.SignalTap Ⅱ兆函数端口


    表10.1给出了SignalTap口兆函数端口的描述。


图片点击可在新窗口打开查看


    3.在设计文件中实例化SignalTap Ⅱ逻辑分析仪


    在设计中实例化SignalTap Ⅱ逻辑分析仪的过程与实例化其他VHDL或Verilog HDL兆函数相同。在设计中实例化SignalTap Ⅱ文件以后,为了在目标FPGA器件中适配逻辑分析仪,必须编译Quartus Ⅱ工程文件。图10.11所示为SignalTap口逻辑分析仪的实例化结果。


图片点击可在新窗口打开查看
    编译完加入了SignalTap Ⅱ逻辑分析仪实例化模块的设计工程以后,要捕获并观测数据,必须从SignalTap Ⅱ MegaWizard的输出文件建立STP文件。选择File→Create/UpdateMenu→Create SignalTap Ⅱ File from Design Instance(s)命令,输入STP文件名,则根据SignalTap Ⅱ MegaWizard中的设置自动建立并打开STP文件。


10.1.3 SignalTap Ⅱ分析器件编程


    在设计中嵌入SignalTal Ⅱ逻辑分析仪并编译完成以后,打开STP文件,完成嵌入SignalTap Ⅱ逻辑分析仪器件编程的步骤如下:


    (1)  在STP文件中,在JTAG Chain设置部分选择嵌入SignalTap Ⅱ逻辑分析仪的SRAM对象文件(.sot)。


    (2)  点击Scan Chain按钮。


    (3)  在Device列表中选择目标器件。


    (4)  点击Program Device图标进行器件编程,如图10.12所示。


图片点击可在新窗口打开查看


10.1.4查看SignalTap Ⅱ采样数据


    在SiganlTap Ⅱ窗口中,选择Run Analysis或AutoRun Analysis按钮启动SignalTap Ⅱ逻辑分析仪。当触发条件满足时,SignalTap Ⅱ逻辑分析仪开始捕获数据。


    SignalTap Ⅱ工具条上有四个执行逻辑分析仪选项,如图10.13左上角所示,其中:


    ?  Run Analysis:单步执行SignalTap Ⅱ逻辑分析仪。即执行该命令后,SignalTap Ⅱ逻辑分析仪等待触发事件,当触发事件发生时开始采集数据,然后停止。


    ?  AutoRun Analysis:执行该命令后,  SignalTap Ⅱ逻辑分析仪连续捕获数据,直到用户按下Stop Analysis为止。


    ?  Stop Analysis:停止SignalTap Ⅱ分析。如果触发事件还没有发生,则没有接收数据显示出来。


    ?  Read Data:显示捕获的数据。如果触发事件还没有发生,用户可以点击该按钮查看当前捕获的数据。


    SignalTap Ⅱ逻辑分析仪自动将采集数据显示在SignalTap Ⅱ界面的Data标签页中,如图10.13所示。


图片点击可在新窗口打开查看
10.2  在SOPC Builder中使用SignalTap Ⅱ逻辑分析仪


SignalTap Ⅱ是在片上系统设计(SOPC)中捕捉和显示实时信号的系统级调试工具。在SOPC Builder生成的系统中使用SignalTap Ⅱ嵌入式逻辑分析仪(ElA),设计者可以观测在软件执行过程中硬件(如外设寄存器、存储器总线以及其他片上组件)响应的状态。


本节主要介绍使用SignalTap Ⅱ嵌入式逻辑分析仪检测由SOPC Builder生成的系统模块内部信号。图10.14给出了一个SOPC Builder系统模块的例子,这个系统包含了一个Nios处理器、一个DMA控制器、一个片上存储器和一个外部SDRAM存储器接口等。在该例中,Nios处理器执行一个简单的C程序等待一个按键动作的发生。一个按键被按下后,处理器初始化一个DMA传输,这时我们可以使用SignalTap Ⅱ逻辑分析仪进行分析。


图片点击可在新窗口打开查看
本节将演示用SignalTap Ⅱ嵌入式逻辑分析仪测试图10.14中所标识的三种不同类型信号的方法,这三种信号分别是:


(1)  连接外部SDRAM存储器的外部I/O接口信号。


(2)  系统模块内部的外设控制寄存器信号,如本例中的DMA外设。


    (3)  Avalon开关结构逻辑(Avalon Switch Fabric Logic)与系统模块内部设备(如本例的片上存储器)之间的Avalon接口信号。


通过观察这些信号,可以检查DMA外部设备从外部SDRAM到片上存储器传输数据的情况。将软件使能DMA传输信号作为触发条件,即DMA外设控制寄存器的第三位为高电平(逻辑1)时。


为了更好地完成本节的学习,需要以下的系统配置:


?  Quartus Ⅱ软件3.0以上版本;


?  Nios开发工具3.1以上版本或Nios Ⅱ IDE开发工具,或Nios处理器的一个OpenCore Plus评估版授权;


?  Nios开发板,Cyclone或Stratix;


?  ByteBlaster Ⅱ或ByteBlasterMV下载电缆。


本节的设计实例在安装Nios开发工具时会自动安装在tutorials目录中,也可直接从网站http://www.altera.com/literature/lit-nio.html下载Using SignalTap Ⅱ Embedded LogicAnalyzers in SOPC Builder Systems设计文件。该例中包含一个锁相环(PLL)模块、一个级数延时模块和一个SOPC系统设计模块,如图10.15所示,其中SOPC系统设计模块包含图10.14中的各个功能模块。


点击看大图

下面的步骤将在Quartus Ⅱ软件中打开设计实例或新建一个Quartus Ⅱ工程,产生SOPC Builder系统模块,并在系统中创建一个分析信号的SignalTap Ⅱ嵌入式逻辑分析仪。

1.打开并产生SOPC Builder系统


(1)  在Quartus Ⅱ软件中打开设计实例工程文件SignalTap.bdf。


(2)  在工程导航栏中双击顶层文件名,打开顶层设计文件,如图10.15所示。


(3)  选择Tools→SOPC Builder命令,QuartusⅡ自动在SOPC Builder中打开系统模型,其中包括用户接口,如图10.16所示


(4)  在SOPC Builder界面的System Contents页面中,从Target Device Family列表中选择与Nios开发板匹配的目标器件系列。


(5)  在System Generation标签页中,点击Generate按钮产生系统逻辑。


(6)  SOPC系统模块产生完成以后,点击Exit退出SOPC Builder界面,返回Quartus Ⅱ软件界面。


(7)  如果Quartus Ⅱ弹出对话框,问是否要更新SOPC系统符号,选择Yes。


    (8)  完成下面的步骤,执行Tcl脚本文件,完成Nios开发板上目标器件的引脚分配:


?  选择View→Utility Windows→Tcl Console命令,打开Tcl控制台窗门。
 
 
?  根据Nios开发板上的器件类型,在Tcl控制台输入并执行下面的Tcl脚本:
         
source device_assignments_lslO.tcl(回车)


或            source device_assignments_lc20.tcl(回车)


(9)  选择Processing→Start→Start Analysis&Synthesis编译设计。


图片点击可在新窗口打开查看
2.创建一个新的SignalTap Ⅱ文件并加入监测信号


(1)  选择File→New…命令。


(2)  在弹出的New对话框中,选择Other Files标签页,从中选择SignalTap Ⅱ File,如图10.2所示。


(3)  点击OK按钮,建立一个新的SignalTap Ⅱ界面。


(4)  在界面的Signal设置中为嵌入式逻辑分析仪选择PLD_CLOCKINPUT输入信号作为同步时钟,如图10.17所示。


(5)  在Data栏中,从Sample深度列表中选择采样点数为256,如图l0.17所示。


图片点击可在新窗口打开查看


(6)  在SignalTap Ⅱ界面下,用鼠标左键在Setup空白区内双击,打开Node Finder对话框。在Node Finder对话框内,Filter栏中将显示SignalTap Ⅱ:pre-synthesis,如图10.18所示。
 

图片点击可在新窗口打开查看


下面的步骤主要介绍如何在Node Finder对话框中查找要监测的信号,并将它们加入到SignalTap Ⅱ逻辑分析仪中。


(7)  在图10.18所示的Node Finder对话框中,在Named栏内输入“SDRAM*”。


(8)  点击右边的List按钮开始查找SDRAM节点,在Nodes Found中将列出所有找到的SDRAM节点名。


(9)  在Nodes Found列表中,选择下面的SDRAM I/O引脚并拷贝到右边的SelectedNodes栏中,其结果如图10.19所示:SDRAM_A总线、SDRAM_BA总线、SDRAM_CAS_N信号、SDRAM_CKE信号、SDRAM_CS_N信号、SDRAM_DQ总线、SDRAM_DQM总线、SDRAM_RAS_N信号和SDRAM_WE_N信号。


图片点击可在新窗口打开查看


    (10)  在图10.18所示的Node Finder对话框中,点击Look栏后面的浏览按钮,弹出SelectHierarchy Level对话框,如图10.20所示,从中选择SOPC_system:inst层下面的DMA:the_DMA单元,点击OK按钮确定,返回Node Finder对话框。


图片点击可在新窗口打开查看


在Node Finder对话框中的Look栏中显示出所选的查找范围,点击List按钮,选择下面列出的DMA外设内部寄存器并拷贝到Selected Nodes栏中,其结果如图10.2l所示:控制寄存器(*DMAIcontr01)、完成位(*DMAIdone)、读地址总线(*DMAIread_address)和写地址总线(*DMAlwrite_address)。


 

图片点击可在新窗口打开查看


    (11)  在Select Hierarchy Level对话框(如图10.20所示)中选择SOPC_system:inst层下面的onchip_memory:the_onchip_memory单元,点击OK按钮确定,返回Node Finder对话框。点击Node Finder对话框中的List按钮,选择下面列出的片上存储器信号,其结果如图lO.22所示:片上存储器写数据总线(*onchip_memorylwritedata)、片上存储器地址总线、(*onchip_memoryladdress)和写信号(*onchip_memorylwrite)。


 

图片点击可在新窗口打开查看


(12)  指明了上面所有要监测的节点以后,点击Node Finder对话框上的OK按钮确定,返回到SignalTap Ⅱ窗口,所有选择的信号都在Setup区域中列出,如图10.23所示。


 

图片点击可在新窗口打开查看


    (13)  设置SignalTap Ⅱ嵌入式逻辑分析仪的触发条件。


?  在Setup区域中,点击SOPC_system:instlDMA:the_DMAIcontrol寄存器总线前面的加号“+”号将其展开。


?  在*DMA:the_DMAIcontrol[3]行的Trigger Levels列点击鼠标右键,从弹出的右键菜单中选择High,如图10.23所示。


(14)  保存SignalTap Ⅱ文件。


    (15)  当弹出对话框询问是否在当前工程中使能SignalTap Ⅱ嵌入式逻辑分析仪时,点击YeS确定。


3.在Quartus Ⅱ软件中重新编译设计


定义了嵌入式逻辑分析仪的所有属性以后,必须在Quartus Ⅱ软件中重新编译并适配包含ELA逻辑的设计工程文件。


(1)  选择Processing→Start Compilation命令开始编译并适配设计,编译完成以后返回到SignalTap Ⅱ界面。


    (2)  安装Nios开发板。


?  通过ByteBlaster Ⅱ JTAG下载电缆连接Nios开发板;


?  连接Nios开发板电源。


    (3)  根据下面的步骤设置Quartus Ⅱ软件使用ByteBlaster Ⅱ下载电缆:


    ?  在SignalTap Ⅱ窗口的JTAG Chain Configuration区点击Setup…按钮;


    ?  当弹出Hardware Setup对话框时,从Available hardware items栏中选择ByteBlasterⅡ或ByteBlasterMV;


    ?  点击Select Hardware按钮确定。


当选定编程硬件以后,Quartus Ⅱ软件将自动扫描JTAG链,并更新SignalTap Ⅱ窗口中的Device区,如图10.24所示。


图片点击可在新窗口打开查看


(4)  在JTAG Chain设置区中点击File栏后面的浏览按钮,选择编程文件SignalTap.sof,如图10.24所示。


4.启动ELA,采集数据,分析波形


包含SignalTap Ⅱ嵌入式逻辑分析仪(ELA)的硬件设计已经编译完成,并且SignalTap Ⅱ窗口通过ByteBlaster Ⅱ下载电缆与目标板连接成功下面即可将SOF下载文件编程到FPGA器件,启动ELA并实时采集监测信号数据。


(1)  点击图10.24中的编程器件图标,当SOF文件下载完成时,SignalTap Ⅱ窗口中的Instance区域将显示Ready to acquire,如图10.25所示。 

图片点击可在新窗口打开查看


    (2)  点击Run Analysis按钮启动ELA,Instance区将显示Acquisiton in progress,如图10.26所示。此时ELA已经被启动并等待触发事件的发生。
 

图片点击可在新窗口打开查看


    (3)  按下Nios开发板上的SW0按键,触发Nios处理器上的软件开始DMA传输,同时触发ELA开始采集数据。


当DMA传输开始时,SignalTap Ⅱ ELA将捕获数据并在SignalTap Ⅱ窗口的Data标签页中显示更新波形,如图10.27所示。


图片点击可在新窗口打开查看


    (4)  在Data标签页的波形显示区域中,点击鼠标左键放大波形,点击鼠标右键压缩波形显示。


我们可以放大波形,仔细观察从SDRAM读数据写入片上存储器时序。如图10.28所示,从SDRAM_DQ端口读出的数据在片上存储器写信号write为高电平期间出现在片上存储器写数据writedata端口。


图片点击可在新窗口打开查看


10.3在DSP Builder中使用SignalTap Ⅱ逻辑分析仪


本节将介绍如何在DSP Builder系统设计中建立并执行SignalTap Ⅱ嵌入式逻辑分析仪。同样,本节也通过一个设计实例说明如何使用SignalTap Ⅱ ELA分析DSP Builder设计的内部信号。该设计实例模型文件在安装DSP Builder软件时被安装在如图10.29所示的目录中,设计文件名为switch_contro1.mdl,是一个简单的开关控制器。该设计实例可以在Altera提供的DSP开发板上验证通过,如Stratix EPlS25 DSP开发板、APEX DSP开发板(初级版)和APEX DSP开发板(专业级版)。


图片点击可在新窗口打开查看


注意:DSP Builder仅支持对应Altera DSP开发板的SignalTap Ⅱ嵌入式逻辑分析仪应用。


  1.打开设计实例
  在Matlab软件的Simulink环境下,打开一个设计实例,例如图10.29中所示的初级版(starter)目录下original_design子目录中的switch_contro1.mdl文件,如图10.30所示。


图片点击可在新窗口打开查看



该设计实例完成由用户开关和8位加计数器控制DSt开发板上一个LED的亮和灭的功能。设计中包括一个8位加计数器模块和一个比较器模块、四个用户开关、两个与门和一个三输入或门。比较器和与门输出作为或门输入,或门的输出连接DSP开发板上的一个LED。本节学习使用SignalTap Ⅱ嵌入式逻辑分析仪捕获两个与门的输出信号以及DSP开发板上引入Altera器件的加计数器信号。逻辑分析仪在Matlab软件中显示捕获的信号波形。


  2.指定分析结点


    为了使用SignalTap Ⅱ逻辑分析仪分析信号,必须在信号上加入SignalTap Ⅱ Node模块。依据下面的步骤,在图10.30的设计中,分别在与门输出和加计数器输出线上加入Node模块:


(1)  在Simulink Library Browser界面中选择Altera DSP Builder下面的AltLab库。


(2)  拖动Node模块到目标信号线上,simulink软件会自动连接Node模块。


(3)  修改Node模块下面的模块名,图10.3l所示为连接结果。


图片点击可在新窗口打开查看


    (4)  设置Node模块参数,指定监测信号的最高位(MSB)和最低位(LsB)。如加计数器Node模块参数设置为最高位是7,最低位是5,如图10.32所示。
 

图片点击可在新窗口打开查看


(5)  保存设计文件。


3.在SignalCompiler模块中打开SignalTap Ⅱ选项


当在信号线上加入SignalTap Ⅱ Node模块时,Node模块被连接到SignalTap Ⅱ嵌入式逻辑分析仪的输入上,从而也改变了整个设计。因此,在使用SignalTap Ⅱ嵌入式逻辑分析仪之前,必须重新编译设计。


(1)  双击Signal Compiler模块。


(2)  在Signal Compiler对话框中选择DSP开发板。


(3)  选择SignalTap Ⅱ标签页,如图10.33所示。


(4)  打开Insert SignalTap Ⅱ Logic Analyzer选项,如图10.33所示。当打开该选项,生成VHDL文件时,Signal Compiler自动在设计中插入一个SignalTap Ⅱ嵌入式逻辑分析仪实例(Instance)。


(5)  在Depth列表中选择SignalTap Ⅱ嵌入式逻辑分析仪采样缓冲区深度,默认为128点,如图10.33所示。


图片点击可在新窗口打开查看


(6)  使用Signal Compiler生成VHDL文件,选择综合工具进行综合,在Quartus Ⅱ中完成编译,最后将设计下载到DSP开发板。


(7)  点击OK按钮,退出Signal Compiler对话框。


4.设置SignalTap Ⅱ逻辑分析仪触发条件


在SignalTap Ⅱ Analysis模块中指定触发条件,如图10.34所示。


(1)  双击SignalTap Ⅱ Analysis模块,弹出SignalTap Ⅱ Analysis v2.1.0对话框,其中显示所有连接Node模块的待监测信号。


    (2)  单个信号可以指定的触发条件有:无条件(don’t care)触发、双边(either edge)触发、下降沿(falling edge)触发、高电平(high)触发、低电平(1ow)触发以及上升沿(rising edge)触发。


在Signal Name框中选择一个信号,在右下脚的触发条件选择列表中选择该信号的触发条件,点击Change按钮完成设置。


图片点击可在新窗口打开查看


(3)  在总线信号上点击鼠标右键,选择总线信号显示格式,包括二进制、有符号十进制和无符号十进制。


5.完成SignalTap Ⅱ分析


启动分析仪,SignalTlap Ⅱ嵌入式逻辑分析仪开始分析数据并等待触发事件的发生。当触发条件满足时,分析仪在Matlab绘图中显示监测信号波形。


(1)  点击图10.34中的Start Analysis按钮,启动分析仪。


(2)  按下DSF开发板上的SWO按键触发SignalTap Ⅱ嵌入式逻辑分析仪。


    (3)  完成后点击图10.34中的OK按钮关闭Signallap Ⅱ Analyzer对话框。捕获数据波形在两个Matlab绘图中显示出来,一个以二进制格式显示,如图10.35所示;另一个以设计者指定的格式显示,如图10.36所示。


注意:DSP Builder仅支持使用ByteBlasterMV下载电缆的SignalTap Ⅱ嵌入式逻辑分析仪。

图片点击可在新窗口打开查看
广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
wangqiaoyu_888_963244381 2015-08-28 11:42
【创客】先专注而后全面
      学生时代学的是FPGA相关课程,参与的也是与FPGA相关的项目,毕业后进入一家公司分配的是不相称的职位,正好熟人介绍到新公司做嵌入式电路设计,也算是和原来的学习所得有交叉。    ...
wangqiaoyu_888_963244381 2015-08-27 16:43
【创客】我的DIY之路
1 题记           路漫漫之修远兮,吾将上下而求索!---- 从大学时就喜欢电子电路设计,只可惜开始没有遇到高明之士,也怪自己不够狠心,导致浪费了很多宝贵的时光。 当初对于软件编程更是满怀...
wangqiaoyu_888_963244381 2015-02-28 14:07
【博客大赛】什么是NEMA?
在项目使用的一个蜂鸣器手册中看到了NEMA 3R/4x/12资质,就查找相关资料探个究竟。以下是搜集的NEMA部分资料。 NEMA全称是National Electrical Manufacture...
wangqiaoyu_888_963244381 2013-11-25 20:11
【博客大赛】pspice介绍
PSpice软件的发展: Berkley:    SPICE  (Simulation Program with Integrated  Circuit          Emphasis) ...
wangqiaoyu_888_963244381 2013-11-20 22:40
【博客大赛】chs使用略谈
       这两天正在用chs的captial logic来绘制系统电气原理图,感觉功能很强大,在此稍微做个介绍。      Capital Logic是电气系统的逻辑设计工具,它提供一...
wangqiaoyu_888_963244381 2013-11-17 20:37
【博客大赛】CRC16 verilog产生程序
        生成CRC码的基本原理:       任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为...
我要评论
0
0
广告
关闭 热点推荐上一条 /1 下一条