支持多协议的AXI互联的设计

时间:2022-10-01 10:37:08

支持多协议的AXI互联的设计

摘要:ARM公司推出AMBA4.0系列总线标准可以在结构上满足目前计算机系统对总线带宽和通讯复杂度等要求,基于AMBA4.0的设计和产品已成为业界首选。针对AXI总线协议之间高效转换通讯的应用需求,提出一种基于FPGA的支持多协议的AXI互联设计方案。分析AMBA4.0总线规范的特性和通讯方式;根据不同协议的特征设计架构模式;给出AXI互联设计的关键结构设计和优化方案;并在FPGA上进行仿真和验证。实验结果表明,该AXI互联方案可有效完成不同总线协议,不同位宽数据间的转换通讯。

Abstract: ARM's AMBA4.0 could satisfy the requirements to the computer system from the bus bandwidth and communication complexity on the structure. The design and production base on AMBA4.0 has become the first choice of industry. With the respect to the requirement of efficient convert communication among multiple AXI protocols, this paper proposes a method for AXI Interconnect with multi-protocols support on FPGA. Firstly the feature and communication mode of AMBA4.0 is analyzed, then this paper provides an architectural patterns according to the characteristics of different AXI protocols. Finally, the key design thoughts and prioritization scheme are also introduced. The application shows the design can implement convert communication between different AXI protocols and different bit wide data.

关键词:AXI互联;AMBA4.0;多协议;共享通道;verilog

Key words: AXI interconnect;AMBA4.0;multi-protocol;share channel;verilog

中图分类号:TN915.04 文献标识码:A 文章编号:1006-4311(2016)18-0059-03

0 引言

随着芯片集成度越来越高,SoC性能需求越来越大,计算机系统对总线的要求和依赖度也在不断增强。大多SoC系统集成都使用的ARM公司AMBA系列总线,ARM公司对总线标准也在持续更新与提升。2012年3月,ARM公司推出最新AMBA4.0规范,该规范由35家业界知名的芯片制造商、半导体制造商、EDA厂商,如Cadence、Mentor和Xilinx等公司共同开发设计,可广泛提高芯片级带宽和传输速度。AMBA4.0增加了很多新的功能和优化,用于保证总线传输的可靠性和效率性。该规范已广泛应用于SoC集成设计,然而市场上的应用产品大多还是使用AMBA3.0总线,如何传输不同协议的数据与信息成为一个热点问题。本文描述了一个支持多协议的AXI互联设计,实现AMBA3.0规范总线和AMBA4.0规范总线之间相互传输。

1 AMBA4.0介绍

1.1 AMBA4.0总线简介

AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线结构)是ARM公司应用于SoC系统IP interconnect与管理的一种总线规范,由于其开放性和兼容性,现在已经被广泛应用于ASIC和SoC器件中。AMBA4.0规范包括AXI4、AXI4-Lite、AXI4-Stream以及APB4(由于APB4多用于低功耗的设备,本设计不考虑该协议转换)。

AXI4是一种支持在多通道突发传输机制的总线协议。AXI4包含读地址、写地址、读数据、写数据、写响应等5个独立通道进行数据和信号传输,独立传输通道可以避免信号阻塞和错误冗余,且允许同时进行读写传输,降低传输延迟;AXI4增强了突发模式的支持和多个主设备互联的利用率;AXI4支持更多的设备间的传输,为保证传输的效率提出乱序操作,不同的操作访问可以乱序运行,用总线ID记录信号和数据的归属,如图1所示;增强服务质量支持,用于改善多Master系统的延迟、带宽等问题;最大可支持的数据位宽为256字节。

AXI-Lite是AXI4总线的精简版本,适用于简易的控制寄存器接口组件。AXI4-Lite总线和AXI4一样拥有5个独立传输通道;不支持突发传输机制,定义其突发传输长度为1;AXI4-Lite总线只支持总线数据位宽为32字节和64字节,数据访问位宽必须和数据宽度相同;不支持独占访问。

AXI4-Stream总线是以突发传输为机制并且没有突发长度限制的总线。没有地址通道,没有读写使能,一般情况都是写数据从主设备到从设备的传输。

AXI4-Stream也是AXI4总线的精简版本。只支持从主设备到从设备的单向传输,多用于非寻址、点对点通讯的接口;没有地址通道,没有读写使能;只支持总线数据位宽为32字节和64字节。

1.2 AXI总线通讯

AXI(Advanced eXtensible Interface,高级可扩展接口)总线是一种多通道传输总线,包括读地址通道、读数据通道、写地址通道、写数据通道、写响应通道等5个通道,通过不同的通道传输地址、读数据、写数据、握手信号。一般AXI总线对应多个Master和多个Slave,对于不同的访问可以进行乱序进行,使用ID来记录访问的归属,Master在没有收到respond时可以发送多个读写操作,读回的数据可以乱序执行,对于非对齐数据也可以访问传输。图2是AXI数据通道总结构图,使用读地址通道(A)和读数据通道(R)来完成读操作,使用写地址(A)、写数据(W)和写响应(B)通道来完成写操作。

AXI协议是基于突发机制通讯。在主设备与从设备传输的数据通过写数据通道或者读通道到主设备。在地址通道上每次通讯都会发送地址和控制信息,记录和描述需要传输的信号信息。数据通讯间包含两种传输状态,一种是读交易,即主设备通过读通道向从设备进行读数据操作;一种是写交易,即主设备经过写通道向从设备中进行写数据操作。另外,在写交易过程中需要一条额外的写响应通道,从设备向主设备发送信号反馈已经完成写交易操作。

AXI通讯采用的是VALID和READY握手机制,信号源在通道中发送VALID有效信号,接收端必须发送READY信号后,两者同时为高才可以进行数据或地址通讯,如图3所示。

1.3 AXI4互联模式

AXI4互联包括主设备到interconnect之间,从设备到interconnect之间的接口互联,如图4所示。

AXI4协议对挂接的主设备和从设备数量没有限制,互联结构根据主设备和从设备的要求提供不同的互联结构。

AXI协议典型的三种互联模式分别为:①共享地址和共享数据互联(SASD);②共享地址多数据互联 (SAMD);③多地址多数据互联(MAMD)。

SASD互联模式每个通道只能允许一对主设备和从设备占用,即一个主设备占用总线向一个从设备发送地址时,其他主设备只能等待总线释放后才能使用;SAMD互联模式地址通道共享,只允许一对主设备和从设备占用,但其他通道可以进行多对主、从设备的数据传输。其中允许的主、从设备通讯的对数由设计定义;MAMD互联模式即各个通道允许多对主、从设备同时通讯,无需等待总线释放。这种并行通讯机制提高了互联的性能和数据吞吐量,但是复杂的设计和拓扑结构很难验证其面积和性能,所以挂接多个主、从设备的互联不会采用这种模式。

在总线传输中,地址通道的带宽要求较数据通道带宽要求要低。本文设计的互联结构采用SASD和SAMD混合结构的互联架构模式,这种模式因其灵活方便,兼容性优良的特性,而且可以在总线性能和互联拓扑结构复杂度之间取得很好的平衡效果,所以被广泛应用于实际SoC设计中。

2 系统结构设计

本节介绍AXI Interconnect系统结构设计,该设计包括AXI Interconnect架构设计、Decoder模块设计、Arbiter模块设计、FIFO模块设计等4部分。

2.1 AXI4 Interconnect架构设计

根据AXI协议可知,一个AXI总线共有5个通道,然而挂接在总线上的主设备或者从设备并非都需要独立的通道。有些设备间可以共享其他设备的5个通道,在互联设计中使用仲裁机制就能够实现复用,完成通道共享。本文设计的AXI Interconnect需要支持多种协议,根据其协议特性,将设计的AXI IP核可以考虑AXI4-Lite和AXI4-Stream共享互联,AXI4和AXI3协议共享互联的混合架构。

混合互联架构示意图如图5所示。设计中,master只能通过共享通道层对slaver1/2进行访问,当master1和master2同时访问slaver1/2时,共享通道层中仲裁器仲裁确定两者的优先访问权。master1和master2只能通过专用通道访问slaver3。共享通道层对宽度和突发乱序传输要求不高,故比较适合外接低性能的设备,即突发传输为1的AXI4-Lite和只读的AXI4-Stream;而对于专用通道的互联结构多用于接对带宽和性能比较高的外设,可作为AXI3/AXI4的专用传输互联。

2.2 Decoder模块设计

在多对master和slave互联架构中,为保证数据传输的准确性和不同通道模式的切换,会对主设备和从设备进行ID定义,读/写地址通道和写通道会对这些ID进行译码,通过Decoder将对应的信息分配到对应的设备端口。

如表1所示,主设备接口模块包含三个译码器――读/写地址通道(AWID/ARID)、写数据通道(WID)译码器,AXI总线可以将主设备读写请求接入到对应的从设备接口,直接决定哪一对主从设备的相连;从设备接口模块包含两个译码器――读数据通道和写响应通道(RID/BID)译码器,从表一中可知RID和BID和主设备中ARID/AWID一一对应,根据ID来确定与该从设备配对的主设备进行数据通讯。

2.3 Arbiter模块设计

在SAMD结构中,当两个或者两个以上的主设备同时访问AXI Bus时,就需要判断优先级和先后顺序来仲裁哪个设备拥有访问权。在主设备接口侧有两个仲裁器,而从设备接口侧有三个仲裁器。当多个设备访问AXI总线时,这些仲裁器会根据设备的优先级仲裁申请者的访问权。采用何种仲裁机制,需要考虑系统架构的特性及系统的性能的平衡综合。本设计采用的动态轮询仲裁(Dynamic Arbiter)机制,即每个主设备的优先级都是变化的,其优先级都会根据主设备的访问情况进行动态调整。如图6所示,共有3个主设参与仲裁。

前两个周期M0连续访问,算法就会将M0的优先级调至最低;第三个周期仲裁M2访问,然后将M2优先级调至最低;第四个周期仲裁器会选择M1进行访问,依此调动。这种机制简单易行,而且硬件实现代价很小,并且可以保证各个设备可以合理分配访问。

3 功能仿真实现

完成verilog Modelsim6.4语言编程后,对设计的AXI总线互联模块进行突发读写传输测试,用于验证功能实现和仿真电路Debug。仿真测试在Modelsim6.4仿真环境下进行,用于验证读写模块是否能够从主设备向从设备发送正确信息和数据。

图7是写模拟流程图,用Master3模拟AXI4,将4个位宽为32bit的数据写到Slave3中,Slave3模拟支持AXI3/AXI4的设备。

图8是写模拟流程图,用Master1模拟AXI4-Lite,将2个16位宽数据写入Slave3中,Slave3模拟支持AXI3/AXI4的设备,两次数据有效位对齐,等待10个延时时钟,输出使能信号拉高,此时占用总线通道。共享通道层最多可以接收8个16位宽数据,即拼凑成两个64bit数据等待使能信号拉高后,将地址和数据信息通讯给从设备。

4 结语

本文设计了一个支持多协议的AXI互联接口,该接口选用SASD和SAMD混合结构的互联架构模式。经过突发读写操作和不同位宽数据的传输、不同协议间通讯仿真验证,设计接口不仅支持AXI3、AXI4、AXI4-Lite和AXI4-Stream等协议之间的通讯,而且支持同协议之间不同位宽的数据通讯。增加共享通道层后可优化数据传输效率和提高通道占用率;此外添加同步FIFO用于保证两种通道机制间通讯的准确性,增强通讯灵活性。

参考文献:

[1]蒋周良,权进国,林孝康.AMBA总线新一代标准AXI分析和应用[J].微计算机信息,2006(10Z):275-277.

[2]曾思,陈书明,万江华,等.基于AMBA 3.0的AXI转接桥的设计与实现[J].第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(A辑),2011.

[3]马飞, 刘琦,包斌.基于FPGA的AXI4总线时序设计与实现[J].电子技术应用,2015,41(6):13-15.

[4]Arm A. AXI Protocol Specification[J].2004.

[5]LogiCORE I P. AXI Interconnect (v2.1)[J]. 2014.

[6]Xilinx device manual, AXI Reference Guide, UG761(v14.3) November 15, 2012.

[7]AXI A R M A, Specification A C E P. version ARM IHI 0022E (February 2013)[J].

[8]Xilinx A X I. Design Reference Guide[J].

[9]曹阳,郑文杰,李晓辉,等.AMBA 3.0 AXI总线接口协议的研究与应用[J].中国通信集成电路技术与应用研讨会文集,2006.

[10]侯秋菊,沈海华.IP可重用的AMBA AXI总线验证平台设计与实现[J].计算机工程与设计,2008,29(7):1713-1715.

上一篇:浅析家庭音乐教育对儿童音乐才能的影响 下一篇:美术教学开学第一课之我见