CN104572573A - 数据存储方法、存储模块和可编程逻辑器件 - Google Patents
数据存储方法、存储模块和可编程逻辑器件 Download PDFInfo
- Publication number
- CN104572573A CN104572573A CN201410830638.8A CN201410830638A CN104572573A CN 104572573 A CN104572573 A CN 104572573A CN 201410830638 A CN201410830638 A CN 201410830638A CN 104572573 A CN104572573 A CN 104572573A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- cascade
- memory module
- capacity
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Abstract
本发明公开了一种数据存储方法、存储模块和可编程逻辑器件。本发明的数据存储方法,应用于可编程逻辑器件,该可编程逻辑器件包括多个存储模块,所述存储模块包括多个小容量的存储单元,方法包括:当待存储数据的字节数大于存储单元的容量小于等于存储模块容量时,根据字节数和容量确定需级联的存储单元的数量;存储模块的容量为所述存储模块中所有存储单元的容量之和;使能存储模块中所述数量的存储单元,对所述数量的存储单元进行级联形成第一级联存储单元,将待存储数据存储在第一级联存储单元中;本发明的方法可以解决现有基于块状存储器的可编程逻辑器件在对小容量数据存储时会造成大量的存储空间冗余、逻辑资源浪费的技术问题。
Description
技术领域
本发明涉及集成电路设计领域,尤其涉及一种数据存储方法、存储模块和可编程逻辑器件。
背景技术
数字逻辑器件可分为两大类,固定逻辑器件和可编程逻辑器件。固定逻辑器件的功能是永久性的,制造后无法改变。可编程逻辑器件能够提供广泛的组合逻辑,时序逻辑,电压特性,从而完成许多不同的逻辑功能。
对于可编程逻辑器件,只需要通过开发工具将设计的电路转化为位流文件,导入可编程器件中,便可得到期望的电路功能。相比于固定逻辑器件,可编程逻辑器件节省了大量的流片成本,并且更加灵活,可重复编程以实现不同逻辑功能。
其中,现场可编程门阵列(FPGA)是可编程逻辑器件的典型产品。如今,FPGA的发展已引起了集成电路市场及电子科技领域的广泛关注,利用其灵活配置,高速,可系统化集成的优势,逐渐扩大在集成电路市场份额,并将电子技术产业的热点,逐渐由ASIC向FPGA转移。
目前,FPGA生产商为了降低器件的生产成本,通常采用某种固定、单一的芯片架构。并且,为了使FPGA器件适用于普遍的电路应用,器件中的逻辑资源将布置得尽可能丰富,以逻辑资源的冗余换取FPGA器件实现更多的功能。大部分应用情况下,仅需要调用部分FPGA器件中的逻辑资源,便可实现所需的电路功能。器件中的其他逻辑资源将处于闲置或不启用的状态,这不可避免的造成了逻辑资源的浪费,资源利用率低下的状况。
目前市场上的FPGA器件中普遍采用块状存储器(Block RAM)作为存储单元,一个独立的Block RAM通常具有36K bits或18K bits的存储容量,一个FPGA器件具有多个Block RAM单元,多个Block RAM还可进行级联,实现更大规模的存储功能。然而,在某些特殊应用中(例如,在AES、DES加密算法中,需要对多个2K bits的数据模块进行逻辑运算)Block RAM单元存在某些不足,主要表现在:单个Block RAM存储容量太大、并且是一个存储区域无法分块独立读写操作的整体,当用户应用实例需要同时对许多小容量数据存储区进行读写时,每个小容量数据存储区均需要占据1个Block RAM,造成大量的存储空间冗余,逻辑资源浪费,并导致电路运行速度降低,电路功耗增加。尤其是在面对数量较多、小规模、浅深度的小容量数据存储时,会造成巨大的逻辑资源浪费,例如同时对10个2K bits大小的数据进行读取,FPGA器件需调用10个36Kbits大小的Block RAM单元,每个Block RAM的资源利用率仅为5%。
因此,现有基于块状存储器的可编程逻辑器件在对小容量数据存储时会造成大量的存储空间冗余、逻辑资源浪费。
发明内容
本发明要解决的主要技术问题是,提供一种数据存储方法、存储模块和可编程逻辑器件,能够解决现有基于块状存储器的可编程逻辑器件在对小容量数据存储时会造成大量的存储空间冗余、逻辑资源浪费的技术问题。
为解决上述技术问题,本发明提供一种数据存储方法,应用于可编程逻辑器件,所述可编程逻辑器件包括多个存储模块,所述存储模块包括多个小容量的存储单元,所述方法包括如下步骤:
当待存储数据的字节数大于所述存储单元的容量小于等于所述存储模块的容量时,根据待存储数据的字节数和所述存储单元的容量确定需要级联的存储单元的数量;所述存储模块的容量为所述存储模块中所有所述存储单元的容量之和;
使能所述存储模块中所述数量的存储单元,对所述数量的存储单元进行级联形成第一级联存储单元,将所述待存储数据存储在所述第一级联存储单元中.
进一步地,所述对所述数量的存储单元进行级联形成第一级联存储单元的步骤包括:对所述数量的存储单元进行串行级联或者并行级联形成所述第一级联存储单元。
进一步地,所述对所述数量的存储单元进行串行级形成所述第一级联存储单元的步骤包括:
当所述待存储数据的字节深度大于所述存储单元的字节深度时,按照增加字节深度的方式对所述数量的存储单元进行串行级联形成所述第一级联存储单元。
进一步地,所述对所述数量的存储单元进行串行级形成所述第一级联存储单元的步骤包括:
当所述待存储数据的位宽大于所述存储单元的位宽时,按照增加位宽的方式对所述数量的存储单元进行并行级联形成所述第一级联存储单元。
进一步地,所述方法还包括:使能存储模块中未级联的存储单元,将字节数小于所述存储单元的容量的待存储数据存储在所述未级联的存储单元中。
进一步地,所述方法还包括:当所述待存储数据的字节数小于所述存储单元的容量时,使能所述存储模块中的一个所述存储单元,并将所述待存储数据存储在该存储单元中。
进一步地,所述方法还包括:当待存储数据的字节数大于所述存储模块的容量时,根据所述存储模块的容量和所述字节数确定需要级联的存储模块的数量;
对所述数量的存储模块中所有的所述存储单元进行级联;
对所述数量的存储模块进行级联形成第二级联存储单元,将所述待存储数据存储在所述第二级联存储单元中。
进一步地,所述对所述数量的存储模块中所有的所述存储单元进行级联的步骤包括:对所述数量的存储模块中所有的所述存储单元进行串行或并行级联。
进一步地,所述对所述数量的存储模块进行级联形成第二级联存储单元的步骤包括:对所述数量的存储模块进行串行或并行级联形成第二级联存储单元。
同样为了解决上述技术问题,本发明还提供了一种存储模块,应用于可编程逻辑器件,包括:第一级联存储单元;所述第一级联存储单元由多个小容量的存储单元级联形成。
进一步地,所述第一级联存储单元由多个小容量的存储单元串行或并行级联形成。
进一步地,所述第一级联存储单元由多个小容量的存储单元串行级联形成时,所述第一级联存储单元的字节深度为所述多个存储单元的字节深度之和。
进一步地,当所述第一级联存储单元由多个小容量的存储单元并行级联形成时,所述第一级联存储单元的位宽为所述多个存储单元的位宽之和。
进一步地,所述存储模块还包括:未级联的存储单元。
进一步地,所述存储模块还包括:级联输出端口和存储单元输出端口;所述级联输出端口,用于输出所述级联存储单元存储的数据,所述存储单元输出端口,用于输出所述未级联的存储单元存储的数据。
同样为了解决上述的技术问题,本发明还提供了一种可编程逻辑器件,包括第二级联存储单元,所述第二级联存储单元由多个如上任一项所述的存储模块级联形成。
进一步地,所述第二级联存储单元由多个如上任一项所述的存储模块串行或并行级联形成。
本发明的有益效果是:
本发明提供了一种数据存储方法、存储模块和可编程逻辑器件;本发明的数据存储方法,应用于可编程逻辑器件,所述可编程逻辑器件包括多个存储模块,所述存储模块包括多个小容量的存储单元,所述方法包括:当待存储数据的字节数大于所述存储单元的容量小于等于所述存储模块的容量时,根据待存储数据的字节数和所述存储单元的容量确定需要级联的存储单元的数量;所述存储模块的容量为所述存储模块中所有所述存储单元的容量之和;使能所述存储模块中所述数量的存储单元,对所述数量的存储单元进行级联形成第一级联存储单元,将所述待存储数据存储在所述第一级联存储单元中;本发明的数据存储方法可以根据待存储数据的大小自适应地设置存储模块的容量,提高了存储空间和逻辑资源的利用率,减少了存储空间冗余、逻辑资源浪费;本发明的方法在面对小容量数据存储时,可以通过级联将存储模块的容量设置成与数据大小匹配的值,避免了现有可编程逻辑器件由于Block RAM容量过大在面临小容量数据存储时的逻辑资源浪费的问题;另外,本发明中存储模块可独立同步进行读写操作,由于存储模块由小容量的存储单元构成,所以存储模块面积较小,从而运行速度较快,因此能够大大增加与外部电路进行数据交换的速度。
附图说明
图1为本发明实施例一提供的一种数据存储方法的流程示意图;
图2为本发明实施例一提供的一种存储单元的结构示意图;
图3为本发明实施例一提供的一种存储单元字节深度和位宽的示意图;
图4为本发明实施例一提供的第一种存储模块的结构示意图;
图5为本发明实施例一提供的第一种存储模块的电路示意图;
图6为本发明实施例一提供的第二种存储模块的结构示意图;
图7为本发明实施例一提供的第二种存储模块的电路示意图;
图8为本发明实施例一提供的第三种存储模块的结构示意图;
图9为本发明实施例一提供的第四种存储模块的结构示意图;
图10为本发明实施例二提供的一种存储模块的结构示意图;
图11为本发明实施例三提供的一种数据存储方法的流程示意图;
图12为本发明实施例三提供的一种级联存储单元的结构示意图;
图13为本发明实施例三提供的另一种级联存储单元的结构示意图;
图14为本发明实施例四提供的一种存储模块的结构示意图;
图15为本发明实施例四提供的另一种存储模块的结构示意图;
图16为本发明实施例五提供的一种可编程逻辑器件的结构示意图;
图17为本发明是死了五提供的一种存储电路的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
现有基于块状存储器的可编程逻辑器件在对小容量数据存储时会造成大量的存储空间冗余、逻辑资源浪费的技术问题,本实施例提供了一种数据存储方法,应用于可编程逻辑器件,所述可编程逻辑器件包括多个存储模块,所述存储模块包括多个小容量的存储单元,如图1所示,本实施例方法包括如下步骤
步骤101:当待存储数据的字节数大于所述存储单元的容量小于等于所述存储模块的容量时,根据待存储数据的字节数和所述存储单元的容量确定需要级联的存储单元的数量;所述存储模块的容量为所述存储模块中所有所述存储单元的容量之和。
本实施例中待存储数据的大小用字节数体现,字节数越大表示数据越大,反之字节数据越小表示数据越小。
本实施例中存储单元为小容量的存储单元,优选地,可以为容量为2K bits的存储单元。本实施例中存储模块包括多个存储单元,例如,可以包括4、7、8……n个存储单元。
例如,存储模块包括4个容量为2K bits存储单元时,存储模块的容量即为8K bits,当可编程逻辑器件需要对8K bits数据存储时,由于该数据的字节数大于存储都那样的容量等于存储模块的容量,此时,可以根据字节数和存储单元的容量确定需要级联4个存储单元才能得到容量为8K bits的存储空间。
本实施例中确定需要级联的存储单元的数量小于或等于存储模块中存储单元的总数。也就是说,在面临数据不大的情况下,不要将存储模块中所有的促成单元进行级联,只需级联一部分即可存储数据。
步骤102:使能所述存储模块中所述数量的存储单元,对所述数量的存储单元进行级联形成第一级联存储单元,将所述待存储数据存储在所述第一级联存储单元中。
在确实级联的存储单元数量之后,需要使该数量的存储单元处于工作状态,即使能该数量的存储单元;具体地,可以通过将存储单元的芯片使能信号置为有效的方式来使能存储单元。
本实施例中存储单元功能和结构可以参考图2,在2中存储单元包括不同信号端口,各端口的功能如下:
地址:存储单元进行读写操作的地址。
数据输入:存储单元进行写操作时输入的数据。
读/写使能:控制存储单元处于读或者写的工作模式。
芯片使能:控制存储单元是否处于工作的状态。
位宽选择:控制存储单元同时读写多少位存储数据。
本实施例的数据存储方法可以根据待存储数据的大小自适应地设置存储模块的容量,提高了存储空间和逻辑资源的利用率,减少了存储空间冗余、逻辑资源浪费;本实施例的方法在面对小容量数据存储时,可以通过级联将存储模块的容量设置成与数据大小匹配的值,避免了现有可编程逻辑器件由于BlockRAM容量过大在面临小容量数据存储时的逻辑资源浪费的问题;另外,本实施例方法中存储模块可独立同步进行读写操作,由于存储模块由小容量的存储单元构成,所以存储模块面积较小,从而运行速度较快,因此能够大大增加与外部电路进行数据交换的速度。
优选地,本实施例方法可以对所述数量的存储单元级联的方式包括:串行级联或并行级联,即上述步骤102中所述对所述数量的存储单元进行串行级形成所述第一级联存储单元的过程包括:对所述数量的存储单元进行串行级联或者并行级联形成所述第一级联存储单元。
在对存储单元进行串行级联的情况下,可以按照增加字节深度的方式对所述数量的存储单元进行串行级联形成所述第一级联存储单元。具体地,可以将每个存储单元按照字节顺序连接,此时得到第一级联存储单元的位宽与存储单元的位宽相等,即位宽不变,第一级联存储单元的字节为级联的存储单元的字节深度之和。
本实施例中获取存储单元的字节深度可通过公式:N=X/M计算得到,其中N为字节深度、M为存储单元的位宽、X为存储单元的容量。如图3所示,介绍本实施例中存储单元的位宽和字节深度。
下面以存储模块包括4个容量为2K bits存储单元,对8K bits的待存储数据存储为例来介绍本实施例中串行级联的方式:
实现串行8K bits的存储时,首先将4个存储单元的芯片使能信号置为有效,通过编程串行级联4个存储单元,存储模块实现8K bits的存储容量。通过控制位宽选择信号,8K bits存储模块可实现多种bit的位宽。对存储模块进行读写时,由级联输出端口输出存储数据;串行级联后的存储模块如图4所示。
串行级联存储模块内部4个存储单元的电路实现方式是,每个存储单元按照字节顺序连接,此时存储模块的位宽保持为M不变,字节深度变为4N,整体存储容量增大为8K,存储模块内的存储单元的连接方式如图5所示。
本实施例利用串行方式进行级联后的存储模块适用于位宽小、字节深度大的待存储数据;而面对字节深度较浅,位宽较大的数据时,串行级联存储单元的方式并不可行。
针对位宽较大的数据,优选地,本实施例方法不仅可以采用串行方式对存储单元级联,还可以采用并行方式对存储单元级联,在并行级联的情况下,本实施例方法可以按照增加位宽的方式对所述数量的存储单元进行并行级联形成所述第一级联存储单元。具体地,可以将确定数量的存储单元按照位宽的顺序连接,改变存储模块的容量的同时也增加了位宽。此时得到的第一级联存储单元的字节深度与存储单元的字节深度相同,但位宽是所有级联的存储单元的位宽之和。
同样以存储模块包括4个容量为2K bits存储单元,对8K bits的待存储数据存储为例来介绍本实施例中并行级联的方式:
实现串行8K bits的存储时,首先将4个存储单元的芯片使能信号置为有效,通过编程并行级联4个存储单元,存储模块实现8K bits的存储容量,并行级联后的存储模块如图6所示。
并行级联存储模块内部4个存储单元的电路实现方式是,将每个存储单元按照位宽的顺序连接,此时存储模块的位宽变为4M,字节深度保持为N不变,整体存储容量增大为8K。存储模块内的存储单元的连接方式如图7所示。存储模块位宽可改变的特性,特别适用于信息安全领域中多种加密算法的计算需求。
如果面临的待存储数据不大,本实施例方法中确定的需要级联的存储单元数量是小于存储单元的总数;此时就不需要级联存储模块中所有的存储模块,例如当存储模块包括4个存储单元时,如果数据不大,不需要4个存储单元共同进行存储,即不需要级联4个存储单元。在此情况,在上述内容的基础上,本实施例方法还包括:
使能存储模块中未级联的存储单元,将字节数小于所述存储单元的容量的待存储数据存储在所述未级联的存储单元中。
因此,本实施例方法还可以采用第一级联存储单元和未级联的存储单元同时对不同大小的数据进行存储。
下面以存储模块包括4个容量为2K bits存储单元,对4K bits的待存储数据存储为例来介绍本实施例方法:
实现串行4K bits的存储时,将存储单元1至存储单元2的芯片使能信号置为有效,通过编程串行级联2个存储单元,存储模块实现4K bits的存储容量,参考图8。通过控制位宽选择信号,4K bits存储模块可实现多种bit的位宽。级联输出端口输出4K bits存储子模块的存储数据。模块内部存储单元的串行级联方式与串行8K bits存储模块类似,按照字节连接存储单元,字节深度增加为2N,位宽保持为M不变。
存储单元3和存储单元4在芯片使能的情况下也正常工作,并通过单元3输出、单元4输出2个端口输出数据。4K bits存储模块的实现方式比8K bits存储模块多了两个输出端口,可同时进行3路数据交换。
另一种实现4K bits存储模块的形式是并行级联模块内的存储单元,以增加位宽的方式增加存储容量,参考图9。模块内部存储单元的连接方式与并行8Kbits存储模块类似,按照位宽连接存储单元,字节深度保持为N不变,位宽变为2N。
本实施例方法可以控制存储单元进行串行或者并行级联,实现字节深度和位宽的改变,并实现存储模块存储容量的自适应。
实施例二:
上述实施例一主要介绍是当数据待存储数据的字节数大于所述存储单元的容量小于等于所述存储模块的容量时进行数据存储的情况;在实际应用中,有可能会碰到小数据的情况,例如面对大量零散数据时,上述实施例一方法就不适用;针对该情况,本实施例提供了一种数据存储方法,在实施例一所述内容的基础上,还包括:当所述待存储数据的字节数小于所述存储单元的容量时,使能所述存储模块中的一个所述存储单元,并将所述待存储数据存储在该存储单元中。
下面以存储模块包括4个容量为2K bits存储单元,对4K bits的待存储数据存储为例来介绍本实施例方法:
在面对大量零散数据的存储需求时,存储模块可不级联模块内部的存储单元,将存储单元1至存储单元4的芯片使能信号置为有效,每个存储单元作为一个独立存储子模块进行读写作操作;4个端口分别输出各自的读写数据,如图10所示,存储单元1、2、3、4不级联,每个存储单元均有一个输出端口,可独立进行读写操作。
实施例三:
在面对存储更大规模数据的需求时,上述存储模块就可适用了,即使级联所有的存储单元也不能存储完大规模的数据;因此,如图11所示,本实施例提供了一种数据存储方法,在实施例一和/或实施例二的基础上,还包括:
步骤110:当待存储数据的字节数大于所述存储模块的容量时,根据所述存储模块的容量和所述字节数确定需要级联的存储模块的数量。
步骤111:对所述数量的存储模块中所有的所述存储单元进行级联。
优选地,本步骤可以具体包括:对所述数量的存储模块中所有的所述存储单元进行串行或并行级联;即采用并行或串行方式级联存储模块中的存储单元。
关于并行或串行方式参考实施例一种相关描述。
步骤112:对所述数量的存储模块进行级联形成第二级联存储单元,将所述待存储数据存储在所述第二级联存储单元中。
优选地,本步骤可以具体包括:对所述数量的存储模块进行串行或并行级联形成第二级联存储单元。
同样关于并行或串行方式参考实施例一种相关描述。
本实施例方法还可以对存储模块进行级联,形成更大容量的第二级联存储模块,以满足存储更大规模数据的需求。例如,通过编程,将2个8K bits的存储模块串行或并行级联,最多可实现一个16K bits级联存储模块。
下面以存储模块包括4个容量为2K bits存储单元,对32位宽,14K bits的待存储数据存储为例来介绍本实施例方法:
先将存储模块内的存储单元设置为8bits的位宽,并联级联4个存储单元,实现位宽为32bits、容量为8Kbits的存储模块。
然后,将2个上述的存储模块进行串行级联,实现32位宽,16K bits的第二级联存储单元,将待存储数据存储在第二级联存储单元中如图12所示。当然也可以将2个位宽为16bits,容量为8K bits的存储模块进行并行级联,实现位宽为32bits、容量为8Kbits的第二级联存储单元中,如图13所示;具体地,先级联两个存储模块中的存储单元形成一个位宽为16bits、容量为8K bits的存储模块,然后将这个两个存储模块进行并行级联形成1个32bits的第二级联存储单元;。调整存储模块的串行和并行级联方法,可灵活适应不同的存储需求。
本实施例方法中存储模块也可通过级联,实现更大规模的存储。通过对存储模块的组合、控制,满足了不同字节深度、不同位宽数据的存储需求。
实施例四:
如图14所示,本实施例提供了一种存储模块,用于可编程逻辑器件,包括:第一级联存储单元;所述第一级联存储单元由多个小容量的存储单元级联形成。
优选地,所述第一级联存储单元由多个小容量的存储单元串行或并行级联形成。
优选地,当所述第一级联存储单元由多个小容量的存储单元串行级联形成时,所述第一级联存储单元的字节深度为所述多个存储单元的字节深度之和。
优选地,当所述第一级联存储单元由多个小容量的存储单元并行级联形成时,所述第一级联存储单元的位宽为所述多个存储单元的位宽之和。
如图15所示,在上述基础上,本实施例的存储模块还可以包括:未级联的存储单元。
优选地,本实施例的存储模块还可以级联输出端口和存储单元输出端口;所述级联输出端口,用于输出所述级联存储单元存储的数据,所述存储单元输出端口,用于输出所述未级联的存储单元存储的数据。
实施例五:
如图16所示,本实施例提供了一种可编程逻辑器件,包括第二级联存储单元,所述第二级联存储单元由多个如实施例四所述的存储模块级联形成。
优选地,所述第二级联存储单元由多个如实施例四所述的存储模块串行或并行级联形成。
如图17所示,为一种存储电路,包括可编程逻辑器件和外部电路;可编程逻辑器件包括多个第二级联存储模块,第二级联存储模块由多个存储模块级联形成,而存储模块可以由多个存储单元级联形成;外部电路包括数字处理器用于对存储模块和级联存储模块进行存储控制。
本实施例提供的存储电路,利用其可编程布线的特点,通过级联存储单元而实现容量扩展。存储模块与外部电路的连接方式同样由编程决定,并由可互连资源实现。存储模块独立地进行数据读写操作,与外部电路并行地进行数据交换。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (17)
1.一种数据存储方法,其特征在于,应用于可编程逻辑器件,所述可编程逻辑器件包括多个存储模块,所述存储模块包括多个小容量的存储单元,所述方法包括如下步骤:
当待存储数据的字节数大于所述存储单元的容量小于等于所述存储模块的容量时,根据待存储数据的字节数和所述存储单元的容量确定需要级联的存储单元的数量;所述存储模块的容量为所述存储模块中所有所述存储单元的容量之和;
使能所述存储模块中所述数量的存储单元,对所述数量的存储单元进行级联形成第一级联存储单元,将所述待存储数据存储在所述第一级联存储单元中。
2.如权利要求1所述的方法,其特征在于,所述对所述数量的存储单元进行级联形成第一级联存储单元的步骤包括:
对所述数量的存储单元进行串行级联或者并行级联形成所述第一级联存储单元。
3.如权利要求2所述的方法,其特征在于,所述对所述数量的存储单元进行串行级形成所述第一级联存储单元的步骤包括:
当所述待存储数据的字节深度大于所述存储单元的字节深度时,按照增加字节深度的方式对所述数量的存储单元进行串行级联形成所述第一级联存储单元。
4.如权利要求3所述的方法,其特征在于,所述对所述数量的存储单元进行串行级形成所述第一级联存储单元的步骤包括:
当所述待存储数据的位宽大于所述存储单元的位宽时,按照增加位宽的方式对所述数量的存储单元进行并行级联形成所述第一级联存储单元。
5.如权利要求1所述的方法,其特征在于,还包括:使能存储模块中未级联的存储单元,将字节数小于所述存储单元的容量的待存储数据存储在所述未级联的存储单元中。
6.如权利要求1所述的方法,其特征在于,还包括:当所述待存储数据的字节数小于所述存储单元的容量时,使能所述存储模块中的一个所述存储单元,并将所述待存储数据存储在该存储单元中。
7.如权利要求1-6任一项所述的方法,其特征在于,还包括:当待存储数据的字节数大于所述存储模块的容量时,根据所述存储模块的容量和所述字节数确定需要级联的存储模块的数量;
对所述数量的存储模块中所有的所述存储单元进行级联;
对所述数量的存储模块进行级联形成第二级联存储单元,将所述待存储数据存储在所述第二级联存储单元中。
8.如权利要求7所述的方法,其特征在于,所述对所述数量的存储模块中所有的所述存储单元进行级联的步骤包括:
对所述数量的存储模块中所有的所述存储单元进行串行或并行级联。
9.如权利要求7所述的方法,其特征在于,所述对所述数量的存储模块进行级联形成第二级联存储单元的步骤包括:
对所述数量的存储模块进行串行或并行级联形成第二级联存储单元。
10.一种存储模块,其特征在于,应用于可编程逻辑器件,包括:第一级联存储单元;所述第一级联存储单元由多个小容量的存储单元级联形成。
11.如权利要求10所述的存储模块,其特征在于,所述第一级联存储单元由多个小容量的存储单元串行或并行级联形成。
12.如权利要求11所述的存储模块,其特征在于,当所述第一级联存储单元由多个小容量的存储单元串行级联形成时,所述第一级联存储单元的字节深度为所述多个存储单元的字节深度之和。
13.如权利要求11所述的存储模块,其特征在于,当所述第一级联存储单元由多个小容量的存储单元并行级联形成时,所述第一级联存储单元的位宽为所述多个存储单元的位宽之和。
14.如权利要求10-13任一项所述的存储模块,其特征在于,还包括:未级联的存储单元。
15.权利要求14所述的存储模块,其特征在于,还包括:级联输出端口和存储单元输出端口;所述级联输出端口,用于输出所述第一级联存储单元存储的数据,所述存储单元输出端口,用于输出所述未级联的存储单元存储的数据。
16.一种可编程逻辑器件,其特征在于,包括第二级联存储单元,所述第二级联存储单元由多个如权利要求10-15任一项所述的存储模块级联形成。
17.如权利要求16所述可编程逻辑器件,其特征在于,所述第二级联存储单元由多个如权利要求10-15任一项所述的存储模块串行或并行级联形成。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830638.8A CN104572573A (zh) | 2014-12-26 | 2014-12-26 | 数据存储方法、存储模块和可编程逻辑器件 |
PCT/CN2015/097731 WO2016101837A1 (zh) | 2014-12-26 | 2015-12-17 | 数据存储方法、存储模块和可编程逻辑器件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410830638.8A CN104572573A (zh) | 2014-12-26 | 2014-12-26 | 数据存储方法、存储模块和可编程逻辑器件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572573A true CN104572573A (zh) | 2015-04-29 |
Family
ID=53088680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410830638.8A Pending CN104572573A (zh) | 2014-12-26 | 2014-12-26 | 数据存储方法、存储模块和可编程逻辑器件 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104572573A (zh) |
WO (1) | WO2016101837A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016101837A1 (zh) * | 2014-12-26 | 2016-06-30 | 深圳市国微电子有限公司 | 数据存储方法、存储模块和可编程逻辑器件 |
WO2016177083A1 (zh) * | 2015-11-03 | 2016-11-10 | 中兴通讯股份有限公司 | 一种数据存储方法、存储装置和计算机存储介质 |
WO2017157110A1 (zh) * | 2016-03-18 | 2017-09-21 | 深圳市中兴微电子技术有限公司 | 高速访问双倍速率同步动态随机存储器的控制方法及装置 |
WO2017220020A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | 存储资源分配方法和装置 |
WO2018018874A1 (zh) * | 2016-07-28 | 2018-02-01 | 盛科网络(苏州)有限公司 | 4r4w全共享报文的数据缓存处理方法及数据处理系统 |
WO2018018875A1 (zh) * | 2016-07-28 | 2018-02-01 | 盛科网络(苏州)有限公司 | 可扩展的多端口存储器的数据处理方法及数据处理系统 |
CN109542799A (zh) * | 2018-11-05 | 2019-03-29 | 西安智多晶微电子有限公司 | 块存储器拼接方法、拼接模块、存储装置及现场可编程门阵列 |
CN110782389A (zh) * | 2019-09-23 | 2020-02-11 | 五八有限公司 | 一种图像数据字节对齐方法和终端 |
CN111008160A (zh) * | 2019-11-30 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置和电子设备及可读存储介质 |
CN111078150A (zh) * | 2019-12-18 | 2020-04-28 | 成都定为电子技术有限公司 | 一种高速存储设备及不间断扩容方法 |
CN111381771A (zh) * | 2018-12-29 | 2020-07-07 | 深圳市海思半导体有限公司 | 存储数据的方法、存储控制器和芯片 |
CN112068467A (zh) * | 2020-08-24 | 2020-12-11 | 国微集团(深圳)有限公司 | 数据传输系统、数据存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106098B1 (en) * | 2004-05-04 | 2006-09-12 | Xilinx, Inc. | Split FIFO configuration of block RAM |
CN102866865A (zh) * | 2012-09-07 | 2013-01-09 | 北京时代民芯科技有限公司 | 一种fpga专用配置存储器多版本码流存储电路架构 |
CN103678164A (zh) * | 2012-09-25 | 2014-03-26 | 北京兆易创新科技股份有限公司 | 一种存储器级联方法和装置 |
CN103809769A (zh) * | 2014-02-24 | 2014-05-21 | 中国电子科技集团公司第五十八研究所 | 一种block ram级联实现结构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572573A (zh) * | 2014-12-26 | 2015-04-29 | 深圳市国微电子有限公司 | 数据存储方法、存储模块和可编程逻辑器件 |
-
2014
- 2014-12-26 CN CN201410830638.8A patent/CN104572573A/zh active Pending
-
2015
- 2015-12-17 WO PCT/CN2015/097731 patent/WO2016101837A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106098B1 (en) * | 2004-05-04 | 2006-09-12 | Xilinx, Inc. | Split FIFO configuration of block RAM |
CN102866865A (zh) * | 2012-09-07 | 2013-01-09 | 北京时代民芯科技有限公司 | 一种fpga专用配置存储器多版本码流存储电路架构 |
CN103678164A (zh) * | 2012-09-25 | 2014-03-26 | 北京兆易创新科技股份有限公司 | 一种存储器级联方法和装置 |
CN103809769A (zh) * | 2014-02-24 | 2014-05-21 | 中国电子科技集团公司第五十八研究所 | 一种block ram级联实现结构 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016101837A1 (zh) * | 2014-12-26 | 2016-06-30 | 深圳市国微电子有限公司 | 数据存储方法、存储模块和可编程逻辑器件 |
WO2016177083A1 (zh) * | 2015-11-03 | 2016-11-10 | 中兴通讯股份有限公司 | 一种数据存储方法、存储装置和计算机存储介质 |
WO2017157110A1 (zh) * | 2016-03-18 | 2017-09-21 | 深圳市中兴微电子技术有限公司 | 高速访问双倍速率同步动态随机存储器的控制方法及装置 |
WO2017220020A1 (zh) * | 2016-06-24 | 2017-12-28 | 中兴通讯股份有限公司 | 存储资源分配方法和装置 |
CN107544917A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 一种存储资源共享方法和装置 |
US10818325B2 (en) | 2016-07-28 | 2020-10-27 | Centec Networks (Su Zhou) Co., Ltd. | Data processing method and data processing system for scalable multi-port memory |
WO2018018875A1 (zh) * | 2016-07-28 | 2018-02-01 | 盛科网络(苏州)有限公司 | 可扩展的多端口存储器的数据处理方法及数据处理系统 |
WO2018018874A1 (zh) * | 2016-07-28 | 2018-02-01 | 盛科网络(苏州)有限公司 | 4r4w全共享报文的数据缓存处理方法及数据处理系统 |
CN109542799A (zh) * | 2018-11-05 | 2019-03-29 | 西安智多晶微电子有限公司 | 块存储器拼接方法、拼接模块、存储装置及现场可编程门阵列 |
CN109542799B (zh) * | 2018-11-05 | 2023-03-28 | 西安智多晶微电子有限公司 | 块存储器拼接方法、拼接模块、存储装置及现场可编程门阵列 |
CN111381771A (zh) * | 2018-12-29 | 2020-07-07 | 深圳市海思半导体有限公司 | 存储数据的方法、存储控制器和芯片 |
CN110782389A (zh) * | 2019-09-23 | 2020-02-11 | 五八有限公司 | 一种图像数据字节对齐方法和终端 |
CN110782389B (zh) * | 2019-09-23 | 2023-09-15 | 五八有限公司 | 一种图像数据字节对齐方法和终端 |
CN111008160A (zh) * | 2019-11-30 | 2020-04-14 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置和电子设备及可读存储介质 |
CN111078150A (zh) * | 2019-12-18 | 2020-04-28 | 成都定为电子技术有限公司 | 一种高速存储设备及不间断扩容方法 |
CN112068467A (zh) * | 2020-08-24 | 2020-12-11 | 国微集团(深圳)有限公司 | 数据传输系统、数据存储系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2016101837A1 (zh) | 2016-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572573A (zh) | 数据存储方法、存储模块和可编程逻辑器件 | |
CN102023942B (zh) | Spi外设访问装置及方法 | |
CN102541809B (zh) | 一种动态可重构处理器 | |
WO2011000082A1 (en) | A bridging device having a frequency configurable clock domain | |
EP2917844A1 (en) | Configurable embedded memory system | |
CN102176673B (zh) | 4输入查找表、fpga逻辑单元和fpga逻辑块 | |
CN105468568A (zh) | 高效的粗粒度可重构计算系统 | |
CN103095289B (zh) | 一种信号延迟控制电路 | |
CN102819418B (zh) | 超细粒度门控时钟的fifo数据存储方法及装置 | |
CN105205012A (zh) | 一种数据读取方法和装置 | |
CN106843803A (zh) | 一种基于归并树的全排序加速器及应用 | |
CN108701102A (zh) | 直接存储器访问控制器、数据读取方法和数据写入方法 | |
CN201149654Y (zh) | 一种单片机i/o口分时复用控制电路 | |
CN103809769B (zh) | 一种block ram级联实现结构 | |
US20080247501A1 (en) | Fifo register unit and method thereof | |
CN202003346U (zh) | 一种多通道的nand flash控制器 | |
CN104252560A (zh) | 基于现场可编程门阵列的集中缓存式装置及设计方法 | |
CN201662798U (zh) | 一种端口映射设备转换装置及控制系统 | |
CN106133838A (zh) | 一种可扩展可配置的fpga存储结构和fpga器件 | |
CN101813971B (zh) | 处理器及其内置存储器 | |
CN100385387C (zh) | 一种提高ram利用效率的方法 | |
US7170800B2 (en) | Low-power delay buffer circuit | |
CN103853694A (zh) | 一种可重构状态机的实现方法 | |
CN202332303U (zh) | 一种多通道实时直读存储器结构 | |
CN103594110B (zh) | 替代双端口静态存储器的存储器结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |