FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一

这里写自定义目录标题

  • PL端 纯Verilog语言创建IP核实现点亮LED灯工
    • 使用设备 ZYNQ 7010,选择设备型号XC7Z010CLG400-1
    • 根据以下流程完成本次创建
    • 时钟频率50MHZ,周期T=20ns,因此计数50_000_000次,1sLED灯闪烁一次

PL端 纯Verilog语言创建IP核实现点亮LED灯工

确保开发板没有问题,可以先烧一个例程验证板子完好
本教程要实现的是自创建IP核点亮LED灯。
大致创建流程为:1.创建纯Verilog文件
2.封装成IP核,保存完整
3.新建工程,添加ZNYQ 和 我们新建的LED灯 IP核,按照流程走完后,实现点灯。

使用设备 ZYNQ 7010,选择设备型号XC7Z010CLG400-1

根据我的开发板电路原理图,所要点亮的LED灯为EMIO口的T14
DDR Configuration选择型号为MT41K128M16 JT-125

根据以下流程完成本次创建

1.创建verilog工程,用于设计IP核
请添加图片描述
2.工程名字可以命名为LED_IP请添加图片描述
3.设备型号,我的是XC7Z010CLG400-1请添加图片描述
4.给我们要创建的Verilog文件命名,如LED_flash,表示使LED灯闪烁
请添加图片描述
5.接下来编写Verilog程序

时钟频率50MHZ,周期T=20ns,因此计数50_000_000次,1sLED灯闪烁一次

module LED_Flash(input clk,input rst_n,output reg led);reg [25:0] cnt;always@(posedge clk or negedge rst_n)if(!rst_n)cnt <= 26'd0;else if(cnt < 26'd49_999_999)cnt <= cnt + 1'b1;elsecnt <= 26'd0;always@(posedge clk or negedge rst_n)if(!rst_n)led <= 1'b0;else if(cnt == 26'd49_999_999)led <= ~led;elseled <= led;
endmodule

6.开始封装纯Verilog的IP
依次点击Tools,第一个Create and Package New IP
请添加图片描述
请添加图片描述
按照图片红色箭头依次点击,对于IP Location文件路径不用更改请添加图片描述
请添加图片描述
7.点击Finish后的新界面,可以看到一些相关信息
本例程中基本没有什么需要改变的
请添加图片描述
8.点击完Package IP后,这个Vivado 工程可以不用管,或者最小化关闭都可,新建Vivao工程
重复上述步骤1-3,这个工程名字可以为For_IP_Led_Flash,表示使用IP核来完成LED灯闪烁。
请添加图片描述
9.添加我们创建的IP核的路径
请添加图片描述
请添加图片描述
10.路径添加完成后我们就可以添加IP核了
请添加图片描述
请添加图片描述
11.添加完两个IP核后开始连线请添加图片描述
以及点击两个红色箭头后,如下图
LED_Flash_0 IP核的led管教点击选中后引出引脚,可以使用快捷键crtl+T,结果如第二幅图所示
请添加图片描述
请添加图片描述
10.选择添加一个UART串口和DDR型号选择
请添加图片描述
接着选择DDR型号,根据自己开发板的型号来选择
请添加图片描述
11.红色数字1点击完毕后,出现的对话框,选择Synthesis Options中的第一个Global,然后点击Generate,等待程序运行完毕,可执行红色数字2“Let Vivado manage wrapper and auto-update” OK。
请添加图片描述
12.在11执行完毕后,执行Run Implementation
请添加图片描述
13.给我们的EMIO LED约束引脚,我的开发板引脚是T14
请添加图片描述
如此选择完毕后,按crtl+s,给弹出来的对话窗口,选择赋值LED_Flash
请添加图片描述
14.生成比特流文件请添加图片描述
15.没有特殊说明,运行完毕弹出来的对话框,可以都选择“View reports”
请添加图片描述
请添加图片描述
16.准备运行SDK
请添加图片描述
请添加图片描述
17.由于我们电灯的逻辑电路在Verilog中搭建好了,因此SDK中不需要对灯T14的引脚做额外操作,随便来个串口程序就好。(之前步骤中我们选择好的ZYNQ中的UART1)
请添加图片描述

请添加图片描述
请添加图片描述
18.将数据线连接好,准备烧录程序
请添加图片描述
请添加图片描述
请添加图片描述

18.实验结果

2

19.内容较长,请仔细操作。如有问题,可添加作者QQ:1018931844。欢迎讨论

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

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

相关文章

unigui添加ssl(https)访问的方法

首先到腾讯云或者阿里云去申请免费的证书&#xff0c;前提是在该服务商那有申请过域名&#xff0c;怎么找出这个界面&#xff1f;网页顶部一般都有个搜索框&#xff0c;输入【证书】或者【SSL】就能看到了&#xff0c;然后点击申请免费证书&#xff0c;把解析信息填入自己的域名…

k8s-18 认证授权

Authentication (认证) 认证方式现共有8种&#xff0c;可以启用一种或多种认证方式&#xff0c;只要有一种认证方式通过&#xff0c;就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式 Kubernetes集群有两类用户:由Kubernetes管理的Ser…

Linux网络编程系列之服务器编程——多路复用模型

Linux网络编程系列 &#xff08;够吃&#xff0c;管饱&#xff09; 1、Linux网络编程系列之网络编程基础 2、Linux网络编程系列之TCP协议编程 3、Linux网络编程系列之UDP协议编程 4、Linux网络编程系列之UDP广播 5、Linux网络编程系列之UDP组播 6、Linux网络编程系列之服务器编…

肿瘤科常用评估量表汇总,建议收藏!

根据肿瘤科医生的量表使用情况&#xff0c;笔者整理了10个肿瘤科常用量表&#xff0c;可在线评测直接出结果&#xff0c;可转发使用&#xff0c;可生成二维码使用&#xff0c;可创建项目进行数据管理&#xff0c;有需要的小伙伴赶紧收藏&#xff01; 肿瘤患者的ECOG评分标准 肿…

Spring中Setter注入详解

目录 一、setter注入是什么 二、setter注入详解 三、JDK内置类型注入方式 3.1 数组类型 3.2 set集合类型 3.3 list集合 3.4 map集合 3.5 properties类型 四、用户自定义类型 一、setter注入是什么 书接上回&#xff0c;我们发现在Spring配置文件中为类对象的属性赋值时&#x…

MATLAB——RBF、GRNN和PNN神经网络案例参考程序

欢迎关注“电击小子程高兴的MATLAB小屋” GRNN_PNN程序 %% I. 清空环境变量 clear all clc %% II. 训练集/测试集产生 %% % 1. 导入数据 load iris_data.mat %% % 2 随机产生训练集和测试集 P_train []; T_train []; P_test []; T_test []; for i 1:3 temp_input …

编辑器功能:用一个快捷键来【锁定】或【解开】Inspector面板

一、需求 我有一个脚本&#xff0c;上面暴露了许多参数&#xff0c;我要在场景中拖物体给它进行配置。 如果不锁定Inspector面板的话&#xff0c;每次点击物体后&#xff0c;Inspector的内容就是刚点击的物体的内容&#xff0c;而不是挂载脚本的参数面板。 二、 解决 &…

adb调试Linux嵌入式设备记录

1. ADB的全称为Android Debug Bridge&#xff0c;调试设备或调试开发的Android APP。 2.adb的windows下载安装路径&#xff1a;SDK 平台工具版本说明 | Android 开发者 | Android Developers 3.linux中安装adb,参考该链接&#xff1a; https://www.cnblogs.com/androidsu…

【OSPF Loading、FULL状态与display ospf peer brief命令、OSPF的数据库讲解】

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️ 零基…

(Python)使用Matplotlib将x轴移动到绘图顶部

移动前&#xff1a; 我们有两种方法可以实现这个目标&#xff1a; import warnings warnings.filterwarnings(ignore)import numpy as np import matplotlib.pyplot as pltcolumn_labels list(ABCD) row_labels list(WXYZ)data np.random.rand(4, 4)fig, ax plt.subplots(…

32 数据分析(下)pandas介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpypandas数据类型Series基础的SeriesSeries的字典操作增加表的索引名字和表名字索引操作 DataFrameDataFrame 的基础使用DataFrame的列方法------理解DataFrame的行列方法------使用loc 与 iloc 对齐操作SeriesDataFr…

gitlab自编译 源码下载

网上都是怎么用 gitlab&#xff0c;但是实际开发中有需要针对 gitlab 进行二次编译自定义实现功能的想法。 搜索了网上的资料以及在官网的查找&#xff0c;查到了如下 gitlab 使用 ruby 开发。 gitlab 下载包 gitlab/gitlab-ce - Packages packages.gitlab.com gitlab/gitl…

Excel冻结窗格

1、冻结表格首行 点击菜单栏中的“视图”&#xff0c;选择“窗口”选项卡中的“冻结窗格”下的小三角&#xff0c;再选择“冻结首行”&#xff1b; 2.冻结表格首列 点击菜单栏中的“视图”&#xff0c;选择“窗口”选项卡中的“冻结窗格”下的小三角&#xff0c;再选择“冻结…

linux性能分析(二)如何从日志分析 PV、UV

一 如何从日志分析 PV、UV 本文是从业务侧来衡量整个应用系统的性能,区别与上篇的网络性能分析备注&#xff1a; 这里的日志不仅指的是业务类型日志,也包括系统日志等各种类型的日志关键&#xff1a; 掌握PV和UV的概念和度量方式 "以下是关于埋点的科普文章" 埋…

gcc编译器和gdb调试工具

gcc编译器 GCC&#xff08;GNU Compiler Collection&#xff09;是一套由GNU计划开发的自由软件编译器集合&#xff0c;它支持多种编程语言&#xff0c;包括C、C、Objective-C、Fortran、Ada和Go等。GCC 是一个功能强大、稳定可靠的编译器&#xff0c;被广泛应用于各种操作系统…

jmeter(三十三):阶梯线程组Stepping Thread Group,并发线程Concurrency Thread Group

Stepping Thread Group参数详解 this group will start:表示总共要启动的线程数;若设置为 100,表示总共会加载到 100 个线程first,wait for:从运行之后多长时间开始启动线程;若设置为 0 秒,表示运行之后立即启动线程then start:初次启动多少个线程;若设置为 0 个,表示…

DH48WK 温控器参数设置

北京东昊力伟科技有限责任公司 温控仪、温度控制器 产品特点&#xff1a; 可外接温度传感器Pt100、Cu50、K、E、J、N、T、R、S、B兼容输入&#xff1b;PID控制输出、位式控制输出、继电器报警输出&#xff1b;控温能满足设定温度值的0.2℃&#xff1b;既可用于加热控制、也可…

通讯协议学习之路:USART协议理论

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 一、…

易点易动设备管理系统:提升生产企业设备保养效率的利器

在现代生产企业中&#xff0c;设备保养是确保生产线稳定运行和产品质量的关键环节。然而&#xff0c;传统的设备保养方式往往面临效率低下、数据不准确等问题&#xff0c;影响了生产效率和竞争力。随着科技的进步&#xff0c;易点易动设备管理系统应运而生&#xff0c;以其智能…

短视频矩阵系统/pc、小程序版独立原发源码开发搭建上线

短视频剪辑矩阵系统开发源码----源头搭建 矩阵系统源码主要有三种框架&#xff1a;Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架&#xff0c;提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架&#xff0c;用于将数…