1.什么是FIFO
FIFO是First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
2.什么情况下用FIFO
FIFO一般用于不同时钟域之间的数据传输。比如FIFO的一端时AD数据采集,另一端是计算机的PCI总线,假设其AD采集的速率为16位100KSPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。
另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。
3.FIFO的一些重要参数
宽度:THE WIDTH,它指的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM 32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。
深度:THE DEEPTH,它指的是FIFO可以存储多少个N位的数据(如果宽度为N)。如一个8位的FIFO,若深度为8,它可以存储8个8位的数据,深度为12 ,就可以存储12个8位的数据,FIFO的深度可大可小,个人认为FIFO深度的计算并无一个固定的公式。在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。在一个具体的应用中也不可能由一些参数精确的算出所需FIFO深度,这在写速度大于读速度的理想状态下是可行的,但在实际中用到的FIFO深度往往要大于计算值。一般来说根据电路的具体情况,在兼顾系统性能和FIFO成本的情况下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应用,FIFO的深度要根据读出的数据结构和读出数据由那些具体的要求来确定。
满标志:FULL,FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。
空标志:EMPTY,FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。
读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。
写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。
读指针:指向下一个读出地址。读完后自动加1。
写指针:指向下一个要写入的地址的,写完自动加1。 读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连续的。
4.FIFO的分类
根均FIFO工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟是互相独立的。
5.FIFO设计的难点
FIFO设计的难点在于怎样判断FIFO的空/满状态。为了保证数据正确的写入或读出,而不发生益处或读空的状态出现,必须保证FIFO在满的情况下,不能进行写操作。在空的状态下不能进行读操作。怎样判断FIFO的满/空就成了FIFO设计的核心问题。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
得捷:深化客户服务 无惧关税影响
搭载Integrity Guard安全架构的芯片交付量突破100亿,充分彰显英飞凌在安全领域的领导地位
基于PCI软核的PCI总线接口设计与实现
搬起石头砸自己的脚?美国撤销《AI扩散规则》加强AI管制的原因背后
上门送货神机妙算红狗广联达复制狗管家婆用有方正海地pkpm服装算命等软件
观看40-nm高密度FPGA上的100G Interlaken解决方案
在低价FPGA上实现基于处理器的数字系统
TI工程师讲解最新高性能模拟芯片AFE5805
高薪诚聘 FPGA DSP技术人才 急!!!!
铜柱替代焊球,封装进入「铜」 时代
闪存单片机技术在网络化汽车中的作用
555水塔水位有线遥测遥控装置电路
比硬币小的芯片,感知万物
十句大实话 [ZZ]
TI用在工业里的Sigma-Delta调制器
物超所值的惊喜!!!!!!
年初被DeepSeek干崩盘的英伟达股价,本周又创历史最高
QNX与Vector签署谅解备忘录,共同打造基础性车辆软件平台
未来汽车信息终端平台研制的探讨
CAN总线在混和动力汽车电机控制系统中的应用
采用单片FPGA支持多种工业以太网协议
FANUC 发布 ROBOGUIDE v10 机器人仿真软件
555光电式自动节水开关电路
Inbolt 将将其实时机器人引导系统带到美国、日本
上门送货神机妙算红狗广联达复制狗管家婆用有方正海地pkpm服装算命等软件
555交流电动机节能启动器电路
555红外自动水龙头控制器电路
在Arria II GX收发器FPGA上实现PCIe、XAUI和3G-SDI
555无塔增压供水装置液位控制电路
电感式按压传感器为键盘、遥控器及游戏机等多样设备带来极致人机交互体验