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