当前位置: 首页 > news >正文

ISE_ChipScope Pro的使用

1.ChipScope Pro Core Inserter 使用流程

       在之前以及编译好的流水灯实验上进行学习 ChipScope的使用。

一、新建一个ChipScope 核

点击Next,然后在下一个框中选择 Finish,你就会在项目菜单中看到有XX.cdc核文件。

二、对核文件进行设置

       右键“Synthesize – XST” 后点击“Process Properties…” , 这里我们将 keep Hierarchy(保留层次结构) 栏中选择 Yes(默认为 No) 。 这样设置是方便我们找到所想观察的信号,否则,很多信号会被优化掉, 导致 ChipScope 找不到。

   设置完之后,双击工程中的 ds18b20.cdc 文件,进行 ChipScope 核的配置。

   双击工程中的 ds18b20.cdc 文件后出现如下图核文件路径页面, 该页面按默认设置即可,直接点击 Next:

       同样的该页面我们也保持默认设置即可,直接点击 Next:

 该页面我们只需将 Trigger Width 选择为最大值 256 即可(后续不需可以根据实际数量更改),其他设置不变,点击 Next:

       该页面我们将 Data Depth( 采样深度) 设置为 2048, 在不超过FPGA 的存储量内该设置可根据实际抓取情况进行设置, 设置的值越大所占的存储空间就越大, 其余设置按默认设置即可,点击 Next:

    如下图所示,双击 CLOCK PORT 来添加时钟信号和采样信号。

      如下图所示, 我们选择sys_clk作为采样时钟, 选中后点击Make Connections 进行添加(这里需要注意选择的采样时钟信号必须是带有 buffer的信号,否则会报错)。 时钟信号添加完之后,切换到 Trigger/Data Signal 进行采样信号的添加。

      然后我们发现TRIGGER PORTS 显示红色,这是因为前面配置的采样端口数设置的是 256, 与我们添加的信号数不匹配, 这里我们点击Previous 回到 Trigger Parameters 页面将 Trigger Width( 触发信号数) 设置为 30后,发现TRIGGER PORTS 显示黑色。

         最后点击 Return to Project Navigator 完成配置,点击之后出现如图所示, 点击
“是”。

       配置完成之后就可以进行波形图的查看了, 将电源与下载线与开发板连接好,连接好后上电再点击 Analyze Design Using ChipScope 进入 ChipScope 波形抓取界面。(后面截图截取网上主要给大家参考)

三、配置ChipScope 波形抓取界面

      进去之后,首先点击左上角箭头所指图标, 跟开发板建立连接。

       若开发板和 JTAG 连接正常的话,则 ChipScope 就能找到开发板使用的 FPGA 芯片,可以看到正是我们使用的芯片信号 XC6SLX16,直接点击“OK”。

        连接成功后可以看到左上角 P 图变为绿色了,说明连接成功了。然后我们右键“ DEV: 0 MyDevice0( XC6SLX16)” , 点击“ Configure…” 来添加 bit 文件。

        其中1 框中是我们连接的 bit 文件信息, 包括文件名以及存储位置,同时我们也可以通过点击“Select New File”来添加新的 bit 文件,这里“ds18b20.bit” 正是 ds18b20 的工程 bit 文件,所以我们直接点击“OK”。

    我们分别双击“Trigger Setup”和“Waveform”, 点击后界面如下图所示。 其中“Trigger Setup”为触发设置窗口, “Waveform”为波形图窗口。

      接下来我们展开 Data port, 选择端口,右键点击 Rename 可对端口进行重命名(也可以双击端口进行重命名) ,这里我们将端口名都改为我们添加观察的信号名。

       若我们加入的信号为多位宽信号,那么我们可选中对应的端口, 右键点击 Move to bus -> New Bus 将这些信号加入一个组并将名字命名为对应信号的名字。

       更改完端口名后如图 36-34 所示, 其中1 框中是我们更改后的端口名; 2 框中可设置
波形图的采样触发信号, 触发前波形图的长度等; 3 框中为波形图显示框。

       点击箭头所指的钥匙形状将信号展开设置触发信号。

       展开后如图 36-37 所示,其中我们可在1 框 Value 栏设置触发方式; 可在2 框中设置触发长度,由于我们调用 ILA 核时设置的采样长度为 2048, 故这里最大只能设置为2048; 3 框可设置触发前波形图的显示单位, 比如我们设置为 100, 则波形图则会从触发条件前 100 个单位开始显示


      设置触发主要目的就是更加可以准确定位到这个条件下,信号的实际执行情况。这里我们抓取当led_out = 0010时的波形。

 抓取波形如下:      最后根据抓取的波形图进行分析波形图是否与我们设计的结果一致, 若不正确可根据抓取的波形图进行分析问题出在哪里, 找出问题, 回去更改代码后, 重新进行编译,编译完成后需重新配置 bit 文件,即重复图 36-29 所示步骤。 如此反复直到实现出与实际设计相符的的波形图为止。

.    在进行波形显示的时候最开始显示波形如下图,无法清楚看清代码逻辑是否正确,后面发现原因时深度不够,故波形展示不全。要不减下代码中数据大小要不增加数据深度。这里只看验证逻辑正确性可以减小数据大小(如cat_max改小)即可。

 代码附录:

`timescale  1ns/1nsmodule  water_led
#(parameter CNT_MAX = 8'd24_9
)
(input   wire            sys_clk     ,   //系统时钟50Mhinput   wire            sys_rst_n   ,  //全局复位output  reg     [3:0]   led_out        //输出控制led灯);//reg   define
reg     [24:0]  cnt         ;
reg             cnt_flag    ;//cnt:计数器计数500ms
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt <= 8'b0;else    if(cnt == CNT_MAX)cnt <= 8'b0;elsecnt <= cnt + 1'b1;//cnt_flag:计数器计数满500ms标志信号
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)cnt_flag <= 1'b0;else    if(cnt == CNT_MAX - 1)cnt_flag <= 1'b1;elsecnt_flag <= 1'b0;//led_out:led循环流水
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n == 1'b0)led_out <=  4'b0001;else    if(led_out == 4'd8 && cnt_flag == 1'b1)led_out <=  4'b0001;else    if(cnt_flag == 1'b1)led_out <=  led_out * 2'd2; //左移
endmodule

相关文章:

ISE_ChipScope Pro的使用

1.ChipScope Pro Core Inserter 使用流程 在之前以及编译好的流水灯实验上进行学习 ChipScope的使用。 一、新建一个ChipScope 核 点击Next,然后在下一个框中选择 Finish&#xff0c;你就会在项目菜单中看到有XX.cdc核文件。 二、对核文件进行设置 右键“Synthesize – XST” …...

北邮22级信通院数电:Verilog-FPGA(2)modelsim北邮信通专属下载、破解教程

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 1.下载 2.解压打开 3.modelsim初安装 4.…...

【力扣-每日一题】213. 打家劫舍 II

class Solution { public:int getMax(int n,vector<int> &nums){int a0,bnums[n],c0;for(int in1;i<nums.size()n-1;i){ //sizen-1,为0时&#xff0c;第一个可以偷&#xff0c;最后一个不能偷size-1&#xff1b;n为1时&#xff0c;最后一个可偷&#xff0c;计算…...

【PDF】pdf 学习之路

PDF 文件格式解析 https://www.cnblogs.com/theyangfan/p/17074647.html 权威的文档&#xff1a; 推荐第一个连接&#xff1a; PDF Explained &#xff08;译作《PDF 解析》&#xff09; | PDF-Explained《PDF 解析》https://zxyle.github.io/PDF-Explained/ https://zxyle…...

排序算法二 归并排序和快速排序

目录 归并排序 快速排序 1 挖坑法​编辑 2 Hoare法 快排的优化 快排的非递归方法 七大排序算法复杂度及稳定性分析 归并排序 归并排序是建立在归并操作上的一种有效的排序算法,将以有序的子序列合并,得到完全有序的序列,即先使每个子序列有序,在使子序列段间有序.若将两…...

活动回顾 | 暴雨也无法阻挡的奔赴,2023 Meet TVM · 深圳站完美收官!

2023 Meet TVM 深圳站于 2023 年 9 月 16 日在腾讯大厦成功举办&#xff0c;百余名参与者亲临现场&#xff0c;聆听讲师们的精彩分享。 作者 | xixi 编辑 | 三羊 本文首发于 HyperAI 超神经微信公众平台~ **由 MLC.AI 社区和 HyperAI超神经主办&#xff0c;Openbayes贝式计算…...

JAVA_多线程的实现方式

线程的状态 方式一&#xff1a; public class Thread1 extends Thread {Overridepublic void run() {synchronized (this) {for (int i 0; i < 100; i) {System.out.println(getName() "" i);}}} } Thread1 thread1 new Thread1(); thread1.start(); 方式二…...

Android AndroidStudro版本gradle版本对应

详情网站&#xff1a;Android studio版本对用的gradle版本和插件版本&#xff08;注意事项&#xff09;...

Windows所有的端口及端口对应的程序

Windows所有的端口及端口对应的程序 1.查询Windows的端口 在CMD窗口运行&#xff1a; netstat -ano 结果示例&#xff1a; 活动连接协议 本地地址 外部地址 状态 PIDTCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1156T…...

【Kafka系列】(二)Kafka的基本使用

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 文章更新计划[2] 系列文章地址[3] Kafka 线上集群部署方案怎么做 操作系统 先说结论&#xff0c;Kafka 部署在 Linux 上要比 Window…...

2023年下半年软考高级系统架构设计师论文指南(收藏)

由于今年下半年软考改为了机考&#xff0c;所以今年是看大家码字的速度了&#xff0c;但是好处还是有的&#xff0c;错了还能删除&#xff0c;之前纸质的 还有点不方便。 1、选择题目 &#xff08;1&#xff09;控制选题的时间。不要浪费太多时间在纠结选题上面。 &#xff…...

数据结构之【动态数组】

1. 线性表 概念&#xff1a;线性表是n个具有相同特性的数据元素的有限序列。 常见的线性表有&#xff1a;数组、链表、栈、队列、字符串…… 特点&#xff1a; 保存在这个结构中的元素都是相同的数据类型。元素之间线性排列&#xff0c;元素之间在逻辑上是连续的。 线性表…...

解答嵌入式和单片机的关系

嵌入式系统是一种特殊的计算机系统&#xff0c;用于特定任务或功能。而单片机则是嵌入式系统的核心部件之一&#xff0c;是一种在单个芯片上集成了处理器、内存、输入输出接口等功能的微控制器。刚刚好我这里有一套单片机保姆式教学&#xff0c;里面有编程教学、问题讲解、语言…...

利用Pycharm将python程序打包为exe文件(亲测可用)

最近做了一个关于py的小项目&#xff0c;对利用Pycharm将python文件打包为exe文件不是很熟悉&#xff0c;故学习记录之。 目录 一、下载pyinstaller库 二、打开Pycharm进行打包&#xff08;不更改图标&#xff09; 三、打开Pycharm进行打包&#xff08;更改图标&#xff09…...

解决Vue设置图片的动态src不生效的问题

一、问题描述 在vue项目中&#xff0c;想要动态设置img的src时&#xff0c;此时发现图片会加载失败。在Vue代码中是这样写的&#xff1a; 在Vue的data中是这样写的&#xff1a; 我的图片在根目录下的static里面&#xff1a; 但是在页面上这个图片却无法加载出来。 二、解决方案…...

企业关键数据采集如何做

数据对于企业的重要性不言而喻&#xff0c;目前又处于大数据时代&#xff0c;企业对于数据的解读将是辅助决策最重要的一环。依据所掌握的数据信息&#xff0c;帮助企业做决策的优化。然而&#xff0c;在企业的关键数据采集并不是一项简单轻松的任务&#xff0c;他需要企业投入…...

抖音SEO矩阵系统源码开发搭建

1. 确定需求和功能&#xff1a;明确系统的主要目标和需要实现的功能&#xff0c;包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构&#xff1a;根据需求和功能确定系统的架构&#xff0c;包括前端、后端、数据库等部分的设计&#xff0…...

20230925工作心得

1、如果使用map的时候&#xff0c;担心key重复&#xff0c;覆盖掉值 那么直接加个if/else判断就好了。 如果map.containsKey&#xff0c;那么就把值追加上去&#xff0c;否则就直接put。 2、list的removeAll方法 list.removeAll(list2);//list要removeAll谁,就是看list自己比…...

ESP32在CAN(TWAI)波特率不同时收发数据,导致总线错误无法恢复

问题描述&#xff1a; 总线上有两个设备&#xff0c;主机&#xff1a;100ms周期发送数据。从机&#xff1a;以不同波特率发送数据&#xff0c;再把从机波特率调节至主机波特率一致无法通信。 环境&#xff1a;VSCODE IDF-v5.0 问题分析&#xff1a; 我们先看下ESP32技术参…...

精简版背包问题|01背包、完全背包、多重背包

背包问题 01背包问题 有n个物品&#xff0c;它们有各自的体积w和价值v&#xff0c;现有给定容量W的背包&#xff0c;在总体积不超过背包承载上限的情况下&#xff0c;如何让背包里装入的物品具有最大的价值总和&#xff1f;&#xff08;每个物品最多可使用一次&#xff09; w(…...

五、核支持向量机算法(NuSVC,Nu-Support Vector Classification)(有监督学习)

和支持向量分类(Nu-Support Vector Classification)&#xff0c;与 SVC 类似&#xff0c;但使用一个参数来控制支持向量的数量&#xff0c;其实现基于libsvm 一、算法思路 本质都是SVM中的一种优化&#xff0c;原理都类似&#xff0c;详细算法思路可以参考博文&#xff1a;三…...

个人废品回收小程序制作步骤详解

在当今的环保时代&#xff0c;个人废品回收小程序的发展显得尤为重要。为了满足这一需求&#xff0c;本文将详细介绍如何制作一个个人废品回收小程序。 第一步&#xff0c;进入乔拓云网后台&#xff0c;点击【轻应用小程序】进入设计小程序页面。在这个页面&#xff0c;你可以看…...

Python爬虫自动切换爬虫ip的完美方案

在进行网络爬虫时&#xff0c;经常会遇到需要切换爬虫ip的情况&#xff0c;以绕过限制或保护自己的爬虫请求。今天&#xff0c;我将为你介绍Python爬虫中自动切换爬虫ip的终极方案&#xff0c;让你的爬虫更加高效稳定。 步骤一&#xff1a;准备爬虫ip池 首先&#xff0c;你需要…...

IDEA新建.xml文件显示为普通文本

情况如下&#xff1a; 1. 在XML文件中添加*.xml的文件名模式 2. 在文本中&#xff0c;选中*.xml进行删除...

linux的三剑客

1、grep命令 grep全称是Global Regular Expression Print&#xff0c;表示全局正则表达式版本&#xff0c;它的使用权限是所有用户。它是Linux系统中一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&#xff0c;并把匹配的行打印出来。 shell脚本中也经常使用g…...

微信小程序部分知识点总结【2】

微信小程序的原理是什么 微信小程序的原理是基于一种轻量级的应用程序模型&#xff0c;它允许开发者在微信客户端内部创建和运行应用程序。微信小程序采用了类似网页的技术栈&#xff0c;主要由两部分组成&#xff1a;前端和后端。 前端部分使用HTML、CSS和JavaScript等标准的…...

基于springboot+vue的云南旅游网(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

后缀表达式求值

后缀表达式&#xff0c;又称逆波兰式&#xff0c;指的是不包含括号&#xff0c;运算符放在两个运算对象的后面&#xff0c;所有的计算按运算符出现的顺序&#xff0c;严格从左向右进行。 运用后缀表达式进行计算的具体做法&#xff1a; 建立一个操作数栈S。然后从左到右读表达…...

基于springboot+vue的信息技术知识赛系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

基于YOLOv8模型的垃圾满溢检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的垃圾满溢检测系统可用于日常生活中检测与定位车辆垃圾&#xff08;garbage&#xff09;、垃圾桶&#xff08;garbage_bin&#xff09;和垃圾满溢&#xff08;overflow&#xff09;目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等…...