3.1 Avalon總線
Avalon總線是SOPC設計中連接片上處理器和其它IP模塊的一種簡單總線協(xié)議,規(guī)定了主、從構(gòu)件之間的端口連接以及通信時序關系。使用Avalon總線,能優(yōu)化處理器和外設間的數(shù)據(jù)流,提高系統(tǒng)的吞吐量,并且允許根據(jù)應用特性裁剪總線體系,從而獲得最佳的系統(tǒng)性能。Avalon總線有支持并發(fā)多主設備、自動生成仲裁機制、可配置等主要特性。
在基于Nios或者Nios II軟核的系統(tǒng)中,Avalon總線通過可編程邏輯器件內(nèi)部的互連邏輯來連接處理器和其他外設。當某外設接收多個資源的數(shù)據(jù)時,多路復用器選擇正確數(shù)據(jù)。主設備無需訪問某個特定從設備時,它們之間的互連邏輯將被取消,從而節(jié)省硬件資源。
主-從設備對之間有專門接口,因此多個主設備可以同時啟動,并發(fā)傳輸數(shù)據(jù)給從設備。只有一個主設備訪問某從設備時,該主設備可以立即訪問目標從設備。有兩個主設備的并發(fā)多主設備的總線體系能提供高達兩倍的吞吐量;有3個主設備時,則能提供高達3倍的吞吐量。
兩個主設備競爭同一個從設備時,需要執(zhí)行從設備仲裁。對于基于Nios或者Nios II的系統(tǒng),系統(tǒng)生成軟件SOPC Builder完全在Avalon總線模塊內(nèi)執(zhí)行從設備仲裁??杀欢鄠€主設備訪問的從設備都有一個仲裁器,在SOPC Builder中也可以設置仲裁優(yōu)先級。
Avalon總線是如何實現(xiàn)從設備仲裁的。其中,系統(tǒng)主設備CPU和DMA控制器共享同一個從設備(數(shù)據(jù)存儲器外設),數(shù)據(jù)存儲器完成仲裁。如果所有主設備同時開始與從設備的數(shù)據(jù)傳輸,仲裁器會指定獲得從設備訪問權(quán)的主設備。CPU使用和DMA控制器之間的互連來建立DMA傳輸。
3.2 Avalon在SOPC設計中的應用
在FPGA系列器件上基于Nios或者Nios II進行SOPC設計時,Avalon總線規(guī)范由系統(tǒng)生成工具SOPC Builder自動生成。Avalon總線模塊作為系統(tǒng)模塊的主干,使系統(tǒng)外設間實現(xiàn)通信,很少作為分離單元使用。系統(tǒng)要與片外存儲器通信時,必須在Avalon總線和連接外部存儲器的總線之間加入Avalon三態(tài)橋,一個Avalon總線模塊框圖的實例。此時,需要選擇總線輸入信號是否需要寄存器寄存。寄存器會提高片外時鐘寄存邏輯的最大頻率,同時也增加延遲。
4 兩種片上總線比較
AMBA和Avalon的不同點,決定了其應用范圍的不同。AMBA總線規(guī)范擁有眾多第三方支持,已成為廣泛支持的現(xiàn)有互連標準之一,主要用于基于ARM處理器核的SoC設計中。Avalon則主要用于在Altera系列FPGA上實現(xiàn)SOPC,其配置的簡單性、可由EDA工具快速生成等優(yōu)點,再加上受Altera極力推薦,其影響范圍也不可忽視,Nios II處理器的高性能也進一步擴充了Avalon總線的應用范圍。AMBA和Avalon這兩種總線都具有支持多主設備控制器、支持多種傳輸方式等特點,從而能滿足片上總線的要求。
5 結(jié)束語
系統(tǒng)中片上總線的選擇需要考慮總線的性能、應用范圍、可用IP核資源等,總線的具體應用形式也各有其特性。文中將片上總線與傳統(tǒng)總線進行比較,介紹了并發(fā)多主設備總線體系;同時通過對AMBA和Avalon兩種片上總線的詳細分析、比較,針對它們的不同特性及具體應用形式闡述了各自的應用范圍,從而方便設計師對這兩種片上總線的充分理解,為SOPC及其他SoC設計中的片上總線選擇和應用提供了參考。除了AMBA和Avalon之外,SoC設計中還可以選用IBM的CoreConnect、Silicore的Wishbone等總線,它們也各有其特點和適用領域。
評論
查看更多