CN112965924B - 一种AHB-to-AXI桥接器及激进式处理方法 - Google Patents
一种AHB-to-AXI桥接器及激进式处理方法 Download PDFInfo
- Publication number
- CN112965924B CN112965924B CN202110218615.1A CN202110218615A CN112965924B CN 112965924 B CN112965924 B CN 112965924B CN 202110218615 A CN202110218615 A CN 202110218615A CN 112965924 B CN112965924 B CN 112965924B
- Authority
- CN
- China
- Prior art keywords
- module
- ahb
- read
- write
- state
- 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
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种AHB‑to‑AXI桥接器及激进式处理方法,包括全局控制参数配置模块用于设置有限状态机控制模块先验条件以及设置AXI主机接口模块和AHB从机接口模块的访问粒度;有限状态机控制模块用于处理来自AHB从机接口模块的协议转换模块的命令请求,监测协议转换模块的运行状态和主机接口模块的运行状态;依据有限状态机控制模块的跳转条件,执行有限状态机控制模块的状态转移,并产生AXI主机接口模块的访问请求信息以及AHB从机接口模块和AXI主机接口模块,本发明能提升AHB主机在以不定长增量式突发类型高效率访问AXI从机设备时的访问带宽和数据吞吐效率,访问效率较现有技术提升约12倍。
Description
技术领域
本发明属于集成电路片上系统总线设计技术领域,具体属于一种AHB-to-AXI桥接器及激进式处理方法。
背景技术
在数字集成电路领域,尤其包含微控制器、数字信号处理等片上系统(SoC)芯片中广泛存在着大量异构或同构的微处理单元、外围设备、片上存储等模块资源,这些模块资源通常采用片上互连总线连接各种资源。ARM公司提出的AMBA(Advanced MicrocontrollerBus Architecture)总线提供了一种特殊机制,以系统骨干总线的形式将其它IP核和外设集成到处理器中,是一种连接和管理SoC功能模块的开发标准和片上互连规范。其中的AHB(Advanced High-preformance Bus)应用于高性能、高时钟频率的系统模块,支持数据突发传输、分割传输、流水线方式等功能或特征,作为系统核心骨干总线,广泛应用于早期的MCU产品中。然而随着SoC设计复杂性的增加和CPU处理能力的提升,AHB系统总线结构会成为系统性能提升的瓶颈。随着下一代高性能SoC设计的需要,比如多处理器核、多重存储器结构、DMA控制器等,AMBA总线提出了新一代灵活性更强的AXI(Advanced eXtensibleInterface)总线结构。它是一种面向高性能、高带宽、低延迟的片内总线,采用地址/控制和数据相位分离、支持不对齐、突发的数据传输,能够以更小的面积、更小的功耗获得更高效的性能。因此,新一代的高性能SoC往往会优先选择AXI总线进行系统互联,同时在必要时通过桥接器将AXI总线和其他类型总线(如AHB、APB、PLB、local Bus等)互联,以兼容早期的、或其他厂商提供的IP产品。
现有的AHB与AXI互联通信技术(如专利CN103605632A和专利CN108153699A)采用地址和数据分离的方式分别控制读、写访问的接口时序,通过设立地址命令通道、数据缓冲区域来实现协议转换;其中的地址命令通道能够将AHB固定长度的访问轻易转换为AXI总线上对应的访问类型,例如单次访问和incr4、incr8、incr16类型的突发传输。虽然这种技术的协议换转方式通用性强,系统稳健性高;但是对于AHB总线主机设备以连续地址不定长增量突发类型连续访问AXI总线从机设备情况,现有技术将转换为AXI总线的单次访问,导致协议转换效率低,无法满足系统的高访问带宽和高吞吐率的需求。
发明内容
为了解决现有技术中存在的问题,本发明提供一种AHB-to-AXI桥接器及激进式处理方法,解决目前在AHB主机以连续地址不定长增量突发类型连续访问AXI总线从机设备时,协议转换数据吞吐率低的问题。
为实现上述目的,本发明提供如下技术方案:一种AHB-to-AXI桥接器,包括:全局控制参数配置模块、AHB从机接口模块、AXI主机接口模块和协议转换模块,所述协议转换模块包括有限状态机控制模块,
全局控制参数配置模块:用于设置有限状态机控制模块先验条件以及设置AXI主机接口模块和AHB从机接口模块的访问粒度;
AHB从机接口模块:依据有限状态机控制模块运行状态维护AHB从机接口总线的访问,用于接收并解析AHB主机访问的命令,取出AHB主机当前访问的地址、当前访问类型信息,产生协议转换模块的命令请求;
有限状态机控制模块:用于处理来自AHB从机接口模块的协议转换模块的命令请求,监测协议转换模块的运行状态和主机接口模块的运行状态;依据有限状态机控制模块的跳转条件,执行有限状态机控制模块的状态转移,并产生AXI主机接口模块的访问请求信息;
AXI主机接口模块:用于处理来自有限状态机控制模块的访问请求信息,维护AXI总线的访问,产生协议转换模块中的数据缓存读请求和写请求。
进一步的,所述协议转换模块包括命令转换模块、写数据缓存模块和读数据缓存模块,所述协议转换模块的命令请求包括命令转换请求、有限状态机控制请求、写数据缓存模块的写请求和读数据缓存模块的读请求;
命令转换模块:用于处理来自AHB从机接口模块的命令转换请求,并依据有限状态机控制模块的状态产生AXI主机接口模块的读地址通道、写地址通道所需要的命令请求信息;
写数据缓存模块和读数据缓存模块作为AHB-to-AXI桥接器中的写数据缓存区和读数据缓存区。
进一步的,所述命令转换模块根据命令转换请求和有限状态机控制模块的状态,分别独立记录读通道和写通道的历史访问地址和历史访问类型,比较当前读通道访问地址和当前写通道访问地址与读通道历史访问地址和写通道历史访问地址是否连续信息,产生AXI主机接口模块的读地址通道、写地址通道所需要的命令请求信息。
进一步的,写数据缓存区和读数据缓存区均采用FIFO,FIFO两侧的读写数据位宽与对应的AHB从机接口和AXI主机接口的数据位宽相同。
进一步的,所述命令转换请求和有限状态机控制请求均包括当前访问地址和当前访问类型。
进一步的,AXI主机接口模块的访问粒度包括AXI主机接口模块的命令通道的最大发射度和AXI主机接口模块读命令转换的最大预取的地址;
AHB从机接口模块的访问粒度包括AHB从机接口模块以连续地址不定长增量突发类型访问的最小数据量。
本发明还提供一种AHB-to-AXI桥接器的激进式处理方法,包括以下过程:
在有限状态机控制模块处于复位后的默认状态,若读写控制信号为1则进入当前桥接器进行写操作的协议转换状态;若读写控制信号为0则进入读通道等待读数据缓存模块复位清零状态,同时依据AHB主机当前访问的地址与读通道历史访问地址是否连续的特征产生读数据缓存模块的复位控制信号,若地址不连续则产生复位控制请求,反之,不产生;
在有限状态机控制模块处于读通道等待读数据缓存模块复位清零状态,当读数据缓存模块复位完成时,转至桥接器正在进行读操作的协议转换状态;
在有限状态机控制模块处于桥接器正在进行读操作的协议转换状态,当AHB从机一次读突发完成,则转至AHB从机空闲状态;
在有限状态机控制模块处于AHB从机空闲状态,当有新的AHB从机操作为读请求且AHB主机当前访问的地址与读通道历史访问地址连续时,转至桥接器正在进行读操作的协议转换状态,当新的AHB从机操作为读请求且AHB主机当前访问的地址与读通道历史访问地址不连续时,转至读通道等待读数据缓存模块复位清零状态,同时产生读数据缓存模块的复位控制请求,当新的AHB从机操作为写请求则跳转至AHB从机空闲状态,当AHB主机无新请求,且AXI主机完成已发射的读命令则跳转至复位后的默认状态;
在有限状态机控制模块处于当前桥接器进行写操作的协议转换状态,当AHB从机一次写突发完成,则转至AHB从机空闲状态;
在有限状态机控制模块处于AHB从机空闲状态,当有新的AHB从机操作为写请求且AHB主机当前访问的地址与写通道历史访问地址连续时,则转至当前桥接器进行写操作的协议转换状态;当新的AHB从机操作为写请求且AHB主机当前访问的地址与读通道历史访问地址不连续时,则转至AHB从机有新的写请求状态,当有新的AHB从机操作为读请求,则转至读通道等待读数据缓存模块复位清零的状态,同时产生读数据缓存模块的复位控制请求,当AHB主机无新请求,且AXI主机完成已发射的写命令,则转至复位后的默认状态;
在有限状态机控制模块处于AHB从机有新的写请求状态,当写数据缓冲模块为空,则转至当前桥接器进行写操作的协议转换状态。
进一步的,当AHB-to-AXI桥接器的全局复位有效时,有限状态机控制模块的状态均将转至复位后的默认状态。
与现有技术相比,本发明至少具有以下有益效果:
本发明提供了一种AHB-to-AXI桥接器,解决现有技术中在AHB主机以连续地址不定长增量突发类型连续访问AXI总线从机设备时,协议转换数据吞吐率低的问题,提出了一种高性能的AHB-to-AXI的协议换转桥接器装置,可以实现AHB主机设备访问AXI从机设备,利用全局控制参数配置和有限状态机的合理控制能够缩短AHB主机在以不定长增量式突发类型高效率访问AXI从机设备时的响应时间间隔,提升了协议转换的数据吞吐率,提高了带宽利用率,增强了AHB主机的访问实时性,解决了现有技术在类似应用场景下协议转换性能不足的问题,使用本发明,能够提升AHB主机在以不定长增量式突发类型高效率访问AXI从机设备时的访问带宽和数据吞吐效率,访问效率较现有技术提升约12倍。
本发明还提供一种AHB-to-AXI桥接器的激进式处理方法,用于实现AHB主机以不定长增量式突发传输模式下访问AXI从机的应用场景中的协议转换,现有技术至少需要消耗AXI主机两个时钟周期和AHB两个时钟周期的累计时间。采用本发明的桥接器,在此分析场景下,本发明可以实现多次single传输之间的命令和响应之间的跨时钟域累计时间主要是靠数据缓存区和有限状态机控制实现。具体地如对于AHB-AXI写传输,在仅依靠AHB写操作是否历史写操作地址是否连续为重要判据,如果是连续情况则将数据写入写通道的数据缓存区,而AHB主机不需要等待AXI从机真正的完成写操作。如果AHB主机是连续地址写访问,且数据量大时(是AXI访问单次Burst传输的最大数据量的数倍时),从AHB主机角度来看,数据是预写方式连续写入FIFO的,而且不需要等待到AXI的跨时钟域的握手时间;同时从AXI从机角度来看,请开始执行AXI写访问时读FIFO也是连续的。整体上,在大数据量连续访问时,减少了跨时钟域的握手次数及相应时间,等效于隐藏了多次single传输之间的命令通道和响应通道跨时钟域累计时间。当AHB主机以不定长方式增量类型进行连续地址的数据大量写入时,本发明的可以节约更多的跨时钟域时间,提升了协议转换性能,而且本发明的AHB-to-AXI桥接器采用基于有限状态机控制的激进式处理方法,实现了桥接器读写访问仲裁、协议转换的操作;基于有限状态机控制的激进式处理方法是指在从机接口以连续地址不定长增量突发类型连续访问主机接口资源或设备的读通道预读、写通道预写处理方法;
读通道预读是指在从机接口读地址与历史读地址连续,且从机接口未完全完成读处理操作的情况下,主机接口以命令通道最大命令发射度预读取不超过最大预取地址的最小数据量大小的数据,并缓存在读数据缓存中的处理方法;
写通道预写是指在从机接口写地址与历史写地址连续,且主接口未完全完成写处理操作的情况下,从机接口将写数据预写入写数据缓存的处理方法。
附图说明
图1为本发明的结构框图;
图2为有限状态机控制模块的状态转移图;
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
如图1所示,本发明提供一种AHB-to-AXI桥接器,图中AHB_slave_rev对应本发明中的AHB从机接口模块,AXI_master_req对应本发明中的AXI主机接口模块,GlobalControlled Configuration Parameters对应全局控制参数配置模块,Protocol Convert为协议转换模块,其中协议转换模块包括CMD_convert对应命令转换模块,FSM_control对应有限状态机控制模块,Wdata_FIFO和Rdata_FIFO分别对应写数据缓存模块和读数据缓存模块。在项目使用时,高速外设的AHB主机接口连接AHB_bus_IF,经过本发明的桥接器协议转换后访问连接在AXI_bus IF的其他AXI总线资源或设备;
全局控制参数配置模块为本发明的桥接器提供系统配置信息,设置有限状态机控制模块的先验条件,设置AXI主机接口模块和AHB从机接口模块的访问粒度;其中访问粒度包含:AHB从机接口模块以连续地址不定长增量突发类型访问的最小数据量,AXI主机接口模块的访问命令通道的最大发射度,AXI主机接口模块读命令转换的最大预取的地址;
设AHB从机接口模块以连续地址不定长增量突发类型访问的最小数据量为DRmin,AXI主机接口模块的命令通道的最大发射度为CMDImax,AXI主机接口模块读命令转换的最大预取的地址为ADDRmax。在实例中,假设外部AHB主机通过本发明桥接器可以访问从0x0到0x3FFFFFFF地址空间范围内的AXI从机资源,因此全局控制参数配置模块设置ADDRmax为0x40000000,(即0x3FFFFFFF+0x1);同时实例中DRmin设置为512字节,CMDImax设置为4。
AHB从机接口模块依据有限状态机控制模块运行状态维护从机接口总线的访问,接收并解析AHB主机访问的命令,取出AHB主机当前访问的地址(op_addr)、当前访问类型信息(op_write_read),产生命令转换请求、有限状态机控制请求、写数据缓存模块的写请求、读数据缓存模块的读请求;其中,命令转换请求和有限状态机控制请求均由当前访问地址和当前访问类型组成;
命令转换模块处理来自AHB从机接口模块的命令转换请求,并依据有限状态机控制模块的状态产生出AXI主机接口模块的读地址通道、写地址通道所需要的命令请求信息;
具体的,CMD_convert模块根据命令转换请求和有限状态机模块的控制状态,分别独立地记录读通道历史访问地址(RchADDR_sav)和写通道历史访问地址(WchADDR_sav)和历史访问类型(last_write_read),比较当前读通道访问地址和当前写通道访问地址与读通道历史访问地址和写通道历史访问地址是否连续信息,产生AXI_master_req模块读地址通道、写地址通道所需要的命令请求信息。
有限状态机控制模块处理来自AHB从机接口模块的状态机控制请求,监测写数据缓存模块、读数据缓存模块、AXI主机接口模块和命令转换模块的运行状态,依据有限状态机跳转条件执行状态机的状态转移,并产生AXI主机接口模块的访问请求信息;
具体的,有限状态机控制模块监测读/写数据缓冲FIFO的空/满和半空/半满状态、AXI_master_req模块的读写通道握手断言状态和CMD_convert模块的运行状态;
写数据缓存模块和读数据缓存模块分别作为协议转换桥接器中的写数据和读数据的缓存通道,实现数据位宽转换、从机接口到主机接口的跨时钟处理的功能;缓存通道采用异步FIFO实现,FIFO两侧的读写数据位宽与对应的AHB主机接口、AXI从机接口的数据位宽相同,同时提供空/满、半空/半满、FIFO数据数量的信息。
AXI主机接口模块处理来自有限状态机控制模块的访问请求,根据全局控制参数模块的配置、命令转换模块的命令请求信息、写数据缓存模块和读数据缓存模块的运行状态,维护AXI总线访问,产生写数据缓存模块的读请求、读数据缓存模块的写请求;
本发明的AHB-to-AXI桥接器的运行主要由FSM_control内部的有效状态机控制,可完成AHB读写访问仲裁、状态监测与时序产生请求等现有技术已实现的AHB-to-AXI协议转换。同时,该状态机使用一种基于有效状态机控制的激进式处理方法用于实现AHB主机以不定长增量式突发传输模式下访问AXI从机的应用场景中的协议转换。下面具体地描述基于有限状态机控制的激进式处理方法实现AHB主机以不定长增量式突发传输模式下访问AXI从机的协议转换过程,如下:
如图2所示,基于有限状态机控制的激进式处理方法的有限状态机由7个状态组成,分别为ST_IDLE、ST_Rd_CLR、ST_READ、ST_Rd_Wait、ST_Write、ST_Wr_Wait、ST_WAIT_WREM。图中编号①,②,…,仅作为便于描述条件时的标签,不作为它用。
ST_IDLE是复位后的默认状态,当有新访问到达时(即htrans为2’b10),根据hwrite信号类型(AHB标准总线信号,即读写控制信号)进行状态跳转,若hwrite为1则,条件⑧成立进入ST_Write状态;若hwrite为0则,条件①成立进入SR_Rd_CLR状态,同时依据AHB主机当前访问的地址op_addr与读通道历史访问地址RchADDR_sav是否连续的特征产生Rdata_FIFO的复位控制信号。若地址不连续则产生复位控制请求,反之,不产生。
SR_Rd_CLR是读通道等待Rdata_FIFO复位清零的状态,本发明的读操作协议转换时,AXI主机是根据访问地址的连续性从外部存储器缓存数据预读取至Rdata_FIFO中,故当出现AHB主机当前访问的地址op_addr与读通道历史访问地址RchADDR_sav不连续时,需要清除FIFO内的残余的预取数据缓存。当Rdata_FIFO复位完成时,条件②成立转至ST_Read状态。
ST_Read状态表征桥接器正在进行读操作的协议转换,AHB从机接口正在进行读访问,并从Rdata_FIFO中读出数据;AXI主机接口正在进行数据预读取,并往Rdata_FIFO中写入数据。AXI_master_req模块在CMD_convert模块有新的读请求时,根据Rdata_FIFO空/半满状态,以AXI读地址通道断言累计发送CMDImax次不超过ADDRmax地址的预读取请求,并AXI读数据通道预取数据写入Rdata_FIFO中。AHB_slave_rev模块根据Rdata_FIFO中的空状态指示读取数据,并完成AHB从机读操作协议的维护。当AHB一次读突发完成,即条件③成立后从ST_Read状态跳转到ST_Rd_Wait状态。
ST_Rd_Wait状态表征AHB从机空闲,AXI主机对发射的读命令处于未完成的状态。当有限状态机处于ST_Rd_Wait状态时,当有新的AHB从机操作为读请求且AHB主机当前访问的地址op_addr与读通道历史访问地址RchADDR_sav连续时,即条件④成立,状态机将跳转至ST_Read状态;当新的AHB从机操作为读请求且AHB主机当前访问的地址op_addr与AHB主机当前访问的地址RchADDR_sav不连续时,即条件⑤成立,状态机将跳转至SR_Rd_CLR状态,同时产生Rdata_FIFO复位控制请求;当有新的AHB从机操作为写请求,即条件⑦成立,状态机将跳转至ST_Wr_Wait状态;当AHB主机无新请求,且AXI主机完成已发射的读命令,即条件⑥成立,有限状态机将跳转至ST_IDLE状态。
ST_Write状态表征了当前桥接器进行写操作的协议转换,AHB主机执行写操作,将数据预写至Wdata_FIFO中,AXI主机按连续地址访问发送写命令,同时从Wdata_FIFO读出数据。AHB_slave_rev模块根据Wdata_FIFO中的空/半满状态指示完成AHB接口协议操作,并将数据预写入Wdata_FIFO中。AXI_master_req模块在CMD_convert模块有新的写请求时启动AXI写通道,根据Wdata_FIFO空状态,以AXI写地址通道断言累计发送CMDImax次不超过ADDRmax地址的写请求,并从Wdata_FIFO读出数据。当AHB一次写突发完成,即条件⑨成立后从ST_Write状态跳转到ST_Wr_Wait状态。
ST_Wr_Wait状态表示AHB从机空闲,AXI主机对发射的写命令处于未完成的状态。当有限状态机处于ST_Wr_Wait状态时,当有新的AHB从机操作为写请求且AHB主机当前访问的地址op_addr与写通道历史访问地址WchADDR_sav连续时,即条件⑩成立,状态机将跳转至ST_Write状态;当新的AHB从机操作为写请求且AHB主机当前访问的地址op_addr与读通道历史访问地址RchADDR_sav不连续时,即条件成立,状态机将跳转至ST_Wait_WREM状态;当有新的AHB从机操作为读请求,即条件成立,状态机将跳转至SR_Rd_CLR状态,同时产生Rdata_FIFO复位控制请求;当AHB主机无新请求,且AXI主机完成已发射的写命令,即条件成立,状态机将跳转至ST_IDLE状态。
ST_Wait_WREM状态表示AHB从机有新的写请求,AXI主机正在执行上次写数据的状态。由于本发明的写操作协议转换时,AHB主机是根据访问地址的连续性将数据预写入Wdata_FIFO中,故当出现AHB主机当前访问的地址op_addr与写通道历史访问地址WchADDR_sav不连续时,需要等待AXI完成上次写操作明令,即等待Wdata_FIFO被AXI_master_req模块读取至空状态后,才将数据写入Wdata_FIFO中。当有限状态机处于ST_Wait_WREM时,当Wdata_FIFO为空,即条件成立时,状态跳转至ST_Write状态。
此外,以上7个状态中存在一个优先级最高的隐式状态转移情况,即当桥接器的全局复位有效时,有限状态机控制模块中的状态均将跳转至ST_IDLE状态。
本发明提供的一种AHB-to-AXI桥接器的激进式处理方法,用于实现AHB主机以不定长增量式突发传输模式下访问AXI从机的应用场景中的协议转换,以现有技术的实施过程中AHB主机在以不定长增量式突发类型高效率写访问AXI从机设备为例,AHB主机的不定长增量突发访问会被切分为多个single类型的访问。具体地,AHB从机转换模块将当前命令写入命令FIFO,经过跨时钟域同步后,开始启动AXI主机转换模块的命令请求和数据收发,再等待AXI从机完成写操作后将返回的写响应信息写入响应通道FIFO,经过跨时钟域同步后,完成AHB从机的当前命令的写响应之后才能继续下一次的协议转换。经过分析容易得出,现有技术可以在多次single传输之间可以将写数据FIFO的跨时钟域同步时间隐藏在写命令或写响应的跨时钟域同步的时间内,但是无法隐藏命令通道和响应通道的跨时钟域时间,参考常规两级跨时钟域同步技术时,则现有技术至少需要消耗AXI主机两个时钟周期和AHB两个时钟周期的累计时间。采用本发明的桥接器,在此分析场景下,本发明可以实现多次single传输之间的命令和响应之间的跨时钟域累计时间主要是靠数据缓存区和有限状态机控制实现。具体地如对于AHB-AXI写传输,在仅依靠AHB写操作是否历史写操作地址是否连续为重要判据,如果是连续情况则将数据写入写通道的数据缓存区,而AHB主机不需要等待AXI从机真正的完成写操作。如果AHB主机是连续地址写访问,且数据量大时(是AXI访问单次Burst传输的最大数据量的数倍时),从AHB主机角度来看,数据是预写方式连续写入FIFO的,而且不需要等待到AXI的跨时钟域的握手时间;同时从AXI从机角度来看,请开始执行AXI写访问时读FIFO也是连续的。整体上,在大数据量连续访问时,减少了跨时钟域的握手次数及相应时间。等效于隐藏了多次single传输之间的命令通道和响应通道跨时钟域累计时间。当AHB主机以不定长方式增量类型进行连续地址的数据大量写入时,本发明的可以节约更多的跨时钟域时间,提升了协议转换性能,而且本发明的AHB-to-AXI桥接器采用基于有限状态机控制的激进式处理方法,实现了桥接器读写访问仲裁、协议转换的操作;基于有限状态机控制的激进式处理方法是指在从机接口以连续地址不定长增量突发类型连续访问主机接口资源或设备的读通道预读、写通道预写处理方法;
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (6)
1.一种AHB-to-AXI桥接器,其特征在于,包括:全局控制参数配置模块、AHB从机接口模块、AXI主机接口模块和协议转换模块,所述协议转换模块包括有限状态机控制模块,
全局控制参数配置模块:用于设置有限状态机控制模块先验条件以及设置AXI主机接口模块和AHB从机接口模块的访问粒度;
AHB从机接口模块:依据有限状态机控制模块运行状态维护AHB从机接口总线的访问,用于接收并解析AHB主机访问的命令,取出AHB主机当前访问的地址、当前访问类型信息,产生协议转换模块的命令请求;
有限状态机控制模块:用于处理来自AHB从机接口模块的协议转换模块的命令请求,监测协议转换模块的运行状态和主机接口模块的运行状态;依据有限状态机控制模块的跳转条件,执行有限状态机控制模块的状态转移,并产生AXI主机接口模块的访问请求信息;
AXI主机接口模块:用于处理来自有限状态机控制模块的访问请求信息,维护AXI总线的访问,产生协议转换模块中的数据缓存读请求和写请求;
所述协议转换模块包括命令转换模块、写数据缓存模块和读数据缓存模块,所述协议转换模块的命令请求包括命令转换请求、有限状态机控制请求、写数据缓存模块的写请求和读数据缓存模块的读请求;
命令转换模块:用于处理来自AHB从机接口模块的命令转换请求,并依据有限状态机控制模块的状态产生AXI主机接口模块的读地址通道、写地址通道所需要的命令请求信息;
写数据缓存模块和读数据缓存模块作为AHB-to-AXI桥接器中的写数据缓存区和读数据缓存区;
所述命令转换模块根据命令转换请求和有限状态机控制模块的状态,分别独立记录读通道和写通道的历史访问地址和历史访问类型,比较当前读通道访问地址和当前写通道访问地址与读通道历史访问地址和写通道历史访问地址是否连续信息,产生AXI主机接口模块的读地址通道、写地址通道所需要的命令请求信息。
2.根据权利要求1所述的一种AHB-to-AXI桥接器,其特征在于,写数据缓存区和读数据缓存区均采用FIFO,FIFO两侧的读写数据位宽与对应的AHB从机接口和AXI主机接口的数据位宽相同。
3.根据权利要求1所述的一种AHB-to-AXI桥接器,其特征在于,所述命令转换请求和有限状态机控制请求均包括当前访问地址和当前访问类型。
4.根据权利要求1所述的一种AHB-to-AXI桥接器,其特征在于,AXI主机接口模块的访问粒度包括AXI主机接口模块的命令通道的最大发射度和AXI主机接口模块读命令转换的最大预取的地址;
AHB从机接口模块的访问粒度包括AHB从机接口模块以连续地址不定长增量突发类型访问的最小数据量。
5.根据权利要求1-4任意一项所述的一种AHB-to-AXI桥接器的激进式处理方法,其特征在于,包括以下过程:
在有限状态机控制模块处于复位后的默认状态,若读写控制信号为1则进入当前桥接器进行写操作的协议转换状态;若读写控制信号为0则进入读通道等待读数据缓存模块复位清零状态,同时依据AHB主机当前访问的地址与读通道历史访问地址是否连续的特征产生读数据缓存模块的复位控制信号,若地址不连续则产生复位控制请求,反之,不产生;
在有限状态机控制模块处于读通道等待读数据缓存模块复位清零状态,当读数据缓存模块复位完成时,转至桥接器正在进行读操作的协议转换状态;
在有限状态机控制模块处于桥接器正在进行读操作的协议转换状态,当AHB从机一次读突发完成,则转至AHB从机空闲状态;
在有限状态机控制模块处于AHB从机空闲状态,当有新的AHB从机操作为读请求且AHB主机当前访问的地址与读通道历史访问地址连续时,转至桥接器正在进行读操作的协议转换状态,当新的AHB从机操作为读请求且AHB主机当前访问的地址与读通道历史访问地址不连续时,转至读通道等待读数据缓存模块复位清零状态,同时产生读数据缓存模块的复位控制请求,当新的AHB从机操作为写请求则跳转至AHB从机空闲状态,当AHB主机无新请求,且AXI主机完成已发射的读命令则跳转至复位后的默认状态;
在有限状态机控制模块处于当前桥接器进行写操作的协议转换状态,当AHB从机一次写突发完成,则转至AHB从机空闲状态;
在有限状态机控制模块处于AHB从机空闲状态,当有新的AHB从机操作为写请求且AHB主机当前访问的地址与写通道历史访问地址连续时,则转至当前桥接器进行写操作的协议转换状态;当新的AHB从机操作为写请求且AHB主机当前访问的地址与读通道历史访问地址不连续时,则转至AHB从机有新的写请求状态,当有新的AHB从机操作为读请求,则转至读通道等待读数据缓存模块复位清零的状态,同时产生读数据缓存模块的复位控制请求,当AHB主机无新请求,且AXI主机完成已发射的写命令,则转至复位后的默认状态;
在有限状态机控制模块处于AHB从机有新的写请求状态,当写数据缓冲模块为空,则转至当前桥接器进行写操作的协议转换状态。
6.根据权利要求5所述的一种AHB-to-AXI桥接器的激进式处理方法,其特征在于,当AHB-to-AXI桥接器的全局复位有效时,有限状态机控制模块的状态均将转至复位后的默认状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218615.1A CN112965924B (zh) | 2021-02-26 | 2021-02-26 | 一种AHB-to-AXI桥接器及激进式处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218615.1A CN112965924B (zh) | 2021-02-26 | 2021-02-26 | 一种AHB-to-AXI桥接器及激进式处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965924A CN112965924A (zh) | 2021-06-15 |
CN112965924B true CN112965924B (zh) | 2023-02-24 |
Family
ID=76275833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110218615.1A Active CN112965924B (zh) | 2021-02-26 | 2021-02-26 | 一种AHB-to-AXI桥接器及激进式处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965924B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434460B (zh) * | 2021-08-26 | 2022-01-11 | 长沙海格北斗信息技术有限公司 | SoC架构中的多总线拓扑系统及总线互连方法 |
CN113687791B (zh) * | 2021-09-07 | 2023-09-26 | 天津津航计算技术研究所 | 基于预读取和分支判断机制的存储器数据快速读取装置 |
CN113687792B (zh) * | 2021-09-07 | 2023-09-26 | 天津津航计算技术研究所 | 一种存储器数据快速读取方法 |
CN114840458B (zh) * | 2022-07-06 | 2022-09-20 | 北京象帝先计算技术有限公司 | 读写模块、片上系统和电子设备 |
CN116107923B (zh) * | 2022-12-27 | 2024-01-23 | 深存科技(无锡)有限公司 | 一种基于bram的多对多高速访存架构和访存系统 |
CN116662233B (zh) * | 2023-05-24 | 2024-02-23 | 珠海妙存科技有限公司 | Ahb接口设备写传输方法、装置、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071405A (zh) * | 2006-05-08 | 2007-11-14 | 中兴通讯股份有限公司 | 一种异步ahb互连矩阵接口装置 |
CN101118523A (zh) * | 2006-08-01 | 2008-02-06 | 飞思卡尔半导体公司 | 存储器访问控制装置及其方法、存储器访问控制器及其方法 |
CN101382924A (zh) * | 2007-09-04 | 2009-03-11 | 上海摩波彼克半导体有限公司 | Risc系统中amba的ahb接口与并行处理器接口间数据转换的方法 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
CN105389276A (zh) * | 2015-11-17 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于amba总线架构的lpc主机控制器装置 |
CN108153699A (zh) * | 2017-12-21 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种ahb转axi协议转换控制器设计方法 |
CN111338996A (zh) * | 2020-02-20 | 2020-06-26 | 山东华芯半导体有限公司 | 一种支持多协议的复合总线控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457905B2 (en) * | 2005-08-29 | 2008-11-25 | Lsi Corporation | Method for request transaction ordering in OCP bus to AXI bus bridge design |
-
2021
- 2021-02-26 CN CN202110218615.1A patent/CN112965924B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071405A (zh) * | 2006-05-08 | 2007-11-14 | 中兴通讯股份有限公司 | 一种异步ahb互连矩阵接口装置 |
CN101118523A (zh) * | 2006-08-01 | 2008-02-06 | 飞思卡尔半导体公司 | 存储器访问控制装置及其方法、存储器访问控制器及其方法 |
CN101382924A (zh) * | 2007-09-04 | 2009-03-11 | 上海摩波彼克半导体有限公司 | Risc系统中amba的ahb接口与并行处理器接口间数据转换的方法 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
CN105389276A (zh) * | 2015-11-17 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于amba总线架构的lpc主机控制器装置 |
CN108153699A (zh) * | 2017-12-21 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种ahb转axi协议转换控制器设计方法 |
CN111338996A (zh) * | 2020-02-20 | 2020-06-26 | 山东华芯半导体有限公司 | 一种支持多协议的复合总线控制器 |
Non-Patent Citations (2)
Title |
---|
一种PCI总线Master模块接口设计;史森茂等;《计算机技术与发展》;20120710(第07期);全文 * |
一种适用于SOC的PCI接口与AMBA总线桥接的设计与实现;王彬等;《仪器仪表用户》;20051208(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112965924A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112965924B (zh) | 一种AHB-to-AXI桥接器及激进式处理方法 | |
KR101842245B1 (ko) | 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법 | |
CN109308283B (zh) | 一种SoC片上系统及其外设总线切换方法 | |
CN102193887B (zh) | 多通道桥接器及总线系统 | |
CN1570907B (zh) | 多处理器系统 | |
US8041867B2 (en) | Method and apparatus for enhancing data rate of advanced micro-controller bus architecture | |
CN111338996B (zh) | 一种支持多协议的复合总线控制器 | |
US20220206780A1 (en) | Online upgrading method and system for multi-core embedded system | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
CN109032973A (zh) | Icb总线系统及协议 | |
CN112035389A (zh) | 一种plb-axi总线转换桥及其工作方法 | |
CN113961494B (zh) | 一种pcie总线与axi总线的桥接系统 | |
EP1222551B1 (en) | Asynchronous centralized multi-channel dma controller | |
US20030023794A1 (en) | Cache coherent split transaction memory bus architecture and protocol for a multi processor chip device | |
CN112988647A (zh) | 一种TileLink总线到AXI4总线转换系统及方法 | |
CN101814012A (zh) | Sdram存储器结构及数据读写方法 | |
CN100517283C (zh) | 先进高性能系统总线连接装置及先进高性能系统总线装置 | |
KR101883784B1 (ko) | 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법 | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
CN101344875B (zh) | 一种片上集成系统SoC的APB总线桥 | |
CN109840233A (zh) | 基于fpga的60x总线桥接系统、方法及介质 | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
CN105677609A (zh) | 一种SoC系统的总线结构 | |
CN107562673B (zh) | 一种应用于嵌入处理器总线协议转换桥接装置 | |
CN101777035A (zh) | 一种amba ahb总线实现方法及装置 |
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 |