片上總線綜述
1 引言
傳統的IC設計方法已無法適應新的SoC設計要求,需要根本的變革,即從以功能設計為基礎的傳統IC設計流程轉變到以功能整合為基礎的SoC設計全新流程。SoC設計以IP的設計復用和功能組裝、整合來完成。SoC設計的重點為系統功能的分析與劃分、軟硬件功能的劃分、IP 的選擇與使用、多層次驗證環境和外界設計咨詢服務等。隨著以IP核復用為基礎的SoC設計技術的發展,如何有效地對眾多IP供應商提供IP核,在實際設計時進行有效互聯的問題日益受到重視。為了使IP核集成更快速、更方便,縮短進入市場的時間,迫切需要一種標準的互聯方案。在這一背景下產生的片上總線OCB(on-chip
bus)技術,基于IP 核互聯標準技術的發展,目前已形成較有影響力的三種總線標準為:IBM公司的CoreConnect,ARM 公司的AMBA(Advanced MicrocontrollerBusArchitecture)和SilicoreCorp公司的Wishbone。
2 片上總線與板上總線的差異
①片上總線多采用單向信號線,而板上總線多采用三態信號。片上三態總線無論在功耗、速度、可測性上都存在很大缺陷,而且一旦出現多驅動情況便會損毀芯片(比如若應該輸出"Z"的信號實際輸出為"1",而另有一個信號輸出為"0",就形成一個低電阻通路,導致局部電流過大,熱量難以及時釋放,從而增加芯片功耗和大大降低芯片壽命)。由于片上布線資源較為豐富,因此片上總線多采用單向信號線。由于電路板上布線資源較為昂貴,因此板上總線多采用三態總線,但是由于三態總線的功耗問題和速度限制,目前板上總線也在向串行和非三態方向發展,如USB
和PCI Express。
②片上總線比板上總線更加簡單靈活。首先片上總線結構要簡單,這樣可以占用較少的邏輯單元;其次時序要簡單,以利于提高總線的速度;第三接口要簡單,如此可減少與IP 核連接的復雜度。片上系統應用廣泛,不同的應用對總線的要求各異,因此片上總線具有較大的靈活性。其一,多數片上總線的數據和地址寬度都可變,其二,部分片上總線的互連結構可變,如Wishbone 總線支持點到點、數據流、共享總線和交叉開關四種互連方式;其三,部分片上總線的仲裁機制靈活可變,如Wishbone 總線的仲裁機制可以完全由用戶定制。而板上總線則較為死板,時序也更加苛刻。
3 CoreConnect總線
CoreConnect擁有完備的一整套技術文檔,在技術上可行性較強。IBM 公司的CoreConnect連接總線還提供了三種基本類型連接功能塊,即處理器內部總線PLB(Processor Local Bus)、片上外圍總線OPB(On-ChipPeripheral Bus)和設備控制總線DCR(Device Control Register)。CoreConnect總線的邏輯結構如圖1所示,它清楚地定義了所有的系統構成部件以及它們是如何連接的,下面分別介紹PLB
、DCR 和OPB 的主要技術特征。
3.1 PLB
PLB標準是為總線傳輸的主要發出者和接受者之間提供高帶寬、低延遲的連接。其主要特征為:
● 高性能處理器內部總線;
● 交疊的讀和寫功能(最快每周期兩次傳輸);
● 支持分段傳輸;
● 地址流水(減少延遲);
● 讀和寫分開;
● 32~64位數據總線;
● 32位地址空間;
● 支持16~64字節突發傳輸模式;
● 支持字節使能(非對準和3 字節傳輸);
● 支持仲裁、R E Q、G N T 和L O C K;
● 延遲和隱藏仲裁(減少延遲);
● 4級仲裁優先權;
● 特殊DMA(Direct Memory Access)模式,如快速的從內存到內存;
● 地址和數據狀態扼制(Address and data phase throttling);
● 延遲計數器(保證保持延遲到預想的程度)。
3.2 OPB
OPB標準為連接具有不同的總線寬度及時序要求的外設和內存提供了一條途徑,并盡量減小對PLB 性能的影響。其主要特性如下:
● 片上外圍總線;
● 多個主設備;
● 32位地址空間;
● 讀和寫數據總線分開;
● 8~32位數據總線;
● 動態總線寬度;
● 支持重試模式(如果主設備要求的從設備忙,主設備隔一段時間再次請求);
● 支持突發(burst)傳輸模式;
● 支持D M A;
● 設備可以是內存映射(支持D M A);
● 檢測總線超時功能(在仲裁器中);
● 支持仲裁、R E Q、G N T 和L O C K。
3.3 DCR
設備控制寄存器總線DCR是用來規范CPU通用寄存器設備,控制寄存器之間傳輸數據。DCR 總線在內存地址映射中取消了配置寄存器,減少取操作,增加處理器內部總線的帶寬。其主要特征如下:
● 10位地址總線;
● 32位數據總線;
● 同步和異步的傳輸;
● 分布式結構。
CoreConnect是一套精心設計和構造完整、通用的解決方案,可以應用在類似于工作站這樣的高性能系統的連接,對于簡單的嵌入式應用來說可能有點太復雜,提供的許多特性無法用到,但可以適應于未來更龐大、更復雜的系統連接。
4 AMBA總線
先進的微控制器總線體系結構AMBA規范定義了三種總線:
(1)AHB(Advanced High-performance Bus):用于連接高性能系統模塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序參考同一個時鐘沿;
(2)ASB(Advanced System Bus):用于連接高性能系統模塊,它支持突發數據傳輸模式;
(3)APB(Advance Peripheral Bus):是一個簡單接口支持低性能的外圍接口。
一個典型的基于AMBA 的微控制器同時集成AHB(或ASB )和APB 接口,如圖2 所示。A S B總線是舊版的系統的總線,而新版的AHB 總線增強了對性能、綜合及時序驗證的支持。APB 總線通常用作的局部的第二總線,作為AHB 或ASB 上的單個從屬模塊。
根據AMBA 的規范,連接AHB/ASP 和APB 的APB 橋的唯一功能是提供更簡單的接口。任何由低性能外圍設備產生的延遲會由連接高性能(AHB/ASP)總線的橋反映出來。橋本身仿佛是一個簡單APB總線的主設備,它訪問與之相連的從設備,并且通過高性能總線上控制信號的子集控制它們。下面給出AHB、ASP 和APB 的主要特征。
4.1 AHB
AHB是先進的系統總線。它主要的目的就是連接高性能、高吞吐率的設備,例如CPU、DMA 和DSP。它的主要特性:
● 高性能新一代總線;
● 多控制器;
● 分段傳輸;
● 單周期總線控制權移交;
● 沒有三態實現方式;
● 32~128位總線寬;
● 包含一種訪問保護機制,用來區別特權訪問和無特權訪問模式,或指令和數據提取等;
● 突發傳輸模式最大為16節;
● 訪問空間限制在32 位;
● 提供為較慢設備使用而扼制數據流的機制;
● 支持仲裁、R E Q、G N T 和L O C K;
● 支持字節、半字和字傳輸。
AHB 總線和ASB 總線有下列不同的特點:
● AHB 總線支持分開處理。有很長響應延遲的從機在準備傳輸的數據時讓出總線從事其它傳送操作;
● 使用單一時鐘沿控制所有操作,有利于綜合和設計驗證(通過使用靜態時序分析和其他相似工具);
● 使用中心多路器總線方案而不是三態驅動的雙向總線;
● 支持更寬的64位或128位數據總線配置。
4.2 ASP
ASP是通用系統總線,是一種微處理器和系統外設的高性能互連,主要特征如下:
● 多控制器;
● 突發數據傳輸方式;
● 流水線傳送;
● 32-128位總線寬度;
● 包含一種訪問保護機制,用來區別特權訪問和無特權訪問模式,或指令和數據提取等;
● 雙向數據總線;
● 提供為較慢設備使用而扼制數據流的機制;
● 仲裁支持REQ 、GNT 和LOCK。
4.3 APB
APB是外圍互聯總線,重點是最小功耗和易于使用,主要特征如下:
● 低性能、低功率外圍總線;
● 單控制器;
● 非常簡單,只有4 個控制信號(加上時鐘和復位);
● 32位地址空間;
● 多達32位數據總線;
● 分開讀和寫數據總線。
AMBA 是一種基本的SoC 總線,它分成三種總線。根據需要,系統設計者必須選擇對接三種總線中的哪一種。一個高性能設備可能選擇AHB 或ASP 總線,這將給IP 核集成者帶來困難,因為兩種總線都試圖訪問同一類型的設備。還沒有明確的辦法將設備與AHB 和ASP 總線集成。APB 橋似乎不但不會提供任何好處,而且會限制連接在上面的高性能總線。所有三種總線都包含一個地址狀態和一個或多個數據狀態。
5 Wishbone總線
Wishbone總線是Silicore公司推出的片上總線協議。它的結構極其簡單、靈活,又完全公開、完全免費,獲得眾多支持。圖3 給出了Wishbone總線的邏輯結構:
Wishbone 總線的主要特征概括如下:
● 所有應用使用一個總線體系結構;
● 簡單、緊湊的體系結構;
● 支持多控制器;
● 64位地址空間;
● 8~64 位數據總線(可擴展);
● 單周期讀和寫;
● RMW(R E A D - M O D I F Y - W R I T E )周期;
● 事件周期;
● 支持重試;
● 支持內存映射,FIFO(FISRT IN FIRST O U T )和十字互連接口;
● 提供為較慢設備使用而扼制數據流的機制;
● 使用者定義標志為,確定數據傳輸類型;
● 由終端用戶定義仲裁方式。
Wishbone 總線采用握手協議。當MASTER 準備好傳輸數據時置STB_O 為高,STB_O 將保持高狀態直到SLAVE 將ACK_I、ERR_I 或RTY_I 之一置為高, 數據傳輸周期結束。這種機制下,MASTER 和SLAVE 均可控制數據傳輸速率。其握手時序如圖4。
Wishbone 總線有四種將MASTER 與SLAVE 連接在一起方式,分別為點對點、數據流、共享總線和十字互連。其中點對點方式可以最簡單地將一個MASTER 與一個SLAVE 相連;數據流方式可以實現數據傳輸的流水;共享總線方式將多個MASTER和SLAVE 相連,不過任何時刻只能有一個MASTER 占據總線;十字互連則可實現多個MASTER和多個SLAVE之間同時傳輸數據。圖5給出了采用點對點互聯方式的Wishbone總線主從接口。
Wishbone有三種數據傳輸方式,分別為單讀寫、塊讀寫和R M W(R E A D - M O D I F Y - W R I T E )。其中單讀寫為最簡單。圖6 給出了單讀周期的時序。為了更直觀地了解Wishbone總線接口連接如何簡單、靈活,圖7 給出了8 位SLAVE 的輸出端口圖。
Wishbone只定義了一種高速總線,在既需要高速總線又需要低速總線的系統中,提供了兩Wishbone接口,比起設計兩個不同的接口要簡單得多。
6 總結
在以上介紹的三種總線中,CoreConnect雖免費不過需要IBM 公司許可,ARM 沒有明確的正式說法,可能也會免費,而Wishbone 是絕對免費的。三種總線都是同步的總線,使用時鐘上升沿驅圖7 8-bit SLAVE輸出端口動和采樣信號。總線的基本操作幾乎沒有區別,最大的區別在于提供的特性和規范的完整性。CoreConnect和AMBA都給設計者提供了一種系統總線的選擇。系統集成設計者當試圖連接為不同連接設計的設備時會遇到問題,在建立全面完整的系統時需要橋。而在Wishbone
中,所有的IP核都連接在同一標準接口上。系統設計者可以選擇在一個微處理器核上實現兩個接口,一個給高速低延遲設備,一個給低速低性能設備。綜上所述,我們認為采取Wishbone作為IP核的基本互聯的接口標準更便于設計,它的信號十分直接,如果需要可以很容易被其它接口所采用。Wishbone 總線完全公開、完全免費,易于推廣,當然一個規范能否成為行業標準,除了本身的技術特性外,還要看是否被業界接受。Wishbone已被OPENCORE 聯盟采用,并且有可能成為IEEE標準。因此,Wishbone 總線從技術上講簡單、靈活、功能強大及易于移植,從經濟角度考慮又全部免費,易于全面推廣。我們認為它極有可能成為未來SoC
片上總線的通用標準,其前景看好。
|