FIFO设计16*8,verilog,源码和视频

名称:FIFO设计16*8,数据显示在数码管

软件:Quartus

语言:Verilog

代码功能:

使用verilog语言设计一个16*8的FIFO,深度16,宽度为8。可对FIFO进行写和读,并将FIFO读出的数据显示到数码管。

演示视频:FIFO设计16*8,verilog,数据显示在数码管_Verilog/VHDL资源下载

FPGA代码资源下载网:hdlcode.com

代码下载:

FIFO设计16*8,verilog,数据显示在数码管_Verilog/VHDL资源下载名称:FIFO设计16*8,数据显示在数码管(代码在文末付费下载)软件:Quartus语言:Verilog代码功能:使用verilog语言设计一个16*8的FIFO,深度16,宽度为8。可对FIFO进行写和读,并将FIFO读出的数据显示到数码管。演示视频:FPGA代码资源下载网:hdlcode.com部分代码展示//fifo 168fifomodule fifo_top(input clk,inpicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=204

部分代码展示

//fifo 16×8fifo
module fifo_top
(
input clk,
input rst,
input [7:0] din,//fifo写数据
input wr_en,//写使能
input rd_en,//读使能
output empty,//空信号
output full,//满信号
output [7:0] bit_select,//数码管位选,高电平选通
output [7:0] seg_select//数码管段选,低电平点亮
);
wire [7:0] dout;//读数据
//fifo模块
a_fifo i_a_fifo
(
. clk(clk),
. rst(rst),
. din(din),//fifo写数据
. wr_en(wr_en),//写使能
. rd_en(rd_en),//读使能
. dout(dout),//读数据
. empty(empty),//空信号
. full(full)//满信号
);
//数码管显示模块
display i_display(
. clk(clk),
. din(din),//fifo写数据
. dout(dout),//读数据
. bit_select(bit_select),//数码管位选,高电平选中
. seg_select(seg_select)//数码管段选
);
endmodule//fifo 16×8fifo
module a_fifo
(
input clk,
input rst,
input [7:0] din,//fifo写数据
input wr_en,//写使能
input rd_en,//读使能
output reg [7:0] dout,//读数据
output empty,//空信号
output full//满信号
);reg [7:0] ram [15:0];//RAM。深度16,宽度8
reg [6:0] count=7'd0;
reg [6:0] rp=7'd0;
reg [6:0] wp=7'd0;integer i;
always@(posedge clk)
if(rst)begin//复位wp<=7'd0;rp<=7'd0;dout<=8'd0;count<=7'd0;for(i=0;i<16;i=i+1)ram[i]<=8'b00000000;//清零end
elsecase({rd_en,wr_en})2'b00:count<=count;2'b01://单写FIFOif(~full)begin//未满ram[wp]<=din;//存入fifoif(wp>=7'd15)wp<=7'd0;//写地址循环累加elsewp<=wp+7'd1;count<=count+7'd1;rp<=rp;end2'b10://单读FIFOif(~empty)begin//未空dout<=ram[rp];//读fifo

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

Fifo模块仿真图

数码管显示模块仿真图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET验收

验收通用模板&#xff1a; 1.该资料计划看几天&#xff1f; 实际看了几天&#xff1f; 计划7天&#xff0c;实际看了9天 2.多少天一篇总结&#xff1f;将总结列出来。 一周总结一篇。 博客地址:3.这个资料相较于之前资料共同的内容是什么&#xff1f; 不同的(需要强化学习)…

linux 安装 docker

linux 安装 docker docker及版本一键安装docker(本人使用的是手动安装)Docker手动安装 docker及版本 Docker从17.03版本之后分为CE&#xff08;Community Edition: 社区版&#xff09;和EE&#xff08;Enterprise Edition: 企业版&#xff09;。相对于社区版本&#xff0c;企业…

openssl 之 RSA加密数据设置OAEP SHA256填充方式

背景 如题 环境 openssl 1.1.1l c centos7.9 代码 /** 思路&#xff1a;填充方式自己写&#xff0c;不需要使用库提供的&#xff0c;然后加密时选择不填充的方式加密 关键代码 */ int padding_result RSA_padding_add_PKCS1_OAEP_mgf1(buf, padding_len, (unsigned char*…

云计算认证有哪些?认证考了有什么用?

云计算作为一项快速发展的技术&#xff0c;对人才的需求持续增长。无论是男生还是女生&#xff0c;只要具备相关的技能和知识&#xff0c;都可以在云计算领域找到就业机会。 目前入行云计算最好最便捷的方式就是考证&#xff0c;拿到一个云计算相关的证书&#xff0c;就能开启…

SQLite Write-ahead Logging

1. 概述2. WAL如何工作 2.1 检验指示(Checkpointing)2.2 并发性(Concurrency)2.3 性能考虑(Performance Considerations)3. 激活并配置WAL模式 3.1 自动checkpoint3.2 应用开始的checkpoint3.3 WAL模式的持久性4. 只读数据库5. 避免过大的WAL文件6. WAL索引的共享内存应用7. 不…

DETR原理与代码超详细解读

文章目录 前言一、DETR论文原理1、DETR整体介绍2、DETR论文贡献3、DETR模型框架4、DETR基于二分图匹配的LOSS 二、DETR环境安装1、安装基础环境2、pycocotools安装3、其它环境安装4、环境验证5、训练与推理效果显示 三、数据准备1、coco 数据格式2、修改数据 四、DETR加载数据代…

【MATLAB源码-第48期】基于matlab的16QAM信号盲解调仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 16QAM (16个象限幅度调制) 是一种广泛使用的数字调制技术。在无线和有线通信系统中&#xff0c;为了在固定的带宽内发送更多的信息&#xff0c;高阶调制如16QAM被使用。下面是16QAM盲解调的基本步骤、优缺点及应用场景。 16Q…

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分:通信协议(1)

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第一部分&#xff1a;通信协议&#xff08;1&#xff09;前言通信协议REST API vs. GraphQL 对比GraphQL gRPC 运行原理步骤说明 什么是 WebHook &#xff08;网络钩子&#xff09;如何提升 …

【Jetson 设备】window10主机下使用VNC可视化控制Jetson Orin NX

文章目录 前言VNC连接搭建(WiFi模式)Jetson Orin NX操作本地主机操作 VNC连接搭建(以太网模式)Jetson Orin NX操作本地主机操作 总结 前言 最近需要使用Jetson Orin NX对一些深度学习算法进行测试&#xff0c;为了方便主机与Jetson Orin NX之间的数据的传输&#xff0c;以及方…

性能优化-卡顿优化-tarce抓取及分析

性能优化&#xff08;卡顿分析&#xff09; 文章目录 一、抓取trace的方法1.使用systrace抓取trace2.使用atrace抓取3.使用Perfetto抓取trace 二、trace文件的分析1.快捷操作1.1 导航操作1.2 快捷操作 2.chrome trace工具分析trace文件3.Prefetto分析trace文件 一、抓取trace的…

qt-C++笔记之清空QVBoxLayout中的QCheckBox

qt-C笔记之清空QVBoxLayout中的QCheckBox QVBoxLayout 和 QCheckBox 是两个类&#xff0c;都是 PyQt/PySide 中用于创建图形用户界面 (GUI) 的工具。它们通常与 Qt 库一起使用&#xff0c;Qt 是一个流行的跨平台 GUI 库&#xff0c;可以用于创建桌面应用程序。 QVBoxLayout: Q…

精益求精:使用Ansible集中式自动备份核心数据

1、引言 在当今数字化时代&#xff0c;数据是企业和组织的核心资产。为了确保数据的安全性和可恢复性&#xff0c;备份是至关重 要的。然而&#xff0c;手动备份数据可能会繁琐且容易出错&#xff0c;特别是在面对大规模和分布式的数据存储情况下。幸运的是&#xff0c;Ansibl…

(N-128)基于springboot,vue酒店管理系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vueelementUI 服务端技术&#xff1a;springbootmybatis 本系统功…

C语言柔性数组

大家好&#xff0c;我们今天来补充一个知识&#xff0c;就是柔性数组。 柔性数组概念&#xff1a; 也许你从来没有听说过柔性数组&#xff08;flexible array&#xff09;这个概念&#xff0c;但是它确实是存在的。 C99 中&#xff0c;结构中的最后一个元素允许是未知大小的数…

【c++】跟webrtc学std array 4: H264PacketBuffer 包缓存

H264PacketBuffer m98代码:H264PacketBuffer 类似于PacketBuffer ,但仅用于H264// The H264PacketBuffer does the same job as the PacketBuffer but for H264 // only. To make it fit in with surronding code the PacketBuffer input/output // classes are used. 因此,…

【C++】:类和对象(中)之类的默认成员函数——构造函数and析构函数

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生成…

斯坦福JSKarel编程机器人使用介绍

斯坦福JSKarel编程机器人使用介绍 为了避免被编程语言固有的复杂性所困扰&#xff0c;有一个被称为卡雷尔&#xff08;Karel&#xff09;机器人的微型世界&#xff08;microworld&#xff09;的简化环境&#xff0c;可以让编程初学者从中学习理解编程的基本概念&#xff0c;而…

ES6 let const var和解构赋值

1.let/const和var的区别 1.变量提升&#xff1a;var会发生变量提升&#xff0c;let和const不存在变量提升 2.暂时性死区&#xff1a;变量声明之前变量不可用称为暂时性死区。var不存在&#xff0c;let和const存在暂时性死区 3.typeof 不再是百分百不会报错&#xff1a;let声…

unity(WebGL) 截图拼接并保存本地,下载PDF

截图参考&#xff1a;Unity3D 局部截图、全屏截图、带UI截图三种方法_unity 截图_野区捕龙为宠的博客-CSDN博客 文档下载&#xff1a; Unity WebGL 生成doc保存到本地电脑_unity webgl 保存文件_野区捕龙为宠的博客-CSDN博客 中文输入&#xff1a;Unity WebGL中文输入 支持输…

Peter算法小课堂—正整数拆分

大家可能会想&#xff1a;正整数拆分谁不会啊&#xff0c;2年级就会了&#xff0c;为啥要学啊 例题 正整数拆分有好几种&#xff0c;这里我们列举两种讲。 关系 我们看着第一幅图&#xff0c;头向左转90&#xff0c;记住你看到的图&#xff0c;再来看第二幅图&#xff0c;你…