ZynqMP Vivado2021.1 PL 点亮LED

2024-02-10 14:32

本文主要是介绍ZynqMP Vivado2021.1 PL 点亮LED,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

文章目标:用PL的IO点亮一个LED灯。

硬件环境:Xilinx ZynqMP XCZU4EV-SFVC784-1-I

硬件引脚:LED - AE15, Key- AE14, 200MHz晶振 - AE5

软件环境:Ubuntu20.04LTS + Vivado2021.1 + Vitis2021.1

新建Vivado工程:

1、打开Vivado2021.1,创建一个工程,取消勾选创建子目录(根据实际情况而定)。默认Next。

 2、输入选择Xilinx CPU 主控芯片,其余默认Next,最后Finish。

小技巧:记忆很长的芯片名字,最好的办法就是联想记忆法。

如:xczu4ev-sfvc784-1-i;联想:小丑族4恶女敢私发VC784敢医敢爱。

创建 Verilog HDL 文件点亮 LED

1、点击添加源码。

2、添加或者创建设计源码。Next。

 3、点击创建文件,输入文件名,如led。最后一直点击OK。

 

添加led.v代码

       定义了一个 32 位的寄存器 timer, 用于循环计数 0~199999999(1 秒钟),计数到 199999999(1 秒)的时候, 寄存器 timer 变为 0,并翻转四个 LED。这样原来 LED 是灭的话,就会点亮,如果原来 LED 为亮的话,就会熄灭。 由于输入时钟为 200MHz 的差分时钟,因此需要添加 IBUFDS 原语连接差分信号.

`timescale 1ns / 1ps
module led(//Differential system clockinput sys_clk_p,input sys_clk_n,input rst_n,output reg led);
reg[31:0] timer_cnt;
wire sys_clk ;
IBUFDS IBUFDS_inst (.O(sys_clk), // Buffer output.I(sys_clk_p), // Diff_p buffer input (connect directly to top-level port).IB(sys_clk_n) // Diff_n buffer input (connect directly to top-level port));
always@(posedge sys_clk)
beginif (!rst_n)beginled <= 1'b0 ;timer_cnt <= 32'd0 ;endelse if(timer_cnt >= 32'd199_999_999) //1 second counter,200M-1=199999999beginled <= ~led;timer_cnt <= 32'd0;endelsebeginled <= led;timer_cnt <= timer_cnt + 32'd1;end
end
endmodule

添加管脚约束

1、添加或者创建约束,输入文件名。

 2、在约束文件led.xdc下添加如下代码

set_property PACKAGE_PIN AE5 [get_ports sys_clk_p]
set_property PACKAGE_PIN AE14 [get_ports rst_n]
set_property PACKAGE_PIN AE15 [get_ports led]
set_property IOSTANDARD LVCMOS33 [get_ports led]
set_property IOSTANDARD LVCMOS33 [get_ports rst_n]
set_property IOSTANDARD DIFF_SSTL12 [get_ports sys_clk_p]create_clock -period 5.000 -name sys_clk_p -waveform {0.000 2.500} [get_ports sys_clk_p]

生成bitstream文件

1、点击右侧状态栏的“生成bitstream”,编译生成bitstream文件。

2、这里和 CPU 核心数有关,一般数字越大,编译越快。

 

 3、右上角有个“圈圈”在转,表示正在编译,等待圈圈转完即编译生成bitstream完成。

 

 烧录下载

1、板子上电,接上JTAG。点击右侧状态栏的“打开硬件管理”,连接主控ZynqMP芯片。

2、烧录bit文件到板子上运行。

 

选择烧录的bit文件,一般这项不需要更改。

 

 等待烧录完成。

 

效果

 

全篇完。

本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解,记录成长笔记。
若有与 大神大大 见解有歧义,我绝对坚信 大神大大 见解是对的,我的是错的。
感谢~!
 

这篇关于ZynqMP Vivado2021.1 PL 点亮LED的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697360

相关文章

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。 当然也可以选择只使用一个电阻。 软件程序设计 正常流水LED灯 因为要用到多个GPIO引脚,所以最好把所有的GPI

什么是LED智能会议一体机?COB超微小间距LED会议一体机大势所趋

LED智能会议一体机,作为现代会议室革新的核心装备,正逐步颠覆传统会议模式的界限。它不仅仅是一台集成了高清显示、触控互动、音视频处理及远程协作等功能于一体的智能设备,更是推动会议效率与体验双重飞跃的关键力量。随着技术的不断进步,特别是COB(Chip On Board)超微小间距LED技术的引入,LED智能会议一体机正迎来前所未有的发展机遇,成为大势所趋。 COB技术通过将LED芯片直接封装在基

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

全倒装COB超微小间距LED显示屏的工艺技术,相比SMD小间距有何优势

全倒装COB(Chip On Board)超微小间距LED显示屏,在工艺技术上的革新,相较于传统的SMD(Surface Mount Device)小间距LED显示屏,展现出了多方面的显著优势。 首先,全倒装技术极大地提升了LED芯片的散热性能。通过将芯片直接焊接在基板上,减少了热阻,使得热量能够更快速地传导至基板并散发出去,有效避免了因高温导致的光衰和色彩偏移问题,从而保证了显示屏的长期稳定性

利用PL/SQL工具如何给指定用户分配权限

选中指定的表--右键--编辑--就出现右边的内容了,选择权限,分配用户某个权限就行了;

PL/SQL工具创建Oracle数据库表,实现id字段的自动递增

通过PL/SQL工具,创建Oracle数据库表,如何实现字段ID自动递增; Oracle的自增需要依靠序列和触发器共同实现 比如:先创建一个表 create table test (id int primary key, name varchar2(10)); 创建一个序列 create sequence test_seq increment by 1 start with 1  min

利用PL/SQL工具连接Oracle数据库的时候,报错:ORA-12638: 身份证明检索失败的解决办法

找到相对应的安装目录:比如:E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 在里面找到:SQLNET.AUTHENTICATION_SERVICES= (NTS) 将其更改为:SQLNET.AUTHENTICATION_SERVICES= (BEQ,NONE) 或者注释掉:#SQLNET.AUTHENTICATION_SERVICES= (N

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕,型号是HYT13264,这个是淘宝上面的老王2.9元屏,成色很好但是长期库存没有资料和代码能点亮,仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先,已知别人找出来的线序如下 1 - CS2 - RST 3 - DC4 - SCK5 - SDA6 - VCC7 - GND8 - K59 - K410

PL/SQL使用技巧

Oracle数据库相信已成为很多企业构建自身关键业务的重要后台支撑,也是众多开发人员常常采用的后台。但Oracle自己提供的一套客户端工具不是很好用,极大的影响了工作效率,幸好现在有了PL/SQL Developer这款工具。现在越来越多的开发人员成了它的忠实fans。本文就是立足于实用的基础上,总结了了改工具的常用技巧: 1.记住登陆密码 为了工作方便希望PL/SQL Devel

RK3288 点亮LVDS屏

本文记录调试 LVDS接口屏的一些关键步骤,主要是dts文件中关于 频率、分辨率 、时序参数的设置  环境: RK3288 9tripod CV5  linux 4.4.189 LCD:JYT121XQ01 (追曦 DS1212)12.1电容触控屏   查看屏幕规格书    只要在rockchip dts 中 设置 T(HB)=Thb+Thf+Thsyn=320clock  T