![第四章 Avalon總線規(guī)范_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/12/a1c1c53c-8263-4721-908f-8436205c5183/a1c1c53c-8263-4721-908f-8436205c51831.gif)
![第四章 Avalon總線規(guī)范_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/12/a1c1c53c-8263-4721-908f-8436205c5183/a1c1c53c-8263-4721-908f-8436205c51832.gif)
![第四章 Avalon總線規(guī)范_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/12/a1c1c53c-8263-4721-908f-8436205c5183/a1c1c53c-8263-4721-908f-8436205c51833.gif)
![第四章 Avalon總線規(guī)范_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/12/a1c1c53c-8263-4721-908f-8436205c5183/a1c1c53c-8263-4721-908f-8436205c51834.gif)
![第四章 Avalon總線規(guī)范_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-10/12/a1c1c53c-8263-4721-908f-8436205c5183/a1c1c53c-8263-4721-908f-8436205c51835.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章 Avalon總線規(guī)范,4.1 Avalon總線簡(jiǎn)介 4.2 Avalon總線基本概念 4.3 Avalon信號(hào) 4.4 從端口傳輸 4.5 主端口傳輸 4.6 流水線傳輸屬性 4.7 流控制 4.8 三態(tài)傳輸 4.9 突發(fā)傳輸 4.10 和傳輸無關(guān)的信號(hào) 4.11 地址對(duì)齊,Avalon總線簡(jiǎn)介,總線的定義: (1)總線最初是指計(jì)算機(jī)系統(tǒng)中各種信號(hào)線的集合,是計(jì)算機(jī)各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路,例如PCI總線。 (2)隨著電子計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,總線的概念也被更廣泛的使用,現(xiàn)在總線一詞不僅用于表示計(jì)算機(jī)系統(tǒng)中的信號(hào)線的集合,也用于表示各種通信系統(tǒng),例如現(xiàn)場(chǎng)總線,
2、USB總線,485總線。 (3)簡(jiǎn)而言之,可以這樣認(rèn)為,總線就是一種通信規(guī)范以及規(guī)范的實(shí)現(xiàn)方法,不論是計(jì)算機(jī)系統(tǒng)還是通信領(lǐng)域。,Avalon總線簡(jiǎn)介,計(jì)算機(jī)總線的分類: (1)按相對(duì)于CPU或其它芯片的位置可分為:片內(nèi)總線、片外總線 ; (2)按總線的功能可分為:地址總線、數(shù)據(jù)總線、控制總線 ; (3)按總線的層次結(jié)構(gòu)可分為:CPU總線、存儲(chǔ)總線、系統(tǒng)總線、外部總線;,Avalon總線簡(jiǎn)介,Avalon 總線 Avalon總線由ALTERA公司提出,用于在基于FPGA的片上系統(tǒng)中連接片內(nèi)處理器和片內(nèi)外設(shè)的總線結(jié)構(gòu)。 連接到Avalon總線的設(shè)備分為主從設(shè)備,并各有其工作模式。 Avalon總線
3、本身是一個(gè)數(shù)字邏輯系統(tǒng),它在實(shí)現(xiàn)“信號(hào)線匯接”這一傳統(tǒng)總線功能的同時(shí),增加了許多內(nèi)部功能模塊,引用了很多新的方法,比如從端仲裁模式,多主端工作方式,延時(shí)數(shù)據(jù)傳輸,這些功能使得在可編程邏輯器件中可以靈活的實(shí)現(xiàn)系統(tǒng)增減和IP復(fù)用。,Avalon總線簡(jiǎn)介,Avalon總線是用于處理器與片內(nèi)/外外設(shè)互連的技術(shù),這就決定了Avalon總線具有以下的一些特點(diǎn): (1)簡(jiǎn)單性,易于理解、易于使用。 (2)占用資源少,減少對(duì)FPGA片內(nèi)資源的占用。 (3)高性能,Avalon總線可以在每一個(gè)總線時(shí)鐘周期完成一次數(shù)據(jù)傳輸。 (4) 專用的地址總線、數(shù)據(jù)總線和控制總線:這樣Avalon總線模塊和片上邏輯之間的接口
4、得以簡(jiǎn)化,Avalon外設(shè)不需要識(shí)別數(shù)據(jù)和地址周期。 (5)支持高達(dá)1024位的數(shù)據(jù)寬度,支持不是2的偶數(shù)冪的數(shù)據(jù)寬度。 (6) 支持同步操作,所有Avalon外設(shè)的接口與Avalon交換架構(gòu)的時(shí)鐘同步,不需要復(fù)雜的握手/應(yīng)答機(jī)制。簡(jiǎn)化了Avalon接口的時(shí)序行為,而且便于集成高速外設(shè)。 (7) 支持動(dòng)態(tài)地址對(duì)齊,可以處理具有不同數(shù)據(jù)寬度的外設(shè)間的數(shù)據(jù)傳輸,Avalon總線的自動(dòng)地址對(duì)齊功能將自動(dòng)解決數(shù)據(jù)寬度不匹配的問題,不需要設(shè)計(jì)者的干預(yù)。 (8) Avalon總線規(guī)范是一個(gè)開放的標(biāo)準(zhǔn),用戶可以在未經(jīng)授權(quán)的情況下使用Avalon總線接口來自定義外設(shè)。,Avalon總線結(jié)構(gòu),傳統(tǒng)的總線結(jié)構(gòu),A
5、valon總線結(jié)構(gòu)采用交換式的總線結(jié)構(gòu),比傳統(tǒng)的總線結(jié)構(gòu)有著顯著的優(yōu)點(diǎn)。,采用Avalon交換架構(gòu),每個(gè)總線主機(jī)均有自己的專用互聯(lián),總線主機(jī)只需搶占共享從機(jī),而不是總線本身。,每當(dāng)系統(tǒng)加入模塊或者外設(shè)接入優(yōu)先權(quán)改變時(shí),SOPC Builder利用最少的FPGA資源,產(chǎn)生新的最佳Avalon交換架構(gòu)。,Avalon交換架構(gòu)支持多種系統(tǒng)體系結(jié)構(gòu),如單主機(jī)/多主機(jī)系統(tǒng),可實(shí)現(xiàn)數(shù)據(jù)在外設(shè)與性能最佳數(shù)據(jù)通道之間的無縫傳輸。,Avalon交換架構(gòu)同樣支持用戶所設(shè)計(jì)的片外處理器和外設(shè)。,Avalon交換式總線結(jié)構(gòu)支持?jǐn)?shù)據(jù)總線的復(fù)用、等待周期的產(chǎn)生、外設(shè)的地址對(duì)齊以及高級(jí)的交換式總線傳輸。,Avalon總線簡(jiǎn)
6、介,Avalon總線在SOPC Builder中添加外設(shè)之后會(huì)自動(dòng)生成,并且會(huì)隨著外設(shè)的添加和刪減而自動(dòng)調(diào)整,最終的Avalon總線結(jié)構(gòu)是針對(duì)外設(shè)配置而生成的一個(gè)最佳結(jié)構(gòu)。 所以對(duì)于用戶來說,如果只是使用已經(jīng)定制好的符合Avalon總線規(guī)范的外設(shè)來構(gòu)建系統(tǒng),不需要了解Avalon總線規(guī)范的細(xì)節(jié)。 但是對(duì)于要自己設(shè)計(jì)外設(shè)的用戶來說,開發(fā)的外設(shè)必須要符合相應(yīng)的Avalon總線的規(guī)范,否則設(shè)計(jì)的外設(shè)也無法集成到系統(tǒng)中去。,Avalon總線簡(jiǎn)介,Altera提供了Avalon的接口規(guī)范,供設(shè)計(jì)者開發(fā)自己的外設(shè)和更好地使用外設(shè)。 該規(guī)范描述了諸如微處理器、存儲(chǔ)器、UART等主從外設(shè)的基于地址的讀/寫接口
7、的基本知識(shí)。 Avalon接口規(guī)范給出了主從外設(shè)間的端口連接關(guān)系,通信的時(shí)序關(guān)系,支持的多種傳輸方式。 設(shè)計(jì)者可以不去了解Avalon交換結(jié)構(gòu)的實(shí)現(xiàn)細(xì)節(jié),只要掌握其同外設(shè)相連接的接口。,Avalon總線基本概念,Avalon外設(shè) 一個(gè)基于Avalon接口的系統(tǒng)會(huì)包含很多功能模塊,這些功能模塊就是Avalon存儲(chǔ)器映射外設(shè),通常簡(jiǎn)稱Avalon外設(shè)。,所謂存儲(chǔ)器映射外設(shè):是指外設(shè)和存儲(chǔ)器使用相同的總線來尋址,并且CPU使用訪問存儲(chǔ)器的指令也用來訪問I/O設(shè)備。為了能夠使用I/O設(shè)備,CPU的地址空間必須為I/O設(shè)備保留地址。,Avalon外設(shè)包括存儲(chǔ)器,處理器、UART、PIO、定時(shí)器和總線橋等
8、。還可以有用戶自定義的Avalon外設(shè),用戶自定義的外設(shè)要能稱之為Avalon外設(shè),要有連接到Avalon結(jié)構(gòu)的Avalon信號(hào)。,Avalon總線基本概念,Avalon外設(shè),主外設(shè),從外設(shè),能夠在Avalon總線上發(fā)起總線傳輸,只能響應(yīng)Avalon總線傳輸,而不能發(fā)起總線傳輸,主外設(shè)至少擁有一個(gè)連接在Avalon交換架構(gòu)上的主端口,主外設(shè)也可以擁有從端口,使得該外設(shè)也可以響應(yīng)總線上其它主外設(shè)發(fā)起的總線傳輸。,Avalon總線基本概念,Avalon交換架構(gòu) 將Avalon外設(shè)連接起來,構(gòu)成一個(gè)大的系統(tǒng)的片上互連邏輯就是Avalon交換架構(gòu)。 Avalon交換架構(gòu)是一種可自動(dòng)調(diào)整的結(jié)構(gòu),隨著設(shè)計(jì)
9、者不同設(shè)計(jì)而做出最優(yōu)的調(diào)整。,Avalon總線基本概念,可以看到外設(shè)和存儲(chǔ)器可以擁有不同的數(shù)據(jù)寬度,并且這些外設(shè)可以工作在不同的時(shí)鐘頻率。 Avalon交換架構(gòu)支持多個(gè)主外設(shè),允許多個(gè)主外設(shè)同時(shí)與不同的從外設(shè)進(jìn)行通信,增加了系統(tǒng)的帶寬。 這些功能的實(shí)現(xiàn)都是靠Avalon交換架構(gòu)中的地址譯碼、信號(hào)復(fù)用、仲裁、地址對(duì)齊等邏輯實(shí)現(xiàn)的。,Avalon系統(tǒng)實(shí)例,Avalon總線基本概念,本章重點(diǎn)討論Avalon外設(shè)和Avalon交換架構(gòu)之間的互連,主要研究接口級(jí)的行為,不關(guān)注其內(nèi)部實(shí)現(xiàn)。,Avalon總線基本概念,Avalon信號(hào) Avalon接口定義了一組信號(hào)類型(片選、讀使能、寫使能、地址、數(shù)據(jù)等)
10、,用于描述主/從外設(shè)上基于地址的讀寫接口。 Avalon外設(shè)只使用和其內(nèi)核邏輯進(jìn)行接口的必需的信號(hào),而省去其他會(huì)增加不必要的開銷的信號(hào)。,Avalon總線基本概念,Avalon信號(hào)的可配置特性 Avalon信號(hào)的可配置特性是Avalon接口與傳統(tǒng)總線接口的主要區(qū)別之一。 Avalon外設(shè)可以使用一小組信號(hào)來實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)傳輸,或者使用更多的信號(hào)來實(shí)現(xiàn)復(fù)雜的傳輸類型。 例如ROM接口只需要地址、數(shù)據(jù)和和片選信號(hào)就可以了, 而高速的存儲(chǔ)控制器可能需要更多的信號(hào)來支持流水線的突發(fā)傳輸。,Avalon總線基本概念,Avalon的信號(hào)類型為其它的總線接口提供了一個(gè)超集,例如大多數(shù)分離的SRAM、ROM和
11、Flash芯片上的引腳都能映射成Avalon信號(hào)類型,這樣就能使Avalon系統(tǒng)直接與這些芯片相連接。類似地,大多數(shù)Wishbone的接口信號(hào)也可以映射為Avalon信號(hào)類型,使得在Avalon系統(tǒng)中集成Wishbone的內(nèi)核非常簡(jiǎn)單。,Avalon總線基本概念,主端口和從端口 Avalon端口就是完成通信傳輸?shù)慕涌谒囊唤MAvalon信號(hào)。,Avalon端口,主端口,從端口,主端口可以在Avalon總線上發(fā)起數(shù)據(jù)傳輸。,目標(biāo)從端口在Avalon總線上響應(yīng)主端口發(fā)起的數(shù) 據(jù)傳輸。,一個(gè)Avalon外設(shè)可能有一個(gè)或多個(gè)主端口,一個(gè)或多個(gè)從端口,也可能既有多個(gè)主端口,又有多個(gè)從端口。,Aval
12、on總線基本概念,Avalon的主端口和從端口之間沒有直接的連接,主、從端口都連接到Avalon交換架構(gòu)上,由交換架構(gòu)來完成信號(hào)的傳遞。,在傳輸過程中,主端口和交換架構(gòu)之間傳遞的信號(hào)與交換架構(gòu)和從端口之間傳遞的信號(hào)可能有很大的不同。 所以,在討論Avalon傳輸?shù)臅r(shí)候,必須區(qū)分主從端口。,Avalon總線基本概念,傳輸 傳輸是指在Avalon端口和Avalon交換架構(gòu)之間的數(shù)據(jù)單元的讀/寫操作。 Avalon傳輸一次可以傳輸高達(dá)1024位的數(shù)據(jù),需要一個(gè)或多個(gè)時(shí)鐘周期來完成。 在一次傳輸完成之后,Avalon端口在下一個(gè)時(shí)鐘周期可以進(jìn)行下一次的傳輸。,Avalon總線基本概念,Avalon傳輸
13、,主傳輸,從傳輸,Avalon主端口發(fā)起對(duì)交換架構(gòu)的主傳輸。,Avalon從端口響應(yīng)來自交換架構(gòu)的傳輸請(qǐng)求。,傳輸是和端口相關(guān)的:主端口只能執(zhí)行主傳輸,從端口只能執(zhí)行從傳輸。,Avalon總線基本概念,主從端口對(duì) 主從端口對(duì)是指在數(shù)據(jù)傳輸過程中,通過Avalon交換架構(gòu)相連接起來的主端口和從端口。在傳輸過程中,主端口的控制和數(shù)據(jù)信號(hào)通過Avalon交換架構(gòu)和從端口相交互。,周期 周期是時(shí)鐘的基本單位,定義為特定端口的時(shí)鐘信號(hào)的一個(gè)上升沿到下一個(gè)上升沿之間的時(shí)間。完成一次傳輸最少要一個(gè)時(shí)鐘周期。,clk,Avalon信號(hào),Avalon接口規(guī)范定義了Avalon外設(shè)使用的信號(hào)類型,如地址、數(shù)據(jù)、片
14、選信號(hào)等等。根據(jù)外設(shè)邏輯接口的需求,Avalon外設(shè)可以使用任何類型的Avalon信號(hào)。 Avalon接口規(guī)范還定義了每種信號(hào)類型的行為。Avalon端口上的信號(hào)和信號(hào)類型是一一對(duì)應(yīng)的,Avalon主/從端口的每一個(gè)信號(hào)必定屬于某類的Avalon信號(hào)類型。一個(gè)Avalon端口每一種信號(hào)類型只能有一個(gè)信號(hào)實(shí)例。 根據(jù)端口的屬性,可以將Avalon信號(hào)類型分為主信號(hào)或者從信號(hào)。有些信號(hào)在主端口和從端口的接口上都存在,但是信號(hào)的行為是不相同的。,Avalon信號(hào),下圖給出了一個(gè)16位的通用I/O輸出外設(shè),這個(gè)簡(jiǎn)單的Avalon外設(shè)只需響應(yīng)接收數(shù)據(jù)的傳輸請(qǐng)求。因此該外設(shè)只使用了寫傳輸?shù)男盘?hào),而沒有讀傳
15、輸?shù)男盘?hào)。,Avalon信號(hào),一、信號(hào)類型的完整列表 構(gòu)成從端口和主端口的接口的信號(hào)類型中每一類型的信號(hào)的說明包括: 信號(hào)類型; 信號(hào)可能的寬度; 信號(hào)的方向(從外設(shè)的角度看); 該信號(hào)在端口上是否必不可少(必需性); 各種類型的信號(hào)的功能和特殊的使用要求的簡(jiǎn)單描述。,Avalon從端口信號(hào)類型(1),Avalon從端口信號(hào)類型(2),Avalon信號(hào),在Avalon接口規(guī)范中,Avalon從端口沒有任何信號(hào)是必須要有的,而Avalon主端口上必須要有三個(gè)信號(hào):clk,address和waitrequest.,Avalon信號(hào),二、信號(hào)極性 表中的信號(hào)類型都是高電平有效。Avalon接口也提供
16、每個(gè)信號(hào)類型的低電平有效的版本,在信號(hào)類型名后添加 _n 來表示。例如irq_n、read_n等。這對(duì)和那些低電平有效的片外邏輯相接時(shí)非常有用。,Avalon信號(hào),三、信號(hào)命名規(guī)則 Avalon接口規(guī)范沒有對(duì)Avalon外設(shè)上的信號(hào)指定命名的規(guī)則,Avalon外設(shè)上的信號(hào)的名字可以與信號(hào)類型名相同,或者也遵循系統(tǒng)級(jí)的命名規(guī)則。 在本章中,討論Avalon傳輸?shù)臅r(shí)候,信號(hào)名和信號(hào)類型名是相同的。,Avalon信號(hào),四、Avalon信號(hào)時(shí)序說明 Avalon接口是一個(gè)同步的協(xié)議。每個(gè)Avalon端口都與Avalon交換架構(gòu)提供的時(shí)鐘同步。所有的傳輸都與Avalon交換架構(gòu)的時(shí)鐘同步發(fā)生,并在時(shí)鐘上
17、升沿啟動(dòng)。 對(duì)任何的同步設(shè)計(jì)來說,Avalon外設(shè)必須只響應(yīng)在時(shí)鐘上升沿達(dá)到穩(wěn)定狀態(tài)的信號(hào),并且在時(shí)鐘上升沿產(chǎn)生穩(wěn)定的輸出。,Avalon信號(hào),五、傳輸屬性 不是所有的Avalon主/從端口都使用相同的信號(hào)類型,因此不同的Avalon端口具有不同的傳輸能力。Avalon接口規(guī)范定義了一套傳輸屬性。一個(gè)特定的Avalon主/從端口可以支持一個(gè)或多個(gè)傳輸屬性,這取決于外設(shè)的設(shè)計(jì)。外設(shè)支持的傳輸屬性在設(shè)計(jì)時(shí)確定,在傳輸過程中不會(huì)改變。 Avalon接口規(guī)范定義了Avalon端口支持的如下的傳輸屬性: 等待周期:固定或可變(只對(duì)從端口); 流水線:固定或可變的延遲; 建立和保持時(shí)間(只對(duì)從端口); 突
18、發(fā); 三態(tài)。,Avalon信號(hào),基本傳輸不具有上述的傳輸屬性,所以基本傳輸提供了一個(gè)參照點(diǎn),來描述每一個(gè)屬性對(duì)端口和信號(hào)行為的影響。 使用一個(gè)特定的端口屬性會(huì)產(chǎn)生下面的影響: (1)改變特定信號(hào)的行為; (2)需要一個(gè)或多個(gè)的信號(hào)類型來實(shí)現(xiàn)該屬性。,Avalon信號(hào),Avalon端口可以同時(shí)支持多個(gè)屬性。例如,一個(gè)Avalon從端口可能支持具有可變等待周期的流水線傳輸。 一些屬性不能和其它屬性共同使用,這些限制在傳輸屬性的討論中會(huì)說明。 一個(gè)主從端口對(duì)中的主端口和從端口可以有不同的傳輸屬性。Avalon交換架構(gòu)同主/從端口通信時(shí),使用該端口指定的屬性,并且必要時(shí)要進(jìn)行從主端口到從端口的屬性轉(zhuǎn)換
19、。,從端口傳輸,一、 從端口信號(hào)詳述 對(duì)所有從端口傳輸都很重要的信號(hào) 1. address信號(hào) 2. readdata和writedata信號(hào) 3. chipselect、read和write信號(hào) 4. byteenable和writebyteenable 5. begintransfer信號(hào),從端口傳輸,二、從端口讀傳輸 1. 從端口基本讀傳輸 基本的讀傳輸是其它的Avalon讀傳輸?shù)膮⒖?,基本的讀傳輸沒有傳輸規(guī)范中的任何的傳輸屬性。從端口基本讀傳輸由Avalon交換架構(gòu)發(fā)起,從Avalon從端口傳輸一個(gè)數(shù)據(jù)單元(外設(shè)的數(shù)據(jù)端口全寬度)到Avalon交換架構(gòu)。傳輸在一個(gè)時(shí)鐘周期內(nèi)完成。,從端
20、口傳輸,從端口基本讀傳輸只適用于異步從外設(shè),如異步存儲(chǔ)器。只要外設(shè)被選中和/或地址發(fā)生了變化,外設(shè)就必須立刻返回?cái)?shù)據(jù)。readdata信號(hào)線必須在下一個(gè)時(shí)鐘上升沿之前保持穩(wěn)定。 同步外設(shè)要鎖存它們的輸入和輸出信號(hào),必須要用到等待周期和/或流水線屬性。片上的Avalon外設(shè)通常使用同步的、鎖存的接口,該接口至少需要一個(gè)周期用來捕獲地址。,從端口基本讀傳輸,從端口傳輸,2. 等待周期 等待周期延長(zhǎng)讀傳輸?shù)臅r(shí)間,允許從端口使用一個(gè)或多個(gè)的時(shí)鐘周期來捕獲地址和/或返回有效的readdata,但是等待周期會(huì)影響從端口的吞吐量。例如,一個(gè)持續(xù)的序列采用0等待周期的傳輸,可以達(dá)到最大的吞吐量一個(gè)周期一次傳輸
21、。如果傳輸采用具有一個(gè)等待周期的傳輸,最大的吞吐量為每?jī)蓚€(gè)周期一次傳輸。 從端口讀傳輸有兩種類型的等待周期:固定的和可變的。,從端口傳輸,具有一個(gè)等待周期的從端口讀傳輸時(shí)序圖,從端口傳輸,具有可變等待周期的從端口讀傳輸,(A)第一個(gè)周期在clk的上升沿開始。 (B) Avalon交換架構(gòu)發(fā)出地址和read信號(hào)。 (C) Avalon交換架構(gòu)對(duì)地址進(jìn)行譯碼,然后驅(qū)動(dòng)chipselect信號(hào)。 (D) 從端口在下一個(gè)clk的上升沿置waitrequest信號(hào)有效。 (E) Avalon交換架構(gòu)在clk的上升沿采樣waitrequest, waitrequest是有效的,所以在此時(shí)鐘沿 readda
22、ta沒被捕獲。 (F) waitrequest可能會(huì)持續(xù)一個(gè)不確定數(shù)目的周期。 (G) 從端口提供有效的readdata。 (H) 從端口置waitrequest無效。 (I) Avalon交換架構(gòu)在下一個(gè)clk的上升沿捕獲readdata,讀傳輸就此結(jié)束。下一個(gè)周期在此開始,另一次傳輸也可由此開始。,從端口傳輸,3.建立時(shí)間 一些外設(shè),如大多數(shù)常用的片外異步外設(shè),在發(fā)出read信號(hào)之前,需要地址和chipselect信號(hào)先穩(wěn)定一段時(shí)間。具有建立時(shí)間的Avalon傳輸可以滿足上述的建立時(shí)間的要求。 具有建立時(shí)間的讀傳輸所使用的信號(hào)和基本讀傳輸使用的信號(hào)相同,不同點(diǎn)只是在信號(hào)的時(shí)序。,具有建立時(shí)
23、間和固定等待周期(一個(gè)周期)的從端口讀傳輸,(A) 傳輸在clk的上升沿開始,第一個(gè)(也是唯一的)建立時(shí)間的周期在此開始。 (B) Avalon交換架構(gòu)發(fā)出有效的address和byteenable,但保持read無效。 (C) Avalon交換架構(gòu)對(duì)地址譯碼,并發(fā)出chipselect信號(hào)。 (D)建立時(shí)間的周期在 clk的上升沿結(jié)束,等待周期開始。 (E) Avalon交換架構(gòu)置read有效。 (F) clk的上升沿標(biāo)志等待周期的結(jié)束。 (G) 從端口提供有效的readdata。 (H) Avalon交換架構(gòu)在clk的上升沿捕獲readdata,傳輸就此結(jié)束。下一個(gè)周期開始,另一次傳輸也可
24、以開始。,從端口傳輸,三、從端口寫傳輸 1. 從端口基本寫傳輸 從端口基本寫傳輸是其它從端口寫傳輸?shù)幕A(chǔ),它不含Avalon接口規(guī)范允許的任何傳輸屬性。從端口基本寫傳輸由Avalon交換架構(gòu)發(fā)起,并由Avalon交換架構(gòu)到從端口傳輸一個(gè)數(shù)據(jù)單元,傳輸需要一個(gè)時(shí)鐘周期。,如果writedata的寬度大于一個(gè)字節(jié),使用byteenable來實(shí)現(xiàn)對(duì)writedata內(nèi)的特定字節(jié)進(jìn)行寫操作。如果從端口沒有使用byteenable,則所有的字節(jié)段在傳輸期間都是使能的。,從端口傳輸,(A)第一個(gè)周期在clk的上升沿開始。 (B) Avalon交換架構(gòu)發(fā)出有效的writedata、address、bytee
25、nable和write信號(hào)。 (C) Avalon交換架構(gòu)對(duì)地址譯碼,并且發(fā)送chipselect給從端口。 (D)從端口在clk的上升沿捕獲writedata、address、 write、byteenable和chipselect。寫傳輸結(jié)束。下一個(gè)周期開始,另一次傳輸也可以開始。,從端口基本寫傳輸,從端口傳輸,2. 等待周期 從端口使用等待周期來延長(zhǎng)傳輸,從端口使用一個(gè)或多個(gè)時(shí)鐘周期來捕獲address和writedata。從端口寫傳輸使用等待周期會(huì)影響從端口寫傳輸?shù)耐掏铝俊?(A) 第一個(gè)周期在clk的上升沿開始。 (B) 來自Avalon交換架構(gòu)的writedata、address、
26、byteenable和write有效。. (C) Avalon交換架構(gòu)對(duì)地址譯碼,發(fā)出chipselect。 (D) 第一個(gè)等待周期在clk的上升沿結(jié)束,所有來自Avalon交換架構(gòu)的信號(hào)保持不變。 (E) 從端口在clk的上升沿捕獲writedata、address、byteenable、write和chipselect ,寫傳輸結(jié)束。下一個(gè)周期開始,另一次傳輸也可開始。,具有固定等待周期的從端口寫傳輸,3.具有建立時(shí)間和保持時(shí)間的寫傳輸 建立和保持時(shí)間用于需要address、byteenable、writedata、和chipselect信號(hào)在write脈沖之前和/或之后保持幾個(gè)周期穩(wěn)定的
27、片外外設(shè)。具有建立和保持時(shí)間的寫傳輸所使用的信號(hào)與基本寫傳輸?shù)男盘?hào)相同。不同點(diǎn)只是信號(hào)的時(shí)序。,具有建立和保持時(shí)間的從端口寫傳輸,(A) 第一個(gè)周期在clk的上升沿開始。 (B) Avalon交換架構(gòu)發(fā)出address、byteenable和writedata信號(hào),但保持write信號(hào)無效。 (C) Avalon交換架構(gòu)對(duì)地址譯碼,然后發(fā)出chipselect信號(hào)。 (D) clk的上升沿標(biāo)志建立時(shí)間的周期結(jié)束。 (E) Avalon交換架構(gòu)置write有效。 (F) Avalon交換架構(gòu)在下一個(gè)clk的上升沿之后置write無效,保持周期開始,address、byteenable、write
28、data和chipselect保持不變。 (G) Avalon交換架構(gòu)在下一個(gè)clk的上升沿置address、byteenable、writedata和chipselect無效,寫傳輸結(jié)束。,主端口傳輸,一、主端口傳輸 對(duì)所有主端口傳輸都很重要的信號(hào): waitrequest信號(hào) address信號(hào) readdata和writedata信號(hào) read和write信號(hào) byteenable信號(hào),主端口傳輸,二、主端口基本讀傳輸 主端口基本讀傳輸是所有帶傳輸屬性Avalon主端口讀傳輸?shù)膮⒖?。基本讀傳輸不具有Avalon接口規(guī)范允許的任何傳輸屬性。 基本讀傳輸由主外設(shè)發(fā)起,從Avalon交換架構(gòu)傳
29、輸一個(gè)單位的數(shù)據(jù)到主端口。在最快的情況下,可以在一個(gè)周期內(nèi)完成。如果readdata沒準(zhǔn)備好,Avalon交換架構(gòu)發(fā)送waitrequest,暫停主端口,直到它可以發(fā)送數(shù)據(jù)。當(dāng)Avalon交換架構(gòu)使waitrequest失效,主端口捕獲數(shù)據(jù)之后,傳輸結(jié)束。,主端口傳輸,(A) 第一個(gè)周期在clk的上升沿開始。 (B) 主端口發(fā)出有效的address、byteenable和read信號(hào)。 (C) 在第一個(gè)周期內(nèi)從Avalon交換架構(gòu)返回有效的readdata (D) 主端口在下一個(gè)clk的上升沿捕獲readdata,并且置它的所有輸出無效。主端口的讀傳輸結(jié)束。另一次傳輸可在下一個(gè)周期開始。,主端
30、口基本讀傳輸,主端口傳輸,(A) 第一個(gè)周期在clk的上升沿開始。 (B) 主端口發(fā)出有效的address、byteenable和read信號(hào)。 (C) Avalon交換架構(gòu)在下一個(gè)clk的上升沿置waitrequest有效。 (D) 主端口在clk的上升沿接受waitrequest。這個(gè)周期稱為等待周期。 (E) 只要waitrequest有效,主端口保持其所有輸出不變。 (F) Avalon交換架構(gòu)返回有效的readdata。 (G) Avalon交換架構(gòu)置waitrequest無效。 (H) 主端口在下一個(gè)clk的上升沿捕獲readdata,并且置其所有的輸出無效。讀傳輸結(jié)束。另一次傳輸
31、可以在下一個(gè)周期開始。,具有等待周期的主端口讀傳輸,主端口傳輸,三、主端口基本寫傳輸 主端口基本寫傳輸是其它帶有傳輸屬性的Avalon主端口寫傳輸?shù)膮⒖肌;緦憘鬏敳痪哂蠥valon接口規(guī)范允許的任何傳輸屬性。,主端口基本寫傳輸由主外設(shè)發(fā)起。,從主端口傳輸一個(gè)單位的數(shù)據(jù)給Avalon交換架構(gòu)。,如果Avalon交換架構(gòu)不能馬上捕獲數(shù)據(jù),就發(fā)送waitrequest信號(hào),將主端口暫停。在最好的情況下,Avalon交換架構(gòu)不發(fā)送waitrequest,傳輸可以在一個(gè)周期內(nèi)完成。,在最好的情況下,Avalon交換架構(gòu)不發(fā)送waitrequest,傳輸可以在一個(gè)周期內(nèi)完成。,如果Avalon交換架構(gòu)置
32、waitrequest N 個(gè)周期有效,傳輸總共要N+ 1周期完成。Avalon交換架構(gòu)對(duì)主端口不支持超時(shí)特性。只要waitrequest有效,主端口就被暫停。,主端口傳輸,(A) 寫傳輸在clk的上升沿開始。 (B) 主端口發(fā)出有效的address、byteenable、writedata和write信號(hào)。 (C) 在clk的上升沿waitrequest是無效的,所以寫傳輸結(jié)束。另一次傳輸可以在下一個(gè)周期接著開始。,主端口基本寫傳輸,主端口傳輸,具有等待周期的主端口寫傳輸,(A) 第一個(gè)周期在clk的上升沿開始。 (B) 主端口發(fā)出有效的address、writedata和write信號(hào)。
33、(C) waitrequest在clk的上升沿被置為有效,所以該周期變成第一個(gè)等待周期。主端口保持所有的輸出不變。 (D) waitrequest在clk的上升沿再次被置為有效,所以該周期成為第二個(gè)等待周期。主端口保持所有的輸出不變。 (E) Avalon交換架構(gòu)置waitrequest無效。 (F) 在clk的上升沿waitrequest 是無效的,所以主端口置所有的輸出無效,寫傳輸結(jié)束。另一個(gè)讀或?qū)憘鬏斂梢栽谙乱粋€(gè)周期開始。,主端口傳輸,四、 等待周期,建立時(shí)間和保持時(shí)間屬性 等待周期屬性 根據(jù)規(guī)范,所有的Avalon主端口使用waitrequest信號(hào)來接受來自Avalon交換架構(gòu)的不確
34、定的等待周期。在這種情況下,實(shí)際上所有的Avalon主端口被動(dòng)地支持可變的等待周期,即主端口不支持固定的等待周期。 建立時(shí)間和保持時(shí)間屬性 根據(jù)規(guī)范,Avalon主端口不使用建立或保持時(shí)間屬性。如果一個(gè)目標(biāo)從外設(shè)有建立和/或保持時(shí)間屬性,Avalon交換架構(gòu)管理該主從端口對(duì)的信號(hào)時(shí)序的轉(zhuǎn)換。,4.6流水線傳輸屬性,Avalon流水線讀傳輸可以增加Avalon同步從外設(shè)的帶寬。 使用流水線讀傳輸,一個(gè)端口可以在上一次傳輸?shù)膔eaddata返回之前,開始新的傳輸。所以,在第一次訪問從外設(shè)時(shí)需要好幾個(gè)周期才能返回?cái)?shù)據(jù),但是此后每個(gè)周期都能返回?cái)?shù)據(jù)。 只有流水線的讀傳輸,而沒有流水線的寫傳輸,因?yàn)锳v
35、alon寫傳輸不需要由從端口返回確認(rèn)信號(hào)。,4.6流水線傳輸屬性,流水線讀傳輸?shù)某掷m(xù)時(shí)間可以分成兩個(gè)不同的階段:地址階段和數(shù)據(jù)階段。 地址階段:主端口提供地址來發(fā)起傳輸; 數(shù)據(jù)階段:從端口發(fā)送數(shù)據(jù)來完成傳輸。 一次新傳輸(或多次傳輸)的地址階段可以在前一次的數(shù)據(jù)階段結(jié)束之前開始。,地址階段的持續(xù)時(shí)間(即捕獲地址所需要的時(shí)鐘周期數(shù))決定了端口的吞吐量:長(zhǎng)的地址階段會(huì)減少吞吐量。,數(shù)據(jù)階段的持續(xù)時(shí)間,只反映了第一個(gè)數(shù)據(jù)單元需要多長(zhǎng)時(shí)間才能返回。,4.6流水線傳輸屬性,等待周期等待周期決定地址階段的長(zhǎng)短,并且限制了端口的最大吞吐量。例如如果一個(gè)從端口需要一個(gè)等待周期來響應(yīng)傳輸請(qǐng)求,則端口每一次傳輸至
36、少需要兩個(gè)周期。而沒有等待周期的Avalon從外設(shè)每個(gè)時(shí)鐘周期都可接受一次新傳輸。 流水線延遲流水線延遲決定了數(shù)據(jù)階段的長(zhǎng)短,但和地址階段無關(guān)。例如,具有流水線傳輸?shù)膹亩丝冢]有等待周期)可以支持一個(gè)周期一次傳輸,盡管可能需要幾個(gè)周期的延遲才返回第一個(gè)數(shù)據(jù)單元。流水線延遲可以是固定的或可變的。,這是等待周期和流水線延遲影響時(shí)序關(guān)鍵區(qū)別。,4.6流水線傳輸屬性,4.6.1 具有固定延遲的從端口流水線讀傳輸 Avalon流水線從端口從Avalon交換架構(gòu)捕獲地址和控制信號(hào)之后,Avalon流水線從端口需要一個(gè)或多個(gè)周期來產(chǎn)生數(shù)據(jù)。 但是,在從端口捕獲了地址之后,即使前一次傳輸還沒有返回有效的rea
37、ddata, Avalon交換架構(gòu)可以立即發(fā)起新的傳輸。 因此,流水線從端口在任何時(shí)刻都可能有多個(gè)掛起的傳輸。,4.6流水線傳輸屬性,具有固定延遲的從端口流水線傳輸使用的信號(hào)與從端口基本讀傳輸使用的信號(hào)相同,不同之處在于,地址和數(shù)據(jù)階段的信號(hào)時(shí)序。 除了readdata信號(hào),地址階段的信號(hào)的時(shí)序和順序同基本讀傳輸相同。 在地址階段,從端口可以使用等待周期。地址階段在等待周期(如果有)結(jié)束后的下一個(gè)clk上升沿結(jié)束。 從端口必須在地址階段的最后一個(gè)clk上升沿之前捕獲地址。從端口在地址階段不發(fā)出這次傳輸?shù)膔eaddata。在地址階段結(jié)束后,Avalon交換架構(gòu)可以發(fā)起一次新的傳輸。,4.6流水線
38、傳輸屬性,在數(shù)據(jù)階段,外設(shè)花費(fèi)多個(gè)時(shí)鐘周期來處理地址,然后經(jīng)過一個(gè)固定的延遲后產(chǎn)生readdata。 如果外設(shè)具有N個(gè)周期的讀延遲,從端口必須在地址階段結(jié)束后的第N個(gè)clk上升沿提供有效的readdata。數(shù)據(jù)階段及整個(gè)傳輸在地址階段結(jié)束后N個(gè)周期的clk上升沿結(jié)束。 例如,如果從端口有1個(gè)周期的讀延遲,則它會(huì)在捕獲地址之后的下一個(gè)clk上升沿提供有效的readdata。,具有固定延遲(兩個(gè)周期)的從端口流水線讀傳輸,(A) Avalon交換架構(gòu)通過提供新傳輸?shù)牡刂冯A段的chipselect、read和address信號(hào),發(fā)起一次讀傳輸。 (B) 從端口已經(jīng)置waitrequest有效,所以下
39、一個(gè)周期稱為等待周期。Avalon交換架構(gòu)保持chipselect、read和 address不變。 (C) 從端口在clk的上升沿置waitrequest無效,并且捕獲address。地址階段結(jié)束,數(shù)據(jù)階段開始。 (D) 第一個(gè)延遲周期在clk的上升沿結(jié)束。 (E) 第二個(gè)延遲周期在clk的上升沿結(jié)束。從端口提供有效的readdata,傳輸結(jié)束。這個(gè)clk的上升沿也標(biāo)志著新的讀傳輸?shù)拈_始。 (F) Avalon交換架構(gòu)發(fā)出新傳輸?shù)腶ddress、read和chipselect信號(hào)。 (G) Avalon交換架構(gòu)在下一個(gè)周期內(nèi),在前一次的傳輸?shù)臄?shù)據(jù)返回之前發(fā)起另一次的讀傳輸。 (H) Aval
40、on交換架構(gòu)在兩個(gè)延遲周期之后捕獲readdata。 (I) Avalon交換架構(gòu)在兩個(gè)延遲周期之后捕獲readdata 。,4.6流水線傳輸屬性,4.6.2 具有可變延遲的從端口流水線讀傳輸 具有可變延遲的流水線讀傳輸允許從端口經(jīng)過一個(gè)可變的數(shù)個(gè)周期延遲之后返回有效的readdata。 具有可變延遲的從端口使用額外的信號(hào)readdatavalid來表示從端口何時(shí)向Avalon交換架構(gòu)提供有效的數(shù)據(jù)。 使用了一位的輸出信號(hào)readdatavalid即意味著該端口為具有可變延遲的流水線從端口。,4.6流水線傳輸屬性,4.6.2 具有可變延遲的從端口流水線讀傳輸 可變延遲的流水線從端口讀傳輸?shù)男盘?hào)
41、時(shí)序在地址階段同具有固定延遲的流水線讀傳輸是一樣的。 在地址階段之后,具有可變延遲的流水線從端口需要任意的周期數(shù)來返回有效的readdata。當(dāng)外設(shè)準(zhǔn)備好返回?cái)?shù)據(jù),它就同時(shí)發(fā)送readdata和readdatavalid 并且保持信號(hào)不變直到下一個(gè)clk的上升沿。Avalon交換架構(gòu)在這個(gè)clk的上升沿捕獲readdata和readdatavalid,數(shù)據(jù)階段(和整個(gè)傳輸)結(jié)束。,4.6流水線傳輸屬性,從端口必須按照它接受地址的相同順序返回readdata。具有可變延遲的流水線從端口必須在地址階段結(jié)束之后至少一個(gè)周期以后才能返回readdata。 具有可變延遲的流水線從端口通常使用可變的等待周
42、期。因?yàn)椋魉€從端口只能處理有限數(shù)目的掛起傳輸。從端口通過發(fā)送waitrequest信號(hào)來暫停新的傳輸,直到掛起的傳輸數(shù)目減少為止。,(H) 由于從端口置readdatavalid有效,Avalon交換架構(gòu)在clk的上升沿捕獲data3。(注意data3需要2個(gè)延遲周期才能返回)。Avalon交換架構(gòu)發(fā)出address、read,和chipselect,外設(shè)捕獲address5。 (I) 因?yàn)閺亩丝谥胷eaddatavalid有效,Avalon交換架構(gòu)在clk的上升沿捕獲data4 。Avalon交換架構(gòu)置chipselect無效,結(jié)束傳輸?shù)年?duì)列。 (J) 因?yàn)閺亩丝谑箁eaddataval
43、id無效,Avalon交換架構(gòu)在此clk的上升沿不捕獲數(shù)據(jù)。. (K) Avalon交換架構(gòu)在clk的上升沿捕獲data5 ,完成最后的掛起的讀傳輸?shù)臄?shù)據(jù)階段。,(E) 外設(shè)驅(qū)動(dòng)有效的readdata (data1)并置readdatavalid有效,完成第一個(gè)掛起的傳輸?shù)臄?shù)據(jù)階段。外設(shè)置waitrequest無效,因?yàn)樗茉谙乱粋€(gè)clk的上升沿接受另一次掛起的傳輸。 (F) Avalon交換架構(gòu)在clk的上升沿捕獲data1。從外設(shè)在clk的上升沿捕獲address3。 (G) 因?yàn)閺亩丝谥胷eaddatavalid有效,Avalon交換架構(gòu)在clk的上升沿捕獲data2。(注意data1和
44、data2都需要4個(gè)延遲周期才能返回)。Avalon交換架構(gòu)發(fā)出address、read和chipselect,外設(shè)捕獲address4。,(A) Avalon交換架構(gòu)發(fā)出address、read和chipselect信號(hào),發(fā)起一個(gè)讀傳輸,假設(shè)這時(shí)沒有掛起的傳輸。 (B) 從端口沒置waitrequest有效,所以在此clk的上升沿捕獲address1。 (C) 從外設(shè)沒發(fā)出waitrequest,所以在此clk的上升沿捕獲address2。 (D) 從端口已達(dá)到允許掛起的傳輸數(shù)的最大值,并且沒有有效的數(shù)據(jù)可供返回。從外設(shè)在下一個(gè)clk的上升沿之前置waitrequest有效,從而使Avalo
45、n交換架構(gòu)不能繼續(xù)發(fā)出address、read和chipselect信號(hào)。從外設(shè)置waitrequest兩個(gè)周期有效,直到它能返回第一個(gè)掛起的傳輸?shù)臄?shù)據(jù)。,4.6流水線傳輸屬性,即使從外設(shè)正在處理一個(gè)或多個(gè)的掛起的讀傳輸,Avalon交換架構(gòu)也可以發(fā)起從端口的寫傳輸。如果從外設(shè)正在處理掛起的讀傳輸而不能處理寫傳輸,從端口必須發(fā)出waitrequest,將寫操作暫停,直到掛起的讀傳輸完成。 帶有可變延遲的流水線傳輸屬性的從端口的限制: (1)具有可變延遲的流水線從端口不能使用固定等待周期的屬性,只支持可變等待周期。 (2)流水線從端口不能使用建立和保持時(shí)間的屬性。 (3)具有可變延遲的流水線從端
46、口不能使用三態(tài)屬性。,4.6流水線傳輸屬性,4.6.3 主端口流水線傳輸 流水線主外設(shè)可以在它接收到前一次傳輸?shù)挠行?shù)據(jù)之前發(fā)起一次新的讀傳輸。使用1位的輸入信號(hào)readdatavalid來定義一個(gè)流水線主端口。 Avalon交換架構(gòu)發(fā)出readdatavalid信號(hào)給主端口來指示readdata信號(hào)正在提供有效的數(shù)據(jù)。 在流水線傳輸方式下,在地址階段,除了readdata信號(hào)之外,信號(hào)時(shí)序和順序與Avalon主端口基本讀傳輸是一樣的。 1、主端口必須提供read、address和byteenable,并且在waitrequest信號(hào)有效時(shí),保持這些信號(hào)不變。 2、地址階段在waitreque
47、st失效的第一個(gè)clk的上升沿結(jié)束。 3、主端口在地址階段結(jié)束之后,能夠馬上發(fā)起另一次讀傳輸或者寫傳輸。,4.6流水線傳輸屬性,Avalon交換架構(gòu)始終按照主端口請(qǐng)求的順序來返回有效的數(shù)據(jù)。 在地址階段結(jié)束后,當(dāng)Avalon交換架構(gòu)發(fā)出readdatavalid信號(hào)時(shí),有效數(shù)據(jù)返回。而對(duì)于Avalon交換架構(gòu)何時(shí)發(fā)出readdatavalid信號(hào)沒有時(shí)間的限制。 流水線主端口在任意給定的時(shí)刻可以有任意數(shù)目的掛起的讀傳輸。外設(shè)支持的掛起讀傳輸?shù)淖畲髷?shù)目由外設(shè)的設(shè)計(jì)者決定。,4.6流水線傳輸屬性,流水線主端口能夠有選擇地使用flush信號(hào),當(dāng)主外設(shè)決定它不再需要當(dāng)前掛起的讀傳輸?shù)臄?shù)據(jù)的情況下,可以
48、使用這個(gè)信號(hào)。,4.6流水線傳輸屬性,(A) 主端口提供新傳輸?shù)刂冯A段的address和read信號(hào)發(fā)起一次讀傳輸 (B) Avalon交換架構(gòu)置waitrequest有效,所以主端口等待,并再保持address和read一個(gè)周期。 (C) Avalon交換架構(gòu)置waitrequest無效,并在clk的上升沿捕獲address。此時(shí)readdatavalid無效,所以主端口不捕獲readdata。 (D) Avalon交換架構(gòu)在clk的上升沿捕獲一個(gè)新的address。readdatavalid 此時(shí)是無效的,所以主端口不捕獲readdata。 (E) Avalon交換架構(gòu)在clk的上升沿捕獲
49、address (使得掛起的傳輸數(shù)目達(dá)到3個(gè))。readdatavalid 置為有效,主端口捕獲有效的readdata (data 1)。,(F) readdatavalid無效,主端口不捕獲readdata。 (G) readdatavalid無效,主端口不捕獲readdata。 (H) readdatavalid有效,主端口捕獲有效的readdata (data 2)。 (I) 主端口提供新傳輸?shù)腶ddress和read信號(hào)。 (J) readdatavalid無效,主端口不捕獲readdata。主端口發(fā)出flush信號(hào),導(dǎo)致Avalon交換架構(gòu)清空所有的掛起的傳輸 (address 3)
50、。Avalon交換架構(gòu)捕獲新的address。 (K) readdatavalid有效, 主端口捕獲有效的readdata (data 4)。此時(shí)沒有掛起的傳輸。,4.7 流控制,Avalon流控制信號(hào)給從端口提供了調(diào)節(jié)來自主端口的傳輸?shù)臋C(jī)制,從而達(dá)到從端口指示有效數(shù)據(jù)準(zhǔn)備好了或者準(zhǔn)備好接收數(shù)據(jù)了,傳輸才開始。 在從端口方面,流控制信號(hào)使從端口在傳輸開始前先聲明其已準(zhǔn)備就緒。 在主端口方面,具有流控制信號(hào)的主端口同意信任從端口的流控制信號(hào), 并等待直到從端口準(zhǔn)備好處理傳輸。,4.7 流控制,流控制信號(hào)的作用 (1)簡(jiǎn)化邏輯設(shè)計(jì),因?yàn)橹鞫丝诓挥弥貜?fù)地查詢從端口以確定從端口是否準(zhǔn)備好傳輸。 (2)
51、減少帶寬開銷,因?yàn)閺亩丝趥鬏斨辉趶亩丝跍?zhǔn)備就緒才開始。 (3)允許從端口控制來自或去往非智能主端口的數(shù)據(jù)流,這些外設(shè)無條件地和連續(xù)不斷地發(fā)起傳輸。,4.7 流控制,流控制信號(hào)的使用前提 為了使流控制起作用,主從端口對(duì)的兩個(gè)端口都必須使用流控制。如果其中之一或全都不使用流控制,則傳輸?shù)奶幚硗瑑蓚€(gè)端口都沒有流控制時(shí)是一樣的。 例如,如果主端口不使用流控制,則從端口控制信號(hào)就不能延遲主端口的傳輸。 流控制信號(hào)的限制 限制:流控制信號(hào)不能用于Avalon三態(tài)端口。,4.7 流控制,4.7.1 具有流控制的從端口傳輸 要使用流控制,從端口使用下面的一個(gè)或多個(gè)信號(hào):readyfordata、dataava
52、ilable和endofpacket。 具有流控制的從端口就定義為使用一個(gè)或多個(gè)上述信號(hào)的從端口。 流控制屬性不會(huì)影響其它信號(hào)的順序和時(shí)序。,4.7 流控制,4.7.1.1流控制信號(hào) 1. readyfordata和dataavailable信號(hào) 從端口通過發(fā)送readyfordata來表示它已經(jīng)準(zhǔn)備好接受寫傳輸,readyfordata無效表示執(zhí)行寫傳輸將會(huì)引起數(shù)據(jù)上溢出。 從端口發(fā)送dataavailable來表示其已經(jīng)準(zhǔn)備好提供數(shù)據(jù)給讀傳輸,dataavailable無效表示讀傳輸會(huì)使數(shù)據(jù)下溢出。,4.7 流控制,在使用流控制的主從端口對(duì)中,在主端口發(fā)起一次傳輸之后,只有當(dāng)readyfo
53、rdata或dataavailable信號(hào)指示從端口已經(jīng)準(zhǔn)備好進(jìn)行這次傳輸時(shí),Avalon交換架構(gòu)才和目的從端口發(fā)起傳輸。當(dāng)從端口沒有準(zhǔn)備好時(shí),Avalon交換架構(gòu)強(qiáng)迫主端口等待。 上兩個(gè)信號(hào)中的任意一個(gè)無效時(shí),都不會(huì)阻止Avalon交換架構(gòu)發(fā)起來自不使用流控制的主端口的傳輸。因?yàn)檫@個(gè)原因,從端口必須總是準(zhǔn)備好開始一次傳輸,不管readyfordata和dataavailable的狀態(tài)如何。,4.7 流控制,2. endofpacket信號(hào) 在任何傳輸中,有流控制的從端口能夠發(fā)出endofpacket信號(hào),該信號(hào)經(jīng)由Avalon交換架構(gòu)到達(dá)主端口。 endofpacket信號(hào)的解釋是由外設(shè)設(shè)計(jì)
54、決定的,外設(shè)設(shè)計(jì)必須說明主端口應(yīng)該如何響應(yīng)endofpacket信號(hào)。 例如,endofpacket信號(hào)可被用作包的描述器,用來在一個(gè)長(zhǎng)的數(shù)據(jù)流中標(biāo)記包的開始和結(jié)束位置。 另外,endofpacket可以指示主端口應(yīng)該停止當(dāng)前傳輸?shù)男蛄小?4.7 流控制,4.7.1.2 具有流控制的從端口讀傳輸 具有流控制的從端口讀傳輸使用dataavailable和 endofpacket信號(hào)。 從端口可以在任何時(shí)刻發(fā)出dataavailable信號(hào)。當(dāng)dataavailable有效時(shí),來自具有流控制的主端口的一次新傳輸可以在下一個(gè)clk的上升沿開始。 從端口只可以在讀傳輸結(jié)束的時(shí)候,置dataavaila
55、ble無效。 如果從端口使用endofpacket信號(hào),它必須保證在其發(fā)出有效的readdata的同一個(gè)時(shí)鐘上升沿置endofpacket信號(hào)有效。,4.7 流控制,本例中,假設(shè)當(dāng)從端口置dataavailable有效的時(shí)候,具有流控制的主端口發(fā)起了一個(gè)傳輸隊(duì)列,并且主端口接下來繼續(xù)發(fā)起讀傳輸。在傳輸隊(duì)列的某個(gè)位置,從端口置dataavailable無效,使得Avalon交換架構(gòu)停止發(fā)起傳輸。稍后,從端口再次置dataavailable有效,Avalon交換架構(gòu)繼續(xù)執(zhí)行從端口的讀傳輸隊(duì)列。,具有流控制的從端口讀傳輸,4.7 流控制,(A) 傳輸在clk的上升沿開始。 (B) Avalon交換架
56、構(gòu)發(fā)出address和read信號(hào)。 (C) Avalon交換架構(gòu)對(duì)地址譯碼,并發(fā)出chipselect信號(hào)。 (D) 從端口發(fā)出有效的readdata。Avalon交換架構(gòu)在clk的上升沿捕獲readdata 。 (E) 對(duì)于chipselect和read有效的每一個(gè)周期,從端口產(chǎn)生有效的readdata。 (本例中,address保持不變,但不是所有的設(shè)計(jì)都是如此。),具有流控制的從端口讀傳輸,4.7 流控制,(F) 從端口發(fā)出endofpacket 和有效的readdata。 (本例中,從端口在一個(gè)周期后置endofpacket無效,但不是所有的設(shè)計(jì)都是如此。) 從端口也置dataava
57、ilable無效,強(qiáng)迫Avalon交換架構(gòu)延遲接下來的來自主端口的具有流控制的讀傳輸。 (G) Avalon交換架構(gòu)置address、read和chipselect無效以響應(yīng)dataavailable。 (H) 一段時(shí)間之后,從端口置dataavailable有效。,具有流控制的從端口讀傳輸,4.7 流控制,(I) 為了響應(yīng)dataavailable,并且主端口仍在等待傳輸數(shù)據(jù),Avalon交換架構(gòu)開始一次新傳輸,重新發(fā)出address、read和chipselect。 (J) Avalon交換架構(gòu)在clk的上升沿捕獲data4。 (K) 從端口在chipselect和read有效的每一個(gè)周期
58、發(fā)出有效的readdata。 (L) Avalon交換架構(gòu)置read和chipselect無效,結(jié)束傳輸隊(duì)列。 (M) 本例中,dataavailable保持有效,意味著Avalon交換架構(gòu)在任何時(shí)候都可以開始另一次讀傳輸。,具有流控制的從端口讀傳輸,4.7 流控制,4.7.1.3. 具有流控制的從端口寫傳輸 具有流控制的從端口寫傳輸使用readyfordata和endofpacket信號(hào)。 從端口可以在任何時(shí)刻,將readyfordata由低電平置為高電平有效。當(dāng)readyfordata有效時(shí), 在下一個(gè)clk的上升沿,來自具有流控制的主端口的傳輸開始。在寫傳輸結(jié)束時(shí),從端口必須將ready
59、fordata由高電平置為低電平, 這樣的話,該信號(hào)能立即對(duì)隨后的傳輸起作用。 如果從端口使用endofpacket信號(hào),它必須保證在其捕獲writedata的同一個(gè)時(shí)鐘上升沿endofpacket有效。,4.7 流控制,本例中,假設(shè)當(dāng)從端口置readyfordata有效時(shí),具有流控制的主端口已經(jīng)發(fā)起了一個(gè)傳輸隊(duì)列,并且接下來主端口繼續(xù)發(fā)起寫傳輸。 在傳輸隊(duì)列的某處,從端口置readyfordata無效,導(dǎo)致Avalon交換架構(gòu)停止發(fā)起來自主端口的傳輸。稍后,從端口再次置readyfordata有效,Avalon交換架構(gòu)繼續(xù)從端口的寫傳輸隊(duì)列。本例中,數(shù)據(jù)寫入一個(gè)固定的從端口地址,這是I/O外設(shè)常見情況。,具有流控制的從端口寫傳輸,4.7 流控制,(A) 在clk的上升
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年激光防風(fēng)打火機(jī)行業(yè)深度研究分析報(bào)告
- 黑蠟行業(yè)深度研究報(bào)告
- 除鐵器項(xiàng)目可行性研究報(bào)告
- 2025年冷柜箱殼行業(yè)深度研究分析報(bào)告-20241226-183601
- 未來在線教育的趨勢(shì)與挑戰(zhàn)基于品牌的戰(zhàn)略規(guī)劃報(bào)告
- 2025年中國(guó)輪式滑移機(jī)行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 中國(guó)噪聲治理設(shè)備行業(yè)發(fā)展前景預(yù)測(cè)及投資規(guī)劃建議報(bào)告
- 2025-2030年中國(guó)夾袖機(jī)項(xiàng)目投資可行性研究分析報(bào)告
- 2023-2028年中國(guó)苜蓿草行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 果膠保健飲料生產(chǎn)建設(shè)項(xiàng)目節(jié)能評(píng)估報(bào)告(節(jié)能專)
- 《“白山黑水”-東北三省》示范課課件(第2課時(shí))
- 個(gè)人述職報(bào)告:職業(yè)發(fā)展與晉升規(guī)劃課件
- 心力衰竭業(yè)務(wù)學(xué)習(xí)護(hù)理課件
- 《汽車發(fā)電機(jī)》課件
- 青少年網(wǎng)絡(luò)安全教育課件
- 中藥熱奄包在消化系統(tǒng)疾病中的應(yīng)用探討
- 春節(jié)的起源歷史-古代歷法與新歲之首的關(guān)聯(lián)活動(dòng)方案
- 耳鼻喉培訓(xùn)學(xué)習(xí)課件
- 《項(xiàng)脊軒志》公開課課件【一等獎(jiǎng)】
- 《制作饅頭》課件
- 美發(fā)學(xué)徒助理職業(yè)規(guī)劃書
評(píng)論
0/150
提交評(píng)論