片上总线学习之Wishbone

片上总线学习之Wishbone

Wishbone是Silicore公司推出的一种轻量级协议,结构简单,开源免费,未来有可能成为新的IEEE标准,看好其在Soc片上总线的应用前景,典型的WISHBONE总线架构如下图1所示。
在这里插入图片描述
图1 WISHBONE典型架构
WISHBONE连接方式有四种,分别为点对点,数据流,共享总线以及十字连接,下图2为点对点的典型连接图,信号线高电平有效,INTERCON连接对应数据、地址及控制线,SYSCON模块提供时钟和复位信号
在这里插入图片描述

WISHBONE数据流典型连接如下图3所示,模块A处理完送给模块B,模块B处理完送给模块C,这种流水线处理方式可以提高系统执行效率。
在这里插入图片描述
WISHBONE共享总线连接如下图4所示,适合多个主设备与从设备间通信,通信时,主设备需要先从仲裁器获取总线控制权,多个主设备同时要求获取控制权时,仲裁器需要按优先级进行仲裁。
在这里插入图片描述
WISHBONE十字连接如下图5所示,相较于共享总线连接其连接方式更复杂,如下图所示允许多对主从设备间进行通信。
在这里插入图片描述
WISHBONE共有三种数据传输方式,分别为单次读写,块读写以及RMW(READ-MODIFY-WRITE),WISHBONE单次读周期信号波形如下图6所示。
在这里插入图片描述
如上图所示,CLK上升沿0时,WE_O置低表示读操作,ADR_O,TGA_O设置地址信号,STB_O置高表示读操作开始。CLK上升沿1时,获取DAT_I,TGD_I上数据,STB_O置低时表示一次操作结束。

WISHBONE单次写周期信号如下图7所示,CLK上升沿0时,WE_O置高表示写操作,ADR_O,TGA_O设置地址信号,DAT_O,TGD_O设置数据信号,STB_O置高表示读操作开始。CLK上升沿1时,获取DAT_I,TGD_I上数据,STB_O置低时表示一次操作结束。
在这里插入图片描述
WISHBONE块读周期信号如下图8所示,表示5次读操作,块操作的就是多个单次读写过程,具体工作流程同上述单周期读过程,块操作时循环信号CYC_O应一直保持为高,若STB_O与CYC_O同时为低表示整个块操作过程的结束。
在这里插入图片描述
WISHBONE块写周期信号如下图9所示,表示5次写操作,块操作的就是多个单次读写过程,具体工作流程同上述单周期写过程,块操作时循环信号CYC_O应一直保持为高,若STB_O与CYC_O同时为低表示整个块操作过程的结束。
在这里插入图片描述
WISHBONE块RMW周期信号如下图10所示,一次RMW操作本质上是一次读,一次写操作,需由同一主设备完成,读写数据地址需相同。下图具体过程为在时钟上升沿0,主设备通过ADR_O、TGA_O设置地址信号,WE_O为低表示读操作,将适当的SEL_O()信号置高通知从设备将数据放在数据总线的适当位置,CYC_O和TGC_O置高表示操作正在进行,STB_O置高表示第一次子操作开始。CYC_O和TGC_O可以发生在上升沿0以前的任何时刻。在时钟上升沿1到达之前,从设备检测到主设备发起的操作,将适当的数据放到主设备的DAT_I()和TGD_I,将主设备的ACK_I置高作为对主设备STB_O的响应。在时钟上升沿1,主设备发现ACK_I信号为高,采样DAT_I()和TGD_I()信号上数据,完成一次子操作。主设备将STB_O置低表示插入等待。在时钟上升沿1之后新的上升沿到达之前,从设备检测到主设备将STB_O置低,于是将ACK_I置低。经过若干等待周期,在上升沿2,主设备通过ADR_O、TGA_O设置地址信号,通过DAT_O、TGD_O设置数据信号,将WE_O置为高表示写操作,将适当的SEL_O()信号置高通知从设备将数据总线上哪些信号是有效的,将STB_O置高表示第二次子操作开始。 在时钟上升沿3到达之前,从设备检测到主设备发起的操作,将主设备的ACK_I置高作为对主设备STB_O的响应。在时钟上升沿3,从设备从DAT_I和TGD_I信号获取数据;主设备判断ACK_I信号为高,说明第二次子操作完成,将STB_O和CYC_O置低表示整个RMW操作完成,时钟上升沿之后,从设备检测到STB_O为低,也将ACK_I置低。
在这里插入图片描述
图10 WISHBONE块RMW周期信号
更多IC设计,验证,嵌入式等精彩内容,欢迎关注公众号:最炫ICerr
在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

15的月亮

您的打赏是我创作得最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值