图1 Wishbone总线的异步周期结束路径
这一问题的最简单解决方法是插入寄存器将回路断开,但这样做的缺点是在每一次总线操作中都需要插入一个等待周期,从而制约了总线吞吐量。如图2所示,在上升沿0主设备发起了一次操作,在上升沿1从设备发起响应将ACK_O置高,在上升沿2主设备检测到ACK_I为高完成第一次操作并发起第二次操作,但是在上升沿2从设备并不知道主设备会发起第二次操作,因此只能将ACK_O信号置低。在上升沿3从设备才能对第二次操作发起响应将ACK_O置高,在上升沿4主设备检测到ACK_I为高完成第二次操作。
图2
在图2中,每一次传输都需要两个时钟周期,一半的带宽被浪费。如果从设备在上升沿2知道主设备将发起新的操作,它将能够在上升沿3完成第二次操作,从而节省时钟周期提高了系统的吞吐量,利用该思想改进后的同步时序如图3所示。
图3
在图3的上升沿0,主设备发起操作,在上升沿1,从设备将ACK_O置高,在上升沿2完成第一次操作且从设备知道主设备将发起新的操作,于是将ACK_O继续置高,在上升沿3完成第二次操作。因此,
图4 不同结束方式性能的对比
改进后的同步周期结束方式具备异步周期结束方式的吞吐量优势,同时具备传统同步结束方式的延迟优势。改进后的同步周期结束方式称作Wishbone寄存反馈周期结束方式。
上一篇:片上总线Wishbone 学习(六)总线周期之握手协议
下一篇:片上总线Wishbone 学习(八)总线周期之单次读操作
推荐阅读最新更新时间:2024-05-03 00:01