码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【【萌新的FPGA学习之FIFO的介绍】】


    萌新的FPGA学习之FIFO的介绍

    FIFO first in first out FIFO 的作用更多的是 缓冲与缓存
    或者FIFO 也常被用来使用为
    FIFO 本质上是由 RAM 加读写控制逻辑构成的一种先进先出的数据缓冲器,其与普通存储器 RAM 的
    区别在于 FIFO 没有外部读写地址线,使用起来非常简单,但 FIFO 只能顺序写入数据,并按顺序读出数据,
    其数据地址由内部读写指针自动加 1 完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定
    的地址,不过也正是因为这个特性,使得 FIFO 在使用时并不存在像 RAM 那样的读写冲突问题。

    先入先出 从这里写进去的第一个数据一定会先读出

    FIFO 虽然本质上是RAM 但是也分为 BRAM 和 DRAM BRAM 支持 读写位宽不同
    在这里插入图片描述

    在这里插入图片描述

    它在设计的时候 留下了两个 almost_full 和almost_empty 空余了一个时钟周期的量 交给了 读写端 让读写端有反应时间
    这里的prog_full 设置为可编程的拉高或拉低

    FIFO 并不需要提供地址 相对于 RAM 而言
    它是一种先进先出的概念
    在这里插入图片描述

    进制 :
    独热码假设是4bit : 0001, 0010, 0100 , 1000 ; 在做仲裁的时候 使用
    格雷码 : 每个相邻的数之间,只有一个bit在变化

    为什么还要用格雷码呢?
    主要用来处理跨时钟域的问题 ,在跨时钟域时数据很容易出现亚稳态。

    我们先来 分析一下 整个的 写控制模块
    在这里插入图片描述
    在这里插入图片描述

    如果en 拉高一次 , 地址就增加一次 , 再把增加的地址转成格雷码 , 再从这个口传输给我们的RAM
    控制模块最关键的是 这个 gary_com 格雷码比较模块

    FIFO 满情况 :
    因为转了一圈 读写的地址都是一样的
    读地址追上了写地址 就是空
    写地址追上了读地址 就是满

    判断满的情况是 : 写指针和读指针 相比 最高位不相等 ,剩下的位数全相等
    判断空的情况是 : 读和写指针 最高位相等 ,剩下的位数全相等

  • 相关阅读:
    网络的笔记
    Linux 中 .tar 和 tar.gz 的区别
    DBCO-PEG-Ciprofloxacin 二苯并环辛炔-聚乙二醇-环丙沙星 DBCO-PEG-环丙沙星
    供应链 | 顶会CIKM论文精读:面向大规模三维装箱问题的数据驱动树形搜索算法
    想学 fpga 开发该怎么入门?
    java基于微信小程序的在线外卖订餐系统 uniapp
    spring boot 3 + spring cloud sleuth 无法注入Tracer问题
    【滑动窗口】leetcode992. Subarrays with K Different Integers
    【STM32教程】第五章 STM32的定时器
    首发|PS 2024 正式版来袭,内置AI神经滤镜,支持Win/Mac
  • 原文地址:https://blog.csdn.net/weixin_50965981/article/details/134062458
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号