片上總線Wishbone 學習(六)總線周期之握手協議
握手發生在主設備和從設備之間。握手協議是主設備和從設備在握手時所遵守的共同規則。如圖6,當主設備準備好,它將STB_O信號置高。STB_O信號一直為高,直到從設備通過置高ACK_O、ERR_O、RTY_O對本次操作發起響應。在圖7中我們以主設備的ACK_I信號作為示例,后文也如此。通過握手,主設備和從設備不僅可以完成通信,而且可以控制它們之間的通信速率。
本文引用地址:http://www.104case.com/article/201612/330216.htm圖1
如果從設備保證能夠在主設備發起操作時及時作出操作成功的響應,其ACK_O信號可以設計為STB_I和CYC_I信號的邏輯與,而ERR_O和RTY_O信號也可以不使用。因此ERR_O和RTY_O信號是可選的,而ACK_O信號是必須的。在點對點連接中,甚至可以將ACK_I信號直接置高。當存在ERR_O和RTY_O信號,主設備當發現ERR_O和RTY_O信號之一有效時如何進行響應取決于主設備的設計。
對于從設備,只有STB_I和CYC_I同時為高時,才能發起對主設備的響應。
實際上,對于主設備,其最小配置為只有ACK_I、CLK_I、CYC_O、RST_I和STB_O;而對于從設備,其最小配置為只有ACK_O、CLK_I、CYC_I、RST_I和STB_I,這里CYC
在圖1中,從STB_O到ACK_I存在一個長組合邏輯路徑,在實際系統中很可能成為關鍵路徑。因此,在設計中應盡量保證STB_O是觸發器的直接輸出。如果從STB_O到ACK_I存在一個長組合邏輯路徑延遲不能滿足設計的時序要求,可將從設備的ACK_O經過觸發器寄存后再輸出,從而將長組合邏輯打破,但系統的吞吐量也將因此減小。關于如何即打破長組合邏輯又不影響系統的吞吐量,以后的文章將進行詳細討論。
評論