FIFO存储器的制作方法

文档序号:33647266发布日期:2023-03-29 05:04阅读:64来源:国知局
FIFO存储器的制作方法
fifo存储器
【技术领域】
1.本发明涉及存储器技术领域,尤其涉及一种fifo(first in first out,先进先出)存储器。


背景技术:

2.在传感器领域,经常需要用fifo存储器暂存多数据源数据,而从fifo存储器中读数据时,需要知道当前数据的类型。现在往往是将数据类型和数据一起存入fifo存储器,则需要的内存增加,造成芯片成本增加。
3.因此,亟需提出一种新的技术方案来解决上述问题。


技术实现要素:

4.本发明的目的之一在于提供一种fifo存储器,其不再将数据类型存入,节省了内存的面积,降低了芯片成本。
5.根据本发明的一个方面,本发明提供一种fifo存储器,其包括:fifo单元;写入接口模块,其接收多种类型的数据,并循环的将所述多种类型的数据按照设定顺序依次写入所述fifo单元中,其中每种类型的数据具有设定的更新频率,在每个循环内写入的每种类型的数据的个数是基于每种类型的更新频率确定的,各个循环中各个数据类型的数据的设定顺序是相同的;类型计数器,其输出的类型计数值能够指示从所述fifo单元中同步读出的数据的类型。
6.与现有技术相比,本发明通过设置类型计数器,其输出的类型计数值能够指示从所述fifo单元中同步读出的数据的类型,这样可以不再将数据类型存入,节省了内存的面积,降低了芯片成本。
【附图说明】
7.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
8.图1是本发明中的fifo存储器在一个实施例中的结构示意图;
【具体实施方式】
9.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
10.此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。除非特别说明,本文
中的连接、相连、相接的表示电性连接的词均表示直接或间接电性相连。
11.在本发明中,除非另有明确的规定和限定,术语“相连”、“连接”、“耦接”等术语应做广义理解;例如,可以是直接连接,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
12.本发明中不再将数据类型存入fifo存储器,而是在读fifo存储器时,同步读出表示数据的类型的类型计数值,从而节省了fifo存储器的面积,降低了芯片成本。
13.图1是本发明中的fifo存储器在一个实施例中的结构示意图。
14.如图1所示的,所述fifo存储器100包括写入接口模块110、fifo单元120、类型计数器130。所述写入接口模块110接收多种类型的数据,并循环的将所述多种类型的数据按照设定顺序依次写入所述fifo单元中。每种类型的数据对应一种数据源。每种类型的数据具有设定的更新频率。所述写入接口模块110可以支持的数据源的个数可以很多,比如所述数据源可以为2、3、4或更多个。在每个循环内写入的每种类型的数据的个数是基于每种类型的更新频率确定的。具体的,在一个循环内,更新频率高的类型的数据被写入的个数高,更新频率低的类型的数据被写入的个数低。各个循环中各个数据类型的数据的设定顺序是相同的。类型计数器130输出的类型计数值能够指示从所述fifo单元中同步读出的数据的类型。
15.当从所述fifo单元120中每读出一个数据时,类型计数器130输出的类型计数值自加1。所述类型计数器计数到最大值后重置为初始值,每个类型计数值对应设定的一种类型。具体的,所述初始值可以为0或1。此外,所述fifo单元120具有fifo模式和连续模式。在fifo模式下不允许写入的数据覆盖已写入的最旧数据,在连续模式下允许写入的数据覆盖已写入的最旧数据。因此,当所述fifo单元120中的最旧数据被覆盖时,所述类型计数器130输出的类型计数值也需要自加1。
16.如图1所示的,所述fifo存储器100还包括第二计数器(未图示)。第二计数器计数得到在一个循环内写入的各种类型的数据的总个数,该总个数为所述类型计数值的最大值。所述第二计数器在所述循环开始时从初始值开始计数得到第二计数值,每写入一个数据则所述第二计数值自加1,直到所述循环结束时截止,最终得到的第二计数值就是在一个循环内写入的各种类型的数据的总个数。
17.每种类型的数据具有设定的优先级,不同类型的数据的优先级不同。在一个循环内具有多个写使能周期,在每个写使能周期内能够写入一个或多个类型的数据,在一个写使能周期内需要写入多个类型的数据时按照每种类型的数据的优先级依次写入。如果在一个写使能周期内依次写入了有效的所有类型的数据,则这个写使能周期是这循环内的第一个写使能周期,而上一个循环至此结束。
18.根据一个类型的数据的更新频率和所述循环的频率确定在一个循环内写入的这个类型的数据的个数。将一个循环的每种类型的数据均匀的分布至所述多个写使能周期内。
19.在一个实施例中,所述写入接口模块110包括第一分频器111、第二分频器112和选择器113。
20.第一分频器111基于分组分频系数对系统时钟sys_clk进行分频得到分组写使能k_wen,在分组写使能k_wen有效时,则开始一个写使能周期。第二分频器112基于各个类型
的数据对应的类型分频系数对分组写使能进行分频得到各个类型的数据对应的类型写使能信号,在一个类型写使能信号有效时持续一个写使能周期,其中基于每个类型的数据的更新频率和所述分组写使能k_wen的频率为每个类型的数据确定对应的类型分频系数。
21.所述选择器113在每个写使能周期内按照各个类型的优先级依次选通有效的类型写使能作为所述fifo单元的写使能,并将选通的类型的数据作为所述fifo单元的写入数据。
22.第一分频器111基于分组计数器对系统时钟sys_clk进行k分频,所述分组计数器的最大值为k。第二分频器112基于各个类型对应的类型计数器对分组写使能进行分频。将分组计数器的计数值作为所述选择器的选通信号,先选通优先级高的类型写使能信号。
23.在一个示例中,需要存储4个数据源的数据,4个数据源的数据为4种类型,分别记为a、b、c和d,根据每个类型的数据的更新频率和所述分组写使能k_wen为每个类型的数据确定对应的类型分频系数,四个类型分频系数分别可以为da、db、dc、dd,44种类型对应的类型写使能信号分别为a_wen、b_wen、c_wen、d_wen,当这些写使能有效时,保持一个写使能周期。各个类型的优先级可以为a》b》c》d。
24.具体的,开始接收数据源的数据前,需要配置好接收每个数据源的频率。当每个数据源频率确定后,优先度又已经确认。则数据写入的顺序就已经确定,而且这个顺序是一个循环。
25.例如:类型计数器的最大值分别为1、0、2、3,即各个类型的数据对应的类型分频系数da、db、dc、dd为别为1、0、2、3。
26.假设系统时钟的频率为600mhz,所述分组计数器的最大值为k,即分组分频系数为1000,则分组写使能k_wen的频率为600khz,类型写使能信号分别为a_wen、b_wen、c_wen、d_wen的频率分别为600khz,0khz,300khz,200khz。600khz,300khz,200khz就是类型a、c和d的更新频率。由于数据源b是无效的,因此可以将其类型分频系数db设置为0,这样后续就不会写入b。
27.则在一个循环的第1个写使能周期内依次写入:a c d;
28.第2个写使能周期依次写入:a;
29.第3个写使能周期依次写入:a c;
30.第4个写使能周期依次写入:a d;
31.第5个写使能周期依次写入:a c;
32.第6个写使能周期依次写入:a;
33.第7个写使能周期依次写入:a c d;
34.由于在第7个写使能周期次写入了有效的所有类型的数据(即a、c和d是有效的所有类型),则第7个写使能周期是新的循环内的第一个写使能周期,而上一个循环至此结束。
35.可见,一个循环写入fifo单元120的数据的循序为:acd a ac ad ac a。后续的每个循环中各个数据类型的数据的设定顺序是相同的,即都是acd a ac ad ac a。
36.第二计数器得到在一个循环内写入的各种类型的数据的总个数为11,即所述类型计数值的最大值为11。
37.fifo单元中的数据被读出时,随之读出的类型计数器的类型计数值n为:0、1、2、3、4、5、6、7、8、9、10。
38.则类型计数值n的每个值和数据类型的关系是确定的,具体如下:
[0039][0040]
不过,在连续模式下,当所述fifo单元120中的最旧数据被覆盖时,所述类型计数器130输出的类型计数值n也需要自加1,以便使得从fifo单元120读出的数据的类型能够与类型计数值n一致。
[0041]
也可以采用其他方式来计算每个循环中,各个类型的数据的写入设定顺序。由于类型计数器的最大值分别为1、0、2、3,可得这些最大值得最小公倍数为6,即6个写使能周期为一个循环。
[0042]
0/1余数为0,则写入a
[0043]
0/2余数为0,则写入c
[0044]
0/3余数为0,则写入d
[0045]
1/1余数为0,则写入a
[0046]
1/2余数为1,则不写入c
[0047]
1/3余数为1,则不写入d
[0048]
······
[0049]
5/1余数为0,则写入a
[0050]
5/2余数为1,则不写入c
[0051]
5/3余数为2,则不写入d
[0052]
即使用循环数分别除以类型计数器的最大值,1、2和3,若余数为0,则判断为写入。如此,也可得到上表中描述的对应关系。
[0053]
本发明通过设置类型计数器,其输出的类型计数值n能够指示从所述fifo单元120中同步读出的数据的类型,这样可以不再将数据类型存入,节省了内存的面积,降低了芯片成本。
[0054]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
[0055]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1