Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA STORAGE METHOD, STORAGE MODULE AND PROGRAMMABLE LOGIC DEVICE
Document Type and Number:
WIPO Patent Application WO/2016/101837
Kind Code:
A1
Abstract:
Provided are a data storage method, a storage module and a programmable logic device. The data storage method is applied to the programmable logic device. The programmable logic device comprises a plurality of storage modules. The storage modules comprise a plurality of small-capacity storage units. The method comprises: when the number of bytes of data to be stored is greater than the capacity of each storage unit and is less than or equal to the capacity of each storage module, determining the number of storage units needing to be cascaded according to the number of bytes and the capacity, with the capacity of the storage module being the sum of the capacities of all storage units in the storage module; and enabling the number of storage units in the storage module to perform cascading on the number of storage units, so as to form a first cascaded storage unit, and storing the data to be stored in the first cascaded storage unit. The method can solve the technical problems of the redundancy of a large number of storage spaces and the waste of logical resources which are caused when the existing block memory-based programmable logic device stores small-capacity data.

Inventors:
BAO CHAOWEI (CN)
LIU ZHENLIN (CN)
ZHANG ZHIWEN (CN)
TANG WANTAO (CN)
Application Number:
PCT/CN2015/097731
Publication Date:
June 30, 2016
Filing Date:
December 17, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHENZHEN STATE MICROELECTRONICS CO LTD (CN)
International Classes:
G06F12/08
Foreign References:
CN104572573A2015-04-29
CN102866865A2013-01-09
CN103678164A2014-03-26
Attorney, Agent or Firm:
DHC IP ATTORNEYS (CN)
深圳鼎合诚知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求书

[权利要求 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任一项所述的存储模块串行或并行级联 形成。

Description:
发明名称:数据存储方法、 存储模块和可编程逻辑器件 技术领域

[0001] 本发明涉及集成电路设计领域, 尤其涉及一种数据存储方法、 存储模块和可编 程逻辑器件。

背景技术

[0002] 数字逻辑器件可分为两大类, 固定逻辑器件和可编程逻辑器件。 固定逻辑器件 的功能是永久性的, 制造后无法改变。 可编程逻辑器件能够提供广泛的组合逻 辑, 吋序逻辑, 电压特性, 从而完成许多不同的逻辑功能。

[0003] 对于可编程逻辑器件, 只需要通过幵发工具将设计的电路转化为位流 文件, 导 入可编程器件中, 便可得到期望的电路功能。 相比于固定逻辑器件, 可编程逻 辑器件节省了大量的流片成本, 并且更加灵活, 可重复编程以实现不同逻辑功 能。

[0004] 其中, 现场可编程门阵列 (FPGA) 是可编程逻辑器件的典型产品。 如今, FP GA的发展已引起了集成电路市场及电子科技领 的广泛关注, 利用其灵活配置 , 高速, 可系统化集成的优势, 逐渐扩大在集成电路市场份额, 并将电子技术 产业的热点, 逐渐由 ASIC向 FPGA转移。

[0005] 目前, FPGA生产商为了降低器件的生产成本, 通常采用某种固定、 单一的 芯片架构。 并且, 为了使 FPGA器件适用于普遍的电路应用, 器件中的逻辑资源 将布置得尽可能丰富, 以逻辑资源的冗余换取 FPGA器件实现更多的功能。 大部 分应用情况下, 仅需要调用部分 FPGA器件中的逻辑资源, 便可实现所需的电路 功能。 器件中的其他逻辑资源将处于闲置或不启用的 状态, 这不可避免的造成 了逻辑资源的浪费, 资源利用率低下的状况。

[0006] 目前市场上的 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个 36K bits大小的 Block RAM单元, 每个 Block RAM的资源利用率仅为 5%。

[0007] 因此, 现有基于块状存储器的可编程逻辑器件在对小 容量数据存储吋会造成大 量的存储空间冗余、 逻辑资源浪费。

技术问题

[0008] 本发明要解决的主要技术问题是, 提供一种数据存储方法、 存储模块和可编程 逻辑器件, 能够解决现有基于块状存储器的可编程逻辑器 件在对小容量数据存 储吋会造成大量的存储空间冗余、 逻辑资源浪费的技术问题。

问题的解决方案

技术解决方案

[0009] 为解决上述技术问题, 本发明提供一种数据存储方法,应用于可编程 辑器件 , 所述可编程逻辑器件包括多个存储模块, 所述存储模块包括多个小容量的存 储单元, 所述方法包括如下步骤:

[0010] 当待存储数据的字节数大于所述存储单元的容 量小于等于所述存储模块的容量 吋, 根据待存储数据的字节数和所述存储单元的容 量确定需要级联的存储单元 的数量; 所述存储模块的容量为所述存储模块中所有所 述存储单元的容量之和

[0011] 使能所述存储模块中所述数量的存储单元, 对所述数量的存储单元进行级联形 成第一级联存储单元, 将所述待存储数据存储在所述第一级联存储单 元中.

[0012] 进一步地, 所述对所述数量的存储单元进行级联形成第一 级联存储单元的步骤 包括: 对所述数量的存储单元进行串行级联或者并行 级联形成所述第一级联存 储单元。 [0013] 进一步地, 所述对所述数量的存储单元进行串行级形成所 述第一级联存储单元 的步骤包括:

[0014] 当所述待存储数据的字节深度大于所述存储单 元的字节深度吋, 按照增加字节 深度的方式对所述数量的存储单元进行串行级 联形成所述第一级联存储单元。

[0015] 进一步地, 所述对所述数量的存储单元进行串行级形成所 述第一级联存储单元 的步骤包括:

[0016] 当所述待存储数据的位宽大于所述存储单元的 位宽吋, 按照增加位宽的方式对 所述数量的存储单元进行并行级联形成所述第 一级联存储单元。

[0017] 进一步地, 所述方法还包括: 使能存储模块中未级联的存储单元, 将字节数小 于所述存储单元的容量的待存储数据存储在所 述未级联的存储单元中。

[0018] 进一步地, 所述方法还包括: 当所述待存储数据的字节数小于所述存储单元 的 容量吋, 使能所述存储模块中的一个所述存储单元, 并将所述待存储数据存储 在该存储单元中。

[0019] 进一步地, 所述方法还包括: 当待存储数据的字节数大于所述存储模块的容 量 吋, 根据所述存储模块的容量和所述字节数确定需 要级联的存储模块的数量; [0020] 对所述数量的存储模块中所有的所述存储单元 进行级联;

[0021] 对所述数量的存储模块进行级联形成第二级联 存储单元, 将所述待存储数据存 储在所述第二级联存储单元中。

[0022] 进一步地, 所述对所述数量的存储模块中所有的所述存储 单元进行级联的步骤 包括: 对所述数量的存储模块中所有的所述存储单元 进行串行或并行级联。

[0023] 进一步地, 所述对所述数量的存储模块进行级联形成第二 级联存储单元的步骤 包括: 对所述数量的存储模块进行串行或并行级联形 成第二级联存储单元。

[0024] 同样为了解决上述技术问题, 本发明还提供了一种存储模块, 应用于可编程逻 辑器件, 包括: 第一级联存储单元; 所述第一级联存储单元由多个小容量的存 储单元级联形成。

[0025] 进一步地, 所述第一级联存储单元由多个小容量的存储单 元串行或并行级联形 成。

[0026] 进一步地, 所述第一级联存储单元由多个小容量的存储单 元串行级联形成吋, 所述第一级联存储单元的字节深度为所述多个 存储单元的字节深度之和。

[0027] 进一步地, 当所述第一级联存储单元由多个小容量的存储 单元并行级联形成吋

, 所述第一级联存储单元的位宽为所述多个存储 单元的位宽之和。

[0028] 进一步地, 所述存储模块还包括: 未级联的存储单元。

[0029] 进一步地, 所述存储模块还包括: 级联输出端口和存储单元输出端口; 所述级 联输出端口, 用于输出所述级联存储单元存储的数据, 所述存储单元输出端口

, 用于输出所述未级联的存储单元存储的数据。

[0030] 同样为了解决上述的技术问题, 本发明还提供了一种可编程逻辑器件, 包括第 二级联存储单元, 所述第二级联存储单元由多个如上任一项所述 的存储模块级 联形成。

[0031] 进一步地, 所述第二级联存储单元由多个如上任一项所述 的存储模块串行或并 行级联形成。

发明的有益效果

有益效果

[0032] 本发明的有益效果是:

[0033] 本发明提供了一种数据存储方法、 存储模块和可编程逻辑器件; 本发明的数据 存储方法, 应用于可编程逻辑器件, 所述可编程逻辑器件包括多个存储模块, 所述存储模块包括多个小容量的存储单元, 所述方法包括: 当待存储数据的字 节数大于所述存储单元的容量小于等于所述存 储模块的容量吋, 根据待存储数 据的字节数和所述存储单元的容量确定需要级 联的存储单元的数量; 所述存储 模块的容量为所述存储模块中所有所述存储单 元的容量之和; 使能所述存储模 块中所述数量的存储单元, 对所述数量的存储单元进行级联形成第一级联 存储 单元, 将所述待存储数据存储在所述第一级联存储单 元中; 本发明的数据存储 方法可以根据待存储数据的大小自适应地设置 存储模块的容量, 提高了存储空 间和逻辑资源的利用率, 减少了存储空间冗余、 逻辑资源浪费; 本发明的方法 在面对小容量数据存储吋, 可以通过级联将存储模块的容量设置成与数据 大小 匹配的值, 避免了现有可编程逻辑器件由于 Block RAM容量过大在面临小容量数 据存储吋的逻辑资源浪费的问题; 另外, 本发明中存储模块可独立同步进行读 写操作, 由于存储模块由小容量的存储单元构成, 所以存储模块面积较小, 从 而运行速度较快, 因此能够大大增加与外部电路进行数据交换的 速度。

对附图的简要说明

附图说明

[0034] 图 1为本发明实施例一提供的一种数据存储方法 流程示意图;

[0035] 图 2为本发明实施例一提供的一种存储单元的结 示意图;

[0036] 图 3为本发明实施例一提供的一种存储单元字节 度和位宽的示意图;

[0037] 图 4为本发明实施例一提供的第一种存储模块的 构示意图;

[0038] 图 5为本发明实施例一提供的第一种存储模块的 路示意图;

[0039] 图 6为本发明实施例一提供的第二种存储模块的 构示意图;

[0040] 图 7为本发明实施例一提供的第二种存储模块的 路示意图;

[0041] 图 8为本发明实施例一提供的第三种存储模块的 构示意图;

[0042] 图 9为本发明实施例一提供的第四种存储模块的 构示意图;

[0043] 图 10为本发明实施例二提供的一种存储模块的结 示意图;

[0044] 图 11为本发明实施例三提供的一种数据存储方法 流程示意图;

[0045] 图 12为本发明实施例三提供的一种级联存储单元 结构示意图;

[0046] 图 13为本发明实施例三提供的另一种级联存储单 的结构示意图;

[0047] 图 14为本发明实施例四提供的一种存储模块的结 示意图;

[0048] 图 15为本发明实施例四提供的另一种存储模块的 构示意图;

[0049] 图 16为本发明实施例五提供的一种可编程逻辑器 的结构示意图;

[0050] 图 17为本发明是死了五提供的一种存储电路的结 示意图。

本发明的实施方式

[0051] 下面通过具体实施方式结合附图对本发明作进 一步详细说明。

[0052] 实施例一:

[0053] 现有基于块状存储器的可编程逻辑器件在对小 容量数据存储吋会造成大量的存 储空间冗余、 逻辑资源浪费的技术问题, 本实施例提供了一种数据存储方法, 应用于可编程逻辑器件, 所述可编程逻辑器件包括多个存储模块, 所述存储模 块包括多个小容量的存储单元, 如图 1所示, 本实施例方法包括如下步骤

[0054] 步骤 101 : 当待存储数据的字节数大于所述存储单元的容 量小于等于所述存储 模块的容量吋, 根据待存储数据的字节数和所述存储单元的容 量确定需要级联 的存储单元的数量; 所述存储模块的容量为所述存储模块中所有所 述存储单元 的容量之和。

[0055] 本实施例中待存储数据的大小用字节数体现, 字节数越大表示数据越大, 反之 字节数据越小表示数据越小。

[0056] 本实施例中存储单元为小容量的存储单元, 优选地, 可以为容量为 2K bits的存 储单元。 本实施例中存储模块包括多个存储单元, 例如, 可以包括 4、 7、 8...... n个存储单元。

[0057] 例如, 存储模块包括 4个容量为 2K bits存储单元吋, 存储模块的容量即为 8K bits , 当可编程逻辑器件需要对 8K bits数据存储吋, 由于该数据的字节数大于存 储都那样的容量等于存储模块的容量, 此吋, 可以根据字节数和存储单元的容 量确定需要级联 4个存储单元才能得到容量为 8K bits的存储空间。

[0058] 本实施例中确定需要级联的存储单元的数量小 于或等于存储模块中存储单元的 总数。 也就是说, 在面临数据不大的情况下, 不要将存储模块中所有的促成单 元进行级联, 只需级联一部分即可存储数据。

[0059] 步骤 102: 使能所述存储模块中所述数量的存储单元, 对所述数量的存储单元 进行级联形成第一级联存储单元, 将所述待存储数据存储在所述第一级联存储 单元中。

[0060] 在确实级联的存储单元数量之后, 需要使该数量的存储单元处于工作状态, 即 使能该数量的存储单元; 具体地, 可以通过将存储单元的芯片使能信号置为有 效的方式来使能存储单元。

[0061] 本实施例中存储单元功能和结构可以参考图 2, 在 2中存储单元包括不同信号端 口, 各端口的功能如下:

[0062] 地址: 存储单元进行读写操作的地址。

[0063] 数据输入: 存储单元进行写操作吋输入的数据。

[0064] 读 /写使能: 控制存储单元处于读或者写的工作模式。 [0065] 芯片使能: 控制存储单元是否处于工作的状态。

[0066] 位宽选择: 控制存储单元同吋读写多少位存储数据。

[0067] 本实施例的数据存储方法可以根据待存储数据 的大小自适应地设置存储模块的 容量, 提高了存储空间和逻辑资源的利用率, 减少了存储空间冗余、 逻辑资源 浪费; 本实施例的方法在面对小容量数据存储吋, 可以通过级联将存储模块的 容量设置成与数据大小匹配的值, 避免了现有可编程逻辑器件由于 Block RAM容 量过大在面临小容量数据存储吋的逻辑资源浪 费的问题; 另外, 本实施例方法 中存储模块可独立同步进行读写操作, 由于存储模块由小容量的存储单元构成 , 所以存储模块面积较小, 从而运行速度较快, 因此能够大大增加与外部电路 进行数据交换的速度。

[0068] 优选地, 本实施例方法可以对所述数量的存储单元级联 的方式包括: 串行级联 或并行级联, 即上述步骤 102中所述对所述数量的存储单元进行串行级形 成所述 第一级联存储单元的过程包括: 对所述数量的存储单元进行串行级联或者并行 级联形成所述第一级联存储单元。

[0069] 在对存储单元进行串行级联的情况下, 可以按照增加字节深度的方式对所述数 量的存储单元进行串行级联形成所述第一级联 存储单元。 具体地, 可以将每个 存储单元按照字节顺序连接, 此吋得到第一级联存储单元的位宽与存储单元 的 位宽相等, 即位宽不变, 第一级联存储单元的字节为级联的存储单元的 字节深 度之和。

[0070] 本实施例中获取存储单元的字节深度可通过公 式: N=X/M计算得到, 其中 N为 字节深度、 M为存储单元的位宽、 X为存储单元的容量。 如图 3所示, 介绍本实 施例中存储单元的位宽和字节深度。

[0071] 下面以存储模块包括 4个容量为 2K bits存储单元, 对 8K bits的待存储数据存储 为例来介绍本实施例中串行级联的方式:

[0072] 实现串行 SK bits的存储吋, 首先将 4个存储单元的芯片使能信号置为有效, 通 过编程串行级联 4个存储单元, 存储模块实现 8K bits的存储容量。 通过控制位宽 选择信号, 8K bits存储模块可实现多种 bit的位宽。 对存储模块进行读写吋, 由 级联输出端口输出存储数据; 串行级联后的存储模块如图 4所示。 [0073] 串行级联存储模块内部 4个存储单元的电路实现方式是, 每个存储单元按照字 节顺序连接, 此吋存储模块的位宽保持为 M不变, 字节深度变为 4N, 整体存储 容量增大为 8K, 存储模块内的存储单元的连接方式如图 5所示。

[0074] 本实施例利用串行方式进行级联后的存储模块 适用于位宽小、 字节深度大的待 存储数据; 而面对字节深度较浅, 位宽较大的数据吋, 串行级联存储单元的方 式并不可行。

[0075] 针对位宽较大的数据, 优选地, 本实施例方法不仅可以采用串行方式对存储单 元级联, 还可以采用并行方式对存储单元级联, 在并行级联的情况下, 本实施 例方法可以按照增加位宽的方式对所述数量的 存储单元进行并行级联形成所述 第一级联存储单元。 具体地, 可以将确定数量的存储单元按照位宽的顺序连 接 , 改变存储模块的容量的同吋也增加了位宽。 此吋得到的第一级联存储单元的 字节深度与存储单元的字节深度相同, 但位宽是所有级联的存储单元的位宽之 和。

[0076] 同样以存储模块包括 4个容量为 2Κ bits存储单元, 对 8K bits的待存储数据存储 为例来介绍本实施例中并行级联的方式:

[0077] 实现串行 SK bits的存储吋, 首先将 4个存储单元的芯片使能信号置为有效, 通 过编程并行级联 4个存储单元, 存储模块实现 8K bits的存储容量, 并行级联后的 存储模块如图 6所示。

[0078] 并行级联存储模块内部 4个存储单元的电路实现方式是, 将每个存储单元按照 位宽的顺序连接, 此吋存储模块的位宽变为 4M, 字节深度保持为 N不变, 整体 存储容量增大为 8K。 存储模块内的存储单元的连接方式如图 7所示。 存储模块位 宽可改变的特性, 特别适用于信息安全领域中多种加密算法的计 算需求。

[0079] 如果面临的待存储数据不大, 本实施例方法中确定的需要级联的存储单元数 量 是小于存储单元的总数; 此吋就不需要级联存储模块中所有的存储模块 , 例如 当存储模块包括 4个存储单元吋, 如果数据不大, 不需要 4个存储单元共同进行 存储, 即不需要级联 4个存储单元。 在此情况, 在上述内容的基础上, 本实施例 方法还包括:

[0080] 使能存储模块中未级联的存储单元, 将字节数小于所述存储单元的容量的待存 储数据存储在所述未级联的存储单元中。

[0081] 因此, 本实施例方法还可以采用第一级联存储单元和 未级联的存储单元同吋对 不同大小的数据进行存储。

[0082] 下面以存储模块包括 4个容量为 2K bits存储单元, 对 4K bits的待存储数据存储 为例来介绍本实施例方法:

[0083] 实现串行 4K bits的存储吋, 将存储单元 1至存储单元 2的芯片使能信号置为有效

, 通过编程串行级联 2个存储单元, 存储模块实现 4K bits的存储容量, 参考图 8。 通过控制位宽选择信号, 4K bits存储模块可实现多种 bit的位宽。 级联输出端口 输出 4K

bits存储子模块的存储数据。 模块内部存储单元的串行级联方式与串行 8K bits存 储模块类似, 按照字节连接存储单元, 字节深度增加为 2N, 位宽保持为 M不变

[0084] 存储单元 3和存储单元 4在芯片使能的情况下也正常工作, 并通过单元 3输出、 单元 4输出 2个端口输出数据。 4K bits存储模块的实现方式比 8K bits存储模块多了 两个输出端口, 可同吋进行 3路数据交换。

[0085] 另一种实现 4K bits存储模块的形式是并行级联模块内的存储 元, 以增加位宽 的方式增加存储容量, 参考图 9。 模块内部存储单元的连接方式与并行 8K bits存 储模块类似, 按照位宽连接存储单元, 字节深度保持为 N不变, 位宽变为 2N。

[0086] 本实施例方法可以控制存储单元进行串行或者 并行级联, 实现字节深度和位宽 的改变, 并实现存储模块存储容量的自适应。

[0087]

[0088] 实施例二:

[0089] 上述实施例一主要介绍是当数据待存储数据的 字节数大于所述存储单元的容量 小于等于所述存储模块的容量吋进行数据存储 的情况; 在实际应用中, 有可能 会碰到小数据的情况, 例如面对大量零散数据吋, 上述实施例一方法就不适用 ; 针对该情况, 本实施例提供了一种数据存储方法, 在实施例一所述内容的基 础上, 还包括: 当所述待存储数据的字节数小于所述存储单元 的容量吋, 使能 所述存储模块中的一个所述存储单元, 并将所述待存储数据存储在该存储单元 中。

[0090] 下面以存储模块包括 4个容量为 2K bits存储单元, 对 4K bits的待存储数据存储 为例来介绍本实施例方法:

[0091] 在面对大量零散数据的存储需求吋, 存储模块可不级联模块内部的存储单元, 将存储单元 1至存储单元 4的芯片使能信号置为有效, 每个存储单元作为一个独 立存储子模块进行读写作操作; 4个端口分别输出各自的读写数据, 如图 10所示 , 存储单元 1、 2、 3、 4不级联, 每个存储单元均有一个输出端口, 可独立进行 读写操作。

[0092]

[0093] 实施例三:

[0094] 在面对存储更大规模数据的需求吋, 上述存储模块就可适用了, 即使级联所有 的存储单元也不能存储完大规模的数据; 因此, 如图 11所示, 本实施例提供了 一种数据存储方法, 在实施例一和 /或实施例二的基础上, 还包括:

[0095] 步骤 110: 当待存储数据的字节数大于所述存储模块的容 量吋, 根据所述存储 模块的容量和所述字节数确定需要级联的存储 模块的数量。

[0096] 步骤 111 : 对所述数量的存储模块中所有的所述存储单元 进行级联。

[0097] 优选地, 本步骤可以具体包括: 对所述数量的存储模块中所有的所述存储单元 进行串行或并行级联; 即采用并行或串行方式级联存储模块中的存储 单元。

[0098] 关于并行或串行方式参考实施例一种相关描述 。

[0099] 步骤 112: 对所述数量的存储模块进行级联形成第二级联 存储单元, 将所述待 存储数据存储在所述第二级联存储单元中。

[0100] 优选地, 本步骤可以具体包括: 对所述数量的存储模块进行串行或并行级联形 成第二级联存储单元。

[0101] 同样关于并行或串行方式参考实施例一种相关 描述。

[0102] 本实施例方法还可以对存储模块进行级联, 形成更大容量的第二级联存储模块 , 以满足存储更大规模数据的需求。 例如, 通过编程, 将 2个 8K bits的存储模块 串行或并行级联, 最多可实现一个 16K bits级联存储模块。

[0103] 下面以存储模块包括 4个容量为 2K bits存储单元, 对 32位宽, 14K bits的待存储 数据存储为例来介绍本实施例方法:

[0104] 先将存储模块内的存储单元设置为 8 bits的位宽, 并联级联 4个存储单元, 实现 位宽为 32 bits、 容量为 8 Kbits的存储模块。

[0105] 然后, 将 2个上述的存储模块进行串行级联, 实现 32位宽, 16K bits的第二级联 存储单元, 将待存储数据存储在第二级联存储单元中如图 12所示。 当然也可以 将 2个位宽为 16 bits,容量为 8K bits的存储模块进行并行级联, 实现位宽为 32 bits 、 容量为 8 Kbits的第二级联存储单元中, 如图 13所示;具体地, 先级联两个存储 模块中的存储单元形成一个位宽为 16 bits、 容量为 8K bits的存储模块, 然后将这 个两个存储模块进行并行级联形成 1个 32 bits的第二级联存储单元; 。 调整存储 模块的串行和并行级联方法, 可灵活适应不同的存储需求。

[0106] 本实施例方法中存储模块也可通过级联, 实现更大规模的存储。 通过对存储模 块的组合、 控制, 满足了不同字节深度、 不同位宽数据的存储需求。

[0107]

[0108] 实施例四:

[0109] 如图 14所示, 本实施例提供了一种存储模块, 用于可编程逻辑器件, 包括: 第 一级联存储单元; 所述第一级联存储单元由多个小容量的存储单 元级联形成。

[0110] 优选地, 所述第一级联存储单元由多个小容量的存储单 元串行或并行级联形成

[0111] 优选地, 当所述第一级联存储单元由多个小容量的存储 单元串行级联形成吋, 所述第一级联存储单元的字节深度为所述多个 存储单元的字节深度之和。

[0112] 优选地, 当所述第一级联存储单元由多个小容量的存储 单元并行级联形成吋, 所述第一级联存储单元的位宽为所述多个存储 单元的位宽之和。

[0113] 如图 15所示, 在上述基础上, 本实施例的存储模块还可以包括: 未级联的存储 单元。

[0114] 优选地, 本实施例的存储模块还可以级联输出端口和存 储单元输出端口; 所述 级联输出端口, 用于输出所述级联存储单元存储的数据, 所述存储单元输出端 口, 用于输出所述未级联的存储单元存储的数据。 [0116] 实施例五:

[0117] 如图 16所示, 本实施例提供了一种可编程逻辑器件, 包括第二级联存储单元, 所述第二级联存储单元由多个如实施例四所述 的存储模块级联形成。

[0118] 优选地, 所述第二级联存储单元由多个如实施例四所述 的存储模块串行或并行 级联形成。

[0119] 如图 17所示, 为一种存储电路, 包括可编程逻辑器件和外部电路; 可编程逻辑 器件包括多个第二级联存储模块, 第二级联存储模块由多个存储模块级联形成 , 而存储模块可以由多个存储单元级联形成; 外部电路包括数字处理器用于对 存储模块和级联存储模块进行存储控制。

[0120] 本实施例提供的存储电路, 利用其可编程布线的特点, 通过级联存储单元而实 现容量扩展。 存储模块与外部电路的连接方式同样由编程决 定, 并由可互连资 源实现。 存储模块独立地进行数据读写操作, 与外部电路并行地进行数据交换

[0121] 显然, 本领域的技术人员应该明白, 上述本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算 装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现 , 从而, 可以将它们存储在存储介质 (ROM/RAM、 磁碟、 光盘) 中由计算装置 来执行, 并且在某些情况下, 可以以不同于上述实施例描述的顺序执行所示 出 或描述的步骤, 或者将它们分别制作成各个集成电路模块, 或者将它们中的多 个模块或步骤制作成单个集成电路模块来实现 。 所以, 本发明不限制于任何特 定的硬件和软件结合。

[0122] 以上内容是结合具体的实施方式对本发明所作 的进一步详细说明, 不能认定本 发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通技术人员 来说, 在不脱离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应 当视为属于本发明的保护范围。