《AXI總線仲裁器的設計與實作》分析了 ARM AMBA3.0片上總線體系中 AXI 協定規範的關鍵特性,提出一個基于 AXI 協定的總線仲裁器的具體實作方案,并對設計進行了仿真驗證,仿真結果表明了設計的正确性。
主要描述了針對 3 個以下主裝置和1個從裝置的總線仲裁器,具有标準的 AXI總線接口,采用改進的輪詢仲裁政策,滿足多個裝置公平擁有總線使用權的情況。
文章目錄
-
-
-
- 1.1 AXI 總線仲裁器概述
-
- 1.2 輪詢仲裁方案
- 1.3 子產品劃分
- 1.3.1 寫位址子產品設計
- 1.3.2 寫資料子產品設計
- 1.3.3 寫響應子產品設計
- 1.3.4 讀通道設計
- 1.4 讀資料傳輸模型
- 參考文檔
-
-
1.1 AXI 總線仲裁器概述
1.2 輪詢仲裁方案
輪詢方式将總線依次供各處理機使用,需要考慮的是總線有幾個通道需要仲裁,幾個總線通道是否互相獨立?
有限狀态機分為idle、1、2、3四個狀态,複位時進入idle态。sta=1時通道為master1使用,依此類推;當三個master都沒有送出請求時,進入idle态,按照 master送出請求的先後順序,可以從 idle 直接跳入最先送出請求的狀态,如三個 master 同時送出請求,則首先進入狀态1;狀态1結束時,首先檢測master2的請求信号,如master2無請求,則檢測master3是否送出請求;與 master1 類似,如目前狀态為2,master2利用通道傳輸完成後, 首先檢測master3的請求信号,然後檢測 master1的請求信号;另外如某段時間内有且僅有一個master請求占用總線通道,則狀态機保持在相應狀态,即通道持續為該裝置使用。
各個通道互相獨立,但是在Slave應該按照先後順序依次輸出。
1.3 子產品劃分
根據通道獨立性, AXI arbiter需要對3個master的五個通道分别進行仲裁, 是以,設計分為5個主要子產品,包括寫傳輸的寫位址、寫資料、寫響應三個子產品,及讀傳輸的讀位址、讀資料兩個子產品。其中,寫位址、寫資料、讀位址三個子產品中的有限狀态機輪詢方案進行設計,寫響應和讀資料子產品可根據 ID 号判斷将 slave 發出的資料傳回給對應的master。
1.3.1 寫位址子產品設計
一個MASTER發出awvalid時,接收到awready才允許切換别的MASTER, 共用一個S_AWREADY。
1.3.2 寫資料子產品設計
與寫位址類似,注意順序。僞代碼判斷條件如下:
wd1_begin = wvalid1; M1_wd_end = wvalid1&wready1&wlast1;
1.3.3 寫響應子產品設計
根據 slave 發送的 BID 信号就可以判斷将 BRESP 信号傳回給哪個 master。不需要狀态機。
1.3.4 讀通道設計
讀位址與寫位址類似,讀資料與寫響應子產品類似。
1.4 讀資料傳輸模型
3 個 master 都有傳輸時,讀位址通道的仿真波形。
ar_sta為讀位址通道的狀态,可以看出值在1,2,3中轉換,表示 master1,master2,master3發出的讀資訊傳輸經過arbiter輪詢仲裁在讀位址通道上傳輸。
參考文檔
【1】石蓉,黃秋元,陳慧. AXI總線仲裁器的設計與實作[EB/OL]. 北京:中國科技論文線上 [2011-04-27]. http://www.paper.edu.cn/releasepaper/content/201104-686.
論文下載下傳位址:http://www.paper.edu.cn/releasepaper/downFile/original/NUDGQFyQMRTVMIxeQNgeQeQ