一种多端口Ram的实现方法技术

技术编号:33543009 阅读:17 留言:0更新日期:2022-05-21 09:56
本发明专利技术涉及Ram技术领域,尤其涉及多端口Ram的实现方法,其中,该方法包括:使用简单端口1w1r Ram或者同时结合简单双端口2wr Ram这种应用较为普遍的Ram来实现多端口的Ram,此种方式对于频率无特殊需求,实现方式更为简单高效、且对Ram芯片面积需求更小。且对Ram芯片面积需求更小。且对Ram芯片面积需求更小。

【技术实现步骤摘要】
一种多端口Ram的实现方法


[0001]本专利技术涉及Ram
,尤其涉及多端口Ram的实现方法。

技术介绍

[0002]QoS是Quality of Service(服务质量)的简称,其目的是针对各种业务的不同需求,为其提供端到端的服务质量保证。QoS技术在当今的互联网中应用越来越多,其作用越来越重要。如果没有Qos技术,业务的服务质量就无法保证。而Ram是QoS中的一个重要使用器件,随着网络技术的飞速发展,带宽的变大,对多端口的需求越来越迫切。目前多端口的各种实现很复杂或者很粗暴通过容量的累积或者通过限制频率等方式来实现,并且随着对Ram深度的需求的增加,对于芯片的面积和功耗来说也是一个不小的挑战。
[0003]目前实现多端口的方式有以下几种:
[0004]1、通过复制的方式来扩大读端口,但无法增加写端口;
[0005]2、通过倍频的方式来增加端口,但对于频率的限制增加;
[0006]3、存储数据区bank切分,实现方式是将Ram切分成n个bank,但是每一个bank固定分配给一组固定的wr(r=read,w=write,读写)使用,不同wr之间无法互相共享Ram,因此实现的不是真正意义上的多端口;
[0007]4、一种称之为LVT(live value table存在值表)的实现方式,如图2所示,图中n0~n

1为完全相同的Ram,个数取决于写个数,LVT的作用用以记录当前某地址的数据存在的最新位置。LVT为mwnr(m个写口,n个读口,m和n为任意大于1的数字)的多口Ram,使用倍频方式实现,实现复杂且Ram资源消耗大,对频率也有要求。因此急需一种更为简单高效并且面积更小的多端口Ram的实现方式。
[0008]针对上述缺点,本技术专利技术解决以下问题:
[0009]多端口Ram的实现方式简单、高效;
[0010]多端口Ram资源消耗少、面积更小;
[0011]多端口Ram使用时频率无特殊需求。
[0012]为了解决上述问题,本专利技术提出了使用简单端口(1w1r)或者同时结合简单双端口(2wr)这种应用较为普遍的Ram来实现2w1r的Ram,此种方式对于频率无特殊需求,同所实现的Ram保持一致即可。

技术实现思路

[0013]为了解决现有技术中存在的问题,本专利技术提出了一种多端口Ram的实现方式。
[0014]为实现上述目的,本专利技术采用如下的技术使用简单端口(1w1r)或者同时结合简单双端口(2wr)这种应用较为普遍的Ram来实现多端口Ram,此种方式对于频率无特殊需求,实现简单、高效,资源消耗少,面积更小。
[0015]在本专利技术实施例中,提出了一种多端口Ram的实现方法,该方法包括如下步骤:
[0016]S1对多端口的Ram进行功能块定义,包括存储数据区bank、缓存储数据区buffer、
标记数据区flag_ram;
[0017]S2对写进行逻辑判断处理,包含独立写和多个写的处理,根据flag_ram以及待写入的bank判断写入bank还是buffer,并判断是否需要更新flag_ram或对buffer数据进行搬移处理;
[0018]S3对读进行逻辑判断处理,根据读bank的操作地址,同时去读对应地址的bank、buffer以及flag_ram,判断读的数据来自对应地址的bank还是buffer;
[0019]S4对构成所述多端口Ram的bank、buffer以及flag_ram进行判断,若所述bank、buffer以及flag_ram由多端口Ram构成,则通过简单端口的复制或拼接的方式进行进一步的处理,从而实现真正意义上的多端口Ram。
[0020]进一步的,所述flag_ram中存储的数据标识buffer中所存储的数据对应的bank标识以及所存储的数据是否有效。
[0021]进一步的,所述多端口Ram使用的bank、buffer以及flag_ram由简单端口(1w1r)以及双端口(2wr)Ram构成。
[0022]进一步的,所述多端口Ram构成的bank、buffer数据位宽等同于所实现的Ram,所述flag_ram数据位宽等于bank的个数;bank、buffer和flag_ram的深度为所实现Ram的N分之一。
[0023]进一步的,所述端口Ram的构成的bank、buffer以及flag_ram的频率需要与所述多端口Ram保持一致。
[0024]进一步的,根据底层Ram核的大小以及拼接Ram的实现逻辑在容量和面积上做一个平衡。
[0025]进一步的,可以通过多个简单端口以及简单双端口组合实现其他多端口Ram。
[0026]本专利技术的有益效果在于,针对现有的通信系统中存在的问题,提供一种多端口Ram的实现方法,使用简单端口(1w1r)或者同时结合简单双端口(2wr)这种应用较为普遍的Ram来实现多端口的Ram,此种方式对于频率无特殊需求,实现简单、高效,资源消耗少,面积更小。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0028]图1为本专利技术实现方法处理流程示意图;
[0029]图2为LVT实现方式示意图;
[0030]图3为本专利技术施例一实现方式示意图;
[0031]图4为本专利技术实施例一第一种实现方式示意图;
[0032]图5为本专利技术实施例一第二种实现方式示意图。
具体实施方式
[0033]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发
明实施例做进一步详细说明。以下实施用例仅用于更加清楚地说明本专利技术的系统方法及技术方案,而不能以此来限制本申请的保护范围。
[0034]根据本专利技术的实施方式,提出了提供一种多端口Ram的实现方法,使用简单端口(1w1r)或者同时结合简单双端口(2wr)这种应用较为普遍的Ram来实现多端口的Ram,此种方式对于频率无特殊需求,实现简单、高效,资源消耗少,面积更小。
[0035]下面参考本专利技术的若干代表性实施方式,详细阐释本专利技术的原理和精神。
[0036]图1是一种多端口Ram的实现方法处理流程示意图。如图1所示,该方法包括如下步骤:
[0037]S1对多端口的Ram进行功能块定义,包括存储数据区bank、缓存储数据区buffer、标记数据区flag_ram;
[0038]进一步的,所述flag_ram中存储的数据标识buffer中存储的数据对应的bank标识以及所述数据是否有效。
[0039]进一步的,所述多端口Ram使用的bank、buffer以及flag_ram由简单端口(1w1r)以及双端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多端口Ram的实现方法,其特征在于,该方法包括如下步骤:S1对多端口的Ram进行功能块定义,包括存储数据区bank、缓存储数据区buffer、标记数据区flag_ram;S2对写进行逻辑判断处理,包含独立写和多个写的处理,根据flag_ram以及待写入的bank判断写入bank还是buffer,并判断是否需要更新flag_ram或对buffer数据进行搬移处理;S3对读进行逻辑判断处理,根据读bank的操作地址,同时去读对应地址的bank、buffer以及flag_ram,判断读的数据来自对应地址的bank还是buffer;S4对构成所述多端口Ram的bank、buffer以及flag_ram进行判断,若所述bank、buffer以及flag_ram由多端口Ram构成,则通过简单端口的复制或拼接的方式进行进一步的处理,从而实现多端口Ram。2.根据权利要求1所述的多端口Ram的实现方法,其特征在于:所述多端口Ram使用的bank、buffer以及flag_ram由简单端口...

【专利技术属性】
技术研发人员:郑利
申请(专利权)人:芯河半导体科技无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1