- 片上系統設計思想與源代碼分析
- 陳曦 黃毅
- 1340字
- 2018-12-27 17:52:47
3.2 WISHBONE片上總線的基本特點
一般總線規范的共同特點為同時適用于軟核、固核和硬核設計;對開發工具和目標硬件沒有特殊要求,并且幾乎兼容已有的所有綜合工具;可以用多種硬件描述語言來實現;支持結構化設計方法學,以提高大團隊的設計效率;靈活的數據和地址總線寬度,支持大端和小端操作;支持主從設備接口,支持多主設備,這是片上共享總線通信所必需的,多個主設備同時需要進行總線操作時,由仲裁器決定當前哪個主設備可以使用總線,仲裁邏輯用戶可以自行定義。此外,在筆者看來,WISHBONE總線規范的特點還包括以下方面。
1.支持點到點、共享總線、十字交叉(Crossbar)和基于交換模塊的互聯
WISHBONE總線規范是“輕量級(Lightweight)”規范,它實際上更加側重于點對點互聯及復雜度不高的共享總線片上系統互聯。因此,與其他總線規范相比,WISHBONE的接口更加簡單緊湊,接口需要的互聯邏輯非常少(見本章后續的例子),這是WISHBONE的一個重要優勢。熟悉AMBA總線的讀者在讀完本章后就能夠理解WISHBONE比AMBA總線簡單得多,但是兩者各有個的優勢。AMBA將所有的外設分為高速設備和低速設備,高速設備連接到系統總線,通常通信的數據量也較大,如SDRAM控制器、Nandflash控制器、LCD控制器,低速設備連接外設總線,通常通信數據量小,如通用串口、計時器等。外設總線與系統總線通過總線橋接器相連。在實際系統中,處理器、系統總線、外設總線間的時鐘頻率的典型比值之一是4:2:1,因此整個系統的功耗被有效降低。另外一個好處是通過在總線橋接器中添加DMA引擎,系統總線和外設總線可以實現有效的速率解耦。而依照WISHBONE規范,WISHBONE總線上所有設備都要連接到同一總線,無論是高速設備還是低速設備。與WISHBONE總線相比,AMBA的缺點是設計較為復雜。但是實際上,WISHBONE總線也設計為類似AMBA總線的架構,但此時系統為雙WISHBONE總線架構。
2.支持典型的數據操作,包括單次讀/寫操作、塊讀/寫操作,讀改寫(RMW,Read-Modify- Write,細節見后文)操作
最快情況下一個時鐘周期可完成一次操作,操作的結束方式包括成功、錯誤和重試(Retry)。一個總線周期完成一次操作,一次操作可以是單次讀/寫操作、塊讀/寫操作或者讀改寫操作。操作總是在某一總線周期內完成的,因此操作結束方式也稱為總線周期結束方式,兩者說法在后文將視情況使用。成功是操作的正常結束方式,錯誤表示操作失敗,造成失敗的原因可能是地址或數據校驗錯誤,寫操作或讀操作不支持等。重試表示從設備當前忙,不能及時處理該操作,該操作可以稍后重新發起。接收到操作失敗或重試后,主設備如何響應取決于主設備的設計者。
3.允許從設備進行部分地址解碼,有利于減少了冗余地址譯碼邏輯,提高地址譯碼速度
這一點本書將通過實例說明。
4.支持用戶定義的標簽
這些標簽可以用于為地址、數據總線提供額外的信息如奇偶校驗,為總線周期提供額外的信息如中斷向量、緩存控制操作的類型等。WISHBONE規范只定義標簽的時序,而標簽的具體含義用戶可自行定義。支持用戶定義的標簽是WISHBONE規范區別與其他片上總線規范的重要特征之一。
5.全同步化設計,包括復位方式
但是實際上復位方式采用同步還是異步并不影響IP的互聯互通,因此兼容WISHBONE規范的IP完全可以采用異步方式,OpenCore.org上面的很多兼容WISHBONE規范的開源IP采用的就是異步復位。
總結以上內容,WISHBONE總線規范區別于其他總線規范的兩個核心特點是:(1)是輕量級規范,因此接口更加簡單緊湊;(2)支持用戶定義的標簽。
- Go Web編程
- JavaScript+DHTML語法與范例詳解詞典
- Unity Virtual Reality Projects
- INSTANT MinGW Starter
- UML+OOPC嵌入式C語言開發精講
- Visual C
- MySQL數據庫管理與開發實踐教程 (清華電腦學堂)
- Mastering ServiceNow(Second Edition)
- H5頁面設計:Mugeda版(微課版)
- Getting Started with Greenplum for Big Data Analytics
- 微服務架構深度解析:原理、實踐與進階
- 代碼閱讀
- OpenCV with Python Blueprints
- jQuery技術內幕:深入解析jQuery架構設計與實現原理
- Flink核心技術:源碼剖析與特性開發