新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AMBA總線 SoC 系統IP核的即插即用研究

        AMBA總線 SoC 系統IP核的即插即用研究

        作者: 時間:2011-07-08 來源:網絡 收藏
        OCP-IP核的功能是可裁剪的,即OCP-IP的大部分信號都是可選擇的。根據核的功能,選擇使用不同的信號。OCP協議中共有三大類型號:數據流信號 (dataflowsignals)、邊帶信號(sideband)、測試信號(test signals)。數據流信號主要包括:基本信號(basic signals)、簡單擴展信號(simple extensions signals)、突發擴展信號(burst exten-sions signals)和線程擴展信號(thread extensions signals)。邊帶信號主要包括:復位(.Reset)、中斷(Interrupt)、錯誤(Error)等信號。測試信號主要包括用于支持掃描 (Scan)、時鐘控制和IEEE 1149.1(JTAG)的信號。此處用到的OCP信號包括:Reset(復位)、Clk(時鐘)、En-ableClk(時鐘使能)、MAddr(地址)、MCmd(命令)、MData(數據)、SCmDACcept(命令接受)、SData(Slave數據)、SResp(操作成功標志)。簡單的 OCP讀寫時序如圖4所示。Request Phase表示請求階段,Response Phase表示響應階段。A處由系統Master發出1個WR寫命令,并給出地址A1和數據D1。隨即Slave發出命令接受響應ScmdAccept,此處一個周期完成了一個寫周期操作,不需要Slave給出寫操作成功響應。C處系統Master發出一個RD讀命令,并給出要讀取的地址A2。Slave 隨即給出命令接受響應信號SCmdAccept,在下一個時鐘周期D處Slave給出要讀取的數據D2并在Slave響應信號SResp上給出讀操作成功標志DVA。此處讀操作用了2個時鐘周期。

        OCP-IP跟AMBA總線的通信通過設計2個狀態機來實現,1個用于接收AMBA總線上的流水數據,1個用于發送接收的數據并以OCP標準的方式發送。接收數據的狀態機編碼如下:

        H_CTRL_PHASE1用于存儲第1級流水指令,H_CTRL_PHASE2用于存儲第2級流水指令,其狀態轉移圖如圖5所示。當AMBA總線上發出第1個讀寫指令,狀態機進入H_CTRL_PHASE1狀態,并將第1個讀寫指令轉換成OCP命令。因為AMBA總線是基于流水的操作,所以第2條指令的發出不需要等第1條指令執行結束。這時候,狀態機進入H_CTRL_PHASE2狀態,并將此指令存儲起來,等OCP命令執行結束立即將此存儲的指令轉換成OCP命令。這時如果AMBA總線上再次發出第3條指令,則狀態機進入H_CTRL_PHASE1狀態,并存儲此指令。

        發送接收到的數據的狀態機編碼如下:

        狀態轉移圖如圖6所示。當接收數據的狀態機接收到AMBA總線上的命令時,狀態機讓OCP接口進入第1個讀寫操作狀態,即READl狀態或者WRITE1 狀態。如果AMBA總線上有持續的流水操作命令,狀態機進入READ2狀態或者WRITE2狀態,即在AMBA流水操作的條件下,以1結尾的狀態的下一個狀態一定是以2結尾的狀態,反之以2結尾的狀態的下一個狀態一定是以1結尾的狀態。

        3 OCP-IP標準封裝軟件設計

        OCP是一種IP的標準,但不僅僅是IP的接口和數據的交換方式,還規定了IP的配置、端口等信息,即所謂的OCP配置文件。讀取OCP配置文件中的內容,就可以知道此IP對應的OCP接口的性能,從而對總線上的接口進行配置,進而實現IP的。雖然IP的功能是多樣的,總線的數據交互方式也是多樣的,但OCP接口的時序是固定的。這樣就可以通過設計軟件提取IP的端口信息,并自動生成相應的OCP接口模塊。該封裝軟件運行流程如圖7所示。用戶的 IP可以直接掛在該SOC平臺上進行驗證,同時也可以直接集成到其他帶有OCP接口的SoC系統中去,加快IP的驗證和系統的設計。

        封裝軟件采用MFC(微軟基礎類庫)來編寫。通過設計用戶界面,用戶只要輸入IP的時鐘、地址、數據、讀寫控制信號等,就可以自動生成1個OCP的接口,以及標準的配置文件,從而實現IP的以及IP的統一管理。

        結 語

        OCP是免費的基于點對點傳輸的IP核的標準協議,可重配置以及可擴展性很強,可以實現真正意義上的IP核,減少SoC系統設計的時間。本文討論了OCP-IP的協議與特點,設計了基于AMBA總線的OCP-IP接口,提出了一種IP自動封裝的方法,為IP核的集成和管理帶來極大的方便。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东阳市| 城市| 蒙阴县| 砀山县| 大英县| 曲麻莱县| 顺平县| 皮山县| 武山县| 会东县| 北海市| 偏关县| 台中市| 内乡县| 平泉县| 平原县| 巴里| 察雅县| 平阴县| 积石山| 全椒县| 汶川县| 黔西| 河间市| 乾安县| 新余市| 尉犁县| 青海省| 黎川县| 南阳市| 清丰县| 嵊州市| 宁都县| 霍林郭勒市| 平山县| 石棉县| 甘洛县| 敦化市| 大洼县| 江口县| 遂昌县|