專利名稱:通過逆處理的實時錯誤檢測的制作方法
技術領域:
本發(fā)明通常涉及處理器和微處理器并且更特別地涉及可以用于實時錯誤檢測的處理布置而且可應用于安全關鍵或者高度完整性系統(tǒng)中。
背景技術:
高度完整性軟件已在各種廣泛應用中變得普遍。例如,許多汽車、銀行、宇航、國防、網(wǎng)上支付和其它應用具有如下關鍵路徑這些路徑要求借助于冗余性、多樣性或者二者來核實安全操作。確保關鍵路徑的安全操作的一般方式是計算兩個算法并且使用獨立比較器來比較結果的一致性或者可信性(plausibility)。一般地,這已經(jīng)由兩種不同方法來實施。第一在限于一個有效(active)處理信道的系統(tǒng)上,可以利用時間分離來計算兩個(或者更多) 不同(diverse)算法。然后交叉校驗這些結果的一致性或者可信性。第二在具有不止一個處理信道的系統(tǒng)上,可以同時計算相同算法(在一個處理信道(“芯”)上處理一個算法)并且比較結果的一致性。第二方法的共同子集是在兩個冗余處理信道上計算一個算法的方式, 由此兩個處理信道在時間上分離(通常隔開數(shù)個時鐘周期)。這一子集方法合乎需要,因為它可以魯棒地抵御由于略微時間分離所致的硬和軟錯誤事件,比如由常見誘因事件(例如 α粒子撞擊)而產(chǎn)生的擾動。希望是常見誘因事件將以計算的輸出不同于另一處理信道這樣的方式擾動一個處理信道。向這些信道的輸出由簡單比較器比較,如果必要,則該簡單比較器可以觸發(fā)錯誤事件。在時間上分離的多個處理信道實施有若干弊端。延遲向校驗器芯中的輸入過程和從主芯的輸出要求保持大量的處理狀態(tài),這花費硅區(qū)域和功率。此外,為維持時間分離而要求的延遲狀態(tài)的數(shù)目隨著實施的頻率增加而增加。再者,更多延遲狀態(tài)花費附加硅區(qū)域和功率。另外,必須保護由相應計算所使用的數(shù)據(jù)以免遭破壞。也必須示出用來校驗輸出的比較器獨立于處理信道的任何常見誘因失靈。比較的質(zhì)量變得軟件相關,因為它依賴于一個處理信道的擾動不同于另一處理信道,但是最終取決于機器的實際處理狀態(tài)。除了這些考慮之外,實施中的最關鍵問題也許是使兩個處理信道的實際執(zhí)行盡可能最大限度不同以便減少常見誘因失靈。為了確保完整性,應用必須示出每個處理信道是獨立的,使得最小化常見誘因失靈并且使得一個信道中的失靈并不影響其它信道(一個或多個)。提供多樣性的努力除了別的之外還包括使用硅區(qū)域的不同縱橫比(aspect ration)、使用設計的旋轉(zhuǎn)宏、在物理上分離實例、以及以實際芯的不同處理速度為目標。然而,這些努力無一提供確保的完整覆蓋。
發(fā)明內(nèi)容
公開了處理器、微處理器以及邏輯塊系統(tǒng)和方法、錯誤檢測系統(tǒng)和方法以及集成電路。在一個實施例中,一種基于邏輯的計算系統(tǒng)包括第一處理芯;第二處理芯,根據(jù)第一處理芯來生成并且包括第一處理芯的反相邏輯等效物,使得第二處理芯的輸出是第一處理芯的輸出的互補;以及比較器邏輯,耦合成接收第一和第二處理芯的輸出作為輸入并且如果第二處理芯的輸出不是第一處理芯的輸出的互補則提供錯誤輸出。在一個實施例中,一種集成電路包括具有輸出的第一微處理器;第二微處理器, 根據(jù)第一微處理器來創(chuàng)建并且包括第一微處理器的反相邏輯等效物,第二微處理器具有輸出;以及比較器電路,耦合到第一微處理器的輸出和第二微處理器的輸出并且配置成比較這些輸出而且如果第二微處理器芯的輸出不是第一微處理器芯的輸出的互補則提供錯誤輸出。在一個實施例中,一種創(chuàng)建不同邏輯塊的方法包括創(chuàng)建邏輯塊的高級語言描述; 并且針對語言描述的第一實例,執(zhí)行語言描述的第一邏輯合成并且執(zhí)行不同微處理器生成腳本、執(zhí)行第二邏輯合成和優(yōu)化、生成邏輯門級網(wǎng)表(netlist)并且生成技術特定的布局。在一個實施例中,一種在處理器中的實時錯誤檢測的方法包括第一處理器執(zhí)行指令;第二處理器執(zhí)行指令;比較第一處理器和第二處理器的結果;并且如果第二處理器的結果不是第一處理器的互補則檢測到錯誤。
考慮到結合附圖的本發(fā)明各種實施例的以下具體描述,可以更完整地理解本發(fā)明,在所述附圖中
圖1描繪了根據(jù)一個實施例的處理系統(tǒng)的概念框圖。圖2A描繪了根據(jù)一個實施例的原始處理信道的框圖。圖2B描繪了根據(jù)一個實施例的具有反相狀態(tài)輸入和反相狀態(tài)輸出的不同處理信道的框圖。圖3A描繪了根據(jù)一個實施例的關于反相邏輯實施的不同處理信道的框圖。圖;3B描繪了根據(jù)一個實施例的圖2A的所得到實施的框圖。圖4A描繪了根據(jù)一個實施例的關于時鐘輸入的原始處理信道的框圖。圖4B描繪了根據(jù)一個實施例的具有反相時鐘輸入的不同處理信道的框圖。圖5A描繪了根據(jù)一個實施例的關于輸出的原始處理信道的框圖。圖5B描繪了根據(jù)一個實施例的具有反相輸出的不同處理信道的框圖。圖6描繪了根據(jù)一個實施例的設計流程的框圖。圖7描繪了根據(jù)一個實施例的比較器系統(tǒng)的框圖。盡管本發(fā)明可加以各種修改和替代形式,但是其具體細節(jié)已在附圖中通過例子的方式示出并且將被具體描述。然而應當理解,意圖并非在于使本發(fā)明限于描述的特別實施例。相反,意圖在于覆蓋落入如所附權利要求限定的本發(fā)明的精神和范圍內(nèi)的所有修改、等效和替代。
具體實施例方式公開了涉及利用逆(inverse)處理的實時錯誤檢測的系統(tǒng)和方法。在一個實施例中,自治、自動化過程根據(jù)主芯的單個描述來創(chuàng)建不同處理芯。不同處理芯盡可能不同而又保持在邏輯上等效于主芯。當兩個處理芯執(zhí)行共同算法時,比較器系統(tǒng)由于在兩次實施之間的固有相關性而可以檢測錯誤??梢酝ㄟ^定期比較不同處理芯的輸出與主處理芯的輸出來檢測錯誤。在一個實施例中實現(xiàn)在主芯與不同芯之間的邏輯等效性,使得將不同芯的每個內(nèi)部狀態(tài)存儲為主芯的互補、每個內(nèi)部時鐘沿相對于主芯反相、向不同芯的輸入相對于主芯雙反相、不同芯的輸出相對于主芯反相、不同芯的邏輯狀態(tài)總是處理芯的逆并且不要求在這些芯上的算法執(zhí)行之間的時間分離。一個實施例可以僅使用可用內(nèi)部狀態(tài)的子集作為用于比較的基礎,而另一實施例可以包括用于處理信道或者比較器機制的時間分離,并且又一實施例可以將可用狀態(tài)的有壓縮或者無壓縮的離線存儲用于將來的處理和比較。可以利用如下知識來實施比較器系統(tǒng)在每個實施中的相應狀態(tài)矢量元的適當邏輯比較器總是互補的。由于不同芯根據(jù)主芯創(chuàng)建反相輸出,所以在一個實施例中可以利用 “異或”(XOR)型比較器。在這樣的實施中,如果恰好操作數(shù)之一具有TRUE (真)值,則比較器返回TRUE。換而言之,如果輸出在一個或者另一個但是并非二者中不同,則比較器檢測到故障。以這一方式創(chuàng)建多樣性并且使用比較器系統(tǒng)賦予許多益處。主要地,該系統(tǒng)實現(xiàn)抵御常見誘因事件的魯棒性。另外,這一多樣性減少為保持魯棒地抵御硬和軟錯誤而要求的延遲狀態(tài)的數(shù)目,因此減少所需的硅區(qū)域和功率的數(shù)量。此外,無需保護存儲的數(shù)據(jù)以免遭破壞,因為有最少的存儲數(shù)據(jù)——兩個芯取得相同輸入,并且一旦可用就可以立即比較兩個信道的輸出。不同于時間移位的冗余處理信道實施,沒有來自主處理信道中的指令流的診斷覆蓋的相關性。使用XOR型比較器也給予將芯的每個狀態(tài)改變報告為不同信號電平的益處,因而可以容易檢測信號路由中的常見失靈,比如開路、短路或者交叉連接。可以同樣地檢測狀態(tài)矢量布線和邏輯上的持久故障。反相時鐘在不同芯實施中的使用也允許檢測影響上升沿或者下降沿但是并非同時影響二者的時鐘假信號(glitch),因為將以不同方式或者根本不擾動不同芯。在另一實施例中,根據(jù)主芯創(chuàng)建#個不同芯。當主芯與#個不同芯一起執(zhí)行共同算法時,與上述的比較器系統(tǒng)類似的但是針對#個不同芯而縮放的比較器系統(tǒng)可以檢測錯誤。因此根據(jù)所期望的診斷覆蓋水平,實施例可無限縮放,僅受目標硬件的資源限制。使用於2的實施例也允許用于發(fā)現(xiàn)錯誤信道的進一步邏輯處理并且允許失敗操作行為和錯誤糾正。實施例可以涉及微處理器和微處理系統(tǒng)以及任何可以描述為高級語言描述的邏輯塊,使得比如按照腳本的進一步處理可以將該描述轉(zhuǎn)譯成最大限度不同等效物。如本領域的技術人員理解的那樣,這樣的邏輯塊除了別的之外還可以包括但不限于協(xié)同處理器、 外設、存儲器控制器、數(shù)字信號處理器、通信接口和圖形引擎。術語“微處理器”的使用可以指代一個實施例,但是一般并非在所有實例中限于微處理器本身。參考附圖,圖1是根據(jù)一個實施例的具有逆處理的處理系統(tǒng)100的廣義概念框圖。 系統(tǒng)100包括原始處理信道102和不同處理信道104。如果向系統(tǒng)100的輸入為邏輯“1” 而原始信道102的輸出為邏輯“0”,則不同信道104的輸出在系統(tǒng)100中無任何錯誤時將是原始信道102的逆。因此,在圖1的例子中,不同信道104的輸出為邏輯“1”。XOR門106比較原始信道102和不同信道104的輸出并且這里假定輸入不匹配則提供“1”的輸出。這一結果表明未出現(xiàn)錯誤,因為假定信道102和104的逆關系,期望不匹配結果。如果信道102 和104的輸出匹配則將出現(xiàn)“0”的輸出,這將表明錯誤或者失靈。
在一個實施例中,如本領域的技術人員理解的那樣,可以用VHDL(超高速集成電路硬件描述語言)、Veril0g或者某一其它適當邏輯描述來定義原始處理信道102,使得可以使用適當邏輯合成和物理布局工具來把信道102的定義解譯和變換成硅上的物理布局。然后可以在邏輯合成之前通過處理原始處理信道102的VHDL來獲得不同處理信道104的定義。 在一個實施例中,關于原始信道102根據(jù)以下各項來定義不同信道104 不同狀態(tài)存儲;不同邏輯實施;不同時控;不同輸出;以及不同布局。圖2描繪了根據(jù)一個實施例的與不同狀態(tài)存儲(包括內(nèi)部狀態(tài)寄存器輸入、輸出和復位狀態(tài)的反相)有關的框圖。圖2A描繪了根據(jù)一個實施例的原始處理信道102,而圖 2B描繪了根據(jù)一個實施例的不同處理信道104的框圖。在一個實施例中,原始處理信道102 包括散置有寄存器112和116的處理邏輯110、114和118。如本領域的技術人員理解的那樣,信道102僅為一個例子,并且其它實施例可以具有更多或者更少處理邏輯塊和/或寄存器以及類似或者不同布置。在一個實施例中,不同處理信道104也包括處理邏輯塊120、124和128以及寄存器122和126。如先前提到的那樣,信道104也可以根據(jù)信道102的組成和配置而包括變化的組成和配置。然而與信道102對照,信道104包括反相器130,使得寄存器122和126的所有輸入和輸出反相。此外,寄存器122和126的復位狀態(tài)132關于寄存器112和116的復位狀態(tài)被反相。圖3描繪了與根據(jù)一個實施例的不同邏輯實施有關的框圖。圖3A描繪了在內(nèi)部狀態(tài)寄存器輸入、輸出和復位狀態(tài)如上文討論的那樣反相之后的圖2B的不同處理信道104。 在一個實施例中,在生成最終不同處理信道104時的下一步驟是使邏輯實施多樣化。這里對在生成最終不同處理信道104時的步驟順序的描述僅涉及一個實施例,并且生成的順序或者其它細節(jié)在其它實施例中可以變化。圖3A中的箭頭指代狀態(tài)反相器130與現(xiàn)有處理邏輯云或者塊120、1M和128的合并。在一個實施例中,向處理邏輯120的輸入被雙反相(未描繪),并且一個或者兩個反相器在各種實施例中可以與處理邏輯120合并。保持反相器之一為分立反相器可以有助于保證輸入邏輯具有不同實施。盡管未描繪,但是寄存器122和 1 在實施例中也可以包括復位,其可以反相但是并非必需如此只要有效狀態(tài)為有效低。在一個實施例中也可以執(zhí)行處理邏輯120、1M和128的重新優(yōu)化。此外,在實施例可以通過進行其它邏輯多樣化和/或優(yōu)化過程(比如在邏輯合成處選擇性地排除庫單元)來進一步增加多樣性。圖4描繪了與不同時控有關的框圖。在圖4A中描繪了在上文參考圖3討論的不同邏輯實施之后的不同處理信道104,其中添加時鐘信號134。為了關于原始信道102進一步多樣化信道104,在一個實施例中實施不同時控。在圖4B中,不同信道104的時鐘信號 134在136處反相,并且使用負沿時控寄存器122和1 而不是圖4A中所描繪的正沿時控寄存器122和126。參考圖5,在實施例中也可以實施不同輸出。圖5A描繪了如在圖4B中那樣遵循不同時控的不同處理信道104。在圖5B中,不同處理信道104的輸出在138處反相。在實施例中,在整體芯設計流程中自動生成不同狀態(tài)存儲、不同邏輯實施、不同時控、不同輸出和不同布局。參考圖6,根據(jù)例如以VHDL、Verilog或者某一其它適當格式的初始寄存器傳送電平(RTL)描述150來生成主芯或者原始芯和不同芯。
在15 處,執(zhí)行原始芯的第一邏輯合成。在一個實施例中使用SYN0PSYS邏輯合成工具。在152b處,進行不同芯的相同初始邏輯合成,其中添加不同芯生成腳本。在一個 SYN0PSYS實施例中,可以在GETCH階段、或者在合成之前輸入的VHDL或者Verilog RTL描述初次轉(zhuǎn)譯成技術定義的門時執(zhí)行用于不同處理信道的網(wǎng)表修改。在其它實施例中,如本領域的技術人員理解的那樣,可以使用其它工具和過程。在實施例中可以使用某些定義和 /或?qū)iT化以便迫使或者使得多樣化更簡單(比如在合成原始和不同信道或者芯時僅使用 Q-輸出寄存器)以便迫使不同邏輯實施。在15 和154b處,可以針對原始和不同芯執(zhí)行邏輯合成和優(yōu)化。在一個實施例中,在這一階段實施目標單元庫和單元排除列表。在156a和156b處,生成比如以Verilog或者VHDL的門級網(wǎng)表,并且在158處執(zhí)行多樣性校驗。在一個實施例中,多樣性校驗包括原始和不同芯的門與門比較以保證不同芯是原始芯的逆(A=IB)。遵循在160a和160b處的可以針對頻率和硅布局進行優(yōu)化的布局, 生成原始芯102和不同芯104。參考圖7并且在操作中,原始處理信道102在正常模式中操作,而不同處理信道 104在被動遮蔽(passive shadow)或者監(jiān)視模式中操作。然后可以比較原始處理信道102 和不同處理信道104的狀態(tài)以保證結果是互補的,即彼此的逆。在一個實施例中可以將每個信道102和104的每個狀態(tài)改變報告為不同信號電平。在一個實施例中,處理信道102的狀態(tài)矢量與不同信道104的互補狀態(tài)矢量的比較可以由一組適當邏輯比較器170 (比如在一個實施例中為XOR函數(shù))進行。在一個實施例中,比較器邏輯170因此每當兩個互補狀態(tài)矢量元中的一個或者多個變成等效時將用信號通知錯誤172。使用比較器輸入的這一固有互補編碼也保證了也可以檢測狀態(tài)矢量布線和邏輯上的交叉連接、開路連接和持久故障??梢允境鰧嵤├诙鄻踊^程之后在邏輯上等效,因為兩個信道的描述是絕對和簡潔的。正式等效性工具或者其它方法可以應用于網(wǎng)表以及應用于在設計過程的流程內(nèi)的其它布局階段以示出等效性適用所有情況。等效性校驗證實了設計的實際布局和最大限度不同設計關于彼此以及關于所需的時序和信號傳播約束是在邏輯上正確的。實施例從而可以提供可以根據(jù)處理信道的現(xiàn)有設計而自動獲得的魯棒、最大限度不同處理信道,使得在任一信道的處理中的擾動可以由簡單的在線狀態(tài)矢量比較器檢測以用信號通知錯誤。對照常規(guī)解決方案,可以通過仿真來確定最大限度不同處理信道的實施例的實際診斷覆蓋,因為沒有來自主處理信道中的指令流的診斷覆蓋的相關性。實施例可以可應用于高度完整性和安全關鍵應用(包括汽車、銀行、宇航、國防、網(wǎng)上支付和其它應用)中。例如,具體汽車應用可以包括制動和速度控制、轉(zhuǎn)向、車道保持、響應于故障檢測而自動停止、混合交通工具操作以及其它,并且環(huán)境因素、靜電放電(ESD)、物理擾動和損壞以及其它可能引起錯誤。盡管錯誤或者失靈可能確實出現(xiàn)于單個硅芯片中, 但是現(xiàn)代汽車在單個交通工具中包括多個“聯(lián)網(wǎng)”芯片。鑒于涉及到多個銷售商和復雜性, 則可能難以全面檢查芯片的聯(lián)網(wǎng)或者互操作。因此,實施例可以特別可應用于這樣的情形中以提供“智能”硅從而實現(xiàn)如下快速錯誤檢測,該檢測在實施例中可以將系統(tǒng)或者甚至整個交通工具置于“安全”操作模式以避免災難性后果。實施例也可以可應用于其它計算和處理應用中。隨著尺寸要求減少(例如晶體管尺寸縮減),擾動可能更容易得多地出現(xiàn)。為了獲得更快的計算機,冗余邏輯云可以是一種解決方案,并且這里討論的逆處理的實施例可以具有特別可應用性。實施例也可以可應用于可能易受黑客攻擊和篡改的安全系統(tǒng)比如芯片卡和護照中。不具限制性,這里引用處理器和/或微處理器在實施例中可以指代可操作用于執(zhí)行算法、指令和代碼的硬件設備,包括集成電路、專用集成電路(ASIC)或者微芯片。處理器或者微處理器可以形成計算機的部分,并且處理器、微處理器和/或計算機可以可應用于各種系統(tǒng)、子系統(tǒng)和設備(包括汽車、飛行器、太空船和其它交通工具;個人通信和計算設備;移動電話;芯片卡、護照以及標識卡和設備;網(wǎng)絡和外設;國防設備和系統(tǒng);因特網(wǎng)系統(tǒng)和終端(包括支付系統(tǒng));以及如這里別處提到或者本領域的技術人員理解的其它系統(tǒng)、子系統(tǒng)和設備)中。實施例呈現(xiàn)的優(yōu)點包括與使用時間延遲的相同副本的常規(guī)解決方案相比的更佳診斷覆蓋、用于進行比較的更佳數(shù)據(jù)、常見信號路徑故障的可檢測性、和功率節(jié)省。不同處理芯的自動生成在提供最大多樣性的同時也呈現(xiàn)與人工預定生成相比的顯著時間和成本優(yōu)點。這里已描述了系統(tǒng)、設備和方法的各種實施例。這些實施例僅通過例子的方式來給出而并非旨在限制本發(fā)明的范圍。另外應當理解,可以用各種方式組合已描述的實施例的各種特征以產(chǎn)生眾多附加實施例。另外,盡管已描述了各種材料、尺度、形狀、注入位置等用于與公開的實施例一起使用,但是可以利用除了公開的那些材料、尺度、形狀、注入位置等之外的其它材料、尺度、形狀、注入位置等而不超出本發(fā)明的范圍。相關領域的普通技術人員將認識到本發(fā)明可以包括比在上述的任何個別實施例中說明的特征更少的特征。這里描述的實施例并非意欲窮舉呈現(xiàn)本發(fā)明的各種特征可以組合的方式。因而實施例并非是互斥的特征組合;相反,如本領域的普通技術人員理解的那樣,本發(fā)明可以包括從不同個別實施例選擇的不同個別特征的組合。限制上文通過引用對文檔的任何并入,使得未并入與這里的明確公開相悖的主題。還限制上文通過引用對文檔的任何并入,使得這里未通過引用來并入在文檔中包括的權利要求。還又限制上文通過引用對文檔的任何并入,使得這里未通過引用來并入在文檔中提供的任何定義,除非這里明確包括。出于解釋本發(fā)明的權利要求的目的,明確旨在不援引35 U. S. C.第112節(jié)第六段的條款,除非在權利要求中記載具體措詞“用于……的裝置”或者“用于……的步驟”。
權利要求
1.一種基于邏輯的計算系統(tǒng),包括第一處理芯;第二處理芯,根據(jù)所述第一處理芯來生成并且包括所述第一處理芯的反相邏輯等效物,使得所述第二處理芯的輸出是所述第一處理芯的輸出的互補;以及比較器邏輯,耦合成接收第一和第二處理芯的所述輸出作為輸入并且如果所述第二處理芯的所述輸出不是所述第一處理芯的所述輸出的所述互補則提供錯誤輸出。
2.根據(jù)權利要求1所述的系統(tǒng),其中根據(jù)所述第一處理芯自動生成所述第二處理芯。
3.根據(jù)權利要求1所述的系統(tǒng),其中通過在邏輯合成所述第一處理芯的邏輯描述之前或者期間通過處理所述邏輯描述,根據(jù)所述第一處理芯生成所述第二處理芯。
4.根據(jù)權利要求3所述的系統(tǒng),其中所述邏輯描述為VHDL或者Verilog。
5.根據(jù)權利要求1所述的系統(tǒng),其中所述第二處理芯的輸入為所述第一處理芯的輸入的雙反相。
6.根據(jù)權利要求1所述的系統(tǒng),其中所述第一處理芯和所述第二處理芯每個均包括狀態(tài)寄存器,并且其中所述第二處理芯的所述狀態(tài)寄存器的輸入、輸出和復位狀態(tài)相對于所述第一處理芯的所述狀態(tài)寄存器的輸入、輸出和復位狀態(tài)被反相。
7.根據(jù)權利要求1所述的系統(tǒng),其中所述第二處理芯的邏輯實施為所述第一處理芯的邏輯實施的逆。
8.根據(jù)權利要求1所述的系統(tǒng),其中所述第二處理芯的時鐘信號關于所述第一處理芯的時鐘信號被反相。
9.根據(jù)權利要求1所述的系統(tǒng),其中所述第二處理芯的輸出關于所述第一處理芯的輸出被反相。
10.根據(jù)權利要求1所述的系統(tǒng),其中第一和第二處理芯從由微處理器、協(xié)同處理器、 外設、存儲器控制器、數(shù)字信號處理器、通信接口和圖形引擎組成的組中進行選擇。
11.一種集成電路,包括具有輸出的第一微處理器;第二微處理器,根據(jù)所述第一微處理器來創(chuàng)建并且包括所述第一微處理器的反相邏輯等效物,所述第二微處理器具有輸出;以及比較器電路,耦合到所述第一微處理器的所述輸出和所述第二微處理器的所述輸出并且配置成比較所述輸出而且如果所述第二微處理器芯的所述輸出不是所述第一微處理器芯的所述輸出的互補則提供錯誤輸出。
12.根據(jù)權利要求11所述的集成電路,包括在所述第二微處理器的輸入處的至少一個反相器。
13.根據(jù)權利要求12所述的集成電路,包括在所述第二微處理器的所述輸入處的兩個反相器。
14.根據(jù)權利要求11所述的集成電路,其中所述第一微處理器和所述第二微處理器每個均包括至少一個狀態(tài)寄存器,并且其中所述第二微處理器包括在所述至少一個狀態(tài)寄存器的輸入和輸出中的每一個處的反相器。
15.根據(jù)權利要求14所述的集成電路,其中所述第二微處理器的所述至少一個狀態(tài)寄存器的復位狀態(tài)關于所述第一微處理器的所述至少一個狀態(tài)寄存器的復位狀態(tài)被反相。
16.根據(jù)權利要求11所述的集成電路,其中所述第二微處理器的邏輯實施為所述第一微處理器的邏輯實施的逆。
17.根據(jù)權利要求11所述的集成電路,其中所述第二微處理器芯的時鐘信號線包括反相器。
18.根據(jù)權利要求11所述的集成電路,包括在所述第二微處理器的輸出處的反相器。
19.一種創(chuàng)建不同邏輯塊的方法,包括 創(chuàng)建邏輯塊的高級語言描述;并且針對所述語言模式的第一實例,執(zhí)行所述語言描述的第一邏輯合成并且執(zhí)行不同微處理器生成腳本, 執(zhí)行第二邏輯合成和優(yōu)化, 生成邏輯門級網(wǎng)表,并且生成技術特定的布局。
20.根據(jù)權利要求19所述的方法,還包括 針對所述語言描述的第二實例,執(zhí)行所述語言描述的第一邏輯合成, 執(zhí)行第二邏輯合成和優(yōu)化, 生成邏輯門級網(wǎng)表,并且生成技術特定的布局。
21.根據(jù)權利要求20所述的方法,還包括在生成所述邏輯門級網(wǎng)表之后執(zhí)行在所述第一實例與第二實例之間的多樣性校驗。
22.根據(jù)權利要求19所述的方法,還包括創(chuàng)建原始處理器和不同處理器,所述不同處理器為所述原始處理器的反相邏輯等效物。
23.根據(jù)權利要求19所述的方法,還包括限定所述不同處理器生成腳本。
24.根據(jù)權利要求19所述的方法,其中所述高級語言描述包括寄存器傳送電平(RTL) 描述。
25.—種在處理器中的實時錯誤檢測的方法,包括 第一處理器執(zhí)行指令;第二處理器執(zhí)行指令;比較所述第一處理器和所述第二處理器的結果;并且如果所述第二處理器的所述結果不是所述第一處理器的互補則檢測到錯誤。
26.根據(jù)權利要求25所述的方法,其中所述第二處理器為所述第一處理器的反相邏輯等效物。
27.根據(jù)權利要求25所述的方法,其中自動進行第二處理器執(zhí)行指令。
全文摘要
本發(fā)明涉及通過逆處理的實時錯誤檢測。公開了處理器、微處理器以及邏輯塊系統(tǒng)和方法、錯誤檢測系統(tǒng)和方法以及集成電路。在一個實施例中,一種基于邏輯的計算系統(tǒng)包括第一處理芯;第二處理芯,根據(jù)第一處理芯來生成并且包括第一處理芯的反相邏輯等效物,使得第二處理芯的輸出為第一處理芯的輸出的互補;以及比較器邏輯,耦合成接收第一和第二處理芯的輸出作為輸入并且如果第二處理芯的輸出不是第一處理器的輸出的互補則提供錯誤輸出。
文檔編號G06F11/00GK102402465SQ201110203150
公開日2012年4月4日 申請日期2011年7月20日 優(yōu)先權日2010年7月20日
發(fā)明者S. 哈斯蒂 N., 布魯爾頓 S. 申請人:英飛凌科技股份有限公司