隨著深亞微米工藝技術日益成熟,集成電路芯片的規模越來越大。數字IC從基于時序驅動的設計方法,發展到基于IP復用的設計方法,并在SOC設計中得到了廣泛應用。在基于IP復用的SoC設計中,片上總線設計是最關鍵的問題。為此,業界出現了很多片上總線標準。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開發商和SoC系統集成者的青睞,已成為一種流行的工業標準片上結構。AMBA規范主要包括了AHB(Advanced High performance Bus)系統總線和APB(Advanced Peripheral Bus)外圍總線。 AMBA片上總線 AMBA 2.0規范包括四個部分:AHB、ASB、APB和Test Methodology。AHB的相互連接采用了傳統的帶有主模塊和從模塊的共享總線 ,接口與互連功能分離,這對芯片上模塊之間的互連具有重要意義。AMBA已不僅是一種總線,更是一種帶有接口模塊的互連體系。下面將簡要介紹比較重要的AHB和APB總線。 AHB簡介 AHB主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,作為SoC的片上系統總線,它包括以下一些特性:單個時鐘邊沿操作;非三態的實現方式;支持突發傳輸;支持分段傳輸;支持多個主控制器;可配置32位"128位總線寬度;支持字節、半字節和字的傳輸。AHB 系統由主模塊、從模塊和基礎結構(Infrastructure)3部分組成,整個AHB總線上的傳輸都由主模塊發出,由從模塊負責回應;A結構則由仲裁器(arbiter)、主模塊到從模塊的多路器、從模塊到主模塊的多路器、譯碼器(decoder)、虛擬從模塊(dummy Slave)、虛擬主模塊(dummy Master)所組成。其互連結構如圖1所示。 APB簡介 APB主要用于低帶寬的周邊外設之間的連接,例如UART、1284等,它的總線架構不像AHB支持多個主模塊,在APB里面唯一的主模塊就是APB 橋。其特性包括:兩個時鐘周期傳輸;無需等待周期和回應信號;控制邏輯簡單,只有四個控制信號。APB上的傳輸可以用如圖2所示的狀態圖來說明。 1)系統初始化為IDLE狀態,此時沒有傳輸操作,也沒有選中任何從模塊。 2)當有傳輸要進行時,PSELx=1,PENABLE=0,系統進入SETUP狀態,并只會在SETUP 狀態停留一個周期。當PCLK的下一個上升沿時到來時,系統進入ENABLE 狀態。 3)系統進入ENABLE狀態時,維持之前在SETUP 狀態的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會在ENABLE狀態維持一個周期,在經過SETUP與ENABLE狀態之后就已完成。之后如果沒有傳輸要進行,就進入IDLE狀態等待;如果有連續的傳輸,則進入SETUP狀態。 基于AMBA的片上系統 一個典型的基于AMBA總線的系統框圖如圖3所示。 大多數掛在總線上的模塊(包括處理器)只是單一屬性的功能模塊:主模塊或者從模塊。主模塊是向從模塊發出讀寫操作的模塊,如CPU,DSP等;從模塊是接受命令并做出反應的模塊,如片上的RAM,AHB/APB 橋等。另外,還有一些模塊同時具有兩種屬性,例如直接存儲器存取(DMA)在被編程時是從模塊,但在系統讀傳輸數據時必須是主模塊。如果總線上存在多個主模塊,就需要仲裁器來決定如何控制各種主模塊對總線的訪問。雖然仲裁規范是AMBA總線規范中的一部分,但具體使用的算法由RTL設計工程師決定,其中兩個最常用的算法是固定優先級算法和循環制算法。AHB總線上最多可以有16個主模塊和任意多個從模塊,如果主模塊數目大于16,則需再加一層結構(具體參閱ARM公司推出的Multi-layer AHB規范)。APB 橋既是APB總線上唯一的主模塊,也是AHB系統總線上的從模塊。其主要功能是鎖存來自AHB系統總線的地址、數據和控制信號,并提供二級譯碼以產生APB外圍設備的選擇信號,從而實現AHB協議到APB協議的轉換。 使用DesignWare搭建 基于AMBA的SOC芯片 為了更有效地在有限時間內完成復雜的系統級芯片設計,越來越多的芯片開發中采用了可重復使用的IP。為了滿足日益成長的IP需求,Synopsys提供了一系列已驗證的IP,如Synopsys DesignWare,來幫助設計者加速系統級芯片的開發。 DesginWare里面包含了兩種IP:可實現IP(Implement IP)以及VIP(Verification IP)。VIP是為了應對系統級芯片設計帶來的驗證挑戰而特別設計的,專為簡化驗證流程?蓪崿FIP是指已通過驗證、可物理實現的IP,分為Star IP、宏單元(Macro Cell)和 foundation IP。宏單元中包含與AMBA總線相關的IP,有DW_ahb (ARM AMBA2.0 AHB 總線 IP、DW_amba_ictl (ARM AMBA2.0 中斷IP)、DW_apb (ARM AMBA2.0 APB 總線IP)和DW_apb_uart ( ARM AMBA2.0 APB UART )等。 由此,可以借助Synopsys公司提供的AMBA總線IP構建SoC,加速系統集成和驗證。首先到 Synopsys的FTP或EST下載所需要的宏單元,借助coreConsultant在相應的目錄下安裝coreKit并且創建一個工作環境.然后設定此宏單元的可變參數,以符合系統要求,此外還必須設定綜合相關的參數。設定完參數后,還要驗證所設定的參數是否符合系統規范。初步驗證后,便可進一步將宏單元綜合成所需的網表。產生網表之后,仍須利用宏單元內的驗證環境來確定綜合后網表的所有功能都能正常工作。如果所有功能都驗證完成,就可以將這個IP放置到系統中。用DesignWare搭建的一個基于AMBA總線結構的SoC系統如圖4所示,其中包括了用于驗證AMBA總線協議的VIP。 結語 隨著復雜IP核在目前和下一代ASIC設計中的廣泛應用,半導體公司開始采用片上總線標準化集成技術。ARM公司研發的AMBA總線規范提供了一種特殊的機制,可將RISC處理器集成在其他IP核和外設中。同時,Synopsys提供的DesignWare中的IP可以加速基于AMBA總線結構的SoC芯片設計。這種技術成功地應用在TD-SCDMA系統終端基帶數字芯片的設計中,縮短了系統設計、IP集成和驗證的時間。 |