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