CN116089343A - 一种基于axi的数据存储方法、装置、存储介质及设备 - Google Patents
一种基于axi的数据存储方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN116089343A CN116089343A CN202310180157.6A CN202310180157A CN116089343A CN 116089343 A CN116089343 A CN 116089343A CN 202310180157 A CN202310180157 A CN 202310180157A CN 116089343 A CN116089343 A CN 116089343A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- command
- axi
- spram
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种基于AXI的数据存储方法、装置、存储介质及设备,方法包括:判断读写命令接收FIFO中是否有空余的命令缓存空间;响应于有空余的命令缓存空间,向仲裁器发送命令传输请求,并由仲裁器基于命令传输请求将对应的命令信息存入读写命令接收FIFO中;通过AXI读通道转换器和AXI写通道转换器分别检查读写命令接收FIFO中是否有读命令和写命令;响应于有读命令,通过AXI读通道转换器将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并将第二读时序信息输出至SPRAM;响应于有写命令,通过AXI写通道转换器将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并将第二写时序信息输出至SPRAM。本发明在使用存储较多的芯片设计中具备面积小的优势。
Description
技术领域
本发明涉及AXI技术领域,尤其涉及一种基于AXI的数据存储方法、装置、存储介质及设备。
背景技术
随着现代芯片技术的发展,芯片集成度呈指数级别增长。对于芯片开发而言,优化PPA(性能、功耗、面积)最好的方法就是对芯片开发中使用的各种基础单元库进行精心设计。RAM(Random Access Memory,随机存取存储器)控制器作为芯片设计的基础单元,需要大量使用。因此,围绕RAM进行设计,对于改善芯片的PPA有很大意义。
SRAM(静态随机存取存储器)是一种只要在供电条件下便能够存储数据的存储器件,而且是大多数高性能系统的一个关键部分。它多年来被广泛应用于各种场合。凡是需要快速存取数据的应用,特别是在要求初始存取等待时间很短的情况下,都会考虑使用SRAM,这已经成为一个常识。
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,支持分离的读写数据通道、并支持Outstanding(发出去的地址)传输访问和乱序访问,并更加容易进行时序收敛。AXI是AMBA(Advanced MicrocontrollerBus Architecture,高级微控制器总线架构)中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。
针对上述情况,在芯片设计中,如何高效的实现数据存储和读取,变成了整个芯片性能设计关键之一。目前将AXI总线和RAM相结合的方式,正好可以满足高速芯片设计的存储需求。
目前具有AXI协议转TPRAM(Two-Port RAM,双端口存储器)协议的设计,此设计可以满足现在芯片设计的存储需求,但是由于TPRAM是双口结构,所以面积比较大,成本比较高。在好多芯片资源比较紧张的情况下,不太适用。
除了TPRAM方案,在具体工程实践中,也会用到SPRAM(Single-Port RAM,单端口存储器)实现相关功能。但SPRAM是单端口RAM,只有一组控制接口,读写操作无法同时进行。因此需要一种AXI协议转SPRAM存储的方案。
发明内容
有鉴于此,本发明的目的在于提出一种基于AXI的数据存储方法、装置、存储介质及设备,用以解决现有技术中高速芯片设计中AXI协议转TPRAM的存储方案占用芯片面积大,导致占用资源多、成本高的问题。
基于上述目的,本发明提供了一种基于AXI的数据存储方法,包括以下步骤:
判断读写命令接收FIFO中是否有空余的命令缓存空间;
响应于有空余的命令缓存空间,向仲裁器发送命令传输请求,并由仲裁器基于命令传输请求将对应的命令信息存入读写命令接收FIFO中;
通过AXI读通道转换器和AXI写通道转换器分别检查读写命令接收FIFO中是否有读命令和写命令;
响应于有读命令,通过AXI读通道转换器将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并将第二读时序信息输出至SPRAM;
响应于有写命令,通过AXI写通道转换器将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并将第二写时序信息输出至SPRAM。
在一些实施例中,方法还包括:
由SPRAM根据第二读时序信息将读命令对应的读数据输出至读数据缓存FIFO中,并由读数据缓存FIFO将读数据发送至AXI总线。
在一些实施例中,方法还包括:
根据第二写时序信息将写命令对应的写数据写入SPRAM。
在一些实施例中,判断读写命令接收FIFO中是否有空余的命令缓存空间包括:
通过读命令计数器统计读写命令接收FIFO中缓存的读命令的第一数量,并判断第一数量是否超过第一预设阈值;
响应于第一数量未超过第一预设阈值,确定读写命令接收FIFO中有空余的读命令缓存空间;
通过写命令计数器统计读写命令接收FIFO中缓存的写命令的第二数量,并判断第二数量是否超过第二预设阈值;
响应于第二数量未超过第二预设阈值,确定读写命令接收FIFO中有空余的写命令缓存空间。
在一些实施例中,方法还包括:
响应于第一数量超过第一预设阈值,由读命令计数器产生读命令空间满信号,以使仲裁器拒绝接收读命令传输请求;
响应于第二数量超过第二预设阈值,由写命令计数器产生写命令空间满信号,以使仲裁器拒绝接收写命令传输请求。
在一些实施例中,将第二读时序信息输出至SPRAM包括:
将第二读时序信息经过D触发器寄存一拍后输出至SPRAM;
在一些实施例中,将第二写时序信息输出至SPRAM包括:
将第二写时序信息经过D触发器寄存一拍后输出至SPRAM。
在一些实施例中,AXI读通道转换器和AXI写通道转换器的内部分别含有状态机。
本发明的另一方面,还提供了一种基于AXI的数据存储装置,包括:
AXI转SPRAM接口控制器,包括:
命令计数器,配置用于判断读写命令接收FIFO中是否有空余的命令缓存空间,并响应于有空余的命令缓存空间,发出命令传输请求;
仲裁器,配置用于接收命令传输请求并获取对应的命令信息;
读写命令接收FIFO,配置用于存储命令信息;
AXI读通道转换器,配置用于检查读写命令接收FIFO中是否有读命令,并响应于有读命令,将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并输出第二读时序信息;以及
AXI写通道转换器,配置用于检查读写命令接收FIFO中是否有写命令,并响应于有写命令,将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并输出第二写时序信息;
SPRAM,配置用于接收第二读时序信息和第二写时序信息。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明的基于AXI的数据存储方法,实现了基于SPRAM的AXI接口存储,在时序、性能方面与传统的基于TPRAM的AXI接口存储器相近,能有效替代传统的基于TPRAM的AXI接口存储器的功能,用户可无感切换;在SPRAM比TPRAM面积小很多的情况下,本发明在使用存储较多的芯片设计中具备面积小的优势,降低了芯片功耗及成本,并且性能和工作频率更高,具有更强的通用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的基于AXI的数据存储方法的示意图;
图2为根据本发明实施例提供的AXI接口协议转SPRAM协议的结构示意图;
图3为根据本发明实施例提供的基于AXI的数据存储装置的结构示意图;
图4为根据本发明实施例提供的写数据通道协议转换工作数据流程图;
图5为根据本发明实施例提供的读数据通道协议转换工作数据流程图;
图6为根据本发明实施例提供的2个连续的OUTSTANDING写命令的时序结构示意图;
图7为根据本发明实施例提供的2个连续的OUTSTANDING读命令的时序结构示意图;
图8为根据本发明实施例提供的基于AXI的数据存储装置的示意图;
图9为根据本发明实施例提供的实现基于AXI的数据存储方法的计算机可读存储介质的示意图;
图10为根据本发明实施例提供的执行基于AXI的数据存储方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种基于AXI的数据存储方法的实施例。图1示出的是本发明提供的基于AXI的数据存储方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、判断读写命令接收FIFO中是否有空余的命令缓存空间;
步骤S20、响应于有空余的命令缓存空间,向仲裁器发送命令传输请求,并由仲裁器基于命令传输请求将对应的命令信息存入读写命令接收FIFO中;
步骤S30、通过AXI读通道转换器和AXI写通道转换器分别检查读写命令接收FIFO中是否有读命令和写命令;
步骤S40、响应于有读命令,通过AXI读通道转换器将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并将第二读时序信息输出至SPRAM;
步骤S50、响应于有写命令,通过AXI写通道转换器将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并将第二写时序信息输出至SPRAM。
本发明实施例的基于AXI的数据存储方法,实现了基于SPRAM的AXI接口存储,在时序、性能方面与传统的基于TPRAM的AXI接口存储器相近,能有效替代传统的基于TPRAM的AXI接口存储器的功能,用户可无感切换;在SPRAM比TPRAM面积小很多的情况下,本发明实施例在使用存储较多的芯片设计中具备面积小的优势,降低了芯片功耗及成本,并且性能和工作频率更高,具有更强的通用性。
在一些实施例中,方法还包括:由SPRAM根据第二读时序信息将读命令对应的读数据输出至读数据缓存FIFO中,并由读数据缓存FIFO将读数据发送至AXI总线。
在一些实施例中,方法还包括:根据第二写时序信息将写命令对应的写数据写入SPRAM。
在一些实施例中,判断读写命令接收FIFO中是否有空余的命令缓存空间包括:通过读命令计数器统计读写命令接收FIFO中缓存的读命令的第一数量,并判断第一数量是否超过第一预设阈值;响应于第一数量未超过第一预设阈值,确定读写命令接收FIFO中有空余的读命令缓存空间;通过写命令计数器统计读写命令接收FIFO中缓存的写命令的第二数量,并判断第二数量是否超过第二预设阈值;响应于第二数量未超过第二预设阈值,确定读写命令接收FIFO中有空余的写命令缓存空间。
在一些实施例中,方法还包括:响应于第一数量超过第一预设阈值,由读命令计数器产生读命令空间满信号,以使仲裁器拒绝接收读命令传输请求;响应于第二数量超过第二预设阈值,由写命令计数器产生写命令空间满信号,以使仲裁器拒绝接收写命令传输请求。
在一些实施例中,将第二读时序信息输出至SPRAM包括:将第二读时序信息经过D触发器寄存一拍后输出至SPRAM;
在一些实施例中,将第二写时序信息输出至SPRAM包括:将第二写时序信息经过D触发器寄存一拍后输出至SPRAM。
在一些实施例中,AXI读通道转换器和AXI写通道转换器的内部分别含有状态机。
本发明实施例的基于AXI(Advanced eXtensible Interface,一种面向高性能、高带宽、低延迟的片内总线协议)的数据存储方法,适用于对面积比较敏感的芯片设计。由于SPRAM(Single-Port RAM,单端口存储器)的面积远小于TPRAM(Two-Port RAM,双端口存储器)的面积,因此通过用SPRAM替换TPRAM的AXI协议转换RAM协议存储,可以在保证性能的前提下,缩减芯片面积,降低芯片成本。
由于TPRAM的读、写端口相互独立,而SPRAM只有一套控制端。因此在设计过程中需要考虑将AXI相互独立的读写通道合并成一个通道驱动SPRAM。这样做虽然会降低一点儿总线的性能,但会极大地减少芯片面积。在某些对性能敏感度低,对面积和价格敏感度高的应用场景中,具有很大的市场。
图2为根据本发明实施例提供的AXI接口协议转SPRAM协议的结构示意图。图3为根据本发明实施例提供的基于AXI的数据存储装置的结构示意图。基于图2和上述情况,本发明实施例设计了图3所示的存储装置。
如图3所示,基于AXI的数据存储装置包括读命令计数器模块、写命令计数器模块、轮询调度仲裁(RR ARBITER,Round-Robin arbiter)器模块、读写命令接收FIFO(First InFirst Out,先进先出存储器,是一种缓存机制,第一个写入FIFO的数据会被第一个被读出)模块、AXI读通道转换模块、AXI写通道转换模块、读数据缓存FIFO模块和SPRAM存储模块组成。各个模块的功能介绍如下:
读命令计数器模块:统计FIFO中接收的AXI读命令的个数,本实施例假设可支持16个读AXI的OUTSTANDING(表示发出去的地址数量,未处理的地址可以先存放在AXI总线的缓存里,等完成一次传输事物之后,无需再握手传输地址,即可立即进行下一次的数据传输)传输,当FIFO中接收的AXI读命令个数超过16个时,此时计数器会产生命令空间满信号,从而阻挡仲裁器对AXI读命令的接收(此时不影响写命令的解析)。
写命令计数器模块:统计FIFO中接收的AXI写命令的个数,本实施例假设可支持16个写AXI的OUTSTANDING传输,当FIFO中接收的AXI写命令个数超过16个时,此时计数器会产生命令空间满信号,从而阻挡仲裁器对AXI写命令的接收(此时不影响读命令的解析)。
轮询调度仲裁器模块:用Round-Robin(轮询调度)的仲裁方法,对AXI独立的读通道和写通道进行仲裁,将仲裁得到的命令存入读写命令接收FIFO中。当读命令空间满时,会屏蔽读仲裁口的有效命令请求,并且反压AXI读命令通道。当写命令空间满时,会屏蔽写仲裁口的有效命令请求,并且反压AXI写命令通道。
读写命令接收FIFO模块:此模块的主要功能是缓存AXI的读命令及其随路信息和写命令及其随路信息。假设最多缓存16个读命令和16个写命令,总共可以缓存32个命令。
AXI读通道转换器:此模块主要功能是检查读写命令接收FIFO模块是否有读命令信息,如果有则启动AXI读通道转换器,通过内部的状态机,将AXI读通道侧的行为转换为SPRAM侧的行为。需要注意的是为了适应更高的频率场景,转换后的信号需要用D触发器寄存一拍再输入到SPRAM模块,从SPRAM读出来的数据需要经过FIFO模块,再输出给外部。
AXI写通道转换器:此模块主要功能是检查读写命令接收FIFO模块是否有写命令信息,如果有则启动AXI写通道转换器,通过内部的状态机,将AXI写通道侧的行为转换为SPRAM侧的行为。需要注意的是为了适应更高的频率场景,转换后的信号需要用D触发器寄存一拍再输入到SPRAM模块,包括写使能信号和写数据信号。
读数据缓存FIFO:此模块主要是提前将SPRAM读通道读取出来的数据缓存,再输出给外部。其主要有三功能,功能1:在AXI一个传输burst内可以实现不间断的连续传输,无气泡产生;功能2:在AXI burst和burst之间可以实现不间断的连续传输,无气泡产生。功能3:增加FIFO缓存功能,相当于用寄存器将信号缓存了一拍,这有利于整硬件装置在整个SOC(片上系统)的时序收敛。
SPRAM:该RAM(Random Access Memory,随机存取存储器)只有一套读写线,读写时分复用,读的时候不能写,写的时候不能读,是数据的存储模块。
图4为根据本发明实施例提供的写数据通道协议转换工作数据流程图。图5为根据本发明实施例提供的读数据通道协议转换工作数据流程图。图4和图5描述了是整个硬件存储装置(基于AXI的数据存储装置)的运行过程。图4描述的是AXI读通道是如何转换一步一步的转换成SPRAM的接口信号。图5描述的是AXI写通道是如何转换一步一步的转换成SPRAM的接口信号。
了解完整个装置的工作流程之后,下面我们从数据时序的角度进一步了解整个装置的机制。
图6为根据本发明实施例提供的2个连续的OUTSTANDING写命令的时序结构示意图。如图6所示,每一个写命令都会连续写入三个数据(A0、A1、A2,B0、B1、B2)。AXI MASTER是一高速接口,主要功能是接收和发送数据。CMD FIFO(读写命令接收FIFO)是缓存AXI读写命令及其随路信息的模块。SPRAM是一个数据存储模块。以下将详细说明上述过程:
1.AXI MASTER发起写数据A请求,将写地址A发送给CMD FIFO模块。
2.地址A及其随路信息通过仲裁器模块仲裁缓存入CMD FIFO内部。
3.从CMD FIFO中读取写数据的起始地址A,并计算后续地址值,将这些地址依次送给SPRAM模块。同时AXI MASTER发起写数据B请求。
4.通知AXI MASTER SPRAM侧已经准备好数据接收,同时地址B及其随路信息通过仲裁器模块仲裁缓存入CMD FIFO内部。
5.AXI MASTER将数据B0-B2依次写入SPRAM。
6.当最后一个A2数据写入SPRAM完成之后,向AXI MASTER返回写完成响应。
7.检查到CMD FIFO中还有B数据写入的指令,从CMD FIFO中读取写数据的起始地址B,并计算后续地址值,将这些地址依次送给SPRAM模块。
8.通知AXI MASTER SPRAM侧已经准备好数据接收,同时地址B及其随路信息通过仲裁器模块仲裁缓存入CMD FIFO内部。
9.AXI MASTER将数据B0-B2依次写入SPRAM。
10.当最后一个B2数据写入SPRAM完成之后,向AXI MASTER返回写完成响应。
图7为根据本发明实施例提供的2个连续的OUTSTANDING读命令的时序结构示意图。AXI MASTER是一高速接口,主要功能是接收和发送数据。CMD FIFO是缓存AXI读写命令及其随路信息的模块。SPRAM是一个数据存储模块。RDATA_FIFO(读数据缓存FIFO)是一个缓存读数据的模块。以下将详细说明上述过程:
1.AXI MASTER发起读数据A请求,将读地址A发送给CMD FIFO模块。
2.地址A及其随路信息通过仲裁器模块仲裁缓存入CMD FIFO内部。
3.从CMD FIFO中读取读数据的起始地址A,并计算后续地址值,将这些地址依次送给SPRAM模块。同时AXI MASTER发起读数据B请求。
4.根据地址信息,数据依次从SPRAM读取出来,并送入RDATA_FIFO缓存。同时地址B及其随路信息通过仲裁器模块仲裁缓存入CMD FIFO内部。
5.检测到AXI MASTER可以接收数据时,将数据送给AXI MASTER。
6.从CMD FIFO中读取读数据的起始地址B,并计算后续地址值,将这些地址依次送给SPRAM模块。同时AXI MASTER发起读数据B请求。
7.根据地址信息,数据依次从SPRAM读取出来,并送入RDATA_FIFO缓存。
8.检测到AXI MASTER可以接收数据时,将数据送给AXI MASTER。
本发明的基于AXI的数据存储方法的实施例支持读写使能连续、突发读写、回环读写,对于连续的突发命令、错误上报等功能,其吞吐率接近99%,性能很高。针对存储器在整个芯片内部走线长、应用广和驱动多,导致时序难收敛的问题,利用FIFO和D触发器,在整个发明实施例的接口处,进行了修整信号和消除亚稳态处理,使系统时序非常好收敛,因此可以在更高频率下工作,并且提高了系统稳定性和应用广度。基于AXI的数据存储装置可以实现在AXI一个传输burst内实现不间断的连续传输,无气泡产生;在AXI burst和burst之间可以实现不间断的连续传输,无气泡产生,有较好的性能。
本发明实施例的第二个方面,还提供了一种基于AXI的数据存储装置。图8示出的是本发明提供的基于AXI的数据存储装置的实施例的示意图。如图8所示,一种基于AXI的数据存储装置包括AXI转SPRAM接口控制器10和SPRAM 20;AXI转SPRAM接口控制器10包括:命令计数器101,配置用于判断读写命令接收FIFO中是否有空余的命令缓存空间,并响应于有空余的命令缓存空间,发出命令传输请求;仲裁器102,配置用于接收命令传输请求并获取对应的命令信息;读写命令接收FIFO 103,配置用于存储命令信息;AXI读通道转换器104,配置用于检查读写命令接收FIFO中是否有读命令,并响应于有读命令,将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并输出第二读时序信息;以及AXI写通道转换器105,配置用于检查读写命令接收FIFO中是否有写命令,并响应于有写命令,将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并输出第二写时序信息;SPRAM 20配置用于接收第二读时序信息和第二写时序信息。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图9示出了根据本发明实施例提供的实现基于AXI的数据存储方法的计算机可读存储介质的示意图。如图9所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的基于AXI的数据存储方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的基于AXI的数据存储装置和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图10所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图10所示,为本发明提供的执行基于AXI的数据存储方法的计算机设备的一个实施例的硬件结构示意图。以如图10所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图10中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与基于AXI的数据存储装置的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于AXI的数据存储方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储基于AXI的数据存储方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于AXI的数据存储方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于AXI的数据存储方法,其特征在于,包括以下步骤:
判断读写命令接收FIFO中是否有空余的命令缓存空间;
响应于有空余的命令缓存空间,向仲裁器发送命令传输请求,并由所述仲裁器基于所述命令传输请求将对应的命令信息存入所述读写命令接收FIFO中;
通过AXI读通道转换器和AXI写通道转换器分别检查所述读写命令接收FIFO中是否有读命令和写命令;
响应于有所述读命令,通过所述AXI读通道转换器将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并将所述第二读时序信息输出至所述SPRAM;
响应于有所述写命令,通过所述AXI写通道转换器将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并将所述第二写时序信息输出至所述SPRAM。
2.根据权利要求1所述的方法,其特征在于,还包括:
由所述SPRAM根据所述第二读时序信息将所述读命令对应的读数据输出至读数据缓存FIFO中,并由所述读数据缓存FIFO将所述读数据发送至AXI总线。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据所述第二写时序信息将所述写命令对应的写数据写入所述SPRAM。
4.根据权利要求1所述的方法,其特征在于,判断读写命令接收FIFO中是否有空余的命令缓存空间包括:
通过读命令计数器统计所述读写命令接收FIFO中缓存的读命令的第一数量,并判断所述第一数量是否超过第一预设阈值;
响应于所述第一数量未超过所述第一预设阈值,确定所述读写命令接收FIFO中有空余的读命令缓存空间;
通过写命令计数器统计所述读写命令接收FIFO中缓存的写命令的第二数量,并判断所述第二数量是否超过第二预设阈值;
响应于所述第二数量未超过所述第二预设阈值,确定所述读写命令接收FIFO中有空余的写命令缓存空间。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于所述第一数量超过所述第一预设阈值,由所述读命令计数器产生读命令空间满信号,以使所述仲裁器拒绝接收读命令传输请求;
响应于所述第二数量超过所述第二预设阈值,由所述写命令计数器产生写命令空间满信号,以使所述仲裁器拒绝接收写命令传输请求。
6.根据权利要求1所述的方法,其特征在于,将所述第二读时序信息输出至所述SPRAM包括:
将所述第二读时序信息经过D触发器寄存一拍后输出至所述SPRAM;
将所述第二写时序信息输出至所述SPRAM包括:
将所述第二写时序信息经过所述D触发器寄存一拍后输出至所述SPRAM。
7.根据权利要求1所述的方法,其特征在于,所述AXI读通道转换器和所述AXI写通道转换器的内部分别含有状态机。
8.一种基于AXI的数据存储装置,其特征在于,包括:
AXI转SPRAM接口控制器,包括:
命令计数器,配置用于判断读写命令接收FIFO中是否有空余的命令缓存空间,并响应于有空余的命令缓存空间,发出命令传输请求;
仲裁器,配置用于接收所述命令传输请求并获取对应的命令信息;
读写命令接收FIFO,配置用于存储所述命令信息;
AXI读通道转换器,配置用于检查所述读写命令接收FIFO中是否有读命令,并响应于有所述读命令,将AXI的第一读时序信息转换为SPRAM的第二读时序信息,并输出所述第二读时序信息;以及
AXI写通道转换器,配置用于检查所述读写命令接收FIFO中是否有写命令,并响应于有所述写命令,将AXI的第一写时序信息转换为SPRAM的第二写时序信息,并输出所述第二写时序信息;
SPRAM,配置用于接收所述第二读时序信息和所述第二写时序信息。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310180157.6A CN116089343A (zh) | 2023-02-24 | 2023-02-24 | 一种基于axi的数据存储方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310180157.6A CN116089343A (zh) | 2023-02-24 | 2023-02-24 | 一种基于axi的数据存储方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089343A true CN116089343A (zh) | 2023-05-09 |
Family
ID=86204523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310180157.6A Pending CN116089343A (zh) | 2023-02-24 | 2023-02-24 | 一种基于axi的数据存储方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089343A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662233A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | Ahb接口设备写传输方法、装置、电子设备及可读存储介质 |
CN116881065A (zh) * | 2023-09-07 | 2023-10-13 | 湖北芯擎科技有限公司 | 总线传输延时检测模块、电路及方法 |
CN117171070A (zh) * | 2023-11-03 | 2023-12-05 | 太初(无锡)电子科技有限公司 | 一种基于axi接口的交叉存取系统 |
-
2023
- 2023-02-24 CN CN202310180157.6A patent/CN116089343A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662233A (zh) * | 2023-05-24 | 2023-08-29 | 珠海妙存科技有限公司 | Ahb接口设备写传输方法、装置、电子设备及可读存储介质 |
CN116662233B (zh) * | 2023-05-24 | 2024-02-23 | 珠海妙存科技有限公司 | Ahb接口设备写传输方法、装置、电子设备及可读存储介质 |
CN116881065A (zh) * | 2023-09-07 | 2023-10-13 | 湖北芯擎科技有限公司 | 总线传输延时检测模块、电路及方法 |
CN116881065B (zh) * | 2023-09-07 | 2023-12-15 | 湖北芯擎科技有限公司 | 总线传输延时检测模块、电路及方法 |
CN117171070A (zh) * | 2023-11-03 | 2023-12-05 | 太初(无锡)电子科技有限公司 | 一种基于axi接口的交叉存取系统 |
CN117171070B (zh) * | 2023-11-03 | 2024-03-26 | 太初(无锡)电子科技有限公司 | 一种基于axi接口的交叉存取系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN111367495B (zh) | 一种异步先入先出的数据缓存控制器 | |
CN110213143B (zh) | 一种1553b总线ip核及监视系统 | |
CN112035389B (zh) | 一种plb-axi总线转换桥及其工作方法 | |
CN111400205B (zh) | 一种先进先出地址轮询缓存读写方法、系统及装置 | |
US8041856B2 (en) | Skip based control logic for first in first out buffer | |
CN109800193B (zh) | 一种ahb总线访问片上sram的桥接装置 | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
CN103077147A (zh) | 一种基于链表的全功能1553b总线ip核 | |
US8312331B2 (en) | Memory testing with snoop capabilities in a data processing system | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
CN108667628B (zh) | 一种接口转换装置和接口转换方法 | |
JP4097883B2 (ja) | データ転送装置および方法 | |
CN115687012A (zh) | 一种总线监测模块、监测方法和相关设备 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
CN207835492U (zh) | 一种双缓存载波解调系统 | |
CN114641764A (zh) | 总线系统及操作总线系统的方法 | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
CN112241390B (zh) | 主机互连装置及其方法 | |
CN116680088B (zh) | 一种针对多寄存器存储的多模块同时访问系统及访问方法 | |
US6345332B1 (en) | Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions | |
JP6869823B2 (ja) | 演算装置 | |
CN115913816A (zh) | 一种主从设备间通讯的通讯转换装置及方法 | |
CN118069570A (zh) | 一种门铃式芯片访问系统、装置和方法 | |
CN115934609A (zh) | 一种opb总线到apb总线桥的设计方法 |
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 |