84位先进先出(FIFO)存储器设计.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 10 8*4位先进先出(FIFO)存储器设计 1 课程设计目的 了解及掌握先进先出(FIFO)存储器的工作特性及其读写方法。 2课程设计设备 (1)TDN-CM+或 TDN-CM++教学实验系统一台。 (2)PC 微机一台。 3 课程设计相关理论 FIFO存储器结构框图如图3-1所示。首先,FIFO是一种存储器,具有一般存储器的基本特点,包含一些存储器必有的电路结构,如地址译码电路、存储矩阵等。但是FIFO作为一种特殊的存储器,也有它自身的特点。由于它是一种以先进先出方式进行存储数据的,它不需要地址线,它的地址代码是存放在地址指针(计数器)中的,这是FIFO存储器最大的特点。 写信号控制写指针 写信号控制 写指针 比较判断电路 写地址译码器 数据读入 写入电路 存储单元 数据输出 读信号控制 读指针 读出电路 读地址译码器 图3-1 FIFO结构框图 图3-2 、分别与、时序关系图 根据时钟域,可以将FIFO分为同步FIFO 和异步FIFO。同步FIFO 是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO 是指读写时钟不一致,读写时钟是互相独立的。 FIFO是一种不同时钟域之间传递数据的常用方法,基于FIFO(先进先出)设计的存储器的数据读出顺序与数据写入顺序始终一致。这种存储器主要用在两个处理数据速度不同的数字系统之间,作为数据缓冲器来提供必要的数据缓冲,使这两个数字系统达到同步, 低功耗高速度的先进先出存储器在大规模数字集成电路中,尤其是在片上系统(System on Chip)中经常作为一个必不可少的模块被用到。在功能上FIFO存储器有点类似一个串行移位寄存器,数据读出顺序与数据写入顺序始终一致。这种存储器主要用在两个处理数据速度不同的数字系统之间,作为数据缓冲器使用。 FIFO 的深度:THE DEEPTH,它指的是FIFO 可以存储多少个N位的数据(如果宽度为N)。如一个8 位的FIFO,若深度为8,它可以存储8个8位的数据,深度为12 ,就可以存储12个8位的数据,FIFO 的深度可大可小,个人认为FIFO 深度的计算并无一个固定的公式。在FIFO 实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。在一个具体的应用中也不可能由一些参数算数精确的所需FIFO 深度为多少,这在写速度大于读速度的理想状态下是可行的,但在实际中用到的FIFO 深度往往要大于计算值。一般来说根据电路的具体情况,在兼顾系统性能和FIFO 成本的情况下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应用,FIFO 的深度要根据读出的数据结构和读出数据的由那些具体的要求来确定。 满标志:FIFO 已满或将要满时由FIFO 的状态电路送出的一个信号,以阻止FIFO 的写操作继续向FIFO中写数据而造成溢出(overflow)。 空标志:FIFO 已空或将要空时由FIFO 的状态电路送出的一个信号,以阻止FIFO 的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。 读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。 写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。 读指针:指向下一个读出地址。读完后自动加1。 写指针:指向下一个要写入的地址的,写完自动加1。 读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连续的。 FIFO 设计的难点在于怎样判断FIFO 的空/满状态。为了保证数据正确的写入或读出,而不发生益处或读空的状态出现,必须保证FIFO 在满的情况下,不能进行写操作。在空的状态下不能进行读操作。怎样判断FIFO 的满/空就成了FIFO 设计的核心问题。 课程设计原理 本次课程设计用 isp1032 芯片来实现一个简单的 8 位×4 的FIFO ,其信号引脚如图4-1 : 图4-1 定义FIFO在1032中对应的管脚 其各信号的功能为: EMPTY :FIFO 存储器为空标志,高电平有效。 FULL :FIFO 存储器满标志,高电平有效。 RST :清FIFO 存储器为空。 FIFOWR :FIFO 存储器写入信号,低电平有效。 FIFORD :FIFO 存储器读信号,低电平有效。 ID0~ID7 :FIFO 存储器输入数据线。 OD0~OD7 :FIFO 存储器读出数据线。 各信号后的括号内的数字为本设计在 CPLD 中定义的相应的管脚号。 此 8×4 FIFO 的内部逻辑图如下图 4-2 :

文档评论(0)

_______ + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档