片上总线Wishbone 学习(十)总线周期之单写读操作
来源:互联网 发布:mac抹掉磁盘重装系统 编辑:程序博客网 时间:2024/05/16 19:55
片上总线Wishbone 学习(十)总线周期之单写读操作
异步周期结束方式
单次写操作如图1所示。
在时钟上升沿0,主设备将地址信号ADR_O()、TGA_O()放到总线上,将数据信号DAT_O()、TGD_O()放到总线上,将WE_O置高表示写操作,将适当的SEL_O()信号置高通知从设备数据总线DAT_O()的哪些信号是有效的,将CYC_O和TGC_O置高表示操作正在进行,将STB_O置高表示操作开始。
在时钟上升沿1到达之前,从设备检测到主设备发起的操作,将主设备的ACK_I置高作为对主设备STB_O的响应。
在时钟上升沿1,从设备将DAT_I()和TGD_I()采样;主设备发现ACK_I信号为高,将STB_O和CYC_O置为低表示操作完成;从设备发现STB_O置低后,也将主设备的ACK_I置低。
在图1中,从设备可以在上升沿0和上升沿1之间插入任意多个等待周期。
图1 Wishbone总线的单次写操作(周期异步结束方式)
同步周期结束方式
图2 Wishbone总线的单次写操作(周期同步结束方式)
在时钟上升沿0:
- Master在[ADR_O()]和[TGA_O()]发出有效的地址
- Master在[DAT_O()]和[TGD_O()]发出数据
- Master发出[WE_O],表明是一个写周期
- Master发出有效数据选择信号[SEL_O()]表明哪些数据是有效的
- Master发出[CYC_O]和[TGC_O()]表明总线周期的开始
- Master发出[STB_O]表明操作的开始
在时钟上升沿1:
- Slave检测到主设备发起的操作,准备发出[ACK_I]
- Slave准备锁存[DAT_O]和[TGD_O()]
- Slave发出[ACK_I]应答[STB_O],表明数据有效,可以读取数据了
- Master发现[ACK_I],准备结束总线周期
注意:Slave可以在发出[ACK_I]前插入等待周期(-WSS-),以控制传速度。可以插入任意多个等待周期。
在时钟上升沿2:
- Slave锁存[DAT_I]和[TGD_I()]
- Master拉低[STB_O]和[CYC_O],表明总线周期的结束
- Slave发现Master拉低[STB_O],也将[ACK_I]拉低
- 片上总线Wishbone 学习(十)总线周期之单写读操作
- 片上总线Wishbone 学习(十)总线周期之单写读操作
- 片上总线Wishbone 学习(五)总线周期之复位操作
- 片上总线Wishbone 学习(六)总线周期之操作发起
- 片上总线Wishbone 学习(九)总线周期之单次读操作
- 片上总线Wishbone 学习(十一)总线周期之块读操作
- 片上总线Wishbone 学习(十二)总线周期之块写操作
- 片上总线Wishbone 学习(十三)总线周期之RMW操作
- 片上总线Wishbone 学习(五)总线周期之复位操作
- 片上总线Wishbone 学习(六)总线周期之操作发起
- 片上总线Wishbone 学习(九)总线周期之单次读操作
- 片上总线Wishbone 学习(十一)总线周期之块读操作
- 片上总线Wishbone 学习(十二)总线周期之块写操作
- 片上总线Wishbone 学习(十三)总线周期之RMW操作
- 片上总线Wishbone 学习(七)总线周期之握手协议
- 片上总线Wishbone 学习(七)总线周期之握手协议
- 片上总线Wishbone 学习(八)周期的同步结束和异步结束
- 片上总线Wishbone 学习(八)周期的同步结束和异步结束
- 苹果官方文档:使用Autorelease Pools
- Windows Azure 之 Hello World
- 片上总线Wishbone 学习(九)总线周期之单次读操作
- 实时抠图的一点经验
- Hook使用方法
- 片上总线Wishbone 学习(十)总线周期之单写读操作
- 关于拷贝构造函数与赋值运算符的一点知识
- dom4j 使用介绍
- SiteMapPath基本用法
- Json用法三个常见错误
- 今天的笔试,不知道数据库的ACID是神马。。
- 软件架构设计——应用集成设计
- POJ 2987 Firing (最大权闭合子图Dinic)
- 将二维数组打印成table的模板函数