数字电路实用篇
第三章 FIFO简介
FIFO本质
IFO 包括同步 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 读写指针(读写指针就是读写地址)的工作原理:
写指针:总是指向下一个将要被写入的单元,复位时,指向第 1 个单元(编号为 0)。 读指针:总是指向当前要被读出的数据,复位时,指向第 1 个单元(编号为 0)
FIFO 的“空”/“满”检测:
FIFO 设计的关键:产生可靠的 FIFO 读写指针和生成 FIFO“空”/“满”状态标志。