Verilog——Chipscope简单实用的使用方法(基于ISE14.7 )
Verilog——Chipscope简单实用的使用方法(基于ISE14.7 )
FPGA程序设计也避免不了需要进行在线调试工作,XILINX的ISE提供了Chipscope工具进行在线调试。
但之前查阅了很多Chipscope的调试方法,总是觉得这些方法很多都复杂冗长。最近寻找到一种较为简单的Chipscope的在线调试方法。
Chipscope在线调试的两个步骤:
- 生成Chipscope文件(生成的文件可以保存起来,以后重复利用)
- 项目中Chipscope在线调试
1. 生成Chipscope文件
本步骤生成的四个文件可以保存起来,在以后其他项目中直接拷贝过去,并将这四个文件添加到项目中。
最后生成的四个文件分别是:
- chipscope_ila.v
- chipscope_ila.ngc
- chipscope_icon.v
- chipscope_icon.ngc
2.项目中Chipscope在线调试
1) 代码修改
将上一步骤中最后生成的四个文件加入到要调试的项目中,然后根据程序中出现的问题推断大概是哪个module的哪些信号(以rd_req和rd_cmd信号为例)出现问题,然后在有问题的module中加入调试代码:
//DEBUG
//---------------------------------------------------------------------
wire [ 35:0] CONTROL0 ;
wire [255:0] TRIG0 ;
chipscope_icon icon_debug(.CONTROL0 (CONTROL0) //INOUT BUS[35:0]
);
chipscope_ila ila_filter_debug(.CONTROL (CONTROL0 ),.CLK (clk50M ),.TRIG0 (TRIG0 )
);
//以上代码直接复制粘贴//=====================================================================
//以下代码请根据自己的程序进行修改
//---------------------------------------------------------------------
assign TRIG0[0] = rd_req ;//待观测信号
assign TRIG0[4:1] = rd_cmd ;//待观测信号
完成代码修改后重新编译工程,并连接仿真器下载程序。
2)启动Chipscope
点击Xilinx Designer Tools -> Analyzer启动Chipscope
启动后点击下面的按钮与电路板连接
弹出下面的对话框单击ok
进入到Chipscope主界面。Chipscope的主界面主要包括工程窗口、信号窗口、触发条件设置串口、波形窗口。
在主界面首先对波形窗口waveform的信号进行设置。主要是对DataPort各个信号进行组合和命名,使debug代码中输出的信号和观测数据接口对应起来。右键单击信号选择Rename即可重命名:
选择多个信号后右键单击选择Move to Bus -> New Bus即可将选择的多个信号组合起来。
然后对Trigger Setup触发条件设置窗口内的信号进行触发条件设置。找到Trigger Setup串口下面Match窗口里面的触发信号,对触发条件Value进行设置,触发条件包括:
符号 | 触发条件 |
---|---|
X | 不定值(默认) |
0 | 逻辑0 |
1 | 逻辑1 |
R | 上升沿 |
F | 下降沿 |
N | 非沿 |
- 完成触发条件设置后点击“▶”开始调试,当遇到设置的触发条件时Waveform窗口会展现捕捉到的波形,这样就可以开始观察波形寻找bug了。如果不对触发条件进行修改,即全部都是X,波形窗口会展现波形,但可能不是想要的。
Verilog——Chipscope简单实用的使用方法(基于ISE14.7 )相关推荐
- 简易mysql数据库调优_MySQL数据库简单实用的优化方法
1.定期分析表和检查表 分析表的语法如下: 引用 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tb1_name[, tbl_name]... 以上语句用于分析 ...
- plusready html5,封装一个简单实用的 plusready 方法
如果有小伙伴看过 mui.js 的源码的话,对于以下代码就不会陌生. var plusReady = function (callback) { if (window.plus) { callback ...
- 电脑计算机科学模式截屏,电脑截图的几种方法,简单实用-电脑怎么截图
经常使用电脑的小伙伴,经常会需要用到截图功能,可能是一部分区域,也可能是整个屏幕.用手机拍的话会很麻烦,而且拍出来的照片也不够清晰.那么都有哪些简单实用的截图方法呢?小Y来告诉你~ 1.键盘上的快捷键 ...
- Windows服务器安全策略配置——简单实用!
Windows服务器安全策略配置--简单实用! Windows服务器安全策略怎么做?不要觉得这是一个非常深奥遥不可及的问题,其实也是从各个方面去加固系统的安全性而已,它没有一个定论. 我是艾西今天和你 ...
- 一个简单实用的,基于EF的三层架构
到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...
- Android客户端连接服务器- OKHttp的简单实用方法
文章目录 一 .OKHttp简介 二. OkHttp3使用 1.创建HTTPClient实例 2.Get请求 3.POST请求 三.Timeouts(超时) **写在前面:本文只是对OKHttp3的简 ...
- 分享几个用 Python 给图片添加水印的方法,简单实用
作者 |俊欣 来源 |关于数据分析与可视化 今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多 ...
- 这两天老是有兄弟问到Vue的登陆和注册,登陆成功留在首页,没有登录回到登录页面,现在我用最简单实用的方法实现(两分钟技就看懂)...
其实登录注册,并且登录一次保持登录的状态,是每个项目都需要实现的功能. 网上也有很多的方法,不过,不是通俗易懂,在这里说一下我自己的方法,非常简单实用 核心就是用localStorage存.取数据,这 ...
- 【Python】分享几个用Python给图片添加水印的方法,简单实用
今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始吧 opencv模块 首先我 ...
最新文章
- shell 脚本中如何实现自加操作
- 在WP7下自定义RelativeSource 的Binding
- 洛谷P2766-最长递增子序列问题
- RxSwift之NotificationCenter的使用和自定义
- Linux中gsub函数,Linux中awk下 gsub函数用法
- 跳過 Windows RT的UI
- zookeeper 单机和集群搭建(windows环境+linux环境)
- [java] byte不能直接相加
- dockerfile实例
- 项目管理与项目组合管理的不同
- 如何让Linux上的GPG error 无法验证的这个公钥 NO_PUBKEY D97A3AE911FXXXXX 出错信息消失?
- OpenCV保存H264视频的问题
- Matlab 的fspecial函数用法
- 配置NodeJS免安装环境变量,win7,win10
- 微信小程序-图片放大与缩小
- 斯特林公式 (Stirling公式)
- Mac 上面编译POCO C++库
- 程序员快速成长的核心原则
- 使用deno和oak创建短链应用 1.0
- [Power Query] 删除重复项