欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

彈性接口裝置及其方法

文檔序號:7592268閱讀:176來源:國知局
專利名稱:彈性接口裝置及其方法
技術領域
本發(fā)明通常涉及數(shù)據(jù)處理系統(tǒng),尤其是涉及在一個數(shù)據(jù)處理系統(tǒng)中動態(tài)或時鐘控制的集成電路芯片之間的接口。
背景技術
現(xiàn)代數(shù)據(jù)處理系統(tǒng)需要在這個系統(tǒng)多個芯片內包含的動態(tài)、或時鐘控制的電路之間傳送數(shù)據(jù)。例如,數(shù)據(jù)可能需要在一個多CPU系統(tǒng)的中央處理單元(CPU)之間、或者是在一個CPU和可能包含一個存儲控制器與芯片外高速緩存的存儲器系統(tǒng)之間進行傳送。數(shù)據(jù)傳送是同步的,而且期望數(shù)據(jù)在一個預定的系統(tǒng)周期內被傳送到芯片上的電路中。由于CPU速度已經(jīng)提高,而通過這個接口的延遲時間超過了系統(tǒng)時鐘周期,所以芯片間的接口速度(總線周期時間)已經(jīng)成為了限制約束條件。為了保持系統(tǒng)同步化,系統(tǒng)設計員必須降低總線的速度,以使數(shù)據(jù)到達的周期是確定的。
通過參考圖1A這可以得到進一步的理解,其中以方框圖的形式描述了在一個數(shù)據(jù)處理系統(tǒng)中的兩個集成電路芯片、芯片102和芯片104之間的一個現(xiàn)有技術接口。芯片102和104的每一個都接收一個連接到一個鎖相回路PLL 108的參考時鐘106。PLL 108產生一個鎖定到參考時鐘106的本地時鐘,在芯片102中為時鐘110而在芯片104中為時鐘111。參考時鐘106提供一個“時間零點”參考,并且取決于PLL 108的乘法,可以要求是本地時鐘110和111的多個周期。總線時鐘113由參考時鐘通過將本地時鐘110在除法器112中除以一個預定的整數(shù)N得到。從芯片102發(fā)送到芯片104的數(shù)據(jù)在分割后的本地時鐘111的一個預定沿上進行鎖存,并經(jīng)由驅動器118發(fā)送到數(shù)據(jù)線116上。數(shù)據(jù)在接收器(RX)120中被接收,并且在芯片104分割后的本地時鐘110的一個預定沿上被捕獲到目標鎖存器122里。由于芯片102和芯片104的物理分離,數(shù)據(jù)在目標鎖存器122的輸入端124出現(xiàn)時就已經(jīng)發(fā)生了延遲。(由于RX120對該延遲時間的影響一般小于由于數(shù)據(jù)傳輸對該延遲的影響。)這個時間延遲被稱為延遲時間,并且將結合圖1B作進一步論述。
相似地,芯片104經(jīng)由數(shù)據(jù)線126向芯片102傳送數(shù)據(jù)。在將本地時鐘111除以N的除法器130的輸出信號的一個預定沿上,在鎖存器128中對從芯片104發(fā)送的數(shù)據(jù)進行鎖存。這個數(shù)據(jù)經(jīng)由驅動器132被發(fā)送到數(shù)據(jù)線126上,并且經(jīng)由接收器136被捕獲到目標鎖存器134中。輸入到芯片102的數(shù)據(jù),在也將本地時鐘110除以N的除法器130的輸出的一個預定沿上,被捕獲到數(shù)據(jù)鎖存器134中。
在圖1B中,說明了一個根據(jù)現(xiàn)有技術用于圖1A的接口100的示例性時序圖。從芯片102發(fā)送到芯片104的數(shù)據(jù)115在總線時鐘113的一個上升沿t1上被鎖存到鎖存器114中??偩€時鐘113是通過將本地時鐘110在芯片102的除法器112和130中除以N產生的。在由延遲時間造成的一個延遲T1之后,數(shù)據(jù)117出現(xiàn)在目標鎖存器122的一個輸入端,并且在總線時鐘123的上升沿t2上被鎖存??偩€時鐘123是通過將本地時鐘111在芯片104的除法器112和130中除以N產生的。因此,在根據(jù)圖1B的現(xiàn)有技術中,數(shù)據(jù)125在它從芯片102發(fā)出一個總線周期之后出現(xiàn)在芯片104中。在圖1B中,總線時鐘113和總線時鐘123之間沒有偏移。
在圖1A中的接口100中,如果總線時鐘的頻率增加,則延遲時間可能超過一個總線時鐘周期。然后就可能導致圖1C所示的示例性時序圖。如前所述,數(shù)據(jù)115在總線時鐘113的邊沿t1上已經(jīng)被鎖存了。數(shù)據(jù)117在延遲時間T1之后出現(xiàn)在目標鎖存器122的輸入端124,這個延遲時間要比總線時鐘113和總線時鐘123的周期更長。數(shù)據(jù)117在芯片104的總線時鐘123的邊沿t3上被鎖存從而在芯片104上提供數(shù)據(jù)125。如果芯片102和104之間的接口100表示在一個數(shù)據(jù)處理系統(tǒng)內部芯片102和其它多個芯片之間的多個接口中有最長延遲時間的那個接口,則在圖1C所示的兩個周期延遲時間表示在芯片之間、例如芯片102和芯片104之間傳輸和捕獲數(shù)據(jù)的“目標”周期。目標周期是芯片期望數(shù)據(jù)到達的那個預定周期。根據(jù)現(xiàn)有技術,為了確保同步操作,具有一個較短延遲時間的接口可能需要被填充。這個填充確保在接口100中較快的路徑具有大于一個總線時鐘周期、而小于兩個總線時鐘周期的延遲時間,借此可以保持數(shù)據(jù)同步。
通過參考圖1D可以得到進一步的理解,其中舉例說明了芯片組101,包含芯片102、103和104。芯片102和芯片104在具有一個長延遲時間TS的“慢速”路徑152上連接。芯片103與芯片102經(jīng)由具有一個短延遲時間TF的“快速”路徑154相連。一個連接芯片組101中的芯片102-105的“標稱”路徑有延遲時間TM,例如在芯片102和芯片105之間的路徑156上的延遲時間。
圖1E中的時序圖提供了更詳細的說明。圖1E說明了一個類似于圖1C的時序圖,其中用于捕獲數(shù)據(jù)到一個接收芯片中的目標周期是兩個總線周期。在圖1E中,標稱延遲時間TM如圖所示是1.5個總線周期,快速路徑延遲時間TF是正好大于一個總線周期,且慢速路徑延遲時間TS如圖所示稍小于兩個總線周期。在這種情況下,圖1D中芯片組101的每一個都在目標周期、即數(shù)據(jù)發(fā)出之后兩個總線周期上捕獲數(shù)據(jù)。
然而,如果快速路徑較短,用快速延遲時間來說明,則數(shù)據(jù)同步化就會丟失。在這種情況下,在芯片103總線時鐘轉換t2之前數(shù)據(jù)到達芯片103,如芯片103中數(shù)據(jù)117的虛線部分所示,并且在一個總線周期之后被鎖存到芯片103中。這由芯片103中數(shù)據(jù)125的虛線部分來說明。為了恢復同步化,在芯片102和103之間的快速路徑即路徑154將會要求填充以增加快速路徑延遲時間TF。因此,這樣一種現(xiàn)有技術接口的時間安排適用于一個具體的工作范圍、一個特定的接口長度,而且僅僅對那種進行時間控制和分析設計的技術是有效的。
同樣地,增加圖1D中的這些芯片的時鐘速度將會導致同步化的喪失。這可以通過考慮一個明顯的實例來理解。首先取本地時鐘周期時間為1納秒(ns)??偩€時鐘的周期將會是該本地時鐘周期的固定倍數(shù),這個倍數(shù)將會被取為2。使這個接口標稱延遲TM為3ns+/-時間變化的0.99ns,即最好情況或者快速路徑TF是2ns,而更壞情況或者低速路徑TS是4ns。數(shù)據(jù)將會在二個納秒之后、四個納秒之前到達。從而該接口將在所有情況下操作,即數(shù)據(jù)保證在第一個總線周期之后并且在第二個總線周期之前到達。然而,如果芯片的速度增加到周期為0.9ns,則總線周期時間變?yōu)?.8ns。為了確保在更壞的情況下有足夠的時間用于數(shù)據(jù)穿過接口傳送,數(shù)據(jù)必須不能在2.5個總線周期、或者4.5ns之前被捕捉,因為兩個總線周期小于慢速路徑時間Ts、或者4ns。然后,為了在一個1.8ns總線周期上操作,最快數(shù)據(jù)能夠到達的時間為1.5×1.8=2.7ns(提前一個總線周期),以確保所有情況數(shù)據(jù)在同一個周期上到達。然而,來自上述延遲數(shù)的最早數(shù)據(jù)能夠經(jīng)由快速路徑用TF為3ns-0.99ns=2.01ns的時間到達。因此,以一個1.8ns的總線周期時間操作在一個傳統(tǒng)的同步設計中不能得到支持。為了同步操作,該總線與處理器比必須慢到至少3∶1,而且以一個2.7ns周期時間進行操作(2.7ns×1.5個周期=4.05ns,且2.7ns×0.5個周期=1.35ns),這影響了本地時鐘速度的增加。
因此,在本技術中就需要有一種在增加了時鐘速率的一個數(shù)據(jù)處理系統(tǒng)內、調節(jié)芯片之間數(shù)據(jù)傳輸?shù)难b置和方法。尤其是,需要一種在數(shù)據(jù)處理系統(tǒng)內確保芯片之間數(shù)據(jù)同步化的方法和裝置,其中該處理系統(tǒng)的路徑延遲變化超過一個總線周期,而且該方法消除了對設計特定硬件填充的需要。
本發(fā)明的一個目的是提供一種克服上述缺點的技術。

發(fā)明內容
根據(jù)本發(fā)明,我們提供了一種接口裝置,它包含一個第一存儲設備,用于存儲第一組數(shù)據(jù)值;一個第二存儲設備,用于存儲第二組數(shù)據(jù)值;與所述第一和第二存儲設備相連的電路,用于根據(jù)至少一個控制信號、順序地從所述第一存儲設備中輸出一個第一數(shù)據(jù)值以及從所述第二存儲設備中輸出一個第二數(shù)據(jù)值,其中所述第一和第二存儲設備保持數(shù)據(jù)值持續(xù)一個預定數(shù)目的第一時鐘周期時間,以及第一和第二選擇電路每一個具有分別連接到相應所述第一和第二存儲設備輸入端的輸出端,所述第一和第二選擇電路每一個具有可操作用于接收數(shù)據(jù)流的第一輸入端,和一第二輸入端連接到所說第一和第二存儲設備的一相應輸出端,其中所說第一和第二選擇電路根據(jù)第一和第二控制信號可操作用于選擇輸出在所述第一和第二輸入端的一個上的信號。
此外根據(jù)本發(fā)明,我們提供了一種連接集成電路設備的方法,它包含以下步驟在一個第一存儲元件中存儲第一組數(shù)據(jù)值,其中每個所述第一組數(shù)據(jù)值都存儲一個預定數(shù)目的第一時鐘周期時間;在第二組存儲元件中存儲第二組數(shù)據(jù)值,其中每個所述第二組數(shù)據(jù)值都存儲一個預定數(shù)目的第一時鐘周期時間;


為了對本發(fā)明以及其優(yōu)點有更完整的理解,結合附圖參考下列描述,其中附圖為圖1A說明了一個根據(jù)現(xiàn)有技術的芯片接口;圖1B根據(jù)現(xiàn)有技術示意性地說明了圖1A所示芯片接口的一個實施例時序圖;圖1C依據(jù)現(xiàn)有技術說明了圖1A所示芯片接口的另一個實施例時序圖;圖1D說明了在一個數(shù)據(jù)處理系統(tǒng)中多個相互連接的芯片;圖1E示意性地說明了圖1D多個相互連接芯片的一個實施例時序圖;圖2以方框圖的形式說明了用于實踐本發(fā)明的一個代表性硬件環(huán)境;圖3以方框圖的形式說明了根據(jù)本發(fā)明一個實施例的一個芯片接口;圖4A以方框圖的形式說明了根據(jù)本發(fā)明一個實施例的一個彈性接口;圖4B示意性地說明了圖3A所示的本發(fā)明實施例的一個時序圖;圖5說明了根據(jù)本發(fā)明的一個芯片接口的一個替換實施例;圖6A說明了根據(jù)本發(fā)明的一個彈性接口的另一個替換實施例;圖6B示意性地說明了圖5A所示彈性接口的一個時序圖;圖7A說明了根據(jù)本發(fā)明一個彈性接口的另一個替換實施例;圖7B示意性地說明了圖7A所示實施例的一個時序圖;圖8A以方框圖的形式說明了根據(jù)本發(fā)明的彈性接口的又一個替換實施例;以及圖8B示意性地說明了圖8A所示實施例的一個時序圖。
具體實施例方式
本發(fā)明提供了一種彈性接口機制,它實現(xiàn)了在一個數(shù)據(jù)處理系統(tǒng)中多個數(shù)據(jù)處理芯片之間的數(shù)據(jù)同步化。而且不需要填充就完成了數(shù)據(jù)同步化,否則填充將使物理布線變得復雜,而且增加了硬件設計的復雜性。該接口的"彈性"用于解決在系統(tǒng)中連接數(shù)據(jù)處理芯片的路徑之間的物理差別。通過把該接收的數(shù)據(jù)捕獲到多個存儲元件中,并且有選擇地控制鎖存的數(shù)據(jù),就在一個其中延遲變化超過一個總線時鐘周期的數(shù)據(jù)處理系統(tǒng)中提供了數(shù)據(jù)同步化。通過在通電時、或者在重置之后,執(zhí)行一個初始化調整過程,可以動態(tài)地建立同步化。這樣,根據(jù)本發(fā)明的原理,就可以實現(xiàn)數(shù)據(jù)的同步化而不需要底板設計的一個時序分析和快速路徑填充。
在下面的描述中,對諸如總線時鐘頻率以及同步化周期、時鐘脈沖沿等等大量具體細節(jié)進行了闡述,以提供對本發(fā)明的徹底理解。然而,對本領域技術人員來說,顯然可以實踐本發(fā)明而不需要這樣的細節(jié)。為了不因為不必要的細節(jié)而模糊了本發(fā)明,在其他的實例中,以方框圖的形式顯示了眾所周知的電路。
現(xiàn)在參考圖2-9,其中描述的元素沒有必要按比例顯示,而且在這幾個視圖中,類似或者相似的元件被指定了同樣的標記號。
在圖2中描述了一個用于實踐本發(fā)明的代表性硬件環(huán)境,它說明了根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)213的一個典型硬件配置,其中具有中央處理單元(CPU)210,例如一個傳統(tǒng)的微處理器,以及多個經(jīng)由系統(tǒng)總線212相互連接的其他單元。數(shù)據(jù)處理系統(tǒng)213包含隨機存取存儲器(RAM)214;只讀存儲器(ROM)216;以及輸入/輸出(I/O)適配器218,用于將外圍設備諸如磁盤單元220以及磁帶驅動器240連接到總線212;用戶界面適配器222,用于將鍵盤224、鼠標226、及/或其他用戶界面設備諸如一種觸摸屏設備(沒有顯示)連接到總線212上;通信適配器234,用于將工作站213連接到一個數(shù)據(jù)處理網(wǎng)絡中;以及顯示適配器236,用于將總線212連接到顯示設備238。CPU210可以包含此處沒有顯示的其他電路,其中將包含在一個微處理器內通常能夠找到的電路,例如,執(zhí)行單元、總線接口單元、算術邏輯單元等等。本發(fā)明的接口可以包含在CPU 210中。此外,本發(fā)明可以包含在存儲設備、例如RAM 214(它可能包含此處沒有顯示的存儲器控制電路)中。CPU 210也可以駐留在單個集成電路上。
現(xiàn)在參考圖3,其中說明了根據(jù)本發(fā)明的一個接口300。接口被包含在芯片302和芯片304的每一個中,其中這兩個芯片分別經(jīng)由各自的一個接口300相互傳遞數(shù)據(jù)。(盡管在一個芯片到芯片接口的環(huán)境中描述了本發(fā)明的該實施例,但是本發(fā)明的原理可以包含在任何時鐘控制的鎖存器對之間的一個接口中。)數(shù)據(jù)以一個由一總線時鐘、總線時鐘306和308所確定的速度,在芯片302和304之間進行傳輸??偩€時鐘306和308標稱具有同一頻率,而且都源自于被提供給一個鎖相回路PLL、即每個芯片302和304中的PLL312的參考時鐘310。在本發(fā)明的一個實施例中,參考時鐘310可以是一個系統(tǒng)時鐘。每個PLL 312輸出一個本地時鐘,在芯片302中為本地時鐘314,而在芯片304中為本地時鐘316,它們鎖定為和參考時鐘310同相,而且可以是參考時鐘310的周期的一個預選整數(shù)M倍。本地時鐘314由驅動器318進行緩存以提供來自芯片302的總線時鐘306。相似地,本地時鐘316由驅動器320進行緩存以提供來自芯片304的總線時鐘308。
該總線時鐘與從芯片傳遞的數(shù)據(jù)一起提供。來自芯片302的數(shù)據(jù)322被鎖存到輸出鎖存器324中,然后由驅動器326進行驅動和緩存。該數(shù)據(jù)在本地時鐘314的一個預選沿上被鎖存。經(jīng)由多路復用器(MUX)328接收該數(shù)據(jù)。MUX 328還接收一個和調整過程相結合的預定的同步化模式。這些將在下面作進一步描述。
由接收器(RX)330緩存數(shù)據(jù)322并將其提供給一個彈性接口單元332。由RX334緩存與數(shù)據(jù)322一起發(fā)送的總線時鐘306,RX334的輸出形成I/O時鐘336,也提供給彈性接口332。來自芯片304的數(shù)據(jù)與總線時鐘308一起被發(fā)送給芯片302,然后類似地由芯片302中的接口300接收,而且應當明白以下描述的彈性設備332同樣適用于由芯片302從芯片304中接收數(shù)據(jù)。
目標周期單元339設置數(shù)據(jù)在接收芯片中被本地時鐘鎖存、例如在芯片304中被本地時鐘316鎖存時所處的目標周期。結合圖4A/B詳細地討論目標周期,用來說明一個具有雙彈性的接口322。對于具有一個彈性E的一個接口來說,目標周期單元可以包含一個E次分頻電路。另外,目標周期單元339可以包含一個程序寄存器用于保留預定的目標周期值,它可以經(jīng)由目標程序341載入。在芯片302的目標周期單元339中程控的目標周期,可以與在芯片304的目標周期單元339中程控的目標周期不同。目標周期單元339,取決于接口單元332的實施例以及相應的彈性E,輸出可以包含多個信號的選擇控制343。結合說明了接口單元332實施例的圖4A-8B,進一步對選擇控制343進行描述。
現(xiàn)在參考圖4A,它說明了根據(jù)本發(fā)明的一個彈性接口單元332的一個實施例。單元332包含MUX 402,它具有一個從RX 330接收數(shù)據(jù)的輸入端404。MUX 402的輸出端406與鎖存器408的數(shù)據(jù)(D)輸入端相連。鎖存器408由I/O時鐘336進行時鐘控制。鎖存器408在時鐘436的一個上升沿上鎖存在該D輸入端的數(shù)據(jù),并且保持該數(shù)據(jù)直到時鐘336的下一個上升沿為止。鎖存器408的輸出端410被反饋到MUX 402的第二輸入端即輸入端412。根據(jù)門控414,MUX 402在輸入404和輸入412之間進行選擇用于在輸出406上輸出。
門控414源自于總線時鐘306,并且周期是總線時鐘306的兩倍??梢允褂靡粋€延遲鎖定回路(DLL)產生門控414??梢栽诒景l(fā)明中使用的一個DLL的一個實施例,在名為"Dynamic Wave Pipe1inedInterface Apparatus and Method Therefor"的待審申請中公開了,在此作為參考。門控414的相位在以下討論的初始化調整過程期間進行設置,并且將結合圖4B進一步描述門控414的操作。
來自于RX330的數(shù)據(jù)也并行地輸入到第二MUX即MUX416的輸入端418上。MUX416的輸出420與第二鎖存器即鎖存器422的一個D輸入端相連,該鎖存器也由I/O時鐘336進行時鐘控制,而且在I/O時鐘336的一個上升沿上鎖存數(shù)據(jù),并且保持該數(shù)據(jù)直到這個時鐘的一個后續(xù)上升沿為止。鎖存器422的輸出424與MUX416的第二輸入端即輸入端426相連。
MUX 416根據(jù)門控414的補碼、即門控428,在輸入418和輸入426之間進行選擇。這樣,當選擇MUX 402和416中的一個用于從RX330接收數(shù)據(jù)時,另一個被選擇用于在它相應的鎖存器、即鎖存器408和422中的一個內保持數(shù)據(jù)。這樣,先前保存在鎖存器408和422其中之一內的一個數(shù)據(jù)位可以多保持一個I/O時鐘336周期。
因此,就創(chuàng)建了兩個數(shù)據(jù)流,每個的有效期為二個I/O時鐘336周期。由于門控414和門控428之間的相位相反,因此這兩個數(shù)據(jù)流彼此相互偏移一個數(shù)據(jù)值的臨時寬度,即一個I/O時鐘336周期。
通過參考圖4B,其中說明了根據(jù)圖4A中的彈性接口單元332的一個時序圖,這可以得到更進一步的理解。如前所述,保持在輸出鎖存器324中的數(shù)據(jù)325以與芯片202中本地時鐘314同步的方式進行發(fā)送。如在上文中結合圖ID所討論的那樣,在芯片202的接收機230上接收的數(shù)據(jù)即數(shù)據(jù)322,由在芯片202和204之間的路徑所代表的延遲時間所延遲。在I/O時鐘336的上升沿t1上,數(shù)據(jù)322的數(shù)據(jù)值“a”經(jīng)由MUX 402的輸出406被鎖存器408所捕獲。因為要求了門控414,或者說是“開啟”,因此在輸入404上來自于RX330的數(shù)據(jù)被選擇用于由MUX402輸出。(當相應的MUX選擇輸入以接收輸入的數(shù)據(jù)流時,門控將在術語上被稱為開啟。盡管在圖4的實施例中,這與一個“高”邏輯狀態(tài)相關,但是應當明白其中開啟的門控對應于一個“低”邏輯電平的替換實施例是在本發(fā)明精神和范圍內。)相反地,門控428是負的。作為響應,MUX 416選擇一個先前保持在鎖存器422中的數(shù)據(jù)值,它通過MUX 416被反饋到鎖存器422的D輸入端。這樣,保持在鎖存器422中的數(shù)據(jù)值就多保留一個I/O時鐘336周期,該時鐘為鎖存器408和322都提供了時鐘信號,如結合圖4A所描述的那樣。
如圖3所示,I/O時鐘336從總線時鐘306處獲得。如圖4B說明的那樣,假定在啟動時,總線時鐘306集中在一個數(shù)據(jù)有效窗口中。在名為“Dynamic Wave Pipelined Interface Apparatus andMethod Therefor”的待審批申請中描述了總線時鐘對中,此處作為參考??偩€時鐘306正如數(shù)據(jù)那樣,在經(jīng)過接口時經(jīng)歷一次延遲。在芯片304中總線時鐘306的延遲可以比得上T1,這反映到I/O時鐘336中,因此時鐘336相對位于數(shù)據(jù)322的中心。
這樣產生門控414以保證門控414的沿與I/O時鐘336的下降沿相位相干。在I/O時鐘336的沿t2,門控414處于下降沿t3。作為響應,MUX 402選擇與MUX402的輸入端412相連的鎖存器408的輸出410,用于在輸出406上輸出。因為門控414為負,于是就要求了門控428,由此MUX 416選擇在輸入端418上來自于RX 330的數(shù)據(jù),用于在輸出420上輸出。這和鎖存器422的D輸入端相連。從RX 330接收的數(shù)據(jù)現(xiàn)在相當于數(shù)據(jù)322的數(shù)據(jù)值“b”。
在I/O時鐘336的沿t4上,鎖存器408和422鎖存在它們各自的D輸入端上的數(shù)據(jù)。在鎖存器408中,這相當于先前保持的數(shù)據(jù)值即數(shù)據(jù)322的值a,然后它被多保持一個本地時鐘416周期。鎖存器422經(jīng)由MUX 416鎖存其D輸入端上的數(shù)據(jù)值b到輸出424。
在I/0時鐘336的下一個躍遷t7上,數(shù)據(jù)值“c”被捕獲。因為在沿t7上要求了門控414,因此數(shù)據(jù)322中的數(shù)據(jù)值c出現(xiàn)在MUX 402的輸出端406上。因為作為門控414補碼的門控428為負,因此數(shù)據(jù)值b被保持在鎖存器422中。由于一個數(shù)據(jù)流在數(shù)據(jù)322上連續(xù)抵達,這樣彈性設備332分別在鎖存器408和422的輸出端410和424上連續(xù)地產生兩個數(shù)據(jù)流。如圖4B所示,這兩個數(shù)據(jù)流包含在數(shù)據(jù)422上抵達的輸入數(shù)據(jù)流的交替部分,其有效期為兩個本地時鐘416周期。
通過與本地時鐘416同步的方式從這兩個數(shù)據(jù)流中交替地選擇數(shù)據(jù)值,可以恢復該輸入數(shù)據(jù)流的結構。選中一個本地時鐘目標周期。本地時鐘目標周期是數(shù)據(jù)由該本地時鐘、例如圖3和4中的本地時鐘316捕獲到一個目標鎖存器中時所處的周期。通過分析來確定該目標周期。該目標周期必須遲于穿過接口的最壞情況的延遲時間。例如,在圖4B描述的實施例中,對應于沿t8,目標周期已經(jīng)設置為3個本地時鐘316周期。如先前結合圖1A中的參考時鐘106描述得那樣,該目標周期從由參考時鐘310確定的零時基準開始計算。在圖4A/B的雙彈性實施例中,數(shù)據(jù)抵達可以比該目標周期早兩個本地時鐘周期。在這樣一個實施例中,圖3的目標周期單元339中包含一個二次分頻電路。
在該目標周期設置下,根據(jù)本地時鐘316,經(jīng)由MUX 432,選擇數(shù)據(jù)以捕獲到目標鎖存器430中。MUX432具有一對輸入端,434和436。輸入端434與鎖存器408的輸出端410相連,且輸入端436與鎖存器422的輸出端424相連。根據(jù)選擇控制343,MUX 422選擇輸出由鎖存器408和422的輸出端代表的這二個數(shù)據(jù)流中的一個。在圖4B的實施例中,當選擇控制343有第一邏輯狀態(tài)“高”時,MUX432把在輸入端434上的數(shù)據(jù)提供到鎖存器430的D輸入端,而且在圖4B的實施例中,當選擇控制343具有第二預定邏輯狀態(tài)“低”時,在MUX 432輸入端436上的數(shù)據(jù)被提供到鎖存器430的D輸入端。選擇控制343的周期是本地時鐘316周期的兩倍,而且與本地時鐘316相位同步,從而使選擇控制343具有第一邏輯狀態(tài),而且在該目標周期上對中。因此,在圖4B中,在本地時鐘316的沿t8上,輸出410上的數(shù)據(jù)值a經(jīng)由MUX 432被連接到鎖存器430的D輸入端,而且由本地時鐘316的沿t8進行鎖存。在本地時鐘316的下一個上升沿t9上,發(fā)送的數(shù)據(jù)流的下一部分被鎖存到目標鎖存器430中。選擇控制343在相位上提前半個周期,因此具有第二邏輯狀態(tài),借此鎖存器422的輸出424經(jīng)由MUX 432和鎖存器432的D輸入端相連。在沿t9上,鎖存器422的輸出端424上的數(shù)據(jù)值b被鎖存到鎖存器432中,然后數(shù)據(jù)值b出現(xiàn)在數(shù)據(jù)輸出338上。在本地時鐘316的后續(xù)周期中,彈性接口332通過在鎖存器408的輸出410與鎖存器422的輸出424之間進行交替選擇,來恢復數(shù)據(jù)流225。
在數(shù)據(jù)能夠穿過彈性接口322進行傳送之前,必須對門控414(以及附隨的補碼、即門控428)進行初始化。因為穿過該接口的延遲能夠有超過一個本地時鐘周期的變化,必須用合適的相位對門控414進行初始化。如前所述,門控414的周期是I/O時鐘336以及本地時鐘316的兩倍。門控414與I/O時鐘316相位同步,從而使門控414的平頂部分以I/O時鐘336的預選沿為中心,在圖4B的實施例中,該沿為上升沿。
在本發(fā)明的一個實施例中,通過在接通電源或者重置時傳送一個同步化(sync)模式,可以對門控414進行初始化。再次參考圖3,作為對該數(shù)據(jù)處理系統(tǒng)重置或者通電的響應,要求初始化調整過程(IAP)模式信號340,借此MUX 328選擇輸出一個預定的同步模式。在本發(fā)明的一個實施例中,根據(jù)在ROM 216包含的BIOS指令,通過CPU 210可以要求IAP模式信號340。
在圖4A說明的彈性接口單元332實施例中,如前所述,數(shù)據(jù)能夠在一個兩周期窗口內到達而不會產生同步問題。在圖4A中的彈性接口單元332被稱為具有雙彈性。在IAP中,要求同步化模式是周期性的,而且其周期P等于或大于該彈性設備的彈性。這樣,對圖4B中的彈性接口單元332來說,一個適合的同步化模式將是在“1”和“0”之間交替的多個位,有一個初始位為"1"。下面將描述具有兩個彈性以上的彈性接口實施例,該同步化模式也將進行相應的修改。例如,對一個具有N彈性的彈性接口(結合圖8A/B討論如下)來說,一個適合的模式將是一個初始位“1”、繼之以N-1位的“0”,然后重復該模式。也可以使用其他的位模式。例如,做為選擇,可以使用以上所述示例模式的位模式補碼。
在設置門控414的相位時,當同步模式正被發(fā)送時可以對鎖存器408的輸出410進行采樣。門控414用一個預選的相位進行初始化。對以上所述的、用于具有雙彈性的彈性接口單元332的同步模式來說,如果在輸出410檢測到一個“1”,則門控414以及相伴的門控428被恰本地定相。否則,門控414以及相應的門控428的相位應該移動二分之一個I/O時鐘336周期。如前所述,可以使用一個DLL產生門控414,在前面已引用過的、名為“Dynamic Wave PipelinedInterface Apparatus and Method Therefor”的待審批申請中公開了一個DLL的一個實施例,在此作為參考。
根據(jù)本發(fā)明原理的一個彈性接口、例如彈性接口300的操作,現(xiàn)在通過參考圖5可以得到更進一步的理解。在圖5中,芯片302象圖3中那樣和芯片304交換數(shù)據(jù),另外還與芯片306交換數(shù)據(jù)。根據(jù)本發(fā)明的一個實施例,芯片302包含兩個接口300,其中一個經(jīng)由包含在芯片304內的一個接口300將芯片302連接到芯片304,而第二個將芯片302連接到芯片306,其中芯片306中也包含一個接口300。連接芯片302和304的路徑502可以是一條快速路徑,類似于在圖1D中的路徑154,具有一個延遲時間TF;且連接芯片302到芯片306的路徑504可以是一條慢速路徑,例如在圖1D中的路徑152,具有一個延遲時間TS。在根據(jù)現(xiàn)有技術的一個接口中,如果在路徑502和504之間的延遲差別超過一個總線時鐘周期,如先前所述,為了保持數(shù)據(jù)的同步化,將要求對路徑502進行填充。然而,接口300包括彈性接口單元332用來調節(jié)路徑502和504之間的延遲時間差別。如上文所述,通過設置芯片304和306中每一個彈性接口332的目標周期為同一周期,就可以保持芯片302、304和306之間的數(shù)據(jù)同步。
可以實現(xiàn)本發(fā)明的替換實施例。具有雙彈性的接口單元332的一個替換實施例如圖6A所示。如同在圖4A中所示的彈性接口332實施例一樣,在圖6A所示的彈性接口232實施例包含MUX402和416以驅動鎖存器408和422。然而,除了相當于圖4A所示實施例中的鎖存器430的鎖存器630之外,圖6A的接口單元232還包含一個第二捕獲鎖存器即鎖存器628,由本地時鐘316進行時鐘控制。另外,在圖6A的接口單元332實施例中,對應于圖4A中的MUX432的輸出MUX632,已經(jīng)移動到該捕獲鎖存器的下游。
這降低了通過接口本身的延遲時間。鎖存器628和630的D輸入端分別與鎖存器422和408的輸出424和410相連。在鎖存器628和630的D輸入端上的數(shù)據(jù)由本地時鐘316進行時鐘控制進入到鎖存器中。這樣,數(shù)據(jù)在MUX 632之前由本地時鐘316捕獲。在選擇控制343的控制下,通過經(jīng)由MUX 632選擇鎖存器628和630的輸出634和636中的一個,來恢復數(shù)據(jù)流322。這類似于圖4A的實施例中輸出MUX 432的動作,然而同圖4A中的選擇控制343相比,選擇控制343相移了半個周期。在圖6A接口322的實施例中,在本地時鐘316的一個上升沿鎖存該數(shù)據(jù)。然而,本領域的普通技術人員都應當明白假如其他的控制信號在相位上進行了適本地調整,替換實施例可以在一個下降沿鎖存數(shù)據(jù)。例如,在一個其中鎖存器628和630在本地時鐘316的下降沿上鎖存數(shù)據(jù)的實施例中,選擇控制343將相移半個周期。
現(xiàn)在通過參考圖6B所示的一個時序圖,可以更進一步理解圖6A中接口單元332實施例的操作。因為MUX 402和416,以及鎖存器408和422,還有I/O時鐘336和本地時鐘316與圖4A和4B中接口單元332的實施例相同,為了簡潔起見,在圖6B中所示的與那些結構相關的時序圖部分將不再討論。
集中注意圖6B中與鎖存器628和630,以及MUX 632有關的時序圖部分,在本地時鐘316的沿t8’上,數(shù)據(jù)值a被鎖存到鎖存器630的輸出634上。相似地,在本地時鐘316的沿t9’上數(shù)據(jù)值b被鎖存到鎖存器628的輸出636上。為了使數(shù)據(jù)在目標周期出現(xiàn)在數(shù)據(jù)輸出338上,選擇控制343的上升沿必須延遲到本地時鐘316的沿t9’,這和該目標周期相一致。這樣,在選擇控制343的沿t10上來自MUX632數(shù)據(jù)值a出現(xiàn)在數(shù)據(jù)輸出338上。因此,選擇控制343和本地時鐘316相位同步,其平頂居中于本地時鐘316的上升躍遷之間。相似地,數(shù)據(jù)值b在選擇控制343的下降沿t11上出現(xiàn)在數(shù)據(jù)輸出338上,而且此后數(shù)據(jù)流322在選擇控制343的后續(xù)躍遷上繼續(xù)被恢復。
另外,本發(fā)明可以實現(xiàn)具有其他預定彈性的彈性接口232實施例。這些可以包含半個周期的彈性。本發(fā)明一個具有1.5個周期彈性的實施例如圖7A所示。數(shù)據(jù)322被連接到鎖存器702和704的D輸入端。鎖存器702和704是“極性保持”,或者是“刷新”鎖存器。這種鎖存器還可以被稱為“透明”鎖存器。當鎖存器702中的時鐘(C)具有第一預定邏輯狀態(tài)或電平時,在D輸入端上的數(shù)據(jù)迅速流到輸出端706。在該時鐘從第一狀態(tài)變換到一個預定的第二邏輯狀態(tài)時,鎖存器702鎖存在D輸入端上的數(shù)據(jù),并且在輸出端706上的數(shù)據(jù)被保持到時鐘從第二狀態(tài)到第一狀態(tài)的后續(xù)變換為止。(在圖7的實施例中,第一狀態(tài)對應于一個“低”邏輯電平,而第二狀態(tài)對應于一個“高”邏輯電平,由此轉換包含一個上升沿。然而,具有相反邏輯狀態(tài)的一個替換實施例也將在本發(fā)明的精神和范圍內。)當鎖存器704的時鐘C具有第二邏輯電平時,它使其D輸入端上的數(shù)據(jù)迅速流到輸出端708。在該時鐘從第二邏輯電平變換到第一邏輯電平上時,該數(shù)據(jù)被鎖存,并且保持該數(shù)據(jù)到該時鐘從第二邏輯電平變換到第一邏輯電平為止,在圖7的實施例中第一邏輯電平為“低”。迅速流通特性允許數(shù)據(jù)立刻變得可用,而不需要等到一個鎖存器被時鐘控制為止,由此就實現(xiàn)了接口單元332的一個“低延遲-低彈性”實施例。
在圖7A所示的彈性接口322實施例中,鎖存器702和704由I/O時鐘726進行時鐘控制。圖7A的彈性接口322是一個雙倍數(shù)據(jù)速率(DDR)設備,其中在I/O時鐘726的每個變換上,數(shù)據(jù)被鎖存到鎖存器702和704的一個中,而且I/O時鐘726的周期是本地時鐘即本地時鐘314和本地時鐘316、以及總線時鐘306周期的兩倍??偩€時鐘306置于一個寬為兩個本地時鐘周期的數(shù)據(jù)窗口的中心。
通過參考圖7B所示的相應時序圖,可以進一步理解圖7A中的彈性接口單元332的實施例。當數(shù)據(jù)值a到達彈性接口單元332時,因為I/O時鐘726在“平頂”752上為低,它就迅速流到鎖存器702的輸出端706。換句話說,數(shù)據(jù)值a在I/O時鐘726的沿t1之前就出現(xiàn)在鎖存器702的輸出端706上。
數(shù)據(jù)部分a比變換t1超前四分之一個I/O時鐘336周期,它相當于半個本地時鐘316周期。如前所述,I/O時鐘336源自于總線時鐘,而且相對于啟動時的總線時鐘,相移了芯片之間路徑的延遲時間。另外,I/O時鐘336給定為一個超前四分之一周期的相位。在沿t1上,數(shù)據(jù)值a被鎖存,并被保持一個本地時鐘316周期。
相似地,當數(shù)據(jù)值b從RX 230到達彈性接口單元332時,因為I/O時鐘716在平頂754為高,它就迅速流到鎖存器704的輸出端708。然后數(shù)據(jù)值b在I/O時鐘716的下降沿t2上保持在輸出端708上。數(shù)據(jù)值b保持一個本地時鐘316周期。這樣,數(shù)據(jù)值在鎖存器702和704的輸出端706和708上分別出現(xiàn)了1.5個本地時鐘周期,這就是圖7A所示彈性接口332的實施例的彈性。
由鎖存器710和712、以及MUX 714在輸出端338重構數(shù)據(jù)流332。由輸出端706和708表示的這兩個數(shù)據(jù)流分別被本地時鐘316鎖存到鎖存器710和712里。數(shù)據(jù)在本地時鐘316一個預定的沿(在圖7的實施例中為上升沿)上被鎖存,如前所述,目標周期可以設置為在數(shù)據(jù)值a的1.5個周期彈性內的任何時候發(fā)生。因此,依據(jù)圖7B中的時序圖,根據(jù)選擇控制343數(shù)據(jù)值a在本地時鐘316的沿t3上被鎖存到鎖存器710里,然后經(jīng)由MUX 714切換到數(shù)據(jù)338上。根據(jù)選擇控制343有第一預定值時從鎖存器710中選出數(shù)據(jù),而且當選擇控制343具有第二預定值時從鎖存器712中選出數(shù)據(jù)。在圖7的實施例中,第一值為“高”且第二值為“低”,然而應當明白其他的預定值也在本發(fā)明的精神和范圍內。在本地時鐘316的沿t4上,根據(jù)選擇控制343具有第二值,數(shù)據(jù)值b被鎖存到鎖存器712里,并且被切換到數(shù)據(jù)338上。如同在圖7B中說明那樣,通過經(jīng)由MUX 714交替選擇來自于鎖存器710和712的輸出,后續(xù)的數(shù)據(jù)值順序地在輸出端338上輸出。
另外,根據(jù)本發(fā)明原理的彈性接口是可擴展的,借此通過增加控制和存儲元件,可以增加彈性。在圖8A中說明了具有一個N-1個總線時鐘周期彈性的一個彈性接口實施例。接口單元32包含了N個MUX 802。每個MUX中的第一輸入端704接收來自于RX 330的數(shù)據(jù)流322。第二輸入端806接收由鎖存器808-818中的相應一個輸出的一個信號。鎖存器808-818中的每一個都包含一個鎖存器對。在鎖存器808、812和816中,該鎖存器對有一個該對第一個鎖存器的內部輸出以主-從的方式和該對第二個鎖存器的內部輸入相連。鎖存器808、812和816從從屬部分提供一個輸出820到相應MUX 802的一個輸入端806。鎖存器808、812和816的從屬部分在I/O時鐘336的一個上升沿上鎖存其D輸入端上的數(shù)據(jù)。鎖存器808、812、和816各自的D輸入端分別與一個相應的MUX 802的輸出端相連。鎖存器810、814和818將來自于該鎖存器對第一個的輸出端822連接到相應MUX 802的輸入端806。該鎖存器對中的第一個是透明的,而且在I/O時鐘336的一個“平頂”上,第一輸入端828上的數(shù)據(jù)迅速流到輸出端822。在每一個鎖存器810、814和818中的輸入端828都從該鎖存器對的第二個連接到一個相應的輸出端826。另外,該對的第二個的一個輸入端830與相應的MUX 802的一個輸出端相連。該鎖存器對中的第二個也是透明的,并且在I/O時鐘336的一個平頂上迅速流過數(shù)據(jù)。形成鎖存器810、814和818的該鎖存器對的第一個和第二個,在具有反向極性的I/O時鐘336的平頂上迅速流過數(shù)據(jù)。
MUX802根據(jù)一個相應的門控信號,門控832-842,在輸入端804和806上的信號之間進行選擇。結合圖8B所示的一個時序圖對門控信號832-840作進一步討論。
經(jīng)由數(shù)據(jù)鎖存器844,數(shù)據(jù)被本地時鐘鎖存,其中每個數(shù)據(jù)鎖存器844從相應的一個鎖存器808-818接收一個輸出信號。數(shù)據(jù)由本地時鐘316鎖存到數(shù)據(jù)鎖存器844里。鎖存器808、812和816的輸出端824提供給一個相應的數(shù)據(jù)鎖存器844的D輸入端。如前所述,輸出824從透明的鎖存器808、812和816的主要部分處獲得。數(shù)據(jù)鎖存器844的剩余部分在它們的D輸入端上接收來自于鎖存器對中的第二個的輸出826的信號,其中該鎖存器對形成相應的鎖存器810、814和818。該鎖存器對中的第二個也是一個透明的鎖存器,它在一個與該鎖存器對中的第一個迅速通過數(shù)據(jù)時的I/O時鐘336的極性相反的一個極性上,迅速通過數(shù)據(jù)。
MUX 846選擇多個保持在數(shù)據(jù)鎖存器844中的信號中的一個用于輸出。每一個數(shù)據(jù)鎖存器844的一個輸出與一個相應的輸入、輸入848-858中的一個相連。該信號在MUX 846的輸出860上被輸出到芯片,例如芯片302或者304中。MUX 846經(jīng)由選擇控制343在輸入848-858中進行選擇。選擇控制343包含k個信號,其中2k等于N。
使用圖8A中所示的電路來實現(xiàn)一個具有N倍彈性的替換實施例。通過將數(shù)據(jù)鎖存器844的相應D輸入端連接到一個相應的鎖存器808、812和816的輸出820上,以及連接到一個相應的鎖存器810、814和818的輸出826(而不是如圖8A所示的輸出824和822)上,就可以獲得N倍彈性。其他圖8A中的接口單元332的電路不用改變。
現(xiàn)在參考圖8B,其中說明了用于圖8A中所示的接口單元332的一個時序圖。在該接口延遲T1之后,數(shù)據(jù)值a在數(shù)據(jù)322上到達數(shù)據(jù)流中,然后根據(jù)對提供給一個相應MUX 802的門控832的要求,由“平頂”862表示,數(shù)據(jù)值a穿過相應的MUX 802到達鎖存器808的D輸入端。在I/O時鐘336的沿tx上,鎖存器808保持數(shù)據(jù)值a,它在鎖存器808的輸出820上被反饋到相應的一個MUX802的輸入806。在門控832的沿t2上,相應的MUX 802選擇輸入806上的信號,它有數(shù)據(jù)值a。在N-1個總線時鐘306周期內,門控832為負,借此數(shù)據(jù)值a被保持在鎖存器808的D輸入端,因此也保持在鎖存器808的輸出824上。在門控832的變換t4使相應的MUX 802選擇數(shù)據(jù)322上的數(shù)據(jù)流之后,數(shù)據(jù)值a被I/O時鐘336的變換t3多保持一個總線時鐘306周期,借此在I/O時鐘336的沿t5上,在數(shù)據(jù)2上的第(N+2)個數(shù)據(jù)值被鎖存到鎖存器808里。在本地時鐘316的沿t6上,數(shù)據(jù)值a被捕獲到接收鎖存器808的輸出824的數(shù)據(jù)鎖存器844里,然后出現(xiàn)在輸出848上。數(shù)據(jù)值a在輸出848上被保持N個總線時鐘306周期。
在數(shù)據(jù)332中的下一個數(shù)據(jù)值,數(shù)據(jù)值b被類似地在與鎖存器810相連的數(shù)據(jù)鎖存器844中被保持N個總線時鐘306周期。當數(shù)據(jù)值b到達單元332時,要求門控834,這由“平頂”864表示,并且在相應MUX 802的輸入804上選擇數(shù)據(jù)332。數(shù)據(jù)值b出現(xiàn)在鎖存器810的輸入830,并且由I/O時鐘336的沿t7鎖存,借此數(shù)據(jù)值b出現(xiàn)在鎖存器810的輸出826上。鎖存器810的輸出826被反饋到鎖存器810的輸入828。因為在沿t7之后I/O時鐘336為負,鎖存器10的輸出826上的數(shù)據(jù)值b不能輸出到鎖存器810的輸出822,其中輸出822被反饋到相應MUX 802的輸入806。在I/O時鐘336的沿t8,數(shù)據(jù)值b被保持在鎖存器810的輸出822上。在門控834的沿t9上,相應的MUX 802切換并且選擇輸入806,用于將鎖存器810的輸出822上所保持的數(shù)據(jù)值b輸出到鎖存器810的輸入830里。 然后數(shù)據(jù)值b不能輸出到810的輸出826,其中輸出826反饋到鎖存器810的輸入828,并且數(shù)據(jù)值b繼續(xù)反饋到接收門控信號834的相應MUX的輸入806。這樣,數(shù)據(jù)值b在鎖存器810的輸出826上保持總線時鐘306的N+1個周期,一個時鐘周期在門控834變換沿t10之后。
門控836相對于門控834在相位上延遲了一個I/O時鐘336周期,而且類似地,每一個后續(xù)的門控信號838-842在相位上相對于該鏈中先前的門控信號都延遲了一個I/O時鐘836周期。這樣,每個后續(xù)的鎖存器808-818存儲數(shù)據(jù)332中后續(xù)的數(shù)據(jù)值,并且將該數(shù)據(jù)值保持N+1個總線時鐘306周期。然后,在相應鎖存器808-810中的每個數(shù)據(jù)值在每個本地時鐘316周期上鎖存到相應的數(shù)據(jù)鎖存器44中。這樣,在本地時鐘316的沿t11上,數(shù)據(jù)值b鎖存到相應的數(shù)據(jù)鎖存器844中,并且出現(xiàn)在輸出850上,然后同樣地,在本地時鐘316的沿t12上,數(shù)據(jù)值c被時鐘控制,進入到它相應的數(shù)據(jù)鎖存器844中,并且出現(xiàn)在輸出852上。最后的數(shù)據(jù)鎖存器844,與鎖存器818相連,在本地時鐘316的沿t13上鎖存第(N+1)個數(shù)據(jù)值。
根據(jù)包含了k個信號的選擇控制343,從MUX 846中輸出數(shù)據(jù)。選擇控制343的每個k信號都是周期性的。一個“第0個”信號,用S(0)表示,其周期為總線時鐘306周期的一半。第(k-1)個信號周期為N個總線時鐘周期的一半。按順序在S(0)和S(N)之間的每個信號的周期是前一個信號周期的兩倍。保存在鎖存器844中的數(shù)據(jù)值,出現(xiàn)在MUX 846的一個相應輸入848-858上,是根據(jù)選擇控制343進行時鐘控制,順序地輸出到數(shù)據(jù)輸出860上。在具有一個N-1倍彈性的目標周期中,在選擇控制343中的S(N)沿t14上輸出數(shù)據(jù)值a。根據(jù)在選擇控制343中的k信號的循環(huán)變換,順序地輸出剩余的數(shù)據(jù)值。盡管構成選擇控制343的信號已經(jīng)顯示為在上升沿上相位同步,本領域的普通技術人員應當明白在一個替換實施例中可以使用相反的相位。
如先前結合圖4在上文中所述的那樣,在一個IAP期間,初始化圖8中所示的單元332。對于一個具有N-1個彈性的實施例,對應于在圖8中說明的單元332的實施例的彈性,一個適宜的初始化模式可以具有N-1個周期。如上所述,對于一個具有N彈性的替換實施例,同步模式可具有N個周期。在初始化期間,對于具有一個“1”、繼之以多個“0”的一個同步模式,當在選擇343中的信號被適本地排序時,在鎖存器808中必須對“1”進行采樣。
這樣,提供了在一個數(shù)據(jù)處理系統(tǒng)中用以保持通過接口時的數(shù)據(jù)同步性的一種機構。接收的數(shù)據(jù)被捕獲到多個存儲元件中,并且在一個與芯片時鐘同步的預定目標周期上,有選擇地輸入到接收芯片中。通過執(zhí)行一個IAP動態(tài)地建立初始同步。本發(fā)明的機構提供了在延遲變化超過一個總線時鐘的一個數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)同步化。
權利要求
1.一個接口裝置包含一個第一存儲設備,可操作用于存儲第一組數(shù)據(jù)值;一個第二存儲設備,可操作用于存儲第二組數(shù)據(jù)值;以及與所述第一和第二存儲設備相連的電路,用于根據(jù)至少一個控制信號,順序地從所述第一存儲設備輸出第一數(shù)據(jù)值、以及從所述第二存儲設備輸出第二數(shù)據(jù)值,其中所述第一和第二存儲設備保持數(shù)據(jù)值持續(xù)一個預定數(shù)目的第一時鐘周期。
2.如權利要求1所示的裝置,其特征在于所述輸出和第二時鐘同步。
3.如權利要求2所示的裝置,其特征在于所述第二時鐘的周期等于所述第一時鐘的周期。
4.如先前任一權利要求所述的裝置,其特征在于所述第一和第二存儲設備可操作用于接收一個包含多個數(shù)據(jù)值的數(shù)據(jù)流。
5.在先前任一權利要求所述的裝置,其特征在于所述第一存儲設備在第二時鐘的第一預定沿上鎖存數(shù)據(jù),并且所述第二存儲設備在所述第二時鐘的第二預定沿上鎖存數(shù)據(jù)。
6.如權利要求5所述的裝置,其特征在于所述第二時鐘源自于一個從一個發(fā)送設備所接收的時鐘信號。
7.如先前任一權利要求所述的裝置,進一步包含第一和第二選擇電路,每個都有一個輸出端分別與所述第一和第二存儲設備的相應輸入端相連;所述第一和第二選擇電路中的每一個都有一個第一輸入端,可操作用于接收一個數(shù)據(jù)流,而且都有一個第二輸入端與所述第一和第二存儲設備的相應輸出端相連,其中所述第一和第二選擇電路,根據(jù)第一和第二控制信號,可操作用于選擇輸出在所述第一和第二輸入中的一個上的信號。
8.如權利要求7所述的裝置,其特征在于所述第一和第二控制信號每一個的周期都是所述第一時鐘周期的兩倍;其中所述第二控制信號是所述第一控制信號的補碼。
9.如權利要求7所述的裝置,其特征在于所述第一和第二選擇電路分別包含第一和第二多路復用器。
10.如權利要求1所述的裝置,其中所述電路可操作用于有選擇地順序輸出第一和第二數(shù)據(jù)值,該電路包含一個多路復用器(MX),它具有一個第一輸入端可操作用于接收所述第一數(shù)據(jù)值,以及一個第二輸入端可操作用于接收所述第二數(shù)據(jù)值,其中所述MX根據(jù)一個選擇控制信號選擇輸出所述第一和第二數(shù)據(jù)值中的一個,其中選擇控制信號的周期是所述第一時鐘周期的一個預定倍數(shù)。
11.如權利要求10所示的裝置,其特征在于所述選擇控制信號的所述周期是所述第一時鐘周期的兩倍。
12.如權利要求1所述的裝置,其特征在于所述電路可操作用于有選擇地順序輸出第一和第二數(shù)據(jù)值,該電路包含具有一個輸入端的第一鎖存器,可操作用于接收所述第一數(shù)據(jù)值;具有一個輸入端的第二鎖存器,可操作用于接收所述第二數(shù)據(jù)值;以及一個多路復用器(MX),其第一輸入端與所述第一鎖存器的一個輸出端相連,其第二輸入端與所述第二鎖存器的一個輸出端相連,所述MX根據(jù)一個選擇控制信號選擇輸出所述第一和第二數(shù)據(jù)值中的一個,其中選擇控制信號的周期是所述第一時鐘周期的一個預定倍數(shù),而且其中所述第一和第二鎖存器在所述第一時鐘的第一和第二預定電平上鎖存數(shù)據(jù)。
13.如權利要求12所述的裝置,其特征在于所述第一存儲元件包含第三鎖存器,而且所述第二存儲元件包含第四鎖存器,所述第三鎖存器是一個透明鎖存器,它在第二時鐘的第一預制電平上保持數(shù)據(jù),以及所述第四鎖存器是一個透明鎖存器,它在與所述第一預定時鐘電平互補的電平上保持數(shù)據(jù)。
14.如權利要求13所述的裝置,進一步包含第三和第四MX,其輸出端分別與所述第三和第四鎖存器相連,所述第三和第四MX具有第一輸入端可操作用于接收一個數(shù)據(jù)值流,以及第二輸入端分別與所述第三和第四鎖存器的一個輸出端相連,所述第三MX可操作用于根據(jù)第一門控信號在所述第一和第二輸入之間進行選擇,以及所述第四MX可操作用于根據(jù)與所述第一門控信號互補的第二門控信號在所述第一和第二輸入之間進行選擇。
15.一個接口裝置包含M個第一多路復用器(MX),每一個都具有第一輸入端可操作用于接收一個數(shù)據(jù)流,以及一個輸出端;M個第一鎖存器,每一個都具有一個輸入端與相應的第一MX的一個輸出端相連,每個所述第一鎖存器都具有第一輸出端,以及第二輸出端與所述相應的第一MX的一個第二輸入端相連;M個第二MX,其每一個都具有第一輸入端可操作用于接收所述數(shù)據(jù)流,以及一個輸出;M個第二鎖存器,每一個第二鎖存器都包含一個鎖存器對,其中所述對的第一個的一個輸入與一個相應的第二MX的輸出端相連,還有一個輸出端,而且所述對的第二個有一個輸入與所述對的所述第一個的所述輸出端相連,以及一個輸出端與所述相應的第二MX的一個第二輸入端相連;多個第三鎖存器,具有一個輸入端與一個相應的所述第一鎖存器的所述第一輸出端相連,以及一個輸出端與一個第三MX的一個相應輸入端相連;多個第四鎖存器,一個輸入端與所述鎖存器對的所述第一個的所述輸出端相連,以及一個輸出端與所述第三MX的一個相應輸入端相連,所述第三MX用于根據(jù)一個選擇控制輸出一個數(shù)據(jù)值列的操作,所述選擇控制包含k個信號,其中所述k個信號的第一信號的半周期等于一個第一時鐘周期,其中所述第一和第二鎖存器中的每一個根據(jù)第二時鐘信號進行操作,第二時鐘信號的半周期等于所述第一時鐘周期,其中所述第三鎖存器中的每一個根據(jù)第一時鐘進行操作。
16.如權利要求15所述的裝置,其特征在于所述第一時鐘包含一個本地芯片時鐘,以及所述第二時鐘包含一個輸入/輸出(I/O)時鐘。
17.如權利要求15所述的裝置,其特征在于2(k-1)等于M。
18.一種連接集成電路設備的方法,包含以下步驟在第一存儲元件中存儲第一組數(shù)據(jù)值,其中所述第一組中的每個數(shù)據(jù)值都被存儲一個預定數(shù)目的第一時鐘周期;在第二組存儲元件中存儲第二組數(shù)據(jù)值,其中所述第二組中的每個數(shù)據(jù)值都存儲一個預定數(shù)目的第一時鐘周期;以及根據(jù)至少一個控制信號,順序地從所述第一存儲設備中輸出第一數(shù)據(jù)值以及從所述第二存儲設備中輸出第二數(shù)據(jù)值。
19.如權利要求18所述的方法,其特征在于所述第一組和第二組數(shù)據(jù)值包含多個在一個數(shù)據(jù)流中收到的數(shù)據(jù)值。
20.如權利要求18所述的方法,其特征在于所述順序地輸出第一數(shù)據(jù)值的步驟包含如下步驟連接第一選擇電路到所述第一和第二存儲設備;向所述選擇電路提供一個控制信號,其中所述控制信號的周期是所述第一時鐘周期的預定倍數(shù)。
21.如權利要求20所述的方法,進一步包含步驟在第一和第二選擇電路的一個輸入端上接收一個數(shù)據(jù)流;根據(jù)第一選擇信號,向所述第一存儲元件輸出來自于所述第一選擇電路的所述第一組數(shù)據(jù)值中的每一個數(shù)據(jù);根據(jù)第二選擇信號,向所述第二存儲單元輸出來自于所述選擇電路的所述第二組數(shù)據(jù)值中的每一個數(shù)據(jù);
22.如權利要求21所述的方法,其特征在于所述第一和第二選擇信號是互補信號。
23.如權利要求21所述的方法,其特征在于所述第一和第二選擇信號的周期是所述第一時鐘周期的兩倍。
24.如權利要求21所述的方法,其特征在于所述第一和第二選擇信號的周期是所述第一時鐘周期的預定倍數(shù)。
25.如權利要求21所述的方法,進一步包含步驟初始化所述的第一和第二選擇信號。
26.如權利要求25的方法,其特征在于所述初始化所述第一和第二選擇信號的步驟,包含如下步驟發(fā)送一個預選的的數(shù)據(jù)流;以及根據(jù)所述預選數(shù)據(jù)流調整所述第一和第二選擇信號中的每一個的相位。
27.如權利要求26所述的方法,其特征在于所述調整所述選擇信號中的每一個的所述相位的步驟進一步包含選擇一個相位的步驟,其中在所述數(shù)據(jù)流中的第一預定數(shù)據(jù)值被捕獲到所述第一存儲元件中,而且第二預定數(shù)據(jù)值被捕獲到所述第二存儲元件中。
28.如權利要求26所述的方法,其特征在于所述數(shù)據(jù)流包含一個同步化(同步)模式。
29.一個數(shù)據(jù)處理系統(tǒng),包含第一數(shù)據(jù)處理裝置;以及第二數(shù)據(jù)處理裝置,經(jīng)由一個彈性接口與所述第一數(shù)據(jù)處理裝置相連,所述彈性接口包含權利要求1-14任一個中的裝置。
全文摘要
實現(xiàn)了一種彈性接口裝置和方法。該彈性接口包含多個存儲單元用以一個存儲數(shù)據(jù)值流,其中每個存儲單元順序地存儲各個數(shù)據(jù)值組的成員。每一個數(shù)據(jù)值被存儲一個預定數(shù)目的本地時鐘周期。選擇電路可以與存儲單元相連,從數(shù)據(jù)流中選擇相應的數(shù)據(jù)值以存儲到相應的存儲單元中。在本地時鐘的目標周期上,數(shù)據(jù)以與本地時鐘同步的方式從每個存儲單元中順序地輸出。
文檔編號H04L7/00GK1343335SQ0080468
公開日2002年4月3日 申請日期2000年3月3日 優(yōu)先權日1999年3月5日
發(fā)明者D·M·德雷普斯, F·D·費萊奧洛, K·C·高爾 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
分宜县| 交口县| 磐安县| 青神县| 连江县| 金阳县| 海晏县| 阜康市| 宕昌县| 西充县| 铁岭市| 南通市| 泰顺县| 泰宁县| 溧水县| 土默特左旗| 东阿县| 新竹市| 沙坪坝区| 南汇区| 夹江县| 孝义市| 密山市| 梅州市| 武山县| 武定县| 阿拉善左旗| 宣武区| 乐平市| 观塘区| 牡丹江市| 茶陵县| 大庆市| 柯坪县| 蒙自县| 崇仁县| 华容县| 聊城市| 山东省| 神池县| 井陉县|