【博文连载】Wishbone总线寄存反馈周期结束方式
在Wishbone寄存反馈周期结束方式中,主设备需要事先通知从设备操作下一时钟周期是否将发起新的总线操作,这是通过周期类型识别地址标签CTI_O()/CTI_I()和突发类型扩展地址标签BTE_O()/BTE_I()完成的。主设备和从设备必须同时支持CTI_O()/CTI_I(),Wishbone接口才能以寄存反馈周期结束方式工作,主设备和从设备如果支持地址增加突发模式,它们必须同时支持BTE_O()/BTE_I()。如果主设备或者从设备之一不支持这种周期结束方式,它们只能以传统周期结束方式工作。
周期类型识别地址标签CTI_O()/CTI_I()提供描述当前操作突发模式的信息,从设备可以根据该信息确定在下一时钟周期如何进行响应。CTI_O()/CTI_I()的具体定义如表3。
表3 周期类型定义
不支持CTI_O()的主设备必须将该信号置为3’b000或者3’b111,这两个是等价的。主设备和从设备可以支持这些突发模式中的一部分,对于不支持的突发模式,主设备必须将CTI_O()置为3’b000,从设备必须将CTI_I()理解为3’b000。
为了减少在同步模式下的等待时间,从设备必须对主设备的操作尽快的做出响应。从设备可利用CTI_I()信号确定在下一周期对主设备的响应,但是由于此时还不知道STB_I信号的状态,因此从设备在确定在下一周期对主设备的响应时只能忽略STB_I信号,因此即使在STB_I信号为低的情况下,从设备仍然可能将ACK_O/ERR_O/RTY_O置高。因此,主设备应保证CTI_O()信息的有效性。
突发类型扩展地址标签BTE_O()/BTE_I()是对CTI_O()/CTI_I()=3’b010情况下的突发类型信息的扩展,描述的是地址值是如何变化的。其含义如表4所示。
表4 递增和递减突发类型扩展