当前位置:无忧公文网 >范文大全 > 征文 > 嵌入式SoC总线分析与研究

嵌入式SoC总线分析与研究

时间:2022-03-23 09:19:50 浏览次数:

摘要:本文主要介绍和分析了在集成芯片设计中几种常用的片上系统总线-CoreConnect总线、AMBA总线、Wishbone总线和OCP总线,通过比较这些总线的特性及适用范围,展望了它们的发展前景。

关键词:IPSoC片上总线

1.引言

随着深亚微米工艺制造技术的发展,集成电路芯片的规模越来越大,目前,在单一IC芯片中已经允许包含数亿个晶体管。与此同时,IC的设计方法也从基于时序驱动的方式,发展到了基于IP复用的方式,这种基于IP复用的设计方法已经在SoC设计中得到了广泛应用。

基于IP复用的设计方法的关键是建立片上总线(OCB,on-chip bus),片上总线除了必须具有正确、高效和灵活的特点外,还必须具有可复用性。这样,就可以实现IP芯核的可移植性和IP设计的可复用性,就可以充分地利用公共外设核处理器,就可以提高从公共设计平台创建产品的定制化能力。因此,实现OCB的标准化是十分必要的。

近年来,许多公司相继制定了一些OCB标准,其中影响较大的有CoreConnect总线、AMBA(Advanced Microcontroller Bus Architecture)总线、OCP(Open Core Protocol)总线和Wishbone总线,本文将对以上OCB进行介绍和分析,对其性能和应用进行对比,并对其发展前景进行展望。

2.几种常用的SoC总线的介绍

2.1 CoreConnect总线

CoreConnect总线规范是IBM公司设计的一种SoC总线协议,它能够使处理器、内存控制器和外设在基于标准产品平台设计中的集成和复用更加灵活,从而提高整个系统性能。

CoreConnect总线采用了总线分段的方式,共提供了三种基本类型总线:处理器局部总线PLB(Processor Local Bus)、片内外设总线OPB(On-Chip Peripheral Bus)和器件控制寄存器总线DCR(Device Control Register)。此外,CoreConnect还提供连接高性能总线和低性能总线的OPB桥。CoreConnect总线结构如图1所示。

图1 CoreConnect总线结构框图

CoreConnect总线中的PLB总线是一种高带宽、低延迟、高性能的处理器内部总线。高速的CPU核、高速存储器控制器、仲裁器、高速的DMA控制器等高性能、宽带宽的设备都连接在PLB上。

CoreConnect总线中的OPB总线用于连接具有不同的总线宽度及时序要求的外设和内存,以使这些外设和内存能够尽量减少对PLB性能的影响。通常,一些低性能的设备都连接在OPB总线上。在PLB和OPB之间有一个OPB桥,用来实现PLB主设备与OPB从设备之间的数据传输。

CoreConnect总线中的DCR总线主要用来配置PLB和OPB主/从设备中的状态寄存器和控制寄存器,该总线可以使PLB从低性能状态中减小负荷,更有效的控制读写传输。DCR总线取消了内存地址映射配置寄存器,因此,可以减少读取操作,增加处理器内部总线的带宽。

CoreConnect总线是一种完整的、通用的解决方案,它被认为是一种很好的结构性总线,主要应用于高性能嵌入式系统的设计。

2.2 AMBA总线

AMBA(Advanced Microcontroller Bus Architecture)总线规范是ARM公司设计的一种用于高性能嵌入式系统的总线标准。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统单元的可重用性。AMBA总线是一个多总线系统,AMBA 2.0规范中定义了三种可以组合使用的不同类型的总线:AHB(Advanced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Perpheral Bus)。该规范引入的高性能总线AHB是现阶段AMBA实现的主要形式。典型的基于AMBA 2.0的SoC核心结构如图2所示。

图2 基于AMBA 2.0的AMBA总线结构框图

AMBA2.0规范中的AHB总线适用于连接高性能和高时钟频率的系统模块。它主要用于连接高性能和高吞吐量的设备,如CPU、片上存储器、DMA设备和协处理器等。作为高性能系统的骨干总线,AHB可以对接口和互连均进行定义,并可以在任何工艺条件下实现接口和互连的最大带宽。

AMBA2.0规范中的ASB总线适用于连接高性能的系统模块。它的读/写数据总线采用的是同一条双向数据总线,可以在某些高速且不必要使用AHB总线的场合作为系统总线,可以支持处理器、片上存储器和片外处理器接口及与低功耗外部宏单元之间的连接。

AMAB2.0规范中的APB总线适用于连接低功耗的外部设备模块。它是一个经过优化的可以减少系统功耗和降低外设接口设计复杂度的外设总线,APB总线可连接在AHB和APB系统总线上。

AMBA2.0各总线的性能如表1所示。

表1AMBA 2.0总线性能列表

2003年,ARM扩展了AMBA技术的性能与灵活性,发布了AMBA 3.0。AMBA 3.0包括AMBA 3.0 AXI、AMBA 3.0 APB、AMBA 3.0 AHB-lite和AMBA 3.0 ATB。基于AMBA 2.0和AMBA 3.0的AMBA总线互连结构如图3所示。

图3 基于AMBA 3.0的AMBA总线结构框图

AMBA 3.0 AXI协议面向高性能、高频率的系统设计,它在AMBA 2.0 AHB标准的便于集成、便于扩展等优点的基础上,扩展了AMBA性能与灵活性,它支持乱序发送、乱序返回数据等操作,使总线带宽得到最大程度的利用。AMBA 3.0 AXI总线主要基于以下的设计目标:⑴高带宽、低时延的设计;⑵支持高频率操作而无需复杂桥连接;⑶满足宽频率操作而无需复杂桥连接;⑷满足宽范围系统成员的接口要求;⑸适合初始访问延时大的存储控制器;⑹互连体系结构实现灵活;⑺与已有的AMBA系统连接简单。AXI的总线协议采用了通道体系结构、支持多项数据交换、具有独立的地址和数据通道和双向VALID和READY握手机制,还具有增强的灵活性和低功耗的节电模式。

在AMBA 2.0规范中的APB协议基础上,AMBA 3.0 APB协议做了补充,增加了两个握手信号,即PREADY信号和PSLVERR信号。PREADY信号用来Slave延长APB上的总线传输操作,而PSLERR信号用来将Slave的错误响应反馈给AXI或AHB。

AMBA 3.0 AHB-Lite协议是 AHB的变化型,在该协议中只有一个Master,与AHB相比,少了Arbiter和HGRANT/HBUSREQ信号机制,以及Slave不再回应RETRY/SPLIT响应的机制。

2.3 Wishbone总线

Wishbone总线规范最先是由Silicore公司提出,现在已被移交给OpenCores组织维护。由于其具有开放性的特点,目前已经有不少的用户群体。Wishbone总线规范的目的是作为一种IP核之间的通用接口,因此它定义了一套标准的信号和总线周期,用以连接不同的模块。Wishbone总线结构十分简单,它仅仅定义了一条高速总线。在一个复杂的系统中,可以采用两条Wishbone总线的多级总线结构,其中一条用于高性能的系统部分,一条用于低速的外设部分,两者之间添加一个接口,该接口实现较简单。

Wishbone总线有很强的灵活性。IP核的灵活性,使得其间的连接没有统一的方式。在Wishbone总线协议中提供了四种不同的IP互连方式:⑴点到点(point-to-point),用于两个IP核的直接互连;⑵数据流(data flow),用于多个串行IP核之间的数据并发传输;⑶共享总线(shared bus),用于多个IP共享一条总线;⑷交叉开关(crossbar switch),同时连接多个主从部件,提高吞吐量;此外还提供一种片外连接方式,可以连接到以上任何一种互连网络中。如可以将两个有Wishbone接口的不同芯片之间用点到点的方式进行连接。Wishbone总线的结构如图4所示。

图4 Wishbone总线的系统框图

由于Wishbone总线的简单性和可移植性,它的应用领域非常广泛。它可以应用于简单的嵌入式控制器中和一些高速系统中。但是在高性能的系统中,它往往不能准确地从多个执行程序中终止相应的单个执行程序。

2.4 OCP总线

OCP(Open Core Protocol)总线规范是OCP-IP(开放式内核协议国际同盟)设计的一个规范,是为了在SoC设计中实现IP核的即插即用而制定的片上总线规范,是一种不依赖于特定处理器内核的总线协议。只要IP核和总线符合OCP标准,即使更换处理器的内核和总线,也不需要重新设计IP核,因此,该标准具有灵活的应用性。OCP标准是目前唯一公开许可、并给出IP核系统级综合要求的协议,它在片上系统通信上定义了一个高效的、总线独立的,可配置和高度可扩展的接口。OCP协议以IP核为中心,克服了反复定义、校验、证明和兼容接口的复杂性。OCP的典型总线结构如图5所示,该图包含三个独立的IP核实体和一个包装总线。

OCP总线规范中不仅规定了数据总线信号和控制信号,而且规定了测试信号,并且OCP的数据总线和地址总线均是可配置的。OCP总线规范使用同步的单向信号来简化系统设计和时序分析,同时也采用了主/从结构。OCP总线支持流水线操作,并且通过线程标识符(thread identifiers)管理方式实现并发传送,大大增加了数据吞吐率。

IP核的性质决定了它是否需要主从设备,接口包装模块是作为OCP连接实体的补充部分。一次系统传输过程如下:首先一个系统OCP主设备向它所连接的从设备(总线包装接口模块)发出命令、控制或者数据信息,接口模块便向片上总线系统提出请求,然后接收总线包装接口模块(作为OCP的主设备)再将嵌入式总线操作转换成一个合法的OCP命令,最后OCP从设备接收并执行这个命令,从而完成一次传输过程,如图5所示。在此过程中,由于OCP并没有实现嵌入式总线的功能,OCP的请求是通过嵌入式总线操作完成的。

图5 OCP总线的结构框图

OCP协议可以提供极高性能的多线程,同步初始和单请求/多数据事务。OCP数据传输模型范围可以从简单通过通道请求相应的请求握手到复杂的乱序操作。

3.4种SoC总线的分析与比较

CoreConnect、AMBA、OCP、Wishbone四种总线都是完全同步的设计,均是在时钟的上升沿来驱动和采样信号的。它们最大的区别在于各自提供的特性和规范的完整性不同,详细特性见表2,应用综合比较见表3。

表2 4种SoC总线的性能对比

表3 四种SoC总线应用综合比较

从设计成本上,CoreConnect和AMBA需要购买授权协议,而OCP和Wishbone则是完全免费的。

从复杂程度上,CoreConnect、AMBA、OCP、Wishbone总线结构依次从重到轻,分成三个等级,CoreConnect是重度设计,适合复杂和高端的应用,需要遵守严格的操作协议;AMBA是中度设计,适合较复杂的应用,需要遵守较简单的操作协议;Wishbone是轻度设计,适合较简单、灵活、可增加自己定义部分的应用;而OCP是IP核互连的接口协议,并且可以嵌入在CoreConnect和AMBA中使用,可以应用于中度和轻度设计。

CoreConnect虽然被适用范围所限制,但由于IBM本身技术上的优势和巨大的影响力,其仍可以在业界长期存在。

AMBA 总线规范却拥有众多第三方支持,它被ARM公司90%以上的合作伙伴采用,并且目前在基于ARM处理器内核的SoC设计中,AMBA已经成为具有较高支持度的现有的互连标准之一,其必将在大多数应用领域中被更多的设计者采用。

由于OpenCores组织的大力支持,Wishbone总线将在比较长的时间内,在自由设计者和中小型EDA企业中占据主导地位。

鉴于本身的灵活性,OCP协议在自由设计者和中小型EDA企业中将有很广阔的前景。

综上所述,在国内芯片市场,具有众多第三方支持的AMBA总线和具有极强灵活性的OCP总线必将得到长足发展。

4.结论

简化设计,提高IP的可重用性是SoC总线的根本目的。而结构简单,数据吞吐量高,功耗低是SoC总线标准的生命力。此外,总线的开放性也很重要,对于SoC继承而言,单一的标准似乎难以对于不同的SoC应用及性能要求提供最佳的解决方案。随着IP核相关标准的制定及各种片上系统集成互连方案的使用,SoC的总线规范也会进一步的发展。

参考文献

【1】 李瑞,张春元,罗莉.三种常用SoC片上总线的分析与比较.单片机与嵌入式系统应用.2004年第2期,P5~8

【2】 张丽媛,章军,陈新华.三种SoC片上总线的分析与比较.山东科技大学学报,2005年6月,第24卷第2期,P66~P69

【3】 陈林,王家兵.IP核互连策略及规范. /news/n6657c78.aspx. 2005,3

【4】 杨健.面向可重用SoC设计的片上总线.2005年第5期,P18-18,P20,P22

【5】 Patrick Pelgrims, Tom Tierens and Dries Driessens. Overview AMBA Avalon CoreConnect Wishbone[EB/OL]. .cn/magzine /20060105/4973.asp

【7】 Rudolf Usselmann. OpenCores SoC Bus Review.http://www.opencores.org. January, 2001

推荐访问: 总线 嵌入式 分析 研究 SoC