AMBA息線SOC系統IP核的即插即用研究
引 言
SoC設計的快速發展是以IP核復用為基礎的。IP核的復用極大地提高了SoC系統設計的開發效率,SoC 片上總線的選擇是IP核間集成與互連的關鍵技術之一。目前片上總線的標準協議眾多,如ARM公司提出的AMBA總線、OPEN CORES組織提出的WishBone總線、IBM公司提出的CoreConnect總線等。SoC片上總線的多樣性對IP核的封裝規范提出了要求。標準的IP核封裝規范有助于提高IP核的復用甚至實現核的即插即用。基于提高IP核復用以及即插即用目的,OCP-IP組織提出了OCP-IP標準。
1 OCP-lP標準介紹
1.1 OCP協議
OCP(Open Core Protoco1)標準是OCP-IP組織制定的一種以提高IP核的復用及實現IP核的即插即用為目的的IP核標準。SoC芯片設計不再是門級的設計,而是IP核復用及其接口的設計。IP核要集成到一個SoC系統中,要考慮很多問題,例如:模塊間的同步,如全局執行、數據交換的同步操作等;協議轉換匹配,不同IP核模塊間可能使用不同的協議,這樣必須考慮協議轉換的問題。這些問題給IP復用帶來了一定的難度,并使SoC芯片的time-to-market (上市時間)延長。為解決這些問題,一些大公司提出了自己的總線接口標準,如ARM的AMBA總線、IBM的CoreConnect總線、Altera的 Avalon總線等。因為核的多樣性,使用完全相同的總線接口是不現實的。這就意味著,如果總線A上的一個IP核要移植到另一系統的總線B上,就需要更改此IP的接口以及數據交換的方式。如果設計者不了解總線B的數據交換協議,這樣就對SoC系統的開發帶來一系列困難。OCP-IP正是針對這些問題提出的。OCP協議是免費的,獨立于具體的總線。它將軟件中的分層概念應用到IP核接口,提供一種具有通用結構定義、可擴展的接口協議,能完全滿足IP內核通信機制的所有要求,方便了IP核與系統的集成。
OCP協議使IP核的功能與系統的接口無關,設計人員不需要了解IP核的功能也能利用它進行系統設計。OCP接口允許設計者根據不同的目的配置接口,包括接口的數據寬度、交換的握手協議等,并且在SoC設計中可以裁剪核的功能,降低設計復雜性,減小面積,同時滿足SoC的要求;OCP接口還保持核在集成到系統的過程中完全不被改變(即在總線寬度、總線頻率或電氣負載有變化時核保持不變)。使用OCP接口的設計可以交付即插即用的模塊,同時支持核的開發與系統設計并行,節省設計時間。
OCP采用套接口(socket)的方法實現IP核的即插即用,如圖1所示。Target Bus A表示總線A,Target Bus B表示總線B。不論總線A或者總線B是哪一類總線協議,只要總線上提供了OCP的接口,那么符合OCP協議的IP核就可以隨意集成到任意總線上去,不需要重新設計IP核的接口。
1.2 OCP通信方式
OCP協議定義了兩個通信實體問點到點的接口。其中一個實體作為通信的主體(Master),另一個作為從體(Slave)。只有Master可以發命令,Slave響應Master的命令,接收或發送數據。封裝接口模塊必須擔當每個連接實體的對應端,當連接實體是Master時,封裝接口模塊就作為對應的Slave;當連接實體是Slave時,封裝接口模塊作Master。
OCP的系統架構如圖2所示。圖中有3個IP核,其中左邊標有主控的IP核是通信的發起方或者主控方,稱為Master;最右邊標有目標的是通信的目標對象,稱為Slave;中間的IP核既可作為Master又可作Slave;下面的框代表OCP-IP封裝接口模塊;從Master出來并進入Slave的箭頭表示OCP請求命令,從Slave出來并進入Master的箭頭表示OCP的響應。2個IP核通過接口通信的過程是:功能為Master的IP核發出請求命令給對應的Slave端(總線封裝接口模塊);封裝接口模塊將請求命令轉換成對應的總線命令傳送給接收方的總線封裝模塊;接收方的總線封裝模塊再作為Master,把對應的內部總線傳輸轉換成標準的OCP命令傳送給目標IP核,目標IP核接收到命令并響應命令和返回讀寫的數據。
評論