Avalon总线
定义
Avalon总线是一组规定主设备与从设备之间接口形式和通信时序的片上接口规范,作用是把处理器、存储器与外设组织成一个片上可编程系统[1]。它并不描述单个模块的内部结构,而是约定模块之间如何互相连接、以何种时序交换数据[4]。在英特尔(Intel)的开发工具文档中,Avalon接口被定义为一组信号集合,用于实现平台设计器(Platform Designer)中的接口,并分为存储器映射端口与流式端口两类[5]。
按照传输形态,该规范包含多个分支:Avalon-MM即存储器映射接口,是基于地址的读写接口,用于主从式访问;Avalon-ST即流式接口,面向单向高速数据流;此外还有中断、时钟、复位、导管以及支持片外外设的三态导管等接口类型[3]。
该总线采用同步工作方式,所有信号都与总线时钟对齐,主设备与从设备使用同一时钟和同一复位信号,事务在时钟上升沿被采样,因此避免了复杂的多时钟时序分析[4][6]。基本事务在主从设备之间传送1个字节、半字或字,即8位、16位或32位数据,一次事务结束后总线可在下一个时钟周期开始新的事务[1]。
在存储器映射接口中,地址、数据与控制信号使用相互独立的端口。地址信号由主设备给出,表示字节地址且须与数据宽度对齐;若只修改一个字中的部分字节,主设备需要通过字节使能信号指明具体的字节通道[3][6]。从设备无法立即响应时,会置起等待请求信号使总线停顿,插入等待周期;在可变延迟的读传输中,从设备用读数据有效信号标记读数据何时可以被取走[5][7]。
多主设备访问同一从设备时,由被称为从端仲裁的机制决定哪一个主设备获得从设备控制权[1]。连接逻辑还承担地址译码、数据通路多路选择、等待周期插入、流水线读传输、多主仲裁与突发适配等职能,地址译码由互连完成,从设备无需自行判断是否被选中[8]。
流式接口则建立源端与汇端之间的点对点连接,互连针对单向高速数据流自动优化;当汇端不能接收数据时,通过撤销就绪信号表示反压,使传输暂停[5]。有文献指出,Avalon-ST是单向点对点的高速接口,主要针对高速数据流传输,以减少数据流处理中的瓶颈[9]。
该总线由奥尔特拉公司提出,与其Nios系列处理器软核共同构成该公司片上可编程系统解决方案的核心部分,最初用于把片上处理器和外设连接成可编程片上系统[2][1]。
在一次版本更新中,奥尔特拉把原有的Avalon接口规范升级到3.2版,同时将其更名为Avalon-MM接口规范,并另行推出Avalon-ST接口规范,使该总线标准成为包含存储器映射与流式两套分支的规范体系[2]。与之配套的开发工具也经历了升级,早期由SOPC Builder承担系统集成,后续版本则由Qsys自动生成片内互连结构[2][3]。奥尔特拉被英特尔收购后,相关接口文档与工具由英特尔继续维护[5]。
该总线主要用于现场可编程门阵列上的片上系统集成,把微处理器、存储器、通用异步收发器、直接存储器访问控制器和定时器等模块连接起来[3]。基于存储器映射接口的互连允许多个主从组件以一对一、一对多、多对一或多对多的方式连接,并支持不同数据宽度、不同时钟域以及使用多个接口端口的组件[8]。
多个主设备共享从设备的架构使并行处理成为可能,例如某个主外设可以直接进行存储器访问,把数据从外设搬入存储器而不必经过处理器[1][10]。三态导管接口则用于连接片外外设,多个外设可通过信号复用一个引脚,从而减少芯片引脚数与电路板走线数量[3]。
该规范属于厂商专有的接口标准,由奥尔特拉开发并主要服务于其可编程逻辑器件上的片上系统,在其他平台上很少甚至不被采用[6]。Avalon端口之间并不直接相连,而是各自接入系统互连,由互连完成主机与代理端、源端与汇端之间的信号转换,因此系统的资源开销与延迟在很大程度上取决于互连的配置方式[5]。
在存储器映射接口中,插入等待周期会降低通往从设备的吞吐率:连续零等待周期时最多每个时钟周期完成一次传输,而带一个等待周期时最多每两个时钟周期完成一次传输[5]。此外,规范只描述点对点的连接关系,复杂的多主多从拓扑需要借助互连中的适配器与仲裁逻辑实现,这种取舍在面积、性能、带宽与延迟之间形成折中[6][5]。
-
片上系统 —— 该总线所服务的目标系统形态,把处理器与外设集成在同一芯片内。
-
现场可编程门阵列 —— 该总线主要部署的可编程逻辑器件平台。
-
Nios —— 与该总线配套使用的处理器软核。
-
高级微控制器总线架构 —— 另一类常见的片上总线标准,常与该总线并列讨论。
-
直接存储器访问 —— 借助该总线的多主设备能力实现的数据搬移方式。
参考资料
- Avalon总线规范 [引用日期2026-10-29]
- Avalon总线最新接口标准综述 [引用日期2026-10-29]
- SISTEMI EMBEDDED [引用日期2026-10-29]
- Barramento Avalon [引用日期2026-10-29]
- Avalon Interface Definition - Avalon® Interface Definition [引用日期2026-10-29]
- Bus, protocoles et “interface”s SystemVerilog [引用日期2026-10-29]
- Embedded Systems Hardware Design [引用日期2026-10-29]
- System Interconnect Fabric [引用日期2026-10-29]
- [0056] 其中,AVALON-ST总线是AVALON总线的一种传输协议 [引用日期2026-10-29]
- 傳統匯流排的傳輸方式如圖3- 9所示,當一個Master端,如8051、NiosII等 [引用日期2026-10-29]