接口/总线/驱动
引言
片上系统是在单芯片上实现全部电子系统的集成,通过使多个设备集成在一个芯片上,实现系统级的功能,减少甚至不再需要外部器件的使用,达到应用功能的快速实现、灵活修改及方便升级。进行片上系统设计时,首先要考虑的问题是系统的体系结构。为了提高开发模块的重复利用率,降低开发成本,用户采用了片上系统(芯片内部)总线。与芯片间总线(如SPI、I2C、UART、并行总线)、板卡间总线(ISA、PCI、VME)、设备间总线(USB、1394、RS232)不同的是,片上系统总线为用户提供了一个堪称“理想”的环境:片上系统模块间不会面临干扰、匹配等传统问题;但是片上系统的时序要求异常严格。
由于OpenCore和其它致力于开放知识产权(Open Intellectual Property)的组织的大力推广(开发设计了大量基于标准化片上总线的免费模块),用户在片上系统总线的选择上更倾向于采用那些标准化、开放化的方案。目前,业界采用比较多的标准化、开放化的总线方案包括:IBM 公司的CoreCONnect、ARM的AMBA和Silicore公司的Wishbone。
1 、三种总线的逻辑结构图及描述
1.1 IBM CoreConnect综述
图1是CoreConnect的逻辑总线结构图。
从图1可以看到CoreConnect定义了一个清晰的结构,囊括了所有系统组件和它们之间的连接。它一共设计了3种总线和1个高性能总线与低性能总线连接的桥,分别是OPB、PLB、DCR总线和OPB桥。OPB总线连接外部设备;PLB总线连接处理器、外部高速缓存和高速存储器,是解决处理器运算瓶颈的总线;DCR总线将所有连接在PLB上的模块通过雏菊花环的方式进行互联配置,通过它来分配配置信息,减少对OPB和PLB总线的带宽占用;OPB桥实现了PLB总线和OPB总线的互联。因为PLB和OPB的性能差异,所以设计中OPB桥在OPB总线端相当于一个主OPB设备,而在PLB总线端则相当于一个从PLB设备。这样在从PLB设备发出信号时,主OPB设备就根据它的可接收情况进行分拆、重发等等。
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是轻度设计,适合较简单、灵活、增加自己定义部分的应用,使用是完全免费的。
IBM的先天优势使得CoreConnect能在业界长期存在,即便它不被广泛接受。由于ARM的大力推广和AMBA自身的技术特性,这种总线协议会在大多数应用领域被更多的设计者采用;而由于OpenCoreS组织的大力支持,Wishbone总线也将在比较长的时间内,在自由设计者和中小型EDA企业中占据主导地位。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !