天天看點

研讀《AXI總線仲裁器的設計與實作》-AXI協定了解(二)

《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 總線仲裁器概述

研讀《AXI總線仲裁器的設計與實作》-AXI協定了解(二)
1.2 輪詢仲裁方案

輪詢方式将總線依次供各處理機使用,需要考慮的是總線有幾個通道需要仲裁,幾個總線通道是否互相獨立?

研讀《AXI總線仲裁器的設計與實作》-AXI協定了解(二)

有限狀态機分為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 都有傳輸時,讀位址通道的仿真波形。

研讀《AXI總線仲裁器的設計與實作》-AXI協定了解(二)

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

繼續閱讀