《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于OCP-IP的SOC總線即插即用的實(shí)現(xiàn)
基于OCP-IP的SOC總線即插即用的實(shí)現(xiàn)
摘要: 引言SOC設(shè)計(jì)的快速發(fā)展是以IP核復(fù)用為基礎(chǔ)的。IP核的復(fù)用極大地提高了SoC系統(tǒng)設(shè)計(jì)的開發(fā)效率,SoC片上總線的選擇是IP核間集成與互連的關(guān)鍵技術(shù)之一。目前片上總線的標(biāo)準(zhǔn)協(xié)議眾多,如ARM公司提出的AMBA總線、OPENCORES組織提出的WishBONe總線、IBM公司提出的CoreConnect總線等。SoC片上總線的多樣性對(duì)IP核的封裝規(guī)范提出了要求。標(biāo)準(zhǔn)的IP核封裝規(guī)范有助于提高IP核的復(fù)用甚至實(shí)現(xiàn)核的即插即用。基于提高IP核復(fù)用以及即插即用目的,OCP-IP組織提出了OCP-IP標(biāo)準(zhǔn)。1OCP-lP標(biāo)準(zhǔn)介紹1.1OCP協(xié)議OCP(OpenCoreProtoco1)標(biāo)準(zhǔn)是OCP-IP組織制定的一種以提高IP核的復(fù)用及實(shí)現(xiàn)IP核的即插即用為目的的IP核標(biāo)準(zhǔn)。SoC芯片設(shè)計(jì)不再是門級(jí)的設(shè)計(jì),而是IP核復(fù)用及其接口的設(shè)計(jì)。IP核要集成到一個(gè)SoC系統(tǒng)中,要考慮很多問(wèn)題,例如:模塊間的同步,如全局執(zhí)行、數(shù)據(jù)交換的同步操作等;協(xié)議轉(zhuǎn)換匹配,不同IP核模塊間可能使用不同的協(xié)議,這樣必須考慮協(xié)議轉(zhuǎn)換的問(wèn)題。這些問(wèn)題給IP復(fù)用帶來(lái)了一定的難度,并使SoC芯片的time-to-market(上市時(shí)間)延長(zhǎng)。為解決這些
關(guān)鍵詞: SOC OCP-IP 即插即用 IP核
Abstract:
Key words :

  引言

  SOC設(shè)計(jì)的快速發(fā)展是以IP核復(fù)用為基礎(chǔ)的。IP核的復(fù)用極大地提高了SoC系統(tǒng)設(shè)計(jì)的開發(fā)效率,SoC 片上總線的選擇是IP核間集成與互連的關(guān)鍵技術(shù)之一。目前片上總線的標(biāo)準(zhǔn)協(xié)議眾多,如ARM公司提出的AMBA總線、OPEN CORES組織提出的WishBONe總線、IBM公司提出的CoreConnect總線等。SoC片上總線的多樣性對(duì)IP核的封裝規(guī)范提出了要求。標(biāo)準(zhǔn)的IP核封裝規(guī)范有助于提高IP核的復(fù)用甚至實(shí)現(xiàn)核的即插即用。基于提高IP核復(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ù)用及實(shí)現(xiàn)IP核的即插即用為目的的IP核標(biāo)準(zhǔn)。SoC芯片設(shè)計(jì)不再是門級(jí)的設(shè)計(jì),而是IP核復(fù)用及其接口的設(shè)計(jì)。IP核要集成到一個(gè)SoC系統(tǒng)中,要考慮很多問(wèn)題,例如:模塊間的同步,如全局執(zhí)行、數(shù)據(jù)交換的同步操作等;協(xié)議轉(zhuǎn)換匹配,不同IP核模塊間可能使用不同的協(xié)議,這樣必須考慮協(xié)議轉(zhuǎn)換的問(wèn)題。這些問(wèn)題給IP復(fù)用帶來(lái)了一定的難度,并使SoC芯片的time-to-market (上市時(shí)間)延長(zhǎng)。為解決這些問(wèn)題,一些大公司提出了自己的總線接口標(biāo)準(zhǔn),如ARM的AMBA總線、IBM的CoreConnect總線、Altera的 Avalon總線等。因?yàn)楹说亩鄻有裕褂猛耆嗤目偩€接口是不現(xiàn)實(shí)的。這就意味著,如果總線A上的一個(gè)IP核要移植到另一系統(tǒng)的總線B上,就需要更改此IP的接口以及數(shù)據(jù)交換的方式。如果設(shè)計(jì)者不了解總線B的數(shù)據(jù)交換協(xié)議,這樣就對(duì)SoC系統(tǒng)的開發(fā)帶來(lái)一系列困難。OCP-IP正是針對(duì)這些問(wèn)題提出的。OCP協(xié)議是免費(fèi)的,獨(dú)立于具體的總線。它將軟件中的分層概念應(yīng)用到IP核接口,提供一種具有通用結(jié)構(gòu)定義、可擴(kuò)展的接口協(xié)議,能完全滿足IP內(nèi)核通信機(jī)制的所有要求,方便了IP核與系統(tǒng)的集成。

  OCP協(xié)議使IP核的功能與系統(tǒng)的接口無(wú)關(guān),設(shè)計(jì)人員不需要了解IP核的功能也能利用它進(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ò)程中完全不被改變(即在總線寬度、總線頻率或電氣負(fù)載有變化時(shí)核保持不變)。使用OCP接口的設(shè)計(jì)可以交付即插即用的模塊,同時(shí)支持核的開發(fā)與系統(tǒng)設(shè)計(jì)并行,節(jié)省設(shè)計(jì)時(shí)間。

  OCP采用套接口(socket)的方法實(shí)現(xiàn)IP核的即插即用,如圖1所示。Target Bus A表示總線A,Target Bus B表示總線B。不論總線A或者總線B是哪一類總線協(xié)議,只要總線上提供了OCP的接口,那么符合OCP協(xié)議的IP核就可以隨意集成到任意總線上去,不需要重新設(shè)計(jì)IP核的接口。

OCP套接口
 

  1.2 OCP通信方式

  OCP協(xié)議定義了兩個(gè)通信實(shí)體問(wèn)點(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的系統(tǒng)架構(gòu)如圖2所示。圖中有3個(gè)IP核,其中左邊標(biāo)有主控的IP核是通信的發(fā)起方或者主控方,稱為Master;最右邊標(biāo)有目標(biāo)的是通信的目標(biāo)對(duì)象,稱為Slave;中間的IP核既可作為Master又可作Slave;下面的框代表OCP-IP封裝接口模塊;從Master出來(lái)并進(jìn)入Slave的箭頭表示OCP請(qǐng)求命令,從Slave出來(lái)并進(jìn)入Master的箭頭表示OCP的響應(yīng)。2個(gè)IP核通過(guò)接口通信的過(guò)程是:功能為Master的IP核發(fā)出請(qǐng)求命令給對(duì)應(yīng)的Slave端(總線封裝接口模塊);封裝接口模塊將請(qǐng)求命令轉(zhuǎn)換成對(duì)應(yīng)的總線命令傳送給接收方的總線封裝模塊;接收方的總線封裝模塊再作為Master,把對(duì)應(yīng)的內(nèi)部總線傳輸轉(zhuǎn)換成標(biāo)準(zhǔn)的OCP命令傳送給目標(biāo)IP核,目標(biāo)IP核接收到命令并響應(yīng)命令和返回讀寫的數(shù)據(jù)。

OCP系統(tǒng)架構(gòu)

  2 基于AMBA總線的OCP接口設(shè)計(jì)

  AMBA(Advaneed Microcontroller Bus Architecture)總線規(guī)范是ARM公司設(shè)計(jì)的一種用于高性能嵌入式系統(tǒng)的總線標(biāo)準(zhǔn)。AMBA總線規(guī)范是開放標(biāo)準(zhǔn),通過(guò)ARM公司的授權(quán)就可以免費(fèi)獲得。它獨(dú)立于處理器和制造工藝技術(shù),增強(qiáng)了各種應(yīng)用中的外設(shè)和系統(tǒng)IP核單元的可重用性。2.O版AMBA標(biāo)準(zhǔn)定義了3組總線:AHB(AM-BA高性能總線)、ASB(AMBA系統(tǒng)總線)、和APB(AM-BA外設(shè)總線)。AHB總線應(yīng)用于要求高速度高帶寬的系統(tǒng)。本文以AHB總線為例,說(shuō)明OCP -IP如何集成到SOC系統(tǒng)總線上。AMBA總線基本傳輸時(shí)序如圖3所示。HCLK表示AMBA系統(tǒng)時(shí)鐘,HADDR[31:0]表示32位地址總線, HWDATA[31:O]表示32位寫操作時(shí)的數(shù)據(jù)總線,HREADY是AMBA總線的讀寫狀態(tài)信號(hào)(狀態(tài)為低電平時(shí),表示一次讀寫操作完成), HRDATA[31:0]表示讀操作時(shí)的數(shù)據(jù)總線。

AMBA總線基本傳輸時(shí)序

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

OCP讀寫時(shí)序

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

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

狀態(tài)轉(zhuǎn)移圖

 

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

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

發(fā)送接收數(shù)據(jù)的狀態(tài)機(jī)
 

  3 OCP-IP標(biāo)準(zhǔn)封裝軟件設(shè)計(jì)

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

OCP-IP封裝操作流程

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

  4 結(jié)語(yǔ)

  OCP是免費(fèi)的基于點(diǎn)對(duì)點(diǎn)傳輸?shù)腎P核的標(biāo)準(zhǔn)協(xié)議,可重配置以及可擴(kuò)展性很強(qiáng),可以實(shí)現(xiàn)真正意義上的IP核即插即用,減少SoC系統(tǒng)設(shè)計(jì)的時(shí)間。本文討論了OCP-IP的協(xié)議與特點(diǎn),設(shè)計(jì)了基于AMBA總線的OCP-IP接口,提出了一種IP自動(dòng)封裝的方法,為IP核的集成和管理帶來(lái)極大的方便。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩午夜视频在线观看| 亚洲欧美一级二级三级| 亚洲视频一二区| 亚洲社区在线观看| 国产视频一区二区三区在线观看| 欧美亚洲免费高清在线观看| 欧美一进一出视频| 亚洲第一精品久久忘忧草社区| 欧美国产日产韩国视频| 亚洲性av在线| 欧美一区二区三区免费观看视频 | 亚洲视频在线播放| 亚洲美女在线国产| 国产精品欧美一区喷水| 久久精品日韩一区二区三区| 亚洲人成在线播放| 一区二区三区免费网站| 国产日韩精品入口| 欧美精品亚洲二区| 欧美一区二视频| 亚洲国产欧美一区| 99re国产精品| 国产香蕉97碰碰久久人人| 国产精品爽黄69| 美女黄毛**国产精品啪啪 | 9色精品在线| 新片速递亚洲合集欧美合集| 亚洲宅男天堂在线观看无病毒| 亚洲二区在线视频| 亚洲国产一区二区视频| 国产欧美日韩视频| 国产小视频国产精品| 韩日精品视频| 国产伦精品一区二区三区在线观看| 免费人成精品欧美精品| 亚洲欧美日韩精品一区二区 | 欧美国产高潮xxxx1819| 欧美精品在线一区二区| 久久精品在线| 美女性感视频久久久| 欧美精品亚洲| 国产精品乱看| 黄色成人片子| 亚洲乱亚洲高清| 亚洲免费一级电影| 久久精品首页| 小嫩嫩精品导航| 亚洲电影免费观看高清完整版在线观看 | 欧美日韩在线免费| 免费成人高清| 欧美日韩精品一区| 欧美成人影音| 久久一区二区三区国产精品| 小黄鸭精品aⅴ导航网站入口 | 久久精品网址| 欧美黄色免费网站| 国产精品一区二区你懂的| 黄色一区二区三区四区| 亚洲伦理一区| 欧美在线视频免费| 亚洲无限av看| 亚洲国产成人久久| 亚洲神马久久| 久久色中文字幕| 欧美午夜不卡视频| 欧美乱大交xxxxx| 国产欧美韩日| 亚洲乱码国产乱码精品精可以看 | 欧美亚洲视频一区二区| 欧美成va人片在线观看| 国产精品国产自产拍高清av王其 | 亚洲国产日韩欧美一区二区三区| 亚洲手机在线| 亚洲欧洲在线一区| 亚洲国产高清在线| 正在播放欧美视频| 久久综合久久久| 久久在线播放| 国产精品vvv| 欧美色另类天堂2015| 国产亚洲午夜| 黄色成人在线观看| 日韩一级片网址| 91久久精品日日躁夜夜躁欧美| 亚洲欧美一区二区三区在线| 欧美国产亚洲视频| 国产综合色产在线精品| 一区国产精品| 在线成人黄色| 亚洲黄色精品| 欧美在线看片| 亚洲欧美日韩一区| 欧美人与性动交α欧美精品济南到 | 国产精品婷婷| 99国产精品国产精品久久| 亚洲国产精品一区| 欧美一区三区三区高中清蜜桃| 欧美日韩国产欧| 伊人久久综合| 久久国产精品毛片| 欧美一区二区三区免费视| 欧美私人网站| 99精品视频一区二区三区| 亚洲乱码国产乱码精品精可以看| 亚洲三级电影在线观看| 欧美在线观看一区二区| 久久久久久久一区二区| 免费观看30秒视频久久| 国产亚洲一区二区三区| 午夜精品网站| 亚洲激情一区| 久久久蜜桃精品| 国产网站欧美日韩免费精品在线观看| 在线视频亚洲| 亚洲一级在线| 欧美午夜精品电影| 9色porny自拍视频一区二区| 亚洲免费在线视频| 在线午夜精品| 欧美在线观看www| 国产精品视频第一区| 在线综合视频| 亚洲中无吗在线| 裸体一区二区三区| 国内精品国产成人| 欧美中文在线视频| 久久免费黄色| 一区二区在线观看视频在线观看 | 亚洲电影av| 欧美aⅴ一区二区三区视频| 一区视频在线播放| 亚洲欧洲午夜| 欧美日韩国产成人在线| 亚洲精选一区| 亚洲一区二区四区| 国产精品久久久久久久久久免费| 亚洲视频在线观看网站| 亚洲欧美日韩第一区| 久久久久久久成人| 国产亚洲精品久久久久久| 香蕉成人伊视频在线观看 | 久久午夜视频| 亚洲高清av| 午夜精彩视频在线观看不卡 | 欧美另类在线播放| 一区二区三区产品免费精品久久75| 亚洲一区中文| 国产一区二区三区黄| 最新国产拍偷乱拍精品 | 精品999久久久| 亚洲美女一区| 欧美四级在线| 欧美在线播放一区| 欧美成人国产va精品日本一级| 亚洲精品久久久久| 久久精品人人爽| 欧美国产精品专区| 一本综合久久| 久久精品一二三区| 亚洲黄色高清| 性欧美videos另类喷潮| 国产一区999| 亚洲毛片在线| 国产精品自拍小视频| 亚洲国产清纯| 欧美视频一区二区三区四区| 亚洲欧美国产制服动漫| 老司机成人网| 在线亚洲精品| 久久精品在线免费观看| 亚洲欧洲一区二区天堂久久| 久久精品免费| 欧美精品在线一区二区三区| 亚洲综合色丁香婷婷六月图片| 玖玖玖国产精品| aa级大片欧美三级| 久久久国产成人精品| 亚洲精品久久久久久久久| 久久aⅴ国产欧美74aaa| 亚洲国产精品一区制服丝袜| 午夜视频久久久| 亚洲国产va精品久久久不卡综合| 午夜欧美精品| 亚洲国产一区二区a毛片| 久久福利毛片| 国产欧美在线| 日韩视频免费大全中文字幕| 国产酒店精品激情| 夜夜嗨av一区二区三区四区| 国产有码在线一区二区视频| 一本一本久久a久久精品综合妖精| 国产日本欧美一区二区三区在线| 99精品免费| 精品成人a区在线观看| 午夜电影亚洲| 亚洲毛片播放| 欧美成人日韩| 久久国产黑丝| 国产裸体写真av一区二区| 一区二区三区高清不卡|