Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

Wishbone总线突发结束方式

0
阅读(1882)

连载目录篇:http://blog.chinaaet.com/justlxy/p/5100051808 


突发结束(CTI_O=3’b111)表示当前操作是当前突发的最后一次操作,主设备在当前操作结束后紧接着的时钟周期不再发起操作。

图26给出了CTI_O=3’b111的用法。图中共有3次操作。第一次操作和第二次操作是一个突发操作的一部分。第一次操作发生在上升沿0,这是一次寄存反馈读操作,第二次操作是该突发操作的最后一个操作,主设备将CTI_O置为3’b111表示整个突发操作结束。第三次操作为单次写操作。

image.png

图26 Wishbone总线的突发结束

图26的操作过程如下:

在时钟上升沿0到达之前,一个突发寄存反馈读操作正在进行。从设备将数据放到数据总线DAT_I()。

在时钟上升沿0,主设备将DAT_I()采样,并更新地址总线ADR_O(),同时将CTI_O()置为3’b111表示本次突发读操作即将结束。从设备根据时钟上升沿0采样到的CTI_O()的值(不等于3’b111)知道操作还在进行,因此仍然将ACK_I置高,并在数据总线DAT_I()放上新的数据。

在时钟上升沿1,主设备将DAT_I()采样完成整个突发读操作,同时主设备将新地址信号放到地址总线ADR_O()上,将新数据信号放到数据总线DAT_O()上,将WE_O置为高表示写操作,CTI_O()置为3’b111表示本次写操作只进行一次。由于从设备根据CTI_O()为3’b111知道整个突发读操作结束,而不了解主设备将发起写操作,因此将ACK_I置低。

在时钟上升沿2,从设备检测到主设备的写操作,并将数据DAT_O()采样,同时将ACK_I置高。

在时钟上升沿3,主设备将CYC_O和STB_O置低表示操作结束,从设备将ACK_I置低。