書名: 片上系統設計思想與源代碼分析作者名: 陳曦 黃毅本章字數: 1196字更新時間: 2018-12-27 17:52:47
第3章 片上總線
本章主要內容
在片上系統中,處理器核和所有外設通過共享總線互通互聯,因此這些IP核必須遵守相同的總線規范。總線規范定義了IP核之間的通用接口,目前常見的片上總線標準有AMBA、WISHBONE、CoreConnect等,這些標準雖然在實現細節上有所差別,但在性能上差別甚微。DemoSoC的片上總線符合WISHBONE片上互聯標準。本章以WISHBONE片上互聯標準為例講述片上總線技術。
3.1 片上總線技術綜述
IP復用是片上系統時代的核心技術之一。由于IP核的設計千差萬別,它們要能夠直接連接,就要遵守相同的接口標準。總線規范定義的是IP核之間的通用接口,因此它定義了一套標準的信號和總線周期以連接不同的模塊,而不是試圖去規范IP核的功能和接口如何實現。一個片上總線規范一般需要定義各個模塊之間初始化、仲裁、請求傳輸、響應、發送接收等過程中驅動、時序、策略等關系。
芯片與電路板的資源和環境的不同,導致片上總線與板上總線存在若干明顯差異,包括如下方面。
1.片上總線多采用單向信號線,而板上總線多采用三態總線
片上三態總線無論在功耗、速度、可測性上都存在很大缺陷,而且一旦出現多驅動情況便會損毀芯片(比如若應該輸出“Z”的信號實際輸出為“1”,而另有一個信號輸出為“0”,就形成一個低電阻通路,導致局部電流過大,熱量難以及時釋放,從而增加芯片功耗和大大降低芯片壽命),又由于片上布線資源較為豐富,因此片上總線多采用單向信號線。而電路板上布線資源較為昂貴,因此板上總線多采用三態總線,但是由于三態總線的功耗問題和速度限制,目前板上總線也在向串行和非三態方向發展,如USB和PCI Express。
2.片上總線比板上總線更加簡單靈活
首先片上總線結構要簡單,這樣可以占用較少的邏輯單元;其次時序要簡單,以利于提高總線的速度;第三接口要簡單,如此可減少與IP核連接的復雜度。片上系統應用廣泛,不同的應用對總線的要求各異,因此片上總線具有較大的靈活性。其一,多數片上總線的數據和地址寬度都可變,其二,部分片上總線的互連結構可變,如WISHBONE總線支持點到點、數據流、共享總線和交叉開關4種互連方式;其三,部分片上總線的仲裁機制靈活可變,如WISHBONE總線的仲裁機制可以完全由用戶定制。而板上總線則較為死板,時序也更加苛刻。
目前比較常見的片上總線規范有ARM公司的AMBA、Silicore的WISHBONE、IBM公司的CoreConnect和Altera的Avalon。三種總線各有特點,其適用范圍也不同。AMBA總線規范因ARM處理器的廣泛使用而擁有眾多第三方支持,被ARM公司90%以上的合作伙伴采用,已成為廣泛支持的現有互連標準之一。IBM公司的CoreConnect因為IBM的業界地位也有廣泛的應用。Avalon主要用于Altera公司系列PLD中,最大的優點在于其配置的簡單性,可由EDA工具快速生成。這三種片上總線雖然都是公開標準,但都不是免費的,而WISHBONE則是一個真正開放和免費的規范。它最先是由Silicore公司提出的,目前由OpenCores組織維護。由于其開放性,因此OpenCore上的免費的IP核,大多數都采用WISHBONE標準。WISHBONE的優勢除開放、免費、擁有眾多免費IP核外,還有簡單、靈活、輕量的特點,特別適合大型IP內部的小型IP之間的互聯。在本書介紹的OpenRISC處理器設計中,各個模塊間的互聯接口中大量采用了WISHBONE總線規范。
需要指出,任何一個總線規范,首先至少支持點對點互聯,所以嚴格意義上講,國內學術界普遍說的“總線規范”實際上指的是片上系統互聯規范,只不過多個IP通過共享總線互聯是人們最關心的,也是最廣泛使用的,所以通常將片上系統互聯規范稱為總線規范。
- 深度實踐OpenStack:基于Python的OpenStack組件開發
- ASP.NET MVC4框架揭秘
- Oracle從新手到高手
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 青少年Python編程入門
- Angular開發入門與實戰
- 利用Python進行數據分析
- 時空數據建模及其應用
- Rust游戲開發實戰
- Getting Started with Electronic Projects
- Visual Basic程序設計基礎
- Selenium WebDriver Practical Guide
- HTML5與CSS3權威指南
- C# 10核心技術指南
- Mastering PostgreSQL 11(Second Edition)