IP核互連策略及規(guī)范
1 引 言
隨著超深亞微米工藝的發(fā)展,IC設(shè)計能力與工藝能力極大提高,采用SoC(System on Chip)將微處理器、IP核、存儲器及各種接口集成在單一芯片上,已成為目前IC設(shè)計及嵌入式系統(tǒng)發(fā)展的趨勢和主流。為減少設(shè)計風(fēng)險、縮短設(shè)計周期、更集中于應(yīng)用實現(xiàn),設(shè)計者越來越多的采用IP核復(fù)用。在此推動下,IP核互連技術(shù)及片上總線(On-Chip Bus)得到迅速發(fā)展,反過來它們又對IP核的設(shè)計、校驗、重用及IP核有關(guān)標(biāo)準(zhǔn)的制定也產(chǎn)生了深遠的影響。
2 IP核互連策略
就IP核互連的形式而言,主要有共享總線、點對點的連接及多總線幾種方式,帶寬、時延、數(shù)據(jù)吞吐率及功耗通常是幾個需主要考慮的因素,但要求與板級的互連已不相同。
共享總線方式是通過不同地址的解碼來完成不同主、從部件的互連及總線復(fù)用,這對多外設(shè)IC系統(tǒng)設(shè)計而言,對地址總線的扇出提出了較高的要求,同時過于復(fù)雜的解碼邏輯會增加額外的時延。如果數(shù)據(jù)主要集中在一個主處理器與一個從外設(shè)交換數(shù)據(jù),則其它的外設(shè)在此期間需處于IDEL 或高阻狀態(tài),而對于多處理器設(shè)計的系統(tǒng),其他的數(shù)據(jù)傳輸不能同時進行,增加了時延及等待。
通過增加總線的寬度、提高總線的時鐘、及采用多總線方案可以解決帶寬、時延問題。但增加總線的寬度,只有外圍設(shè)備能在一個時鐘周期中能全部占有這些總線時才有效,否則總線的利用率就不高,而提高總線的時鐘也會受到一定的限制,同時會產(chǎn)生功耗方面的問題。
一個有效的辦法就是采用多總線方案。多總線的方案有多種實現(xiàn)形式,按不同速率對總線分段可以減少總線的競爭并且提高總線利用率;可采用獨立的讀寫總線以進行同時的讀寫;可提供多個并行的總線,對主、從部件間進行點對點的連接,以實現(xiàn)一對主、從部件的高速互連;另外還有一些有效的方式,如采用分層總線構(gòu)架,采用交換矩陣或互連網(wǎng)絡(luò),來實現(xiàn)多個主、從部件的同時互連,等等。
多種總線仲裁算法可以被采用。采用循環(huán)占用總線,實現(xiàn)最為簡單;另外采用從部件仲裁(Slave-side arbitration)的方案,在從部件需要數(shù)據(jù)傳送時占有總線,有利于提高總線的利用率。對于流水線傳送較多的情況,如何保證讀寫的流水線執(zhí)行以減少時延也是總線仲裁考慮的一個重要方面。
下面就目前一些互連規(guī)范及它們采用的方案作介紹。
3 主要的IP核互連規(guī)范
目前有較大影響的IP核互連規(guī)范有IBM的CoreConnect 總線、ARM的AMBA(Advanced Microcontroller Bus Architecture)、Silicore Corp的Wishbone、開放核心協(xié)議國際聯(lián)合(OCP-IP)的OCP (Open Core Protocol)與虛擬插座接口連盟VSIA (Virtual Socket Interface Alliance)的VCI(Virtual Component Interface)、Altera的Avalon 總線, 以及PlamchIP的CoreFrame 、MIPS的EC(tm) Interface, Altera的Atlantic(tm) Interface、IDT的IPBus(tm) (IDT Peripheral Bus) 、Sonics的SiliconBackplane(tm) uNetwork等等,新的互連方案如基于PCI的方案也在積極發(fā)展中,下面就前面幾種予以介紹。
3.1 IBM的CoreConnect總線
CoreConnect總線的邏輯結(jié)構(gòu)如下:[2]
CoreConnect采用了總線分段的方式,提供了三種基本類型總線,即處理器內(nèi)部總線PLB(Processor Local Bus)、片上外圍總線OPB(On-Chip Peripheral Bus)和設(shè)備控制總線DCR(Device Control Register)。PLB提供了一個高帶寬、低延遲、高性能的處理器內(nèi)部總線;OPB則用于連接具有不同的總線寬度及時序要求的外設(shè)和內(nèi)存;DCR用來在CPU通用寄存器與設(shè)備控制寄存器之間傳輸數(shù)據(jù)傳輸,以減少PLB的負荷,增加其帶寬。
3.2 ARM的AMBA總線(Advanced Microcontroller Bus Architecture)
AMBA總線的邏輯結(jié)構(gòu)如下:[2]
同CoreConnect相似,AMBA也采用分段多總線體系,定義了三種不同類型的總線:AHB、ASP和APB。AHB用于高性能、高數(shù)據(jù)吞吐部件,如CPU、DMA、DSP之間的互連,ASP用來作處理器與外設(shè)之間的互連,APB則為系統(tǒng)的低速外部設(shè)備提供低功耗的簡易互連。系統(tǒng)總線和外設(shè)總線之間的橋接器提供AHB/ASP部件與APB部件間的訪問代理與緩沖。
3.3 Silicore的Wishbone總線
Wishbone邏輯結(jié)構(gòu)如下:[1]
Wishbone采用的是主/從的構(gòu)架,主、從部件通過內(nèi)連網(wǎng)絡(luò)進行互連。Wishbone更著重了定義IP核的接口信號和總線周期標(biāo)準(zhǔn)以實現(xiàn)IP核的重用,而對主從部件互連的內(nèi)連網(wǎng)絡(luò),它只是定義了點到點(point-to-point)、數(shù)據(jù)流(data flow)、共享總線(shared bus)、交叉開關(guān)(crossbar switch)四種不同形式,需由用戶來靈活選擇、生成、擴展,用戶還可用兩條Wishbone總線進行復(fù)雜系統(tǒng)的集成。
3.4 OCP -IP的OCP (Open Core Protocol)與VSIA的VCI(Virtual Component Interface)
OCP 的IP核互連結(jié)構(gòu)圖如下:[4]
OCP是基于定義一套完整通用IP核插座接口標(biāo)準(zhǔn)的互連方案,通過定義IP核與對應(yīng)接口模塊間點到點的接口信號協(xié)議,如數(shù)據(jù)信號、邊帶信號和測試信號等,來實現(xiàn)IP核的可重用、即插即用、認證及測試,及不同IP核接口的集成,點到點的接口方式簡單且可完成數(shù)據(jù)的高速傳輸。對連接各接口模塊的片上內(nèi)連總線形式,OCP未作定義,由用戶來擴展。
VSIA同OCP相仿,也通過定義IP核的接口及點對點的方式來實現(xiàn)不同IP核的互連。OCP對接口定義更為完整,并且兼容VSIA,可以認為VSIA是OCP的一個子集。兩個VCI通過總線互連的邏輯結(jié)構(gòu)示意如下:[10]
3.5 Altera的Avalon總線
Avalon總線是Altera 可編程片上系統(tǒng)SOPC(system-on-a-programmable chip)IP核互連解決方案,SOPC Builder 來完成整個系統(tǒng)模塊(包括Avalon)的生成和集成。集成的系統(tǒng)示意圖如下:
其中Avalon總線模塊完成了整個可編程系統(tǒng)片上部件及外設(shè)之間互連,包括了控制、數(shù)據(jù)、地址信號及總線的仲裁。Avalon總線模塊的一個邏輯示例如下:[3]
Avalon采用了開關(guān)結(jié)構(gòu)及從部件仲裁方式提供多對主部件的同時互連,外部件與Avalon時鐘同步操作,使用非三態(tài)總線,主、從部件間多種帶寬互連,支持數(shù)據(jù)流傳輸。Avalon同時對總線信號的定時、主從部件傳輸?shù)男盘栕髁硕x以便于不同IP核的集成。
4 總結(jié)
對于SoC集成而言,單一的標(biāo)準(zhǔn)似乎難以對于不同的SoC應(yīng)用及性能要求提供最佳的解決方案。對于IP提供者與集成設(shè)計者而言,關(guān)注的重點與角度也是不一樣的,前者趨向于一個IP 核的接口標(biāo)準(zhǔn)以便于IP核的重用,而后者著重于集成系統(tǒng)的性能考慮。對使用者而言,還要考慮到專利費用問題。Wishbone、OCP是免費的,CoreConnect、AMBA需經(jīng)過授權(quán)后才能免費使用,Avalon、CoreFrame均需經(jīng)過授權(quán)才可使用。
目前,有關(guān)IP核的有關(guān)標(biāo)準(zhǔn)尚在制定與發(fā)展中,IP集成互連方案也一樣,尚未形成一個統(tǒng)一的規(guī)范。隨著IP核相關(guān)標(biāo)準(zhǔn)的制定及各種片上系統(tǒng)集成互連方案的使用,互連規(guī)范也會進一步的發(fā)展。
評論