《FPGA学习》->点亮一颗LED灯

2023-05-16

🍎 与其担心未来,不如现在好好努力。在这条路上,只有奋斗才能给你安全感。你若努力,全世界都会为你让路。

大家刚开始接触硬件编程的话,我想大多都是从点亮一颗LED灯开始,学习FPGA也不例外,接下来我们就从点亮一颗LED灯开启我们的学习之旅,不过要有一些数电基础和Verilog HDL语言基础哦~

上图是我们的硬件的一个电路图,如果想要灯亮的话,例如LED0点亮的话,我们需要在LED0口给一个低电平,这时候LED0就会被点亮,即LED0 = 0;反之,如果想要让LED0熄灭,就在LED0口给一个高电平,即LED0 = 1;有单片机基础的同学们应该会很熟悉。但是在verilog HDL语言中,我们对信号的赋值采用 [位宽]+[数据类型]+[数据] 的方式,例如想要LED0灯点亮,即LED0 = 1'b0;接下来我们开始编写程序,点亮一颗LED灯。

module LED(              //定义一个模块,名称为LED
    output wire LED1     //定义LED1为输出模式
);
    assign LED1 = 1'b0; //把1位宽的0赋值给LED1

endmodule               //模块结束

编译后的RTL电路图如下:

接下来,我们增加难度,添加一个按键用来控制LED灯的亮灭,首先我们来看一下电路图,在按键未按下时,KEY1端口的电平保持高电平,当按键按下时,KEY1端口的电平会被拉低,知道了按键的使用,我们就设计一个小任务,就是当按键未按下时,LED1为亮,当按键按下时,LED1未为灭。代码如下:

module LED(              //定义一个模块,名称为LED
    input wire KEY1,     //定义KEY1为输入模式

    output wire LED1     //定义LED1为输出模式
);
    assign LED1 = ~KEY1;//把KEY1取反后的结果赋值给LED1

endmodule               //模块结束

编译后的RTL电路图如下:

🔥🔥🔥本系列文章持续更新,喜欢的话可以关注收藏~🔥🔥🔥

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《FPGA学习》->点亮一颗LED灯 的相关文章

  • C++学习小记之代码重用问题(1)

    C 43 43 Primer Plus第六版第14章程序清单14 2给的示例代码中有以下两段代码 xff1a double amp Student operator int i return scores i double Student
  • 出现“ ‘xxx‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。”的一个解决方法

    XXX 不是内部或外部命令 xff0c 也不是可运行的程序或批处理文件 前提是已经安装成功某一个插件 有时候 xff0c 我们想用cmd xff08 以管理员身份运行 xff09 执行命令的时候 xff0c 总会出现 XXX 不是内部或外部
  • RK算法分析

    这一节介绍一下由Rabin和Karp提出的RK算法 1 xff0c RK算法的基本思想 HASH xff01 如果两个字符串hash后的值不相同 xff0c 则它们肯定不相同 xff1b 如果它们hash后的值相同 xff0c 它们不一定相
  • Xilinx ZYNQ FreeRTOS+Tracealyzer(移植)

    PL端配置 使用ZYNQ IP Core 打开串口 网口等所需接口 新手注意 xff1a 需要生成bit文件后 xff0c 并输出相应硬件平台 xff0c 网上教程很多 xff0c 请参考其它教程 PS端配置 1 创建任务 xff0c 注意
  • Openmv学习day2——AprilTag

    仅作为个人学习 xff0c 原文地址 xff1a 链接 link AprilTag的简介 AprilTag是一个视觉基准系统 xff0c 可用于各种任务 xff0c 包括AR xff0c 机器人和相机校准 这个tag可以直接用打印机打印出来
  • JS进行简单的表单验证(附详细代码)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 一 JS表单验证是什么 xff1f 一 JS表单验证需求分析 xff1f 三 表单验证所需事件设置from表单及其文本框 xff
  • FreeRTOS学习(三)FreeRTOS任务基础知识

    FreeRTOS任务基础知识 1 FreeRTOS任务特性2 FreeRTOS的任务状态3 任务优先级4 任务调度方式5 任务控制块6 任务堆栈 1 FreeRTOS任务特性 特性1 xff1a 任务数量没有限制 xff0c 想要创建多少个
  • 如何写串口通信

    1 初始化串口 void USART INIT void GPIO InitTypeDef GPIO InitStructure 使能USART1 RCC APB2PeriphClockCmd RCC APB2Periph USART1 E
  • 树莓派WiFi连接问题及网页打开问题的解决

    树莓派WiFi连接问题及网页打开问题的解决 一 问题描述 前一段时间在网上买了一个树莓派 4b计划做一个人脸识别的智能锁 xff0c 前一段时间整赶上期末考试 xff0c 挤时间做了做人脸识别以及人体红外感知模块 xff0c 大致能简单实现
  • windows双系统如何删除ubuntu系统并重装

    电脑装有windows和Ubuntu双系统 xff0c 当需要重装Ubuntu时 xff0c 需要先卸载掉已经安装的Ubuntu系统 博主电脑安装的是Windows10和Ubuntu20 04LTS 现在需要卸载Ubuntu20 04 xf
  • 全网最全的MCU面试经(基于STM32F103)

    免责声明 提示 xff1a 写本文章的缘由 xff1a 本人在秋招时复习STM32有关的知识点 xff0c 便顺势记录下来 本文章的知识均属于各大论坛的大佬回答 xff0c 其中也有我的一些补充 xff0c 本文主要以自己对STM32的理解
  • Quartus II和Modelsim初学踩坑笔记

    Quartus II和Modelsim初学踩坑笔记 1 软件安装 网上有关软件安装的教程已经足够多了 xff0c 这里不再赘述 xff0c 但我要提醒的一点是 xff0c 不要把软件和之后创建的项目工程放在中文路径下面 本文使用的软件环境是
  • HDLBits刷题记录--Modules:Hierarchy

    HDLBits刷题记录 Modules Hierarchy Module 电路图 xff1a 代码 xff1a module top module span class token punctuation span input a span
  • C++中SORT函数使用方法

    一 sort函数 1 sort函数包含在头文件为 include lt algorithm gt 的c 43 43 标准库中 xff0c 调用标准库里的排序方法可以实现对数据的排序 xff0c 但是sort函数是如何实现的 xff0c 我们
  • Window下LaTex+VS Code的配置

    目录 前言 一 软件下载二 软件安装1 TexLive安装2 VS Code及插件安装 三 配置 VS Code四 简单测试一下五 进阶操作及可能遇到的问题1 前向搜索和反向搜索2 编译带参考文献的 tex文件 前言 考虑本文受众有新手小白
  • 与 vmx86 驱动程序的版本不匹配解决方法

    一个新手可能遇到的问题 第一次安装完VMware后 xff0c 启动时可能会遇到问题 xff1a 与 vmx86 驱动程序的版本不匹配 预期为xxx 实际为 xxx 驱动程序 vmx86 sys的版本不正确 如下图 xff1a 解决方法 x
  • 汽车电子系统知识积累

    文章目录 前言一 汽车电子系统的分类1 电子控制汽车电子控制系统2 电子控制车载汽车电子系统 二 分类及详述1 动力2 底盘3 车身4 娱乐 总结 前言 汽车电子系统是以汽车电子技术为基础的汽车结构 一 汽车电子系统的分类 按照电子系统对汽
  • Jetson Xavier NX 学习(一),安装sd卡镜像

    Jetson Xavier NX 学习 xff08 一 xff09 xff0c 安装sd卡镜像 说明个人说明了解JetPack SDK下载镜像将图像写入microSD卡启动查看设置 说明 Jetson Xavier NX可为运行现代AI工作
  • 服务器ssh远程连接失败

    服务器远程ssh连接失败解决方案 查看ssh服务状态 systemctl status sshd service 正常应该是下图情况 xff1a xff08 running xff09 绿色即为正常状态 在这里插入图片描述 如果正常查看后面
  • Day1--FreeRTOS简介及多任务点灯、多任务传参、Mutex

    实时操作系统 xff08 Real Time Operating System xff0c 简称RTOS xff09 Arduino任务执行流程 xff1a 单线程执行任务 RTOS xff1a 可以同时执行所有Task xff0c 每个任

随机推荐

  • Day3--流媒体缓存、消息缓存(重要)、直接任务通知

    FreeRTOS 10以后引入了一个新的数据类型就是 Stream Buffer 它和Queue最大的不同就是 xff0c Stream Buffer读写的大小没有限制 xff0c 而Queue是预设值好固定的值 Stream Buffer
  • 51安居安防手电筒拆解

    51安居安防手电筒拆解 相遇就是缘分 xff0c 欢迎 51安居这款手电筒有照明LED灯 安全锤 强力磁铁 手摇发电机 应急闪光灯 FM收音机 警报喇叭等非常多的功能 xff0c 但是自己维修比较困难 我的长辈在外面买了51安防的手电筒 x
  • 关于keil和proteus联调失败的原因探究

    1 没有在两个软件文件夹下放置 dll文件 没有在C51的INI文件中修改 2 没有安装某个 exe文件 3 在proteus中建好电路 xff0c 把keil生成的hex文件导入芯片 xff0c debug xff0c 打开远程调试 xf
  • 富斯遥控器/接收机的PWM/PPM/iBUS/SBUS通道设置

    富斯遥控器FS i6X拥有10通道输出 xff0c 富斯接收机FS iA10B拥有10通道输入 xff0c 两者都有PWM PPM iBUS SBUS协议 xff0c 但是PPM和iBUS协议最高只支持8通道 xff0c 而SBUS协议可以
  • 线程同步的四种方式

    一 xff0c 什么是线程同步和互斥 同步就是协同步调 xff0c 按预定的先后次序进行运行 如 xff1a 你说完 xff0c 我再说 这里的同步千万不要理解成那个同时进行 xff0c 应是指协同 协助 互相配合 线程同步是指多线程通过特
  • python使用cv2库、下载opencv库

    cv2库在opencv库内 xff0c 因此需要下载opencv python 1 打开windows命令行 xff1a win 43 R cmd 2 更新pip版本 xff08 不一定要 xff09 xff1a python m pip
  • PX4学习笔记(1)

    无人机飞控硬件采用Pixhawk 2 4 8 xff0c 软件采用PX4 xff0c 机架使用F450 1 安装PX4环境 1 1 安装虚拟机 VMware虚拟机 16 Pro 1 2 安装Ubuntu Ubuntu 18 04 amd64
  • PX4学习笔记(1-补)

    PX4学习笔记 xff08 1 xff09 中的1 6 安装PX4和gazebo9环境中有一条命令 sudo bash Tools setup ubuntu sh 处于对这个 sh文件的好奇 xff0c 并想分析一下内容 xff0c 于是将
  • 卡片电脑 鲁班猫ZeroW——入门笔记(1)

    由于树莓派价格过于昂贵 xff0c 且无人机又需要机载电脑 xff0c 因此一直在物色便宜好用的卡片电脑 无意中发现了野火的这款鲁班猫 xff0c 想着才260块钱 xff0c 于是买回来试试手 1 硬件结构 鲁班猫采用的是瑞芯微公司设计的
  • PX4学习笔记(2)

    1 PX4编译和仿真 1 1 第一次使用PX4 1 1 1 打开jMAVSim 找到PX4 Autopilot文件夹 xff08 2023 02 13 xff0c 新版本的PX4找不到Firmware了 xff0c 只有PX4 Autopi
  • 关于SKYDROID图传接收机无法在win10电脑上显示图像的问题分析

    因为此前图传接收机无法在win10电脑上显示图像 xff0c 多次尝试后 xff0c 我重新安装了WIN10系统 xff0c 发现禁用笔记本摄像头头 xff0c 在相机内能看到图像 xff0c 了 因此以为问题解决了 xff0c 继续安装其
  • PX4 ulg文件转换为csv(WPS或Excel打开)

    介绍 ulg文件为PX4的飞行日志文件 xff0c 可以通过python的pyulog库转换成scv格式 xff0c 用表格工具打开 下载pyulog 首先保证你的windows电脑内安装了python 3 win 43 R打开cmd 输入
  • Ubuntu18.04虚拟机MQTT服务器(1)——安装宝塔服务器面板与MQTT服务器

    1 虚拟机安装ubuntu18 04 使用VMware安装Ubuntu 18 04 64位系统 2 Ubuntu修改镜像源 在Software amp Update内修改镜像源为清华源 更新 3 安装ssh 输入以下命令 xff0c 安装远
  • ESP-01S烧录及使用,连接本地MQTT服务器

    网上的教程大多无法正常烧录与使用 xff0c 因此在这里进行总结 1 ESP 01S烧录 固件烧录建议使用专用的烧录器 xff0c 十分省心 本文讨论的是使用普通的CH340串口模块进行烧写 必须使用的工具 xff1a 杜邦线 CH340串
  • Qt学习笔记(2)——添加串口程序与调试

    1 串口调试程序总体布局 Qt版本大于5 1 1 1 在pro文件内添加serialport QT 43 61 serialport 1 2 在 h文件内添加库文件 include lt QtSerialPort gt 1 3 添加实例 h
  • AES CBC和CTR加解密实例

    AES xff08 Advanced Encryption Standard xff0c 高级加密标准 xff09 又叫Rijndael加密法 xff0c 用来替代DES算法 常见AES加密模式有ECB CBC CFB OFB和CTR等五种
  • 关于vuex使用常量替代 Mutation 事件类型的好处

    官方文档有说常量的好处 xff0c 但是的确没用过 xff0c 也不怎么懂 xff0c 就我目前有用的了解来说 在后面项目中使用了常量有如下好处 1 常量更容易避免程序出现错误 如果把一个值赋给程序中的一个常量 xff0c 而该常量已经有一
  • 多传感器融合及其应用

    后续会更新部分算法详细内容 多传感器融合及其应用 1 引言 现代雷达信息处理技术 现代雷达信息处理技术分为三个层次 xff1a 雷达信号处理与目标检测 但不雷达数据处理和多部雷达系统数据融合 有时也分别称为雷达信息一次处理 雷达信息二次处理
  • 《结构化编程》— LED灯为例

    你有过看很久以前项目代码看不太懂的情况吗 xff1f 你有过做一个项目就要从零重构代码的烦恼吗 xff1f 你有过那种遇到项目后无从入手编写的困扰吗 xff1f 诸君且看 xff0c 我是如何用一个LED灯代码去做结构化编程的 xff0c
  • 《FPGA学习》->点亮一颗LED灯

    x1f34e 与其担心未来 xff0c 不如现在好好努力 在这条路上 xff0c 只有奋斗才能给你安全感 你若努力 xff0c 全世界都会为你让路 大家刚开始接触硬件编程的话 xff0c 我想大多都是从点亮一颗LED灯开始 xff0c 学习