使用可選擇同步器跨異步邊界數(shù)據(jù)同步以最小化延遲的制作方法
【專(zhuān)利摘要】公開(kāi)包括用于跨異步邊界同步數(shù)據(jù)的可選擇同步器電路的系統(tǒng)和裝置。裝置包括與第一時(shí)鐘域相關(guān)聯(lián)的單元,和耦連到單元并且與第二時(shí)鐘域相關(guān)聯(lián)的同步器子單元(SSU)。同步器子單元包括兩個(gè)或更多個(gè)同步器和配置為選擇兩個(gè)或更多個(gè)同步器的一個(gè)輸出的選擇器邏輯。
【專(zhuān)利說(shuō)明】使用可選擇同步器跨異步邊界數(shù)據(jù)同步以最小化延遲
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)同步,并且更具體地涉及同步器。
【背景技術(shù)】
[0002]很多數(shù)字系統(tǒng)都有多個(gè)時(shí)鐘域。舉例來(lái)說(shuō),CPU可以操作在一個(gè)時(shí)鐘域而動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)模塊可以操作在不同的時(shí)鐘域。在一些現(xiàn)代處理器中,可以將多個(gè)時(shí)鐘域合并在相同的硅片上。換言之,單個(gè)處理器可以具有運(yùn)行在不同的時(shí)鐘域的多個(gè)子單元。當(dāng)跨異步邊界傳送信號(hào)時(shí)(即從一個(gè)時(shí)鐘域到另一個(gè)時(shí)鐘域),信號(hào)必須被同步以防止亞穩(wěn)態(tài)和同步故障。當(dāng)數(shù)據(jù)信號(hào)躍遷太接近于在接收電路中的時(shí)鐘邊沿的躍遷時(shí)可能造成亞穩(wěn)態(tài),這可能造成接收電路中的電路元件上的電壓變成亞穩(wěn)定的(即,得到在邏輯高和邏輯低之間的值,其可能注冊(cè)為邏輯高或者邏輯低)。
[0003]傳統(tǒng)上,電路設(shè)計(jì)者設(shè)計(jì)同步器以可靠地采樣在異步電路之間傳送的信號(hào)。簡(jiǎn)單的同步器包括兩個(gè)串聯(lián)耦合的觸發(fā)器,第一觸發(fā)器的輸出端連接到第二觸發(fā)器的輸入端。信號(hào)連接到第一觸發(fā)器的輸入端并且兩個(gè)觸發(fā)器都使用接收電路的時(shí)鐘域來(lái)鐘控。第二觸發(fā)器的輸出被從到第一觸發(fā)器的所采樣的輸入時(shí)延多達(dá)接收時(shí)鐘的兩個(gè)時(shí)鐘周期,以允許用于利用接收電路的時(shí)鐘域穩(wěn)定所采樣的信號(hào)的時(shí)間。這樣的電路通常稱(chēng)為2級(jí)同步器。可以將附加的級(jí)(即,觸發(fā)器)添加到電路,以增加同步器的平均故障間隔時(shí)間(MTBF)來(lái)確?;旧喜豢赡苡捎趤喎€(wěn)態(tài)而發(fā)生故障。然而,同步器中的每個(gè)附加的級(jí)在發(fā)射器發(fā)送信號(hào)的時(shí)間和接收器能夠采樣信號(hào)的時(shí)間之間添加了附加延遲(即,時(shí)鐘周期)。
[0004]設(shè)計(jì)者可以根據(jù)為最極端的條件下的最關(guān)鍵的應(yīng)用定制的規(guī)范來(lái)設(shè)計(jì)同步器。舉例來(lái)說(shuō),設(shè)計(jì)者可以確保當(dāng)電路操作在高頻率和極端溫度時(shí)(例如,在-40 0F時(shí)5GHz),同步器電路的MTBF是10,000年。當(dāng)設(shè)備的應(yīng)用需要高可靠性時(shí),則需要確保極端操作條件下的高M(jìn)TBF (例如,在起搏器、防御系統(tǒng)等中使用的處理器)。設(shè)計(jì)與極端操作條件下的高M(jìn)TBF相關(guān)聯(lián)的同步器的結(jié)果是,可能需要具有高延遲的同步器(例如,具有5個(gè)周期的延遲的5級(jí)同步器)。與這樣的同步器相關(guān)聯(lián)的高延遲對(duì)于對(duì)故障具有較高寬容度(例如,I天的MTBF)但是需要低的延遲的其他應(yīng)用是不利的。因此,需要解決與現(xiàn)有技術(shù)相關(guān)聯(lián)的該問(wèn)題和/或其他問(wèn)題。
【發(fā)明內(nèi)容】
[0005]公開(kāi)了包括用于跨異步邊界同步數(shù)據(jù)的可選擇同步器電路的系統(tǒng)和裝置。裝置包括與第一時(shí)鐘域相關(guān)聯(lián)的單元和耦連到單元并與第二時(shí)鐘域相關(guān)聯(lián)的同步器子單元(SSU)0同步器子單元包括兩個(gè)或更多個(gè)同步器和配置為選擇兩個(gè)或更多個(gè)同步器的一個(gè)輸出的選擇器邏輯。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0006]圖1A示出了根據(jù)一個(gè)實(shí)施例的實(shí)現(xiàn)可選擇同步器電路的設(shè)備;
[0007]圖1B示出了根據(jù)一個(gè)實(shí)施例的、圖1A的SSU ;
[0008]圖2示出了根據(jù)一個(gè)實(shí)施例的、用于經(jīng)由握手信令實(shí)現(xiàn)時(shí)鐘同步的技術(shù);
[0009]圖3A示出了根據(jù)一個(gè)實(shí)施例的2級(jí)同步器;
[0010]圖3B示出了根據(jù)一個(gè)實(shí)施例的3級(jí)同步器;
[0011]圖3C示出了根據(jù)一個(gè)實(shí)施例的1.5級(jí)同步器;
[0012]圖4A示出了根據(jù)一個(gè)實(shí)施例的、包括在SSU中以幫助兩個(gè)同步器之間正確地躍遷的旁路電路;
[0013]圖4B示出了根據(jù)一個(gè)實(shí)施例的、時(shí)延子電路;以及
[0014]圖5示出了前面各種實(shí)施例的各種架構(gòu)和/或功能性可以在其中實(shí)現(xiàn)的示例性系統(tǒng)。
【具體實(shí)施方式】
[0015]同步器設(shè)計(jì)可以基于期望使用電路來(lái)實(shí)現(xiàn)的最關(guān)健的應(yīng)用來(lái)確定。雖然特定應(yīng)用可能需要高延遲成本的極端高可靠性,但其他少數(shù)關(guān)健應(yīng)用可以從較低延遲的同步器獲得益處。與針對(duì)特定應(yīng)用制造不同部件相關(guān)聯(lián)的高成本,使得針對(duì)無(wú)數(shù)不同應(yīng)用和操作條件設(shè)計(jì)不同的同步器是不切實(shí)際的。然而,設(shè)計(jì)中可以包括多個(gè)同步器,并且可以選擇用于應(yīng)用的正確的同步器以提供可靠性和延遲的最佳組合。
[0016]舉例來(lái)說(shuō),可以設(shè)計(jì)包括兩個(gè)可選擇同步器的處理器,即第一較低延遲、較低可靠性的2級(jí)同步器和第二高延遲、較高可靠性的N級(jí)同步器。舉例來(lái)說(shuō),N級(jí)同步器可以是3級(jí)同步器,其與2級(jí)同步器相比提供更高的可靠性。處理器可以配置為基于具體應(yīng)用使用第一同步器或者第二同步器。舉例來(lái)說(shuō),在預(yù)期用于起搏器的處理器中選擇第二同步器,而在預(yù)期用于諸如移動(dòng)電話的非關(guān)鍵消費(fèi)者電子設(shè)備的處理器中選擇第一同步器。
[0017]圖1A示出了根據(jù)一個(gè)實(shí)施例的、實(shí)現(xiàn)可選擇同步器電路的設(shè)備100。如圖1A所示,設(shè)備100包括與第一時(shí)鐘域105 (CLK_1)相關(guān)聯(lián)的第一單元101和與第二時(shí)鐘域106(CLK_2)相關(guān)聯(lián)的第二單元102。時(shí)鐘域是異步的,使得在子單元之間傳送的數(shù)據(jù)應(yīng)該被同步以避免因亞穩(wěn)態(tài)的問(wèn)題。子單元(例如101、102)的每一個(gè)包括同步器子單元(SSU) 110,其配置為將由SSUllO所接收的數(shù)據(jù)信號(hào)和與各自單元相關(guān)聯(lián)的時(shí)鐘域同步。
[0018]應(yīng)該理解,SSUllO可以包括在設(shè)備100中,在單元101和102外部。雖然在圖1A中SSUllO示出為包括在單元101和102內(nèi),但SSUllO可以實(shí)施為與每個(gè)單元分開(kāi)的和各異的,作為異步邊界接口的一部分。
[0019]圖1B示出了根據(jù)一個(gè)實(shí)施例的、圖1A的SSUl 10。如圖1B所示,SSUllO包括第一同步器電路111和第二同步器電路112。由SSUllO接收的數(shù)據(jù)信號(hào)116連接到第一同步器電路111和第二同步器電路112兩者。第一同步器電路111和第二同步器電路112是針對(duì)不同類(lèi)型的應(yīng)用設(shè)計(jì)的不同類(lèi)型的同步器。舉例來(lái)說(shuō),第一同步器電路111可以是2級(jí)同步器,其包括鐘控到與SSUllO相關(guān)聯(lián)的時(shí)鐘域(例如CLK_1105、CLK_2106等)的兩個(gè)觸發(fā)器,并且第二同步器電路112可以是3級(jí)同步器,其包括鐘控到相同時(shí)鐘域的三個(gè)觸發(fā)器。雖然第一同步器電路111只有兩個(gè)時(shí)鐘周期的延遲,但第一同步器電路111的MTBF對(duì)于一些應(yīng)用可能是不夠的。因此,SSUllO包括用于要求更高可靠性的那些關(guān)鍵應(yīng)用的第二同步器電路112。
[0020]SSUllO還包括選擇器邏輯115,用于選擇第一同步器電路111或者第二同步器電路112。在一個(gè)實(shí)施例中,選擇器邏輯115是縛到第一同步器電路111和第二同步器電路112的輸出端的多路復(fù)用器。選擇器邏輯115接收選擇器信號(hào)118,其確定配置哪個(gè)同步器電路(111或者112)來(lái)將數(shù)據(jù)信號(hào)116與異步時(shí)鐘域同步。如圖1B所示,如果選擇第一同步器電路111,那么第一同步器111的輸出連接到SSUllO的輸出端117并且傳送到耦連到SSUllO的單元(例如101、102)。相反,如果選擇第二同步器電路112,那么第二同步器電路112的輸出連接到SSUllO的輸出端117并且傳送到耦連到SSUllO的單元。
[0021]在一個(gè)實(shí)施例中,SSUllO包括三個(gè)或者更多個(gè)同步器。舉例來(lái)說(shuō),SSUllO可以包括第一同步器111、第二同步器112、第三同步器(未示出)和第四同步器(未示出)。四個(gè)同步器可以對(duì)應(yīng)于半級(jí)同步器、2級(jí)同步器、3級(jí)同步器和4級(jí)同步器。選擇器邏輯115可以是具有2比特選擇碼的4路多路復(fù)用器,其用于選擇四個(gè)同步器中的一個(gè)。通常,SSUllO可以包括N個(gè)分開(kāi)的和各異的同步器和選擇器邏輯115以選擇N個(gè)同步器之一。
[0022]可以靜態(tài)或者動(dòng)態(tài)配置SSU110。在一個(gè)實(shí)施例中,靜態(tài)配置SSUllO以使用包括在SSUllO中的同步器中的一個(gè)。雖然設(shè)備的設(shè)計(jì)不變,但選擇包括在SSUllO中的哪個(gè)具體同步器可以改變,以按用戶需要配置設(shè)備。舉例來(lái)說(shuō),可以通過(guò)熔斷禁用SSUllO中的一個(gè)或多個(gè)同步器的熔絲來(lái)配置SSU110。熔絲可以使得O或者I耦連到選擇器信號(hào)118,其選擇將使用哪個(gè)同步器。
[0023]在另一個(gè)實(shí)施例中動(dòng)態(tài)配置SSU110。寄存器可以存儲(chǔ)將SSUllO配置為基于寄存器狀態(tài)來(lái)使用同步器(例如111、112)中的一個(gè)的位。當(dāng)設(shè)備100首次加電時(shí)寄存器值可以被設(shè)定。在又一個(gè)實(shí)施例中,通過(guò)應(yīng)用程序或基于一個(gè)或多個(gè)參數(shù)來(lái)動(dòng)態(tài)配置SSU110。設(shè)備100可以監(jiān)控各種條件以確定參數(shù),諸如響應(yīng)于基于在過(guò)程散布(process spread)中設(shè)備的相對(duì)分布的測(cè)試的設(shè)備100的分類(lèi)、一個(gè)或多個(gè)時(shí)鐘域的頻率、(經(jīng)由溫度傳感器的)設(shè)備100的溫度、用于設(shè)備的供電電壓,并且隨后設(shè)備100可以基于存在于設(shè)備100上的當(dāng)前條件動(dòng)態(tài)配置SSU110。舉例來(lái)說(shuō),設(shè)備100配置為當(dāng)設(shè)備上的溫度低于50°C時(shí)使用第一同步器111,并且設(shè)備100配置為當(dāng)設(shè)備上的溫度大于或等于50°C時(shí)使用第二同步器112。
[0024]圖2示出了根據(jù)一個(gè)實(shí)施例的、用于經(jīng)由握手信令實(shí)現(xiàn)時(shí)鐘同步的技術(shù)。如圖2所示,除了在單元101和單元102之間傳送的信號(hào)實(shí)現(xiàn)握手信令之外,設(shè)備200與設(shè)備100類(lèi)似。如圖2所示,單元101是發(fā)射器單元并且單元102是接收器單元。為了在發(fā)射器單元和接收器單元之間傳送數(shù)據(jù)信號(hào),發(fā)射器單元101在數(shù)據(jù)總線上驅(qū)動(dòng)數(shù)據(jù)信號(hào)(Data),并且隨后置位(assert)請(qǐng)求信號(hào)(Req)。異步請(qǐng)求信號(hào)耦連到接收器單元102中的SSUl 10。發(fā)射器單元101維持?jǐn)?shù)據(jù)信號(hào)直到接收器單元102置位確認(rèn)信號(hào)(Ack)。數(shù)據(jù)總線不需要連接到SSU110,因?yàn)閼?yīng)該避免數(shù)據(jù)總線和請(qǐng)求信號(hào)之間的競(jìng)態(tài)條件。
[0025]因?yàn)镾SUllO對(duì)異步請(qǐng)求信號(hào)的接收進(jìn)行時(shí)延,所以一旦經(jīng)時(shí)延的請(qǐng)求信號(hào)被置位,接收器單元102就可以安全采樣數(shù)據(jù)總線上的數(shù)據(jù)信號(hào)。在接收器單元102已經(jīng)采樣了數(shù)據(jù)信號(hào)之后,接收器單元102可以置位確認(rèn)信號(hào),其傳送回到發(fā)射器單元101。確認(rèn)信號(hào)通過(guò)包括在發(fā)射器單元101中的SSUllO來(lái)路由。一旦發(fā)射器單元101接收到經(jīng)時(shí)延的確認(rèn)信號(hào),發(fā)射器單元101就可以重新設(shè)定請(qǐng)求信號(hào)并改變數(shù)據(jù)總線上的數(shù)據(jù)。一旦接收器單元102接收到經(jīng)重新設(shè)定的請(qǐng)求信號(hào),接收器單元102就可以重新設(shè)定確認(rèn)信號(hào)并且數(shù)據(jù)傳送完成。
[0026]由于與同步握手信號(hào)相關(guān)聯(lián)的時(shí)延,上述握手技術(shù)與高的延遲相關(guān)聯(lián)。在其他實(shí)施例中,可以實(shí)現(xiàn)用于跨異步邊界傳送信號(hào)的其他技術(shù)。舉例來(lái)說(shuō),可以通過(guò)翻轉(zhuǎn)(toggle )請(qǐng)求信號(hào)和確認(rèn)信號(hào)使得不必在每次數(shù)據(jù)傳送之間重新設(shè)定信號(hào),來(lái)減小上述的握手信令技術(shù)的延遲。
[0027]圖3A示出了根據(jù)一個(gè)實(shí)施例的2級(jí)同步器310。如圖3A所示,在第一觸發(fā)器331的輸入端接收數(shù)據(jù)信號(hào)301。第一觸發(fā)器311由同步時(shí)鐘信號(hào)(CLK_S)305鐘控。第一觸發(fā)器的輸出端連接到由同步時(shí)鐘信號(hào)305鐘控的第二觸發(fā)器312的輸入端。第二觸發(fā)器312的輸出是同步數(shù)據(jù)信號(hào)(DATA_S)302。同步數(shù)據(jù)信號(hào)302和與同步時(shí)鐘信號(hào)305相關(guān)聯(lián)的時(shí)鐘域同步。
[0028]在同步時(shí)鐘信號(hào)305的上升沿與數(shù)據(jù)信號(hào)301的躍遷相對(duì)應(yīng)的情況中,第一觸發(fā)器311的輸出可能是亞穩(wěn)態(tài)的。換言之,第一觸發(fā)器311的電勢(shì)可能處于與數(shù)字低或者數(shù)字高對(duì)應(yīng)的電勢(shì)之間的某位置。第一觸發(fā)器的輸出的電勢(shì)可能在短時(shí)間之后涉及數(shù)字高或者數(shù)字低,其隨后在同步時(shí)鐘信號(hào)305的下一個(gè)上升沿躍遷到第二觸發(fā)器312的輸出。因?yàn)榈谝挥|發(fā)器311的輸出在第一次躍遷之后已經(jīng)是亞穩(wěn)態(tài)的,所以數(shù)據(jù)信號(hào)301必須在第一觸發(fā)器311的輸入端維持多個(gè)時(shí)鐘周期。在同步時(shí)鐘信號(hào)305的第一上升沿,第一觸發(fā)器311的輸出可能是亞穩(wěn)態(tài)的。然而,在同步時(shí)鐘信號(hào)305的第二上升沿,第一觸發(fā)器的輸出可能涉及數(shù)據(jù)信號(hào)301的正確值。在同步時(shí)鐘信號(hào)305的下一個(gè)上升沿,第一觸發(fā)器311的輸出躍遷到第二觸發(fā)器312的輸出并且耦連到同步數(shù)據(jù)信號(hào)302。因此,數(shù)據(jù)信號(hào)301在兩個(gè)時(shí)鐘周期的時(shí)延后與新的時(shí)鐘域同步。
[0029]圖3B示出了根據(jù)一個(gè)實(shí)施例的3級(jí)同步器320。如圖3B所示,在第一觸發(fā)器321的輸入端接收數(shù)據(jù)信號(hào)301。第一觸發(fā)器321由同步時(shí)鐘信號(hào)(CLK_S) 305鐘控。第一觸發(fā)器321的輸出端連接到由同步時(shí)鐘信號(hào)305鐘控的第二觸發(fā)器322的輸入端。第二觸發(fā)器322的輸出端連接到由同步時(shí)鐘信號(hào)305鐘控的第三觸發(fā)器323的輸入端。第三觸發(fā)器323的輸出是同步數(shù)據(jù)信號(hào)(DATA_S) 302。同步數(shù)據(jù)信號(hào)302和與同步時(shí)鐘信號(hào)305相關(guān)聯(lián)的時(shí)鐘域同步。
[0030]可以理解,與圖3A的2級(jí)同步器310中的第二觸發(fā)器312的輸出相比,3級(jí)觸發(fā)器323的輸出在更高的穩(wěn)定性上同步。即使采用2級(jí)同步器310,如果在第一觸發(fā)器311的亞穩(wěn)態(tài)的輸出有機(jī)會(huì)穩(wěn)固之前,第一觸發(fā)器311的亞穩(wěn)態(tài)的輸出傳播到第二觸發(fā)器312的輸出端,那么同步數(shù)據(jù)信號(hào)302可能是亞穩(wěn)態(tài)的。圖3B的3級(jí)同步器320中的附加的觸發(fā)器級(jí),減小了亞穩(wěn)態(tài)的輸出傳播到同步數(shù)據(jù)信號(hào)302的可能性。換言之,通常來(lái)說(shuō)同步器中的級(jí)越多,同步器的MTBF越長(zhǎng)并且同步輸出越可靠。在又一個(gè)實(shí)施例中,可以添加附加的級(jí)以實(shí)現(xiàn)具N個(gè)觸發(fā)器的N級(jí)同步器。
[0031]圖3C示出了根據(jù)一個(gè)實(shí)施例的1.5級(jí)同步器330。如圖3C所示,在第一觸發(fā)器331的輸入端接收數(shù)據(jù)信號(hào)301。第一觸發(fā)器331由反相同步時(shí)鐘信號(hào)(CLK_S) 305鐘控。第一觸發(fā)器331的輸出端連接到由同步時(shí)鐘信號(hào)305鐘控的第二觸發(fā)器332的輸入端。換言之,第一觸發(fā)器331的輸入在同步時(shí)鐘信號(hào)305的下降沿躍遷到第一觸發(fā)器331的輸出,并且第二觸發(fā)器332的輸入在同步時(shí)鐘信號(hào)305的上升沿躍遷到第二觸發(fā)器332的輸出。第二觸發(fā)器332的輸出是同步數(shù)據(jù)信號(hào)(DATA_S)302。同步數(shù)據(jù)信號(hào)302和與同步時(shí)鐘信號(hào)305相關(guān)聯(lián)的時(shí)鐘域同步。1.5級(jí)同步器330和使用相同頻率的同步時(shí)鐘信號(hào)305的2級(jí)同步器310相比,具有一半時(shí)間用于穩(wěn)固第一觸發(fā)器331的亞穩(wěn)態(tài)輸出。
[0032]圖3A到3C所述的同步器是可以在SSUllO中實(shí)現(xiàn)的示例性同步器。可以理解,在其他實(shí)施例中在SSUllO中可以實(shí)現(xiàn)其他同步器,包括具有除上述觸發(fā)器級(jí)之外的或者替代上述觸發(fā)器級(jí)的附加邏輯的特殊同步器。任何同步器,包括專(zhuān)用同步器,可以包括在SSUllO 中。
[0033]圖4A示出了根據(jù)一個(gè)實(shí)施例的、包括在SSUllO中以幫助兩個(gè)同步器之間的正確地躍遷的旁路電路400。如圖4A所示,旁路電路400包括時(shí)延子電路401和多路復(fù)用器402。數(shù)據(jù)信號(hào)116耦連到多路復(fù)用器402的一個(gè)輸入端和時(shí)延子電路401的輸入端。時(shí)延子電路401的輸出端耦連到多路復(fù)用器402的另一個(gè)輸入端。旁路電路400的功能是幫助在SSUllO的不同的同步器(例如111、112)之間躍遷。因?yàn)椴煌耐狡骺梢耘c不同的延遲相關(guān)聯(lián),所以在躍遷期間SSUllO可能需要對(duì)將應(yīng)用到不同的同步器的輸入信號(hào)116進(jìn)行時(shí)延。
[0034]舉例來(lái)說(shuō),第一同步器111正由處理器使用以采樣異步信號(hào)116,并且第一同步器111有5個(gè)時(shí)鐘周期的延遲。處理器可能配置為從使用第一同步器111動(dòng)態(tài)躍遷到使用具有2個(gè)時(shí)鐘周期延遲的第二同步器112。如果處理器立即躍遷到第二同步器112,那么在第二同步器112的輸出端的數(shù)據(jù)將會(huì)比在第一同步器111的輸出端的數(shù)據(jù)提前三個(gè)時(shí)鐘周期。因此,處理器需要配置旁路電路400以切換到時(shí)延子電路401的輸出端,使得在躍遷時(shí)到達(dá)第二同步器112的數(shù)據(jù)與正由第一同步器111輸出的數(shù)據(jù)正確地對(duì)齊。沒(méi)有時(shí)延電路400時(shí),SSUllO的輸出可能丟失異步數(shù)據(jù)信號(hào)116上的數(shù)據(jù)。
[0035]應(yīng)該理解,只有在處理器動(dòng)態(tài)配置為在操作期間使用兩個(gè)或更多個(gè)同步器時(shí),旁路電路400才是必要的。如果處理器僅配置為在處理器操作的整個(gè)時(shí)間期間使用一個(gè)同步器,諸如在引導(dǎo)序列期間選擇多個(gè)同步器的一個(gè)并且在處理器操作時(shí)可能不切換到不同的同步器,那么對(duì)于SSUllO的正確的操作,旁路電路400是不必要的。此外,如果僅在數(shù)據(jù)空閑時(shí)(即沒(méi)有數(shù)據(jù)在異步邊界之間轉(zhuǎn)移)實(shí)施同步器之間的躍遷,那么旁路電路400的功能性是不必要的。可以實(shí)現(xiàn)監(jiān)控異步數(shù)據(jù)輸入信號(hào)116的狀態(tài)的各種協(xié)議。如果數(shù)據(jù)輸入信號(hào)116已經(jīng)空閑了 N個(gè)時(shí)鐘周期,那么SSUllO可以允許從第一同步器躍遷到另一個(gè)。
[0036]圖4B示出了根據(jù)一個(gè)實(shí)施例的時(shí)延子電路401。如圖4B所示,時(shí)延子電路401包括多個(gè)觸發(fā)器(例如411、412、413、414、415和416)。觸發(fā)器將異步數(shù)據(jù)輸入信號(hào)116時(shí)延發(fā)射單元的時(shí)鐘域中的數(shù)個(gè)時(shí)鐘周期(CLK),從而作為用于輸入信號(hào)116的短暫歷史緩沖區(qū)。通過(guò)配置多路復(fù)用器402為從異步數(shù)據(jù)輸入信號(hào)116切換到時(shí)延子電路401的輸出,旁路電路400能夠重演數(shù)據(jù)輸入信號(hào)116的經(jīng)時(shí)延的部分到SSUllO中的所新選擇的同步器。
[0037]在一個(gè)實(shí)施例中,當(dāng)在同步器間切換的時(shí)候使用時(shí)延子電路401時(shí),應(yīng)該維持?jǐn)?shù)據(jù)輸入信號(hào)116的先前狀態(tài),而之前選擇的同步器清空。舉例來(lái)說(shuō),當(dāng)3級(jí)同步器清空時(shí),數(shù)據(jù)輸入信號(hào)116的狀態(tài)維持接收時(shí)鐘域中的至少三個(gè)時(shí)鐘周期,使得躍遷通過(guò)同步器的任何數(shù)據(jù)到達(dá)觸發(fā)器鏈的末端。當(dāng)這發(fā)生時(shí),時(shí)延子電路401可能正存儲(chǔ)數(shù)據(jù)輸入信號(hào)116的狀態(tài),以當(dāng)選擇新的同步器時(shí)重演數(shù)據(jù)輸入信號(hào)116的狀態(tài)。雖然沒(méi)有明確示出,可以在旁路電路400中實(shí)現(xiàn)鎖存器電路或者其他電路元件,以在實(shí)行兩個(gè)同步器之間的躍遷的同時(shí),維持在同步器電路的輸入端的數(shù)據(jù)輸入信號(hào)116的之前狀態(tài)。當(dāng)實(shí)行躍遷時(shí),數(shù)據(jù)輸入信號(hào)的之前狀態(tài)可以使用附加的多路復(fù)用器來(lái)選擇??商娲?,可以對(duì)兩個(gè)同步器之間的躍遷進(jìn)行時(shí)延,直到時(shí)延子電路401指示針對(duì)最小數(shù)目的時(shí)鐘周期的輸入信號(hào)116的恒定狀態(tài)。換言之,可以采樣時(shí)延子電路401中的觸發(fā)器鏈(例如使用邏輯門(mén))以確定是否所有觸發(fā)器的輸出是類(lèi)似的。如果所有的輸出是類(lèi)似的,那么可以實(shí)行躍遷,因?yàn)樗型狡鞯妮敵鰻顟B(tài)確保是相同的??梢越?jīng)由軟件或者硬件來(lái)控制躍遷。
[0038]一旦已經(jīng)選擇時(shí)延子電路401以路由數(shù)據(jù)輸入信號(hào)116的經(jīng)時(shí)延的版本到同步器,多路復(fù)用器402應(yīng)該不選擇數(shù)據(jù)輸入信號(hào)116直到數(shù)據(jù)輸入信號(hào)116已經(jīng)保持相同的狀態(tài)給定數(shù)目的時(shí)鐘周期(例如,使得時(shí)延子電路401中的觸發(fā)器鏈都有相同的輸出)??梢岳斫?,可以實(shí)現(xiàn)數(shù)種不同的技術(shù)來(lái)確保兩個(gè)同步器之間的正確的躍遷,包括在躍遷期間去激活接口(即阻止信號(hào)在兩個(gè)時(shí)鐘域之間傳送)、使用歷史緩沖區(qū)來(lái)確定何時(shí)躍遷是安全的(即歷史緩沖區(qū)指示輸入信號(hào)保持在相同狀態(tài)的時(shí)間已經(jīng)大于或等于同步器的最大延遲)、當(dāng)允許恒定狀態(tài)傳播通過(guò)同步器時(shí)使用旁路鏈來(lái)保存躍遷(如上所述),或者其他可能的技術(shù)。當(dāng)在SSUllO中的同步器中的兩個(gè)之間動(dòng)態(tài)躍遷時(shí)可以實(shí)現(xiàn)上述每種技術(shù)。
[0039]在另一個(gè)實(shí)施例中,時(shí)延子電路401可以實(shí)現(xiàn)其他部件以實(shí)行數(shù)據(jù)輸入信號(hào)116的經(jīng)延遲的版本。舉例來(lái)說(shuō),時(shí)延子電路401可以在發(fā)射時(shí)鐘域采樣數(shù)據(jù)輸入信號(hào)116并將采樣信號(hào)存儲(chǔ)在異步FIFO中。實(shí)行數(shù)據(jù)輸入信號(hào)116的時(shí)延的其他電路認(rèn)為在本公開(kāi)的范圍內(nèi)。
[0040]應(yīng)該注意,雖然本文結(jié)合SSUllO闡述各種可選的特征,這樣的特征僅用于示例性目的并且不應(yīng)解釋為以任何方式限制。在一個(gè)實(shí)施例中,上述SSUllO可以在具有跨異步邊界操作的多個(gè)部件的系統(tǒng)500中實(shí)現(xiàn)。
[0041]圖5示出在其中可實(shí)現(xiàn)各先前實(shí)施例的各架構(gòu)和/或功能性的示例性系統(tǒng)500。如所示,提供了系統(tǒng)500,其包括至少一個(gè)連接到通信總線502的中央處理器501。通信總線502可使用任何合適的協(xié)議來(lái)實(shí)現(xiàn),諸如外圍部件互連(PCI)、PC1-Express、加速圖形端口(AGP)、超傳輸、或任何其他總線或點(diǎn)對(duì)點(diǎn)通信協(xié)議。系統(tǒng)500還包括主存儲(chǔ)器504??刂七壿?軟件)和數(shù)據(jù)存儲(chǔ)在可采取隨機(jī)存取存儲(chǔ)器(RAM)形式的主存儲(chǔ)器504中。
[0042]系統(tǒng)500還包括輸入設(shè)備512、圖形處理器506以及顯示器508,所述顯示器508即常規(guī)CRT (陰極射線管)、IXD (液晶顯示器)、LED (發(fā)光二極管)、等離子顯示器等等。可從輸入設(shè)備512例如鍵盤(pán)、鼠標(biāo)、觸摸板、擴(kuò)音器等接收用戶輸入。在一個(gè)實(shí)施例中,圖形處理器506可包括多個(gè)著色器模塊、光柵化模塊等。前述模塊中的每一個(gè)實(shí)際上可布置于單個(gè)半導(dǎo)體平臺(tái)上以形成圖形處理單元(GPU)。
[0043]在本描述中,單個(gè)半導(dǎo)體平臺(tái)可以指單獨(dú)一個(gè)的基于半導(dǎo)體的集成電路或芯片。應(yīng)注意的是,術(shù)語(yǔ)單個(gè)半導(dǎo)體平臺(tái)還可以指具有增強(qiáng)的連通性的多芯片模塊,其仿真片上操作,并通過(guò)利用常規(guī)中央處理單元(CPU)和總線實(shí)現(xiàn)方案做出實(shí)質(zhì)的改進(jìn)。當(dāng)然,各模塊還可根據(jù)用戶的期望分開(kāi)地或以半導(dǎo)體平臺(tái)的各種組合來(lái)布置。
[0044]系統(tǒng)500還可包括二級(jí)存儲(chǔ)510。二級(jí)存儲(chǔ)510包括例如硬盤(pán)驅(qū)動(dòng)器和/或表示軟盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、壓縮光盤(pán)驅(qū)動(dòng)器、數(shù)字通用光盤(pán)(DVD)驅(qū)動(dòng)器、記錄設(shè)備、通用串行總線(USB)閃存的可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器。可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器以公知的方式從可移動(dòng)存儲(chǔ)單元讀取和/或?qū)懭氲娇梢苿?dòng)存儲(chǔ)單元。
[0045]計(jì)算機(jī)程序或計(jì)算機(jī)控制邏輯算法可存儲(chǔ)在主存儲(chǔ)器504和/或二級(jí)存儲(chǔ)510中。這類(lèi)計(jì)算機(jī)程序當(dāng)被執(zhí)行時(shí)使得系統(tǒng)500能夠?qū)嵤└鞣N功能。存儲(chǔ)器504、存儲(chǔ)510和/或任何其他存儲(chǔ)是計(jì)算機(jī)可讀介質(zhì)的可能的示例。
[0046]在一個(gè)實(shí)施例中,可在以下內(nèi)容的上下文中實(shí)現(xiàn)各先前示圖的架構(gòu)和/或功能性:中央處理器501、圖形處理器506、能夠具有中央處理器501和圖形處理器506 二者的能力的至少一部分的集成電路(未示出)、芯片集(即設(shè)計(jì)為作為用于實(shí)施相關(guān)功能的單元來(lái)工作和出售的集成電路組等)和/或用于此的任何其他集成電路。
[0047]還有就是,可在以下內(nèi)容的上下文中實(shí)現(xiàn)各先前示圖的架構(gòu)和/或功能性:通用計(jì)算機(jī)系統(tǒng)、電路板系統(tǒng)、專(zhuān)用于娛樂(lè)目的的游戲機(jī)系統(tǒng)、特定于應(yīng)用的系統(tǒng)和/或任何其他所期望的系統(tǒng)。舉例來(lái)說(shuō),系統(tǒng)500可采取臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器、工作站、游戲機(jī)、嵌入式系統(tǒng)和/或任何其他類(lèi)型的邏輯的形式。還有就是,系統(tǒng)500可采取各種其他設(shè)備的形式,包括但不限于個(gè)人數(shù)字助理(PDA)設(shè)備、移動(dòng)電話設(shè)備、電視機(jī)等。
[0048]進(jìn)一步地,雖然未示出,但系統(tǒng)500可耦連到網(wǎng)絡(luò)(例如電信網(wǎng)絡(luò)、局域網(wǎng)(LAN)、無(wú)線網(wǎng)、諸如互聯(lián)網(wǎng)的廣域網(wǎng)(WAN)、對(duì)等網(wǎng)絡(luò)、電纜網(wǎng)絡(luò)等等)用于通信目的。
[0049]雖然上文已描述了各實(shí)施例,但應(yīng)理解的是它們通過(guò)僅示例而非限制的方式加以呈現(xiàn)。因此,優(yōu)選實(shí)施例的寬度和范圍不應(yīng)被上文所述的示例性實(shí)施例中的任何一個(gè)所限制,而應(yīng)僅根據(jù)下面的權(quán)利要求和其等同物來(lái)加以限定。
【權(quán)利要求】
1.一種裝置,包括: 與第一時(shí)鐘域相關(guān)聯(lián)的單元;以及 耦連到所述單元并且與第二時(shí)鐘域相關(guān)聯(lián)的同步器子單元(SSU),其中所述SSU包括兩個(gè)或更多個(gè)同步器和選擇器邏輯,所述選擇器邏輯配置為選擇所述兩個(gè)或更多個(gè)同步器的一個(gè)輸出。
2.根據(jù)權(quán)利要求1所述的裝置,其中所述兩個(gè)或更多個(gè)同步器包括與第一延遲相關(guān)聯(lián)的第一同步器和與第二延遲相關(guān)聯(lián)的第二同步器,以及其中所述第一延遲小于所述第二延遲。
3.根據(jù)權(quán)利要求2所述的裝置,其中所述第一同步器是2級(jí)同步器并且所述第二同步器是3級(jí)同步器。
4.根據(jù)權(quán)利要求1所述的裝置,其中所述SSU進(jìn)一步包括包括時(shí)延子電路和多路復(fù)用器的旁路電路。
5.根據(jù)權(quán)利要求4所述的裝置,其中所述SSU配置為,當(dāng)所述時(shí)延子電路指示針對(duì)最小數(shù)目的時(shí)鐘周期的輸入信號(hào)的恒定狀態(tài)時(shí)在兩個(gè)同步器之間躍遷。
6.根據(jù)權(quán)利要求4所述的裝置,其中所述時(shí)延子電路包括多個(gè)觸發(fā)器。
7.根據(jù)權(quán)利要求1所述的裝置,其中所述SSU動(dòng)態(tài)配置為基于至少一個(gè)參數(shù)來(lái)選擇所述兩個(gè)或更多個(gè)同步器的一個(gè)輸出。
8.根據(jù)權(quán)利要求7所述的裝置,其中所述至少一個(gè)參數(shù)包括以下一個(gè)或多個(gè):所述裝置的預(yù)期用途、溫度、供電電壓、頻率和基于測(cè)試的所述裝置的分類(lèi)。
9.根據(jù)權(quán)利要求1所述的裝置,其中所述SSU包括三個(gè)或更多個(gè)同步器和所述選擇器邏輯,所述選擇器邏輯配置為選擇所述三個(gè)或更多個(gè)同步器的一個(gè)輸出。
10.根據(jù)權(quán)利要求1所述的裝置,進(jìn)一步包括: 與所述第二時(shí)鐘域相關(guān)聯(lián)的第二單元;以及 耦連到所述第二單元并且與所述第一時(shí)鐘域相關(guān)聯(lián)的第二 SSU。
11.根據(jù)權(quán)利要求10所述的裝置,其中所述第一單元和所述第二單元實(shí)現(xiàn)握手信令技術(shù),以將與所述第一時(shí)鐘域相關(guān)聯(lián)的信號(hào)和所述第二時(shí)鐘域同步。
12.—種系統(tǒng),包括: 處理器,其包括: 與第一時(shí)鐘域相關(guān)聯(lián)的單元;以及 耦連到所述單元并且與第二時(shí)鐘域相關(guān)聯(lián)的同步器子單元(SSU),其中所述SSU包括兩個(gè)或更多個(gè)同步器和選擇器邏輯,所述選擇器邏輯配置為選擇所述兩個(gè)或更多個(gè)同步器的一個(gè)輸出。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述兩個(gè)或更多個(gè)同步器包括與第一延遲相關(guān)聯(lián)的第一同步器和與第二延遲相關(guān)聯(lián)的第二同步器,以及其中所述第一延遲小于所述第二延遲。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述第一同步器是2級(jí)同步器并且所述第二同步器是3級(jí)同步器。
15.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述SSU進(jìn)一步包括包括時(shí)延子電路和多路復(fù)用器的旁路電路。
16.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述SSU動(dòng)態(tài)配置為基于至少一個(gè)參數(shù)來(lái)選擇所述兩個(gè)或更多個(gè)同步器的一個(gè)。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中所述至少一個(gè)參數(shù)包括以下一個(gè)或多個(gè):所述處理器的預(yù)期用途、溫度、供電電壓、頻率和基于測(cè)試的所述處理器的分類(lèi)。
18.根據(jù)權(quán)利要求12所述的系統(tǒng),所述系統(tǒng)進(jìn)一步包括: 與所述第二時(shí)鐘域相關(guān)聯(lián)的第二單元;以及 耦連到所述第二單元并且與所述第一時(shí)鐘域相關(guān)聯(lián)的第二 SSU。
19.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述處理器包括圖形處理單元。
20.根據(jù)權(quán)利 要求12所述的系統(tǒng),其中所述處理器包括在片上系統(tǒng)(SoC)中。
【文檔編號(hào)】G06F1/12GK104049672SQ201310741671
【公開(kāi)日】2014年9月17日 申請(qǐng)日期:2013年12月27日 優(yōu)先權(quán)日:2013年3月14日
【發(fā)明者】圖卡拉姆·尚卡爾·梅塔, 尼雷施·阿齊亞, 喬提瑪亞·斯維因, 布雷恩·勞倫斯·史密斯 申請(qǐng)人:輝達(dá)公司