fifo ip核 ————读写时钟同步

1.原理

`timescale 1ns/1ns
module tb_fifo();

reg 		sys_clk     ;
reg 		sys_rst_n   ;
reg [7:0]   pi_data     ;
reg 		rd_req      ;
reg 		wr_req      ;
reg [2:0]   cnt;

wire 		empty			;
wire 		full			;
wire [7:0]  po_data			;
wire [7:0]  usedw			;

initial 
	begin
		sys_clk=1'b1;
		sys_rst_n<=1'b0;
		#20
		sys_rst_n<=1'b1;
	end
	
always #10 sys_clk=~sys_clk;
	
always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)
		cnt<=3'd0;
	else if(cnt==2'd3)
		cnt<=3'd0;
	else
		cnt<=cnt+1'b1;
		
always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)
		wr_req<=1'b0;
	else if((rd_req==1'b0)&&(cnt==3'd3))
		wr_req<=1'b1;
	else
		wr_req<=1'b0;
		

always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)
		pi_data<=8'd0;
	else if((wr_req==1'b1)&&(pi_data==8'd255))
		pi_data<=8'd0;
	else if(wr_req==1'b1)
		pi_data<=pi_data+1'b1;
	else
		pi_data<=pi_data;
		
always@(posedge sys_clk or negedge sys_rst_n)
	if(sys_rst_n==1'b0)	
		rd_req<=1'b0;
	else if(full==1'b1)
		rd_req<=1'b1;
	else if(empty==1'b1)
		rd_req<=1'b0;
	


scfifo_8x256 scfifo_8x256 _inst
(
	.clock	(sys_clk   ),
	.data	(pi_data   ),
	.rereq	(rd_req      ),
	.wrreq	(wr_req      ),
	              
	.empty	(empty),
	.full	(full		),
	.q		(po_data	),
	.usedw	(usedw	)
);           		

endmodule

刚一写满255,此时的读请求信号还是回=会有高电平因为读请求信号要等到,写满信号为高电平时,才会在下一周期拉高,所以此时输出的数据是256,大于8位,截取的是低八位所以为0。写满255,下一个周期就拉高写满信号(时序有延时),写满信号一拉高,则rd_req就拉高表示可以读数据了,这样写请求就为低电平了。

先出fifo使能信号和数据对齐

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《大模型面试宝典》(2024版) 正式发布!

2022 年11月底&#xff0c;OpenAI 正式推出 ChatGPT &#xff0c;不到两个月的时间&#xff0c;月活用户就突破1亿&#xff0c;成为史上增长最快的消费者应用。 目前国内已发布的大模型超过200个&#xff0c;大模型的出现彻底改变了我们的生活和学习方式。 现在只要你想从事 A…

结构体变量的引用、结构体变量的初始化、结构体数组

一、 结构体变量的引用 在定义了结构体变量以后&#xff0c;当然可以引用这个变量。但应遵守以下规则: 不能将一个结构体变量作为一个整体进行输入和输出。例如,已定义studentl和 student2为结构体变量并且它们已有值。不能这样引用: printf ("%d,%s,%c,%d,%f,%s\n&quo…

idea报错Terminated with exit code 1

今天学项目的时候&#xff0c;中途打开一个新的项目&#xff0c;pom.xml文件一直在下载依赖&#xff0c;下载了很久都没有下载成功&#xff0c;检查自己的Maven配置&#xff0c;感觉没问题 把项目移动到没有中文的目录下重新启动&#xff0c;也还是不行&#xff0c;后来发现原…

硬核分享|AI语音识别转文字与自动生成字幕

硬核分享|AI语音识别转文字与自动生成字幕_哔哩哔哩_bilibili 在现代快节奏的生活中&#xff0c;语音转文字工具成为了我们工作和学习中的得力助手。它能够将我们说出的话语迅速转化为文字或者将语音视频自动生成字幕&#xff0c;提供便捷和高效。 语音转文字转字幕工具是一种…

nodejs安装使用React

1、react安装 首先&#xff0c;确保电脑上具备nodejs环境&#xff0c;之后用 winr 呼出控制台&#xff0c;输入 cmd 命令弹出cmd控制台&#xff08;小黑框&#xff09;之后在默认路径输入如下代码 npm i -g create-react-app //全局安装react环境无需选择特定文件夹安装成功后…

刷题DAY31 | LeetCode 455-分发饼干 376-摆动序列 53-最大子序和

455 分发饼干&#xff08;easy&#xff09; 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并…

「发稿帮」权重媒体发稿的优势,资源有哪些?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体胡老师。 权重媒体发稿的优势主要包括以下方面&#xff1a; 获得更好的排名&#xff1a;高权重媒体在搜索引擎中的排名通常更靠前&#xff0c;这意味着在这些媒体上发布的内容更容易被用户发现和访问…

搞了半天blender整动画这么爽,骨骼重定向一回,动作就可以到处套用,和音频对轨也好使

我们搞到了运动数据&#xff08;可能是bvh文件&#xff0c;也可能是fbx文件&#xff09;之后&#xff0c;想要让某个静态的模型动起来。 我们假定用的是Tpose的模型&#xff08;因为我这个bvh文件是Tpose用的&#xff0c;所以为了动作映射不出问题&#xff0c;优先整的这种模型…

IPC网络摄像头媒体视屏流MI_VIF结构体

一个典型的IPC数据流 下图是一个典型的IPC数据流模型&#xff0c;流动过程如下&#xff1a; 1. 建立Vif->Vpe->Venc的绑定关系&#xff1b; 2. Sensor 将数据送入vif处理&#xff1b; 3. Vif 将处理后的数据写入Output Port申请的内存&#xff0c;送入下一级&#xff1b;…

基于python+vue的街道办管理系统flask-django-php-nodejs

在此基础上&#xff0c;结合现有街道办管理体系的特点&#xff0c;运用新技术&#xff0c;构建了以 python为基础的街道办管理信息化管理体系。首先&#xff0c;以需求为依据&#xff0c;根据需求分析结果进行了系统的设计&#xff0c;并将其划分为管理员和用户二种角色和多个主…

GTC AI 2024:人工智能的未来展望

在2024年GTC AI大会上&#xff0c;NVIDIA推出了多项创新技术和产品&#xff0c;涵盖了从新一代GPU平台到AI超级计算和量子计算云服务等多个领域。 新一代GPU平台 Blackwell Blackwell是为生成式AI时代设计的新一代GPU平台&#xff0c;与前代相比&#xff0c;在FP8训练性能上提…

数据透视表进阶:多维数据透视表与案例演示

同比指的是&#xff1a;和去年比 环比指的是&#xff1a;和上个月比 小技巧&#xff1a;数据透视表消失了&#xff1a;点击字段列表 同比 右键---值的显示方式---差异--年&#xff08;上一个&#xff09; 环比 右键选择时间--然后选择月份 改小数点 组合 右键--组合--然后…

【mysql 127错误】mysql启动报错mysqld.service: Failed with result ‘exit-code‘.

无网环境&#xff0c;mysql 安装 出现如下错误 [rootmysql tools]# systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since…

Charles 工具如何做断点测试?

软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;【持续更新最新版】-CSDN博客 在测试工作过程中&#xff0c;我们经常会在程序的某一行或者某一环节设置断点&…

对于HR来说,什么才是好的人才测评系统工具?

对于HR来说&#xff0c;选用一个合适的测评工具&#xff0c;我想不外乎以下几点&#xff1a; 1、成本可控 不是所有的HR都能申请到足够的资金&#xff0c;去做专业的人才测评&#xff0c;尤其是中小企业&#xff0c;这可是一笔不小 的开支。即使是基层普通岗位的成本&#xff…

Redis入门到实战-第二弹

Redis入门到实战 Redis安装官网地址Redis概述Redis-server安装Redis-stack-server使用(可选)Redisinsight安装(可选)更新计划 Redis安装 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是…

Typecho 博客文章评论添加显示 UserAgent(UA)的功能

本篇文章实现了为 Typecho 博客文章评论添加显示 UserAgent&#xff08;UA&#xff09;的功能本功能可替代 UserAgent 插件&#xff0c;更美观、简洁且好看 效果显示 大概就是这样了&#xff0c;实际效果请看我的评论&#xff01; 目前可以识别的操作系统以及浏览器 食用方…

NacosException: http error, code=403、NacosimeException——报错解决方法【Nacos2.x】

1、NacosException报错内容为&#xff1a; NacosException: http error, code403,msguser not found!,dataIdapplication-dev.yml,groupDEFAULT_GROUP,tenant连不上是因为成功开启鉴权后&#xff0c;所使用的Spring Cloud服务被拦截&#xff0c;需要在配置中添加Nacos用户名和…

深度学习图像处理02:Tensor数据类型

上一讲深度学习图像处理01&#xff1a;图像的本质&#xff0c;我们了解到图像处理的本质是对矩阵的操作。这一讲&#xff0c;我们讲介绍深度学习图像处理的基本数据类型&#xff1a;Tensor类型。 在深度学习领域&#xff0c;Tensor是一种核心的数据结构&#xff0c;用于表示和…

Vscode初建Vue时几个需要注意的问题

首先放图 注意点1.打开文件夹时&#xff0c;可以是VUE2 或者其他&#xff0c;但不能是VUE&#xff0c;会报错 注意点2.终端输入命令“npm init -y" npm init -y -y 的含义&#xff1a;yes的意思&#xff0c;在init的时候省去了敲回车的步骤&#xff0c;生成的默认的packag…