AHB中split機制簡介


完整的AHB協議:1)可以多個master,並且需要外加一個Arbiter,和write multiplexor。為了保證每一時刻只有一個master擁有訪問權。

                       2)為了增強pipeline的能力,允許Arbiter將一個未完成的burst中斷,grant給另外一個transfer。所以還有兩種

                         transfer;RETRY/SPLIT。   

Arbitration:主要是確保每個時間點,都從master的req中選擇一個priority最高的訪問bus;

                                                 從slave端接收req,來完成SPLIT操作。

 

Arbitration signals:

                      HBUSREQ,從master到Arbitration的總線請求信號。    

                      HLOCK,從master到Arbitration的原子操作請求,與AHB-Lite中的lock信號類似。為了保證transfer的完整性。

                      HGRANT,從Arbitration到master的總線應答信號。

                      HMASTER,4bit,由master驅動,表示當前擁有總線的master。方便支持SPLIT transfer的slave record此時的master。  

                      HMASTLOCK,由Arbitration發送給slave的lock信號。

                      HSPLIT,16bit,由slave發出,表示要進行SPLIT transfer,通知Arbitration哪一個bus master要繼續進行操作。

以下是一個Arbitration的響應過程。在GRANT和HREADY都為高時,才表示總線賦予成功.

 

                      HRESP信號,2bit,表示OKAY、ERROR外,還可以表示RETRY、SPLIT。同樣的RETRY、SPLIT也是2-cycle response。

                                                   RETRY和SPLIT的主要區別是,RETRY只是表示這個transfer還沒有結束,

                                                                                           但並不會改變Arbitration接下來的調度。

                                                   SPLIT會將當前transfer的優先級調低,在slave准備好之后,通過SPLIT信號通知Arbitration,

                                                                                            而后再將優先級調高。

                                                   RETRY和SPLIT的會增加slave和Arbitration的設計復雜性,但是對master並沒有影響,master應該始終req bus。

 

 

SPLIT機制最大限度的利用AHB的總線帶寬。卻增加了slave和Arbitration的設計復雜性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM