本申請涉及電子系統(tǒng)并且,更具體而言,涉及數(shù)字電子系統(tǒng)中的時(shí)鐘信號(hào)分配網(wǎng)絡(luò),并且尤其涉及包含許多處理單元的集成電路(IntegratedCircuit,IC)芯片中的時(shí)鐘分配。
背景技術(shù):對于大型昂貴的計(jì)算機(jī)系統(tǒng),它們的經(jīng)濟(jì)性決定了它們要一直保持繁忙。按照慣例,性能是作為每秒的計(jì)算來測量的。對于小型不昂貴的計(jì)算機(jī),持續(xù)的高速操作是不要求的,并且對于靠電池操作的設(shè)備甚至是個(gè)障礙。計(jì)算機(jī)和數(shù)字信號(hào)處理器(DigitalSignalProcessor,DSP)的性能越來越多地是以每秒每瓦的計(jì)算或者所使用的每焦耳能量的計(jì)算來測量的。雖然存在需要一次數(shù)小時(shí)的高性能操作的娛樂應(yīng)用,但是小型計(jì)算機(jī)的大部分使用對于高性能的突發(fā)需要少于一分鐘。實(shí)際上,當(dāng)小型嵌入式計(jì)算機(jī)或數(shù)字信號(hào)處理器(DSP)以降低的速度就可以良好地工作時(shí),存在許多時(shí)間間隔。由于用于微型計(jì)算機(jī)的電路技術(shù)消耗與計(jì)算速度成比例的電力;因此以降低的速度運(yùn)行的機(jī)會(huì)是降低功耗并節(jié)省電池電量的機(jī)會(huì)。對于個(gè)人電子設(shè)備(PersonalElectronicDevice,PED),機(jī)會(huì)可以是最大的,其中人的興趣和注意力把高度可變的需求放在微型計(jì)算機(jī)和嵌入在其中的DSP上。單處理器系統(tǒng)在只有一個(gè)處理單元的計(jì)算機(jī)中,處理器可以通過寫到生成系統(tǒng)時(shí)鐘信號(hào)的特定電路來調(diào)節(jié)其自己的速度。這可以被用來使系統(tǒng)時(shí)鐘頻率匹配平均工作量。但是,降低的系統(tǒng)時(shí)鐘頻率(或速率)也放慢了操作系統(tǒng)軟件的駐留內(nèi)核及其響應(yīng)時(shí)間。依賴于實(shí)現(xiàn),當(dāng)機(jī)器為了每秒更多計(jì)算的性能類型而需要升到更快的時(shí)鐘速率時(shí),用戶會(huì)注意到停頓。單處理器計(jì)算機(jī)及其控制軟件也常常具有用戶可調(diào)節(jié)的暫停(time-out);并且硬件中的斷電模式越多,系統(tǒng)可以越精細(xì)地使其功率使用適應(yīng)實(shí)際的計(jì)算需求。例如,在初始暫停之后處理器可以切換到降低的速度和降低的供給電壓狀態(tài);在更長的暫停之后切換到時(shí)鐘停止?fàn)顟B(tài);并且在更長的暫停之后切換到低電壓睡眠狀態(tài)。這些低電壓狀態(tài)把數(shù)據(jù)維持在易失性存儲(chǔ)器中,這對于快速重新激活是有利的。如果處理器的電源被完全切斷,則其易失性存儲(chǔ)器中的數(shù)據(jù)丟失;并且在處理器重新激活時(shí),數(shù)據(jù)將必須從非易失性存儲(chǔ)器重新加載。多處理器系統(tǒng)大型多處理器系統(tǒng)已經(jīng)開辟了許多技術(shù)來提高每秒的計(jì)算,但是對于電源管理不太積極。隨著利用包含多個(gè)處理單元的不昂貴IC芯片的PED的來臨,對能量效率的需求增加了許多。多處理的優(yōu)點(diǎn)包括對于為了并行執(zhí)行而被轉(zhuǎn)換的算法有高得多的計(jì)算吞吐量,以及由于過程分離到不同的處理器和存儲(chǔ)器上而產(chǎn)生的增加的可靠性和安全性。在多處理器系統(tǒng)中,在其自己的處理器上執(zhí)行的監(jiān)督過程更不可能被在其它處理器上執(zhí)行的應(yīng)用過程延遲。在應(yīng)用中,依賴于外部事件,一些處理器可以被放慢而其它被加速。例如,用于顯示視頻數(shù)據(jù)的視頻處理器的性能許多都依賴于數(shù)據(jù)的類型和用戶行為。(在這個(gè)例子中,視頻處理器可以是專用于視頻的單個(gè)單元,或者可以是被編程為以并行方式處理視頻的一組處理元件。)如果用戶在編輯視頻,這在運(yùn)動(dòng)的顯示中會(huì)有頻繁的停頓。在停頓時(shí),視頻處理器可以降低至空閑速度,準(zhǔn)備好作出響應(yīng)但是比全速耗散更少的功率。同時(shí),用戶接口可以由為了進(jìn)行用戶交互而被優(yōu)化的不同處理器處理。在多處理器系統(tǒng)中節(jié)省電力的另一條途徑是安排多個(gè)處理器在各種時(shí)鐘頻率上運(yùn)行-快的時(shí)鐘用于計(jì)算中的關(guān)鍵路徑,而較慢的時(shí)鐘用于其它部分。由于節(jié)省電力的機(jī)會(huì)高度依賴于應(yīng)用軟件,因此時(shí)鐘分配硬件應(yīng)當(dāng)是可配置的,優(yōu)選地可從應(yīng)用軟件快速配置。多處理器陣列諸如計(jì)算機(jī)和數(shù)字信號(hào)處理器(DSP)的數(shù)字電子系統(tǒng)越來越多地利用一個(gè)或多個(gè)多處理器陣列(Multi-ProcessorArray,MPA)。MPA可以被寬松地定義為多個(gè)處理元件(ProcessingElement,PE)、支持存儲(chǔ)器(SupportingMemory,SM)以及高帶寬互連網(wǎng)絡(luò)(InterconnectionNnetwork,IN)。如在本文所使用的,術(shù)語“處理元件”指處理器或CPU(中央處理單元)、微處理器或者處理器核心。MPA中的詞“陣列”在其最廣泛的意義上是用來指通過網(wǎng)絡(luò)互連的多個(gè)計(jì)算單元(每個(gè)計(jì)算單元可以包含處理和/或存儲(chǔ)器資源),其中連接在一個(gè)、兩個(gè)、三個(gè)或更多個(gè)維度中可用,包括圓形維度(回路或環(huán))。應(yīng)當(dāng)指出,更高維度的MPA可以映射到具有較少維度的制造介質(zhì),假定該介質(zhì)支持增加的布線密度。例如,具有四維(4D)超立方體形狀的MPA可以映射到硅集成電路(IC)芯片的3D堆疊,或者映射到單個(gè)2D芯片,或者甚至1D的計(jì)算單元行。而且低緯度的MPA可以映射到更高維度的介質(zhì)。例如,1D的計(jì)算單元行可以以蜿蜒的形狀布置到IC芯片的2D平面上,或者盤繞到芯片的3D堆疊中。MPA可以包含多種類型的計(jì)算單元以及處理器和存儲(chǔ)器的穿插布置。在MPA的廣泛意義上,還包括MPA的層次或嵌套布置,尤其是由互連的IC芯片組成的MPA,其中IC芯片包含一個(gè)或多個(gè)還可以具有更深層次結(jié)構(gòu)的MPA。在不同類型的MPA中或者M(jìn)PA之間可以有一個(gè)或多個(gè)互連網(wǎng)絡(luò)(IN)。MPA中互連網(wǎng)絡(luò)的目的是在PE、SM和I/O之間和之中移動(dòng)數(shù)據(jù)、指令、狀態(tài)、配置或控制信息。主互連網(wǎng)絡(luò)(PrimaryInterconnectionNetwork,PIN)是為高帶寬數(shù)據(jù)移動(dòng)而設(shè)計(jì)的,具有良好但不是極低的等待時(shí)間(在源和目的地之間輸送數(shù)據(jù)的時(shí)間延遲)。被PIN移動(dòng)的數(shù)據(jù)可以封裝其它類型的信息,假定處于數(shù)據(jù)目的地的硬件或軟件能夠把數(shù)據(jù)翻譯成其它類型的信息。MPA可以具有其它的輔助IN;這些輔助IN可以呈現(xiàn)更低或更高的等待時(shí)間,但是一般而言將具有低得多的帶寬。IN由鏈路和節(jié)點(diǎn)組成。鏈路通常由一組實(shí)現(xiàn)為電路板或IC上的導(dǎo)電路徑(軌道或跡線)的一組平行“導(dǎo)線”組成。節(jié)點(diǎn)包含用于耦合到鏈路的端口,它包含在鏈路上發(fā)送和接收信號(hào)的發(fā)送器電路和接收器電路。節(jié)點(diǎn)可以具有用于與PE或SM通信的其它端口。節(jié)點(diǎn)具有包含數(shù)據(jù)路徑的路由器和用于彼此連接端口的交換機(jī),加上用于根據(jù)一種或多種協(xié)議選擇性地連接端口的路由器控制機(jī)制。為了實(shí)現(xiàn)高帶寬,PIN的每條鏈路可以包括許多并行的導(dǎo)線。如果節(jié)點(diǎn)之間的距離小,則鏈路短并且可以使用標(biāo)準(zhǔn)CMOS二進(jìn)制信令方案;該方案是電源高側(cè)附近的穩(wěn)定信號(hào)電壓是代表邏輯1的信號(hào)狀態(tài)(H)并且電源低(或接地)側(cè)附近的穩(wěn)定信號(hào)電壓是其它二進(jìn)制狀態(tài)(L)并且代表邏輯0。在這種信令方案中,一根導(dǎo)線編碼一位信息。如果鏈路的長度長,諸如在IC芯片之間或電路板之間,則不同的信令方案可以更好地適于維持高速度和拒絕噪聲。鏈路中的并行導(dǎo)線可以攜帶數(shù)據(jù)或時(shí)鐘信號(hào)。時(shí)鐘信號(hào)的目的是標(biāo)記發(fā)送電路可以改變數(shù)據(jù)信號(hào)的時(shí)間點(diǎn)和接收電路可以采樣數(shù)據(jù)信號(hào)的時(shí)間點(diǎn)。在適當(dāng)設(shè)計(jì)的電路中,采樣時(shí)間發(fā)生在改變的數(shù)據(jù)信號(hào)停留到穩(wěn)態(tài)值之后。發(fā)送器可以使用時(shí)鐘信號(hào)來觸發(fā)何時(shí)它把線路驅(qū)動(dòng)至信號(hào)狀態(tài)H或L;接收器電路可以使用時(shí)鐘信號(hào)把數(shù)據(jù)信號(hào)鎖存到寄存器中。常見的慣例是接收器在其時(shí)鐘信號(hào)的上升(0到1)變換上鎖存數(shù)據(jù),而發(fā)送器在其時(shí)鐘信號(hào)的下降(1到0)變換上更新其輸出。這些信號(hào)狀態(tài)變換花有限的時(shí)間量完成,但是,如果上升和下降間隔與用來表示位的間隔相比而言短時(shí),變換也可以被稱為“邊緣”。如果時(shí)鐘信號(hào)在多個(gè)發(fā)送器和接收器之間共享,則它們被說成是同步的并且數(shù)據(jù)傳輸一般被稱為“同步”數(shù)據(jù)傳輸?!爱惒健睌?shù)據(jù)傳輸簡單地說就是在不使用公共時(shí)鐘信號(hào)的情況下數(shù)據(jù)信號(hào)可以被發(fā)送和接收的任何方案。對于采樣數(shù)據(jù)信號(hào)而言,異步接收器比同步接收器更加靈活。具體而言,它可以在與其本地時(shí)鐘信號(hào)非常不同的時(shí)間點(diǎn)采樣并鎖存數(shù)據(jù)。一些異步接收器通過過采樣輸入來工作,以查看數(shù)據(jù)信號(hào)變換。更簡單的異步接收器接受源自發(fā)送器并且與數(shù)據(jù)一起被攜帶的時(shí)鐘(或選通)輸入信號(hào);選通輸入在接收器的前端鎖存數(shù)據(jù),然后被緩沖并且為了同步輸出而被重新定時(shí)。鏈路上的數(shù)據(jù)流可能需要被發(fā)送器或接收器中斷。如果發(fā)送器暫時(shí)沒有新數(shù)據(jù)要發(fā)送,則接收器會(huì)錯(cuò)誤地持續(xù)讀數(shù)據(jù)的最后一位,除非它從發(fā)送器得到未就緒信號(hào)。類似地,如果接收器暫時(shí)沒有位置放數(shù)據(jù),則它會(huì)錯(cuò)誤地忽略到達(dá)的數(shù)據(jù),除非它可以告訴發(fā)送器停止發(fā)送?;ミB網(wǎng)絡(luò)可以具有專用于流控制的特殊信號(hào)以及用于在這些信號(hào)改變狀態(tài)時(shí)猜想節(jié)點(diǎn)要做什么的協(xié)議。這些特殊信號(hào)可以是鏈路本身當(dāng)中的導(dǎo)線,或者它們可以是導(dǎo)線集合中的代碼模式。協(xié)議是利用簡單的狀態(tài)機(jī)實(shí)現(xiàn)的。在典型的微處理器IC芯片中,數(shù)據(jù)傳輸是同步的。但是,更高性能(每秒的計(jì)算)的追求已經(jīng)把時(shí)鐘頻率推到越來越高(目前是大約2GHz)。這么高的時(shí)鐘頻率在導(dǎo)線物理上短的IC內(nèi)部是合理的,但是對于芯片I/O和芯片間鏈路而言則難以管理。信號(hào)以非常高的速度(大約每納秒4-6英寸)在電路板上傳播,但是對于電路板上的精細(xì)導(dǎo)線“跡線”,發(fā)送器會(huì)發(fā)展出比納秒短的上升和下降時(shí)間。利用足夠快的上升和下降時(shí)間,在任何給定的時(shí)刻,都有幾個(gè)時(shí)鐘/數(shù)據(jù)變換(或邊緣)可以在IC芯片之間的信號(hào)線上經(jīng)過。在幾乎任何微處理器IC芯片上,與芯片I/O電路一起使用的時(shí)鐘信號(hào)不像在核心中使用的時(shí)鐘信號(hào)那么高。電路板上附近芯片之間大約每秒4千兆字(每個(gè)字16位)的高帶寬可以利用并行導(dǎo)線、低電壓差分信令(Low-VoltageDifferentialSignaling,LVDS)和同步數(shù)據(jù)傳輸獲得。在電路板之間,高帶寬可以利用并行導(dǎo)線或光纖以及同步或異步數(shù)據(jù)傳輸獲得。專用的電路和控制器與外部存儲(chǔ)器芯片一起使用,諸如流行的雙數(shù)據(jù)率(DoubleDataRate,DDR)系列的接口。專用的電路還用于高速位串行通信,諸如串行器&解串器(serializer&deserializer,SERDES)電路。為了建立由多個(gè)VLSI芯片和同步并行芯片間通信組成的大型系統(tǒng),IO時(shí)鐘優(yōu)選地以使得它們將跨多個(gè)IC芯片同步這樣一種方式生成。通常這是利用每個(gè)芯片中的鎖相環(huán)(Phase-LockedLoop,PLL)實(shí)現(xiàn)的。PLL在外部生成的時(shí)鐘參考信號(hào)與芯片內(nèi)部的時(shí)鐘信號(hào)之間維持恒定的平均相位關(guān)系。通常,參考時(shí)鐘頻率比內(nèi)部時(shí)鐘頻率低得多,以便限制帶寬和引入?yún)⒖紩r(shí)鐘信號(hào)的噪聲,和/或使用晶體控制振蕩器的輸出。多頻率時(shí)鐘用于MPA的PE、SM、IN和時(shí)鐘分配網(wǎng)絡(luò)與常規(guī)微處理器相比需要更高的每個(gè)處理器功率效率,這僅僅是因?yàn)樵诿總€(gè)MPAIC芯片中有10至100倍更多的處理器,并且用于其的合理芯片尺寸和包裝具有有限的容量來耗散熱量。MPA時(shí)鐘分配及其控制機(jī)制還應(yīng)當(dāng)更加靈活,因?yàn)椋瑢τ诖罅康奶幚砥?,對于其操作的瞬時(shí)需求存在更大波動(dòng)。在多處理器系統(tǒng)中,處理器可以被配置為控制其它處理器的供給電壓和時(shí)鐘頻率,以節(jié)省整體功耗。簡單的方法是關(guān)閉到暫時(shí)不需要的處理器的時(shí)鐘并且用來使切斷其電力的間隔更長。更專業(yè)的方法涉及準(zhǔn)備處于低速的處理器供在高速時(shí)使用。對于處理器和存儲(chǔ)器,重新打開電源并且恢復(fù)處理比關(guān)掉其復(fù)雜得多。當(dāng)通電時(shí),處理器處于隨機(jī)狀態(tài),在時(shí)鐘開啟之后需要電路的復(fù)位。然后,需要初始化序列把處理器帶到已知的就緒狀態(tài)、重新加載支持存儲(chǔ)器并且開始應(yīng)用軟件的執(zhí)行。如果所有這些對應(yīng)用來說所花時(shí)間太長,則準(zhǔn)備處于低時(shí)鐘頻率的處理器會(huì)是有用的(節(jié)省電力),使得它可以只需要幾微秒的事先通知就可以重新開始全速操作。功耗為了看到如何利用并行計(jì)算節(jié)省能量,我們簡單地回顧數(shù)字CMOS電路使用電力的途徑?;旧?,平均電力使用依賴于供給電壓和時(shí)鐘頻率。在CMOS數(shù)字電路中,邏輯一和零由信號(hào)線上的高和低電壓電平表示。信號(hào)線的狀態(tài)是高或低。電力被用來改變(或切換)每個(gè)信號(hào)的狀態(tài),否則電路就處于耗散小得多的電量的靜止?fàn)顟B(tài),這種小的電量僅僅是由于泄漏電流造成的。把信號(hào)線從高切換到低或從低切換到高所需的能量通常與線路和連接到其的晶體管的總電容C成比例。晶體管切換信號(hào)線所需的電源電流首先浪涌然后衰減-非常像通過開關(guān)給電容器充電的電流。通過晶體管用于切換事件的集成的電流(以安培*秒為單位)等于總電容C上電荷Q的變化。根據(jù)電容器的物理性質(zhì),Q=C*V,其中C以法拉第為單位,并且V以伏為單位。以某個(gè)頻率f重復(fù)的充電和放電導(dǎo)致平均切換功率:Pavg=I*V=f*C*V*V=f*C*V2功耗與頻率的這種線性關(guān)系在很寬的范圍內(nèi)保持,有許多個(gè)數(shù)量級(jí)。在非常低的頻率,存在功率本底,其中dc泄漏電流將在整個(gè)功耗中占主導(dǎo)地位。在非常高的頻率,晶體管沒有快到足以完全切換信號(hào)線,并且這造成位錯(cuò)誤和過多的供給電流。位錯(cuò)誤常??梢酝ㄟ^增加供給的V來抑制,但是這造成功率的二次增長,直到電路由于過熱而被損壞為止。如果CMOS電路不需要太快運(yùn)行,則Pavg可以通過在較低的頻率操作而減小,并且通過減小供給電壓而進(jìn)一步減小。但是,以較低的電壓操作導(dǎo)致每個(gè)晶體管更小的充電/放電電流。低于閾值電壓Vth,晶體管斷開(除了微小的亞閾值電流之外)。用于并行計(jì)算的能量節(jié)約機(jī)會(huì)用于并行計(jì)算的機(jī)會(huì)在于每單位能量的計(jì)算低于利用單個(gè)處理器的每單位能量的計(jì)算。為了看到為什么是這樣,考慮需要十億次操作的計(jì)算。在處于1GHz的單元處理器上,以比方說100W(在2V是平均500mA)或大約100焦耳能量的電源,這花費(fèi)大約1s。如果使用100個(gè)相同類型和電源的處理器,則計(jì)算時(shí)間可以減小,理想地按處理器的個(gè)數(shù)減小,但是由于通信開銷,減小50倍到20ms是更有可能的。所需的能量加倍,因?yàn)槎?00倍的處理器在該時(shí)間間隔的1/50上運(yùn)行。但是,我們可以把處理器放慢50倍至20MHz并且在原始的1s間隔內(nèi)完成該固定的計(jì)算。這把每個(gè)處理器的功耗減少至2W。但是現(xiàn)在供給電壓可以減小,因?yàn)榫w管不需要這么快地給電容充電和放電。實(shí)際的IC芯片可以具有更接近最大供給電壓規(guī)格大約一半的最小供電電壓規(guī)格,常常是由于為高速設(shè)計(jì)的內(nèi)部電路。一般化:對大型計(jì)算利用N倍多的處理器,并且利用相同的時(shí)間量來完成該計(jì)算,則時(shí)鐘頻率F可以按保守估計(jì)~2/N減小,然后,對于10<N<100,Vsupply可以減小大約兩倍。每個(gè)處理器的平均動(dòng)態(tài)功率減小(Fp/Fs)*(Vp/Vs)^2,其中下標(biāo)p指并行計(jì)算并且下標(biāo)s指單處理器計(jì)算。因此,對于N個(gè)處理器,與單個(gè)快速處理器相比而言的典型動(dòng)態(tài)功率減小是:Pp/Ps=N*2/N*(1/2)^2=1/2而且,由于泄漏電流造成的靜態(tài)功耗也可以通過較低的供給電壓來減小。當(dāng)然,這種策略有其物理限制。由于Vdd比晶體管接通電壓(Vth)高一伏的十分之幾,因此Vth的統(tǒng)計(jì)分散變成限制因素。制造技術(shù)的將來改進(jìn)可以減小Vth的分散。在MPA中,如果對陣列的遠(yuǎn)離部分之間的時(shí)鐘漂移(clockskew)的需求可以放寬,則額外的功率節(jié)約可以在時(shí)鐘分配網(wǎng)絡(luò)本身當(dāng)中進(jìn)行。通過只連接到附近的電路塊,這在其中大部分信號(hào)路徑短的MPA中是有可能的。例如,非常高百分比的信號(hào)路徑長度短的HyperX體系架構(gòu)(參考專利No.7,415,594)具有這種特性。示例性多處理器IC圖1說明了多處理器IC的實(shí)施例,用來闡明由本申請的實(shí)施例解決的時(shí)鐘分配網(wǎng)絡(luò)設(shè)計(jì)方面/問題。如圖1中所說明的,示例性hx3100A多處理器IC包括MPA,它接收時(shí)鐘信號(hào)CLK1和同步信號(hào)SYNC作為輸入。CLK1和SYNC信號(hào)是由CLK1+SYNC發(fā)生器生成的。CLK1+SYNC發(fā)生器接收時(shí)鐘參考信號(hào)CLKREF、時(shí)鐘旁路信號(hào)Bypass和系統(tǒng)同步信號(hào)SYNCIN作為輸入。在hx3100A多處理器IC上存在的其它輸入和其它部件沒有說明。時(shí)鐘參考信號(hào)CLKREF是可以被用來同步不同芯片之間的操作的系統(tǒng)參考時(shí)鐘,并且在圖1中被說明為由振蕩器OSC1生成。這個(gè)和其它圖中的部件沒有按比例示出。hx3100A多處理器IC的MPA具有PE的10×10陣列,該陣列散布在互連網(wǎng)絡(luò)(IN)的11×11節(jié)點(diǎn)網(wǎng)中。每個(gè)IN節(jié)點(diǎn)包含共享的數(shù)據(jù)存儲(chǔ)器(DataMemory,DM),以支持鄰近的四個(gè)PE;并且每個(gè)PE可以訪問圍繞其的四個(gè)鄰近節(jié)點(diǎn)中的共享DM。每個(gè)PE具有私有指令存儲(chǔ)器(InstructionMemory,IM)。為了內(nèi)部dc電源分配,芯片被分到四個(gè)象限中;配電網(wǎng)的正側(cè)被分成四個(gè)可以單獨(dú)地耦合到外部電源的“電壓孤島”。配電網(wǎng)的負(fù)側(cè)耦合到系統(tǒng)零參考“地”??缦笙拗g邊界的電路可以簡單地設(shè)計(jì)成利用處于相同電壓的相鄰電壓孤島操作并且當(dāng)一個(gè)電壓孤島被切斷時(shí)自我保護(hù)。通過電平移位電路的添加,可以進(jìn)一步使跨邊界的電路能夠利用處于不同非零電壓的相鄰電壓孤島操作。電平移位電路在業(yè)內(nèi)是眾所周知的,并且很容易添加,但是它們會(huì)引入額外的功耗和信號(hào)延遲。在維持整體同步陣列的情況下,用于hx3100A芯片的時(shí)鐘分配網(wǎng)絡(luò)支持處理器與其支持存儲(chǔ)器(SM)和互連網(wǎng)絡(luò)(IN)之間的中等大小(16X)的頻率差。核心陣列中的所有處理器存儲(chǔ)器訪問和數(shù)據(jù)傳輸都發(fā)生在利用全局時(shí)鐘信號(hào)的步驟中。hx3100具有利用分布式再生器體系架構(gòu)的時(shí)鐘樹。它利用相對低的功耗把時(shí)鐘信號(hào)分配到芯片的每個(gè)部分,同時(shí)限制PE和本地節(jié)點(diǎn)之間的時(shí)鐘漂移。H樹也被考慮,但是它將比所選的樹具有更多再生器,并且因此將耗散更多功率。這種樹與H樹相比而言的缺點(diǎn)是中心區(qū)域相對于芯片的周界具有逐步漂移(相位超前)的時(shí)鐘信號(hào)。但是,它為其設(shè)計(jì)的多處理器體系架構(gòu)具有到最近鄰居的大部分短鏈路和連接,以及因此在各步之間具有良好的漂移容限。圖2示出芯片被分成宏單元的棋盤格,每個(gè)宏單元由再生器輸出提供服務(wù),并且具有統(tǒng)一的時(shí)鐘信號(hào)相位和內(nèi)部同步的操作。在同心窗口幀時(shí)間區(qū)的概念中,中心定位的區(qū)可以分接靠更近其根的時(shí)鐘網(wǎng)絡(luò)。整體效果就是相對于H樹而言需要更少的再生器。圖中的圓圈代表再生器。每個(gè)再生器具有一個(gè)或多個(gè)輸出,以驅(qū)動(dòng)其它再生器和/或宏單元(棋盤方格)。到宏單元的每個(gè)輸出具有可配置的劃分和延遲單元(圖中未示出)。全局時(shí)鐘信號(hào)CLK1和同步信號(hào)SYNC是在芯片的邊緣由CLK1+SYNC發(fā)生器生成的,并且傳送到中心時(shí)鐘再生器。中心時(shí)鐘再生器在四個(gè)方向中向芯片的四個(gè)象限當(dāng)中每一個(gè)并且向每個(gè)象限中的附加再生器分配時(shí)鐘和同步信號(hào)(sync)。附加的分支作為樹的延伸朝芯片的周界添加。除了中心時(shí)鐘再生器之外,再生器單元具有用于本地宏單元的輸出。樹建立一系列形狀近似地像同心窗口幀的時(shí)間區(qū)-但是每個(gè)幀不需要具有確切的矩形邊界或者構(gòu)成一個(gè)完整的回路。在hx3100A芯片上,宏單元可以由一個(gè)PE和一個(gè)IN節(jié)點(diǎn)組成,IN節(jié)點(diǎn)包含DM和路由器并且也被稱為數(shù)據(jù)-存儲(chǔ)器路由器(Data-MemoryRouter,DMR)。在其它類型的芯片上,宏單元可以包含不同數(shù)量的這些元件。hx3100A時(shí)鐘分配網(wǎng)絡(luò)為每個(gè)PE提供時(shí)鐘頻率的選擇,同時(shí)為DMR維護(hù)統(tǒng)一的高頻。各個(gè)PE可以被配置為利用位于再生器中的時(shí)鐘分頻器以降低的時(shí)鐘頻率操作。2的冪的分頻(1/(2^N))很容易利用如圖3中所說明的N位長度的二進(jìn)制計(jì)數(shù)器生成。hx3100A芯片再生器使用4位計(jì)數(shù)器以及輸出選擇器,使得支持1/2、1/4、1/8和1/16的分?jǐn)?shù)。如果計(jì)數(shù)器極長(以覆蓋更寬范圍的頻率),則它開始占用額外的硅面積(real-estate)并增加泄漏功耗。SYNC信號(hào)不是時(shí)鐘,而是一個(gè)CLK1周期寬的脈沖,它在CLK1的每個(gè)第16個(gè)循環(huán)上利用CLK1廣播并且它被用來同步再生器中的PE時(shí)鐘分頻器,如圖4的波形中所示。如圖3中所示,SYNC被用來每16個(gè)循環(huán)復(fù)位一次計(jì)數(shù)器。如果沒有SYNC信號(hào),則每個(gè)分頻器會(huì)在不同的時(shí)間開始計(jì)數(shù)并且因此不同的計(jì)數(shù)器在CLK1循環(huán)的遞增中彼此異相。RegP是用于再生器的配置寄存器,并且它可以由應(yīng)用軟件訪問。RegP輸出的更新與SYNC信號(hào)對齊。數(shù)據(jù)和地址緩沖區(qū)位于PE和DMR之間以及DMR之間,以便在停機(jī)間隔(stallinterval)期間保持?jǐn)?shù)據(jù)。雖然最初被用來控制數(shù)據(jù)流,但是相同的機(jī)制有助于放慢的PE到全速DMR的接口。DMR運(yùn)行不慢,從而維持互連網(wǎng)絡(luò)的帶寬;但是它們可以被掛起(時(shí)鐘輸入被暫停)。通常,DMR功耗也隨請求速率而變,并且如果鄰近的放慢的PE在較低的速率作出請求,則DMR功耗也將減小。圖5示出了生成被用在hx3100A上的全局CLK1和SYNC信號(hào)的途徑。PLL由芯片輸入配置。當(dāng)PLL被激活時(shí),在多個(gè)循環(huán)之后,它將相位鎖定到芯片輸入CLKREF的平均頻率和相位,其中CLKREF是方波,并且,依賴于配置,它可以具有通常比CLKREF高8至128倍的頻率。由通過Logic1可軟件訪問的Reg0配置的多路復(fù)用器M1選擇HFC或CLKREF輸入,并且輸出耦合到時(shí)鐘分頻器DIV1的CLK0信號(hào)。時(shí)鐘分頻器DIV1通過Logic1被配置為產(chǎn)生相同或減小頻率的CLK1,其中CLK1是發(fā)送到核心陣列中的最高頻率時(shí)鐘信號(hào)。計(jì)數(shù)器CNT0和邏輯門NOR1可以被用來生成SYNC信號(hào)。計(jì)數(shù)器CNT0可以由芯片輸入信號(hào)SYNCIN周期性地復(fù)位。在多芯片系統(tǒng)中,一個(gè)hx3100A可以被選擇具有主CNT0,而其它hx3100A可以通過從由主CNT0生成的SYNCOUT信號(hào)接收SYNCIN信號(hào)而從屬于該hx3100A。但是,在高時(shí)鐘速率,難以對齊芯片間同步信號(hào)的相位來正確地復(fù)位CNT0,其中CNT0在相位鎖定到CLKREF的時(shí)鐘上運(yùn)行。而且,除一之外的任何DIV1I/O頻率比都導(dǎo)致HFC循環(huán)的倍數(shù)的芯片的內(nèi)部SYNC信號(hào)之間的可能相位偏移。在大部分多芯片系統(tǒng)中,芯片之間的互連是為了以比芯片上互連被操作的速率更低的速率進(jìn)行數(shù)據(jù)傳輸而操作的。這么作既是出于信號(hào)完整性也是出于功耗原因。如果兩個(gè)芯片上的CLK1都被向下調(diào)至芯片間連接可以支持但不變形的速率,則芯片之間的可靠同步通信可以開始進(jìn)行。但是,這限制了芯片核心當(dāng)中PE和DMR的速度并且因此限制了應(yīng)用的范圍。因此,存在相對于CLK1放慢I/O單元的時(shí)鐘的需求。放慢的I/O單元的好處是,對于小于大約1000的減速比,它們的功耗幾乎與減速比成比例地下降,并且,當(dāng)數(shù)據(jù)脈沖寬度增加時(shí),時(shí)序余量改善。在hx3100A芯片中,I/O單元從時(shí)鐘分配分支中最后一個(gè)再生器并且從輸出接收時(shí)鐘信號(hào),該輸出將到達(dá)位于I/O單元位置的PE,如果有的話。再生器包含取得CLK1和SYNC輸入的時(shí)鐘分頻器。因而,I/O單元時(shí)鐘速率可以以與PE時(shí)鐘速率相同的方式配置,并且被配置為比CLK1慢的時(shí)鐘速率,如對于芯片間連接所期望的。在芯片內(nèi)部,以這種方式計(jì)時(shí)的I/O單元維持與最近DMR的同步通信并且通過片上網(wǎng)絡(luò)(IN)到達(dá)芯片內(nèi)的其余DMR和PE。I/O單元和DMR之間的流控制防止數(shù)據(jù)丟失或重復(fù);但是,如果以比其可以處理的更高的速率向放慢的I/O單元發(fā)送數(shù)據(jù),則會(huì)導(dǎo)致數(shù)據(jù)擁塞。雖然共享的時(shí)鐘參考信號(hào)(CLKREF)到兩個(gè)芯片的PLL的輸入提供了CLK1相位穩(wěn)定性以及兩個(gè)芯片的SYNC信號(hào)之間的相位穩(wěn)定性,但是兩個(gè)芯片的CNT0計(jì)數(shù)器的sync(同步信號(hào))發(fā)生器將必須在CLK1的確切相同循環(huán)上復(fù)位,以便讓兩個(gè)芯片的SYNC信號(hào)確切對齊。如果一個(gè)復(fù)位信號(hào)相對于另一個(gè)被延遲(或者“漂移”)僅僅CLK1的半個(gè)周期那么一點(diǎn),則兩個(gè)CNT0計(jì)數(shù)器會(huì)在SYNC信號(hào)之間鎖定到漂移的完整CLK1循環(huán),這侵占了芯片之間用于信號(hào)的時(shí)序余量。一般而言,復(fù)位信號(hào)的按間隔t的漂移將導(dǎo)致SYNC信號(hào)中n個(gè)CLK1循環(huán)的漂移,其中n=t/tper,四舍五入到最近的整數(shù)值n,并且tper是CLK1的周期。因此,期望新的方法。
技術(shù)實(shí)現(xiàn)要素:公開了方法和系統(tǒng)的各種實(shí)施例,其中時(shí)鐘和選擇信號(hào)可以貫穿整個(gè)同步數(shù)字系統(tǒng)分配。在一種實(shí)施例中,公開了一種用于在同步數(shù)字系統(tǒng)的時(shí)鐘分配網(wǎng)絡(luò)中重新配置時(shí)鐘發(fā)生電路的方法。第一時(shí)鐘信號(hào)可以被生成并選作主時(shí)鐘。然后,第二時(shí)鐘信號(hào)可以代替第一時(shí)鐘作為主時(shí)鐘,而不會(huì)造成同步數(shù)字系統(tǒng)中由時(shí)鐘引起的錯(cuò)誤。然后,在第二時(shí)鐘信號(hào)充當(dāng)主時(shí)鐘期間,時(shí)鐘發(fā)生電路可以被重新配置。然后,在時(shí)鐘發(fā)生電路穩(wěn)定之后,第一時(shí)鐘信號(hào)可以再次被選作主時(shí)鐘,而不會(huì)造成同步數(shù)字系統(tǒng)中由時(shí)鐘引起的錯(cuò)誤。在一些實(shí)施例中,第二時(shí)鐘信號(hào)可以是外部時(shí)鐘信號(hào)。在其中同步數(shù)字系統(tǒng)包括在芯片上的其它實(shí)施例中,第二時(shí)鐘信號(hào)可以由獨(dú)立于外部時(shí)鐘信號(hào)的片上振蕩器生成。在這種實(shí)施例中,可以檢測需要選擇片上生成的時(shí)鐘信號(hào)作為主時(shí)鐘的條件。然后,響應(yīng)于該檢測,可以選擇第二時(shí)鐘信號(hào)。在一些實(shí)施例中,需要選擇片上生成的時(shí)鐘信號(hào)的條件可以包括指示可能篡改同步數(shù)字系統(tǒng)的信號(hào)。在一些實(shí)施例中,重新配置時(shí)鐘發(fā)生電路可以包括改變時(shí)鐘發(fā)生電路的至少一個(gè)設(shè)置,使得時(shí)鐘發(fā)生電路以不同的速率耗散功率。在一些實(shí)施例中,重新配置可以包括給時(shí)鐘發(fā)生電路斷電,以便把時(shí)鐘發(fā)生電路放到關(guān)狀態(tài),并且隨后給時(shí)鐘發(fā)生電路通電,以便把時(shí)鐘發(fā)生電路返回到開狀態(tài)。在其它實(shí)施例中,重新配置可以包括從時(shí)鐘發(fā)生電路除去時(shí)鐘輸入,并且隨后把時(shí)鐘輸入放回到時(shí)鐘發(fā)生電路。在還有其它實(shí)施例中,重新配置可以包括改變時(shí)鐘發(fā)生電路的目標(biāo)頻率。在一些實(shí)施例中,時(shí)鐘發(fā)生電路可以在重新配置時(shí)鐘發(fā)生電路之后被確定為已穩(wěn)定。在時(shí)鐘發(fā)生電路穩(wěn)定之后選擇第一時(shí)鐘信號(hào)作為主時(shí)鐘可以至少部分地響應(yīng)于該確定而被執(zhí)行。在一些實(shí)施例中,時(shí)鐘發(fā)生電路可以包括鎖相環(huán)(PLL)。確定時(shí)鐘發(fā)生電路已穩(wěn)定可以包括確定PLL已實(shí)現(xiàn)相位鎖定。在一些實(shí)施例中,在重新配置時(shí)鐘發(fā)生電路之后,可以允許經(jīng)過預(yù)定的時(shí)間。在時(shí)鐘發(fā)生電路已穩(wěn)定之后選擇第一時(shí)鐘信號(hào)作為主時(shí)鐘可以在等待該預(yù)定時(shí)間之后執(zhí)行。在一種實(shí)施例中,公開了一種同步數(shù)字系統(tǒng)。該同步數(shù)字系統(tǒng)的時(shí)鐘發(fā)生電路可以被配置為至少部分地基于所接收的外部時(shí)鐘信號(hào)生成第一時(shí)鐘信號(hào),并且通過編程接收配置設(shè)置。同步數(shù)字系統(tǒng)的時(shí)鐘信號(hào)選擇器電路可以被配置為在多個(gè)時(shí)鐘信號(hào)之間通過編程進(jìn)行選擇,以用作主時(shí)鐘信號(hào),而不會(huì)造成同步數(shù)字系統(tǒng)中由時(shí)鐘引起的錯(cuò)誤。多個(gè)時(shí)鐘信號(hào)可以包括所述第一時(shí)鐘信號(hào)和外部時(shí)鐘信號(hào)。被配置為利用主時(shí)鐘信號(hào)操作的同步數(shù)字系統(tǒng)的同步數(shù)字邏輯可以被配置為使時(shí)鐘信號(hào)選擇器電路選擇第一時(shí)鐘信號(hào)。然后,在選擇第一時(shí)鐘信號(hào)之后,同步數(shù)字邏輯可以使時(shí)鐘信號(hào)選擇器電路選擇多個(gè)時(shí)鐘信號(hào)當(dāng)中除第一時(shí)鐘信號(hào)之外的一個(gè)時(shí)鐘信號(hào)。然后,同步數(shù)字邏輯可以重新配置時(shí)鐘發(fā)生電路。然后,在重新配置時(shí)鐘發(fā)生電路之后時(shí)鐘發(fā)生電路已穩(wěn)定之后,同步數(shù)字邏輯可以使時(shí)鐘信號(hào)選擇器電路選擇第一時(shí)鐘信號(hào)。在一些實(shí)施例中,在重新配置時(shí)鐘發(fā)生電路時(shí),同步數(shù)字邏輯可以被配置為改變時(shí)鐘發(fā)生電路的至少一個(gè)設(shè)置,使得時(shí)鐘發(fā)生電路以不同的速率耗散功率。在一些實(shí)施例中,同步數(shù)字邏輯可以給時(shí)鐘發(fā)生電路斷電,以便把時(shí)鐘發(fā)生電路放到關(guān)狀態(tài),并且隨后給時(shí)鐘發(fā)生電路通電,以便把時(shí)鐘發(fā)生電路返回到開狀態(tài)。在其它實(shí)施例中,同步數(shù)字邏輯可以從時(shí)鐘發(fā)生電路除去外部時(shí)鐘輸入,并且隨后把外部時(shí)鐘輸入放回到時(shí)鐘發(fā)生電路。在其它實(shí)施例中,同步數(shù)字邏輯可以改變時(shí)鐘發(fā)生電路的目標(biāo)頻率。在一些實(shí)施例中,同步數(shù)字邏輯被配置為在重新配置時(shí)鐘發(fā)生電路之后確定時(shí)鐘發(fā)生電路已穩(wěn)定。在時(shí)鐘發(fā)生電路穩(wěn)定之后使時(shí)鐘信號(hào)選擇器電路選擇第一時(shí)鐘信號(hào)可以至少部分地響應(yīng)于該確定來進(jìn)行。在一些實(shí)施例中,時(shí)鐘發(fā)生電路可以包括鎖相環(huán)(PLL)。在確定時(shí)鐘發(fā)生電路已穩(wěn)定時(shí),同步數(shù)字邏輯可以被配置為確定PLL已實(shí)現(xiàn)相位鎖定。在其它實(shí)施例中,同步數(shù)字邏輯被配置為在重新配置時(shí)鐘發(fā)生電路之后等待預(yù)定的時(shí)間。在時(shí)鐘發(fā)生電路已穩(wěn)定之后使時(shí)鐘信號(hào)選擇器電路選擇第一時(shí)鐘信號(hào)可以在等待該預(yù)定時(shí)間之后執(zhí)行。在其中同步數(shù)字系統(tǒng)包括在芯片上的一些實(shí)施例中,片上時(shí)鐘信號(hào)發(fā)生器可以被配置為獨(dú)立于外部時(shí)鐘信號(hào)生成第二時(shí)鐘信號(hào)。多個(gè)時(shí)鐘信號(hào)還可以包括該第二時(shí)鐘信號(hào)。在一些實(shí)施例中,片上時(shí)鐘信號(hào)發(fā)生器包括環(huán)形振蕩器。在一些實(shí)施例中,時(shí)鐘信號(hào)選擇器電路可以被配置為響應(yīng)于需要選擇片上生成的時(shí)鐘信號(hào)作為主時(shí)鐘的條件而選擇第二時(shí)鐘信號(hào)。在一些實(shí)施例中,該條件可以包括指示可能篡改同步數(shù)字系統(tǒng)的信號(hào)。在一種實(shí)施例中,公開了一種包括在芯片上的同步數(shù)字系統(tǒng)。同步數(shù)字系統(tǒng)的同步數(shù)字邏輯可以被配置為利用主時(shí)鐘信號(hào)操作。同步數(shù)字系統(tǒng)的片上時(shí)鐘信號(hào)發(fā)生器可以被配置為獨(dú)立于由同步數(shù)字系統(tǒng)接收的外部時(shí)鐘信號(hào)而生成第一時(shí)鐘信號(hào)。同步數(shù)字系統(tǒng)的時(shí)鐘信號(hào)選擇器電路可以被配置為在多個(gè)時(shí)鐘信號(hào)之間選擇以用作主時(shí)鐘信號(hào)。這多個(gè)時(shí)鐘信號(hào)可以包括第一時(shí)鐘信號(hào)和依賴于外部時(shí)鐘信號(hào)的信號(hào)。時(shí)鐘信號(hào)選擇器電路還可以被配置為,當(dāng)時(shí)鐘選擇覆蓋信號(hào)指示正常操作時(shí),至少部分地基于可軟件配置寄存器的內(nèi)容在多個(gè)時(shí)鐘信號(hào)之間進(jìn)行選擇。當(dāng)時(shí)鐘選擇覆蓋信號(hào)指示需要選擇片上生成的時(shí)鐘信號(hào)用作主時(shí)鐘信號(hào)的條件時(shí),時(shí)鐘信號(hào)選擇器電路可以選擇第一時(shí)鐘信號(hào)。在一些實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)可以包括篡改檢測信號(hào)。指示需要選擇片上生成的時(shí)鐘信號(hào)用作主時(shí)鐘信號(hào)的條件的時(shí)鐘選擇覆蓋信號(hào)可以包括指示可能篡改同步數(shù)字系統(tǒng)的篡改檢測信號(hào)。在一些實(shí)施例中,響應(yīng)于篡改檢測信號(hào),同步數(shù)字邏輯可以被配置為執(zhí)行需要持續(xù)時(shí)鐘信號(hào)的安全措施。因此,選擇第一時(shí)鐘信號(hào)可以使安全措施能在不考慮外部時(shí)鐘信號(hào)是否停止的情況下被執(zhí)行。在一些實(shí)施例中,安全措施可以包括清除同步數(shù)字邏輯的狀態(tài)信息。在一些實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)包括時(shí)鐘丟失信號(hào)。指示需要選擇片上生成的時(shí)鐘信號(hào)用作主時(shí)鐘信號(hào)的條件的時(shí)鐘選擇覆蓋信號(hào)包括指示預(yù)見到外部時(shí)鐘信號(hào)丟失的時(shí)鐘丟失信號(hào)。在一些實(shí)施例中,片上時(shí)鐘信號(hào)發(fā)生器可以包括環(huán)形振蕩器。在一些實(shí)施例中,時(shí)鐘信號(hào)選擇器電路可以被配置為在多個(gè)時(shí)鐘信號(hào)之間通過編程進(jìn)行選擇,而不會(huì)造成同步數(shù)字系統(tǒng)中由時(shí)鐘引起的錯(cuò)誤。在一種實(shí)施例中,公開了一種避免包括在芯片上的同步數(shù)字系統(tǒng)中的時(shí)鐘信號(hào)錯(cuò)誤的方法。第一時(shí)鐘信號(hào)可以作為用于同步數(shù)字系統(tǒng)的主時(shí)鐘提供。第一時(shí)鐘信號(hào)可以依賴于由同步數(shù)字系統(tǒng)接收的外部時(shí)鐘信號(hào)。指示需要選擇片上生成的時(shí)鐘信號(hào)用作主時(shí)鐘信號(hào)的條件的時(shí)鐘選擇覆蓋信號(hào)可以被接收。響應(yīng)于接收,第二時(shí)鐘信號(hào)可以被選作主時(shí)鐘。第二時(shí)鐘信號(hào)可以由片上時(shí)鐘信號(hào)發(fā)生器獨(dú)立于外部時(shí)鐘信號(hào)生成。在一些實(shí)施例中,接收時(shí)鐘選擇覆蓋信號(hào)可以包括接收指示可能篡改同步數(shù)字系統(tǒng)的篡改檢測信號(hào)。在一些實(shí)施例中,響應(yīng)于該篡改檢測信號(hào),需要持續(xù)時(shí)鐘信號(hào)的安全措施可以被執(zhí)行。因此,選擇第一時(shí)鐘信號(hào)可以使安全措施能被執(zhí)行,而不管外部時(shí)鐘信號(hào)是否停止。在一些實(shí)施例中,執(zhí)行安全措施可以包括執(zhí)行清除同步數(shù)字系統(tǒng)的狀態(tài)信息的步驟。當(dāng)所述步驟被執(zhí)行時(shí),第二時(shí)鐘信號(hào)可以被用作主時(shí)鐘。在其它實(shí)施例中,接收時(shí)鐘選擇覆蓋信號(hào)可以包括接收指示預(yù)見到外部時(shí)鐘信號(hào)丟失的信號(hào)。在一些實(shí)施例中,片上時(shí)鐘信號(hào)發(fā)生器可以包括環(huán)形振蕩器。在一些實(shí)施例中,選擇第二時(shí)鐘信號(hào)作為主時(shí)鐘的執(zhí)行不會(huì)造成同步數(shù)字系統(tǒng)中由時(shí)鐘引起的錯(cuò)誤。在一種實(shí)施例中,公開了一種裝置。裝置的參考時(shí)鐘發(fā)生器可以被配置為生成參考時(shí)鐘信號(hào)。裝置的多個(gè)集成電路芯片每個(gè)都可以包括耦合到該參考時(shí)鐘發(fā)生器的輸入端口。輸入端口可以被配置為接收參考時(shí)鐘信號(hào)。每個(gè)芯片還可以包括被配置為依賴于參考時(shí)鐘信號(hào)生成主時(shí)鐘信號(hào)的時(shí)鐘發(fā)生電路。每個(gè)芯片還可以包括被配置為生成與主時(shí)鐘信號(hào)邊緣對齊并且與參考時(shí)鐘信號(hào)相位對齊的同步信號(hào)的同步信號(hào)發(fā)生電路。由于它們與參考時(shí)鐘信號(hào)的共同相位對齊,因此多個(gè)芯片各自的同步信號(hào)被相位對齊。每個(gè)芯片還可以包括被配置為接收主時(shí)鐘信號(hào)和同步信號(hào)的時(shí)鐘分頻器電路。每個(gè)芯片的時(shí)鐘分頻器電路可以生成其頻率小于主時(shí)鐘信號(hào)的頻率的頻分時(shí)鐘信號(hào)。頻分時(shí)鐘信號(hào)可以相位對齊到同步信號(hào)。每個(gè)芯片還可以包括被配置為接收該頻分時(shí)鐘信號(hào)作為時(shí)鐘輸入的輸入/輸出(I/O)電路。每個(gè)芯片的I/O電路可以與多個(gè)芯片中另一芯片的相應(yīng)I/O電路通信。一個(gè)芯片的頻分時(shí)鐘信號(hào)的頻率與另一芯片的頻分時(shí)鐘信號(hào)的相應(yīng)頻率相同,并且一個(gè)芯片的頻分時(shí)鐘信號(hào)與另一芯片的相應(yīng)頻分時(shí)鐘信號(hào)相位對齊。在一些實(shí)施例中,對于每個(gè)芯片,時(shí)鐘發(fā)生電路可以包括被配置為接收參考時(shí)鐘信號(hào)并且生成其頻率比參考時(shí)鐘信號(hào)的頻率高得多的高頻時(shí)鐘信號(hào)的鎖相環(huán)(PLL)。在一些實(shí)施例中,每個(gè)芯片的I/O電路可以包括多個(gè)I/O單元。每個(gè)芯片還可以包括時(shí)鐘和同步信號(hào)分配網(wǎng)絡(luò)。每個(gè)芯片的分配網(wǎng)絡(luò)可以包括被配置為接收主時(shí)鐘信號(hào)的饋送點(diǎn)。每個(gè)芯片的分配網(wǎng)絡(luò)還可以包括連接到饋送點(diǎn)的扇出(fan-out)電路。該扇出電路可以被配置為把主時(shí)鐘信號(hào)從饋送點(diǎn)傳播到I/O電路,使得主時(shí)鐘信號(hào)在饋送點(diǎn)和多個(gè)I/O單元中每個(gè)I/O單元之間具有統(tǒng)一的延遲。每個(gè)芯片的分配網(wǎng)絡(luò)還可以包括在整個(gè)扇出電路上放置的多個(gè)再生器。在一些這種實(shí)施例中,每個(gè)芯片的時(shí)鐘發(fā)生電路可以包括PLL。每個(gè)PLL可以被配置為接收參考時(shí)鐘信號(hào)、生成高頻時(shí)鐘信號(hào)輸出并且接收作為該高頻時(shí)鐘信號(hào)的延遲版本的反饋信號(hào)。反饋信號(hào)相位鎖定到參考時(shí)鐘信號(hào)。每個(gè)芯片的時(shí)鐘發(fā)生電路還可以包括用于PLL的反饋路徑。該反饋路徑可以與通過時(shí)鐘和同步信號(hào)分配網(wǎng)絡(luò)從高頻時(shí)鐘輸出到再生器的主時(shí)鐘平行,其中該再生器服務(wù)于位于PLL附近的I/O單元之一。反饋路徑被提供給PLL的反饋輸入。在一些實(shí)施例中,每個(gè)芯片的同步信號(hào)發(fā)生電路可以包括被配置為檢測參考時(shí)鐘信號(hào)的時(shí)鐘邊緣的邊緣檢測器,以及計(jì)數(shù)器。每個(gè)計(jì)數(shù)器可以被配置為基于主時(shí)鐘信號(hào)更新計(jì)數(shù)值、基于邊緣檢測器的輸出復(fù)位計(jì)數(shù)值,并且在計(jì)數(shù)值等于特定值時(shí)輸出同步信號(hào)的脈沖。在一些實(shí)施例中,參考時(shí)鐘信號(hào)在參考時(shí)鐘發(fā)生器和多個(gè)芯片中第一芯片之間的傳播延遲近似地等于在參考時(shí)鐘發(fā)生器和多個(gè)芯片中第二芯片之間的傳播延遲。因此,在由第一芯片接收的參考時(shí)鐘信號(hào)和由第二芯片接收的參考時(shí)鐘信號(hào)之間,時(shí)鐘漂移被最小化。在一些實(shí)施例中,多個(gè)芯片中第一芯片的時(shí)鐘發(fā)生電路與第一芯片的時(shí)鐘分頻器電路之間相應(yīng)主時(shí)鐘信號(hào)的傳播延遲近似地等于多個(gè)芯片中第二芯片的時(shí)鐘發(fā)生電路與第二芯片的時(shí)鐘分頻器電路之間相應(yīng)主時(shí)鐘信號(hào)的傳播延遲。在一種實(shí)施例中,公開了一種用于同步第一芯片和第二芯片之間數(shù)字通信的方法。外部參考時(shí)鐘信號(hào)可以在每個(gè)芯片被接收。然后,每個(gè)芯片可以生成其頻率為參考時(shí)鐘頻率的可配置倍數(shù)的相應(yīng)的高頻時(shí)鐘信號(hào)。然后,每個(gè)芯片依賴于外部參考時(shí)鐘信號(hào)生成相應(yīng)的同步信號(hào)。由于它們共同依賴于外部參考時(shí)鐘信號(hào),因此第一芯片和第二芯片各自的同步信號(hào)相位對齊。每個(gè)芯片可以依賴于相應(yīng)的高頻時(shí)鐘信號(hào)向包括在芯片上的相應(yīng)的同步數(shù)字系統(tǒng)分配相應(yīng)的主時(shí)鐘信號(hào)。位于芯片的相應(yīng)多個(gè)I/O單元中每一個(gè)的主時(shí)鐘信號(hào)可以相對于相應(yīng)的高頻時(shí)鐘信號(hào)統(tǒng)一延遲。每個(gè)芯片可以對相應(yīng)的主時(shí)鐘信號(hào)分頻,以生成其頻率小于相應(yīng)主時(shí)鐘信號(hào)的頻率的相應(yīng)的頻分時(shí)鐘信號(hào)。分頻可以使用相應(yīng)的同步信號(hào),使得第一芯片和第二芯片各自的頻分時(shí)鐘信號(hào)邊緣對齊。數(shù)字通信可以在第一芯片的第一I/O單元和第二芯片的第二I/O單元之間執(zhí)行,其中第一I/O單元使用第一芯片的頻分時(shí)鐘信號(hào)作為時(shí)鐘輸入,并且第二I/O單元使用第二芯片的頻分時(shí)鐘信號(hào)作為時(shí)鐘輸入。在一些實(shí)施例中,生成相應(yīng)的同步信號(hào)包括確定外部參考時(shí)鐘信號(hào)的邊緣,并且響應(yīng)于確定外部參考時(shí)鐘信號(hào)的邊緣而生成同步信號(hào)的脈沖。在一些實(shí)施例中,生成同步信號(hào)的脈沖可以包括復(fù)位被配置為在到達(dá)特定的計(jì)數(shù)值時(shí)輸出脈沖的計(jì)數(shù)器。計(jì)數(shù)器可以使用主時(shí)鐘信號(hào)作為時(shí)鐘輸入。在一些實(shí)施例中,生成相應(yīng)的高頻時(shí)鐘信號(hào)可以包括從鎖相環(huán)(PLL)輸出高頻時(shí)鐘信號(hào)。在一些實(shí)施例中,生成相應(yīng)的高頻時(shí)鐘信號(hào)還可以包括向PLL提供反饋信號(hào)。反饋信號(hào)的路徑可以與主時(shí)鐘信號(hào)從饋送點(diǎn)到芯片的I/O單元的路徑平行。附圖說明圖1是說明現(xiàn)有技術(shù)系統(tǒng)的實(shí)施例的框圖。圖2是說明現(xiàn)有技術(shù)系統(tǒng)中時(shí)鐘分配網(wǎng)絡(luò)的實(shí)施例的框圖。圖3是說明現(xiàn)有技術(shù)系統(tǒng)中時(shí)鐘分頻器(clockdivider)的實(shí)施例的框圖。圖4繪出了現(xiàn)有技術(shù)系統(tǒng)中的示例時(shí)鐘分頻器波形。圖5是現(xiàn)有技術(shù)系統(tǒng)中時(shí)鐘和同步信號(hào)發(fā)生器的實(shí)施例的框圖。圖6是說明同步數(shù)字系統(tǒng)的實(shí)施例的框圖。圖7是時(shí)鐘和同步信號(hào)發(fā)生器的實(shí)施例的框圖。圖8是根據(jù)現(xiàn)有技術(shù)的簡單2-輸入多路復(fù)用器的實(shí)施例的框圖。圖9繪出了得自根據(jù)現(xiàn)有技術(shù)的多路復(fù)用器操作的示例波形。圖10是具有抗尖峰脈沖增強(qiáng)(glitchaugmentation)的簡單2-輸入多路復(fù)用器的實(shí)施例的框圖。圖11說明了繪出包括在圖10多路復(fù)用器中的狀態(tài)機(jī)操作的狀態(tài)圖。圖12說明了繪出包括在圖10多路復(fù)用器中的另一狀態(tài)機(jī)操作的狀態(tài)圖。圖13繪出了得自圖10多路復(fù)用器的操作的示例波形。圖14是說明用于重新配置時(shí)鐘發(fā)生電路而不在下游電路中引入時(shí)鐘引起的錯(cuò)誤的方法實(shí)施例的流程圖。圖15是說明用于避免包括在芯片上的同步數(shù)字系統(tǒng)中的時(shí)鐘信號(hào)錯(cuò)誤的方法實(shí)施例的流程圖。圖16是說明在兩個(gè)集成電路(IC)芯片之間的輸入/輸出(I/O)通信的框圖。圖17是說明用于圖7的PLL的反饋路徑實(shí)施例的框圖。圖18是說明用于同步第一IC芯片和第二IC芯片之間的數(shù)字通信的方法實(shí)施例的流程圖。雖然本發(fā)明容易有各種修改和備選形式,但是其具體實(shí)施例作為例子在附圖中示出并且將在這里詳細(xì)描述。但是,應(yīng)當(dāng)理解,附圖和對其的詳細(xì)描述不是要把本公開內(nèi)容限定到所說明的特定形式,相反,其意在覆蓋屬于由所附權(quán)利要求定義的本公開內(nèi)容精神和范圍的所有修改、等價(jià)物和備選方式。本文所使用的標(biāo)題僅僅是為了組織而不是要用來限定描述的范圍。如貫穿本申請所使用的,詞“可以”是在允許的意義上(即,意味著有可能)而不是在強(qiáng)制的意義上(即,意味著必須)使用的。類似地,詞“包括”意味著包括,但不限于。流程圖的提供是為了說明示例性實(shí)施例,而不是要把本公開內(nèi)容限定到所說明的特定步驟。在各種實(shí)施例中,所示出的方法元素當(dāng)中的一些可以并發(fā)地執(zhí)行、以與所示不同的次序執(zhí)行,或者被略去。附加的方法元素也可以根據(jù)期望被執(zhí)行。各種單元、電路或其它部件可以被描述為“被配置為”執(zhí)行一個(gè)或多個(gè)任務(wù)。在這種語境下,“被配置為”是結(jié)構(gòu)的廣泛陳述,一般指“具有”在操作過程中執(zhí)行所述一個(gè)或多個(gè)任務(wù)的“電路”。照此,即使單元/電路/部件目前沒有開啟,單元/電路/部件也可以被配置為執(zhí)行任務(wù)。一般而言,構(gòu)成對應(yīng)于“被配置為”的結(jié)構(gòu)的電路可以包括硬件電路。類似地,在描述中為了方便,各種單元/電路/部件可以被描述為執(zhí)行一個(gè)或多個(gè)任務(wù)。這種描述應(yīng)當(dāng)被解釋為包括短語“被配置為”。陳述被配置為執(zhí)行一個(gè)或多個(gè)任務(wù)的單元/電路/部件明確地對于那個(gè)單元/電路/部件不要援引35U.S.C.§112第六段的解釋。更一般而言,除非具體地陳述語言“用于...的裝置”或“用于...的步驟”,否則任何元件的陳述明確地對于那個(gè)元件不要援引35U.S.C.§112第六段的解釋。具體實(shí)施方式通過引用的結(jié)合標(biāo)題為“ProcessingSystemWithInterspersedStallPropagatingProcessorsAndCommunicationElements”的美國專利No.7,415,594的全部內(nèi)容通過引用被結(jié)合于此,就好像在本文完全和完整地闡述了一樣,該專利的發(fā)明人是MichaelB.Doerr、WilliamH.Hallidy、DavidA.Gibson和CraigM.Chase。于2011年10月14日提交的標(biāo)題為“DisablingCommunicationinaMultiprocessorSystem”的美國專利申請序列No.13/274,138的全部內(nèi)容通過引用被結(jié)合于此,就好像在本文完全和完整地闡述了一樣,該專利的發(fā)明人是MichaelB.Doerr、CarlS.Dobbs、MichaelB.Solka、MichaelRTrocino和DavidA.Gibson。術(shù)語硬件配置程序-包括可被編譯成二進(jìn)制圖像的源文本的程序,可以被用來編程或配置硬件,諸如像集成電路。計(jì)算機(jī)系統(tǒng)-各種類型的計(jì)算或處理系統(tǒng)中的任何一種,包括個(gè)人計(jì)算機(jī)系統(tǒng)(PC)、大型機(jī)計(jì)算機(jī)系統(tǒng)、工作站、網(wǎng)絡(luò)設(shè)備、互聯(lián)網(wǎng)設(shè)備、個(gè)人數(shù)字助理(PDA)、網(wǎng)格計(jì)算系統(tǒng)或者其它設(shè)備或設(shè)備的組合。一般地,術(shù)語“計(jì)算機(jī)系統(tǒng)”可被廣泛地定義為涵蓋具有執(zhí)行來自存儲(chǔ)介質(zhì)的指令的至少一個(gè)處理器的任何設(shè)備(或設(shè)備的組合)。自動(dòng)-指的是在沒有直接指定或執(zhí)行動(dòng)作或操作的用戶輸入的情況下由計(jì)算機(jī)系統(tǒng)(例如,由計(jì)算機(jī)系統(tǒng)執(zhí)行的軟件)或設(shè)備(例如,電路、可編程硬件元件、ASIC,等等)執(zhí)行的動(dòng)作或操作。從而,術(shù)語“自動(dòng)”與在用戶提供輸入來直接執(zhí)行操作的情況下由用戶手動(dòng)執(zhí)行或指定的操作形成對照。自動(dòng)過程可由用戶提供的輸入發(fā)起,但是“自動(dòng)”執(zhí)行的后續(xù)動(dòng)作不是用戶指定的,即,不是在用戶指定每個(gè)要執(zhí)行的動(dòng)作的情況下“手動(dòng)”執(zhí)行的。例如,通過選擇每個(gè)字段并且提供指定信息的輸入(例如,通過鍵入信息、選擇復(fù)選框、單選選擇,等等)來填寫電子表單的用戶是在手動(dòng)填寫該表單,雖然計(jì)算機(jī)系統(tǒng)必須響應(yīng)于用戶動(dòng)作來更新表單。表單可由計(jì)算機(jī)系統(tǒng)自動(dòng)填寫,其中計(jì)算機(jī)系統(tǒng)(例如,在計(jì)算機(jī)系統(tǒng)上執(zhí)行的軟件)分析表單的字段并且在沒有任何指定字段的答案的用戶輸入的情況下填寫表單。如上所述,用戶可調(diào)用表單的自動(dòng)填寫,但不參與表單的實(shí)際填寫(例如,用戶不是手動(dòng)指定字段的答案,而是這些字段被自動(dòng)地完成)。本說明書提供了響應(yīng)于用戶采取的動(dòng)作而自動(dòng)執(zhí)行操作的各種示例。示例性同步數(shù)字系統(tǒng)圖6說明了包括時(shí)鐘分配網(wǎng)絡(luò)的同步數(shù)字系統(tǒng)的實(shí)施例。雖然該圖的實(shí)施例說明為被包括在芯片上,但是其它實(shí)施例可以包括多個(gè)芯片和附加的部件。作為替代,多個(gè)同步數(shù)字系統(tǒng)可以被包括在單個(gè)芯片上。雖然所公開的系統(tǒng)被稱為同步數(shù)字系統(tǒng),但是該系統(tǒng)的某些部件可以以非同步的方式操作。例如,同步數(shù)字系統(tǒng)可以包括與系統(tǒng)的其余部分異步地操作的環(huán)形振蕩器。類似地,系統(tǒng)可以包括模擬部件。把系統(tǒng)稱為“數(shù)字同步系統(tǒng)”意味著僅僅暗示至少系統(tǒng)的實(shí)質(zhì)性部分包括基于公共時(shí)鐘或多個(gè)相關(guān)時(shí)鐘操作的數(shù)字邏輯。如圖6中所說明的,同步數(shù)字系統(tǒng)包括數(shù)字邏輯區(qū)。在一些實(shí)施例中,數(shù)字邏輯可以包括多處理器陣列(MPA)。數(shù)字邏輯接收時(shí)鐘信號(hào)CLK1和同步信號(hào)SYNC作為輸入。CLK1和SYNC信號(hào)是由CLK1+SYNC發(fā)生器生成的。CLK1+SYNC發(fā)生器接收時(shí)鐘參考信號(hào)CLKREF、時(shí)鐘旁路信號(hào)Bypass和時(shí)鐘覆蓋信號(hào)ClockOverride作為輸入。在其它實(shí)施例中,各種其它輸入是可能的。如圖6中所說明的,輸入被示為從芯片的輸入引腳提供給CLK1+SYNC發(fā)生器。但是,在其它實(shí)施例中,這些信號(hào)可以在芯片上生成。時(shí)鐘參考信號(hào)CLKREF是可以被用來同步不同芯片之間的操作的系統(tǒng)參考時(shí)鐘,并且因此在圖6的實(shí)施例中被說明為由同步數(shù)字系統(tǒng)外部的振蕩器OSC1生成。圖7更詳細(xì)地說明了CLK1+SYNC發(fā)生器的實(shí)施例。如所說明的,CLK1+SYNC發(fā)生器取CLKREF、BYPASS和ClockOverride信號(hào)作為輸入,并且提供CLK1和SYNC信號(hào)作為輸出。CLK1+SYNC發(fā)生器還包括可以從軟件接收數(shù)據(jù)的寄存器ConfigurationReg0(配置寄存器0),以及可以存儲(chǔ)要被軟件檢索的狀態(tài)信息的寄存器StatusReg1(狀態(tài)寄存器1)。這種狀態(tài)信息可以包括,例如,PLL鎖定狀態(tài)信號(hào)和時(shí)鐘輸入丟失信號(hào)。在圖7中,CLK1發(fā)生器部分由鎖相環(huán)(PLL)、環(huán)形振蕩器、三個(gè)多路復(fù)用器、某個(gè)邏輯、配置寄存器以及狀態(tài)寄存器組成。輸入信號(hào)CLKREF提供給PLL,PLL提供系統(tǒng)的最高頻率時(shí)鐘信號(hào)(HFC)作為輸出。圖7的PLL可以包括各種可配置的時(shí)鐘分頻器、選擇邏輯以及本領(lǐng)域中已知的用于配置時(shí)鐘信號(hào)的其它部件。在其它實(shí)施例中,PLL可以用數(shù)字鎖相環(huán)(DPLL)、延遲鎖定回路(DLL)或其它時(shí)鐘發(fā)生電路代替。輸入信號(hào)CLKREF和時(shí)鐘信號(hào)HFC都作為輸入提供給多路復(fù)用器M1,多路復(fù)用器M1可以由輸入信號(hào)BYPASS并且由來自邏輯塊Logic1的信號(hào)控制,其中邏輯塊Logic1從ConfigurationReg0和PLL接收輸入。多路復(fù)用器M1輸出時(shí)鐘信號(hào)CLK0。環(huán)形振蕩器RingOsc.提供時(shí)鐘信號(hào)CLKRO作為輸出,該輸出不依賴于CLKREF或者由同步數(shù)字系統(tǒng)接收的任何其它時(shí)鐘信號(hào)。時(shí)鐘信號(hào)CLK0和CLKRO作為輸入提供給多路復(fù)用器M2,多路復(fù)用器M2可以由來自邏輯塊Logic1的信號(hào)控制。時(shí)鐘信號(hào)CLKRO和多路復(fù)用器M2的輸出時(shí)鐘信號(hào)作為輸入提供給多路復(fù)用器M3,多路復(fù)用器M3可以由輸入信號(hào)ClockOverride控制。多路復(fù)用器M3輸出輸出時(shí)鐘信號(hào)CLK1,該信號(hào)在離開CLK1+SYNC發(fā)生器之前可以被緩沖。在一些實(shí)施例中,附加的時(shí)鐘分頻器或其它電路可以穿插在多路復(fù)用器M1-M3之間和/或之后。在圖7中,SYNC發(fā)生器部分由數(shù)據(jù)觸發(fā)器(DF1、DF2)、計(jì)數(shù)器(CNT0)和一些邏輯門組成。時(shí)鐘信號(hào)CLK1提供給反相器,并且反相的時(shí)鐘信號(hào)作為Clock(時(shí)鐘)輸入提供給計(jì)數(shù)器CNT0。計(jì)數(shù)器CNT0的多個(gè)輸出饋送到邏輯“或非”門,該門提供輸出同步信號(hào)SYNC。因此,如所說明的,SYNC只有當(dāng)CNT0的所有輸出都低時(shí)才為高;即,當(dāng)CNT0的計(jì)數(shù)為零時(shí)。但是,在其它實(shí)施例中,CNT0的輸出在被提供給NOR1之前還可以進(jìn)一步配置,如本領(lǐng)域中已知的,使得SYNC在CNT0的輸出對應(yīng)于其它值時(shí)為高。雖然CNT0被繪制為四位計(jì)數(shù)器,但是其它實(shí)施例可以利用其它尺寸或者可變尺寸的計(jì)數(shù)器。輸出信號(hào)SYNC可以在離開CLK1+SYNC發(fā)生器之前被緩沖。輸入信號(hào)CLKREF被提供給邊緣檢測器,其中邊緣檢測器被說明為包括由CLK1計(jì)時(shí)的DF1和DF2以及邏輯“與”門AND1的上升邊緣檢測器。在其它實(shí)施例中,可以使用其它邊緣檢測器,包括下降邊緣檢測器,只要需要以降低的速率進(jìn)行同步通信的所有芯片使用相同的邊緣就可以。邊緣檢測器的輸出是信號(hào)CLKREFrising,該信號(hào)提供給計(jì)數(shù)器CNT0的Reset(復(fù)位)輸入。CLK1+SYNC發(fā)生器的功能將參考圖8-18更完全地解釋??辜夥迕}沖時(shí)鐘信號(hào)選擇如圖7中所說明的,多路復(fù)用器M1-M3允許選擇各種時(shí)鐘信號(hào)用作時(shí)鐘信號(hào)CLK1。多路復(fù)用器M1-M2是可配置為從參考時(shí)鐘信號(hào)CLKREF選擇時(shí)鐘信號(hào)源、從PLL選擇時(shí)鐘信號(hào)HFC或者從芯片上環(huán)形振蕩器RingOsc.選擇時(shí)鐘信號(hào)CLKRO的軟件。當(dāng)多路復(fù)用器從一個(gè)源切換到另一個(gè)源時(shí),它會(huì)對其輸出信號(hào)引入變形和噪聲,這會(huì)造成下游電路的誤動(dòng)。時(shí)鐘分配的首端的尖峰脈沖(glitch)可以經(jīng)芯片一路傳播并到達(dá)I/O單元并且在沿途任何地方造成功能錯(cuò)誤。尖峰脈沖還因?yàn)樗鼈儨p小時(shí)序余量而是不期望的。在現(xiàn)有技術(shù)中,新時(shí)鐘信號(hào)源的選擇通常后面跟著下游電路的復(fù)位,復(fù)位把它們帶到用于重啟的已知狀態(tài),從而除去尖峰脈沖的任何不良影響。當(dāng)“飛速(onthefly)”把時(shí)鐘信號(hào)源從第一時(shí)鐘源切換到與第一時(shí)鐘源不同步的第二時(shí)鐘源時(shí),存在多路復(fù)用器截?cái)噍斎霑r(shí)鐘脈沖并且發(fā)射短脈沖或者在較長的脈沖中放置缺口的可能性。這些短脈沖統(tǒng)稱為尖峰脈沖。為了消除在來自多路復(fù)用器M1-M3的輸出中尖峰脈沖的可能性,多路復(fù)用器M1-M3當(dāng)中一個(gè)或多個(gè)可以利用抗尖峰脈沖電路來增強(qiáng)。傳統(tǒng)的多路復(fù)用器是用來從多個(gè)信號(hào)輸入選擇的門的簡單組合。基本的2-輸入多路復(fù)用器(2-inmux)示意圖在圖8中示出。在圖9中針對其中選擇輸入信號(hào)SEL改變的四種情況示出典型的波形。時(shí)鐘信號(hào)CLK0和CLK1的波形僅僅是示例并且許多其它頻率或相位失配是可能的。對于所示出的每種情況,在OUT信號(hào)上觀察到尖峰脈沖,并且以圓圈示出。如圖所示,小的和大的尖峰脈沖在高或低任一方向都是有可能的。圖10說明了具有抗尖峰脈沖增強(qiáng)的兩-輸入多路復(fù)用器的一種示例性實(shí)施例。這種實(shí)施例的增強(qiáng)包括一對狀態(tài)機(jī),這對狀態(tài)機(jī)每個(gè)都可以從SEL、CLK0和CLK1輸入以及從彼此接受輸入。但是,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,其它實(shí)施例可以利用具有與這里所說明的兩個(gè)狀態(tài)機(jī)的功能相似的功能的一個(gè)或多個(gè)狀態(tài)機(jī)。圖11中的狀態(tài)圖描述了狀態(tài)機(jī)SM0的操作。在復(fù)位時(shí),SM0被設(shè)置為狀態(tài)SM0_OFF。在狀態(tài)SM0_OFF,選擇信號(hào)SEL0被設(shè)置為邏輯0。在檢測到選擇信號(hào)SEL被設(shè)置為邏輯0時(shí),SM0變換到狀態(tài)SM0_WAIT。在狀態(tài)SM0_WAIT,SEL0保持設(shè)置在0。如果SEL改變成邏輯1,同時(shí)SM0處于狀態(tài)SM0_WAIT,則SM0變換回狀態(tài)SM0_OFF。相反,如果在SM0處于狀態(tài)SM0_WAIT的時(shí)候SM0檢測到SEL保持0并且SM1處于狀態(tài)SM0_OFF,則SM0變換到狀態(tài)SM0_ON。在狀態(tài)SM0_ON,SEL0被設(shè)置為1。在檢測到SEL為1時(shí),SM0變換回狀態(tài)SM0_OFF。圖12中的狀態(tài)圖描述了狀態(tài)機(jī)SM1的操作。在復(fù)位時(shí),SM1被設(shè)置為狀態(tài)SM1_OFF。在狀態(tài)SM1_OFF,選擇信號(hào)SEL1被設(shè)置為邏輯0。在檢測到選擇信號(hào)SEL被設(shè)置為邏輯1時(shí),SM1變換到狀態(tài)SM1_WAIT。在狀態(tài)SM1_WAIT,SEL1保持設(shè)置成0。如果在SM1處于狀態(tài)SM1_WAIT的時(shí)候SEL變成邏輯0,則SM1變換回狀態(tài)SM1_OFF。相反,如果在SM1處于狀態(tài)SM1_WAIT的時(shí)候SM1檢測到SEL保持1并且SM0處于狀態(tài)SM0_OFF,則SM1變換到狀態(tài)SM1_ON。在狀態(tài)SM1_ON,SEL1被設(shè)置為1。在檢測到SEL為0時(shí),SM1變換回狀態(tài)SM1_OFF。圖13示出了用于圖9所示的相同四種情況的波形,并且添加了圖10的抗尖峰脈沖多路復(fù)用器的輸出信號(hào)DGOUT。圖13的波形假設(shè)狀態(tài)機(jī)SM0在時(shí)鐘信號(hào)CLK0的下降邊緣采樣其輸入,并且SM1在時(shí)鐘信號(hào)CLK1的下降邊緣采樣其輸入。如圖13中所示,抗尖峰脈沖增強(qiáng)在CLK0和CLK1輸入之間相位和頻率差異的各種組合中防止短脈沖。通過利用具有抗尖峰脈沖增強(qiáng)的多路復(fù)用器作為圖7的多路復(fù)用器M1-M3當(dāng)中的一個(gè)或多個(gè),被選作CLK1的時(shí)鐘信號(hào)可以“飛速”切換,而不會(huì)在同步數(shù)字系統(tǒng)中下游造成由時(shí)鐘引起的錯(cuò)誤。重新配置時(shí)鐘發(fā)生電路在諸如圖7的示例性實(shí)施例的系統(tǒng)中,動(dòng)態(tài)地重新配置PLL或者類似的時(shí)鐘發(fā)生電路,諸如經(jīng)由軟件控制,會(huì)是有利的。例如,當(dāng)同步數(shù)字系統(tǒng)沒有被完全利用時(shí),PLL輸出HFC的頻率可以經(jīng)由軟件指令暫時(shí)減小,以節(jié)省功率。作為替代,輸入?yún)⒖夹盘?hào)CLKREF的源可以被切換,從而在PLL中造成相位鎖定的丟失。在這種情況下,PLL可以產(chǎn)生尖峰脈沖,并且將花費(fèi)一些時(shí)間來穩(wěn)定。在這個(gè)間隔中,適當(dāng)?shù)膫溥x時(shí)鐘信號(hào)可以被選擇用作提供給同步數(shù)字系統(tǒng)的主時(shí)鐘信號(hào),以允許下游電路的持續(xù)操作。但是,應(yīng)當(dāng)小心確保時(shí)鐘信號(hào)之間的切換不在主時(shí)鐘信號(hào)上引入附加的尖峰脈沖。圖14是說明用于重新配置時(shí)鐘發(fā)生電路而不在下游電路中引入由時(shí)鐘引起的錯(cuò)誤的方法實(shí)施例的流程圖。除了其它系統(tǒng),圖14中所示的方法還可以結(jié)合圖6-7的示例性系統(tǒng)使用。在步驟1402中,第一時(shí)鐘信號(hào)可以利用時(shí)鐘發(fā)生電路生成。如圖7的示例性實(shí)施例中所說明的,時(shí)鐘發(fā)生電路可以包括PLL,并且第一時(shí)鐘信號(hào)可以是時(shí)鐘信號(hào)HFC。時(shí)鐘發(fā)生電路的其它非限制性例子可以包括DPLL或DLL。作為替代,時(shí)鐘發(fā)生電路可以包括環(huán)形振蕩器,諸如圖7的RingOsc.。在步驟1404中,第一時(shí)鐘信號(hào)可以被選擇作為用于同步數(shù)字系統(tǒng)的主時(shí)鐘。在圖6-7的示例性實(shí)施例中,用于同步數(shù)字系統(tǒng)的主時(shí)鐘被標(biāo)記為CLK1。在一些實(shí)施例中,第一時(shí)鐘信號(hào)可以在正常操作期間被用作同步數(shù)字系統(tǒng)的主時(shí)鐘。在圖7的示例性實(shí)施例中,第一時(shí)鐘信號(hào)被選作主時(shí)鐘信號(hào)可以經(jīng)由多路復(fù)用器M1-M3來執(zhí)行。多路復(fù)用器M1和M2可以經(jīng)由寄存器ConfigurationReg0和邏輯塊Logic1基于軟件配置來控制。這允許對主時(shí)鐘選擇的軟件控制。因此,在一些實(shí)施例中,步驟1404可以響應(yīng)于軟件命令而被執(zhí)行。作為替代,第一時(shí)鐘信號(hào)被選作主時(shí)鐘可以是自動(dòng)的。多路復(fù)用器M1還可以基于輸入信號(hào)BYPASS來控制。多路復(fù)用器M3可以基于輸入信號(hào)ClockOverride來控制,這在以下更詳細(xì)地討論。在這種語境下,選擇時(shí)鐘信號(hào)“作為”用于同步系統(tǒng)的主時(shí)鐘指示系統(tǒng)的電路把該指定的時(shí)鐘信號(hào)傳播到同步數(shù)字系統(tǒng)的至少實(shí)質(zhì)性部分。這要涵蓋其中選定的時(shí)鐘信號(hào)可以經(jīng)過選擇電路、緩沖區(qū)和其它電路的實(shí)施例。例如,在圖7的實(shí)施例中,當(dāng)多路復(fù)用器M1被配置為選擇HFC、多路復(fù)用器M2被配置為選擇CLK0并且多路復(fù)用器M3被配置為選擇多路復(fù)用器M2的輸出時(shí),時(shí)鐘信號(hào)HFC被選作用于同步數(shù)字系統(tǒng)的主時(shí)鐘。這還要涵蓋其中主時(shí)鐘被提供給本地時(shí)鐘再生器電路的實(shí)施例,每個(gè)本地時(shí)鐘再生器電路可以向本地邏輯元件輸送作為主時(shí)鐘的頻率-和/或漂移-調(diào)節(jié)后版本的本地時(shí)鐘信號(hào)。在步驟1406中,第二時(shí)鐘信號(hào)可以被選作主時(shí)鐘。因此,第二時(shí)鐘代替第一時(shí)鐘作為主時(shí)鐘。為了防止在主時(shí)鐘信號(hào)上引入尖峰脈沖,選擇可以利用包括抗尖峰脈沖增強(qiáng)的一個(gè)或多個(gè)多路復(fù)用器來執(zhí)行,諸如圖10-12的多路復(fù)用器??梢源娴厥褂帽绢I(lǐng)域中已知的其它抗尖峰脈沖多路復(fù)用器。在圖7的示例性實(shí)施例中,第二時(shí)鐘信號(hào)被選作主時(shí)鐘信號(hào)可以經(jīng)由多路復(fù)用器M1-M3來執(zhí)行。例如,第二時(shí)鐘信號(hào)可以是時(shí)鐘參考信號(hào)CLKREF或時(shí)鐘信號(hào)CLKRO。在一些實(shí)施例中,步驟1406可以響應(yīng)于軟件命令而被執(zhí)行。作為替代,第二時(shí)鐘信號(hào)被選作主時(shí)鐘可以是自動(dòng)的。例如,在一種實(shí)施例中,邏輯塊Logic1可以自動(dòng)地把多路復(fù)用器M1配置為響應(yīng)于寄存器ConfigurationReg0接收到重新配置PLL的命令而從選擇HFC切換成選擇CLKREF。在步驟1408中,時(shí)鐘發(fā)生電路可以在第二時(shí)鐘信號(hào)充當(dāng)主時(shí)鐘的時(shí)間內(nèi)被重新配置。因?yàn)榈谝粫r(shí)鐘信號(hào)不充當(dāng)主時(shí)鐘,所以由于時(shí)鐘發(fā)生電路的重新配置而在第一時(shí)鐘信號(hào)上發(fā)生的任何尖峰脈沖都不會(huì)影響同步數(shù)字系統(tǒng)的下游電路。在一種實(shí)施例中,重新配置時(shí)鐘發(fā)生電路可以包括改變時(shí)鐘發(fā)生電路的至少一個(gè)設(shè)置,使得時(shí)鐘發(fā)生電路以不同的速率耗散功率。例如,當(dāng)同步數(shù)字系統(tǒng)沒有被完全利用時(shí),時(shí)鐘發(fā)生電路可以被重新配置為以較低的頻率操作,從而耗散較少的功率。當(dāng)同步數(shù)字系統(tǒng)的利用增加時(shí),通過圖14的方法的另一次迭代,時(shí)鐘發(fā)生電路隨后可以再次重新配置,以便在較高的頻率操作。在一種實(shí)施例中,重新配置時(shí)鐘發(fā)生電路可以包括給時(shí)鐘發(fā)生電路斷電,以防止操作,然后在隨后的時(shí)間給時(shí)鐘發(fā)生電路通電。類似地,在另一種實(shí)施例中,重新配置時(shí)鐘發(fā)生電路可以包括除去輸入到時(shí)鐘發(fā)生電路的時(shí)鐘信號(hào),以防止操作,然后在隨后的時(shí)間重新斷言輸入到時(shí)鐘發(fā)生電路的時(shí)鐘信號(hào)。在這些實(shí)施例中,可以通過以這些方式中任何一種防止時(shí)鐘發(fā)生電路的操作來省電。在一些實(shí)施例中,這種重新配置可以通過編程來執(zhí)行;即,經(jīng)由軟件控制。在步驟1410中,第一時(shí)鐘可以再次被選作主時(shí)鐘。為了防止在主時(shí)鐘信號(hào)上引入尖峰脈沖,選擇可以利用包括抗尖峰脈沖增強(qiáng)的一個(gè)或多個(gè)多路復(fù)用器執(zhí)行,諸如圖10-12的多路復(fù)用器。本領(lǐng)域中已知的其它抗尖峰脈沖多路復(fù)用器可以代替地使用。在時(shí)鐘發(fā)生電路被重新配置之后,可能需要一些時(shí)間來穩(wěn)定。因此,再次選擇第一時(shí)鐘作為主時(shí)鐘可以在時(shí)鐘發(fā)生電路穩(wěn)定之后執(zhí)行。在這種語境下,術(shù)語“穩(wěn)定”指時(shí)鐘發(fā)生電路的輸出充分地沒有畸變,從而避免下游電路中由時(shí)鐘引起的錯(cuò)誤。在一種實(shí)施例中,在時(shí)鐘發(fā)生電路穩(wěn)定之后選擇第一時(shí)鐘可以包括在時(shí)鐘發(fā)生電路重新配置已經(jīng)完成之后在選擇第一時(shí)鐘之前等待預(yù)定的時(shí)間量經(jīng)過。該預(yù)定的時(shí)間量應(yīng)當(dāng)長到足以允許時(shí)鐘發(fā)生電路穩(wěn)定。在另一種實(shí)施例中,在時(shí)鐘發(fā)生電路穩(wěn)定之后選擇第一時(shí)鐘可以包括確定時(shí)鐘發(fā)生電路是否已穩(wěn)定,并且至少部分地響應(yīng)于該確定而選擇第一時(shí)鐘作為主時(shí)鐘。例如,在圖7的實(shí)施例中,PLL可以提供指示它是否在重新配置之后實(shí)現(xiàn)相位鎖定的狀態(tài)信號(hào)。在一種實(shí)施例中,邏輯塊Logic1可以響應(yīng)于從PLL接收到指示PLL已經(jīng)實(shí)現(xiàn)相位鎖定的狀態(tài)信號(hào)而自動(dòng)地配置多路復(fù)用器M1選擇HFC。在另一種實(shí)施例中,寄存器StatusReg1可以存儲(chǔ)指示PLL已經(jīng)實(shí)現(xiàn)相位鎖定的狀態(tài),以便由軟件讀取。然后,軟件可以經(jīng)由寄存器ConfigurationReg0和用于多路復(fù)用器M1的邏輯塊Logic1提供指令,以至少部分地響應(yīng)于讀取寄存器StatusReg1而選擇HFC。片上振蕩器的自動(dòng)選擇在一些情況下,獨(dú)立于外部時(shí)鐘信號(hào)自動(dòng)選擇在芯片上利用同步數(shù)字系統(tǒng)生成的信號(hào)作為主時(shí)鐘會(huì)是有利的。具體而言,存在其中時(shí)鐘信號(hào)錯(cuò)誤可以以這種方式被避免的各種情況。圖15是說明用于在芯片上包括的同步數(shù)字系統(tǒng)中避免時(shí)鐘信號(hào)錯(cuò)誤的方法實(shí)施例的流程圖。除其它系統(tǒng)之外,圖15中所示的方法還可以結(jié)合圖6-7的示例性系統(tǒng)使用。在步驟1502中,第一時(shí)鐘信號(hào)可以作為用于同步數(shù)字系統(tǒng)的主時(shí)鐘提供。第一時(shí)鐘信號(hào)依賴于由同步數(shù)字系統(tǒng)接收的外部時(shí)鐘信號(hào)。如圖7的示例性實(shí)施例中所說明的,第一時(shí)鐘信號(hào)可以由PLL生成,并且第一時(shí)鐘信號(hào)可以是時(shí)鐘信號(hào)HFC,該信號(hào)依賴于輸入時(shí)鐘參考信號(hào)CLKREF。在圖6-7的示例性實(shí)施例中,用于同步數(shù)字系統(tǒng)的主時(shí)鐘被標(biāo)記為CLK1。在同步數(shù)字系統(tǒng)的正常操作期間,主時(shí)鐘可以從包括第一時(shí)鐘信號(hào)的多個(gè)可用的時(shí)鐘信號(hào)中選擇。例如,在圖7的實(shí)施例中,CLK1可以利用多路復(fù)用器M1和M2從可用的時(shí)鐘信號(hào)HFC、CLKREF和CLKRO中選擇。如以上所討論的,多路復(fù)用器M1和M2的控制可以是自動(dòng)的或者由軟件控制。在步驟1504中,可以接收時(shí)鐘選擇覆蓋信號(hào)。時(shí)鐘選擇覆蓋信號(hào)可以指示需要選擇片上生成的時(shí)鐘信號(hào)用作主時(shí)鐘的條件。在圖7的示例性實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)被說明為輸入信號(hào)ClockOverride。在各種實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)可以指示各種情況。例如,在一種實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)可以包括指示可能或?qū)嶋H篡改同步數(shù)字系統(tǒng)的篡改檢測信號(hào)。這種篡改可以包括對同步數(shù)字系統(tǒng)的硬件或軟件的未授權(quán)訪問。篡改檢測信號(hào)可以包括來自被配置為檢測篡改的一個(gè)或多個(gè)傳感器或其它裝備的信號(hào)。這種傳感器或其它裝備可以或可以不包括在同步數(shù)字系統(tǒng)中,并且可以或可以不存在于芯片上。用于檢測篡改的方法和裝備的例子可以在以上通過引用被結(jié)合的美國專利申請序列No.13/274,138中找到。在另一種實(shí)施例中,時(shí)鐘選擇覆蓋信號(hào)可以包括指示預(yù)見到外部時(shí)鐘信號(hào)的丟失或不穩(wěn)定的時(shí)鐘丟失信號(hào)。例如,時(shí)鐘丟失信號(hào)可以指示輸入時(shí)鐘參考信號(hào)CLKREF的源已經(jīng),或者將要,改變、復(fù)位或以別的方式被中斷。在步驟1506中,第二時(shí)鐘信號(hào)可以響應(yīng)于選擇覆蓋信號(hào)而被選作主時(shí)鐘。因此,第二時(shí)鐘代替第一時(shí)鐘作為主時(shí)鐘。第二時(shí)鐘信號(hào)是由芯片上的信號(hào)發(fā)生器獨(dú)立于外部時(shí)鐘信號(hào)生成的。雖然第二時(shí)鐘信號(hào)是獨(dú)立于任何外部時(shí)鐘信號(hào)生成的,但是一些實(shí)施例可以允許芯片上的信號(hào)發(fā)生器經(jīng)由外部配置信號(hào)配置。在圖7的示例性實(shí)施例中,第二時(shí)鐘信號(hào)被選作主時(shí)鐘信號(hào)可以經(jīng)由多路復(fù)用器M3執(zhí)行。例如,獨(dú)立于輸入時(shí)鐘參考信號(hào)CLKREF,第二時(shí)鐘信號(hào)可以是由環(huán)形振蕩器RingOsc.生成的時(shí)鐘信號(hào)CLKRO。因此,響應(yīng)于輸入信號(hào)ClockOverride而對CLKRO的選擇可以覆蓋通過多路復(fù)用器M1-M2定義的其它自動(dòng)的或軟件定義的時(shí)鐘選擇。為了防止在主時(shí)鐘上引入尖峰脈沖,選擇可以利用包括抗尖峰脈沖增強(qiáng)的一個(gè)或多個(gè)多路復(fù)用器執(zhí)行,諸如圖10-12的多路復(fù)用器。本領(lǐng)域中已知的其它抗尖峰脈沖多路復(fù)用器可以代替地使用。在其它實(shí)施例中,抗尖峰脈沖增強(qiáng)可以不是必需的。在步驟1508中,可以執(zhí)行需要持續(xù)時(shí)鐘信號(hào)的安全措施。這種安全措施在其中時(shí)鐘選擇覆蓋信號(hào)包括篡改檢測信號(hào)的實(shí)施例中可以是適當(dāng)?shù)?。例如,企圖篡改芯片的黑客或其他人可能期望讀出同步數(shù)字系統(tǒng)的內(nèi)部寄存器的狀態(tài)信息。已經(jīng)提出了各種方法來防止寄存器被讀出,諸如在檢測到外部篡改時(shí)清除寄存器。因此,為了保存內(nèi)部寄存器的狀態(tài),黑客可以停止系統(tǒng)參考時(shí)鐘(CLKREF),從而凍結(jié)同步數(shù)字系統(tǒng)的內(nèi)部寄存器中的操作。因此,在一種實(shí)施例中,安全措施,諸如清除同步數(shù)字系統(tǒng)的狀態(tài)信息,可以響應(yīng)于篡改檢測信號(hào)而被執(zhí)行。因?yàn)榈诙r(shí)鐘信號(hào)已經(jīng)被選作主時(shí)鐘,所以諸如清除狀態(tài)信息的安全措施可以獨(dú)立于CLKREF是否停止而繼續(xù)進(jìn)行。可能的安全措施的附加例子可以在以上通過引用被結(jié)合的美國專利申請序列No.13/274,138中找到。芯片間的通信圖16是說明兩個(gè)集成電路(IC)芯片之間的輸入/輸出(I/O)通信的框圖。如圖16中所說明的,第一芯片和第二芯片當(dāng)中每一個(gè)都包括諸如圖6中所說明的同步數(shù)字系統(tǒng)。對于每個(gè)芯片,主時(shí)鐘信號(hào)CLK1由各自的CLK1+SYNC發(fā)生器提供給數(shù)字邏輯塊的中心時(shí)鐘再生器。然后,當(dāng)其通過時(shí)鐘分配網(wǎng)絡(luò)傳播時(shí),主時(shí)鐘信號(hào)CLK1可以經(jīng)過附加的時(shí)鐘再生器。I/O單元可以從時(shí)鐘分配分支中的最后一個(gè)再生器接收時(shí)鐘信號(hào)。在多芯片系統(tǒng)中,芯片之間的同步通信可以通過共享公共參考時(shí)鐘輸入信號(hào)并允許每個(gè)芯片上的PLL在I/O電路之間穩(wěn)定相位關(guān)系來實(shí)現(xiàn)。這對其中不需要SYNC信號(hào)的未分頻時(shí)鐘工作得很好,并且在圖17中說明。圖17是說明用于圖7的PLL的反饋路徑的實(shí)施例的框圖。環(huán)形振蕩器和PLL,以及信號(hào)CLKREF、CLKRO和HFC可以對應(yīng)于圖7中相同名字的部件和信號(hào)。圖17的選擇和配置電路可以對應(yīng)于圖7的多路復(fù)用器M1-M3。在其它實(shí)施例中,選擇和配置電路可以包括其它電路。圖17的反饋路徑在PLL的HFC輸出開始,并且與通過分配網(wǎng)絡(luò)到服務(wù)于PLL附近的I/O單元的再生器的主時(shí)鐘平行。圖16說明了主時(shí)鐘到I/O單元1的示例性路徑,其中I/O單元1在CLK1+SYNC發(fā)生器附近,其中CLK1+SYNC發(fā)生器可以包括PLL。圖17的反饋路徑包括與由主時(shí)鐘通過分配網(wǎng)絡(luò)的路徑中再生器造成的緩沖區(qū)延遲匹配的緩沖區(qū)延遲。傳播延遲也是匹配的。信號(hào)FEEDBACK_INPUT被提供給PLL反饋輸入,其中該信號(hào)是在反饋路徑的末端出現(xiàn)的高頻時(shí)鐘輸出的結(jié)果得到的延遲版本。這種反饋具有把位于I/O單元的主時(shí)鐘信號(hào)CLK1的相位與位于PLL的輸入時(shí)鐘參考信號(hào)CLKREF對齊的效果。這最小化再生器延遲以及它們隨制造、供給電壓和操作溫度的變化對位于I/O單元的主時(shí)鐘信號(hào)的相位的影響。因此,如果在第一芯片的PLL接收的時(shí)鐘參考信號(hào)CLKREF與在第二芯片的PLL接收的時(shí)鐘參考信號(hào)CLKREF邊緣對齊,則位于第一芯片的I/O單元的相應(yīng)主時(shí)鐘信號(hào)CLK1將與位于第二芯片的I/O單元的相應(yīng)主時(shí)鐘信號(hào)CLK1邊緣對齊。芯片之間的數(shù)據(jù)信號(hào)可以以許多方式被延遲和變形,并且克服這些問題的一種最簡單的解決方案是降低數(shù)據(jù)率,這也降低每個(gè)I/O電路的功耗。在一種實(shí)施例中,I/O電路可以具有關(guān)聯(lián)的時(shí)鐘分頻器,諸如圖3中所示的。通過更新用于I/O電路的時(shí)鐘分頻器的配置寄存器RegP,數(shù)據(jù)率可以在I/O電路中在程序控制下被降低。但是,使得兩個(gè)芯片各自被分頻的時(shí)鐘的相位與CLK1的最近循環(huán)對齊需要兩個(gè)芯片各自的SYNC信號(hào)利用CLK1分配到用于I/O電路的時(shí)鐘分頻器,并且還需要各自的SYNC信號(hào)在芯片之間同步。在圖5所示的現(xiàn)有技術(shù)中,CNT0的Reset(復(fù)位)輸入可以是來自芯片引腳(SYNC-IN)的輸入,并且希望這將使一個(gè)芯片成為另一個(gè)提供SYNC-OUT的芯片的從屬。但是,由于芯片之間的SYNC信號(hào)延遲和變形,這是有問題的。因此,對于以由I/O電路中時(shí)鐘分頻器提供的較慢時(shí)鐘速率的芯片間通信,分頻器的復(fù)位需要在芯片之間更有效地同步。時(shí)鐘分頻器不具有不受限的范圍(這可能需要不受限的功耗)。對于低功耗應(yīng)用,2^4=16的范圍是有用的。時(shí)鐘分頻器的范圍限制還限制PLL時(shí)鐘倍增因數(shù),如在參考圖7的示例性實(shí)施例的以下分析中所示出的。令CLK1的頻率是fclk1,并且CLKREF的頻率是fclkref。fclk1=M*fclkref,其中M是PLL倍增因數(shù),通常是2^i,其中i是整數(shù)。通過把CLKREF驅(qū)動(dòng)至由CLK1計(jì)時(shí)的CNT0的復(fù)位輸入,我們具有SYNC的最小化頻率是:fsync=fclkref如果fclk1是fclkref/2或更小,則CNT0不比其復(fù)位更快地計(jì)數(shù),因此超出0000狀態(tài)它有效地不計(jì)數(shù)。當(dāng)M=2^i時(shí),這對i放置最小值0,以及M最小值1。令D0=2^j0是CNT0的翻轉(zhuǎn)計(jì)數(shù)(rollovercount),則:對于i=0至j0,fsync=fclkref,并且對于i>j0,fsync=fclkrefM/D0。例如,當(dāng)CNT0固定在4位時(shí),它對于CLK1的每16個(gè)脈沖翻轉(zhuǎn)并且發(fā)射SYNC脈沖。例如,如果M是32,則SYNC頻率將是fclkref的兩倍,但是,由于周期性的復(fù)位輸入,它將保持與CLKREF相位對齊。在一種實(shí)施例中,j0的值可以固定在4,并且PLL倍增器可以在i=4(M=16)固定到時(shí)鐘CNT0。在更下游,另一個(gè)分頻器(不在圖中)可以在其到芯片剩余部分的途中用2^k去除信號(hào)CLK1,其中0<k<4。這可以對芯片的剩余部分降低CLK1(例如,以降低芯片功耗),而不影響CNT0時(shí)鐘。如以上所指出的,每個(gè)I/O電路可以由包括時(shí)鐘分頻器的時(shí)鐘再生器提供服務(wù),如圖3中所示,使得到I/O電路的輸入時(shí)鐘是利用頻率fio被分頻的時(shí)鐘信號(hào):fio=fclk1/Dio,其中Dio是分頻器比率,通常是2^j,其中0<j<jmax。代換fclk1=Mio*fclkref,我們發(fā)現(xiàn)fio依賴性:fio=fclkref*Mio/Dio,其中Mio是在服務(wù)于I/O電路的再生器的比率fclk1/fclkref。對于分別編號(hào)為1和2的兩個(gè)芯片的I/O電路之間可靠的數(shù)據(jù)傳輸,發(fā)送和接收時(shí)鐘速率應(yīng)當(dāng)相同:fio1=fio2。代換并且用fclkref除以等式的兩側(cè),我們發(fā)現(xiàn)Rule1(規(guī)則1):Mio1/Dio1=Mio2/Dio2。對于SYNC輸入的適當(dāng)時(shí)鐘分頻器使用,每個(gè)fio應(yīng)當(dāng)大于或等于fsync。對稱設(shè)置的例子:Mio1=16,Dio1=2,Mio2=16,Dio2=2。不對稱設(shè)置的例子:Mio1=16,Dio1=4,Mio2=8,Dio2=2。這意味著運(yùn)行不同核心CLK1速率的兩個(gè)芯片可以通過使它們的通信I/O時(shí)鐘分頻器遵守Rule1以及以上關(guān)于Mio、Dio和fio的最大值和最小值的限制來進(jìn)行通信。圖18是說明用于同步第一IC芯片和第二IC芯片之間的數(shù)字通信的方法實(shí)施例的流程圖。除其它系統(tǒng)之外,圖18中所示的方法還可以結(jié)合圖6-7和16-17的示例性系統(tǒng)來使用。在一些實(shí)施例中,類似的方法可以用于同步更大量芯片之間的數(shù)字通信。在步驟1802中,外部參考時(shí)鐘信號(hào)可以由第一IC芯片和第二IC芯片當(dāng)中每一個(gè)接收。例如,在圖16的實(shí)施例中,由振蕩器OSC1生成的外部參考時(shí)鐘信號(hào)經(jīng)由每個(gè)芯片的CLKREF輸入引腳被接收。在一些實(shí)施例中,OSC1和兩個(gè)芯片各自的CLKREF輸入引腳之間的相應(yīng)傳播延遲緊密匹配,使得時(shí)鐘漂移在兩個(gè)芯片的CLKREF信號(hào)之間被最小化。在步驟1804中,每個(gè)芯片可以生成依賴于外部參考時(shí)鐘信號(hào)的各自的高頻時(shí)鐘信號(hào)。例如,在一些實(shí)施例中,高頻時(shí)鐘信號(hào)可以具有是參考時(shí)鐘的頻率的可配置倍數(shù)的頻率。在圖7的示例性實(shí)施例中,高頻時(shí)鐘信號(hào)HFC由PLL生成,其中PLL接收外部參考時(shí)鐘信號(hào)CLKREF作為輸入。PLL可以輸出其頻率是CLKREF的頻率的可配置倍數(shù)的信號(hào)HFC,如本領(lǐng)域中已知的。在步驟1806中,每個(gè)芯片可以生成依賴于外部參考時(shí)鐘信號(hào)的各自的同步信號(hào),使得第一芯片和第二芯片各自的同步信號(hào)由于它們共同依賴于外部參考時(shí)鐘信號(hào)而相位對齊。例如,在圖7的實(shí)施例中,芯片生成同步信號(hào)SYNC,該信號(hào)依賴于外部參考時(shí)鐘信號(hào)CLKREF。具體而言,如圖7中所說明的,當(dāng)計(jì)數(shù)器CNT0輸出零計(jì)數(shù)時(shí),SYNC對于主時(shí)鐘信號(hào)CLK1的一個(gè)時(shí)鐘循環(huán)將為高。因?yàn)镃NT0由主時(shí)鐘信號(hào)CLK1計(jì)時(shí),所以SYNC與CLK1邊緣對齊。在這種語境下,如果它們的變換周期在時(shí)間上重疊,則兩個(gè)信號(hào)是“邊緣對齊的”。如果漂移在兩個(gè)芯片的CLKREF信號(hào)之間被最小化,則因?yàn)轫憫?yīng)于CLKREF的上升邊緣,CNT0被信號(hào)CLKREFrising復(fù)位到零計(jì)數(shù),所以兩個(gè)芯片各自的SYNC信號(hào)將由于它們與CLKREF相互相位對齊而彼此相位對齊。在這種語境下,如果它們的變換發(fā)生在主時(shí)鐘信號(hào)的同一時(shí)鐘循環(huán)內(nèi),則兩個(gè)信號(hào)是“相位對齊的”。在步驟1808中,每個(gè)芯片可以依賴于芯片各自的高頻時(shí)鐘信號(hào)而向包括在芯片上的各自的同步數(shù)字系統(tǒng)分配各自的主時(shí)鐘信號(hào)。主時(shí)鐘信號(hào)是經(jīng)由同步數(shù)字系統(tǒng)的時(shí)鐘分配網(wǎng)絡(luò),諸如圖2中所說明的時(shí)鐘分配網(wǎng)絡(luò),分配的。芯片可以包括多個(gè)I/O單元,如在圖16的示例性實(shí)施例中所說明的。由于主時(shí)鐘信號(hào)通過時(shí)鐘分配網(wǎng)絡(luò)分配到I/O單元,因此它將引起傳播延遲,以及由于緩沖區(qū)或其它電路引起的延遲。在一些實(shí)施例中,時(shí)鐘分配網(wǎng)絡(luò)可以被配置為在高頻時(shí)鐘信號(hào)與每個(gè)I/O單元之間提供統(tǒng)一的延遲,從而最小化由每個(gè)I/O單元接收的主時(shí)鐘的各延遲版本之間的時(shí)鐘漂移。在最佳情況下,由每個(gè)I/O單元接收的主時(shí)鐘的各延遲版本彼此邊緣對齊。可以對同步信號(hào)類似地提供統(tǒng)一的延遲。在步驟1810中,每個(gè)芯片可以利用芯片相應(yīng)的同步信號(hào)對相應(yīng)的主時(shí)鐘信號(hào)分頻。頻分時(shí)鐘信號(hào)可以具有小于芯片主時(shí)鐘信號(hào)的頻率的頻率。圖3說明了可以在步驟1810中使用的時(shí)鐘分頻器的示例性實(shí)施例的框圖。如圖3中所說明的,時(shí)鐘脈沖可以利用計(jì)數(shù)器的任何輸出位生成。計(jì)數(shù)器被同步信號(hào)SYNC復(fù)位。因?yàn)閮蓚€(gè)芯片各自的SYNC信號(hào)彼此相位對齊,所以兩個(gè)芯片的頻分時(shí)鐘信號(hào)將彼此相位對齊。在步驟1812中,數(shù)字通信可以在第一芯片的第一I/O單元和第二芯片的第二I/O單元之間執(zhí)行。第一I/O單元可以使用第一芯片的頻分時(shí)鐘信號(hào)作為時(shí)鐘,并且第二I/O單元可以使用第二芯片的頻分時(shí)鐘信號(hào)作為時(shí)鐘,如在圖16的示例性實(shí)施例中所示出的。因?yàn)閮蓚€(gè)芯片的頻分時(shí)鐘信號(hào)是至少相位對齊的,所以,如果兩個(gè)芯片的頻分時(shí)鐘信號(hào)共享相同的頻率,則兩個(gè)I/O單元之間的數(shù)字通信可以被認(rèn)為是同步通信。在一些實(shí)施例中,具有反饋路徑的PLL,諸如圖17中所說明的,可以被用來進(jìn)一步對齊兩個(gè)芯片的頻分時(shí)鐘信號(hào)。例如,每個(gè)芯片上的反饋路徑可以與從PLL的HFC輸出到時(shí)鐘分頻器的相應(yīng)主時(shí)鐘信號(hào)平行,其中時(shí)鐘分頻器對相應(yīng)的主時(shí)鐘信號(hào)進(jìn)行分頻。這種時(shí)鐘分頻器可以位于芯片的I/O單元附近。如以上所討論的,這可以導(dǎo)致位于第一芯片的I/O單元的相應(yīng)主時(shí)鐘信號(hào)CLK1與位于第二芯片的I/O單元的相應(yīng)主時(shí)鐘信號(hào)CLK1邊緣對齊。在最佳情況下,因?yàn)閮蓚€(gè)芯片各自的主時(shí)鐘信號(hào)彼此邊緣對齊,所以兩個(gè)芯片的頻分時(shí)鐘信號(hào)也將彼此邊緣對齊。因?yàn)镾YNC不是時(shí)鐘,而是用于時(shí)鐘分頻器的復(fù)位信號(hào),所以,除保持用于每個(gè)I/O電路的時(shí)鐘分頻器在HFC的一個(gè)循環(huán)內(nèi)同步之外,它不影響I/O電路的時(shí)鐘漂移。雖然以上實(shí)施例已經(jīng)聯(lián)系優(yōu)選實(shí)施例進(jìn)行了描述,但它不是要限定到本文所闡述的具體形式,相反,它是要覆蓋可以合理地包括在如由所附權(quán)利要求定義的本發(fā)明實(shí)施例精神和范圍內(nèi)的此類變更、修改和等價(jià)物。