wishbone

wishbone简介

  Wishbone 总线最先是由Silicore公司提出,现在己被移交给OpenCores组织维护,它通过在IP核之间建立一个通用接口完成互连。可以用于在软核、固核以及硬核之间进行互联。Wishbone规范具有如下特点:简单、紧凑,需要很少的逻辑门;完整的普通数据据传输总线协议,包括单个读写、快传输、读一修改一写周期、事件周期;数据总线宽度可以是8-64位;支持大端(big-endian)和小端(litle-endian),接口自动完成两者之间的转换。支持存储器映射、FIFO存储器、交叉互联;握手协议,允许速率控制;可以达到每个时钟周期进行一次数据传输;支持普通周期结束、重试结束、错误结束等总线周期形式;支持用户自定义的标志:采用MASTER/SLAVE体系结构;支持多点进程(Multi-MASTER):仲裁算法用于定义;支持各种各样的IP核互联,包括USB、双向总线、复用器互联等;同步逻辑设计;非常简单的时序标准;与硬件实现技术无关(FPGA, ASIC等);与设计工具无关。
  相对于其他的IP核接口规范来说,Wishbone接口规范具有简单、开放、高效、利于实现等特点而且完全免费,并没有专利保护。基于上述优点,因此采用Wishbone总线进行接口设计。本文对Wishbone总线接口的设计参考了OpenCore上的有关设计。


WISHBONE的三种连接方式

  WISHBONE为我们提供了灵活的连接结构,使我们能非常容易的定制自己的所需用途。它通过提供标准的数据交换协议,使用户非常方便进行TEAMWORK,把系统组件化,增加了模块的重用性。节省了二次开发的时间。 WISHBONE地址和数据位都是32位(如果小于32位也可以这行通信),最多可以连接8个主设备,16个从设备,当多个主设备申请控制时,通过仲裁机制决定什么时候哪个主设备能访问共享总线。
  WISHBONE具有灵活的可变性连接方式,允许系统通过四种不同的方式实现IP CORES之间的互联:


点到点连接方式

  (point-to-point interconnection) 这是IP CORES之间最简单的连接方式,只需要一主一从两个IP CORES之间进行数据通信,例如,主设备可以是微处理器
  IP CORE ,从设备可以使串口的I/O PORT.


数据流连接方式

  (data flow interconnection) 这种连接方式用于数据以时序的方式进行处理。一些时候,这种方式可用作流水线作业。比如下图三个IP CORES都是实现浮点运算,假设它们工作的时间都相同,这样三个IP CORES互联在一起,可以实现高速的类似并行化的时序操作,使处理数据的时间节省三分之二。


共享总线的连接方式

  (share bus interconnection) 这种方式通常用于两个或以上主设备和一个或以上从设备之间的互联,仲裁机制决定什么时候哪个主设备能够访问总线,这种连接方式的主要优点是结构紧凑,能够用较少的逻辑资源去实现相关结构。缺点是:每次只能有一个主设备访问总线,其他的主设备在总线忙时只能处于等待状态,降低了数据传输的速度。这种共享总线的连接方式我们可以在一些标准的总线中看到,例如PCI,VMEbus。


你可能感兴趣的:(wishbone)