SoC片上五种总线标准的分析比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SoC片上五种总线标准的分析比较
(2008年6月)
摘要:随着SoC(片上系统)的快速发展,高速片上数据传输对片上总线的要求越来越高。本文在分析当前设计中常用的五种SoC 片上总线标准(ARM的AMBA总线、Silicore的Wishbone总线、IBM公司的CoreConnect总线、Altera的Avalon总线和OCP-IP设计的OCP 总线)的基础上,对它们的综合应用和性能进行了分析比较。
随着超大规模集成电路的迅速发展,半导体工业进入深亚微米时代,器件特征尺寸越来越小,芯片规模越来越大,可以在单芯片上集成上百万到数亿只晶体管。如此密集的集成度使我们现在能够在一小块芯片上把以前由CPU和若干I/O接口等数块芯片实现的功能集成起来,由单片集成电路构成功能强大、完整的系统,这就是我们通常所说的片上系统SoC (System on Chip)。它是以嵌入式系统为核心,以IP复用技术为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。近10年来,无论是消费类产品如电视、录像机,还是通信类产品如电话、网络设备,这些产品的核心部分都开始采用芯片作为它们的“功能中枢”。
SoC片上总线尚处于发展阶段,不像微机总线那样成熟,目前还没有统一的标准,因此各大厂商和组织纷纷推出自己的标准,以便在未来的SoC片上总线标准中占有一席之地。目前,SoC总线架构有很多,本文就目前使用较多的五种SoC片上总线标准──ARM的AMBA总线、Silicore的Wishbone总线、IBM公司的CoreConnect总线、Altera的Avalon 总线和OCP-IP设计的OCP总线进行了分析讨论,为大家使用提供一些参考。
1、SoC片上的五种总线标准
1.1 AMBA总线
AMBA(Advanced Microcontroller Bus Architecture)总线规范是ARM 公司设计的一种用于高性能嵌入式系统的总线标准。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统宏单元的可重用性,非常适合于现代大规模集成电路设计自动化的要求。AMBA 总线规范是一个开放标准,可免费从ARM 获得。
目前,AMBA拥有众多第三方支持,被ARM公司90%以上的合作伙伴采用,在基于ARM处理器内核的SoC设计中,已经成为广泛支持的现有互联标准之一。
AMBA总线是一个多总线系统。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统宏单元的可重用性,规范定义了三种可以组合使用的不同类型的总线:AHB (Advanced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Perip heral Bus)。典型的基于AMBA的SoC核心部分如图1所示。其中高性能系统总线(AHB 或ASB)主要用以满足CPU和存储器之间的高带宽要求,CPU、片内存储器和DMA设备等高速设备连接在其上,而系统的大部分低速外部设备则连接在低带宽总线APB上。系统总线和外设总线之间用一个桥接器(AHB/ ASB-APB-Bridge)进行连接。
图1 基于AMBA总线的微控制器
1.1.1 AHB
AMBA的AHB适用于高性能和高时钟频率的系统模块。它作为高性能系统的骨干总线,主要用于连接高性能和高吞吐量设备之间的连接,如CPU 、片上存储器、DMA设备和DSP
或其它协处理器等。AHB 的关键是对接口和互连均进行定义,目的是在任何工艺条件下实现接口和互连的最大带宽。
1.1.2 ASB
AMBA 的ASB 适用于高性能的系统模块。在不必要使用AHB 的高速特性的场合,可选择ASB 作为系统总线。它同样支持处理器、片上存储器和片外处理器接口与低功耗外部宏单元之间的连接。ASB 是第一代AMBA 系统总线,同AHB 相比,它数据宽度要小一些,它支持的典型数据宽度为32位、64位。其主要特性与AHB 类似,主要不同点是它读数据和写数据采用同一条双向数据总线。
1.1.3 APB
AMBA 的APB 适用于低功耗的外部设备,它已经过优化,以减少功耗和对外设接口的复杂度,它可通过桥接器与AHB 或ASB 两种系统总线互联。APB 是本地二级总线(Local Secondary Bus ),通过桥接器和A HB 或ASB 相连。它主要是为了满足不需要高性能流水线接口或不需要高带宽接口设备的互连。APB 只有一个APB 桥,它将来自AHB/ASB 的信号转换为合适的形式以满足挂在APB 上的设备的要求。桥要负责锁存地址、数据以及控制信号。
1. 2 Wishbone 总线
Wishbone 最先是由Silicore 公司提出的,现在已被移交给OpenCores 组织维护。由于其开放性,现在已有不少的用户群体,特别是一些免费的IP 核,大多数都采用Wishbone 标准。它的结构极其简单、灵活,又完全公开、完全免费,已经获得众多支持,且它的片上总线技术结构非常适合于可重用IP 核接口的实现。Wishbone 接口在IP 核模型之间定义了一组标准的信号和总线周期,通过在IP 核之间创建一个通用的接口,可以提高系统的可移植性和可靠性。Wishbone 结构可以提供多种总线周期和数据路径宽度,整合方案灵活,易于系统实现。Wishbone 总线结构十分简单,它仅仅定义了一种高速总线,在既需要高速总线又需要低速总线的系统中,提供了两个Wishbone 接口,比起设计两个不同的接口要简单得多。图2给出了Wishbone 总线的逻辑结构。
Wishbone 总线规范是一种片上系统IP 核互连体系结构。它定义了一种IP 核之间公
共的逻辑接口,减轻了系统组件集成的难度,提高了系统组件的可重用性、可靠性和可移
植性,加快了产品市场化的速度。Wishbone 总线规范可用于软核、固核和硬核,对开发工具和目标硬件没有特殊要求,并且几乎兼容已有所有的综合工具,可以用多种硬件描
述语言来实现。
灵活性是Wishbone 总线的另一个优点。由于IP 核种类多样,其间并没有一种统一的间接方式。为满足不同系统的需要,Wishbone 总线有四种将MASTER 与SLA VE 连接在一起的方式,分别为点对点(Point to Point )、数据流(Data Flow )、共享总线(Shared BUS )和十字互连(Crossbar Switch )。还有一种片外连接方式,可以连接到上面任何一种互连网络中。比如说,两个有Wishbone 接口的不同芯片之间就可以用点到点方式进行连接。四种连接中,点对点方式可以最简单地将一个MASTER 与一个SLA VE 相连;数据流方式可以实现数据传输的流水处理;共享总线方式将多个MASTER 和SLA VE 相连,不过任何时刻只能有一个MASTER 占据总线;十字互连则可实现多个MASTER 和多个SLA VE 之间同时传输数据。MASTER 为目标SLA VE 初始化地址总线周期,仲裁器决定每个MASTER 何时可以访问指定的SLA VE 。
图2 Wishbone 总线的逻辑结构