以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
PC机一般都提供PCI插槽,各种板卡(包括显卡、语音卡、网卡,甚至用户自制的板卡)只要满足PCI接口标准,就可以直接插在PC机的PCI插槽使用,十分方便。同样的道理,目前有很多IP核的研发者或公司,为了方便不同研发者或公司的IP核能够直接连接,就要求这些IP核遵守共同的接口标准。在片上系统(SoC)中,处理器核与其他IP核通过共享总线互通互联,这些IP核必须遵守相同的总线规范。总线规范定义了IP核之间的通用接口。目前常见的片上总线规范有ARM公司的AMBA、IBM公司的CoreConnect、Altera公司的Avalon,以及本节介绍的Wishbone,笔者不对这些规范进行比较,只介绍Wishbone规范。
Wishbone总线规范是Silicore公司最先提出的,由于其开放性,现在已有不少用户群,特别是一些免费的IP核,大多数都采用Wishbone规范。Wishbone除了开放、免费,还有简单、灵活、轻量、支持用户自定义标签的特点。目前已有B4版本的规范,OR1200中遵循的是Wishbone B2与B3版本的规范,用户可以自行配置是采用B2还是B3规范。
Wishbone有多种互联方式:点对点、数据流、共享总线、交叉互联等。OR1200内部使用的都是点对点连接方式。在点对点连接方式中,有一个主设备,一个从设备,连接关系如图3.3所示,注意图中输出信号使用“_O”结束,输入信号使用“_I”结束,同时所有的信号都是高电平有效。