《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于wb_conmax的Wishbone二级总线设计与应用
基于wb_conmax的Wishbone二级总线设计与应用
2014年电子技术应用第3期
朱秀斌
淄博职业学院 电子电气工程系,山东 淄博255314
摘要: SoC技术是嵌入式系统设计中重要的设计方法,而在SoC系统中如何将各种IP核互联在一起对嵌入式设计效率影响极大。对常见的片上总线进行比较后,选用OpenCores组织的Wishbone总线进行设计。提出了基于OpenCores组织发布维护的wb_conmax的Wishbone二级总线设计。通过对Wishbone总线的二级扩展,使得SoC系统能够更方便地集成多个IP,同时为低功耗要求的设计提出了功耗优化的策略。通过对基于AEMB的最小SoC系统在两种系统结构下的应用分析,验证了二级总线结构对于低功耗设计的可行性。
中圖分類號: TB51
文獻標識碼: A
文章編號: 0258-7998(2014)03-0022-03
Design and application of two level Wishbone bus based on wb_conmax
Zhu Xiubin
Electrical and Electronic Engineering Department, Zibo Vocational Institute,Zibo 255314,China
Abstract: SoC is an important method in embedded system.It is critical to interconnect a variety of IP core.The paper compares the four kinds common on-chip bus and decides to use Wishbone bus from OpenCores organization to design the SoC system. This paper puts forward two level bus based on wb_conmax that was released and maintended by OpenCores organization. Through the expansion of the secondary Wishbone bus, the design allowes the SoC system to integrate multiple IP more easily, while low-power requirements of the design can be obtained by the power optimization strategy. Finally, we compare the two different smallest SoC system based on AEMB system structure that adapts the single bus and two level bus structure respectively. The Results verify that the two level bus is feasible in low-power design of SoC.
Key words : wb_conmax;two level bus;system on chip

  近年來,FPGA器件設計生產制造技術的不斷成熟極大地降低了使用FPGA進行產品設計的成本,半導體工藝技術的進步與EDA(Electronic Design Automation)技術的發展也降低了ASIC(Application Specific Integrated Circuit)設計的門檻,再加上系統設計技術日新月異,使得基于SoC(System on Chip)原理的FPGA設計及ASIC設計如多年前的單片機設計一樣在嵌入式系統設計領域得到了廣泛的應用。

  SoC技術是一種高度集成化、固件化的系統集成技術。使用SoC技術設計系統的核心思想就是把整個應用電子系統全部集成在一個芯片中。SoC的設計過程中,最具特色的就是基于片上總線OCB(On-Chip Bus)的IP(Intellectual Property)復用技術。系統的各個IP模塊與其他系統功能模塊通過片上總線進行互聯通信,因此片上總線的正確選擇和合理設計對嵌入式系統應用具有重大的影響。

  1 片上總線概述

  目前較有影響力的總線標準主要有:IBM公司的CoreConnect總線、ARM公司的AMBA總線、Silicore公司的Wishbone總線和Altera公司的Avalon總線。這4種總線技術的最大區別在于各自提供的技術特性及其規范的完整性方面的差異。

  在這4種總線中,Wishbone 總線是唯一一種免費的片上總線標準 并且OpenCores組織選用Wishbone作為片上總線標準,提供了大量的基于Wishbone總線開放 IP 核。因此,采用Wishbone片上總線進行SoC設計,可以利用大量的免費資源,從而可以節省開發成本,加快系統開發進程。

  1.1 Wishbone總線概述

  Wishbone總線規范定義了一種IP核之間互連的通用接口,可用于軟核、固核和硬核之間的互連,并且對開發工具和目標硬件沒有特殊要求,幾乎兼容目前存在的所有主流EDA綜合工具,可以用多種硬件描述語言來實現[1]。

  Wishbone總線結構比較簡單,僅僅定義了一條高速總線,并提供了4種不同的IP互連結構:

  (1)點到點(point-to-point):用于兩IP核直接互連。

  (2)數據流(data flow):用于多個串行IP核之間的數據并發傳輸。

  (3)共享總線(shared bus):多個IP核共享一條總線。

  (4)交叉開關(crossbar switch):同時連接多個主從部件,提高系統吞吐量。

  點到點互連允許1臺主設備與1臺從設備相互通信;數據流互聯是點到點互聯的特例;共享總線互聯允許2臺及以上的主設備與1臺及以上的從設備進行通信,但在任意時刻只能有一對主/從設備相互通信;交叉互聯允許多對主/從設備相互通信,數據傳輸率高。Wishbone總線的4種互聯結構如圖1所示。

Image 001.jpg

  在這4種互連結構中,目前使用較多的是交叉開關結構。在這種結構中,多個主設備可以并行訪問從設備。雖然這樣會增加硬件邏輯資源,但是在多主設備的系統中能夠明顯提高系統數據吞吐量。

  1.2 應用分析

  目前OpenCores組織發布了一些采用交叉互聯結構的Wishbone總線IP核,如wb_conmax、wb_conbus以及針對Openrisc處理器參考平臺orp中的tcp_top。大部分的設計者在完成設計時采用了以上的IP,但基于這種結構所設計的SoC系統,所有的主設備與從設備均通過單一總線進行互聯。對于低速設備而言,為達到時序設計要求,必須通過硬件邏輯降頻處理。但是總線上硬件電路一直工作在高速時鐘,從而增加了系統總體功耗。鑒于此,在進行SoC設計時,針對外設速度不同,采用二級Wishbone總線的機制實現IP互聯。這樣不但可以為系統的后續開發與設計優化提供支持,而且能夠方便地擴展與互連更多外設。

2 Wishbone二級總線的設計與實現

  本文所設計的Wishbone二級總線基于wb_conmax IP核,首先簡單介紹wb_conmax核。

  2.1 wb_conmax的實現結構

  wb_conmax是基于Wishbone總線規范的互連矩陣,采用交叉方式互連結構,可以直接用于基于Wishbone總線規范設計的IP的集成[2]。它主要有以下特點:

  (1)最多支持8個主設備;

  (2)最多支持16個從設備;

  (3)支持1、2或者4級優先級。

Image 002.jpg

  其基本結構可以參考圖2。由圖可知,wb_conmax為8×16的結構,一般情況下能夠滿足SoC系統的要求,而且完全可以實現不同主設備與不同從設備的并行通信。所以該IP在很多設計中得到了應用。

  2.2 Wishbone二級總線的具體實現

  本文所設計的Wishbone二級總線基于wb_conmax完成,基本的結構如圖2所示。

  在上圖結構的具體實現中,wb_conmax0直接采用OpenCores上提供的wb_conmax,地址空間的分配足以滿足常用的SoC系統的各種地址空間的分配。wb_conmax1在wb_conmax0的基礎上對地址譯碼部分做了處理。其中總線橋主要實現wb_conmax0與wb_conmax1之間的數據地址信號的互連與同步處理[3]。

  2.2.1 wb_conmax 地址空間分配

  wb_conmax支持16個Slave設備,默認的地址空間為0x0000_000,0x1000_0000,0x2000_0000…0xf000_0000,每個Slave設備的地址空間高達256 MB。在一般的嵌入式系統設計中,不管對于尋址空間比較大的SDRAM還是Flash,均能夠滿足設計要求。因此,在本系統中,將二級總線的尋址空間定義在256 MB范圍內。

  2.2.2 總線橋的設計

  對于Wishbone二級總線設計的具體應用,因為與之進行互聯的設備均采用標準Wishbone總線的信號,而不像AMBA中有AHB與APB之分,所以總線橋的設計中不涉及總線信號轉換問題,主要實現地址編碼的實現與不同時鐘域信號的同步操作。

  (1)總線橋中的地址編碼

  wb_conmax1的地址獨立于wb_conmax進行編碼,為了設計的方便與滿足系統應用,在這里簡單地將wb_conmax1的相對地址分配為0x0000_0000,0x0100_0000,

  0x0200_0000,0x0300_000…0x0f00_0000。每個Slave設備可分配的地址空間為16 MB,這在嵌入式系統的低速外設尋址中基本都可以滿足。由圖2所示的總線橋進行連接。如果接在wb_conmax0的slave14上,則實際系統中低速外設的訪問地址為0xe000_0000,0xe100_0000,0xe200_

  000,0xe300_0000…0xef00_0000。

  (2)總線橋中的同步邏輯設計

  在Wishbone二級總線的設計中,兩級總線工作在不同時鐘頻率下,以滿足不同設備應用的需求,所以在總線橋中必須做好同步邏輯的設計。對于一些數據量比較大或者突發傳輸的操作,同步邏輯設計常采用FIFO來實現;而對于其他數據量比較小的傳輸,多采用簡單的雙D觸發器寄存并由響應信號等待機制進行實現。

  在本設計中,第二級總線的工作頻率只是第一級總線工作頻率的偶數分頻,所以同步邏輯采用響應信號的等待機制。一般情況下,在多級總線系統中,高速總線與低速總線的工作頻率常為4倍或者2倍的關系[4]。考慮到二級總線所連接外設的工作頻率,總線橋將兩級總線工作頻率定為4:1的關系。對于響應等待信號的處理,通過判斷硬件計數器的相應位實現。

3 基于二級總線結構的最小SoC系統應用分析

  本文以Wishbone總線接口的開源微處理器AEMB[5]、片上存儲on-chip-ram、gpio及UART控制器構成最小SoC系統[6]。SoC系統分別采用單一Wishbone總線與二級Wish-bone總線兩種結構進行互聯。從SoC系統的外部接口來看,兩種結構的SoC系統分別配備兩組GPIO及UART控制器。其中采用單一Wishbone總線結構互聯的SoC系統結構如圖3所示。

Image 003.jpg

Image 004.jpg

  SoC系統基于二級總線的互聯結構,如圖4所示。作為分析原型,gpio0與uart0在系統中作為高速設備連接在第一級總線上,對應的gpio1與uart1作為低速外設連接在第二級總線上。其中第一級總線的頻率設定為60 MHz,而二級總線頻率與之為四分頻關系,定為15 MHz。

  對于上述不同系統結構的SoC系統,基于Altera的EP2C50 系列FPGA使用QuartusII進行綜合適配得到基于FPGA實現時的資源占用情況報告,如表1所示。

Image 005.jpg

  使用QuartusII中所集成的功耗分析工具Powerplay Power Analyzer Tool進行簡單的功耗分析。其中singlebus_soc的總線頻率為單一的60 MHz,doublebus_soc的第一級總線頻率為60 MHz,第二級總線頻率為15 MHz。兩種系統結構的簡單功耗分析報告如表2所示。

Image 006.jpg

  通過表1所列數據的對比分析可知,相比于單一總線結構,二級總線結構因為總線橋等相關邏輯的使用,使得SoC系統的硬件實現面積有所增加。從表2的數據對比可知,使用二級總線結構的SoC系統的核心動態功耗相比單一總線結構的SoC系統有明顯的降低。

  本文選用Wishbone總線進行SoC系統設計。通過對Wishbone總線規范的分析,發現了基于Wishbone總線規范進行系統設計互連的局限。針對此,本文提出了基于wb_conmax的二級Wishbone總線設計方法。通過對Wishbone二級總線的擴展,使得在系統設計中可以方便地根據系統IP類型進行劃分互連,提高了設計的重用,同時為低功耗要求比較嚴格的設計提供了優化策略。最后通過搭建簡化SoC系統,對基于兩種不同總線結構互聯實現的SoC系統進行綜合與功耗分析,驗證了二級總線結構在低功耗設計中應用的可行性。

  參考文獻

  [1] OpenCores Organization. Wishbone System-on-Chip(SoC) inter connection architecture for portable IP cores[S].Revision: B.3,2002-09-07:4-32.

  [2] RUDOLF U.Wishbone interconnect matrix IP core[S].Rev.1.1 3,2002-10-03:5-12.

  [3] 宋云揚,羅仁貴,侯立剛,等.片上系統中Wishbone/AMBAAHB總線橋的前端設計[J].電子工程師,2007(33):18-20.

  [4] 開元海,汪超,鄭勇.基于S3C2440與WinCE平臺上的FIQ驅動程序的實現[J].微型機與應用,2012,31(24):89-91.

  [5] 桑圣鋒,張德學,于國蘋.AEMB 軟核處理器的SoC系統驗證平臺[J].單片機與嵌入式系統應用,2010(4):43-45.

  [6] 鄢永明,劉軼民,曾云,等.基于8051軟核的SOPC系統設計與實現[J].電子技術應用,2005,31(10):72-75.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩亚洲在线| 国产精品美女在线| 久久精品亚洲热| 久久人人爽人人爽人人片亚洲| 日韩欧美一级在线| 国产精品中文字幕久久久| 日本精品久久久久久久| 欧美日韩另类丝袜其他| 69av在线视频| 国产精品美女久久久免费| 久久国产精品网站| 亚洲v日韩v综合v精品v| 在线精品日韩| 精品国产一区二区三区久久狼黑人 | 精品丰满人妻无套内射| 国精产品99永久一区一区| 日本不卡高清视频一区| 热久久99这里有精品| 国产精品麻豆va在线播放| 欧美日韩国产精品一卡| 国产精品香蕉av| 人妻无码视频一区二区三区| 精品午夜一区二区| 五月天亚洲综合情| 自拍日韩亚洲一区在线| 韩国一区二区av| 97精品国产91久久久久久| 欧美成人中文字幕| 日日摸天天爽天天爽视频| 精品人妻少妇一区二区| 日韩有码在线视频| 国产一区二区丝袜| 久久在线中文字幕| 99高清视频有精品视频| 久久99精品久久久久久久青青日本| 天天综合中文字幕| 国产精品美女免费看| 亚洲一区在线直播| 欧美在线日韩精品| 91精品视频免费| 欧美精品在线免费|