饒云華,李德識,田 茂,隋竹翠 (武漢大學電子信息學院,湖北武漢430079)
多核實驗平臺是 《EDA實驗》課程的基礎平臺之一,不僅需要采用先進的實驗系統(tǒng)架構(gòu),而且其實驗內(nèi)容也必須隨著技術的發(fā)展及時更新,這樣才能使學生理解和掌握最新的設計方法和技術。
在多核實驗中,設計采用基于IP的可重用設計方法,整個CPU性能與IP之間互連方式密切相關。因此,IP互連就成為構(gòu)造多核CPU的關鍵,也是多核CPU設計實驗的重要內(nèi)容之一。使用片上總線標準協(xié)議是實現(xiàn)多核CPU中IP互連最常用的技術手段,也適合作為多核實驗中CPU的互連方式。
筆者在探討主流片上總線特點的基礎上,根據(jù)EDA實驗課程教學特點,并結(jié)合多核實驗平臺性能等實際情況,提出了以現(xiàn)有多核EDA實驗平臺為基礎的AXI片上總線互連方案,從而滿足實驗教學需要。
OCP協(xié)議[1]是為了在SoC設計中實現(xiàn)IP核的即插即用而制訂的開放式內(nèi)核協(xié)議。OCP協(xié)議與總線獨立,以IP核為中心,能滿足IP核通信機制的所有要求。OCP協(xié)議支持從簡單的請求-響應到流水線以及多線程對象的高性能數(shù)據(jù)傳輸模型。OCP協(xié)議信號具有同步和單向的特征,簡化了核的實現(xiàn)、綜合和時序分析,適用于多種形式的片上通信。OCP協(xié)議包括點對點的同步接口、與總線獨立、地址周期和數(shù)據(jù)周期分開、支持流水線操作、突發(fā)傳輸方式及亂序傳輸?shù)忍匦浴?/p>
CoreConnect協(xié)議[2]由IBM開發(fā),主要包括處理器本地總線 (PLB)、片上外設總線OPB(On-chip Peripheral Bus)、總線橋接器、2個仲裁器及設備控制寄存器DCR(Device Control Register Bus)。根據(jù)訪問速度,CoreConnect總線可分為3層,其中,PLB與處理器及DMA等高速外設連接,采用數(shù)據(jù)總線讀寫分離的方法,數(shù)據(jù)位寬最高為256位,工作頻率可達180MHz;OPB連接UART、GPIO等低速設備,數(shù)據(jù)/地址位寬都為32bit,OPB通過橋接器接到PLB;DCR采用菊花鏈方式將處理器與設備配置寄存器連接起來,具有與PLB不同的地址空間。CoreConnect總線結(jié)構(gòu)為多核互連設計帶來極大的靈活性,可根據(jù)不同的應用選擇不同的總線架構(gòu)和模塊互聯(lián)。
AMBA協(xié)議[3]是ARM公司開發(fā)的用于連接和管理片上系統(tǒng)中功能模塊的開放標準和片上互連規(guī)范,主要包括AXI、AHB、APB和ATB等部分。其中,AMBA3 AXI接口規(guī)范可支持高數(shù)據(jù)吞吐量。利用相對計時靈活的5個單向通道和亂序數(shù)據(jù)傳輸,可以進行管道化互連、頻率之間的切換實現(xiàn)功耗管理、同時執(zhí)行讀寫操作來有效支持低速外設。AMBA3 AHB接口規(guī)范可在對AMBA3 AXI性能沒有要求的情況下,在單頻率子系統(tǒng)中實現(xiàn)簡單外設之間的高效互連。AMBA3 APB接口規(guī)范支持訪問外設中的配置寄存器和通過低帶寬外設的數(shù)據(jù)通信所需的低帶寬業(yè)務。AMBA3 ATB接口規(guī)范增加了數(shù)據(jù)不可知的接口,可在跟蹤系統(tǒng)中根據(jù)AMBA規(guī)范跟蹤數(shù)據(jù)、組件和總線,其與外設保持平行,互相連接,同時保持可見性。
多核EDA實驗平臺本身并不固定采用CPU核,由學生自行選擇設計,但為了保證接口兼容性,在多核處理器互聯(lián)方面,結(jié)合教學實際,內(nèi)部連接采用適合片上系統(tǒng)通信、具有高可配置性的AXI3協(xié)議。使用該協(xié)議可有效解決IP核可移植性、設計復用的問題。
AXI總線是一種多通道傳輸總線,以不同通道進行地址、讀數(shù)據(jù)、寫數(shù)據(jù)、控制等信號傳輸,支持亂序數(shù)據(jù)發(fā)送,主設備在得到返回數(shù)據(jù)前可發(fā)出多個讀寫操作。通過使用字節(jié)選通功能支持非對齊數(shù)據(jù)訪問。支持只發(fā)送起始地址的突發(fā)傳輸。除支持數(shù)據(jù)傳輸外,AXI總線還包括可選的擴展信令協(xié)議以支持低功耗操作。
AXI協(xié)議以突發(fā)傳輸為基礎,有5個獨立的傳輸通道,其中地址和控制信息分別在讀和寫地址通道上傳輸,數(shù)據(jù)分別在寫數(shù)據(jù)和讀數(shù)據(jù)通道上傳輸。另外,還有附加的寫響應通道以允許從設備通知主設備寫操作完成。所有通道使用雙向的VALID和READY握手結(jié)構(gòu)。
突發(fā)讀傳輸如圖1所示。主設備輸出地址,同時輸出突發(fā)傳輸長度和方式的控制信號,從設備在一個周期后接收。當?shù)刂吩诘刂房偩€上后,數(shù)據(jù)開始在讀數(shù)據(jù)通道進行傳輸。從設備將VALID置低,直到出現(xiàn)讀數(shù)據(jù)。在突發(fā)傳輸?shù)淖詈?從設備將RLAST置位以表明正在傳輸最后一個數(shù)據(jù)。
圖1 突發(fā)讀傳輸
突發(fā)寫傳輸如圖2所示。當主設備在寫地址通道上發(fā)送地址與控制信息時,則表明開始寫傳輸。然后,主設備在寫數(shù)據(jù)通道上發(fā)送所寫的每個數(shù)據(jù)。當主設備發(fā)送最后1個數(shù)據(jù),WLAST信號變高。當從設備接收到所有數(shù)據(jù)后,向主設備返回寫響應信號,表明寫傳輸完成。AXI協(xié)議通過接口為每個傳輸分配一個ID來支持亂序數(shù)據(jù)傳輸。同時,要求同一ID需按序傳輸,不同ID可亂序傳輸。
對于多核CPU芯片來說,設計邏輯復雜度的提高將使驗證時間在整個開發(fā)周期中占很大比重,對整個設計的成功具有決定性影響。ARM公司的AMBA設計工具包 (ADK)提供了AHB和APB設計和驗證組件,包括AHB總線矩陣和文件讀取器總線主接口,可方便快捷地進行基于AHB/APB的系統(tǒng)設計。為此,Synopsys公司針對AMBA3 AXI開發(fā)了能完善地解決基于AXI多核系統(tǒng)驗證問題的DesignWare IP解決方案[4],該方案包括3個部分:DesignWare綜合IP、驗證IP及帶有coreAssem-bler工具的DesignWare IP,可快速生成、仿真和綜合基于AMBA的子系統(tǒng),實現(xiàn)整個設計過程的自動化。
圖2 突發(fā)寫傳輸
AXI協(xié)議提供了主設備與互連結(jié)構(gòu)、從設備與互連結(jié)構(gòu)以及主從設備之間的單一接口定義。在基于AXI互連架構(gòu)中,一個實體作為主設備,另一個實體作為從設備。只有主設備才能發(fā)出控制命令,控制傳輸。從設備響應主設備的控制命令,并接收來自主設備的數(shù)據(jù)或者向主設備傳送數(shù)據(jù)。典型的AXI互連結(jié)構(gòu)如圖3所示,該互連架構(gòu)利用AXI協(xié)議,實現(xiàn)了IP核可移植性,具有設計可復用的優(yōu)點。
圖3 基于AXI協(xié)議的片上互連架構(gòu)
多核EDA實驗平臺以多核架構(gòu)設計為主線,為學生提供多核設計實驗,有助于提高學生分析問題和解決問題的能力。筆者討論了AMBA 3AXI協(xié)議及其設計,包括基于AXI的片上系統(tǒng)架構(gòu)設計和系統(tǒng)級驗證。基于AXI協(xié)議的互連架構(gòu)能促進IP核的復用,縮短設計時間并且提高系統(tǒng)性能,通過該實驗可使學生加深認識并掌握多核互連設計的方法。
[1]饒云華,鄢媛媛,朱小虎,等.面向SoC的開放式IP核接口協(xié)議 (OCP)研究 [J].中國集成電路,2007,16(2):39-43.
[2]王煒,湯志忠,喬林.片上多處理器互連技術綜述 [J].計算機科學,2008,35(5):7-30.
[3]肖福明.高密度計算與多核系統(tǒng)設計技術研究[D].合肥:合肥工業(yè)大學,2010.
[4]孟昕.SoC設計優(yōu)化的域特定語言方法和建模 [D].杭州:浙江大學,2010.