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