(1) 数据的缓冲。如模型图所示,如果数据的写入速率高,但间隔大,且会有突发;读出速率小,但相对均匀。则通过设置相应深度的FIFO,可以起到数据暂存的功能,且能够使后续处理流程平滑,避免前级突发时,后级来不及处理而丢弃数据。

(2) 时钟域的隔离。对于不同时钟域的数据传递,则数据可以通过FIFO进行隔离,避免跨时钟域的数据传输带来的设计与约束上的复杂度。比如FIFO的一端是AD采集的数据,另一端是计算机的PCI总线,假设AD采集的速率是16位 100K SPS,那么每秒的数据量为100K*16bit=1.6Mbps。而PCI总线的速度为33MHz,总线宽度为32位,则其最大传输速率为33M*32=1.056Gbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。

(3)用于不同宽度的数据接口。例如单片机8位数据输出,而DSP是16位数据输入,在单片机和DSP连接时就可以使用FIFO来达到数据匹配的目的。

最新文章

  1. Unity3D 与android交互流程步骤
  2. t-sql或mssql怎么用命令行导入数据脚本
  3. iOS-(kCFStreamErrorDomainSSL, -9802)
  4. Multi-Language IDE for Professional Developers (Komodo)
  5. mig_ddr4_ultrascale
  6. SPFA 小优化*2
  7. ceph for openstack快速部署实施
  8. php相关书籍视频
  9. UNIX网络编程——基本TCP套接字编程
  10. PHP CURL获取页面内容输出例子
  11. 1. qt 入门-整体框架
  12. BZOJ4385[POI2015]Wilcze doły——单调队列+双指针
  13. 外部盒模型大小固定 内部有边框div设置浮动时 缩放窗口内部div溢出的解决办法
  14. JSONP方法解决跨域请求
  15. NOI备战总结ing……
  16. linux socket talkclient talkserver示例
  17. C#程序证书创建工具 (Makecert.exe)
  18. P2414 [NOI2011]阿狸的打字机
  19. spark ml 的例子
  20. requireJS简介和一个完整实例

热门文章

  1. oracle 12c使用dblink克隆pdb
  2. GCO团队合作
  3. python 带BOM头utf-8的响应解码
  4. linux shell中 if else以及大于、小于、等于逻辑表达式介绍
  5. C++中的RAII(转)
  6. Android(java)学习笔记39:Android 修改字体
  7. Vue.js系列之vue-resource(6)
  8. 用jquery写的json省市县三级联动下拉
  9. linux 安装redis和集群
  10. WebSocket消息推送(实现进行聊天)和WebSocket简介