新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 三種常用SoC片上總線的分析與比較

三種常用SoC片上總線的分析與比較

——
作者: 時間:2007-08-21 來源:電子設(shè)計信息網(wǎng) 收藏
系統(tǒng)是當(dāng)今計算機(jī)工業(yè)發(fā)展的一個熱點(diǎn)。隨著超大規(guī)模集成電路的迅速發(fā)展,半導(dǎo)體工業(yè)進(jìn)入深亞微米時代,器件特征尺寸越來越小,芯片規(guī)模越來越大,可以在單芯片上集成上百萬到數(shù)億只晶體管。如此密集的集成度使我們現(xiàn)在能夠在一小塊芯片上把以前由CPU和若干I/O接口等數(shù)塊芯片實(shí)現(xiàn)的功能集成起來,由單片集成電路構(gòu)成功能強(qiáng)大的、完整的系統(tǒng),這就是我們通常所說的片上系統(tǒng)(System on Chip)。由于功能完整,逐漸成為系統(tǒng)發(fā)展的主流。 

  相比板上系統(tǒng),具有許多優(yōu)點(diǎn): 

 ?、?nbsp;充分利用IP技術(shù),減少產(chǎn)品設(shè)計復(fù)雜性和開發(fā)成本,縮短產(chǎn)品開發(fā)的時間; 

  ② 單芯片集成電路可以有效地降低系統(tǒng)功耗; 

 ?、?nbsp;減少芯片對外引腳數(shù),簡化系統(tǒng)加工的復(fù)雜性; 

 ?、?nbsp;減少外圍驅(qū)動接口單元及電路板之間的信號傳遞,加快了數(shù)據(jù)傳輸和處理的速度; 

  ⑤ 內(nèi)嵌的線路可以減少甚至避免電路板信號傳送時所造成的系統(tǒng)信號串?dāng)_。 

  SoC的設(shè)計過程中,最具特色的是IP復(fù)用技術(shù)。即選擇所需功能的IP(給出IP定義)核,集成到一個芯片中用。由于IP核的設(shè)計千差萬別,IP核的連接就成為構(gòu)造SoC的關(guān)鍵。片上(On-Chip Bus,OCB)是實(shí)現(xiàn)SoC中IP核連接最常見的技術(shù)手段,它以方式實(shí)現(xiàn)IP核之間數(shù)據(jù)通信。與板上不同,片上總線不用驅(qū)動底板上的信號和連接器,使用更簡單,速度更快。一個片上總線規(guī)范一般需要定義各個模塊之間初始化、仲裁、請求傳輸、響應(yīng)、發(fā)送接收等過程中驅(qū)動、時序、策略等關(guān)系。 

  由于片上總線與板上總線應(yīng)用范圍不同,存在著較大的差異,其主要特點(diǎn)如下: 

 ?、?nbsp;片上總線要盡可能簡單。首先結(jié)構(gòu)要簡單,這樣可以占用較少的邏輯單元;其次時序要簡單,以利于提高總線的速度;第三接口要簡單,如此可減少與IP核連接的復(fù)雜度。 

 ?、?nbsp;片上總線有較大的靈活性。由于片上系統(tǒng)應(yīng)用廣泛,不同的應(yīng)用對總線的要求各異,因此片上總線具有較大的靈活性。其一,多數(shù)片上總線的數(shù)據(jù)和地址寬度都可變,如AMBA AHB支持32位~128位數(shù)據(jù)總線寬度;其二,部分片上總線的互連結(jié)構(gòu)可變,如Wishbone總線支持點(diǎn)到點(diǎn)、數(shù)據(jù)流、共享總線和交叉開關(guān)四種互連方式;其三,部分片上總線的仲裁機(jī)制靈活可變,如Wishbone總線的仲裁機(jī)制可以完全由用戶定制。 

 ?、?nbsp;片上總線要盡可能降低功耗。因此,在實(shí)際應(yīng)用時,總線上各種信號盡量保持不變,并且多采用單向信號線,降低了功耗,同時也簡化了時序。上述三種片上總線輸入數(shù)據(jù)線和輸出數(shù)據(jù)線都是分開的,且都沒有信號復(fù)用現(xiàn)象。 

  片上總線有兩種實(shí)現(xiàn)方案,一是選用國際上公開通用的總線結(jié)構(gòu);二是根據(jù)特定領(lǐng)域自主開發(fā)片上總線。本文就目前SoC上使用較多的三種片上總線標(biāo)準(zhǔn)——ARM的AMBA、Silicore的Wishbone和Altera的進(jìn)行討論,對三者特性進(jìn)行分析和比較。 

  AMBA總線 

  AMBA(Advanced Microcontroller Bus Architecture)總線規(guī)范是ARM公司設(shè)計的一種用于高性能系統(tǒng)的總線標(biāo)準(zhǔn)。它獨(dú)立于處理器和制造工藝技術(shù),增強(qiáng)了各種應(yīng)用中的外設(shè)和系統(tǒng)宏單元的可重用性。AMBA總線規(guī)范是一個開放標(biāo)準(zhǔn),可免費(fèi)從ARM獲得。目前,AMBA 擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,在基于ARM處理器內(nèi)核的SoC設(shè)計中,已經(jīng)成為廣泛支持的現(xiàn)有互聯(lián)標(biāo)準(zhǔn)之一。AMBA總線規(guī)范2.0于1999年發(fā)布,該規(guī)范引入的先進(jìn)高性能總線(AHB)是現(xiàn)階段AMBA實(shí)現(xiàn)的主要形式。AHB的關(guān)鍵是對接口和互連均進(jìn)行定義,目的是在任何工藝條件下實(shí)現(xiàn)接口和互連的最大帶寬。AHB接口已與互連功能分離,不再僅僅是一種總線,而是一種帶有接口模塊的互連體系。 

  AMBA總線規(guī)范主要設(shè)計目的如下:① 滿足具有一個或多個CPU或DSP的嵌入式系統(tǒng)產(chǎn)品的快速開發(fā)要求;② 增加設(shè)計技術(shù)上的獨(dú)立性,確??芍赜玫亩喾NIP核可以成功地移植到不同的系統(tǒng)中,適合全定制、標(biāo)準(zhǔn)單元和門陣列等技術(shù);③ 促進(jìn)系統(tǒng)模塊化設(shè)計,以增加處理器的獨(dú)立性;④ 減少對底層硅的需求,以使片外的操作和測試通信更加有效。 

  AMBA總線是一個多總線系統(tǒng)。規(guī)范定義了三種可以組合使用的不同類型的總線:AHB(Advanced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)。典型的基于AMBA的SoC核心部分如圖1所示。其中高性能系統(tǒng)總線(AHB或ASB)主要用以滿足CPU和存儲器之間的帶寬要求。CPU、片內(nèi)存儲器和DMA設(shè)備等高速設(shè)備連接在其上,而系統(tǒng)的大部分低速外部設(shè)備則連接在低帶寬總線APB上。系統(tǒng)總線和外設(shè)總線之間用一個橋接器(AHB/ASB-APB-Bridge)進(jìn)行連接。

  AMBA的AHB適用于高性能和高時鐘頻率的系統(tǒng)模塊。它作為高性能系統(tǒng)的骨干總線,主要用于連接高性能和高吞吐量設(shè)備之間的連接,如CPU、片上存儲器、DMA設(shè)備和DSP或其它協(xié)處理器等。其主要特性如下:

  • 支持多個總線主設(shè)備控制器;
  • 支持猝發(fā)、分裂、流水等數(shù)據(jù)傳輸方式;
  • 單周期總線主設(shè)備控制權(quán)轉(zhuǎn)換;
  • 32~128位數(shù)據(jù)總線寬度;
  • 具有訪問保護(hù)機(jī)制,以區(qū)分特權(quán)模式和非特權(quán)模式訪問,指令和數(shù)據(jù)讀取等;
  • 數(shù)據(jù)猝發(fā)傳輸最大為16段;
  • 地址空間32位;
  • 支持字節(jié)、半字和字傳輸。

  AMBA的ASB適用于高性能的系統(tǒng)模塊。在不必要適用AHB的高速特性的場合,可選擇ASB作為系統(tǒng)總線。它同樣支持處理器、片上存儲器和片外處理器接口與低功耗外部宏單元之間的連接。其主要特性與AHB類似,主要不同點(diǎn)是它讀數(shù)據(jù)和寫數(shù)據(jù)采用同一條雙向數(shù)據(jù)總線。

  AMBA的APB適用于低功耗的外部設(shè)備,它已經(jīng)過優(yōu)化,以減少功耗和對外設(shè)接口的復(fù)雜度;它可連接在兩種系統(tǒng)總線上。其主要特性如下:

  • 低速、低功耗外部總線;
  • 單個總線主設(shè)備控制器;
  • 非常簡單,加上CLOCK和RESET,總共只有4個控制信號;
  • 32位地址空間;
  • 最大32位數(shù)據(jù)總線;
  • 讀數(shù)據(jù)總線與寫數(shù)據(jù)總線分開。

  Wishbone總線

  Wishbone最先是由Silicore公司提出的,現(xiàn)在已被移交給OpenCores組織維護(hù)。由于其開放性,現(xiàn)在已有不少的用戶

群體,特別是一些免費(fèi)的IP核,大多數(shù)都采用Wishbone標(biāo)準(zhǔn)。

  Wishbone總線規(guī)范是一種片上系統(tǒng)IP核互連體系結(jié)構(gòu)。它定義了一種IP核之間公共的邏輯接口,減輕了系統(tǒng)組件集成的難度,提高了系統(tǒng)組件的可重用性、可靠性和可移植性,加快了產(chǎn)品市場化的速度。Wishbone總線規(guī)范可用于軟核、固核和硬核,對開發(fā)工具和目標(biāo)硬件沒有特殊要求,并且?guī)缀跫嫒菀延兴械木C合工具,可以用多種硬件描述語言來實(shí)現(xiàn)。

  Wishbone總線規(guī)范的目的是作為一種IP核之間的通用接口,因此它定義了一套標(biāo)準(zhǔn)的信號和總線周期,以連接不同的模塊,而不是試圖去規(guī)范IP核的功能和接口。

  Wishbone總線結(jié)構(gòu)十分簡單,它僅僅定義了一條高速總線。在一個復(fù)雜的系統(tǒng)中,可以采用兩條Wishbone總線的多級總線結(jié)構(gòu):其一用于高性能系統(tǒng)部分,其二用于低速外設(shè)部分,兩者之間需要一個接口。這個接口雖然占用一些電路資源,但這比設(shè)計并連接兩種不同的總線要簡單多了。用戶可以按需要自定義Wishbone標(biāo)準(zhǔn),如字節(jié)對齊方式和標(biāo)志位(TAG)的含義等等,還可以加上一些其它的特性。Wishbone的一種互連結(jié)構(gòu)如圖2所示。

Wishbone的一種互連結(jié)構(gòu)

  靈活性是Wishbone總線的另一個優(yōu)點(diǎn)。由于IP核種類多樣,其間并沒有一種統(tǒng)一的間接方式。為滿足不同系統(tǒng)的需要,Wishbone總線提供了四種不同的IP核互連方式:

  • 點(diǎn)到點(diǎn)(point-to-point),用于兩IP核直接互連;
  • 數(shù)據(jù)流(data flow),用于多個串行IP核之間的數(shù)據(jù)并發(fā)傳輸;
  • 共享總線(shared bus),多個IP核共享一條總線;
  • 交叉開關(guān)(crossbar switch)(圖2),同時連接多個主從部件,提高系統(tǒng)吞吐量。

  還有一種片外連接方式,可以連接到上面任何一種互連網(wǎng)絡(luò)中。比如說,兩個有Wishbone接口的不同芯片之間就可以用點(diǎn)到點(diǎn)方式進(jìn)行連接。

  Wishbone總線主要特征如下:

  • 所有應(yīng)用適用于同一種總線體系結(jié)構(gòu);
  • 是一種簡單、緊湊的邏輯IP核硬件接口,只需很少的邏輯單元即可實(shí)現(xiàn);
  • 時序非常簡單;
  • 主/從結(jié)構(gòu)的總線,支持多個總線主設(shè)備;
  • 8~64位數(shù)據(jù)總線(可擴(kuò)充);
  • 單周期讀寫;
  • 支持所有常用的總線數(shù)據(jù)傳輸協(xié)議,如單字節(jié)讀寫周期、塊傳輸周期、控制操作及其它的總線事務(wù)等;
  • 支持多種IP核互連網(wǎng)絡(luò),如單向總線、雙向總線、基于多路互用的互連網(wǎng)絡(luò)、基于三態(tài)的互連網(wǎng)絡(luò)等;
  • 支持總線周期的正常結(jié)束、重試結(jié)束和錯誤結(jié)束;
  • 使用用戶自定義標(biāo)記(TAG),確定數(shù)據(jù)傳輸類型、中斷向量等;
  • 仲裁器機(jī)制由用戶自定義;
  • 獨(dú)立于硬件技術(shù)(FPGA、ASIC、bipolar、MOS等)、IP核類型(軟核、固核或硬核)、綜合工具、布局和布線技術(shù)等。

    總線

  總線是Altera公司設(shè)計的用于SOPC(System On Programmable Chip,可編程片上系統(tǒng))中,連接片上處理器和其它IP模塊的一種簡單的總線協(xié)議,規(guī)定了主部件和從部件之間進(jìn)行連接的端口和通信的時序。

  Avalon總線的主要設(shè)計目的如下:① 簡單性,提供一種非常易于理解的協(xié)議;② 優(yōu)化總線邏輯的資源使用率,將邏輯單元保存在PLD(Programmable Logic Device,可編程邏輯器件)中;③ 同步操作,將其它的邏輯單元很好地集成到同一PLD中,同時避免復(fù)雜的時序。

  傳統(tǒng)的總線結(jié)構(gòu)中,一個中心仲裁器控制多個主設(shè)備和從設(shè)備之間的通信。這種結(jié)構(gòu)會產(chǎn)生一個瓶頸,因?yàn)槿魏螘r候只有一個主設(shè)備能訪問系統(tǒng)總線。Avalon總線的開關(guān)構(gòu)造使用一種稱之為從設(shè)備仲裁(Slave-side arbitration)的技術(shù),允許多個主設(shè)備控制器真正地同步操作。當(dāng)有多個主設(shè)備訪問同一個從設(shè)備時,從設(shè)備仲裁器將決定哪個主設(shè)備獲得訪問權(quán)。圖3是一個多主設(shè)備同時訪問存儲器的例子。在此系統(tǒng)中,高帶寬外設(shè),如100M以太網(wǎng)卡,可以不需暫停CPU而直接訪問存儲器。通過允許存儲訪問獨(dú)立于CPU。Avalon開關(guān)結(jié)構(gòu)優(yōu)化了數(shù)據(jù)流,從而提高了系統(tǒng)的吞吐量。

  Avalon總線主要特性如下:

  • 32位尋址空間;
  • 支持字節(jié)、半字和字傳輸;
  • 同步接口;
  • 獨(dú)立的地址線、數(shù)據(jù)線和控制線;
  • 設(shè)備內(nèi)嵌譯碼部件;
  • 支持多個總線主設(shè)備,Avalon自動生成仲裁機(jī)制;
  • 多個主設(shè)備可同時操作使用一條總線;
  • 可變的總線寬度,即可自動調(diào)整總線寬度,以適應(yīng)尺寸不匹配的數(shù)據(jù);
  • 提供了基于圖形界面的總線配置向?qū)?,簡單易用?

  三種片上總線比較

  通過以上對三種總線特性的介紹,可以對三種總線作個比較,如表1所列。

三種片上總線比較

  基于三種總線的特性,可以得出其應(yīng)用的綜合比較,如表2所列。

三種片上總線比較

  三種總線各有特點(diǎn),決定了其應(yīng)用范圍的不同。AMBA 總線規(guī)范擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,已成為廣泛支持的現(xiàn)有互連標(biāo)準(zhǔn)之一。Wishbone異軍突起,其簡單性和靈活性受到廣大SoC設(shè)計者的青睞。由于它是完全免費(fèi)的,并有豐富的免費(fèi)IP核資源,因此它有可能成為未來的片上系統(tǒng)總線互連標(biāo)準(zhǔn)。Avalon主要用于Altera公司系列PLD中,最大的優(yōu)點(diǎn)在于其配置的簡單性,可由EDA工具快速生成,受PLD廠商巨頭Altera極力推薦,其影響范圍也不可忽視。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉