CN105005546B - 一种内置交点队列的异步axi总线结构 - Google Patents
一种内置交点队列的异步axi总线结构 Download PDFInfo
- Publication number
- CN105005546B CN105005546B CN201510346305.2A CN201510346305A CN105005546B CN 105005546 B CN105005546 B CN 105005546B CN 201510346305 A CN201510346305 A CN 201510346305A CN 105005546 B CN105005546 B CN 105005546B
- Authority
- CN
- China
- Prior art keywords
- write
- address
- data
- main equipment
- 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
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
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Abstract
本发明公开了一种内置交点队列的异步AXI总线结构,包括AXI总线结构和交点队列通信结构;AXI总线结构中包括5个通道:写地址通道、写数据通道、写返回通道、读地址通道和读数据通道;交点队列通信结构满足AXI总线协议,内置于通信结构中,实现核间通信;主设备与主设备通信采用交点队列通信结构;写地址、写数据、写返回通道组成一次写操作,读地址通道、读数据通道组成一次读操作。本发明的结构可减少资源消耗,实现主设备全并行工作,提高并行性;采用交点队列型结构,打破了片上通信网络性能瓶颈-握手闭环,实现了低延迟的通信功能;交点队列采用异步FIFO实现,实现局部同步、整体异步方式。
Description
技术领域
本发明属于多核片上系统中核间通信技术领域,尤其涉及一种内置交点队列的异步AXI总线结构。
背景技术
1.AXI总线协议
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持显著传输访问和乱序访问,并更加容易就行时序收敛。AXI 是AMBA 中一个新的高性能协议。AXI技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。AXI特点: 单向通道体系结构。信息流只以单方向传输,简化时钟域间的桥接,减少门数量。当信号经过复杂的片上系统时,减少延时。支持多项数据交换。通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。独立的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。
AXI协议是目前广泛应用于高性能SoC中,但是,协议规定只可以由主设备发起操作,主设备与主设备之间的数据传输通常使用共享存储的方式实现。共享存储方式,资源消耗较大,且并行性不好,即每次只可以同时有两个主设备操作。
2.交点队列型(CQ,Crosspoint-Queued)交换结构
随着互联网与大数据中心对速度的迫切需要,现有的交换结构结构将不再适合。这是因为在现有的交换结构结构下,主要是通过增加流水线等方式提高速度,付出的代价是交换结构的高复杂度,而交换结构复杂度的增加,使得提高速度越来越难,复杂度与速度是一对不可调和的矛盾。为了解决这些问题,联合输入交点队列(Combined Input andCrosspoint Queuing,CICQ)型交换结构得到了广泛的关注,这种模型在输入与输出端有大量的队列缓冲,在满足高速的要求下,更易实现,IBM的Prizma就采用了这种结构。CICQ交换结构除了在输入线卡中提供了大量的虚拟输出队列(Virtual Output Queue,VOQ)外,还在交换阵列(Crossbar)的交叉点处加入了一个包的缓冲器。在每一个时隙内,输入可以向每个空的缓冲存入一个包,同时输出端可以独立的从满的缓冲取出一个包,这样输出与输入可以相互独立的工作,而不依赖于中心调度器。
虽然CICQ有如此多的优点,但是也存在着一些问题,CICQ结构在线卡与交换阵列之间还是存在实时闭环,线卡需要知道缓存的状态(是空还是满),满了就不能再写,否则数据就会出错,这就需要握手信号,为了正确的传送握手信号,解决的一个办法就是增大时隙,但这就会降低交换结构的性能。解决这种瓶颈另一种办法就是断开线卡与交叉开关矩阵之间的联系,使其不需要握手。
CQ型交换结构解决了这个问题。CQ型交换结构将线卡中的缓存全部移动的交叉点处。在每个交叉点处插入缓存队列,将输入与输出分开,队列满则直接丢包,断开了线卡与交叉阵列之间的联系,也就打破了这个制约速度的瓶颈;另一方面,调度也是制约交换结构性能的一个瓶颈,为了解决头阻塞问题,一般采用虚拟存储队列VOQ,这就导致了每个端口有多个输入与多个输出,为了公平公正有效的实现调度,一般的调度在输入与输出端都会有仲裁器,当仲裁器匹配时才能传送包,这样会增加调度算法的复杂度,降低了交换结构的性能,而CQ型交换结构模型则只需在输出模块有一个仲裁器就能解决问题,有效的降低了调度算法的复杂度,提高了速度。交点型缓存结构目前处于模型实现阶段,还没具体的硬件实现,且需要相应的总线协议才可以使用。
发明内容
针对传统AXI总线结构中主设备的通信并行性不足、资源消耗大问题,本发明结合了交点队列型交换结构相关技术,提出了一种内置交点队列的AXI总线结构。
主要包括AXI总线结构和交点队列通信结构,AXI总线共有5个通道,写地址通道、写数据通道、写返回通道、读地址通道、读数据通道。交点队列通信结构满足AXI总线协议,内置于通信结构中,实现核间通信的功能。主要包括:地址译码单元、数据译码单元、比较单元、仲裁器、交点对列、AXI接口单元组成。
为解决上述技术问题,本发明提供一种内置交点队列的AXI总线结构,包括AXI总线结构和交点队列通信结构;
AXI总线结构中包括5个通道:写地址通道、写数据通道、写返回通道、读地址通道和读数据通道;5个通道之间相互独立,有各自的握手信号,数据交换通过ID号区别;
交点队列通信结构满足AXI总线协议,内置于通信结构中,实现核间通信;
主设备与主设备通信采用交点队列通信结构,在主设备之间置入一个FIFO缓存队列,实行全并行通信;
主设备与从设备之间和主设备与主设备之间均存在数据传输交换;写地址、写数据、写返回通道组成一次写操作,读地址通道、读数据通道组成一次读操作。
交点队列通信结构主要包括:地址译码单元、数据译码单元、比较单元、仲裁器、交点对列、AXI接口单元
本发明所达到的有益效果:
(1)结合AXI总线协议,此结构可以广泛应用于基于AXI总线协议的系统中,应用广泛。
(2)改变了AXI总线结构中主设备只可以共享存储方式通信的结构,减少资源消耗,实现主设备全并行工作,提高并行性。
(3)采用交点队列型结构,打破了片上通信网络性能瓶颈-握手闭环,实现了低延迟的通信功能;
(4)采用了全阵列排布的结构,可以全并行工作,具有高带宽的性能;
(5)有效的降低了调度模块调度算法的复杂度,在不影响调度公平性的同时,有效提高了调度效率。
(6)交点队列采用异步FIFO实现,实现局部同步、整体异步方式,实现跨时钟域处理,可以用在异步时钟域。
附图说明
图1 是系统整体框图;
图2 是AXI控制器结构框图;
图3 是地址模块逻辑设计;
图4 是地址通道结构图;
图5 是写数据模块逻辑设计图;
图6 是写数据通道逻辑设计;
图7 是写数据通道译码器;
图8 是写数据通道wready信号产生逻辑;
图9 是写数据通道比较单元逻辑图;
图10 是写返回数据译码器;
图11 是写返回通道;
图12 是读数据译码器;
图13 是读数据通道数据流向。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
<一>、整体结构
图1为整体结构示意图,存在两种数据交换方式:主设备与从设备之间和主设备与主设备之间。
主设备与从设备的数据交换与传统的AXI总线类似,由主设备发起,数据经过总线到达从设备,由于会同时有多个主设备请求从设备,因此在从设备接口中有个仲裁器进行仲裁。
主设备与主设备通信采用交点队列型通信结构,即在每个主设备之间置入一个FIFO缓存队列,实行全并行通信。每两个主设备之间存在一个FIFO缓存队,如本实施例中共设置四个主设备及四个从设备,由于主设备不需要自发自收,去除4个自发自收的,因此共存在12个FIFO缓存队。
本设计的结构是一种混合型的地址/数据通道的 AXI bus matrix,就是“多地址/数据通道”与“共享地址/数据通道”的混合体;即是总线的互联结构内部既有专有的地址/数据通道,又有共享型地址/数据通道。这种类型的总线结构,也是实际SoC中应用最多的总线结构,比较灵活,可满足对带宽需求高低不同的各种IP。
图2为AXI控制器结构框图,图中只画出了主设备master0对从设备slave0的电路结构,每个主设备master都可以以同样的方式访问到其他从设备slave。根据通道发送信息到接受信息的方向,在这个路径上需要依次经过发送端口、数据分配器decoder、异步FIFO、仲裁器arbiter和接受端口。异步FIFO 用于数据切换时钟域。通过数据分配器decoder 模块,数据可以决定需要传输到哪一个主设备master/从设备slave,通过仲裁器模块,不同的数据在同时到达主设备master/从设备slave 时,通过仲裁实现了数据的访问。
每个主设备master与从设备slave之间插入FIFO,图中虚线部分为主设备master与主设备master传输通道及接口逻辑。本设计结构存在两种数据交换方式,一种是主设备master与从设备slave之间的传输方式,另一种则是主设备master与主设备master之间的传输方式。具体介绍如下:
(1)主设备master与从设备slave之间的数据传输
首先写地址通道请求写地址总线,以主设备master0接口为例,当主设备master0接口的地址有效时,主设备master0接口对应的写地址译码器将根据地址,路由至相应的Mastrer0-(slave0、slave1、slave2、slave3)对应的通道,判定此写地址通道是否处于忙状态,若接收请求,则发出响应信号,握手成功,将对应的地址存入相应的通道中的FIFO中,若处于忙状态,则不响应请求,则地址一直挂在总线上等待响应。
在响应地址请求的同时,引入比较单元compare unit,根据写地址ID号awid的信息,将此ID号对应的路由结果存入比较单元compare unit中,记录此ID对应的路由信息,用于写数据通道的路由。
当地址存入对应写地址通道中的虚拟通道(每个虚拟通道由一组FIFO构成,用于避免阻塞,即存入虚拟通道中的FIFO中)后,传输只完成了一半,当虚拟通道有数据时,就会向对应的目的地请求总线,极限条件下会有4路请求,总线仲裁器会仲裁选择响应一路请求,仲裁算法采用轮询算法。当目的从设备slave响应一路写地址请求时,一次地址传输完成。
其次是写数据通道,当主设备master完成地址握手后,写数据将请求总线。写数据请求总线后,将通过写数据ID号wid,取出比较单元compare unit中寄存的路由信息,找出写数据的目的地。从比较单元compare unit取出路由信息的同时,会取出一个flag标记位,标记此信息的有效性,此标记位,是为了避免写地址通道和写数据通道同时握手时,造成的写地址通道取出的路由信息是错误的。只有当地址通道握手成功后,写数据通道取出的路由信息才会有效,写数据通道也只能在此标记位有效时才会发出响应信号。这样就保证了只有写地址握手成功后,才会去响应写数据通道,避免了地址、数据通道完全分离导致的数据先于地址发送造成的死锁问题。
当写数据传输至目的地写数据通道的虚拟通道后,完成了一半的传输任务。其后的操作与写地址后半程的传输相类似。多个请求一个从设备slave,仲裁器将不停的旋转,直到写数据ID与从设备slave 接口中寄存的写地址ID匹配后,将响应此数据通道的写数据请求,开始接收写数据。
写操作中,因为总线中,数据和地址是完全分离的,数据有可能会在地址之前请求从设备slave,而从设备slave此时响应的话,会造成死锁。因此在从设备slave 接口中,人为的规定了从设备slave 接口先根据仲裁器响应一路地址信号,然后再根据地址及ID信息响应一路写数据请求,这就避免了死锁的存在。
写地址通道、写数据通道、写返回通道组成一次完整的写事件。当写数据完成传输成功后,会有一个写返回操作,写返回ID号,此ID号与写地址ID号awid和写数据ID号wid一致,说明此次ID号的操作完成。由于主设备MASTER可以发起对应多个从设备slave的操作,因此在主设备MASTER端会有多个写返回请求,因此在主设备MASTER接收端的写返回通道也会有相应的仲裁器,具体结构可以见下文中的单独通道的数据通道。
读地址通道、读数据通道完成一次读事件。其数据流向与写事件数据流向相反,结构类似,不再赘述。
(2)主设备master与主设备master之间的数据传输
主设备master之间的通信结构如图1所示:为分布式全排列的形式,每两个主设备master之间都有独立的传输通道。每个主设备master进行写操作的时候,都有独立的写通道,这就省去了写仲裁这一步骤,简化仲裁算法。本实施例中,在进行读操作时极限条件下,会有3个同时请求主设备master,再加上4个从设备slave的请求,总共7个请求信号。因此在读数据通道中的仲裁器将是7选1的仲裁器,而写数据通道的仲裁器则是4选1的,主设备master之间的传输也是基于AXI协议的。
<二>、模块设计
AXI总线共有5个通道,写地址通道、写数据通道、写返回通道、读地址通道、读数据通道。写地址、写数据、写返回通道组成一次写操作;读地址通道、读数据通道组成一次读操作。在AXI总线中通道相互独立,但是在接口部分会有信号交织。模块设计将以读写操作描述。具体如下:
2.1写操作模块设计
写操作分为三个独立的通道,写地址通道,写数据通道和写返回通道,每个模块相互独立,写地址与写数据通道在数据输入接口出会有控制信息交互。
(1)写地址通道
1)写地址通道整体结构
写地址通道如图3所示,本设计结构为混合型的互联结构的读/写地址通道的逻辑设计图,其中共享的传输层的为4个从设备,其余12个slave为独立的专享通道,每个主设备master和对应自己独立的3个从设备slave接口。当主设备master发出写命令时,首先经过数据解码模块decoder,数据解码模块将地址通道的信息传送至相应的从设备。当主设备master1 、master2或master3同时对从设备slave1 或者 从设备slave2 发出写命令时,共享层内部的仲裁器arbiter 来仲裁主设备master1 还是 主设备master2 获得访问权。仲裁器保证了同一时刻只有一个主设备占用总线,避免了冲突。
2)写地址通道结构(单通道)
如图4所示,为地址通道中截取的一个单通道数据流逻辑图。以主设备master2发送地址至从设备slave2为例。其操作过程如下:
首先主设备master2将地址及相关信息放在总线上,等待握手信号;
总线对应的主设备master2接口检测的写地址有效信号awvalid后,对地址进行译码,解码出目的地,控制多路选择器,打开相应的通道,向对应的目的地(FIFO)发送请求信号。
对应的FIFO接收到请求信号后,判定是否为满,当FIFO不满时,说明空闲,准备接收数据,会发出写地址准备好信号awready。
当检测到写地址有效信号awvalid和写地址准备好信号awready同时有效后,一次握手完成,进行数据传输。
当FIFO非空后,会向从设备slave2发送请求信号;
由于会有多个FIFO同时请求从设备slave2,因此请求信号会进入总线仲裁器进行仲裁,仲裁后生成请求信号传送至从设备slave2。
从设备slave2接收到请求信号后,判定自己是否空闲,若空闲,则响应请求,发送写地址准备好信号awready。若处于忙状态,则一直不响应,直到空想为止,FIFO数据则一直请求,总线仲裁器优先级状态不再刷新,直到这次请求完成。当写地址有效信号awvalid与写地址准备好信号awready信号有效后,握手完成,数据传送。
(2)写数据通道
1)整体结构
写数据通道设计如图5所示,AXI总线协议中,共5个通道,5个通道之间相互独立,有各自的握手信号,数据交织通过ID号区别,在写地址通道握手成功后,片上交换结构将记录下写地址ID号、主机ID号及相应的链路信息,当主设备数据有效时,数据进入数据解码模块,根据数据的ID号确定目的从设备,当检测到相应的从设备处于空闲状态时,将会触发数据传送,当多个主设备请求同一个设备时,经过仲裁器仲裁后响应其中的一路,这里又分为两种情况:
当访问的从设备中,为同一个外设,如对同一个CAN写数据,当响应其中一个主设备后,CAN即处于忙碌状态,此时其他的主设备就得等待,等待当前占用的主设备事件全部处理完后,才可响应其请求。
当访问的从设备,为不同外设,如一个请求CAN,另一个则请求UART,虽然,在同一时刻只会响应一个主设备地址请求,但是,当此设备握手成功后,可以立即响应另一个设备而不需要等待上一个设备请求事件的处理完,当两个主设备地址都握手成功后,可以使用时分复用的方式,将外设数据用ID号进行交织传输,提高总线的利用率。
2)整体结构(单通道)
为了清楚的描述数据流向,图6提取了一个单通道data path逻辑图。与地址通道类似,以主设备master2发送写数据至从设备slave2为例。其操作过程如下:
首先主设备master2将写数据及相关信息放在总线上,等待握手信号;
总线对应的主设备master2接口检测写数据有效信号wvalid,以写数据ID号wid信号为读地址,读出写地址通道存储(此存储以写地址ID号awid为写地址,将地址通道译码结果存储)的译码结果,解码出目的地(即只有写地址ID号awid与写数据ID号wid匹配时数据才是有效数据),控制多路选择器,打开相应的通道,向对应的目的地(FIFO)发送请求信号
对应的FIFO接收到请求信号后,判定是否为满,当FIFO不满时,说明空闲,准备接收数据,会发出写数据准备好信号wready。
当检测到写数据有效信号wvalid和写数据准备好信号wready同时有效后,一次握手完成,进行数据传输。
当FIFO非空后,会向从设备slave2发送请求信号;
由于会有多个FIFO同时请求从设备slave2,因此请求信号会进入总线仲裁器进行仲裁,仲裁后生成请求信号传送至从设备slave2。
为了避免死锁,这里对从设备slave 接口控制进行了顺序固定,即从设备slave2一定是先取得写地址信息后,才会握手写数据通道。从设备slave2接收到请求信号后,判定取得的写数据ID号wid、写数据主机ID号whostid与从设备slave2之前取得的写地址ID号awid、写地址主机ID号awhostid匹配否,若不匹配,则握手不成功,总线仲裁器将刷新优先级列表,再次握手,直到握手成功。当握手成功后,总线仲裁器优先级列表固定,直到此次操作完成,才会打开总线仲裁优先级更新使能。
只有当写数据有效信号wvalid与写数据准备好信号wready有效后,握手完成,数据开始传送,当检测到写最后信号wlast位为高时候,一次写操作完成。
图7是数据通道从设备slave接口部分数据流向逻辑,图中清楚的标出了有多少各个主设备mater对同一个从设备slave的请求状态,极限情况下,会有4个主设备master同时请求从设备slave。
3)写数据通道译码器
在主设备端口,除了两个地址分配器外,还有一个写数据通道分配器,其负责把写数据通道的信息传输到相应的从设备端口。如图7写数据通道分配器架构图所示,写数据通道分配器的判断依据是进行 ID 对比。首先,在写地址通道会对信息流进行地址译码,译码结果将会存储到比较单元中(以awid为写地址),当写数据通道有数据请求时,将以wid为读地址,取出之前的译码结果,这样就开启相应的写数据通道,数据通道流向对应的从设备。
写数据通道写数据准备好信号wready产生逻辑如图8所示,主要由存储器和MUX组成,以主设备master0为例(其他核类似),由于主设备master可以向7个目的地发送写数据(包括slave0、slave1、slave2、slave3、master1、master2、master3),因此可以有7个wready信号产生源,这些信号将通过MUX选择出一个最终的wready信号与主设备master0握手。
4) 写数据通道比较单元Compare unit
写数据通道compare unit逻辑设计图如图9所示:为了清楚的看清逻辑设计,图中省去了时钟与复位的连接关系(本设计为同步设计,采用异步复位)。图中分上下两部分,共有两个寄存器堆,一个用于存储写地址通道译码的结果供写数据通道使用,为16×7bit的存储空间,另一个则用于产生有效标记位,标记寄存器堆中的数据为有效数据,为16×1bit的存储空间,两寄存器堆的地址为一一对应的,如图中标式所示。此设计的工作流程如下:
写地址通道写地址有效信号awvalid有效时,以写地址ID号awid为写地址,将由地址通道所得的译码结果通过存储在译码结果寄存器堆中;同时,当写数据通道写数据有效信号wvalid有效时,以写数据ID号wid为读地址,译码结果寄存器堆中的结果数据读取出,由于存储深度为16,mux 延迟比较大,加上后续还会有逻辑,会造成时序不收敛。因此,在设计时此处使其寄存输出,以获得时序的收敛,提高系统主频。
由于读写寄存器操作是同时的,写地址通道与写数据通道是完全分离的,即存在地址没来,数据先来的可能性,此时,写数据通道得到的译码结果是不正确的,这样会造成译码错误,从而导致电路进入死锁状态。为了解决此类问题,引入flag标记位,标记寄存器堆中的数据是否有效,只有当数据有效时,才会出发后续工作的执行。
由图可知,当写地址有效信号awvalid有效后,将以写地址ID号awid为地址,在下一个时钟沿到来时将对应的flag寄存器置1,即标记对应的寄存器堆值为有效值,当写数据准备好信号wready有效后,即写数据握手成功后,在下一个时钟沿到来后将对应的flag寄存器值置0,即标记数据以取出,数据失效。因地址和数据有同时到来的可能,为了满足AXI总线协议,数据后于地址出现在总线上,flag标记为在后续延迟两个时钟周期有效。
(3)写返回通道
AXI协议中,从设备需向主设备返回写返回信息,告知主设备写已经完成。写返回信号通过写返回通道返回给主设备。
在从设备端口,共有两个分配器,分别是读数据通道分配器与写响应通道分配器。这两个分配器的产生机制相同,因为读数据ID号rid、读数据主机ID号rhostid与写返回ID号bid、写返回主机ID号bhostid 中,均包含了 AXI 主设备的信息,那么可以根据这两类ID,来分配读数据通道与写返回通道上的信息流向那个主设备master。如图10所示,为读数据通道分配器架构图,从设备slave发出的写返回数据相关信息,会根据写返回ID号bid、写返回主机ID号bhostid中的内容,来确定主设备端口编号,进而确定了数据的流向。读数据通道分配器的设计原理,与此相同,在此不再累述。
图11为写返回通道数据逻辑图,极限条件下,4个从设备slave及3个主设备master核同时请求主设备master0,总线仲裁器会根据目前的优先级链表,仲裁出结果,选择一路请求,如图,当前仲裁优先级为2最高,则打开从设备slave2到主设备master0的通路,开始数据传输,数据传输后,仲裁器更新优先级列表。
2.2 读操作模块设计
读数据通道与写返回通道结构类似,读数据译码器结构如图12,读数据通道结构如图13所示。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种内置交点队列的异步AXI总线结构,其特征是,包括AXI总线结构和交点队列通信结构;
AXI总线结构中包括5个通道:写地址通道、写数据通道、写返回通道、读地址通道和读数据通道;5个通道之间相互独立,有各自的握手信号,数据交换通过ID号区别;
交点队列通信结构满足AXI总线协议,内置于通信结构中,实现核间通信;
主设备与主设备通信采用交点队列通信结构,在主设备之间置入一个FIFO缓存队列,实行全并行通信;
主设备与从设备之间和主设备与主设备之间均存在数据传输交换;写地址、写数据、写返回通道组成一次写操作,读地址通道、读数据通道组成一次读操作;
写数据通道中包含一比较单元,比较单元中包含两个地址一一对应的寄存器堆,一个用于存储写地址通道译码的结果供写数据通道使用;另一个用于产生有效标记位,标记寄存器堆中的数据为有效数据;
主设备与从设备之间的数据传输步骤为:
首先,写地址通道请求写地址总线,当主设备接口的地址有效时,主设备接口对应的写地址译码器根据地址,路由至相对应的通道,判定此写地址通道是否处于忙状态,若接收请求,则发出响应信号,握手成功,将对应的地址存入该通道中的FIFO缓存队列中,若处于忙状态,则不响应请求,地址一直挂在总线上等待响应;
在响应地址请求的同时,根据写地址ID号的信息,将此ID号对应的路由结果存入比较单元中,记录此ID号对应的路由信息,用于写数据通道的路由;
当地址存入对应写地址通道中的虚拟通道后,虚拟通道有数据时,就向对应的目的地请求总线,总线仲裁器仲裁选择响应一路请求,当目的从设备响应一路写地址请求时,一次地址传输完成;
其次,当主设备完成地址握手后,写数据请求总线;写数据请求总线后,通过写数据ID号,取出比较单元中寄存的路由信息,找出写数据的目的地;从比较单元取出路由信息的同时,取出一个有效标记位,标记此信息的有效性,只有当写地址通道握手成功后,写数据通道取出的路由信息才有效,写数据通道只在此标记位有效时才发出响应信号;
当写数据传输至目的地写数据通道的虚拟通道后,虚拟通道有数据时,就向对应的目的从设备请求总线,多个请求一个从设备时,仲裁器仲裁,直到写数据ID号与从设备接口中寄存的写地址ID号匹配后,响应此写数据通道的写数据请求,开始接收写数据;
再次,当写数据完成传输成功后,从设备向主设备返回一写返回信息,写返回信号通过写返回通道返回给主设备。
2.根据权利要求1所述的内置交点队列的异步AXI总线结构,其特征是,
写地址通道结构为混合型的互联结构的读/写地址通道;当主设备发出写命令时,经过数据解码模块将地址通道的信息传送至相应的从设备;当多个主设备同时对一从设备发出写命令时,由共享层内部的所述仲裁器来仲裁使同一时刻只有一个主设备占用总线获得访问权。
3.根据权利要求1所述的内置交点队列的异步AXI总线结构,其特征是,
在主设备端口中包含一写数据通道分配器,用于把写数据通道的信息传输到相应的从设备端口;其传输步骤为:在写地址通道对信息流进行地址译码,译码结果存储到比较单元中,当写数据通道有数据请求时,将以写数据ID号为读地址,取出之前存储的译码结果,开启相应的写数据通道,数据通道流向对应的从设备。
4.根据权利要求1所述的内置交点队列的异步AXI总线结构,其特征是,在从设备端口,共有两个分配器,分别是读数据通道分配器与写响应通道分配器。
5.根据权利要求1所述的内置交点队列的异步AXI总线结构,其特征是,主设备与主设备之间的通信为分布式全排列的形式,每两个主设备之间都有独立的传输通道;每个主设备进行写操作的时候,都有独立的写通道。
6.根据权利要求1所述的内置交点队列的异步AXI总线结构,其特征是,
在写地址通道握手成功后,记录下写地址ID号、主设备ID号及相应的链路信息,当主设备数据有效时,数据进入数据解码模块,根据写数据的ID号确定目的从设备,当检测到相应的从设备处于空闲状态时,触发数据传送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510346305.2A CN105005546B (zh) | 2015-06-23 | 2015-06-23 | 一种内置交点队列的异步axi总线结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510346305.2A CN105005546B (zh) | 2015-06-23 | 2015-06-23 | 一种内置交点队列的异步axi总线结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105005546A CN105005546A (zh) | 2015-10-28 |
CN105005546B true CN105005546B (zh) | 2018-01-30 |
Family
ID=54378222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510346305.2A Active CN105005546B (zh) | 2015-06-23 | 2015-06-23 | 一种内置交点队列的异步axi总线结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005546B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909528B (zh) * | 2015-12-23 | 2019-08-13 | 华为技术有限公司 | 一种数据传输的调度方法及装置 |
CN106372029A (zh) * | 2016-09-06 | 2017-02-01 | 北方电子研究院安徽有限公司 | 一种基于中断的点对点片内通信模块 |
CN106951391B (zh) * | 2017-02-15 | 2020-02-11 | 合肥芯荣微电子有限公司 | 一种芯片内点对点互连总线访问屏蔽系统和方法 |
CN106909524B (zh) * | 2017-03-17 | 2019-09-10 | 数据通信科学技术研究所 | 一种片上系统及其通信交互方法 |
CN108664334B (zh) * | 2017-04-01 | 2021-12-28 | 厦门旌存半导体技术有限公司 | 消息代理及其方法 |
CN108664333B (zh) * | 2017-04-01 | 2021-11-30 | 厦门旌存半导体技术有限公司 | 片上系统的消息系统 |
CN111625376B (zh) * | 2017-04-01 | 2023-08-04 | 北京忆芯科技有限公司 | 通过代理进行队列通信的方法与消息系统 |
CN108595350B (zh) * | 2018-01-04 | 2022-04-05 | 深圳开阳电子股份有限公司 | 一种基于axi的数据传输方法和装置 |
CN109634900B (zh) * | 2018-11-13 | 2020-12-08 | 北京时代民芯科技有限公司 | 一种基于axi协议的多层次低延迟互连结构 |
CN109918043B (zh) * | 2019-03-04 | 2020-12-08 | 上海熠知电子科技有限公司 | 一种基于虚拟通道的运算单元共享方法和系统 |
CN111316643A (zh) * | 2019-03-29 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 视频编码方法、设备和可移动平台 |
CN110674075B (zh) * | 2019-09-27 | 2023-03-10 | 山东华芯半导体有限公司 | 一种axi总线广播机制的实现方法和系统 |
CN113821470A (zh) * | 2020-06-19 | 2021-12-21 | 平头哥(上海)半导体技术有限公司 | 总线设备、嵌入式系统和片上系统 |
CN112069115B (zh) * | 2020-09-18 | 2021-06-25 | 上海燧原科技有限公司 | 数据传输方法、设备及系统 |
CN112257381B (zh) * | 2020-10-26 | 2024-01-12 | 广州安凯微电子股份有限公司 | 一种AXI Crossbar设计电路验证方法和系统 |
CN112463668B (zh) * | 2020-11-20 | 2021-10-22 | 华中科技大学 | 一种基于stt-mram的多通道高速数据访存结构 |
CN112749057A (zh) * | 2020-12-30 | 2021-05-04 | 成都忆芯科技有限公司 | 用于读事务的总线监视器 |
CN113254368B (zh) * | 2021-07-15 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 从axi总线到opb总线的数据写入方法及读取方法 |
CN113704006B (zh) * | 2021-08-31 | 2023-11-03 | 上海阵量智能科技有限公司 | 通信方法、装置、电子设备、存储介质及片上系统 |
CN113641603A (zh) * | 2021-10-15 | 2021-11-12 | 南京芯驰半导体科技有限公司 | 一种基于axi协议的ddr仲裁与调度方法及系统 |
CN114679415A (zh) * | 2022-05-07 | 2022-06-28 | 厦门大学 | 一种满足AXI5-Lite协议标准的无阻塞banyan网络 |
CN114925010A (zh) * | 2022-05-23 | 2022-08-19 | 中国电子科技集团公司第五十八研究所 | 一种Quad SPI转AXI接口的方法 |
CN115617718B (zh) * | 2022-12-19 | 2023-03-21 | 芯动微电子科技(珠海)有限公司 | 一种基于AXI总线的读写保序方法及SoC系统 |
CN116303221B (zh) * | 2023-05-22 | 2023-08-11 | 太初(无锡)电子科技有限公司 | 一种多核处理器片上网络系统的数据传输方法 |
CN116938631B (zh) * | 2023-09-19 | 2023-12-29 | 芯原科技(上海)有限公司 | 配置总线生成方法、系统、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN102216920A (zh) * | 2011-05-24 | 2011-10-12 | 华为技术有限公司 | 先进可扩展接口总线以及相应的数据传输方法 |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
CN104281548A (zh) * | 2013-07-03 | 2015-01-14 | 炬芯(珠海)科技有限公司 | 一种基于axi总线传输数据的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9239808B2 (en) * | 2011-12-15 | 2016-01-19 | Marvell World Trade Ltd. | Serial interface for FPGA prototyping |
-
2015
- 2015-06-23 CN CN201510346305.2A patent/CN105005546B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853237A (zh) * | 2010-05-31 | 2010-10-06 | 华为技术有限公司 | 片上系统及axi总线下的传输方法 |
CN102216920A (zh) * | 2011-05-24 | 2011-10-12 | 华为技术有限公司 | 先进可扩展接口总线以及相应的数据传输方法 |
CN104281548A (zh) * | 2013-07-03 | 2015-01-14 | 炬芯(珠海)科技有限公司 | 一种基于axi总线传输数据的方法、装置及系统 |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
Non-Patent Citations (2)
Title |
---|
Average Latency and Loss Probability Analysis of Crosspoint Queued Crossbar Switch;Milutin Radomjic等;《52nd International Symposium ELMAR-2010》;20101231;第203-206页 * |
基于AXI总线的SoC架构设计与分析;胡景华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140415;第2.2节及4-5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN105005546A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005546B (zh) | 一种内置交点队列的异步axi总线结构 | |
US6223305B1 (en) | Method and apparatus for resetting, enabling and freezing a communication device in a diagnostic process | |
US9430432B2 (en) | Optimized multi-root input output virtualization aware switch | |
JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
US6463032B1 (en) | Network switching system having overflow bypass in internal rules checker | |
US6775719B1 (en) | Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
US7031305B1 (en) | Apparatus and method for programmable memory access slot assignment | |
JPH02290349A (ja) | 星形ローカルエリアネツトワーク用リングバスハブおよびリングバスパケツトを初期設定する方法 | |
JP2002508099A (ja) | 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 | |
Daneshtalab et al. | A low-latency and memory-efficient on-chip network | |
US6941391B2 (en) | Fencepost descriptor caching mechanism and method therefor | |
GB2409073A (en) | Dedicated connection between CPU and network interface in multi-processor systems | |
JP4072583B2 (ja) | 共有媒体アクセス制御回路を有する統合マルチポートスイッチ | |
US7072342B1 (en) | Reordering of out-of-order packets | |
CN111611185A (zh) | 一种多pcie端口的msi中断过滤装置 | |
CN104054309A (zh) | 在网络边缘有效使用数据包缓冲和带宽资源的设备 | |
CN109716311A (zh) | 用于执行分布式仲裁的系统、装置和方法 | |
US6501734B1 (en) | Apparatus and method in a network switch for dynamically assigning memory interface slots between gigabit port and expansion port | |
JP2002208949A (ja) | データパイプ・ルーティング・ブリッジ | |
US6741589B1 (en) | Apparatus and method for storing data segments in a multiple network switch system using a memory pool | |
US6597693B1 (en) | Common scalable queuing and dequeuing architecture and method relative to network switch data rate | |
WO2003102805A2 (en) | Inter-chip processor control plane | |
CN112073336A (zh) | 基于AXI4 Stream接口协议的高性能数据交换系统及方法 | |
US6477170B1 (en) | Method and apparatus for interfacing between systems operating under different clock regimes with interlocking to prevent overwriting of data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180813 Address after: 233030 2016 Tang He road, Bengbu, Anhui Patentee after: Huadong Photoelectric Integrated Device Research Institute Address before: 215163 No. 89 Longshan Road, Suzhou high tech Zone, Suzhou, Jiangsu Patentee before: China North Industries Group Corporation No.214 Research Institute Suzhou R&D Center |