ZYNQ——按键和LED关联实验

news/2024/11/29 22:40:46/

ZYNQ 7020黑金开发板的PL端有四个LED,如下图所示。
在这里插入图片描述
PL端也有四个KEY,如下图所示。
在这里插入图片描述
本文将把这四个按键和四个LED一一对应起来,在按键按下或松开时,对应的LED产生亮或灭的信号。
在原理图中找到PL端的LED和KEY如下图所示。
在这里插入图片描述
通过看图可知,LED在低电平时亮,而按键KEY在按下时是低电平,因此本实验最后的呈现应当是:按下按键,对应的LED亮;松开按键,对应的LED灭。
该实验对应的代码如下。

module key_led(input clk,input [3:0] key,  //keydown value is 0, keyup value is 1output [3:0] led  //led lighten when low
);reg [3:0] led_d1;  //define two D Flip-flop
reg [3:0] led_d2;always@(posedge clk)
beginled_d1 <= key;
endalways@(posedge clk)
beginled_d2 <= led_d1;
endassign led = led_d2;
endmodule

添加了两个D触发器,第一级D触发器在时钟上升沿到来后记录按键的状态,并在下一个时钟上升沿到来后将本级D触发器的状态传递给第二级D触发器,然后第二级D触发器将值赋给LED。
其对应的RTL图如下图所示。
在这里插入图片描述
在到开发板上验证之前,先编写如下的仿真测试代码进行仿真。

module key_led_sim();
reg clk;
reg [3:0] key;
wire [3:0] led;initial
begin clk = 0;key = 4'b1111;#250key = 4'b1010;#250key = 4'b0101;#250key = 4'b0001;
endalways #10 clk = ~clk;key_led uut_key_led(.clk(clk),.key(key),.led(led)
);
endmodule

仿真结果如下图所示。
在这里插入图片描述
通过上述仿真结果可以看到,LED的输出是跟第二级D触发器同步的,落后第一级D触发器一个时钟周期,这与预设相一致,接下来就可以在开发板上验证了。
本实验中的引脚分配可以参照下表进行。

端口引脚
CLKU18
KEY1N15
KEY2N16
KEY3T17
KEY4R17
LED1M14
LED2M15
LED3K16
LED4J16

分配引脚的界面如下图所示。
在这里插入图片描述
引脚分配完成后就可以生成比特流文件,并将其下载到开发板进行板上验证了,开发板上的验证结果如下动图所示。
请添加图片描述
按下 PL KEY1 (2/3/4)对应的 PL LED1 (2/3/4)亮,松开后对应的 LED 熄灭。
以上就是ZYNQ——按键和LED关联实验的所有内容了!

参考资料:
ZYNQ 开发平台 FPGA 教程 AX7020


http://www.ppmy.cn/news/564676.html

相关文章

python 异步 I/O

如果你想了解异步编程&#xff0c;那么必然会涉及出许多相关概念。 堵塞/非堵塞同步/异步多进程/多线程/协程 为什么我要学习这个话&#xff0c;因为我想搞懂异步框架和异步接口的调用。所以&#xff0c;我的学习路线是这样的&#xff1a; 1.python异步编程 2.python Web异步…

优思学院|作业标准和标准化作业有何区别?傻傻搞不清?

作业标准和标准作业是两个在生产和制造环境中具有重要意义的概念。尽管它们看似相似&#xff0c;但实际上它们在定义、目的和实施方法上存在显著差异。本文将探讨作业标准和标准作业的区别&#xff0c;以及它们在工作场所中的作用和重要性。 1. 引言 在制造领域中&#xff0c…

securecrt密码与账户正确却登不上ubuntu

我的账户名为hadoop如下&#xff1a; 于是尝试用这个账户名和密码去登录ssh报错&#xff1a; 根本原因在于这个username是错的&#xff0c;应该用控制台中的名字 &#xff1a; ps&#xff1a; 密码是一样的

登不上192.168.***.***:50070

登不上192.168.***.***:50070 一、centos如果登不上192.168.***.***:50070页面&#xff0c;关闭防火墙 systemctl stop firewalld二、windows上登不上192.168.***.***:50070 原因&#xff1a;未关闭防火墙 在使用service iptables status查看防火墙状态时出现 Redirecting …

迅雷的问题?

昨天用迅雷下载,一个3.3G的的文件,不知道速度太快,还是英文版的vista和迅雷不兼容.速度10M/S就死机. 然后只好用IE下,呵呵也快啊.要是都是学校里这速度就好了 。 羡慕吧&#xff01;&#xff01;

谷歌浏览器Chrome不能登录不能同步解决方法

参考链接&#xff1a; 参考1 参考2 1、下载一个chrome插件&#xff0c;链接&#xff1a;点击下载插件 密码&#xff1a;p0kc 2、将下载的.CRX格式的插件修改成.zip&#xff08;或.rar)格式的文件。 3、对该zip文件解压缩&#xff0c;得到一个文件夹。&#xff08;打开文件夹&am…

解决google浏览器无法登录及同步

步骤 使用谷歌插件&#xff1a;Chrome-Sync-Helper&#xff08;百度云资源在文末&#xff09; 1、解压压缩文件。 2、点击拓展程序&#xff0c;让google绑定该插件。 3、然后登录下google账号&#xff0c;就可以使用同步功能了。 4、从下面链接提取google插件【Chrome-Sync…

三大云平台的数据库方面

一、阿里云 关系型数据库 云原生数据库PolarDB MySQL 版 阿里云自研产品&#xff0c;100%兼容 MySQL。产品具有多主多写、多活容灾、HTAP特性&#xff0c;交易性能最高可达开源数据库的6倍&#xff0c;分析性能最高可达开源数据库的400倍&#xff0c;TCO 低于自建数据库50% 云…