关于ARM芯片SOC总线

      ARM 作为业界顶尖的32 位RISC 嵌入式处理器,占有嵌入式处理器75%以上的市场。它不生产和销售芯片,只是出售芯片技术授权。ARM 技术几乎无所不在,ARM 嵌入式微处理器是一种高性能、低功耗的RISC 芯片,大量应用于电子设备、无线系统、汽车、工业控制等各类产品中。


  ARM 公司提出用于SoC 设计中的AMBA 总线结构,由于它的高性能,以及ARM 微处理器的广泛应用,已经成为了SoC 设计中使用相当广泛的总线标准。AXI 是AMBA 中一个新的高性能协议。AXI 技术丰富了现有的AMBA 标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。


  2 AMBA 片上总线及应用实例


  在一个 SoC 中,有处理器(有时不止一个)、存储器和众多的各种各样的设备,要使它们高速度并且高效率地工作,我们需要一个高性能的片上总线。同时,高性能的片上总线可以使得SoC 具有更小的面积、更低的功耗和更高的性能。从而使我们的产品能以更低的成本获得更优异的性能。现有技术上比较成熟的片上总线标准其实数量不少,如OCP、CoreConnect、Wishbone等,由于ARM微处理器在嵌入式领域占据绝对市场优势,其片上总线协议AMBA也成为了事实上的SoC总线标准。AMBA协议的目的是为了要推出片上总线的规范,一开始AMBA 1.0只有ASB与APB,为了节省面积,所以这时候的总线协议都是三态总线,由于三态总线要设计者花更多的精力去注意时钟,所以到了后来AMBA 2.0的AHB,为了更加方便设计者,总线改用多路复用器(multiplexor)的架构,并增加了新的特性。





  图 1 DWT(数字对讲机)SoC系统结构图


  AMBA 总线除了基本的数据访问功能外,还具有许多其他不可或缺的特性如下:


  AMBA有优秀的握手协议,由专门的仲裁模块(Arbiter)来决定各主设备(Master)的访问请求。这种优先级的设定是灵活而又随时可变的,这使系统总线的调度非常有效率。


  AMBA2.0以上版本都是基于单沿时钟、单向信号线的协议。这使它非常适合于现代大规模集成电路设计自动化的要求,与EDA工具的耦合非常自然,容易达到更高的时钟频率。


  AMBA的地址和数据相位间有流水线的关系,使存储器访问可以提前准备,使主设备间的切换不浪费额外的时钟周期,尤其特别适合与内置流水线的处理器接口。


  AMBA2.0支持许多先进的访问方式,如连续型访问(burST)可以加快某些快速存储器的访问速度;离线型访问(split)可以让某些慢速设备在不占用总线的情况下,先将数据准备好,再发起相应的总线访问行为。在AMBA3.0中,对各种突发访问、乱序访问将有更好的支持。这些技术特点使AMBA可以运行在更高的时钟频率,在相同的频率下可以提供更高的数据吞吐量。


  一个以AMBA架构的SoC,一般来说包含了高性能(high-performance)系统总线(AMBA ASB或 AMBA AHB 或 AMBA AXI)与低功耗(low-power)的外围总线(AMBA APB)。现在市场上大部分的基于AMBA架构的SoC产品,系统总线采用AHB,外部总线采用APB。系统总线负责连接例如ARM嵌入式处理器、DMA控制器、片上存储器或其他需要高带宽的元件。而外围总线则是用以连接系统的外围元件,其协议相对来说较为简单,而两种总线通过总线桥相连。通过这种机制来减轻系统总线的负担。


  笔者参与了清华大学与意法半导体合作开发民用数字对讲机(Digital Walkie-Talkie,简称DWT)SoC芯片的项目研发工作,这是一款基于ARM9处理器、AMBA总线的典型数模混合SoC,其系统框图如图2所示,方框内为SoC集成的模块。





图 2 基于AXI应用结构框图


  3 AXI


  随着SoC 设计复杂性的增加和CPU 处理能力的提升,总线结构会成为系统性能的瓶颈。在多处理器SoC 设计中,这种瓶颈现象更加明显。综合考虑成本、功耗和面积,SoC 设计中选用何种高效的总线结构是比较困难的,同时总线结构对系统所要求达到的性能又是非常重要的。


  随着下一代高性能 SoC 设计的需要,比如多处理器核、多重存储器结构、DMA 控制器等,AMBA 需要新一代灵活性更强的总线结构,这就是AMBA 3.0 AXI 总线。AXI 是1999年发布的AMBA 2.0 的继承和提升,是ARM 公司与其他的芯片制造商包括高通、东芝和爱立信等公司共同研发的。新协议的发布,为新一代高性能SoC 的设计铺平了道路。



  AXI 能够使SoC 以更小的面积、更低的功耗,获得更加优异的性能。AXI 获得如此优异性能的一个主要原因,就是它的单向通道体系结构。单向通道体系结构使得片上的信息流只以单方向传输,减少了延时。


  选择采用何种总线,我们要*估到底怎样的总线频率才能满足我们的需求,而同时不会消耗过多的功耗和片上面积。ARM一直致力于以最低的成本和功耗追求更高的性能。这一努力已经通过连续一代又一代处理器内核的发布得到了实现,每一代新的处理器内核都会引入新的流水线设计、新的指令集以及新的高速缓存结构。这促成了众多创新移动产品的诞生,并且推动了ARM架构向性能、功耗以及成本之间的完美平衡发展。


  AXI总线是一种多通道传输总线,将地址、读数据、写数据、握手信号在不同的通道中发送,不同的访问之间顺序可以打乱,用BUSID来表示各个访问的归属。主设备在没有得到返回数据的情况下可发出多个读写操作。读回的数据顺序可以被打乱,同时还支持非对齐数据访问。


  AXI总线还定义了在进出低功耗节电模式前后的握手协议。规定如何通知进入低功耗模式,何时关断时钟,何时开启时钟,如何退出低功耗模式。这使得所有IP在进行功耗控制的设计时,有据可依,容易集成在统一的系统中。AXI与上一代总线AHB的主要性能比较见表1。


  新的高性能AXI协议技术性能新的特点主要包括:


  单向通道体系结构。信息流只以单方向传输,简化时钟域间的桥接,减少门数量。当信号经过复杂的片上系统时,减少延时。


  支持多项数据交换。通过并行执行猝发操作,极大地提高了数据吞吐能力,可在更短的时间内完成任务,在满足高性能要求的同时,又减少了功耗。


  独立的地址和数据通道。地址和数据通道分开,能对每一个通道进行单独优化,可以根据需要控制时序通道,将时钟频率提到最高,并将延时降到最低。


  增强的灵活性。AXI技术拥有对称的主从接口,无论在点对点或在多层系统中,都能十分方便地使用AXI技术。


  4 AXI 的应用


  SoC系统中总线的选择不仅要看其性能,还要看其应用范围,更加重要的是,是否有足够的IP核资源可供利用。为了加速基于AXI总线的应用设计,ARM最新发布了面向片内总线AXI的3种IP内核。分别为:二级缓存控制电路L220、输出AXI标准总线的工具PL300以及同步DRAM控制电路PL340。3种产品的供货将加快AXI的普及步伐。3种产品均为可逻辑合成的软核,支持ARM1156T2F-S、ARM1176JZF-S与MPCore三种CPU内核。


  这些预先检验的AXI系统元件将协助研发者迅速针对内建ARM11系列处理器的SoC开发出高集成度的产品。AXI系统元件提供一条具备高效率的传输管道,从处理器连接快速缓存、存储控制器及外部存储器。上述优势使ARM11系列处理器即使搭配速度较慢的内存,也可以发挥出相当高的性能。由于CPU与芯片外部存储器之间的通信已成为主要的性能瓶颈,因此设计人员将会视该项技术为极具价值的方案。


  二级缓存控制电路L220是面向ARM内核中首款支持二级缓存的电路。二级缓存除可用于个人电脑微处理器等一般用途外,还支持MIPS微处理器等。使用此次二级缓存控制电路、同时配备256kB的二级缓存时,MPEG-4的解码处理所需的时间只相当于没有配备二级缓存时的一半。另外,256kB二级缓存的面积采用台湾TSMC的130nm设计规格、为6mm2,成本大约为0.41美元(约合人民币3.4元)。L220支持ARM的电源电压与工作频率控制技术“IEM”,可有效控制二级缓存的电源电压等。


  PL300是一种可以生成具有任意数量主从设备的总线的工具。传送速度在平均每层166MHz工作频率下为1.3GB/秒。使用XML记述主从设备等的设定,就会生成相应总线的设计数据。同步DRAM控制电路PL340配备16位×64位宽的DDR接口。今后将支持DDR2与奇偶校验。L220、PL300与PL340均已开始提供使用授权。只需在签合同时支付授权费用,之后的生产中不必每枚芯片交纳授权费用。


  5 结束语


  笔者在参与一个基于 ARM9 的SoC 研发的基础上,从应用需求的角度上研究和比较了AMBA 总线的优异性能和新特性。本文的创新点,是详细比较了AXI 和老一代总线AHB的性能,并再此基础上给出了他们的工程应用实例结构,为SoC 设计中总线选择以及使用AMBA 总线进行应用产品开发提供了参考。从上面的比较和总结可以看出,AXI 总线技术上可以提供内核速度的吞吐量,经济上ARM 有丰富而且免费的IP 核资源可供利用。


  目前市场上的应用产品基本都是基于 AMBA 2 AHB,基于AXI 和ARM11 的应用产品还比较少,但是AXI 的广泛应用只是一个时间的问题。AXI 片上总线的推出,把SoC 的设计推向了一个新的台阶,设计者可以更加方便快速的设计出高性能SoC。


       随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。
       AMBA片上总线
       AMBA 2.0规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。

基于AMBA的片上系统
       大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。
AHB简介
       AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。
APB简介
       APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。
       1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。
       2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。
       3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值