1.2 ARM的AMBA综述
图2是AMBA的逻辑总线结构图。
从图2可以看到,AMBA也设计了3种总线结构和1个总线之间的桥。不同的是,AHB/ASB总线是并列的关系。AHB/ASB总线都是系统总线,都可以实现与高性能设备的高速连接。ASB总线是ARM的第一代系统总线,但是ARM还是建议在新的设计中使用AHB总线。这不仅因为AHB可以实现更高性能的连接,而且由于AHB在使用ASIC开发的自动设计工具中整合起来更容易。APB桥的功能只是减少低性能总线对高性能总线造成的延迟。
1.3 Silicore的Wishbone综述
图3是Wishbone的逻辑总线结构图。
图3中Wishbone的逻辑结构是这三种总线结构中最简单的一种,而且它只定义了一种总线结构——高速总线。如果一个系统既需要高速,也需要低速外部设备总线,则可以提供两个不同的Wishbone接口。这样要比设计两个不同的总线接口简单。Wishbone的用户必须根据具体情况对协议标准进行扩展和详细设计,定义数据顺序和标签的意义。其它的特性和函数同样也可以由用户自行添加。从这个意义上说,Wishbone更像是给出了一个框架,等待用户提出具体的实现方法和规范。
2、 分析和对比
所有这三种总线都采用完全同步的方式,以时钟信号为参考,在时钟信号上升沿进行数据驱动或采样。此外,它们在总线操作方式上也基本相同。三种总线最显著的不同之处在于它们具体的性能参数、提供协议的完整性以及对协议应用的严格性。
表1主要对CoreConnect的PLB总线和AMBA的ASP总线结构作一对比,以便更清楚地看到这两个系统的性能差别。
还有一个很重要的问题是如何使用。虽然三种总线都声明是免费使用的,但是IBM的CoreConnect和ARM的AMBA都要求用户注册,使用中要标明原公司出处。更重要的是,对IBM和ARM来说总线是免费的,但是连接这些总线的IP不是免费的。当然可以自己设计符合以上两种总线标准的IP,并免费提供给别人使用,但是IBM和ARM可没有这样做。相反,开放知识产权模块组织(OpenCoreS.ORG)将Wishbone作为自己开发SoC系统采用的总线结构。这在其网站上可以看到。
3 、结论
从这三种结构上我们可以看到,它们的设计程度是重、中、轻三个等级。IBM的CoreConnect是重度设计,适合复杂和高端的应用,需要遵守严格的操作协议;AMR的AMBA是中度设计,适合较复杂的应用,需要遵守较简单的操作协议;而Wishbone是轻度设计,适合较简单、灵活、增加自己定义部分的应用,使用是完全免费的。