




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第4章章 Avalon總線規范總線規范4.1 Avalon總線簡介總線簡介總線的定義:總線的定義:(1)總線最初是指計算機系統中各種信號線的集合,)總線最初是指計算機系統中各種信號線的集合,是計算機各部件之間傳送數據、地址和控制信息的公是計算機各部件之間傳送數據、地址和控制信息的公共通路,例如共通路,例如PCI總線??偩€。(2)隨著電子計算機技術和通信技術的發展,總線的)隨著電子計算機技術和通信技術的發展,總線的概念也被更廣泛的使用,現在總線一詞不僅用于表示概念也被更廣泛的使用,現在總線一詞不僅用于表示計算機系統中的信號線的集合,也用于表示各種通信計算機系統中的信號線的集合,也用于表示各種通
2、信系統,例如現場總線,系統,例如現場總線,USB總線,總線,485總線。總線。(3)簡而言之,可以這樣認為,總線就是一種通信規)簡而言之,可以這樣認為,總線就是一種通信規范以及規范的實現方法,不論是計算機系統還是通信范以及規范的實現方法,不論是計算機系統還是通信領域。領域。 計算機總線的分類:計算機總線的分類:v(1)按相對于)按相對于CPU或其它芯片的位置可分為:片內或其它芯片的位置可分為:片內總線、片外總線總線、片外總線 ; v(2)按總線的功能可分為:地址總線、數據總線、)按總線的功能可分為:地址總線、數據總線、控制總線控制總線 ;v(3)按總線的層次結構可分為:)按總線的層次結構可分為
3、:CPU總線、存儲總總線、存儲總線、系統總線、外部總線;線、系統總線、外部總線; Avalon 總線總線v Avalon總線由總線由ALTERA公司提出,用于在基公司提出,用于在基于于FPGA的片上系統中連接片內處理器和片內的片上系統中連接片內處理器和片內外設的總線結構。外設的總線結構。 連接到連接到Avalon總線的設備總線的設備分為主從設備,并各有其工作模式。分為主從設備,并各有其工作模式。v Avalon總線本身是一個數字邏輯系統,它在總線本身是一個數字邏輯系統,它在實現實現“信號線匯接信號線匯接”這一傳統總線功能的同時,這一傳統總線功能的同時,增加了許多內部功能模塊,引用了很多新的方增
4、加了許多內部功能模塊,引用了很多新的方法,比如從端仲裁模式,多主端工作方式,延法,比如從端仲裁模式,多主端工作方式,延時數據傳輸,這些功能使得在可編程邏輯器件時數據傳輸,這些功能使得在可編程邏輯器件中可以靈活的實現系統增減和中可以靈活的實現系統增減和IP復用。復用。 Avalon總線是一個設計用于在基于總線是一個設計用于在基于FPGA的片上系統的片上系統中連接片內處理器和片內外設的總線結構。中連接片內處理器和片內外設的總線結構。 設計這樣一個系統總線結構,主要考慮了一下三個目設計這樣一個系統總線結構,主要考慮了一下三個目標:標:v 1.簡化片上系統的互聯規則,提供一種易用的接口。簡化片上系統的
5、互聯規則,提供一種易用的接口。v 2.為總線邏輯優化節省系統資源。為總線邏輯優化節省系統資源。v 3.同步工作模式。同步工作模式。 Avalon總線是用于處理器與片內總線是用于處理器與片內/外外設互連的技術,這就外外設互連的技術,這就決定了決定了Avalon總線具有以下的一些特點:總線具有以下的一些特點:v簡單性,易于理解、易于使用。簡單性,易于理解、易于使用。v占用資源少,減少對占用資源少,減少對FPGA片內資源的占用。片內資源的占用。v高性能,高性能,Avalon總線可以在每一個總線時鐘周期完成一次總線可以在每一個總線時鐘周期完成一次數據傳輸。數據傳輸。v專用的地址總線、數據總線和控制總線
6、:這樣專用的地址總線、數據總線和控制總線:這樣Avalon總線總線模塊和片上邏輯之間的接口的得以簡化,模塊和片上邏輯之間的接口的得以簡化,Avalon外設不需外設不需要識別數據和地址周期。要識別數據和地址周期。 to be continued continuev支持高達支持高達1024位的數據寬度,支持不是位的數據寬度,支持不是2的偶數冪的偶數冪的數據寬度。的數據寬度。v支持同步操作,所有支持同步操作,所有Avalon外設的接口與外設的接口與Avalon交交換架構的時鐘同步,不需要復雜的握手換架構的時鐘同步,不需要復雜的握手/應答機制。應答機制。簡化了簡化了Avalon接口的時序行為,而且便于
7、集成高速接口的時序行為,而且便于集成高速外設。外設。v支持動態地址對齊,可以處理具有不同數據寬度的支持動態地址對齊,可以處理具有不同數據寬度的外設間的數據傳輸,外設間的數據傳輸,Avalon總線的自動地址對齊功總線的自動地址對齊功能將自動解決數據寬度不匹配的問題,不需要設計能將自動解決數據寬度不匹配的問題,不需要設計者的干預。者的干預。vAvalon總線規范是一個開放的標準,用戶可以在未總線規范是一個開放的標準,用戶可以在未經授權的情況下使用經授權的情況下使用Avalon總線接口來自定義外設。總線接口來自定義外設。Avalon總線結構采用交換式的總線結構,與傳統的總線總線結構采用交換式的總線結
8、構,與傳統的總線結構有著顯著的優點。采用結構有著顯著的優點。采用Avalon交換架構,每個總線交換架構,每個總線主機均有自己的專用互聯,總線主機只需搶占共享從機,主機均有自己的專用互聯,總線主機只需搶占共享從機,而不是總線本身。每當系統加入模塊或者外設接入優先而不是總線本身。每當系統加入模塊或者外設接入優先權改變時,權改變時,SOPC Builder利用最少的利用最少的FPGA資源,產生資源,產生新的最佳新的最佳Avalon交換架構。交換架構。Avalon交換架構支持多種交換架構支持多種系統體系結構,如單主機系統體系結構,如單主機/多主機系統,可實現數據在外多主機系統,可實現數據在外設與性能最
9、佳數據通道之間的無縫傳輸。設與性能最佳數據通道之間的無縫傳輸。Avalon交換架交換架構同樣支持用戶所設計的片外處理器和外設。構同樣支持用戶所設計的片外處理器和外設。Avalon交交換式總線結構支持數據總線的復用、等待周期的產生、換式總線結構支持數據總線的復用、等待周期的產生、外設的地址對齊以及高級的交換式總線傳輸。外設的地址對齊以及高級的交換式總線傳輸。Avalon總線在總線在SOPC Builder中添加外設之后會自動中添加外設之后會自動生成,并且會隨著外設的添加和刪減而自動調整,最生成,并且會隨著外設的添加和刪減而自動調整,最終的終的Avalon總線結構是針對外設配置而生成的一個總線結構
10、是針對外設配置而生成的一個最佳結構。所以對于用戶來說,如果只是使用已經定最佳結構。所以對于用戶來說,如果只是使用已經定制好的符合制好的符合Avalon總線規范的外設來構建系統,不總線規范的外設來構建系統,不需要了解需要了解Avalon總線規范的細節,但是對于要自己總線規范的細節,但是對于要自己設計外設的用戶來說,開發的外設必須要符合相應的設計外設的用戶來說,開發的外設必須要符合相應的Avalon總線的規范,否則設計的外設也無法集成到總線的規范,否則設計的外設也無法集成到系統中去系統中去。vAltera提供了提供了Avalon的接口規范,供設計者的接口規范,供設計者開發自己的外設和更好地使用外設
11、。該規范開發自己的外設和更好地使用外設。該規范向讀者描述了諸如微處理器、存儲器、向讀者描述了諸如微處理器、存儲器、UART等主從外設的基于地址的讀等主從外設的基于地址的讀/寫接口的寫接口的基本知識?;局R。Avalon接口規范給出了主從外設接口規范給出了主從外設間的端口連接關系,通信的時序關系,支持間的端口連接關系,通信的時序關系,支持的多種傳輸方式。的多種傳輸方式。v設計者可以不去了解設計者可以不去了解Avalon交換結構的實現交換結構的實現細節,只要掌握其同外設相連接的接口。細節,只要掌握其同外設相連接的接口。4.2 Avalon總線基本概念總線基本概念v4.2.1 Avalon外設和交
12、換架構外設和交換架構v一個基于一個基于Avalon接口的系統會包含很多功能接口的系統會包含很多功能模塊,這些功能模塊就是模塊,這些功能模塊就是Avalon存儲器映射存儲器映射外設,通常簡稱外設,通常簡稱Avalon外設。所謂存儲器映外設。所謂存儲器映射外設是指外設和存儲器使用相同的總線來射外設是指外設和存儲器使用相同的總線來尋址,并且尋址,并且CPU使用訪問存儲器的指令也用使用訪問存儲器的指令也用來訪問來訪問I/O設備。為了能夠使用設備。為了能夠使用I/O設備,設備,CPU的地址空間必須為的地址空間必須為I/O設備保留地址。設備保留地址。vAvalon外設包括存儲器,處理器、外設包括存儲器,處
13、理器、UART、PIO、定時器和總線橋等。還可以有用戶自定、定時器和總線橋等。還可以有用戶自定義的義的Avalon外設,用戶自定義的外設能稱之外設,用戶自定義的外設能稱之為為Avalon外設,要有連接到外設,要有連接到Avalon結構的結構的Avalon信號。信號。vAvalon外設分為主外設和從外設,能夠在外設分為主外設和從外設,能夠在Avalon總線上發起總線傳輸的外設是主外設,總線上發起總線傳輸的外設是主外設,從外設只能響應從外設只能響應Avalon總線傳輸,而不能發總線傳輸,而不能發起總線傳輸。主外設至少擁有一個連接在起總線傳輸。主外設至少擁有一個連接在Avalon交換架構上的主端口,
14、主外設也可以交換架構上的主端口,主外設也可以擁有從端口,使得該外設也可以響應總線上其擁有從端口,使得該外設也可以響應總線上其它主外設發起的總線傳輸。它主外設發起的總線傳輸。v將將Avalon外設連接起來,構成一個大的系統的片上外設連接起來,構成一個大的系統的片上互連邏輯就是互連邏輯就是Avalon交換架構交換架構。vAvalon交換架構是一種可自動調整的結構,交換架構是一種可自動調整的結構,隨著設計者不同設計而做出最優的調整??梢噪S著設計者不同設計而做出最優的調整??梢钥吹酵庠O和存儲器可以擁有不同的數據寬度,看到外設和存儲器可以擁有不同的數據寬度,并且這些外設可以工作在不同的時鐘頻率。并且這些
15、外設可以工作在不同的時鐘頻率。Avalon交換架構支持多個主外設,允許多個交換架構支持多個主外設,允許多個主外設同時在不同的從外設進行通信,增加了主外設同時在不同的從外設進行通信,增加了系統的帶寬。這些功能的實現都是靠系統的帶寬。這些功能的實現都是靠Avalon交換架構中的地址譯碼、信號復用、仲裁、地交換架構中的地址譯碼、信號復用、仲裁、地址對齊等邏輯實現的。址對齊等邏輯實現的。v本章重點討論本章重點討論Avalon外設和外設和Avalon交換架構交換架構之間的互連,主要研究接口級的行為,不關注之間的互連,主要研究接口級的行為,不關注其內部實現。其內部實現。4.2 Avalon總線基本概念總線
16、基本概念v4.2.2 Avalon信號信號 Avalon接口定義了一組信號類型接口定義了一組信號類型(片選、讀使片選、讀使能、寫使能、地址、數據等能、寫使能、地址、數據等),用于描述主,用于描述主/從從外設上基于地址的讀寫接口。外設上基于地址的讀寫接口。Avalon外設只外設只使用和其內核邏輯進行接口的必需的信號,使用和其內核邏輯進行接口的必需的信號,而省去其他會增加不必要的開銷的信號。而省去其他會增加不必要的開銷的信號。4.2.2 Avalon信號信號vAvalon信號的可配置特性是信號的可配置特性是Avalon接口與傳統總線接口的接口與傳統總線接口的主要區別之一。主要區別之一。Avalon
17、外設可以使用一小組信號來實現簡外設可以使用一小組信號來實現簡單的數據傳輸,或者使用更多的信號來實現復雜的傳輸類型。單的數據傳輸,或者使用更多的信號來實現復雜的傳輸類型。例如例如ROM接口只需要地址、數據和和片信號就可以了,接口只需要地址、數據和和片信號就可以了, 而而高速的存儲控制器可能需要更多的信號來支持流水線的突發高速的存儲控制器可能需要更多的信號來支持流水線的突發傳輸。傳輸。vAvalon的信號類型為其它的總線接口提供了一個超集,例的信號類型為其它的總線接口提供了一個超集,例如大多數分離的如大多數分離的SRAM、ROM和和Flash芯片上的引腳都能映芯片上的引腳都能映射成射成Avalon
18、信號類型,樣就能使信號類型,樣就能使Avalon系統直接與這些芯系統直接與這些芯片相連接。類似地,大多數片相連接。類似地,大多數Wishbone的接口信號也可以映的接口信號也可以映射為射為Avalon信號類型,使得在信號類型,使得在Avalon系統中集成系統中集成Wishbone的內核非常簡單。的內核非常簡單。4.2.3 主端口和從端口主端口和從端口vAvalon端口就是完成通信傳輸的接口所包含的一組端口就是完成通信傳輸的接口所包含的一組Avalon信號。信號。Avalon端口分為主端口和從端口,主端口可以在端口分為主端口和從端口,主端口可以在Avalon總線上發起數據傳輸,目標從端口在總線上
19、發起數據傳輸,目標從端口在Avalon總線上總線上響應主端口發起的數據傳輸。一個響應主端口發起的數據傳輸。一個Avalon外設可能有一個外設可能有一個或多個主端口,一個或多個從端口,也可能既有多個主端口,或多個主端口,一個或多個從端口,也可能既有多個主端口,又有多個從端口。又有多個從端口。vAvalon的主端口和從端口之間沒有直接的連接,主、從端的主端口和從端口之間沒有直接的連接,主、從端口都連接到口都連接到Avalon交換架構上,由交換架構來完成信號的交換架構上,由交換架構來完成信號的傳遞。在傳輸過程中,主端口和交換架構之間傳遞的信號與傳遞。在傳輸過程中,主端口和交換架構之間傳遞的信號與交換
20、架構和從端口之間傳遞的信號可能有很大的不同。所以,交換架構和從端口之間傳遞的信號可能有很大的不同。所以,在討論在討論Avalon傳輸的時候,必須區分主從端口。傳輸的時候,必須區分主從端口。4.2.4 傳輸傳輸v傳輸是指在傳輸是指在Avalon端口和端口和Avalon交換架構之間的交換架構之間的數據單元的讀數據單元的讀/寫操作。寫操作。Avalon傳輸一次可以傳輸傳輸一次可以傳輸高達高達1024位的數據,需要一個或多個時鐘周期來完位的數據,需要一個或多個時鐘周期來完成。在一次傳輸完成之后,成。在一次傳輸完成之后,Avalon端口在下一個時端口在下一個時鐘周期可以進行下一次的傳輸。鐘周期可以進行下
21、一次的傳輸。vAvalon的傳輸分成兩個基本的類別:主傳輸和從傳的傳輸分成兩個基本的類別:主傳輸和從傳輸。輸。Avalon主端口發起對交換架構的主傳輸。主端口發起對交換架構的主傳輸。Avalon從端口響應來自交換架構的傳輸請求。傳輸從端口響應來自交換架構的傳輸請求。傳輸是和端口相關的:主端口只能執行主傳輸,從端口是和端口相關的:主端口只能執行主傳輸,從端口只能執行從傳輸。只能執行從傳輸。4.2.5 主從端口對主從端口對v主從端口對是指在數據傳輸過程中,通過主從端口對是指在數據傳輸過程中,通過Avalon交換架構相連接起來的主端口和從端交換架構相連接起來的主端口和從端口???。v在傳輸過程中,主端
22、口的控制和數據信號通在傳輸過程中,主端口的控制和數據信號通過過Avalon交換架構和從端口相交互。交換架構和從端口相交互。4.2.6 周期周期v周期是時鐘的基本單位,定義為特定端口的周期是時鐘的基本單位,定義為特定端口的時鐘信號的一個上升沿到下一個上升沿之間時鐘信號的一個上升沿到下一個上升沿之間的時間。完成一次傳輸最少要一個時鐘周期。的時間。完成一次傳輸最少要一個時鐘周期。4.3 Avalon信號信號vAvalon接口規范定義了接口規范定義了Avalon外設使用的信號類型,如地外設使用的信號類型,如地址、數據、片選信號等等。根據外設邏輯接口的需求,址、數據、片選信號等等。根據外設邏輯接口的需求
23、,Avalon外設可以使用任何類型的外設可以使用任何類型的Avalon信號。信號。vAvalon接口規范還定義了每種信號類型的行為。接口規范還定義了每種信號類型的行為。Avalon端端口上的信號和信號類型是一一對應的,口上的信號和信號類型是一一對應的,Avalon主主/從端口的從端口的每一個信號必定屬于某類的每一個信號必定屬于某類的Avalon信號類型。一個信號類型。一個Avalon端口每一種信號類型只能有一個信號實例。端口每一種信號類型只能有一個信號實例。v根據端口的屬性,可以將根據端口的屬性,可以將Avalon信號類型分為主信號或者信號類型分為主信號或者從信號。有些信號在主端口和從端口的接
24、口上都存在,但是從信號。有些信號在主端口和從端口的接口上都存在,但是信號的行為是不相同的。信號的行為是不相同的。下圖給出了一個下圖給出了一個16位的通用位的通用I/O輸出外設,這個簡單的輸出外設,這個簡單的Avalon外設只需響應接收數據的傳輸請求。因此該外設只外設只需響應接收數據的傳輸請求。因此該外設只使用了寫傳輸的信號,而沒有讀傳輸的信號。使用了寫傳輸的信號,而沒有讀傳輸的信號。4.3.1 信號類型的完整列表信號類型的完整列表v構成從端口和主端口的接口的信號類型構成從端口和主端口的接口的信號類型 每一類型的信號的說明包括:每一類型的信號的說明包括:v信號類型;信號類型;v信號可能的寬度;信
25、號可能的寬度;v信號的方向(從外設的角度看);信號的方向(從外設的角度看);v該信號在端口上是否必不可少(必需性);該信號在端口上是否必不可少(必需性);v各種類型的信號的功能和特殊的使用要求的簡單描各種類型的信號的功能和特殊的使用要求的簡單描述述。Avalon從端口信號類型從端口信號類型信號類型信號寬度方向必需功能及使用描述基本信號類型clk1InNoAvalon從端口的同步時鐘,所有的信號必須與clk同步,異步外設可以忽略clk信號。chipselect1InNoAvalon從端口的片選信號。在chipselect信號無效的情況下,Avalon從端口忽略所有其它的信號。address132
26、InNo連接Avalon交換架構和從端口的地址線,指定了從外設地址空間的一個字的地址偏移。read1InNo讀從端口的請求信號。當從端口不輸出數據時不需要使用該信號,如果使用了該信號,則readdata或data信號也必須使用。readdata11024(注1、2)OutNo讀傳輸時,輸出到Avalon交換架構的數據線。當從端口不輸出數據時,不需要該信號。如果使用了該信號,則data信號不能使用。write1InNo寫從端口的請求信號。當從端口不從主端口接收數據,不需要該信號。如果使用了該信號,writedata或data信號必須使用,writebyteenable信號不能使用。writeda
27、ta11024(注1、2)InNo寫傳輸時,來自Avalon交換架構的數據線。當從端口不接收數據時,不需要該信號。如果使用了該信號,write或writebyteenable信號必須使用,data信號不能使用。byteenable2, 4, 6, 8, 16, 32, 64, 128InNo字節使能信號。在對寬度大于8位的存儲器進行寫傳輸時,該信號用于選擇特定的字節段。如果使用了該信號,writedata信號頁必須要使用,writebyteenable信號不能使用。信號類型信號寬度方向必需功能及使用描述writebyteenable2, 4, 6, 8, 16, 32, 64, 128InNo
28、相當于byteenable信號和write信號的邏輯與操作,如果使用了該信號,writedata信號必須使用,write和byteenable信號不能使用。begintransfer1InNo在每次傳輸的第一個周期內有效。使用用法取決于具體的外設。等待周期信號waitrequest1OutNo如果從端口不能立即響應Avalon交換架構,用該信號來暫停Avalon交換架構。流水線信號readdatavalid1OutNo用于具有可變讀延遲的流水線讀傳輸。該信號用于標記從端口發出有效readdata時的時鐘上升沿。突發信號burstcount232InNo用于突發傳輸。用來指示每一次突發傳輸中數據
29、傳輸的次數。當使用burstcount信號時,waitrequest信號必須一并使用。beginbursttransfer1InNo在突發數據傳輸的第一個時鐘周期有效,標志突發數據傳輸開始。其用法取決于外設。流控制信號redyfordata1OutNo用于具有流控制的傳輸。表示外設準備好一次寫傳輸。dataavailable1OutNo用于具有流控制的傳輸。表示外設準備好一次讀傳輸。endofpacket1OutNo用于具有流控制的傳輸。向Avalon交換架構指示包結束的狀態。實現取決于外設。三態信號data11024(注1)Bi-directionalNo三態從端口的雙向數據讀/寫。如果使用
30、了該信號,readdata和writedata不能使用。outputenable1InNodata信號的輸出使能信號。如果該信號無效,三態從端口不能驅動自身的dataxinhao。如果使用了該信號,data信號必須使用。其它信號irq1OutNo中斷請求信號。當從端口需要主端口服務時,它將發出irq信號。reset1InNo外設復位信號。該信號有效時,從外設必須進入確定的復位狀態。resetrequest1OutNo允許外設將整個Avalon系統復位。復位操作立即執行。注:(1)如果從端口使用動態地址對齊,信號寬度必須是2的冪。 (2)如果從端口同時使用readdata和writedata信號
31、,這兩個信號的寬度必須相等。Avalon從端口信號類型從端口信號類型Avalon主端口信號類型主端口信號類型信號類型信號寬度方向必需功能及使用描述基本信號類型Clk1InYesAvalon主端口的同步時鐘,所有的信號必須與clk同步。Waitrequest1InYes迫使主端口等待,知道Avalon交換架構準備好處理傳輸。address132OutYes從Avalon主端口到Avalon交換架構的地址線。該信號表示的是一個字節的地址,但主端口只發出的字邊界的地址。read1OutNo主端口的讀請求信號。主端口不執行讀傳輸時不需要該信號。如果使用了該信號,readdata或data信號線也必須使
32、用。readdata8, 16, 32, 64, 128, 256, 512, 1024 (注1)OutNo讀傳輸時,來自Avalon交換架構的數據線。當主端口不執行讀傳輸時,不需要該信號。如果使用了該信號,則read信號必須使用,data信號不能使用。write1OutNo主端口的寫請求信號。不執行寫傳輸時不需要該信號。如果使用該信號,writedata或data信號也必須使用。writedata8, 16, 32, 64, 128, 256, 512, 1024 (注1)OutNo寫傳輸時,到Avalon交換架構的數據線。當主端口不執行寫傳輸時,不需要該信號。如果使用了該信號,write信
33、號必須使用,data信號不能使用。byteenable2, 4, 6, 8, 16, 32, 64, 128OutNo字節使能信號。在對寬度大于8位的存儲器進行寫傳輸時,該信號用于選擇特定的字節段。讀傳輸時,主端口必須置所有的byteenable信號線有效。流水線信號readdatavalid1InNo用于具有延遲的流水線讀傳輸。該信號表示來自Avalon交換架構的有效數據出現在readdata數據線上。如果主端口采用流水線傳輸,就要求使用該信號。flush1OutNo用于流水線讀傳輸操作。主端口置flush信號有效,以清除所有掛起的傳輸操作。突發信號burstcount232OutNo用于突
34、發傳輸。用來指示每一次突發傳輸中數據傳輸的次數。流控制信號endofpacket1OutNo用于控制流模式的數據傳輸。標志一個數據包的結束狀態。實現取決于外設。三態信號data8,16,32,64,128, 256, 512,1024Bi-directionalNo三態主端口的雙向數據讀/寫信號。如果使用了該信號,readdata和writedata不能使用。其它信號Irq1,32InNo中斷請求信號。如果Irq信號是一個32位的矢量信號,那么它的每一位直接對應一個從端口上的中斷信號,它與中斷優先級沒有任何的聯系;如果Irq是一個單比特信號,那么它是所有從外設的Irq信號的邏輯或,中斷優先級由
35、irqnumber信號確定。irqnumber6InNo只有在irq信號為單比特信號時,才使用irqnumber信號來確定外設的中斷優先級。Irqnumber的值越小,所代表的中斷優先級越高。reset1InNo全局復位信號。實現跟外設相關。resetrequest1OutNo允許外設將整個Avalon系統復位。復位操作立即執行。注:(1)如果主端口同時使用readdata和writedata信號,這兩個信號的寬度必須相等。Avalon主端口信號類型主端口信號類型4.3.2 信號極性信號極性 表中的信號類型都是高電平有效。表中的信號類型都是高電平有效。Avalon接接口也提供每個信號類型的低電
36、平有效的版本,口也提供每個信號類型的低電平有效的版本,在信號類型名后添加在信號類型名后添加 _n 來表示。例如來表示。例如irq_n、read_n等。這對和那些低電平有效的片外邏等。這對和那些低電平有效的片外邏輯相接口時非常有用。輯相接口時非常有用。4.3.3. 信號命名規則信號命名規則vAvalon接口規范沒有對接口規范沒有對Avalon外設上的信號外設上的信號指定命名的規則,指定命名的規則,Avalon外設上的信號的名外設上的信號的名字可以與信號類型名相同,或者也遵循系統字可以與信號類型名相同,或者也遵循系統級的命名規則。級的命名規則。v在本章中,討論在本章中,討論Avalon傳輸的時候,
37、信號名傳輸的時候,信號名和信號類型名是相同的。和信號類型名是相同的。4.3.4 Avalon信號時序說明信號時序說明vAvalon接口是一個同步的協議。每個接口是一個同步的協議。每個Avalon端口端口都與都與Avalon交換架構提供的時鐘同步。所有的傳輸交換架構提供的時鐘同步。所有的傳輸都與都與Avalon交換架構的時鐘同步發生,并在時鐘上交換架構的時鐘同步發生,并在時鐘上升沿啟動。升沿啟動。v一個同步的接口并不意味著所有的信號都是時序的一個同步的接口并不意味著所有的信號都是時序的信號,信號,Avalon的信號可以是基于同步于系統交換結的信號可以是基于同步于系統交換結時鐘的寄存器的輸出的組合
38、邏輯。所以除了時鐘的寄存器的輸出的組合邏輯。所以除了clk信號信號之外,之外,Avalon外設對其它的外設對其它的Avalon信號邊沿不敏信號邊沿不敏感。對任何的同步設計來說,感。對任何的同步設計來說,Avalon外設必須只響外設必須只響應在時鐘上升沿達到穩定狀態的信號,并且在時應在時鐘上升沿達到穩定狀態的信號,并且在時鐘上升沿產生穩定的輸出。鐘上升沿產生穩定的輸出。v也能夠將片外的異步外設,比如片外存儲設備,同也能夠將片外的異步外設,比如片外存儲設備,同系統交換架構相接口,但需要一些設計上的考慮。系統交換架構相接口,但需要一些設計上的考慮。由于由于Avalon交換架構的同步操作,交換架構的同
39、步操作,Avalon信號只信號只在在Avalon接口時鐘的時間間隔發生翻轉。而且,如接口時鐘的時間間隔發生翻轉。而且,如果異步的信號直接同果異步的信號直接同Avalon交換架構的輸入相連,交換架構的輸入相連,設計者要確保信號在時鐘的上升沿是穩定的。設計者要確保信號在時鐘的上升沿是穩定的。vAvalon接口沒有固定的或者最高的性能。接口是同接口沒有固定的或者最高的性能。接口是同步的,并且可以被交換架構提供的任意頻率的時鐘步的,并且可以被交換架構提供的任意頻率的時鐘驅動。最高性能取決于外設的設計和系統的實現。驅動。最高性能取決于外設的設計和系統的實現。 不同于傳統的共享總線實現的規范,不同于傳統的
40、共享總線實現的規范,Avalon接口沒接口沒有指定任何的物理和電氣特性。有指定任何的物理和電氣特性。4.3.5 傳輸屬性傳輸屬性v不是所有的不是所有的Avalon主主/從端口都使用相同的信從端口都使用相同的信號類型,因此不同的號類型,因此不同的Avalon端口具有不同的端口具有不同的傳輸能力。傳輸能力。Avalon接口規范定義了一套傳輸接口規范定義了一套傳輸屬性。一個特定的屬性。一個特定的Avalon主主/從端口可以支持從端口可以支持一個或多個傳輸屬性,這取決于外設的設計。一個或多個傳輸屬性,這取決于外設的設計。外設支持的傳輸屬性在設計時確定,在傳輸外設支持的傳輸屬性在設計時確定,在傳輸過程中
41、不會改變。過程中不會改變。 Avalon接口規范定義了接口規范定義了Avalon端口支持的如端口支持的如下的傳輸屬性:下的傳輸屬性:v等待周期:固定或可變(只對從端口);等待周期:固定或可變(只對從端口);v流水線:固定或可變的延遲;流水線:固定或可變的延遲;v建立和保持時間(只對從端口);建立和保持時間(只對從端口);v突發;突發;v三態。三態。v基本傳輸提供了一個參照點,來描述每一個基本傳輸提供了一個參照點,來描述每一個屬性對端口和信號行為的影響。屬性對端口和信號行為的影響。v使用一個特定的端口屬性會產生下面的影響:使用一個特定的端口屬性會產生下面的影響:l改變特定信號的行為;改變特定信號
42、的行為;l需要一個或多個的信號類型來實現該屬性。需要一個或多個的信號類型來實現該屬性。 vAvalon端口可以同時支持多個屬性。例如,端口可以同時支持多個屬性。例如,一個一個Avalon從端口可能支持具有可變等待周從端口可能支持具有可變等待周期的流水線傳輸。期的流水線傳輸。v一些屬性不能和其它屬性共同使用,這些限一些屬性不能和其它屬性共同使用,這些限制在傳輸屬性的討論中會說明。制在傳輸屬性的討論中會說明。v一個主從端口對中的主端口和從端口可以有一個主從端口對中的主端口和從端口可以有不同的傳輸屬性。不同的傳輸屬性。Avalon交換架構同主交換架構同主/從端從端口通信時,使用該端口指定的屬性,并且
43、必口通信時,使用該端口指定的屬性,并且必要時要進行從主端口到從端口的屬性轉換。要時要進行從主端口到從端口的屬性轉換。這樣,這樣,Avalon外設可以獨立于系統中其它的外設可以獨立于系統中其它的外設屬性進行設計。外設屬性進行設計。4.4 從端口傳輸從端口傳輸v4.4.1 從端口信號詳述從端口信號詳述 所有從端口傳輸都很重要的信號所有從端口傳輸都很重要的信號 1.address信號信號 2. readdata和和writedata信號信號 3. chipselect、read和和write信號信號 4. byteenable和和writebyteenable 5. begintransfer信號信
44、號32位的從端口使能信號byteenable3.0寫操作1111全32位寫操作00112個低字節的寫操作11002個高字節的寫操作0001字節0的寫操作0010字節1的寫操作0100字節2的寫操作1000字節3的寫操作4.4.2從端口讀傳輸從端口讀傳輸v4.4.2.1 從端口基本讀傳輸從端口基本讀傳輸 基本的讀傳輸是其它的基本的讀傳輸是其它的Avalon讀傳輸的參考,讀傳輸的參考,基本的讀傳輸沒有傳輸規范中的任何的傳輸基本的讀傳輸沒有傳輸規范中的任何的傳輸屬性。從端口基本讀傳輸由屬性。從端口基本讀傳輸由Avalon交換架構交換架構發起,從發起,從Avalon從端口傳輸一個數據單元從端口傳輸一個
45、數據單元(外設的數據端口全寬度)到(外設的數據端口全寬度)到Avalon交換架交換架構。傳輸在一個時鐘周期內完成。構。傳輸在一個時鐘周期內完成。從端口基本讀傳輸從端口基本讀傳輸從端口基本讀傳輸只適用于異步從外設,如異步存儲器。只從端口基本讀傳輸只適用于異步從外設,如異步存儲器。只要外設被選中和要外設被選中和/或地址發生了變化,外設就必須立刻返回數或地址發生了變化,外設就必須立刻返回數據。據。readdata信號線必須在下一個時鐘上升沿之前保持穩定。信號線必須在下一個時鐘上升沿之前保持穩定。同步外設要鎖存它們的輸入和輸出信號,必須要用到等待周同步外設要鎖存它們的輸入和輸出信號,必須要用到等待周期
46、和期和/或流水線屬性。片上的或流水線屬性。片上的Avalon外設通常使用同步的、外設通常使用同步的、鎖存的接口,該接口至少需要一個周期用來捕獲地址。鎖存的接口,該接口至少需要一個周期用來捕獲地址。v4.4.2.2 等待周期等待周期 等待周期延長讀傳輸的時間,允許從端口使用一個等待周期延長讀傳輸的時間,允許從端口使用一個或多個的時鐘周期來捕獲地址和或多個的時鐘周期來捕獲地址和/或返回有效的或返回有效的readdata,但是等待周期會影響從端口的吞吐量。,但是等待周期會影響從端口的吞吐量。例如,一個持續的序列采用例如,一個持續的序列采用0等待周期的傳輸,可等待周期的傳輸,可以達到最大的吞吐量以達到
47、最大的吞吐量一個周期一次傳輸。如果一個周期一次傳輸。如果傳輸采用具有一個等待周期的傳輸,最大的吞吐量傳輸采用具有一個等待周期的傳輸,最大的吞吐量為每兩個周期一次傳輸。從端口讀傳輸有兩種類型為每兩個周期一次傳輸。從端口讀傳輸有兩種類型的等待周期:固定的和可變的。的等待周期:固定的和可變的。 具有一個等待周期的從端口讀傳輸時序圖具有固定等待周期的從端口讀傳輸具有固定等待周期的從端口讀傳輸具有可變等待周期的從端口讀傳輸具有可變等待周期的從端口讀傳輸(A)第一個周期在第一個周期在clk的上升沿開始。的上升沿開始。(B) Avalon交換架構發出地址和交換架構發出地址和read信號。信號。(C) Ava
48、lon交換架構對地址進行譯碼,然后驅動交換架構對地址進行譯碼,然后驅動chipselect信號。信號。(D) 從端口在下一個從端口在下一個clk的上升沿置的上升沿置waitrequest信號有效。信號有效。(E) Avalon交換架構在交換架構在clk的上升沿采樣的上升沿采樣waitrequest, waitrequest是有效的,所以在此時鐘沿是有效的,所以在此時鐘沿 readdata沒被捕獲。沒被捕獲。(F) waitrequest可能會持續一個不確定數目的周期。可能會持續一個不確定數目的周期。(G) 從端口提供有效的從端口提供有效的readdata。(H) 從端口置從端口置waitreq
49、uest無效。無效。(I) Avalon交換架構在下一個交換架構在下一個clk的上升沿捕獲的上升沿捕獲readdata,讀傳輸就此結束。下一個周期在此開始,讀傳輸就此結束。下一個周期在此開始,另一次傳輸也可由此開始。另一次傳輸也可由此開始。v4.4.2.3建立時間建立時間 一些外設,如大多數常用的片外異步外設,一些外設,如大多數常用的片外異步外設,在發出在發出read信號之前,需要地址和信號之前,需要地址和chipselect信號先穩定一段時間。具有建立信號先穩定一段時間。具有建立時間的時間的Avalon傳輸可以滿足上述的建立時間傳輸可以滿足上述的建立時間的要求。具有建立時間的讀傳輸所使用的信
50、的要求。具有建立時間的讀傳輸所使用的信號和基本讀傳輸使用的信號相同,不同點只號和基本讀傳輸使用的信號相同,不同點只是在信號的時序。是在信號的時序。具有建立時間和固定等待周期的從端口讀傳輸具有建立時間和固定等待周期的從端口讀傳輸(A) 傳輸在傳輸在clk的上升沿開始,第一個(也是唯一的)建立時間的周期在此開始。的上升沿開始,第一個(也是唯一的)建立時間的周期在此開始。(B) Avalon交換架構發出有效的交換架構發出有效的address和和byteenable,但保持,但保持read無效。無效。(C) Avalon交換架構對地址譯碼,并發出交換架構對地址譯碼,并發出chipselect信號。信號
51、。(D)建立時間的周期在建立時間的周期在 clk的上升沿結束,等待周期開始。的上升沿結束,等待周期開始。(E) Avalon交換架構置交換架構置read有效。有效。(F) clk的上升沿標志等待周期的結束。的上升沿標志等待周期的結束。(G) 從端口提供有效的從端口提供有效的readdata。(H) Avalon交換架構在交換架構在clk的上升沿捕獲的上升沿捕獲readdata,傳輸就此結束。下一個周期開,傳輸就此結束。下一個周期開始,另一次傳輸也可以開始。始,另一次傳輸也可以開始。v4.4.3 從端口寫傳輸從端口寫傳輸v4.4.3.1 從端口基本寫傳輸從端口基本寫傳輸 從端口基本寫傳輸是其它從
52、端口寫傳輸的基礎,它從端口基本寫傳輸是其它從端口寫傳輸的基礎,它不含不含Avalon接口規范允許的任何傳輸屬性。從端口接口規范允許的任何傳輸屬性。從端口基本寫傳輸由基本寫傳輸由Avalon交換架構發起,并由交換架構發起,并由Avalon交換架構到從端口傳輸一個數據單元,傳輸需要一交換架構到從端口傳輸一個數據單元,傳輸需要一個時鐘周期。如果個時鐘周期。如果writedata的寬度大于一個字節,的寬度大于一個字節,使用使用byteenable來實現對來實現對writedata內的特定字節內的特定字節進行寫操作。如果從端口沒有使用進行寫操作。如果從端口沒有使用byteenable,則,則所有的字節段
53、在傳輸期間都是使能的。所有的字節段在傳輸期間都是使能的。從端口基本寫傳輸從端口基本寫傳輸(A)第一個周期在第一個周期在clk的上升沿開始。的上升沿開始。(B) Avalon交換架構發出有效的交換架構發出有效的writedata、address、byteenable和和write信號。信號。(C) Avalon交換架構對地址譯碼,并且發送交換架構對地址譯碼,并且發送chipselect給從端口。給從端口。(D)從端口在從端口在clk的上升沿捕獲的上升沿捕獲writedata、address、 write、byteenable和和chipselect。寫傳輸結束。下一個周期開始,另一次傳輸。寫傳輸
54、結束。下一個周期開始,另一次傳輸也可以開始。也可以開始。從端口基本寫傳輸 v4.4.3.2 等待周期等待周期 從端口使用等待周期來延長傳輸,從端口使從端口使用等待周期來延長傳輸,從端口使用一個或多個時鐘周期來捕獲用一個或多個時鐘周期來捕獲address和和writedata。從端口寫傳輸使用等待周期會影。從端口寫傳輸使用等待周期會影響從端口寫傳輸的吞吐量。響從端口寫傳輸的吞吐量。 具有固定等待周期的從端口寫傳輸具有固定等待周期的從端口寫傳輸(A) 第一個周期在第一個周期在clk的上升沿開始。的上升沿開始。(B) 來自來自Avalon交換架構的交換架構的writedata、address、byt
55、eenable和和write有效。有效。.(C) Avalon交換架構對地址譯碼,發出交換架構對地址譯碼,發出chipselect。(D) 第一個等待周期在第一個等待周期在clk的上升沿結束,所有來自的上升沿結束,所有來自Avalon交換架構的交換架構的信號保持不變。信號保持不變。(E) 從端口在從端口在clk的上升沿或上升沿之前捕獲的上升沿或上升沿之前捕獲writedata、address、byteenable、write和和chipselect ,寫傳輸結束。下一個周期開始,寫傳輸結束。下一個周期開始,另一次傳輸也可開始。另一次傳輸也可開始。具有可變等周期的從端口寫傳輸具有可變等周期的從端
56、口寫傳輸具有可變等待周期的從端口寫傳輸具有可變等待周期的從端口寫傳輸 (A) 第一個周期在第一個周期在clk的上升沿開始。的上升沿開始。(B) 來自來自Avalon交換架構的交換架構的address、writedata、byteenable和和write 信號有效。信號有效。(C) Avalon交換架構對地址譯碼,然后發出交換架構對地址譯碼,然后發出chipselect。(D) 外設在下一個外設在下一個clk的上升沿之前置的上升沿之前置waitrequest有效。有效。(E) Avalon交換架構在交換架構在clk的上升沿采樣的上升沿采樣waitrequest,如果,如果waitrequest
57、有效,周期成為有效,周期成為等待周期,等待周期,address、writedata、byteenable、write和和chipselect保持不變。保持不變。(F) waitrequest可能保持任意多個周期有效??赡鼙3秩我舛鄠€周期有效。(G) 從端口捕獲數據。從端口捕獲數據。(H) 從端口置從端口置waitrequest無效。無效。(I) 寫傳輸在下一個寫傳輸在下一個clk的上升沿結束。下一個周期可進行另一次的傳輸。的上升沿結束。下一個周期可進行另一次的傳輸。v4.4.3.3具有建立時間和保持時間的寫傳輸具有建立時間和保持時間的寫傳輸 建立和保持時間用于需要建立和保持時間用于需要addr
58、ess、byteenable、writedata、和、和chipselect信號在信號在write脈沖之前和脈沖之前和/或之后保持幾個周期穩定的片外外設。具有建立和或之后保持幾個周期穩定的片外外設。具有建立和保持時間的寫傳輸所使用的信號與基本寫傳輸的信保持時間的寫傳輸所使用的信號與基本寫傳輸的信號相同。不同點只是信號的時序。號相同。不同點只是信號的時序。具有建立和保持時間的從端口寫傳輸具有建立和保持時間的從端口寫傳輸 (A) 第一個周期在第一個周期在clk的上升沿開始。的上升沿開始。(B) Avalon交換架構發出交換架構發出address、byteenable和和writedata信號,但信
59、號,但保持保持write信號無效。信號無效。(C) Avalon交換架構對地址譯碼,然后發出交換架構對地址譯碼,然后發出chipselect信號。信號。(D) clk的上升沿標志建立時間的周期結束。的上升沿標志建立時間的周期結束。(E) Avalon交換架構置交換架構置write有效。有效。(F) Avalon交換架構在下一個交換架構在下一個clk的上升沿之后置的上升沿之后置write無效,保持周期無效,保持周期開始,開始,address、byteenable、writedata和和chipselect保持不變。保持不變。(G) Avalon交換架構在下一個交換架構在下一個clk的上升沿置的上
60、升沿置address、byteenable、writedata和和chipselect無效,寫傳輸結束。無效,寫傳輸結束。v4.5 主端口傳輸主端口傳輸 所有主端口傳輸都很重要的信號所有主端口傳輸都很重要的信號 waitrequest信號信號 address信號信號 readdata和和writedata信號信號 read和和write信號信號 byteenable信號信號 v4.5.2 主端口基本讀傳輸主端口基本讀傳輸v主端口基本讀傳輸是所有帶傳輸屬性主端口基本讀傳輸是所有帶傳輸屬性Avalon主端口主端口讀傳輸的參考。基本讀傳輸不具有讀傳輸的參考?;咀x傳輸不具有Avalon接口規范接口規
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品電子訂單管理制度
- 藥店醫保培訓管理制度
- 藥店開發銷售管理制度
- 藥店設備校準管理制度
- 薪資薪酬績效管理制度
- 設備公司采購管理制度
- 設備工藝變更管理制度
- 設備機房衛視管理制度
- 設備現場安全管理制度
- 設備腐蝕檢測管理制度
- 人教部編版三年級下冊語文【選擇題】專項復習訓練真題100題(附答案解析)
- 免檢車輛標志委托書
- 人教鄂教版科學18《制作日晷》課件-科學四年級下冊人教鄂教版
- 云南開放大學實-用寫作離線作業1-5
- 內科學(腎臟-內分泌-血液)智慧樹知到期末考試答案章節答案2024年溫州醫科大學
- 食品安全與日常飲食智慧樹知到期末考試答案章節答案2024年中國農業大學
- 信息安全、網絡安全和隱私保護-信息安全控制清單(2024A1-雷澤佳編制)
- 100以內進退位加減法口算題每天60道
- 基礎護理學第七版題附有答案
- MOOC 嵌入式軟件設計-大連理工大學 中國大學慕課答案
- RFJ 003-2021 人民防空工程防護設備產品與安裝質量檢測標準(暫行)
評論
0/150
提交評論