AMBA总线概述

AMBA总线概述

  • 基本情况
    • AMBA 1.0
    • AMBA 2.0
    • AMBA 3.0
    • AMBA 4.0
    • AMBA 5.0
  • AMBA总线简介
    • 1、ASB
      • 高速总线
      • 流水线操作
      • 支持多个总线主设备
      • 支持burst传输
      • 总线带宽:8、16、32bit/s
      • 三态、双向总线(不适合做DFT)
      • 上升沿或下降沿触发
    • 2、APB
      • 低速总线、低功耗
      • 接口简单
      • 在Bridge中锁存地址信号和控制信号
      • 适用于多种外设
      • 上升沿触发
    • 3、AHB
      • 高速总线,高性能
      • 2级流水线操作
      • 支持最多16个总线主设备
      • 支持burst传输
      • 总线带宽:8、16、32、64、128bit/s
      • 上升沿触发
    • 4、AHB-lite
    • 5、AXI
    • 6、AXI-lite
    • 7、AXI-stream
    • 8、ACE-AXI
    • 9、ACE-Lite
    • 10、CHI

基本情况

AMBA总线协议(Advanced Microcontroller Bus Architecture)是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSP、DMA、加速器和各种其他外围设备,如USB、UART、PCIE、I2C等。
AMBA协议的主要目的是用一种标准和高效的方法来重用这些跨多个设计的IP。
作为ARM公司研发推出的一种高级微控制器总线架构(Advanced Microcontroller Bus Architecture)。AMBA具有以下发展历史:

AMBA 1.0

ASB 和 APB

AMBA 2.0

AHB, ASB 和 APB

AMBA 3.0

AMBA Advanced eXtensible Interface (AXI)

AMBA 4.0

AXI4,AXI4-lite,AXI4-stream,ACE,ACE-lite

AMBA 5.0

AXI5,AXI5-lite,ACE5,ACE5-lite,ACE5-liteDVM
AMBA总线概述_第1张图片

其中AXI是在AMBA3.0的协议中增加的,在xilinx FPGA中十分常见,它可以用于ARM和FPGA的高速数据交互。剩下的三种是在AMBA2.0协议中定义的总线标准。AHB是高级高性能总线,通常用于CPU和高性能设备之间的交互,类比于现代PC的北桥,ASB常用于高性能系统模块间的交互,在开发中相比剩下的几种不是非常常用。而APB是高级外设总线,通常和AHB相连接,来访问一些低速的外设。
下图展示了一个典型的基于AMBA的微控制器架构。

AMBA总线概述_第2张图片

AMBA总线简介

1、ASB

ASB总线是位于APB总线架构之上的用于高性能的总线协议,具有突发连续传输,单管道数据传输,多总线主控制器等特点。
ASB总线通过DMA和DSP,允许在总线上存在一个或多个主控制器。虽然APB总线上可以挂接慢速外设,但是也允许在ASB上挂接一些慢速外设作为从设备,不过它们通常还是挂接在APB总线上。ASB的特点列举如下:

高速总线

流水线操作

支持多个总线主设备

支持burst传输

总线带宽:8、16、32bit/s

三态、双向总线(不适合做DFT)

上升沿或下降沿触发

2、APB

高级外围设备总线(APB)用于连接低带宽的外围设备。它是一个简单的非流水线协议。读写操作共享同一组信号,不支持burst数据传输。其特点列举如下:

低速总线、低功耗

接口简单

在Bridge中锁存地址信号和控制信号

适用于多种外设

上升沿触发

3、AHB

高级高性能总线(AHB)用于连接共享总线上需要更高带宽的组件。这些slave组件可以是内部内存或外部内存接口、DMA、DSP等。AHB可以通过burst数据传输来获得更高的带宽。AHB总线的特点包括

高速总线,高性能

2级流水线操作

支持最多16个总线主设备

支持burst传输

总线带宽:8、16、32、64、128bit/s

上升沿触发

4、AHB-lite

AHB-lite协议是AHB的一个简化版本。简化后只支持一个主设计,消除了对任何仲裁、重试、分割事务等的需求。

5、AXI

高级可扩展接口(AXI)适合于高带宽和低延迟互连。这是一个点对点的互连,并克服了AHB、APB等共享总线协议在可连接的代理数量方面的限制性。该协议支持多个outstanding的数据传输、burst数据传输、单独的读写通道和支持不同的总线宽度

6、AXI-lite

axi-lite协议是AXI的简化版本,简化后不支持突发数据传输(burst length=1)

7、AXI-stream

AXI-Stream协议是AXI协议的另一种风格,它只支持数据流从master 流到slave。与完整的AXI或AXI-lite不同,AXI-stream 协议中没有单独的读/写通道,因为其目的是只在一个方向上流。并且在AXI-Stream中没有地址的概念,是一种流式的数据传输。

8、ACE-AXI

ACE-AXI协议是AXI4协议的扩展,应用于在一个芯片上集成多个CPU核心与一致性cache的场景。ACE协议扩展了AXI读写数据通道,同时引入了单独的snoop 地址、snoop 数据和snoop 响应通道。这些额外的通道提供了实现基于snoop 的一致性协议的机制。

9、ACE-Lite

对于没有自己cache的agents ,但仍属于可共享一致性域的一部分,如DMA或网络接口agent,使用ACE-lite协议实现这种“单向”一致性。

10、CHI

ACE协议作为AXI的扩展而开发,以支持一致性互连。ACE协议使用了master/slave之间的信号电平通信,因此互连需要大量的线和增加的通道来进行snoops 和响应。这对于具有2/4核移动SOC 的小一致性clusters非常有效。随着SOC上集成越来越多的一致性clusters ——AMBA5修订版引入了CHI协议。CHI协议使用基于分层分组的通信协议,具有协议、链路层和物理层实现,还支持基于QoS的流控制和重试机制。

你可能感兴趣的:(AMBA总线,数字IC设计,fpga,hdl)