片上总线Wishbone 学习(二)Wishbone总线标准介绍

来源:互联网 发布:vi系统 知乎 编辑:程序博客网 时间:2024/05/21 04:20

转自http://blog.csdn.net/ce123_zhouwei/article/details/6929728

片上总线Wishbone 学习(二)Wishbone总线标准介绍

Wishbone总线产生、发展

            市场是推动技术前进的主要动力,人们对各种电子产品不断的更新,更好,更完美的追求刺激了技术的不断升级和创新。反映在IC设计领域,人们开始追求芯片的系统化,单一化,整体化,突出强调从宏观上提高芯片上的性能。SoC正是在这样的环境下孕育而生,并获得了快速的发展。调查,2004年SoC芯片占芯片设计的26%;预测,到2010年市场上90%的芯片是SOC芯片。Wishbone总线也是顺应了芯片技术的发展,提出的一种片上总线系统方案。该方案有助于SoC芯片的整合,加快芯片设计及充分利用前人开发的IP核等。传统的IP核设计没有考虑到可重用设计方法,因此在SoC中要将这些由不同厂家开发的IP核集成到一个芯片中不是一件很容易的事。首先遇到的是如何有效,可靠的把两个或以上的IP核信号互联起来。Silicore公司开发的Wishbone总线能有效的将各种需要的IP核整合起来,使他们之间可以无障碍的通信。而且Wishbone的设计简单、易行,能够适应各种类型IP(软核,固核,硬核)。
1999年6月,Silicore公司发布Wishbone总线标准A版,即初级版:
1999年7月,Silicore公司发布Wishbone总线标准A.1版;
2001年1月,Silicore公司发布Wishbone总线标准B版;
2001年1月,Silicore公司发布Wishbone总线标准B.1版;
2002年1月,Silicore公司发布Wishbone总线标准B.2版:
2002年9月,Silicore公司发布Wishbone总线标准B.3版。

Wishbone总线设计思想

               片上总线设计遵循简单,灵活和可移植性。这样能够在不增加复杂度的情况下将各个不同IP模块连接起来。Wishbone就是这样的一种总线,它能够有效的帮助系统工程师标准化IP模块的接口,实现SOC。Wishbone是采用主端(MASTER)和从端(S“wE)的架构。主端模块发出数据传送请求,然后通过一个互连网络和从端进行数据交换,如图3一l所示。这个互连网络我们称之为INTERCON,它使得主端顺利访问从端。图3—1中圆圈部分是INTERCON,起到连接主端和从端的作用。它的作用类似电信领域的术语“云朵”。在电信领域,电话系统被模拟成云朵,它代表电话交换和传输系统。电话机根据电话号码通过云朵和另一端建立连接。如果电话连接的是同一幢大楼的另一电话,那么云朵代表的是当地的一个小交换系统:如果电话连接是另一个国家的,那么云朵代表的是光纤和卫星组成的一个传输系统。也就是说,不同地域的主端和从端相连,使用不同的连接方式。Wishbone总线与此相同,终端类似电话机,1NTERCON类似电话网络“云朵”,各终端之间访问通过INTERCON,再根据不同的情况采用不同的互连方式。Wishbone将它称为可变互连网络。可变互连网络的连接形式有点对点,数据流,共享总线和交叉总线。

图 1 Wishbone系统架构



Wishbone名字的由来

           根据美国韦伯斯特(Webster,1758—1843,美国词典编辑家)词典,WISHBONE是指大多数鸟类胸骨前的一块叉状型的锁骨。在名字定义初期,Silicore公司设想找一个能够反映双向总线这一特点的名字。这些总线是由多路选择器和三态门实现的,它们的形状类似Y,和锁骨(WISHBONE)相似,所以后来被称为WISHBONE总线。这个名字是由Wade Peterson,一名Silicore公司的工程师,在当年美国感恩节上提出的。

Wishbone总线的主要特征

          一般总线规范的共同特点为同时适用于于软核、固核和硬核设计;对开发工具和目标硬件没有特殊要求,并且几乎兼容已有的所有综合工具;可以用多种硬件描述语言来实现;支持结构化设计方法学,以提高大团队的设计效率;灵活的数据和地址总线宽度,支持大端和小端操作;支持主从设备接口,支持多主设备,这是片上共享总线通信所必须的,多个主设备同时需要进行总线操作时,由仲裁器决定当前哪个主设备可以使用总线,仲裁逻辑用户可以自行定义。此外,在作者看来,Wishbone总线规范的特点还包括: 

          1. 支持点到点共享总线十字交叉(Crossbar基于交换结构(Switch fabric)的互联Wishbone总线规范是"轻量级(Lightweight)"规范,它实际上更加侧重于点对点互联以及复杂度不高的共享总线片上系统互联。因此,与其他总线规范相比,Wishbone的接口更加简单紧凑,接口需要的互联逻辑非常少(见本章后续的例子),这是Wishbone的一个重要优势。熟悉AMBA总线的读者在读完本章后就能够理WishboneAMBA总线简单的多,但是两者各有个的优势。AMBA将所有的外设分为高速设备和低速设备,高速设备连接到系统总线,通常通信的数据量也较大,如SDRAM控制器、NAND Flash控制器、LCD控制器,低速设备连接外设总线,通常通信数据量小,如通用串口、计时器等。外设总线与系统总线通过总线桥接器相连。在实际系统中,处理器、系统总线、外设总线间的时钟频率的典型比值之一是4:2:1,因此整个系统的功耗被有效降低。另外一个好处是通过在总线桥接器中添加DMA引擎,系统总线和外设总线可以实现速率解耦。而依照Wishbone规范,Wishbone总线上所有设备都要连接到同一总线,无论是高速设备还是低速设备。与Wishbone总线相比,AMBA的缺点是设计较为复杂。但是实际上,Wishbone总线也设计为类似AMBA总线的架构,但此时系统为双Wishbone总线架构。 

         2. 支持典型的数据操作,包括:单次读/写操作、块读/写操作,读改写(RMWRead-Modify- Write,细节见后文)操作。最快情况下一个时钟周期可完成一次操作,操作的结束方式包括:成功、错误和重试(Retry)一个总线周期完成一次操作,一次操作可以是单次读/写操作、块读/写操作或者读改写操作。操作总是在某一总线周期内完成的,因此操作结束方式也称为总线周期结束方式,两者说法在后文将视情况使用。成功是操作的正常结束方式,错误表示操作失败,造成失败的原因可能是地址或者数据校验错误,写操作或者读操作不支持等。重试表示从设备当前忙,不能及时处理该操作,该操作可以稍后重新发起。接收到操作失败或者重试后,主设备如何响应取决于主设备的设计者。 

        3. 允许从设备进行部分地址解码,有利于减少了冗余地址译码逻辑,提高地址译码速度。这一点本书将通过实例说明。 

        4. 支持用户定义的标签。这些标签可以用于为地址、数据总线提供额外的信息如奇偶校验,为总线周期提供额外的信息如中断向量、缓存控制操作的类等。Wishbone规范只定义标签的时序,而标签的具体含义用户可自行定义。支持用户定义的标签是Wishbone规范区别与其他片上总线规范的重要特征之一。 

        5. 全同步化设计,包括复位方式。但是实际上复位方式采用同步还是异步并不影响IP的互联互通,因此兼容Wishbone规范的IP完全可以采用异步方式,http://www.opencores.org上面的很多兼容Wishbone规范的开源IP采用的就是异步复位。 

           总结以上内容,Wishbone总线规范区别于其他总线规范的两个核心特点是:(1)是轻量级规范,因此接口更加简单紧凑;(2)支持支持用户定义的标签。

原创粉丝点击