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