一种动态可重构的RAM读写方式的制作方法

阅读: 评论:0


一种动态可重构的ram读写方式
技术领域
1.本发明涉及ram读写方式技术领域,尤其涉及一种动态可重构的ram读写方式。


背景技术:



2.随机存取存储器(random access memory,ram)又称作"随机存储器",是与cpu直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。在fpga和asic的开发上,通常都会涉及到ram的使用,如数据的暂存与缓存、fifo的搭建等。通常对ram的读写方式为单个ram的顺序读写,其使用方式比较单一,使得某些数据存储方案在硬件电路上难以实现。


技术实现要素:



3.针对现有技术不足,本发明的目的在于提供一种动态可重构的ram读写方式,解决背景技术中的问题。
4.本发明提供如下技术方案:
5.一种动态可重构的ram读写方式,在原始的顺序读写ram的基础上,增加按奇偶元素分别存储两块ram的读写方式、按上下三角元素分别存储两块ram的读写方式、按奇偶行分别存储两块ram的读写方式以及按行顺序存储到ram的读写方式。
6.优选的,在所述按行顺序存储到ram模式中,一个矩阵按行存储完整的存入一块ram中,此时矩阵与ram的地址映射关系按照公式:addr=base_addr+i*j+j,进行,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。
7.优选的,在所述奇偶元素分别存储两块ram模式中,一个矩阵相邻元素以奇偶方式存储到两块ram中时,矩阵与ram的地址映射关系按照公式:
8.当i+j为偶数时,ram1.addr=base_addr+(i/2)*(j/2)+j/2;
9.当i+j为奇数时,ram2.addr=base_addr+(i/2)*(j/2)+j/2,进行,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。
10.优选的,在所述上下三角分别存储模式中,一个矩阵以两个三角阵存储到两块ram中时,矩阵与ram的地址映射关系按照如下公式进行:
11.当i《j时,ram1.addr=base_addr+(j+j-i-1)*(i-1)/2+j-i;
12.当i》j时,ram2.addr=base_addr+(j+j-j-1)*(j-1)/2+i-i,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。
13.优选的,在所述按奇偶行分别存储两块ram模式中,矩阵与ram地址的映射关系按照以下公式进行:
14.当i/2的余数为0时,ram1.addr=base_addr+j*i/2+j;
15.当i/2的余数为1时,ram2.addr=base_addr+j*i/2+j,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。
16.与现有技术相比,本发明具有以下有益效果:
17.(1)本发明在于一种动态可重构的ram读写方式,利用本发明提供的方法构建了ram阵列、ram读写方式配置寄存器以及ram读写通路。ram阵列主要提供了数据存储的空间,通过ram读写方式配置寄存器的配置能够实现ram读写方式的改变,最后将以上方案统一在ram读写通路中,从而实现对ram阵列的灵活读写操作。
18.(2)本发明在于一种动态可重构的ram读写方式,ram阵列并不限制ram的数量,可以进行更多的扩展应用。
19.(3)本发明在于一种动态可重构的ram读写方式,ram的读写方式可分开进行配置,实现了更大的灵活性。
20.(4)本发明在于一种动态可重构的ram读写方式,根据不同应用场景可对ram阵列的大小,ram的位宽和深度以及读写方式进行改变。
附图说明
21.为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1是本发明的ram阵列示意图。
23.图2是本发明的矩阵元素和ram的对应关系示意图。
24.图3是本发明的矩阵元素与ram块的映射方式示意图。
25.图4是本发明的矩阵元素到ram地址的计算公式示意图。
具体实施方式
26.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述。显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
27.因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
28.实施例一
29.结合图1-4所示,一种动态可重构的ram读写方式,在原始的顺序读写ram的基础上,增加按奇偶元素分别存储两块ram的读写方式、按上下三角元素分别存储两块ram的读写方式、按奇偶行分别存储两块ram的读写方式以及按行顺序存储到ram的读写方式。
30.以数据矩阵存储为例,进行四种存储方式的说明。在以下说明中,i、j分别代表数据在矩阵中的行号和列号,从0开始;i、j分别代表数据矩阵的行列数量,从1开始;base_addr代表数据存储的ram起始地址。
31.(1)在所述按行顺序存储到ram模式中,一个矩阵按行存储完整的存入一块ram中,此时矩阵与ram的地址映射关系如下表所示:
[0032][0033]
矩阵与ram的地址映射关系按照公式:addr=base_addr+i*j+j,进行。
[0034]
(2)在所述奇偶元素分别存储两块ram模式中,一个矩阵相邻元素以奇偶方式存储到两块ram中时,矩阵与ram的地址映射关系如下表所示:
[0035][0036]
矩阵与ram的地址映射关系按照公式:
[0037]
当i+j为偶数时,ram1.addr=base_addr+(i/2)*(j/2)+j/2;
[0038]
当i+j为奇数时,ram2.addr=base_addr+(i/2)*(j/2)+j/2,进行,式中i、j为数据矩阵的行列数量。
[0039]
(3)在所述上下三角分别存储模式中,一个矩阵(一般为方阵)以两个三角阵存储到两块ram中时,矩阵与ram的地址映射关系如下表所示:
[0040][0041]
矩阵与ram的地址映射关系按照如下公式进行:
[0042]
当i《j时,ram1.addr=base_addr+(j+j-i-1)*(i-1)/2+j-i;
[0043]
当i》j时,ram2.addr=base_addr+(j+j-j-1)*(j-1)/2+i-i。
[0044]
(4)在所述按奇偶行分别存储两块ram模式中,当矩阵数据特别大时,可能需要存储到2块或4块ram中,以一个矩阵存储到两个矩阵中为例,此时矩阵与ram地址的映射关系如下表所示:
[0045][0046]
矩阵与ram地址的映射关系按照以下公式进行:
[0047]
当i/2的余数为0时,ram1.addr=base_addr+j*i/2+j;
[0048]
当i/2的余数为1时,ram2.addr=base_addr+j*i/2+j,式中i、j为数据矩阵的行列数量。
[0049]
结合图1所示,在可重构读写方面,将多块ram组合成ram阵列,可实现如图1所示的ram阵列(以四块ram,四个通道为例)。
[0050]
每个通道都与四块ram相连,由于多个通道访问ram的同一个口,因此需要8个4to1的mux。在mux进行选择时,通过固定优先级仲裁完成。
[0051]
ram阵列模块内部包含4个寄存器m_ch{0-3},用来配置矩阵元素和ram的对应关系,寄存器具体含义参阅图2所示。
[0052]
每次写ram时,首先设置好这些寄存器,然后顺序写入ram阵列的数据就会按照相应的方式存储于相应的ram中。当需要访问存储在ram中的某一个矩阵时,首先需要到矩阵与ram的对应关系,即可实现对相应矩阵中各元素的读取,其矩阵元素与ram块的对应关系参考图3、4所示。
[0053]
本发明一种动态可重构的ram读写方式,利用本发明提供的方法构建了ram阵列、ram读写方式配置寄存器以及ram读写通路。ram阵列主要提供了数据存储的空间,通过ram读写方式配置寄存器的配置能够实现ram读写方式的改变,最后将以上方案统一在ram读写通路中,从而实现对ram阵列的灵活读写操作。ram阵列并不限制ram的数量,可以进行更多的扩展应用。ram的读写方式可分开进行配置,实现了更大的灵活性。本发明提出的方案并没有针对某一种特定的场景,根据不同应用场景可对ram阵列的大小,ram的位宽和深度以及读写方式进行改变。
[0054]
本发明提出了三种新的ram读写方式,包括按奇偶元素分别存储两块ram、按上下三角元素分别存储两块ram、按奇偶行分别存储两块ram以及按行分别存储到四片ram的三种ram读写方式。通过寄存器设置能够实现ram读写方式的改变,从而在硬件电路层面实现ram读写方式的可重构。
[0055]
以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种动态可重构的ram读写方式,其特征在于,在原始的顺序读写ram的基础上,增加按奇偶元素分别存储两块ram的读写方式、按上下三角元素分别存储两块ram的读写方式、按奇偶行分别存储两块ram的读写方式以及按行顺序存储到ram的读写方式。2.根据权利要求1所述的一种动态可重构的ram读写方式,其特征在于,在所述按行顺序存储到ram模式中,一个矩阵按行存储完整的存入一块ram中,此时矩阵与ram的地址映射关系按照公式:addr=base_addr+i*j+j,进行,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。3.根据权利要求1所述的一种动态可重构的ram读写方式,其特征在于,在所述奇偶元素分别存储两块ram模式中,一个矩阵相邻元素以奇偶方式存储到两块ram中时,矩阵与ram的地址映射关系按照公式:当i+j为偶数时,ram1.addr=base_addr+(i/2)*(j/2)+j/2;当i+j为奇数时,ram2.addr=base_addr+(i/2)*(j/2)+j/2,进行,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。4.根据权利要求1所述的一种动态可重构的ram读写方式,其特征在于,在所述上下三角分别存储模式中,一个矩阵以两个三角阵存储到两块ram中时,矩阵与ram的地址映射关系按照如下公式进行:当i<j时,ram1.addr=base_addr+(j+j-i-1)*(i-1)/2+j-i;当i>j时,ram2.addr=base_addr+(j+j-j-1)*(j-1)/2+i-i,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。5.根据权利要求1所述的一种动态可重构的ram读写方式,其特征在于,在所述按奇偶行分别存储两块ram模式中,矩阵与ram地址的映射关系按照以下公式进行:当i/2的余数为0时,ram1.addr=base_addr+j*i/2+j;当i/2的余数为1时,ram2.addr=base_addr+j*i/2+j,式中i、j为数据矩阵的行列数量,i、j分别为矩阵中数据的行列标号。

技术总结


本发明公开了一种动态可重构的RAM读写方式,在原始的顺序读写RAM的基础上,增加按奇偶元素分别存储两块RAM的读写方式、按上下三角元素分别存储两块RAM的读写方式、按奇偶行分别存储两块RAM的读写方式以及按行顺序存储到RAM的读写方式。通过寄存器设置能够实现RAM读写方式的改变,从而在硬件电路层面实现RAM读写方式的可重构。写方式的可重构。写方式的可重构。


技术研发人员:

朱珂 王永胜 林谦 顾艳伍 赵金萍 储志博

受保护的技术使用者:

井芯微电子技术(天津)有限公司

技术研发日:

2022.01.19

技术公布日:

2022/4/8

本文发布于:2022-11-30 05:25:20,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/14934.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   方式   两块   本发明
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图