FPGA——输入原理图实现按键控制发光二极管的亮灭
文章目录
- 前言
- 一、FPGA的设计流程
- 二、按键控制发光二极管的亮灭的过程
- (一)创建工程
- (二)绘制原理图
- (三)编译
- (四)分配引脚
- (五)仿真与时序分析
- (六)配置FPGA
- (七)下载结果
- 总结
前言
本文章是通过按键 KEY0 控制发光二极管 LEDG0 的亮灭,它们之间是反相的关系。并由开关 SW0 来允许和禁止这个控制功能。
一、FPGA的设计流程
- 设计输入
- 综合
- 功能仿真
- 布局布线(Fitting)
- 时序(Timing)分析、时序仿真
- 编程和配置
二、按键控制发光二极管的亮灭的过程
(一)创建工程
启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。
(二)绘制原理图
- 分析控制的原理
当 SW处于上位(1)时,按下和松开 KEY可分别控制 LED亮和灭;当 SW处于下位(0)时,LED始终亮不受 KEY的控制。 - 绘制过程实现
首先选择File->New,进入后选择Block Diagram/Schematic File
选择元件
添加输入输出,完成效果
(三)编译
将上面绘制的原理图文件保存,并开始编译。
选择菜单项 Processing→Start Compilation或者代表编译的图标
可以通过rtl View查看电路图
(四)分配引脚
查看芯片手册,得到对应的引脚
分配完成后,重新编译一次
(五)仿真与时序分析
创建一个向量波形文件,选择菜单项 File→New->VWF
添加信号
设置仿真时长,选择菜单项 Edit→End Time,这里我们设置仿真时长为1微秒
设置输入信号的值
保存文件并启动功能仿真,出现错误,进行仿真配置,选择tool->launch simulation library complier
功能仿真结果
通过波形可以看出满足设计要求,当sw为1时,led才受key的控制。
编译进行时序仿真,仿真结果
结果存在时延,跟实际更加相符。
(六)配置FPGA
- 模式配置
SW19(RUN/PROG)开关用来选择这两种配置模式中的一种,RUN 位置为JTAG 模式,PROG 位置则为 AS 模式。 我们这里使用 JTAG 模式, 请先确认 DE2 板上的 SW19 (RUN/PROG) 开关位于 RUN 位置。 - 连接设备
使用 USB 线,一端连接到开发板的 J9(BLASTER)口,另一端连接到计算机的 USB 口,开发板加电。 - 配置下载
编程器界面显示了当前检测到的编程线缆,应可以检测到USB-Blaster。如果未显示,请点击 Hardware Setup 按钮查看并检查线是否插好,存在就添加就可以了
点击Start,就开始下载,出现100%,就下载完成了
(七)下载结果
总结
整个过程,还比较简单,采用输入原理图的方式,但是当元件很多的时候,继续采用这种方式,就会很麻烦。整个过程也可采用Verilog编程的方式,主要不同的步骤就是将输入原理图的地方更改为代码输入。
FPGA——输入原理图实现按键控制发光二极管的亮灭相关推荐
- STM32F072 Nucleo笔记2-利用STM32CuBeMX创建工程并用按键控制LED的亮灭
STM32F072 Nucleo学习笔记2-利用STM32CuBeMX创建工程并用按键控制LED的亮灭 本文例子用到: 1. STM32F072 Nucleo开发板 2. STM32CubeMX软 ...
- verilog 按键控制LED的亮灭状态
主要功能:按下按键0,从左到右点亮led;按下按键1,从右到左点亮led;按下按键2时,四个led间隔亮灭:按下按键3时,点亮全部led.亮灭间隔时间为0.5s,时钟为50MHz. //author ...
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
- Proteus:单片机用按键控制LED的亮灭
题目概述: 单片机用按键控制LED的亮灭. 编程: #include <reg51.h> sbit beep=P1^5; sbit LED=P0^0; sbit k1=P1^0; void ...
- 3.按键控制LED灯亮灭
实验现象:本实验通过一个按键来控制一个发光二极管的亮灭.按键按一下LED点亮.再按一下LED熄灭. 理论学习: 该实验主要难点: 如何扫描按键的状态? 如何防抖动? 原理讲解: 按键检测原理:通过把 ...
- ZYNQ学习笔记(五)---按键控制LED灯亮灭实验
这个实验其实很早就做了,但是由于这段时间自己一直在忙一些其他的事所以没有及时更新.今天抽出个空来更新一下.本次实验是关于按键控制LED亮灭.其中涉及到的内容有计数器.按键消抖以及一些简单的逻辑. 1. ...
- 【tiny4412】按键控制led灯亮灭
前言:使用友善之臂tiny4412进行嵌入式学习,对于初学者而言并不是一件轻松事情,即使该平台已经存在很多年,网上也有很多分享,但由于官方文档相对还是不够全面,导致很多初学者遇到问题不知如何下手,如果 ...
- STM32按键控制LED灯亮灭(四)
编程要点: 1)使能GPIO端口时钟: 2)初始化GPIO目标引脚为输入模式(浮空输入): 3)编写简单测试程序,检测按键的状态,实现按键控制LED灯: bsp_led.h文件 #ifndef T_L ...
- 按键控制led灯亮灭c语言原理,4个独立按键控制4个LED亮灭的单片机程序问题
本帖最后由 ll13536121668 于 2017-11-2 17:32 编辑 4只独立按键控制4只LED亮和灭,按下按键,LED亮,再按下,LED灭.因为我们很多都是按完按键,松开手LED才亮. ...
最新文章
- 单系统站内信数据库设计思路
- linux 设备树调试必须知道的几个路径
- 大数据笔记2019.5.7
- redis存10万条数据_redis详细介绍
- mysql性能优化金字塔法则pdf_MySQL索引优化2-优化法则
- linux删除modules文件夹,linux – 为什么我不能删除这个dkms模块?
- 历时五天用 SwiftUI 做了一款 APP,阿里工程师如何做的?
- 直播P2P技术1-技术入门
- 数值分析(第五版) 第九章知识点总结
- 第三百九十一节,Django+Xadmin打造上线标准的在线教育平台—404,403,500页面配置...
- [HDOJ1823] Luck and Love(线段树,树套树)
- mac mysql57 配置文件_Mac 的mysql5.7没有配置文件,如何解决only_full_group_by 问题
- 【渝粤题库】陕西师范大学210009幼儿园健康教育作业(高起专)
- android自定义View之曲线图
- 深度学习(三):初级卷积神经网络
- idea2020配置
- java map size 不准确_java1.7以前ConcurrentHashMap的size方法
- mysql 添加列,修改列,删除列
- 3DMAX 卸载工具,完美彻底卸载清除干净3dmax各种残留注册表和文件
- java线程倒计时_Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger...