通过MegaWizard Plug-In Manager 配置FIFO.pdf

通过MegaWizard Plug-In Manager 配置FIFO.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通过MegaWizard Plug-In Manager 配置FIFO

通过MegaWizard Plug-In Manager 配置FIFO 2014年4月22 日 19:57 一、关于FIFO的相关概念 1.什么是FIFO? FIFO是英文First In First Out的缩写,是一种先入先出的数据存储器,它与 普通存储器的区别是没有外部读写地址线,这样使用起来很方便,它的 缺点是只能顺序写入数据,顺序读出数据,不能像普通存储器那样可以 由地址线决定读取与写入的某个指定的地址。 2.什么情况下用FIFO? FIFO 一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采 集,另一端是计算机的PCI 总线,假设其AD 采集的速率为16 位 100K SPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI 总线的速度为 33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟 域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也 可以用FIFO,例如单片机位8 位数据输出,而DSP可能是16 位数据输 入,在单片机与DSP连接时就可以使用FIFO 来达到数据匹配的目的。 3.FIFO 的一些重要参数 a.FIFO 的宽度: 也就是英文资料里常看到的THE WIDTH,它只的是FIFO 一次读写操作的 数据位,就像MCU有8位和16位,ARM 32 位等等,FIFO的宽度在单片成品 IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据 位,也就是宽度是可以自己定义的。 b.FIFO 的深度: THE DEEPTH,它指的是FIFO 可以存储多少个N位的数据(如果宽度为 N)。如一个8 位的FIFO,若深度为8,它可以存储8个8位的数据,深度 为12 ,就可以存储12个8位的数据,FIFO 的深度可大可小,个人认为 FIFO 深度的计算并无一个固定的公式。在FIFO 实际工作中,其数据的 满/空标志可以控制数据的继续写入或读出。在一个具体的应用中也不可 能由一些参数算数精确的所需FIFO 深度为多少,这在写速度大于读速度 的理想状态下是可行的,但在实际中用到的FIFO 深度往往要大于计算 值。一般来说根据电路的具体情况,在兼顾系统性能和FIFO 成本的情况 下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应 用,FIFO 的深度要根据读出的数据结构和读出数据的由那些具体的要求 来确定。 c.满标志: FIFO 已满或将要满时由FIFO 的状态电路送出的一个信号,以阻止FIFO 分区 FPGA 的第 1 页 FIFO 已满或将要满时由FIFO 的状态电路送出的一个信号,以阻止FIFO 的写操作继续向FIFO中写数据而造成溢出(overflow)。 d.空标志: FIFO 已空或将要空时由FIFO 的状态电路送出的一个信号,以阻止FIFO 的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。 e.读时钟: 读操作所遵循的时钟,在每个时钟沿来临时读数据。 f.写时钟: 写操作所遵循的时钟,在每个时钟沿来临时写数据。 g.读指针: 指向下一个读出地址。读完后自动加1。 h.写指针: 指向下一个要写入的地址的,写完自动加1。 读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连 续的。 4.FIFO 的分类 根均FIFO 工作的时钟域,可以将FIFO分为同步FIFO 和异步FIFO。同步 FIFO 是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写 操作。异步FIFO 是指读写时钟不一致,读写时钟是互相独立的。 5.FIFO 设计的难点 FIFO 设计的难点在于怎样判断FIFO 的空/满状态。为了保证数据正确的 写入或读出,而不发生益处或读空的状态出现,必须保证FIFO 在满的情 况下,不能进行写操作。在空的状态下不能进行读操作。怎样判断FIFO 的满/空就成了FIFO 设计的核心问题。 【参考他人资料】 二、通过MegaWizard Plug-In Manager 配置FIFO step1.打开MegaWizard Plug-In Manager Tools--MegaWizard Plug-In Manager MegaWizard Plug-In Manager 分区 FPGA 的第2 页

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档