專利名稱::用于檢錯(cuò)和糾錯(cuò)的兩階段定時(shí)停滯技術(shù)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明主要地涉及用于檢測(cè)和糾正電路中的錯(cuò)誤的技術(shù)和系統(tǒng)。具體而言,本發(fā)明涉及用于擴(kuò)充電路設(shè)計(jì)以檢測(cè)和糾正定時(shí)錯(cuò)誤的技術(shù)和系統(tǒng)。
背景技術(shù):
:半導(dǎo)體制作技術(shù)的發(fā)展通過(guò)制作更小晶體管并且將這些晶體管更近地壓縮在一起,已經(jīng)引起每一半導(dǎo)體器件的晶體管數(shù)目劇增。然而,這些新設(shè)計(jì)實(shí)踐可能使制作的集成電路(IC)更容易受到可能影響IC性能的物理故障或者寄生效應(yīng)?;貞?yīng)這些潛在危險(xiǎn),常常只要有可能就設(shè)計(jì)具有冗余、檢錯(cuò)和糾錯(cuò)的IC以使這些電路更穩(wěn)健。然而,與這樣的檢錯(cuò)和糾錯(cuò)電路關(guān)聯(lián)的性能和布局開(kāi)銷可能使它們?cè)谛码娐吩O(shè)計(jì)中難以廣泛應(yīng)用。具體而言,針對(duì)制造的IC的定時(shí)延遲錯(cuò)誤在用于IC的初始設(shè)計(jì)循環(huán)期間難以估計(jì)和防止。這些錯(cuò)誤在不能在對(duì)寄存器進(jìn)行采樣以捕獲產(chǎn)生的結(jié)果之前完成針對(duì)給定輸入矢量的計(jì)算時(shí)出現(xiàn)。在一些場(chǎng)合中,定時(shí)延遲錯(cuò)誤可能由于隨機(jī)制造錯(cuò)誤而出現(xiàn)在制造的IC中,此時(shí)可能丟棄有故障的IC。然而,當(dāng)在一批制造的IC內(nèi)遇到定時(shí)延遲錯(cuò)誤時(shí),可以降低用于IC的時(shí)鐘頻率以允許IC正確地操作,但是以犧牲為IC設(shè)計(jì)的操作性能水平為代價(jià)。另一方面,制造的IC可以在比針對(duì)它的電路設(shè)計(jì)而預(yù)測(cè)的頻率更高的頻率工作。當(dāng)設(shè)計(jì)和實(shí)施給定電路時(shí),該電路一般被設(shè)計(jì)成在保守的用于過(guò)程和環(huán)境變量的值的集合(即,設(shè)計(jì)拐角)內(nèi)操作。另外,通常填補(bǔ)由分析算法和模型所生成的針對(duì)電路的定時(shí)預(yù)測(cè),以解決它們不能對(duì)一些物理、電和/或邏輯效應(yīng)進(jìn)行建模。這些預(yù)測(cè)產(chǎn)生如下設(shè)計(jì)裕度,該設(shè)計(jì)裕度是在制造的電路與分析結(jié)果之間的定時(shí)中的差異,并且它是對(duì)性能預(yù)測(cè)對(duì)于設(shè)計(jì)過(guò)程而言有多保守的測(cè)量。當(dāng)由于大設(shè)計(jì)裕度而引起所假設(shè)的最壞情況的場(chǎng)景無(wú)法用硅具體實(shí)現(xiàn)時(shí),該大設(shè)計(jì)裕度的結(jié)果是超裕度設(shè)計(jì)的電路,這是所不希望的。普遍做法是在寬范圍的功率和時(shí)鐘頻率參數(shù)之下測(cè)試制作的IC以確定IC的實(shí)際工作參數(shù)。通常一旦IC經(jīng)歷定時(shí)錯(cuò)誤就發(fā)現(xiàn)IC的一個(gè)斷點(diǎn)。已經(jīng)開(kāi)發(fā)用于檢測(cè)和糾正定時(shí)錯(cuò)誤的諸多解決方案,并且這些方案中的多種方案基于雙倍數(shù)據(jù)采樣寄存器(DDSR)。DDSR是如下的經(jīng)過(guò)修改的觸發(fā)器(FF),該FF能夠通過(guò)使用比標(biāo)準(zhǔn)寄存器更遲地對(duì)數(shù)據(jù)進(jìn)行采樣的額外"陰影"鎖存器、然后比較兩個(gè)采樣數(shù)據(jù)的差異,來(lái)檢測(cè)延遲錯(cuò)誤。如果DDSR的"陰影"鎖存器采樣到與DDSR的常規(guī)鎖存器不同的值,則DDSR確定它已經(jīng)檢測(cè)到錯(cuò)誤。一旦DDSR已經(jīng)檢測(cè)到錯(cuò)誤,錯(cuò)誤信號(hào)就傳播到設(shè)計(jì)中的可以糾正錯(cuò)誤的邏輯。然而,利用DDSR來(lái)實(shí)施檢錯(cuò)電路的現(xiàn)有系統(tǒng)常常要求存在對(duì)電路的專門化流水線組織,并且通過(guò)刷新流水線和重放指令/數(shù)據(jù)來(lái)進(jìn)行糾錯(cuò)。用于執(zhí)行檢錯(cuò)和糾錯(cuò)的兩種常用DDSR解決方案包括*通過(guò)停滯(stall)時(shí)鐘以允許利用來(lái)自"陰影"鎖存器的正確值取代不正確的值或者通過(guò)停滯修改的流水線設(shè)計(jì)中的數(shù)據(jù),在原處糾錯(cuò)。在檢測(cè)到電路流水線中的錯(cuò)誤之后刷新該流水線,并且允許電路流水線重新計(jì)算結(jié)果。這些實(shí)施可能對(duì)給定的電路設(shè)計(jì)引起大量物理開(kāi)銷,并且可能在刷新流水線以進(jìn)行糾錯(cuò)時(shí)引入顯著性能損失。第一種解決方案可能對(duì)可以用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充什么類別的電路設(shè)定嚴(yán)格限制,因?yàn)樗蠛?jiǎn)易流水線。另外,它也由于它的糾錯(cuò)機(jī)制和修改的電路流水線而引起大量電路開(kāi)銷。第一種解決方案通常用于定制電路設(shè)計(jì),其中檢錯(cuò)和糾錯(cuò)適用于設(shè)計(jì)的特定部分。沒(méi)有廣泛使用第二種解決方案以用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充一般的ASIC設(shè)計(jì),因?yàn)樗鼰o(wú)論何時(shí)檢測(cè)錯(cuò)誤都可能引起大量性能開(kāi)銷。
發(fā)明內(nèi)容本發(fā)明的一個(gè)實(shí)施例提供用于用定時(shí)錯(cuò)誤檢測(cè)和糾正機(jī)制擴(kuò)充電路設(shè)計(jì)的方法和裝置。這一系統(tǒng)首先將電路分割為由獨(dú)立時(shí)鐘信號(hào)鐘控的一組塊并且在這一組塊之間集成錯(cuò)誤信號(hào)傳播電路。對(duì)于相應(yīng)塊,該系統(tǒng)確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組內(nèi)部寄存器,并且用雙倍數(shù)據(jù)采樣寄存器取代確定的一組內(nèi)部寄存器,其中給定的雙倍數(shù)據(jù)采樣寄存器被配置成在它檢測(cè)到定時(shí)錯(cuò)誤時(shí)生成錯(cuò)誤信號(hào)。然后,該系統(tǒng)將兩階段糾錯(cuò)電路集成到相應(yīng)塊中,其中在被雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤時(shí),兩階段糾錯(cuò)電路被配置成停滯相應(yīng)塊中的寄存器。該系統(tǒng)還將根據(jù)全局時(shí)鐘信號(hào)和錯(cuò)誤信號(hào)來(lái)生成局部時(shí)鐘信號(hào)的定時(shí)電路集成到相應(yīng)塊中。在對(duì)這一實(shí)施例的一種變化中,該系統(tǒng)通過(guò)配置相應(yīng)塊的內(nèi)部寄存器以在兩階段糾錯(cuò)電路的第一或者第二停滯階段期間停滯來(lái)將兩階段糾錯(cuò)電路集成到相應(yīng)塊中。另外,該系統(tǒng)配置輸入緩存器以在第一停滯階段期間對(duì)相應(yīng)塊的輸入信號(hào)源的信號(hào)值進(jìn)行采樣和保持。該系統(tǒng)配置輸入復(fù)用器以在第二停滯階段期間選擇輸入緩存器的輸出信號(hào),并且除此之外選擇用于相應(yīng)塊的輸入信號(hào)源,從而輸入復(fù)用器的輸出信號(hào)耦合到相應(yīng)塊的主輸入信號(hào)。該系統(tǒng)還配置第一輸出寄存器以在兩階段糾錯(cuò)電路的第二停滯階段期間停滯,其中第一輸出寄存器的輸出信號(hào)耦合到相應(yīng)塊的主輸出信號(hào)。類似地,該系統(tǒng)配置第二輸出寄存器以在兩階段糾錯(cuò)電路的第一或者第二停滯階段期間停滯,其中第二輸出寄存器的輸出信號(hào)耦合到第一輸出寄存器的輸入信號(hào)。在又一變化中,兩階段糾錯(cuò)電路針對(duì)在雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤之后的時(shí)鐘循環(huán)激活第一停滯階段。在又一變化中,兩階段糾錯(cuò)電路針對(duì)在第一停滯階段之后的時(shí)鐘循環(huán)激活第二停滯階段。在對(duì)這一實(shí)施例的一種變化中,該系統(tǒng)通過(guò)首先選擇檢錯(cuò)覆蓋范圍來(lái)確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組寄存器,該檢錯(cuò)覆蓋范圍指定相應(yīng)塊中將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的寄存器的比例。然后,該系統(tǒng)確定相應(yīng)塊中在所需頻率難以設(shè)計(jì)的關(guān)鍵路徑,并且從確定的關(guān)鍵路徑選擇多個(gè)寄存器,從而所選寄存器的比例落在所選檢錯(cuò)覆蓋范圍內(nèi)。在對(duì)這一實(shí)施例的一種變化中,該系統(tǒng)通過(guò)使用第一邏輯電路來(lái)組合由相應(yīng)塊的雙倍數(shù)據(jù)采樣寄存器生成的錯(cuò)誤信號(hào)生成針對(duì)相應(yīng)塊的塊級(jí)錯(cuò)誤信號(hào),來(lái)在一組塊之間集成錯(cuò)誤信號(hào)傳播電路,其中第一邏輯電路在由雙倍數(shù)據(jù)采樣寄存器生成的至少一個(gè)錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí)將錯(cuò)誤值傳播到塊級(jí)錯(cuò)誤信號(hào)上。另外,錯(cuò)誤信號(hào)傳播電路通過(guò)使用第二邏輯電路來(lái)組合來(lái)自該一組塊的塊級(jí)錯(cuò)誤信號(hào)來(lái)生成全局錯(cuò)誤信號(hào),其中第二邏輯電路在至少一個(gè)塊級(jí)錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí)將錯(cuò)誤值傳播到全局錯(cuò)誤信號(hào)上。在又一變化中,相應(yīng)塊的定時(shí)電路基于塊級(jí)錯(cuò)誤信號(hào)、全局錯(cuò)誤信號(hào)和全局時(shí)鐘信號(hào)的信號(hào)值來(lái)生成局部時(shí)鐘信號(hào)。為此,定時(shí)電路在塊級(jí)錯(cuò)誤信號(hào)和全局錯(cuò)誤信號(hào)的信號(hào)值不是錯(cuò)誤值時(shí)將全局時(shí)鐘信號(hào)傳播到局部時(shí)鐘信號(hào)上。另外,定時(shí)電路在塊級(jí)錯(cuò)誤信號(hào)或者全局錯(cuò)誤信號(hào)中的至少一個(gè)的信號(hào)值是錯(cuò)誤值時(shí)阻止全局時(shí)鐘信號(hào)的時(shí)鐘信號(hào)轉(zhuǎn)變傳播到局部時(shí)鐘信號(hào)上。圖1圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用檢錯(cuò)和糾錯(cuò)系統(tǒng)擴(kuò)充的電路,該電路包括多個(gè)電路塊和耦合到該電路塊的多個(gè)通信信號(hào)。圖2圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的擴(kuò)充電路塊。圖3圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的擴(kuò)充電路的全局錯(cuò)誤傳播電路。圖4A圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的局部錯(cuò)誤傳播電路。圖4B圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的全局錯(cuò)誤傳播電路。圖4C圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的定時(shí)電路。圖4D圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的局部錯(cuò)誤傳播電路。圖4E圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的全局錯(cuò)誤傳播電路。圖4F圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的定時(shí)電路。圖5A圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的四級(jí)布爾AND運(yùn)算。圖5B圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于四級(jí)布爾AND運(yùn)算的晶體管電路實(shí)施。圖6圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于擴(kuò)充電路的多個(gè)傳播路徑。圖7呈現(xiàn)了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于擴(kuò)充電路以檢測(cè)和糾正定時(shí)錯(cuò)誤的過(guò)程的流程圖。圖8呈現(xiàn)了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于配置擴(kuò)充電路塊以檢測(cè)和糾正定時(shí)錯(cuò)誤的過(guò)程的流程圖。圖9呈現(xiàn)了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于檢測(cè)和糾正定時(shí)錯(cuò)誤的過(guò)程的流程圖。圖10圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的有助于擴(kuò)充電路以檢測(cè)和糾正定時(shí)錯(cuò)誤的示例計(jì)算機(jī)系統(tǒng)。表1說(shuō)明了根據(jù)本發(fā)明一個(gè)實(shí)施例的示例性糾錯(cuò)過(guò)程。具體實(shí)施例方式呈現(xiàn)以下描述以使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)和利用本發(fā)明,并且在特定應(yīng)用及其要求的上下文中提供該描述。本領(lǐng)域技術(shù)人員將容易清楚對(duì)公開(kāi)的實(shí)施例的各種修改,并且這里限定的一般原理可以適用于其它實(shí)施例和應(yīng)用而不脫離本發(fā)明的精神實(shí)質(zhì)和范圍。因此,本發(fā)明不限于所示實(shí)施例而是將被賦予以與這里公開(kāi)的原理和特征一致的最廣范圍。在本具體實(shí)施方式中描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,該介質(zhì)可以是能夠存儲(chǔ)用于由計(jì)算機(jī)系統(tǒng)使用的代碼和/或數(shù)據(jù)的任何設(shè)備或者介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括但不限于易失性存儲(chǔ)器、非易失性存儲(chǔ)器、磁和光存儲(chǔ)設(shè)備(比如盤驅(qū)動(dòng)器)、磁帶、CD(光盤)、DVD(數(shù)字多功能盤或者數(shù)字視頻盤)或者現(xiàn)在已知或者以后開(kāi)發(fā)的能夠存儲(chǔ)計(jì)算機(jī)可讀介質(zhì)的其它介質(zhì)。可以將具體實(shí)施方式這一節(jié)中描述的方法和過(guò)程實(shí)施為能夠存儲(chǔ)于如上所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的代碼和/或數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)讀取和執(zhí)行計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)的代碼和/或數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)執(zhí)行體現(xiàn)為數(shù)據(jù)結(jié)構(gòu)和代碼的并且存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)的方法和過(guò)程。另外,可以在硬件模塊中包括下文描述的方法和過(guò)程。例如,硬件模塊可以包括但不限于專用集成電路(ASIC)芯片、現(xiàn)場(chǎng)可編程門陣列(FPGA)和現(xiàn)在已知或者以后開(kāi)發(fā)的其它可編程邏輯器件。當(dāng)激活硬件模塊時(shí),硬件模塊執(zhí)行硬件模塊內(nèi)包括的方法和過(guò)程。概沭本發(fā)明的實(shí)施例提供一種用于利用執(zhí)行檢錯(cuò)和糾錯(cuò)操作的邏輯架構(gòu)擴(kuò)充電路設(shè)計(jì)的方法和系統(tǒng)。這些方法可服從電子設(shè)計(jì)自動(dòng)化(EDA)工具和流程,并且可以由包括處理器、存儲(chǔ)器和用于存儲(chǔ)指令的存儲(chǔ)設(shè)備的計(jì)算機(jī)系統(tǒng)實(shí)施,這些指令在由計(jì)算機(jī)系統(tǒng)執(zhí)行時(shí)造成計(jì)算機(jī)系統(tǒng)執(zhí)行用于利用對(duì)電路設(shè)計(jì)執(zhí)行檢錯(cuò)和糾錯(cuò)操作的邏輯來(lái)擴(kuò)充電路設(shè)計(jì)的方法。用于利用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)的方法和系統(tǒng)在下文中稱為擴(kuò)充系統(tǒng)。另外,由擴(kuò)充系統(tǒng)修改以實(shí)現(xiàn)檢錯(cuò)和糾錯(cuò)能力的電路在下文中稱為擴(kuò)充電路。在本發(fā)明的一些實(shí)施例中,擴(kuò)充電路能夠糾正某些類型的定時(shí)誘發(fā)錯(cuò)誤而對(duì)電路的表現(xiàn)(behavior)影響最少。另外,擴(kuò)充系統(tǒng)旨在于克服與用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)關(guān)聯(lián)的諸多復(fù)雜問(wèn)題。例如,錯(cuò)誤恢復(fù)操作可以使電路的一個(gè)部分變得與電路的其余部分不同步(即,落后一個(gè)時(shí)鐘循環(huán))。另外,對(duì)快速電信號(hào)可以如何跨微芯片傳播的物理限制使得用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充快速和大型電路設(shè)計(jì)這一任務(wù)變得復(fù)雜。這是因?yàn)樾枰獧z測(cè)錯(cuò)誤,并且需要生成錯(cuò)誤信號(hào)和跨微芯片傳播錯(cuò)誤信號(hào),以防止檢測(cè)到的錯(cuò)誤傳播,所有這些都在后續(xù)時(shí)鐘轉(zhuǎn)變之前。當(dāng)對(duì)完整電路設(shè)計(jì)施加糾錯(cuò)時(shí),從時(shí)鐘源到DDSR的傳播延時(shí)可能妨礙DDSR及時(shí)生成錯(cuò)誤信號(hào)以在數(shù)據(jù)源處阻止后續(xù)上升時(shí)鐘沿。在本發(fā)明的一些實(shí)施例中,擴(kuò)充系統(tǒng)將時(shí)鐘停滯(門控)和原處糾錯(cuò)電路并入到電路設(shè)計(jì)中,以管理與用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充完整設(shè)計(jì)關(guān)聯(lián)的復(fù)雜問(wèn)題。這些實(shí)施例將電路設(shè)計(jì)分割為多個(gè)獨(dú)立鐘控的電路塊,其中每個(gè)電路塊實(shí)施如下兩階段時(shí)鐘停滯技術(shù),該技術(shù)允許電路從任何數(shù)目或者序列的局部延遲錯(cuò)誤中恢復(fù),并且響應(yīng)于在任何電路塊的糾錯(cuò)操作跨電路塊執(zhí)行隱式重新同步操作。圖1圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充的示例電路100。擴(kuò)充電路100由擴(kuò)充系統(tǒng)創(chuàng)建以用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì),并且擴(kuò)充電路包括多個(gè)電路塊102-106和耦合到電路塊102-106的多個(gè)塊間通信信號(hào)(例如,塊間通信信號(hào)108)。在本發(fā)明的一些實(shí)施例中,擴(kuò)充系統(tǒng)向擴(kuò)充電路100提供一種用以在錯(cuò)誤恢復(fù)操作之后重新同步電路塊的機(jī)制,其中時(shí)鐘延遲朝著電路邊界傳播。這一電路邊界包括能夠與電系統(tǒng)的其它電路部件傳遞時(shí)鐘延遲的握手機(jī)制110-112。因此,當(dāng)來(lái)自獨(dú)立鐘控的電路塊內(nèi)的錯(cuò)誤恢復(fù)操作造成時(shí)鐘停滯而朝著擴(kuò)充電路100的電路邊界傳播時(shí),電路100的握手機(jī)制110-112向其它電路部件通知電路邊界是接受還是提供新數(shù)據(jù)。擴(kuò)充電路架構(gòu)9在本發(fā)明的一些實(shí)施例中,擴(kuò)充電路設(shè)計(jì)包括將以下部件并入到擴(kuò)充電路中用于執(zhí)行檢錯(cuò)的DDSR、用于跨電路塊傳播錯(cuò)誤信號(hào)的電路、用于從檢測(cè)到的錯(cuò)誤恢復(fù)并且用于同步獨(dú)立鐘控電路塊的電路、以及在電路設(shè)計(jì)的電路邊界處的握手機(jī)制。在這些實(shí)施例的一些變化中,擴(kuò)充電路采用已經(jīng)存在于電路設(shè)計(jì)的異步10中的握手機(jī)制。在其它變化中,擴(kuò)充電路可以將存在于電路設(shè)計(jì)的內(nèi)部塊內(nèi)的握手協(xié)議擴(kuò)展到電路設(shè)計(jì)的邊界處的握手機(jī)制上。在一些實(shí)施例中,擴(kuò)充系統(tǒng)可以用來(lái)擴(kuò)充廣泛的多種流水線式電路設(shè)計(jì),并且不限于可刷新(flushable)的流水線。另外,擴(kuò)充系統(tǒng)可以用來(lái)擴(kuò)充比其它檢錯(cuò)/糾錯(cuò)技術(shù)能夠管理的電路設(shè)計(jì)更大的電路設(shè)計(jì)。擴(kuò)充系統(tǒng)提供的性能歸因于電路如何分割為塊,其中每個(gè)塊具有獨(dú)立門控的時(shí)鐘源。當(dāng)擴(kuò)充電路檢測(cè)到電路塊內(nèi)的錯(cuò)誤時(shí),它觸發(fā)相同電路塊內(nèi)的糾錯(cuò)操作,并且利用后續(xù)時(shí)鐘循環(huán)以執(zhí)行電路塊之間的重新同步。在一些實(shí)施例中,用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)影響用于電路設(shè)計(jì)的面積、功率、性能和設(shè)計(jì)方法。影響水平依賴于若干高級(jí)設(shè)計(jì)決策。第一決策要求選擇DDSR覆蓋范圍轉(zhuǎn)換成DDSR以執(zhí)行檢錯(cuò)的寄存器的比例。用于電路設(shè)計(jì)的更大DDSR覆蓋范圍造成更大功率/面積開(kāi)銷,這反過(guò)來(lái)可能有礙于通過(guò)用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)而提供的優(yōu)點(diǎn)。另一方面,更小DDSR覆蓋范圍需要用于準(zhǔn)確地確定應(yīng)當(dāng)轉(zhuǎn)換成用于執(zhí)行檢錯(cuò)的DDSR的理想寄存器候選的高級(jí)工具和方法。第二決策要求選擇一種用于將DDSR插入到電路設(shè)計(jì)中的方法。有兩種基本DDSR插入方式在優(yōu)化電路設(shè)計(jì)之前通過(guò)將電路分割為塊來(lái)預(yù)先規(guī)劃,或者用于在設(shè)計(jì)過(guò)程后期更改電路實(shí)施的工程設(shè)計(jì)改變訂單(EC0)方式。前者能夠使用電路優(yōu)化結(jié)果以檢測(cè)可以從檢錯(cuò)中受益最多的電路塊中的最壞情況的路徑,然后擴(kuò)充分割的電路設(shè)計(jì)以將DDSR插入到這些最壞情況的路徑中。在本發(fā)明的一些實(shí)施例中,一種擴(kuò)充系統(tǒng)執(zhí)行如下組合式方法,該方法在設(shè)計(jì)過(guò)程早期執(zhí)行與用檢錯(cuò)和糾錯(cuò)能力來(lái)擴(kuò)充電路設(shè)計(jì)相關(guān)聯(lián)的一些決策(例如,在電路優(yōu)化過(guò)程之前執(zhí)行時(shí)鐘門控和/或電路塊分割),而在設(shè)計(jì)過(guò)程后期執(zhí)行一些實(shí)施操作(即,在電路合成之后進(jìn)行DDSR插入和/或電路擴(kuò)充操作)。第三決策要求確定用于用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)的目的。在本發(fā)明的一些實(shí)施例中,可以擴(kuò)充電路以實(shí)施可以容易地移至動(dòng)態(tài)頻率和/或本體偏置(bodybias)的動(dòng)態(tài)電源變化。這可能造成擴(kuò)充電路遇到跨大量電路路徑的定時(shí)錯(cuò)誤,因此要求擴(kuò)充電路實(shí)施大DDSR覆蓋范圍。在本發(fā)明的其它實(shí)施例中,可以擴(kuò)充電路以確保在所需頻率難以設(shè)計(jì)的多個(gè)電路路徑內(nèi)的適當(dāng)功能性。在本發(fā)明的一些實(shí)施例中,電路設(shè)計(jì)者可以針對(duì)典型設(shè)計(jì)裕度優(yōu)化電路設(shè)計(jì),并且依賴于由擴(kuò)充系統(tǒng)并入到電路設(shè)計(jì)中的檢錯(cuò)和糾錯(cuò)能力,以處理可能在最壞情況的運(yùn)行期情景中經(jīng)歷定時(shí)錯(cuò)誤的電路路徑。這一方法對(duì)于多數(shù)應(yīng)用而言需要極少量DDSR,因此對(duì)電路功率和面積具有很小影響。這一方式可以用來(lái)減少第一代電路設(shè)計(jì)的面市時(shí)間或者適度地增加電路設(shè)計(jì)的性能。電路塊流水線當(dāng)邏輯塊的功能不能在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行時(shí),常常使用流水線式架構(gòu)來(lái)實(shí)施電路設(shè)計(jì)。眾所周知電路流水線包括通過(guò)鐘控的寄存器來(lái)耦合成序列的多個(gè)有順序的元件,其中有順序的元件可以并行或者串行執(zhí)行。在信號(hào)與有順序的元件之間的流水線距離是在信號(hào)與前述有順序的元件之間的任何可能路徑上需要穿越的有順序的元件的最小數(shù)目。對(duì)通過(guò)流水線的距離的這一定義可以用來(lái)確定在電路塊的輸入管腳與給定寄存器之間的距離或者在給定寄存器與塊的輸出管腳之間的距離。在下文中,符號(hào)FFi'J'指代與電路塊的任何輸入管腳有最小距離i而與電路塊的任何輸出管腳有最小距離j的寄存器。類似地,符號(hào)表示FF"—指代無(wú)論寄存器與輸出管腳的距離如何都與輸入管腳有最小距離i的一組寄存器。另外,符號(hào)表示FF—'J'指代無(wú)論寄存器與輸入管腳的距離如何都與輸出管腳有最小距離j的一組寄存器。圖2圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的擴(kuò)充電路塊200。電路塊200實(shí)施擴(kuò)充電路的獨(dú)立鐘控的塊,并且包括電路塊202、輸入復(fù)用器204、輸入緩存器205、第一輸入寄存器206、在電路塊202中的多個(gè)DDSR(例如,DDSR208)和寄存器(例如,寄存器210)、第一輸出寄存器214和第二輸出寄存器212。電路塊200的寄存器206-214形成具有最少三級(jí)的流水線。在這一流水線中,第一輸入寄存器206是FFi的成員,并且可以實(shí)施為普通寄存器或者DDSR。另外,第一輸出寄存器214是FF—'°的成員,第二輸出寄存器212是FF—'1的成員,而輸出寄存器212-214沒(méi)有實(shí)施為DDSR。在一些實(shí)施例中,寄存器212-214可以是來(lái)自電路塊202的初始寄存器流水線的寄存器。在一些其它實(shí)施例中,寄存器212-214可以是在用于電路塊202的初始電路設(shè)計(jì)沒(méi)有實(shí)施具有最少三級(jí)的寄存器流水線時(shí)擴(kuò)充到電路塊202上的寄存器。電路塊200接受全局時(shí)鐘信號(hào)220和全局錯(cuò)誤信號(hào)236,并且生成多個(gè)時(shí)鐘信號(hào)以在進(jìn)行糾錯(cuò)的同時(shí)控制寄存器206-214的定時(shí)。第一輸出寄存器214由局部時(shí)鐘221觸發(fā),第二輸出寄存器212和寄存器206-210由時(shí)鐘222觸發(fā),而輸入緩存器205偶爾由時(shí)鐘223觸發(fā)。另外,電路塊200在糾錯(cuò)操作期間生成擴(kuò)充電路的其它塊可以用來(lái)將它們本身與電路塊200同步的塊級(jí)錯(cuò)誤信號(hào)。以下段落描述由擴(kuò)充系統(tǒng)用來(lái)創(chuàng)建以下電路部件的技術(shù),該電路部件用于生成時(shí)鐘信號(hào)221-223、用于控制用于輸入復(fù)用器204的選擇信號(hào)226、以及用于生成塊級(jí)錯(cuò)誤信號(hào)234。兩階段時(shí)鐘停滯技術(shù)在本發(fā)明的一些實(shí)施例中,擴(kuò)充系統(tǒng)將兩階段時(shí)鐘停滯技術(shù)并入到擴(kuò)充電路中,其中擴(kuò)充電路實(shí)施可以獨(dú)立地時(shí)鐘門控的多個(gè)電路塊200。在一些實(shí)施例中,兩個(gè)時(shí)鐘停滯階段規(guī)定電路塊200如何響應(yīng)檢測(cè)到的錯(cuò)誤如下階段I:檢測(cè)到錯(cuò)誤的所有電路塊200針對(duì)在檢錯(cuò)之后的時(shí)鐘循環(huán)取得立即停滯。階段II:沒(méi)有檢測(cè)到錯(cuò)誤的其余電路塊200針對(duì)在立即停滯之后的時(shí)鐘循環(huán)取得時(shí)鐘停滯。第一時(shí)鐘停滯階段保證在執(zhí)行糾錯(cuò)之前沒(méi)有傳播錯(cuò)誤(糾錯(cuò)在與檢測(cè)到錯(cuò)誤相同的時(shí)鐘循環(huán)中開(kāi)始)。糾正的值可能占用一個(gè)附加時(shí)鐘循環(huán)來(lái)傳播,在某些寄存器處這需要時(shí)鐘停滯以保證錯(cuò)誤值沒(méi)有被鎖存。需要第二階段以在電路塊執(zhí)行糾錯(cuò)操作之后重新同步單獨(dú)鐘控的塊。在下文中,與檢錯(cuò)和糾錯(cuò)操作關(guān)聯(lián)的時(shí)鐘循環(huán)標(biāo)記如下E1表示在電路塊200檢測(cè)到第一錯(cuò)誤時(shí)的時(shí)鐘循環(huán),而E2-E4表示由擴(kuò)充電路用來(lái)執(zhí)行糾錯(cuò)的時(shí)鐘循環(huán)。類似地,沒(méi)有檢測(cè)到錯(cuò)誤(并且沒(méi)有執(zhí)行糾錯(cuò)操作)的擴(kuò)充電路具有按以下對(duì)應(yīng)順序來(lái)標(biāo)記的對(duì)應(yīng)時(shí)鐘循環(huán),該對(duì)應(yīng)順序?yàn)镹E1、NE2、NE3和NE4。例如,如果在第二擴(kuò)充電路中沒(méi)有發(fā)現(xiàn)錯(cuò)誤,則用于第一擴(kuò)充電路的NE1將等效于用于第二擴(kuò)充電路的E1。另外,時(shí)鐘循環(huán)在下文中稱為在時(shí)鐘的采樣轉(zhuǎn)變時(shí)開(kāi)始,而恰在后續(xù)采樣轉(zhuǎn)變之前結(jié)束。由寄存器在給定時(shí)鐘循環(huán)期間鎖存的信號(hào)在相同時(shí)鐘循環(huán)期間傳播到一些其它寄存器的輸入,并且在后續(xù)時(shí)鐘循環(huán)期間鎖存這些輸入。將DDSR插入到電路塊200中取代標(biāo)準(zhǔn)寄存器引入在功率、面積和性能方面的開(kāi)銷。在一些應(yīng)用中,有可能的是針對(duì)特定寄存器插入檢錯(cuò)和糾錯(cuò)邏輯的益處可能沒(méi)有大到足以使該開(kāi)銷具有合理性。因此,本發(fā)明的實(shí)施例沒(méi)有提倡在整個(gè)給定電路設(shè)計(jì)內(nèi)用DDSR取代寄存器。代替的是,針對(duì)電路塊200的關(guān)鍵部分以DDSR作為目標(biāo)。在擴(kuò)充系統(tǒng)的一些應(yīng)用中,可以存在不需要任何DDSR的多個(gè)塊。然而,即使當(dāng)電路塊200無(wú)需DDSR用于檢錯(cuò)時(shí),仍然用兩階段時(shí)鐘停滯技術(shù)實(shí)施它,因而它可以與擴(kuò)充電路的其它電路塊重新同步。擴(kuò)充電路表現(xiàn)在本發(fā)明的一些實(shí)施例中,用于擴(kuò)充電路設(shè)計(jì)的方法可以設(shè)定關(guān)于如何用DDSR對(duì)擴(kuò)充電路的電路塊200進(jìn)行實(shí)施和擴(kuò)充的若干條件。這些條件可以包括Cl-驅(qū)動(dòng)電路塊200的時(shí)鐘信號(hào)222與驅(qū)動(dòng)擴(kuò)充電路中的其它塊的時(shí)鐘信號(hào)分離,并且可以被阻止一個(gè)時(shí)鐘循環(huán)(盡管,電路塊200仍然可以使用輸入緩存器205上的時(shí)鐘信號(hào)223來(lái)接收和緩存?zhèn)魅胼斎胧噶?。C2-DDSR取代不屬于FF—'°或者FF—'1的寄存器。C3-去往FF°'—的輸入矢量緩存到輸入緩存器205中,并且輸入復(fù)用器204在當(dāng)前輸入信號(hào)源228與輸入緩存器205之間選擇。在一種對(duì)這些實(shí)施例的變化中,輸入緩存器205可以由全局時(shí)鐘220鐘控。在另一變化中,輸入緩存器205由時(shí)鐘信號(hào)223鐘控,這通過(guò)僅針對(duì)在檢錯(cuò)之后的時(shí)鐘循環(huán)生成時(shí)鐘脈沖來(lái)減少功率消耗。*C4_在階段I的停滯中(在E2期間),對(duì)于適用電路±央,停滯除了FF—'°和輸入緩存器之外的整個(gè)電路塊200(即,停滯時(shí)鐘信號(hào)222,但是沒(méi)有停滯時(shí)鐘信號(hào)221和223)?!?-在階段11的停滯中(在E3期間),對(duì)于適用塊,停滯整個(gè)電路塊200。在對(duì)這一實(shí)施例的一些變化中,這通過(guò)停滯全局時(shí)鐘信號(hào)220來(lái)實(shí)現(xiàn)。在其它變化中,這通過(guò)停滯電路塊200的時(shí)鐘信號(hào)221-223來(lái)實(shí)現(xiàn)。*C6_組合來(lái)自電路塊200的DDSR的錯(cuò)誤信號(hào)(例如,DDSR錯(cuò)誤224)以形成塊級(jí)錯(cuò)誤信號(hào)234,并且組合來(lái)自擴(kuò)充電路的一組電路塊的塊級(jí)錯(cuò)誤信號(hào)以形成全局錯(cuò)誤信號(hào)236。在本發(fā)明的一些實(shí)施例中,全局錯(cuò)誤信號(hào)236傳播回到用于全局時(shí)鐘信號(hào)220的源,以在階段II的停滯期間停滯每個(gè)獨(dú)立鐘控的塊。C7-輸入復(fù)用器204在經(jīng)歷階段I停滯操作的電路塊中在停滯操作之后的時(shí)鐘循環(huán)期間選擇輸入緩存器205的輸出。除此之外,輸入復(fù)用器204選擇用于所有其它電路塊的輸入信號(hào)源228。在一些實(shí)施例中,電路塊200的表現(xiàn)可能受到與擴(kuò)充系統(tǒng)實(shí)施的檢錯(cuò)和糾錯(cuò)能力關(guān)聯(lián)的若干性質(zhì)的影響。這些性質(zhì)包括Pl-當(dāng)停滯寄存器時(shí)該寄存器沒(méi)有鎖存錯(cuò)誤。P2-如果錯(cuò)誤不可檢測(cè)則它不存在(例如,其中未采用DDSR的寄存器)。'P3-在緊接在停滯操作之后的時(shí)鐘循環(huán)期間沒(méi)有檢測(cè)到定時(shí)錯(cuò)誤(例如,在停滯需要1.5XT時(shí)其允許安排信號(hào)2T,T是時(shí)鐘周期)。三個(gè)塊性質(zhì)Pl-P3表明擴(kuò)充電路塊200在El至E3期間在多于一個(gè)時(shí)鐘循環(huán)中沒(méi)有經(jīng)歷錯(cuò)誤,并且電路塊200在E3期間沒(méi)有經(jīng)歷錯(cuò)誤。以下段落通過(guò)展示系統(tǒng)在E3結(jié)束時(shí)的穩(wěn)定狀態(tài)與在NE2結(jié)束時(shí)的穩(wěn)定狀態(tài)相同來(lái)確定擴(kuò)充電路從檢測(cè)到的錯(cuò)誤中正確地恢復(fù)出來(lái)。實(shí)質(zhì)上,系統(tǒng)在檢測(cè)到錯(cuò)誤之后在三個(gè)時(shí)鐘循環(huán)內(nèi)從錯(cuò)誤中完全地恢復(fù),并且僅耗用一個(gè)時(shí)鐘循環(huán)用于該恢復(fù)過(guò)程。這一展示針對(duì)在檢測(cè)到錯(cuò)誤之后的時(shí)鐘循環(huán)來(lái)說(shuō)明塊的信號(hào)如何表現(xiàn),然后將這些信號(hào)值與對(duì)應(yīng)無(wú)錯(cuò)情況的信號(hào)值相對(duì)照。表1說(shuō)明了當(dāng)兩個(gè)電路塊在后續(xù)全局時(shí)鐘時(shí)段中檢測(cè)到錯(cuò)誤時(shí)的示例性糾錯(cuò)過(guò)程。這一例子與包括輸入握手機(jī)制H1、三個(gè)電路塊(即,B1-B3)和輸出握手機(jī)制H2的擴(kuò)充電路關(guān)聯(lián)。在本例中,電路塊B2在時(shí)鐘時(shí)段1\期間檢測(cè)到定時(shí)錯(cuò)誤,并且啟動(dòng)糾錯(cuò)過(guò)程。糾錯(cuò)過(guò)程的階段I在時(shí)鐘時(shí)段T2期間發(fā)生,其中電路塊B2被停滯以執(zhí)行局部糾錯(cuò)操作。這一停滯操作向電路塊B2提供它從定時(shí)錯(cuò)誤中恢復(fù)所需要的額外時(shí)間。糾錯(cuò)過(guò)程的階段II在時(shí)鐘時(shí)段T3期間發(fā)生,其中電路塊Bl和B3以及握手機(jī)制Hl-H2被停滯,以將它們與電路塊B2同步。作為糾錯(cuò)過(guò)程的結(jié)果,電路塊B2的寄存器在全局時(shí)鐘時(shí)段T2結(jié)束時(shí)鎖存正確值,并且電路塊B2在全局時(shí)鐘時(shí)段T3結(jié)束時(shí)與擴(kuò)充電路的其余部分再次同止少。也在本例中,電路塊B3在時(shí)鐘時(shí)段T2期間經(jīng)歷定時(shí)錯(cuò)誤。然而,由于在時(shí)鐘時(shí)段T3期間停滯電路塊B3,所以它具有充足時(shí)間來(lái)從定時(shí)錯(cuò)誤中恢復(fù)。這一停滯操作防止電路塊B3檢測(cè)到定時(shí)錯(cuò)誤(即,性質(zhì)P3),并且防止它啟動(dòng)新糾錯(cuò)過(guò)程。<table>tableseeoriginaldocumentpage13</column></row><table>表1在一些實(shí)施例中,僅存在幾種在擴(kuò)充電路中可以遇到的塊類型與塊性質(zhì)Pl-P3—致,類型I-在E1期間檢測(cè)錯(cuò)誤的電路塊(例如,表l的電路塊B2)。,類型II-在E2期間檢測(cè)錯(cuò)誤的電路塊(例如,表l的電路塊B3)。類型III-在El、E2或者E3期間沒(méi)有檢測(cè)到任何錯(cuò)誤的電路塊(例如,表1的電路塊B1)。電路塊在El期間操作如下類型I電路塊-塊鎖存與NE1值對(duì)應(yīng)的相同值,并且鎖存一些錯(cuò)誤。-塊在最后兩級(jí)寄存器沒(méi)有經(jīng)歷錯(cuò)誤。類型II和III電路塊-所有信號(hào)值對(duì)應(yīng)于NE1值,因?yàn)樗胁僮髟谶@一點(diǎn)正確,并且所有寄存器都被正常地鐘控。電路塊在E2期間操作如下類型I電路塊-停滯除了寄存器FF—'°之外的所有寄存器。-局部地糾正所有錯(cuò)誤,因而所有停滯的寄存器保留與NE1對(duì)應(yīng)的正確值。-沒(méi)有傳播錯(cuò)誤(S卩,目標(biāo)寄存器沒(méi)有鎖存錯(cuò)誤),因?yàn)闆](méi)有DDSR向鐘控的寄存器饋送,并且沒(méi)有DDSR直接地饋送輸出(即,DDSR向可以停滯的FF—'1和FF—'°饋送)。-FF—'°鎖存與NE2值對(duì)應(yīng)的正確值,該值是由FF—'1寄存器在先前時(shí)鐘節(jié)拍(tick)傳播的。-塊輸入值對(duì)應(yīng)于NE2值。然而,F(xiàn)F°'—沒(méi)有接受輸入矢量(S卩,F(xiàn)F°'—被停滯)。-輸入值由輸入緩存器鎖存(即,輸入緩存器保持與NE2對(duì)應(yīng)的輸入信號(hào))。類型II電路塊-獨(dú)立鐘控的塊鎖存與NE2對(duì)應(yīng)的相同值(其中存在一些錯(cuò)誤)。-獨(dú)立鐘控的塊在塊的輸出沒(méi)有經(jīng)歷錯(cuò)誤(即,輸出信號(hào)值對(duì)應(yīng)于NE2)。類型III電路塊-所有信號(hào)值對(duì)應(yīng)于NE2信號(hào)值,因?yàn)樗胁僮髟谶@一點(diǎn)都是正確的,并且正常地鐘控所有寄存器。電路塊在E3期間操作如下類型I電路塊-鐘控所有寄存器。-FF—'°鎖存與NE2值對(duì)應(yīng)的值,因?yàn)樗妮斎霙](méi)有改變(即,F(xiàn)F—'1繼續(xù)鎖存來(lái)自先前時(shí)鐘循環(huán)的值)。-塊輸入值改變成與呢3值對(duì)應(yīng)的值(8卩,所有塊的輸出在先前時(shí)鐘節(jié)拍期間起動(dòng)NE2信號(hào)值)。-已經(jīng)在El期間停滯的所有寄存器(其鎖存與NE1值對(duì)應(yīng)的值)現(xiàn)在由于停滯而鎖存與NE2值對(duì)應(yīng)的值。_作為一種特殊情況^^—通過(guò)鎖存輸入緩存器的輸出來(lái)鎖存與NE2值對(duì)應(yīng)的值。*類型11電路塊-停滯所有寄存器(包括FF—'",這造成鎖存的值對(duì)應(yīng)于正確NE2值。-塊輸入值對(duì)應(yīng)于NE3值,但是沒(méi)有處理它們。.類型III電路塊_停滯所有寄存器,這造成鎖存的值對(duì)應(yīng)于正確呢2值。-塊輸出值沒(méi)有改變。-輸入值改變成NE3信號(hào)值,但是沒(méi)有處理它們。針對(duì)跨時(shí)鐘循環(huán)El-E3的時(shí)鐘停滯操作而呈現(xiàn)的表現(xiàn)說(shuō)明了在E3期間類型I-ni的電路塊包含與正確NE2值對(duì)應(yīng)的信號(hào)值。另外,假如握手機(jī)制保證電子系統(tǒng)的其它電路部件期望與正確NE2值對(duì)應(yīng)的輸入值,則擴(kuò)充電路將這些信號(hào)值正確地傳播到這些其它電路部件中任何一個(gè)的輸入。^別誇粉番圖3圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的擴(kuò)充電路300的全局錯(cuò)誤傳播電路308。擴(kuò)充電路300包括接收全局時(shí)鐘信號(hào)304并且生成多個(gè)塊級(jí)錯(cuò)誤信號(hào)(例如,塊級(jí)錯(cuò)誤306)的多個(gè)電路塊(例如,電路塊302)。這些塊級(jí)錯(cuò)誤信號(hào)傳播到全局錯(cuò)誤傳播電路308,該電路使用這些塊級(jí)錯(cuò)誤信號(hào)以生成全局級(jí)錯(cuò)誤310,并且將全局級(jí)錯(cuò)誤信號(hào)310傳播到電路塊。在一些情形中,多個(gè)獨(dú)立鐘控的電路塊可能同時(shí)(即,在跨多個(gè)獨(dú)立鐘控的塊的對(duì)應(yīng)時(shí)鐘循環(huán)內(nèi))或者跨多個(gè)時(shí)鐘循環(huán)經(jīng)歷錯(cuò)誤。在這兩種情況中的任一情況下,擴(kuò)充電路將來(lái)自經(jīng)歷錯(cuò)誤的所有電路塊的錯(cuò)誤信號(hào)及時(shí)傳播到所有其它電路塊,以停滯時(shí)鐘信號(hào)的后繼采樣轉(zhuǎn)變。圖4A圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的局部錯(cuò)誤傳播電路400。局部錯(cuò)誤傳播電路400。局部錯(cuò)誤傳播電路400存在于獨(dú)立鐘控的電路塊內(nèi),并且可以通過(guò)組合多個(gè)DDSR錯(cuò)誤404-406與布爾AND邏輯門402來(lái)生成針對(duì)電路塊的塊級(jí)錯(cuò)誤信號(hào)408。在這一實(shí)施例中,DDSR錯(cuò)誤信號(hào)404-406是去往局部錯(cuò)誤傳播電路400的活躍-低輸入信號(hào),而塊級(jí)錯(cuò)誤408是活躍-低輸出信號(hào)。為了適應(yīng)生成活躍_高錯(cuò)誤信號(hào)的DDSR,來(lái)自DDSR的錯(cuò)誤信號(hào)可以通過(guò)將活躍_高錯(cuò)誤信號(hào)反相以生成活躍_低錯(cuò)誤信號(hào),來(lái)耦合到局部錯(cuò)誤傳播電路400的輸入。圖4B圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的全局錯(cuò)誤傳播電路420。全局錯(cuò)誤傳播電路420存在于擴(kuò)充電路內(nèi),并且可以通過(guò)組合多個(gè)塊級(jí)錯(cuò)誤424-426與布爾AND邏輯門422來(lái)為擴(kuò)充電路的獨(dú)立鐘控的電路塊生成全局級(jí)錯(cuò)誤信號(hào)428。在這一實(shí)施例中,塊級(jí)錯(cuò)誤信號(hào)424-426是去往全局錯(cuò)誤傳播電路420的活躍-低輸入信號(hào),而全局級(jí)錯(cuò)誤428是活躍-低輸出信號(hào)。圖4C圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的定時(shí)電路440。擴(kuò)充電路通過(guò)產(chǎn)生用于相應(yīng)電路塊的局部時(shí)鐘信號(hào)448來(lái)對(duì)獨(dú)立鐘控的電路塊內(nèi)的全局時(shí)鐘信號(hào)444進(jìn)行門控。定時(shí)電路440存在于獨(dú)立鐘控的電路塊內(nèi),并且通過(guò)將全局時(shí)鐘444、全局錯(cuò)誤445和塊級(jí)錯(cuò)誤446與布爾AND邏輯門442進(jìn)行組合來(lái)生成用于電路塊的局部時(shí)鐘信號(hào)448。在這一實(shí)施例中,全局錯(cuò)誤445和塊級(jí)錯(cuò)誤446是去往定時(shí)電路440的活躍-低輸入信號(hào),并且在DDSR檢測(cè)到錯(cuò)誤時(shí)造成局部時(shí)鐘448保持為低。在上升時(shí)鐘沿門控輸入值的DDSR在下降時(shí)鐘沿之后生成錯(cuò)誤信號(hào)而輸入時(shí)鐘保持為低。因此,定時(shí)電路440在全局時(shí)鐘444為低時(shí)接收錯(cuò)誤信號(hào)445-446,并且在DDSR斷言錯(cuò)誤信號(hào)之時(shí)防止全局時(shí)鐘444上的上升時(shí)鐘沿傳播到局部時(shí)鐘448。為了適應(yīng)在下降時(shí)鐘沿對(duì)輸入信號(hào)進(jìn)行門控的寄存器(例如,在上升時(shí)鐘沿之后生成錯(cuò)誤信號(hào)的DDSR),DDSR的時(shí)鐘輸入可以耦合到通過(guò)將局部時(shí)鐘448反相而生成的時(shí)鐘信號(hào)。圖4D圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的局部錯(cuò)誤傳播電路450。局部錯(cuò)誤傳播電路450存在于獨(dú)立鐘控的電路塊內(nèi),并且可以通過(guò)組合多個(gè)DDSR錯(cuò)誤信號(hào)454-456與布爾OR邏輯門452來(lái)生成針對(duì)電路塊的塊級(jí)錯(cuò)誤信號(hào)458。在這一實(shí)施例中,DDSR錯(cuò)誤信號(hào)454-456是去往局部錯(cuò)誤傳播電路450的活躍-高輸入信號(hào),而塊級(jí)錯(cuò)誤458是活躍-高輸出信號(hào)。為了適應(yīng)生成活躍-低錯(cuò)誤信號(hào)的DDSR,來(lái)自DDSR的錯(cuò)誤信號(hào)可以通過(guò)將活躍_低錯(cuò)誤信號(hào)反相以產(chǎn)生活躍_高錯(cuò)誤信號(hào)來(lái)耦合到局部錯(cuò)誤傳播電路450的輸入。圖4E圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的全局錯(cuò)誤傳播電路460。全局錯(cuò)誤傳播電路460存在于擴(kuò)充電路內(nèi),并且可以通過(guò)組合多個(gè)塊級(jí)錯(cuò)誤464-466與布爾0R邏輯門462來(lái)為擴(kuò)充電路的獨(dú)立鐘控的電路塊生成全局級(jí)錯(cuò)誤信號(hào)468。在這一實(shí)施例中,塊級(jí)錯(cuò)誤信號(hào)464-466是去往全局錯(cuò)誤傳播電路460的活躍-高輸入信號(hào),而全局級(jí)錯(cuò)誤468是活躍-高輸出信號(hào)。圖4F圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的定時(shí)電路470。擴(kuò)充電路通過(guò)為相應(yīng)電路塊產(chǎn)生局部時(shí)鐘信號(hào)478來(lái)對(duì)獨(dú)立鐘控的電路塊內(nèi)的全局時(shí)鐘信號(hào)474進(jìn)行門控。定時(shí)電路470存在于獨(dú)立鐘控的電路塊內(nèi),并且通過(guò)組合全局時(shí)鐘474、全局錯(cuò)誤475和塊級(jí)錯(cuò)誤476與布爾OR邏輯門472來(lái)生成用于電路塊的局部時(shí)鐘信號(hào)478。在這一實(shí)施例中,全局錯(cuò)誤475和塊級(jí)錯(cuò)誤476是去往定時(shí)電路470的活躍-高輸入信號(hào),并且在DDSR檢測(cè)到錯(cuò)誤時(shí)造成局部時(shí)鐘478保持為高。在下降時(shí)鐘沿門控輸入值的DDSR在上升時(shí)鐘沿之后生成錯(cuò)誤信號(hào),而同時(shí)輸入時(shí)鐘保持為高。因此,定時(shí)電路470在全局時(shí)鐘474為高時(shí)接收錯(cuò)誤信號(hào)475-476,并且在DDSR斷言錯(cuò)誤信號(hào)時(shí)防止全局時(shí)鐘474上的下降時(shí)鐘沿傳播到局部時(shí)鐘478。為了適應(yīng)在上升時(shí)鐘沿門控輸入信號(hào)的寄存器(例如,在下降時(shí)鐘沿之后生成錯(cuò)誤信號(hào)的DDSR),DDSR的時(shí)鐘輸入可以耦合到通過(guò)將局部時(shí)鐘478反相而生成的時(shí)鐘信號(hào)。圖5A圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的四級(jí)布爾AND運(yùn)算500。通過(guò)布爾邏輯門(例如,邏輯門502-504)的多層NAND-N0R配置來(lái)實(shí)施布爾AND運(yùn)算500。在對(duì)這一實(shí)施例的一些變化中,布爾AND運(yùn)算500可以實(shí)施為具有少數(shù)邏輯級(jí)的寬邏輯門。這一實(shí)施提供最佳性能,因?yàn)檫壿嬮T的晶體管就一個(gè)邏輯門的典型扇出而言具有恒定輸出負(fù)載,并且用于l到0的輸入信號(hào)轉(zhuǎn)變的關(guān)鍵路徑通過(guò)NAND和NOR邏輯門的并行晶體管(例如,圖5B的網(wǎng)絡(luò)532-534)傳播。在布爾AND運(yùn)算500的四層實(shí)施中,邏輯門的第一層接受與用于布爾AND運(yùn)算500的輸入對(duì)應(yīng)的多個(gè)輸入信號(hào)(例如,輸入信號(hào)506),而第四層實(shí)施為單個(gè)布爾N0R邏輯門,該邏輯門生成與用于布爾AND運(yùn)算500的輸出對(duì)應(yīng)的輸出信號(hào)508。圖5B圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)施四級(jí)布爾AND運(yùn)算500的晶體管電路520。上拉網(wǎng)絡(luò)530和下拉網(wǎng)絡(luò)532—起實(shí)施布爾NAND邏輯門502。類似地,上拉網(wǎng)絡(luò)534和下拉網(wǎng)絡(luò)536—起實(shí)施布爾NOR邏輯門504。在本發(fā)明的一些實(shí)施例中,優(yōu)化用于布爾AND操作500的CMOS(互補(bǔ)金屬氧化物半導(dǎo)體)實(shí)施以便傳播錯(cuò)誤信號(hào)的使能(enabling)轉(zhuǎn)變。對(duì)于在信號(hào)轉(zhuǎn)變從邏輯值1轉(zhuǎn)變成邏輯值0時(shí)發(fā)生的使能轉(zhuǎn)變,通過(guò)晶體管電路520的時(shí)間關(guān)鍵路徑通過(guò)上拉網(wǎng)絡(luò)530和下拉網(wǎng)絡(luò)536傳播。換而言之,時(shí)間關(guān)鍵路徑通過(guò)邏輯門502-504中的并聯(lián)晶體管之一傳播,由此避免一般較慢的晶體管棧。因此,可以通過(guò)偏置CMOS電路來(lái)針對(duì)使能輸入轉(zhuǎn)變優(yōu)化用于邏輯門502-504的CMOS實(shí)施。為了這樣做,棧晶體管網(wǎng)絡(luò)(例如,下拉網(wǎng)絡(luò)532和上拉網(wǎng)絡(luò)534)可以被配置成比并聯(lián)晶體管網(wǎng)絡(luò)(例如,上拉網(wǎng)絡(luò)530和下拉網(wǎng)絡(luò)536)更弱的拉動(dòng)。這一優(yōu)化是可能的,因?yàn)閷?shí)施布爾AND操作的邏輯門無(wú)需平衡的延遲。在本發(fā)明的一些實(shí)施例中,可以基于用于實(shí)施布爾AND操作500的類似技術(shù)來(lái)實(shí)施四級(jí)布爾OR運(yùn)算。例如,可以通過(guò)將第一級(jí)布爾NOR邏輯門的輸出信號(hào)耦合到第二級(jí)布爾NAND邏輯門的輸入信號(hào),來(lái)實(shí)施二級(jí)布爾OR運(yùn)算。另外,可以基于上述用于實(shí)施布爾NAND邏輯門502和布爾NOR邏輯門504的技術(shù),來(lái)構(gòu)造用于四級(jí)布爾OR運(yùn)算的布爾NAND和布爾NOR邏輯門的CMOS實(shí)施。通過(guò)這樣做,針對(duì)布爾OR運(yùn)算的CMOS實(shí)施被優(yōu)化,以便傳播在錯(cuò)誤信號(hào)從邏輯值0轉(zhuǎn)變成邏輯值1時(shí)活躍-高錯(cuò)誤信號(hào)發(fā)生的使能轉(zhuǎn)變。下文按照四扇出(F04)延遲來(lái)表達(dá)通過(guò)門和互連的延遲。F04延遲是載有四個(gè)同尺寸反相器的反相器的延遲。在用失衡上拉和下拉網(wǎng)絡(luò)實(shí)施邏輯門的情況下,該延遲是針對(duì)0到1和1到0的信號(hào)轉(zhuǎn)變的延遲的平均。針對(duì)柃錯(cuò)和糾錯(cuò)電路的物理約束圖6圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于擴(kuò)充電路600的多個(gè)傳播路徑602-604。錯(cuò)誤信號(hào)傳播路徑604反映DDSR錯(cuò)誤信號(hào)622在它傳播回到DDSR620時(shí)穿越的路徑。錯(cuò)誤信號(hào)傳播路徑604穿越塊級(jí)錯(cuò)誤信號(hào)624和局部時(shí)鐘信號(hào)628,并且傳播的值還受擴(kuò)充電路600的全局時(shí)鐘信號(hào)626影響。邏輯傳播路徑602反映在信號(hào)通過(guò)寄存器606-612的流水線傳播時(shí)通過(guò)邏輯614-618的延遲。這些傳播路徑對(duì)擴(kuò)充電路設(shè)定兩個(gè)定時(shí)約束。第一約束應(yīng)用于電路設(shè)計(jì)的擴(kuò)充電路塊而不是整個(gè)芯片。在這一配置之下,局部錯(cuò)誤信號(hào)與局部獨(dú)立門控的時(shí)鐘源爭(zhēng)相停止后繼采樣轉(zhuǎn)變。下文將該約束場(chǎng)景稱為"塊內(nèi)"約束。第二約束涉及到在擴(kuò)充電路塊生成全局錯(cuò)誤信號(hào),并且在一個(gè)時(shí)鐘周期內(nèi)將全局錯(cuò)誤信號(hào)傳播回到擴(kuò)充電路的獨(dú)立鐘控的塊。下文也將第二約束稱為"塊間"約束。在以下段落中,為時(shí)鐘和錯(cuò)誤信號(hào)導(dǎo)出傳播約束。這些傳播約束對(duì)應(yīng)于多個(gè)電路設(shè)計(jì)假設(shè),并且導(dǎo)出的約束值可以隨著不同假設(shè)而因電路設(shè)計(jì)而變化。這些傳播約束可以影響用于電路塊的可能尺度,由此在用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)時(shí)影響如何將電路設(shè)計(jì)分割為多個(gè)獨(dú)立鐘控的塊。塊內(nèi)約束源于如下觀察由于不能使用DDSR來(lái)實(shí)施局部鐘控電路塊的最后兩級(jí)寄存器,所以該塊需要至少三個(gè)流水線級(jí)以將DDSR包括到塊流水線中。因此,該塊必須具有足以支持三級(jí)流水線的復(fù)雜度,其中一個(gè)理想傳播延遲大于3T(T是時(shí)鐘周期)。將電路的定時(shí)約束與電路的物理尺度約束相聯(lián)系要求考慮信號(hào)傳播速度可以怎樣隨著不同類別的電路而變化。例如,以下假設(shè)允許計(jì)算通過(guò)相對(duì)稠密的邏輯的信號(hào)傳播速度1.將邏輯門以直線對(duì)準(zhǔn),2.某一白空間與單元之比(例如,33%),3.將成為F04延遲的平均門延遲。這些假設(shè)將它們本身運(yùn)用于計(jì)算在F04上通過(guò)邏輯的信號(hào)傳播速度,該信號(hào)傳播速度以CW單位(通常為微米)表達(dá)S邏輯二L33XCW。類似地,本發(fā)明的一些實(shí)施例可以根據(jù)實(shí)際時(shí)鐘樹信息來(lái)計(jì)算通過(guò)時(shí)鐘分布的信號(hào)傳播速度,而其它實(shí)施例可以基于一些預(yù)定假設(shè)來(lái)計(jì)算信號(hào)傳播速度。例如,可以基于通過(guò)另一類電路的速度來(lái)近似通過(guò)時(shí)鐘分布的信號(hào)傳播速度為了接近最佳延遲而插入反相器的傳輸線。眾所周知存在介于16于40個(gè)F04延遲之間的任意流水線級(jí)的延遲,其中更小延遲提供更大膽的電路設(shè)計(jì)(即,更接近定制設(shè)計(jì)性能)。為了使電路設(shè)計(jì)適應(yīng)具有這些延遲的流水線級(jí),因而針對(duì)錯(cuò)誤信號(hào)傳播的延遲加上時(shí)鐘分布延遲應(yīng)當(dāng)少于8到20個(gè)F04延遲。根據(jù)前一節(jié),可以有把握地認(rèn)為錯(cuò)誤信號(hào)傳播少于4個(gè)F04延遲。因此,塊應(yīng)當(dāng)小到足以可以在4到16個(gè)F04延遲內(nèi)傳播時(shí)鐘分布。換而言之,考慮在時(shí)鐘源處于中心的情況下使用曼哈頓路由來(lái)實(shí)施的方塊,時(shí)鐘信號(hào)需要在少于4到16個(gè)F04時(shí)間內(nèi)越過(guò)塊的寬度。同時(shí),穿過(guò)邏輯的信號(hào)可能經(jīng)歷比48到120個(gè)F04延遲更大的延遲(即,至少三個(gè)流水線級(jí))??梢跃屯ㄟ^(guò)相應(yīng)電路類別的信號(hào)在允許時(shí)間內(nèi)越過(guò)的距離方面來(lái)記下物理約束。在示例性電路中,時(shí)鐘信號(hào)具有約4到16個(gè)F04的時(shí)間來(lái)越過(guò)比通過(guò)邏輯的信號(hào)可以在48到120個(gè)F04的時(shí)間越過(guò)的距離更大的距離,這意味著[o"e]距離時(shí)鐘>距離邏輯這里使用符號(hào)表示"S,/'來(lái)記下時(shí)鐘信號(hào)傳播的速度,而使用符號(hào)表示"4...16(F04)"來(lái)記下針對(duì)時(shí)鐘信號(hào)的4到16個(gè)F04時(shí)間的近似延遲。類似地,這里使用符號(hào)表示"Sgg"來(lái)記下通過(guò)邏輯傳播邏輯信號(hào)的速度,而使用符號(hào)表示"48...120(F04)"來(lái)記下用于傳播信號(hào)的48到120個(gè)F04時(shí)間的近似延遲。使用這一符號(hào)表示,時(shí)鐘信號(hào)之間行進(jìn)的距離與通過(guò)邏輯的信號(hào)所行進(jìn)的距離之間的關(guān)系意味著S時(shí)鐘X4.16(F04)>S邏輯X48.120(F04)。觀察到高性能設(shè)計(jì)有更高要求,時(shí)鐘信號(hào)的傳播速度與邏輯信號(hào)的傳播速度之間的約束采用以下形式S時(shí)鐘/S邏輯〉12。方法效果在本發(fā)明的一些實(shí)施例中,擴(kuò)充系統(tǒng)向擴(kuò)充電路提供可以用于諸多應(yīng)用的進(jìn)行檢錯(cuò)和糾錯(cuò)的能力1.可以設(shè)計(jì)電路以在給定功率/性能裕度內(nèi)操作,并且能夠在最壞情況的設(shè)計(jì)裕度參數(shù)之下可靠地工作。因此,擴(kuò)充系統(tǒng)使電路能夠獲得比未用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充的電路更好的功率/性能權(quán)衡。另外,通過(guò)制造的如下電路來(lái)改善電路設(shè)計(jì)的制作產(chǎn)量,這些電路利用由擴(kuò)充系統(tǒng)并入到電路設(shè)計(jì)中的自糾正性質(zhì)。2.可以通過(guò)更早終止電路優(yōu)化過(guò)程來(lái)改善電路設(shè)計(jì)的面市時(shí)間??梢酝ㄟ^(guò)用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充電路設(shè)計(jì)的關(guān)鍵路徑,而不是對(duì)這些關(guān)鍵路徑進(jìn)行優(yōu)化以使它們能夠在設(shè)計(jì)裕度內(nèi)操作,來(lái)節(jié)省時(shí)間。在不僅可以按照實(shí)際松弛值而且可以按照變得關(guān)鍵的概率對(duì)關(guān)鍵路徑進(jìn)行排序時(shí),這一方法變得引人關(guān)注。例如,可以用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充由信號(hào)噪聲引入明顯延遲的長(zhǎng)路徑,而不是執(zhí)行侵犯方(aggressor)對(duì)準(zhǔn)以使侵犯方引入的噪聲電平最小。有可能的是可以在用檢錯(cuò)和糾錯(cuò)能力擴(kuò)充時(shí)允許所有芯片作為正常操作模式進(jìn)入檢錯(cuò)/糾錯(cuò)循環(huán)。3.擴(kuò)充電路可以與可變電源、頻率和本體偏置組合以使基本電路設(shè)計(jì)的性能最高。在對(duì)這些實(shí)施例的一些變化中,擴(kuò)充系統(tǒng)可以通過(guò)在電路設(shè)計(jì)中創(chuàng)建如下島狀物來(lái)擴(kuò)充電路設(shè)計(jì),可以獨(dú)立地調(diào)節(jié)這些島狀物以使制造的電路的功率消耗最小。因?yàn)榭梢灶A(yù)先確定錯(cuò)誤位置,并且可以將針對(duì)各種性能參數(shù)的調(diào)節(jié)預(yù)先編程到擴(kuò)充電路中,這一擴(kuò)展是可能的。在更多變化中,這一設(shè)計(jì)方式可以用來(lái)應(yīng)對(duì)擴(kuò)充電路的老化。4.對(duì)于可以提供多個(gè)產(chǎn)品副品(spin)的公司,擴(kuò)充系統(tǒng)可以擴(kuò)充電路設(shè)計(jì)以使18初始產(chǎn)品副品的風(fēng)險(xiǎn)最小,并且可以在已經(jīng)驗(yàn)證性能或者已經(jīng)優(yōu)化電路設(shè)計(jì)之后被去除。在本發(fā)明的一些實(shí)施例中,擴(kuò)充系統(tǒng)可以作為對(duì)給定電路設(shè)計(jì)進(jìn)行擴(kuò)充的多個(gè)EDA工具能力而存在。在對(duì)這些實(shí)施例的一些變化中,第一工具能力允許電路優(yōu)化過(guò)程將DDSR插入到電路設(shè)計(jì)中而不是需要加大電路設(shè)計(jì)尺寸或者必須對(duì)電路設(shè)計(jì)重新定時(shí)。從功率/性能觀點(diǎn)來(lái)看,制造的電路應(yīng)當(dāng)在錯(cuò)誤率最小的情況下工作。然而,并入過(guò)多DDSR和依賴于其糾錯(cuò)能力的電路設(shè)計(jì)為了實(shí)現(xiàn)最優(yōu)功率或者性能等級(jí)而經(jīng)歷過(guò)多錯(cuò)誤的可能性高。另外,假如DDSR與標(biāo)準(zhǔn)寄存器相比具有更大尺寸和功率消耗,假如一些電路實(shí)現(xiàn)也需要最少延遲緩存器,并且假如擴(kuò)充電路將需要額外邏輯,則用DDSR擴(kuò)充電路設(shè)計(jì)會(huì)增加電路的制造和運(yùn)行期成本。因此,選擇一組最優(yōu)的寄存器以使用DDSR來(lái)進(jìn)行實(shí)施需要一種靜態(tài)定時(shí)分析工具,其能夠在電路路徑變得關(guān)鍵的概率方面來(lái)區(qū)分它們的優(yōu)先級(jí)。這一第一工具能力涉及給定電路設(shè)計(jì)的產(chǎn)量(即,給定關(guān)鍵路徑可能影響的制造芯片的比例)、與邏輯概率(即,在將兩個(gè)數(shù)相乘時(shí)最高有效位(MSB)有多頻繁地切換)關(guān)聯(lián)的效果以及侵犯方對(duì)準(zhǔn)概率(即,如果給定路徑僅在5個(gè)或者更多侵犯方對(duì)準(zhǔn)時(shí)才變得關(guān)鍵則可以確定它具有低的權(quán)重)。在對(duì)這些實(shí)施例的一些變化中,無(wú)需這一工具功能以產(chǎn)生準(zhǔn)確路徑優(yōu)先級(jí)從而提升高效工具運(yùn)行期,而在其它實(shí)施例中,這一工具被配置為產(chǎn)生準(zhǔn)確路徑優(yōu)先級(jí)從而保證檢錯(cuò)和糾錯(cuò)能力的最佳性能。在本發(fā)明的一些實(shí)施例中,第二工具能力以遵循前述定時(shí)約束C1-C7的方式將電路設(shè)計(jì)自動(dòng)地分割為獨(dú)立鐘控的塊。在這些實(shí)施例的一些變化中,這一第二工具能力在分割電路設(shè)計(jì)時(shí)利用分級(jí)電路設(shè)計(jì)的模塊邊界作為向?qū)?。在本發(fā)明的一些實(shí)施例中,擴(kuò)充電路的塊級(jí)獨(dú)立門控的時(shí)鐘和定時(shí)約束進(jìn)一步設(shè)置對(duì)時(shí)鐘樹合成工具和對(duì)布局布線(place-and-route)工具的更多約束。重要的是這兩種工具使給定塊內(nèi)的塊傳播延遲最小,并且優(yōu)化單元布置以使塊面積最小。圖7呈現(xiàn)如下流程圖,該流程示了根據(jù)本發(fā)明一個(gè)實(shí)施例的為了擴(kuò)充電路以檢測(cè)和糾正定時(shí)錯(cuò)誤而由計(jì)算機(jī)系統(tǒng)執(zhí)行的過(guò)程。該系統(tǒng)從將電路分割為一組塊開(kāi)始(操作702)。接著,該系統(tǒng)將錯(cuò)誤信號(hào)傳播電路集成到擴(kuò)充電路中以耦合來(lái)自這一組塊的錯(cuò)誤信號(hào)(操作704)。然后對(duì)于相應(yīng)電路塊(操作706),該系統(tǒng)確定將被實(shí)施為DDSR的一組寄存器(操作708)并且用DDSR取代該寄存器集合(操作710)。該系統(tǒng)還將兩階段糾錯(cuò)電路集成到相應(yīng)電路塊中(操作712),并且將定時(shí)電路集成到相應(yīng)電路塊中(操作714)。注意可以同時(shí)或者按任何順序執(zhí)行操作708-714。圖8呈現(xiàn)如下流程圖,該流程示了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于配置擴(kuò)充電路的電路塊以檢測(cè)和糾正定時(shí)錯(cuò)誤而由計(jì)算機(jī)系統(tǒng)執(zhí)行的過(guò)程。該系統(tǒng)同時(shí)或者按任何順序執(zhí)行多個(gè)操作802-812。在一個(gè)操作中,該系統(tǒng)配置電路塊的多個(gè)內(nèi)部寄存器,以在第一或者第二停滯階段期間停滯(操作802)。在第二操作中,該系統(tǒng)配置電路塊的輸入緩存器,以在第一停滯階段期間對(duì)信號(hào)值進(jìn)行采樣和保持(操作804)。在第三操作中,該系統(tǒng)配置輸入復(fù)用器,以在第二停滯階段期間選擇輸入緩存器的輸出(操作806)。在第四操作中,該系統(tǒng)配置輸入復(fù)用器以在電路塊不在第二停滯階段中時(shí)選擇輸入信號(hào)源(操作808)。在第五操作中,該系統(tǒng)配置第一輸出寄存器以在第二停滯階段期間停滯(操作810)。在第六操作中,該系統(tǒng)配置第二輸出寄存器以在第一或者第二停滯階段期間停滯(操作812)。圖9呈現(xiàn)如下流程圖,該流程示了根據(jù)本發(fā)明一個(gè)實(shí)施例的由擴(kuò)充電路執(zhí)行的用于檢測(cè)和糾正定時(shí)錯(cuò)誤的過(guò)程。擴(kuò)充電路首先確定第一電路塊的DDSR是否檢測(cè)到錯(cuò)誤(操作902)。如果沒(méi)有檢測(cè)到錯(cuò)誤,則擴(kuò)充電路觸發(fā)第一電路塊中的輸入復(fù)用器,以選擇用于電路塊的輸入信號(hào)源(操作904)。否則,如果檢測(cè)到錯(cuò)誤,則擴(kuò)充電路在檢錯(cuò)之后的時(shí)鐘循環(huán)期間啟動(dòng)第一停滯階段。在這一第一停滯階段期間,擴(kuò)充電路停滯第一電路塊中除了第一輸出寄存器之外的所有寄存器,并且觸發(fā)第一電路塊中的輸入緩存器以鎖存輸入信號(hào)值(操作906)。然后,擴(kuò)充電路在第一停滯階段之后的時(shí)鐘循環(huán)期間啟動(dòng)第二停滯階段。在這一第二停滯階段期間,擴(kuò)充電路停滯除了第一電路塊之外的所有電路塊中的所有寄存器、停滯第一電路塊中的第一和第二輸出寄存器、并且觸發(fā)第一電路塊的輸入復(fù)用器,以選擇輸入緩存器的輸出信號(hào)(操作908)。i十纖碰圖10圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的有助于擴(kuò)充電路檢測(cè)和糾正定時(shí)錯(cuò)誤的示例性計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)1002包括處理器1004、存儲(chǔ)器1006和存儲(chǔ)設(shè)備1008。另外,計(jì)算機(jī)系統(tǒng)1002可以耦合到顯示設(shè)備1010和輸入設(shè)備1011。存儲(chǔ)設(shè)備1008存儲(chǔ)操作系統(tǒng)1012、電路擴(kuò)充系統(tǒng)1014、電路設(shè)計(jì)1018、多個(gè)覆蓋目標(biāo)1020、多個(gè)項(xiàng)目配置1022和擴(kuò)充電路1024。在一個(gè)實(shí)施例中,IC擴(kuò)充系統(tǒng)1014包括圖形用戶接口(GUI)模塊1016。在操作期間,將IC擴(kuò)充系統(tǒng)1014從存儲(chǔ)設(shè)備1008加載到存儲(chǔ)器1006中并且由處理器1004執(zhí)行。電路擴(kuò)充系統(tǒng)1014將電路設(shè)計(jì)1018以及多個(gè)覆蓋目標(biāo)1020和多個(gè)項(xiàng)目配置1022作為輸入,并且生成包括定時(shí)錯(cuò)誤檢測(cè)和糾正能力的擴(kuò)充電路1024。已經(jīng)僅出于示例和描述的目的而呈現(xiàn)了對(duì)本發(fā)明實(shí)施例的前文描述。本意并非讓它們窮舉本發(fā)明或者將本發(fā)明限于公開(kāi)的形式。因而,本領(lǐng)域技術(shù)人員將清楚許多修改和變化。此外,本意并非讓上述公開(kāi)內(nèi)容限制本發(fā)明。本發(fā)明的范圍由所附權(quán)利要求限定。20權(quán)利要求一種用于擴(kuò)充電路以檢測(cè)和糾正定時(shí)錯(cuò)誤的方法,所述方法包括將所述電路分割為一組塊,其中相應(yīng)塊由局部時(shí)鐘信號(hào)來(lái)鐘控;在所述一組塊之間集成錯(cuò)誤信號(hào)傳播電路;以及對(duì)于相應(yīng)塊確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組內(nèi)部寄存器,其中給定的雙倍數(shù)據(jù)采樣寄存器被配置成在它檢測(cè)到定時(shí)錯(cuò)誤時(shí)生成錯(cuò)誤信號(hào);用雙倍數(shù)據(jù)采樣寄存器取代所確定的一組內(nèi)部寄存器;將兩階段糾錯(cuò)電路集成到所述相應(yīng)塊中,其中在被雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤時(shí),所述兩階段糾錯(cuò)電路被配置成停滯所述相應(yīng)塊中的寄存器;以及將根據(jù)全局時(shí)鐘信號(hào)和所述錯(cuò)誤信號(hào)來(lái)生成所述局部時(shí)鐘信號(hào)的定時(shí)電路集成到所述相應(yīng)塊中。2.根據(jù)權(quán)利要求1所述的方法,其中將所述兩階段糾錯(cuò)電路集成到所述相應(yīng)塊中包括配置所述相應(yīng)塊的內(nèi)部寄存器以在所述兩階段糾錯(cuò)電路的第一或者第二停滯階段期間停滯;配置輸入緩存器以在所述第一停滯階段期間對(duì)所述相應(yīng)塊的輸入信號(hào)源的信號(hào)值進(jìn)行采樣和保持;配置輸入復(fù)用器以在所述第二停滯階段期間選擇所述輸入緩存器的輸出信號(hào),并且除此之外選擇用于所述相應(yīng)塊的輸入信號(hào)源,其中所述輸入復(fù)用器的輸出耦合到所述相應(yīng)塊的主輸入信號(hào);配置第一輸出寄存器以在所述兩階段糾錯(cuò)電路的所述第二停滯階段期間停滯,其中所述第一輸出寄存器的輸出信號(hào)耦合到所述相應(yīng)塊的主輸出信號(hào);以及配置第二輸出寄存器以在所述兩階段糾錯(cuò)電路的所述第一或者第二停滯階段期間停滯,其中所述第二輸出寄存器的輸出信號(hào)耦合到所述第一輸出寄存器的輸入信號(hào)。3.根據(jù)權(quán)利要求2所述的方法,其中所述兩階段糾錯(cuò)電路針對(duì)在雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤之后的時(shí)鐘循環(huán)激活所述第一停滯階段。4.根據(jù)權(quán)利要求3所述的方法,其中所述兩階段糾錯(cuò)電路針對(duì)在所述第一停滯階段之后的時(shí)鐘循環(huán)激活所述第二停滯階段。5.根據(jù)權(quán)利要求1所述的方法,其中確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組寄存器包括選擇檢錯(cuò)覆蓋范圍,所述檢錯(cuò)覆蓋范圍指定相應(yīng)塊中將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的寄存器的比例;確定所述相應(yīng)塊中在所需頻率難以設(shè)計(jì)的關(guān)鍵路徑;以及從所述確定的關(guān)鍵路徑選擇多個(gè)寄存器,使得選擇的寄存器的比例落在所述選擇的檢錯(cuò)覆蓋范圍內(nèi)。6.根據(jù)權(quán)利要求1所述的方法,其中在所述一組塊之間集成錯(cuò)誤信號(hào)傳播電路包括通過(guò)使用第一邏輯電路來(lái)組合由相應(yīng)塊的所述雙倍數(shù)據(jù)采樣寄存器生成的所述錯(cuò)誤信號(hào),從而生成針對(duì)相應(yīng)塊的塊級(jí)錯(cuò)誤信號(hào),其中所述第一邏輯電路在由所述雙倍數(shù)據(jù)采樣寄存器生成的至少一個(gè)所述錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí),將錯(cuò)誤值傳播到所述塊級(jí)錯(cuò)誤信號(hào)上;以及通過(guò)使用第二邏輯電路來(lái)組合來(lái)自所述一組塊的塊級(jí)錯(cuò)誤信號(hào)來(lái)生成全局錯(cuò)誤信號(hào),其中所述第二邏輯電路在至少一個(gè)所述塊級(jí)錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí)將錯(cuò)誤值傳播到所述全局錯(cuò)誤信號(hào)上。7.根據(jù)權(quán)利要求6所述的方法,其中所述相應(yīng)塊的所述定時(shí)電路基于所述塊級(jí)錯(cuò)誤信號(hào)、所述全局錯(cuò)誤信號(hào)和所述全局時(shí)鐘信號(hào)來(lái)生成所述局部時(shí)鐘信號(hào);其中所述定時(shí)電路在所述塊級(jí)錯(cuò)誤信號(hào)和所述全局錯(cuò)誤信號(hào)的信號(hào)值不是錯(cuò)誤值時(shí)將所述全局時(shí)鐘信號(hào)傳播到所述局部時(shí)鐘信號(hào)上;以及其中所述定時(shí)電路在所述塊級(jí)錯(cuò)誤信號(hào)或者所述全局錯(cuò)誤信號(hào)中的至少一個(gè)的信號(hào)值是錯(cuò)誤值時(shí)阻止所述全局時(shí)鐘信號(hào)的時(shí)鐘信號(hào)轉(zhuǎn)變傳播到所述局部時(shí)鐘信號(hào)上。8.—種用于擴(kuò)充電路以檢測(cè)和糾正定時(shí)錯(cuò)誤的設(shè)備,所述設(shè)備包括分割裝置,用于將所述電路分割為一組塊,其中相應(yīng)塊由局部時(shí)鐘信號(hào)鐘控;第一集成裝置,用于在所述一組塊之間集成錯(cuò)誤信號(hào)傳播電路;以及對(duì)于相應(yīng)塊確定裝置,用于確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組內(nèi)部寄存器,其中給定的雙倍數(shù)據(jù)采樣寄存器被配置成在它檢測(cè)到定時(shí)錯(cuò)誤時(shí)生成錯(cuò)誤信號(hào);取代裝置,用于用雙倍數(shù)據(jù)采樣寄存器取代所述確定的一組內(nèi)部寄存器;第二集成裝置,用于將兩階段糾錯(cuò)電路集成到所述相應(yīng)塊中,其中在被雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤時(shí),所述兩階段糾錯(cuò)電路被配置成停滯所述相應(yīng)塊中的寄存器;以及第三集成裝置,用于將根據(jù)全局時(shí)鐘信號(hào)和所述錯(cuò)誤信號(hào)來(lái)生成所述局部時(shí)鐘信號(hào)的定時(shí)電路集成到所述相應(yīng)塊中。9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述第二集成裝置包括第一配置裝置,用于配置所述相應(yīng)塊的內(nèi)部寄存器以在所述兩階段糾錯(cuò)電路的第一或者第二停滯階段期間停滯;第二配置裝置,用于配置輸入緩存器以在所述第一停滯階段期間對(duì)所述相應(yīng)塊的輸入信號(hào)源的信號(hào)值進(jìn)行采樣和保持;第三配置裝置,用于配置輸入復(fù)用器以在所述第二停滯階段期間選擇所述輸入緩存器的輸出信號(hào),并且除此之外選擇用于所述相應(yīng)塊的輸入信號(hào)源,其中所述輸入復(fù)用器的輸出耦合到所述相應(yīng)塊的主輸入信號(hào);第四配置裝置,用于配置第一輸出寄存器以在所述兩階段糾錯(cuò)電路的所述第二停滯階段期間停滯,其中所述第一輸出寄存器的輸出信號(hào)耦合到所述相應(yīng)塊的主輸出信號(hào);以及第五配置裝置,用于配置第二輸出寄存器以在所述兩階段糾錯(cuò)電路的所述第一或者第二停滯階段期間停滯,其中所述第二輸出寄存器的輸出信號(hào)耦合到所述第一輸出寄存器的輸入信號(hào)。10.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述兩階段糾錯(cuò)電路針對(duì)在雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤之后的時(shí)鐘循環(huán)激活所述第一停滯階段。11.根據(jù)權(quán)利要求io所述的設(shè)備,其中所述兩階段糾錯(cuò)電路針對(duì)在所述第一停滯階段之后的時(shí)鐘循環(huán)激活所述第二停滯階段。12.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述確定裝置包括第一選擇裝置,用于選擇檢錯(cuò)覆蓋范圍,所述檢錯(cuò)覆蓋范圍指定相應(yīng)塊中將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的寄存器的比例;關(guān)鍵路徑確定裝置,用于確定所述相應(yīng)塊中在所需頻率難以設(shè)計(jì)的關(guān)鍵路徑;以及第二選擇裝置,用于從所述確定的關(guān)鍵路徑選擇多個(gè)寄存器,從而選擇的寄存器的比例落在所述選擇的檢錯(cuò)覆蓋范圍內(nèi)。13.根據(jù)權(quán)利要求8所述的設(shè)備,其中第一集成裝置包括第一生成裝置,用于通過(guò)使用第一邏輯電路來(lái)組合由相應(yīng)塊的所述雙倍數(shù)據(jù)采樣寄存器生成的所述錯(cuò)誤信號(hào),從而生成針對(duì)相應(yīng)塊的塊級(jí)錯(cuò)誤信號(hào),其中所述第一邏輯電路在由所述雙倍數(shù)據(jù)采樣寄存器生成的至少一個(gè)所述錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí),將錯(cuò)誤值傳播到所述塊級(jí)錯(cuò)誤信號(hào)上;以及第二生成裝置,用于通過(guò)使用第二邏輯電路來(lái)組合來(lái)自所述一組塊的塊級(jí)錯(cuò)誤信號(hào)來(lái)生成全局錯(cuò)誤信號(hào),其中所述第二邏輯電路在至少一個(gè)所述塊級(jí)錯(cuò)誤信號(hào)的信號(hào)值是錯(cuò)誤值時(shí)將錯(cuò)誤值傳播到所述全局錯(cuò)誤信號(hào)上。14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述相應(yīng)塊的定時(shí)電路基于所述塊級(jí)錯(cuò)誤信號(hào)、所述全局錯(cuò)誤信號(hào)和所述全局時(shí)鐘信號(hào)來(lái)生成所述局部時(shí)鐘信號(hào);其中所述定時(shí)電路在所述塊級(jí)錯(cuò)誤信號(hào)和所述全局錯(cuò)誤信號(hào)的信號(hào)值不是錯(cuò)誤值時(shí)將所述全局時(shí)鐘信號(hào)傳播到所述局部時(shí)鐘信號(hào)上;以及其中所述定時(shí)電路在所述塊級(jí)錯(cuò)誤信號(hào)或者所述全局錯(cuò)誤信號(hào)中的至少一個(gè)的信號(hào)值是錯(cuò)誤值時(shí)阻止所述全局時(shí)鐘信號(hào)的時(shí)鐘信號(hào)轉(zhuǎn)變傳播到所述局部時(shí)鐘信號(hào)上。15.—種用于檢測(cè)和糾正電路中的定時(shí)錯(cuò)誤的裝置,所述裝置包括錯(cuò)誤信號(hào)傳播電路,配置成生成全局錯(cuò)誤信號(hào);以及從所述電路分割的一組塊,其中相應(yīng)塊由局部時(shí)鐘信號(hào)鐘控,并且其中所述相應(yīng)塊包括實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組內(nèi)部寄存器,其中給定的雙倍數(shù)據(jù)采樣寄存器被配置成在它檢測(cè)到定時(shí)錯(cuò)誤時(shí)生成錯(cuò)誤信號(hào);兩階段糾錯(cuò)電路,其中在被雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤時(shí),所述兩階段糾錯(cuò)電路被配置成停滯所述相應(yīng)塊中的寄存器;以及定時(shí)電路,其根據(jù)全局時(shí)鐘信號(hào)和所述錯(cuò)誤信號(hào)來(lái)生成所述局部時(shí)鐘信號(hào)。16.根據(jù)權(quán)利要求15所述的裝置,其中所述兩階段糾錯(cuò)電路被配置成在所述兩階段糾錯(cuò)電路的第一或者第二停滯階段期間停滯所述相應(yīng)塊的內(nèi)部寄存器;觸發(fā)輸入緩存器以在所述第一停滯階段期間對(duì)所述相應(yīng)塊的輸入信號(hào)源的信號(hào)值進(jìn)行采樣和保持;觸發(fā)輸入復(fù)用器以在所述第二停滯階段期間選擇所述輸入緩存器的輸出信號(hào),并且除此之外選擇用于所述相應(yīng)塊的輸入信號(hào)源,其中所述輸入復(fù)用器的輸出耦合到所述相應(yīng)塊的主輸入信號(hào);在所述兩階段糾錯(cuò)電路的所述第二停滯階段期間停滯第一輸出寄存器,其中所述第一輸出寄存器的輸出信號(hào)耦合到所述相應(yīng)塊的主輸出信號(hào);以及在所述兩階段糾錯(cuò)電路的所述第一或者第二停滯階段期間停滯第二輸出寄存器,其中所述第二輸出寄存器的輸出信號(hào)耦合到所述第一輸出寄存器的輸入信號(hào)。17.根據(jù)權(quán)利要求16所述的裝置,其中所述兩階段糾錯(cuò)電路針對(duì)在雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤之后的時(shí)鐘循環(huán)激活所述第一停滯階段。18.根據(jù)權(quán)利要求17所述的裝置,其中所述兩階段糾錯(cuò)電路針對(duì)在所述第一停滯階段之后的時(shí)鐘循環(huán)激活所述第二停滯階段。19.根據(jù)權(quán)利要求15所述的裝置,其中所述錯(cuò)誤信號(hào)傳播電路包括第一電路,配置成生成針對(duì)相應(yīng)塊的塊級(jí)錯(cuò)誤信號(hào),其中所述第一電路的輸入信號(hào)耦合到由所述相應(yīng)塊的所述雙倍數(shù)據(jù)采樣寄存器生成的所述錯(cuò)誤信號(hào);以及第二電路,配置成生成全局錯(cuò)誤信號(hào),其中所述第二電路的輸入信號(hào)耦合到來(lái)自所述一組塊的塊級(jí)錯(cuò)誤信號(hào)。20.根據(jù)權(quán)利要求19所述的裝置,其中所述相應(yīng)塊的所述定時(shí)電路包括被配置成生成所述局部時(shí)鐘信號(hào)的第三電路,其中所述第三電路的輸入信號(hào)耦合到所述塊級(jí)錯(cuò)誤信號(hào)、所述全局錯(cuò)誤信號(hào)和所述全局時(shí)鐘信號(hào)。全文摘要本發(fā)明涉及用于檢錯(cuò)和糾錯(cuò)的兩階段定時(shí)停滯技術(shù)。本發(fā)明的一個(gè)實(shí)施例提供一種用定時(shí)錯(cuò)誤檢測(cè)和糾正機(jī)制擴(kuò)充電路設(shè)計(jì)的系統(tǒng)。這一系統(tǒng)首先將電路分割為由獨(dú)立時(shí)鐘源鐘控的一組塊,并且在這一組塊之間集成錯(cuò)誤信號(hào)傳播電路。對(duì)于相應(yīng)塊,該系統(tǒng)確定將實(shí)施為雙倍數(shù)據(jù)采樣寄存器的一組內(nèi)部寄存器,并且用雙倍數(shù)據(jù)采樣寄存器取代確定的一組內(nèi)部寄存器,其中給定的雙倍數(shù)據(jù)采樣寄存器被配置成在它檢測(cè)到定時(shí)錯(cuò)誤時(shí)生成錯(cuò)誤信號(hào)。然后,該系統(tǒng)將兩階段糾錯(cuò)電路集成到相應(yīng)塊中,其中當(dāng)被雙倍數(shù)據(jù)采樣寄存器通知定時(shí)錯(cuò)誤時(shí),兩階段糾錯(cuò)電路被配置成停滯相應(yīng)塊中的寄存器。文檔編號(hào)G06F17/50GK101727519SQ20091020525公開(kāi)日2010年6月9日申請(qǐng)日期2009年10月21日優(yōu)先權(quán)日2008年10月22日發(fā)明者F·達(dá)圖,N·V·舍諾伊申請(qǐng)人:新思科技有限公司