專利名稱:狀態(tài)指示檢測裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于檢測硬件設(shè)備輸出的狀態(tài)指示的裝置和方法。一般來說,為了檢測指示脈沖或狀態(tài)指示或?qū)⑵滏i存在存儲設(shè)備中,所述狀態(tài)指示由同步于第一參考時鐘的硬件設(shè)備輸出,而同步于與所述第一參考時鐘有相位和/或頻率差異的第二時鐘的處理設(shè)備或其它監(jiān)控設(shè)備可能要讀取該狀態(tài)指示,例如1比特。因此,狀態(tài)指示可能會因不同“時鐘域”之間的相位和/或頻率失配而丟失。
具體地說,本發(fā)明所解決的問題是,對第一和第二參考時鐘之間的任意相位關(guān)系,如何才能實(shí)現(xiàn)指示信號從第一參考時鐘域到第二參考時鐘域的穩(wěn)定傳輸。
背景技術(shù):
可以采用ASIC(專用集成電路)來操作和/或監(jiān)視數(shù)據(jù)流。在這種ASIC內(nèi),通常有產(chǎn)生短脈沖形狀的狀態(tài)或錯誤指示的電路和功能塊。此外,一旦從硬件設(shè)備中讀出指示信號,則ASIC必須更新閂鎖寄存器。如上所述,鎖存狀態(tài)指示(如1比特)的寄存器或觸發(fā)器在不同于處理已鎖存指示的電路(如微控制器接口)的時鐘域下工作。因此,當(dāng)訪問閂鎖寄存器時需要同步功能來避免亞穩(wěn)態(tài)。
亞穩(wěn)態(tài)可能在觸發(fā)器(FF)的建立-保持窗口被違反的情況下出現(xiàn)。當(dāng)出現(xiàn)亞穩(wěn)態(tài)時,無法預(yù)測FF輸出的邏輯狀態(tài),從而只能以一定錯誤概率給出未確定邏輯值穩(wěn)定到確定狀態(tài)的精確時刻。當(dāng)然,理論上來說,亞穩(wěn)態(tài)的觸發(fā)器也可以被讀出。但是,因?yàn)閬喎€(wěn)態(tài),所以完全無法確定哪一個邏輯值被讀出。
再者,即使更新請求和新指示在時間上重合,同步和更新功能也不得與錯誤指示的檢測重疊。
需要鎖存這樣的狀態(tài)指示的典型環(huán)境例如SONET/SDH應(yīng)用架構(gòu)。對于這種應(yīng)用,電路會鎖存短的、時鐘周期長的指示,使它們同步于微控制器接口,并提供讀時更新功能,而在讀和更新階段不覆蓋新指示。例如,SDH/SONET ASIC可能會接收、監(jiān)視和處理16個SDH/SONET數(shù)據(jù)流。在此情況下,從SDH/SONET應(yīng)用中的數(shù)據(jù)流恢復(fù)時鐘,因此ASIC涉及16個具有相同標(biāo)稱時鐘頻率但彼此間相位關(guān)系不可預(yù)測且輸入到微控制器接口的時鐘域,所述微控制器接口使控制和配置控制器可以存取被鎖存的指示。假設(shè)鎖存的指示在微控制器讀取它們之前一直是可用的,從而可將它們更新為新指示而又不會覆蓋讀出階段到達(dá)的指示。因此,僅通過兩次連續(xù)的讀訪問,微控制器即可以檢測指示狀態(tài)中的變化。
現(xiàn)有技術(shù)說明上述更新和鎖存(檢測)來自硬件設(shè)備的狀態(tài)指示的問題是一個一般性的任務(wù),并不局限于上述的SONET/SDH應(yīng)用。例如,同一申請人提交的德國專利申請P19814359(對應(yīng)于PCT/EP99/0226(WO99/50727)和美國專利申請09/280984)描述了大體上如
圖1所示那樣存儲和訪問狀態(tài)指示的問題。
硬件設(shè)備HW例如同步于第一參考時鐘CLK_A將狀態(tài)指示SI輸出到屬于時鐘域A的輸入存儲裝置ISM。狀態(tài)指示SI′從輸入存儲裝置ISM傳送到輸出存儲裝置OSM。例如,由處理裝置PROC輸出讀請求RDRQ,以便從輸出存儲裝置OSM讀出狀態(tài)指示SI″。讀出狀態(tài)指示SI″可以同步于屬于時鐘域B的第二時鐘CLK_B,而從輸入存儲裝置ISM傳送狀態(tài)指示SI′則可以同步于屬于時鐘域A的第一時鐘CLK_A,以致讀出和傳送通常不會同時進(jìn)行(亦參見圖2中的時刻PD1、PD2)。這是時鐘CLK_A和CLK_B之間存在相位和/或頻率差所致,在實(shí)際實(shí)施例中,時鐘CLK_A和CLK_B不是從同一個源產(chǎn)生的,而且它們通常不是分布在同一個時鐘樹上。即使時鐘速率是相同的,一般的相差也存在,導(dǎo)致CLK_A和CLK_B脈沖各自的傳送和讀出沿不一致,即不同步。
在上述專利申請中,描述了在輸入存儲裝置ISM中采集狀態(tài)指示(若干位),然后將其傳送或復(fù)制到輸出存儲裝置OSM的若干寄存器中,以便一個或多個處理裝置PROC可以同時訪問輸出存儲裝置OSM中的那些狀態(tài)指示。
圖2顯示例如圖1所示的時鐘域A和時鐘域B之間典型的相位/頻率關(guān)系。例如,在時刻PD1、PD2,如果各時鐘頻率不是彼此的整數(shù)倍,即周期長度Ta不是周期長度Tb的整數(shù)倍,則各時鐘脈沖的上升沿或下降沿不匹配。此外,即使各時鐘頻率在標(biāo)稱上彼此為整數(shù)倍,相位失配也可能隨時間變化,尤其是當(dāng)時鐘頻率由不同時鐘源產(chǎn)生時。這意味著,例如新的狀態(tài)指示SI(圖2中以IN_STATUS表示)可能同步于第一參考時鐘CLK_A以鐘控方式打入輸入存儲裝置ISN;但當(dāng)存在相位和/或頻率失配時,它可能不適于傳送并存儲在輸出存儲裝置OSM中。
美國專利US5357613公開一種類似于圖1所示的電路,即輸入存儲級由多路復(fù)用器和D觸發(fā)器構(gòu)成,而輸出存儲裝置也由多路復(fù)用器和D觸發(fā)器構(gòu)成。還設(shè)有由兩個串聯(lián)的D觸發(fā)器構(gòu)成的同步級。類似于圖1,該美國專利公開的電路分別在輸入域和輸出域用兩個不同的參考時鐘工作。雖然同步級可實(shí)現(xiàn)時間域同步,并實(shí)現(xiàn)低誤碼率的數(shù)據(jù)捕獲,但是,首先它無法在兩個時鐘信號的任何頻率和相位關(guān)系下正確工作,無法確保輸出存儲級所提取的值是通過時鐘域邊界正確傳送的最新錯誤指示。
美國專利US5638015也公開了一種類似于附圖1的配置。其中,設(shè)置了輸入部分和輸出部分,各部分以不同的參考時鐘工作。其原理是采用多個延遲D觸發(fā)器,以便使兩個時鐘域匹配。其中說明了這種配置可避免亞穩(wěn)態(tài)。但是,它只適用于輸出部分的時鐘頻率大于或等于輸入部分的時鐘頻率的情況。再者,只有兩個寄存器級,一個用于接收輸入脈沖的輸入級,一個所述脈沖直接傳送到的輸出級。
如上所述,常規(guī)技術(shù)無法通用于指示鎖存時鐘域和指示提取時鐘域(下文稱為時鐘域A和時鐘域B)之間的所有時鐘和頻率關(guān)系。經(jīng)典的同步級方法,例如上述美國專利US-5357613和US-5638015所述的方法,在例如提取時鐘域B的工作時鐘CLK_B比鎖存時鐘域A的工作時鐘CLK_A慢時就會失效。因此,當(dāng)需要在任意相位/頻率關(guān)系下實(shí)現(xiàn)讀清零功能時,常規(guī)技術(shù)可能無法實(shí)現(xiàn)同步或無法盡可能快地傳遞所存儲的(鎖存或檢測到的)指示信號。
因此,常規(guī)技術(shù)下?lián)€沒有在讀出時集成所有三種功能即鎖存、同步和更新而又不會丟失輸入的狀態(tài)指示的狀態(tài)指示檢測裝置和狀態(tài)指示檢測方法。
本發(fā)明要解決的問題如上參照現(xiàn)有技術(shù),具體參照圖1和圖2所述,常規(guī)技術(shù)的電路僅由輸入級裝置ISM和輸出級裝置OSM構(gòu)成,OSM在第一參考時鐘CLK_A(鎖存域A)和第二時鐘CLK_B(讀出域B)之間相位和/或頻率關(guān)系任意的情況下,無法提供精確的鎖存、同步和讀更新功能。
因此,本發(fā)明的目的在于提出一種狀態(tài)指示檢測方法和裝置,它可以確保對應(yīng)于鎖存參考時鐘和讀出時鐘之間的每種頻率和相位關(guān)系,狀態(tài)指示都不會丟失,即對應(yīng)于每種頻率和相位關(guān)系,可以穩(wěn)定地將狀態(tài)從輸入寄存器傳送到輸出寄存器,同時可以讀入任何新輸入的狀態(tài)指示而不會丟失。
實(shí)現(xiàn)目標(biāo)的解決方案本發(fā)明目標(biāo)通過一種用于檢測狀態(tài)指示的方法(權(quán)利要求1)來實(shí)現(xiàn),其中,將原始狀態(tài)指示讀入第一參考時鐘域的輸入存儲級,以使所述狀態(tài)指示在同步于所述第一參考時鐘域的第一參考時鐘的所述輸入存儲級中可用;以及將所述讀狀態(tài)指示輸入到第二參考時鐘域的輸出存儲級,以使所述狀態(tài)指示在同步于所述第二參考時鐘域的第二參考時鐘的所述輸出存儲級中可用,所述第二參考時鐘域的所述第二參考時鐘具有與所述第一參考時鐘不同的相位和/或頻率;其中所述輸入存儲級中的所述狀態(tài)指示同步于所述第一參考時鐘移位到所述第一參考時鐘域的中間存儲級;以及響應(yīng)于輸入所述輸出存儲級的讀請求信號,對所述中間存儲級施加保持信號,以在所述中間存儲級中保持當(dāng)前狀態(tài)指示,并阻止新狀態(tài)指示從所述輸入移位到所述中間存儲級;在所述保持信號期間,對所述輸出存儲級施加讀出信號,以將所述中間存儲級中的當(dāng)前狀態(tài)指示同步于所述第二參考時鐘讀入到所述輸出存儲級。
此外,本發(fā)明目的是通過一種檢測原始狀態(tài)指示的狀態(tài)指示檢測裝置(權(quán)利要求15)來實(shí)現(xiàn)的,它包括第一參考時鐘域的輸入存儲級,用于讀取所述原始狀態(tài)指示,以使所述狀態(tài)指示在同步于所述第一參考時鐘域的第一參考時鐘的所述輸入存儲級中可用;以及第二參考時鐘域的輸出存儲級,所述讀狀態(tài)指示輸入到其中,以使所述狀態(tài)指示在同步于所述第二參考時鐘域的第二參考時鐘的所述輸出存儲級中可用,所述第二參考時鐘域的所述第二參考時鐘具有與所述第一參考時鐘不同的相位和/或頻率;其中在所述輸入存儲級與所述輸出存儲級之間設(shè)有所述第一參考時鐘域的中間存儲級,所述輸入存儲級中的所述狀態(tài)指示同步于所述第一參考時鐘移位到中間存儲級;所述輸出存儲級包括控制脈沖生成器,用于響應(yīng)輸入所述輸出存儲級的讀請求信號而產(chǎn)生讀出信號,以將此讀出信號施加于所述輸出存儲級的輸出寄存器,從而將所述中間存儲級中的當(dāng)前狀態(tài)指示同步于所述第二參考時鐘讀入所述輸出寄存器;以及所述中間存儲級包括同步級,用于產(chǎn)生施加于所述中間存儲級的中間寄存器的保持信號,以在所述中間存儲寄存器中保持當(dāng)前狀態(tài)指示,并阻止新指示從所述輸入移位到所述中間存儲級。
因此,根據(jù)本發(fā)明,狀態(tài)指示檢測裝置還包括屬于鎖存域的、稱為中間存儲級的存儲級。以如下方式控制中間存儲級使中間存儲級中當(dāng)前狀態(tài)指示的鎖存時間為保持信號的時間間隔,以使輸出存儲級可以在所述保持信號持續(xù)時間內(nèi)施加與所述第二參考時鐘同步的讀出脈沖。在此情況下,讀出脈沖可以仍與第二參考時鐘同步,而保持信號可以與第一參考時鐘同步。因此,兩個參考時鐘具有什么相位和/或頻率關(guān)系都無關(guān)緊要。
再者,讀狀態(tài)指示的格式不必與原始狀態(tài)指示的格式完全相同。例如,原始指示可能對應(yīng)于事件的發(fā)生,而讀指示可能對應(yīng)于一定計(jì)數(shù)數(shù)量的原始指示。
本發(fā)明還具有如下優(yōu)點(diǎn)輸出存儲級從中間存儲級提取的值總是通過時鐘域邊界正確傳送的最新狀態(tài)(例如錯誤)指示。
本發(fā)明的優(yōu)選實(shí)施例最好是(權(quán)利要求2/16),在所述保持信號期間,讀入一個新的原始狀態(tài)指示,并將其一直存儲在輸入存儲級中;在保持信號中止之后,輸入存儲級中的狀態(tài)指示被移位到與所述第一參考時鐘同步的所述中間存儲級。同時,可以將新的原始狀態(tài)指示輸入輸入存儲級,且至少在保持信號的持續(xù)時間內(nèi),這些原始狀態(tài)指示將保持在輸入存儲級中并被阻止移位到中間存儲級。因此,在保持信號期間產(chǎn)生同步于第二參考時鐘的讀出信號,以便無論兩個參考時鐘的相位和/或頻率關(guān)系如何,均可防止任何狀態(tài)指示的丟失。
雖然讀請求信號可以具有相對于第一或第二參考時鐘的任何相位,但是根據(jù)一個實(shí)施例(權(quán)利要求3/18),讀請求信號同步于所述第二參考時鐘輸入輸出存儲級。因此,可以確保產(chǎn)生讀出的信號也與所述第二參考時鐘同步。
根據(jù)另一個實(shí)施例(權(quán)利要求4/19),保持信號施加到同步于所述第一參考時鐘的所述中間存儲級。
再者,根據(jù)本發(fā)明的另一個實(shí)施例(權(quán)利要求5/20),來自輸入存儲裝置的狀態(tài)指示在移位到中間存儲級之前,在輸入存儲級中至少保持一個以上的第一參考時鐘。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例(權(quán)利要求6/21),響應(yīng)于所述讀請求信號,所述控制脈沖生成器產(chǎn)生同步于所述第二參考時鐘的讀鎖定脈沖,并從所述第二參考時鐘域?qū)⑵涮峁┙o所述第一參考時鐘域,所述讀鎖定脈沖的脈沖長度為允許所述第一參考時鐘域中的所述讀鎖定脈沖與所述第一參考時鐘可靠同步所需的時間長度與從所述中間存儲級將所述狀態(tài)指示讀入輸出存儲級的時間長度之和。因此,讀鎖定信號可以從輸出時鐘域移位到輸入時鐘域,充當(dāng)產(chǎn)生保持信號的基礎(chǔ)。
最好是(權(quán)利要求7/22),所述中間存儲級的所述同步級使所述讀鎖定脈沖與所述第一參考時鐘同步,并根據(jù)所述同步化的讀鎖定脈沖派生出脈沖長度至少為同步化的讀鎖定脈沖的持續(xù)時間的所述保持信號。
最好是(權(quán)利要求8/23),所述同步級以如下方式派生出所述保持信號,使所述保持信號的持續(xù)時間至少為一個但最好為兩個所述第一參考時鐘的周期,而且涵蓋第二參考時鐘的至少一個時鐘脈沖。
最好是(權(quán)利要求9/24),所述脈沖生成器產(chǎn)生同步于讀鎖定脈沖末端的所述讀出信號。
根據(jù)本發(fā)明的另一個實(shí)施例(權(quán)利要求10/25),所述輸入存儲級的輸入更新控制裝置產(chǎn)生清零脈沖,用于從輸入存儲級刪除狀態(tài)指示,所述清零脈沖是在所述保持信號中止之后產(chǎn)生的。檢查所述輸入存儲級和所述中間存儲級的內(nèi)容是否一致可以避免雖然中間存儲級尚未采樣到輸入存儲級的舊內(nèi)容,而輸入存儲級已更新狀態(tài)指示。但是,避免狀態(tài)指示丟失的備選解決方案也是可行的。
最好是(權(quán)利要求11/26),讀請求信號與所述第二參考時鐘同步,且持續(xù)時間為一個第二參考時鐘周期。即,讀請求信號只作為產(chǎn)生讀鎖定脈沖的基礎(chǔ),它可能比一個第二參考時鐘周期長很多,例如對于第二參考時鐘頻率較第一參考時鐘高很多的情況。
最好是(權(quán)利要求12/27),以與第一參考時鐘同步的方式產(chǎn)生狀態(tài)指示。因此,可以捕獲狀態(tài)指示而同時沒有額外的同步化問題。
最好是(權(quán)利要求13/28),所述讀狀態(tài)指示可以在所述輸入存儲級、中間存儲級和輸出存儲級包括1比特。
最好是(權(quán)利要求14/29),所述讀狀態(tài)指示在所述輸入存儲級、中間存儲級和輸出存儲級包括n比特。
最好是,對于1位和n位累加,輸出寄存器可包括輸出多路復(fù)用器和連接的輸出D觸發(fā)器或n位寄存器(權(quán)利要求30)。
再者,對于1位和n位累加,控制脈沖生成器(權(quán)利要求31)可以包括接收所述讀請求信號和輸出所述讀鎖定信號和所述讀出信號的控制裝置。
最好是(權(quán)利要求32),對于1位和n位累加,所述中間寄存器包括中間多路復(fù)用器和中間D觸發(fā)器或n位寄存器。
最好是(權(quán)利要求33),對于1位和n位累加,所述同步級包括至少兩個串聯(lián)的D觸發(fā)器。
此外,對于一位累加,所述輸入寄存器(權(quán)利要求34)可以包括兩個串聯(lián)的多路復(fù)用器和一個輸入D觸發(fā)器。
此外,對于n位累加,所述輸入寄存器可以包括可以同時存儲n比特的n位寄存器(權(quán)利要求35)。
此外,對于一位累加,輸入更新控制裝置(權(quán)利要求36)可以包括一個D觸發(fā)器、兩個“與”門和一個“異或非”門。
此外,對于n位累加,輸入更新控制裝置可以包括一個D觸發(fā)器、一個“與”門和一個四輸入/單輸出的多路復(fù)用器(權(quán)利要求37)。
保持信號的主要功能是要足夠長,以便期間至少出現(xiàn)一個第二時鐘的參考脈沖,以防止輸出寄存器中的亞穩(wěn)態(tài),所述保持信號與第一參考時鐘同步,以避免中間寄存器中的亞穩(wěn)態(tài)。最好是,輸入存儲級和中間存儲級中的所有操作均與所述第一參考時鐘同步執(zhí)行(權(quán)利要求38),而所述輸出存儲級中的所有操作均與所述第二參考時鐘同步執(zhí)行。
所述狀態(tài)指示可以通過例如監(jiān)視多個(如16個)SDH/SONET數(shù)據(jù)比特流產(chǎn)生(權(quán)利要求39)。
另一個實(shí)施例涵蓋通過VSLI結(jié)構(gòu)實(shí)現(xiàn)輸入、中間和輸出級(權(quán)利要求40)。
本發(fā)明的其它優(yōu)選實(shí)施例和改進(jìn)可以從從屬權(quán)利要求中得到。再者,應(yīng)注意,本發(fā)明還涵蓋各種修改和變更方案,例如可對說明書和/或權(quán)利要求書中單獨(dú)說明的特征和/或步驟加以組合。
以下將參考本發(fā)明的實(shí)施例及參照附圖所示來說明本發(fā)明。
附圖簡介在附圖中,相同或相似的參考數(shù)字表示相同或相似的步驟。附圖中圖1顯示根據(jù)現(xiàn)有技術(shù)的狀態(tài)指示檢測裝置,它包括輸入存儲級ISM和輸出存儲級OSM;圖2顯示當(dāng)?shù)谝粎⒖紩r鐘CLK_A的頻率遠(yuǎn)高于第二參考時鐘CLK_B的頻率時,第一參考時鐘CLK_A和第二參考時鐘CLK_B的相位和/或頻率關(guān)系實(shí)例;圖3顯示根據(jù)本發(fā)明的狀態(tài)指示檢測SIDM裝置的一個實(shí)施例;圖4顯示對應(yīng)于1位讀指示的情況的圖3所示部件的詳細(xì)實(shí)施例;圖5a顯示當(dāng)?shù)谝粎⒖紩r鐘CLK_A具有較第二參考時鐘CLK_B高的頻率時,圖3和圖4所示信號的關(guān)系。
圖5b顯示第一和第二參考時鐘CLK_A、CLK_B具有相同頻率fA=fB的情況;圖5c顯示第一參考時鐘CLK_A的頻率較第二參考時鐘CLK_B的頻率低時,圖3和圖4所示信號的關(guān)系。
圖6顯示圖3和圖4中的電路產(chǎn)生信號和傳遞狀態(tài)指示的時序圖;以及圖7顯示在對原始指示計(jì)數(shù)的情況下,圖3所示各單元的更詳細(xì)的實(shí)施例;以及圖8顯示圖7中的電路產(chǎn)生信號和傳遞狀態(tài)指示的時序圖。
尤其應(yīng)注意,圖6、圖7以及圖5a、5b、5c和圖8中的標(biāo)記“STATREG、BRIDGEREG和OUTPUT_REG”表示圖3所示的輸入寄存器INM、中間寄存器INT和輸出寄存器ORM以及圖4和圖7的特殊實(shí)施例中的相應(yīng)電路。
本發(fā)明概述(1或n位狀態(tài)指示)隨后將參考圖3、圖5a(fA>fB的情況)以及圖6中信號產(chǎn)生和狀態(tài)指示移位的時序圖來說明本發(fā)明的原理。即,將首先針對第一參考時鐘CLK_A的頻率fA遠(yuǎn)高于第二參考時鐘CLK_B的頻率fB的情況來說明本發(fā)明。但是,同樣要考慮于fA=fB和fA<fB的情況。再者,對本發(fā)明原理的說明與狀態(tài)指示是一位還是n位狀態(tài)指示無關(guān)。
如圖3所示,根據(jù)本發(fā)明的狀態(tài)指示檢測裝置SIDM在如下方面與圖1中的裝置相似它包括同步于第一參考時鐘CLK_A讀入狀態(tài)指示IN_STATUS的輸入存儲級INS和同步于第二參考時鐘CLK_B輸入狀態(tài)指示IN_STATUS′的輸出存儲級OSS。第一和第二參考時鐘CLK_A和CLK_B一般具有如圖2所示的不同的相位和/或頻率fA;fB。
與圖1中的裝置的差別之一是,圖3的本發(fā)明裝置在輸入存儲級INF和輸出存儲級OSS之間還包括中間存儲級ISS。所述輸入存儲級INS中的狀態(tài)指示同步于所述第一參考時鐘CLK_A移位到中間存儲級ISS,如第一參考時鐘CLK_A輸入輸入存儲級INS和中間存儲級ISS所示。
因此,圖3中也可以區(qū)分第一時鐘域A和第二時鐘域B,第一時鐘域A中的所有操作和信號傳輸均同步于第一參考時鐘CLK_A;而第二時鐘域B中的所有操作和信號傳輸均同步于第二參考時鐘CLK_B,這類似于圖1,但不同之處在于附加的中間存儲級ISS。讀請求信號RDRQ從外部輸入第二時鐘域B,因此可能具有相對于第二參考時鐘CLK_B或第一參考時鐘CLK_A的任意相位關(guān)系。但是,讀請求信號RDRQ最好也同步于第二參考時鐘CLK_B。
如圖3所示,例如來自SONET/SDH應(yīng)用的狀態(tài)指示IN_STATUS(即出錯位指示)可能通過例如硬件設(shè)備(HW)輸出。但是,狀態(tài)指示通??赡艹鲎粤硪粋€源頭,不過本發(fā)明的上下文與這些狀態(tài)指示由硬件還是軟件產(chǎn)生并不相關(guān)。一般來說,狀態(tài)指示具有比特結(jié)構(gòu),而且根據(jù)所采用的邏輯,它們將根據(jù)其電平為“0”或“1”而指示某種狀態(tài)。
如圖6所示,狀態(tài)指示可同步于第一參考時鐘CLK_A而產(chǎn)生。但是,狀態(tài)指示IN_STATUS不必與第一參考時鐘CLK_A同步,而且長度不必為第一參考時鐘CLK_A的一個周期那么長。
例如,IN_STATUS可以與第一參考時鐘CLK_A同步,但可能比此第一參考時鐘CLK_A周期長。在此情況下,可以執(zhí)行負(fù)沿檢測(例如類似于圖4中門I10、I11和I12的情況,對此下文將作詳細(xì)解釋),以便將此同步化后的狀態(tài)指示輸入到輸入存儲級中。
另一個實(shí)例是,狀態(tài)指示IN_STATUS可與第一參考時鐘CLK_A異步。在此情況下,可以在該狀態(tài)指示頻率fCLK_IN小于第一參考時鐘頻率CLK_A的限制下引入常規(guī)同步級(包括圖4中的至少兩個串聯(lián)的觸發(fā)器如I09和I10,下文將對此作詳細(xì)解釋)。其結(jié)果與前一個實(shí)例相同,即將狀態(tài)指示IN_STATUS讀入輸入存儲級,使之在同步于所述第一參考時鐘CLK_A的輸入存儲級中可用,如圖5a、5b、5c和圖6所示。
狀態(tài)指示IN_STATUS鎖存在輸入存儲裝置INS中,然后再傳送到中間存儲級ISS,然后在讀請求信號RDRQ輸入輸出存儲級OSS時,再傳送到輸出存儲級OSS。例如,對該狀態(tài)指示感興趣的處理裝置可以任意定時將這種讀請求信號RDRQ輸出到輸出存儲級OSS,雖然如上所述,只同步于第二參考時鐘CLK_B的輸入也是可能的。
如圖6和圖5a所示,根據(jù)本發(fā)明,用特殊控制信號CLEAR_PULSE、LOCK和STROBE分別來控制輸入存儲級INS的輸入寄存器INM、中間存儲裝置ISS的中間寄存器INT以及輸出存儲級OSS的輸出寄存器ORM,使得第一參考時鐘CLK_A和第二參考時鐘CLK_B可以具有任意頻率和/或相位關(guān)系,而仍不會丟失任何狀態(tài)指示,即,響應(yīng)發(fā)出的讀請求信號RDRQ而輸入到輸入存儲級INS的每個狀態(tài)指示IN_STATUS都將可靠地移位到輸出寄存器ORM。
因此,可以說對于圖3中的狀態(tài)指示檢測裝置SIDM,兩個時鐘域A和B之間的同步是基于功能而非同步級來實(shí)現(xiàn)的,且與“讀清零”功能緊密地結(jié)合在一起(如圖6所示),從而構(gòu)造出適用于第一參考時鐘CLK_A和第二參考時鐘CLK_B之間存在任意時鐘關(guān)系的通用設(shè)計(jì)。
STROBE讀出信號產(chǎn)生因?yàn)樾盘朇LEAR_PULSE、LOCK和STROBE的時間關(guān)系和功能對于理解本發(fā)明是相關(guān)的,所以隨后將參考圖6(其中還顯示了圖4所示實(shí)施例的其它信號)解釋信號LOCK和STROBE的關(guān)系。
如圖6所示,在步驟S0中,從例如處理裝置PROC將讀請求信號RDRQ輸入輸出存儲級OSS,處理裝置PROC通常甚至可能處于第二時鐘域B之外的另一個時鐘域C中(附圖中未顯示),即它不一定與第二參考時鐘CLK_B同步。即讀請求信號RDRQ可能與第二參考時鐘CLK_B的脈沖不對齊,因?yàn)橐话闱闆r下,它只向輸出存儲級OSS提供希望將狀態(tài)指示IN_STATUS′傳送到所述輸出存儲級OSS的指示。但是,也可以這樣設(shè)計(jì),使讀請求信號RDRQ確實(shí)同步于第二參考時鐘CLK_B,如圖6中可見。
如圖5a中的箭頭RQ(以及圖5b和5c中的箭頭RQ′和RQ″)所示,讀請求信號RDRQ可能同步于第二參考時鐘CLK_B,但例如它與第一時鐘域A的第一參考時鐘CLK_A不對齊,如箭頭IN所示。再者,如圖5a中箭頭RDE(以及圖5b和5c中的RDE′和RDE″)所示,讀請求信號RDRQ的持續(xù)時間最好可以為一個第二參考時鐘周期。
響應(yīng)接收到上述配置中的讀請求信號RDRQ,輸出存儲級OSS的控制脈沖生成器CG產(chǎn)生讀鎖定脈沖RDLCK和讀出信號STROBE,分別施加于輸入存儲級ISS和輸出存儲級OSS的輸出寄存器ORM,如圖6中步驟S1和S2所示。
如對應(yīng)于兩個參考時鐘CLK_A和CLK_B之間具有不同頻率和相位關(guān)系的圖5a、5b和5c所示,讀鎖定脈沖RDLCK具有至少為一個第二參考時鐘CLK_B周期的脈沖長度RDLCKL、RDLCKL′和RDLCKL″,其中RDE、RDE′和RDE″同步于讀請求信號RDRQ。但是,如圖3所示,讀鎖定脈沖RDLCK要從時鐘域B傳送到時鐘域A。為了確保時鐘域A可以可靠地捕獲此讀鎖定脈沖并使之同步地對齊于時鐘域A中的第一參考時鐘CLK_A,脈沖RDLCK的脈沖長度RDLCKL、RDLCKL′和RDLCKL″最好應(yīng)該為至少一個第一參考時鐘CLK_A的周期長度Tclk_A。而且它的長度最好為第一參考時鐘CLK_A的一個周期長度Tclk_A加上第一時鐘域A中接收讀鎖定信號RDLCK的采樣觸發(fā)器(寄存器)的建立保持窗口的持續(xù)時間,即RDLCKL、RDLKCL′、RDLCKL″≥Tclk_A+Tsetup_hold (1)因?yàn)檫@允許在這兩個時鐘域之間相位關(guān)系任意的情況下均可捕獲到讀時鐘脈沖。因此,讀鎖定信號RDLCK(讀鎖定)是同步于第二參考時鐘CLK_B從讀請求脈沖RDRQ派生的。從根本上說,它是脈沖RDRQ同步于第二參考時鐘CLK_B拓寬得到的。
讀出信號STROBE的脈沖長度最好等于第二參考時鐘CLK_B的一個周期;具體地來說,具有單脈沖周期長度的讀出信號STROBE同步于讀鎖定脈沖RDLCK的末端。由于不同的頻率關(guān)系,圖5b和5c清晰地表明STROBE信號的單脈沖長度,而在圖5a中,STROBE信號長度與RDLCK脈沖的長度相同。但是,這通常只針對情況fA>fB才成立,而對于一般情況,在圖5b和圖5c中可以看出STROBE信號的長度通常具有同步于RDLCK脈沖的末端的單脈沖周期。
如圖6所示,完全與讀請求信號RDRQ的產(chǎn)生不相干,在步驟ST1,新的狀態(tài)指示同步于第一參考時鐘CLK_A的一個脈沖(如圖5a、5b和5c中箭頭IN、IN′和IN″所示),在步驟ST2,隨著第一參考時鐘CLK_A的脈沖連續(xù)產(chǎn)生,輸入存儲級INS的輸入寄存器INS仍然保持設(shè)為對應(yīng)于狀態(tài)指示的某個值(這可以根據(jù)稍后對圖4的說明來加以理解,狀態(tài)指示IN_STATUS并非真正地“以鐘控方式打入”輸入寄存器INM的寄存器STATREG中,因?yàn)闋顟B(tài)指示線IN_STATUS和寄存器STATREG的D輸入之間沒有直接的連接;IN_STATUS上的邏輯1只在STATREG被讀出之后才通過門I02和I01使寄存器STATREG置位)。
因?yàn)槭孪燃葻o法知道讀請求脈沖RDRQ的精確出現(xiàn)時間也無法知道新狀態(tài)指示IN_STATUS的精確出現(xiàn)時間,并且還因?yàn)榈谝粎⒖紩r鐘CLK_A和第二參考時鐘CLK_B具有任意頻率和/或相位關(guān)系,所以無法確定RDRQ、RDLCK和STROBE與IN_STATUS的任何明確而固定的關(guān)系。所能說的就是,響應(yīng)于讀請求信號RDRQ,在若干個第二參考時鐘CLK_B周期(在圖5a中為一個時鐘周期;在圖5b中為兩個時鐘周期;在圖5c中為八個時鐘周期;具體由RDLCK的長度來確定)“之后”,產(chǎn)生讀出選通信號STROBE(但是,應(yīng)該注意,無論讀出脈沖STROBE何時產(chǎn)生,它均可同步于第二參考時鐘CLK_B的脈沖而產(chǎn)生)。
關(guān)于“之后”,它意味著讀出脈沖STROBE必須在讀鎖定脈沖RDLCK期間產(chǎn)生但在其末端結(jié)束。如上所述,讀鎖定脈沖RDLCK必須足夠長,以便它可以可靠地同步于時鐘域A,以及它可以使數(shù)據(jù)(通過保持信號LOCK)保持在中間存儲級ISS中,直到數(shù)據(jù)移位到輸出寄存器ORM為止。即如果要將讀出信號STROBE完全任意地置于讀鎖定脈沖RDLCK期間,則可能產(chǎn)生如下情況,例如它被置于讀鎖定信號RDLCK的開始位置,即讀鎖定脈沖RDLCK尚未同步于時鐘域A且因此保持信號LOCK尚未產(chǎn)生的時刻。但是,如果未產(chǎn)生保持信號LOCK,則中間寄存器中自由變化的數(shù)據(jù)可能在輸出寄存器中引起亞穩(wěn)態(tài),這在頻率關(guān)系為fA>>fB時尤其嚴(yán)重。因此,讀出脈沖STROBE最好應(yīng)該在讀出脈沖STROBE末端之前產(chǎn)生一個第二時鐘周期。
再者,雖然圖5a、5b、5c和圖6顯示讀出信號STROBE同步于第二參考時鐘CLK_B,但是讀出脈沖STROBE并非一定同步于第二參考時鐘CLK_B而產(chǎn)生。重要的僅僅是,讀出信號STROBE本身的變化以及中間存儲級的中間寄存器中的變化均不會破壞輸出存儲級的輸出寄存器的建立-保持窗口。例如,可以設(shè)想,處理裝置PROC使用外部時鐘C來產(chǎn)生讀請求信號RDRQ,而對于TCLK_B<TCLK_C且具有已知的最大相位抖動的情況,讀出信號STROBE由許多分別具有周期CLK_B的脈沖組成,并且使這些脈沖設(shè)置在輸出寄存器的正沿下(正沿觸發(fā)的),從而使輸出寄存器的建立-保持窗口保持不受信號變化的約束。因此,讀出信號STROBE可能不必同步于所述第二參考時鐘CLK_B脈沖而產(chǎn)生。
鎖定中間寄存器INT的內(nèi)容根據(jù)圖3和圖6的步驟S3可知,讀鎖定信號RDLCK毫無疑問負(fù)責(zé)確保中間存儲級ISS的同步級SS可以產(chǎn)生保持信號LOCK,以便將其施加于中間存儲級的中間寄存器INT,用以在所述中間寄存器INT中保持當(dāng)前狀態(tài)指示以及阻止新的指示從所述輸入INS移位到所述中間存儲級ISS。
但是,也可以采用其它機(jī)制來產(chǎn)生保持信號LOCK。要點(diǎn)在于保持信號LOCK的持續(xù)時間為LOCKL;LOCKL′;LOCKL″(如圖5a、5b、5c所示),其中至少出現(xiàn)一個第二參考時鐘脈沖。這對圖5a、5b和5c中的所有情況通常都是正確的。由于不同的頻率關(guān)系,在圖5a中,保持信號LOCK持續(xù)期間只包括一個第二參考時鐘脈沖,而在圖5b中,保持信號LOCK的持續(xù)時間包括兩個脈沖,在圖5c中,保持信號LOCK包括多個第二參考時鐘脈沖。
通過查看讀鎖定脈沖RDLCK、保持信號LOCK本身和讀出信號脈沖STROBE的時間關(guān)系,可以容易地理解保持信號LOCK的定時和保持信號LOCK的持續(xù)時間的產(chǎn)生。最好首先查看RDLCK的產(chǎn)生。RDLCK主要負(fù)責(zé)產(chǎn)生保持信號LOCK,用于凍結(jié)傳送到中間寄存器INT的狀態(tài)指示。讀鎖定信號RDLCK的持續(xù)時間主要確定保持信號LOCK的持續(xù)時間。本質(zhì)上,保持信號LOCK必須足夠長,以使來自中間寄存器INT的數(shù)據(jù)可以利用讀脈沖STROBE移至輸出寄存器ORM。再者,讀鎖定信號必須足夠長,以便可以將其采樣到或以鐘控方式打入時鐘域A,否則,根本無法產(chǎn)生保持信號LOCK。更具體地來說,讀鎖定脈沖RDLCK的持續(xù)時間是可靠地使RDLCK同步于第一時鐘域A所需的時間加上數(shù)據(jù)從中間寄存器INT到輸出寄存器ORM的傳輸時間。因此,保持信號LOCK的持續(xù)時間只取決于讀鎖定信號RDLCK的長度,而不是自動設(shè)為第一參考時鐘CLK_A的2個時鐘周期那么長(雖然在圖5a、5b、5c中它剛好是以2TCLK_A滿足公式(1)的這種持續(xù)時間)。但是,滿足公式(1)的保持信號LOCK的典型的持續(xù)時間是2TCLK_A。
從圖5a可以看出,同步級SS最好同步于第一參考時鐘CLK_A產(chǎn)生保持信號LOCK,因?yàn)橥郊塖S接收第一參考時鐘CLK_A。盡管長度RDLCKL(RDLCKL′、RDLCKL″)原則上將確定保持信號LOCK的持續(xù)時間LOCKL,但長度LOCKL和RDLCKL不會完全相同,因?yàn)殚L度RDLCKL根本上是由同步級“映射到”或“同步于”第一參考時鐘CLK_A的。
就讀出信號STROBE而言,狀態(tài)指示ST1、ST2的出現(xiàn)和移位,和保持信號LOCK的實(shí)際出現(xiàn)之間也無明確的時間關(guān)系,至少是因?yàn)長OCK基于例如RDLCK,并因此基于RDRQ脈沖的出現(xiàn)。
但是,重要的是,在讀請求脈沖RDRQ出現(xiàn)之后產(chǎn)生長度涵蓋至少一個第二參考時鐘脈沖的保持信號LOCK,且最好同步于第一參考時鐘CLK_A,因?yàn)樗拈L度至少為傳送到第一時鐘域A的讀鎖定脈沖RDLCK的持續(xù)時間,其持續(xù)時間具體如等式(1)所述的,為允許在時鐘域A中捕獲到RDLCK所需的時間再加上必需的建立-保持時間。此外,重要的是,在保持信號LOCK的持續(xù)時間內(nèi)在中間寄存器INT中保持當(dāng)前狀態(tài)指示(例如通過將要參照圖4中的特定實(shí)施例來解釋的時鐘循環(huán)過程),以及在保持信號LOCK的持續(xù)時間內(nèi)阻止新指示從輸入寄存器INM移位到中間寄存器INT。STROBE和LOCK脈沖的時間關(guān)系雖然無法在將新狀態(tài)指示讀入輸入寄存器INM中(在步驟ST1和ST2)和讀請求脈沖RDRQ、讀出脈沖STROBE以及保持脈沖LOCK的出現(xiàn)之間明確定義時間關(guān)系,即涵蓋至少一個第二參考時鐘周期的保持信號在讀請求脈沖RDRQ之后的某個時間產(chǎn)生,但是選通脈沖STROBE與保持脈沖LOCK之間存在重要的準(zhǔn)時間關(guān)系。
即,響應(yīng)接收到讀請求信號RDRQ,同步于第二參考時鐘CLK_B在讀請求信號RDRQ的末端產(chǎn)生持續(xù)時間為一個第二時鐘脈沖CLK_B周期的讀出脈沖STROBE(以避免在基于讀請求信號RDRQ的讀鎖定脈沖RDLCK已同步于時鐘域A之前產(chǎn)生讀出脈沖STROBE)。另一方面,讀鎖定信號RDLCK的持續(xù)時間為在時鐘域A實(shí)現(xiàn)同步所需的時間再加上建立-保持所需時間(根據(jù)公式(1))和至少允許數(shù)據(jù)中間寄存器移位到輸出寄存器所需的時間。最后,保持信號LOCK的持續(xù)時間至少與讀鎖定信號RDLCK相同,即足夠長,以允許將數(shù)據(jù)從中間寄存器傳送到輸出寄存器。
即,如圖5a、5b和5c所示,對于不同的頻率關(guān)系,讀出脈沖STROBE可以準(zhǔn)確地產(chǎn)生于保持信號LOCK持續(xù)時間LOCKL、LOCKL′和LOCKL″期間。如上所述,通過讀鎖定脈沖RDLCK的中介作用(或通過其它方式),選通脈沖STROBE始終同步于第二參考時鐘CLK_B產(chǎn)生,而且當(dāng)此選通脈沖STROBE產(chǎn)生于持續(xù)時間LOCKL、LOCKL′、LOCKL″內(nèi)時,則有可能同步于第二參考時鐘CLKB讀出保存在中間寄存器INT中的任何當(dāng)前狀態(tài)指示。如果狀態(tài)指示已經(jīng)在步驟ST1、ST2和ST3于早先的第一參考時鐘周期內(nèi)傳送(如圖6所示),則讀出信號STROBE將在保持信號LOCK期間讀出此狀態(tài)指示,因?yàn)閺谋3中盘朙OCK的鎖定開始位置LS、LS′、LS″起,中間寄存器INT中的任何當(dāng)前狀態(tài)指示將被保持(通過循環(huán)處理),并阻止新的狀態(tài)指示被移位到中間寄存器INT中。
另一方面,在保持信號LOCK結(jié)束之后(如圖5a、5b、5c的箭頭LE、LE′和LE″所示),同步于所述第一參考時鐘CLK_A將輸入寄存器INM中存在的任何狀態(tài)指示移入中間寄存器INT中,如圖6的步驟ST5所示。
接下來,解釋保持信號LOCK對中間寄存器INT執(zhí)行的控制和輸入存儲控制裝置DM利用清零脈沖CLEAR_PULSE對輸入寄存器INM執(zhí)行的控制的交互。
從圖3和圖4可以看出,保持信號LOCK對輸入寄存器INM沒有直接的影響。如果檢測到保持信號LOCK的負(fù)沿(通過門I12),則產(chǎn)生主清零脈沖CP。但是如果此主清零脈沖CP直接施加到輸入寄存器INM上,則CP會使輸入寄存器INM(更具體地說使圖4所示的寄存器STATREG在保持信號LOCK的負(fù)沿之后立即采用尚在輸入IN_STATUS上的當(dāng)前值,即便中間寄存器INT(BRIDGEREG)尚未接收輸入寄存器(STATREG)中上次存儲的值。必須避免這種情況,否則,輸入寄存器中的狀態(tài)指示可能丟失。因此,門I13和I14根據(jù)主清零脈沖CP、輸入寄存器的當(dāng)前輸出(STATREG的Q輸出)和中間寄存器的當(dāng)前輸出(BRIDGEREG的Q輸出)產(chǎn)生清零脈沖CLEAR_PULSE,從而只允許在STATREG和BRIDGEREG的內(nèi)容相同(STATREG=BRIDGEREG)之后,即在STATREG中的前一個狀態(tài)指示已經(jīng)成功傳送到中間寄存器INT之后,以新的狀態(tài)指示IN_STATUS更改STATREG的內(nèi)容。
因此可以說,僅在保持信號LOCK失效之后且當(dāng)輸入寄存器INM與中間寄存器INT的存儲內(nèi)容一致時才產(chǎn)生允許接收新的狀態(tài)指示的清零脈沖CLEAR_PULSE。這就是輸入存儲控制裝置DM所執(zhí)行的步驟S4和S5的目的所在,下文將參考圖4的特殊實(shí)施例進(jìn)行詳細(xì)說明。
如上所述,保持信號LOCK的持續(xù)時間或脈沖長度LOCKL、LOCKL′、LOCKL″(在圖5a中為三個第一參考時鐘周期;在圖5b中為兩個第一參考時鐘周期;在圖5c為兩個第一參考時鐘周期;即為所述第一參考時鐘的至少兩個周期)以及此保持信號LOCK的實(shí)際出現(xiàn)時間都是無關(guān)緊要的,只要它的持續(xù)時間足夠長,以使與第二參考時鐘同步的選通脈沖STROBE含在保持信號脈沖LOCKL之內(nèi)即可。因?yàn)樵诒3中盘柍掷m(xù)時間內(nèi),可以將新的狀態(tài)指示讀入輸入寄存器INM,并(通過循環(huán))保持在輸入寄存器INM中,而且因?yàn)楫?dāng)前狀態(tài)指示(通過循環(huán))保持在中間寄存器ISS時阻止新的指示傳送到中間寄存器INT中,所以一方面不會有新的狀態(tài)指示丟失的危險(它將通過循環(huán)保持在輸入寄存器中),另一方面,可以同步于第二時鐘域B的第二參考時鐘將最新的狀態(tài)指示從中間寄存器INT讀入輸出寄存器ORM(如圖6中步驟ST4所示)。
如上所述,保持信號LOCK具有足夠長的持續(xù)時間,以在產(chǎn)生讀出脈沖STROBE時可使數(shù)據(jù)從中間寄存器INT傳送到輸出寄存器ORM。因?yàn)楸3中盘朙OCK的長度也基于讀鎖定脈沖RDLCK的長度(讀鎖定脈沖RDLCK本身的持續(xù)時間必須為使其在時鐘域A實(shí)現(xiàn)同步所需時間(外加同步級SS中的建立-保持時間),所以保持信號LOCK的典型長度(在產(chǎn)生讀出選通脈沖STROBE時也包括至少一個第二參考時鐘的脈沖)是第一參考時鐘CLK_A周期的幾倍,例如兩倍或三倍。對于圖5a、5b、5c中的頻率關(guān)系,這足以允許將數(shù)據(jù)從中間寄存器傳送到輸出寄存器,即輸出寄存器ORM在時鐘域B中讀入已經(jīng)用時鐘域A的參考時鐘以鐘控方式打入中間寄存器INT的指示。
因此,使當(dāng)前狀態(tài)指示保持在中間存儲級并阻止新的狀態(tài)指示從輸入存儲級移入的保持信號LOCK起到一種“屏蔽時間”的作用,它長度足以補(bǔ)償兩個參考時鐘CLK_A和CLK_B之間的任何頻率和/或相位關(guān)系,這可從圖5a、5b、5c容易看出。例如,在圖5c中,唯一的重要的是,讀出脈沖STROBE確實(shí)出現(xiàn)在保持信號LOCK的持續(xù)時間內(nèi),但是,至于采用保持信號持續(xù)時間LOCK”內(nèi)的第二還是第三個脈沖用于讀出中間寄存器INT則完全無關(guān)緊要。但是,讀出選通信號STROBE是同步于讀鎖定信號RDLCK的末端而產(chǎn)生的,以避免在讀鎖定脈沖RDLCK同步于時鐘域A產(chǎn)生并因此可以產(chǎn)生保持信號LOCK之前發(fā)生從中間級到輸出寄存器的讀出操作。
因此,可以歸納出下列基本步驟1.只要未產(chǎn)生保持信號LOCK,狀態(tài)指示就像在移位寄存器中一樣從輸入寄存器INM移入中間寄存器INT(步驟ST1、ST2和ST3)。
2.當(dāng)在步驟S1于某個時間產(chǎn)生讀請求RDRQ(可能與第二參考時鐘同步)時,一定時間之后(LS、LS′、LS″),產(chǎn)生包含至少一個第二參考時鐘脈沖周期的保持信號LOCK。保持信號LOCK的持續(xù)時間長得足以使產(chǎn)生讀出脈沖STROBE時,數(shù)據(jù)從中間寄存器INT傳送到輸出寄存器ORM。因?yàn)楸3中盘朙OCK的長度也基于讀鎖定脈沖RDLCK的長度(讀鎖定脈沖RDLCK本身的持續(xù)時間必須為可使其在時鐘域A實(shí)現(xiàn)同步所需的時間(外加同步級SS中的建立-保持時間)),所以保持信號LOCK的典型長度(在讀出選通脈沖STROBE產(chǎn)生時至少涵蓋了一個第二參考時鐘脈沖)是第一參考時鐘CLK_A周期的兩倍。
3.在保持信號持續(xù)時間內(nèi)且在讀鎖定脈沖RDLCK的末端產(chǎn)生(S6)讀出選通脈沖STROBE,并將中間寄存器INT的當(dāng)前狀態(tài)讀到同步于第二時鐘CLK_B的輸出寄存器ORM中(ST4)。
4.在鎖定信號LOCK產(chǎn)生期間,將當(dāng)前狀態(tài)指示保持在中間寄存器INT中,且可以同步于第一參考時鐘將新的狀態(tài)指示讀入輸入寄存器INM中。
此過程不受第一參考時鐘頻率fA和第二參考時鐘頻率fB之間的任何頻率關(guān)系(fA>fB;fA<fB;fA=fB)影響。即,響應(yīng)處理裝置PROC輸出的(例如來自微控制器(MC)的)讀請求信號RDRQ,最后產(chǎn)生保持信號LOCK。之所以本發(fā)明具有MC始終接收“最新”狀態(tài)指示這一特征,是因?yàn)樵谳敵黾拇嫫髯x取中間寄存器之后,產(chǎn)生清零脈沖CLEAR_PULSE,以允許更新輸入寄存器INM,即更新STATEG。
因此,在本發(fā)明中,設(shè)置輸入寄存器INM、中間寄存器INT(二者均屬于時鐘域A)和輸出寄存器ORM(屬于時鐘域B)并利用讀出信號STROBE和保持信號LOCK對其實(shí)施特殊控制,確保與相位和頻率關(guān)系無關(guān)而又不會丟失新輸入狀態(tài)指示且通過時鐘域邊界傳送最新狀態(tài)指示。
此外,通過上述特征的組合,可以通過功能方式(即通過適當(dāng)?shù)禺a(chǎn)生讀出脈沖STROBE)來避免輸出寄存器ORM中的亞穩(wěn)態(tài)。延遲從輸入寄存器向中間寄存器移位如圖6所示,(也可從圖5a、5b、5c可見),在保持信號LOCK中止于LE、LE′、LE″之后,狀態(tài)指示在輸入存儲級寄存器INM(STATREG)中保持至少一個以上的第一參考時鐘周期(結(jié)束于STE、STE′、STE″)。即,清零脈沖CLEAR_PULSE負(fù)責(zé)控制輸入寄存器INM的更新。一方面,保持信號LOCK(LOCK=“0”)的終止控制輸入寄存器INM的內(nèi)容向中間寄存器INT的傳送。另一方面,在輸入寄存器INM的更新會改變輸入寄存器INM的內(nèi)容,而中間寄存器INT尚未對輸入寄存器INM的舊內(nèi)容采樣的情況下要抑制CLEAR_PULSE。
圖5a、5b、5c中的實(shí)例以上說明了響應(yīng)于讀請求脈沖RDRQ的一次出現(xiàn),信號STROBE、LOCK和CLEAR_PULSE之間的關(guān)系。但是,從圖5a、5b、5c中可以看到,可以采用周期性讀周期,即周期性地輸出讀請求信號RDRQ。微控制器MC(處理裝置PROC)的讀操作的頻度取決于實(shí)際的實(shí)現(xiàn)方式。實(shí)際的訪問周期為大約每106個CLK_A時鐘周期一次,圖5a所示的純例示性實(shí)例顯示了一種每逢第4個時鐘周期進(jìn)行一次的讀訪問,圖5b顯示的則是每逢第5個時鐘周期一次,圖5c顯示的則是每逢第18個時鐘周期一次。
如圖5a、5b和5c所示,無論讀取和更新過程有什么相位,都可捕獲到狀態(tài)指示而不會丟失。如果自RDRQ有效起開始第n次讀訪問之前狀態(tài)指示有效,則它將會正好在此第n次訪問之后在輸出寄存器ORM(OUTPUT_REG)中可見。
但是,如果狀態(tài)指示在第n次讀訪問期間有效,則它將在第(n+1)次讀訪問之后于輸出寄存器ORM(OUTPUT_REG)中可見。因此,最大n+2個讀訪問周期(同步于第二參考時鐘CLK_B)就足以從輸入寄存器IRM將新的狀態(tài)指示被移位到輸出寄存器ORM。即,兩次讀訪問是必需的,因?yàn)榭赡艹霈F(xiàn)這樣的情況RDRQ和IN_STATUS之間具有不適當(dāng)?shù)臅r間關(guān)系,以致于必須抑制信號CLEAR_PULSE(根本上是從讀請求信號RDRQ派生出的),以避免丟失狀態(tài)指示。在此情況下,微控制器MC(處理裝置PROC)將只能在第(n+1)次讀周期才可見到第n次讀周期中出現(xiàn)的指示。
但是,此過程完全與相位和/或頻率關(guān)系無關(guān),即此過程對圖5afA>fB,圖5bfA=fB(頻率相同且相差固定)以及圖5cfA<fB均以相同的方式工作。
以下將參考圖4解釋用于實(shí)現(xiàn)輸出寄存器ORM、同步級SS、中間寄存器INT、輸入存儲控制裝置DM和輸入寄存器INM的各電路單元的特殊方式。
定性的狀態(tài)指示邏輯門實(shí)現(xiàn)方案圖4顯示一種作為圖3所示狀態(tài)指示檢測裝置SIDN的優(yōu)選實(shí)施例的,使用邏輯門、多路復(fù)用器和D觸發(fā)器的更為具體的電路實(shí)施方案。如對圖3所述的一樣,在圖4中也提供了基于功能而不是通過同步級來實(shí)現(xiàn)的同步化,它獨(dú)立地與“讀取時清零”功能相結(jié)合,以構(gòu)建適用于任何時鐘關(guān)系的通用設(shè)計(jì)。
更具體地來說,輸出存儲級OSS包括用于所述輸出寄存器ORM的輸出多路復(fù)用器I06和輸出D觸發(fā)器I07(OUTPUT_REG)。對于正邏輯,輸出端Q饋送到多路復(fù)用器I06的“0”輸入端,D觸發(fā)器I07的時鐘輸入端從外部接收第二參考時鐘CLK_B輸入。多路復(fù)用器I06的“1”輸入端連接到中間存儲級ISS。
控制脈沖生成器CG通常包括控制裝置CNTRL,用于接收外部輸入的讀請求信號RDRQ和輸出所述的讀鎖定脈沖RDLCK和所述的讀出信號STROBE。當(dāng)讀出信號STROBE為高時,多路復(fù)用器I06選擇“1”端,而當(dāng)它為低時,選擇多路復(fù)用器的“0”端(對于正邏輯)。再者,第二參考時鐘CLK_B也輸入到控制裝置CNTRL。
從Q輸出到多路復(fù)用器I06的“0”端的反饋可以看出,在前一個第二參考時鐘周期中,狀態(tài)指示IN_STATUS′已經(jīng)存儲在所述D觸發(fā)器I07中(為此,讀出信號為高以選擇“1”端),當(dāng)讀出信號STROBE隨后切換為低電平時,則讀入D觸發(fā)器的任何狀態(tài)指示IN_STATUS′同步于第二參考時鐘CLK_B通過反饋和多路復(fù)用器I06保持循環(huán)。因此,可以說,在讀出信號STROBE為低(“0”)期間,將選擇“0”端且任何狀態(tài)指示在D觸發(fā)器I07內(nèi)保持循環(huán),同時因?yàn)檫x擇“0”端,阻止任何后續(xù)讀取狀態(tài)指示IN_STATUS′從中間存儲級ISS傳遞。即,當(dāng)產(chǎn)生讀出信號STROBE(為高)時,新的狀態(tài)指示被輸入到輸出寄存器ORM,而當(dāng)該信號未產(chǎn)生(為低)時,狀態(tài)指示在輸出寄存器ORM中保持(循環(huán))。
從圖4可以看出,中間存儲級ISS的中間寄存器INT還包括中間多路復(fù)用器I04和中間D觸發(fā)器,它們以與輸出寄存器ORM相同的方式連接。唯一不同的是,中間多路復(fù)用器I04的“1”和“0”端與輸出多路復(fù)用器I06的相反。即,當(dāng)產(chǎn)生保持信號LOCK(為高)時,選擇多路復(fù)用器I04的“1”端,以便利用輸入D觸發(fā)器的時鐘輸入端的第一參考時鐘CLK_A將任何當(dāng)前狀態(tài)指示(通過循環(huán))保持在n位寄存器I05中。
當(dāng)未產(chǎn)生保持信號LOCK(為低)時,選擇低的“0”端,從而允許新的狀態(tài)指示從輸入存儲級INS傳遞。因此,可以說,在產(chǎn)生保持信號LOCK期間,任何當(dāng)前狀態(tài)指示通過循環(huán)保持在中間寄存器INT內(nèi),同時阻止從輸入存儲級INS傳遞新的狀態(tài)指示。當(dāng)保持信號LOCK未產(chǎn)生時,就可以將新的狀態(tài)指示讀入到D觸發(fā)器I05(BRIDGEREG)中。
從圖4可以看出,保持信號LOCK由同步級SS輸出,同步級SS通常包括至少兩個串聯(lián)的D觸發(fā)器I09和I10。這兩個D觸發(fā)器I09和I10利用第一參考時鐘CLK_A鐘控,第一D觸發(fā)器接收控制脈沖生成器CG輸出的讀鎖定脈沖RDLCK。
如已參照圖5a、5b、5c所作的說明,同步級SS的作用本質(zhì)上為使長度為RDLCKL、RDLCLKL′、RDLCKL″的讀鎖定脈沖RDLCK(即這樣的時間長度,長得足以允許在第一時鐘域A中實(shí)現(xiàn)同步,即至少一個第一參考時鐘CLK_A周期加D觸發(fā)器I09中必需的建立-保持時間,以及長得足以使根據(jù)讀鎖定信號RDLCK產(chǎn)生的保持信號LOCK足夠長,以使數(shù)據(jù)可以從中間級傳送到輸出寄存器,參見等式(1))同步于時鐘域A中的第一參考時鐘CLK_A。因此讀鎖定脈沖RDLCK的持續(xù)時間也根據(jù)第一參考時鐘CLK_A周期來選擇,具有至少一個第二時鐘信號周期的長度(因?yàn)榈诙⒖紩r鐘周期是同步于第二參考時鐘CLK_B的脈沖可以具有的最短持續(xù)時間)。
根據(jù)相位和/或頻率差,現(xiàn)在同步于第一參考時鐘CLK_A的保持信號LOCK可能稍微短于讀鎖定脈沖RDLCK。保持信號LOCK施加到中間多路復(fù)用器I04上。
同樣如圖4所示,輸入寄存器INM包括兩個串聯(lián)的輸入多路復(fù)用器I01、I02和輸入D觸發(fā)器I03(STATREG)。D觸發(fā)器I03的Q輸出與中間多路復(fù)用器I04的“0”終端相連。再者,D觸發(fā)器I03的D輸入與多路復(fù)用器I02的輸出相連,第一參考時鐘CLK_A輸入D觸發(fā)器I03的時鐘端。
第一多路復(fù)用器I01的輸出與第二多路復(fù)用器I02的“0”端相連,而第二多路復(fù)用器I02的“1”端與“1”電平永久相連。施加到第二多路復(fù)用器I02上的選擇信號是狀態(tài)指示IN_STATUS。即如果接收到“1”狀態(tài)指示(對正邏輯而言),則多路復(fù)用器I02將選擇它的“1”端,并因此將“1”端的“1”電平轉(zhuǎn)發(fā)到D觸發(fā)器I03的D輸入端。否則,即當(dāng)沒有狀態(tài)指示時,將第一多路復(fù)用器I01的輸出施加到輸入D觸發(fā)器I03上。
第一多路復(fù)用器I01的“1”端與“0”電平永久相連,第一多路復(fù)用器I01的“0”端從D觸發(fā)器I03的Q輸出端接收信號。
因此,當(dāng)CLEAR_PULSE產(chǎn)生(對正邏輯為高電平)時,將所選“1”端的“0”電平傳送到第二多路復(fù)用器I02的“0”端。當(dāng)未產(chǎn)生CLEAR_PULSE(對正邏輯為低電平)時,則將D觸發(fā)器的輸出Q傳送到第二多路復(fù)用器I02的“0”端。
因此,可以說,當(dāng)CLEAR_PULSE未產(chǎn)生且無任何新狀態(tài)指示IN_STATUS出現(xiàn)時,存儲在D觸發(fā)器I03的新狀態(tài)指示在輸入寄存器INM中保持(以第一參考時鐘CLK_A循環(huán))。
當(dāng)新的狀態(tài)指示IN_STATUS出現(xiàn)時,則此新的狀態(tài)指示將通過選擇將“1”電平輸入第二多路復(fù)用器I02的“1”端而以鐘控方式打入D觸發(fā)器I03中,并在一個第一參考時鐘周期之后,只要未產(chǎn)生CLEAR_PULSE,此新狀態(tài)指示就(通過循環(huán))保持在輸入寄存器INM內(nèi)。
另一方面,產(chǎn)生清零信號CLEAR_PULSE可從第一多路復(fù)用器I01的“1”端將“0”電平輸入到第二多路復(fù)用器I02的“0”端。因此,第一多路復(fù)用器I01用于對輸入寄存器INM中的狀態(tài)指示復(fù)位,而第二多路復(fù)用器I02用于在輸入寄存器INM中設(shè)置新的狀態(tài)指示。
清零脈沖CLEAR_PULSE通過具有如下配置的輸入更新控制裝置DM來產(chǎn)生。輸入更新控制裝置DM包括同步于第一參考時鐘CLK_A且在其D輸入端接收D觸發(fā)器I10的輸出(即保持信號LOCK)的D觸發(fā)器I11。D觸發(fā)器I11的Q輸出輸入到第一“與”門I12的第一端。保持信號LOCK的反相信號輸入到第一“與”門I12的第二端,從而實(shí)現(xiàn)對保持信號LOCK的負(fù)沿檢測。第一“與”門I12的輸出是圖5a、5b、5c和圖6中所示的CP信號。
“異或非”門I13的第一輸入接收中間D觸發(fā)器I05的輸出,“異或非”門I13的第二端接收輸入D觸發(fā)器I03的輸出?!爱惢蚍恰遍TI13的反相信號提供給第二“與”門I14的第一端,CP信號輸入“與”門I14的第二端。第二“與”門I14的輸出是清零脈沖CLEAR_PULSE,它輸入到輸入寄存器INM的第一多路復(fù)用器I01。
因?yàn)镈觸發(fā)器I11和第一“與”門I12的電路互連,將如圖6中步驟S4所示那樣產(chǎn)生脈沖CP,且此同步于第一參考時鐘CLK_A的脈沖CP正好在保持信號LOCK結(jié)束之后的第一參考時鐘周期產(chǎn)生。
亦如圖6所示,在步驟S4產(chǎn)生的脈沖CP導(dǎo)致在步驟S5中產(chǎn)生CLEAR_PULSE。CLEAR_PULSE允許當(dāng)前狀態(tài)指示IN_STATUS輸入寄存器STATREG。STATREG中所存儲的狀態(tài)指示真正傳送到BRIDGEREG是由保持信號LOCK,即保持信號LOCK中止(LOCK=“0”)來控制的,這將選擇多路復(fù)用器I04的“0”輸入,此多路復(fù)用器輸入因此將傳送到BRIDGEREG中。
由于CLEAR_PULSE的產(chǎn)生,D觸發(fā)器I03(STATREG)中的新狀態(tài)指示被移位到中間寄存器INT(BRIDGEREG),如圖6中步驟ST5所示。
因?yàn)樽罱KCLEAR_PLLSE的產(chǎn)生隱含地取決于輸入中間n位寄存器I05(BRIDGEREG)的Q輸出端的信號,所以可以說輸入n位寄存器I03(STATREG)中的任何新狀態(tài)指示傳送到中間存儲級ISS僅在已經(jīng)從中間存儲級ISS(更具體地說是從中間n位寄存器I05)讀出了當(dāng)前狀態(tài)指示時才進(jìn)行。這樣做是必要的,為了在將中間存儲級的內(nèi)容成功讀出到輸出存儲級之前避免從輸入存儲級INS新輸入的新狀態(tài)指示使中間存儲級內(nèi)容發(fā)生改變。
以上已對圖4中各邏輯門和觸發(fā)器和多路復(fù)用器的基本功能和互連作了說明,隨后將描述圖4中電路的操作(同時還圖示于圖5a、5b、5c和圖6中)。
時鐘域A的操作在“正?!钡牟僮鬟^程中,即當(dāng)清零脈沖CLEAR_PULSE和保持信號LOCK(為“0”)均未產(chǎn)生時,輸入觸發(fā)器I03和中間觸發(fā)器I05作為移位寄存器來工作。即,新狀態(tài)指示IN_STATUS一出現(xiàn)且中間觸發(fā)器I05通過中間多路復(fù)用器I04對輸入觸發(fā)器I03采樣,則通過第二輸入多路復(fù)用器I02將輸入觸發(fā)器I03設(shè)為“1”。因此,在一個第一參考時鐘CLK_A周期的延遲后,中間觸發(fā)器I05就會保存與輸入觸發(fā)器I03相同的內(nèi)容。
一旦輸入觸發(fā)器I03已置位,則它通過第一和第二多路復(fù)用器I01和I02將其Q輸出反饋回到其D輸入端來保持內(nèi)容。這樣,就在輸入寄存器INM中捕獲到IN_STATUS上的一脈沖狀態(tài)指示,且通過循環(huán)在其中保持該脈沖狀態(tài)指示(除非有新的指示IN_STATUS或CLEAR_PULSE信號出現(xiàn))。
如以上對圖3中配置所作的更詳細(xì)的說明所述,對于一次讀訪問,產(chǎn)生讀請求信號RDRQ,并基于此信號產(chǎn)生讀鎖定脈沖RDLCK,鎖定脈沖RDLCK通過同步級SS(I09、I10)同步于時鐘域A。RDLCK的同步化版本,即保持信號LOCK使中間多路復(fù)用器I04選擇將中間n位寄存器I05的輸出反饋到它的輸入。只要產(chǎn)生保持信號LOCK,則中間n位寄存器I05的內(nèi)容就不會改變。在此期間,可以將中間n位寄存器I05的內(nèi)容可靠地選通輸入到輸出寄存器ORM中,而又不會導(dǎo)致n位寄存器I07中產(chǎn)生亞穩(wěn)態(tài)。在此上下文中,“可靠地”意味著由于保持信號LOCK(涵蓋至少一個第二參考時鐘脈沖)的產(chǎn)生,可以可靠地將中間存儲級ISS中的當(dāng)前狀態(tài)指示讀入到輸出存儲級OSS中,因?yàn)樽x出信號STROBE是在保持信號LOCK持續(xù)期間產(chǎn)生的。
在此“可靠的”操作過程中,輸入n位寄存器不受鎖定或保持中間寄存器INT內(nèi)容的影響。因此輸入級INS仍可以捕獲新的狀態(tài)指示(新的狀態(tài)指示在輸入寄存器INM中保持循環(huán)),一直到保持信號LOCK中止為止。
在時鐘域A中,需要n位寄存器I11和第一“與”門I12來對保持信號LOCK執(zhí)行負(fù)沿檢測,以便產(chǎn)生原始的清零脈沖CP(對于正邏輯)。保持信號LOCK從高電平到低電平的改變表示(對于正邏輯)對輸入n位寄存器I03的讀訪問結(jié)束以及更新階段可能開始。清零脈沖CLEAR_PULSE是利用“異或非”門I13和第二“與”門I14從原始清零脈沖CP派生的,實(shí)質(zhì)上是為了在對輸入n位寄存器I03的將更改輸入n位寄存器I03,但是中間n位寄存器尚未對輸入n位寄存器I03的內(nèi)容采樣的情況下抑制清零摩擦CLEAR_PULSE。在輸入n位寄存器I03的更新會改變輸入n位寄存器I03的內(nèi)容,而中間n位寄存器尚未對輸入INT寄存器的舊內(nèi)容采樣的情況下抑制CLEAR_PULSE。
時鐘域B中的操作如上所述,輸入存儲級INS捕獲到的任何新狀態(tài)指示IN_STATUS必須可靠地傳送到時鐘域B,以便進(jìn)行進(jìn)一步的處理。因此,在輸入存儲級INS中捕獲到的狀態(tài)指示的最后目的地是輸出寄存器ORM。當(dāng)讀出信號STROBE產(chǎn)生時,輸出寄存器ORM的n位寄存器I07對中間n位寄存器I05采樣。否則,輸出n位寄存器I07中的狀態(tài)指示被反饋到輸出多路復(fù)用器I06,并因此不會改變。
如上所述,控制裝置CNTRL負(fù)責(zé)正確地產(chǎn)生讀鎖定脈沖RDLCK和讀出信號STROBE。從圖5a、5b、5c和圖6可以看出,讀鎖定脈沖RDLCK是讀請求信號RDRQ(主讀請求脈沖)的延長版本。因此,通過控制裝置CNTRL使讀請求脈沖RDRQ延長,使其持續(xù)時間為讀鎖定脈沖RDLCK可以可靠地對同步級SS的第一n位寄存器I09采樣。此持續(xù)時間的范圍可以從一個第二參考時鐘CLK_B周期(圖5a)(如果fA>fB)到多個第二參考時鐘CLK_B周期(如果fA<fB(圖5c))。
亦如上所述,讀出信號STROBE是始終在保持信號LOCK內(nèi)產(chǎn)生的信號,具體來說它產(chǎn)生于讀鎖定脈沖RDLCK的最后一個周期內(nèi)。
應(yīng)該注意的是,就圖4實(shí)施例所有達(dá)到的目的而言,控制裝置CNTRL的實(shí)現(xiàn)細(xì)節(jié)如何無關(guān)緊要,只要它執(zhí)行適當(dāng)?shù)禺a(chǎn)生讀鎖定脈沖RDLCK和讀出信號STROBE的功能即可。例如,控制裝置CNTRL可以包括簡單的移位寄存器(如果所有捕獲時鐘域都具有相同頻率);或者更為復(fù)雜的可以處理對各種不同時鐘域的訪問的狀態(tài)機(jī)。包括計(jì)數(shù)器的輸入存儲級因?yàn)闋顟B(tài)指示IN_STATUS出現(xiàn)與讀請求信號RDRQ出現(xiàn)之間的時間關(guān)系通常是不確定的,所以可能會發(fā)生下列情況。
假定第一原始狀態(tài)指示IN_STATUS(即第一狀態(tài)比特)已經(jīng)輸入并存儲在輸入n位寄存器I03中。只要沒有新的狀態(tài)指示輸入到輸入存儲級INS中,則當(dāng)前可用的狀態(tài)指示保持(通過循環(huán))在輸入寄存器INM內(nèi)。如上所述,在讀請求信號RDRQ出現(xiàn)時,將此狀態(tài)指示可靠地傳送到中間存儲級,然后在保持信號LOCK持續(xù)期內(nèi)從中間存儲級可靠地讀出到輸出寄存器ORM。
但是,這假定了在讀請求信號出現(xiàn)之前,沒有新的原始狀態(tài)指示輸入到輸入存儲級INS。另一方面,如果讀請求信號RDRQ在很長一段時間內(nèi)未出現(xiàn),則有可能另一個新的原始狀態(tài)指示IN_STATUS以鐘控方式打入中間n位寄存器IO3中。這意味著響應(yīng)讀請求信號RDRQ,只將最新(即最近)的新狀態(tài)指示傳送到中間級IS,然后再傳送到輸出存儲級OSS。
對狀態(tài)指示計(jì)數(shù)的邏輯門實(shí)現(xiàn)圖7顯示避免上述問題的狀態(tài)指示確定裝置的SIDM的邏輯實(shí)現(xiàn)的另一個實(shí)施例。提供這種狀態(tài)指示確定裝置SIDM針對的是要對兩次讀訪問之間原始狀態(tài)指示的個數(shù)進(jìn)行計(jì)數(shù)的情況。在此情況下,在輸入存儲級INS中累計(jì)原始狀態(tài)指示的數(shù)量,且輸入存儲級INS、中間存儲級INT和輸出存儲級OSS分別存儲包含n位的狀態(tài)指示。n位的存儲和n位的傳遞在各連接上以參考數(shù)字“n”表示。圖7所示實(shí)例中的原始狀態(tài)指示是1位指示,當(dāng)然,如果相應(yīng)地調(diào)整輸入存儲級INT,也可設(shè)想包含k位的原始指示。
通過圖7和圖4的比較可以看出,圖7中的輸出存儲級OSS和中間存儲級ISS的結(jié)構(gòu)與圖4中對應(yīng)的輸出存儲級OSS和中間存儲級ISS的結(jié)構(gòu)相同。唯一的差異在于,提供了中間寄存器INT和輸出寄存器ORM,用于存儲和傳遞n位的狀態(tài)指示,如圖7中的參考數(shù)字“n”所示。另一方面,在圖7和圖4中,控制脈沖生成器CG和同步級SS完全一樣。
輸入存儲級INS還包括輸入寄存器INM和輸入更新控制裝置DM,它們執(zhí)行與圖4中類似的功能,但用于累加、存儲和傳遞n位狀態(tài)指示。因此,輸入寄存器INM包括n位寄存器I17,它的Q輸出端連接到中間寄存器INT的多路復(fù)用器I04的“0”輸入端。如圖4所示,第一時鐘CLK_A輸入到n位寄存器I17的時鐘輸入端。
輸入更新控制裝置包括n位寄存器I11和“與”門I12,它們具有與圖4中對應(yīng)的n位寄存器I11和“與”門I12類似的電路連接。因此,觸發(fā)器I11的D輸入接收同步級SS的第二觸發(fā)器I10的Q輸出。第一參考時鐘CLK_A輸入到n位寄存器I11的時鐘輸入端。與圖4相反,n位寄存器I11的Q輸出反相后提供給“與”門I12。提供給中間寄存器INT的多路復(fù)用器I04的保持信號LOCK由n位寄存器I11的輸出Q提供?!芭c”門I12的第二輸入連接到同步級SS的n位寄存器I10的Q輸出端。
輸入存儲器INS還包括一個四輸入/單輸出的多路復(fù)用器I15,它的輸出連接到輸入寄存器INM的n位寄存器I17的D輸入端。多路復(fù)用器I15的第一輸入與n位寄存器I17的輸出直接相連。第二輸入連接到加法器(遞增器)I16的輸出,加法器I16將“1”加到寄存器STATCNT的當(dāng)前內(nèi)容。第三輸入接收邏輯“0”,第四輸入接收整數(shù)“1”。為了將這四個輸入之一切換到多路復(fù)用器的輸出,多路復(fù)用器接收作為切換信號的狀態(tài)指示脈沖IN_STATUS和“與”門I12的輸出CLEAR_PULSE。如I15框圖所示,以“00”選擇第一輸入,以“10″選擇第二輸入,以“01”選擇第三輸入,以“11”選擇第四輸入。
選擇是按位進(jìn)行的。這意味著新的原始狀態(tài)指示比特?zé)o論何時到達(dá),則該比特將與“與”門I12的對應(yīng)邏輯輸出電平一起為多路復(fù)用器I15提供相應(yīng)的切換信號。從圖7中的電路連接可以理解,只要沒有新的狀態(tài)指示比特到達(dá)(IN_STATUS=0)且“與”門I12沒有輸出CLEAR_PULSE(CLEAR_PULSE=0),則寄存器STATCNT的內(nèi)容保持不變,因?yàn)槠漭敵鐾ㄟ^多路復(fù)用器I15反饋回輸入。如果新的狀態(tài)指示比特到達(dá)(IN_STATUS=1),則選擇第二輸入,它使寄存器STATCNT增“1”,這是因?yàn)榧臃ㄆ鱅16將“1”加到寄存器STATCNT的輸出Q。當(dāng)“與”門I12輸出CLEAR_PULSE=1時,如果狀態(tài)指示比特等于1,則插入整數(shù)“1”;而如果狀態(tài)指示比特是0,則輸入0。
n位寄存器I11輸出的保持信號LOCK與圖5中的類似,它在一定時間輸出,且長度足以允許響應(yīng)讀請求信號而讀出存儲在中間寄存器INT中的狀態(tài)指示比特。當(dāng)未產(chǎn)生保持信號LOCK(=0)時,可以將存儲在n位寄存器I17中的n個狀態(tài)指示比特傳送到中間寄存器觸發(fā)器I05中。因?yàn)樵撆渲眠m合于n位狀態(tài)指示,所以此n位寄存器起計(jì)數(shù)器的作用,因此在圖7中以“STATCNT“表示。從圖7可以明白,此計(jì)數(shù)器STATCNT可以對兩次讀訪問之間(即讀請求信號RDRQ兩次出現(xiàn)之間)輸入狀態(tài)指示的個數(shù)按n位來計(jì)數(shù)。
雖然圖7中的實(shí)施例顯示了具有適于n位狀態(tài)指示并行傳輸?shù)募拇嫫骷斑B接的狀態(tài)指示確定裝置SIDM,但該狀態(tài)指示確定裝置還可以利用寄存器之間狀態(tài)指示的串行傳輸來實(shí)現(xiàn)。
圖8顯示與圖5類似的圖7中各信號的時序圖。圖8中的此實(shí)例顯示圖7中的電路接收14個狀態(tài)指示比特,其中第一部分屬于第一讀周期。顯然,首先讀出計(jì)數(shù)器值8,然后是計(jì)數(shù)器值6。8和6之和是14,因此不會丟失任何狀態(tài)指示比特(脈沖)。因此,圖7中的實(shí)施例可以累計(jì)n個原始狀態(tài)指示比特,并將讀取的狀態(tài)指示的數(shù)量傳送到中間寄存器,再從中間寄存器讀出到輸出寄存器。
以下將詳細(xì)說明圖8的信號流程。首先,應(yīng)記住,圖4中的電路可以讀取單個原始狀態(tài)指示脈沖(比特),以將讀取的指示從時鐘域A傳送到時鐘域B,并在到輸出OUTPUT_REG的讀周期內(nèi)更新輸入寄存器。一旦某個指示IN_STATUS已讀入到輸入寄存器STATREG中,則新到達(dá)的狀態(tài)指示不會導(dǎo)致STATREG中內(nèi)容發(fā)生改變。讀取輸出寄存器OUTPUT_REG兩次可確保檢測到狀態(tài)指示的出現(xiàn)(存在性檢查)。但是,圖4中的電路無法檢測出IN_STATUS中出現(xiàn)多少個指示脈沖(比特)。
假定在圖4中,狀態(tài)指示脈沖IN_STATUS顯示對期望的消息塊的完整性檢查已經(jīng)失敗。還假定在包含圖4中電路的傳輸系統(tǒng)中,所關(guān)心的是計(jì)算塊誤碼率(BER)。因此,在此情況下重要的是計(jì)算每單位時間指示的數(shù)量。在此情況下,微控制器可能希望按預(yù)定時間間隔讀出輸入寄存器STATREG,以便檢查自上次讀出操作起已經(jīng)累計(jì)了多少個指示信號。因此必須將圖4中電路的“讀取時更新”功能推廣為“在讀取時復(fù)位到0/1”的功能。因此,將圖4中簡單地在輸入寄存器STATREG中“鎖存”指示替換為圖7中涉及輸入計(jì)數(shù)器STATCNT的計(jì)數(shù)過程。
因此,圖7所示實(shí)施例對兩次讀訪問(兩次連續(xù)出現(xiàn)的讀請求信號RDRQ)之間的指示脈沖的個數(shù)進(jìn)行計(jì)數(shù)。這些指示脈沖(比特)在輸入計(jì)數(shù)器STATCNT中進(jìn)行計(jì)數(shù)。在從輸出寄存器OUTPUT_REG讀出計(jì)數(shù)器值的過程中,STATREG根據(jù)IN_STATUS和CLEAR_PULSE復(fù)位(到0)或置位(到1)。
為了理解圖7所示電路的功能特性,如圖8所示,可以定義時鐘周期的指示clkcnt_a。此指示clkcnt_a對應(yīng)于時鐘域A中的時鐘周期數(shù),便于理解圖8中的時間關(guān)系。
在圖8中,信號clk_a是用于觸發(fā)時鐘域A中的所有觸發(fā)器的時鐘。雖然圖7可以采用正沿觸發(fā)的觸發(fā)器,但是也可以采用負(fù)沿觸發(fā)的觸發(fā)器。如圖5所示,信號IN_STATUS是來自外部的狀態(tài)指示脈沖(比特)。它自然是主要的信息載體,狀態(tài)指示脈沖相對于時鐘脈沖clk_a的出現(xiàn)是隨機(jī)的,即狀態(tài)指示脈沖不一定出現(xiàn)在時鐘信號clk_a的正沿,也就是說不一定同步于clk_a。僅是為了便于理解本實(shí)施例,所以狀態(tài)指示顯示為與clk_a同步。圖8則顯示14個狀態(tài)指示脈沖的連續(xù)脈沖序列。
與圖5類似,信號CLEAR_PULSE用于復(fù)位輸入寄存器計(jì)數(shù)器STATCNT。如果CLEAR_PULSE與IN_STATUS重合,則STATCNT置位為1,以對此重合事件計(jì)數(shù)。如果CLEAR_PULSE與IN_STATUS不重合,則實(shí)際上將輸入寄存器計(jì)數(shù)器STATCNT的值刪除(STATCNT→0)。CLEAR_PULSE通過對RDLCK的同步化版本執(zhí)行正沿檢測來產(chǎn)生(這是通過I09-I12來完成的)。
輸入寄存器計(jì)數(shù)器STATCNT存儲累計(jì)的指示脈沖數(shù)量。在一種電路實(shí)現(xiàn)方案中,STATCNT是通過多路復(fù)用器I15用加法器I16構(gòu)成的計(jì)數(shù)器的寄存器。
保持信號LOCK是RDLCK的同步化版本。它的作用是保持狀態(tài)指示或允許從輸入存儲級INS接收狀態(tài)指示。因此,如圖4所示,保持信號LOCK用于“穩(wěn)定”中間寄存器BRIDGEREG。
輸出寄存器OUTPUT_REG存儲同步于時鐘域B的輸入寄存器計(jì)數(shù)器STATCNT的內(nèi)容的一個副本。雖然讀訪問對累計(jì)的脈沖指示序列進(jìn)行,但OUTPUT_REG將正確地指示8+6=14個接收到的指示脈沖。如上所述,其它信號和電路與圖4所示相同。
為了說明圖8中的功能特征以及各種依賴關(guān)系,可以區(qū)分出四種不同情況1)既沒有新到達(dá)的狀態(tài)指示,也沒有讀訪問2)有讀訪問,但沒有新的指示脈沖;3)有新指示脈沖,但沒有讀請求;4)既有讀訪問,也有新的指示脈沖。
在第一種情況中,例如對于19≤clkcnt_a≤27,則不采取任何動作。STATCNT、BRIDGEGREG和OUTPUT_REG不改變它們的值。它們執(zhí)行存儲操作。其余所有內(nèi)部信號在邏輯上均為0。
在第二種情況中,有讀訪問,但沒有新的狀態(tài)指示出現(xiàn)。這發(fā)生在26≤CLKCNT_A≤31的時鐘周期中。
讀請求脈沖RDRQ使得控制脈沖生成器CG產(chǎn)生脈沖RDLCK,該脈沖的長度至少為一個CLK_A周期加觸發(fā)器I09的建立-保持-窗口寬度(事件A和B)。最好使RDLCK的長度為兩個CLK_A周期。通過觸發(fā)器I09和I10,RDLCK同步于時鐘CLK_A。一般情況下,同步級SS(109/110)可以比兩個觸發(fā)器長。兩個觸發(fā)器是最少的。關(guān)于STROBE信號(事件C),以上已經(jīng)參考圖4對此信號作了詳細(xì)解釋并且圖7和圖8中沒有什么更改。觸發(fā)器I10的輸出是RDLCK的同步化版本,即同步于時鐘域A的時鐘信號。如圖7所示,此信號以RDLCK′表示,其長度至少一個CLK_A周期,在本實(shí)例中根據(jù)CLK_B周期為4個CLK_A周期。另一觸發(fā)器I11使RDLCK′延遲1個時鐘周期,并將LOCK=RDLK″(事件E)送到輸入寄存器INT和“與”門I12。保持信號LOCK必須相對于RDLCK′/CLEAR_PULSE延遲一個時鐘周期,以在第四種情況中允許在STATCNT于12≤CLKCNT_A≤13期間復(fù)位之前仍可以接收STATCNT的內(nèi)容。因保持信號LOCK=1,中間寄存器BRIDGEREG將內(nèi)容反饋到多路復(fù)用器I04,這在功能上防止OUTPUT_REG的輸入發(fā)生單次變化。RDLCLK″結(jié)合I12用于檢測RDLCK′的正沿。如果RDLCK′中出現(xiàn)正沿,則使信號CLEAR_PULSE置位(事件D)。如果狀態(tài)指示IN_STATUS沒有同時出現(xiàn),則多路復(fù)用器I15選擇輸入“01”=0作為STATCNT的下一個內(nèi)容(事件F)。在時鐘域B的時鐘周期8中,中間寄存器BRIDGEREG的值通過多路復(fù)用器I06讀到輸出寄存器OUTPUT_REG中(事件G)。
所示的第三種情況對應(yīng)于4≤CLKCNT_A≤9。每次出現(xiàn)新的指示脈沖,就選擇輸入“10”,通過加法器(遞增器)I16的中介作用使STATCNT的內(nèi)容遞增。在第三種情況中,CLEAR_PULSE始終為0,因?yàn)樗驗(yàn)闆]有讀脈沖RDLCK而未置位。在第三種情況中,BRIDGEREG每個第一時鐘CLK_A周期從STATCNT接收值,因?yàn)楸3中盘朙OCK未置位。
對于從RDRQ到CLEAR_PULSE的信號序列,對第二種情況的考慮完全適用。唯一不同于第二種(和第三種)情況的是,在多路復(fù)用器I15選擇輸入“11”=1,并因此在時鐘周期13將STATCNT置為1。邏輯上這對應(yīng)于利用直接遞增過程復(fù)位到0。
概括地說,圖7和圖8中的實(shí)施例允許在輸入存儲級INS中累計(jì)一定數(shù)量的狀態(tài)指示,并在讀請求信號在時鐘域B中產(chǎn)生時,將當(dāng)時有效的狀態(tài)指示數(shù)量傳送到中間存儲級INT,然后傳送到輸出存儲級OSS。此操作在保持信號LOCK的產(chǎn)生期間執(zhí)行。在保持信號LOCK的持續(xù)時間內(nèi),可以在輸入存儲級INS中累積一定數(shù)量的狀態(tài)指示脈沖,然后在保持信號LOCK中止時將其傳送到中間存儲級INT。因此,可以確定(累積)狀態(tài)指示的數(shù)量,并可以可靠地將其傳送到輸出存儲級OSS,而不會丟失任何狀態(tài)指示。
工業(yè)適用性如上所述,根據(jù)本發(fā)明,在輸入存儲級INS與輸出存儲級OSS之間設(shè)置中間存儲級ISS。狀態(tài)指示被移位到中間存儲級ISS,并在用于保持中間存儲級ISS的內(nèi)容并阻止從輸入存儲級ISS傳遞新狀態(tài)指示的保持信號的產(chǎn)生期間,將中間存儲級ISS的內(nèi)容傳送到輸出存儲級OSS,而同時不會在輸出寄存器ORM中產(chǎn)生亞穩(wěn)態(tài)。
該設(shè)計(jì)可在第一參考時鐘和第二參考時鐘之間的任何頻率和/或相位關(guān)系下工作,且仍然不會丟失任何新的狀態(tài)指示。此外,總是可以保證輸出寄存器的內(nèi)容是最近的狀態(tài)指示并通過時鐘域邊界正確傳送。
這種狀態(tài)指示檢測裝置和狀態(tài)指示檢測方法對于監(jiān)控硬件設(shè)備形式的SONET/SDH應(yīng)用特別有用。此外,輸入、中間和輸出存儲級可以通過ASIC中的VLSI結(jié)構(gòu)來實(shí)現(xiàn)。
再者,應(yīng)注意,本發(fā)明可以包括所述本發(fā)明范圍內(nèi)的各種其它修改和變化。具體地來說,本發(fā)明還可以包括由單獨(dú)描述和/或在說明書中和/或所附權(quán)利要求書中要求權(quán)利的特征和/或步驟構(gòu)成的其它在權(quán)利要求書,參考數(shù)字只起標(biāo)識的作用。
權(quán)利要求
1.一種用于檢測狀態(tài)指示的方法,其中a1)將原始狀態(tài)指示(IN_STATUS)讀(ST1、ST2)入第一參考時鐘域(A)的輸入存儲級(I01-I03),使得所述讀狀態(tài)指示在同步于所述第一參考時鐘域(A)的第一參考時鐘(CLK_A)的所述輸入存儲級中可用;以及a2)將所述讀狀態(tài)指示輸入(ST4)到第二參考時鐘域(B)的輸出存儲級(I06-I08),使得所述讀狀態(tài)指示在同步于所述第二參考時鐘域(B)的第二參考時鐘(CLK_B)的所述輸出存儲級中可用,所述第二參考時鐘域(B)的所述第二參考時鐘(CLK_B)具有不同于所述第一參考時鐘(CLK_A)的相位和/或頻率(fA;fB);其特征在于b)所述輸入存儲級(I01-I03)中的所述狀態(tài)指示同步于所述第一參考時鐘(CLK_A)移位(ST3、ST5)到所述第一參考時鐘域(A)的中間存儲級(I04-I05);以及c)響應(yīng)于輸入(SO)到所述輸出存儲級(I06-I08)的讀請求信號(RDRQ),c1)將保持信號(LOCK)施加(S3)到所述中間存儲級(I04-I05)上,以將當(dāng)前狀態(tài)指示保持在所述中間存儲級(I04-I05)中并阻止新狀態(tài)指示從所述輸入移位到所述中間存儲級(I01-I03;I04-I05)上;以及c2)在所述保持信號(LOCK)期間,將讀出信號(STROBE)施加(S6)到所述輸出存儲級(I06-I08),以將所述中間存儲級(I04-I05)中的當(dāng)前狀態(tài)指示同步于所述第二參考時鐘(CLK_B)讀到(ST4)所述輸出存儲級(I06-I08)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述保持信號(LOCK)期間讀入新的原始狀態(tài)指示,并保存在輸入存儲級(I01-I03)中;以及在所述保持信號(LOCK)中止之后,所述輸入存儲級(I01-I03)中的狀態(tài)指示(ST5)同步于所述第一參考時鐘(CLK_A)移位到所述中間存儲級(I04-I05)中。
3.如權(quán)利要求1所述的方法,其特征在于,在所述步驟c)中,所述讀請求信號(RDRQ)輸入(S0)到與所述第二參考時鐘(CLK_B)同步(RQ、RQ′、RQ″)的所述輸出存儲級(I06-I08)上;
4.如權(quán)利要求1所述的方法,其特征在于,在所述步驟c1)中,所述保持信號(LOCK)施加到與所述第一參考時鐘(CLK_A)同步(LS、LE;LS′、LE′;LS″、LE″)的所述中間存儲級(ISS)上。
5.如權(quán)利要求1所述的方法,其特征在于,在所述保持信號(LOCK)中止之后,所述狀態(tài)指示在所述輸入存儲級(I01-I03)中保持至少一個以上的第一參考時鐘周期(S4、S5)。
6.如權(quán)利要求1所述的方法,其特征在于,在所述步驟c1)中,響應(yīng)于所述讀請求信號(RDRQ),產(chǎn)生同步于所述第二參考時鐘(CLK_B)的讀鎖定脈沖(RDLCK),并將其從所述第二參考時鐘域(B)輸入所述第一參考時鐘域(A);所述讀鎖定脈沖(RDLCK)的脈沖長度(RDLCKL、RDLCKL′、RDLCKL″)為允許所述第一參考時鐘域(CLK_A)中的所述讀鎖定脈沖(RDCLK)與所述第一參考時鐘(CLK_A)可靠同步所需的持續(xù)時間與將所述狀態(tài)指示從所述中間存儲級讀出并輸入所述輸出存儲級所需持續(xù)時間之和。
7.如權(quán)利要求6所述的方法,其特征在于,在所述步驟c1)中,在所述中間存儲級(I04、I05)的同步級(I09、I10)中,所述讀鎖定脈沖(RDLCK)同步(LS、LS′、LS″)于所述第一參考時鐘(CLK_A),并從所述同步化的讀鎖定脈沖(RDLCK)派生出脈沖長度(LOCKL、LOCKL′、LOCKL″)至少為所述同步的讀鎖定脈沖(RDLCK)的持續(xù)時間的所述保持信號(LOCK)。
8.權(quán)利要求7所述的方法,其特征在于,這樣派生所述保持信號(LOCK),使其持續(xù)時間為至少一個但最好為兩個所述第一參考時鐘(CLK_A)的周期,并涵蓋所述第二參考時鐘(CLK_B)的至少一個時鐘脈沖。
9.如權(quán)利要求6所述的方法,其特征在于,在所述步驟c2)中,所述讀出信號(STROBE)同步(SE、SE′、SE″)于所述讀鎖定脈沖(RDLCK)的末端。
10.如權(quán)利要求1所述的方法,其特征在于,在所述輸入存儲級的輸入更新控制裝置(DM;I11-I14)中,產(chǎn)生(S4、S5)用于刪除來自所述輸入存儲級的狀態(tài)指示(IN_STATUS)的清零脈沖(CLEAR_PULSE),所述清零脈沖(CLEAR_PULSE)是在所述保持信號(LOCK)中止之后產(chǎn)生的。
11.如權(quán)利要求3所述的方法,其特征在于,同步(RQ、RQ′、RQ″)于所述第二參考時鐘(CLK_B)的所述讀請求信號(RDRQ)具有一個第二參考時鐘(CLK_B)周期的持續(xù)時間。
12.如權(quán)利要求1所述的方法,其特征在于,所述狀態(tài)指示是同步于所述第一參考時鐘(CLK_A)周期而產(chǎn)生的。
13.如權(quán)利要求1所述的方法,其特征在于,所述讀狀態(tài)指示在所述輸入、中間和輸出存儲級(I01-I03)包括1比特。
14.如權(quán)利要求1所述的方法,其特征在于,所述讀狀態(tài)指示在所述輸入、中間和輸出存儲級(I01-I03)包括n比特。
15.一種用于檢測原始狀態(tài)指示(IN_STATUS)的狀態(tài)指示檢測裝置(SIDM),它包括a1)第一參考時鐘域(A)的輸入存儲級(I01-I03),用于讀取原始狀態(tài)指示(IN_STATUS),使得所述讀狀態(tài)指示在同步于所述第一參考時鐘域(A)的第一參考時鐘(CLK_A)的所述輸入存儲級中可用;以及a2)第二參考時鐘域(B)的輸出存儲級(I06-I08),所述讀狀態(tài)指示輸入(ST4)到所述輸出存儲級(I06-I08),使得所述讀狀態(tài)指示在同步于所述第二參考時鐘域(B)的第二參考時鐘(CLK_B)的所述輸出存儲級中可用,其中所述第二參考時鐘域(B)的所述第二參考時鐘(CLK_B)具有不同于所述第一參考時鐘(CLK_A)的相位和/或頻率(fA;fB);其特征在于b)在所述輸入存儲級(INS)與所述輸出存儲級(OSS)之間設(shè)有所述第一參考時鐘域(A)的中間存儲級(ISS、INT、SS),其中所述輸入存儲級(I01-I03)中的所述狀態(tài)指示同步于所述第一參考時鐘(CLK_A)移位(ST3、ST5)到所述中間存儲級的中間寄存器(INT);所述輸出存儲級(OSS)包括控制脈沖生成器(CG),用于響應(yīng)輸入(S0)到所述輸出存儲級(I06-I07;OSS)的讀請求信號而產(chǎn)生讀出信號(STROBE),所述讀出信號(STROBE)施加到所述輸出存儲級(OSS)的輸出寄存器(ORM),以將所述中間存儲級(I04-I05)中的所述當(dāng)前狀態(tài)指示同步于所述第二參考時鐘(CLK_B)讀到(ST4)所述輸出寄存器(ORM)中;以及c2)所述中間存儲級(ISS)包括同步級(SS),用于產(chǎn)生保持信號(LOCK),所述保持信號施加(S3)到所述中間存儲級(I04-I05)的中間寄存器(INT)上,以在所述中間存儲寄存器(INT)中保持當(dāng)前狀態(tài)指示,并阻止新指示從所述輸入移位到所述中間存儲級(I02-I03;I04-I05)。
16.如權(quán)利要求15所述的裝置,其特征在于,在所述保持信號(LOCK)的產(chǎn)生期間,所述輸入存儲級(INS)適于讀入新的原始狀態(tài)指示并將其保存在所述輸入存儲級(INS)中;以及當(dāng)所述同步級(SS)中止(ST5)產(chǎn)生所述保持信號(LOCK)時,保存在所述輸入存儲級(INS)的輸入寄存器(INM)中的狀態(tài)指示被移位到與所述第一參考時鐘(CLK_A)同步的所述中間存儲級(I04-I05)的中間寄存器(INT)中;以及控制脈沖生成器(CG)將所述讀出信號(STROBE)施加到所述輸出寄存器(ORM),以在所述保持信號(LOCK)持續(xù)期間同步于所述第二參考時鐘(CLK_B)從所述中間存儲級讀入狀態(tài)指示。
17.如權(quán)利要求15所述的裝置,其特征在于,設(shè)置輸入更新控制裝置(DM)以從所述輸入存儲級(INS)刪除所存儲的狀態(tài)指示。
18.如權(quán)利要求15所述的裝置,其特征在于,所述讀請求信號(RDRQ)輸入到同步于(RQ、RQ′、RQ″)所述第二參考時鐘(CLK_B)的所述輸出存儲級控制脈沖生成器(CG)。
19.如權(quán)利要求15所述的裝置,其特征在于,所述同步級(SS)將同步(LS、LE、LS′、LE′、LS″、LE″)于所述第一參考時鐘(CLK_A)的保持信號(LOCK)施加到所述中間寄存器(INT)上。
20.如權(quán)利要求17所述的裝置,其特征在于,所述輸入更新控制裝置(DM)利用清零脈沖(CLEAR_PULSE)控制所述輸入寄存器(INM),使所述狀態(tài)指示在所述輸入寄存器(INM)中保持至少一個以上第一參考時鐘周期(S4、S5)。
21.如權(quán)利要求15所述的裝置,其特征在于,響應(yīng)于所述讀請求信號(RDRQ),所述控制脈沖生成器(CG)生成同步于所述第二參考時鐘(CLK_B)的讀鎖定脈沖(RDLCK),并將其從所述第二參考時鐘域(B)輸入到所述第一參考時鐘域(A);所述讀鎖定脈沖(RDLCK)具有脈沖長度(RDLCKL、RDLCKL′、RDLCKL″)為允許所述第一參考時鐘域(CLK_A)中的所述讀鎖定脈沖(RDCLK)與所述第一參考時鐘(CLK_A)可靠同步所需的持續(xù)時間與將所述狀態(tài)指示從所述中間存儲級讀出并輸入所述輸出存儲級所需持續(xù)時間之和。
22.如權(quán)利要求21所述的裝置,其特征在于,所述中間存儲級(I04、I05)的所述同步級(I09、I10)使所述讀鎖定脈沖(RDLCK)同步(LS、LS′、LS″)于所述第一參考時鐘(CLK_A),并從所述同步化的讀鎖定脈沖(RDLCK)派生出所述保持信號(LOCK),所述保持信號(LOCK)的脈沖長度(LOCKL、LOCKL′、LOCKL″)至少為所述同步化的讀鎖定脈沖(RDLCK)的持續(xù)時間。
23.權(quán)利要求22所述的裝置,其特征在于,所述同步級以下述方式派生派生所述保持信號(LOCK),使其持續(xù)時間為至少一個但最好為兩個所述第一參考時鐘(CLK_A)周期,且涵蓋所述第二參考時鐘(CLK_B)的至少一個時鐘脈沖。
24.如權(quán)利要求21、22或23所述的裝置,其特征在于,所述控制脈沖生成器(CG)同步(SE、SE′、SE″)于所述讀鎖定脈沖(RDLCK)的末端而產(chǎn)生所述讀出信號(STROBE)。
25.如權(quán)利要求17所述的裝置,其特征在于,在所述輸入存儲級的輸入更新控制裝置(DM;I11-I14)產(chǎn)生(S4、S5)清零脈沖(CLEAR_PULSE),用于從所述輸入存儲級刪除狀態(tài)指示(IN_STATUS),所述清零脈沖(CLEAR_PULSE)是在所述保持信號(LOCK)中止之后產(chǎn)生的。
26.如權(quán)利要求18所述的裝置,其特征在于,所述讀請求信號(RDRQ)同步(RQ、RQ′、RQ″)于所述第二參考時鐘(CLK_B)且具有一個所述第二參考時鐘(CLK_B)周期的持續(xù)時間。
27.如權(quán)利要求15所述的裝置,其特征在于,所述狀態(tài)指示是同步于所述第一參考時鐘(CLK_A)產(chǎn)生的。
28.如權(quán)利要求15所述的裝置,其特征在于,所述讀狀態(tài)指示在所述輸入、中間和輸出存儲級(I01-I03)中包括1比特。
29.如權(quán)利要求15所述的裝置,其特征在于,所述讀狀態(tài)指示在所述輸入、中間和輸出存儲級(I01-I03)中包括n比特。
30.如權(quán)利要求15所述的裝置,其特征在于,所述輸出寄存器(ORM)包括輸出多路復(fù)用器(I06)和輸出D觸發(fā)器或n位寄存器(I07;OUTPUT_REG)。
31.如權(quán)利要求15所述的裝置,其特征在于,所述控制脈沖生成器(CG)包括接收所述讀請求信號(RDRQ)并輸出所述讀鎖定脈沖(RDLCK)和所述讀出信號(STROBE)的控制裝置(CNTRL)。
32.如權(quán)利要求15所述的裝置,其特征在于,所述中間寄存器(INT)包括中間多路復(fù)用器(I04)和中間D觸發(fā)器或n位寄存器(I05)。
33.如權(quán)利要求15所述的裝置,其特征在于,所述同步級(SS)包括至少兩個串聯(lián)的D觸發(fā)器(I09、I010)。
34.如權(quán)利要求16和28所述的裝置,其特征在于,所述輸入寄存器(INM)包括至少兩個串聯(lián)的多路復(fù)用器(I01、I02)和一個輸入D觸發(fā)器(I03、STATREG)。
35.如權(quán)利要求16和29所述的裝置,其特征在于,所述輸入寄存器(INM)包括可以存儲n比特的n位寄存器(I17)。
36.如權(quán)利要求17和28所述的裝置,其特征在于,所述輸入更新控制裝置(DM)包括一個n位D觸發(fā)器(I11)、兩個“與”門(I12、I14)和一個“異或非”門(I13)。
37.如權(quán)利要求17和29所述的裝置,其特征在于,所述輸入更新控制裝置(DN11)包括一個D觸發(fā)器(I11)、一個“與”門(I12)和一個四輸入/單輸出多路復(fù)用器(I15′)。
38.如權(quán)利要求15所述的裝置,其特征在于,所述輸入存儲級(INS)和所述中間存儲級(ISS)中的所有操作均同步于所述第一參考時鐘(CLK_A),而所述輸出存儲級(OSS)中的所有操作均同步于所述第二參考時鐘(CLK_B)。
39.如權(quán)利要求15所述的裝置,其特征在于,所述狀態(tài)指示是通過監(jiān)視SDH/SONET數(shù)據(jù)流比特生成的。
40.如權(quán)利要求15所述的裝置,其特征在于,所述輸入、中間和輸出存儲級是利用超大規(guī)模集成電路結(jié)構(gòu)來實(shí)現(xiàn)的。
全文摘要
一種狀態(tài)指示檢測裝置(SIDM)包括輸入存儲級(INS)、中間存儲級(ISS)和輸出存儲級(OSS)。狀態(tài)指示(IN_STATUS)輸入到輸入存儲級(INS)的輸入寄存器(INM),然后移位到中間存儲級而后再到輸出存儲級(ISS、OSS)。輸入和中間存儲級用第一時鐘域(A)中的第一參考時鐘(CLK-A)工作,輸出存儲級用第二時鐘域(B)中不同的第二參考時鐘(CLK-B)工作。根據(jù)本發(fā)明,只可能在產(chǎn)生保持信號(LOCK)期間讀出中間存儲級(ISS)的中間寄存器(INT),其中保持信號(LOCK)使當(dāng)前狀態(tài)指示保持在中間存儲級(ISS)中,并阻止新狀態(tài)指示從輸入存儲級(INS)傳輸。因?yàn)楸3中盘?LOCK)的持續(xù)時間涵蓋至少一個第二參考時鐘周期,所以讀出脈沖(STROBE)可以置于保持信號持續(xù)時間(LOCKL)內(nèi)。因此,即使在第一和第二參考時鐘(CLK-A、CLK-B)之間不同的相位和/或頻率關(guān)系下,仍可以避免輸出寄存器(ORM)中的亞穩(wěn)態(tài),且不會丟失硬件裝置(HW)輸出的任何狀態(tài)指示。
文檔編號G05B19/042GK1552005SQ02817242
公開日2004年12月1日 申請日期2002年7月3日 優(yōu)先權(quán)日2001年7月9日
發(fā)明者T·阿本德羅斯, H·-U·弗利爾, T 阿本德羅斯, じダ 申請人:艾利森電話股份有限公司