Felix

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

Wishbone总线周期之单次写操作

0
阅读(1877)

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


标准单次写周期

图12显示的是标准单次写周期的时序图。

image.png

图12 标准单次写周期

总线协议的执行流程如下:

时钟上升沿0:

·主机将有效地址置于ADR_O()和TGA_O()上;

·主机将有效数据置于DAT_O()和TGD_O()上;

·主机将WE_O置位,以表明进去写周期;

·主机输出SEL_O()(bank select)表明其操作的数据地址;

·主机将CYC_O和TCG_O置位,以表明写周期开始;

·主机将STB_O信号置位,以表明操作开始(start of phase)。

时钟上升沿1:

·从机解码输入(检测STB_O,数据被锁存),并将ACK_I置位,以做出响应;

·从机准备锁存DAT_O()和TGD_O()上的数据;

·主机将STB_O信号复位,以表明数据传输的结束(end of data phase);

·主机监控ACK_I信号,并准备终止周期;

注意:从机可能会在置位ACK_I信号之前插入多个(数量任意)等待状态(-WSS-),因此允许其限制周期速度。

时钟上升沿2:

·从机锁存DAT_O()和TCG_O()上的数据;

·主机将STB_O和CYC_O复位,以表明周期的结束;

·从机将ACK_I信号复位以响应STB_O信号的复位。

流水线单次写周期

图13显示的是流水线单次写周期的时序图。

总线协议的执行流程如下:

时钟上升沿0:

·主机将有效地址输出到ADR_O()和TGA_O();

·主机将有效数据置于DAT_O()和TGD_O();

·主机将WE_O置位,表示进入写周期;

·主机输出SEL_O()(bank select)表明其操作的数据地址;

·主机将CYC_O和TCG_O置位,以表明写周期开始;

·主机将STB_O信号置位,以表明操作开始(start of phase)。

时钟上升沿1:

·从机解码输入(检测STB_O,数据被锁存),并将ACK_I置位,以做出响应;

·从机准备将DAT_O()和TGD_I()上的数据锁存;

·主机将STB_O信号复位,以表明数据传输的结束(end of data phase);

·主机监控ACK_I信号,并准备终止周期;

注意:从机可能会在置位ACK_I信号之前插入多个(数量任意)等待状态(-WSS-),因此允许其限制周期速度。

时钟上升沿2:

·主机锁存DAT_O()和TCG_O()上的数据;

·主机将STB_O和CYC_O复位,以表明周期的结束;

·从机将ACK_I信号复位以响应STB_O信号的复位。

image.png

图13 流水线单次写周期


Baidu
map