CN116893991B - 一种axi协议下的存储模块转换接口及其转换方法 - Google Patents
一种axi协议下的存储模块转换接口及其转换方法 Download PDFInfo
- Publication number
- CN116893991B CN116893991B CN202311159412.5A CN202311159412A CN116893991B CN 116893991 B CN116893991 B CN 116893991B CN 202311159412 A CN202311159412 A CN 202311159412A CN 116893991 B CN116893991 B CN 116893991B
- Authority
- CN
- China
- Prior art keywords
- write
- read
- data
- module
- address
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 108
- 238000012546 transfer Methods 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 41
- 230000008569 process Effects 0.000 abstract description 8
- 238000004088 simulation Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种AXI协议下的存储模块转换接口及其转换方法。存储模块转换接口包括控制模块;控制模块用于:在存储模块转换接口在空闲状态下,在检测到主机发出有效的写请求时,记录写传输属性;为每个写数据分配一个位使能信号;根据写传输属性,获取写数据在存储模块中的对应地址;以及控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址;其中,位使能信号和写入存储模块的地址与写数据一一对应。本发明能够完成从AXI协议访问到存储模块接口访问的转换过程,支持挂载单端口存储器,对仿真时间、综合时间、资源开销和功耗都非常友好。
Description
技术领域
本发明属于数据处理技术领域,更具体地,涉及一种AXI协议下的存储模块转换接口及其转换方法。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线,目前在SoC模块互联中被广泛应用。AXI总共有五个通道,分别为写地址通道(Write Address Channel,AW Channel)、写数据通道(Write DataChannel,W Channel)、写响应通道 (Write Response Channel,B Channel)、读地址通道(Read Address Channel,AR Channel)和读响应通道(Read Response Channel,RChannel)。
AXI总线的ID在AXI总线传输当中起到了标记传输序号的作用,读地址通道与读响应通道之间、以及写地址通道与写响应通道之间均依靠ID进行标识和匹配。AXI传输的发起者(即主机,Master)会有一个Master侧的ID,AXI传输的接收者(即从机,Slave)会有一个Slave侧的ID,具体传输的ID由Master侧决定。Master以及Slave一般都是一些具体的IP,常见的AXI的Slave连接的都是一些存储类的组件,用于进行数据的存储或者缓存。
AXI协议是一个相对复杂的传输协议,现有技术方案下,AXI协议下的存储模块转换接口都比较复杂,功耗、面积等开销都较大,例如需要独立的读命令队列、独立的写命令队列、QoS(Quality of Service)仲裁器、读数据队列缓存FIFO、写数据队列缓存FIFO等等。然而,在一些低功耗的系统以及一些有面积控制需求的系统中,往往并不需要太高的访问性能,此外,如果是进行AXI协议的联通性仿真,通常会使用AXI VIP(Verification IP),在这些VIP当中,组件、功能众多,对仿真的时间非常不友好。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种AXI协议下的存储模块转换接口及其转换方法,能够非常简单地实现从AXI协议访问到存储模块接口访问的转换过程,并且支持挂载单端口存储器(Single Port Memory)这种最简单的存储器类型,实现数据存储的功能,此外,这种接口还能作为仿真模型使用,对比AXI VIP,可以极大地减少AXI联通性验证的运行时间。
为实现上述目的,按照本发明的一个方面,提供了一种AXI协议下的存储模块转换接口,包括控制模块;控制模块用于:在存储模块转换接口在空闲状态下,在检测到主机发出有效的写请求时,记录写传输属性;为每个写数据分配一个位使能信号;根据写传输属性,获取写数据在存储模块中的对应地址;以及控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址;其中,位使能信号和写入存储模块的地址与写数据一一对应。
在一些实施方式中,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型;其中,写传输类型为递增模式、回环模式或者固定模式;在写传输类型为递增模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增;在写传输类型为回环模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在写传输类型为固定模式时,写数据在存储模块中的对应地址始终为写传输初始地址。
在一些实施方式中,上述存储模块转换接口还包括第一计数模块;在写传输类型为递增模式或回环模式时,第一计数模块用于生成与写数据对应的计数值,控制模块用于利用第一计数模块生成的计数值,在写传输初始地址的基础上得到写数据在存储模块中的对应地址。
在一些实施方式中,在写数据全部写入至存储模块的对应地址后,存储模块转换接口进入写完成状态;写传输属性包括写地址通道标志信号AWID,在写完成状态下,控制模块使得写响应通道标志信号BID等于写地址通道标志信号AWID,并保持写响应通道标志信号BID的状态;控制模块还用于控制存储模块转换接口从写完成状态回到空闲状态,在空闲状态下,将写响应通道标志信号BID置0。
在一些实施方式中,控制模块还用于:在存储模块转换接口在空闲状态下,在检测到主机发出的有效的读请求时,记录读传输属性;根据读传输属性,获取从存储模块读出的数据地址,将存储模块的对应地址的数据读出。
在一些实施方式中,读传输属性包括读传输初始地址、读传输数据量大小和读传输类型;其中,读传输类型为递增模式、回环模式或者固定模式;在读传输类型为递增模式时,从存储模块读出的数据地址在读传输初始地址的基础上递增;在读传输类型为回环模式时,从存储模块读出的数据地址在读传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在读传输类型为固定模式时,从存储模块读出的数据地址始终为读传输初始地址。
在一些实施方式中,上述存储模块转换接口还包括缓存模块;控制模块用于将读出的数据放入缓存模块进行缓存,以及将缓存模块中缓存的数据按序输出至AXI总线。
在一些实施方式中,上述存储模块转换接口还包括第二计数模块;第二计数模块用于对从存储模块中读出的数据的数量进行计数;控制模块还用于:在第二计数模块的计数值没有达到需要取出的数据的数量、且缓存模块没有满载时,从存储模块中读出数据,并将读出的数据放入缓存模块;以及在第二计数模块的计数值达到需要取出的数据数量、且缓存模块中的数据数量为1时,拉高读事务结束标志信号RLAST,在主机发出的读响应通道预备信号RREADY为高时,将缓存模块中的最后一个数据输出至AXI总线,控制存储模块转换接口进入读完成状态。
在一些实施方式中,读传输属性包括读地址通道标志信号ARID,在读完成状态下,控制模块使得读响应通道标志信号RID等于读地址通道标志信号ARID,并保持读响应通道标志信号RID的状态;控制模块还用于控制存储模块转换接口从读完成状态回到空闲状态,在空闲状态下,将读响应通道标志信号RID置0。
根据本发明的另一方面,提供了一种片上系统,包括主机、AXI总线、存储模块以及上述存储模块转换接口。
根据本发明的又一方面,提供了一种从AXI协议访问到存储模块接口访问的转换方法,包括:
在检测到主机发出有效的写请求时,记录写传输属性;
为每个写数据分配一个位使能信号;
根据写传输属性,获取写数据在存储模块中的对应地址;
控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址;其中,位使能信号和写入存储模块的地址与写数据一一对应。
在一些实施方式中,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型;其中,写传输类型为递增模式、回环模式或者固定模式;在写传输类型为递增模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增;在写传输类型为回环模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在写传输类型为固定模式时,写数据在存储模块中的对应地址始终为写传输初始地址。
在一些实施方式中,上述转换方法还包括:
在检测到主机发出的有效的读请求时,记录读传输属性;
根据读传输属性,获取从存储模块读出的数据地址;
将存储模块的对应地址的数据读出;
将读出的数据放入缓存模块进行缓存;
将缓存模块中缓存的数据按序输出至AXI总线。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:对读写过程进行分开控制,在写入数据时,为每个写数据分配一个位使能信号,位使能信号和写入存储模块的地址与写数据一一对应,因此,不需要队列缓存FIFO,即可将写数据通道上传输的数据直接写入到存储模块中;在读出数据时,充分考虑主机发出的读响应通道预备信号RREADY有可能拉低,进行反压,且地址计算、地址跳转以及存储模块根据计算的地址进行数据输出均需要消耗时钟周期等因素,将从存储模块中读出的数据放入队列进行缓存,避免出错。本发明能够完成从AXI协议访问到存储模块接口访问的转换过程,支持挂载单端口存储器,对仿真时间、综合时间、资源开销和功耗都非常友好。
附图说明
图1是本发明实施例的AXI协议下的存储模块转换接口的结构示意图;
图2是本发明实施例的AXI协议下的存储模块转换接口的状态转移示意图;
图3是本发明实施例的从AXI协议访问到存储模块接口访问的转换方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。正如本领域技术人员可以认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在AXI协议中,各通道信号均存在握手信号对:有效信号VALID以及预备信号READY。当VALID以及READY均为高电平时,标识握手有效,如果VALID没有等到对应的READY,VALID应该继续保持高电平状态。一次传输的数据包的大小信息(AXI LEN)通过写地址通道(AW通道)以及读地址通道(AR通道)进行标记。
如图1所示,本发明实施例的AXI协议下的存储模块转换接口包括控制模块、第一计数模块、第二计数模块和缓存模块。通过控制模块,使存储模块转换接口按照图2所示的方式在不同状态之间转移。存储模块转换接口设置在AXI总线和存储模块之间。
如图2所示,通过控制模块将存储模块转换接口进行复位,使存储模块转换接口处于空闲状态,此时,写地址通道预备信号AWREADY和读地址通道预备信号ARREADY均为低。主机发出的写地址通道有效信号AWVALID经AXI总线到达存储模块转换接口,控制模块在检测到写地址通道有效信号AWVALID为高时,标志有效的写请求到来,条件1满足,控制模块控制存储模块转换接口从空闲状态跳转至写活跃状态,并在下一周期拉高写地址通道预备信号AWREADY,写地址通道握手成功,控制模块将写传输属性记录下来。其中,条件一为:写地址通道预备信号AWREADY为低,写地址通道有效信号AWVALID为高。
存储模块转换接口进入写活跃状态后,写数据通道预备信号WREADY为低,控制模块在检测到主机发出的写数据通道有效信号WVALID为高时,在下一周期拉高写数据通道预备信号WREADY,表示存储模块转换接口能够接收主机发出的数据。在写数据传输结束(即写数据全部写入至存储模块的对应地址)时,主机拉高写事务结束标志信号WLAST,表示写事务结束,条件2满足,控制模块控制存储模块转换接口从写活跃状态跳转至写完成状态。其中,条件2为:写数据通道有效信号WVALID为高,写数据通道预备信号WREADY为高,写事务结束标志信号WLAST为高。
在一些实施方式中,在写活跃状态下,控制模块将写数据写入到存储模块中。在一些实施方式中,控制模块根据在空闲状态下获得的写传输属性,为每个写数据分配一个位使能信号,根据写传输属性,获取写数据在存储模块中的对应地址,以及控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址,即,位使能信号和写入存储模块的地址与写数据一一对应。
在一些实施方式中,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型。其中,写传输类型为递增模式、回环模式或者固定模式。在递增模式下,写入到存储模块的地址(即写数据在存储模块中的对应地址)在写传输初始地址的基础上递增;在回环模式下,写入到存储模块的地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在固定模式下,写入到存储模块的地址始终为写传输初始地址。
在一些实施方式中,在递增模式或回环模式下,第一计数模块用于生成与写数据对应的计数值,控制模块利用第一计数模块生成的计数值,在写传输初始地址的基础上得到写数据在存储模块中的对应地址。
具体地,写数据对应的位使能信号为预设电平(例如高电平)时,将该写数据写入至存储模块的对应地址。具体地,在递增模式下,第一计数模块的初始计数值为0,利用第一计数模块进行计数,第一个写数据写入存储模块的地址为写传输初始地址,第二个写数据写入存储模块的地址为写传输初始地址加第一计数模块的计数值1,依此类推,第N个写数据写入存储模块的地址为写传输初始地址加第一计数模块的计数值N-1。
在回环模式下,第一计数模块的初始计数值为0,利用第一计数模块进行计数,第一个写数据写入存储模块的地址为写传输初始地址,第二个写数据写入存储模块的地址为写传输初始地址加第一计数模块的计数值1,依此类推,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,将递增后的地址减去回环大小,作为新的写传输初始地址,并将第一计数模块的计数值清零;再按照同样的方式,继续将后续写数据写入存储模块。
控制模块利用第一计数模块,控制将写数据写入到存储模块的地址,并为每个写数据分配一个位使能信号,位使能信号和写入存储模块的地址与写数据一一对应,因此,不需要队列缓存FIFO,即可将写数据通道上传输的数据直接写入到存储模块中。
在一些实施方式中,存储模块为单端口存储器。
在写完成状态下,控制模块在下一周期拉高写响应通道有效信号BVALID,在主机发出的写响应通道预备信号BREADY拉高(写响应通道预备信号BREADY也有可能一直拉高)时,条件3满足,控制模块控制存储模块转换接口从写完成状态跳转到空闲状态,并在下一周期拉低写响应通道有效信号BVALID。其中,条件3为写响应通道有效信号BVALID为高,写响应通道预备信号BREADY为高。
在一些实施方式中,写传输属性还包括写地址通道标志信号AWID,在写完成状态下,控制模块在下一周期使得写响应通道标志信号BID等于写地址通道标志信号AWID,并保持写响应通道标志信号BID的状态。控制模块控制存储模块转换接口回到空闲状态后,在下一周期将写响应通道标志信号BID置0。
在存储模块转换接口不处于空闲状态时,如果有写请求或者读请求传输至存储模块转换接口,写地址通道预备信号AWREADY和读地址通道预备信号ARREADY会一直保持拉低,因此不会产生读写冲突,也不会出现未完成的读写操作被覆盖的问题。
在空闲状态下,写地址通道预备信号AWREADY和读地址通道预备信号ARREADY均为低。控制模块在检测到主机发出的读地址通道有效信号ARVALID为高时,标志有效的读请求到来,条件4满足,控制模块控制存储模块转换接口从空闲状态跳转至读活跃状态,并在下一周期拉高读地址通道预备信号ARREADY,读地址通道握手成功,控制模块将读传输属性记录下来。其中,条件4为读地址通道预备信号ARREADY为低,读地址通道有效信号ARVALID为高。
在读活跃状态下,控制模块从存储模块中读出数据。在一些实施方式中,控制模块根据在空闲状态下获得的读传输属性,获取从存储模块读出的数据地址,将存储模块的对应地址的数据读出。
在一些实施方式中,读传输属性包括读传输初始地址、读传输数据量大小和读传输类型。其中,与写传输类型类似地,读传输类型为递增模式、回环模式或者固定模式。在递增模式下,从存储模块读出的数据地址在读传输初始地址的基础上递增;在回环模式下,从存储模块读出的数据地址在读传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在固定模式下,从存储模块读出的数据地址始终为读传输初始地址。
在一些实施方式中,在递增模式或回环模式下,第一计数模块用于生成与读数据对应的计数值,控制模块利用第一计数模块生成的计数值,在读传输初始地址的基础上得到从存储模块读出的数据地址。
具体地,在递增模式下,第一计数模块的初始计数值为0,利用第一计数模块进行计数,从存储模块读出的第一个数据的地址为读传输初始地址,从存储模块读出的第二个数据的地址为读传输初始地址加第一计数模块的计数值1,依此类推,从存储模块读出的第N个数据的地址为读传输初始地址加第一计数模块的计数值N-1。
在回环模式下,第一计数模块的初始计数值为0,利用第一计数模块进行计数,从存储模块读出的第一个数据的地址为读传输初始地址,从存储模块读出的第二个数据的地址为读传输初始地址加第一计数模块的计数值1,依此类推,从存储模块读出的数据地址在读传输初始地址的基础上递增,在到达回环边界后,将递增后的地址减去回环大小,作为新的读传输初始地址,并将第一计数模块的计数值清零;再按照同样的方式,继续将后续数据从存储模块中读出。
由于主机发出的读响应通道预备信号RREADY有可能拉低,进行反压,且地址计算、地址跳转以及存储模块根据计算的地址进行数据输出均需要消耗时钟周期,因此,需要对从存储模块中读出的数据进行缓存。
在一些实施方式中,将从存储模块中读出的数据放入缓存模块。在一些实施方式中,缓存模块为深度至少为4的队列,例如先入先出模块(First In First Out,FIFO)。在一些实施方式中,利用第二计数模块,对从存储模块中读出的数据的数量进行计数,在第二计数模块的计数值没有达到需要取出的数据的数量、且队列没有满载时,存储模块转换接口从存储模块中读出数据,并将读出的数据放入队列。在一些实施方式中,当读出的数据到达队列入口时,拉高读响应通道有效信号RVALID,并将读出的数据放入队列。在一些实施方式中,在读响应通道预备信号RREADY为高、且队列中有数据时,将队列中的数据输出至AXI总线,用于构成AXI总线的读数据信号RDATA,发送至请求的主机。
在一些实施方式中,当第二计数模块的计数值达到需要取出的数据数量、且缓存模块中的数据数量为1时,表明数据已经全部从存储模块中读出,且只剩最后一个数据等待经AXI总线传输至主机,控制模块拉高读事务结束标志信号RLAST,在主机发出的读响应通道预备信号RREADY为高时,条件5满足,将队列中的最后一个数据输出至AXI总线,此时所有读出的数据均输出完成,控制模块控制存储模块转换接口从读活跃状态跳转至读完成状态。其中,条件5为读响应通道预备信号RREADY为高,读事务结束标志信号RLAST为高。
在读完成状态下,控制模块在下一周期控制存储模块转换接口从都完成状态跳转到空闲状态。
在空闲状态下,控制模块在下一周期拉低读响应通道有效信号RVALID。
在一些实施方式中,读传输属性还包括读地址通道标志信号ARID,在读完成状态下,控制模块在下一周期使得读响应通道标志信号RID等于读地址通道标志信号ARID,并保持读响应通道标志信号RID的状态。控制模块控制存储模块转换接口回到空闲状态后,在下一周期将读响应通道标志信号RID置0。
如图3所示,本发明实施例的从AXI协议访问到存储模块接口访问的转换方法包括:
步骤S301:当前状态为空闲状态;
步骤S302:在检测到主机发出有效的写请求时,记录写传输属性;
步骤S304:为每个写数据分配一个位使能信号;
步骤S306:根据写传输属性,获取写数据在存储模块中的对应地址;
步骤S308:控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址。
其中,位使能信号和写入存储模块的地址与写数据一一对应。
在一些实施方式中,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型;其中,写传输类型为递增模式、回环模式或者固定模式;在写传输类型为递增模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增;在写传输类型为回环模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在写传输类型为固定模式时,写数据在存储模块中的对应地址始终为写传输初始地址。
步骤S303:在检测到主机发出的有效的读请求时,记录读传输属性;
步骤S305:根据读传输属性,获取从存储模块读出的数据地址;
步骤S307:将存储模块的对应地址的数据读出;
步骤S309:将读出的数据放入缓存模块进行缓存;
步骤S311:将缓存模块中缓存的数据按序输出至AXI总线。
上述从AXI协议访问到存储模块接口访问的转换方法的更多细节可参考前述AXI协议下的存储模块转换接口的描述,二者具有相似的技术效果。本发明在此不再赘述。
本发明对读写过程进行分开控制,在写入数据时,为每个写数据分配一个位使能信号,位使能信号和写入存储模块的地址与写数据一一对应,因此,不需要队列缓存FIFO,即可将写数据通道上传输的数据直接写入到存储模块中;在读出数据时,充分考虑主机发出的读响应通道预备信号RREADY有可能拉低,进行反压,且地址计算、地址跳转以及存储模块根据计算的地址进行数据输出均需要消耗时钟周期等因素,将从存储模块中读出的数据放入队列进行缓存,避免出错。本发明的存储模块转换接口只需要很少的条件控制逻辑,就能够完成从AXI协议访问到存储模块接口访问的转换过程,支持挂载单端口存储器,对仿真时间、综合时间、资源开销和功耗都非常友好。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种AXI协议下的存储模块转换接口,其特征在于,包括控制模块、缓存模块和第二计数模块;
所述控制模块用于:在所述存储模块转换接口在空闲状态下,在检测到主机发出有效的写请求时,记录写传输属性;为每个写数据分配一个位使能信号;根据写传输属性,获取写数据在存储模块中的对应地址;以及控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址;其中,位使能信号和写入存储模块的地址与写数据一一对应;
所述控制模块还用于:在所述存储模块转换接口在空闲状态下,在检测到主机发出的有效的读请求时,记录读传输属性;根据读传输属性,获取从存储模块读出的数据地址,将存储模块的对应地址的数据读出,将读出的数据放入所述缓存模块进行缓存,以及将所述缓存模块中缓存的数据按序输出至AXI总线;
所述第二计数模块用于对从存储模块中读出的数据的数量进行计数;所述控制模块还用于:在所述第二计数模块的计数值没有达到需要取出的数据的数量、且所述缓存模块没有满载时,从存储模块中读出数据,并将读出的数据放入所述缓存模块;以及在所述第二计数模块的计数值达到需要取出的数据数量、且所述缓存模块中的数据数量为1时,拉高读事务结束标志信号RLAST,在主机发出的读响应通道预备信号RREADY为高时,将所述缓存模块中的最后一个数据输出至AXI总线,控制所述存储模块转换接口进入读完成状态。
2.如权利要求1所述的AXI协议下的存储模块转换接口,其特征在于,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型;其中,写传输类型为递增模式、回环模式或者固定模式;在写传输类型为递增模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增;在写传输类型为回环模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在写传输类型为固定模式时,写数据在存储模块中的对应地址始终为写传输初始地址。
3.如权利要求2所述的AXI协议下的存储模块转换接口,其特征在于,还包括第一计数模块;在写传输类型为递增模式或回环模式时,所述第一计数模块用于生成与写数据对应的计数值,所述控制模块用于利用所述第一计数模块生成的计数值,在写传输初始地址的基础上得到写数据在存储模块中的对应地址。
4.如权利要求1所述的AXI协议下的存储模块转换接口,其特征在于,在写数据全部写入至存储模块的对应地址后,所述存储模块转换接口进入写完成状态;写传输属性包括写地址通道标志信号AWID,在写完成状态下,所述控制模块使得写响应通道标志信号BID等于写地址通道标志信号AWID,并保持写响应通道标志信号BID的状态;所述控制模块还用于控制所述存储模块转换接口从写完成状态回到空闲状态,在空闲状态下,将写响应通道标志信号BID置0。
5.如权利要求1至4中任一项所述的AXI协议下的存储模块转换接口,其特征在于,读传输属性包括读传输初始地址、读传输数据量大小和读传输类型;其中,读传输类型为递增模式、回环模式或者固定模式;在读传输类型为递增模式时,从存储模块读出的数据地址在读传输初始地址的基础上递增;在读传输类型为回环模式时,从存储模块读出的数据地址在读传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在读传输类型为固定模式时,从存储模块读出的数据地址始终为读传输初始地址。
6.如权利要求1至4中任一项所述的AXI协议下的存储模块转换接口,其特征在于,读传输属性包括读地址通道标志信号ARID,在读完成状态下,所述控制模块使得读响应通道标志信号RID等于读地址通道标志信号ARID,并保持读响应通道标志信号RID的状态;所述控制模块还用于控制所述存储模块转换接口从读完成状态回到空闲状态,在空闲状态下,将读响应通道标志信号RID置0。
7.一种片上系统,其特征在于,包括主机、AXI总线、存储模块以及如权利要求1至6中任一项所述的存储模块转换接口。
8.一种从AXI协议访问到存储模块接口访问的转换方法,其特征在于,包括:
在检测到主机发出有效的写请求时,记录写传输属性;
为每个写数据分配一个位使能信号;
根据写传输属性,获取写数据在存储模块中的对应地址;
控制写数据对应的位使能信号,将写数据分别写入至存储模块的对应地址;其中,位使能信号和写入存储模块的地址与写数据一一对应;
在检测到主机发出的有效的读请求时,记录读传输属性;
根据读传输属性,获取从存储模块读出的数据地址;
将存储模块的对应地址的数据读出;
将读出的数据放入缓存模块进行缓存;
将缓存模块中缓存的数据按序输出至AXI总线;
对从存储模块中读出的数据的数量进行计数;
在计数值没有达到需要取出的数据的数量、且缓存模块没有满载时,从存储模块中读出数据,并将读出的数据放入缓存模块;
在计数值达到需要取出的数据数量、且所述缓存模块中的数据数量为1时,拉高读事务结束标志信号RLAST,在主机发出的读响应通道预备信号RREADY为高时,将缓存模块中的最后一个数据输出至AXI总线,控制存储模块转换接口进入读完成状态。
9.如权利要求8所述的转换方法,其特征在于,写传输属性包括写传输初始地址、写传输数据量大小和写传输类型;其中,写传输类型为递增模式、回环模式或者固定模式;在写传输类型为递增模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增;在写传输类型为回环模式时,写数据在存储模块中的对应地址在写传输初始地址的基础上递增,在到达回环边界后,减去回环大小,再继续递增;在写传输类型为固定模式时,写数据在存储模块中的对应地址始终为写传输初始地址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311159412.5A CN116893991B (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
CN202311626144.3A CN117472815A (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311159412.5A CN116893991B (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311626144.3A Division CN117472815A (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116893991A CN116893991A (zh) | 2023-10-17 |
CN116893991B true CN116893991B (zh) | 2024-01-02 |
Family
ID=88311094
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311626144.3A Pending CN117472815A (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
CN202311159412.5A Active CN116893991B (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311626144.3A Pending CN117472815A (zh) | 2023-09-11 | 2023-09-11 | 一种axi协议下的存储模块转换接口及其转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117472815A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312210B (zh) * | 2023-11-29 | 2024-03-12 | 沐曦集成电路(南京)有限公司 | 一种通用扩展risc-v处理器性能的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020177283A1 (zh) * | 2019-03-06 | 2020-09-10 | 苏州浪潮智能科技有限公司 | Axi2wb总线桥实现方法、装置、设备及存储介质 |
CN112749057A (zh) * | 2020-12-30 | 2021-05-04 | 成都忆芯科技有限公司 | 用于读事务的总线监视器 |
CN113254368A (zh) * | 2021-07-15 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
CN114142829A (zh) * | 2021-11-30 | 2022-03-04 | 珠海一微半导体股份有限公司 | Fir滤波器复用系统 |
US11294848B1 (en) * | 2020-10-20 | 2022-04-05 | Micron Technology, Inc. | Initialization sequencing of chiplet I/O channels within a chiplet system |
CN115658588A (zh) * | 2022-12-15 | 2023-01-31 | 芯动微电子科技(珠海)有限公司 | 一种axi总线的id压缩装置及方法 |
CN116457751A (zh) * | 2023-02-22 | 2023-07-18 | 声龙(新加坡)私人有限公司 | 一种写数据通路结构和芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6053692B2 (ja) * | 2011-12-20 | 2016-12-27 | キヤノン株式会社 | データ転送装置、データ転送方法およびチップ間通信システム |
-
2023
- 2023-09-11 CN CN202311626144.3A patent/CN117472815A/zh active Pending
- 2023-09-11 CN CN202311159412.5A patent/CN116893991B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020177283A1 (zh) * | 2019-03-06 | 2020-09-10 | 苏州浪潮智能科技有限公司 | Axi2wb总线桥实现方法、装置、设备及存储介质 |
US11294848B1 (en) * | 2020-10-20 | 2022-04-05 | Micron Technology, Inc. | Initialization sequencing of chiplet I/O channels within a chiplet system |
CN112749057A (zh) * | 2020-12-30 | 2021-05-04 | 成都忆芯科技有限公司 | 用于读事务的总线监视器 |
CN113254368A (zh) * | 2021-07-15 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
CN114142829A (zh) * | 2021-11-30 | 2022-03-04 | 珠海一微半导体股份有限公司 | Fir滤波器复用系统 |
CN115658588A (zh) * | 2022-12-15 | 2023-01-31 | 芯动微电子科技(珠海)有限公司 | 一种axi总线的id压缩装置及方法 |
CN116457751A (zh) * | 2023-02-22 | 2023-07-18 | 声龙(新加坡)私人有限公司 | 一种写数据通路结构和芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN116893991A (zh) | 2023-10-17 |
CN117472815A (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6985977B2 (en) | System and method for transferring data over a communication medium using double-buffering | |
CN108595350B (zh) | 一种基于axi的数据传输方法和装置 | |
US20090089459A1 (en) | Schedule and data caching for wireless tranmission | |
CN116893991B (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
CN109800193B (zh) | 一种ahb总线访问片上sram的桥接装置 | |
TWI703501B (zh) | 具有分散式信箱架構的多處理器系統及其溝通方法 | |
CN111221759B (zh) | 一种基于dma的数据处理系统及方法 | |
US20160062930A1 (en) | Bus master, bus system, and bus control method | |
CN211376201U (zh) | 一种命令读写装置、存储器 | |
CN113468097B (zh) | 基于片上系统的数据交换方法 | |
US20060236001A1 (en) | Direct memory access controller | |
CN111931442A (zh) | Fpga内嵌flash控制器及电子装置 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
JP2002543489A (ja) | グラフィックスエンジンマスターモード動作の改良 | |
US6990550B2 (en) | Transaction duration management in a USB host controller | |
CN116225995B (zh) | 一种总线系统及芯片 | |
JP2004349836A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
CN116166581A (zh) | 用于pcie总线的队列式dma控制器电路及数据传输方法 | |
EP1236091B1 (en) | Register arrangement for optimum access | |
JPH09231164A (ja) | バスブリッジおよびそれを備えた計算機システム | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN114641764A (zh) | 总线系统及操作总线系统的方法 | |
US7716397B2 (en) | Methods and systems for interprocessor message exchange between devices using only write bus transactions | |
JP2007011659A (ja) | インターフェース装置、ディスクドライブ及びインターフェース制御方法 |
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 |