片上系統(tǒng)的總線結(jié)構(gòu)發(fā)展現(xiàn)狀及前景
從圖2可以看到,AMBA也設(shè)計(jì)了3種總線結(jié)構(gòu)和1個(gè)總線之間的橋。不同的是,AHB/ASB總線是并列的關(guān)系。AHB/ASB總線都是系統(tǒng)總線,都可以實(shí)現(xiàn)與高性能設(shè)備的高速連接。ASB總線是ARM的第一代系統(tǒng)總線,但是ARM還是建議在新的設(shè)計(jì)中使用AHB總線。這不僅因?yàn)锳HB可以實(shí)現(xiàn)更高性能的連接,而且由于AHB在使用ASIC開發(fā)的自動設(shè)計(jì)工具中整合起來更容易。APB橋的功能只是減少低性能總線對高性能總線造成的延遲。
1.3 Silicore的Wishbone綜述
圖3是Wishbone的邏輯總線結(jié)構(gòu)圖。
圖3 Wishbone邏輯總線結(jié)構(gòu)圖
圖3中Wishbone的邏輯結(jié)構(gòu)是這三種總線結(jié)構(gòu)中最簡單的一種,而且它只定義了一種總線結(jié)構(gòu)——高速總線。如果一個(gè)系統(tǒng)既需要高速,也需要低速外部設(shè)備總線,則可以提供兩個(gè)不同的Wishbone接口。這樣要比設(shè)計(jì)兩個(gè)不同的總線接口簡單。Wishbone的用戶必須根據(jù)具體情況對協(xié)議標(biāo)準(zhǔn)進(jìn)行擴(kuò)展和詳細(xì)設(shè)計(jì),定義數(shù)據(jù)順序和標(biāo)簽的意義。其它的特性和函數(shù)同樣也可以由用戶自行添加。從這個(gè)意義上說,Wishbone更像是給出了一個(gè)框架,等待用戶提出具體的實(shí)現(xiàn)方法和規(guī)范。
2 分析和對比
所有這三種總線都采用完全同步的方式,以時(shí)鐘信號為參考,在時(shí)鐘信號上升沿進(jìn)行數(shù)據(jù)驅(qū)動或采樣。此外,它們在總線操作方式上也基本相同。三種總線最顯著的不同之處在于它們具體的性能參數(shù)、提供協(xié)議的完整性以及對協(xié)議應(yīng)用的嚴(yán)格性。
表1主要對CoreConnect的PLB總線和AMBA的ASP總線結(jié)構(gòu)作一對比,以便更清楚地看到這兩個(gè)系統(tǒng)的性能差別。
表1
還有一個(gè)很重要的問題是如何使用。雖然三種總線都聲明是免費(fèi)使用的,但是IBM的CoreConnect和ARM的AMBA都要求用戶注冊,使用中要標(biāo)明原公司出處。更重要的是,對IBM和ARM來說總線是免費(fèi)的,但是連接這些總線的IP不是免費(fèi)的。當(dāng)然可以自己設(shè)計(jì)符合以上兩種總線標(biāo)準(zhǔn)的IP,并免費(fèi)提供給別人使用,但是IBM和ARM可沒有這樣做。相反,開放知識產(chǎn)權(quán)模塊組織(OpenCoreS.ORG)將Wishbone作為自己開發(fā)SoC系統(tǒng)采用的總線結(jié)構(gòu)。這在其網(wǎng)站上可以看到。
3 結(jié)論
從這三種結(jié)構(gòu)上我們可以看到,它們的設(shè)計(jì)程度是重、中、輕三個(gè)等級。IBM的CoreConnect是重度設(shè)計(jì),適合復(fù)雜和高端的應(yīng)用,需要遵守嚴(yán)格的操作協(xié)議;AMR的AMBA是中度設(shè)計(jì),適合較復(fù)雜的應(yīng)用,需要遵守較簡單的操作協(xié)議;而Wishbone是輕度設(shè)計(jì),適合較簡單、靈活、增加自己定義部分的應(yīng)用,使用是完全免費(fèi)的。
IBM的先天優(yōu)勢使得CoreConnect能在業(yè)界長期存在,即便它不被廣泛接受。由于ARM的大力推廣和AMBA自身的技術(shù)特性,這種總線協(xié)議會在大多數(shù)應(yīng)用領(lǐng)域被更多的設(shè)計(jì)者采用;而由于OpenCoreS組織的大力支持,Wishbone總線也將在比較長的時(shí)間內(nèi),在自由設(shè)計(jì)者和中小型EDA企業(yè)中占據(jù)主導(dǎo)地位。
評論