開(kāi)放核協(xié)議—IP核在SoC設計中的接口技術(shù)

摘    要:本文介紹了IP核的概念及其在SoC設計中的應用,討論了為提高IP核的復用能力而采用的IP核與系統的接口技術(shù)。

    關(guān)鍵詞:SoC;IP核;OCP

  引言

  隨著(zhù)半導體技術(shù)的發(fā)展,深亞微米工藝加工技術(shù)允許開(kāi)發(fā)上百萬(wàn)門(mén)級的單芯片,已能夠將系統級設計集成到單個(gè)芯片中即實(shí)現片上系統SoC。IP核的復用是SoC設計的關(guān)鍵,但困難在于缺乏IP核與系統的接口標準,因此,開(kāi)發(fā)統一的IP核接口標準對提高IP核的復用意義重大。本文簡(jiǎn)單介紹IP核概念,然后從接口標準的角度討論在SoC設計中提高IP核的復用度,從而簡(jiǎn)化系統設計和驗證的方法,主要討論OCP(開(kāi)放核協(xié)議)。

                          圖1 OCP工作原理示意
                          圖2  讀/寫(xiě)操作的時(shí)序
                          圖3  讀/寫(xiě)狀態(tài)機

  OCP簡(jiǎn)介

  基于IP核復用技術(shù)的SoC 設計使芯片的設計從以硬件為中心轉向以軟件為中心,芯片設計不再是門(mén)級的設計,而是IP核和接口及其復用設計。IP核集成到系統所要考慮的問(wèn)題包括:同步,例如全局執行、數據交換和協(xié)議方面的同步操作;協(xié)議轉換,不同模塊間不兼容的協(xié)議的轉換,封裝可用來(lái)解決這個(gè)問(wèn)題,但需要考慮時(shí)序約束;I/O緩存,為滿(mǎn)足系統行為和時(shí)序約束可能需要緩存數據。另外,出于對核設計的保護會(huì )故意隱藏一些信息,而這些信息在集成時(shí)可能需要。為解決這些問(wèn)題需要一個(gè)好的接口標準,一些大公司現在已有自己的IP核接口標準,比如Altera的Avalon,Atlantic、IBM的CoreConnect、ARM的AMBA等。因為核的多樣性,使用完全相同的接口是不現實(shí)的,OCP將軟件中的分層概念應用到IP核接口,提供一種具有通用結構定義、可擴展的接口協(xié)議,方便了IP核與系統的集成。

  OCP協(xié)議使IP核與系統的接口與IP核的功能無(wú)關(guān),設計人員不需要了解核內部也能利用它進(jìn)行系統設計。OCP接口允許設計者根據不同的目的配置接口,包括接口的數據寬度、交換的握手協(xié)議等,在SoC設計中可以裁剪核的功能,降低設計復雜性,減小面積,同時(shí)滿(mǎn)足SoC的要求;OCP接口還保持核在集成到系統的過(guò)程中自身完全不被改變,就是說(shuō)在總線(xiàn)寬度、總線(xiàn)頻率或電氣負載有變化時(shí)核保持不變。使用OCP接口的設計可以交付即插即用的模塊,同時(shí)支持核的開(kāi)發(fā)與系統設計并行,節省設計時(shí)間。

  OCP接口運行機制

  OCP定義兩個(gè)通信實(shí)體間點(diǎn)到點(diǎn)的接口。其中一個(gè)實(shí)體作為通信的主體(Master),另一個(gè)作為從體(Slave)。只有Master可以發(fā)命令,Slave響應Master的命令,接收或發(fā)送數據。封裝接口模塊必須擔當每個(gè)連接實(shí)體的對應端,當連接實(shí)體是Master時(shí),封裝接口模塊就作為對應的Slave;當連接實(shí)體是Slave時(shí),封裝接口模塊作Master。

  OCP的工作原理如圖1所示。圖中有三個(gè)IP核,其中左邊標有Initiator的IP核是通信的發(fā)起方,作Master;右邊標有Target的是通信的目標方,作Slave;中間的既可作Master又可作Slave;下面的框圖代表封裝接口模塊;從Master出來(lái)并進(jìn)入Slave的箭頭表示請求命令,從Slave出來(lái)并進(jìn)入Master的箭頭表示響應;加黑的線(xiàn)段代表片上互連總線(xiàn)。兩個(gè)IP核通過(guò)接口通信的過(guò)程是:作為Master的 IP核發(fā)出請求命令給對應的Slave端(總線(xiàn)封裝接口模塊);封裝接口模塊通過(guò)片上總線(xiàn)將請求命令(OCP并不指定片上互連總線(xiàn)的工作機制,而是把OCP命令轉換成總線(xiàn)上的傳送)傳送給接收方的總線(xiàn)封裝模塊;接收方的總線(xiàn)封裝模塊再作為Master把這種內部總線(xiàn)傳輸轉換成合法的OCP命令傳送給目標IP核;其作為Slave方接收命令并執行所要求的操作。

  每一個(gè)OCP接口都是可根據連接實(shí)體的要求進(jìn)行配置的(通過(guò)選擇需要的信號或某一信號的位寬),也是互相獨立的,例如系統中通信發(fā)起者總是會(huì )需要比目標方更多的地址位數用來(lái)選擇發(fā)起者所要求的目標。

  OCP接口信號

  OCP通過(guò)命令完成實(shí)體間的通信操作,在接口為選擇的命令配置相應信號,所有的信號都是在時(shí)鐘上升沿采樣,是完全的同步設計。OCP接口信號包括數據信號、邊帶信號和測試信號。數據信號又分為基本信號、簡(jiǎn)單擴展信號、猝發(fā)信號和多線(xiàn)程擴展信號。所有IP核都需要基本數據信號中的一組信號,其他可選信號用于支持通信需要,實(shí)現可配置和可擴展性。

  基本數據信號包括:Clk、MAddr、MCmd、MData、MDataValid、MRespAccept、SCmdAccept、SData、SDataAccept、SResp。其中只有CLK和MCmd是必須的,其他可選。Mcmd是傳輸命令,指出主方OCP傳輸類(lèi)型,包括讀、寫(xiě)和廣播類(lèi)型的八種命令。簡(jiǎn)單擴展信號增加了OCP接口地址空間、字節使能和核在不同階段的特征信息。猝發(fā)式擴展信號允許猝發(fā)傳輸,可設置不同猝發(fā)傳輸模式的參數。多線(xiàn)程擴展信號支持OCP接口的多線(xiàn)程處理。邊帶信號傳送諸如復位、中斷、錯誤和核特性標志等控制信息,也是IP核與系統間交換控制和狀態(tài)信息的手段,可以同請求/響應信號異步,但與時(shí)鐘上升沿同步。測試信號支持掃描、時(shí)鐘控制和JTAG。

  OCP接口時(shí)序及接口狀態(tài)機

  以簡(jiǎn)單讀寫(xiě)操作的時(shí)序為例說(shuō)明OCP接口時(shí)序要求,如圖2所示。

  在上升沿1處OCP Master方通過(guò)將MCmd由Idle變?yōu)閃r開(kāi)始進(jìn)入請求狀態(tài),在此周期內把地址A1和數據D1分別送到MAddr和MData信號線(xiàn)上,Slave必須在同一個(gè)周期內發(fā)出SCmdAccept有效信號;Slave在上升沿2處開(kāi)始接收地址和數據并進(jìn)行內部寫(xiě)操作;在上升沿4處MCmd賦值為Rd,OCP進(jìn)入讀請求狀態(tài),在這個(gè)周期內Master方將地址放在MAddr信號線(xiàn)上,在同周期Slave發(fā)出SCmdAccept有效信號;在上升沿5處Slave方置SResp為DVA從而開(kāi)始響應階段,請求階段結束,根據從MAddr獲得的地址讀取數據并放到SData信號線(xiàn)上;在上升沿6處開(kāi)始Master方收到Slave的響應信號并開(kāi)始讀數據,響應階段完成。

  圖3是在讀、寫(xiě)操作中請求階段和響應階段主、從兩方的狀態(tài)機。

  Master和Slave都是從IDLE狀態(tài)開(kāi)始,當檢測到MCmd變?yōu)樽x或寫(xiě)時(shí)Master轉為請求階段,Slave轉到讀或寫(xiě)狀態(tài)。如果是讀操作,Master的請求狀態(tài)持續到SCmdAccept有效,Slave在完成讀操作后發(fā)出SCmdAccept有效信號并置SResp為DVA,Slave變?yōu)轫憫獱顟B(tài),Master進(jìn)入IDLE狀態(tài);SResp是NULL時(shí),Slave沒(méi)有進(jìn)入響應狀態(tài)Master進(jìn)入Wait Resp狀態(tài),等待Slave進(jìn)入響應狀態(tài)。如果是寫(xiě)操作,沒(méi)有響應信號,當SCmdAccept有效時(shí)Master的請求階段結束進(jìn)入IDLE狀態(tài),Slave處理寫(xiě)操作,完成后進(jìn)入IDLE狀態(tài)。

  結語(yǔ)

  OCP是基于核的免費開(kāi)放的接口協(xié)議,可以根據不同IP核的通信要求進(jìn)行配置和擴展,能夠實(shí)現硬件集成真正的即插即用,允許系統集成根據應用需要選擇最好的IP核和互聯(lián)機制。OCP為IP核設計提供了解決可配置性和接口的較好辦法,實(shí)現了IP核與系統集成的Socket接口,能夠做到核的模塊化和即插即用特性。

 


【上一個(gè)】 開(kāi)關(guān)電源維修步驟及經(jīng)驗 【下一個(gè)】 開(kāi)關(guān)電源的PCB設計規范


 ^ 開(kāi)放核協(xié)議—IP核在SoC設計中的接口技術(shù)

亚洲一级免费在线免费视频_无码精品人妻内射_无码潮喷中文字幕在线_激情五月开心五月中文字