CN109271333A - 一种sram控制方法及控制器、控制系统 - Google Patents

一种sram控制方法及控制器、控制系统 Download PDF

Info

Publication number
CN109271333A
CN109271333A CN201710580241.1A CN201710580241A CN109271333A CN 109271333 A CN109271333 A CN 109271333A CN 201710580241 A CN201710580241 A CN 201710580241A CN 109271333 A CN109271333 A CN 109271333A
Authority
CN
China
Prior art keywords
sram
read request
controller
fraternal
axi bus
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
Application number
CN201710580241.1A
Other languages
English (en)
Other versions
CN109271333B (zh
Inventor
李晓莎
向茜
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710580241.1A priority Critical patent/CN109271333B/zh
Publication of CN109271333A publication Critical patent/CN109271333A/zh
Application granted granted Critical
Publication of CN109271333B publication Critical patent/CN109271333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Static Random-Access Memory (AREA)
  • Bus Control (AREA)

Abstract

本文公布了一种SRAM控制方法及控制器、控制系统,包括:根据自身SRAM的读请求和/或写请求,向自身SRAM读数据和/或写数据;将针对兄弟SRAM的读请求通过先进的可扩展接口AXI总线输出到相应的兄弟SRAM控制器;将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过所述AXI总线输出。本申请能够实现多个DSP交叉访问多个SRAM。

Description

一种SRAM控制方法及控制器、控制系统
技术领域
本发明涉及通信领域,具体涉及一种SRAM控制方法及控制器、控制系统。
背景技术
在通信系统中,通常使用静态随机存取存储器(SRAM,Static random accessMemory)作为指令/数据的暂存区,在针对多核片上系统(SOC, system-on-a-Chip)中,若有多个DSP需要暂存指令,就需要多个SRAM与 DSP一一对应,每个DSP端口遵循先进的可扩展接口(AXI,Advanced extensible Interface)总线协议。由于应用场景的不同,多个DSP需要的指令容量不同,当其中某个或者某些DSP处于空闲(IDLE)时,出于功耗考虑,会关掉对应的时钟,此时对应的SRAM处于空闲状态,使得多个DSP对应的多AXI接口访问SRAM的利用效率低,造成了资源浪费。
发明内容
为了解决上述技术问题,本发明实施例提供了一种SRAM控制方法及控制器、控制系统,能够实现多个DSP交叉访问多个SRAM。
本申请提供了:
一种静态随机存取存储器SRAM控制方法,包括:
根据自身SRAM的读请求和/或写请求,向自身SRAM读数据和/或写数据;
将针对兄弟SRAM的读请求通过先进的可扩展接口AXI总线输出到相应的兄弟SRAM控制器;
将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过所述AXI 总线输出。
其中,所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,包括:当AXI总线准备好且用于暂存待输出的读数据的先进先出存储器FIFO为空时,所述读数据直接输出到AXI总线上。
其中,所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,包括:将所述读数据存入FIFO直到AXI总线准备好再输出到AXI总线上。
其中,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM 的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还包括:以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。
其中,所述以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁,包括:自身SRAM的读请求和兄弟SRAM的读请求轮流执行,当一个读请求的读数据执行结束后,发生优先级轮换,所述读请求的优先级置于次低;其中,所述读请求的初始优先级按照端口顺序预先指定。
其中,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM 的读请求通过AXI总线输出到相应的兄弟SRAM控制器,包括:在读数据有效信号指示为有效时,将所述读数据有效信号所对应SRAM上的读数据通过相应的AXI端口输出。
其中,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM 的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还包括:利用 FIFO将所述读请求和/或所述写请求暂存。
其中,所述利用FIFO将所述读请求和/或所述写请求的暂存,包括:将所述读请求和所述写请求分开在不同的FIFO中存放。
其中,所述利用FIFO将所述读请求和/或所述写请求的暂存,包括:将所述读请求或所述写请求中的指令请求和指令内容分别存放在不同的FIFO 中。
其中,所述读数据和/或所述写数据,包括:所述读数据或所述写数据到最后一个数据时产生burst_last信号,所述burst_last信号用于指示当前读数据或当前写数据结束。
一种SRAM控制器,包括:
自身SRAM;
AXI总线;
其中,所述AXI总线包含对应所述自身SRAM的读请求输入端口、写请求输入端口、读数据输出端口,以及对应兄弟SRAM控制器的至少一个读请求输入端口、至少一个读请求输出端口、至少一个读数据输入端口、至少一个读数据输出端口。
其中,还包括:仲裁器,连接在对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口,与对应所述自身SRAM的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。
其中,还包括:多路选择组件,连接在所述仲裁器的输出端与对应所述自身SRAM的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于将所述仲裁器输出的读请求或写请求输出到所述AXI总线的相应通路,所述AXI总线的相应通路为如下之一:向所述自身SRAM的通路;向至少一个兄弟SRAM控制器的读请求输出端口的通路。
其中,还包括:第一FIFO存储组件,设置在所述AXI总线中对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口与所述仲裁器的输入端之间,用于将针对所述自身SRAM和/或至少一个兄弟SRAM的读请求暂存。
一种SRAM控制系统,至少包括:两个SRAM控制器;每个所述SRAM 控制器为上述的SRAM器;
其中,所述两个SRAM控制器至少通过如下方式之一或多项连接:
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口连接。
其中,所述SRAM控制系统包括多个SRAM控制器;其中,所述多个 SRAM控制器通过如下方式之一或多项连接:
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的任一或多个读请求输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读请求输出端口与任一或多个其他SRAM控制器的AXI总线中的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟 SRAM控制器的读数据输出端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输出端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟 SRAM控制器的读数据输入端口连接。
本发明实施例可实现多个AXI接口交叉访问SRAM的方式,使SRAM的利用效率有效提高,并可实现最快四个时钟周期内读出数据,提高指令读取速度,并且在多次读操作连续时,使SRAM的数据吞吐量可接近理论最大值 100%,有效提升SRAM的资源利用率,从而大幅节省资源。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为实施例一SRAM控制方法的流程示意图;
图2为实施例二SRAM控制器的示例性结构示意图;
图3为实例1中SRAM控制器系统的示例性结构示意图;
图4为实例2中单个SRAM控制器的示例性结构示意图;
图5为实例3中三组SRAM控制器的示例性结构示意图;
图6为实例4中仲裁过程示意图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为提高性能,缩小芯片面积,减小SRAM使用数量,节省资源,本申请提供多个DSP可交叉访问多个SRAM控制器的方案,依据端口的信号控制来共享SRAM控制器的空间,即便某个或者某些DSP被关电,它对应的SRAM 依然有指令存储被其它DSP使用。
AXI协议作为芯片片内总线广泛使用在SOC芯片之中,用于芯片内各个模块互联。本申请的方案采用AXI协议作为总线接口协议,对其它接口协议不适用。
考虑到只有系统启动时才会将指令存入SRAM,以后绝大部分都是读操作,因此本申请的技术方案中以读优先。
本文中,兄弟SRAM是指除自身SRAM之外的其他SRAM的统称。
实施例一
一种SRAM控制方法,如图1所示,可以包括:
步骤101,根据自身SRAM的读请求和/或写请求,向自身SRAM读数据和/或写数据;
步骤102,将针对兄弟SRAM的读请求通过先进的可扩展接口AXI总线输出到相应的兄弟SRAM控制器;
步骤103,将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过所述AXI总线输出。
需要说明的是,步骤101和步骤102可以同时执行、也可以一前一后执行,对于具体的执行顺序,不作限制。
本实施例的上述方法,可实现多个AXI接口交叉访问SRAM的方式,克服相关技术中多个DSP对应的多AXI接口访问SRAM的利用效率低的问题,使SRAM的利用效率有效提高,并可实现最快四个时钟周期内读出数据,提高指令读取速度,并且在多次读操作连续时,使SRAM的数据吞吐量可接近理论最大值100%,有效提升SRAM的资源利用率,从而大幅节省资源。
一种实现方式中,所述所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,可以包括:当AXI总线准备好且用于暂存待输出的读数据的先进先出存储器FIFO为空时,所述读数据直接输出到AXI 总线上。这里,所述AXI总线准备好是指AXI读写地址和数据有效信号(valid 以及ready)为高电平。
一种实现方式中,所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,可以包括:将所述读数据存入FIFO直到AXI 总线准备好再输出到AXI总线上。
一种实现方式中,,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还可以包括:以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。这里,所述以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁,可以包括:自身SRAM的读请求和兄弟SRAM 的读请求轮流执行,当一个读请求的读数据执行结束后,发生优先级轮换,所述读请求的优先级置于次低。其中,所述读请求的初始优先级按照端口顺序预先指定。实际应用中,执行所述仲裁时可以依据各通道请求、自身总线的读写请求、兄弟总线的读请求这四类请求做仲裁判断,采用轮询方式,以避免某通道请求长期占用,其它请求出现饿死现象,并且采用控制逻辑实现读优先写。
一种实现方式中,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器,可以包括:在读数据有效信号指示为有效时,将所述读数据有效信号所对应SRAM 上的读数据通过相应的AXI端口输出。如此,可依据每路数据通路的有效信号做控制,在有效信号指示为有效时该路数据被选择输出,其它路数据阻塞,可实现多路选择机制,以避免访问冲突,同时也能实现数据流水达到效率提升。
一种实现方式中,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还可以包括:利用FIFO将所述读请求和/或所述写请求暂存。这里,所述利用 FIFO将读请求和/或写请求的暂存,可以包括:将所述读请求和所述写请求分开在不同的FIFO中存放。这样,利用FIFO将指令暂存,AXI总线每次发起的操作也可以先存放在FIFO中,当指令FIFO中有数据时,说明AXI总线上有数据要处理,此时进行相应读写。
进一步的,所述利用FIFO将读请求和/或写请求的暂存,可以包括:将所述读请求或所述写请求中的指令请求和指令内容分别存放在不同的FIFO 中。这样,将读指令和写指令分开在两个FIFO中存放,可有效加快指令处理速度。比如,可以分为RD_CMD_FIFO和WR_CMD_FIFO。这里,存放指令内容的FIFO可以存放AXI指令的地址、长度、猝发模式和ID,所以宽度为此四项之和。为使写数据可以流水线工作,另外还需要B通道FIFO来保存写数据完成后返回的ID信息,宽度为ID位宽。
本实施例中,利用FIFO将读请求暂存之后可以在之后从FIFO中获取读请求并执行。这里,获取读请求的过程即获取指令的阶段,首先将当前指令锁存,得出猝发长度、类型等信息,并计算出猝发地址的步长,如果是卷绕类型的话,还需计算出卷绕边界,指令的来源可以直接从AXI总线而来,也可以是从RD_CMD_FIFO或WR_CMD_FIFO中来,还可以是兄弟SRAM控制器送过来的读请求。
这里,在读/写SRAM的阶段,控制SRAM的接口来操作SRAM,读写 SRAM阶段所花时间由此次猝发长度决定。从SRAM中读出来的数据或从兄弟SRAM读出来的数据在AXI总线空闲时可以直接放到AXI总线上,在AXI 总线忙时也可以将数据连同ID先放进RDATA_FIFO待总线空闲后再输出。
一种实现方式中,所述读数据和/或所述写数据的过程可以包括:读数据或所述写数据到最后一个数据时产生burst_last信号,所述burst_last信号指示当前读数据或当前写数据结束。
一种实现方式中,本实施例的一个具体实现过程可以包括如下:
B1.输入端口有三个读请求信号,分别是对应自身SRAM以及两个兄弟 SRAM的读请求。
B2.当SRAM控制器中的读写指令FIFO皆空,且没有指令正在执行时,读指令可以不经过读指令FIFO。当有指令正在执行时,阻塞下一条指令。
B3.从读写指令FIFO中或直通通路中得到读写指令,寄存在相应的一组寄存器中,并拉高相应的指令请求,等待仲载,并且将指令的内容锁存,包括读写地址,猝发类型,长度,ID等信息。
B4.仲裁器接收到三路读请求以及一路写请求,通过仲裁算法解决谁先访问的问题。本实施例中,仲裁采用写请求优先级最低,读请求优先级轮流的策略,即自身读访问和兄弟读访问轮流优先访问,只要有读访问则暂不执行写访问。当某一访问拿到仲裁权并结束访问后,发生优先级轮换,此时刚发生访问的一路优先级置于次低,初始优先级按照端口顺序制定,0号最高, 3号最低。
B5.经过仲裁器处理后,开始进行读写SRAM,将读/写命令解析后,数据边读/写,边进行计数,读/写到最后一个数据时产生burst_last信号,同时读数据需要根据接收通路的FIFO情况进行控制,在FIFO仅能容纳小于FIFO 设置的AWFULL/AREMPTY门限值的情况下停止写/读数据,以防止 RDATA_FIFO溢出,并产生RD_valid信号。
B6.多路数据合并阶段:SRAM读出来的数据可能是自身读取的,也可能是兄弟SRAM控制器读取的。同样,读出来的数据可能是自身读取的,也可能是兄弟SRAM读过来的。本部分逻辑用于区分读数据通路,将读出来的数据和ID、last一起送至目的地。Rdata_valid用于标示读数据有效。
B7.数据输出阶段:读到的数据可能直接放在AXI总线上,也可能存放在RDATA_FIFO中,当AXI总线准备好且RDATA_FIFO为空时,数据直接输出到AXI总线上,否则进入FIFO直到AXI总线准备好再输出到AXI总线上。当放上AXI总线上的数据没有被接收则产生阻塞信号,直到被接收为止。这里,AXI总线准备好是指对应的读写(rread以及wready)信号拉高。
本实施例的方法,通过FIFO缓存指令和数据,采用端口控制信号实现多端口数据合并输出,可达到SRAM共享,提高SRAM流水性能,达到多端口复用流量效果,节省了带宽损耗,提高了处理器指令预取速度。同时,可减小芯片SRAM控制器数量,达到减小面积的效果。
实施例二
一种SRAM控制器,如图2所示,可以包括:
自身SRAM 21;
AXI总线22;
其中,所述AXI总线22包含对应所述自身SRAM的读请求输入端口、写请求输入端口、读数据输出端口,以及对应兄弟SRAM的至少一个读请求输入端口、至少一个读请求输出端口、至少一个读数据输入端口、至少一个读数据输出端口。
具体的,对应所述自身SRAM的读请求输入端口用于输入针对自身 SRAM 21的读请求,对应所述自身SRAM的写请求输入端口用于输入针对自身SRAM 21的写请求,对应所述自身SRAM的读数据输出端口用于输出来自自身SRAM 21的读数据。
具体的,对应兄弟SRAM的至少一个读请求输入端口用于输入针对至少一个兄弟SRAM的读请求,对应兄弟SRAM的至少一个读请求输出端口用于将针对至少一个兄弟SRAM的读请求输出到相应的至少一个兄弟SRAM控制器;对应兄弟SRAM的至少一个读数据输入端口用于输入来自至少一个兄弟SRAM的读数据,对应兄弟SRAM的至少一个读数据输出端口用于将读数据输出到相应的至少一个兄弟SRAM控制器。
一种实现方式中,所述AXI总线,还可以包括:对应所述自身SRAM的读数据有效信号输入端口、读数据有效信号输出端口;对应兄弟SRAM的至少一个读数据有效信号输入端口、至少一个读数据有效信号输出端口。具体的,对应所述自身SRAM的读数据有效信号输入端口用于输入控制兄弟 SRAM控制器输入的读数据有效信号,对应所述自身SRAM的读数据有效信号输出端口用于将读数据有效信号输出到兄弟SRAM控制器;对应兄弟 SRAM的至少一个读数据有效信号输入端口用于输入针对至少一个兄弟 SRAM的读数据有效信号,对应兄弟SRAM的至少一个读数据有效信号输出端口用于将针对至少一个兄弟SRAM的读数据有效信号输出到相应的至少一个兄弟SRAM控制器。
一种实现方式中,所述SRAM控制器还可以包括:仲裁器23,连接在对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口,与对应所述自身SRAM 的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。
一种实现方式中,所述SRAM控制器还可以包括:多路选择组件24,连接在所述仲裁器的输出端与对应所述自身SRAM的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于将所述仲裁器输出的读请求或写请求输出到所述AXI总线的相应通路,所述AXI总线的相应通路为如下之一:向所述自身SRAM的通路;向至少一个兄弟SRAM控制器的读请求输出端口的通路。
一种实现方式中,所述SRAM控制器还可以包括:第一FIFO存储组件 25,设置在所述AXI总线中对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口与所述仲裁器的输入端之间,用于将针对所述自身SRAM和/或至少一个兄弟SRAM的读请求暂存。
一种实现方式中,所述SRAM控制器还可以包括:第二FIFO存储组件 26,设置在所述自身SRAM 21(比如,自身SRAM的输出端)与所述AXI 总线22中对应所述自身SRAM的读数据输出端之间、和/或设置在所述AXI 总线中对应兄弟SRAM的至少一个读数据输入端口与所述AXI总线中对应兄弟SRAM的至少一个读数据输出端口之间,用于将待输出的读数据暂存。
本实施例中所述多AXI端口的SRAM控制器,与相关技术的差别在于通过各AXI端口信号的控制,实现多个AXI端口对应的DSP除访问自身SRAM 之外,还可以交叉访问其它兄弟SRAM,实现SRAM的共享存储,减小芯片面积,提高SRAM利用效率,同时通过FIFO存储对应的命令和数据,可做到各个端口实现OUTSTANDING访问,提高流水性能。
本实施例中多AXI端口的SRAM控制器,可应用于多核系统中,某个和某些DSP通过和它对应的AXI总线对相应的SRAM进行读写,也可以读取其它DSP对应的SRAM。
本实施例中,SRAM控制器中的各个部分即自身SRAM 21、仲裁器23、多路选择组件24、第一FIFO存储组件25以及第二FIFO存储组件26之间通过通过AXI总线22连接在一起,并可通过协议信号握手实现流控。
本实施例中,第一FIFO存储组件25和第二FIFO存储组件26分别可以包含一个或多个FIFO,该FIFO依据AXI协议总线的五个通道写通道、写数据通道、写响应通道、读通道、读数据通道。其中,第一FIFO存储组件25 和/或第二FIFO存储组件26分别可以包含四类FIFO,分别为:写命令FIFO、读命令FIFO、写响应FIFO、读数据FIFO等,FIFO深度可以根据实际系统需要选择。
本实施例中,AXI总线22中各端口均满足AMBA协议族要求,比如,可以是AXI3或者AXI4。
本实施例中,对外部SRAM的容量,依据实际需要配置,可以是任意大小,对自身SRAM和兄弟SRAM的物理地址不能重叠。
本实施例中,AXI总线22的端口数量可依据系统需求配置。若端口数量增加则端口控制信号同步增加。一种实现方式中,AXI总线22的端口可以包括如下:
E1.输出控制线RD_req[N]:发给兄弟SRAM控制器的读请求,当需要读兄弟SRAM,此信号拉高。
E2.输出控制线RD_cmd[N]:发给兄弟SRAM控制器的读指令,包括猝发地址、类型、长度、ID。
E3.输入数据线RD_data[N]:兄弟SRAM控制器传回来的数据,包括读数据,ID和RLAST信号。
E4.输入控制线RD_valid[N]:兄弟SRAM控制器传回来的数据有效信号,拉高时表示读回来的数据有效。
E5.输入控制线Burst_rd_last[N]:兄弟SRAM读数据已经读到了此次猝发读取的最后一个,此时自身可以解除阻塞,执行下一个读指令。
相应的,本实施例AXI总线22中各端口的控制信号可以包含:1)对应自身SRAM的AXI读写命令、数据、响应信号;2)对应至少一个兄弟SRAM 的读命令、读控制信号;3)自身发出的读控制、读命令、读数据信号。一种实现方式中,各端口的控制信号具体说明如下:
A1.<i/o>RD_req<N>是发给兄弟SRAM控制器的读请求,当需要读兄弟 SRAM,此信号拉高。
A2.<i/o>RD_cmd<N>是发给兄弟SRAM控制器的读指令,包括猝发地址、类型、长度、ID。
A3.<i/o>RD_data<N>是兄弟SRAM控制器传回来的数据,包括读数据, ID和RLAST信号。
A4.<i/o>RD_valid<N>是兄弟SRAM控制器传回来的数据有效信号,拉高时表示兄弟SRAM控制器返回读出来的数据。
A5.<i/o>Canget_rdata<N>表示自身可以接收兄弟SRAM控制器传回来的读数据。
A6.<i/o>Burst_rd_last<N>表示兄弟SRAM读数据已经读到了此次猝发读取的最后一个,此时自身可以解除阻塞,执行下一个读指令。
实施例三
提供一种SRAM控制系统,至少包括:两个SRAM控制器;其中,所述两个SRAM控制器至少通过如下方式之一或多项连接:
1)一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
2)一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
3)一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口连接;
4)一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口连接。
一种实现方式中,所述SRAM控制系统可以包括多个SRAM控制器;其中,所述多个SRAM控制器通过如下方式之一或多项连接:
1)任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的任一或多个读请求输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
2)任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读请求输出端口与任一或多个其他SRAM控制器的AXI总线中的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
3)任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟 SRAM控制器的读数据输出端口连接;
4)任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输出端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟 SRAM控制器的读数据输入端口连接。
本实施例中各SRAM控制器的结构参照实施例二,不再赘述。
本实施例的其他实现细节可参照实施例一和实施例二。
下面对上述各实施例的示例性实现方式进行详细说明。需要说明的是,下文实例中的结构、执行过程等均可据实际应用的需要进行调整,且下文各实例可相互结合。即,上述各实施例还可以有其他的实现方式,对于具体实现方式,本申请不作限制。
实例1
如图3所示,是基于AXI接口的多端口SRAM控制器示例性结构,每个 AXI端口对应一块SRAM和一个处理器,处理器可访问自身SRAM控制器以及兄弟SRAM控制器,达到多DSP对多个SRAM交叉访问的目的,实现 SRAM共享。其中,RD_CMD是读命令,可在不同端口间传递,并通过解析读命令返回相应的读数据RDATA。
实例2
本实例对SRAM控制器的示例性电路结构进行详细说明。如图4所示,为本实例中单个SRAM控制器的示例性电路结构示意图。
如图4所示,本实例中输入信号含义如下:
iRD_Req1:来自兄弟SRAM控制器1的读请求。
iRD_Req2:来自兄弟SRAM控制器2的读请求。
iAXI_WDATA:自身SRAM控制器输入的写数据。
iAXI_WCMD:自身SRAM控制器输入的写命令。
iAXI_RCMD:自身SRAM控制器输入的读命令。
iRD_cmd1:来自兄弟SRAM控制器1的读命令。
iRD_cmd2:来自兄弟SRAM控制器2的读命令。
iCanget_rdata1:来自兄弟SRAM控制器1的读命令是否拿到仲裁权,和输出信号oCanget_rdata1对接。
iCanget_rdata1:来自兄弟SRAM控制器1的读命令是否拿到仲裁权,和输出信号oCanget_rdata2对接。
iRD_data1:来自兄弟SRAM控制器1返回的读数据。
iRD_data2:来自兄弟SRAM控制器2返回的读数据。
iRD_valid1:来自兄弟SRAM控制器1返回的读数据有效信号。
iRD_valid2:来自兄弟SRAM控制器2返回的读数据有效信号。
iBurst_rd_last1:来自兄弟SRAM控制器1返回的最后一笔读数据指示信号。
iBurst_rd_last2:来自兄弟SRAM控制器2返回的最后一笔读数据指示信号。
如图4所示,本实例中输出信号含义如下:
oRD_req1:输出到兄弟SRAM控制器1的读请求。
oRD_req2:输出到兄弟SRAM控制器2的读请求。
oRD_cmd1:输出到兄弟SRAM控制器1的读命令。
oRD_cmd2:输出到兄弟SRAM控制器1的读命令。
oAXI_Bresp:输出的写响应。
oRD_valid1:输出到兄弟SRAM控制器1的读数据有效信号。
oRD_valid2:输出到兄弟SRAM控制器2的读数据有效信号。
oRD_data1:输出到兄弟SRAM控制器1的读数据。
oRD_data2:输出到兄弟SRAM控制器2的读数据。
oAXI_RDATA:自身SRAM控制器输出的读数据。
oBurst_rd_last1:输出给兄弟SRAM控制器1的最后一笔读数据指示信号。
oBurst_rd_last2:输出给兄弟SRAM控制器2的最后一笔读数据指示信号。
下面对图4的信号传输过程进行详细说明:
如图4所示,输入的iAXI_WDATA先进入FIFO(FF_1)再直接输出到自身SRAM。
如图4所示,输入的iRD_Req1、iRD_Req2、iAXI_WCMD请求、 iAXI_RCMD请求发送到仲裁器,仲裁器采用轮询策略进行决策之后输出其中一路请求到MUX_2,再由MUX_2传送到logic_1。
如图4所示,iAXI_WCMD先进入WR_CMD_FIFO,然后每个命令会分为两部分:指令请求和指令内容,这两部分再分别存入FIFO(FF_2)和FIFO (FF_3)中,其中FIFO(FF_3)存储指令请求,FIFO(FF_2)存储指令内容。FIFO(FF_3)中的指令请求会到达仲裁器,FIFO(FF_2)中的指令内容会输入到MUX_2中。
如图4所示,读命令iAXI_RCMD经过MUX_1后分为两路,一路是指令请求、另一路是指令内容。其中,所述指令内容存入FIFO(FF_7),对于兄弟SRAM读请求的指令内容则将作为oRD_cmd1、oRD_cmd2分别输出到相应的兄弟SRAM控制器,对于自身SRAM读请求的指令内容则输出到 MUX_2中;其中,所述指令请求经过DECODE,DECODE的作用是做地址译码以确认是发给自身SRAM的读请求还是兄弟SRAM的读请求,DECODE 之后有三路FIFO连接:FIFO(FF_4)、FIFO(FF_5)和FIFO(FF_6)。将自身SRAM读请求的指令请求存入FIFO(FF_4),将各兄弟SRAM读请求的指令请求分别存入FIFO(FF_5)和FIFO(FF_6),并分别作为oRD_req1、 oRD_req2输出给相应的兄弟SRAM。
Logic_1是多逻辑组合单元,作用是做多路选择,即从来自仲裁器的指令请求中选择要输出的读请求指令,iCanget_rdata1、iCanget_rdata2、 iBurst_rd_last1、iBurst_rd_last2都是来自两个兄弟SRAM的控制信号,若仲裁器输出是选中兄弟SRAM过来的读请求,则不需要进入SRAM控制器,也不需要进入后续的logic_2和logic_3,仅输出对应信号即可,将 iBurst_rd_last1、iBurst_rd_last2分别输出到oBurst_rd_last1和oBurst_rd_last2, iCanget_rdata1、iCanget_rdata2分别输出到oCanget_rdata1和oCanget_rdata2。其中,oBurst_rd_last1用于输出给兄弟SRAM控制器1的最后一笔读数据指示信号。oBurst_rd_last2用于输出给兄弟SRAM控制器2的最后一笔读数据指示信号。
logic_3是写相应控制。如果是来自兄弟SRAM的读请求被选中,那么会直接通过logic_4选择输出,不会经过logic_2和logic_3,logic_3控制写 SRAM,logic_2传送AXI端口发送给兄弟SRAM的读请求oRD_valid1、 oRD_valid2。
如图4所示,在MUX_3有三路输入:来自自身SRAM的读数据RDATA、以及分别来自两个兄弟SRAM的iRD_data1、iRD_data2,MUX_3由信号 iRD_valid来控制,信号iRD_valid通过Logic4提供MUX_3,信号iRD_valid 为高电平时说明其中一路被选中输出。MUX_3连接RDADA_FiFO,若有多个RDATA输出,则可放入RDADA_FiFO中,实现outstanding传输,最后通过MUX_4合并为一路输出为oAXI_RDATA。此过程中,MUX_4之后也可设置FIFO(FF_9),在输出数据较多时通过FIFO(FF_9)进行管理。
在MUX_4前端有两个输入,一个是经过RDATA_FIFO的RDATA_FIFO 通路,另一个直接连在MUX_4的直连通路。在有多个RDATA时,走 RDATA_FIFO通路,以便无法及时处理的RDATA先存储在RDATA_FIFO。如果当前仅有一个RDATA,且AXI总线读数据操作可以连续,那么就走直连通路,只有RDATA数据量太大,总线不能及时处理时,才走 RDATA_FIFO通路。若读命令是发送给兄弟SRAM控制器的,则从 RDATA_FIFO中把读数据通过Logic_2多路选择之后输出,如图4中的 oRD_data1以及oRD_data2。
若读数据有效信号是发送给兄弟SRAM控制器的,则从FIFO(FF_8)中把相应的读数据有效信号输出到Logic_2,Logic_2做多路选择之后直接输出为图4所示的oRD_valid1、oRD_valid2。
实例3
如图5所示,为本实例三组多端口AXI的SRAM控制器示例性结构示意图。
如图5所示,SRAM控制器中包含三个SRAM、以及三组多端口AXI,每个SRAM对应一组多端口AXI,SRAM通过多端口AXI可与DSP连接。各个SRAM之间还可通过多端口AXI中的相应端口连接,具体连接关系可参照实例2和附图4,不再赘述。实际应用中,可在此基础上可以增加任意数量的多端口AXI和SRAM。此外,也可以在此基础上减少多端口AXI和SRAM。
实例4
本实例对仲裁的示例性实现方式进行详细说明。
如图6所示,仲裁器可采用轮询仲裁算法进行仲裁,以图6所示三端口 AXI为例,在仲裁器输入端共4组输入信号,P0、P1、P2、P3是四个寄存器变量,分别表示优先级顺序。本实例中,P0表示优先级最高,P1表示优先级次高,P2表示优先级次低,P3表示优先级最低。
具体步骤如下:
C1.用四位独热码表示读写请求,存放在P0、P1、P2、P3中,读写请求与独热码的对应关系如下表1所示:
读写请求 独热码
RD_Req0 1000
iRD_Req1 0100
iRD_Req2 0010
WR_Req3 0001
表1
本实例中,Burst_rd_rlast0~3表示三路读BURST传输的最后一笔读操作,当该信号为1时表示该路读操作即将完成。
图6中默认写操作位于P3,处于优先级最低的位置,首次优先级P0最高。当RD_req0&Burst_rd_rlast0为1时,表示P0处的R0读操作完成,仲裁器可做优先级轮换,R1操作优先级变为最高,R0变为P2次最低,本发明设定了读优先级高于写,在还有读操作时,写优先级永远是最低。
在R1操作拿到最高优先级后,下一笔操作如R1没有读请求到达,R2有读请求到达,那么依据轮询算法,R2被优先执行。
当RD_req2&Burst_rd_rlast2为1时,R2操作完成,优先级排序再次发生变化,R2变为次最低,R1依然是有最高优先权,直到有R1操作执行后,变为次最低。
需要说明的是,上述实例仅为示例,AXI端口数量、SRAM控制器数量均可基于不同需求而进行调整,在增加端口时对应增加控制信号即可。对于具体的AXI端口数量、SRAM控制器数量,本申请不作限制,并且,本申请的具体实现方式也不限于上述方式。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。

Claims (16)

1.一种静态随机存取存储器SRAM控制方法,其特征在于,包括:
根据自身SRAM的读请求和/或写请求,向自身SRAM读数据和/或写数据;
将针对兄弟SRAM的读请求通过先进的可扩展接口AXI总线输出到相应的兄弟SRAM控制器;
将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过所述AXI总线输出。
2.根据权利要求1所述的方法,其特征在于,所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,包括:
当AXI总线准备好且用于暂存待输出的读数据的先进先出存储器FIFO为空时,所述读数据直接输出到AXI总线上。
3.根据权利要求1所述的方法,其特征在于,所述将来自所述自身SRAM或所述兄弟SRAM控制器的读数据通过AXI总线输出,包括:
将所述读数据存入FIFO直到AXI总线准备好再输出到AXI总线上。
4.根据权利要求1所述的方法,其特征在于,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还包括:
以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。
5.根据权利要求4所述的方法,其特征在于,所述以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁,包括:
自身SRAM的读请求和兄弟SRAM的读请求轮流执行,当一个读请求的读数据执行结束后,发生优先级轮换,所述读请求的优先级置于次低;
其中,所述读请求的初始优先级按照端口顺序预先指定。
6.根据权利要求1所述的方法,其特征在于,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器,包括:
在读数据有效信号指示为有效时,将所述读数据有效信号所对应SRAM上的读数据通过相应的AXI端口输出。
7.根据权利要求1或4所述的方法,其特征在于,所述向自身SRAM读数据和/或写数据、和/或将针对兄弟SRAM的读请求通过AXI总线输出到相应的兄弟SRAM控制器之前,还包括:
利用FIFO将所述读请求和/或所述写请求暂存。
8.根据权利要求7所述的方法,其特征在于,所述利用FIFO将所述读请求和/或所述写请求的暂存,包括:
将所述读请求和所述写请求分开在不同的FIFO中存放。
9.根据权利要求7所述的方法,其特征在于,所述利用FIFO将所述读请求和/或所述写请求的暂存,包括:
将所述读请求或所述写请求中的指令请求和指令内容分别存放在不同的FIFO中。
10.根据权利要求6所述的方法,其特征在于,所述读数据和/或所述写数据,包括:
所述读数据或所述写数据到最后一个数据时产生burst_last信号,所述burst_last信号用于指示当前读数据或当前写数据结束。
11.一种SRAM控制器,其特征在于,包括:
自身SRAM;
AXI总线;
其中,所述AXI总线包含对应所述自身SRAM的读请求输入端口、写请求输入端口、读数据输出端口,以及对应兄弟SRAM控制器的至少一个读请求输入端口、至少一个读请求输出端口、至少一个读数据输入端口、至少一个读数据输出端口。
12.根据权利要求11所述的SRAM控制器,其特征在于,还包括:
仲裁器,连接在对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口,与对应所述自身SRAM的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于以写请求优先级最低、读请求轮流的策略对所述写请求和/或读请求进行仲裁。
13.根据权利要求12所述的SRAM控制器,其特征在于,还包括:
多路选择组件,连接在所述仲裁器的输出端与对应所述自身SRAM的读请求输出端口、对应兄弟SRAM控制器的至少一个读请求输出端口之间,用于将所述仲裁器输出的读请求或写请求输出到所述AXI总线的相应通路,所述AXI总线的相应通路为如下之一:
向所述自身SRAM的通路;
向至少一个兄弟SRAM控制器的读请求输出端口的通路。
14.根据权利要求12所述的SRAM控制器,其特征在于,还包括:
第一FIFO存储组件,设置在所述AXI总线中对应所述自身SRAM的读请求输入端口、对应自身SRAM的写请求输入端口、对应兄弟SRAM控制器的至少一个读请求输入端口与所述仲裁器的输入端之间,用于将针对所述自身SRAM和/或至少一个兄弟SRAM的读请求暂存。
15.一种SRAM控制系统,至少包括:两个SRAM控制器;
每个所述SRAM控制器为如权利要求11至14中所述任一所述的SRAM器;
其中,所述两个SRAM控制器至少通过如下方式之一或多项连接:
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口连接;
一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口与另一个SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口连接。
16.根据权利要求15所述的SRAM控制系统,其特征在于,
所述SRAM控制系统包括多个SRAM控制器;
其中,所述多个SRAM控制器通过如下方式之一或多项连接:
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的任一或多个读请求输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读请求输出端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读请求输出端口与任一或多个其他SRAM控制器的AXI总线中的AXI总线中对应一个兄弟SRAM控制器的读请求输入端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输入端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输出端口连接;
任一SRAM控制器的AXI总线中对应任一或多个兄弟SRAM控制器的读数据输出端口与任一或多个其他SRAM控制器的AXI总线中对应一个兄弟SRAM控制器的读数据输入端口连接。
CN201710580241.1A 2017-07-17 2017-07-17 一种sram控制方法及控制器、控制系统 Active CN109271333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710580241.1A CN109271333B (zh) 2017-07-17 2017-07-17 一种sram控制方法及控制器、控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710580241.1A CN109271333B (zh) 2017-07-17 2017-07-17 一种sram控制方法及控制器、控制系统

Publications (2)

Publication Number Publication Date
CN109271333A true CN109271333A (zh) 2019-01-25
CN109271333B CN109271333B (zh) 2022-03-01

Family

ID=65152522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710580241.1A Active CN109271333B (zh) 2017-07-17 2017-07-17 一种sram控制方法及控制器、控制系统

Country Status (1)

Country Link
CN (1) CN109271333B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN116483754A (zh) * 2023-06-26 2023-07-25 湖北芯擎科技有限公司 Ram的读写控制方法、控制器、ram以及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851824A (zh) * 2006-05-17 2006-10-25 中国人民解放军国防科学技术大学 高速流水线中长延时多端口sram的快速访问方法
CN101123114A (zh) * 2006-08-11 2008-02-13 国际商业机器公司 静态随机存取存储器电路和用于切换其性能的方法
US20100037028A1 (en) * 2008-08-07 2010-02-11 Qualcomm Incorporated Buffer Management Structure with Selective Flush
CN102365627A (zh) * 2009-03-27 2012-02-29 超威半导体公司 用于缓存中通路分配及通路锁定的方法
CN102541775A (zh) * 2012-01-12 2012-07-04 航天科工深圳(集团)有限公司 双口ram替代系统及采用该系统实现数据传输的方法
CN103218301A (zh) * 2011-11-09 2013-07-24 想象力科技有限公司 用于数字信号处理的存储器访问
CN204667393U (zh) * 2015-05-18 2015-09-23 南车株洲电力机车研究所有限公司 一种基于FPGA和Upp接口的多芯片数据交互装置
US20170076419A1 (en) * 2015-09-10 2017-03-16 Arm Limited Interface apparatus and method of operating an interface apparatus
CN106776357A (zh) * 2016-12-28 2017-05-31 无锡芯响电子科技有限公司 一种多路读写多容量选择的fifo控制器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851824A (zh) * 2006-05-17 2006-10-25 中国人民解放军国防科学技术大学 高速流水线中长延时多端口sram的快速访问方法
CN101123114A (zh) * 2006-08-11 2008-02-13 国际商业机器公司 静态随机存取存储器电路和用于切换其性能的方法
US20100037028A1 (en) * 2008-08-07 2010-02-11 Qualcomm Incorporated Buffer Management Structure with Selective Flush
CN102365627A (zh) * 2009-03-27 2012-02-29 超威半导体公司 用于缓存中通路分配及通路锁定的方法
CN103218301A (zh) * 2011-11-09 2013-07-24 想象力科技有限公司 用于数字信号处理的存储器访问
CN102541775A (zh) * 2012-01-12 2012-07-04 航天科工深圳(集团)有限公司 双口ram替代系统及采用该系统实现数据传输的方法
CN204667393U (zh) * 2015-05-18 2015-09-23 南车株洲电力机车研究所有限公司 一种基于FPGA和Upp接口的多芯片数据交互装置
US20170076419A1 (en) * 2015-09-10 2017-03-16 Arm Limited Interface apparatus and method of operating an interface apparatus
CN106776357A (zh) * 2016-12-28 2017-05-31 无锡芯响电子科技有限公司 一种多路读写多容量选择的fifo控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖潇: "基于AXI的SoC互联结构的设计与验证", 《中国优秀硕士论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN116483754A (zh) * 2023-06-26 2023-07-25 湖北芯擎科技有限公司 Ram的读写控制方法、控制器、ram以及电子设备
CN116483754B (zh) * 2023-06-26 2023-10-10 湖北芯擎科技有限公司 Ram的读写控制方法、控制器、ram以及电子设备

Also Published As

Publication number Publication date
CN109271333B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
US7966431B2 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
KR100855193B1 (ko) 허브-기반 메모리 서브-시스템에서 양방향 데이터 버스용데이터 바이패스 장치 및 방법
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
JP4560646B2 (ja) ハブベースのメモリシステムにおけるダイレクトメモリアクセス用の装置および方法
US20040054864A1 (en) Memory controller
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
CN105468547A (zh) 一种基于axi总线的便捷可配置帧数据存取控制系统
KR102332375B1 (ko) 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체
US20070055813A1 (en) Accessing external memory from an integrated circuit
US6314047B1 (en) Low cost alternative to large dual port RAM
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
CN102411982A (zh) 内存控制器及命令控制方法
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
US8954644B2 (en) Apparatus and method for controlling memory
CN102841871B (zh) 基于高速串行总线的DMA结构的pipeline读写方法
CN114902198B (zh) 用于异构存储器系统的信令
CN103744644A (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
US20130103917A1 (en) Efficient command mapping scheme for short data burst length memory devices
CN109271333A (zh) 一种sram控制方法及控制器、控制系统
CN101814012A (zh) Sdram存储器结构及数据读写方法
CN117501230A (zh) 多存储列存储器控制器中的高效存储列切换
US6157971A (en) Source-destination re-timed cooperative communication bus
CN105653213A (zh) 一种基于Freescale P3041的双控磁盘阵列
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
CN110007853A (zh) 一种Nandflash命令处理方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant