当前位置: 首页 > news >正文

FPGA——点亮led灯

文章目录

    • 一、实验环境
    • 二、实验任务
    • 三、实验过程
      • 3.1 编写verliog程序
      • 3.2 引脚配置
    • 四、仿真
      • 4.1 仿真代码
      • 4.2仿真结果
    • 五、实验结果
    • 六、总结

一、实验环境

quartus18.1
vscode
Cyclone IV开发板

二、实验任务

每间隔1S实现led灯的亮灭,实现流水灯的效果。

三、实验过程

3.1 编写verliog程序

//每间隔1S实现LED的亮灭
module led(input           clk     ,input           rst_n   ,output  reg   [3:0]  led   
);//计时1S
//parameter CNT0_2S = 24'd9;//如果要进行仿真的话就使用这个计数器
parameter CNT0_2S = 24'd9_999_999;
reg [23:0]  cnt     ;//保存时钟上升沿的个数
reg [1:0]   state   ;always @(posedge clk or negedge rst_n) begin//对寄存器赋值要使用alwaysif(!rst_n)begincnt <= 24'd0;endelse if(cnt == CNT0_2S)begincnt <= 24'd0;endelse begincnt <= cnt + 1'd1;end
endalways @(posedge clk or negedge rst_n) beginif(!rst_n)beginstate <= 2'd0;endelse if(state == 2'd3 && cnt == CNT0_2S)beginstate <= 2'd0;endelse if(cnt == CNT0_2S)beginstate <= state + 1'd1;end
endalways @(posedge clk or negedge rst_n) beginif(!rst_n)beginled <= 4'b0000;endelse begincase (state)2'd0:   led <= 4'b0001;2'd1:   led <= 4'b0010;2'd2:   led <= 4'b0100;2'd3:   led <= 4'b1000;default:led <= 4'b0000;endcaseend
end//0001,0010,0100,1000,0001
// always @(posedge clk or negedge rst_n) begin
//     if(!rst_n)begin
//         led <= 4'b0001;
//     end
//     else if(cnt == CNT0_2S)begin
//         led <= {led[2:0],led[3]};//使用位拼接可以更简单的实现流水灯
//     end
//     else begin
//         led <= led;
//     end
// end
endmodule

3.2 引脚配置

在这里插入图片描述

四、仿真

4.1 仿真代码

`timescale 1ns/1ns
module led_tb();reg     clk;reg     rst_n;wire    [3:0]   led;always #10 clk = ~clk;initial beginclk         =   1'b0;rst_n       =   1'b0;#10 rst_n   =   1'b1;#1000 $stop ;
endled     u_led(.clk     (clk),.rst_n   (rst_n),.led     (led)   
);endmodule

4.2仿真结果

在这里插入图片描述

五、实验结果

六、总结

本次实验主要是学习verilog的基础语法,掌握计数器的编写以及时序逻辑的设计方法。另外在进行仿真的时候需要修改计数器的大小,因为我们仿真设计的是延时1000ns,如果不把计数器改小的话就只能看到最开始的0001的状态,就无法判断逻辑是否出错。

相关文章:

FPGA——点亮led灯

文章目录 一、实验环境二、实验任务三、实验过程3.1 编写verliog程序3.2 引脚配置 四、仿真4.1 仿真代码4.2仿真结果 五、实验结果六、总结 一、实验环境 quartus18.1 vscode Cyclone IV开发板 二、实验任务 每间隔1S实现led灯的亮灭&#xff0c;实现流水灯的效果。 三、实…...

idea创建spark教程

1、环境准备 java -version scala -version mvn -version spark -version 2、创建spark项目 创建spark项目&#xff0c;有两种方式&#xff1b;一种是本地搭建hadoop和spark环境&#xff0c;另一种是下载maven依赖&#xff1b;最后在idea中进行配置&#xff0c;下面分别记录两…...

【JavaEE】DI与DL的介绍-Spring项目的创建-Bean对象的存储与获取

Spring的开发要点总结 文章目录 【JavaEE】Spring的开发要点总结&#xff08;1&#xff09;1. DI 和 DL1.1 DI 依赖注入1.2 DL 依赖查询1.3 DI 与 DL的区别1.4 IoC 与 DI/DL 的区别 2. Spring项目的创建2.1 创建Maven项目2.2 设置国内源2.2.1 勾选2.2.2 删除本地jar包2.2.3 re…...

C#图片处理

查找图片所在位置 原理&#xff1a;使用OpenCvSharp对比查找小图片在大图片上的位置 private static System.Drawing.Point Find(Mat BackGround, Mat Identify, double threshold 0.8) {using (Mat res new Mat(BackGround.Rows - Identify.Rows 1, BackGround.Cols - Iden…...

php 开发微信 h5 支付 APIv3 接入超详细流程

✨ 目录 &#x1f388; 申请商户号&#x1f388; 申请商户证书&#x1f388; 设置V3密钥&#x1f388; 开通H5支付&#x1f388; 设置支付域名&#x1f388; SDK 下载&#x1f388; 第一次下载平台证书&#x1f388;非第一次下载平台证书&#x1f388; H5下单 &#x1f388; 申…...

HTML学习 第一部分(前端学习)

参考学习网站: 网页简介 (w3schools.com) 我的学习思路是&#xff1a;网站实践视频。 视频很重要的&#xff0c;因为它会给你一种开阔思路的方式。你会想&#xff0c;噢&#xff01;原来还可以这样。这是书本或者网站教程 所不能教给你的。而且&#xff0c;对一些教程&#…...

python 实现串口指令通讯

上一篇文章文章写了串口数据的读取&#xff0c;这篇文章讲串口数据的写入&#xff08;指令控制&#xff09; 与下位机通信往往需要十六进制形式进行数据通信&#xff0c;根据设备串口通信指令文档进行指令通信&#xff0c;本篇以灯光控制为例&#xff1a; 1.pyserial模块封装…...

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …...

数据仓库建设-数仓分层

数据仓库能够帮助企业做出更好的决策&#xff0c;提高业务效率和效益&#xff1b;在数据仓库建设时&#xff0c;绕不开的话题就是数仓分层。 一、数据分层的好处 1. 降低数据开发成本 通用的业务逻辑加工好&#xff0c;后续的开发任务可以基于模型快速使用&#xff0c;数据需…...

共享与协作:时下最热门的企业共享网盘推荐!

现代企业面临着越来越大的数据存储和共享压力。为了提高公司的生产力和效率&#xff0c;许多企业开始寻找共享网盘解决方案。这些共享网盘平台可以帮助企业集中管理文件和数据&#xff0c;并方便快速地与同事、客户或供应商共享。以下是几款好用的企业共享网盘。 Zoho Workdriv…...

mysql取24小时数据

MySQL是一种常用的关系型数据库管理系统。在进行实时数据处理时&#xff0c;我们常常需要查询最近24小时的数据来进行分析和处理。下面我们将介绍如何使用MySQL查询最近24小时的数据。 SELECT * FROM table_name WHERE timestamp_column > DATE_SUB(NOW(), INTERVAL 24 HOU…...

TCP/IP网络编程 第十五章:套接字和标准I/O

标准I/O函数的优点 标准I/O函数的两个优点 将标准I/O函数用于数据通信并非难事。但仅掌握函数使用方法并没有太大意义&#xff0c;至少应该 了解这些函数具有的优点。下面列出的是标准I/O函数的两大优点: □标准I/O函数具有良好的移植性(Portability) □标准I/O函数可以利用缓…...

SaleSmartly,客户满意度调查的绝对好助手

企业使用客户满意度调查来收集反馈并评估客户满意度水平&#xff0c;包括有关产品质量、服务、支持和整体满意度的问题。客户满意度调查的主要目标是直接从客户那里收集有价值的见解&#xff0c;以了解他们的需求、偏好和期望。这种反馈可以帮助企业确定需要改进的领域&#xf…...

MySQL高阶语句

文章目录 一.常用查询1.按关键字排序&#xff08;ORDER BY 语句&#xff09;1.1 语法格式1.2 ASC和DESC的排序概念1.3 举例1.3.1 数据库有一张info表&#xff0c;记录了学生的id&#xff0c;姓名&#xff0c;分数&#xff0c;地址和爱好1.3.2 按分数排序&#xff0c;默认不指定…...

手机快充协议

高通:QC2.0、QC3.0、QC3.5、QC4.0、QC5.0、 FCP、SCP、AFC、SFCP、 MTKPE1.1/PE2.0/PE3.0、TYPEC、PD2.0、PD3.0/3.1、VOOC 支持 PD3.0/PD2.0 支持 QC3.0/QC2.0 支持 AFC 支持 FCP 支持 PE2.0/PE1.1 联发科的PE&#xff08;Pump Express&#xff09;/PE 支持 SFCP 在PP…...

centos 7升级gcc到10.5.0

目录 1、安装gcc 1.1、查看是否含有gcc及gcc版本 1.2、快速安装gcc 2、升级gcc 2.1、下载gcc源码包并解压缩 2.2、下载编译依赖项 2.3、新建gcc-bulid目录&#xff08;与gcc-10.5.0同级&#xff09;并进入该目录中 2.4、生成Makefile文件 2.5、开始编译 2.6、安装 2…...

从脚手架搭建到部署访问路程梳理

1、vue-cli 起文件&#xff1a; 2、配置 webpack &#xff1a;打包配置等&#xff0c;env文件&#xff08; 处理线上和测试的ip&#xff09;&#xff0c; https://www.ibashu.cn/news/show_377892.html 3、样式&#xff1a;封装 style &#xff1a;组件&#xff08;element-u…...

数据库应用:MySQL数据库SQL高级语句与操作

目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表 三、总结 一、理论 1.克隆表与清空表 克隆表&#xff1a;将数据表的数据记录…...

xshell连接WSL2

1. 卸载 ssh server sudo apt-get remove openssh-server2. 安装 ssh server sudo apt-get install openssh-server3. 修改 ssh server 配置 sudo vim /etc/ssh/sshd_config需要修改以下几项&#xff1a; Port 2222 #默认的是22&#xff0c;但是windows有自己的ssh服务&am…...

Flask新手教程

Flask简介 Flask是一个轻量级的可定制框架&#xff0c;使用Python语言编写&#xff0c;较其他同类型框架更为灵活、轻便、安全且容易上手。 Flask 可以很好地结合MVC模式进行开发&#xff0c;开发人员分工合作&#xff0c;小型团队在短时间内就可以完成功能丰富的中小型网站或…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...

Linux中INADDR_ANY详解

在Linux网络编程中&#xff0c;INADDR_ANY 是一个特殊的IPv4地址常量&#xff08;定义在 <netinet/in.h> 头文件中&#xff09;&#xff0c;用于表示绑定到所有可用网络接口的地址。它是服务器程序中的常见用法&#xff0c;允许套接字监听所有本地IP地址上的连接请求。 关…...