目前片上總線的標(biāo)準(zhǔn)協(xié)議眾多,如ARM公司提出的AMBA總線、OPEN CORES組織提出的WishBone總線、IBM公司提出的CoreConnect總線等。SoC片上總線的多樣性對IP核的封裝規(guī)范提出了要求。標(biāo)準(zhǔn)的IP核封裝規(guī)范有助于提高IP核的復(fù)用甚至實現(xiàn)核的即插即用?;谔岣逫P核復(fù)用以及即插即用目的,OCP-IP組織提出了OCP-IP標(biāo)準(zhǔn)。
1 OCP-lP標(biāo)準(zhǔn)介紹
1.1 OCP協(xié)議
OCP(Open Core Protoco1)標(biāo)準(zhǔn)是OCP-IP組織制定的一種以提高IP核的復(fù)用及實現(xiàn)IP核的即插即用為目的的IP核標(biāo)準(zhǔn)。SoC芯片設(shè)計不再是門級的設(shè)計,而是IP核復(fù)用及其接口的設(shè)計。IP核要集成到一個SoC系統(tǒng)中,要考慮很多問題,例如:模塊間的同步,如全局執(zhí)行、數(shù)據(jù)交換的同步操作等;協(xié)議轉(zhuǎn)換匹配,不同IP核模塊間可能使用不同的協(xié)議,這樣必須考慮協(xié)議轉(zhuǎn)換的問題。這些問題給IP復(fù)用帶來了一定的難度,并使SoC芯片的TIme-to-market (上市時間)延長。為解決這些問題,一些大公司提出了自己的總線接口標(biāo)準(zhǔn),如ARM的AMBA總線、IBM的CoreConnect總線、Altera的 Avalon總線等。因為核的多樣性,使用完全相同的總線接口是不現(xiàn)實的。這就意味著,如果總線A上的一個IP核要移植到另一系統(tǒng)的總線B上,就需要更改此IP的接口以及數(shù)據(jù)交換的方式。如果設(shè)計者不了解總線B的數(shù)據(jù)交換協(xié)議,這樣就對SoC系統(tǒng)的開發(fā)帶來一系列困難。OCP-IP正是針對這些問題提出的。OCP協(xié)議是免費的,獨立于具體的總線。它將軟件中的分層概念應(yīng)用到IP核接口,提供一種具有通用結(jié)構(gòu)定義、可擴展的接口協(xié)議,能完全滿足IP內(nèi)核通信機制的所有要求,方便了IP核與系統(tǒng)的集成。
OCP協(xié)議使IP核的功能與系統(tǒng)的接口無關(guān),設(shè)計人員不需要了解IP核的功能也能利用它進行系統(tǒng)設(shè)計。OCP接口允許設(shè)計者根據(jù)不同的目的配置接口,包括接口的數(shù)據(jù)寬度、交換的握手協(xié)議等,并且在SoC設(shè)計中可以裁剪核的功能,降低設(shè)計復(fù)雜性,減小面積,同時滿足SoC的要求;OCP接口還保持核在集成到系統(tǒng)的過程中完全不被改變(即在總線寬度、總線頻率或電氣負(fù)載有變化時核保持不變)。使用OCP接口的設(shè)計可以交付即插即用的模塊,同時支持核的開發(fā)與系統(tǒng)設(shè)計并行,節(jié)省設(shè)計時間。
OCP采用套接口(socket)的方法實現(xiàn)IP核的即插即用,如圖1所示。Target Bus A表示總線A,Target Bus B表示總線B。不論總線A或者總線B是哪一類總線協(xié)議,只要總線上提供了OCP的接口,那么符合OCP協(xié)議的IP核就可以隨意集成到任意總線上去,不需要重新設(shè)計IP核的接口。