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

news2025/1/15 6:59:24

这里写自定义目录标题

  • 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;
    else
        cnt <= 26'd0;
        
    always@(posedge clk or negedge rst_n)
    if(!rst_n)
        led <= 1'b0;
    else if(cnt == 26'd49_999_999)
        led <= ~led;
    else
        led <= 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.coloradmin.cn/o/1104859.html

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

相关文章

解决 Windows 7 激活信息失败报错 0xC004F057

文章目录 步骤一&#xff1a;以管理员身份运行命令提示符步骤二&#xff1a;卸载当前密钥信息步骤三&#xff1a;清除产品密钥信息步骤四&#xff1a;重新启动 Windows Activation Technologies 服务步骤五&#xff1a;重启电脑 &#x1f389;解决 Windows 7 激活信息失败报错 …

一款超好用的AI Logo生成器,免费可商用

HI&#xff0c;同学们&#xff0c;我是赤辰&#xff0c;本期是第20篇AI工具类教程&#xff0c;文章底部准备了粉丝福利&#xff0c;看完后可领取&#xff01; 在职场中&#xff0c;常常免不了需要进行Logo设计和制作&#xff0c;特别是对于非专业人员来说&#xff0c;设计Logo…

C语言文件操作(上)

文章目录 一、为什么使用文件二、什么是文件1.程序文件2.数据文件3.文件名 三、文件的打开与关闭1.文件指针2.文件的打开和关闭fopen 与 fclose 四、文件的顺序读写01 字符输出函数&#xff1a;fputs02 字符输入函数&#xff1a;fgetc03 文本行输出函数&#xff1a;fputs04 文本…

【计算机网络笔记】计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 系列文章目录时延带宽积丢包率吞吐量/率&am…

探讨Acrel-1000DP分布式光伏系统的设计与应用-安科瑞 蒋静

摘 要&#xff1a;分布式光伏发电特指在用户场地附近建设&#xff0c;运行方式以用户侧自发自用、余电上网&#xff0c;且在配电系统平衡调节为特征的光伏发电设施&#xff0c;是一种新型的、具有广阔发展前景的发电和能源综合利用方式&#xff0c;它倡导就近发电&#xff0c;就…

数据可视化工具 ,不会写 SQL 代码也能做数据分析

数据可视化工具可以帮助人们以直观、易于理解的方式展现和分析数据。这些工具使得即使不会写 SQL 代码的人也能进行数据分析&#xff0c;并从中获得有价值的信息和见解。 本文将详细介绍几种常用的数据可视化工具及其功能和优点。 1. Datainside: Datainside是一款流行的数…

jupyter崩溃OOM,out of memory,jupyter代码写不进去,保存不了。

最近写一个比较长的数据处理代码&#xff0c;有快千行&#xff0c;然后经常代码没有写入&#xff0c;然后直接网页崩溃&#xff0c;给我干蒙了。我已经是jupyter版本的问题&#xff0c;弄了半天&#xff0c;弄完&#xff0c;还是有这个问题。然后就查了一下&#xff0c;发现是j…

【操作系统】虚拟内存串讲

文章目录 概述虚拟页管理请求页表物理地址的获取虚拟页大小与内存块大小的探讨 概述 操作系统为每一个进程分配一个独立的虚拟内存空间&#xff0c;以分页系统为例&#xff0c;每个进程的虚拟页号都是从 0 开始的 不同的进程可以使用相同的虚拟页号&#xff0c;并且不会互相影…

Redis的BitMap实现分布式布隆过滤器

布隆过滤器&#xff08;Bloom Filter&#xff09;是一种高效的概率型数据结构&#xff0c;用于判断一个元素是否属于一个集合。它通过使用哈希函数和位数组来存储和查询数据&#xff0c;具有较快的插入和查询速度&#xff0c;并且占用空间相对较少。 引入依赖 <!--切面--&…

Spring Cloud 之 Feign 简介及简单DEMO的搭建

Feign简介&#xff1a; Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验。 Feign是在RestTemplate基础上封装的&#xff0c;使用注解的方式来声明一组与服务提供者Rest接口所对应的本地…

黑豹程序员-架构师学习路线图-百科:Maven

文章目录 1、什么是maven官网下载地址 2、发展历史3、Maven的伟大发明 1、什么是maven Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and…

微信小程序3

一、flex布局 布局的传统解决方案&#xff0c;基于[盒状模型]&#xff0c;依赖display属性 position属性 float属性 1、什么是flex布局&#xff1f; Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 任何一个容器都可以…

同为科技(TOWE)工业用插头插座与连接器产品大全

TOWE IPS系列工业标准插头插座、连接器系列产品 随着国内经济快速的发展&#xff0c;人们生活水平的不断提高&#xff0c;基础设施的建设是发展的基础&#xff0c;完善的基础设施对加速经济的发展起到至关重要的作用。其中&#xff0c;基础建设中机场、港口、电力、通讯等公共…

GLEIF携手TrustAsia,共促数字邮件证书的信任与透明度升级

TrustAsia首次发布嵌入LEI的S/MIME证书&#xff0c;用于验证法定实体相关的电子邮件账户的真实与完整性 2023年10月&#xff0c;全球法人识别编码基金会&#xff08;GLEIF&#xff09;与证书颁发机构&#xff08;CA&#xff09;TrustAsia通力合作&#xff0c;双方就促进LEI在数…

基础课5——语音合成技术

TTS是语音合成技术的简称&#xff0c;也称为文语转换或语音到文本。它是指将文本转换为语音信号&#xff0c;并通过语音合成器生成可听的语音。TTS技术可以用于多种应用&#xff0c;例如智能语音助手、语音邮件、语音新闻、有声读物等。 TTS技术通常包括以下步骤&#xff1a; …

医学大数据分析 - 心血管疾病分析 计算机竞赛

文章目录 1 前言1 课题背景2 数据处理3 数据可视化4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的心血管疾病分析 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9…

什么牌子的电容笔性价比高?电容笔牌子排行

在科技进步的同时&#xff0c;各种类型的电容笔也在国内的市场上涌现。一支好用的电容笔&#xff0c;不仅能让我们在学习上有很大的提高&#xff0c;而且还能让我们的工作效率大大提高。国产平替电容笔&#xff0c;在技术和品质上&#xff0c;都有很大的改进余地&#xff0c;起…

如何才能拥有大量的虾皮印尼买家号?

注册虾皮印尼买家号还是比较简单的&#xff0c;直接打开shopee印尼官网&#xff0c;点击注册&#xff0c;输入手机号&#xff0c;接收短信&#xff0c;然后再设置一个密码就可以了。 如果想要注册多个虾皮买家号&#xff0c;那么要借助软件操作才可以&#xff0c;比如shopee买家…

本地项目打jar包依赖并上传到maven仓库

一、 打jar包依赖 先去掉启动类pom中添加如下的maven打包插件 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version><c…

RN:报错info Opening flipper://null/React?device=React%20Native

背景 在 ios 上使用 debug 模式的时候&#xff0c;报错&#xff1a;info Opening flipper://null/React?deviceReact%20Native&#xff0c;我找到了这个 issue 其实也可以看到现在打开 debug&#xff0c;是 open debug&#xff0c;也不是之前的 debug for chrome 了&#xf…