專利名稱::Vlsi芯片中的分散容錯(cuò)時(shí)鐘脈沖生成的制作方法概述(參看圖4和圖5)數(shù)字VLSI芯片未來(lái)的發(fā)展特點(diǎn)是不斷地增加集成密度、復(fù)雜性和提高時(shí)鐘頻率。然而,這增加了在所有功能單元(Fu)中提供同步設(shè)計(jì)范例所需的同步時(shí)鐘脈沖的難度●信號(hào)需要完整的時(shí)鐘脈沖周期(以及更多)以便尋址芯片上的所有功能單元。●時(shí)鐘樹(shù)的偏差優(yōu)化需要日益昂貴的程序?!駮r(shí)鐘樹(shù)和緩沖器消耗大量功率和表面區(qū)域并且導(dǎo)致顯著的功率供給問(wèn)題和干擾輻射?!駜H可以根據(jù)布局布線(place&route)確定最大時(shí)鐘脈沖頻率(并且必須保守地選擇)。此外,時(shí)鐘信號(hào)是典型的單個(gè)故障點(diǎn)●外部石英晶體昂貴、體積大并且機(jī)械上敏感?!駮r(shí)鐘樹(shù)中的每個(gè)(甚至瞬時(shí)的)誤差都會(huì)導(dǎo)致系統(tǒng)故障。同時(shí),線路延遲支配VLSI芯片中的開(kāi)關(guān)時(shí)間的事實(shí),使得能夠構(gòu)思一種用于時(shí)鐘脈沖生成的、由容錯(cuò)的分布式系統(tǒng)領(lǐng)域得到的替代方法時(shí)鐘同步。在這樣的情況下,基本概念是將獨(dú)立的本地時(shí)鐘脈沖生成單元(TS-Alg)分配給所有(或者足夠多的)功能單元,以便將本地時(shí)鐘脈沖(microtick)提供給每個(gè)功能單元。所有TS-Alg都完全相互連接并且使用該TS-Net來(lái)使它們的本地microtick相互同步。所使用的方法的同步準(zhǔn)確度П=П(Θ)僅取決于TS-Net中最慢與最快路徑的比率Θ(一定程度上對(duì)延遲不敏感)。相應(yīng)于所希望的全局同步時(shí)鐘脈沖的macrotick可以通過(guò)后接(可編程的)除法器÷П而從microtick中獲得。該方法的好處是●芯片生成它自己的時(shí)鐘脈沖并且因此不需要外部振蕩器。不像簡(jiǎn)單的環(huán)形振蕩器,整個(gè)芯片都涉及時(shí)鐘脈沖生成,這先驗(yàn)地提高了頻率穩(wěn)定性。此外,可以實(shí)現(xiàn)溫度補(bǔ)償?!裥酒詣?dòng)以最高的可能頻率工作,該頻率取決于由TS-Net的布局布線導(dǎo)致的延遲和工作條件。實(shí)際上,可以用適當(dāng)?shù)卮_定TS-Alg的參數(shù)來(lái)屏蔽掉(maskout)最慢路徑?!裢降姆独粌H可用于本地功能單元的設(shè)計(jì)(基于microticks)而且在功能單元之間的全局通信時(shí)也可以保留(通過(guò)microticks)?!裨摲椒ㄈ萑蘐S-Net中可配置數(shù)量的瞬時(shí)和永久誤差,這可被證明是正確的?!馮S-Alg的數(shù)量可以根據(jù)需要最佳地選擇,其中可以監(jiān)控時(shí)鐘脈沖生成的開(kāi)銷(表面積,...)?!裨摮绦蛞矠橥綇?fù)位的問(wèn)題提供了很好的解決方案,該問(wèn)題在非常大的具有高時(shí)鐘率的芯片的情況下難以解決。II詳細(xì)說(shuō)明概要-鑒于隨著鐘脈沖分布在典型同步VLSI芯片中而增加的問(wèn)題,提出了一種新方法,其不用外部時(shí)鐘脈沖源(振蕩器、石英晶體-參看圖4和5)來(lái)管理并且還保留了同步設(shè)計(jì)的范例。由借助異步實(shí)施的分布式算法生成用于“島區(qū)域”(一個(gè)或者多個(gè)空間上鄰接的功能單元)的本地時(shí)鐘脈沖構(gòu)成了工作原理。這些本地時(shí)鐘脈沖的所保證的同步精確度也允許生成全系統(tǒng)的全局時(shí)鐘脈沖。由于算法的分布性、其容錯(cuò)性和時(shí)間無(wú)關(guān)性可以生成強(qiáng)健且容錯(cuò)的時(shí)鐘脈沖,該時(shí)鐘脈沖可以以靈活的方式適應(yīng)時(shí)間相關(guān)的參數(shù)(其它工藝或者工作條件)中的改變,并且甚至在物理上相互遠(yuǎn)離的島區(qū)域之間也允許快速同步的通信。由于全局通信異步地發(fā)生并且不存在多個(gè)本地時(shí)鐘脈沖源,所以在此所描述的方法不同于GALS方法。1.動(dòng)機(jī)電路中的電信號(hào)的傳播速度由于以下兩個(gè)效應(yīng)而受到顯著限制光速和所謂的RC時(shí)間延遲。在典型使用的介質(zhì)中,光速大約為真空中光速的2/3,即2×108m/s或者20cm/ns。RC延遲是由構(gòu)成所謂RC元件的寄生電阻和電容引起。這些RC元件又只不過(guò)為低通濾波器,低通濾波器導(dǎo)致信號(hào)邊緣的平坦化。幅值范圍中的平坦化最終導(dǎo)致時(shí)間范圍內(nèi)的信號(hào)延遲,并且該延遲相當(dāng)好地對(duì)應(yīng)于電阻和電容的乘積。雖然光速表示信號(hào)傳播速度的不可消除的物理限制,但是可以優(yōu)化RC延遲。因此,開(kāi)發(fā)新工藝時(shí)總是特別注意減小寄生電阻和電容。雖然如此,目前RC延遲仍代表了實(shí)際的速度限制。然而,如果樂(lè)觀地假設(shè)可借助優(yōu)化來(lái)克服RC延遲,并且已經(jīng)達(dá)到光速的嚴(yán)格物理極限,則信號(hào)沿著尺寸為2cm的微芯片的邊緣傳播將需要0.1ns。在目前通常的10GHz量級(jí)的時(shí)鐘率中,這已經(jīng)與一個(gè)完整的時(shí)鐘周期相應(yīng)。國(guó)際半導(dǎo)體技術(shù)藍(lán)圖(ITRS)[ITRS02]預(yù)測(cè)時(shí)鐘率每年提高大約25%,而芯片的尺寸保持基本上相同。這將意味著在10年后信號(hào)沿著芯片的邊緣的傳播需要多于3個(gè)時(shí)鐘周期。該估計(jì)忽略了已提到的RC延遲,并且特別是隨著廣泛分支的網(wǎng)絡(luò),實(shí)質(zhì)上伸展比芯片的邊緣長(zhǎng)得多。因此,情況更加緊急。特別是,在時(shí)鐘脈沖分配的情況下,一方面網(wǎng)絡(luò)的物理伸展相當(dāng)大,另一方面運(yùn)行時(shí)間造成的相移的影響特別高,因此,所描述的問(wèn)題已顯出其嚴(yán)重性。已經(jīng)進(jìn)行了很多嘗試[Restle01][Intel02]以便能夠在芯片上適當(dāng)?shù)貙?shí)現(xiàn)同步模型。然而最終,證明該模型(至少以其當(dāng)前的形式)是不再可被支持的假象僅是時(shí)間的問(wèn)題。雖然設(shè)計(jì)中有充分合適的方法來(lái)控制所定義的相移,但主要問(wèn)題是在與類型變化、工作條件等相關(guān)的延遲中不能預(yù)測(cè)的變化。由于關(guān)于信號(hào)和時(shí)鐘邊緣相對(duì)于彼此的相對(duì)位置的不足的認(rèn)識(shí)而出現(xiàn)未定義的邏輯狀態(tài),這些未定義的邏輯狀態(tài)是所謂的后穩(wěn)定性(meta-stability)。甚至在不同于時(shí)鐘脈沖的信號(hào)中,相關(guān)的執(zhí)行時(shí)間也日益成為問(wèn)題。雖然以前基于關(guān)鍵路徑中的門延遲還容易地對(duì)設(shè)計(jì)的可允許時(shí)鐘頻率做出合適估計(jì),但是互聯(lián)的執(zhí)行時(shí)間現(xiàn)在如此占主要地位,使得在完成布局布線之后可以進(jìn)行類似估計(jì)。由此,可以僅在設(shè)計(jì)過(guò)程中很后面的階段才使用修正的措施,這使得設(shè)計(jì)周期顯著地更慢且更昂貴。甚至復(fù)位線也需要特別注意。在系統(tǒng)起動(dòng)期間,如果在給定的時(shí)鐘脈沖周期k期間將復(fù)位去激活,則這在相同的時(shí)鐘周期中被相應(yīng)的功能單元感測(cè)到并且它們相應(yīng)地對(duì)這做出反應(yīng)。然而,如果由于信號(hào)延遲,功能單元其中之一在時(shí)鐘脈沖周期k+1期間才感測(cè)到復(fù)位,則該異步會(huì)導(dǎo)致系統(tǒng)起動(dòng)期間不可預(yù)測(cè)的影響。在故障注入實(shí)驗(yàn)[Scherrer02]的過(guò)程中,發(fā)現(xiàn)處理器系統(tǒng)會(huì)非常敏感地對(duì)復(fù)位信號(hào)的不一致的判讀做出反應(yīng)。總之,因此可以看到,由于執(zhí)行時(shí)間的越來(lái)越占優(yōu)勢(shì)的影響,鑒于時(shí)鐘率的增加,僅僅用結(jié)構(gòu)上和工藝上的措施不能夠保證VLSI芯片上的執(zhí)行的同步性。必須找到同步設(shè)計(jì)范例的替代或者其它的方法解決方案例如同步性的定義的外推的概念。同時(shí),必須看到,芯片上增加的時(shí)鐘率、更低的電壓容差和更小的結(jié)構(gòu)將導(dǎo)致故障率的增加[Const02][Salim01]。除增強(qiáng)容錯(cuò)的措施之外,這將需要更多地使用容錯(cuò)時(shí)鐘脈沖。特別是在安全關(guān)鍵的應(yīng)用(航空器[Truong97])或者具有極長(zhǎng)的任務(wù)時(shí)間的應(yīng)用(太空旅行[Gaisler02])中,已經(jīng)是這樣的情況,并且在這樣的情況下要求某種程度上顯著的開(kāi)銷。因此,對(duì)同步性問(wèn)題的任何解決方案從開(kāi)始就也應(yīng)考慮到容錯(cuò)的方面。2.現(xiàn)有技術(shù)和趨勢(shì)2.1術(shù)語(yǔ)“同步”的理解術(shù)語(yǔ)同步以不同的含義使用在不同的上下文中。以下討論兩個(gè)最主要的解釋以達(dá)到解釋該術(shù)語(yǔ)相位同步性表示同步的最高級(jí)。兩個(gè)或者多個(gè)時(shí)鐘脈沖信號(hào)必須相互如此精確地匹配,使得它們的相移為最小或者盡可能不變。因此,同步的質(zhì)量的尺度是用度表示的最大相位偏差。例如,如果多個(gè)邏輯電路要以鎖步(lock-step)模式工作,則必需相位同步性。傳統(tǒng)的同步設(shè)計(jì)隱含地假設(shè)相位同步性,并且由于執(zhí)行時(shí)間的支配而恰恰不能保持相位同步性。在這樣的情況下即使所考慮的時(shí)鐘脈沖由相同的源生成,它們的相對(duì)相位也會(huì)由于執(zhí)行時(shí)間和偏差而失真。時(shí)間同步性(時(shí)鐘同步性)涉及分布式時(shí)鐘的匹配。待被同步的時(shí)鐘時(shí)間通常由完全不相關(guān)的本地時(shí)鐘脈沖信號(hào)得到,并且借助有目的地省略或者插入時(shí)鐘脈沖來(lái)實(shí)現(xiàn)同步性。根據(jù)兩個(gè)時(shí)鐘時(shí)間之間的最大偏差估計(jì)同步質(zhì)量,而這也稱作精確度。與相位同步比較時(shí),粒度(granularity)在此是更不精細(xì)的,問(wèn)題不是在高頻時(shí)鐘脈沖內(nèi)的相移,而是存在(整體的!)本地計(jì)數(shù)器讀數(shù)的偏差。基本上,甚至?xí)r間同步也僅通過(guò)同步措施來(lái)實(shí)現(xiàn)。僅僅選擇低容錯(cuò)的石英晶體是不夠的,因?yàn)橛伤鼈兊玫降谋镜貢r(shí)鐘時(shí)間經(jīng)過(guò)很長(zhǎng)的時(shí)期會(huì)相互偏差很大。2.2時(shí)鐘脈沖分配由于性能和功耗的規(guī)定,當(dāng)前設(shè)計(jì)中的時(shí)鐘脈沖分配是不斷增大的問(wèn)題。對(duì)高時(shí)鐘頻率和在微芯片上增加門的數(shù)量的需要意味著由于增加開(kāi)關(guān)工作的數(shù)量和高扇出(fan-out)而增加了時(shí)鐘樹(shù)的功耗。時(shí)鐘脈沖網(wǎng)絡(luò)占據(jù)了整個(gè)芯片的功耗的25%到50%[Dobberpuhl92]。此外,由于時(shí)鐘周期的縮短,對(duì)時(shí)鐘偏差(時(shí)鐘脈沖到達(dá)兩個(gè)不同的組件處之間的差)的可允許的裕度減小了。因此,在現(xiàn)代處理器設(shè)計(jì)中,必須耗費(fèi)大量的努力以保證盡可能無(wú)偏差地分配時(shí)鐘脈沖。時(shí)鐘脈沖分配大部分借助平衡樹(shù)(H樹(shù),X樹(shù))結(jié)合以集成了樹(shù)的各個(gè)層次的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。利用該方法進(jìn)行了嘗試,以便使至每個(gè)端節(jié)點(diǎn)的引線長(zhǎng)度以及在每個(gè)這種路徑中的緩沖器的數(shù)量盡可能平衡;在此即稱作零偏差布線[Restle02]。為了能夠“驅(qū)動(dòng)”時(shí)鐘脈沖分配網(wǎng)絡(luò)的相當(dāng)大的扇出,要求大量的緩沖器(數(shù)百到數(shù)千),它們應(yīng)盡可能均勻地分布到芯片上,以便減小時(shí)鐘偏差。由于制造工藝,每個(gè)緩沖器具有在驅(qū)動(dòng)功率和延遲特性方面的某種(雖然微小)不準(zhǔn)確度,這導(dǎo)致了額外的時(shí)鐘偏差[Restle01]。在現(xiàn)代處理器設(shè)計(jì)中,經(jīng)常引入所謂的去偏差電路。這種電路涉及可編程的延遲,這些延遲用于補(bǔ)償時(shí)鐘脈沖分配網(wǎng)絡(luò)的各個(gè)緩沖器的執(zhí)行時(shí)間變化。緩沖器的驅(qū)動(dòng)功率和相關(guān)延遲時(shí)間很大程度上取決于工作參數(shù)例如供給電壓和環(huán)境溫度。此外,例如由于電遷移,線路的阻抗會(huì)改變,這會(huì)導(dǎo)致該路徑的執(zhí)行時(shí)間特性改變。由于高頻率(GH范圍),集膚效應(yīng)(電流僅僅在導(dǎo)體的表面流動(dòng))也變成了嚴(yán)重的問(wèn)題[Chen02].集膚效應(yīng)導(dǎo)致線路阻抗,并且因此執(zhí)行時(shí)間特征隨著時(shí)鐘頻率變化。上面所說(shuō)明的參數(shù)的不準(zhǔn)確度使得必需為時(shí)鐘偏差而規(guī)劃安全的大裕度,這導(dǎo)致實(shí)質(zhì)地減小VLSI芯片的最大可允許的時(shí)鐘頻率。此外,很多時(shí)鐘緩沖器的同步開(kāi)關(guān)生成功率供應(yīng)中相當(dāng)大的干擾信號(hào)、串?dāng)_和窄帶電磁干擾輻射,由于時(shí)鐘樹(shù)的天線效應(yīng),該干擾輻射會(huì)是相當(dāng)大的。2.3時(shí)鐘同步在時(shí)鐘同步的情況下,在由節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)中,全系統(tǒng)的共同的時(shí)間概念以同步的時(shí)鐘(計(jì)時(shí)器)的形式引入。在此,可以區(qū)分基于硬件和基于軟件的方法,在此硬件實(shí)現(xiàn)通常由于減小的協(xié)議開(kāi)銷和執(zhí)行時(shí)間中相關(guān)的低變化而導(dǎo)致更高的同步準(zhǔn)確度[Ram90]。通常,必須存在n>3f個(gè)節(jié)點(diǎn)可用,以便能夠容忍f個(gè)拜占庭錯(cuò)誤(byzantinefaulty)的節(jié)點(diǎn)[DHS86]。時(shí)鐘同步的基本原理每個(gè)節(jié)點(diǎn)都具有本地時(shí)鐘脈沖發(fā)生器,本地時(shí)鐘發(fā)生器增加計(jì)數(shù)器,此外所有節(jié)點(diǎn)都本地地執(zhí)行同一個(gè)算法。對(duì)于該算法的相關(guān)的時(shí)間信息借助單個(gè)節(jié)點(diǎn)之間的消息來(lái)交換。在指定的間隔(再同步間隔)的末端處,接收由這些消息所計(jì)算的修正函數(shù),并且本地計(jì)數(shù)器讀數(shù)被應(yīng)用于本地時(shí)鐘并且開(kāi)始新一輪的算法。時(shí)鐘同步算法根據(jù)它們的修正函數(shù)可以分成三組●基于收斂的算法●基于一致性的算法●概率統(tǒng)計(jì)的算法在基于收斂的算法中,在再同步期間發(fā)送一次單個(gè)消息給所有其它節(jié)點(diǎn)。在一個(gè)再同步期間中收到足夠數(shù)量的其它節(jié)點(diǎn)的消息之后,收斂函數(shù)(例如,容錯(cuò)的平均值[LL88])被施加到這些時(shí)間相關(guān)的消息中。因此,根據(jù)收斂函數(shù)的結(jié)果來(lái)調(diào)節(jié)本地時(shí)鐘?;谝恢滦缘乃惴ɑ谶@樣的考慮,即所有零誤差的節(jié)點(diǎn)都具有對(duì)整個(gè)系統(tǒng)的一致視圖[Lamport85]。這意味著所有零誤差節(jié)點(diǎn)對(duì)一個(gè)發(fā)射器的時(shí)鐘的同一個(gè)值是一致的,而不管發(fā)射器是否有(拜占庭)誤差。如果發(fā)射器是正確的,則這也為由該發(fā)射器發(fā)送的值。以相似于基于收斂的算法的方式,甚至在此每個(gè)節(jié)點(diǎn)在每個(gè)再同步間隔發(fā)送一次其時(shí)鐘的當(dāng)前值。時(shí)間相關(guān)的消息被節(jié)點(diǎn)轉(zhuǎn)發(fā)(轉(zhuǎn)播),由此,對(duì)所有節(jié)點(diǎn)存在對(duì)系統(tǒng)相同的視圖。為了確定節(jié)點(diǎn)的相應(yīng)當(dāng)前時(shí)鐘時(shí)間(在傳輸時(shí)刻),由從所有其它節(jié)點(diǎn)接收的相關(guān)值計(jì)算出中值。然后,從事先所獲得的所有節(jié)點(diǎn)的一致的時(shí)鐘值的中值獲得節(jié)點(diǎn)的新的本地時(shí)鐘。概率統(tǒng)計(jì)的時(shí)鐘同步算法通常進(jìn)行兩個(gè)步驟數(shù)據(jù)采集和執(zhí)行統(tǒng)計(jì)檢驗(yàn),以確定新的本地時(shí)鐘值[Lu89]。一般地,要注意的是,在文獻(xiàn)中所提出的算法中必須滿足一些假設(shè)以便保證它們的功能[Ram90]。在基于收斂的算法中必須能夠?qū)⑾⑽ㄒ坏胤峙浣o發(fā)送器,而這可以借助完全聯(lián)網(wǎng)的結(jié)構(gòu)或者通過(guò)利用簽名來(lái)實(shí)現(xiàn)。此外,必須有對(duì)消息傳輸時(shí)間的上限,并且可達(dá)到的精確度也通過(guò)該限制而決定性地確定[LL84]。時(shí)鐘必須在開(kāi)始時(shí)刻同步,即它們相互的偏差必須在指定的限度內(nèi)。基于收斂的算法已經(jīng)以軟件[SIFT78]、硬件[Miner92]和混合形式(軟件/硬件的組合)[SynUTC02]實(shí)現(xiàn)。在基于一致性的算法的情況下也必須能夠?qū)⑾⑽ㄒ坏胤峙浣o發(fā)送器;此外,必須進(jìn)行多輪的信息交換,使得在每個(gè)零誤差節(jié)點(diǎn)中實(shí)現(xiàn)相同的系統(tǒng)全局圖,這導(dǎo)致了在消息方面很高的開(kāi)銷。在此,對(duì)于消息傳輸時(shí)間的上限必須為已知,以便保證所要求的算法精確度。在有足夠的數(shù)據(jù)可供實(shí)施統(tǒng)計(jì)檢驗(yàn)之前,概率統(tǒng)計(jì)的算法要求很多輪的消息交換,并且接著也僅能以小于1的概率保證同步的實(shí)現(xiàn)。此外,由于對(duì)實(shí)現(xiàn)統(tǒng)計(jì)檢驗(yàn)和所要求的數(shù)據(jù)的存儲(chǔ)的硬件成本是極高的,所以有意義的是概率統(tǒng)計(jì)的方法僅可使用在軟件解決方案中。利用時(shí)鐘同步可實(shí)現(xiàn)的精確度通常在小于幾μs到100ns的量級(jí)[KKMS95][SynUTC02]。2.4容錯(cuò)時(shí)鐘脈沖容錯(cuò)時(shí)鐘脈沖理解為這樣的時(shí)鐘脈沖信號(hào),其在多個(gè)節(jié)點(diǎn)上可用,并且利用預(yù)定的限制(精確度)來(lái)同步,并且可以容忍限定數(shù)量的錯(cuò)誤的時(shí)鐘脈沖源,而不會(huì)失去同步性。在文獻(xiàn)[VanAlen91][Choi90][Vasan98]中給出的用于生成容錯(cuò)時(shí)鐘脈沖的主要方法考慮n個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)帶有一個(gè)本地時(shí)鐘脈沖發(fā)生器,其中n>3f并且f表示系統(tǒng)所容忍的拜占庭誤差的數(shù)量。每個(gè)節(jié)點(diǎn)都通過(guò)點(diǎn)對(duì)點(diǎn)連接與每個(gè)另外的節(jié)點(diǎn)相互交換時(shí)鐘信號(hào)(如果其自己的時(shí)鐘脈沖也反饋給它自己則有n2條引線)。全局交換的時(shí)鐘信號(hào)表示所謂macroticks,macroticks表示全系統(tǒng)的同步的時(shí)鐘脈沖。相反,被分成microticks的高頻率時(shí)鐘脈沖用在單個(gè)節(jié)點(diǎn)中,以便保證全局時(shí)鐘脈沖信號(hào)的時(shí)間排序。借助在每個(gè)節(jié)點(diǎn)中的選擇功能(表決器)從所有被接收的macroticks(包括其本身)中獲得參考時(shí)鐘脈沖。如果需要,則本地時(shí)鐘脈沖利用模擬或者數(shù)字PLL(鎖相環(huán))使本地時(shí)鐘脈沖與所選擇的參考時(shí)鐘脈沖對(duì)齊。還使用在[Vasan98]和[VanAlen91]的實(shí)施形式中的、廣泛被接受的假設(shè)是,在任何零誤差節(jié)點(diǎn)之間的信號(hào)執(zhí)行時(shí)間近似相等,使得零誤差節(jié)點(diǎn)的表決器(一致地)以相同的順序感測(cè)零誤差節(jié)點(diǎn)的所有時(shí)鐘脈沖信號(hào)。然而在實(shí)際的情況下,如已在關(guān)于時(shí)鐘脈沖分配的那一節(jié)中解釋的那樣,由于時(shí)鐘偏差和信號(hào)執(zhí)行時(shí)間的問(wèn)題變得日益突出,所以不可能維持該假設(shè)。用于補(bǔ)償不同的執(zhí)行時(shí)間的方法已經(jīng)由[Shin88]示出,但是這要求2n個(gè)相位檢測(cè)器和2n2個(gè)引線,這進(jìn)一步增加了硬件成本和對(duì)誤差的敏感性。由于單個(gè)時(shí)鐘脈沖邊緣的相移,不僅會(huì)出現(xiàn)表決器中的不一致,而且由于在相應(yīng)的輸入觸發(fā)器的設(shè)置和保持時(shí)間中也會(huì)出現(xiàn)信號(hào)變化,所以在單個(gè)節(jié)點(diǎn)的表決器輸入處還會(huì)存在后穩(wěn)定問(wèn)題。當(dāng)然,利用特殊的輸入緩沖電路可以減小后穩(wěn)定性問(wèn)題的概率,但不能完全地排除,這并不表示概念上一流的解決方案。如果PLL的輸入信號(hào)顯示出與參考信號(hào)很大的偏差,則PLL不能成功地調(diào)節(jié)信號(hào),這會(huì)導(dǎo)致永久地失去同步。2.5GALS系統(tǒng)如1節(jié)中所解釋的那樣,如果不再可能建立整個(gè)芯片上的同步性,則至少可以嘗試將空間上所劃分的區(qū)域(例如SOC(片上系統(tǒng),一種由在一個(gè)芯片上的多個(gè)復(fù)雜功能單元構(gòu)成的整個(gè)系統(tǒng))中的功能單元)保持相互同步。因此,這些同步的“島”之間的通信可以借助異步技術(shù)來(lái)實(shí)現(xiàn)。該方法公知為縮寫字GALS(全局異步本地同步)[Chapiro84]。雖然GALS技術(shù)在功能單元內(nèi)使得能夠連續(xù)且不變地使用已證明的同步設(shè)計(jì)方法,但是基本問(wèn)題正是出現(xiàn)在到異步通信單元的接口處。為了防止在異步/同步接口處出現(xiàn)后穩(wěn)定而必須使用同步電路。這些同步裝置大部分基于可停頓/可擴(kuò)展(strechable)的時(shí)鐘,并且在異步/同步接口處導(dǎo)致實(shí)質(zhì)上的延遲時(shí)間[Chelcea00]。GALS方法中的另一嚴(yán)重的問(wèn)題是,本地時(shí)鐘脈沖完全不同步地工作,并且因此會(huì)隨機(jī)地相互遠(yuǎn)離漂移。因此,不采取任何附加措施就不可能建立所交換的信息的暫時(shí)的排序。由此,雖然實(shí)際上可以使用GALS方法,但是以其當(dāng)前的形式不能稱為概念上是很好的或者技術(shù)上也不完美。2.6異步邏輯更必然的程序是在芯片上完全異步實(shí)現(xiàn)整個(gè)邏輯電路的步驟。這不能簡(jiǎn)單地通過(guò)忽略時(shí)鐘脈沖來(lái)進(jìn)行,而是需要更加細(xì)致且系統(tǒng)的程序。有關(guān)該主題的理論論文已公開(kāi)很多年(參看例如[Huffman54])。有爭(zhēng)議的是,數(shù)字邏輯的這種異步實(shí)現(xiàn)在概念上提供少許顯著的優(yōu)點(diǎn)(減小功耗、改進(jìn)的模塊性等)[Myers01][Hauck95][Berkel99]。然而,在它們目前關(guān)于價(jià)格、性能和效率的成熟度方面,迄今為止對(duì)于該概念的實(shí)際實(shí)施所建議的方法僅在受限的邊緣區(qū)域中是對(duì)同步設(shè)計(jì)范例的實(shí)際替換方案[Steininger04]。除此之外,同步設(shè)計(jì)在工具、現(xiàn)有模塊以及最終甚至在開(kāi)發(fā)者的培訓(xùn)中已建立到這樣的程度,使得只要它一般地說(shuō)還能夠成功,則轉(zhuǎn)換到全新的異步設(shè)計(jì)世界中無(wú)論如何也將是令人猶豫不決并且一步一步地進(jìn)行。2.7虛擬異步系統(tǒng)在[Fai04]中所建議的用于分布式時(shí)鐘生成的方法可看作同步和異步世界之間的一種跨越。代替將集中的振蕩器的時(shí)鐘脈沖反饋給VLSI芯片上的單個(gè)功能單元,而將每個(gè)功能單元分配給特殊的時(shí)鐘脈沖單元,特殊的脈沖單元本地地生成它們的時(shí)鐘脈沖。但是這并非利用專用的本地振蕩器來(lái)實(shí)現(xiàn),而是通過(guò)將由MOSFET構(gòu)成的時(shí)鐘脈沖單元設(shè)置成二維點(diǎn)陣來(lái)實(shí)現(xiàn)。每個(gè)時(shí)鐘脈沖單元都借助專用的時(shí)鐘脈沖線與4個(gè)相鄰的時(shí)鐘脈沖單元(上、下、左、右)相連。當(dāng)時(shí)鐘脈沖單元處于相同的狀態(tài)時(shí),時(shí)鐘脈沖單元的邏輯導(dǎo)致時(shí)鐘線的狀態(tài)改變,使得點(diǎn)陣結(jié)構(gòu)實(shí)現(xiàn)了分布式環(huán)形振蕩器的作用。然而,從分布式算法的理論中公知的是,對(duì)于每個(gè)應(yīng)該對(duì)每對(duì)時(shí)鐘脈沖信號(hào)保證恒定的同步準(zhǔn)確度的時(shí)間同步方法,(近似)全連接是必需的。如果也應(yīng)保證全局同步性,則每對(duì)時(shí)鐘脈沖信號(hào)又將是絕對(duì)必要的。然而,這利用在[Fai04]中所描述的方法不能達(dá)到,因?yàn)槭聦?shí)上不可能實(shí)現(xiàn)所有時(shí)鐘脈沖單元完全點(diǎn)對(duì)點(diǎn)的連接實(shí)際上,將需要6個(gè)時(shí)鐘線路的3D點(diǎn)陣結(jié)構(gòu)的時(shí)鐘脈沖單元的構(gòu)造一般化看來(lái)已經(jīng)是困難的。用該方法不能實(shí)現(xiàn)在完全連接的情況下所需的n-1個(gè)時(shí)鐘脈沖線的處理。除此之外,[Fai04]中所描述的時(shí)鐘脈沖生成是非容錯(cuò)的在其中一個(gè)時(shí)鐘線上的單個(gè)瞬時(shí)錯(cuò)誤會(huì)導(dǎo)致整個(gè)時(shí)鐘故障和/或本地超頻(overclocking)。由于粒子撞擊(particlehits)、電源波動(dòng)和雜散干擾導(dǎo)致了現(xiàn)代VLSI芯片中的瞬時(shí)錯(cuò)誤的概率增加,所以這是不可接受的。最后,在[Fai04]中所描述的分布式時(shí)鐘脈沖發(fā)生器的實(shí)現(xiàn)直接基于工藝相關(guān)的晶體管水平,而在此所提出的概念圍繞工藝不相關(guān)的門水平。總之,因而在[Fai04]中所給出的方法不適合TS-Net(特別是全連接的TS-Alg),是依賴于工藝的、非容錯(cuò)的,特別是不提供任何不變的且受限的同步準(zhǔn)確度,而沒(méi)有這些就不能實(shí)現(xiàn)功能單元之間的同步全局通信。3.解決方案的原理首先,在此對(duì)本發(fā)明所涉及的內(nèi)容進(jìn)行簡(jiǎn)短總結(jié),即本發(fā)明涉及一種用于在硬件系統(tǒng)特別是VLSI芯片、片上系統(tǒng)、IP核、PCB和PCB系統(tǒng)中的分布式容錯(cuò)時(shí)鐘脈沖生成的方法,其特征在于●通過(guò)多個(gè)相互通信的容錯(cuò)時(shí)鐘脈沖同步算法(TS-Alg)分布式地生成系統(tǒng)時(shí)鐘脈沖,而不用外部或者內(nèi)部時(shí)鐘振蕩器,其中i.任意數(shù)量的這種TS-Alg通過(guò)任意的、遭受永久和瞬時(shí)錯(cuò)誤的時(shí)鐘脈沖信號(hào)的網(wǎng)絡(luò)(TS-Net)而相互交換信息,ii.將每個(gè)TS-Alg分配給一個(gè)或者多個(gè)功能單元(Fu1,F(xiàn)u2,...),它們的本地時(shí)鐘脈沖通過(guò)TS-Alg生成,●所有本地時(shí)鐘脈沖被確保維持頻率同步,在這個(gè)意義上,在給定的時(shí)段內(nèi)任意兩個(gè)本地時(shí)鐘脈沖信號(hào)最大相差指定的不變數(shù)目的時(shí)鐘周期,使得可生成全局系統(tǒng)時(shí)鐘脈沖,全局系統(tǒng)時(shí)鐘脈沖使得能夠在芯片上的任意數(shù)量的功能單元之間進(jìn)行全局同步通信。其中全局系統(tǒng)時(shí)鐘脈沖可借助合適的時(shí)鐘脈沖轉(zhuǎn)換電路(除法器等等)從任何本地時(shí)鐘脈沖中得到?!裉囟〝?shù)量的瞬時(shí)和/或永久錯(cuò)誤允許出現(xiàn)在TS-Alg或者TS-Net中,而不會(huì)影響時(shí)鐘脈沖生成和/或同步準(zhǔn)確度,●系統(tǒng)時(shí)鐘脈沖自動(dòng)地達(dá)到最大可能的頻率,最大可能的頻率由所使用的制造工藝、TS-Alg和TS-Net的布局和布線以及當(dāng)前工作條件(溫度,電源電壓等等)來(lái)確定。利用該方法,全局系統(tǒng)時(shí)鐘脈沖的可用性僅僅取決于芯片上信號(hào)路徑的最大與最小的端到端的信號(hào)延遲的比率,而并非取決于其最大值。有利的是,已活動(dòng)的本地時(shí)鐘脈沖和由此導(dǎo)出的全局系統(tǒng)時(shí)鐘脈沖的同步準(zhǔn)確度也在硬件的上電期間得到保證。有利的是,利用異步邏輯例如彈性管道、Muller-C門等等來(lái)實(shí)現(xiàn)。此外,有利的是,全局系統(tǒng)時(shí)鐘脈沖的穩(wěn)定性利用TS-Alg中的可變的延遲元件或者特有的時(shí)鐘脈沖轉(zhuǎn)換電路來(lái)增強(qiáng),其中當(dāng)前延遲時(shí)間和/或時(shí)鐘脈沖修正值靜態(tài)地在制造時(shí)獲得,和/或在執(zhí)行時(shí)可針對(duì)芯片的相應(yīng)應(yīng)用來(lái)配置,和/或根據(jù)對(duì)工作參數(shù)(溫度和/或電源電壓等等)的一次或者連續(xù)測(cè)量而自動(dòng)地獲得。本發(fā)明還包括一種用于硬件系統(tǒng)(例如芯片)的各種功能單元之間的全局?jǐn)?shù)據(jù)傳輸?shù)姆椒?,利用該方法,借助根?jù)上面所描述的程序生成的時(shí)鐘脈沖的分頻,提供了全局上足夠同步的macrotick可用,使得無(wú)后穩(wěn)定性問(wèn)題的數(shù)據(jù)傳輸是可能的。本發(fā)明還包括一種用于VLSI芯片的同步復(fù)位方法,其特征在于所描述的用于時(shí)鐘脈沖生成的方法也在復(fù)位階段保證了本地脈沖的全局同步,并且因此可以用于識(shí)別所有功能單元的確切起動(dòng)時(shí)刻。此外,本發(fā)明還涉及一種用于實(shí)施這種方法的硬件系統(tǒng)?;诘诙?jié)中的考慮,如果可以借助在同步島之間的異步通信而找到對(duì)這些問(wèn)題的在概念上很好的解決方案,則準(zhǔn)異步的或者GALS方法將是非常有吸引力的。因此,此外應(yīng)假設(shè)一個(gè)結(jié)構(gòu)包括一個(gè)芯片上的本地同步功能單元(模塊),這些單元(模塊)沒(méi)有相互相位同步,而是相互頻率同步。在此,上下文中的頻率同步涉及兩個(gè)或者多個(gè)時(shí)鐘脈沖信號(hào)的頻率的匹配。在此,與相位同步相反,所涉及的時(shí)期更長(zhǎng)。絕對(duì)可允許的是,在此期間,時(shí)鐘脈沖之間出現(xiàn)了實(shí)質(zhì)的相移;然而,決定性的是每個(gè)觀察的時(shí)段中相位變化的數(shù)量可以差至多一個(gè)常數(shù)。(由此,也導(dǎo)致,當(dāng)觀察無(wú)限的(即足夠大的)時(shí)間間隔時(shí),所有時(shí)鐘信號(hào)將具有相同數(shù)量的時(shí)鐘脈沖)。如果要將一個(gè)計(jì)數(shù)器連接到時(shí)鐘脈沖信號(hào),則在任意長(zhǎng)的時(shí)間間隔上,在計(jì)數(shù)器值之間的最大偏差將是同步質(zhì)量的標(biāo)尺。結(jié)合時(shí)鐘同步,該特征也稱作精確度。不同于時(shí)鐘同步,在所提出的頻率同步的情況下,持續(xù)保證頻率的均等性(parity),而不引入或者抑制本地脈沖(“速率修正(ratecorrection)”)和/或?qū)r(shí)間做出不規(guī)律修正(“狀態(tài)修正(statecorrection)”)。通常,在時(shí)鐘同步的情況中的約束是完全不同(大的距離、速度變化且每個(gè)都具有本地時(shí)鐘脈沖的節(jié)點(diǎn)等等)于在芯片水平所考慮的主題的約束,并且因此甚至解決方案和質(zhì)量基準(zhǔn)都不能用在這里。因此在2.1節(jié)中所給出的定義的上下文中,頻率同步表示相位同步與時(shí)間同步之間的跨越。在考慮到時(shí)間相關(guān)的偏差時(shí),這也是明顯的。在相位同步的情況下,所觀察的時(shí)鐘脈沖信號(hào)之間的偏移絕不允許大于時(shí)鐘脈沖周期的1/2,在時(shí)間同步中(由于上面所提及的完全不同的假設(shè))1μs的同步準(zhǔn)確度已經(jīng)視為非常好(參看2.3節(jié))-在1GHz時(shí)這相應(yīng)于1000個(gè)時(shí)鐘脈沖周期。由于相位同步不再可能在整個(gè)系統(tǒng)上實(shí)現(xiàn),所以具有可允許的幾個(gè)時(shí)鐘脈沖周期的偏差的頻率同步代表了合理的“最好成果”。因此,不同于GALS方法,同步島的本地時(shí)鐘脈沖現(xiàn)在不再是不相關(guān)的,而是在頻率方面同步。對(duì)此所要求的同步借助對(duì)所有模塊所共有的分布式算法通過(guò)設(shè)立全局時(shí)間參考來(lái)實(shí)現(xiàn)(參看第4節(jié))。VLSI芯片的每個(gè)模塊或者足夠數(shù)量的模塊(=一個(gè)或者多個(gè)物理上相鄰的功能單元)應(yīng)該增加一個(gè)用于此目的的非常簡(jiǎn)單的功能單元,該功能單元的唯一任務(wù)是執(zhí)行該分布式算法并且因此一方面有助于設(shè)立全局時(shí)間參考,而另一方面有助于得到該模塊的本地時(shí)鐘脈沖。由于通常的算法基于在所有節(jié)點(diǎn)上的功能的復(fù)制,所以可以以相同的方式在所有模塊上實(shí)現(xiàn)該功能單元。重要的目的是利用異步邏輯實(shí)現(xiàn)功能單元,以便在概念階段已經(jīng)消除后穩(wěn)定性的問(wèn)題。單純從實(shí)際觀點(diǎn)出發(fā),這也是必需的,因?yàn)閷?duì)算法的同步實(shí)現(xiàn)所要求的時(shí)鐘脈沖應(yīng)該首先由算法本身生成。文獻(xiàn)中所建議的方法(相位同步和時(shí)間同步)假設(shè)存在多個(gè)時(shí)鐘脈沖源,并且該方法的任務(wù)實(shí)質(zhì)上包括在由這些源所提供的時(shí)鐘脈沖信號(hào)之間建立合適的同步。在此所提出的方法采用完全不同的途徑,該途徑已經(jīng)在[Fai04]中被開(kāi)辟出來(lái)在此不存在本地時(shí)鐘發(fā)生器,而是僅僅存在一個(gè)單個(gè)的共同虛擬時(shí)鐘脈沖信號(hào)的本地實(shí)例,該時(shí)鐘脈沖信號(hào)通過(guò)分布式算法生成。因此,原則上,不存在不同信號(hào)彼此分歧的可能性,并且相移僅來(lái)自于算法執(zhí)行或者處理時(shí)間。因此,在這種情況下該方法的目的在于依照相應(yīng)的規(guī)則生成時(shí)鐘脈沖。與[Fai04]截然不同,其實(shí)現(xiàn)不允許不變的同步準(zhǔn)確度,利用在以下節(jié)中提出的分布式算法可以極好地且相對(duì)容易地設(shè)立容錯(cuò)和所保證的最大相移(=同步準(zhǔn)確度)。以這種方式所生成的本地時(shí)鐘脈沖在由本地時(shí)鐘脈沖所服務(wù)的模塊上借助簡(jiǎn)單的時(shí)鐘樹(shù)來(lái)分配,這因此是非臨界的,因?yàn)榻o定模塊的功能單元空間上相鄰。借助將本地時(shí)鐘脈沖(microtick)合適地映射在低頻全局時(shí)鐘脈沖(macrotick)上,可最終為所有模塊[Kopetz97]得到一致的同步時(shí)基。這是可能的,因?yàn)槿我鈨蓚€(gè)本地時(shí)鐘脈沖信號(hào)之間的相移并沒(méi)有超過(guò)特定的最大值。因此,利用所建議的方法,具有同步/異步接口的GALS架構(gòu)的公知問(wèn)題可以在概念上容易地克服。用于生成全局時(shí)鐘脈沖的算法依照異步邏輯的原理來(lái)實(shí)現(xiàn)。當(dāng)然,這是昂貴且麻煩的,但是完全避免了后穩(wěn)定性。只要不涉及全局通訊,可照常基于本地時(shí)鐘脈沖同步地設(shè)計(jì)本地功能單元。然而由于存在全局時(shí)鐘脈沖,所以甚至全局?jǐn)?shù)據(jù)通信也可利用習(xí)慣的同步設(shè)計(jì)來(lái)實(shí)現(xiàn)。在此,伴隨后穩(wěn)定性的可能的問(wèn)題也可以利用合適地選擇macrotick來(lái)完全消除。總之,所追求的解決方案提供了以下顯著好處●電路生成其自己的時(shí)鐘脈沖,并且因此借助全系統(tǒng)保證的、由常數(shù)限制的同步準(zhǔn)確度省去了本地時(shí)鐘脈沖源(振蕩器、石英晶體)●在所有時(shí)刻芯片以最大可能時(shí)鐘頻率工作●通過(guò)非臨界的點(diǎn)對(duì)點(diǎn)連接代替復(fù)雜的、耗能的全局時(shí)鐘樹(shù)●在給定的物理邊界條件下,在維持同步提取和有效同步性方面的最佳折衷●時(shí)鐘信號(hào)的更好容錯(cuò)性和永久誤差工作原理的可能的實(shí)施在以下章節(jié)中詳細(xì)表述。4.所使用的基本算法4.1基本原理起點(diǎn)是在消息層面[Srikanth87]現(xiàn)有的基于收斂的算法(參看第2.3節(jié))。該算法假設(shè)分布式系統(tǒng)由n個(gè)計(jì)算機(jī)節(jié)點(diǎn)構(gòu)成,所有節(jié)點(diǎn)可以借助消息利用點(diǎn)對(duì)點(diǎn)的連接彼此通信(完全聯(lián)網(wǎng)的結(jié)構(gòu),參看圖1)。因此,每個(gè)節(jié)點(diǎn)具有n個(gè)輸入和n個(gè)輸出(來(lái)自/到其它n-1個(gè)節(jié)點(diǎn)的每一個(gè)加上一個(gè)回送到其本身)。在最廣的意義上,基于循環(huán)(round)來(lái)進(jìn)行通信,并且在無(wú)錯(cuò)誤的條件下,每個(gè)節(jié)點(diǎn)在每個(gè)循環(huán)中同時(shí)給所有n個(gè)輸出發(fā)送至少一個(gè)同步消息(關(guān)于其它特定應(yīng)用的消息在此未做假設(shè))。共同的時(shí)基借助分布式協(xié)定基于這些同步消息來(lái)建立。如果n>3f,則直到f個(gè)錯(cuò)誤節(jié)點(diǎn)的情況下(即每節(jié)點(diǎn)每循環(huán)可以容忍直到f個(gè)錯(cuò)誤或者丟失的消息),該協(xié)定都正確地起作用。因此,在系統(tǒng)設(shè)計(jì)的時(shí)候可以考慮估計(jì)有哪些數(shù)量f的錯(cuò)誤。當(dāng)使用在[WS03]和[Widder03]中所提出的混合錯(cuò)誤模型時(shí),實(shí)際上可以選擇容錯(cuò)以更準(zhǔn)確地匹配要求。算法以增序編號(hào)的循環(huán)序列的形式傳送時(shí)基,每個(gè)循環(huán)相應(yīng)于一個(gè)時(shí)鐘脈沖步。從一個(gè)循環(huán)到下一個(gè)循環(huán)的過(guò)渡根據(jù)該協(xié)定以這種方式來(lái)確定,使得在任何時(shí)刻網(wǎng)絡(luò)中都保證了所有(無(wú)錯(cuò)誤的)節(jié)點(diǎn)的最小同步程度。特別是,對(duì)無(wú)錯(cuò)誤的節(jié)點(diǎn)可保證如下如果在給定時(shí)刻一個(gè)節(jié)點(diǎn)在循環(huán)k中,則在相同時(shí)刻所有其它節(jié)點(diǎn)在循環(huán)i中,其中|i-k|<Θ+2。在該關(guān)系中,品質(zhì)參數(shù)(qualityparameter)Θ由系統(tǒng)中消息的最大與最小執(zhí)行時(shí)間的比率確定。時(shí)基(首先)相對(duì)于外部(絕對(duì))參考是不同步的,而是僅僅在系統(tǒng)內(nèi)(保證了精確度,但是不能保證準(zhǔn)確度)。以相同方式在所有節(jié)點(diǎn)上執(zhí)行該算法,其中消息的交換導(dǎo)致本地拷貝之間所希望的交互,這最終導(dǎo)致連續(xù)且自主地執(zhí)行該算法。動(dòng)態(tài)性能由該算法的本地處理時(shí)間和在線路上的相應(yīng)的執(zhí)行時(shí)間確定。原始算法在[Srikanth87]中給出,并且這里在下面考慮簡(jiǎn)化的版本,它看來(lái)更適合映射到硬件上。首先以初始化步驟(R)開(kāi)始執(zhí)行并且接著主要基于兩個(gè)規(guī)則(1)和(2)(R)“復(fù)位”onresetsend(msg[1]){once}local_tick:=1于是,每個(gè)節(jié)點(diǎn)首先設(shè)置其本地計(jì)數(shù)器為值1并且發(fā)送相應(yīng)消息給所有節(jié)點(diǎn)以便開(kāi)始執(zhí)行算法。(1)“延遲”whenreceived(msg[k])fromf+1thensend(msg[k]){once}如果一個(gè)節(jié)點(diǎn)從至少f+1個(gè)其它節(jié)點(diǎn)(即從至少一個(gè)無(wú)錯(cuò)誤的節(jié)點(diǎn))接收消息“k”,則其本身將消息“k”發(fā)送給所有節(jié)點(diǎn),包括發(fā)送給其本身。由于如上所提及的那樣,相同的算法同時(shí)在所有其它節(jié)點(diǎn)上運(yùn)行,所以關(guān)于這些在循環(huán)k+1的時(shí)期中已準(zhǔn)備好的節(jié)點(diǎn)出現(xiàn)可謂全局“一致圖像”。該規(guī)則可以獨(dú)立于相應(yīng)的節(jié)點(diǎn)所處其中的循環(huán)(local_tick)使用,只要k>local_tick?!霸黾印眞henreceived(msg[k])from2f+1thensend(msg[k+1]){once}local_tick:=k+1如果節(jié)點(diǎn)p從至少2f+1個(gè)節(jié)點(diǎn)(包括本身)接收消息“k”,則顯然在循環(huán)k中有合格的多數(shù)節(jié)點(diǎn)已準(zhǔn)備進(jìn)入循環(huán)k+1中。更準(zhǔn)確地說(shuō),甚至在最壞情況下(f個(gè)有錯(cuò)誤的節(jié)點(diǎn)),在2f+1個(gè)節(jié)點(diǎn)中仍然有至少f+1個(gè)正確的節(jié)點(diǎn)已經(jīng)發(fā)送了消息“k”。因此,對(duì)于所有無(wú)錯(cuò)誤的節(jié)點(diǎn)必須激發(fā)規(guī)則(1),使得可以期待“k”消息流,并如根據(jù)規(guī)則(2)那樣,強(qiáng)制地使所有無(wú)錯(cuò)誤的節(jié)點(diǎn)過(guò)渡到狀態(tài)k+1。因此,節(jié)點(diǎn)p使本地循環(huán)計(jì)數(shù)器增加一個(gè)時(shí)鐘步并且發(fā)送相應(yīng)消息“k+1”。此外,僅當(dāng)相關(guān)節(jié)點(diǎn)本身在循環(huán)k中時(shí)才使用該規(guī)則。因此,同步消息k由節(jié)點(diǎn)p到達(dá)節(jié)點(diǎn)q對(duì)應(yīng)于通知節(jié)點(diǎn)q,節(jié)點(diǎn)p主張已經(jīng)完全有理由過(guò)渡到循環(huán)k+1,即將全局時(shí)鐘步加一。(在此應(yīng)注意到這并非一定意味著節(jié)點(diǎn)p已經(jīng)在循環(huán)k中,或者其本身將馬上過(guò)渡到循環(huán)k+1)。必須注意到,一個(gè)節(jié)點(diǎn)必須僅發(fā)送一次給定的消息(即例如“k”)。無(wú)論隨后兩個(gè)規(guī)則中的哪一個(gè)“激發(fā)”,都不再需要發(fā)送消息,即相同消息的復(fù)制品被接收器拒絕。此外,決定性的因素是,消息的發(fā)送器可以無(wú)疑地被識(shí)別(因此,需要點(diǎn)對(duì)點(diǎn)的連接)。否則,錯(cuò)誤節(jié)點(diǎn)會(huì)采用其它節(jié)點(diǎn)的身份并且以它們的名義發(fā)送消息。此外,令人感興趣的是注意到,僅當(dāng)至少f+1個(gè)其它節(jié)點(diǎn)的local_tick在p的local_tick之前時(shí),規(guī)則(1)才先于規(guī)則(2)被用于節(jié)點(diǎn)p。在這種情況下,雖然節(jié)點(diǎn)p保持其不利條件,但是通過(guò)發(fā)送相應(yīng)消息有助于更快的節(jié)點(diǎn)的主張形成。4.2引導(dǎo)復(fù)位之后,必須保證所有節(jié)點(diǎn)已準(zhǔn)備接收。此后,如已描述的那樣,每個(gè)節(jié)點(diǎn)發(fā)出消息“1”,以正確地初始化算法。隨后,開(kāi)始使用規(guī)則(1)和(2)。落后者(即非常遲才完成它們的初始化的節(jié)點(diǎn))可以借助所謂追趕規(guī)則(catch-uprule)來(lái)立即跟緊當(dāng)前的狀態(tài)。在[Widder03]中可以找到起動(dòng)過(guò)程的細(xì)節(jié)。4.3特征這些算法的最重要的特征是●根據(jù)該算法,以分布式方式生成“循環(huán)”(=microticks)形式的全局時(shí)鐘脈沖,該全局時(shí)鐘脈沖在所有參加的(沒(méi)有錯(cuò)誤的)節(jié)點(diǎn)上保證了預(yù)定的同步程度?!裨撍惴ㄊ菚r(shí)間無(wú)關(guān)的,并且關(guān)于消息執(zhí)行時(shí)間(和/或關(guān)于對(duì)所接收的消息的響應(yīng)時(shí)間)絲毫無(wú)需任何限制?!駜H僅消息的最大與最小執(zhí)行時(shí)間(包括處理時(shí)間)的商Θ確定可實(shí)現(xiàn)的同步準(zhǔn)確度。應(yīng)注意到,絕對(duì)執(zhí)行時(shí)間對(duì)精確度是不重要的(但是,如果希望外部同步,則對(duì)準(zhǔn)確度是重要的)[Widder04]。●根據(jù)算法所建立的時(shí)基允許具有π(Θ)microticks的粒度的消息暫時(shí)排序?!衿浜瘮?shù)和精確度可以在形式上被證明[Widder03]?!裨谥付ǖ臈l件下,算法的正確開(kāi)始可以在形式上被證明[Widder03]?!窨赏瑫r(shí)容忍多達(dá)f個(gè)(甚至拜占庭的)錯(cuò)誤。可以簡(jiǎn)單地通過(guò)節(jié)點(diǎn)的數(shù)目衡量容錯(cuò)性。5.用于片上時(shí)鐘脈沖生成所描述的算法最初是構(gòu)思用于在分布式系統(tǒng)中的計(jì)算機(jī)節(jié)點(diǎn)的同步。現(xiàn)在,我們的方法在于,使用該算法以便為例如在VLSI芯片或者片上系統(tǒng)上的一個(gè)或者更多硬件功能單元(HW-FU)提供同步頻率時(shí)鐘脈沖,而盡可能不必對(duì)單個(gè)執(zhí)行時(shí)間做出任何假設(shè)。這克服了以下重要問(wèn)題5.1同步準(zhǔn)確度利用在軟件中執(zhí)行的同步算法,1μs量級(jí)的精確度視為極好。在硬件中,通常的時(shí)鐘脈沖率是多個(gè)100MHz的量級(jí),因此對(duì)于同步所需的精確度(絕對(duì)地來(lái)考慮)必定好幾個(gè)量級(jí)。關(guān)于Θ值,在硬件中至少也不是尋常的,在此感興趣的大多僅僅是兩個(gè)時(shí)鐘脈沖之間的相移,并且Θ=1相應(yīng)于360°,即一個(gè)完整的時(shí)鐘周期,并且更大的值相應(yīng)于多個(gè)周期。另一方面,可以假設(shè),在硬件實(shí)現(xiàn)的情況下消息的延遲時(shí)間中的差將充分小于軟件中的實(shí)現(xiàn),因?yàn)閷?duì)軟件解決方案典型的、伴隨節(jié)點(diǎn)的排隊(duì)和下降的節(jié)點(diǎn)性能的問(wèn)題幾乎不出現(xiàn)在硬件中直接并行處理的情況中。解決方案因此,考慮到典型的要求和硬件的特定的邊界條件,Θ≤2的假設(shè)是很現(xiàn)實(shí)的。在此,所選算法本身證明是極其有利的,因?yàn)閮H僅考慮了相對(duì)偏差。5.3通信開(kāi)銷在軟件中實(shí)現(xiàn)算法的情況下,假設(shè)通信介質(zhì)已經(jīng)存在于節(jié)點(diǎn)之間。如論如何,交換應(yīng)用相關(guān)的數(shù)據(jù)需要這種介質(zhì),算法僅僅添加到現(xiàn)有的結(jié)構(gòu)上并且僅僅導(dǎo)致在可用的帶寬方面的開(kāi)銷。不必一定要在物理上實(shí)現(xiàn)所要求的點(diǎn)對(duì)點(diǎn)的連接。決定性因素僅僅為,接收器可以唯一地使消息與發(fā)送器關(guān)聯(lián)—并且為此目的,虛擬的點(diǎn)對(duì)點(diǎn)通信就足夠了,例如通過(guò)具有關(guān)聯(lián)的尋址、發(fā)送器標(biāo)識(shí)和(如果必要時(shí))簽名的總線。此外,必須保證的是,借助相應(yīng)的冗余該總線是容錯(cuò)的,以便保持整個(gè)系統(tǒng)的容錯(cuò)性。然而,在所提供的硬件實(shí)現(xiàn)中,算法僅僅用于提供全局時(shí)鐘脈沖信號(hào)。用于通信的基礎(chǔ)設(shè)施必須特別為此目的來(lái)建立,并且因此總是視為硬件開(kāi)銷。對(duì)已存在的數(shù)據(jù)通信總線的使用可以被排除,因?yàn)閮H僅當(dāng)總線通過(guò)同步負(fù)載到100%的程度時(shí)才可以實(shí)現(xiàn)所希望的時(shí)鐘脈沖率,因此不能用于數(shù)據(jù)通信。節(jié)點(diǎn)間的串行通信可被排除,因?yàn)?不同于基于軟件的解決方案)關(guān)于頻率和同步準(zhǔn)確度不能獲得滿意的結(jié)果。僅當(dāng)實(shí)際上不必建立物理的點(diǎn)對(duì)點(diǎn)的連接時(shí)(這意味著僅僅為了提供一個(gè)時(shí)鐘脈沖而有n2個(gè)并行連接),實(shí)現(xiàn)并聯(lián)連接在經(jīng)濟(jì)上才有意義地可行。物理上實(shí)現(xiàn)為總線(具有虛擬的點(diǎn)對(duì)點(diǎn)連接)又造成了協(xié)議開(kāi)銷(仲裁、發(fā)送器ID加簽名等),這又顯著地減小了可實(shí)現(xiàn)的時(shí)鐘脈沖率和/或同步準(zhǔn)確度。除此之外,需要多冗余設(shè)計(jì)。解決方案?jìng)鹘y(tǒng)的解決方案(即一個(gè)單個(gè)的全局時(shí)鐘線)是形成效率衡量標(biāo)準(zhǔn)的無(wú)法超越的基準(zhǔn),這極大地妨礙了任何新方法的接受。因此看來(lái)有必要將消息的信息內(nèi)容減小到1比特,使得簡(jiǎn)單的1比特信號(hào)對(duì)物理點(diǎn)對(duì)點(diǎn)連接是足夠的。關(guān)于串聯(lián)對(duì)并聯(lián)的傳輸?shù)挠懻撛谶@種情況下是多余的。5.3消息的受限信息內(nèi)容現(xiàn)在,實(shí)施該算法的重要的問(wèn)題是管理最小1比特的信息。特別是,在這樣的邊界條件下不可能如實(shí)際上在算法中設(shè)置的那樣,傳輸當(dāng)前循環(huán)的明確的數(shù)目(k)。解決方案k值遞增地傳輸(例如作為脈沖)并且相應(yīng)的絕對(duì)值通過(guò)相應(yīng)接收器中的計(jì)數(shù)器管理。發(fā)送器ID以這種方式不能實(shí)現(xiàn),這使得強(qiáng)制地要求設(shè)計(jì)實(shí)施物理的點(diǎn)對(duì)點(diǎn)連接。在給定的邊界條件情況下,有意義的是使用轉(zhuǎn)換信令(transitionsignaling)的技術(shù)[Hauck95]。5.4沒(méi)有k的絕對(duì)值的引導(dǎo)在原始的算法中,引導(dǎo)通過(guò)大多數(shù)節(jié)點(diǎn)初始相互一致并且接著將時(shí)鐘脈沖前進(jìn)使能來(lái)實(shí)現(xiàn)。落后者如所提及的那樣利用追趕規(guī)則來(lái)緊跟。然而這需要對(duì)絕對(duì)k值的知識(shí),因?yàn)榫徛墓?jié)點(diǎn)的本地計(jì)數(shù)器沒(méi)有當(dāng)前讀數(shù)。解決方案解決方案將由以下構(gòu)成(a)修改引導(dǎo)策略,使得不用追趕規(guī)則就可以應(yīng)對(duì),(b)k值的“偶然”傳輸或者(c)這樣地設(shè)計(jì)硬件使得每個(gè)節(jié)點(diǎn)上的計(jì)數(shù)器都工作,而不管節(jié)點(diǎn)本身是否已經(jīng)初始化。5.5消息的多觸發(fā)由于k的絕對(duì)值不包含在消息中,所以重要的是保證每個(gè)規(guī)則對(duì)每個(gè)k僅僅觸發(fā)一次。此外,出于各種原因值得希望的是,每個(gè)消息僅被發(fā)送一次,即兩個(gè)規(guī)則中只是更早的一個(gè)被觸發(fā)。由于并聯(lián)的特性,這些要求難于在硬件中實(shí)現(xiàn)(這兩個(gè)規(guī)則會(huì)恰好“同時(shí)”觸發(fā))。解決方案可能的解決方案是用時(shí)鐘脈沖的上升和下降邊沿分別作為對(duì)k的偶數(shù)和奇數(shù)值的標(biāo)志,使得可簡(jiǎn)單地避免在短時(shí)間間隔內(nèi)相同k值的發(fā)送(上升邊沿跟著下降邊沿),而在較大的時(shí)間間隔情況下可以以傳統(tǒng)的方式標(biāo)出相同的消息。5.6算法復(fù)雜性在軟件解決方案中,在計(jì)算機(jī)節(jié)點(diǎn)中甚至執(zhí)行復(fù)雜的計(jì)算也是沒(méi)有問(wèn)題的,因?yàn)檫@可以在軟件中實(shí)現(xiàn)。在純粹基于硬件的解決方案的情況下,所需要的功能性必須直接在硬件(例如狀態(tài)機(jī))中實(shí)現(xiàn),并且甚至算法上簡(jiǎn)單的計(jì)算例如乘法也會(huì)導(dǎo)致顯著開(kāi)銷。此外,利用異步邏輯的所希望的實(shí)現(xiàn)還會(huì)導(dǎo)致進(jìn)一步的開(kāi)銷。應(yīng)該記住的是,在每個(gè)節(jié)點(diǎn)接收n個(gè)消息,并且因此全系統(tǒng)必須實(shí)現(xiàn)總共n2個(gè)單元以處理所接收的消息。解決方案在此沒(méi)有一般的解決方案可用,并且當(dāng)在硬件中實(shí)現(xiàn)時(shí)必須盡可能詳細(xì)地進(jìn)行優(yōu)化。為此,必須能夠這樣地轉(zhuǎn)換算法,使得其可以以最佳的方式映射到硬件。當(dāng)深入細(xì)節(jié)時(shí)存在很多在硬件實(shí)現(xiàn)中有待解決的問(wèn)題,這些問(wèn)題主要涉及這樣的事實(shí),即在以不同(未知)執(zhí)行時(shí)間并行運(yùn)行進(jìn)程的情況下,設(shè)置執(zhí)行的順序是有問(wèn)題的,而在軟件中這些進(jìn)程能以有序和自動(dòng)的方式在軟件中運(yùn)行。應(yīng)注意到這樣的事實(shí),即到目前為止所有所描述的解決方案都具有的共同的目標(biāo)是,實(shí)現(xiàn)盡可能有效地映射在硬件上。使用分布式算法用于節(jié)點(diǎn)的頻率同步的作為基礎(chǔ)的方法和該方法在異步硬件中的實(shí)現(xiàn)也可以以其它方式實(shí)現(xiàn)。因此沒(méi)有一個(gè)在此所說(shuō)明的決定是強(qiáng)制的。6.所建議的HW實(shí)現(xiàn)6.1架構(gòu)在上面所提出的討論得到如圖2中所圖示的由1比特線構(gòu)成的完全相互交織的結(jié)構(gòu)。幸運(yùn)的是,支持這種架構(gòu)的芯片架構(gòu)剛剛上市例如由Arteris提供的NoC(Networkonchip片上網(wǎng)絡(luò))設(shè)計(jì)策略[Arteris04]最初構(gòu)思于用于GALS架構(gòu),NoC設(shè)計(jì)策略裝備有交換結(jié)構(gòu)(switchfabric),該交換結(jié)構(gòu)似乎非常好地支撐數(shù)據(jù)和時(shí)鐘脈沖的所需要的通信結(jié)構(gòu)。6.2功能塊的實(shí)現(xiàn)在軟件解決方案中隱含地假設(shè),每個(gè)計(jì)算機(jī)節(jié)點(diǎn)也具有與全局同步時(shí)基不相關(guān)的本地時(shí)鐘脈沖,利用本地時(shí)鐘脈沖例如驅(qū)動(dòng)本地處理器。本地處理器時(shí)鐘脈沖的時(shí)間分辨率好于所接收的消息之間的間隔和全局時(shí)間的精確度幾個(gè)量級(jí)。因此,合理地假設(shè),到達(dá)的消息幾乎連續(xù)地被接收和被處理。然而,硬件解決方案的目的是甚至沒(méi)有本地時(shí)鐘脈沖發(fā)生器地來(lái)應(yīng)對(duì),確切地說(shuō),從所生成的分布式全局時(shí)鐘脈沖得出本地時(shí)鐘脈沖。由此,沒(méi)有先驗(yàn)的時(shí)鐘信號(hào)可用于接收和處理消息。顯而易見(jiàn),因此僅當(dāng)所有對(duì)時(shí)鐘脈沖生成相關(guān)的單元沒(méi)有時(shí)鐘脈沖地工作時(shí),即以異步邏輯實(shí)現(xiàn)時(shí),才開(kāi)始該算法(圖2中的陰影框)。利用合適的設(shè)計(jì),因此還可以避免后穩(wěn)定性問(wèn)題和競(jìng)爭(zhēng)情況,如果利用同步硬件來(lái)實(shí)現(xiàn)本地邏輯(即具有本地時(shí)鐘脈沖)則將必然出現(xiàn)這些問(wèn)題和情況。因此,總起來(lái)說(shuō),這些異步框能夠分布式地生成時(shí)鐘脈沖,接著它們將時(shí)鐘脈沖提供給它們相應(yīng)的本地功能單元HW-FUn。以這樣的方式,全局時(shí)基將是可用的,例如全局時(shí)基簡(jiǎn)化了各個(gè)功能單元之間的通信或者允許同步動(dòng)作(訪問(wèn)外圍設(shè)備、控制執(zhí)行器等等)。圖3圖示了所建議的實(shí)現(xiàn)的原理。基本方框圖相應(yīng)于圖2中的一個(gè)單個(gè)“陰影框”。實(shí)現(xiàn)的原理如下假設(shè)每個(gè)節(jié)點(diǎn)(在我們的情況下,即每個(gè)硬件功能單元HW-FU)實(shí)際上僅僅發(fā)送一次每個(gè)消息。這種消息正是線路上的邊沿。在這種假設(shè)下,借助在每個(gè)接收器節(jié)點(diǎn)處的計(jì)數(shù)器可以實(shí)施消息編號(hào)(即原始算法的“k”),每個(gè)輸入i要求一個(gè)計(jì)數(shù)器Zext,i。同時(shí),隨著發(fā)送每個(gè)消息遞增內(nèi)部計(jì)數(shù)器Zint。由于消息被同時(shí)發(fā)送給所有輸出,所以對(duì)于所有信道一個(gè)共同的計(jì)數(shù)器基本足夠了。現(xiàn)在根據(jù)計(jì)數(shù)器值的比較,可本地決定是否已接收一個(gè)或者可能更多具有更高k值的消息。當(dāng)Zext,i>Zint時(shí)恰好是這樣的情況。如果在足夠多的信道上是這種情況,則根據(jù)算法的規(guī)則可以發(fā)送新消息(=邊緣或者邊沿)和/或本地時(shí)基增加一個(gè)時(shí)鐘脈沖local_tick。從上述描述中可以看到僅僅必需Zext,i和Zint的相對(duì)比較。因此,更容易節(jié)約用于計(jì)數(shù)器的硬件成本,而且替代地僅僅提供了隊(duì)列,從隊(duì)列中成對(duì)地去除記錄項(xiàng),使得僅僅可看到差。這些隊(duì)列在異步實(shí)現(xiàn)中有利地(雖然不是必需地)根據(jù)[Sutherland89]實(shí)現(xiàn)為彈性管道。這在圖3中通過(guò)“內(nèi)部管道”和“外部管道”示意性地表示。模塊“差與比較”負(fù)責(zé)來(lái)自這些管道的記錄分別成對(duì)地消耗,即同時(shí)從內(nèi)部管道和外部管道中去除。如果在外部管道中有記錄,而內(nèi)部管道已經(jīng)為空,則顯而易見(jiàn)Zext,i>Zint,相應(yīng)地通過(guò)以下模塊“使用算法規(guī)則”來(lái)分析。在此,必須注意的是保證始終兩個(gè)規(guī)則中僅僅其中之一被“激發(fā)”。由于讀取消息也消耗它,所以對(duì)每個(gè)信道都必須復(fù)制Zint,對(duì)所有Zint,i當(dāng)發(fā)送消息時(shí)進(jìn)行記錄的插入是同時(shí)進(jìn)行的。所需要的管道深度從所接收的循環(huán)數(shù)量與所發(fā)送的循環(huán)數(shù)量之間的最大所期望的差來(lái)獲得,并且通過(guò)算法限制為值Θ。在此,隊(duì)列的成本可以通過(guò)使用上面所激說(shuō)明的限制Θ≤2來(lái)保持在限度之內(nèi)。如在軟件中實(shí)現(xiàn)的那樣,在此有利的是,在一個(gè)輸入端也接收自己的消息。本質(zhì)上這有助于使最小執(zhí)行時(shí)間不會(huì)過(guò)度短(例如通過(guò)內(nèi)部連接),由于這將使Θ值變差。6.3容錯(cuò)由于借助脈沖漸增地傳輸消息k,一旦出現(xiàn)錯(cuò)誤,則將始終保持。這顯而易見(jiàn)地降低了解決方案的強(qiáng)健性。即使可以容忍多達(dá)f個(gè)這樣的錯(cuò)誤,只要沒(méi)有辦法修正所發(fā)現(xiàn)的錯(cuò)誤,則這種實(shí)現(xiàn)的“任務(wù)時(shí)間(MissionTime)”實(shí)際上受到限制。例如,這可以在數(shù)據(jù)層面通過(guò)偶然交換k的絕對(duì)值或節(jié)點(diǎn)之間的local_tick來(lái)實(shí)現(xiàn)。對(duì)于這種連接消息的時(shí)間上的約束由于反正已存在的容錯(cuò)而完全不重要(設(shè)計(jì)僅僅針對(duì)多錯(cuò)誤的可能性)。6.4頻率穩(wěn)定性由于分布式時(shí)鐘發(fā)生器不用任何石英振蕩器,所以時(shí)鐘脈沖頻率的恒定性和穩(wěn)定性相對(duì)低。當(dāng)然,芯片總是用根據(jù)相應(yīng)的工作條件的最大的頻率工作,這對(duì)內(nèi)部處理是最佳的,但是這增加了與外部同步組件接口連接的難度。然而,尤其通過(guò)在TS-Net的時(shí)鐘線中集成可變延遲元件來(lái)改進(jìn)頻率穩(wěn)定性,這些元件在芯片制造期間或者在運(yùn)行時(shí)間動(dòng)態(tài)地被編程,或者實(shí)際上在工作期間被連續(xù)編程。后者的例子是由TCXO的溫度補(bǔ)償而公知的溫度補(bǔ)償,利用溫度補(bǔ)償,芯片溫度可以連續(xù)測(cè)量并且根據(jù)芯片特定的溫度曲線來(lái)調(diào)節(jié)延遲。使用時(shí)鐘脈沖轉(zhuǎn)換電路作為替換選擇可用,其中另外的時(shí)鐘脈沖信號(hào)從本地時(shí)鐘脈沖中得到?;诩臃ㄆ鞯臅r(shí)鐘(Adder-basedClock)[SSHL97][SSHL97][SSHL97][SSHL97][SSHL97][SSHL97]可用于此(可能結(jié)合PLL或者DLL)?;诩臃ㄆ鞯臅r(shí)鐘允許生成非整數(shù)的時(shí)鐘比。6.5復(fù)位與時(shí)鐘分配相同的問(wèn)題導(dǎo)致,在大的VLSI芯片和高時(shí)鐘頻率的情況下日益難于保證在(上電)復(fù)位的情況下,所有功能單元以相同的時(shí)鐘周期開(kāi)始。由于用于時(shí)鐘脈沖生成的分布式算法甚至在上電期間也保證了全局同步,所以可以輕松地實(shí)現(xiàn)所有功能單元的工作的完全同時(shí)開(kāi)始。為此,僅僅必需等待macrotick,其中所有功能單元“忽略”開(kāi)集復(fù)位完成線(open-collectorReset-Done-Leitung)每個(gè)在macrotick的開(kāi)始時(shí)發(fā)現(xiàn)該線路不活動(dòng)的FU都可以開(kāi)始其工作。所保證的同步準(zhǔn)確度保證了所有功能單元在相同的macrotick中這樣進(jìn)行。所建議的解決方法的優(yōu)點(diǎn)●電路生成其自己的時(shí)鐘脈沖,并且因此借助全系統(tǒng)保證的、由常數(shù)限制的同步準(zhǔn)確度省去了本地時(shí)鐘脈沖源(振蕩器、石英晶體)。●不同于用于獲得容錯(cuò)的時(shí)鐘脈沖的所有基于硬件的方法,在硬件功能單元上不要求本地時(shí)鐘脈沖發(fā)生器和PLL,并且通過(guò)分布式單元之間的相互作用而生成時(shí)鐘脈沖?!袷÷詮?fù)雜的、耗能的時(shí)鐘樹(shù)并且也省略了用于全芯片時(shí)鐘偏差的優(yōu)化的高成本?!癫煌贕ALS方法,在本地(在microtick水平)和全局(在macrotick水平)保留同步設(shè)計(jì)范例。甚至后穩(wěn)定性的問(wèn)題也可以通過(guò)合適選擇macroticks來(lái)避免?!駥?duì)絕對(duì)執(zhí)行時(shí)間不必做任何假設(shè)。甚至在最慢和最快處理時(shí)間之間的相對(duì)差Θ也僅僅影響可以達(dá)到的精確度?!裨跁r(shí)鐘脈沖的生成和分配期間,任意f個(gè)錯(cuò)誤可以被容忍。該架構(gòu)可以關(guān)于f而任意確定比例。而借助傳統(tǒng)的用于容錯(cuò)的時(shí)鐘脈沖生成的方法,這是不可能的?!裨跓o(wú)錯(cuò)誤的條件下,通過(guò)算法使f個(gè)最慢的節(jié)點(diǎn)“緊跟”,即它們不會(huì)使整個(gè)系統(tǒng)慢下來(lái)?!裼捎跒榱藢?shí)施該算法使用了異步邏輯(彈性管道,Muller-C門),所以后穩(wěn)定性的問(wèn)題基本上被避免。利用通常的用于使本地時(shí)鐘脈沖適應(yīng)的解決方案,僅僅可以使得后穩(wěn)定性足夠不可能出現(xiàn),但是不能避免[Kopetz97]?!駮r(shí)鐘脈沖頻率本身自動(dòng)地適應(yīng)于相應(yīng)的條件,即該芯片總是用最大頻率運(yùn)行。芯片設(shè)計(jì)中或者工藝中的改變通常最多要求匹配Θ值,但是通常不要求改變時(shí)鐘脈沖生成算法。●由于分布式時(shí)鐘生成甚至在上電期間也保證了同步,所以可以在芯片上實(shí)現(xiàn)完全同時(shí)地開(kāi)始所有功能單元的工作。與現(xiàn)有方法截然不同,這不需要同步復(fù)位,其中該同步復(fù)位日益難于實(shí)現(xiàn)在具有高時(shí)鐘頻率的大型芯片上。參考書(shū)目[Widder03]JosefWidder.Bootingclocksynchronizationinpartiallysynchronoussystems.InProceedingsofthe17thInternationalSymposiumonDistributedComputing(DISC′03),vol.2848ofLNCS,pp.121-135.Springer2003.GerardLeLannandUlrichSchmid.Howtoimplementatimer-freeperfectfailuredetectorinpartiallysynchronoussystems.TechnicalReport183/1-127,DepartmentofAutomation,TechnischeUniversittWien,April2003[Intel02]RamBhamidipati,AhmadZaidi,SivaMakineni,KahK.Low,RobertChen,Kin-YipLiuandJackDalgrehn.ChallengesandMethodologiesforImplementingHigh-PerformanceNetworkProcessors.IntelTechnologyJournalVol.06,issue03,August15,2002.IntelCorpora-tion.ChristophScherrerandAndreasSteininger.IdentifyingEfficientCombinationsofErrorDetectionMechanismsBasedonResultsofFault-InjectionExperiments.IEEETrans-actionsonComputersVol.51,No.2,F(xiàn)ebruary2002,pp.235-239.IEEEComputerSocietyPress.Bong-RakChoi,KyuHoParkandMyunghwanKim.AnImprovedHardwareImplementationoftheFault-TolerantClockSynchronizationAlgorithmforLargeMultiproc-essorSystems.IEEETransactionsonComputersVol.39,No.3,March1990,pp.404-407.IEEEComputerSocietyPress.D.J.VanAlenandA.K.Somani.AnAllDigitalPhaseLockedLoopFaultToler-antClock.InternationalSymposiunonCircuitsandSystems,Vol.05,June1991,pp.3170-3173.IEEEComputerSocietyPress.NageshVasanthavadaandPeterN.Marinos.SynchronizationofFault-TolerantClocksinthePresenceofMaliciousFailures.IEEETransactionsonComputersVol.37,No.4,April1988,pp.440-448.IEEEComputerSocietyPress.PaulS.Miner,PeterA.PadillaandWilfredoTorres.AProvablyCorrectDesignofaFault-TolerantClockSynchronizationCircuit.inProc.DigitalAvionicsSystemsConference,IEEE/AIAA11th,5-8Oct.1992,pp.341-346.FredB.Schneider.UnderstandingProtocolsforByzantineClockSynchroniza-tion.TechnicalReport87-859,Dept.ofComputerScience,CornellUniversity,Ithaca,N.Y.,Aug.1987.LeslieLamportandP.MMelliar-Smith.SynchronizingClocksinthePresenceofFaults.JournaloftheACM.Vol.32,pp.52-78,Jan.1985.PhillipJ.Restle,et.al.AClockDistributionNetworkforMicroprocessors.IEEEJournalofSolid-StateCircuitsVol.36,No.5,May2001,pp.792-799.IEEEComputerSocietyPress.T.K.SrikanthandS.Toueg.Optimalclocksynchronization.JournaloftheACM.Vol.34,no.3,pp.626-645,July.1987.K.G.ShinandP.Ramanathan.TransmissionDelaysinHardwareClockSynchroni-zation.IEEETransactionsonComputers.Vol.C-37,No.11,pp.1465-1467,Nov.1988.DanielM.Chapiro.Globally-AsynchronousLocally-SynchronousSystems.Ph.D.thesis,StanfordUniversity,Oct.1984.ChrisJ.Myers.AsynchronousCircuitDesign.JohnWileyandSons,July2001[Steininger04]A.Steininger,M.DelvaiandW.Huber.SynchronousandAsynchronousDesignMethods-AhardwareDesigner′sPerspective.InternationalConferenceonComputerDesign(ICCD)2004(submission).FairbanksScott(GB).Methodandapparatusforadistributedclockgenerator,USpatentno.US2004108876,[Kopetz97]H.Kopetz.RealTimeSystems-DesignPrinciplesforDistributedEmbeddedApplications.KluwerAcademicPublishers,Boston1997.CristianConstantinescu.ImpactofDeepSubmiconTechnologyonDependabilityofVLSICircuits.ProceedingsoftheInternationalConferenceonDependableSystemsandNetworks(DSN)2002.pp.205-209,June2002InternationalTechnologyRoadmapforSemiconductors2001(http://public.itrs.net)[Sutherland89]I.E.Sutherland.Micropipelines,CommunicationsoftheACM,Vol.32,No.6,Jun.1989,pp.720-738.M.SalimMazaandM.LinaresAranda.AnalysisofClockDistributionNetworksinthePresenceofCrosstalkandGroundbounce.IEEEICECS.Sep.2001,pp773-776.D.W.Dobberpuhletal.A200-Mhz64-bdualissueCMOSmicroprocessor.IEEEJournalonSolid-StateCircuits.Vol.27,pp.1555-1565,Nov1992.J.PhillipRestle,etal.TheclockdistributionofthePower4microprocessor.Solid-StateCircuitsConference,2002.ISSCC2002IEEEInternational,Vol.1,2002,pp.144-145.CharlieChung-PingChenandEdCheng.FutureSOCDesignChallengesandSolutions.InternationalSymposiumonQualityElectronicDesign.pp.534-537,March2002.EbyG.Friedman.ClockDistributionNetworksinSynchronousDigitalInte-gratedCircuits.ProceedingsoftheIEEE.Vol.89,No.5,pp.665-692,May2001.P.Ramanathan,K.G.ShinandR.W.Butler.Fault-TolerantClockSynchronizationinDistributedSystems.Computer,Vol.23,No.10,pp.30-42,Oct.1990.IEEEComputerSocietyPress.MeiliuLu,DuZhangandTadaoMurata.ADesignApproachforSelf-DiagnosisofFault-TolerantClockSynchronization.IEEETransactionsonComputers.Vol.38,Issue9,Sept.1989,pp.1337-1341.IEEEComputerSocietyPress.MartinHorauer,UlrichSchmid,KlausSchossmaier,RolandHller,NikolausKer.PSynUTC-EvaluationofaHighPrecisionTimeSynchronizationPrototypeSystemforEthernetLANs.Proceedingsofthe34th{IEEE}PreciseTimeandTimeIntervalSystemsandApplicationMeeting(PTTI′02),Reston,Virginia,December2002,pp.263-278.KlausSchossmaier,UlrichSchmid,MartinHorauer,DietmarLoy.SpecificationandImplementationoftheUniversalTimeCoordinatedSynchronizationUnit(UTCSU).Real-TimeSystems12(3),May1997,pp.295-327.Arteris,Arterisunveisstrategy,technologyforenableingNetwork-on-Chip(NoC)design,PressReleaseMarch2004,[Chelcea00]TiberiuChelceaandStevenM.Novick.ALow-LatencyFIFOforMixed-ClockSystems.IEEEComputerSocietyWorkshoponVLSI,April2000,pp.119-126.D.A.Huffman.TheSynthesisofsequentialswitchingcircuits.JournaloftheFranklinInstitute,March/April1954.S.tHauck.,AsynchronousDesignMethodologiesAnOverview.ProceedingsoftheIEEE,Vol.83,pp.69-93,1995.C.H.vanBerkel,M.JosephsandS.Nowick.ScanningtheTechnologyApplica-tionsofasynchronouscircuits.ProceedingsoftheIEEE,Vol.87,pp.223-233,1999.JiriGaisler.APortableandFault-TolerantMicroprocessorBasedontheSPARCV8Architecture.,2002.ProceedingsoftheInternationalConferenceonDependableSystemsandNetworks.June2002,pp.409-415.T.KienTruong.SingleChipFaultTolerantClockforIntegratedModularAvion-ics.16thDigitalAvionicsSystemsConference(DASC),AIAA/IEEE,Vol.1,Oct.1997,pp.2.1-36-44vol.1[LL88]J.Lundelius-WelchandN.Lynch.ANewFault-TolerantAlgorithmforClockSyn-chronization.Proc.of3rdACMSymposiumonPrinciplesofDistributedComputing,August1984,pp.75-88.JohnH.Wensleyetal.SIFTDesignandAnalysisofaFaulttolerantComputerforAircraftControl.Proc.IEEEVol.66,Oct1978.JosefWidder.DistributedComputinginthePresenceofBoundedAsynchrony.Ph.D.thesis,ViennaUniversityofTechnology.May2004.DannyDolev,JosephY.HalpernandH.RaymondStrong.OnthePossibilityandImpossibilityofAchievingClockSynchronization″.JournalofComputerandSystemSciences.Vol.32,pp.230250,1986.JenniferLundelius-WelchandNancyA.Lynch.AnUpperandLowerBoundforClockSynchronization.InformationandControl.Vol.62pp.190-204,1984.JosefWidderandUlrichSchmid.BootingClockSynchronizationinPartiallySyn-chronousSystemswithHybridNodeandLinkFailures.TechnicalReport,Nr.183/1-126,DepartrnentofAutomation,ViennaUniversityofTechnology.January2003.HermannKopetz,AndreasKrüger,DietmarMillingerandAntonSchedl.ASynchronizationStrategyforaTime-TriggeredMulticlusterReal-TimeSystem.ProceedingsReliableDistributedSystems(RDS’95),Sept.1995,BadNeuenahr,Germany權(quán)利要求1.一種在硬件系統(tǒng)特別是VLSI芯片、片上系統(tǒng)、IP核、PCB和PCB系統(tǒng)中用于分布式容錯(cuò)時(shí)鐘脈沖生成的方法,其特征在于,●所述系統(tǒng)時(shí)鐘脈沖通過(guò)多個(gè)相互通信的容錯(cuò)時(shí)鐘脈沖同步算法(TS-Alg)分布式地生成,而不用外部或者內(nèi)部時(shí)鐘振蕩器,其方式是i.任意數(shù)量的這種TS-Alg通過(guò)時(shí)鐘脈沖信號(hào)的任意的、永久的和易受瞬時(shí)錯(cuò)誤影響的網(wǎng)絡(luò)(TS-Net)相互交換信息,ii.將每個(gè)TS-Alg分配給一個(gè)或者更多功能單元(Fu1,F(xiàn)u2,...),其中它們的本地時(shí)鐘脈沖通過(guò)TS-Alg生成,●所有本地時(shí)鐘脈沖被確保維持頻率同步,使得在給定的時(shí)段內(nèi)任意兩個(gè)本地時(shí)鐘脈沖信號(hào)最大相差指定的不變數(shù)目的時(shí)鐘周期,使得可生成全局系統(tǒng)時(shí)鐘脈沖,全局系統(tǒng)時(shí)鐘脈沖使得能夠在芯片上的任意的功能單元之間進(jìn)行全局同步通信,其中所述全局系統(tǒng)時(shí)鐘脈沖可借助合適的時(shí)鐘脈沖轉(zhuǎn)換電路(除法器等等)從任何本地時(shí)鐘脈沖中得到,●特定數(shù)量的瞬時(shí)和/或永久錯(cuò)誤允許出現(xiàn)在TS-Alg或者TS-Net中,而不會(huì)影響所述時(shí)鐘脈沖生成和/或所述同步準(zhǔn)確度,●系統(tǒng)時(shí)鐘脈沖自動(dòng)地達(dá)到最大可能的頻率,所述最大可能的頻率由所使用的制造工藝、TS-Alg和TS-Net的布局和布線以及當(dāng)前工作條件(溫度,電源電壓等等)來(lái)確定。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述全局系統(tǒng)時(shí)鐘脈沖的可用性僅僅取決于芯片上的信號(hào)路徑的最大與最小的端到端信號(hào)延遲時(shí)間之比,而不取決于其最大值。3.根據(jù)權(quán)利要求1或者2所述的方法,其特征在于,所述已經(jīng)活動(dòng)的本地時(shí)鐘脈沖和因而由此得到的所述全局系統(tǒng)時(shí)鐘脈沖的同步準(zhǔn)確度也在所述硬件上電期間得到保證。4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,借助異步邏輯例如彈性管道、Muller-C門等來(lái)實(shí)現(xiàn)。5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,通過(guò)在所述TS-Alg中使用可變的延遲元件或者特殊的時(shí)鐘脈沖轉(zhuǎn)換電路來(lái)增強(qiáng)所述全局系統(tǒng)時(shí)鐘脈沖的穩(wěn)定性,其中所述當(dāng)前延遲時(shí)間或者時(shí)鐘脈沖修正值●靜態(tài)地在制造時(shí)獲得,和/或●對(duì)于所述芯片的相應(yīng)的應(yīng)用在執(zhí)行時(shí)可配置地獲得,和/或●自動(dòng)地根據(jù)對(duì)所述工作參數(shù)(溫度和/或電源電壓等等)的一次或者連續(xù)測(cè)量而獲得。6.一種用于硬件系統(tǒng)例如芯片的不同功能單元之間的全局?jǐn)?shù)據(jù)傳輸?shù)姆椒?,其特征在于,通過(guò)根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法分布式地生成的時(shí)鐘脈沖的分頻,使全局充分同步的macrotick可用,以能夠?qū)崿F(xiàn)無(wú)后穩(wěn)定性問(wèn)題的數(shù)據(jù)傳輸。7.一種用于芯片、PCB和PCB系統(tǒng)中的功能單元的同步復(fù)位的方法,其特征在于,基于權(quán)利要求1至5中任一項(xiàng)所述的方法,所述方法在復(fù)位階段期間保證了本地脈沖的全局同步,并且因此可以用于識(shí)別所有功能單元的明確的開(kāi)始時(shí)刻。8.一種用于實(shí)施根據(jù)權(quán)利要求1至7中任一項(xiàng)所述方法的硬件系統(tǒng)。全文摘要本發(fā)明涉及一種在硬件系統(tǒng)特別是VLSI芯片、片上系統(tǒng)、IP核、PCB和PCB系統(tǒng)中用于分布式容錯(cuò)時(shí)鐘脈沖生成的方法,所述方法的特征在于,(a)借助多個(gè)相互通信的容錯(cuò)時(shí)鐘脈沖同步算法(TS-Alg)分布式地生成系統(tǒng)時(shí)鐘脈沖,而不用外部或者內(nèi)部時(shí)鐘振蕩器,其方式是i)任意數(shù)量的這種TS-Alg通過(guò)時(shí)鐘脈沖信號(hào)的任意的、永久的和易受瞬時(shí)錯(cuò)誤影響的網(wǎng)絡(luò)(TS-Net)相互交換信息,ii)每個(gè)TS-Alg與至少一個(gè)功能單元(Fu1,F(xiàn)u2,…)相聯(lián)系,生成它們的本地時(shí)鐘脈沖,(b)所有本地時(shí)鐘脈沖都被確保維持頻率同步,使得在任意的時(shí)間內(nèi)任意兩個(gè)本地時(shí)鐘脈沖信號(hào)相差最大為給定的不變數(shù)量的時(shí)鐘周期,使得全局系統(tǒng)時(shí)鐘脈沖可從每個(gè)本地時(shí)鐘脈沖中通過(guò)合適時(shí)鐘脈沖轉(zhuǎn)換電路(除法器等)的下行線路連接來(lái)得出,所述系統(tǒng)時(shí)鐘脈沖使芯片上的任何功能單元能夠進(jìn)行全局同步通信;(c)指定數(shù)量的瞬時(shí)和/或永久誤差會(huì)出現(xiàn)在TS-Alg或者TS-Net中,而不影響時(shí)鐘脈沖生成和/或同步準(zhǔn)確度;以及(d)系統(tǒng)時(shí)鐘脈沖自動(dòng)地達(dá)到最大可能的頻率,最大可能的頻率由所使用的制造工藝、TS-Alg和TS-Net的布局和布線選擇以及工作條件(溫度,電源電壓等等)來(lái)確定。文檔編號(hào)G06F11/16GK1997969SQ200580024166公開(kāi)日2007年7月11日申請(qǐng)日期2005年7月18日優(yōu)先權(quán)日2004年7月19日發(fā)明者烏爾里?!な┟艿?安德烈亞斯·施泰寧格申請(qǐng)人:維也納科技大學(xué)