侵权投诉

【ZYNQ Ultrascale+ MPSOC FPGA教程】第九章Vivado下按键实验

FPGA技术专栏 2021-01-22 09:46 次阅读

原创声明:

本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。

适用于板卡型号:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P/AXU9EG/AXU15EG

实验Vivado工程为“key_test”。

按键是FPGA设计当中最常用也是最简单的外设,本章通过按键检测实验,检测开发板的按键功能是否正常,并了解硬件描述语言和FPGA的具体关系,学习VivadoRTLANALYSIS的使用。

1.按键硬件电路

pIYBAGAKLnqAHewuAAAv78-MzNQ934.jpg

开发板按键部分电路

从图中可以看到,电路的按键松开时是高电平,按下时是低电平。

o4YBAGAKLnuAAO2wAAAZU_SjPK8364.jpg开发板LED部分电路

而LED部分,高电平灭,低电平亮

2.程序设计

这个程序没有设计的很复杂,通过简单的硬件描述语言看透硬件描述语言和FPGA硬件的联系。首先我们将按键输入经过一个非门后再经过2组D触发器。经过D触发器的信号,会在D触发器时钟输入的上升沿锁存然后再送到输出。

pIYBAGAKLnuASN2kAAARqjXZU2w585.jpg

在进行硬件描述语言编码之前,我们已经把硬件构建完成,这是一个正常的开发流程。有了硬件设计思路无论是通过画图还是通过VerilogHDL、VHDL都能完成设计,根据设计的复杂程序和对某种语言的熟悉程序来选择工具。

3.创建Vivado工程

3.1首先建立按键的测试工程,添加verilog测试代码,完成编译分配管脚等流程。

o4YBAGAKLnuAYQEFAABF9LS2z-8045.jpg

`timescale1ns/1psmodulekey_test(inputclk,//systemclock25Mhzonboardinput[3:0]key,//inputfourkeysignal,whenthekeydown,thevalueis0output[3:0]led//LEDdisplay,whenthesiganllow,LEDlighten);reg[3:0]led_r;//definethefirststageregister,generatefourDFlip-flopreg[3:0]led_r1;//definethesecondstageregister,generatefourDFlip-flopalways@(posedgeclk)beginled_r<=  key;//first stage latched dataendalways@(posedge clk)begin
	led_r1 <= led_r;//second stage latched dataendassign led = led_r1;endmodule

3.2我们可以使用RTLANALYSIS工具查看设计

pIYBAGAKLnyAKsBHAACLjTMqptU149.jpg

3.3分析RTL图,可以看出两级D触发器,和预期设计一致。

o4YBAGAKLn2AAFKTAAAgq7EJw_w512.jpg

4.板上验证

Bit文件下载到开发板以后,开发板上的"PLLED"处于亮状态,按键“PLKEY1”按下“PLLED1”灭。

收藏 人收藏
分享:

评论

相关推荐

国产FPGA应用领域和全球竞争格局

AI芯片主要分为CPU 、GPU、FPGA以及ASIC。其中以CPU、GPU、FPGA、ASIC的顺....
的头像 电子发烧友网工程师 发表于 03-05 15:50 122次 阅读
国产FPGA应用领域和全球竞争格局

FPGA的基本知识以及未来发展趋势

FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门....
的头像 电子发烧友网工程师 发表于 03-05 15:34 102次 阅读
FPGA的基本知识以及未来发展趋势

FPGA中如何通过JTAG固化程序?

  学习了 FPGA 一段时间,简单的设计仿真验证以及有所熟悉,今天将学习通过 JTAG 固化程序。....
的头像 电子发烧友网工程师 发表于 03-05 15:17 128次 阅读
FPGA中如何通过JTAG固化程序?

使用FPGA实现RS232串口收发的仿真资料说明

网上关于RS-232 的异步收发介绍得很多,最近没事学着摸索用ModelSim 来做时序仿真,就结合....
发表于 03-05 14:49 9次 阅读
使用FPGA实现RS232串口收发的仿真资料说明

如何使用FPGA实现SDRAM控制器的IP核的设计

 1.SDRAM使用越来越广泛。 2.SDRAM具有存储容量大,速率快的特点。 3.SDRAM对....
发表于 03-05 14:49 13次 阅读
如何使用FPGA实现SDRAM控制器的IP核的设计

贸泽电子发布全新RISC-V资源页面

贸泽的新RISC-V资源网站提供了一系列关于该技术的创新应用文章,例如连接互联网的AI面部检测、开源....
发表于 03-05 14:33 194次 阅读
贸泽电子发布全新RISC-V资源页面

使用FPGA实现TDC的设计报告资料说明

TDC英文全名叫 Time to Digital Converter,即时间数字转换器。TDC广泛应....
发表于 03-05 11:47 17次 阅读
使用FPGA实现TDC的设计报告资料说明

开关稳压器的保护功能和可编程功能有什么作用?

有些保护功能可以由用户调整阈值等支持各种条件,但是对在功能方面了解不多,有人可以简单介绍开关稳压器代表性保护功能和可编程...
发表于 03-05 08:03 0次 阅读
开关稳压器的保护功能和可编程功能有什么作用?

NAND FLASH怎么驱动?NAND FALSH的原理及应用能否帮忙解答

基于NIOS II 软核的NAND FLASH的驱动方法是什么?
发表于 03-05 07:43 0次 阅读
NAND FLASH怎么驱动?NAND FALSH的原理及应用能否帮忙解答

7系列FPGA DSP48E1片的特点什么?

7系列FPGA DSP48E1片的特点什么
发表于 03-05 06:26 0次 阅读
7系列FPGA DSP48E1片的特点什么?

FPGA入门系列15--SPI总线介绍

SPI flash 芯片应用十分广泛,在很多电子产品上面或多或少都有它的踪影,如手机、数码、液晶显示....
的头像 FPGA技术联盟 发表于 03-04 16:41 103次 阅读
FPGA入门系列15--SPI总线介绍

如何去确认JTAG口已经损坏了呢?

最近我就遇到了这类事情,FPGA的JTAG口突然就不能下载程序了,而且这种事情已经不是第一次了,之前....
的头像 嵌入式ARM 发表于 03-04 16:14 101次 阅读
如何去确认JTAG口已经损坏了呢?

QUartus II进行编译的时候,出现警告,大概是说pll无法50MHz得到到246MHz的频率,最高只能到85MHZ

下面是完整的警告信息,选的芯片是altera的EP4CE15F17C8N,手册上不是说最高可以得到400多MHz的频率吗,为什么会有这个...
发表于 03-04 15:32 111次 阅读
QUartus II进行编译的时候,出现警告,大概是说pll无法50MHz得到到246MHz的频率,最高只能到85MHZ

《电子系统设计与实战STM32 FPGA控制版》经典书籍分享!

本书整个系统采用“微控制器+FPGA"”为核心控制,加上独立功能模块的系统架构。电源模块包括系统供电、电源滤波、模拟数字共地...
发表于 03-04 15:31 252次 阅读
《电子系统设计与实战STM32 FPGA控制版》经典书籍分享!

基于FPGA的激光投影键盘论文

基于FPGA的激光投影键盘论文
发表于 03-04 10:54 0次 阅读
基于FPGA的激光投影键盘论文

基于EPIC12和TMS320C6713B实现数字电路电源系统的设计

系统采用Altera公司的Cyclone系列EPIC12型号FPGA和TI公司的TMS320C671....
发表于 03-04 10:33 399次 阅读
基于EPIC12和TMS320C6713B实现数字电路电源系统的设计

FPGA初学者的必修课:FPGA跨时钟域处理3大方法

跨时钟域处理是FPGA设计中经常遇到的问题,而如何处理好跨时钟域间的数据,可以说是每个FPGA初学者的必修课。如果是还在...
发表于 03-04 09:22 101次 阅读
FPGA初学者的必修课:FPGA跨时钟域处理3大方法

现场可编程阵列数字信号处理的详细资料说明

现场可编程门阵列(fpga)正以可编程数字信号处理器(pdsp)近二十年前的方式,在数字信号处理领域....
发表于 03-04 08:00 42次 阅读
现场可编程阵列数字信号处理的详细资料说明

为什么FPGA成为设计ADAS的首选?

定制和灵活性是设计ADAS的关键。这就是为什么FPGA成为首选的原因-例如,与ASIC相反。 高级驾....
的头像 汽车电子硬件设计 发表于 03-03 17:53 385次 阅读
为什么FPGA成为设计ADAS的首选?

CORD IC算法如何才能在FPGA中实现

CORD IC算法是在许多角度计算方面有着广泛应用的经典算法,通过考虑FPGA 的结构、精度局限和速....
发表于 03-03 15:55 14次 阅读
CORD IC算法如何才能在FPGA中实现

使用FPGA设计三相变频电源系统的详细资料说明

基于现场可编程门阵列(Field Programmable Gate Array,FPGA)设计了一....
发表于 03-03 15:03 22次 阅读
使用FPGA设计三相变频电源系统的详细资料说明

FPGA开发全攻略

FPGA开发全攻略
发表于 03-03 10:30 0次 阅读
FPGA开发全攻略

形态学滤波算法的FPGA硬件实现

一、背景介绍 基于二值图像的滤波算法即形态学滤波,在图像目标采集的预处理中经常被使用到,针对不同的使....
的头像 FPGA自习室 发表于 03-03 10:20 128次 阅读
形态学滤波算法的FPGA硬件实现

如何利用FPGA实现一个ROM

如何利用FPGA实现一个ROM FPGA片内ROM测试实验 ...
发表于 03-03 06:47 0次 阅读
如何利用FPGA实现一个ROM

怎么实现嵌入式系统从串配置FPGA

基于ARM的嵌入式系统从串配置FPGA的实现
发表于 03-03 06:16 0次 阅读
怎么实现嵌入式系统从串配置FPGA

如何使用FPGA实现三相变频电源系统的设计

基于现场可编程门阵列(Field Programmable Gate Array,FPGA)设计了一....
发表于 03-02 18:14 21次 阅读
如何使用FPGA实现三相变频电源系统的设计

如何使用FPGA实现DDS数字移相信号发生器的原理

本文讨论了基于FPGA芯片的直接数字频率合成器(DDS)的设计方法。因为DDS 的实现依赖于高速、高....
发表于 03-02 17:11 33次 阅读
如何使用FPGA实现DDS数字移相信号发生器的原理

在Petalinux中应该如何确认dev目录下设备的对应关系?

通常 Kernel 一加载起来,大家能在/dev目录下可以看到一大堆的设备。这些设备都是 Kerne....
的头像 FPGA开发圈 发表于 03-02 14:34 97次 阅读
在Petalinux中应该如何确认dev目录下设备的对应关系?

使用FPGA实现ROM的正弦波发生器详细资料说明

本文档的主要内容详细介绍的是使用FPGA实现ROM的正弦波发生器详细资料说明免费下载。
发表于 03-02 13:52 20次 阅读
使用FPGA实现ROM的正弦波发生器详细资料说明

FPGA与单片机实现串行通信的资料详细说明

介绍了单片机与FPGA 异步串行通信的实现方法,给出了系统结构原理框图及其部分VHDL 程序,并定义....
发表于 03-02 13:52 26次 阅读
FPGA与单片机实现串行通信的资料详细说明

浅谈国产FPGA迈向高端的三大挑战

相比几十亿出货量,市场规模千亿美元的CPU和GPU,市场规模还未超百亿美元的FPGA并非大众关注的焦....
发表于 03-02 09:53 662次 阅读
浅谈国产FPGA迈向高端的三大挑战

如何使用ARM和FPGA实现圆网印花机控制器

根据传统圆网印花机的结构以及存在的问题,提出了基于ARM和FPGA的嵌入式圆网印花机控制器的设计方案....
发表于 03-01 16:51 39次 阅读
如何使用ARM和FPGA实现圆网印花机控制器

TDMA基础帧的仿真与FPGA实现的详细资料说明

TDMA,即Time Division Multiple Access 时分多址,时分多址是把时间分....
发表于 03-01 15:25 57次 阅读
TDMA基础帧的仿真与FPGA实现的详细资料说明

Vivado 开发教程(四) 行为仿真

本文介绍如何在教程(三)基础上, 关联ELF输出文件并使用vivado对系统进行行为仿真。
发表于 03-01 10:25 8次 阅读
Vivado 开发教程(四) 行为仿真

FPGA技术及其发展趋势探讨

在电子设计中FPGA 技术得到了广泛应用,而且还成为电子系统构建中的主要手段,本文章首先对FPGA ....
发表于 02-28 11:31 50次 阅读
FPGA技术及其发展趋势探讨

Sparrow开发板电路原理图免费下载

Sparrow开发板原理图,版本C。 包含Cyclone IV EP4CE15F23C8 FPGA,....
发表于 02-28 08:00 21次 阅读
Sparrow开发板电路原理图免费下载

如何在FPGA芯片中支持不同的IO电平标准

上述一些I/O标准要求VCCO和/或VREF电压。这些电压由外部提供并连接到为IOB组(称为组)提供....
发表于 02-26 17:23 64次 阅读
如何在FPGA芯片中支持不同的IO电平标准

SERDES FPGA设计手册免费下载

为了学习xilinx serdes 原语的使用,以及交流学习经验,在工程项目中方便的应用SERDES....
发表于 02-26 10:04 37次 阅读
SERDES FPGA设计手册免费下载

FPGA的基本结构详细说明

FPGA 由6 部分组成, 分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM 、丰富的....
发表于 02-25 17:55 129次 阅读
FPGA的基本结构详细说明

Xilinx正在极大地发展FPGA市场

赛灵思本周针对数据中心发布了一系列声明,例如该公司推出了新系列的可编程网络100Gb / s Sma....
的头像 我快闭嘴 发表于 02-25 14:15 326次 阅读
Xilinx正在极大地发展FPGA市场

【紫光同创国产FPGA教程】【第十八章】AD实验之AD7606波形显示

本实验练习使用ADC,实验中使用的ADC模块型号为AN706,最大采样率200Khz,精度为16位。....
的头像 FPGA技术专栏 发表于 02-25 11:20 982次 阅读
【紫光同创国产FPGA教程】【第十八章】AD实验之AD7606波形显示

如何使用DSP和FPGA实现导航计算机系统的信息融合研究

本文首先简单介绍某小型基于DSP 和FPGA 的导航计算机系统,然后根据其子系统输出的有效信息设计可....
发表于 02-25 11:06 24次 阅读
如何使用DSP和FPGA实现导航计算机系统的信息融合研究

如何实现两块FPGA之间的通信总结

1、两块fpga 之间采用12 根线连接,包括8 根数据线, 2 根同步时钟线, 2 根使能信号线。
发表于 02-25 09:58 48次 阅读
如何实现两块FPGA之间的通信总结

【紫光同创国产FPGA教程】【第十七章】AD实验之AD9238波形显示

本实验练习使用ADC,实验中使用的ADC模块型号为AN9238,最大采样率65Mhz,精度为12位。....
的头像 FPGA技术专栏 发表于 02-24 14:47 790次 阅读
【紫光同创国产FPGA教程】【第十七章】AD实验之AD9238波形显示

【紫光同创国产FPGA教程】【第十六章】SOBEL边缘检测例程

在图像中,“边缘”指的是临界的意思。一幅图像的“临界”表示为图像上亮度显著变化的地方,边缘指的是一个....
的头像 FPGA技术专栏 发表于 02-24 14:46 942次 阅读
【紫光同创国产FPGA教程】【第十六章】SOBEL边缘检测例程

【Vivado那些事】Vivado下怎么查看各子模块的资源占用?

完成Implementation后,在Vivado IDE左侧的Flow Navigator点击Op....
发表于 02-24 07:41 17次 阅读
【Vivado那些事】Vivado下怎么查看各子模块的资源占用?

2021年将成为激光雷达前装规模量产元年

预计2023年搭载车型产量突破30万, 2030年全球前装量产市场规模将超230亿美元。激光雷达乃高....
的头像 我快闭嘴 发表于 02-23 10:05 1008次 阅读
2021年将成为激光雷达前装规模量产元年

基于FPGA cylone II芯片实现智能脉冲电源的设计

只有设计出了高频率的、参数化的脉冲发生器,脉冲加工电源的精度、参数化才可以实现。该电源系统中采用的是....
发表于 02-23 10:01 1106次 阅读
基于FPGA cylone II芯片实现智能脉冲电源的设计

正则表达式在Vivado约束文件(xdc)中的应用(转)

我在xdc文件中匹配目标的时候,在可行的情况下更倾向于使用正则表达式。本文就介绍一下我常使用的正则表....
发表于 02-23 07:21 13次 阅读
正则表达式在Vivado约束文件(xdc)中的应用(转)

Enclustra瑞苏盈科_极速开启您的FPGA项目

FPGA特有的技术复杂性可以用强大的标准FPGA或SoC核心板模块封装,这使硬件设计甚至比使用传统的....
发表于 02-22 14:02 929次 阅读
Enclustra瑞苏盈科_极速开启您的FPGA项目

【FPGA ZYNQ Ultrascale+ MPSOC教程】33.BRAM实现PS与PL交互

有时CPU需要与PL进行小批量的数据交换,可以通过BRAM模块,也就是Block RAM实现此要求。....
的头像 FPGA技术专栏 发表于 02-22 13:51 695次 阅读
【FPGA ZYNQ Ultrascale+ MPSOC教程】33.BRAM实现PS与PL交互

【紫光同创国产FPGA教程】【第十五章】OV5640摄像头显示例程

OV5640的寄存器配置是通过FPGA的I2C(也称为SCCB接口)接口来配置。用户需要配置正确的寄....
的头像 FPGA技术专栏 发表于 02-22 13:45 630次 阅读
【紫光同创国产FPGA教程】【第十五章】OV5640摄像头显示例程

正点原子:FPGA视频教程

我们都知道FPGA是一个很难入门行业,对于专业知识要求也比较高,但是一旦掌握这一行的知识,薪资待遇还....
的头像 发烧友实验室 发表于 02-20 17:44 894次 阅读
正点原子:FPGA视频教程

【紫光同创国产FPGA教程】【第十四章】SD卡读取BMP图片显示例程

本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明....
的头像 FPGA技术专栏 发表于 02-20 13:44 608次 阅读
【紫光同创国产FPGA教程】【第十四章】SD卡读取BMP图片显示例程

Vivado生成bit流失败,怎么解决?

使用Vivado Runs基础结构时(例如,launch_runs Tcl命令),请将此命令添加到.....
发表于 02-20 06:02 43次 阅读
Vivado生成bit流失败,怎么解决?

【紫光同创国产FPGA教程】【第十三章】字符显示实验

在HDMI测试实验中讲解了HDMI显示原理和显示方式,本实验介绍如何使用FPGA实现字符显示,通过这....
的头像 FPGA技术专栏 发表于 02-19 13:43 579次 阅读
【紫光同创国产FPGA教程】【第十三章】字符显示实验

【紫光同创国产FPGA教程】【第十二章】SD卡音乐播放例程

WAV文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resour....
的头像 FPGA技术专栏 发表于 02-19 13:42 771次 阅读
【紫光同创国产FPGA教程】【第十二章】SD卡音乐播放例程

【紫光同创国产FPGA教程】【第十一章】录音与播放例程

开发板通过40PIN的扩展口和AN831音频模块连接,AN831音频模块使用WOLFSON公司的WM....
的头像 FPGA技术专栏 发表于 02-19 13:41 767次 阅读
【紫光同创国产FPGA教程】【第十一章】录音与播放例程

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 243次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 160次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器