Xilinx Vivado 提供了上板后的FPGA逻辑分析,信号视图显示等功能。

需要注意,上板后查看信号需要重新综合,并且需要耗费一定的片上布局布线资源。

1. 添加debug信号

  可以对模块端口或者wire 变量进行debug信号提取,只要在verilog代码前面添加:(* MARK_DEBUG = "true" *) 即可:例如,

  此时需要跑综合,检查错误并分析语义。并且通过vivado综合,进行下一步。

2. 配置debug信号

  配置debug信号,用于挑选需要进行真正查看的信号名称。在写代码时可以添加很多debug标签,但是debug耗费片上资源,看哪一部分,实现哪一部分。

  点击SYNTHESIS -> Set Up Debug。

  选好需要debug的信号后:

选择信号的缓存深度。由于片上信号速率大,我们不可能实时捕捉并上传,只能首先储存到片上逻辑分析core中,所以我们需要选择core的存储容量,一个深度对应为一个时钟周期,也就是我们存储多少时钟周期的debug信号值,之后会选择debug信号的记录触发条件,当满足何条件之后才开始缓存,帮助我们抓取特定时间窗口内的所有信号的波形图,一般我们先设定深度1024,输入节拍数为2:

  完成:

  之后vivado会修改工程的约束文件,进而我们需要重新再综合一次工程。之后再布局布线,timing保证没错误的前提下,即可生成bit文件并下载入FPGA,最后搭建测试场景并开始运行。

3. 使用JTAG仿真器在线仿真

  首先,打开硬件管理器中的目标器件

 

  有仿真器的可以直接看到待观测信号:

设置触发条件,在待测信号中设置一个触发条件,点击“+”添加触发条件信号到触发窗口中:

  例如我们需要valid信号与ready信号同时为高时,开始捕捉信号波形,那么双击上面列表中的信号即可:

  因为同时为高,所以设置value为1:

  因为同时为高,所以用逻辑与,点击“三角”图标选择与逻辑:

  

  至此设置完成触发条件。接着设置触发次数,我们可以抓取多次满足触发条件前后的波形,在左边setting窗口中选择window数是4次,也就是4次触发,触发点选择在每个窗口的中间,那么触发点设为127即可:

  接下来,在status窗口点击运行按钮,即可开始捕捉波形:

  开始测试真实数据,或者实验,捕捉完成后,捕捉状态会变为100%:

此时我们在波形窗口里即收到了四次,满足条件的捕捉,并注意他们不一定是时间连续的波形的捕捉,中间超过128时钟周期之外的数据也许会丢掉,但是不影响已经捕获的波形是满足捕获触发条件的。

完。

Xilinx FGPA 上板调试 集成逻辑分析工具 Integrated Logic Analyzer(ILA) 简单配置 chipscope的更多相关文章

  1. Spring 集成开发工具(STS)安装及配置

    安装 spring 集成开发工具,下载地址:https://spring.io/tools 下载后,解压,双击 STS ,运行. 如果提示: 去oracle的网站上下载了1.8版本的jdk,下载地址如 ...

  2. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  3. APICloud首款全功能集成开发工具重磅发布,彰显云端一体理念

    近日,APICloud重磅推出首款云端一体的全功能集成开发工具--APICloud Studio 2.为了更深入了解这款开发工具的特性及优势,APICloud CTO 邹达针对几个核心问题做出了解答. ...

  4. 使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld

    关于Xilinx SDSoc的介绍我就不再复述了,我理解的也不一定准确,可以阅读官方文档了解SDSoc,你可以把它理解为一个集成开发环境 (IDE),通过SDSoc我们能够简单快速的对Xilinx的开 ...

  5. 无法在web服务器上启动调试。调试失败,因为没有启用集成windows身份验证

    ----注意:以管理员身份运行VS C#中ASP.NET Web应用程序编译时的错误:无法在web服务器上启动调试.调试失败,因为没有启用集成windows身份验证. 解决:打开IIS,在IIS里查看 ...

  6. iOS-----GitHub上比较齐全的iOS 工具和App

    Github-iOS 工具 和 App   系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错-       BFKit 又一套Ca ...

  7. .NET应用程序调试—原理、工具、方法

    阅读目录: 1.背景介绍 2.基本原理(Windows调试工具箱..NET调试扩展SOS.DLL.SOSEX.DLL) 2.1.Windows调试工具箱 2.2..NET调试扩展包,SOS.DLL.S ...

  8. APMServ—我用过的最优秀的PHP集成环境工具

    原文:APMServ-我用过的最优秀的PHP集成环境工具 经常折腾wordpress和各种cms,免不了要在本地测试一些程序,所以选择一款好的php集成环境就至关重要啦. 1. 我用过的php集成环境 ...

  9. “无法在web服务器上启动调试,不是Debugger User组成员..."

    在使用VS.net2003开发asp.net项目时,有时候在你调试项目时,会提示”无法在web服务器上启动调试,不是Debugger User组成员..."这样一个错误信息.很是让人头疼,一 ...

随机推荐

  1. navicat2059错误的解决

    1.输入mysql -uroot -p登陆mysql 2.登录成功以后使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD ...

  2. Python的诞生和各种解释器

    一:Python的诞生 参考:https://www.jianshu.com/p/1cc1382e5e04   二:Python的各种解释器 参考:https://www.liaoxuefeng.co ...

  3. Java常用关键字的原理及用法

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843135.html 一:transient 用途:Java中一个类在定义时如果实现了Serilizabl ...

  4. elastalert基本配置说明

    elastalert 配置语法: 简单rule规则: es_host,es_port:查询elasticsearch集群 name: 规则的唯一名称.如果相同,则elastalert不会启动. typ ...

  5. 异步HttpClient大量请求

    由于项目中有用到HttpClient异步发送大量http请求,所以做已记录 思路:使用HttpClient连接池,多线程 public class HttpAsyncClient { private ...

  6. Latex 调整断字,连接符,取消断词/断字

    latex使用了处理断字的算法去自动的找断字的地方,而且latex会调整单词间距,使得文章看起来不会显得疏密不一致.大多数情况下,这些算法都工作得很好.但是因为断字的算法是根据某种规则来处理单词的断字 ...

  7. axios get及post方法代码示例&&方法封装

    axios get及post方法代码示例 get方法: show: function(){ //get方式 //赋值给变量self var self = this; var url = "h ...

  8. USACO Superprime Rib

    洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib 洛谷传送门 JDOJ 1673: Superprime Rib JDOJ传送门 题目描述 农民约翰的母牛总是产生最好 ...

  9. mysql命令查询语句&MTdata

    1.单表查询 select * from student; 采用*效率低,不推荐,多用列名 一.单表查询的语法: SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY ...

  10. Layui 模板引擎中的 日期格式化

    原文:https://www.jianshu.com/p/948a474b5ed7 原文:https://blog.csdn.net/DCFANS/article/details/92064112 模 ...