亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

對延時不敏感的fifo信令協(xié)議的制作方法

文檔序號:6568048閱讀:238來源:國知局
專利名稱:對延時不敏感的fifo信令協(xié)議的制作方法
技術(shù)領(lǐng)域
本發(fā)明主旨涉及用于信令和控制的協(xié)議,涉及經(jīng)由實施此類信令協(xié)議的先入先出(FIFO)存儲裝置和設備進行數(shù)據(jù)傳送。 背景技木先入先出(FIFO)存儲裝置用于涉及在不同域之間進行數(shù)據(jù)傳送的處理器和通信應 用,通常其中所述域可以不同數(shù)據(jù)速率操作。盡管數(shù)據(jù)速率在域之間不同或常常變化, 但域之間的信號可相對于同一基礎時鐘頻率而定時(即,同步),或相對于不同基礎時 鐘頻率而定時(即,異步)。在同步應用中,由FIFO提供的緩沖補償了兩個域的數(shù)據(jù)速 率的差。在異步應用中,由FIFO提供的緩沖補償了兩個域的數(shù)據(jù)速率和時鐘頻率兩者 的差。在任一情況下,緩沖均有助于避免由于在接收域無法處理數(shù)據(jù)的時間或速度下的 數(shù)據(jù)傳送帶來的數(shù)據(jù)損失,和/或避免因為接收域期望并準備好接收額外數(shù)據(jù)而發(fā)送域仍 在傳送前一數(shù)據(jù)所帶來的數(shù)據(jù)復制。然而,多數(shù)FIFO實施方案受到實施FIFO緩沖器的存儲器或寄存器的有限大小或深 度的限制。舉例來說,如果當FIFO存儲裝置已經(jīng)裝滿等待傳送到接收域中的數(shù)據(jù)宿的 數(shù)據(jù)時發(fā)送域發(fā)送更多數(shù)據(jù),那么數(shù)據(jù)仍將丟失。已開發(fā)各種技術(shù)以將關(guān)于FIFO的填 充水平和/或?qū)懭霠顟B(tài)的信息從接收域或數(shù)據(jù)宿域饋送到發(fā)送或源域。然而在此種技術(shù)中 仍需要進一步改進。發(fā)明內(nèi)容計數(shù)器跟蹤FIFO中可用的空間,且源側(cè)使用計數(shù)來控制數(shù)據(jù)傳送。為了增強傳送 控制,計數(shù)器實施于源側(cè)而FIFO實施于接收器側(cè)。計數(shù)器響應于源側(cè)上的信號,所述 信號表示用于傳送的數(shù)據(jù)的就緒狀態(tài),例如新數(shù)據(jù)已載入源側(cè)的寄存器中并可被FIFO 存儲裝置所用。因為計數(shù)器在源側(cè),所以在接收和響應此信號時不會引起任何傳播延遲 (即,當前循環(huán)內(nèi)的延遲)或延時(即, 一個或一個以上循環(huán)的延遲)。計數(shù)器還響應于 (例如)當數(shù)據(jù)從FIFO存儲裝置輸出且清出FIFO存儲裝置中的空間時發(fā)送的信號,所 述信號表示FIFO存儲裝置中的空間變?yōu)榭捎?。然而,此稍后的信號是從?shù)據(jù)宿域發(fā)送 到源域,且計數(shù)器操作經(jīng)受在域之間傳送信號中引起的任何延時。示范性方法使得可實現(xiàn)在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速
率的第二數(shù)據(jù)速率操作的數(shù)據(jù)宿域之間經(jīng)由所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝 置傳送數(shù)據(jù)。所述方法要求當源有數(shù)據(jù)準備傳送時,將數(shù)據(jù)載入所述源域中的寄存器以 使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域使用,并提供數(shù)據(jù)就緒信號。在此實例中,響應于所述數(shù) 據(jù)就緒信號而遞減維持在所述源域中的計數(shù)器中的表示所述FIFO存儲裝置中可用空間 的值。所述方法還包含基于所述數(shù)據(jù)就緒信號向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒狀態(tài)的信 號。 一旦在所述數(shù)據(jù)宿域中接收到所述數(shù)據(jù)就緒狀態(tài)的信令,就啟動所述FIFO存儲裝 置以將所述可用數(shù)據(jù)從所述源域中的寄存器載入到所述FIFO存儲裝置中。在某個時點, 將數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿,因此清出所述FIFO存儲裝置中的空間。所 述方法還要求向所述源域中的所述計數(shù)器發(fā)出清出了所述FIFO存儲裝置中的空間的信 號。響應于接收到此信令,計數(shù)器遞增表示所述FIFO存儲裝置中的可用空間的值。響 應于維持在所述源域中的所述計數(shù)器中的表示所述FIFO存儲裝置中可用的空間的值, 控制將就緒數(shù)據(jù)載入所述源域中的所述寄存器中以使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域使用。揭示兩種不同的信令技術(shù)或協(xié)議。 一種技術(shù)包含向數(shù)據(jù)宿域中的寄存器發(fā)送數(shù)據(jù)就 緒脈沖信號。盡管每一脈沖由單一循環(huán)組成,但數(shù)據(jù)宿域中的寄存器保持脈沖,并提供 連續(xù)的就緒指示,直到在將新數(shù)據(jù)載入FIFO存儲裝置中完成之后清除為止。另一揭示的技術(shù)利用"乒乓"信令。其要求將信令寄存器狀態(tài)從先前有效數(shù)據(jù)就緒 狀態(tài)改變?yōu)榻惶嬗行?shù)據(jù)就緒狀態(tài)。本質(zhì)上,寄存器在新的數(shù)據(jù)拍連續(xù)可用于傳送時輸 出在所述兩個有效數(shù)據(jù)就緒狀態(tài)之間的交替(乒乓)。數(shù)據(jù)宿側(cè)的多路復用器(MUX) 或類似物響應于兩個交替狀態(tài)之間的每一轉(zhuǎn)變而指示新數(shù)據(jù)拍就緒。數(shù)據(jù)宿側(cè)的控制元 件使用來自MUX的此數(shù)據(jù)就緒指示來控制對FIFO的輸入。用于傳送數(shù)據(jù)的方法的另一實例涵蓋在源域與數(shù)據(jù)宿域之間傳送的多個可能重疊 的循環(huán)。通常在多個時鐘循環(huán)內(nèi)發(fā)生的每一傳送循環(huán)均要求將數(shù)據(jù)從源載入所述源域 中的寄存器中;向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號;將所述數(shù)據(jù)從所述源域中的所述 寄存器載入所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置中;將數(shù)據(jù)從所述FIFO存儲 裝置輸出到數(shù)據(jù)宿裝置并在所述FIFO存儲裝置中為數(shù)據(jù)清出空間;以及向所述源域發(fā) 出數(shù)據(jù)輸出和清出所述FIFO存儲裝置中的空間的信號。響應于每次將數(shù)據(jù)載入所述源 域中的所述寄存器中,以第一方式修改(例如遞減或遞增)維持在所述源域中的計數(shù)值。 響應于每次向所述源域發(fā)出清出所述FIFO存儲裝置中的空間的信號,以相反的方式修 改(例如遞增或遞減)所述計數(shù)值。在連續(xù)的傳送循環(huán)中,控制將數(shù)據(jù)從所述源載入所 述源域中的所述寄存器中是基于所述計數(shù)器的值的當前狀態(tài)。將數(shù)據(jù)從源寄存器載入 FIFO中的步驟還可包含通過一個或一個以上中間寄存器傳送數(shù)據(jù)和就緒信號,其通常
將在從源寄存器向FIFO的傳送無法在單一時鐘循環(huán)中實際完成時進行。用于在域之間傳送數(shù)據(jù)的方法的又一實例包含許多步驟的重復,其包含將數(shù)據(jù)從 源載入所述源域中的寄存器中,并使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域使用;當所述數(shù)據(jù)宿域 中的先入先出(FIFO)存儲裝置中的空間可用時,將所述數(shù)據(jù)從所述源域中的所述寄存 器載入所述FIFO存儲裝置中;以及將數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿裝置以在 所述FIFO存儲裝置中為數(shù)據(jù)清出空間。此方法還包含維持所述源域中表示所述FIFO存 儲裝置中的可用空間的計數(shù)。響應于每次將數(shù)據(jù)載入所述源域中的所述寄存器中并響應 于從所述數(shù)據(jù)宿域發(fā)出每次清出了所述FIFO存儲裝置中的空間的信令來維護所述計 數(shù)。對于將數(shù)據(jù)載入源域中的寄存器中的步驟的每一重復,存在基于所述計數(shù)的當前狀 態(tài)控制將數(shù)據(jù)從所述源載入所述寄存器中的相關(guān)步驟。而且,在所述計數(shù)指示所述FIFO 存儲裝置充滿的情況中,所述方法允許將下一可用數(shù)據(jù)拍載入所述源域中的所述寄存器 中并保持所述數(shù)據(jù)拍,使得所述數(shù)據(jù)拍連續(xù)可被所述FIFO存儲裝置使用,以便在空間 變?yōu)榭捎脮r載入所述FIFO存儲裝置中。還揭示使用這些或類似控制和信令技術(shù)在域之間傳送數(shù)據(jù)的特定設備。此設備的實 例可能包含源域中的讀取數(shù)據(jù)寄存器,其用于從源接收數(shù)據(jù)并提供所接收數(shù)據(jù)以用于傳 送到所述數(shù)據(jù)宿域。數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置接收來自所述讀取數(shù)據(jù)寄 存器的數(shù)據(jù)以用于傳送到數(shù)據(jù)宿。所述設備還包含源域中的計數(shù)器。所述計數(shù)器響應于 將數(shù)據(jù)載入所述讀取數(shù)據(jù)寄存器和從所述FIFO存儲裝置卸載數(shù)據(jù)。維持在計數(shù)器中的 值表示所述FIFO存儲裝置中的可用空間。所述設備進一步包含源域中的控制裝置,其 用于控制響應于所述計數(shù)值而將數(shù)據(jù)載入所述讀取數(shù)據(jù)寄存器中用于傳送到所述數(shù)據(jù) 宿域。在一個方面中, 一旦所述計數(shù)器中的計數(shù)值指示所述FIFO存儲裝置充滿,那么所 述控制器就允許將下一可用數(shù)據(jù)拍載入所述讀取數(shù)據(jù)寄存器中。讀取數(shù)據(jù)寄存器保持所 述數(shù)據(jù)拍,使得所述數(shù)據(jù)拍連續(xù)提供到所述FIFO存儲裝置,以便在空間變?yōu)榭捎脮r載 入所述FIFO存儲裝置中。在另一方面中,所述設備包含信令裝置,其用于在讀取數(shù)據(jù)寄存器中的數(shù)據(jù)用于傳 送到FIFO存儲裝置時向數(shù)據(jù)宿域發(fā)出信號以控制FIFO存儲裝置的數(shù)據(jù)接收。揭示適當 信令技術(shù)的若干實例。在隨后的描述中將部分陳述目的、優(yōu)點和新穎特征,且所屬領(lǐng)域的技術(shù)人員在檢視 以下內(nèi)容和附圖之后或可通過實例的產(chǎn)生或操作而了解所述目的、優(yōu)點和新穎特征的一 部分。通過實踐或使用所附權(quán)利要求書中特定指出的方法、手段和組合,可實現(xiàn)和獲得
本發(fā)明教示的目的和優(yōu)點。


附式根據(jù)本發(fā)明教示,僅通過實例而不是限制來描繪一個或一個以上實施方 案。圖式中,相同參考標號指代相同或類似元件。圖1是在域之間經(jīng)由先入先出(FIFO)緩沖器傳送數(shù)據(jù)的元件以及用于信令和控制 數(shù)據(jù)交換的元件的功能框圖。圖2(A)到2(C)是用于理解圖1系統(tǒng)中的數(shù)據(jù)交換的時序圖。圖3是在域之間經(jīng)由先入先出(FIFO)緩沖器傳送數(shù)據(jù)的元件以及稍微不同的一組 用于信令和控制數(shù)據(jù)交換的元件的功能框圖。圖4(A)和4(B)是用于理解圖3系統(tǒng)中的數(shù)據(jù)交換的時序圖。
具體實施方式
在以下具體實施方式
中,借助于實例陳述許多具體細節(jié)以便提供對相關(guān)教示的詳盡 理解。然而,所屬領(lǐng)域的技術(shù)人員應了解,可在沒有這些細節(jié)的情況下實踐本發(fā)明的教 示。在其它實例中,以相對高的層次描述而不是詳細描述眾所周知的方法、程序、組件 和電路,以便避免不必要地使本發(fā)明教示的各方面模糊。本文揭示的技術(shù)涉及用于有關(guān)向先入先出(FIFO)存儲裝置傳送和從FIFO存儲裝 置傳送數(shù)據(jù)的信令和控制的協(xié)議,以及使用這些協(xié)議的設備?,F(xiàn)詳細參考附圖中說明且 下文論述的實例。圖1說明實施有關(guān)FIFO的信令協(xié)議的系統(tǒng)的第一實例。所說明的系統(tǒng)包含兩個不同域中的元件,所述兩個域為期望發(fā)送數(shù)據(jù)的源域11和 希望接收數(shù)據(jù)的數(shù)據(jù)宿域13。本質(zhì)上,由數(shù)據(jù)源15 —般表示的域11中的元件具有可用 數(shù)據(jù),且由數(shù)據(jù)宿17 —般表示的域13中的元件需要接收所述數(shù)據(jù)以用于進一步處理、 存儲等。所述兩個域通過由虛線D-D表示的域邊界而分隔。兩個域可為由一邊界區(qū)分隔的單 一半導體芯片的不同區(qū),例如一處理器芯片的不同核心部分。不同域也可為不同的芯片, 或經(jīng)由布線、通過一系列一個或一個以上寄存器或其它接口裝置連接的不同裝置,或經(jīng) 由局域網(wǎng)或廣域網(wǎng)通信的兩個單獨系統(tǒng)。兩個域中電路的操作可相對于同一基礎時鐘頻 率而定時(即,同步),或相對于不同基礎時鐘頻率而定時(即,異步)。為了便于論述,假定兩個域同步且表示越過邊界直接連接在一起的緊密靠近的元 件,例如一處理器芯片的越過芯片邊界區(qū)互連或耦合在一起的兩個區(qū)段。所述兩個區(qū)段 的分隔可為物理的,例如芯片的兩個單獨部分或區(qū)域,或該分隔可為純邏輯的,即只是 處于以第一域的數(shù)據(jù)速率操作的組件與以第二域的數(shù)據(jù)速率操作的組件之間。因此,兩個域的數(shù)據(jù)速率不同。源域11中的元件以一個數(shù)據(jù)速率操作,而數(shù)據(jù)宿 域13中的元件以另一略微不同的數(shù)據(jù)速率操作。數(shù)據(jù)宿域13的數(shù)據(jù)速率且因此數(shù)據(jù)宿 裝置17可能慢于或快于域11中的源15的數(shù)據(jù)速率。而且,數(shù)據(jù)速率且因此數(shù)據(jù)速率 的差可隨時間變化,例如隨著源15和數(shù)據(jù)宿17的處理操作變化而變化。在示范性時序 圖(圖2 (A)到2 (C))中,數(shù)據(jù)宿數(shù)據(jù)速率略微慢于源數(shù)據(jù)速率。盡管在實例中時鐘 速率相同,但使用所屬領(lǐng)域的技術(shù)人員已知的技術(shù),當時鐘不同時仍可獲得益處。參看圖1,為了補償越過邊界D-D的域11與13的數(shù)據(jù)速率差,數(shù)據(jù)宿域13包含 先入先出(FIFO)存儲裝置19,其本質(zhì)上用于緩沖從源域11接收的數(shù)據(jù)。該緩沖補償 了兩個域11與13的數(shù)據(jù)速率的差,避免由于在接收域無法處理數(shù)據(jù)的時間或速度時的 數(shù)據(jù)傳送帶來的數(shù)據(jù)損失,和/或避免因為接收域13期望并準備好接收額外數(shù)據(jù)而發(fā)送 域11仍在傳送前一數(shù)據(jù)所帶來的數(shù)據(jù)復制。可在各種各樣的物理結(jié)構(gòu)(例如,寄存器或存儲器)中的任一者中實施FIFO存儲 裝置19。為了論述目的,方便地將FIF0 19考慮為接收到的數(shù)據(jù)移動穿過的寄存器系列 或堆棧。然而,F(xiàn)IFO裝置常常利用存儲器并通過適當操縱在讀取和寫入操作期間使用 的存儲器尋址來提供先入先出操作。當將新的一拍數(shù)據(jù)(在此實例中為128字節(jié))載入 或?qū)懭隖IFO存儲裝置19時填充一個寄存器或位置。當將一拍數(shù)據(jù)從FIFO存儲裝置19 卸載或讀出到數(shù)據(jù)宿17時清出一個寄存器或位置。在源或發(fā)送側(cè)11,數(shù)據(jù)源15將一拍數(shù)據(jù)(在此實例中為128位的數(shù)據(jù))供應到寄 存器21(有時稱為讀取數(shù)據(jù)寄存器)。在實例中,將寄存器21指定為讀取數(shù)據(jù)(ReadData) 寄存器。ReadData寄存器21保持所述128位的數(shù)據(jù)并在線上提供所述數(shù)據(jù)位以用于將 數(shù)據(jù)越過邊界D-D傳送到FIFO存儲裝置19的輸入。盡管圖中未圖示,但在讀取數(shù)據(jù) 寄存器之后和FIFO之前可存在額外的邏輯。當寄存器21保持新的一拍(128字節(jié))數(shù) 據(jù)時,數(shù)據(jù)在線上到被FIFO存儲裝置19的輸入使用。然而,當新的一拍數(shù)據(jù)第一次載 入寄存器21中時,在數(shù)據(jù)出現(xiàn)于數(shù)據(jù)宿域13中的FIFO存儲裝置19的輸入處之前存在 一些傳播延遲。FIFO控制裝置23控制到達和通過ReadData寄存器21的數(shù)據(jù)流。FIFO控制裝置 23是有限狀態(tài)機。所述狀態(tài)機可實施為可編程處理器,但通常由用于響應于特定輸入而 產(chǎn)生期望輸出,即為實施特定的源側(cè)控制算法的電路和/或邏輯塊形成。當源15有新數(shù) 據(jù)要發(fā)送時,如果如寄存器使用計數(shù)器25指示,F(xiàn)IFO存儲裝置19中存在可用于最后 一拍數(shù)據(jù)的空間,那么FIFO控制裝置23促使ReadData寄存器21提供新數(shù)據(jù)。計數(shù)器
的范圍或初始值對應于FIFO的深度。因此,控制裝置23可通過檢査計數(shù)器的狀態(tài),例 如計數(shù)是否仍不為負(無空間可用)來確定FIFO中是否存在可用空間。如下文進一步 論述,有利的是計數(shù)器25是源域11中的元件。盡管圖示為一單獨元件,但計數(shù)器25 可集成為用作FIFO控制裝置23的狀態(tài)機的一部分。當FIFO控制裝置23促使ReadData寄存器21提供新數(shù)據(jù)以用于輸入到FIFO存儲 裝置19時,F(xiàn)IFO控制裝置23通過產(chǎn)生在實例中稱為讀取數(shù)據(jù)就緒(ReadDataReady) 信號的就緒脈沖來向數(shù)據(jù)宿域13發(fā)信號。此信號通常是針對單一時鐘循環(huán)宣告的脈沖, 此意味著其并非在數(shù)據(jù)由ReadData寄存器21保持可用的時間內(nèi)保持為高(或低)的狀 態(tài)信號。在數(shù)據(jù)宿域中,將ReadDataReady脈沖信號施加到在示范性圖中指定為就緒 (Rdy)寄存器的寄存器27。當寄存器27接收到就緒脈沖時,其提供一狀態(tài)信號,表示 數(shù)據(jù)準備好傳送到數(shù)據(jù)宿域13中的FIFO控制裝置29。寄存器27維持就緒狀態(tài)(保持 脈沖),直到由FIFO控制裝置29清除為止。在數(shù)據(jù)宿域13中,F(xiàn)IFO控制裝置29是另一有限狀態(tài)機。所述狀態(tài)機可實施為可 編程處理器,但通常由用于響應于特定輸入而產(chǎn)生期望輸出,即為實施特定的數(shù)據(jù)宿側(cè) 控制算法的電路和/或邏輯塊形成。FIFO控制裝置29 (例如)將"寫入"和"讀取"信 號提供到FIFO存儲裝置19以控制到達FIFO存儲裝置19的輸入(寫入)和來自FIFO 存儲裝置19的輸出(讀取)。讀取功能清出空間以接收新數(shù)據(jù)。如所提及,寄存器27 響應于來自源域控制裝置23的就緒脈沖而將就緒狀態(tài)信號提供到FIFO控制裝置29。 如果FIFO存儲裝置19中有空間可用于接收就緒數(shù)據(jù),那么控制裝置29產(chǎn)生寫入信號, 促使FIFO存儲裝置19接受來自源域11中ReadData寄存器21的數(shù)據(jù)輸入。FIFO控制 裝置29在其產(chǎn)生寫入信號時,即在其指示FIFO存儲裝置19接受來自源的一拍數(shù)據(jù)(128 位)時,對就緒狀態(tài)寄存器27定時(即,基于ReadDataReady信號的值使其更新)。如所說明,用作ReadDataReady信號的脈沖使計數(shù)器25遞減,指示FIFO存儲裝置 19中少了一個寄存器位置。在此方面,計數(shù)器25響應于同一域11中產(chǎn)生的就緒脈沖而 遞減,而對于兩個域11與13之間的信號傳送沒有任何延遲或延時。來自數(shù)據(jù)宿側(cè)FIFO 控制裝置29的讀取信號指示FIFO存儲裝置19將數(shù)據(jù)從其寄存器位置之一輸出到數(shù)據(jù) 宿17并清出裝置19中的所述位置。因此,從數(shù)據(jù)宿域13越過邊界D-D供應讀取信號 的脈沖以遞增計數(shù)器25。在控制裝置29發(fā)出讀取信號與在源域11中計數(shù)器25處的作為FIFO條目空閑(FIFO entry free)指示的相應信號的出現(xiàn)之間將存在一些延時。信令延時可能是由于穿過芯片 發(fā)送信號所需的時間。然而,在讀取信號與FIFO條目空閑之間可存在額外的狀態(tài)電路,
在圖中由延遲/時序元件28—般性表示。盡管在數(shù)據(jù)宿域13中展示,但電路28可物理 存在于所述域中的一者或兩者中。通常為一個或一個以上觸發(fā)器的額外電路確保域之間 的邊界D上的適當?shù)男盘栯娖胶蜁r序?qū)省H欢?,額外電路28將對控制裝置29發(fā)出讀 取信號與在計數(shù)器25處作為FIFO條目空閑指示的相應信號的出現(xiàn)之間的延時增加一個 或一個以上循環(huán)的延遲。盡管為了方便而未圖示,但所屬領(lǐng)域的技術(shù)人員將認識到,如 果提供這種額外電路,那么在兩個域之間的其它線(例如,ReadData線與ReadDataReady 線)上將提供類似的延遲/時序元件。計數(shù)器25將FIFO空閑空間計數(shù)供應到源域11中的FIFO控制裝置23,以供其對 越過邊界D-D傳輸新數(shù)據(jù)的確定。通過在每次數(shù)據(jù)可被FIFO 19使用時遞減計數(shù)且在每 次清出一位置時(在將數(shù)據(jù)讀出FIFO 19時)遞增計數(shù),計數(shù)器25的值跟蹤FIFO存儲 裝置19中可用或空閑的空間的量(寄存器位置的數(shù)目)。然而,因為計數(shù)器25在源域 11中,所以遞減稍微超前于ReadDataReady信號的接收以及數(shù)據(jù)宿域13中對其的響應。 在越過邊界D-D將脈沖信號傳送到寄存器27時存在某一延遲或延時。相反地,由于在 越過邊界D-D傳送讀取信號中的延遲或延時,源域11中計數(shù)器25的遞增稍微落后于或 拖后于從數(shù)據(jù)宿域13中的FIFO存儲裝置19讀取數(shù)據(jù)。當源初始具有可用于傳送到數(shù)據(jù)宿17的數(shù)據(jù)時,F(xiàn)IFO控制裝置23也響應于由數(shù) 據(jù)源15設定的一位寄存器31中的數(shù)據(jù)有效性旗標(V)。換句話說,源15設定寄存器 31中的旗標V以通知FIFO控制裝置23:存在有效的新數(shù)據(jù)可用于載入到ReadData寄 存器21中。FIFO控制裝置23將時鐘(啟用)信號提供到所述一位寄存器以用作數(shù)據(jù) 有效性旗標(V) 31。當數(shù)據(jù)成功傳送到數(shù)據(jù)宿域中的FIFO 19時,F(xiàn)IFO控制裝置23 提供時鐘(啟用)信號以裝載寄存器31,且因此提供有效性旗標(V)的狀態(tài)。在操作 中,將源有效位從寄存器31發(fā)送到源FIFO控制裝置23,以告知此FIFO控制裝置23: 數(shù)據(jù)準備好發(fā)送。當數(shù)據(jù)已發(fā)送時從寄存器31清出所述位,除非新數(shù)據(jù)同時從源15移 入。以此方式,F(xiàn)IFO控制裝置23控制寄存器31中的V旗標以允許源15在計數(shù)器25 指示存在可用于新的一拍數(shù)據(jù)的空間時設定旗標(并向ReadData寄存器21輸入新的一 拍數(shù)據(jù))。為了解圖1系統(tǒng)中的數(shù)據(jù)傳送,參看圖2(A)到2(C)中描繪的簡單時序圖考慮系統(tǒng)操 作的特定時序可能有幫助。每幅圖中的頂部行提供時鐘循環(huán)的編號,且在下一行中展示 時鐘的脈沖。在實例中,時鐘在兩個域中是相同的。第三行表示進入ReadData寄存器 21的數(shù)據(jù),且第四行表示ReadDataReady信號(信號圖中簡化為DataRdy)?,F(xiàn)考慮圖2(A)作為第一實例。在此實例中,為了簡單,F(xiàn)IFO由單一行(Fifo[O]) 組成。計數(shù)(第五行所示)表示可發(fā)送的數(shù)據(jù)拍的數(shù)目。計數(shù)以FIFO位置的數(shù)目加一 開始。此額外的拍表示可保持"運行中"的數(shù)據(jù)(ReadData寄存器中)。零的計數(shù)指示 需要從前一循環(huán)保持源數(shù)據(jù)。因此,在此一循環(huán)中不能宣告DataReady信號。由于圖2(A) 的實例僅具有一個FIFO位置,因此初始將計數(shù)設定為2。在循環(huán)2中,當數(shù)據(jù)Qo首先出現(xiàn)于ReadData寄存器21中時,F(xiàn)IFO控制裝置23 首先宣告ReadDataReady信號(DataRdy)。在下一循環(huán)中,因為其已接收ReadDataReady 信號,所以計數(shù)器將其對可用的FIFO緩沖器位置的計數(shù)遞減1。在實例中,在圖的第 五行中,計數(shù)在第三循環(huán)中降到l。為此實例的論述假定在FIFO中有空間可用。響應于循環(huán)2中的ReadDataReady信 號,F(xiàn)IFO接受第一拍數(shù)據(jù)Qo并將其移動到下一循環(huán)(即,循環(huán)3)中的行Fifo[O]。同 時在此實例中,數(shù)據(jù)宿就緒且在此循環(huán)中接受所述數(shù)據(jù)拍(圖的底部行),因此FIFO控 制裝置29宣告讀取信號(圖中倒數(shù)第二行)以允許將所述數(shù)據(jù)拍從FIFO讀出到數(shù)據(jù)宿 中。在此第一實例中,系統(tǒng)在域之間展現(xiàn)單一循環(huán)的延時。由于域之間的延時,來自FIFO 控制裝置29的讀取信號在下一 (第四)循環(huán)中到達計數(shù)器,如圖l所示的FIFO條目空 閑信號或圖2(A)中的箭頭。此信號表示從FIFO清除條目,這通常將引起計數(shù)器遞增。 然而,新的一拍數(shù)據(jù)在同一循環(huán)中也可用,如繼續(xù)的ReadDataReady信號指示。響應于 ReadDataReady信號的遞減抵消響應于讀取信號的遞增偏移,因此計數(shù)保持于1 (如計 數(shù)行中的陰影所示)。以類似方式,計數(shù)在循環(huán)11中保持于1,即只要新數(shù)據(jù)變?yōu)榭捎?且正從數(shù)據(jù)宿域中的FIFO讀取數(shù)據(jù)便保持于1。在循環(huán)10中,將最后一拍數(shù)據(jù)Qs載入ReadData寄存器,且ReadDataReady信號 (DataRdy)保持為高。然而在循環(huán)ll中,當所述數(shù)據(jù)拍移動到FIFO時,沒有新的數(shù)據(jù) 拍可用??刂蒲b置23解除宣告ReadDataReady (圖2(A)中的DataRdy)信號。在下一循 環(huán)中,當來自控制裝置29的讀取信號到達計數(shù)器時,計數(shù)器遞增(沒有相應遞減的需 要,因為沒有新數(shù)據(jù)可用)。在此簡單實例中,在最后數(shù)據(jù)拍已通過FIFO移動到數(shù)據(jù)宿 之后,計數(shù)在循環(huán)12中返回直到2。圖2(B)展示一類似實例的時序,其中FIFO深度為三行(位置Fifo[O]、 Fifo[l]和 Fifo[2]),且在兩個域之間的信令上存在兩個循環(huán)的延時,如額外的FIFO條目空閑行所 表示。額外的延時可能是由于在來自控制裝置29的讀取信號與計數(shù)器25的FIFO條目 空閑信號輸入之間包含額外的狀態(tài)電路28,例如觸發(fā)器。鑒于相似性,所屬領(lǐng)域的技術(shù) 人員將了解由此圖中所示的信令圖表示的操作。
圖2(C)是類似于圖2(A)的另一單一循環(huán)延時實例,然而在圖2(C)中FIFO深度為三 行(位置Fifo[O]、 Fifo[l]和Fifo[2])。而且,圖2(C)展示數(shù)據(jù)宿的讀取較慢且因此數(shù)據(jù) 移動通過FIFO的行較慢。再一次,圖的頂部行提供時鐘循環(huán)的編號,且下一行中展示 時鐘的脈沖。第三行表示進入ReadData寄存器21的數(shù)據(jù)。注意到,當在源處數(shù)據(jù)可用 且在FIFO中空間可用時,例如在循環(huán)2、 3和4中,數(shù)據(jù)在一個循環(huán)中移入ReadData 寄存器并在下一循環(huán)中從寄存器移出到FIFO。舉例來說,數(shù)據(jù)拍Qo、 Qi和Q2在寄存 器中僅駐留一個循環(huán)。然而當數(shù)據(jù)在ReadData寄存器中,但在FIFO中空間不可用時, 一數(shù)據(jù)拍在寄存器中保留兩個或兩個以上循環(huán)。在實例中,以Q3開始的數(shù)據(jù)拍在寄存 器中駐留至少兩個循環(huán)。再一次,計數(shù)(第五行所示)表示可發(fā)送的數(shù)據(jù)拍的數(shù)目。計數(shù)以FIFO位置的數(shù) 目加一開始,即對于圖2(C)的三行FIFO實例來說為4。此額外的拍表示可在ReadData 寄存器中保持"運行中"的數(shù)據(jù)。零的計數(shù)指示需要從前一循環(huán)保持源數(shù)據(jù),如寄存器 中將以Q3開始的每一數(shù)據(jù)拍保持至少兩個循環(huán)所表示。再一次,在計數(shù)為O時的循環(huán) 中不得宣告DataReady信號。如所提及,在此實例中,F(xiàn)IFO由三行組成,因此初始將第五行所示的計數(shù)設定為4。 在循環(huán)2中,當數(shù)據(jù)Q。首先出現(xiàn)在寄存器21中時,F(xiàn)IFO控制裝置23首先宣告圖的第 四行所示的ReadDataReady信號(DataRdy)。在下一循環(huán)(循環(huán)3)中,因為其已接收 來自源域控制裝置23的ReadDataReady信號,所以計數(shù)器25將其對可用的緩沖器位置 的計數(shù)遞減1。在實例中,在圖的第五行中,計數(shù)在第三循環(huán)中降到3。初始地,F(xiàn)IFO 行為空,因此第一數(shù)據(jù)拍可移入FIFO并在第三循環(huán)中直接移動到FIFO的底部行,即移 入行Fifo[O]。數(shù)據(jù)宿未準備好接收所述數(shù)據(jù),直到稍后某個時間為止(例如循環(huán)6中), 如圖的底部所示。因此,F(xiàn)ifo
將第一數(shù)據(jù)拍Qo保持幾個循環(huán)。然而在循環(huán)3中,第二數(shù)據(jù)拍Q!移入ReadData寄存器,且源側(cè)控制裝置23保持 ReadDataReady (DataRdy)信號為高。由于計數(shù)器仍未從數(shù)據(jù)宿域接收到讀取或FIFO 條目空閑信號,因此在此情況下計數(shù)器在循環(huán)4中再一次將計數(shù)遞減到值2。在實例中 此點處,F(xiàn)IFO,行中的兩行為空,因此第二數(shù)據(jù)拍可移入FIFO并在第四循環(huán)中直接移動 到FIFO的倒數(shù)第二行,即移入行Fifo[l]。數(shù)據(jù)宿仍未準備好接收數(shù)據(jù),直到稍后某個 時間為止(例如循環(huán)6中),如圖的底部所示。因此,F(xiàn)ifo[l]將第二數(shù)據(jù)拍Qi保持幾個 循環(huán)。在循環(huán)4中,第三數(shù)據(jù)拍Qi移入ReadData寄存器,且源側(cè)控制裝置23保持 ReadDataReady (DataRdy)信號為高。再一次,計數(shù)器在下一循環(huán)中仍未從數(shù)據(jù)宿域接 收到讀取或FIFO條目空閑信號,因此在此情況下在循環(huán)5中計數(shù)器將計數(shù)進一步遞減 l而到達值l。在實例中此點處,F(xiàn)IFO行中的一行為空,因此第二數(shù)據(jù)拍可在第五循環(huán) 中在行Fifo
處移入FIFO。數(shù)據(jù)宿仍未準備好接收所述數(shù)據(jù),直到稍后某個時間為止, 因此,F(xiàn)ifo[O]初始保持第三數(shù)據(jù)拍Q2。在循環(huán)5中,另一數(shù)據(jù)拍Q3移入ReadData寄存器,且源側(cè)控制裝置23保持 ReadDataReady (DataRdy)信號為高。此時,由于沒有數(shù)據(jù)移出FIFO,因此在循環(huán)6 中計數(shù)器將計數(shù)進一步遞減到值0。在實例中此點處,F(xiàn)IFO行中沒有行為空,且在 ReadData寄存器中存在數(shù)據(jù)。因此,在此循環(huán)中不宣告DataReady信號。然而,第四數(shù) 據(jù)拍Q3在ReadData寄存器中保持為"運行中"。在實例中,數(shù)據(jù)宿首先在第六循環(huán)(圖的底部行)中準備好接受數(shù)據(jù)拍,因此FIFO 控制裝置29宣告讀取信號(圖中倒數(shù)第二行)以允許將所述數(shù)據(jù)拍從Fifo
讀出到數(shù) 據(jù)宿中。在此實例中,系統(tǒng)在域之間展現(xiàn)單一循環(huán)的延時。由于域之間的延時,來自FIFO 控制裝置29的讀取信號在下一 (第七)循環(huán)中到達計數(shù)器,如圖l所示的FIFO條目空 閑信號或圖2(C)中的箭頭。此信號表示從FIFO清除條目,這引起計數(shù)器遞增回到值1。當在循環(huán)6中第一數(shù)據(jù)拍Qo移入數(shù)據(jù)宿時,在Fifo[O]中釋放空間,因此FIFO中的 其它數(shù)據(jù)在循環(huán)7中向下移動(Q移到Fifo
且Q2移動到Fifo[l])。頂部行Fifo[2]為 空且現(xiàn)可從ReadData寄存器接收下一數(shù)據(jù)拍,即在實例中此點處為拍Q3。因為拍Q3 巳移動到FIFO,所以ReadData寄存器現(xiàn)接受下一數(shù)據(jù)拍Q4。在實例中,數(shù)據(jù)宿每隔一個循環(huán)接受來自FIFO底部的數(shù)據(jù),因此類似于循環(huán)6和 7操作的操作交替,例如,使得在計數(shù)器交替遞減并接著遞增時計數(shù)在1與0之間交替。 如圖示,數(shù)據(jù)寄存器(DataRegister)保持每一新數(shù)據(jù)拍"運行中"歷時兩個連續(xù)循環(huán), 即直到FIFO中空間變?yōu)榭捎脼橹埂R源朔绞?,ReadData寄存器本質(zhì)上為額外的FIFO 行,但其在源域內(nèi)提供此功能。如上文所述,計數(shù)器25與源15—起位于域11中而不是與FIFO 19本身一起位于域 13中。這是有利的,因為對于從FIFO到源的信號來說通常存在延時,意味著源在FIFO 變?yōu)榫途w之后的某一數(shù)目的循環(huán)之前無法發(fā)送數(shù)據(jù)。在所說明實例中,計數(shù)器25不提 供FIFO 19中內(nèi)容的時間上的真實快照,因為計數(shù)器導致針對遞增的延時代價。然而, FIFO空間空信號可立即用于源FIFO控制裝置23 (無延時)。因此對于典型條件,可認 為計數(shù)器25 "吃掉"域11與13之間的必要信令的延時。這里的代價在于計數(shù)器25可能不順利,因為當實際上在FIFO存儲裝置19中存在 空間時其可能有時稱無法發(fā)送數(shù)據(jù),因為來自控制裝置29的空閑信號仍未傳播到計數(shù)
器25。然而,在所說明設計中可通過根據(jù)"空閑"信號延時來設計FIFO深度的大小, 使得可連續(xù)傳送數(shù)據(jù)來克服此情況。也可能通過控制裝置23的邏輯的適當設計或通過 將計數(shù)器大小設計為N+l (其中N為FIFO深度,例如FIFO 19中位置的數(shù)目)而能夠 在源側(cè)控制裝置23相信FIFO 19充滿時發(fā)送一個最后數(shù)據(jù)拍,來贏得少許帶寬。依靠本地計數(shù)器和FIFO的深度,源15可連續(xù)發(fā)送數(shù)據(jù)。因此,通過適當設計FIFO 的大小,可無視信號延時而進行傳送,因此,系統(tǒng)大體上"對延時不敏感"。注意到, 尤其在目的地或數(shù)據(jù)宿側(cè)沒有足夠快地汲取FIFO 19,且系統(tǒng)丟失等于延時的緩沖時, 延時可能在這里起作用??赏ㄟ^使FIFO 19較深以涵蓋汲取FIFO 19的典型數(shù)據(jù)速率來 補償此情況。因此,在典型條件中數(shù)據(jù)被連續(xù)傳送。而且,系統(tǒng)不必準確地在其遞減計數(shù)器25時從FIFO 19讀出數(shù)據(jù)。而是,用以遞 減計數(shù)器的信號可引起讀取,以便稍微較早地遞減計數(shù)器,只要時序和延時可保證在源 側(cè)可響應并轉(zhuǎn)發(fā)新數(shù)據(jù)之前數(shù)據(jù)宿側(cè)將從FIFO裝置19讀出一拍數(shù)據(jù)并為新數(shù)據(jù)清出空 間。如上文所述,通過適當設計FIFO深度的大小,可能在兩個域之間提供大體上連續(xù) 的數(shù)據(jù)傳送。出于此目的,F(xiàn)IFO深度應至少與往返行程信令延時一樣大,即,從 ReadDataReady直到在源處可見FIFO空間空(FIFO Space Empty)的循環(huán)計數(shù)。此數(shù)目 受到ReadData寄存器21與FIFO 19之間的任何介入級以及FIFO與來自數(shù)據(jù)宿的讀取 請求之間的介入延時的影響。當數(shù)據(jù)宿無法與源側(cè)發(fā)送數(shù)據(jù)一樣快地讀取數(shù)據(jù)時,F(xiàn)IFO的大小設計可能較復雜。 舉例來說,數(shù)據(jù)宿可能以數(shù)據(jù)發(fā)源的速率的一半速率來消耗數(shù)據(jù)。所增加級的數(shù)目取決 于一次性(即, 一個突發(fā))發(fā)送的數(shù)據(jù)量、往返行程信令延時以及數(shù)據(jù)宿的消耗速率。 最多將需要將FIFO大小增加突發(fā)的大小(循環(huán)計數(shù))。然而,由于在數(shù)據(jù)宿讀取數(shù)據(jù)時, 額外空間將在FIFO中可用,因此實際FIFO將稍微較小。在突發(fā)大小和突發(fā)之間的間隔 變化的情況下,確定最優(yōu)大小可能要求用各種FIFO深度進行模擬以實現(xiàn)兩個域之間期 望的連續(xù)數(shù)據(jù)傳送。將計數(shù)器初始化為FIFO存儲裝置19的大小,并在數(shù)據(jù)輸入到FIFO存儲裝置19 時遞減和從FIFO存儲裝置19輸出時遞增。因此,允許的計數(shù)值范圍對應于位置的數(shù)目 N,即FIFO存儲裝置19的深度。即使當計數(shù)器稱沒有空閑空間(0計數(shù))時,控制裝 置23將允許源將數(shù)據(jù)載入寄存器21并將額外的一組128位數(shù)據(jù)施加于FIFO輸入線。 控制裝置將供應保持在寄存器27中的ReadDataReady脈沖。有效地,寄存器21和傳送 線提供用于FIFO存儲裝置19的額外的寄存器位置。而且,此機制本質(zhì)上采用FIFO來
遮蔽(在典型情況中)源與數(shù)據(jù)宿之間的信令延時。在圖1的實例中,源側(cè)的FIFO控制裝置23提供單一脈沖作為指示新的有效數(shù)據(jù)拍 可用且準備好傳送到FIFO 19的信號。然而,代替此從源域到數(shù)據(jù)宿域的ReadDataReady 狀態(tài)的脈沖信令,概念可適合于利用其它技術(shù),例如乒乓信令方法。此乒乓信令方法在 源FIFO控制裝置與數(shù)據(jù)宿就緒(Sink Ready)邏輯之間采用兩個信號。最多這兩個信號 中的一者為真。當數(shù)據(jù)被發(fā)送通過時,宣告第一信號。在宣告第二信號時,下一數(shù)據(jù)拍 促使第一信號被清除。在宣告第一信號時,下一數(shù)據(jù)拍促使第二信號被清除,等等。數(shù) 據(jù)宿側(cè)知道在一個信號上接收數(shù)據(jù)之后査看交替信號。此方法具有的優(yōu)點在于,當在源 相信FIFO充滿后發(fā)送額外數(shù)據(jù)拍時,信號保持宣告,直到計數(shù)器遞增且另一數(shù)據(jù)拍發(fā) 送為止。因此,不需要捕捉脈沖。本質(zhì)上,當有效數(shù)據(jù)就緒且可用于傳送到FIFO時越 過指示的邊界宣告一連續(xù)信號。圖3是一系統(tǒng)的功能框圖,所述系統(tǒng)大體類似于圖1的系統(tǒng),但利用乒乓信令技術(shù)。 類似于第一實例,此第二說明系統(tǒng)包含處于兩個不同域中的元件,源域311期望發(fā)送數(shù) 據(jù)且數(shù)據(jù)宿域313希望接收數(shù)據(jù)。本質(zhì)上,由數(shù)據(jù)源315—般表示的域311中的元件有 數(shù)據(jù)可用,且由數(shù)據(jù)宿317 —般表示的域313中的元件需要接收所述數(shù)據(jù)以用于進一步 處理、存儲等。所述兩個域通過由虛線D-D表示的域邊界而分隔。再一次,兩個域可為單一半導體 芯片、不同芯片、或經(jīng)由布線、通過一系列一個或一個以上寄存器或其它接口裝置連接 的不同裝置的不同區(qū),或經(jīng)由局域網(wǎng)或廣域網(wǎng)通信的兩個單獨系統(tǒng)。如早先論述,兩個 域中電路的操作可相對于同一基礎時鐘頻率而定時(即,同步),或相對于不同基礎時 鐘頻率而定時(即,異步)。為了便于論述,再一次假定兩個域同步且表示越過邊界直接連接在一起的緊密靠近 的元件,例如一處理器芯片的越過芯片邊界區(qū)互連或耦合在一起的兩個核心區(qū)段。所述 兩個區(qū)段的分隔可為物理的,例如芯片的兩個單獨部分或區(qū)域,或該分隔可為純邏輯的, 即只是處于以第一域的數(shù)據(jù)速率操作的組件與以第二域的數(shù)據(jù)速率操作的組件之間。如前,兩個域以不同的數(shù)據(jù)速率操作。為了補償越過邊界D-D的域311與313的數(shù) 據(jù)速率差,數(shù)據(jù)宿域313包含先入先出(FIFO)存儲裝置319,其本質(zhì)上用于緩沖從源 域311接收的數(shù)據(jù)。再一次,可在各種各樣的物理結(jié)構(gòu)(例如,寄存器或存儲器)中的 任一者中實施FIFO存儲裝置。為了論述目的,方便地將FIFO 319考慮為接收到的數(shù)據(jù) 移動穿過的一系列寄存器或寄存器堆棧。當將一新的數(shù)據(jù)拍載入或?qū)懭胙b置319時填充 一個寄存器或位置,且當將一數(shù)據(jù)拍從裝置319卸載或讀出到數(shù)據(jù)宿317時清出一個寄
存器或位置。在源或發(fā)送側(cè)311上,數(shù)據(jù)源315將一數(shù)據(jù)拍(在此實例中為128位數(shù)據(jù))供應到 寄存器321 (有時稱為讀取數(shù)據(jù)寄存器)。在實例中,將寄存器321指定為讀取數(shù)據(jù) (ReadData)寄存器。ReadData寄存器321保持所述128位的數(shù)據(jù)并在線上提供所述數(shù) 據(jù)位以用于將數(shù)據(jù)越過邊界D-D傳送到FIFO存儲裝置319的輸入。盡管圖中未圖示, 但在讀取數(shù)據(jù)寄存器之后和FIFO之前可存在額外的邏輯。在寄存器321保持新的數(shù)據(jù) 拍時,數(shù)據(jù)在線上可供FIFO存儲裝置319的輸入使用。然而,當新的數(shù)據(jù)拍第一次載 入寄存器321中時,在數(shù)據(jù)出現(xiàn)于數(shù)據(jù)宿域313中FIFO存儲裝置319的輸入處之前存 在一些傳播延遲。FIFO控制裝置323控制到達和經(jīng)過ReadData寄存器321的數(shù)據(jù)流。FIFO控制裝置 323是有限狀態(tài)機,其類似于圖1中的控制裝置23,但控制裝置323的狀態(tài)機的邏輯稍 微不同,如下文論述將明了。當源315有新數(shù)據(jù)要發(fā)送時,源315設定寄存器331中的 (V)旗標,且如果如源域321中的寄存器使用計數(shù)器325指示,F(xiàn)IFO存儲裝置319中 存在可用于最后數(shù)據(jù)拍的空間,那么FIFO控制裝置323促使ReadData寄存器321提供 新數(shù)據(jù)。計數(shù)器325的初始值(且因此計數(shù)值的允許范圍)對應于FIFO 319中位置的 數(shù)目,即FIFO的深度。控制裝置323可通過檢査計數(shù)的狀態(tài)(例如查看計數(shù)是否非負) 來確定FIFO存儲裝置319中是否存在空間來接收一新的數(shù)據(jù)拍。盡管圖示為一單獨元 件,但計數(shù)器325可集成為用作FIFO控制裝置323的狀態(tài)機的一部分。當FIFO控制裝置323促使ReadData寄存器321提供新數(shù)據(jù)以用于輸入到FIFO存 儲裝置319時,F(xiàn)IFO控制裝置323再一次需要向數(shù)據(jù)宿域313發(fā)信號。然而在此情況 中,控制裝置323將ReadDataReady信號供應到源域311中的乒乓寄存器326。乒乓寄 存器326本質(zhì)上是例如使用兩個或兩個以上觸發(fā)器實施的2位寄存器。寄存器326經(jīng)控 制以具有如下三種有效狀態(tài)。O,O狀態(tài)指示仍沒有有效數(shù)據(jù)就緒。O,l狀態(tài)為指示存在數(shù) 據(jù)準備好傳送到FIFO 319的兩種可能有效狀態(tài)中的第一種。l,O狀態(tài)為指示存在數(shù)據(jù)準 備好傳送到FIFO 329的兩種可能有效狀態(tài)中的第二種。如下文論述,通過O,l與l,O狀 態(tài)之間的轉(zhuǎn)變來依次指示數(shù)據(jù)就緒狀態(tài)。注意到,控制裝置323和寄存器326經(jīng)配置以 便不產(chǎn)生1,1狀態(tài),因為所述狀態(tài)在此協(xié)議中不是有效的信令狀態(tài)。在數(shù)據(jù)變?yōu)榭捎糜趥魉蜁r,源域311中的FIFO控制裝置323提供ReadDataReady 脈沖信號以驅(qū)動乒乓寄存器326的狀態(tài)。FIFO控制裝置323還將ReadDataReady脈沖 信號供應到FIFO空間使用計數(shù)器325的遞減輸入(-)。當沒有數(shù)據(jù)可用或準備好發(fā)送 時,且計數(shù)器指示在FIFO中存在足夠的空間用于發(fā)送的最后數(shù)據(jù)時,F(xiàn)IFO控制裝置323 清出乒乓寄存器326 (成為O,O狀態(tài))。現(xiàn)假定一拍數(shù)據(jù)在當前循環(huán)中變?yōu)榭捎?,且較多 數(shù)據(jù)在稍后循環(huán)中變?yōu)榭捎谩H绻谇耙谎h(huán)中沒有數(shù)據(jù)可用,且在FIFO中存在足夠 的空間用于前一傳送,那么寄存器326處于0,0狀態(tài)。接著,ReadDataReady信號的第 一脈沖促使寄存器326改變?yōu)镺,l數(shù)據(jù)就緒狀態(tài),ReadDataReady信號的第二脈沖促使 寄存器326改變?yōu)?,0數(shù)據(jù)就緒狀態(tài),ReadDataReady信號的第三脈沖促使寄存器326 改變回到0,1數(shù)據(jù)就緒狀態(tài),等等。以此方式,ReadDataReady信號的連續(xù)脈沖促使寄 存器326在兩個有效數(shù)據(jù)就緒狀態(tài)之間交替或"乒乓",直到FIFO控制裝置323在源 315沒有新數(shù)據(jù)可用于傳送且所有先前數(shù)據(jù)已被捕捉時清出寄存器326為止。寄存器326維持每一狀態(tài),直到其從FIFO控制裝置323接收到新的脈沖信號或清 除命令。如此,每一狀態(tài)將連續(xù)出現(xiàn)在寄存器326的2位輸出線上,只要FIFO控制裝 置323不改變寄存器326的狀態(tài)便可。寄存器326的輸出線將2位有效數(shù)據(jù)狀態(tài)信息越 過邊界D-D供應到數(shù)據(jù)宿域313中的多路復用器(MUX) 327。 MUX327將狀態(tài)數(shù)據(jù)供 應到數(shù)據(jù)宿域313中的FIFO控制裝置329,且MUX操作由FIFO控制裝置329控制。 在來自數(shù)據(jù)宿域FIFO控制裝置329的控制下,MUX 327在每次其輸入上出現(xiàn)轉(zhuǎn)變時在 其輸出上提供l,直到FIFO捕獲數(shù)據(jù);即,其在每次源域311指示存在新的一拍數(shù)據(jù)或 仍存在待捕捉的舊數(shù)據(jù)準備好發(fā)送到FIFO存儲裝置19時提供1。如果MUX在其輸入 上接收到0,0狀態(tài)(沒有有效數(shù)據(jù)準備好發(fā)送),那么其總是輸出0。在數(shù)據(jù)宿域313中,F(xiàn)IFO控制裝置329是另一有限狀態(tài)機。所述狀態(tài)機類似于控 制裝置29,但狀態(tài)機的邏輯稍微不同,如下文論述將明了。 FIFO控制裝置329 (例如) 將"寫入"和"讀取"信號提供到FIFO存儲裝置319以控制到達FIFO存儲裝置319 的輸入(寫入)和來自FIFO存儲裝置319的輸出(讀取)數(shù)據(jù)。如所提及,MUX 327 響應于來自源域控制裝置323中寄存器326的每一新的乒乓狀態(tài)(指示新的一拍數(shù)據(jù)可 用于傳送)而將1信號提供到FIFO控制裝置329。如果FIFO存儲裝置319中有空間可 用于接收就緒數(shù)據(jù),那么控制裝置329產(chǎn)生寫入信號,促使FIFO存儲裝置319接收來 自源域311中的ReadData寄存器321的數(shù)據(jù)輸入??捎脝我晃恍盘枌嵤┢古倚帕畹奶娲问?。在此情況中,位的切換指示新數(shù)據(jù)的傳 遞。此方案消除了 O,O狀態(tài),用不轉(zhuǎn)變來將其代替??赏ㄟ^用互斥OR門代替圖3的MUX 來將切換轉(zhuǎn)變?yōu)槊}沖。對于存在待由FIFO捕捉的數(shù)據(jù)的每一循環(huán),無論是新數(shù)據(jù)還是 仍未捕捉的舊數(shù)據(jù),互斥OR的輸出都將為真。如在早先的實例中,用作ReadDataReady信號的脈沖使計數(shù)器325遞減,指示FIFO 存儲裝置319中少了一個寄存器位置。在此方面,計數(shù)器325響應于同一域311中產(chǎn)生
的就緒脈沖而遞減,而對于兩個域311與313之間的信號傳送沒有任何延遲或延時。來 自數(shù)據(jù)宿側(cè)的FIFO控制裝置329的讀取信號指示FIFO存儲裝置319將數(shù)據(jù)從其寄存器 位置之一輸出到數(shù)據(jù)宿317并清出裝置319中的所述位置。因此,從數(shù)據(jù)宿域313越過 邊界D-D供應讀取信號的脈沖以遞增計數(shù)器325。在控制裝置329發(fā)出讀取信號與相應的信號在源域311中計數(shù)器325處作為FIFO 條目空閑指示出現(xiàn)之間將存在一些延時。信令延時可能是由于信令跨越芯片所需的時間 所致。然而,在讀取信號與FIFO條目空閑之間可存在額外的狀態(tài)電路,在圖中一般由 延遲/時序元件328表示。盡管在數(shù)據(jù)宿域313中展示,但電路328可實際存在于所述域 中的一者或兩者中。通常為一個或一個以上觸發(fā)器的額外電路確保越過域之間的邊界D 的適當?shù)男盘栯娖胶蜁r序?qū)省H欢?,額外電路328將給控制裝置329宣告讀取信號與 相應的信號在計數(shù)器325處作為FIFO條目空閑指示出現(xiàn)之間的延時增加一個或一個以 上延遲循環(huán)。盡管為了方便而未圖示,但所屬領(lǐng)域的技術(shù)人員將認識到,如果提供這種 額外電路,那么在兩個域之間的其它線(例如,ReadData線與ReadDataReady線)上將 提供類似的延遲/時序元件。計數(shù)器325將FIFO空閑空間計數(shù)供應到源域311中的FIFO控制裝置323,以供其 用于確定越過邊界D-D傳輸新數(shù)據(jù)。通過在每次數(shù)據(jù)可用于FIFO 319時遞減計數(shù)且在 每次清出一位置時(在將數(shù)據(jù)讀出FIFO 319時)遞增計數(shù),計數(shù)器325的值跟蹤FIFO 存儲裝置319中可用或空閑空間的量(寄存器位置的數(shù)目)。然而,因為計數(shù)器325在 源域311中,所以遞減稍微超前于對來自寄存器326的狀態(tài)信息的接收以及數(shù)據(jù)宿域313 中對其的響應。在越過邊界D-D將2位狀態(tài)信息傳送到MUX 327時存在某一延遲或延 時。相反地,由于在越過邊界D-D傳送讀取信號中有延遲或延時,源域311中計數(shù)器 325的遞增稍微落后于或拖后于從數(shù)據(jù)宿域313中的FIFO存儲裝置319讀取數(shù)據(jù)。當源初始具有可用于傳送到數(shù)據(jù)宿317的數(shù)據(jù)時,F(xiàn)IFO控制裝置323也響應于由 數(shù)據(jù)源315設定的一位寄存器331中的數(shù)據(jù)有效性旗標(V)。換句話說,源315設定寄 存器331中的旗標V以通知FIFO控制裝置323存在有效的新數(shù)據(jù)可用于載入到 ReadData寄存器321中。FIFO控制裝置323將一時鐘(啟用)信號提供到所述一位寄 存器以用作數(shù)據(jù)有效性旗標(V)31。當數(shù)據(jù)成功傳送到數(shù)據(jù)宿域中的FIFO 319時,F(xiàn)IFO 控制裝置323提供一時鐘(啟用)信號以裝載寄存器331,且因此提供有效性旗標(V) 的狀態(tài)。在操作中,將源有效位從寄存器331發(fā)送到源FIFO控制裝置323,以告知此 FIFO控制裝置323數(shù)據(jù)準備好發(fā)送。當數(shù)據(jù)已發(fā)送時從寄存器331清出所述位,除非 新數(shù)據(jù)同時從源315移入。以此方式,F(xiàn)IFO控制裝置323控制寄存器331中的V旗標
以允許源315在計數(shù)器325指示存在可用于新的一拍數(shù)據(jù)的空間時設定旗標(并向 ReadData寄存器321輸入新的一拍數(shù)據(jù))。圖4(A)和4(B)是圖3系統(tǒng)的操作的簡單實例的時序圖。 一般地,這些實例類似于上 文相對于圖2(A)和2(Q所論述的實例,但這里來自源域的讀取數(shù)據(jù)就緒的信令采用如圖 4(A)和4(B)的第四和第五行所示的"乒"和"乓"信號的形式。如圖所示,向兩個有效 乒乓狀態(tài)之一 (向O,l或l,O)的每一轉(zhuǎn)變發(fā)出寄存器中數(shù)據(jù)就緒的信號。在這些實例中,計數(shù)再一次表示可發(fā)送的數(shù)據(jù)拍的數(shù)目,且計數(shù)以FIFO位置的數(shù) 目加一開始(參見這些圖中每一圖中的第五行)。此額外的拍表示可在源域中的ReadData 寄存器中保持"運行中"的數(shù)據(jù)。零的計數(shù)指示需要從前一循環(huán)保持源數(shù)據(jù)。因此,在 乒乓協(xié)議實例中,在此一循環(huán)中一定不會發(fā)生狀態(tài)改變。如上文所述,計數(shù)器325與源315 —起位于域311中而不是與FIFO 319本身一起位 于域313中。如上文論述和圖3所示,第二實例類似地依賴于源域中的計數(shù)器325以跟 蹤FIFO存儲裝置319中空間的使用。與第一實例幾乎相同,計數(shù)器有效地"吃掉"域 311與313之間的信令的延時。數(shù)據(jù)在可用時經(jīng)由寄存器321立即被施加,且在該處保 持可用于FIFO,直到讀入FIFO為止,其本質(zhì)上為FIFO寄存器堆棧提供一額外的存儲 位置。計數(shù)器325導致針對遞增的延時代價,但可立即用于源側(cè)。這里的代價在于計數(shù)器325可能不順利,因為當實際上在FIFO存儲裝置319中存 在空間時其可能有時稱無法發(fā)送數(shù)據(jù),因為空閑信號仍未傳播到計數(shù)器325。可通過根 據(jù)"空閑"信號延時來設計FIFO深度的大小,使得可連續(xù)傳送數(shù)據(jù)來克服此情況。也 可能通過邏輯323的適當設計或通過將計數(shù)器大小設定為N+l (其中N為FIFO深度, 例如FIFO 319中位置的數(shù)目)而能夠在源由于其他原因相信FIFO充滿時經(jīng)由寄存器321 發(fā)送一個最后數(shù)據(jù)拍,來贏得少許帶寬。依靠本地計數(shù)器和FIFO的深度,源315可連續(xù)發(fā)送數(shù)據(jù)。因此,通過適當設定FIFO 319的大小,可無視信號延時而進行傳送,且處理大體上"對延時不敏感"。注意到,尤 其在目的地沒有足夠快地汲取FIFO 319且丟失等于延時的緩沖時,延時可能在這里起 作用??赏ㄟ^使FIFO 319較深以涵蓋汲取FIFO 319的典型數(shù)據(jù)速率來補償此情況。因 此,在典型條件中數(shù)據(jù)被連續(xù)傳送。用以實現(xiàn)域之間大體上連續(xù)的數(shù)據(jù)傳送的FIFO深 度將類似于上文相對于圖1的實例論述的FIFO深度。而且,系統(tǒng)不必準確地在其遞減計數(shù)器325時從FIFO 319讀出數(shù)據(jù)。而是,用以 遞減計數(shù)器的信號可引起讀取,以便稍微較早地遞減計數(shù)器,只要時序和延時可保證在 源側(cè)可響應并轉(zhuǎn)發(fā)新數(shù)據(jù)之前數(shù)據(jù)宿側(cè)將從FIFO裝置319讀出一拍數(shù)據(jù)并為新數(shù)據(jù)清
出空間便可。第二實例的這些優(yōu)點大體上類似于第一實例的優(yōu)點。然而,乒乓信令計數(shù)增加了一 些獨特益處。通過乒乓方法,當在源相信FIFO充滿之后發(fā)送額外數(shù)據(jù)拍時,信號保持 宣告,直到計數(shù)器325遞增且另一拍被發(fā)送為止。因此,不需要在數(shù)據(jù)宿側(cè)捕捉和保持 ReadDataReady脈沖。盡管上文己描述考慮的最佳模式和/或其它實例,但應了解可在其中做出各種修改, 且可以各種形式和實例實施本文揭示的主旨,且所述教示可應用于許多應用中,本文僅 描述了這些應用中的某些應用。希望由所附權(quán)利要求書來主張落在本發(fā)明教示的真實范 圍內(nèi)的任何和所有應用、修改和變更。
權(quán)利要求
1.一種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù)速率操作的數(shù)據(jù)宿域之間經(jīng)由所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置傳送數(shù)據(jù)的方法,所述方法包括(a)當源有數(shù)據(jù)準備傳送時,將所述就緒數(shù)據(jù)載入所述源域中的寄存器以使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域使用,并提供數(shù)據(jù)就緒信號;(b)響應于所述數(shù)據(jù)就緒信號遞減所述源域中的計數(shù)器中表示所述FIFO存儲裝置中可用空間的值;(c)基于所述數(shù)據(jù)就緒信號向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒狀態(tài)的信號;(d)一旦在所述數(shù)據(jù)宿域中接收到所述數(shù)據(jù)就緒狀態(tài)的所述信令,就啟動所述FIFO存儲裝置以將所述可用數(shù)據(jù)從所述源域中的所述寄存器載入到所述FIFO存儲裝置中;(e)將數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿以清出所述FIFO存儲裝置中的空間;(f)向所述源域中的所述計數(shù)器發(fā)出清出了所述FIFO存儲裝置中的空間的信號;(g)響應于在所述計數(shù)器處接收到清出了所述FIFO存儲裝置中的空間的所述信令,遞增表示所述源域中的所述計數(shù)器中表示所述FIFO存儲裝置中可用空間的所述值;以及(h)響應于所述源域中的所述計數(shù)器中表示所述FIFO存儲裝置中可用空間的所述值,控制將就緒數(shù)據(jù)載入所述源域中的所述寄存器中以使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域使用并提供數(shù)據(jù)就緒信號的后續(xù)步驟。
2. 根據(jù)權(quán)利要求1所述的方法,其進一步包括重復循環(huán)通過步驟(a)到(d);以及 重復循環(huán)通過步驟(e)到(g);以及根據(jù)所述源域中的所述計數(shù)器中表示所述FIFO存儲裝置中可用空間的所述值的 當前狀態(tài),控制將就緒數(shù)據(jù)載入所述源域中的所述寄存器的每一循環(huán)。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述重復循環(huán)和在載入就緒數(shù)據(jù)的每一循環(huán)期間 進行控制使得能夠在所述源域與所述數(shù)據(jù)宿域之間經(jīng)由所述數(shù)據(jù)宿域中的所述 FIFO存儲裝置大體上連續(xù)地傳送數(shù)據(jù)。
4. 根據(jù)權(quán)利要求l所述的方法,其中所述數(shù)據(jù)就緒信號包括脈沖信號的單一循環(huán);且基于所述數(shù)據(jù)就緒信號向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒狀態(tài)的信號的所述步驟(C) 包括將脈沖信號的所述單一循環(huán)傳輸?shù)剿鰯?shù)據(jù)宿域中的寄存器。
5. 根據(jù)權(quán)利要求4所述的方法,其進一步包括從所述數(shù)據(jù)宿域中的所述寄存器提供連 續(xù)就緒信號以用于控制所述FIFO,直到所述可用數(shù)據(jù)從所述源域中的所述寄存器 載入到所述FIFO存儲裝置中完成為止。
6. 根據(jù)權(quán)利要求4所述的方法,其進一步包括重復循環(huán)通過步驟(a)到(d);以及 重復循環(huán)通過步驟(e)到(g);以及根據(jù)所述源域中的所述計數(shù)器中表示所述FIFO存儲裝置中可用空間的所述值的 當前狀態(tài),控制將就緒數(shù)據(jù)載入所述源域中的所述寄存器的每一循環(huán)。
7. 根據(jù)權(quán)利要求6所述的方法,其中所述重復循環(huán)和在載入就緒數(shù)據(jù)的每一循環(huán)期間 進行控制使得能夠在所述源域與所述數(shù)據(jù)宿域之間經(jīng)由所述數(shù)據(jù)宿域中的所述 FIFO存儲裝置大體上連續(xù)地傳送數(shù)據(jù)。
8. 根據(jù)權(quán)利要求1所述的方法,其中基于所述數(shù)據(jù)就緒信號向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù) 就緒狀態(tài)的信號的所述步驟(c)包括將信令寄存器狀態(tài)從先前有效數(shù)據(jù)就緒狀態(tài)改變?yōu)榻惶嬗行?shù)據(jù)就緒狀態(tài);以及 將所述交替有效數(shù)據(jù)就緒狀態(tài)從所述源域用信號發(fā)出到所述數(shù)據(jù)宿域。
9. 根據(jù)權(quán)利要求8所述的方法,其進一步包括-重復循環(huán)通過步驟(a)到(g),其中所述重復循環(huán)通過步驟(c)促使交替地用 信號將所述有效數(shù)據(jù)狀態(tài)發(fā)出到所述數(shù)據(jù)宿域;以及根據(jù)所述源域中的所述計數(shù)器中表示所述FIFO存儲裝置中可用空間的所述值的 當前狀態(tài),控制將就緒數(shù)據(jù)載入所述源域中的所述寄存器的每一循環(huán)。
10. 根據(jù)權(quán)利要求9所述的方法,其中所述重復循環(huán)和在載入就緒數(shù)據(jù)的每一循環(huán)期間 進行控制使得能夠在所述源域與所述數(shù)據(jù)宿域之間經(jīng)由所述數(shù)據(jù)宿域中的所述 FIFO存儲裝置大體上連續(xù)地傳送數(shù)據(jù)。
11. 一種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù) 速率操作的數(shù)據(jù)宿域之間傳送數(shù)據(jù)的方法,所述方法包括(a)在多個循環(huán)期間,大體上連續(xù)地(1)將數(shù)據(jù)從源載入所述源域中的寄存器中;(2) 向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號;(3) 將所述數(shù)據(jù)從所述源域中的所述寄存器載入所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置中;(4) 將數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿裝置以在所述FIFO存儲裝置 中為數(shù)據(jù)清出空間;以及(5) 向所述源域發(fā)出清出了所述FIFO存儲裝置中的空間的信號;(b) 響應于每次將數(shù)據(jù)載入所述源域中的所述寄存器中,以第一方式修改所述源 域中的計數(shù)值;(c) 響應于每次向所述源域發(fā)出清出了所述FIFO存儲裝置中的空間的信號,以 與所述第一方式相反的第二方式修改所述源域中的所述計數(shù)值;以及(d) 在步驟(a)的每一循環(huán)中,基于與所述FIFO存儲裝置的深度有關(guān)的所述計 數(shù)值的當前狀態(tài)來控制所述將數(shù)據(jù)從所述源載入所述源域中的所述寄存器中。
12. 根據(jù)權(quán)利要求ll所述的方法,其中-每次向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號包括將數(shù)據(jù)就緒脈沖信號的單一循環(huán)從所述源域傳輸?shù)剿鰯?shù)據(jù)宿域;且以第一方式修改所述源域中的所述計數(shù)值的每一步驟是響應于所述源域中所述數(shù)據(jù)就緒脈沖信號的單一循環(huán)的起始。
13. 根據(jù)權(quán)利要求11所述的方法,其中每次向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號包括在兩個交替有效數(shù)據(jù)狀態(tài)之間改變;以及將所述兩個交替有效數(shù)據(jù)狀態(tài)中的當前一者從所述源域發(fā)出到所述數(shù)據(jù)宿域。
14. 根據(jù)權(quán)利要求11所述的方法,其中所述計數(shù)值的許可范圍對應于所述FIFO存儲裝置的深度, 所述以所述第一方式修改所述源域中的所述計數(shù)包括遞減所述計數(shù)值;且 所述以所述第二方式修改所述源域中的所述計數(shù)包括遞增所述計數(shù)值。
15. 根據(jù)權(quán)利要求11所述的方法,其中所述以所述第二方式修改所述源域中的所述計 數(shù)值經(jīng)受在每次從所述數(shù)據(jù)宿域向所述源域發(fā)出清出了所述FIFO存儲裝置中的空間的信號的通信中包含的延時。
16. —種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù) 速率操作的數(shù)據(jù)宿域之間傳送數(shù)據(jù)的方法,所述方法包括(a)在多個重復中的每一重復期間(1)將數(shù)據(jù)從源載入所述源域中的寄存器中,并使所述數(shù)據(jù)可被所述數(shù)據(jù)宿域 使用;(2) 當所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置中的空間可用時,將所 述數(shù)據(jù)從所述源域中的所述寄存器載入所述FIFO存儲裝置中;以及(3) 將數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿裝置以在所述FIFO存儲裝置 中為數(shù)據(jù)清出空間;(b) 響應于每次將數(shù)據(jù)載入所述源域中的所述寄存器中并響應于從所述數(shù)據(jù)宿域 發(fā)出每次清出了所述FIFO存儲裝置中的空間的信號,維護所述源域中表示所述 FIFO存儲裝置中可用空間的計數(shù);以及(c) 在步驟(a)的每一重復中,基于所述計數(shù)的當前狀態(tài)控制所述將數(shù)據(jù)從所 述源載入所述源域中的所述寄存器中,其中所述控制包含在所述計數(shù)指示所述FIFO存儲裝置滿的情況中允許將下一可用數(shù)據(jù)拍載入所述源域中的所述寄存器中并保持所述數(shù)據(jù)拍,使得所述數(shù)據(jù)拍可連 續(xù)被所述FIFO存儲裝置使用,以便在空間變?yōu)榭捎脮r載入所述FIFO存儲裝置中。
17. 根據(jù)權(quán)利要求16所述的方法,其進一步包括在每次將數(shù)據(jù)載入所述源域中的所述 寄存器中時向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號。
18. 根據(jù)權(quán)利要求17所述的方法,其中每次向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號包括 將數(shù)據(jù)就緒脈沖信號的單一循環(huán)從所述源域傳輸?shù)剿鰯?shù)據(jù)宿域。
19. 根據(jù)權(quán)利要求17所述的方法,其中每次向所述數(shù)據(jù)宿域發(fā)出數(shù)據(jù)就緒的信號包括 將向兩個交替數(shù)據(jù)有效狀態(tài)之一轉(zhuǎn)變的信號從所述源域發(fā)出到所述數(shù)據(jù)宿域。
20. —種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù)速率操作的數(shù)據(jù)宿域之間傳送數(shù)據(jù)的設備,所述設備包括 源域元件,其包含(a) 讀取數(shù)據(jù)寄存器,其用于從源接收數(shù)據(jù)并提供所接收數(shù)據(jù)以用于傳送到所 述數(shù)據(jù)宿域;(b) 控制裝置,其用于控制將數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存器并促使將 數(shù)據(jù)載入的信令傳輸?shù)剿鰯?shù)據(jù)宿域;以及(c) 計數(shù)器,其中所述控制裝置響應于所述計數(shù)器中的值的狀態(tài); 數(shù)據(jù)宿域元件,其包含(1) 與所述讀取數(shù)據(jù)寄存器通信的先入先出(FIFO)存儲裝置;(2) 控制裝置,其用于響應于接收到所述數(shù)據(jù)載入的所述信令而控制將所述數(shù) 據(jù)從所述讀取數(shù)據(jù)寄存器接受到所述FIFO存儲裝置中,用于控制在數(shù)據(jù)從所述 FIFO存儲裝置輸出到數(shù)據(jù)宿時清出所述FIFO存儲裝置中的空間,且用于促使將所述清出了空間的信令傳輸?shù)剿鲈从蛑械乃鲇嫈?shù)器;其中所述計數(shù)器響應于每次將數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存器中而以第一方 式修改所述值,且所述計數(shù)器在從所述數(shù)據(jù)宿域中的所述控制裝置接收到清出了所述FIFO存儲裝 置中空間的每一信令時,以與所述第一方式相反的第二方式修改所述值。
21. 根據(jù)權(quán)利要求20所述的設備,其進一步包括所述數(shù)據(jù)宿域中的就緒狀態(tài)寄存器, 用于從所述源域中的所述控制裝置接收脈沖信號作為所述數(shù)據(jù)載入的信令,所述脈 沖信號的每一循環(huán)均表示將新數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存器中,且用于響 應于所述脈沖信號的每一接收循環(huán)向所述數(shù)據(jù)宿域中的所述控制裝置提供數(shù)據(jù)就 緒指示。
22. 根據(jù)權(quán)利要求20所述的設備,其進一步包括所述源域中的信令寄存器,其響應于每次將數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存 器中而在兩個有效狀態(tài)之間交替;以及所述數(shù)據(jù)宿域中的多路復用器,其響應于從所述源域中的所述信令寄存器交替接 收到所述有效狀態(tài),以用于向所述數(shù)據(jù)宿域中的所述控制裝置提供數(shù)據(jù)就緒指示。
23. 根據(jù)權(quán)利要求20所述的設備,其中所述FIFO存儲裝置足夠深以使得能夠通過所 述讀取數(shù)據(jù)寄存器和所述FIFO存儲裝置將數(shù)據(jù)從所述源域大體上連續(xù)傳送到所述 數(shù)據(jù)宿域。
24. —種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù) 速率操作的數(shù)據(jù)宿域之間傳送數(shù)據(jù)的設備,所述設備包括源域元件,其包含(a) 讀取數(shù)據(jù)寄存器,其用于從源接收數(shù)據(jù)并提供所接收數(shù)據(jù)以供傳送到所述 數(shù)據(jù)宿域;(b) 控制裝置,其用于控制將數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存器并促使將 數(shù)據(jù)載入的信令傳輸?shù)剿鰯?shù)據(jù)宿域;以及(c) 計數(shù)器,其中所述控制裝置響應于所述計數(shù)器中的值的狀態(tài); 數(shù)據(jù)宿域元件,其包含-(1) 與所述讀取數(shù)據(jù)寄存器通信的先入先出(FIFO)存儲裝置;(2) 控制裝置,其用于響應于接收到所述數(shù)據(jù)載入的所述信令而控制將所述數(shù) 據(jù)從所述讀取數(shù)據(jù)寄存器接受到所述FIFO存儲裝置中,且用于控制在數(shù)據(jù)從所述FIFO存儲裝置輸出到數(shù)據(jù)宿時清出所述FIFO存儲裝置中的空間;其巾所述計數(shù)器響應于每次將數(shù)據(jù)載入所述源域中的所述寄存器中且響應于從所述 數(shù)據(jù)宿域發(fā)出每次清出了所述FIFO存儲裝置中的空間的信號以維護所述計數(shù)值作 為所述FIFO存儲裝置中可用空間的指示;且響應于所述計數(shù)器中所述計數(shù)值對所述FIFO存儲裝置滿的指示,所述控制器允 許將下一可用數(shù)據(jù)拍載入所述讀取數(shù)據(jù)寄存器中以用于保持所述數(shù)據(jù)拍,使得所述 數(shù)據(jù)拍被連續(xù)提供到所述FIFO存儲裝置,以便在空間變?yōu)榭捎脮r載入所述FIFO 存儲裝置中。
25. 根據(jù)權(quán)利要求24所述的設備,其進一步包括所述數(shù)據(jù)宿域中的就緒狀態(tài)寄存器, 其用于從所述源域中的所述控制裝置接收脈沖信號作為所述數(shù)據(jù)載入的信令,所述 脈沖信號的每一循環(huán)均表示將新數(shù)據(jù)從所述源載入所述讀取數(shù)據(jù)寄存器中,且用于 響應于所述脈沖信號的每一接收循環(huán)向所述數(shù)據(jù)宿域中的所述控制裝置提供數(shù)據(jù) 就緒指示。
26. 根據(jù)權(quán)利要求24所述的設備,其進一步包括—所述源域中的信令寄存器,其具有兩個有效數(shù)據(jù)狀態(tài),其響應于每次將數(shù)據(jù)從所 述源載入所述讀取數(shù)據(jù)寄存器中而轉(zhuǎn)變到所述兩個有效狀態(tài)之一;以及所述數(shù)據(jù)宿域中的多路復用器,其響應于從所述源域中的所述信令寄存器接收到 所述有效數(shù)據(jù)狀態(tài),以用于向所述數(shù)據(jù)宿域中的所述控制裝置提供數(shù)據(jù)就緒指示。
27. —種用于在以第一數(shù)據(jù)速率操作的源域與以不同于所述第一數(shù)據(jù)速率的第二數(shù)據(jù) 速率操作的數(shù)據(jù)宿域之間傳送數(shù)據(jù)的設備,所述設備包括-所述源域中的讀取數(shù)據(jù)寄存器,其用于從源接收數(shù)據(jù)并提供所接收數(shù)據(jù)以供傳送 到所述數(shù)據(jù)宿域;所述數(shù)據(jù)宿域中的先入先出(FIFO)存儲裝置,其用于接收來自所述讀取數(shù)據(jù) 寄存器的數(shù)據(jù)以供傳送到數(shù)據(jù)宿;所述源域中的計數(shù)器,其用于響應于將數(shù)據(jù)載入所述讀取數(shù)據(jù)寄存器和從所述 FIFO存儲裝置卸載數(shù)據(jù),維護表示所述FIFO存儲裝置中可用空間的計數(shù)值;所述源域中的控制裝置,其用于響應于與所述FIFO存儲裝置的深度有關(guān)的所述 計數(shù)值的狀態(tài)而控制將數(shù)據(jù)載入所述讀取數(shù)據(jù)寄存器中以供傳送到所述數(shù)據(jù)宿域; 以及信令裝置,其用于向所述數(shù)據(jù)宿域發(fā)出所述讀取數(shù)據(jù)寄存器中的數(shù)據(jù)準備好傳送 到所述FIFO存儲裝置的信號,以允許控制所述FIFO存儲裝置中數(shù)據(jù)的接收。
28. 根據(jù)權(quán)利要求27所述的設備,其中所述計數(shù)器和所述信令裝置的配置使所述設備 對所述源域與所述數(shù)據(jù)宿域之間交換的信令的延時大體上不敏感。
29. 根據(jù)權(quán)利要求27所述的設備,其中所述FIFO存儲裝置的深度以及所述計數(shù)器和 所述信令裝置的配置使得能夠在所述源域與所述數(shù)據(jù)宿域之間經(jīng)由所述讀取數(shù)據(jù) 寄存器和所述FIFO存儲裝置大體上連續(xù)地傳送數(shù)據(jù)。
30. 根據(jù)權(quán)利要求27所述的設備,其中如果所述計數(shù)值的所述狀態(tài)指示所述FIFO存 儲裝置滿,那么所述源域中的所述控制裝置控制將數(shù)據(jù)載入所述讀取數(shù)據(jù)寄存器, 以允許將下一可用數(shù)據(jù)拍載入所述讀取數(shù)據(jù)寄存器中以用于保持所述數(shù)據(jù)拍,使得 所述數(shù)據(jù)拍被連續(xù)提供到所述FIFO存儲裝置,以便在空間變?yōu)榭捎脮r載入所述 FIFO存儲裝置中。
全文摘要
將來自以第一數(shù)據(jù)速率操作的源域(311)的數(shù)據(jù)傳送到以不同數(shù)據(jù)速率操作的另一域(313)中的FIFO(319)。所述FIFO(319)在將數(shù)據(jù)傳送到數(shù)據(jù)宿之前緩沖數(shù)據(jù)以便進一步處理或存儲。源側(cè)計數(shù)器(325)跟蹤所述FIFO中的可用空間。在所揭示實例中,初始計數(shù)器值對應于FIFO深度。所述計數(shù)器(325)響應于來自所述源域(311)的數(shù)據(jù)就緒信號而無延遲地遞減。所述計數(shù)器(325)響應于來自所述數(shù)據(jù)宿域(313)的從所述FIFO(319)讀出數(shù)據(jù)的信令而遞增。因此,遞增經(jīng)受域之間的信令延時。所述源(315)可在所述計數(shù)器(325)指示所述FIFO(319)滿時發(fā)送又一個數(shù)據(jù)拍。從所述源連續(xù)發(fā)送最后的數(shù)據(jù)拍,直到指示FIFO位置變?yōu)榭捎脼橹?,從而有效地提供一個或一個以上FIFO位置。
文檔編號G06F13/38GK101213534SQ200680024372
公開日2008年7月2日 申請日期2006年5月8日 優(yōu)先權(quán)日2005年5月11日
發(fā)明者托馬斯·安德魯·薩托里烏斯, 杰弗里·托德·布里奇斯, 維克托·羅伯茨·奧格斯堡, 羅伯特·道格拉斯·克蘭西, 肯尼思·艾倫·多克塞爾, 詹姆斯·諾里斯·迪芬德爾費爾 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1