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,综合

 
Picture

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

 
Picture

如下

 
Picture

4.选择Find Nets to Add...

 
Picture

5.点OK

 
Picture

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

 
Picture

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

 
Picture

8.选择Select Clock Domain

 
Picture

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

 
Picture

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

 
Picture

11.Finish

 
Picture

12.点击左侧的Generate Bitstream

 
Picture

13.完成后,点Open Hardware Manager

 
Picture

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

 
Picture

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

 
Picture

16.Program

 
Picture

17.点击Trigger

 
Picture

18.会自动弹出波形

 
Picture

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

 
Picture

20.Add Probes to Wave Form

 
Picture

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

 
Picture

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

 
Picture

23.rst_IBUF信号会出现在框中

 
Picture

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

 
Picture

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

 
Picture

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

 
Picture

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

 
Picture

28.再打开波形,如下图

 
Picture

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

 
Picture

作者:Craftor
链接:https://www.jianshu.com/p/aaae0524877e
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

Vivado Turtorial 01 —— 使用vivado中debug功能(类似ISE中ChipScope)的更多相关文章

  1. ISE中的Force Process Up-to-Date功能:ISE中如何在未综合实现的前提下打开ChipScope ?

    ISE中如何在未综合实现的前提下双击Analyze Design Using ChipScope打开ChipScope ? 有时,你正在ISE中调试程序,在ChipScope中看到了现象,顺手修改了程 ...

  2. React中循环渲染类似Vue中 的v-for

    17==>循环数组 类似v-for import React, { Component } from "react"; export default class CharSh ...

  3. Vivado中debug用法

    Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯.在ISE中称为ChipScope而Vivado中就称为in system debug.下面就介绍Vivado中如何使用debug ...

  4. VS 开发工具中的Remote Debug 功能远程调试程序经验分享

    前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...

  5. VS中Debug模式和Release模式的区别

    一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...

  6. [Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.

    前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...

  7. JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)

    1.IP简述使用//获取本地主机ip地址对象.InetAddress ip = InetAddress.getLocalHost();//获取其他主机的ip地址对象.ip = InetAddress. ...

  8. C++中debug和release的区别 . 转载

    vc中debug和release的不同 收藏  在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当 ...

  9. 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示

    在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector.list.map等这些STL容器,在开启调试的时 ...

随机推荐

  1. 信用评分卡 (part 4 of 7)

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  2. JAVA核心技术I---JAVA基础知识(函数)

    一:自定义函数 由于JAVA中都是由类组成,所以想实现类似于函数的功能,直接使用main主函数进行调用,就需要使用静态类方法,直接调用,而不需要实例对象 public class HelloWorld ...

  3. JAVA-String,StringBuilder,StringBuffer例子(基础必备)

    package com.net.xinfang.reflect; import java.io.UnsupportedEncodingException; /** * String不属于8种基本数据类 ...

  4. RelativeLayout中include 控件覆盖重叠的问题

    RelativeLayout直接include另一个layout是会把include中的控件与当前layout中的控件覆盖重叠,经过查资料 其中的include标签一定要加上(因为include中不指 ...

  5. ajax传递对象数组

    1.Json.stringify()是将json数据格式转换成String类型字符串的方法. 后台可以使用String类型接受,接收完可以使用json转换java集合的方法. List<实体类& ...

  6. js/java常用正则表达式及写法

    不定时增加正则表达式. 其中 Js验证写法: var str = "待验证文本"; var regular = new RegExp(/^这里是正则表达式/); if (regul ...

  7. 微信小程序,错误{"errMsg":"request:fail 小程序要求的 TLS 版本必须大于等于 1.2"}

    解决方法一: 开发环境,项目--->勾选不校验即可 解决办法二: 在 PowerShell中运行以下内容, 然后重启服务器 # Enables TLS R2 and Windows # Thes ...

  8. Elasticsearch入门实践

    官网:https://www.elastic.co/ 下载:https://www.elastic.co/downloads/elasticsearch 文档:https://www.elastic. ...

  9. MySQL 字符集问题

    MySQL 支持许多字符集及其编码方案, 甚至是不同编码之间的转换. 在使用 MySQL 进行应用程序编程时, 常常会出现乱码现象, 这通常是由于客户端没有声明与 MySQL 服务器通信的字符串编码造 ...

  10. Win10下Prolific USB-to-Serial Comm Port驱动提示不能使用

    选择从计算机的设备驱动程序列表中选取 选择第一个安装即可.