Wishbone
总线最先是由Silicore公司提出,己被移交给OpenCores组织维护,它通过在IP核之间建立一个通用接口完成互连。可以用于在
软核、固核以及硬核之间进行互联。
Wishbone规范具有如下特点:简单、紧凑,需要很少的逻辑门;完整的普通数据据传输
总线协议,包括单读写、块读写、读一修改一写周期、事件周期;
数据总线宽度可以是8-64位;支持
大端(big-endian)和小端(little-endian),接口自动完成两者之间的转换。支持
存储器映射、
FIFO存储器、交叉互联;握手协议,允许速率控制;可以达到每个
时钟周期进行一次数据传输;支持普通周期结束、重试结束、错误结束等
总线周期形式;支持用户自定义的标志:采用MASTER/SLAVE
体系结构;支持多点进程(Multi-MASTER):仲裁算法用于定义;支持各种各样的IP核互联,包括USB、双向总线、复用器互联等;同步
逻辑设计;非常简单的时序标准;与硬件实现技术无关(FPGA, ASIC等);与设计工具无关。
WISHBONE为我们提供了灵活的连接结构,使我们能非常容易的定制自己的所需用途。它通过提供标准的数据交换协议,使用户非常方便进行TEAMWORK,把系统组件化,增加了模块的重用性。节省了二次开发的时间。 WISHBONE地址和
数据位都是32位(如果小于32位也可以进行通信),最多可以连接8个主设备,16个从设备,当多个主设备申请控制时,通过仲裁机制决定什么时候哪个主设备能访问共享总线。
(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。