CN115905086A - 基于axi同步读写单口sram的控制方法及控制器 - Google Patents
基于axi同步读写单口sram的控制方法及控制器 Download PDFInfo
- Publication number
- CN115905086A CN115905086A CN202211650049.2A CN202211650049A CN115905086A CN 115905086 A CN115905086 A CN 115905086A CN 202211650049 A CN202211650049 A CN 202211650049A CN 115905086 A CN115905086 A CN 115905086A
- Authority
- CN
- China
- Prior art keywords
- read
- data
- write
- data address
- sram
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000003068 static effect Effects 0.000 title description 3
- 230000001360 synchronised effect Effects 0.000 claims abstract description 30
- 238000013500 data storage Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Static Random-Access Memory (AREA)
Abstract
本申请提供一种基于AXI同步读写单口SRAM的控制方法及设备,该方法在接收AXI总线在当前时刻发送的同步读写信息后,将读数据地址、读操作指示、写数据地址和写操作指示存储在配置的信号存储空间中;若检测到当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将待写数据存储在配置的数据存储空间中;基于信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据通过配置的读数据通路上传至AXI总线上;在执行完读操作后,基于信号存储空间中当前时刻对应的写数据地址和写操作指示,将待写数据写入目标SRAM。该方法使单口SRAM具备可同时被读写功能的任务,提高了读写效率。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种基于AXI同步读写单口SRAM的控制方法及控制器。
背景技术
根据高级可扩展接口协议(Advanced eXtensible Interface,AXI)总线协议规定,挂载在AXI总线上的主机对从机具有读写并发的功能,为使AXI总线的特性得到最好的支持,充分发挥出AXI总线的性能,通常需要在设计阶段保证AXI总线上挂载的从机都具备可同时被读写的功能。
目前高级可扩展接口协议(Advanced eXtensible Interface,AXI)总线上挂接静态随机存取存储器(Static Random-Access Memory,SRAM)进行读写操作的方案包括:
方案1,在AXI总线上挂接双端SRAM。该方案中对芯片设计并无特殊要求,只需要根据芯片存储需求,设置相应大小存储空间的双端SRAM即可。此方法设计简单,可以实现同读写并发,缺点是双端SRAM需要较大的面积,芯片制造时需要更多的掩膜,制造成本大大增加。
方案2,在AXI总线上挂接单端SRAM(或称“单口SRAM”)。该方案与方案1相比在成本和面积控制方面具有优势,但是对单端SRAM同时进行读写操作时,会产生冲突,即不能支持AXI总线读写操作并发的特性,造成AXI总线性能浪费。
发明内容
本申请实施例的目的在于提供一种基于AXI同步读写单口SRAM的控制方法及控制器,用以解决了现有技术存在的上述问题,可使单口SRAM具备可同时被读写功能的任务,且具备读写速度较快,消耗资源较少的优势。
第一方面,提供了一种基于AXI同步读写单口SRAM的控制方法,应用于分别与AXI总线和多个单口SRAM连接的控制器中,该方法可以包括:
接收AXI总线在当前时刻发送的同步读写信息,所述同步读写信息包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;
将所述读数据地址、读操作指示、写数据地址和写操作指示存储在配置的信号存储空间中;
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将所述待写数据存储在配置的数据存储空间中;所述目标SRAM为所述多个单口SRAM中的任一单口SRAM;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据通过配置的读数据通路上传至所述AXI总线上;
在执行完读操作后,基于所述信号存储空间中当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述目标SRAM。
在一个可能的实现中,所述方法还包括:
若检测到所述信号存储空间中当前时刻对应的读数据地址访问第一SRAM,且当前时刻对应的写数据地址访问第二SRAM,则基于所述当前时刻对应的读数据地址和读操作指示,对所述第一SRAM执行读操作;
同时,基于所述当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述第二SRAM;
其中,所述第一SRAM和第二SRAM为所述多个单口SRAM中两个不同的SRAM。
在一个可能的实现中,所述控制器还包括第一选择器和第二选择器;
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将所述待写数据存储在配置的数据存储空间中,包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中;
将得到的读数据通过配置的读数据通路上传至所述AXI总线上,包括:
控制所述第二选择器,将得到的读数据通过配置的读数据通路上传至所述AXI总线上。
在一个可能的实现中,检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,包括:
检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的相同地址;或者,检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的不同地址。
在一个可能的实现中,所述方法还包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的相同地址,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中,之后控制所述第二选择器,从所述数据存储空间中读取存储的所述待写数据。
在一个可能的实现中,所述方法还包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的不同地址,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,控制所述第二选择器对所述目标SRAM执行读操作。
在一个可能的实现中,所述方法还包括:
实时对所述信号存储空间进行容量检测;
若检测到所述信号存储空间内不存在空闲容量,或所述信号存储空间内被占用的空闲容量达到预设容量阈值,则向所述AXI总线发送暂停写操作的指示信息。
在一个可能的实现中,基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,包括:
若检测到所述信号存储空间将所述当前时刻对应的读数据地址和写数据地址的地址格式分别转换为相应待访问SRAM对应的地址格式,则基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作。
第二方面,提供了一种基于AXI同步读写单口SRAM的控制器,该控制器可以包括:
与AXI总线连接的数据接收器,用于接收AXI总线在当前时刻发送的同步读写信息,所述同步读写信息包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;
信号缓存器,用于将所述读数据地址、读操作指示、写数据地址和写操作指示存储在自身配置的信号存储空间中;
逻辑控制单元,用于若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则向所述数据缓存器发送存储控制信息,所述存储控制信息包括所述待写数据;所述目标SRAM为至少一个单口SRAM中的任一单口SRAM;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据发送至读数据通路;在执行完读操作后,基于所述信号存储空间中当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述目标SRAM;
数据缓存器,用于接收所述逻辑控制单元发送的所述存储控制信息,并将所述待写数据存储在自身配置的数据存储空间中;
读数据通路,用于接收所述逻辑控制单元发送的所述读数据,并将所述读数据上传至所述AXI总线上。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本申请实施例提供的AXI同步读写单口SRAM的控制方法中接收AXI总线在当前时刻发送的同步读写信息,同步读写信息包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;将读数据地址、读操作指示、写数据地址和写操作指示存储在配置的信号存储空间中;若检测到当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将待写数据存储在配置的数据存储空间中;目标SRAM为多个单口SRAM中的任一单口SRAM;基于信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据通过配置的读数据通路上传至AXI总线上;在执行完读操作后,基于信号存储空间中当前时刻对应的写数据地址和写操作指示,将待写数据写入目标SRAM。该方法通过对AXI总线下发的读写数据信息的合理控制,可使单口SRAM具备可同时被读写功能的任务,且具备读写速度较快,消耗资源较少的优势。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用基于AXI同步读写单口SRAM的控制方法的系统架构图;
图2为本申请实施例提供的一种应用基于AXI同步读写单口SRAM的控制方法的控制器的结构示意图;
图3为本申请实施例提供的一种信号缓存器的地址格式转换示意图;
图4为本申请实施例提供的一种基于AXI同步读写单口SRAM的控制方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的基于AXI同步读写单口SRAM的控制方法可以应用在图1所示的系统架构中,如图1所示,该系统可以包括:AXI总线、控制器和多个单口SRAM。
其中,AXI总线与多个主机连接,控制器分别与AXI总线和多个单口SRAM连接。该控制器可以集成在芯片的数字模块中。当AXI总线需要对SRAM进行读写操作的数据时,该控制器可以通过对读写操作的数据流进行控制,协助实现同步读写功能。
每个单口SRAM中包括存储的数据;
AXI总线,用于接收相同或不同主机下发的读数据信息、写数据信息和同步读写信息,并将接收的上述信息下发至控制器。其中,读数据信息可以包括读数据地址和读操作指示;写数据信息可以包括写数据地址、写操作指示和相应待写数据;同步读写信息可以包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据,即同时读写的信息。
控制器,用于接收AXI总线下发的信息,并基于该信息,执行读操作和/或写操作,具体的:
若该信息为读数据信息或写数据信息,则基于该读数据信息中的读数据地址和读操作指示,执行读操作,或基于写数据信息中的写数据地址、写操作指示和相应待写数据,执行写操作。
若该信息为同步读写信息,则执行本申请实施例提供的基于AXI同步读写单口SRAM的控制方法,可完成上述使单口SRAM具备可同时被读写功能的任务,且具备读写速度较快,消耗资源较少的优势。
如图2所示,控制器可以包括与AXI总线连接的数据接收器、信号缓存器、逻辑控制单元、数据缓存器和读数据通路;
其中,逻辑控制单元可以是一种数据流控制电路,具体电路结构本申请实施例在此不做限定。
数据接收器,用于接收AXI总线在当前时刻发送的同步读写信息,同步读写信息可以包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;
信号缓存器,用于将读数据地址、读操作指示、写数据地址和写操作指示存储在自身配置的信号存储空间中;
进一步的,信号缓存器将发送来的读数据地址和写数据地址分别存储在自身的读地址队列和写地址队列中,经如图3所示所示的地址格式转换后,将读地址队列和写地址队列中的地址格式转换为相应地址要访问的单口SRAM对应的地址格式,并存储在自身的地址发送空间中的相应队列中,如读地址发送队列和写地址发送队列,在后续执行读操作和写操作时从地址发送空间中提取需要的地址。
逻辑控制单元,用于若检测到当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则向数据缓存器发送存储控制信息;其中,存储控制信息可以包括待写数据;目标SRAM为多个单口SRAM中的任一单口SRAM;
基于信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据发送至读数据通路;
在执行完读操作后,基于信号存储空间中当前时刻对应的写数据地址和写操作指示,将待写数据写入目标SRAM;
数据缓存器,用于接收逻辑控制单元发送的存储控制信息,并将待写数据存储在自身配置的数据存储空间中;
读数据通路,用于接收逻辑控制单元发送的读数据,并将该读数据上传至AXI总线上。
进一步的,该控制器还可以包括第一选择器和第二选择器。
逻辑控制单元可以控制第一选择器,将待写数据存储在配置的数据存储空间中;以及,逻辑控制单元可以控制第二选择器,将得到的读数据通过配置的读数据通路上传至AXI总线上。
进一步的,在基于信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作过程中,可以包括逻辑控制单元控制第二选择器从待访问的单口SRAM中读取数据,或者,逻辑控制单元控制第二选择器从数据缓存器的数据存储空间中读取数据。
可见,本申请实施例提供的控制器增加了内置数据流控制电路,并且使用多块地址连续的单端SRAM代替现有的一整块SRAM。控制器中包含了数据缓存器内设置的一块用于数据缓存的数据存储空间,即数据buffer,用于缓存写入SRAM中的待写数据。
AXI总线下发数据读写并发时,若涉及同一SRAM的读写并发,写数据被缓冲到数据buffer中,对该SRAM进行读操作,得到读数据后直接读取到AXI总线;待读操作完成后,从数据buffer中取出待写数据,同时响应写操作,将待写数据写入相应SRAM。该控制器可实现对同一SRAM的读写并发,成本和面积开销显著降低,且由于该控制方法符合标准AXI协议,故通用性好。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图4为本申请实施例提供的一种基于AXI同步读写单口SRAM的控制方法的流程示意图。如图4所示,该方法可以包括:
步骤S410、接收AXI总线在当前时刻发送的同步读写信息。
其中,同步读写信息可以包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据。
具体实施中,可以接收同一主机向AXI总线发送的同步读写信息;或者,接收不同主机各自发送的同步读写信息;或者,接收一个主机发送读操作数据的同时接收到另一主机发送了写操作数据,由此构成了同步读写信息。
步骤S420、将读数据地址、读操作指示、写数据地址和写操作指示存储在配置的信号存储空间中。
具体实施中,将读数据地址和写数据地址分别存储在读地址队列和写地址队列中,并将读数据地址和写数据地址的地址格式分别转换为相应待访问SRAM对应的地址格式,并将转换地址格式后的相应地址存储在地址发送空间中。
相应的,可以将读操作指示和写操作指示存储在信号缓存器内配置的相应信号队列中,以便后续提取。
步骤S430、基于对当前时刻对应的读数据地址和写数据地址访问的SRAM的检测,确定读操作和写操作顺序。
具体实施中,对当前时刻对应的读数据地址和写数据地址访问的SRAM进行检测,得到的检测结果可以包括以下几种情况:
情况1,当前时刻对应的读数据地址和写数据地址均访问同一目标SRAM的相同地址;其中,目标SRAM为多个单口SRAM中的任一单口SRAM。
情况2,当前时刻对应的读数据地址和写数据地址访问同一目标SRAM的不同地址。
情况3,当前时刻对应的读数据地址和写数据地址访问不同SRAM,即读数据地址访问第一SRAM,写数据地址访问第二SRAM,第一SRAM和第二SRAM为多个单口SRAM中两个不同的SRAM。
(1)基于上述情况1,确定读操作和写操作顺序,具体包括:
若检测到当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的相同地址,则控制第一选择器,将待写数据存储在配置的数据存储空间中;
之后,基于信号存储空间中当前时刻对应的读数据地址和读操作指示,控制和第二选择器,从数据缓存器的数据存储空间中读取读数据地址对应的待写数据,从而得到读数据,并将得到的读数据通过配置的读数据通路上传至所述AXI总线上;其中,此时从数据存储空间中读取数据后,该数据仍然存储在数据存储空间中。
在执行完读操作后,基于信号存储空间中当前时刻对应的写数据地址和写操作指示,控制第一选择器将待写数据写入目标SRAM。
可以理解的是,上述(1)中,只要完成写操作,数据存储空间中的相应待写数据才会在数据存储空间中消失,故对于上述(1),必须先进行读操作,后进行写操作。
(2)基于上述情况2,确定读操作和写操作顺序,具体包括:
若检测到当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的不同地址,则控制第一选择器,将待写数据存储在配置的数据存储空间中;
之后,基于信号存储空间中当前时刻对应的读数据地址和读操作指示,控制第二选择器,对目标SRAM执行读操作,得到读数据,并将得到的读数据通过配置的读数据通路上传至所述AXI总线上;
在执行完读操作后,基于信号存储空间中当前时刻对应的写数据地址和写操作指示,控制第一选择器将待写数据写入目标SRAM。
需要说明的是,上述(2)中,可以根据实际需求,先进行写操作,后进行读操作,本申请实施例在此不做限定。
(3)基于上述情况3,确定读操作和写操作顺序,具体包括:
若检测到信号存储空间中当前时刻对应的读数据地址访问第一SRAM,且当前时刻对应的写数据地址访问第二SRAM,则基于当前时刻对应的读数据地址和读操作指示,对第一SRAM执行读操作,并控制第二选择器将得到的读数据通过配置的读数据通路上传至AXI总线上;
在执行读操作的同时,可基于当前时刻对应的写数据地址和写操作指示,控制第一选择器,将待写数据写入第二SRAM。
也就是说,从上述(3)的执行过程可以看出,对于读写并发的信息,可以读操作和写操作可以根据业务需要,同时进行读操作和写操作,也可以先后进行读操作和写操作。其中,同时进行读操作和写操作可实现读写效率的提升。
在一些实施例中,由于AXI总线与控制器件通过AXI协议通信连接,且AXI协议中有握手机制,控制器通过AXI总线向主机发送ready信号后,主机才会发送读写操作信息,以通过AXI总线接收该主机下发的读写操作信息,因此控制器中的逻辑控制单元可以实时对信号存储空间进行容量检测;
若检测到信号存储空间内存在空闲容量,或信号存储空间内被占用的空闲容量未达到预设容量阈值,则表明可以正常执行读写操作,即执行本申请上述控制方法;
若检测到信号存储空间内不存在空闲容量,或信号存储空间内被占用的空闲容量达到预设容量阈值,则可以向AXI总线发送暂停写操作的指示信息,以通知AXI总线停止下发读写操作信息。
可见,本申请实施例提供的基于AXI同步读写单口SRAM的控制方法通过对AXI总线下发的读写数据信息的合理控制,避免了单口SRAM只有一个读写口不能同时读写的限制,实现了对AXI读写并发功能的支持,提高了读写效率。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于AXI同步读写单口SRAM的控制方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于AXI同步读写单口SRAM的控制方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。
Claims (10)
1.一种基于AXI同步读写单口SRAM的控制方法,其特征在于,应用于分别与AXI总线和多个单口SRAM连接的控制器中,所述方法包括:
接收AXI总线在当前时刻发送的同步读写信息,所述同步读写信息包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;
将所述读数据地址、读操作指示、写数据地址和写操作指示存储在配置的信号存储空间中;
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将所述待写数据存储在配置的数据存储空间中;所述目标SRAM为所述多个单口SRAM中的任一单口SRAM;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据通过配置的读数据通路上传至所述AXI总线上;
在执行完读操作后,基于所述信号存储空间中当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述目标SRAM。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述信号存储空间中当前时刻对应的读数据地址访问第一SRAM,且当前时刻对应的写数据地址访问第二SRAM,则基于所述当前时刻对应的读数据地址和读操作指示,对所述第一SRAM执行读操作;
同时,基于所述当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述第二SRAM;
其中,所述第一SRAM和第二SRAM为所述多个单口SRAM中两个不同的SRAM。
3.如权利要求1所述的方法,其特征在于,所述控制器还包括第一选择器和第二选择器;
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则将所述待写数据存储在配置的数据存储空间中,包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中;
将得到的读数据通过配置的读数据通路上传至所述AXI总线上,包括:
控制所述第二选择器,将得到的读数据通过配置的读数据通路上传至所述AXI总线上。
4.如权利要求3所述的方法,其特征在于,检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,包括:
检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的相同地址;或者,
检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的不同地址。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的相同地址,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中,之后控制所述第二选择器,从所述数据存储空间中读取存储的所述待写数据。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM中的不同地址,则控制所述第一选择器,将所述待写数据存储在配置的数据存储空间中;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,控制所述第二选择器对所述目标SRAM执行读操作。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
实时对所述信号存储空间进行容量检测;
若检测到所述信号存储空间内不存在空闲容量,或所述信号存储空间内被占用的空闲容量达到预设容量阈值,则向所述AXI总线发送暂停写操作的指示信息。
8.如权利要求1所述的方法,其特征在于,基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,包括:
若检测到所述信号存储空间将所述当前时刻对应的读数据地址和写数据地址的地址格式分别转换为相应待访问SRAM对应的地址格式,则基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作。
9.一种基于AXI同步读写单口SRAM的控制器,其特征在于,所述控制器包括:
与AXI总线连接的数据接收器,用于接收AXI总线在当前时刻发送的同步读写信息,所述同步读写信息包括读数据地址、读操作指示、写数据地址、写操作指示和相应待写数据;
信号缓存器,用于将所述读数据地址、读操作指示、写数据地址和写操作指示存储在自身配置的信号存储空间中;
逻辑控制单元,用于若检测到所述当前时刻对应的读数据地址和写数据地址均访问目标SRAM,则向所述数据缓存器发送存储控制信息,所述存储控制信息包括所述待写数据;所述目标SRAM为至少一个单口SRAM中的任一单口SRAM;
基于所述信号存储空间中当前时刻对应的读数据地址和读操作指示,执行读操作,并将得到的读数据发送至读数据通路;在执行完读操作后,基于所述信号存储空间中当前时刻对应的写数据地址和写操作指示,将所述待写数据写入所述目标SRAM;
数据缓存器,用于接收所述逻辑控制单元发送的所述存储控制信息,并将所述待写数据存储在自身配置的数据存储空间中;
读数据通路,用于接收所述逻辑控制单元发送的所述读数据,并将所述读数据上传至所述AXI总线上。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650049.2A CN115905086A (zh) | 2022-12-21 | 2022-12-21 | 基于axi同步读写单口sram的控制方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650049.2A CN115905086A (zh) | 2022-12-21 | 2022-12-21 | 基于axi同步读写单口sram的控制方法及控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905086A true CN115905086A (zh) | 2023-04-04 |
Family
ID=86491180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211650049.2A Pending CN115905086A (zh) | 2022-12-21 | 2022-12-21 | 基于axi同步读写单口sram的控制方法及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905086A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909489A (zh) * | 2023-09-11 | 2023-10-20 | 北京紫光芯能科技有限公司 | 一种数据的管理方法、装置、电子设备及存储介质 |
CN117093157A (zh) * | 2023-10-16 | 2023-11-21 | 鸣飞伟业技术有限公司 | 一种用于单向光传输的ddr高速读写方法及系统 |
CN117312210A (zh) * | 2023-11-29 | 2023-12-29 | 沐曦集成电路(南京)有限公司 | 一种通用扩展risc-v处理器性能的方法 |
-
2022
- 2022-12-21 CN CN202211650049.2A patent/CN115905086A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909489A (zh) * | 2023-09-11 | 2023-10-20 | 北京紫光芯能科技有限公司 | 一种数据的管理方法、装置、电子设备及存储介质 |
CN116909489B (zh) * | 2023-09-11 | 2024-02-27 | 北京紫光芯能科技有限公司 | 一种数据的管理方法、装置、电子设备及存储介质 |
CN117093157A (zh) * | 2023-10-16 | 2023-11-21 | 鸣飞伟业技术有限公司 | 一种用于单向光传输的ddr高速读写方法及系统 |
CN117093157B (zh) * | 2023-10-16 | 2023-12-29 | 鸣飞伟业技术有限公司 | 一种用于单向光传输的ddr高速读写方法及系统 |
CN117312210A (zh) * | 2023-11-29 | 2023-12-29 | 沐曦集成电路(南京)有限公司 | 一种通用扩展risc-v处理器性能的方法 |
CN117312210B (zh) * | 2023-11-29 | 2024-03-12 | 沐曦集成电路(南京)有限公司 | 一种通用扩展risc-v处理器性能的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115905086A (zh) | 基于axi同步读写单口sram的控制方法及控制器 | |
CN107590099B (zh) | 一种多主机访问从机的方法、扩展装置及存储介质 | |
CN111221759B (zh) | 一种基于dma的数据处理系统及方法 | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
WO2019047834A1 (zh) | 用于传输数据处理请求的方法和装置 | |
CN113791994B (zh) | 一种基于AXI协议wrap访问的DDR控制器及处理方法 | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
CN110058816B (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
CN110858188A (zh) | 具有分布式信箱结构的多处理器系统及其沟通方法 | |
US20240037059A1 (en) | Computer Device, Virtual Acceleration Device, Data Transmission Method, and Storage Medium | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
KR20200142086A (ko) | 메모리 시스템 또는 서브 시스템의 대기 시간 표시 | |
EP3657744A1 (en) | Message processing | |
CN115374046A (zh) | 一种多处理器数据交互方法、装置、设备及存储介质 | |
CN114706531A (zh) | 数据处理方法、装置、芯片、设备及介质 | |
US20070083708A1 (en) | Controller of redundant arrays of independent disks and operation method thereof | |
CN113109778A (zh) | 一种基于中断响应机制的多体制雷达预处理实现方法 | |
CN110399219B (zh) | 内存访问方法、dmc及存储介质 | |
CN116136748B (zh) | 基于FPGA实现的高带宽NVMe SSD读写系统与方法 | |
CN117472815A (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
CN114721983B (zh) | 一种ddr4加速读写装置 | |
CN109285580B (zh) | 数据预处理装置、方法及异步双端随机存取存储器系统 | |
CN115033520A (zh) | Iic数据传输方法、装置、单片机设备及存储介质 | |
CN110888765B (zh) | 一种统计数据0和1翻转比特数的装置和方法 | |
US20140281282A1 (en) | Storage device and storage system |
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 |