用Verilog如何手搓一个简单的同步FIFO?

FIFO简介

       FIFO 是一种 先进先出的数据缓存器 ,在逻辑设计里面用的非常多。FIFO 一般用 在隔离两边读写带宽不一致 ,或者位宽 不一样的地方。在逻辑设计的时候,使用 FIFO 一般有两 个方法,第一个方法是直接调用官方的 FIFO IP,另外一个方法是自己设计 FIFO 控制逻辑。直接调用 FIFO IP 的方法不需要感知 FIFO 内部的控制逻辑。
        FIFO 包括同步 FIFO 异步 FIFO 两种,同步 FIFO 有一个时钟信号,读和写逻辑全部使用这一个时钟信号,异步 FIFO 有 两个时钟信号,读和写逻辑用的各种的读写时钟。 FIFO 与普通存储器 RAM 的区别是没有外部读写地址线,使用起来非常简单,但缺点就是只能顺序写 入数据,顺序的读出数据,其数据地址由内部读写指针自动加 1 完成 FIFO 本质上是由 RAM 加读写控制逻辑构成的一种先进先出的数据缓冲器  

FIFO常见参数

FIFO 的宽度: FIFO 一次读写操作的数据位;
FIFO 的深度: 指的是 FIFO 可以存储多少个 N 位的数据(如果宽度为 N )。
满标志: FIFO 已满或将要满时由 FIFO 的状态电路送出的一个信号,以阻止 FIFO 的写操作继 续向 FIFO 中写数据而造成溢出( overflow )。
空标志: FIFO 已空或将要空时由 FIFO 的状态电路送出的一个信号,以阻止 FIFO 的读操作继 续从 FIFO 中读出数据而造成无效数据的读出( underflow )。
读时钟: 读操作所遵循的时钟,在每个时钟沿来临时读数据。
写时钟: 写操作所遵循的时钟,在每个时钟沿来临时写数据。

同步FIFO设计——代码设计

提示:提供读者参考,欢迎指正


同步FIFO设计——仿真验证

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值