應(yīng)用于SoC設(shè)計(jì)中IP核的接口技術(shù)
OCP簡(jiǎn)介
基于IP核復(fù)用技術(shù)的SoC 設(shè)計(jì)使芯片的設(shè)計(jì)從以硬件為中心轉(zhuǎn)向以軟件為中心,芯片設(shè)計(jì)不再是門級(jí)的設(shè)計(jì),而是IP核和接口及其復(fù)用設(shè)計(jì)。IP核集成到系統(tǒng)所要考慮的問(wèn)題包括:同步,例如全局執(zhí)行、數(shù)據(jù)交換和協(xié)議方面的同步操作;協(xié)議轉(zhuǎn)換,不同模塊間不兼容的協(xié)議的轉(zhuǎn)換,封裝可用來(lái)解決這個(gè)問(wèn)題,但需要考慮時(shí)序約束;I/O緩存,為滿足系統(tǒng)行為和時(shí)序約束可能需要緩存數(shù)據(jù)。另外,出于對(duì)核設(shè)計(jì)的保護(hù)會(huì)故意隱藏一些信息,而這些信息在集成時(shí)可能需要。為解決這些問(wèn)題需要一個(gè)好的接口標(biāo)準(zhǔn),一些大公司現(xiàn)在已有自己的IP核接口標(biāo)準(zhǔn),比如Altera的Avalon,Atlantic、IBM的CoreConnect、ARM的AMBA等。因?yàn)楹说亩鄻有?,使用完全相同的接口是不現(xiàn)實(shí)的,OCP將軟件中的分層概念應(yīng)用到IP核接口,提供一種具有通用結(jié)構(gòu)定義、可擴(kuò)展的接口協(xié)議,方便了IP核與系統(tǒng)的集成。
OCP協(xié)議使IP核與系統(tǒng)的接口與IP核的功能無(wú)關(guān),設(shè)計(jì)人員不需要了解核內(nèi)部也能利用它進(jìn)行系統(tǒng)設(shè)計(jì)。OCP接口允許設(shè)計(jì)者根據(jù)不同的目的配置接口,包括接口的數(shù)據(jù)寬度、交換的握手協(xié)議等,在SoC設(shè)計(jì)中可以裁剪核的功能,降低設(shè)計(jì)復(fù)雜性,減小面積,同時(shí)滿足SoC的要求;OCP接口還保持核在集成到系統(tǒng)的過(guò)程中自身完全不被改變,就是說(shuō)在總線寬度、總線頻率或電氣負(fù)載有變化時(shí)核保持不變。使用OCP接口的設(shè)計(jì)可以交付即插即用的模塊,同時(shí)支持核的開(kāi)發(fā)與系統(tǒng)設(shè)計(jì)并行,節(jié)省設(shè)計(jì)時(shí)間。
OCP接口運(yùn)行機(jī)制
OCP定義兩個(gè)通信實(shí)體間點(diǎn)到點(diǎn)的接口。其中一個(gè)實(shí)體作為通信的主體(Master),另一個(gè)作為從體(Slave)。只有Master可以發(fā)命令,Slave響應(yīng)Master的命令,接收或發(fā)送數(shù)據(jù)。封裝接口模塊必須擔(dān)當(dāng)每個(gè)連接實(shí)體的對(duì)應(yīng)端,當(dāng)連接實(shí)體是Master時(shí),封裝接口模塊就作為對(duì)應(yīng)的Slave;當(dāng)連接實(shí)體是Slave時(shí),封裝接口模塊作Master。
OCP的工作原理如圖1所示。圖中有三個(gè)IP核,其中左邊標(biāo)有Initiator的IP核是通信的發(fā)起方,作Master;右邊標(biāo)有Target的是通信的目標(biāo)方,作Slave;中間的既可作Master又可作Slave;下面的框圖代表封裝接口模塊;從Master出來(lái)并進(jìn)入Slave的箭頭表示請(qǐng)求命令,從Slave出來(lái)并進(jìn)入Master的箭頭表示響應(yīng);加黑的線段代表片上互連總線。兩個(gè)IP核通過(guò)接口通信的過(guò)程是:作為Master的 IP核發(fā)出請(qǐng)求命令給對(duì)應(yīng)的Slave端(總線封裝接口模塊);封裝接口模塊通過(guò)片上總線將請(qǐng)求命令(OCP并不指定片上互連總線的工作機(jī)制,而是把OCP命令轉(zhuǎn)換成總線上的傳送)傳送給接收方的總線封裝模塊;接收方的總線封裝模塊再作為Master把這種內(nèi)部總線傳輸轉(zhuǎn)換成合法的OCP命令傳送給目標(biāo)IP核;其作為Slave方接收命令并執(zhí)行所要求的操作。
每一個(gè)OCP接口都是可根據(jù)連接實(shí)體的要求進(jìn)行配置的(通過(guò)選擇需要的信號(hào)或某一信號(hào)的位寬),也是互相獨(dú)立的,例如系統(tǒng)中通信發(fā)起者總是會(huì)需要比目標(biāo)方更多的地址位數(shù)用來(lái)選擇發(fā)起者所要求的目標(biāo)。
評(píng)論