<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AMBA總線(xiàn) SoC 系統IP核的即插即用研究

AMBA總線(xiàn) SoC 系統IP核的即插即用研究

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

OCP-IP跟AMBA總線(xiàn)的通信通過(guò)設計2個(gè)狀態(tài)機來(lái)實(shí)現,1個(gè)用于接收AMBA總線(xiàn)上的流水數據,1個(gè)用于發(fā)送接收的數據并以OCP標準的方式發(fā)送。接收數據的狀態(tài)機編碼如下:

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

發(fā)送接收到的數據的狀態(tài)機編碼如下:

狀態(tài)轉移圖如圖6所示。當接收數據的狀態(tài)機接收到AMBA總線(xiàn)上的命令時(shí),狀態(tài)機讓OCP接口進(jìn)入第1個(gè)讀寫(xiě)操作狀態(tài),即READl狀態(tài)或者WRITE1 狀態(tài)。如果AMBA總線(xiàn)上有持續的流水操作命令,狀態(tài)機進(jìn)入READ2狀態(tài)或者WRITE2狀態(tài),即在A(yíng)MBA流水操作的條件下,以1結尾的狀態(tài)的下一個(gè)狀態(tài)一定是以2結尾的狀態(tài),反之以2結尾的狀態(tài)的下一個(gè)狀態(tài)一定是以1結尾的狀態(tài)。

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

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

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

結 語(yǔ)

OCP是免費的基于點(diǎn)對點(diǎn)傳輸的IP核的標準協(xié)議,可重配置以及可擴展性很強,可以實(shí)現真正意義上的IP核,減少SoC系統設計的時(shí)間。本文討論了OCP-IP的協(xié)議與特點(diǎn),設計了基于A(yíng)MBA總線(xiàn)的OCP-IP接口,提出了一種IP自動(dòng)封裝的方法,為IP核的集成和管理帶來(lái)極大的方便。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: IP核復用 即插即用

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>