TQTT_KU5P开发板教程---实现流水灯

文档实现功能介绍

本文档是学习本开发板的基础,通过设置计数器使led0到led7依次闪烁,让用户初步认识vivado基本的开发流程以及熟悉项目的创建。本开发板的所有教程所使用的软件都是vivado2024.1版本的。可以根据网上的教程下载与安装。

硬件资源

此次教程使用了8个LED灯,如图1-1所示

图1-1  LED实物图

由原理图可知,此开发板的LED灯为高电平点亮,如图1-2所示

图1-2  LED原理图

创建项目工程

首先打开软件,如图1-3所示

图1-3

再创建一个新的工程,点击Create Project,如图1-4所示

图1-4

点击next,如图1-5所示

图1-5

修改项目名称为:led_shift

选择你想要将此项目存放的一个位置(路径不能有中文),如图1-6所示

图1-6

此页默认选项直接next,如图1-7所示

如图1-7

这是选择项目文件,分别是添加文件,添加目录,创建文件,此次教程先熟悉项目设计过程所以此次直接next。如图1-8所示

图1-8

添加或者创建约束文件,此页面也是跳过直接next,如图1-9所示

图1-9

选择芯片型号,开发板芯片型号为xcku5p-ffvb676-2-i,之后选择该型号芯片点击next。如图1-10所示

图1-10

  1. 直接finish,项目就创建完成了。如图1-11所示

图1-11

添加设计文件

点击Add Sources或者 +都可以添加设计文件,如图1-12所示

图1-12

第一个是引脚约束文件,第二个是设计文件,第三个是仿真文件,我们这里选择设计文件,如图1-13所示

图1-13

点击创建文件(Create File) --> 输入文件名:led_shift --> 点击OK --> 点击finish,如图1-14所示

图1-14

在输入模块名称:led_shift之后在点OK,创建设计文件完成。

此页面是确定模块名称以及输入输出接口,但是一般情况下不在此处设置输入输出接口,都在代码中设置。如图1-15所示

图1-15

查看创建的设计文件,打开Hierarchy窗口 --> 双击Design Sources --> 打开led_shift创建的设计文件,如图1-16所示

图1-16

将下列代码写入led_shift中

module led_shift#(parameter CNT_MAX = 49_999_999)(input       clk  ,output reg   [7:0]  led);
reg [31:0] cntr ; wire cntr_end = cntr == CNT_MAX ; 
always@(posedge clk )   cntr <= ( cntr_end ) ?0:(cntr+1) ;
reg [2:0]sec_cntr ;always@(posedge clk ) if (cntr_end)sec_cntr<= sec_cntr+1; 
always@(posedge clk ) led <= 1 <<sec_cntr;
endmodule

创建引脚约束文件

点击 + ,如图1-17所示

图1-17

选择引脚约束文件 --> 点next,如图1-18所示

图1-18

选择创建文件 --> 输入文件名称 --> 点OK --> 点finish引脚约束文件就创建完成了,如图1-19所示

图1-19

查看引脚约束文件

点Hierarchy --> 双击Constraints --> 双击constrs --> 双击pin.xdc就打开引脚约束文件,如图1-20所示

图1-20

在根据原理图绑定引脚,如图1-21所示

图1-21     部分原理图

电压大小,根据原理图可得知+ADJ的电压为1.8V,如图1-22所示

图1-22

绑定芯片引脚约束,再打开pin.xdc之后将下列代码放到其中,之后引脚约束就绑定成功

set_property  -dict {PACKAGE_PIN  e18  IOSTANDARD LVCMOS18} [get_ports clk ] ; 
set_property  -dict {PACKAGE_PIN  d18  IOSTANDARD LVCMOS18} [get_ports led[0] ] ; 
set_property  -dict {PACKAGE_PIN  e17  IOSTANDARD LVCMOS18} [get_ports led[1] ] ; 
set_property  -dict {PACKAGE_PIN  b16  IOSTANDARD LVCMOS18} [get_ports led[2] ] ; 
set_property  -dict {PACKAGE_PIN  d15  IOSTANDARD LVCMOS18} [get_ports led[3] ] ;  
set_property  -dict {PACKAGE_PIN  e16  IOSTANDARD LVCMOS18} [get_ports led[4] ] ; 
set_property  -dict {PACKAGE_PIN  g15  IOSTANDARD LVCMOS18} [get_ports led[6] ] ; 
set_property  -dict {PACKAGE_PIN  e22  IOSTANDARD LVCMOS18} [get_ports led[7] ] ; 

生成bit流文件

点Generate Bitstream --> 点ok,如图1-23所示

图1-23

当出现该界面时就代表代码没有错误且bit流成功生成。点cancel关闭界面,如图1-24所示

图1-24

烧写bit流

连接开发板电源和串口并开启电源开关,如图1-25所示

图1-25

双击Open Hardware Manager --> 点Open target --> 点auto connect,如图1-26所示

图1-26

当设备识别成功时显示如下图所示然后点program device -->  点program,如图1-27所示

图1-27

当烧写上之后led灯会从led0到led7依次闪烁

        本文档所使用的例程与代码都在以下链接中

通过网盘分享的文件:led_shift.rar
链接: https://pan.baidu.com/s/1kX0pu-VFcNQLbq4z23E9mw 提取码: sprq 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 中的 @Cacheable 缓存注解

1 什么是缓存 第一个问题&#xff0c;首先要搞明白什么是缓存&#xff0c;缓存的意义是什么。 对于普通业务&#xff0c;如果要查询一个数据&#xff0c;一般直接select数据库进行查找。但是在高流量的情况下&#xff0c;直接查找数据库就会成为性能的瓶颈。因为数据库查找的…

SEER: Self-Aligned Evidence Extraction for Retrieval-AugmentedGeneration

一、动机 如何从检索到的段落中提取证据&#xff0c;以降低计算成本并提升最终的RAG性能&#xff0c;然而这一问题仍然具有挑战性。 现有方法 严重依赖于基于启发式的增强&#xff0c;面临以下几个问题&#xff1a; &#xff08;1&#xff09;由于手工制作的上下文过滤&…

毫米波测试套装速递!高效赋能5G/6G、新材料及智能超表面(RIS)研发

德思特&#xff08;Tesight&#xff09;作为全球领先的测试测量解决方案提供商&#xff0c;始终致力于为前沿技术研发提供高精度、高效率的测试工具。 针对毫米波技术在高频通信、智能超表面&#xff08;RIS&#xff09;、新材料等领域的快速应用需求&#xff0c;我们推出毫米…

三维激光测量助力企业检测效率提升3倍

智能制造与数字化浪潮席卷下&#xff0c;三维扫描技术已成为工业检测领域不可或缺的工具。面对传统检测手段的精度瓶颈与效率局限&#xff0c;三维扫描仪&#xff0c;以毫米级精度、非接触式测量与超高速扫描三大核心优势&#xff0c;为汽车制造、航空航天、消费电子等行业的品…

SQL:Normalization(范式化)

目录 Normalization&#xff08;范式化&#xff09; 为什么需要 Normalization&#xff1f; &#x1f9e9; 表格分析&#xff1a; 第一范式&#xff08;1NF&#xff09; 什么是第一范式&#xff08;First Normal Form&#xff09;&#xff1f; 第二范式&#xff08;2NF&am…

#MES系统运维问题分析思路

一套适用于90% MES运维现场问题的排查分析思维模型&#xff0c;叫做&#xff1a; &#x1f50d; MES系统问题分析七步法&#xff08;现场实战适用&#xff09; ✅ 第一步&#xff1a;明确问题现象&#xff08;What&#xff09; 问题要说清楚&#xff0c;“不能操作”这种模糊描…

达梦数据库-学习-18-ODBC数据源配置(Linux)

一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-20240703-234060-20108 4 Msg Versi…

js 效果展示 拿去练手

自学完整功能&#xff0c;拿去练手。 鼠标移动放大 通过网盘分享的文件&#xff1a;图片放大 链接: https://pan.baidu.com/s/1w8SjtKi4kUNDnZtRDfYMeQ?pwd95p6 提取码: 95p6 通过网盘分享的文件&#xff1a;图片动画效果 链接: https://pan.baidu.com/s/1Pjphx-Cc4HQQNNujr…

使用 TFIDF+分类器 范式进行企业级文本分类(二)

1.开场白 上一期讲了 TF-IDF 的底层原理&#xff0c;简单讲了一下它可以将文本转为向量形式&#xff0c;并搭配相应分类器做文本分类&#xff0c;且即便如今的企业实践中也十分常见。详情请见我的上一篇文章 从One-Hot到TF-IDF&#xff08;点我跳转&#xff09; 光说不练假把…

硬件设计-MOS管快速关断的原因和原理

目录 简介&#xff1a; 来源&#xff1a; MOS管快关的原理 先简单介绍下快关的原理&#xff1a; 同电阻时为什么关断时间会更长 小结 简介&#xff1a; 本章主要介绍MOS快速关断的原理和原因。 来源&#xff1a; 有人会问&#xff0c;会什么要求快速关断&#xff0c;而…

Linux进阶命令

目录 一、touch 1. 基本语法 2. 常用选项 二、which 1. 基本语法 2. 主要功能 3. 常用选项 三、find 1. 基本语法 2. 常用选项和表达式 四、more 1. 基本语法 2. 常用操作 3. 对比 more 和 less 五、grep 1. 基本语法 2. 常用选项 六、wc 1. 基本语法 2. 常…

阿里云实时计算Flink版产品体验测评

阿里云实时计算Flink版产品体验测评 什么是阿里云实时计算Flink应用场景实时计算Flink&自建Flink集群性价比开发效率运维管理企业安全 场景落地 什么是阿里云实时计算Flink 实时计算Flink大家可能并不陌生&#xff0c;在实时数据处理上&#xff0c;可能会有所接触&#xf…

用户登录不上linux服务器

一般出现这种问题&#xff0c;重新用root用户修改lsy用户的密码即可登录&#xff0c;但是当修改了还是登录不了的时候&#xff0c;去修改一个文件用root才能修改&#xff0c; 然后在最后添加上改用户的名字&#xff0c;例如 原本是只有user的&#xff0c;现在我加上了lsy了&a…

Android Jetpack架构组件——用Compose工具包构建基本的布局

推荐文章 构建基本布局 | Android Basics Compose - First Android app | Android Developers 向 Android 应用添加图片 | Android Developers

SLAM(七)-卡尔曼滤波

SLAM&#xff08;七&#xff09;-卡尔曼滤波 一、卡尔曼滤波(KF)二、扩展卡尔曼滤波(EKF)三、误差状态卡尔曼滤波(ESKF) 参考《概率机器人》、《Principles of GNSS&#xff0c;lnertial and Multisensor lntegrated Navigation Systems (Second Edition)》 一、卡尔曼滤波(KF)…

Electron 应用太重?试试 PakePlus 轻装上阵

Electron 作为将 Web 技术带入桌面应用领域的先驱框架&#xff0c;让无数开发者能够使用熟悉的 HTML、CSS 和 JavaScript 构建跨平台应用。然而&#xff0c;随着应用规模的扩大&#xff0c;Electron 应用的性能问题逐渐显现——内存占用高、启动速度慢、安装包体积庞大&#xf…

Vue.js组件安全工程化演进:从防御体系构建到安全性能融合

——百万级流量场景下的安全组件架构与源码级解决方案 文章目录 总起&#xff1a;安全工程化的组件革命 分论&#xff1a; 一、现存组件架构的七宗罪与安全改造路径   1.1 组件生态安全赤字现状   1.2 架构级安全缺陷深度剖析   1.3 性能与安全的死亡螺旋 二、百万级…

MCP+cursor使用嘴操作数据库(不用编写SQL语句实现CURD)

文章目录 1.如何进行相关配置2.如何添加MCP server3.如何进行相关的操作3.0数据的查询3.1数据的插入3.2数据的修改3.3多表连接查询 1.如何进行相关配置 这个跟昨天的高德地图的配置非常的相似&#xff0c;因此这个地方我就不进行过多的这个说明了&#xff0c;就是新加一个全聚…

效率工具- git rebase 全解

一、前言 对于git rebase 一直不太了解,这几天想着提高下git提交质量,就发现了这个好用的指令,顺便记录一下,好加深记忆 贴出官方文档以便大家进一步学习 Git 二、rebase是作用 rebase 官方解释为变基,可以理解为移动你的分支根节点,维护一个更好的提交记录。rebase把你当前…

小爱音箱接入大模型DeepSeek及TTS

简介 相信看过钢铁侠的朋友们&#xff0c;都梦想拥有一个像贾维斯这样全能的人工智能管家。而现在随着AI的发展&#xff0c;这个愿景将随我们越来越近。现阶段&#xff0c;我们可以将小爱音箱接入DeepSeek&#xff0c;将其从“人工智障”进化成上知天文&#xff0c;下懂地理的半…