Vivado Turtorial 01 —— 使用vivado中debug功能(类似ISE中ChipScope)
1.基于BASYS3板子,有如下代码:
module top(
input clk,
input rst,
output test_clk
);
parameter DIV_CNT = 2;
reg clk25M;
reg [31:0] cnt = 0;
always@(posedge clk)begin
if (cnt==DIV_CNT-1)
begin
clk25M <= ~clk25M;
cnt <= 0;
end
else
begin
cnt <= cnt + 1'b1;
end
end
assign test_clk = rst ? 1'b0 : clk25M;
管脚配置XDC文件内容如下:
set_property PACKAGE_PIN W5 [get_ports clk]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property PACKAGE_PIN V17 [get_ports rst]
set_property IOSTANDARD LVCMOS33 [get_ports rst]
set_property PACKAGE_PIN L1 [get_ports test_clk]
set_property IOSTANDARD LVCMOS33 [get_ports test_clk]
2.占击左侧Run Synthesis,综合

3.完成之后,再点击 Open Synthesized Design,打开之后,点Tools下的Set Up Debug...

如下

4.选择Find Nets to Add...

5.点OK

6.选中想要观察的信号,点OK

7.出现红色,在红色地方右键。

8.选择Select Clock Domain

9.选择ALL_CLOCK,然后选择clk_IBUF或clk_IBUF_BUFG

10.选择合适的采集深度,1024通常够用

11.Finish

12.点击左侧的Generate Bitstream

13.完成后,点Open Hardware Manager

14.将板子连接到电脑上,然后Open Target -> Auto Connect

15.在xc7a35t上面,右键->Program Device...

16.Program

17.点击Trigger

18.会自动弹出波形

19.此时,只有test_clk信号,没有rst信号。在Debug Probes区域中,rst_IBUF上右键

20.Add Probes to Wave Form

21.即可看到rst也在波形中了,添加其它信号类似

22.鼠标点住rst_IBUF,拖拽到图中区域放开鼠标

23.rst_IBUF信号会出现在框中

24.点开Compare Value下拉菜单,设置如下,点击OK

25.把BASYS3板子上的SW0,拔到上面。点击Run Trigger按钮

26.注意到这里应该显示Wait...

27.此时,在板子上,把SW0拔下来。注意到,这里会一闪而过Full,然后又显示Idle。如果没观察到,可以从25步骤再重来

28.再打开波形,如下图

29.回到这个界面,将Trigger Position 设置为500。再重复24-28步骤。然后再观察波形中,第500个周期,波形前后数据的变化

作者:Craftor
链接:https://www.jianshu.com/p/aaae0524877e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Vivado Turtorial 01 —— 使用vivado中debug功能(类似ISE中ChipScope)的更多相关文章
- ISE中的Force Process Up-to-Date功能:ISE中如何在未综合实现的前提下打开ChipScope ?
ISE中如何在未综合实现的前提下双击Analyze Design Using ChipScope打开ChipScope ? 有时,你正在ISE中调试程序,在ChipScope中看到了现象,顺手修改了程 ...
- React中循环渲染类似Vue中 的v-for
17==>循环数组 类似v-for import React, { Component } from "react"; export default class CharSh ...
- Vivado中debug用法
Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯.在ISE中称为ChipScope而Vivado中就称为in system debug.下面就介绍Vivado中如何使用debug ...
- VS 开发工具中的Remote Debug 功能远程调试程序经验分享
前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...
- VS中Debug模式和Release模式的区别
一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...
- [Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...
- JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
1.IP简述使用//获取本地主机ip地址对象.InetAddress ip = InetAddress.getLocalHost();//获取其他主机的ip地址对象.ip = InetAddress. ...
- C++中debug和release的区别 . 转载
vc中debug和release的不同 收藏 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当 ...
- 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示
在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector.list.map等这些STL容器,在开启调试的时 ...
随机推荐
- 9、字符串转数字用int、因为input里面接受的全部是字符串
#!/user/bin/python# -*- coding:utf-8 -*-num = int(input('请输入数字:'))if num == 1: print(666)elif num == ...
- docker仓库harbor搭建
1.安装docker-compose [root@docker02 ~]# yum install epel-release [root@docker02 ~]# pip install docker ...
- spring XML配置参数替代properties文件
xml中配置BEAN与参数 <bean id="beanXXX" class="com.benXXXX" init-method="initia ...
- I/O模型之四:Java 浅析I/O模型(BIO、NIO、AIO、Reactor、Proactor)
目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ...
- JDBC-C3P0
一.依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
- js中检测数据类型的几种方式
1.typeof 一元运算符,用来检测数据类型.只可以检测number,string,boolean,object,function,undefined. 对于基本数据类型是没有问题的,但是遇到引用数 ...
- overlay网络隔离实验失败记录
按照 https://www.cnblogs.com/CloudMan6/p/7341487.html进行操作,实验结果与老师文章中的正好相反,不同 overlay 网络中的主机可以通信,验证部分见下 ...
- Linux常用bash命令
目录 bash命令 基础操作 export | whereis | which | clear 文件操作 ls | touch | cat | more | head | tail | mv | cp ...
- 无法定位程序输入点 InitializeCriticalSectionEx、GetTickCount64
(1)方法一:在vc项目中把对应的方法名改为 InitializeCriticalSection.GetTickCount. (2)方法二:添加如下定义#define WINVER ...
- Python3快速入门
——<趣学Python-教孩子学编程>学习笔记 1.注释 (1)单行注释以 # 开头注释 # 这是一个注释 print("Hello, World!") (2)多行 ...