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

FPGA设计之跨时钟域(CDC)设计篇(5)----同步FIFO的两种设计方法(计数器法/高位扩展法 | 手撕代码)


1、什么是FIFO?

        FIFO(First In First Out) 是一种先进先出的数据缓存器,在逻辑设计里面用的非常多。它是一种存储器结构,被广泛应用于芯片设计中。FIFO由存储单元队列或阵列构成,第一个被写入队列的数据也是第一个从队列中读出的数据。

        FIFO 设计可以说是逻辑设计人员必须掌握的常识性设计。FIFO 一般用在隔离两边读写带宽不一致,或者位宽不一样的地方。 在 FPGA 设计,使用 FIFO 一般有两个方法,第一个方法是直接调用官方的 FIFO IP,另外一个方法是自己设计 FIFO 控制逻辑。当然了,我们学会设计FIFO,并不一定是真的需要自己造轮子,只是说作为从业人员我们要了解相关的设计方法,毕竟自己造的轮子不一定能跑不是。

        为了更好地了解FIFO,可以把FIFO形象化地比作一条管道,管道中的球可以被看做写入FIFO的数据。FIFO的写操作和读操作过程如下所示:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ArcGIS Pro 3.1学习之旅 ----day01 Arcgis pro安装
  • 苍穹外卖day12(day15)---数据统计——Excel报表(项目完结)
  • 使用FFmpeg实现摄像头RTMP实时推流
  • clickhouse安装部署问题求大佬看看
  • 科技云报道:“大模型+机器人”,具身智能将开启“智械时代”
  • 萌啦数据软件价格多少,萌啦数据软件价格是多少
  • Web 安全之 RCE(Remote Code Execution)攻击详解
  • LVS 负载均衡
  • KAN卷积神经网络来了!全新混合架构已开源,训练速度狂飙16倍
  • 学习C#-接口
  • Qt 将生成的exe文件自动复制到其它目录下
  • 微信小程序【五】摇骰子
  • android compose 设置 padding 和 margin
  • 【C++ 面试 - 基础题】每日 3 题(五)
  • 在vue中实现函数防抖
  • Consul Config 使用Git做版本控制的实现
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js作用域和this的理解
  • leetcode386. Lexicographical Numbers
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • spring cloud gateway 源码解析(4)跨域问题处理
  • v-if和v-for连用出现的问题
  • Vue2.x学习三:事件处理生命周期钩子
  • 力扣(LeetCode)357
  • 数据科学 第 3 章 11 字符串处理
  • 我与Jetbrains的这些年
  • 小而合理的前端理论:rscss和rsjs
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • Java性能优化之JVM GC(垃圾回收机制)
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #android不同版本废弃api,新api。
  • ${ }的特别功能
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (21)起落架/可伸缩相机支架
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (ZT)出版业改革:该死的死,该生的生
  • (二)springcloud实战之config配置中心
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (十六)Flask之蓝图
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)Unity3DUnity3D在android下调试
  • **python多态
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .bat文件调用java类的main方法
  • .NET 8 跨平台高性能边缘采集网关
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Core 中的路径问题