JP2022166154A - フォーマルフォールト伝搬分析のためのシステム及び方法 - Google Patents

フォーマルフォールト伝搬分析のためのシステム及び方法 Download PDF

Info

Publication number
JP2022166154A
JP2022166154A JP2022127792A JP2022127792A JP2022166154A JP 2022166154 A JP2022166154 A JP 2022166154A JP 2022127792 A JP2022127792 A JP 2022127792A JP 2022127792 A JP2022127792 A JP 2022127792A JP 2022166154 A JP2022166154 A JP 2022166154A
Authority
JP
Japan
Prior art keywords
fault
computer
implemented method
path
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022127792A
Other languages
English (en)
Other versions
JP7362857B2 (ja
Inventor
ドミニク ストラッサー
Strasser Dominik
ジョーク グロッセ
Grosse Joerg
ジャン ラニック
Lanik Jan
ライク ブリンクマン
Brinkmann Raik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onespin Solutions GmbH
Original Assignee
Onespin Solutions GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/626,674 external-priority patent/US20180364298A1/en
Priority claimed from LU100321A external-priority patent/LU100321B1/de
Application filed by Onespin Solutions GmbH filed Critical Onespin Solutions GmbH
Publication of JP2022166154A publication Critical patent/JP2022166154A/ja
Application granted granted Critical
Publication of JP7362857B2 publication Critical patent/JP7362857B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/31835Analysis of test coverage or failure detectability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

【課題】フォールト伝搬の分析のために順次等価性チェックを行うためのシステム及びコンピュータ実装方法を提供する。【解決手段】方法は、フォールトの位置及び性質に関する情報を活用することにより、最小限の回路論理の複製でフォールト(非)伝搬の順次等価性問題を公式化する。方法はさらに、フォーマルチェックを安全診断に適用し、且つ、単純なトランジェントフォールト及び複雑なトランジェントフォールトを効率的にモデル化する。【選択図】図6

Description

[関連出願の相互参照]
本出願は、2017年6月19日に出願された「System and Method for Formal Circuit Verification」という名称の米国非仮特許出願15/626,674について優先権を主張するものである。本出願はさらに、2017年6月19日にルクセンブルグで出願された「Method for Formal Circuit Verification」という名称の特許出願LU100321について優先権を主張するものである。
上記の特許出願は、参照によりその全体が本明細書に援用される。
[連邦政府による資金提供を受けた研究又は開発の記載]
なし。
本発明は、順序回路におけるフォールト伝搬又は非伝搬を検証するためのツールとしての等価性チェックに関する。
自動車産業などの多くの産業は、それらの製品及びサービスに高度な電子機器を組み込んでいる。これらの進歩は、歓迎されるものであるが、これらの特徴を可能にする電子システムは、適切に検証されなければ状況が悪化する無数の新しい機会も提示することを理解することが非常に重要である。欠陥のあるヘッドレストビデオスクリーンは、後部座席の若い乗客にとって苛立ちの原因となり得るが、機能不良の補正ステアリングシステムは、車両の乗員の生命を犠牲にする可能性がある。これらのリスクは、産業界に電気又は電子システムの厳しい安全関連規格を採用させた。
例えば、ISO26262規格は、道路車両内の安全関連の電気及び/又は電子(E/E)システムの開発を規定する。ISO26262は、構想段階から開発、製造及び廃棄まで、システムのライフサイクル全体を網羅する厳しい要件を課す。これは、安全管理プロセス全体を扱うとともに、サプライヤー及び分散開発のインタフェースとの関係に及ぶ。法的責任のリスクは、ISO26262規格の採用の明白な推進力であるが、数百万の車両リコール及び死亡交通事故につながる機能不良は、経済的損害を引き起こすだけでなく、関与した会社のブランドイメージも損なうというさらなる問題がある。この規格は、完全に検証されなければならないシステマティックフォールト及びランダムフォールトの2種類のコンポーネントフォールトを明記する。
システマティックフォールトは、コンポーネント開発中、人的エラー又はツール/方法論の機能不良により導入される。システマティックフォールトは、一般的に、厳密な検証及び特定のデバイス要件の入念な追跡により対処される。ランダムフォールトは、外的影響により、デバイスの実際の動作中に生じる。これらのフォールトは、デバイス内の回路網によって安全に対処されなければならない。これは、システムに組み込まれるフォールト対処能力の使用を必要とし、これらのシステムは、あり得るランダムフォールトの大部分をキャッチすることを確実にするために検証されなければならない。
過去数年にわたり、自動車サプライヤーは、ISO26262要件を満たすためにかなりの投資を行っており、これは、多くの場合、開発費の多大な増加につながった。規格の適用を成熟させること並びにシステマティック及び自動開発方法に移行することは、成功を収め、それを維持するために非常に重要である。
使い易さ及び能力の進歩により、フォーマルベース検証方法論は、業界において近年広く採用されている。フォーマル検証は、それ以外の場合にはシミュレーションベース検証を免れ、システマティック故障に至る可能性があるハードウェア設計バグを明らかにするための強力な技術として広く認識されている。フォーマルツールの主要な特性は、入力刺激の必要性なしに、設計挙動を徹底的に調べ、且つ設計がプロパティ又はアサーションによって指定されるような意図された機能から決して逸脱しないことを証明する能力である。単純な設計の場合でも、シミュレーションツールは、この精度レベルを達成することができない。フォーマルツールは、システマティックフォールト検証及びランダムフォールト検証の両方に関して複数のアプリケーションを有する。
故障は、システムの要素が、必要とされる機能をもはや行わなくなったときに生じる。故障は、ハードウェアコンポーネントが期待通りに挙動しないなどのエラーによって引き起こされる。エラーは、デバイスの設計におけるフォールト又はその動作中に生じるフォールトによって引き起こされる。自動車環境におけるこのようなエラー及びあり得る原因の例を図1に示す。
フォールトは、瞬間的に(例えば、高エネルギー粒子による衝突によって)又は永久的に(例えば、物質的老朽化又は回路網に対する永久的損傷によって)電子設計(「被試験設計」又は「DUT」)のある論理要素上に現れる間違った論理値である。このようなフォールトは、潜在的に電子システムの挙動を変え得る。このようなフォールトは、セーフティクリティカルシステムにおいて、死亡、負傷又は高い経済的損失に至る可能性がある。
このため、セーフティクリティカルシステムの設計者は、冗長論理回路、エラー訂正コードなどの技術を使用して、ランダムフォールトによって導入された間違った挙動の検出及び/又は修正を行う措置を実施する必要がある。
ISO26262は、2つの故障カテゴリであるシステマティック及びランダムを定義する。システマティック故障は、ハードウェア及びソフトウェアの両方に由来し得るとともに、例えばソフトウェア又はハードウェアコードの仕様書又はコーディングの誤りといった特定の原因又はフォールトと決定論的関係を有し得る。これらのフォールトは、全ての製造コンポーネントに影響を与え、回避されなければならない。ランダム故障は、ハードウェアのみに由来し、通常確率分布に従う予測不可能な形態で生じる。これらは、特定の問題に遡ってトレーシングすることができず、システム動作中に生じると予想される。良い例は、デバイス動作中のDRAMメモリを破損する放射線である。なお、ランダムコンポーネント故障は、車両レベルではシステマティックフォールトと見なされる可能性がある。
ISO26262は、システマティックフォールトを回避するための安全対策及びランダムハードウェアフォールトに対するセーフガードの使用を規定する。フォーマルツールは、安全対策の効率的な実施において大きい役割を果たすことができ、実際に多くのセーフティクリティカル開発フローの中心となる。
安全機構は、図2Aに示すようにフォールト又は制御故障を検出することが意図された、デバイスに組み込まれる安全対策の一種である。ISO26262は、幾つかのランダムハードウェアフォールトの影響の検出及び場合により訂正を行う安全機構の使用を必要とし得る。安全機構は、ソフトウェア及びハードウェアの両方で実施され、それらの最終目標は、安全目標の違反に至る可能性があるランダム故障の発生を減少させることである。
ソフトウェアベース機構は、主に永久フォールト又はレイテントトランジェントフォールトによって引き起こされるハードウェアエラーを検出するために定期的に実行するルーチンを含む。別の例は、同じ動作を複数回行い、且つ結果を比較する冗長ソフトウェアである。課題の1つは、コードのサイズ及びランタイムを制限しながら、可能な限り多くのフォールトを検出することである。
冗長性は、多くのハードウェアベース安全機構の基礎である。一般的技術には、重複コアとともにロックステップでプロセッサコアを動作させ、且つ結果を比較することと、多数決論理を追加したクリティカルモジュール若しくは構成レジスタの重複又は三重化(三重モジュール式冗長)と、メモリ又はバストランザクションを保護するためのフェイルセーフエンコーダ及びデコーダ(EDC/ECC)と、シングルビットエラーの検出及び訂正と、ダブルビットエラーの検出とが含まれる。
ハードウェアベース安全機構は、物理的実装を含め、開発の全ての段階を大幅に複雑にする(それらは、回路面積を増大させ、ターゲットクロック周波数を達成することをより難しくするため)。
ハードウェア安全機構の開発は、システマティックフォールトを回避するために厳密なプロセスに従わなければならない。安全機構を実装するRTLモデルの機能検証は、誤りが、危険な状況を防止するのではなく、危険な状況を引き起こすハードウェアの原因となる可能性があるため、非常に重要な活動である。
厳密な開発プロセスは、人的エラーにより導入される、システムにおけるシステマティックフォールトのリスクを低下させるための鍵である。高度なハードウェア開発フローは、問題点をできるだけ早く検出し、検証活動を計画し、且つ進捗状況を追跡するための多くのツール及び方法を用いる。しかし、ISO26262-8の第6項は、関連の開発ステップ全体を通した要件の正確なトレーシングを要求する。最終目標は、製品がその安全要件を満たすことを確実にすることである。これは、多数の双方向多対多関係を追跡すること、設計特徴により要件を検証計画要素にマッピングすること、及び最終的にテストカバレッジデータをこれら全ての文書にフィードバックすることを伴う。
レジスタ転送言語(RTL)モデルの機能検証のために、エンジニアは、指令及びランダムカバレッジドリブンシミュレーションテストを含む様々な技術を適用する。進捗状況を追跡し、且つ検証計画又は仕様書文書におけるギャップを強調するために、構造的及び機能的カバレッジメトリクスが使用される。
シミュレーションベース検証環境は、多くの場合、中央集中チェックに依存し、その結果、低い設計可観測性に直面する。テストが正しく実装されていない設計特徴を起動させたときでさえ、誤った挙動は、それが観測点(又はチェッカー)に伝搬しない限り検出されない可能性がある。ISO26262は、要件が個々にテストされなければならず、このテストプロセスが図4に示すように入念に追跡されなければならないことを明記している。シミュレーションのため、一般的に、これは、面倒であり、且つ間違いを起こしやすい可能性がある個々の指令テストを生成することを伴う。
アサーションベース検証(ABV)は、この問題点を扱う十分に確立した技術である。アサーションは、柔軟性があり、且つ低レベル及び抽象レベルの両方で期待される設計挙動を簡潔に表現することができる。これらは、分散され、且つ要件により直接的にマッピングされ得る(これに関連して非常に重要に)常時接続のチェッカーである。ABVの別の主な利点は、フォーマルツールがアサーションを活用し、且つ全ての関連刺激シナリオ下でそれらを調べ得ることである。また、適切なツール及び方法論を用いて、全設計要件を捉えた非重複アサーションのセットを構築することも可能である。アサーション、具体的にはエンドツーエンドプロパティは、実装及び検証計画により、要件にマッピングし易くなり得る。ABVを活用することにより、検証追跡機構全体が要件とテストとの間の直接的相関により単純化される。
ISO26262-5は、全てのハードウェア特定開発活動を扱い、それらの要件は、安全機構の有効性の定量分析を含む。フォールトは、安全、シングルポイント、残存及びマルチポイントのカテゴリに従って分類される。安全フォールトは、論理の安全関連部分にないか、又は安全関連論理にあるが、設計機能に影響を与えることができないフォールトであり、すなわち、それらは、安全目標に違反することができない。シングルポイントフォールトは、それらが安全目標に違反する可能性があり、且つそれらを防ぐ安全機構が存在しないために危険である。残存フォールトも、それらが安全目標に違反し、且つ安全機構を免れる可能性があるために危険である。マルチポイントフォールトは、安全目標に違反する可能性があるが、安全機構によって観測されている。マルチポイントフォールトは、「検出される」、「認識される」及び「レイテント」として下位分類され得る。
これに関連して、マルチポイントフォールト及び安全フォールトは、危険ではない。しかし、それらを識別することは、難易度が高い。セーフティクリティカルハードウェアは、様々な安全機構を含むことができ、エンジニアは、複雑な論理によって相互接続された数百万もの潜在的フォールト位置に対する幾つかのフォールトタイプの影響を分析しなければならない。
確信をもってフォールトを安全とマーキングすることは、簡単ではない。適切なツールがなければ、ハードウェアの詳しい知識を有する専門家のみがこの結論に達することができる。同様に、フォールトを観測する安全機構の能力を実証することができるシミュレーションワークロードを開発するための専門家の技術的努力が必要とされる場合がある。ASILのC又はASILのDアプリケーションのハードウェアチームは、危険フォールトの非常に低い割合のみがそれらの設計に動作上の影響を与え得ることを実証しなければならない。その結果、安全フォールト及びマルチポイントフォールトを自動的に識別する能力は、この目標を効率的に達成するために非常に重要である。
フォールト注入は、フォールトトレラントシステムに対するフォールトの影響を理解するために使用される確立された技術である。ISO26262は、セーフティクリティカルハードウェアの開発中のフォールト注入の使用を強く推奨している。動作条件及び全システムインタラクションを考慮するために、フォールト注入は、システムプロトタイプに対して行われるべきである。例えば、重イオン放射、電磁障害、電源外乱又はメモリ若しくは構造上目に見えるレジスタの内容を破損するソフトウェア問題を生じさせるための機器が使用され得る。Haissam Ziade, Rafic Ayoubi,and Raoul Velazco, “A Survey on Fault Injection Techniques.The International Arab Journal of Information Technology,” Vol.1, No.2, July 2004。しかし、この方法は、システムのコスト、可制御性及び可観測性並びに開発スケジュールの観点から難易度が高い。モデルベースフォールト注入は、開発フローの初期に行うことができ、且つ侵襲的になることなく(すなわち、フォールト注入機構は、それが注入するフォールト以外にシステムに影響を与えない)システムに対するより細かい制御を提供する。Ashish Darbari, Bashir Al Hashimi, Peter Harrod and Daryl Bradley, “A New Approach for Transient Fault Injection using Symbolic Simulation,” 14th IEEE International On-Line Testing Symposium 2008。
様々な安全機構を含む複雑な自動車SoCsの安全分析は、多くの課題をもたらす。セーフティクリティカル実装論理を正確に識別することは、小さいことではない。考慮すべきフォールト位置の数は、およそ数百万になり得る。永久フォールト及びトランジェントフォールトの幾つかのタイプを1つのフォールト位置に注入することができ、幾つかの同時フォールトの影響は、異なるワークロード下で分析されなければならない場合がある。関連フォールトシナリオの数は、膨大である。
近年、ハードウェアモデルに対してフォールト注入を行うツールの可用性の進展があった。既存のシミュレータは、汎用インタフェースコマンドを使用することにより、使いにくいフォールト注入を行うことができるが、製造試験の認定のために以前に設計されたフォールトシミュレータの再浮上は、正確なメトリクス及びデバッグを可能にする観点からエンジニアに多大な恩恵をもたらした。
フォールト伝搬分析は、フォールトを分類し、且つ診断又は検出カバレッジメトリクスを導出するために使用される。このタスクは、RTLモデルに対して行うことができるが、ISO26262の条項によれば、実際のハードウェアにできるだけ近く、且つ論理レベルだけでなく、回路面積などの物理的パラメータに対しても良好な相関を提供することができるモデルに対して最終的に行われる必要があるであろう。これは、ゲートレベルネットリストに関する分析を実行することを必要とする。
フォールトシミュレーションは、フォールトメトリクスを決定するための標準的手法である。フォールトシミュレータは、フォールトを注入し、且つユーザ定義入力刺激下でそれらの伝搬を分析する。安全機構によって検出されるエラーを生じさせるフォールトは、所望の検出率の達成に寄与する。入力刺激によって起動又は伝搬されないフォールトは、「潜在的に伝搬可能な」グループにとどまりながら、シミュレーションサイクルの大部分を消費する。これらのフォールトは、刺激の向上を考慮すると、デバッグが難しい。実際、それらのかなりの部分は、安全又は「非伝搬可能」となり得る。安全フォールトは、その状態にかかわらず、システムの機能不良に至ることが決してない。エンジニアは、幾つかのフォールトを安全とマーキングし、従って診断又は検出カバレッジを向上させるために「専門家の判断」論拠を用い得る。
しかし、近年のフォールトシミュレータでさえ、固有の欠点を有する。フォールトの分析は、フォールトシナリオ(シミュレータによっては、シナリオ毎に1ランを必要とする)と、モデルに適用される特定のワークロード又は入力ベクトル(シミュレータは、一度に1つのワークロードのみを実行する)とに対して非効率的である。また、ターゲットASIL診断又は検出カバレッジ(安全フォールトの数を指定するメトリクス)を達成するために、エンジニアは、安全フォールトを手作業で識別し、トリッキーなフォールトを起動し、安全論理に伝搬することができる複雑なテストを作成し、セーフティクリティカル論理の境界を定義しなければならない場合がある。これらのタスクは、多大な労力を必要とし、間違いを起こしやすく、且つ本質的に不完全である。
フォーマル検証は、それ以外の場合にはシミュレーションベース検証を免れ、システマティック故障に至る可能性があるハードウェア設計バグを明らかにするための強力な技術として広く認識されている。フォーマルツールの主要な特性は、入力刺激の必要性なしに、設計挙動を徹底的に調べ、且つ設計がプロパティ又はアサーションによって指定されるような意図された機能から決して逸脱しないことを証明する能力である。単純な設計の場合でも、シミュレーションツールは、この精度レベルを達成することができない。フォーマルツールは、システマティックフォールト検証及びランダムフォールト検証の両方に関して複数のアプリケーションを有する。
「フォーマル方法」は、ソフトウェア及びハードウェアシステムの仕様書、設計及び検証のための数学的に厳密な技術及びツールを指す。フォーマルプロパティチェックツールは、数十年にわたり利用可能であったが、ここ10年の間に、使い易さ及び能力の進歩により、フォーマルベース方法論は、半導体業界において広く採用された。フォーマル検証は、それ以外の場合にはシミュレーションベース検証を免れ、システマティック故障に至る可能性があるハードウェア設計バグを明らかにするための強力な技術として広く認識されている。
フォーマルツールの主要な特性は、入力刺激の必要性なしに、設計挙動を徹底的に調べ、且つ設計がプロパティ又はアサーションによって指定されるような意図された機能から決して逸脱しないことを証明する能力である。単純な設計の場合でも、シミュレーションツールは、この精度レベルを達成することができない。ハードウェア開発タスクの範囲は、適切なフォーマルベースソリューション(又はアプリ)の使用により向上した。これらは、RTL設計調査及びフォーマルリンティングからクリティカルモジュールのエンドツーエンド検証に及ぶ。
特にセーフティクリティカルアプリケーションに関連するフォーマルツールの別の主要な特徴は、ハードウェアモデルに対するフォールト注入を細かく制御し、且つそれらの一連の影響を分析する能力である。極めて重要なことに、フォーマルツールは、ユーザの労力及び算出要求の両方の観点から非常に効率的且つ非侵襲的に(コード計装ステップの必要性なしに)このタスクを行う可能性を有する。
安全検証プロセスの一部として、どのようにフォールトが集積回路を伝搬するかを理解することが必要であることが多い。波形又は伝搬分析の先行技術のシステム及び方法の例は、米国特許第8,630,824号明細書及び米国特許出願公開第2016/0283628号明細書に開示されている。
従来のフォールト伝搬システム及び方法は、黄金設計と欠陥設計とを並べて表示し、黄金設計対フォールトが注入された設計における信号の値を示すことが多い。このような従来の環境は、黄金設計と欠陥設計との間で値が異なる全ての内部信号をリストでき得るが、それらは、一般的に、フォールトデバッグに無関係な信号を含む異なる信号を表示する。
全ての合理的に予期可能なランダムフォールト及びそれらの組み合わせがシステムによって対処されること及びそのようなフォールトがシステムの誤った挙動を誘発できないことを確実にするために、検証エンジニアは、一般的に、幾つかのクリティカル観測点(例えば、一次出力)においてDUTの挙動を変えることができるか否か、及び/又はこのような変更を検出することができるか否かを決定することを目的として、DUTの異なる位置でフォールトが注入される様々なシナリオの広範囲に及ぶテストを行う。潜在的フォールトの何れの部分を検出又は自動的に訂正することができるかに関する情報は、特定のフィールドにおける規制機関(例えば、自動車分野におけるISO26262)によって必要とされる安全認証にとって必要である。
従来、フォールト伝搬及び可観測性の分析は、様々な入力パターンの下での多数の潜在的フォールトにシミュレーションによって行われる。しかし、全てのあり得る状況のシミュレーションは、通常、実際には不可能である。従って、フォールトが伝搬しないか又は観測される数学的に反論できない証拠を与えるフォーマル検証技術を使用することが有益である。多くの場合、フォーマルチェックは、シミュレーションに基づいた従来技術よりもさらに速くなり得る。
フォーマルフォールト伝搬分析は、通常、2つの回路間の挙動等価性を評価するためのフォーマル方法である等価性チェックを使用することによって行われる。この場合、一方の回路(黄金)は、オリジナルのDUTとなり、他方の回路(修正された)は、特定の位置で注入された、縮退及びシングルイベントフォールトのようなランダムフォールトをモデル化するフォールトシナリオを有するDUTである。これは、等価性チェッカーに提供された回路のサイズがオリジナルの回路の(又は考慮される必要がある部分の)2倍であることを意味する。
順序回路におけるフォールト(非)伝搬を検証するためのツールとしてのフォーマル等価性チェックの使用は、D. Smithの「How Formal Reduces Fault Analysis for ISO 26262」に開示されている。
DUTの可観測挙動は、観測点のセットによって定義される。フォールトが生じる予定の正確な場所が分かっていると仮定すると、その目的は、
1.フォールトが観測点でDUT値に影響を与えないこと(この場合、フォールトが伝搬されない(NPA)と言う)、又は
2.ある観測点、特に少なくとも1つの観測点において、フォールトにより異なる挙動に至るトレースを見つけること(この例では、フォールトが伝搬される(PA)と言う)、の一方を証明することである。
さらに、設計は、エラーが内部で生じたことを検出し且つ知らせる能力を有することができ、回復動作は、システムの残りの部分又はユーザに委ねる。これは、事実上、伝搬可能フォールト(PA)の追加の分類を導入する。検出されたPAは、安全フォールトと見なされるが、検出されない伝搬可能フォールトは、危険フォールトと見なされる。
Figure 2022166154000002
フォールトがPA/NPAであるか否かの決定問題は、本明細書では、フォールト伝搬と呼ばれ、フォールトが設計によって検出されるか否かの問題は、フォールト検出と呼ばれ、及び安全であるか否かの問題は、フォールト診断と呼ばれる。
観測点及び出力
通常、デジタル設計の可観測挙動は、設計の入力が入力制約に則した値トレースによって刺激されることを条件として、その出力に関して生成され得る値トレースによって定義される。しかし、ときに設計の内部の信号の値に興味がある場合がある。また、幾つかの重要でない信号への潜在的伝搬を無視することを選択する場合がある。従って、出力の代わりに、任意定義信号(観測点)のセットへの潜在的フォールト伝搬に興味を持つであろう。内部観測点は、単に出力としてラベル付けすることができ、観測されない出力信号は、出力セットから除外することができるため、数学的観点から出力と観測点との間に真の違いはない。このため、出力という用語及び観測点という用語を同義に使用する。
一般的実装
フォーマルフォールト伝搬/検出の古典的実装は、順次等価性チェックにより行われる。本発明は、フォーマルツールにとって問題をより簡単にすることにより、大幅により効率的な手順をもたらす改良を提供する。
通常の手法は、オリジナルの設計にフォールトを注入し、次いでこの新しく作成された設計をオリジナルと比較することにより、両方の設計に適用されると出力に関して異なる挙動に至る入力パターンのセットを見つけ出すことを試みることである。これは、順次チェックとして知られる、図2Bに示すような複合回路100を形成することによって行われる。この新しい回路100では、同じ入力セット110は、オリジナル設計120及び欠陥設計130の両方にルーティングされる。次いで、両方の設計120、130の出力は、コンパレータ142、144、...146を有するコンパレータ回路140と1つずつ比較され、ペアの何れかが異なる場合、コンパレータ回路1400の出力が1に設定される(図2C)。ここで、両方の回路が同一に挙動する場合、出力は、常に0になる。順次等価性チェッカーは、出力が常に0であり、従って欠陥回路130の出力挙動が全てのあり得る入力(NPA)の下でオリジナル回路120のものと同じであることを疑いなく証明するために、フォーマル方法を使用する。一方、欠陥回路130の異なる挙動に至るような入力パターンが存在する場合、コンパレータ回路1400の出力は、最終的に1になり、フォーマルツールは、これが生じる正確な入力パターンを表示し、あらゆるシミュレーションの必要性を省く。
好ましい態様では、本発明は、等価性問題のよりコンパクトな符号化を適用することによる先行技術の手法に対する改良である。また、本発明は、より複雑なフォールトを記述可能であるより高品質のフォールトモデル化を提供する。また、本発明は、単純なフォールト伝搬からフォールト検出(診断)にフォーマル方法の適用を拡大する。
別の好ましい態様では、本発明は、フォールトの位置及び性質に関して有する情報を活用することにより、フォールト(非)伝搬の順次等価性問題を公式化するために必要とされる回路論理の複製を最小限に抑える方法である。また、本発明は、フォーマルチェックを安全診断に適用し、単純なトランジェントフォールト及び複雑なトランジェントフォールトを効率的にモデル化する。
好ましい態様では、本発明は、フォールト伝搬の分析のために順次等価性チェックを行うためのシステム及びコンピュータ実装方法であって、フォールトを注入すること、複数のレジスタの中で、注入されたフォールトが伝搬できない第1のレジスタのセット及び注入されたフォールトが伝搬できる第2のレジスタのセットを識別することを含むシステム及びコンピュータ実装方法を提案する。複数のレジスタの各レジスタについて、識別は、更新関数を実行することと、レジスタが更新関数の結果として変化する場合にレジスタを第2のレジスタのセットに割り当てること及びレジスタが更新関数の結果として変化しない場合にレジスタを第1のセットに割り当てることとを含む。この方法は、等価性チェックを行うための減少した言明複製を得るために第2のレジスタのセットを複製することを含む。
好ましい態様では、第1のセット及び第2のセットを識別するステップは、各レジスタについて更新関数をチェックする組み合わせチェックを含む。
別の好ましい態様では、識別するステップは、1つのクロックサイクルにおいて順次チェックを含む。
これらのステップは、反復的であり且つ繰り返され得る。
本方法は、トランジェントフォールトモデル化を用いてフォールトを注入することを含み得る。
好ましい態様では、レジスタの第1のレジスタのセット又は第2のレジスタのセットへの割り当ては、更新関数を実行した後の一定のクロックサイクル数で行われ、一定のクロックサイクル数は、1よりも大きい。
請求項1のコンピュータ実装方法は、さらなるチェックを必要としないフォールトの検出に使用され得、エラーが検出/診断された後に生じるフォールト伝搬は、安全であるか又はさらなるチェックを必要としないフォールトと見なされる。
さらに別の好ましい態様では、本発明は、フォールトを分析し、且つ波形デバッガ内でフォールト伝搬経路を表示するためのシステム及び方法である。このシステムでは、プロセッサ及びメモリを有するコンピューティングデバイスは、フォールトを回路設計に注入するためのフォールト注入モジュール又はアプリケーションを有する。コンピュータデバイスは、フォールト伝搬モジュール若しくはアプリケーション及び/又はフォールトを検出し、且つ回路設計を通るフォールト(例えば、信号)の伝搬を追跡するためのフォールト検出モジュール若しくはアプリケーションをさらに有する。フォールトを注入するためのフォールト位置及び観測点が識別される。少なくとも1つの観測点が識別される。回路設計における観測点は、エラーが危険な影響を有し得る点である。システムは、それによって経路内の各信号がフォールトによって影響を受けた、フォールト位置から観測点までの順序リストにおける信号経路を表示するためのディスプレイを有する。「影響を受けた」とは、両方間の設計の値が黄金設計において得られるであろう値と異なることを指す。所与の1つの信号に対して1つの波形のみが示される。影響を受ける信号は、影響を受けない信号と異なる色(例えば、赤色)で示される。信号は、タイミングドメインに表示され、これは、どのようにフォールトが1つの信号から次の信号に前進するかを示す異なる色の「脚立」をもたらす。
別の好ましい態様では、本発明は、フォールト伝搬経路の計算及び表示のためのシステム及びコンピュータ実装方法である。この方法は、コンピューティングデバイスを用いて、電気回路におけるフォールト位置を識別するステップと、前記コンピューティングデバイスを用いて、電気回路における観測点を識別するステップと、前記コンピューティングデバイスを用いて、前記フォールト位置から前記観測点までのフォールト経路を算出するステップと、波形ビューアにおいて、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示するステップとを含む。フォールト経路を算出するステップは、フォールト位置から観測点までの影響を受けた信号の最短経路を算出することを含み得る。最短フォールト経路を算出するステップは、信号の数の観点から最短経路を算出すること、インスタンスの数の観点から最短経路を算出すること又はレジスタの数の観点から最短経路を算出することを含み得る。
フォールト経路を算出するステップは、(a)観測点を現在の信号リストに入力することと、(b)現在の信号リスト上の各信号を、影響を受けた信号のリストと比較することと、(c)それぞれの比較された信号について、その信号が、影響を受けた信号のリスト上になければ、その信号に対して何も行わないことと、(d)それぞれの比較された信号についして、その信号が、影響を受けた信号のリスト上にあれば、その信号がフォールト位置であるかどうかをチェックすることと、(e)影響を受けた信号のリスト上のそれぞれの比較された信号について、その信号がフォールト位置であれば、ステップ(h)にスキップすることと、(f)影響を受けた信号のリスト上のそれぞれの比較された信号について、その信号がフォールト位置でなければ、この信号のファンイン信号を次の現在の信号リストに追加するとともに、この信号を追加されたファンイン信号の親として保存することと、(g)次の現在の信号リストを現在の信号リストにし、ステップbに戻ることと、(h)フォールト位置を経路信号に設定することと、(i)経路信号が親信号を有するかどうかを決定することと、(j)経路信号が親信号を有する場合、親を新しい経路信号として使用し、新しい経路信号を経路リストに保存し、且つ新しい経路信号のためにステップiに戻ることと、(k)経路信号が親信号を有さない場合、最短フォールト経路として影響を受けた信号の経路を波形ビューアに出力することとを含み得る。フォールト経路を算出するステップは、次の信号リストを空として初期化することをさらに含み得る。
フォールト伝搬経路の計算及び表示のための上記のコンピュータ実装方法は、上記のようなフォールト伝搬の分析のために順次等価性チェックを行うためのコンピュータ実装方法を含み得る。
フォールト伝搬の分析のために順次等価性チェックを行うための上記のコンピュータ実装方法は、上記のようなフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法を含み得る。
本発明のさらに他の態様、特徴及び利点は、単に好ましい実施形態及び実装形態を例示することによる以下の詳細な説明から容易に明らかである。本発明は、他の異なる実施形態も可能であり、その幾つかの詳細は、様々な自明の態様において、全て本発明の趣旨及び範囲から逸脱することなく変更され得る。従って、図面及び記載は、限定的なものではなく、本質的に説明のためのものと見なされる。本発明の追加の目的及び利点は、部分的には後に続く本明細書に記載され、部分的には本明細書から自明となるか又は本発明の実施から学習され得る。
本発明及びその利点のより詳細な理解のために、ここで、以下の説明及び添付の図面が参照される。
セーフティクリティカルシステムにおいて生じ得る様々なタイプのフォールト及びそのようなフォールトの例示的結果を示す図である。 ハードウェア安全機構を有する一般的セーフティクリティカルシステムを示す図である。 順次等価性チェックを行うための従来(先行技術)の回路のフロー図である。 順次等価性チェックにおいて出力を比較するための従来(先行技術)のコンパレータ回路の概略図である。 本発明の好ましい実施形態による、フォールト伝搬の分析及び表示を行うためのシステムのシステムアーキテクチャ図である。 本発明の好ましい実施形態による次の状態関数の図である。 本発明の好ましい実施形態による反復状態マッピングの方法のフローチャートである。 本発明の好ましい実施形態による、順次等価性チェックを行うための回路のフロー図である。 本発明の好ましい実施形態による、フォールト伝搬の分析及び表示を行うための方法のフローチャートである。 本発明の好ましい実施形態による、フォールト伝搬の分析及び表示を行うためのシステムの表示の図である。 本発明の好ましい実施形態による、フォールト伝搬の分析及び表示を行うためのシステムを通る信号フローを示すフロー図である。 本発明の好ましい実施形態によるフォールト経路計算を示す図である。 本発明の好ましい実施形態による、フォールト経路を算出するための方法のフロー図である。 本発明の好ましい実施形態による、シングルアップセットフォールトインジェクションのためのコントローラの図である。
本発明の好ましい実施形態によるフォールト伝搬経路の分析及び表示を行うためのシステム及び方法の概略アーキテクチャを図3に示す。このシステムは、1つ又は複数のプロセッサ、メモリ及びハードドライブ又は固体ドライブなどの非一時的ストレージ媒体を有するコンピュータ又はサーバであり得るコンピューティングデバイス300を含む。コンピューティングデバイス300は、フォールト注入モジュール310と、フォールト伝搬及び検出モジュール320と、波形デバッガ340とを有する。コンピューティングデバイスは、検証モジュール350又は定量化モジュール360などの他のモジュール又はアプリケーションを有し得る。システムは、ディスプレイ390をさらに有する。フォールト注入モジュール又はアプリケーション310は、設計を変更する必要性、複雑なコード計装ステップを経る必要性又は専用検証環境を開発する必要性なしに、フォールトシナリオの定義及び注入を行うための単純且つ柔軟性のあるインタフェースを提供する。
フォールト伝搬分析は、フォールトが安全機構によって伝搬又は検出されることを証明するための検証中、集積回路のゲートレベルモデルにフォールトを注入することを含む。これらのゲートレベルモデルは、複雑であり、多数のあり得るフォールトシナリオを含有し得る。ハードウェア安全目標を達成するために、「危険な検出されない」フォールトの数は、最小限に抑えられなければならない。
フォールトシミュレーションは、フォールトメトリクスを決定するための標準的手法である。フォールトは、安全機能による検出を確実にするために刺激され、且つ観測点に伝搬される。機能的刺激によって起動されないか又は伝搬されないフォールトは、シミュレーションサイクルの高い割合を消費する。それらは、刺激の向上を考慮すると、デバッグも難しい。従って、これらのフォールトは、「非検出」グループにとどまることが多く、所望の検出率を損なう。
フォールトシナリオは、オリジナル設計である被試験設計(DUT)の欠陥バリアントのセットと見なすことができる。フォールトシナリオの第1の要素は、フォールトが注入されるべきビットレベル設計信号のセットである。他の要素は、何れの時点で何れのタイプのフォールトが注入されるべきかを定義する。オリジナル設計は、フォールトが存在しない特定のフォールトシナリオに対応する。
ユーザは、カスタムフォールトシナリオを定義する柔軟性を有するか、又は予め定義されたフォールトシナリオを選択する。単純なシナリオは、常に設計信号の数字の全ビットに対する0縮退フォールトの注入を記述し得る。カスタムシナリオは、一度のみ生じ、且つ例えば特定のアドレスで読み出されるメモリといった他の条件と一致する、記憶場所の任意ビットにおけるSEUフォールト(例えば、ビットフリップ)の注入を記述し得る。ユーザアサーションは、特定のフォールトシナリオと関連付けることができ、及び強力な証明戦略が、大型且つ複雑な設計における巨大なフォールト集団の同時網羅的検証に対処するために自動的にセットアップされる。また、専用デバッグ特徴は、状況がかなり混乱し得るフォールト注入設計に対するアサーション故障を調べるという厄介なタスクをスピードアップする。最後に、定量化モジュールは、ボタンを押して全体的なアサーションセットのカバレッジを測定し、且つ検証ギャップを有するミッション及び安全関連の両方の機能エリアを顕在化させることができる。
フォールトは、伝搬可能及び非伝搬可能に分類され得る。非伝搬可能フォールトは、その状態にかかわらず、システムの機能不良に至ることが決してない。従って、それらは、安全であり、危険フォールトリストから除去されることが可能であり、フォールトメトリクスを向上させる。これは、フォールト伝搬及び検出モジュール320を用いて自動的に等価性チェックなどのフォーマル技術が効果的に適用され得る場所である。フォールト伝搬及び検出モジュール320は、非伝搬可能フォールトを自動的に識別して、シミュレーション前にそれらの安全な排除を可能にし、それにより公称フォールトカバレッジを高めながら、シミュレーション及びデバッグ時間を削減する。非伝搬可能フォールトを識別するための任意の既知の方法が使用され得る。
フォールト伝搬モジュール320は、フォールトシミュレーション前及び後の両方で全体的なフォールト集団に適用される。フォールト伝搬モジュール320は、「高速モード」及び「ディープモード」を有する。「高速モード」でのフォールト伝搬モジュール320の動作は、効率的に非伝搬可能フォールトを識別し、それによって不要な労力を回避しながら所望のフォールト検出率が迅速に達成されることを可能にするためにフォーマル分析を利用して、シミュレーション前に実行される。これらのフォールトは、フォールトシミュレーションテストベクトルに対する要求なしにフォールトリストから取り除かれ得る。フォールトシミュレーションプロセス全体は、フォールトシミュレーションで実行される必要があるものからこの種のフォールトを除去することにより、大幅に加速される。
「ディープモード」でのフォールト伝搬モジュール320の動作は、シミュレーションベースフォールト注入プロセス中に識別された非伝搬可能フォールトを分析して安全機構を向上させるか又はそれらを安全と分類するために使用することができる。この自動ステップは、残りの危険フォールトを識別するためにフォールトシミュレーション後に必要とされる手作業の労力を大きく減らす。この分析は、ネットリスト(認証規格の要件)の変更なしに達成される。
唯一必要とされる入力は、被試験回路のゲート又はRTLモデルである。システムは、重複を回避するために、それがネットコラプシングなどの最適化を既に行うフォールト位置を識別する。代替的に、フォールトリスト又は興味表示の設計エリア(これは、ツールによってフォールトリストを洗練させるために使用される)が提供され得る。
さらに、文脈分析を可能にするために、初期設計状態がロードされ得る。このような分析は、特定の実行時刻に注入されるとフォールトがどのように挙動するかを理解するために重要となり得る。
フォールトリストの作成後、システムは、非伝搬可能フォールトを識別するために完全自動フォーマル分析を行う。この分析後、非伝搬可能フォールト及び潜在的に伝搬可能なフォールトがさらなる処理のために単純なCSVフォーマットテキストファイルに書き込まれ得る。加えて、分析要約報告書が生成される。全てのフォールトを分析するのではなく、フォールトリストがサンプリングされる高速統計分析も行われ得る。
本発明は、等価性問題のコンパクトな符号化を組み込む。古典的な等価性チェック手順は、図2Bに示すような回路論理の複製を必要とする。組み合わせ論理複製は、通常、この論理が設計間で共有される一次入力に依存する場合に減少させることができる。ステートフル要素(フリップフロップ、メモリなど、簡単にするためにこれらをレジスタと呼ぶ)及びこれらのレジスタに依存する組み合わせ論理は、複製される必要がある。
コンパクトな符号化を使用した本発明では、レジスタは、フォールトがそれらに伝搬可能である場合にのみ複製される必要がある。レジスタにおける値がフォールト注入によって影響を受けないことが分かっている場合、このレジスタは、オリジナル設計及び欠陥設計が何れにしても常に同じ値を有するため、それらの間で共有することができる。このようにして、本発明は、このような状態のファンアウトにおいて組み合わせ論理の複製を減少させる。
影響を受けない状態を識別するための幾つかの単純な方法が知られている。これらの方法における主な考えは、フォールトがその影響円錐域内に存在しないレジスタに伝搬できないことである。この構造上の論拠は、実装が簡単であるというメリットを有するが、例えば制約(外的又は設計自体に由来する)により、フォールトが、その影響円錐域内に存在するレジスタに伝搬しないことが多くある。本発明は、フォーマルチェックを使用して、フォールトによって影響を受けないレジスタのセットを見つけるための方法及びシステムを提供する。
まず、図4に示すように、各レジスタrが、その入力を供給する組み合わせ論理によって与えられる次の状態関数next(r)を有することを考察する。これらの関数における変数は、一次入力又は他のレジスタである。図2Bの場合と同様に(入力=一次入力+状態)、フォールトの存在下で次の状態が異なり得るか否かをチェックすることができる。しかし、次の状態関数において変数となる状態を考察するため、このチェックは、satソルバへの1コールを用いた組み合わせチェックとして実現することができる。このようなチェックが成功すれば、フォールトがこのレジスタに伝搬されないことを確信することができる。一方、チェックが成功しなければ、伝搬が生じる他のレジスタの特定の状態が設計の順次プロパティにより到達可能でないことが生じ得る。
従って、組み合わせチェックに成功しなければ、到達可能性を考慮した順次チェックに進み得る。しかし、このようなチェックは、要求が厳しく、ときにフォールト伝搬チェック自体と同程度に要求が厳しい。それでもやはり、それは、幾つかのケースを高速に解くことができるため、少ない労力(短いタイムアウト)で順次チェックの実行を試みるのに有用なヒューリスティックである。
状態複製を最小限に抑えるため且つ問題を単純化するために、本発明は、フォールトが伝搬する状態のセットを反復的に構築する、図5に示す方法を使用する。それは、帰納的推論に基づく。フォールトが潜在的に伝搬可能な状態Sfaultyのセットが、それが他の状態に伝搬できない(これは、状態空間の縮小を可能にする)という前提に基づいて帰納的に構築される。不動点に達すると、フォールトは、Sfaulty内に存在しないレジスタに決して伝搬しないことが証明される。従って、Sfaulty内に存在するレジスタのみが複製される必要がある。
初期化時、その中に影響を受ける状態レジスタSfaultyの空集合が存在するレジスタのセットSが存在する(510)。フォールト位置から直接到達可能な各レジスタに対して、その更新関数next(r)に関して組み合わせ又は順次等価性チェックを実行する(520)。レジスタ更新が欠陥位置の値に直接依存する(522)場合、フォールトがレジスタに伝搬可能であるかどうかをチェックする(524)。フォールトがレジスタに伝搬可能である(526)、すなわち等価性を証明することができない(反例又はタイムアウトが見つかった)場合、そのレジスタをSfaultyのセットに追加する(528)。フォールト位置から直接到達可能な全てのレジスタがテストされると、システムは、新しい状態がSfaultyに追加されたか否かをチェックする。新しい状態が追加されていなければ、Sfaultyは、固定点に到達しており、本方法は完了する。新しい状態がSfaultyに追加されていれば、ステップ520は、依然としてSfaulty内に存在せず、且つSfaulty内の状態から又はフォールト位置から直接到達可能なSからの全レジスタrに対して繰り返される。
本方法の終了後、Sfaultyは、ある時点でオリジナル及び欠陥設計において異なる値を有し得るレジスタを包含する。状態の残りは、図6に示すように、順次チェックにおいて類推によって共有され得る。複製される必要がないこのような状態がマッピングされると言う。
最終フォーマルNPA/PAチェックの状態空間の縮小とは別に、共有状態の識別は、観測点が共有状態によってのみフォールト位置に接続されることを条件として、幾つかの観測点に関して直接的に非伝搬を証明することができる。これは、フォールトの影響円錐域から共有状態を除去することによってさらに向上させることができる(それらが構造的に接続されているとしても、実際には影響がないことを証明済みであるため)。
図7に示すような本発明の好ましい実施形態の方法では、システムは、フォールトを注入するためのフォールト位置を識別し(710)、且つ観測点を識別する(720)。回路設計における観測点は、エラーが危険な影響を与え得る点である。システムは、フォールト経路(図7及び8を参照してさらに詳細に後に説明する)を算出する(730)。次いで、システムは、波形デバッガ340においてビューアを開く(740)。次いで、システム300は、ディスプレイ390上において、それによって過去内の各信号がフォールトによって影響を受けた、フォールト位置から観測点までの順序リストにおける影響を受けた信号経路を表示する(450)。「影響を受けた」とは、両方間の設計の値が黄金設計において得られるであろう値と異なることを指す。代替実施形態では、例えばフォールトが2つ以上の観測点に伝搬する場合、複数の観測点が使用され得る。
図8に示すように、所与の1つの信号に対して1つの波形のみが示される。影響を受ける信号は、影響を受けない信号と異なる色(例えば、赤色)で示される。線の太さ若しくは線の種類(例えば、破線、点線など)などの色以外の指標又は任意の他の視覚的指標が用いられ得る。好ましくは、黄金信号の値と欠陥信号の値とが異なる場合にのみ、異なる色で示される。また、図8に示す表示の代替案として、黄金信号の値及び欠陥信号の値は、所与の単一波上に互いに並べて配置され得る。2つの値を表示することは、表示された信号が単一ビットでない場合に特に有用となり得る。信号は、タイミングドメインに表示され、これは、どのようにフォールトが1つの信号から次の信号に前進するかを示す異なる色の「脚立」をもたらす。異なる色は、どのようにフォールトが1つの信号から次の信号に前進するかを示すために表示において使用され得る。図8にも示されるように、信号前のデバイスの入力及び信号後のデバイスの出力を表示することが有益な場合がある。複数の観測点を有する代替実施形態では、複数の観測点に関するデータ及びグラフがディスプレイ又は波形ビューア上に示され得る。
ハードウェア安全機構の検証のための例示的アーキテクチャ600を図9に示す。このシステムは、パリティエンコーダ610、リード/ライト620、ライトポインタ630、メモリ640、リードポインタ650、パリティコーダ660及びフル/空670を有する。
図9に示すように、フォールト経路計算800の入力は、開始点(フォールト位置)及び終点(観測点)と、反例から計算されたフォールトによって影響を受けた信号のリスト(影響を受けた信号の完全なリスト)と、設計におけるそれぞれの単一信号のファンイン/ファンアウト関係とである。フォールト経路計算の出力は、開始点から終点までの最短経路である。最短経路は、信号の数、インスタンスの数又はレジスタ/状態の数の観点から見たものとなり得る。インスタンスは、それらに付加された異なる数の信号を有し得る。インスタンスは、一般的にセル(ANDコール又はフリップフロップセルのような)である。開始点から終点までの最短経路は、絶対最短経路ではなく、開始点と終点との間に何らかの逸脱又は変更を含み得る。逸脱又は変更は、フリップフロップなどの任意の手段によって加えられ得る。
図10を参照して、本発明の好ましい実施形態による、フォールト経路を算出するための例示的方法を説明する。計算のための入力は、図8に示される。902では、観測点が現在の信号リストに入力される。これが最初の反復である場合、現在の信号リストは、わずか1つの信号(観測点)を有し得る。それが後の反復であれば、現在の信号リストは、複数の信号を有する。910において現在の信号リストが空であれば、システムは、ステップ912において、エラーが存在することを知り、適切なエラー通知が着手される。910において現在の信号リストが空でなければ、システムは、920において、現在の信号リスト中の各信号について、その信号が、影響を受けた信号のリスト上に存在するか否かを決定する。特定の信号が、影響を受けた信号のリスト上になければ、システムは、922において、その信号に対して何も行わない。特定の信号が、影響を受けた信号のリスト上にあれば、システムは、930において、信号がフォールト位置であるか否かをチェックする。それがフォールト位置でなければ、システムは、934において、この信号のファンインを次の現在の信号リストに追加するとともに、この信号をそれらのファンイン信号の親として保存する。現在の信号リスト上の全ての信号がチェックされると、システムは、936において、次の現在の信号リストを現在の信号リストにし、次いで910に戻る。ステップ930において信号がフォールト位置である場合、システムは、940において、フォールト位置を経路信号として設定する。次いで、システムは、950において、経路信号が親を有するか否かを決定する。はいであれば、システムは、952において、その親を新しい経路信号と見なすとともに、その経路信号を経路リストに保存する。次いで、システムは、ステップ950に戻る。経路信号が親を有さない場合、システムは、960において、波形ビューアにおいて経路を作成順に表示する。このようにして、フォールト位置から観測点までの最短経路の決定及び表示が行われる。
フォールト検出/診断の符号化
多くの場合、ハードウェアコンポーネントは、潜在的な誤った挙動をチェックする内部診断又は検出機構を包含している。このような挙動が観測されると、特別な出力(エラーフラグ)を使用して、エラーが外部に伝達される。ユーザ(通常、ソフトウェア又は他の接続ハードウェア)は、エラーから回復させる責任を負う。内部検出機構によって検出され、ユーザに知らされるエラーは、安全エラーと見なされる。代替的に、ISO26262の第5部もこのようなエラーをマルチポイント検出故障として分類する。内部検出機構によって検出されないエラーは、危険故障であり、ISO26262の第5部は、このような危険故障を残存として分類する。
従って、注入されたフォールトが内部検出機構によって検出される挙動をフォーマルツールが考慮しないことを確実にすることが望まれる。これは、内部検出機構がエラーを報告する場合に図7の出力を0に設定することによって達成することができる。しかし、これは、フォールトが伝搬されるのと全く同じクロックサイクルにおいて、エラーフラグが内部検出機構によって立てられることを必要とする。
より強力な手法は、エラーフラグが設定されると、それが高論理値を維持することを必要とする。これは、エラーが検出/診断された後に生じる全てのフォールト伝搬が安全と見なされることを確実にする。
フォールトが観測点に伝搬した後のあるクロックサイクル数でのみエラーが内部検出機構によって認識され得る場合、最も複雑な状況が生じる。エラーフラグが立てられる所与の一定の数のクロックサイクルが存在する場合、それに応じて、直列接続された対応する数のレジスタを使用して、図6の「is different/異なる」信号を延期し、指定のクロックサイクル数後にのみ差がフォーマルツールによって見つけられることを確実にし、エラーの存在を知らせるための十分な時間を内部機関に与える。
一定のリミットの存在は、エラーが有限時間内に生じたか否かを決める方法をユーザが有する必要があるため、限定ではなく、リミットが課せられなければ、ユーザが無制限に待つことを必要とするであろう。
トランジェントフォールトモデル化
基本フォールトモデル化は、回路において所与の信号の代わりに一定値を導入することからなる。これは、欠陥信号がシミュレーション又はフォーマルチェックにおいて常に同じ値を有することを意味する。このモデルは、注入された定数の値に基づいて0縮退又は1縮退と呼ばれるか、又は一般に、それは、固定値縮退(stuck-at-value)と呼ばれ得る。
このモデルは、幾つかのタイプのフォールトに関して問題なく使用され得るが、ときに例えば回路要素が高エネルギー粒子によって衝突され、1つ又は複数のクロックサイクル中、その論理値の一時的変化が引き起こされる場合のように、トランジェントフォールトに興味がある場合がある。
トランジェントフォールトは、欠陥値が一般的にランダムに挿入されるシミュレーションでモデル化することが簡単となり得るが、フォーマル環境では、このタイプのランダムエラーの事前の未知の時間及び限定された継続時間を表すようにモデルを調節する必要がある。
トランジェントフォールトの単純な例は、シングルアップセットである。これは、信号値が1つのクロックサイクル中にのみフォールトによって影響を受けることを意味するが、それが何れの時点で生じるかは、事前に分からない。この不確実性は、新しい入力によって導入される非決定論としてモデル化される。新しい入力の高い値は、フォールトがこれまでに生じていないことを条件として、それを生じさせる。シングルアップセットフォールト注入は、図12に見られるような付加順次論理によってモデル化され得る。これは、その間にフォールトが注入される具体的なクロックサイクルを強制することなく、正確に1つの時間サイクル中、欠陥値を含む実行経路のみをフォーマルツールが考慮することを可能にする。
図12の回路は、正規表現「n*fn*」(「n」は、非欠陥状態であり、fは、欠陥状態である)に相当する有限オートマトンの実装形態である。この正規表現は、未指定の数の非欠陥状態後に正確に1つの欠陥状態が続き、次いで再び未指定の数の非欠陥状態が続くことを示す。このようにして、非常に複雑なフォールトパターンでさえ記述することができる。
正規表現をオートマトンに変え、且つオートマトンを回路に変えるプロセスは、十分に確立されている。
このようにして、正規表現によって記述可能なフォールトパターンをサポートすることができる。
本発明の方法は、順次回路においてフォールト非伝搬を証明する際に生じる等価性チェック問題のサイズを減少させる。この手法は、先行技術のシステム及び方法よりも大きい状態空間の縮小をもたらす。
本発明の方法は、フォールト伝搬の安全性を、それをフォーマルプロパティとして符号化することによってさらに診断する。
さらにまた、本発明の方法は、順次等価性チェッカーに提示されるフォーマル問題の範囲内において、ワンタイムアップセット及びより一般的なアップセットスキーマを符号化する。正規表現又は同様の形式によって表現することができるあらゆるアップセットパターンをサポートする。
本発明の好ましい実施形態の上記の説明は、例示及び説明を目的として提示されたものである。包括的であること又は本発明を開示された通りの形態に限定することは意図されず、変更形態及び変形形態は、上記の教示に鑑みて可能であるか、又は本発明の実施から得ることができる。本実施形態は、本発明の原理及び企図された特定の使用に適するような様々な実施形態において当業者が本発明を利用することを可能にする実際の適用を説明するために選択及び記載されたものである。本発明の範囲は、本明細書に添付された特許請求の範囲及びそれらの均等物によって定義されることが意図される。上述の各文献の全体が参照により本明細書に援用される。
この発明に係るコンピュータ実装方法は、さらなるチェックを必要としないフォールトの検出に使用され得、エラーが検出/診断された後に生じるフォールト伝搬は、安全であるか又はさらなるチェックを必要としないフォールトと見なされる。
別の好ましい態様では、本発明は、フォールト伝搬経路の計算及び表示を行うシステム及びコンピュータ実装方法である。この方法は、コンピューティングデバイスが実行する、電気回路におけるフォールト位置を識別するステップと電気回路における観測点を識別するステップと前記フォールト位置から前記観測点までのフォールト経路を算出するステップと、波形ビューアにおいて、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示するステップとを含む。フォールト経路を算出するステップは、フォールト位置から観測点までの影響を受けた信号の最短経路を算出することを含み得る。最短経路を算出するステップは、信号の数の観点から最短経路を算出すること、インスタンスの数の観点から最短経路を算出すること又はレジスタの数の観点から最短経路を算出することを含み得る。

Claims (18)

  1. フォールト伝搬の分析のために順次等価性チェックを行うためのコンピュータ実装方法であって、
    フォールトを注入することと、
    複数のレジスタの中で、前記注入されたフォールトが伝搬できない第1のレジスタのセット及び前記注入されたフォールトが伝搬できる第2のレジスタのセットを識別することであって、 前記複数のレジスタの各レジスタについて、更新関数を実行することと、前記レジスタが前記更新関数の結果として変化する場合に前記レジスタを前記第2のレジスタのセットに割り当てること及び前記レジスタが前記更新関数の結果として変化しない場合に前記レジスタを前記第1のレジスタのセットに割り当てることとを含む、識別することと、
    等価性チェックを行うための減少した言明複製を得るために前記第2のレジスタのセットを複製することとを含む、コンピュータ実装方法。
  2. 前記第1のセット及び前記第2のセットを識別するステップは、各レジスタについて前記更新関数をチェックする組み合わせチェックを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記識別するステップは、1つのクロックサイクルにおいて順次チェックを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記各ステップは、反復的であり且つ繰り返される、請求項1~3のいずれか1項に記載のコンピュータ実装方法。
  5. トランジェントフォールトモデル化を用いてフォールトを注入することを含む、請求項1~4のいずれか1項に記載のコンピュータ実装方法。
  6. レジスタの前記第1のレジスタのセット又は前記第2のレジスタのセットへの前記割り当ては、前記更新関数を実行した後の一定のクロックサイクル数で行われ、前記一定のクロックサイクル数は、1よりも大きい、請求項1~5のいずれか1項に記載のコンピュータ実装方法。
  7. さらなるチェックを必要としないフォールトの検出に使用され、エラーが検出/診断された後に生じるフォールト伝搬は、安全であるか又はさらなるチェックを必要としないフォールトと見なされる、請求項1~6のいずれか1項に記載のコンピュータ実装方法。
  8. フォールト伝搬経路の計算及び表示のためのコンピュータ実装方法であって、
    コンピューティングデバイスを用いて、電気回路におけるフォールト位置を識別することと、
    前記コンピューティングデバイスを用いて、前記電気回路における観測点を識別することと、
    前記コンピューティングデバイスを用いて、前記フォールト位置から前記観測点までのフォールト経路を算出することと、
    波形ビューアにおいて、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示することとを含む、コンピュータ実装方法。
  9. 前記フォールト経路を算出するステップは、前記フォールト位置から前記観測点までの影響を受けた信号の最短経路を算出することを含む、請求項8に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  10. 前記最短フォールト経路を算出するステップは、信号の数の観点から前記最短経路を算出することを含む、請求項9に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  11. 前記最短フォールト経路を算出するステップは、インスタンスの数の観点から前記最短経路を算出することを含む、請求項9又は10に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  12. 前記最短フォールト経路を算出するステップは、レジスタの数の観点から前記最短経路を算出することを含む、請求項9~11のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  13. 前記最短フォールト経路を算出するステップは、逸脱又は変更を前記最短経路に加えることを含む、請求項9~12のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  14. 波形ビューアにおいて、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示する、前記ステップは、
    どのように前記フォールトが1つの信号から次の信号に前進するかを示すために、前記信号を前記表示において異なる色の「脚立」でタイミングドメインに表示することを含む、請求項8~13のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  15. 波形ビューアにおいて、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示する、前記ステップは、
    異なる色、異なる線の太さ若しくは異なる種類の線の少なくとも1つを含む視覚的指標又は任意の他の視覚的指標を用いることを含む、請求項8~14のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  16. 前記コンピューティングデバイスを用いて、前記電気回路における複数の観測点を識別することと、
    前記コンピューティングデバイスを用いて、前記フォールト位置から前記複数の観測点までの複数のフォールト経路を算出することと、
    波形ビューアにおいて、前記複数のフォールト経路の各フォールト経路について、前記フォールト位置から前記観測点までの前記フォールト経路における全ての信号をその作成順に表示することであって、前記複数の観測点のデータ及びグラフが表示される、表示することとを含む、請求項8~15のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  17. 請求項1~7のいずれか1項に記載のフォールト伝搬の分析のために順次等価性チェックを行うためのコンピュータ実装方法を含む、請求項8~16のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法。
  18. 請求項8~16のいずれか1項に記載のフォールト伝搬経路の計算及び表示のためのコンピュータ実装方法を含む、請求項1~7のいずれか1項に記載のフォールト伝搬の分析のために順次等価性チェックを行うためのコンピュータ実装方法。
JP2022127792A 2017-06-19 2022-08-10 フォーマルフォールト伝搬分析のためのシステム及び方法 Active JP7362857B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US15/626,674 US20180364298A1 (en) 2017-06-19 2017-06-19 System and method for formal circuit verification
LU100321A LU100321B1 (en) 2017-06-19 2017-06-19 Method for formal circuit verification
LULU100321 2017-06-19
US15/626,674 2017-06-19
JP2020519181A JP7145942B2 (ja) 2017-06-19 2018-06-19 フォーマルフォールト伝搬分析のためのシステム及び方法
PCT/EP2018/066315 WO2018234341A1 (en) 2017-06-19 2018-06-19 SYSTEM AND METHOD FOR FORMAL ANALYSIS OF DEFECT PROPAGATION

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020519181A Division JP7145942B2 (ja) 2017-06-19 2018-06-19 フォーマルフォールト伝搬分析のためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2022166154A true JP2022166154A (ja) 2022-11-01
JP7362857B2 JP7362857B2 (ja) 2023-10-17

Family

ID=62597532

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020519181A Active JP7145942B2 (ja) 2017-06-19 2018-06-19 フォーマルフォールト伝搬分析のためのシステム及び方法
JP2022127792A Active JP7362857B2 (ja) 2017-06-19 2022-08-10 フォーマルフォールト伝搬分析のためのシステム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020519181A Active JP7145942B2 (ja) 2017-06-19 2018-06-19 フォーマルフォールト伝搬分析のためのシステム及び方法

Country Status (4)

Country Link
EP (1) EP3642637B1 (ja)
JP (2) JP7145942B2 (ja)
ES (1) ES2947361T3 (ja)
WO (1) WO2018234341A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4386614A1 (en) 2022-12-12 2024-06-19 Siemens Electronic Design Automation GmbH Verification of a logic circuit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306881A (ja) * 1994-05-12 1995-11-21 Hitachi Ltd 論理シミュレーション結果解析支援装置
JPH1166114A (ja) * 1997-08-25 1999-03-09 Nec Corp シミュレーション解析装置及びシミュレーション解析方法
JPH11153646A (ja) * 1997-11-19 1999-06-08 Nec Corp 故障伝搬経路抽出システム及びその方法並びにその制御プログラムを記録した記録媒体
JP2007293589A (ja) * 2006-04-25 2007-11-08 Sharp Corp 回路図描画プログラム
US20160267216A1 (en) * 2015-03-13 2016-09-15 Taiwan Semiconductor Manufacturing Company Limited Methods and systems for circuit fault diagnosis

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385750B1 (en) * 1999-09-01 2002-05-07 Synopsys, Inc. Method and system for controlling test data volume in deterministic test pattern generation
GB0519363D0 (en) * 2005-09-22 2005-11-02 Advanced Risc Mach Ltd Error propagation in integrated circuits
JP4562713B2 (ja) * 2006-10-05 2010-10-13 ルネサスエレクトロニクス株式会社 論理回路における多重故障の故障箇所推定システム、故障箇所推定方法および故障箇所推定用プログラム
US9477802B1 (en) 2009-06-09 2016-10-25 Cadence Design Systems, Inc. Isolating differences between revisions of a circuit design
WO2015062013A1 (en) 2013-10-31 2015-05-07 Jasper Design Automation, Inc. Data propagation analysis for debugging a circuit design

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306881A (ja) * 1994-05-12 1995-11-21 Hitachi Ltd 論理シミュレーション結果解析支援装置
JPH1166114A (ja) * 1997-08-25 1999-03-09 Nec Corp シミュレーション解析装置及びシミュレーション解析方法
JPH11153646A (ja) * 1997-11-19 1999-06-08 Nec Corp 故障伝搬経路抽出システム及びその方法並びにその制御プログラムを記録した記録媒体
JP2007293589A (ja) * 2006-04-25 2007-11-08 Sharp Corp 回路図描画プログラム
US20160267216A1 (en) * 2015-03-13 2016-09-15 Taiwan Semiconductor Manufacturing Company Limited Methods and systems for circuit fault diagnosis

Also Published As

Publication number Publication date
EP3642637A1 (en) 2020-04-29
JP7145942B2 (ja) 2022-10-03
JP7362857B2 (ja) 2023-10-17
WO2018234341A1 (en) 2018-12-27
JP2020524351A (ja) 2020-08-13
EP3642637B1 (en) 2023-03-29
ES2947361T3 (es) 2023-08-07

Similar Documents

Publication Publication Date Title
US11520963B2 (en) System and method for formal fault propagation analysis
US11036604B2 (en) Parallel fault simulator with back propagation enhancement
US11216606B1 (en) Method and system for functional safety verification using fault relation rules
CN114065677A (zh) 用于集成电路硬件设计的故障注入测试的方法和系统
US11416662B1 (en) Estimating diagnostic coverage in IC design based on static COI analysis of gate-level netlist and RTL fault simulation
US9760663B2 (en) Automatic generation of properties to assist hardware emulation
US8650519B2 (en) Automated functional coverage for an integrated circuit design
US10592623B2 (en) Assertion statement check and debug
Fey et al. A basis for formal robustness checking
JP7362857B2 (ja) フォーマルフォールト伝搬分析のためのシステム及び方法
US20180364298A1 (en) System and method for formal circuit verification
US9404972B2 (en) Diagnosis and debug with truncated simulation
Miele A fault-injection methodology for the system-level dependability analysis of multiprocessor embedded systems
US10796047B2 (en) Functional safety synthesis
Dehbashi et al. Automated debugging from pre-silicon to post-silicon
Kritikakou et al. Functional and timing implications of transient faults in critical systems
Jayakumar Systematic model-based design assurance and property-based fault injection for safety critical digital systems
Marchese et al. Formal fault propagation analysis that scales to modern automotive SoCs
Chen et al. Practices and challenges for achieving functional safety of modern automotive SoCs
US11816410B2 (en) System and method for formal fault propagation analysis
EP3553681B1 (en) Method and apparatus for error test coverage determination for a circuit by simulation
Frehse et al. A better-than-worst-case robustness measure
LU100321B1 (en) Method for formal circuit verification
Bernardeschi et al. UA2TPG: An untestability analyzer and test pattern generator for SEUs in the configuration memory of SRAM-based FPGAS
Abraham Verification and validation spanning models to code

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231004

R150 Certificate of patent or registration of utility model

Ref document number: 7362857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150