關於 avalon總線理解(整理)

1,一個基於Avalon接口的系統會包含不少功能模塊,這些功能模塊就是Avalon存儲器映射外設,一般簡稱Avalon外設。所謂存儲器映射外設是指外設和存儲器使用相同的總線來尋址,而且CPU使用訪問存儲器的指令也用來訪問I/O設備。爲了可以使用I/O設備,CPU的地址空間必須爲I/O設備保留地址。架構

2,Avalon外設分爲主外設和從外設,可以在Avalon總線上發起總線傳輸的外設是主外設,從外設只能響應Avalon總線傳輸,而不能發起總線傳輸。主外設至少擁有一個鏈接在Avalon交換架構上的主端口,主外設也能夠擁有從端口,使得該外設也能夠響應總線上其它主外設發起的總線傳輸。異步

3,Avalon交換架構是一種可自動調整的結構,隨着設計者不一樣設計而作出最優的調整。能夠看到外設和存儲器能夠擁有不一樣的數據寬度,而且這些外設能夠工做在不一樣的時鐘頻率。Avalon交換架構支持多個主外設,容許多個主外設同時在不一樣的從外設進行通訊,增長了系統的帶寬。這些功能的實現都是靠Avalon交換架構中的地址譯碼、信號複用、仲裁、地址對齊等邏輯實現的。性能

4,Avalon接口定義了一組信號類型(片選、讀使能、寫使能、地址、數據等),用於描述主/從外設上基於地址的讀寫接口。Avalon外設只使用和其內核邏輯進行接口的必需的信號,而省去其餘會增長沒必要要的開銷的信號。設計

5,Avalon的信號類型爲其它的總線接口提供了一個超集,例如大多數分離的SRAM、ROM和Flash芯片上的引腳都能映射成Avalon信號類型,樣就能使Avalon系統直接與這些芯片相鏈接。相似地,大多數Wishbone的接口信號也能夠映射爲Avalon信號類型,使得在Avalon系統中集成Wishbone的內核很是簡單。3d

6,Avalon的主端口和從端口之間沒有直接的鏈接,主、從端口都鏈接到Avalon交換架構上,由交換架構來完成信號的傳遞。在傳輸過程當中,主端口和交換架構之間傳遞的信號與交換架構和從端口之間傳遞的信號可能有很大的不一樣。因此,在討論Avalon傳輸的時候,必須區分主從端口。blog

7,avalon主端口和從端口的信號類型說明接口

 

 

從端口信號1同步

從端口信號2avalon

主端口信號1im

主端口信號2

8,表中的信號類型都是高電平有效。Avalon接口也提供每一個信號類型的低電平有效的版本,在信號類型名後添加 _n 來表示。例如irq_n、read_n等。這對和那些低電平有效的片外邏輯相接口時很是有用。

9,Avalon接口規範沒有對Avalon外設上的信號指定命名的規則,Avalon外設上的信號的名字能夠與信號類型名相同,或者也遵循系統級的命名規則。

10,也可以將片外的異步外設,好比片外存儲設備,同系統交換架構相接口,但須要一些設計上的考慮。因爲Avalon交換架構的同步操做,Avalon信號只在Avalon接口時鐘的時間間隔發生翻轉。並且,若是異步的信號直接同Avalon交換架構的輸入相連,設計者要確保信號在時鐘的上升沿是穩定的。

11,Avalon接口沒有固定的或者最高的性能。接口是同步的,而且能夠被交換架構提供的任意頻率的時鐘驅動。最高性能取決於外設的設計和系統的實現。 不一樣於傳統的共享總線實現的規範,Avalon接口沒有指定任何的物理和電氣特性。

12,一個主從端口對中的主端口和從端口能夠有不一樣的傳輸屬性。Avalon交換架構同主/從端口通訊時,使用該端口指定的屬性,而且必要時要進行從主端口到從端口的屬性轉換。這樣,Avalon外設能夠獨立於系統中其它的外設屬性進行設計。

13,動態地址對齊指的是具備不一樣數據的主從端口對之間進行傳輸時,Avalon交換架構動態管理傳輸的數據的服務。當主端口使用動態地址對齊方式尋址從端口時,全部從端口的數據在主端口的地址空間連續地按字節對齊。 若是主端口數據寬度比從端口寬,主端口的高位字節對應從端口地址空間的下一個地址。例如,32位的主端口使用動態地址對齊方式從16位的從端口讀取數據,Avalon交換架構在從端口這側執行兩次讀傳輸,而後提供32位的從端口數據給主端口。 若是主端口的數據寬度比從端口窄,則Avalon交換架構適當地處理從端口的字節段。在主端口讀傳輸時,Avalon交換架構只提供從端口適當的字節段給主端口。在主端口寫傳輸時,Avalon交換架構在從端口這側,自動地置byteenable信號有效,將數據寫到適當的字節段。

14,動態地址對齊的例子

15,當主端口使用本地地址對齊方式尋址從端口,全部從端口數據和主端口地址邊界對齊。 當主端口從一個較窄數據寬度的從端口讀取數據,從端口的數據比特位映射到主端口數據的低比特位中去,而主端口的數據高比特位補零。在傳輸時,高比特位被忽略。 例如,16位的主端口讀8位的從端口,readdata信號是0x00XX的形式,這裏XX表明有效的數據。主端口不能使用本地地址對齊來訪問數據寬度比本身寬的從端口。

相關文章
相關標籤/搜索