首页> 中国专利> 一种基于旋转队列体制的多功能FIFO存储器及其读写方法

一种基于旋转队列体制的多功能FIFO存储器及其读写方法

摘要

一种基于旋转队列体制的多功能FIFO存储器及其读写方法,将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储,当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储,本发明基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。

著录项

  • 公开/公告号CN105159649A

    专利类型发明专利

  • 公开/公告日2015-12-16

    原文格式PDF

  • 申请/专利权人 上海无线电设备研究所;

    申请/专利号CN201510602094.4

  • 申请日2015-09-21

  • 分类号G06F5/10;

  • 代理机构上海信好专利代理事务所(普通合伙);

  • 代理人张妍

  • 地址 200090 上海市杨浦区黎平路203号

  • 入库时间 2023-12-18 12:59:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-14

    授权

    授权

  • 2016-01-13

    实质审查的生效 IPC(主分类):G06F5/10 申请日:20150921

    实质审查的生效

  • 2015-12-16

    公开

    公开

说明书

技术领域

本发明涉及一种基于旋转队列体制的多功能FIFO存储器及其读写方法。

背景技术

现有传统的FIFO(FirstInputFirstOutput)是一种常用的存储体制,即先入先出队列数据存储体制,先存入FIFO的数据则先被读取出FIFO。FIFO一般用于不同时钟域之间的数据传输,实现跨时钟域的数据接口功能。

在某些数据采集系统中,需要对触发信号到来之前的N点数据和之后的N点数据均进行实时存储,常规FIFO在接收触发信号后,开始存储需要的数据,一旦需要存储触发信号到来之前的数据时,并且需要读取触发信号来临之前的存储数据时,传统FIFO就无法满足此需求。

发明内容

本发明提供一种基于旋转队列体制的多功能FIFO存储器及其读写方法,基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。

为了达到上述目的,本发明提供一种基于旋转队列体制的多功能FIFO存储器,包含:

输入数据选择存储模块;

旋转队列存储模块,其电性连接输入数据选择存储模块;

备用FIFO存储器,其电性连接输入数据选择存储模块;

旋转FIFO数据选择输出模块,其电性连接旋转队列存储模块和备用FIFO存储器;

旋转队列存储控制模块,其电性连接输入数据选择存储模块和旋转FIFO数据选择输出模块;

所述的旋转队列存储模块包含若干FIFO存储器,所述的若干FIFO存储器组成旋转队列,实现对数据流的连续存储。

本发明还提供一种基于旋转队列体制的多功能FIFO存储器的读写方法,包含以下步骤:

将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储;

当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储;

完成对被移出旋转队列的FIFO存储器的数据读取后,被移出旋转队列的FIFO存储器成为新的备用FIFO存储器。

所述的循环顺序是指:FIFO存储器按照规定的顺序存储输入数据,一个FIFO存储器写满后,下一个FIFO存储器开始写入数据,当最后一个FIFO存储器写满后,再从第一个FIFO存储器开始写入数据,如此循环。

本发明基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。

附图说明

图1是本发明提供的基于旋转队列体制的多功能FIFO存储器的存储数据流与常规FIFO存储数据流对比图。

图2是发明提供的一种基于旋转队列体制的多功能FIFO存储器的结构框图。

图3是本发明一个实施例中旋转队列的示意图。

图4是本发明一个实施例中旋转队列和备用FIFO存储器的示意图。

图5~图7是本发明一个实施例中旋转队列存储操作示意图。

具体实施方式

以下根据图1~图7,具体说明本发明的较佳实施例。

如图1所示,常规FIFO只能在触发信号到来时进行数据存储,触发信号之前的数据无法进行实时存储,本发明提供的基于旋转队列体制的多功能FIFO存储器可以实现对触发信号之前N点数据和之后N点数据的实时存储,并全部读取。

如图2所示,本发明提供一种基于旋转队列体制的多功能FIFO存储器,包含:

输入数据选择存储模块1;

旋转队列存储模块2,其电性连接输入数据选择存储模块1;

备用FIFO存储器3,其电性连接输入数据选择存储模块1;

旋转FIFO数据选择输出模块4,其电性连接旋转队列存储模块2和备用FIFO存储器3;

旋转队列存储控制模块5,其电性连接输入数据选择存储模块1和旋转FIFO数据选择输出模块4。

所述的旋转队列存储模块2包含若干FIFO存储器201,所述的若干FIFO存储器201组成旋转队列,实现对数据流的连续存储,如图3所示,本实施例中,旋转队列存储模块2包含3个FIFO存储器,第一FIFO存储器21、第二FIFO存储器22和第三FIFO存储器23组成一个循环旋转队列,输入数据先写入第一FIFO存储器21,第一FIFO存储器21写满后,输入数据继续写入第二FIFO存储器22,第二FIFO存储器22写满后,输入数据继续写入第三FIFO存储器23,第三FIFO存储器23写满后,输入数据写入第一FIFO存储器21。

所述的旋转队列存储模块2中的FIFO存储器的数量M与需要读取的存储触发信号之前N点数据和之后N点数据的数据量成正比,如果需要对存储触发信号之前和之后的数据有更多的存储要求,可以增加旋转队列中的FIFO存储器的数量。

所述的基于旋转队列体制的多功能FIFO存储器的工作原理如下:

输入数据进入输入数据选择存储模块1,旋转队列存储控制模块5控制输入数据选择存储模块1按照顺序选择旋转队列存储模块2中的FIFO存储器,将输入数据依次循环写入组成了旋转队列的若干FIFO存储器,实现对数据流的连续存储,旋转队列存储控制模块5控制旋转FIFO数据选择输出模块4读取按照顺序选择旋转队列存储模块2中的FIFO存储器,读取数据流,当旋转队列中的某一个FIFO存储器被读取时,旋转队列存储控制模块5将该FIFO存储器被推出旋转队列,同时将备用存储模块3填充到旋转队列中,取代被推出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被存储及被读出。

本发明还提供一种基于旋转队列体制的多功能FIFO存储器的读写方法,包含以下步骤:

将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储;所述的循环顺序是指:FIFO存储器按照规定的顺序存储输入数据,一个FIFO存储器写满后,下一个FIFO存储器开始写入数据,当最后一个FIFO存储器写满后,再从第一个FIFO存储器开始写入数据,如此循环。

当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储。

完成对被移出旋转队列的FIFO存储器的数据读取后,被移出旋转队列的FIFO存储器成为新的备用FIFO存储器。

当存储触发信号到来时,存储触发信号之前的数据和存储触发信号之后的数据都可以被存储及被读出,该读写方法使FIFO存储器具有了数据寄存功能,当任意时刻存储控制信号来临时,可以存储并读取此信号之前和之后的数据,弥补了传统FIFO存储功能局限性。

以下通过一个实施例来说明本发明的具体操作步骤:

1、如图4所示,旋转队列包含第一FIFO存储器、第二FIFO存储器和第三FIFO存储器,第四FIFO存储器是备用FIFO存储器,依次将数据写入旋转队列,先写入第一FIFO存储器,当第一FIFO存储器写满后,开始写入第二FIFO存储器,当第二FIFO存储器写满后,开始写入第三FIFO存储器,当第三FIFO存储器写满后,开始写入第一FIFO存储器,以此类推。

2、如图5所示,当写入数据写满旋转队列中第一位置的第一FIFO存储器,开始写第二FIFO存储器时,基于旋转队列体制的多功能FIFO存储器可以开始读取数据,此时若读取数据,则读取第一FIFO存储器内保存的数据,当第一FIFO存储器被读取数据时,则被移出旋转队列,此时,由闲置的备用FIFO存储器(第四FIFO存储器)代替第一FIFO存储器在旋转队列中的位置,这样,当读取数据时,旋转队列还是由3块FIFO存储器构成的完整队列,输入数据依然可以进行连续存储。

3、如图6所示,继续读取数据时,则读取旋转队列第二位置的第二FIFO存储器的数据,此时,第二FIFO存储器被移出旋转队列,现在闲置在队列外的第一FIFO存储器被补充进入旋转队列,取代第二FIFO存储器在旋转队列中的位置。

4、依次类推,如图7所示,继续读取旋转队列第三个位置的第三FIFO存储器的数据,此时,第三FIFO存储器被移出旋转队列,而队列外的第二FIFO存储器则被补充入队列,并取代第三FIFO存储器放在旋转队列的第三位置,由此看出,当读取之前存储的FIFO存储器时,被读取的FIFO存储器都会被移出旋转队列,这样操作的好处就是读取数据不影响写入数据的连续存贮,并且队列外的空闲FIFO存储器随时补充到旋转队列中,始终保持旋转队列的完整,即一直保持三个FIFO存储器的存在,这样将存储触发信号作为某个FIFO存储器的存储信号,则存储触发信号到来之前的数据,就已经被存储在旋转队列上一个位置的FIFO存储器中,可以做到对存储触发信号到来之前数据的连续存储。

本发明通过将多个FIFO存储器进行组合,并按照旋转队列存储机制控制其读、写操作,使得其相比于传统FIFO在存储灵活性方面有巨大的提高,应用范围得到扩展,可以更加广泛应用于数据存储领域。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号