收藏 分享(赏)

signaltap使用指南.pdf

上传人:精品资料 文档编号:10397759 上传时间:2019-11-07 格式:PDF 页数:24 大小:1.10MB
下载 相关 举报
signaltap使用指南.pdf_第1页
第1页 / 共24页
signaltap使用指南.pdf_第2页
第2页 / 共24页
signaltap使用指南.pdf_第3页
第3页 / 共24页
signaltap使用指南.pdf_第4页
第4页 / 共24页
signaltap使用指南.pdf_第5页
第5页 / 共24页
点击查看更多>>
资源描述

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

2、。 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 文件,然后用 MegaWiza

3、rd 实例化一个 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

4、所示。 上面的操作也可以通过 Tools SignalTap Logic Analyzer 命令完成,这种方法也可以用来打开一个已经存在的 STP 文件。 2 设置采集时钟 在使用 SignalTap 逻辑分析仪 进行数据采集之前,首先应该设置采集时钟。采集时钟在上升沿处采集数据。设计者可以使用设计中的任意信号作为采集时钟,但 Altera 建议最好使用全局时钟,而不要使用门控时钟。使用门控时钟作为采集时钟,有时会得到不能准确反映设计的不期望数据状态。 Quartus 时序分析结果给出设计的最大采集时钟频率。 设置 SignalTap 采集时钟的步骤如下: (1) 在 SignalTap 逻辑

5、分析仪窗口选择 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 窗口中没有分配采集时

6、钟, Quartus 软件会自动建立一个名为auto_stp_external_clk 的时钟引脚。在设计中用户必须为这个引脚单独分配一个器件引脚,在用户的印刷电路板 (PCB)上必须有一个外部时钟信号驱动该引脚。 3 在 STP 文件中分配信号 在 STP 文件中,可以分配下面两种类型的信号: (1) Presynthesis:该信号在对设计进行 Analysis&Elaboration 操作以后存在,这些信号表示寄存器传输级 (RTL)信号。 在 SignalTap 中要分配 Pre-synthesis 信号,应选择 Processing Start Analysis&Elaboratio

7、n 命令。对设计进行修改以后,如果要在物理综合之前快速加入一个新的节点名,使用这项操作特别有用。 (2) Post-fitting:该信号在对设计进行物理综合优化以及布局、布线操作后存在。 4分配数据信号 (1) 首先完成设计的 Analysis&Elaboration 或 Analysis&Synthesis,或全编译过程。 (2) 在 SignalTap 逻辑分析仪窗口,点击 Setup 标签页。 (3) 在 STP 窗口的 Setup 标签页中双击鼠标左键,弹出 Node Finder 对话框。 (4) 在 Node Finder 对话框的 Filter 列表中选择 SignalTap

8、: 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 文件中必须为每个信

9、号设置触发模式 (TriggerPattern)。SignalTap 逻辑分析仪中的触发模式包括: Dont Care(无关项触发 ), Low(低电 平触发 ),High(高电平触发 ), Falling Edge(下降沿触发 ), Rising Edge(上升沿触发 )以及EitherEdge(双沿触发 )。 当选定触发级数的所有信号的 “逻辑与 ”结果为 TRUE 时, SignalTap 逻辑分析仪开始捕捉数据,如图 10.5 所示。 2) 触发类型选择 Advanced 如果触发类型选择 Advanced,则设计者必须为逻辑分析仪建立触发条件表达式。一个逻辑分析仪最关键的特点就是它的

10、触发能力。如果不能很好地为数据捕获建立相应的触发条件,逻辑分析仪就可能无法帮助设计者调试设计。 在 SignalTap 逻辑分析仪中,使用如图 10.6 所示的高级触发条件编辑器(AdvancedTrigger Condition Editor),用户可以在简单的图形界面中建立非常复杂的触发条件。设计者只需要将运算符拖动到触发条件编辑器窗口中,即可建立复杂的触发条件。 3) 触发级数选择 SignalTap 逻辑分析仪的多级触发特性为设计者提供了更精确的触发条件设置功能。 在多级触发中, Signal1ap II 逻辑分析仪首先对第一级触发模式进行触发;当第一级触发表达式满足条件,测试结果为

11、TRUE 时, SignalTap 逻辑分析仪对第二级触发表 达式进行测试;依次类推,直到所有触发级完成测试,并且最后一级触发条件测试结果为 TRUE 时, SignalTap 逻辑分析仪开始捕获信号状态。 在图 10.3 的触发级数选择列表中选择触发级数, SignalTap 逻辑分析仪最大可以选择触发级数为 10 级。 6指定采样点数及触发位置 在触发事件开始之前,用户可以指定要观测数据的采样点数,即数据存储深度,以及触发事件发生前后的采样点数。 在 sTP 文件窗口的 Data 栏中,在 Sample depth 列表中可以选择逻辑分析仪的采样点数;在 Buffer acquisitio

12、n mode 栏中,在 circular 列表中可以选择超前触发数据和延时触发数据之间的比例,其中: ?Pre trigger position:保存触发信号发生之前的信号状态信息 (88触发前数据, 12触发后数据 ); ?Center trigger position:保存触发信号发生前后的数据信息,各占 50; ?Post trigger position:保存触发信号发生之后的信号状态信息 (12触发前数据, 88触发后数据 ); ? Continuous trigger position:连续保存触发采样数据,直到设计者停止采集数据为止。 触发位置设置允许用户指定 SignalTap

13、 逻辑分析仪在触发信号发生前后需要捕获的采样点数。采集数据被放置在一个环形数据缓冲区中。在数据采集过程中,新的数据可以替代旧的数据,如图 10.7 所示。这个环形数据缓冲区的大小等于用户设置的数据存储深度。 7编译嵌入 SignalTap 逻辑分析仪的设计 配置好 STP 文件以后,在使用 SignalTap 逻辑分析仪之前必须编译 Quartus 设计工程。 首次建立并保存 STP 文件时, Quartus 软件自动将 STP 文件加入工程中。也可以采用下面的步骤手动添加 STP 文件: (1) 选择 Assignments Settings 命令,弹出 Settings 对话框。 (2)

14、在 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 建立 Sig

15、nalTap 逻辑分析仪不需要建立 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 对话框中选

16、择 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)

17、,如图 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 或 Verilo

18、g HDL 兆函数相同。在设计中实例化 SignalTap 文件以后,为了在目标 FPGA 器件中适配逻辑分析仪,必须编译 Quartus 工程文件。图 10.11 所示为 SignalTap 口逻辑分析仪的实例化结果。 编译完加入了 SignalTap 逻辑分析仪实例化模块的设计工程以后,要捕获并观测数据,必须从 SignalTap MegaWizard 的输出文件建立 STP 文件。选择 File CreateUpdateMenu Create SignalTap File from Design Instance(s)命令,输入 STP 文件名,则根据 SignalTap MegaWiz

19、ard 中的设置自动建立并打开 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 采样

20、数据 在 SiganlTap 窗口中,选择 Run Analysis 或 AutoRun Analysis 按钮启动 SignalTap 逻辑分析仪。当触发条件满足时, SignalTap 逻辑分析仪开始捕获数据。 SignalTap 工具条上有四个执行逻辑分析仪选项,如 图 10.13 左上角所示,其中: ? Run Analysis:单步执行 SignalTap 逻辑分析仪。即执行该命令后, SignalTap 逻辑分析仪等待触发事件,当触发事件发生时开始采集数据,然后停止。 ? AutoRun Analysis:执行该命令后, SignalTap 逻辑分析仪连续捕获数据,直到用户按下 S

21、top Analysis 为止。 ? Stop Analysis:停止 SignalTap 分析。如果触发事件还没有发生,则没有接收数据显示出来。 ? Read Data:显示捕获的数据。如果触发事件还没有发生,用户可以点击该按钮查看当前捕获的数据。 SignalTap 逻辑分析仪自动将采集数据显示在 SignalTap 界面的 Data 标签页中,如图 10.13 所示。 10.2 在 SOPC Builder 中使用 SignalTap 逻辑分析仪 SignalTap 是在片上系统设计 (SOPC)中捕捉和显示实时信号的系统级调试工具。在 SOPC Builder 生成的系统中使用 Sig

22、nalTap 嵌入式逻辑分析仪 (ElA),设计者可以观测在软件执行过程中硬件 (如外设寄存器、存储器总线以及其他片上组件 )响应的状态。 本节主要介绍使用 SignalTap 嵌入式逻辑分析仪检测由 SOPC Builder 生成的系统模块内部信号。图 10.14 给出了一个 SOPC Builder 系统模块的例子,这个系统包含了一个 Nios 处理器、一个 DMA 控制器、一个片上存储器和一 个外部 SDRAM 存储器接口等。在该例中, Nios处理器执行一个简单的 C 程序等待一个按键动作的发生。一个按键被按下后,处理器初始化一个 DMA 传输,这时我们可以使用 SignalTap 逻

23、辑分析仪进行分析。 本节将演示用 SignalTap 嵌入式逻辑分析仪测试图 10.14 中所标识的三种不同类型信号的方法,这三 种信号分别是: (1) 连接外部 SDRAM 存储器的外部 I O 接口信号。 (2) 系统模块内部的外设控制寄存器信号,如本例中的 DMA 外设。 (3) Avalon 开关结构逻辑 (Avalon Switch Fabric Logic)与系统模块内部设备 (如本例的片上存储器 )之间的 Avalon 接口信号。 通过观察这些信号,可以检查 DMA 外部设备从外部 SDRAM 到片上存储器传输数据的情况。将软件使能 DMA 传输信号作为触发条件,即 DMA 外设

24、控制寄存器的第三位为高电平 (逻辑 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.h

25、tml 下载 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

26、 软件中打开设计实例工程文件 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

27、) 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(回车 ) 或 so

28、urce 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 输入信号作为同步时钟,如

29、图 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

30、 栏内输入 “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 所

31、示的 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)、读地址总线

32、 (*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)、片上存储器地址总线、 (*o

33、nchip_memoryladdress)和写信号 (*onchip_memorylwrite)。 (12) 指明了上面所有要监测的节点以后,点击 Node Finder 对话框上的 OK 按钮确定,返回到 SignalTap 窗口,所有选择的信号都在 Setup 区域中列出,如图 10.23 所示。 (13) 设置 SignalTap 嵌入式逻辑分析仪的触发条件。 ? 在 Setup 区域中,点击 SOPC_system: instlDMA: the_DMAIcontrol 寄存器总线前面的加号 “+”号将其展开。 ? 在 *DMA:the_DMAIcontrol3行的 Trigger Le

34、vels 列点击鼠标右键,从弹出的右键菜单中选择 High,如图 10.23 所示。 (14) 保存 SignalTap 文件。 (15) 当弹出对话框询问是否在当前工程中使能 SignalTap 嵌入式逻辑分析仪时,点击YeS 确定。 3在 Quartus 软件中重新编译设计 定义了嵌入式逻辑分析仪的所有属性以后,必须在 Quartus 软件中重新编译并适配包含 ELA逻辑的设计工程文件。 (1) 选择 Processing Start Compilation 命令开始编译并适配设计,编译完成以后返回到SignalTap 界面。 (2) 安装 Nios 开发板。 ? 通过 ByteBlast

35、er JTAG 下载电缆连接 Nios 开发板; ? 连接 Nios 开发板电源。 (3) 根据下面的步骤设置 Quartus 软件使用 ByteBlaster 下载电缆: ? 在 SignalTap 窗口的 JTAG Chain Configuration 区点击 Setup按钮; ? 当弹出 Hardware Setup 对话框时,从 Available hardware items 栏中选择ByteBlaster 或 ByteBlasterMV; ? 点击 Select Hardware 按钮确定。 当选定编程硬件以后, Quartus 软件将自动扫描 JTAG 链,并 更新 Signa

36、lTap 窗口中的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 窗口中

37、的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) 在

38、Data 标签页的波形显示区域中,点击鼠标左键放大波形,点击鼠标右键压缩波形显示。 我们可以放大波形,仔细观察从 SDRAM 读数据写入片上存储器时序。如图 10.28 所示,从SDRAM_DQ 端口读出的数据在片上存储器写信号 write 为高电平期间出现在片上存储器写数据 writedata 端口。 10.3 在 DSP Builder 中使用 SignalTap 逻辑分析仪 本节将介绍如何在 DSP Builder 系统设计中建立并执行 SignalTap 嵌入式逻辑分析仪。同样,本节也通过一个设计实例说明如何使用 SignalTap ELA 分析 DSP Builder 设计的内部信号

39、。该设计实例模型文件在安装 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

40、 中所示的初级版(starter)目录下 original_design 子目录中的 switch_contro1.mdl 文件,如图 10.30 所示。 该设计实例完成由用户开关和 8 位加计数器控制 DSt 开发板上一个 LED 的亮和灭的功能。设计中包括一个 8 位加计数器模块和一个比较器模块、四个用户开关、两个与门和一个三输入或门。比较器和与门输出作为或门输入,或门的输出连接 DSP 开发板上的一个 LED。本节学习使 用SignalTap 嵌入式逻辑分析仪捕获两个与门的输出信号以及 DSP 开发板上引入 Altera 器件的加计数器信号。逻辑分析仪在 Matlab 软件中显示捕获的信

41、号波形。 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 模块参数,指定监测信号的最高位 (

42、MSB)和最低位 (LsB)。如加计数器 Node模块参数设置为最高位是 7,最低 位是 5,如图 10.32 所示。 (5) 保存设计文件。 3在 SignalCompiler 模块中打开 SignalTap 选项 当在信号线上加入 SignalTap Node 模块时, Node 模块被连接到 SignalTap 嵌入式逻辑分析仪的输入上,从而也改变了整个设计。因此,在使用 SignalTap 嵌入式逻辑分析仪之前,必须重新编译设计。 (1) 双击 Signal Compiler 模块。 (2) 在 Signal Compiler 对话框中选择 DSP 开发板。 (3) 选择 Signal

43、Tap 标签页,如图 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 开发板。

44、 (7) 点击 OK 按钮,退出 Signal Compiler 对话框。 4设置 SignalTap 逻辑分析仪触发条件 在 SignalTap Analysis 模块中指定触发条件,如图 10.34 所示。 (1) 双击 SignalTap Analysis 模块,弹出 SignalTap Analysis v2.1.0 对话框,其中显示所有连接 Node 模块的待监测信号。 (2) 单个信号可以指定的触发条件有:无条件 (dont care)触发、双边 (either edge)触发、下降沿 (falling edge)触发、高电平 (high)触发、低电平 (1ow)触发以及上升沿 (

45、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 嵌入式逻辑分析仪。 Trackback: http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报