【同步FIFO_2023.12.13】

同步fifo,写时钟和读时钟为同一个时钟,用于交互数据缓冲
fifo的深度:同一块数据内存的大小

reg [2:0] Mem [8];//宽度3,深度8

典型同步fifo的三部分

fifo写控制逻辑:写地址、写有效信号,fifo写满、写错等状态信号
fifo读控制逻辑:读地址、读有效信号,fifo写满、写错等状态信号
fifo存储实体memory/reg

空满判断

reg [2:0] Mem [8];//宽度3,深度8
写指针Wr_ptr指向空,读指针Rd_ptr指向满

读写处于一个地址,用最高位的状态判断空与慢
写地址0011,读地址0011:空
写地址1011,读地址0011:满

一般fifo使用循环指针,不使用该判断,简单判断:个数为0空,个数为深度满

端口

fifo_counter:0时,给出empty;等于fifo深度时,给出full
fifo_counter:写而未满时,加1;读而未空:-1;同时读写时,不变
读写地址宽度:与地址宽度相同;地址增加溢出时,变为0;循环指针

实现

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
结束该进程,ctrl+c再按q
问题:读不出第一个push数据

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

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

相关文章

金数据企业版:广告推广效率提升的关键,无代码API集成与连接技术

深入理解无代码开发与API集成的重要性 在当今的电商竞争环境下,企业必须寻找提高效率和灵活性的办法。无代码开发平台,如金数据,提供了一种创新的方式来应对快速变化的市场需求,特别是在API集成方面。无代码开发意味着企业可以通…

减持股份对股票的影响,好还是不好?

减持股份对股票是好还是不好?这是一个很多投资者都关心的问题,因为减持股份会影响股票的价格、流动性和信心。减持股份的原因和影响是多方面的,没有一个简单的答案,需要根据具体的情况进行分析。下面,我将从几个方面来…

云渲染怎么提升效果图的画质?云渲染对效果图未来影响

在当今高速发展的视觉设计行业中,高质量的效果图不仅是展示设计成果的重要手段,也是设计沟通和营销的关键。无论是建筑设计、室内设计还是工业样品的视觉化,效果图的精细程度与渲染速度对项目的成功至关重要。对于许多追求卓越和效率的设计师…

苹果电脑Python编辑开发软件pycharm pro 2023功能介绍

PyCharm Pro 2023是由JetBrains开发的一款专为Python开发者设计的跨平台集成开发环境(IDE)。它提供了丰富的功能和直观的用户界面,旨在提高在Mac平台上进行Python编程的效率。 PyCharm Pro 2023是PyCharm系列中的专业版,具有更多高…

一篇很不错的小作文:读“战争与和平” 有感、识之

如果一个人不读书,就会像没了水的鱼,毫无生存的希望。 我最近在看一本名叫《战争与和平》的书,书中的一句话让我印象深刻:“战争是残酷的,它带来了破坏和死亡,但和平却是美好的,它给予我们希望和…

【Android】完美解决安卓报错Module entity with name: xxx should be available、No module问题

问题截图: 解决方法: 找到settiings.gradle文件,修改文件名称,比较项目名大小写,更改之后,果然解决了

【C语言】操作符详解(二)

目录 移位操作符 左移操作符 右移操作符 位操作符:&、|、^、~ 一道面试题 移位操作符 <<左移操作符 >>右移操作符注:移位…

智能优化算法应用:基于布谷鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于布谷鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于布谷鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.布谷鸟算法4.实验参数设定5.算法结果6.参考文…

点评项目——用户签到模块

2023.12.13 通常app为了吸引用户每天登陆app&#xff0c;会设定一个签到模块&#xff0c;本章就来实现用户签到模块&#xff0c;包含签到功能和签到统计功能。 BitMap用法 通常使用二进制位来记录每个月的签到情况&#xff0c;签到记录为1&#xff0c;未签到记录为0。每一个bi…

MacOS环境配置一系列问题的汇总,方便以后自己查看

环境配置一系列问题的汇总&#xff0c;方便以后自己查看 man brew报错“No manual entry for brew” 解决方法记录&#xff1a; 解决问题之前尝试的方法&#xff1a; Linking manuals from Homebrew1 https://apple.stackexchange.com/questions/111061/linking-manuals-f…

2000-2022年上市公司数字化转型数据(年报词频、文本统计)

2000-2022年上市公司数字化转型数据&#xff08;年报词频、文本统计&#xff09; 1、时间&#xff1a;2000-2022年 2、来源&#xff1a;上市公司年报、巨潮资讯网 3、方法说明&#xff1a;参考管理世界中吴非&#xff08;2021&#xff09;的做法&#xff0c;对人工智能技术、…

做题总结 19. 删除链表的倒数第 N 个结点(快慢指针思想)

19. 删除链表的倒数第 N 个结点 最初的想法进阶实现&#xff08;Java&#xff09; 最初的想法 计算出链表中的节点总数&#xff0c;然后遍历找到目标节点并删除。 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode cur head;int count0;w…

Ubuntu 设置共享文件夹

一、在Windows中建立一个英文的文件夹 注意&#xff1a;新建文件夹的名称一定要是英文的&#xff0c;不能出现中文的路径&#xff08;可能出现问题&#xff09; 二、在VMware中添加共享文件 3: VMware安装VMware Tools 一般安装成功桌面上会显示这个安装包&#xff0c;&…

大型软件编程实际应用实例:个体诊所电子处方系统,使用配方模板功能输入症状就可开出处方软件操作教程

一、前言&#xff1a; 在开电子处方的时候&#xff0c;如果能够输入症状就可以一键导入配方&#xff0c;则在很大程度上可以节省很多时间。而且这个配方可以根据自己的经验自己设置&#xff0c;下面以 佳易王诊所电子处方软件为例说明。 二、具体一键导入配方详细操作教程 点击…

学习Java第68天,MVC架构模式理论简介

一.MVC架构模式 MVC&#xff08;Model View Controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码&#xff0c;将业务逻辑聚集到一个部件里面&#xff0c;在改…

01java语言基础

一、初始计算机和Java语言 1、计算机的体系结构 a.计算机的基本概念 计算机(Computer)俗称电脑&#xff0c;是现代一种用于高级计算&#xff0c;使用非常广泛 的设备&#xff0c;主要由计算机硬件和计算机软件两个部分组成。 • 计算机硬件是客观存在的各种计算机相关设备&a…

提升工作效率,尽在Microsoft Office LTSC 2021 for Mac!

在当今的办公环境中&#xff0c;高效率的工作是每个人都追求的目标。作为全球领先的办公软件套装&#xff0c;Microsoft Office LTSC 2021 for Mac将为您提供一站式的解决方案&#xff0c;帮助您轻松应对各种工作任务。 首先&#xff0c;Microsoft Office LTSC 2021 for Mac拥…

C# 通俗讲解Public、Private以及Protected、[HideInInspector]、[SerializeField]的区别

一、故事背景 1.我画了一幅画&#xff0c;把它放在室外&#xff0c;所有人都可以看见这个画&#xff0c;所有人都可以对这个画进行修改。 2.我非常非常努力&#xff0c;赚了一大笔钱&#xff0c;这笔钱&#xff0c;只能我和我的子孙后代用&#xff0c;但如果我的孩子需要传给他…

jmap命令的实现原理解析

jmap可以做什么&#xff1f; 1、jmap -histo[:live] 通过histo选项&#xff0c;打印当前java堆中各个对象的数量、大小。 如果添加了live&#xff0c;只会打印活跃的对象。 2、jmap -dump:[live,]formatb,file 通过-dump选项&#xff0c;把java堆中的对象dump到本地文件&a…

leaflet使用热力图报L找不到的问题ReferenceError: L is not defined at leaflet-heat.js:11:3

1.在main.js中直接引入会显示找不到L 2.解决办法 直接在组件中单独引入使用 可以直接显示出来。 至于为什么main中不能引入为全局&#xff0c;我是没找到&#xff0c;我的另外一个项目可以&#xff0c;新项目不行&#xff0c;不知哪里设置的问题