專利名稱:外圍總線上的數(shù)據(jù)同步的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將異步數(shù)據(jù)同步化的技術(shù)領(lǐng)域,尤其涉及將來自異步外設(shè)的讀數(shù)據(jù)與總線時(shí)鐘相同步。
背景技術(shù):
觸發(fā)器通常用作數(shù)字邏輯系統(tǒng)中的存儲(chǔ)元件。觸發(fā)器在時(shí)鐘的上升沿和下降沿對(duì)它們的輸入進(jìn)行采樣,并且保持經(jīng)采樣的輸入作為它們的輸出直到下一時(shí)鐘沿的到來。由于在數(shù)字邏輯系統(tǒng)中使用觸發(fā)器,亞穩(wěn)定性是一個(gè)重要的設(shè)計(jì)考慮,數(shù)字邏輯系統(tǒng)的大多數(shù)設(shè)計(jì)者必須應(yīng)對(duì)這種亞穩(wěn)定性。當(dāng)觸發(fā)器進(jìn)入亞穩(wěn)定狀態(tài)時(shí),其輸出是未知的,可介于邏輯高和邏輯低之間,或者可能是振蕩的。如果在下一時(shí)鐘沿之前,輸出不轉(zhuǎn)變成穩(wěn)定值,那么亞穩(wěn)定狀態(tài)就會(huì)傳遞給連接到該觸發(fā)器的輸出的其它邏輯器件。此外,即使在下一時(shí)鐘沿之前轉(zhuǎn)變成穩(wěn)定值,該值也可能是不正確的,使得無效數(shù)據(jù)被傳遞到連接到該觸發(fā)器的輸出的其它邏輯器件。當(dāng)觸發(fā)器的輸入在觸發(fā)器的設(shè)定時(shí)間和/或保持時(shí)間期間改變時(shí),亞穩(wěn)定性就會(huì)發(fā)生。
在大多數(shù)數(shù)字邏輯系統(tǒng)中,觸發(fā)器的輸入在設(shè)定時(shí)間和保持時(shí)間期間不改變,因?yàn)檫@些系統(tǒng)被設(shè)計(jì)成完全同步的系統(tǒng),滿足或超出了其組件的規(guī)范。在完全同步的設(shè)計(jì)中,觸發(fā)器的輸入與時(shí)鐘之間有固定的關(guān)系,即它們是同步于時(shí)鐘的。然而,還存在一些系統(tǒng),在其中使用單個(gè)主時(shí)鐘的完全同步設(shè)計(jì)是不可能的,或者使用異步設(shè)計(jì)會(huì)帶來某些優(yōu)勢(shì)。在這些系統(tǒng)中,需要內(nèi)部互聯(lián)子系統(tǒng),它們與它們的時(shí)鐘之間沒有限定的關(guān)系,即不同的時(shí)鐘域。這通常導(dǎo)致需要從一個(gè)時(shí)鐘域提供數(shù)據(jù)作為另一時(shí)鐘域的觸發(fā)器的異步輸入。為了使這些系統(tǒng)工作正常,需要將進(jìn)入的異步輸入同步到觸發(fā)器的時(shí)鐘域。雖然是關(guān)于觸發(fā)器進(jìn)行的描述,但是亞穩(wěn)定狀態(tài)機(jī)器相關(guān)的問題同樣適用于數(shù)字邏輯系統(tǒng)的其它存儲(chǔ)元件,如鎖存器或鎖存器的組合。
對(duì)于從異步外設(shè)傳送數(shù)據(jù)到計(jì)算機(jī)系統(tǒng)的總線主控器來說,通常需要這種同步化。圖1例示了具有異步外設(shè)106的計(jì)算機(jī)系統(tǒng)的框圖。大多數(shù)現(xiàn)代的總線系統(tǒng)提供了某些類型的總線接口邏輯100,它控制外設(shè)106和總線主控器104之間的使用總線102進(jìn)行的數(shù)據(jù)傳送??偩€接口邏輯100工作于一個(gè)時(shí)鐘域,該時(shí)鐘域可與總線主控器104的時(shí)鐘域相同步。然而,外設(shè)106工作在其自己的時(shí)鐘域,該時(shí)鐘域與總線接口邏輯100的時(shí)鐘域不相同。外設(shè)106的時(shí)鐘域的頻率一般低于總線接口邏輯100的時(shí)鐘域頻率。當(dāng)從異步外設(shè)106讀取數(shù)據(jù)時(shí),數(shù)據(jù)被置于總線102之上。然后,在總線接口邏輯102或總線主控器104中,使用設(shè)置成寄存器的觸發(fā)器對(duì)總線上的數(shù)據(jù)進(jìn)行采樣。
若讀數(shù)據(jù)不與總線時(shí)鐘同步,那么異步外設(shè)就可能在總線接口邏輯100所使用的觸發(fā)器的設(shè)定時(shí)間和/或保持時(shí)間期間將數(shù)據(jù)放置在總線上,使得一個(gè)或多個(gè)觸發(fā)器進(jìn)入亞穩(wěn)定狀態(tài)。因此,在大多數(shù)系統(tǒng)中,外設(shè)106使用外設(shè)106上的同步邏輯108將數(shù)據(jù)放置在總線102上的動(dòng)作與總線接口邏輯100的時(shí)鐘域相同步。外設(shè)106接收總線時(shí)鐘,同步邏輯108將讀數(shù)據(jù)放置在總線102上的動(dòng)作與總線時(shí)鐘相同步。
圖2例示了屬于將讀數(shù)據(jù)輸出到總線102上的外設(shè)106上的典型邏輯,它包括同步邏輯108。為了使外設(shè)將數(shù)據(jù)與總線時(shí)鐘同步,并在總線上提供穩(wěn)定值,同步邏輯108一般要求一讀緩沖器202將外設(shè)內(nèi)部的內(nèi)部數(shù)據(jù)改變/更新與驅(qū)動(dòng)到總線上的讀數(shù)據(jù)相隔離。發(fā)出一個(gè)更新使能(update_enable)信號(hào)以將準(zhǔn)備置于總線上的數(shù)據(jù)讀入內(nèi)部寄存器206中。一般地,更新使能信號(hào)足夠長(zhǎng)以同步于總線時(shí)鐘。然而,某些應(yīng)用可能使用短的更新使能信號(hào),并使用邏輯來擴(kuò)展該更新使能信號(hào)使其與總線時(shí)鐘正確同步。然后,邏輯204將更新使能信號(hào)與總線時(shí)鐘相同步,使得數(shù)據(jù)傳送到讀緩沖器202,并因而以同步于總線時(shí)鐘的方式而置于總線之上。
然而,在各外設(shè)上進(jìn)行的同步化是有缺點(diǎn)的,因?yàn)樵诟魍庠O(shè)上都需要同步邏輯。此外,當(dāng)由各外設(shè)執(zhí)行同步時(shí),同步化的行為是分散的,并且各外設(shè)沒有必要執(zhí)行相同方式的同步化。因此,希望能夠從異步外設(shè)向總線主控器提供穩(wěn)定而有效的數(shù)據(jù),而不要求各外設(shè)將其輸出與總線時(shí)鐘相同步。更一般地,希望在不同時(shí)鐘域的器件之間提供數(shù)據(jù)傳送的集中式同步化。
發(fā)明內(nèi)容
本發(fā)明的一方面提供了一種電路,用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化。該電路包括數(shù)據(jù)寄存器,用于在第一總線時(shí)鐘周期期間對(duì)由第一器件放置在數(shù)據(jù)總線上的數(shù)據(jù)進(jìn)行采樣;比較器,用于將第二連續(xù)總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)與由數(shù)據(jù)寄存器采樣的數(shù)據(jù)進(jìn)行比較。所述電路還包括多路復(fù)用器,用于在所述采樣的數(shù)據(jù)與所述第二總線時(shí)鐘周期期間總線上的數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間,輸出采樣數(shù)據(jù)給第二器件,而當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)不相同時(shí),將所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)輸出到第二器件。
本發(fā)明的另一方面提供了一種方法,用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化。在第一總線時(shí)鐘周期期間,對(duì)第一器件置于總線上的數(shù)據(jù)進(jìn)行采樣。將第二連續(xù)總線時(shí)鐘周期期間的數(shù)據(jù)總線上的數(shù)據(jù)與所述采樣的數(shù)據(jù)進(jìn)行比較。當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間,將所述采樣數(shù)據(jù)輸出給第二器件。當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)不相同時(shí),將所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)輸出給第二器件。
本發(fā)明的又一方面提供一種具有異步外設(shè)和總線接口邏輯的計(jì)算機(jī),異步外設(shè)通過將讀數(shù)據(jù)置于外圍總線上而將讀數(shù)據(jù)傳送到總線主控器,總線接口邏輯將讀數(shù)據(jù)同步化。所述總線接口邏輯包括數(shù)據(jù)寄存器,對(duì)第一時(shí)鐘周期期間外圍總線上的讀數(shù)據(jù)進(jìn)行采樣;比較器,將第二連續(xù)總線時(shí)鐘周期期間外圍總線上的讀數(shù)據(jù)與所述采樣的讀數(shù)據(jù)進(jìn)行比較;以及多路復(fù)用器,當(dāng)所述采樣的讀數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間,輸出采樣的讀數(shù)據(jù),當(dāng)所述采樣的讀數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)不相同時(shí),輸出所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)。
圖1例示了具有異步外設(shè)的計(jì)算機(jī)系統(tǒng)的框圖;圖2例示了用于將讀數(shù)據(jù)輸出到外圍總線的外設(shè)上的現(xiàn)有技術(shù)同步邏輯;圖3例示了本發(fā)明的具有異步外設(shè)的計(jì)算機(jī)系統(tǒng)的框圖;圖4例示了本發(fā)明的由同步邏輯所執(zhí)行的方法;圖5a例示了執(zhí)行圖4的方法的同步邏輯的一個(gè)實(shí)施例;
圖5b例示了解除聲明nPWAIT達(dá)一個(gè)總線時(shí)鐘周期的時(shí)序圖;圖5c例示了由異步外設(shè)解除nPWAIT達(dá)不止一個(gè)時(shí)鐘周期以擴(kuò)展讀訪問的持續(xù)時(shí)間的時(shí)序圖。
具體實(shí)施例方式
雖然本發(fā)明將以計(jì)算機(jī)系統(tǒng)中的外設(shè)和總線主控器之間的同步化的較佳實(shí)施例進(jìn)行描述,但是本發(fā)明并不限于此??梢韵胂?,本發(fā)明可適用于從具有第一時(shí)鐘域的任何源設(shè)備傳遞數(shù)字?jǐn)?shù)據(jù)到具有第二時(shí)鐘域的目標(biāo)設(shè)備。
圖3例示了根據(jù)本發(fā)明的具有異步外設(shè)306的計(jì)算機(jī)系統(tǒng)的框圖。本發(fā)明的計(jì)算機(jī)系統(tǒng)類似于圖1的計(jì)算機(jī)系統(tǒng)。按照?qǐng)D1的計(jì)算機(jī)系統(tǒng),本發(fā)明的計(jì)算機(jī)系統(tǒng)具有總線接口邏輯300,它控制外設(shè)306和總線主控器304之間使用總線302進(jìn)行的數(shù)據(jù)傳送??偩€接口邏輯300工作于一個(gè)時(shí)鐘域,該時(shí)鐘域通常同步于總線主控器304的時(shí)鐘域。然而,外設(shè)306工作于其自己的時(shí)鐘域,該時(shí)鐘域不同于總線接口邏輯300的時(shí)鐘域。外設(shè)306的時(shí)鐘頻率一般(雖然不總是)低于總線接口邏輯300的時(shí)鐘頻率。然而,異步外設(shè)306改變讀數(shù)據(jù)的速率不比總線接口邏輯300的時(shí)鐘頻率快。當(dāng)從外設(shè)306讀取數(shù)據(jù)時(shí),數(shù)據(jù)被置于總線302之上,并且總線接口邏輯300使用配置成寄存器的觸發(fā)器來采樣數(shù)據(jù)。然而,不是在各外設(shè)中具有同步邏輯,邏輯308而是內(nèi)置于總線接口邏輯300中,以確保來自總線302的讀數(shù)據(jù)在其被傳遞給總線主控器304之前是有效且穩(wěn)定的。
因此,對(duì)于對(duì)外設(shè)306進(jìn)行的讀取,外設(shè)306以異步于總線時(shí)鐘的方式將讀數(shù)據(jù)置于總線302之上。隨后,邏輯308通過實(shí)施圖4所例示的方法以確保將有效的數(shù)據(jù)傳遞給總線主控器304。如所示,邏輯308首先判斷外設(shè)306是異步的(步驟400)。隨后,邏輯308兩次或多次對(duì)外設(shè)306置于總線上的數(shù)據(jù)進(jìn)行采樣(步驟402)。邏輯308比較連續(xù)的數(shù)據(jù)采樣的值(步驟404)。如果數(shù)據(jù)采樣是相同的,則將采樣的數(shù)據(jù)作為有效數(shù)據(jù)返回給總線主控器304(步驟406)。如果數(shù)據(jù)采樣是不相同的,則將下一周期中的數(shù)據(jù)作為有效數(shù)據(jù)返回給總線主控器304(步驟408)。
圖5a例示了執(zhí)行圖4的方法的同步邏輯308的一個(gè)實(shí)施例。在該實(shí)施例中,數(shù)據(jù)是一組相關(guān)的位,表示單個(gè)信息塊,如數(shù)據(jù)字。這些位保持相干以便具有有效的信息。雖然未示出,但是數(shù)據(jù)是獨(dú)立位的組合的實(shí)施例也處于本發(fā)明的范圍之內(nèi)。在此情況下,不需要使位之間保持相干,可以獨(dú)立地改變這些位。類似地,雖然具有門控時(shí)鐘的寄存器例示為用于將數(shù)據(jù)置于總線之上的機(jī)構(gòu),但是還可使用具有相同功能的其它實(shí)現(xiàn)方式。例如,具有反饋多路復(fù)用器的寄存器、對(duì)各位具有各自時(shí)鐘的獨(dú)立寄存器或具有非門控時(shí)鐘的寄存器都可使用。類似地,即使按照三態(tài)總線來例示總線,但是本領(lǐng)域的技術(shù)人員會(huì)理解到任何類型的總線都處于本發(fā)明的范圍之內(nèi)。
當(dāng)發(fā)起讀處理時(shí)(如通過總線主控器304提供的讀使能信號(hào)),從外設(shè)306將一信號(hào)nPWAIT提供給總線接口邏輯300,以通知總線接口邏輯300該外設(shè)306是異步的,并且因此需要執(zhí)行同步化。在許多總線系統(tǒng)中,對(duì)于慢速外設(shè)來說,即對(duì)于以較低頻率運(yùn)行或由于任何其它原因而在一個(gè)總線時(shí)鐘周期內(nèi)無法使其數(shù)據(jù)準(zhǔn)備好的外設(shè)來說,還使用信號(hào)來擴(kuò)展讀訪問的持續(xù)時(shí)間。所例示的同步邏輯308的實(shí)施例把使用nPWAIT信號(hào)來通知總線接口邏輯需要執(zhí)行同步和使用該信號(hào)來擴(kuò)展讀訪問持續(xù)時(shí)間結(jié)合在一起。
不是使用外設(shè)306中的讀緩沖器,根據(jù)讀訪問,數(shù)據(jù)從寄存器506被直接驅(qū)動(dòng)到外圍總線510上。同樣,根據(jù)讀訪問,外設(shè)306將nPWAIT信號(hào)設(shè)為低(LOW)。當(dāng)外設(shè)306需要擴(kuò)展讀訪問的持續(xù)時(shí)間時(shí),nPWAIT信號(hào)設(shè)置為低長(zhǎng)達(dá)外設(shè)需要擴(kuò)展讀訪問所需的總線時(shí)鐘周期數(shù)。當(dāng)外設(shè)306僅僅需要通知總線接口邏輯300需要進(jìn)行同步時(shí),nPWAIT信號(hào)僅設(shè)定為低達(dá)一個(gè)總線時(shí)鐘周期。在此情況下,外圍總線訪問最后3個(gè)總線時(shí)鐘周期。
當(dāng)外設(shè)306指示出需要同步時(shí),總線接口邏輯300使用同步邏輯308執(zhí)行同步。同步邏輯308包括連接到外圍總線510的數(shù)據(jù)寄存器500;比較器,比較器的一個(gè)輸入連接到外圍總線510,另一個(gè)輸入連接到數(shù)據(jù)寄存器500的輸出;多路復(fù)用器504,用于在外圍總線510和數(shù)據(jù)寄存器500的輸出之間進(jìn)行選擇,作為對(duì)總線主控器304的輸入DIN。該輸入DIN被提供給一寄存器(未示出),總線主控器304使用該寄存器對(duì)來自外設(shè)306的數(shù)據(jù)進(jìn)行采樣。同步邏輯308還包括邏輯508,用于控制數(shù)據(jù)寄存器500、比較器502和多路復(fù)用器504以執(zhí)行圖4所例示的方法。
結(jié)合圖5b討論同步邏輯508的工作,圖5b例示了解除聲明nPWAIT達(dá)一個(gè)總線時(shí)鐘周期的時(shí)序圖。雖然示出的總線時(shí)鐘PCLK具有與總線主控器的時(shí)鐘MCLK相同的頻率和相位關(guān)系,但這并不是必須的。這兩個(gè)時(shí)鐘之間有時(shí)可以有輕微的不對(duì)稱,或者可以從MCLK進(jìn)行分頻來得到PCLK,從而PCLK具有較低的頻率,這取決于系統(tǒng)的實(shí)現(xiàn)。如所示,在讀訪問期間,在讀的第一總線時(shí)鐘周期期間解除nPWAIT。當(dāng)nPWAIT被解除時(shí),在第一總線周期期間置于總線510上的數(shù)據(jù)Datal在第一總線時(shí)鐘周期的結(jié)束處被讀入數(shù)據(jù)寄存器500。比較器502將第二總線時(shí)鐘周期期間總線510上的數(shù)據(jù)Data2與數(shù)據(jù)寄存器500中的數(shù)據(jù)Datal進(jìn)行比較。在第三總線時(shí)鐘周期的開始處,比較器502的結(jié)果用于控制多路復(fù)用器504或者輸出來自數(shù)據(jù)寄存器500的Datal,或者輸出在第三總線時(shí)鐘周期期間總線510上的數(shù)據(jù)。如所示,當(dāng)數(shù)據(jù)Datal等于Data2時(shí),數(shù)據(jù)寄存器500的輸出(即Datal)被多路復(fù)用器504輸出作為總線主控器304的輸入DIN。相反,當(dāng)Datal不等于Data2時(shí),由多路復(fù)用器504輸出總線510上的數(shù)據(jù)作為總線主控器304的輸入DIN。
總線接口邏輯308提供等待信號(hào)nWAIT,將總線主控器306置于等待狀態(tài)直到DIN有效為止。信號(hào)nWAIT可以用任何適當(dāng)?shù)姆绞綄⒖偩€主控器306置于等待狀態(tài),如禁用總線主控器的時(shí)鐘或通過執(zhí)行NOP防止總線主控器306進(jìn)入下一狀態(tài)。
圖5c例示了由外設(shè)306解除nPWAIT達(dá)不止一個(gè)時(shí)鐘周期以擴(kuò)展讀訪問的持續(xù)時(shí)間的時(shí)序圖。如所示,當(dāng)nPWAIT被解除達(dá)不止一個(gè)時(shí)鐘周期時(shí),多路復(fù)用器504輸出的作為DIN的數(shù)據(jù)是所述訪問的最后一個(gè)周期的總線510上的數(shù)據(jù)(即在nPWAIT的上升沿之后的周期)。
雖然已按照指示同步需要和用于擴(kuò)展讀訪問而示出了nPWAIT,但是也可能使用兩個(gè)獨(dú)立的信號(hào)來執(zhí)行各個(gè)功能。此外,還可能消除對(duì)指示外設(shè)是異步的信號(hào)的需要。通過保持一張異步外設(shè)的列表,并對(duì)這些外設(shè)自動(dòng)實(shí)施本發(fā)明,總線接口邏輯仍然能夠執(zhí)行同步而不需要信號(hào)來指示要求同步。
雖然以關(guān)于較佳實(shí)施例描述和示出了本發(fā)明,但是,可對(duì)其形式和細(xì)節(jié)作出各種改變、刪節(jié)和添加,這都不背離本發(fā)明的要旨和范圍。
權(quán)利要求
1.一種用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述電路包括數(shù)據(jù)寄存器,用于在第一總線時(shí)鐘周期期間對(duì)由第一器件放置在數(shù)據(jù)總線上的數(shù)據(jù)進(jìn)行采樣;比較器,用于將第二連續(xù)總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)與由數(shù)據(jù)寄存器采樣的數(shù)據(jù)進(jìn)行比較;多路復(fù)用器,用于在所述采樣的數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間輸出采樣數(shù)據(jù)給第二器件,而當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)不相同時(shí),將所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)輸出到第二器件。
2.如權(quán)利要求1所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述第一器件是計(jì)算機(jī)系統(tǒng)中的異步外設(shè),而所述第二器件是總線主控器。
3.如權(quán)利要求1所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述第一器件保持在一張列表中,該列表指示出當(dāng)數(shù)據(jù)傳送到第二器件時(shí)需要同步化,所述電路在數(shù)據(jù)傳送到第二器件時(shí)自動(dòng)地執(zhí)行同步化。
4.如權(quán)利要求1所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述第一器件向所述電路提供一信號(hào),指示出在數(shù)據(jù)傳送給第二器件時(shí),需要同步化。
5.如權(quán)利要求1所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述第一器件提供一信號(hào),用于指示傳送數(shù)據(jù)到第二器件的時(shí)間的持續(xù)期需要被擴(kuò)展。
6.如權(quán)利要求1所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的電路,其特征在于,所述第一器件向所述電路提供一信號(hào),用于在數(shù)據(jù)傳送給第二器件時(shí)指示需要同步化,以及指示需要擴(kuò)展用于數(shù)據(jù)傳送給第二器件的時(shí)間的持續(xù)期。
7.一種用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述方法包括在第一總線時(shí)鐘周期期間,對(duì)第一器件置于總線上的數(shù)據(jù)進(jìn)行采樣;將第二連續(xù)總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)與所述采樣的數(shù)據(jù)進(jìn)行比較;當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間,將所述采樣數(shù)據(jù)輸出給第二器件;當(dāng)所述采樣數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)不相同時(shí),將所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的數(shù)據(jù)輸出給第二器件。
8.如權(quán)利要求7所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述第一器件是計(jì)算機(jī)系統(tǒng)中的異步外設(shè),而所述第二器件是總線主控器。
9.如權(quán)利要求7所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述第一器件保持在一張列表中,該列表指示出當(dāng)數(shù)據(jù)傳送到第二器件時(shí)需要同步化,所述電路在數(shù)據(jù)傳送到第二器件時(shí)自動(dòng)地執(zhí)行同步化。
10.如權(quán)利要求7所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述第一器件向所述電路提供一信號(hào),指示出在數(shù)據(jù)傳送給第二器件時(shí),需要同步化。
11.如權(quán)利要求7所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述第一器件提供一信號(hào),用于指示傳送數(shù)據(jù)到第二器件的時(shí)間的持續(xù)期需要被擴(kuò)展。
12.如權(quán)利要求7所述的用于將從具有第一時(shí)鐘域的第一器件到具有第二時(shí)鐘域的第二器件的數(shù)據(jù)傳送同步化的方法,其特征在于,所述第一器件向所述電路提供一信號(hào),用于在數(shù)據(jù)傳送給第二器件時(shí)指示需要同步化,以及指示需要擴(kuò)展用于數(shù)據(jù)傳送給第二器件的時(shí)間的持續(xù)期。
13.一種計(jì)算機(jī),其特征在于,包括異步外設(shè),異步外設(shè)通過將讀數(shù)據(jù)置于外圍總線上而將讀數(shù)據(jù)傳送到總線主控器;總線接口邏輯,總線邏輯接口將讀數(shù)據(jù)同步化,所述總線接口邏輯包括數(shù)據(jù)寄存器,對(duì)第一時(shí)鐘周期期間外圍總線上的讀數(shù)據(jù)進(jìn)行采樣;比較器,將第二連續(xù)總線時(shí)鐘周期期間外圍總線上的讀數(shù)據(jù)與所述采樣的讀數(shù)據(jù)進(jìn)行比較;以及多路復(fù)用器,當(dāng)所述采樣的讀數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)相同時(shí),在第三連續(xù)總線時(shí)鐘周期期間,輸出采樣的讀數(shù)據(jù),當(dāng)所述采樣的讀數(shù)據(jù)與所述第二總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)不相同時(shí),輸出所述第三總線時(shí)鐘周期期間數(shù)據(jù)總線上的讀數(shù)據(jù)。
14.如權(quán)利要求13所述的計(jì)算機(jī),其特征在于,所述外設(shè)保持在一張列表中,該列表指示出讀訪問需要同步化,所述總線接口邏輯在讀訪問被執(zhí)行時(shí)自動(dòng)地執(zhí)行同步化。
15.如權(quán)利要求13所述的計(jì)算機(jī),其特征在于,所述外設(shè)向所述總線邏輯提供一信號(hào),指示出在讀訪問被執(zhí)行時(shí),需要同步化。
16.如權(quán)利要求13所述的計(jì)算機(jī),其特征在于,所述外設(shè)提供一信號(hào),用于指示傳送數(shù)據(jù)到第二器件的時(shí)間的持續(xù)期需要被擴(kuò)展。
17.如權(quán)利要求13所述的計(jì)算機(jī),其特征在于,所述外設(shè)向所述總線控制邏輯提供一信號(hào),用于在數(shù)據(jù)傳送給第二器件時(shí)指示需要同步化,以及指示需要擴(kuò)展用于數(shù)據(jù)傳送給第二器件的時(shí)間的持續(xù)期。
全文摘要
描述了一種系統(tǒng)和方法,用于將不同時(shí)鐘域中的器件之間的數(shù)據(jù)傳送同步化。在較佳實(shí)施例中,同步邏輯將來自異步外設(shè)的讀數(shù)據(jù)與總線時(shí)鐘同步。同步邏輯不是位于各個(gè)外設(shè)上,而是位于總線接口邏輯中。當(dāng)存在指示需要外設(shè)同步時(shí),同步邏輯就對(duì)數(shù)據(jù)總線進(jìn)行兩次或多次采樣,比較連續(xù)的數(shù)據(jù)采樣的值。如果數(shù)據(jù)采樣是相同的,則該數(shù)據(jù)返回給總線主控器。如果是不同的,則下一周期中的數(shù)據(jù)被返回給總線主控器。
文檔編號(hào)G06F13/40GK1568448SQ02820201
公開日2005年1月19日 申請(qǐng)日期2002年10月9日 優(yōu)先權(quán)日2001年10月16日
發(fā)明者F·布托德 申請(qǐng)人:模擬設(shè)備股份有限公司