CN112988647B - 一种TileLink总线到AXI4总线转换系统及方法 - Google Patents
一种TileLink总线到AXI4总线转换系统及方法 Download PDFInfo
- Publication number
- CN112988647B CN112988647B CN202110175842.0A CN202110175842A CN112988647B CN 112988647 B CN112988647 B CN 112988647B CN 202110175842 A CN202110175842 A CN 202110175842A CN 112988647 B CN112988647 B CN 112988647B
- Authority
- CN
- China
- Prior art keywords
- bus
- module
- axi4
- tilelink
- channel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 78
- 238000012546 transfer Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation 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/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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0022—Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
本发明公开了一种TileLink总线到AXI4总线转换系统及方法,属于总线协议转换技术领域。本发明针对TileLink总线和AXI4总线读写通道的不同,设计了TLToAXI4模块,TLFragmenter模块,AXI4IdIndexer模块,AXI4Deinterleaver模块,AXI4UserYanker模块和AXI4Buffer模块六个模块,通过将TileLink总线的A通道映射到AXI总线的读地址通道、写地址通道和写数据通道;AXI总线的读数据通道和写响应通道映射到TileLink总线的D通道,实现了TileLink总线到AXI4总线的转换,使得TileLink总线能够使用丰富的AXI4IP库,比如挂载AXI4接口的PCIE IP核,使得TileLink总线能访问到PCIE设备(网卡、显卡等)。
Description
技术领域
本发明涉及一种TileLink总线到AXI4总线转换系统及方法,属于总线协议转换技术领域。
背景技术
AXI4(Advanced eXtensible Interface)总线是ARM公司提出的第四代商业AMBA总线(Advanced Microcontroller Bus Architecture)的一部分,是一种高性能、高带宽、低延迟的片内总线,已被广泛用于高速互连和外围设备。
而TileLink总线是加州大学伯克利分校和SiFive于2014年为RISC-V指令集CPU设计的一种替代总线,开源免费,可为多个主设备提供对内存和其他从设备的一致内存映射访问。TileLink设计用于片上系统(System-on-Chip),可连接通用多处理器(multiprocessors)、协处理器、加速器、DMA引擎以及各种简单或复杂的设备。具有低延迟、高吞吐量、可扩展且高速的特点。
TileLink总线于2017年发布,因此兼容TileLink的外设仍然较少。相对的,AXI总线早在2003年就已发布,发展多年,IP(Intellectual Property)库丰富。如果能够将TileLink总线转换成AXI4总线,那么就可以使用丰富的AXI4 IP库,例如,挂载AXI4接口的PCIE IP核,使得TileLink总线能访问到PCIE设备(网卡、显卡等)。
发明内容
为了使得TileLink总线能够使用丰富的AXI4 IP库,本发明提供一种TileLink总线到AXI4总线的转换系统及方法,使得TileLink总线能够访问到PCIE设备(比如网卡、显卡等)。
一种TileLink总线到AXI4总线的转换系统,所述系统包括TLToAXI4模块,TLFragmenter模块,AXI4IdIndexer模块,AXI4Deinterleaver模块,AXI4UserYanker模块和AXI4Buffer模块;根据不同目标接口挑选不同模块依序相互连接;
所述TLToAXI4模块,用于将TileLink总线上信息匹配映射到AXI4总线;所述TLFragmenter模块,用于将较大的事务切分成多个较小的事务,以缩小TileLink的最大逻辑传输;所述AXI4IdIndexer模块,用于限制输出AXI4总线的id位宽;所述AXI4Deinterleaver模块,用于处理AXI4总线不同id的交错响应,对响应进行重排序,以使得每个id的响应都是连续的;所述AXI4UserYanker模块,用于将带有user字段的AXI4总线转换成没有user字段的AXI4总线;所述AXI4Buffer模块,用于缓存AXI4总线上的数据。
可选的,所述TLToAXI4模块在将TileLink总线上信息匹配映射到AXI4总线时,首先建立TileLink总线source id与AXI4总线id的索引表,以保证响应信息与正确的请求相匹配;同时,将A通道的source和size信息存储到AXI4的user字段,便于后续模块调用。
可选的,所述TLToAXI4模块还存在错误响应机制:当AXI4写响应通道中的BRESP不为OKAY时,TileLink的D通道中的d_denied置高表示请求被拒绝;当AXI4读数据通道中的RRESP不为OKAY时,TileLink的D通道中的d_corrupt置高表示带数据的响应消息有错,并且当RRESP为DECERR时表明AXI4从地址不存在,TileLink的D通道中的d_denied置高表示请求被拒绝。
可选的,当输入的id位宽小于等于限制的输出id位宽,所述AXI4IdIndexer模块直接将输入信号输出;当输入的id位宽大于限制的输出id位宽,所述AXI4IdIndexer模块将超出的id位存储于AXI4的user字段。
本申请还提供一种TileLink总线到AXI4总线的转换方法,所述方法采用上述转换系统实现TileLink总线到AXI4总线的转换;所述方法通过TLToAXI4模块、AXI4IdIndexer模块、AXI4Deinterleaver模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Full总线接口上。
可选的,所述方法包括:
步骤一:Manager端在TileLink总线上发起请求,Manager端为TileLink总线发起请求端;
步骤二:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤三:经过AXI4IdIndexer模块,AXI4总线的id位宽被固定;当输入的id位宽小于等于限制的输出id位宽,则直接将输入信号输出;当输入的id位宽大于限制的输出id位宽,则将超出的id位存储于AXI4的user字段;
步骤四:经过AXI4Deinterleaver模块,在请求消息传递过程中,不对数据进行操作;
步骤五:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线;user字段被保存在与id关联的队列中;
步骤六:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤七:Slaver端响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤八:AXI4Buffer模块缓存响应消息;
步骤九:AXI4UserYanker模块根据响应消息中的id提取出user字段,将不带user字段的AXI4总线转换成带user字段的AXI4总线;
步骤十:由于不同AXI4 id的响应可能会交错,经过AXI4Deinterleaver模块对响应进行重排序,使得每个id的响应都是连续的;
步骤十一:经过AXI4IdIndexer模块,若user字段中存在id位,则将其补充回响应消息的id位;
步骤十二:经过TLToAXI4模块,将在AXI4总线上的读数据和写响应通道数据映射回TileLink总线上;
步骤十三:将在TileLink总线上的响应消息回传给Manager。
可选的,所述Manager端为采用TileLink总线的设备,所述Slaver端为采用AXI4总线的设备。
本申请还提供一种TileLink总线到AXI4-Lite总线的转换方法,所述方法采用上述转换系统实现TileLink总线到AXI4总线的转换;所述方法通过TLFragmenter模块、TLToAXI4模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Lite总线接口上。
可选的,所述方法包括:
步骤1:Manager端在TileLink总线上发起请求;Manager端为TileLink总线发起请求端;
步骤2:经过TLFragmenter模块,将较大的TileLink总线请求切分成多个较小的总线请求,这是由于AXI4-Lite不支持猝发传输;
步骤3:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤4:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线,在响应回传过程中再取出;
步骤5:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤6:Slaver响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤7:AXI4Buffer模块缓存响应消息;
步骤8:经过TLToAXI4模块,将在AXI4总线上的响应消息映射到TileLink总线上;
步骤9:经过AXI4UserYanker模块,取出user字段;
步骤10:将在TileLink总线上的响应消息回传给Manager;
可选的,所述Manager端为采用TileLink总线的设备,所述Slaver端为采用AXI4总线的设备。
本发明有益效果是:
本申请针对TileLink总线和AXI4总线读写通道的不同,设计了TLToAXI4模块,TLFragmenter模块,AXI4IdIndexer模块,AXI4Deinterleaver模块,AXI4UserYanker模块和AXI4Buffer模块六个模块,通过将TileLink总线的A通道映射到AXI总线的读地址通道、写地址通道和写数据通道;AXI总线的读数据通道和写响应通道映射到TileLink总线的D通道,实现了TileLink总线到AXI4总线的转换,使得TileLink总线能够使用丰富的AXI4IP库,比如挂载AXI4接口的PCIE IP核,使得TileLink总线能访问到PCIE设备(网卡、显卡等)。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是AXI4总线通道示意图。
图2是AXI4总线完成一次传输的波形图。
图3是AXI总线读取传输事务示意图。
图4是AXI总线写入传输事务示意图。
图5是TileLink总线通道示意图。
图6是本发明提供的TileLink总线到AXI4总线转换方法的通道数据流向图。
图7是本发明一个实施例提供的TileLink总线到AXI4总线的转换方法针对目标接口是AXI4-Full的示意图。
图8是本发明一个实施例提供的TileLink总线到AXI4总线的转换方法针对目标接口是AXI4-Lite的示意图。
图9是采用本申请提供的转换方法实现TileLink总线到AXI4总线转化的仿真波形图。
图10是Xilinx的PCIE IP核示意图。
图11是Linux系统下PCIE设备识别结果截图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为便于理解本申请技术方案,首先对AXI4总线和TileLink总线的接口进行介绍如下:
一、AXI4总线接口介绍
AXI4包括3种接口类型:1.AXI4-Full,面向地址映射的接口,在单地址传输的情况下最大允许256个时钟周期的数据猝发长度,用于满足高性能存储器映射需求。2.AXI4-Lite,用于简单的低吞吐量存储器映射通信。3.AXI4-Stream,去掉了地址传输的功能,允许无限制的数据猝发传输,无需考虑地址映射,用于高速流传输数据。
3种接口类型中,AXI4-Full和AXI4-Lite定义了5条通道:2条用于读取传输事务(读地址通道Address Read channel和读数据通道Read data channel);3条用于写入传输事务(写地址通道Address Write channel、写数据通道Write data channel和写响应通道Write Response channel),如图1所示。
5条通道中,任一通道上发射的每一条数据都称为一次传输(transfer)。传输过程中,当VALID和READY信号均为高且时钟存在上升沿时,发生一次有效传输。例如,图2中在T3处发生传输。AXI4总线在同一时间只能用于读取传输事务或者写入传输事务。
AXI读取传输事务过程如下:首先,读地址通道从主设备(Master)传输地址和控制信息到从设备(Slave);然后,此地址的数据通过读数据通道从设备(Slave)发送到主设备(Master),如图3所示。
AXI写入传输事务:首先,写地址通道从主设备(Master)传输地址和控制信息到从设备(Slave);然后,此地址的数据通过写数据通道从主设备发送到从设备;最后,写入响应通过写响应通道从从设备发送到主设备,以指示传输是否成功,如图4所示。
AXI4的错误响应机制如下表1所示:
表1:AXI4的错误响应机制
二、TileLink总线接口介绍
TileLink总线包含A、B、C、D和E五个通道,如图5所示。通道A:传送一个请求,访问指定的地址范围或对数据进行缓存操作。通道B:传输一个请求,对主代理已缓存的某个地址上的数据进行访问或是写回操作。通道C:响应通道B的请求,也用于自发写回脏缓存数据(dirtied cached data)。通道D:向最初的请求者传送一个数据回复响应或是应答消息。通道E:传输来自最初请求者的缓存块传输的最终应答,用于序列化。任何访存操作都需要通道A和通道D这两个最基本的通道。B、C和E通道具备管理数据缓存块权限的能力,不是必有的通道。
TileLink总线传输数据的方式同AXI4一样,也是基于VALID和READY的握手机制。本申请中,仅用A通道和D通道进行总线转换,因此以下只介绍A通道与D通道。
A通道从主设备发送请求事务到从接口的一个特定地址的相关信息如表2所示。
表2通道A信号
注:z:size字段的位宽,最小4位;o:区分源(主)端所需的比特数;a:地址的位宽,最小32位;w:以字节为单位的数据总线宽度。
D通道从从设备发送通道A请求的响应消息到主接口的相关信息如表3所示。
表3通道D信号
注:z:size字段的位宽,最小4位;o:区分源(主)端所需的比特数;i:区分终(从)端所需的比特数;w:以字节为单位的数据总线宽度。
实施例一:
本实施例提供一种TileLink总线到AXI4总线的转换系统,其特征在于,所述系统包括TLToAXI4模块,TLFragmenter模块,AXI4IdIndexer模块,AXI4Deinterleaver模块,AXI4UserYanker模块和AXI4Buffer模块;根据不同目标接口挑选不同模块依序相互连接;
所述TLToAXI4模块,用于将TileLink总线上信息匹配映射到AXI4总线;所述TLFragmenter模块,用于将较大的事务切分成多个较小的事务,以缩小TileLink的最大逻辑传输;所述AXI4IdIndexer模块,用于限制输出AXI4总线的id位宽;所述AXI4Deinterleaver模块,用于处理AXI4总线不同id的交错响应,对响应进行重排序,以使得每个id的响应都是连续的;所述AXI4UserYanker模块,用于将带有user字段的AXI4总线转换成没有user字段的AXI4总线;所述AXI4Buffer模块,用于缓存AXI4总线上的数据。
实施例二
本实施例提供一种TileLink总线到AXI4总线的转换方法,本实施例以AXI4总线的接口为AXI4-Full为例,参见图6和7,所述方法通过TLToAXI4模块、AXI4IdIndexer模块、AXI4Deinterleaver模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Full总线接口上。
包括:
步骤一:Manager端在TileLink总线上发起请求,Manager端为TileLink总线发起请求端;
步骤二:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤三:经过AXI4IdIndexer模块,AXI4总线的id位宽被固定;当输入的id位宽小于等于限制的输出id位宽,则直接将输入信号输出;当输入的id位宽大于限制的输出id位宽,则将超出的id位存储于AXI4的user字段;
步骤四:经过AXI4Deinterleaver模块,在请求消息传递过程中,不对数据进行操作;
步骤五:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线;user字段被保存在与id关联的队列中;
步骤六:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤七:Slaver端响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤八:AXI4Buffer模块缓存响应消息;
步骤九:AXI4UserYanker模块根据响应消息中的id提取出user字段,将不带user字段的AXI4总线转换成带user字段的AXI4总线;
步骤十:由于不同AXI4 id的响应可能会交错,经过AXI4Deinterleaver模块对响应进行重排序,使得每个id的响应都是连续的;
步骤十一:经过AXI4IdIndexer模块,若user字段中存在id位,则将其补充回响应消息的id位;
步骤十二:经过TLToAXI4模块,将在AXI4总线上的读数据和写响应通道数据映射回TileLink总线上;
步骤十三:将在TileLink总线上的响应消息回传给Manager。
实施例三
本实施例提供一种TileLink总线到AXI4总线的转换方法,本实施例以AXI4总线的接口为AXI4-Lite为例,参见图6和8,所述方法通过TLFragmenter模块、TLToAXI4模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Lite总线接口上。
包括:
步骤1:Manager端在TileLink总线上发起请求;Manager端为TileLink总线发起请求端;
步骤2:经过TLFragmenter模块,将较大的TileLink总线请求切分成多个较小的总线请求,这是由于AXI4-Lite不支持猝发传输;
步骤3:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤4:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线,在响应回传过程中再取出;
步骤5:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤6:Slaver响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤7:AXI4Buffer模块缓存响应消息;
步骤8:经过TLToAXI4模块,将在AXI4总线上的响应消息映射到TileLink总线上;
步骤9:经过AXI4UserYanker模块,取出user字段;
步骤10:将在TileLink总线上的响应消息回传给Manager;
为验证本申请方法的可行性,本申请进行了仿真实验如下:
图9为TileLink总线到AXI4总线的仿真波形图。
如图9所示,在①时刻时钟CLK上升沿,TileLink总线A通道发起请求,a_opcode为0代表发起的是TileLink写数据操作,a_param固定为0,a_size为3代表2^3=8字节(64位)数据(一次传输完成),a_source代表TileLink的source id为3,a_mask为ff代表数据data全部位有效。
在②时刻时钟CLK上升沿,TileLink总线上A通道事务转换到AXI4的写地址(aw)和写数据(w)通道,TileLink上source id的3在AXI4上aw_id为6,aw_burst为1代表增量突发模式,突发传输地址递增,递增量与突发长度aw_len相关,aw_len为0代表突发长度1。
在③时刻时钟CLK上升沿,AXI4的写响应(b)通道产生响应,b_id为6,b_resp为0代表OKAY,普通访问成功。
在④时刻时钟CLK上升沿,AXI4的写响应通道事务转换到TileLink的D通道上,AXI4 id的6到source id的3,d_opcode为0代表是写操作的响应。
图10是Xilinx的PCIE IP核,其中的S_AXI_CTL(AXI4-Lite口)和S_AXI(AXI4-Full口)通过本申请提供的转换方法挂载于TileLink总线上。图11显示PCIE在操作系统中成功识别,PCI bridge(本IP)识别为Xilinx桥设备,在PCIE槽内插的Intel网卡也能够识别到,说明本申请方法能够实现从TileLink总线到AXI4总线的转换。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种TileLink总线到AXI4总线的转换系统,其特征在于,所述系统包括TLToAXI4模块,TLFragmenter模块,AXI4IdIndexer模块,AXI4Deinterleaver模块,AXI4UserYanker模块和AXI4Buffer模块;通过TLToAXI4模块、AXI4IdIndexer模块、AXI4Deinterleaver模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Full总线接口上;通过TLFragmenter模块、TLToAXI4模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Lite总线接口上;
所述TLToAXI4模块,用于将TileLink总线上信息匹配映射到AXI4总线;所述TLFragmenter模块,用于将较大的事务切分成多个较小的事务,以缩小TileLink的最大逻辑传输;所述AXI4IdIndexer模块,用于限制输出AXI4总线的id位宽;所述AXI4Deinterleaver模块,用于处理AXI4总线不同id的交错响应,对响应进行重排序,以使得每个id的响应都是连续的;所述AXI4UserYanker模块,用于将带有user字段的AXI4总线转换成没有user字段的AXI4总线;所述AXI4Buffer模块,用于缓存AXI4总线上的数据。
2.根据权利要求1所述的转换系统,其特征在于,所述TLToAXI4模块在将TileLink总线上信息匹配映射到AXI4总线时,首先建立TileLink总线source id与AXI4总线id的索引表,以保证响应信息与正确的请求相匹配;同时,将A通道的source和size信息存储到AXI4的user字段,便于后续模块调用。
3.根据权利要求2所述的转换系统,其特征在于,所述TLToAXI4模块还存在错误响应机制:当AXI4写响应通道中的BRESP不为OKAY时,TileLink的D通道中的d_denied置高表示请求被拒绝;当AXI4读数据通道中的RRESP不为OKAY时,TileLink的D通道中的d_corrupt置高表示带数据的响应消息有错,并且当RRESP为DECERR时表明AXI4从地址不存在,TileLink的D通道中的d_denied置高表示请求被拒绝。
4.根据权利要求3所述的转换系统,其特征在于,当输入的id位宽小于等于限制的输出id位宽,所述AXI4IdIndexer模块直接将输入信号输出;当输入的id位宽大于限制的输出id位宽,所述AXI4IdIndexer模块将超出的id位存储于AXI4的user字段。
5.一种TileLink总线到AXI4-Full总线的转换方法,其特征在于,所述方法采用权利要求1-4任一所述的转换系统实现TileLink总线到AXI4总线的转换;所述方法通过TLToAXI4模块、AXI4IdIndexer模块、AXI4Deinterleaver模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Full总线接口上。
6.根据权利要求5所述的转换方法,其特征在于,所述方法包括:
步骤一:Manager端在TileLink总线上发起请求,Manager端为TileLink总线发起请求端;
步骤二:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤三:经过AXI4IdIndexer模块,AXI4总线的id位宽被固定;当输入的id位宽小于等于限制的输出id位宽,则直接将输入信号输出;当输入的id位宽大于限制的输出id位宽,则将超出的id位存储于AXI4的user字段;
步骤四:经过AXI4Deinterleaver模块,在请求消息传递过程中,不对数据进行操作;
步骤五:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线;user字段被保存在与id关联的队列中;
步骤六:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤七:Slaver端响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤八:AXI4Buffer模块缓存响应消息;
步骤九:AXI4UserYanker模块根据响应消息中的id提取出user字段,将不带user字段的AXI4总线转换成带user字段的AXI4总线;
步骤十:由于不同AXI4 id的响应会交错,经过AXI4Deinterleaver模块对响应进行重排序,使得每个id的响应都是连续的;
步骤十一:经过AXI4IdIndexer模块,若user字段中存在id位,则将其补充回响应消息的id位;
步骤十二:经过TLToAXI4模块,将在AXI4总线上的读数据和写响应通道数据映射回TileLink总线上;
步骤十三:将在TileLink总线上的响应消息回传给Manager。
7.根据权利要求5或6所述的转换方法,其特征在于,所述Manager端为采用TileLink总线的设备,所述Slaver端为采用AXI4总线的设备。
8.一种TileLink总线到AXI4-Lite总线的转换方法,其特征在于,所述方法采用权利要求1-4任一所述的转换系统实现TileLink总线到AXI4总线的转换;所述方法通过TLFragmenter模块、TLToAXI4模块、AXI4UserYanker模块和AXI4Buffer模块级联,将TileLink总线上事务转换到AXI4-Lite总线接口上。
9.根据权利要求8所述的转换方法,其特征在于,所述方法包括:
步骤1:Manager端在TileLink总线上发起请求;Manager端为TileLink总线发起请求端;
步骤2:经过TLFragmenter模块,将较大的TileLink总线请求切分成多个较小的总线请求,这是由于AXI4-Lite不支持猝发传输;
步骤3:经过TLToAXI4模块将TileLink转换为AXI4,将A通道上的事务对应到相应的AXI4通道;
步骤4:经过AXI4UserYanker模块将带有user字段的AXI4总线转换成不带user字段的AXI4总线,在响应回传过程中再取出;
步骤5:经过AXI4Buffer模块,对AXI4总线上请求消息进行缓存;
步骤6:Slaver响应请求,回传响应消息;Slaver端为AXI4总线响应端;
步骤7:AXI4Buffer模块缓存响应消息;
步骤8:经过TLToAXI4模块,将在AXI4总线上的响应消息映射到TileLink总线上;
步骤9:经过AXI4UserYanker模块,取出user字段;
步骤10:将在TileLink总线上的响应消息回传给Manager。
10.根据权利要求8或9所述的转换方法,其特征在于,所述Manager端为采用TileLink总线的设备,所述Slaver端为采用AXI4总线的设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110175842.0A CN112988647B (zh) | 2021-02-06 | 2021-02-06 | 一种TileLink总线到AXI4总线转换系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110175842.0A CN112988647B (zh) | 2021-02-06 | 2021-02-06 | 一种TileLink总线到AXI4总线转换系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988647A CN112988647A (zh) | 2021-06-18 |
CN112988647B true CN112988647B (zh) | 2024-04-30 |
Family
ID=76392530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110175842.0A Active CN112988647B (zh) | 2021-02-06 | 2021-02-06 | 一种TileLink总线到AXI4总线转换系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988647B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797442B2 (en) | 2021-10-18 | 2023-10-24 | Andes Technology Corporation | Integrated circuit and method for executing cache management operation |
CN114153765A (zh) * | 2021-11-26 | 2022-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种访存接口模块、计算设备及数据传输方法 |
CN116795746B (zh) * | 2023-08-29 | 2023-12-19 | 北京象帝先计算技术有限公司 | 数据传输装置、系统、组件、电子设备及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032973A (zh) * | 2018-07-09 | 2018-12-18 | 胡振波 | Icb总线系统及协议 |
CN109828941A (zh) * | 2019-03-06 | 2019-05-31 | 苏州浪潮智能科技有限公司 | Axi2wb总线桥实现方法、装置、设备及存储介质 |
-
2021
- 2021-02-06 CN CN202110175842.0A patent/CN112988647B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032973A (zh) * | 2018-07-09 | 2018-12-18 | 胡振波 | Icb总线系统及协议 |
CN109828941A (zh) * | 2019-03-06 | 2019-05-31 | 苏州浪潮智能科技有限公司 | Axi2wb总线桥实现方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
一种低功耗高效率的双向AXI2AHB 总线桥设计与实现;焦龙涛等;《无线电通信技术》;第43卷(第2期);第78-82页 * |
高效率PLB2AXI 总线桥的设计与验证;张浩等;《计算机工程》;第46卷(第8期);第228-233页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112988647A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988647B (zh) | 一种TileLink总线到AXI4总线转换系统及方法 | |
US7062587B2 (en) | Unidirectional bus architecture for SoC applications | |
US7797467B2 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
CN112035389B (zh) | 一种plb-axi总线转换桥及其工作方法 | |
US6636927B1 (en) | Bridge device for transferring data using master-specific prefetch sizes | |
JP2016095881A (ja) | 記憶システム及び方法 | |
CN109032973B (zh) | Icb总线系统 | |
CN112965924B (zh) | 一种AHB-to-AXI桥接器及激进式处理方法 | |
US8954644B2 (en) | Apparatus and method for controlling memory | |
CN110109847A (zh) | Apb总线多个主设备的仲裁方法、系统及存储介质 | |
US20130111141A1 (en) | Multi-core interconnect in a network processor | |
US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
EP1222551B1 (en) | Asynchronous centralized multi-channel dma controller | |
CN114416632A (zh) | 一种基于多总线协议灵活转换的两级缓存互联结构 | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
CN116107923B (zh) | 一种基于bram的多对多高速访存架构和访存系统 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
CN113704151B (zh) | 基于TileLink总线的芯片互联架构及互联方法 | |
US11392533B1 (en) | Systems and methods for high-speed data transfer to multiple client devices over a communication interface | |
JP4175901B2 (ja) | バスブリッジ回路、バス接続システム、及びバスブリッジ回路のバッファ制御方法 | |
CN116561036B (zh) | 数据访问控制方法、装置、设备及存储介质 | |
CN116186793B (zh) | 一种基于risc-v的安全芯片架构及其工作方法 | |
CN113868179B (zh) | 一种LPC_DPRam的通信装置及数据转换方法 | |
CA2282166C (en) | Method and apparatus for bridging a digital signal processor to a pci bus | |
Zhao et al. | A Novel Design of High-speed Multi-port Memory Interface for Digital Signal Processor |
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 |