CN102930898A - 一种构建多端口异步存储模块的方法 - Google Patents
一种构建多端口异步存储模块的方法 Download PDFInfo
- Publication number
- CN102930898A CN102930898A CN201210448785XA CN201210448785A CN102930898A CN 102930898 A CN102930898 A CN 102930898A CN 201210448785X A CN201210448785X A CN 201210448785XA CN 201210448785 A CN201210448785 A CN 201210448785A CN 102930898 A CN102930898 A CN 102930898A
- Authority
- CN
- China
- Prior art keywords
- address
- read
- general
- write
- purpose storage
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种构建多端口异步存储模块的方法,它涉及数据交换与处理中多路并行数据的缓存与交换。本发明针对当前半定制集成电路设计过程中所使用的工艺库中的存储器只有单端口或双端口两种类型,并不能满足某些高数据吞吐率场合,由工艺库中多个双端口类型存储器采用地址译码控制分块读写的寻址方式,构建成多端口异步存储模块,以实现由简单端口存储模块构建多端口存储模块,满足高数据吞吐率要求。应用本方法的优点是可以根据设计需求灵活的扩展存储器的容量和可用的访问端口从而降低设计难度,缩短开发时间,同时相对于全定制的多端口存储器其具有灵活性好,可靠性高,设计风险小等优点。
Description
技术领域
本发明涉及集成电路设计中的一种构建多端口异步存储模块的方法,它特别适用高数据吞吐率的数据交换和数据处理的应用场合,实现对多路数据进行存储和访问控制。
背景技术
在高速并行数据交换和处理系统中,随着数据交换量的增大及信息处理任务的增加,对数据传送的要求也越来越高。在电路中如果没有支持高速并行的存储模块,则在数据交换时极易造成瓶颈堵塞现象,从而影响整个系统对数据的处理能力。在集成电路设计中由于工艺库中只提供简单的单端口或双端口的存储器,无法满足设计人员对异步多单口存储器的使用需求,一般的解决办法是改变逻辑设计牺牲设计性能或采用全定制方法实现多端口存储器。
发明内容
本发明要解决的问题是提供一种利用现有工艺库中简单的通用的存储器来实现复杂的多端口存储模块的方法。通过地址译码和标识位将多块简单的存储器组织起来,以分块存储的方式构成满足需求的多端口存储器的数据存储功能。
本发明的目的是这样实现的,一种构建多端口异步存储模块的方法,其特征在于包括步骤:
①进行写操作时,多路写地址进入写地址译码模块100,与写地址对应的多路写数据进入写数据译码模块200;
②写地址译码模块100将多路写地址分别送至存储器组600中的相应通用存储器,同时写地址译码模块100将写操作标识输出给标识位控制模块500;写数据译码模块200将多路写数据分别存储到与其写地址相应的通用存储器中,完成写数据的存储过程;
③进行读操作时,多路读地址进入读地址译码模块300;
④读地址译码模块300将多路读地址分配给存储器组600中的通用存储器,同时读地址译码模块300将读操作标识输出给标识位控制模块500;
⑤标识位控制模块500根据读操作标识产生标识位有效值信号进入到输出数据控制模块400;
⑥输出数据控制模块400根据标识位有效值信号控制对应存储器组中通用存储器的相应地址的数据输出,完成读操作过程。
其中,第②步中写地址译码模块100将多路写地址分别送至存储器组600中的相应通用存储器具体为:所述写地址译码模块100的输出与存储器组600中的各个通用存储器的写地址相连,根据读写地址个数将存储器组600中的通用存储器分组,写地址译码模块100将输入的多路写地址经过译码后,使每一路写地址连接到所对应的通用存储器分组中每个通用存储器的写地址输入端口。
其中,第②步中所述的通用存储器为工艺库中具有一个读地址和一个写地址的通用存储器,读取方式为异步读取。
其中,第②步中所述的写操作标识,其内容包括正在进行的写操作的地址和数据在存储器组中存储的位置信息。
其中,第④步中读地址译码模块300将多路读地址分配给存储器组600中的通用存储器具体为:所述读地址译码模块300的输出与存储器组600中的各个通用存储器的读地址相连,根据读写地址将存储器组600中的通用存储器分组,读地址译码模块300将输入的多路读地址经过译码后,使每一路读地址连接到所对应的通用存储器分组的每个通用存储器读地址输入端口。
其中,第④步中所述的读操作标识,其内容包括正在进行的读操作的地址在存储器组的位置信息。
其中,第⑤步中所述的标识位有效值为最新写入的地址在通用存储器中的位置,读数据时由该标识位有效值控制从相应通用存储器的读地址读出。
其中,通用存储器分组的个数与读写地址的个数相同。
本发明与背景技术相比,具有如下优点:
(1)本发明可以根据实际的数据存储需求扩充端口数量和存储容量;
(2)本发明不依赖与特定的工艺库,可以根据需要方便的移植到其他工艺库;
(3)本发明的通用存储器是工艺库所提供的,经过大量的流片验证所以其可靠性高且节约的开发成本和开发时间;
(4)本发明中的读写端口可以实现异步存取数据,提高了使用的灵活性和数据的存储速率。
附图说明
图1是本发明实施例的原理方框图,图1中写地址译码模块为100,写数据译码模块为200,读地址译码模块为300,输出数据控制模块为400,标识位控制模块为500,存储器组为600;
图2是简单的读写地址译码原理方框图;
图3是本发明标识位控制模块500的原理方框图。图3中标识输入控制模块为501,标识位寄存器1为502,标识位寄存器2为503,寄存器控制模块为504。
具体实施方式
参照图1至图3,一种构建多端口异步存储模块的方法,其特征在于包括步骤:
①进行写操作时,多路写地址进入写地址译码模块100,与写地址对应的多路写数据进入写数据译码模块200。
②写地址译码模块100将多路写地址分别送至存储器组600中的相应通用存储器,同时写地址译码模块100将写操作标识输出给标识位控制模块500;写数据译码模块200将多路写数据分别存储到与其写地址相应的通用存储器中,完成写数据的存储过程。
其中,第②步中写地址译码模块100将多路写地址分别送至存储器组600中的相应通用存储器具体为:所述写地址译码模块100的输出与存储器组600中的各个通用存储器的写地址相连,根据读写地址个数将存储器组600中的通用存储器分组,写地址译码模块100将输入的多路写地址经过译码后,使每一路写地址连接到所对应的通用存储器分组中每个通用存储器的写地址输入端口。
所述的通用存储器为工艺库中具有一个读地址和一个写地址的通用存储器,读取方式为异步读取。所述的写操作标识,其内容包括正在进行的写操作的地址和数据在存储器组中存储的位置信息。
各通用存储器根据读地址的连接关系分为多个存储组,写地址贯穿各存储器组,实现对各通用存储器的写访问。读写地址译码模块决定了多端口存储器模块的读写地址与通用存储器的读写地址的连接关系,图2为一个简单的地址连接关系,表示了四个通用双端口存储器构成一个四端口的存储器,但不表示本发明仅限于四个通用双端口存储器构成一个四端口存储器的形式。原理是通过两个读地址将四个通用存储器分成两组,如图2中601和602,603和604分别构成两个存储组,写地址的分配关系实现了两路写地址进行写操作时的独立性,读地址的分配关系保证了能访问到两个写地址所涉及的存储器空间。
标识位控制模块500反映了写操作发生时各个通用存储器的状态,并由此决定读操作时所访问的通用存储器位置以及输出数据的来源。图3反映了标识输入控制模块501和寄存器控制模块504与通用存储器对应的标志位寄存器的关系。图3中的501为读写标识输入的控制模块,用来控制读写操作状态在标识位寄存器中的反映。502、503为两个通用存储器对应的标志位寄存器,它们标识了对应的两个通用存储器的各地址写操作状态,寄存器中的一位对应着通用存储器的一个地址。在一个按读地址分组的存储组中,当该组各通用存储器的写地址端口输入的地址相同时,并且写使能信号等表示为同时进行写操作时,则该组各通用存储器对应的标识位寄存器相应位均设置为1,当仅一个写地址有效并进行写操作时,则该写操作对应的通用存储器相应的标识位寄存器位设置为1,其他通用存储器的该地址对应的标志位寄存器位设置为0,完成对写操作信息的记录。
③进行读操作时,多路读地址进入读地址译码模块300。
④读地址译码模块300将多路读地址分配给存储器组600中的通用存储器,同时读地址译码模块300将读操作标识输出给标识位控制模块500。
第④步中读地址译码模块300将多路读地址分配给存储器组600中的通用存储器具体为:所述读地址译码模块300的输出与存储器组600中的各个通用存储器的读地址相连,根据读写地址将存储器组600中的通用存储器分组,读地址译码模块300将输入的多路读地址经过译码后,使每一路读地址连接到所对应的通用存储器分组的每个通用存储器读地址输入端口。
所述的读操作标识,其内容包括正在进行的读操作的地址在存储器组的位置信息。
读地址的译码原理为根据读地址个数将多路读地址平均分组,多路读地址分配到各组通用存储器的读地址端口,保证能够访问到每个写地址所涉及的存储器空间。
⑤标识位控制模块500根据读操作标识产生标识位有效值信号进入到输出数据控制模块400。
所述的标识位有效值为最新写入的地址在通用存储器中的位置,读数据时由该标识位有效值控制从相应通用存储器的读地址读出。
读操作时标识位控制模块500通过读操作标识查找读操作对象的存储信息。该读地址对应的标识位寄存器位为1的通用存储器所中的数据作为多端口存储器的输出数据。
⑥输出数据控制模块400根据标识位有效值信号控制对应存储器组中通用存储器的相应地址的数据输出,完成读操作过程。
输出数据控制模块400通过标识位控制模块500输出的标识位有效值信号获得最新的数据存储信息,以此控制相应存储组中的数据输出,输出控制模块的功能通过异步逻辑实现,异步读取的方式用来提高存储器处理速率。
Claims (8)
1.一种构建多端口异步存储模块的方法,其特征在于包括步骤:
①进行写操作时,多路写地址进入写地址译码模块(100),与写地址对应的多路写数据进入写数据译码模块(200);
②写地址译码模块(100)将多路写地址分别送至存储器组(600)中的相应通用存储器,同时写地址译码模块(100)将写操作标识输出给标识位控制模块(500);写数据译码模块(200)将多路写数据分别存储到与其写地址相应的通用存储器中,完成写数据的存储过程;
③进行读操作时,多路读地址进入读地址译码模块(300);
④读地址译码模块(300)将多路读地址分配给存储器组(600)中的通用存储器,同时读地址译码模块(300)将读操作标识输出给标识位控制模块(500);
⑤标识位控制模块(500)根据读操作标识产生标识位有效值信号进入到输出数据控制模块(400);
⑥输出数据控制模块(400)根据标识位有效值信号控制对应存储器组中通用存储器的相应地址的数据输出,完成读操作过程。
2.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第②步中写地址译码模块(100)将多路写地址分别送至存储器组(600)中的相应通用存储器具体为:所述写地址译码模块(100)的输出与存储器组(600)中的各个通用存储器的写地址相连,根据读写地址个数将存储器组(600)中的通用存储器分组,写地址译码模块(100)将输入的多路写地址经过译码后,使每一路写地址连接到所对应的通用存储器分组中每个通用存储器的写地址输入端口。
3.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第②步中所述的通用存储器为工艺库中具有一个读地址和一个写地址的通用存储器,读取方式为异步读取。
4.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第②步中所述的写操作标识,其内容包括正在进行的写操作的地址和数据在存储器组中存储的位置信息。
5.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第④步中读地址译码模块(300)将多路读地址分配给存储器组(600)中的通用存储器具体为:所述读地址译码模块(300)的输出与存储器组(600)中的各个通用存储器的读地址相连,根据读写地址将存储器组(600)中的通用存储器分组,读地址译码模块(300)将输入的多路读地址经过译码后,使每一路读地址连接到所对应的通用存储器分组的每个通用存储器读地址输入端口。
6.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第④步中所述的读操作标识,其内容包括正在进行的读操作的地址在存储器组的位置信息。
7.根据权利要求1所述的一种构建多端口异步存储模块的方法,其特征在于:第⑤步中所述的标识位有效值为最新写入的地址在通用存储器中的位置,读数据时由该标识位有效值控制从相应通用存储器的读地址读出。
8.根据权利要求2所述一种构建多端口异步存储模块的方法,其特征在于:通用存储器分组的个数与读写地址的个数相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210448785.XA CN102930898B (zh) | 2012-11-12 | 2012-11-12 | 一种构建多端口异步存储模块的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210448785.XA CN102930898B (zh) | 2012-11-12 | 2012-11-12 | 一种构建多端口异步存储模块的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102930898A true CN102930898A (zh) | 2013-02-13 |
CN102930898B CN102930898B (zh) | 2015-07-15 |
Family
ID=47645677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210448785.XA Active CN102930898B (zh) | 2012-11-12 | 2012-11-12 | 一种构建多端口异步存储模块的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930898B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851452A (zh) * | 2015-05-06 | 2015-08-19 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于功耗控制的存储体片上集成结构及其控制方法 |
CN108337070A (zh) * | 2018-03-21 | 2018-07-27 | 上海交通大学 | 一种ldpc码信道解码器及其解码方法 |
CN111817724A (zh) * | 2020-07-22 | 2020-10-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据压缩电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7359230B2 (en) * | 2003-12-18 | 2008-04-15 | Canon Kabushiki Kaisha | Nonvolatile memory device |
CN101236774A (zh) * | 2007-02-01 | 2008-08-06 | 北京芯技佳易微电子科技有限公司 | 单端口存储器实现多端口存储功能的装置和方法 |
-
2012
- 2012-11-12 CN CN201210448785.XA patent/CN102930898B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7359230B2 (en) * | 2003-12-18 | 2008-04-15 | Canon Kabushiki Kaisha | Nonvolatile memory device |
CN101236774A (zh) * | 2007-02-01 | 2008-08-06 | 北京芯技佳易微电子科技有限公司 | 单端口存储器实现多端口存储功能的装置和方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851452A (zh) * | 2015-05-06 | 2015-08-19 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于功耗控制的存储体片上集成结构及其控制方法 |
CN104851452B (zh) * | 2015-05-06 | 2017-09-29 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种基于功耗控制的存储体片上集成结构及其控制方法 |
CN108337070A (zh) * | 2018-03-21 | 2018-07-27 | 上海交通大学 | 一种ldpc码信道解码器及其解码方法 |
CN111817724A (zh) * | 2020-07-22 | 2020-10-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据压缩电路 |
CN111817724B (zh) * | 2020-07-22 | 2022-03-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据压缩电路 |
Also Published As
Publication number | Publication date |
---|---|
CN102930898B (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101710270B (zh) | 一种基于闪存的高速大容量存储器及芯片数据管理方法 | |
CN105843775A (zh) | 片上数据划分读写方法、系统及其装置 | |
US8819376B2 (en) | Merging arrays using shiftable memory | |
CN103647850B (zh) | 一种分布式版本控制系统的数据处理方法、设备及系统 | |
CN101533408A (zh) | 一种海量数据的处理方法及处理装置 | |
CN103810111A (zh) | 有源存储器件中的地址生成的方法及其处理元件 | |
US10698851B1 (en) | Data bit width converter and system on chip thereof | |
CN103729149A (zh) | 一种存储数据的方法 | |
CN103914483A (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN103927215B (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统 | |
CN102930898B (zh) | 一种构建多端口异步存储模块的方法 | |
KR20130021704A (ko) | 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템 | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
CN106250321B (zh) | 2r1w存储器的数据处理方法及数据处理系统 | |
CN1201234C (zh) | 多通道先进先出数据缓冲存储装置 | |
CN102541778A (zh) | 一种超高速超大容量存储装置及其实现方法 | |
CN105205008A (zh) | 降低混合映射算法中日志块映射表内存资源占用的方法 | |
CN102339255B (zh) | 一种Nand写平衡处理方法 | |
CN101178933B (zh) | 一种闪存阵列装置 | |
CN109614145A (zh) | 一种处理器核心结构及数据访存方法 | |
CN102156676B (zh) | 高速缓存系统 | |
CN115113799A (zh) | 主机命令的执行方法及装置 | |
CN104035898A (zh) | 一种基于vliw类型处理器的访存系统 | |
CN106919363A (zh) | 一种基于异步先进先出的sdram缓存器 | |
CN101604294B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |