ゼファーネットのロゴ

相互運用性と自動化により、スケーラブルで効率的な安全ワークフローが実現

日付:

アン・ケファー、アルン・ゴジネニ、ジェームス・キム著

ADAS および AV 機能を搭載した自動車は、重要なリアルタイム アプリケーションを実行するために複雑なデジタルおよびアナログ システムに依存しています。これらの最新の自動車設計ではテストする必要がある欠陥が多数あるため、単一のテクノロジーを使用して安全性検証を実行することは非現実的です。

しかし、シミュレーション、エミュレーション、フォーマルの対象を自動的に特定する特定の障害リストを使用して、最適化された安全方法論を開発することは困難です。もう 1 つの課題は、最終的なメトリック計算のためにさまざまな障害挿入の実行から得られた障害解決結果を統合することです。

幸いなことに、フォールト インジェクション エンジン、最適化手法、および自動化されたフローの相互運用性により、全体の実行時間が効果的に短縮され、安全分析から安全認証までのループを迅速に完了できます。

図 1 は、安全フローにおける最適化手法の一部を示しています。最適化および障害プルーニングのための安全分析、同時障害シミュレーション、障害エミュレーション、形式ベースの分析などの高度な方法論を導入して、車載 SoC の安全要件を検証できます。

イチジク 1: 障害 リスト 最適化

概念実証: 車載 SoC

SoC レベルのテスト ケースを使用して、この自動化されたマルチエンジン フローが高度な自動車設計でテストする必要がある多数の障害をどのように処理するかを示します。このテスト ケースで使用した SoC 設計には、約 300 万ゲートがありました。まず、シミュレーションとエミュレーションの両方の障害挿入エンジンを使用して、最終メトリクスの障害キャンペーンを効率的に完了しました。次に、全体的なフォールト挿入を完了する一環として形式的な分析を実行しました。

イチジク 2: 自動車 SoCの トップレベル コロナ新型ウィルス(COVID-XNUMX)やメンタルヘルスの崩壊を避ける為の 図。

図 3 は、図 2 のセーフティ アイランド ブロックを表したものです。色分けされた領域は、フォールト挿入とフォールト分類にシミュレーション、エミュレーション、およびフォーマル エンジンが使用された場所を示しています。

イチジク 3: 詳しい 安全な島 コロナ新型ウィルス(COVID-XNUMX)やメンタルヘルスの崩壊を避ける為の 図。

シミュレーションを使用したフォールト挿入は、CPU コアとキャッシュ メモリ ブロックに時間とリソースを消費しすぎました。これらのブロックは、効率を高めるためにエミュレーション エンジンによるフォールト インジェクションの対象となりました。 CPU コアはソフトウェア テスト ライブラリ (STL) によって保護され、キャッシュ メモリは ECC によって保護されます。バス インターフェイスには、シミュレーションによるフォールト挿入が効率的であると判断されたエンドツーエンドの保護が必要です。障害管理ユニットはこの実験には含まれていませんでした。障害管理ユニットへの障害挿入は、次のステップとして正式なテクノロジを使用して完了します。

表 1 は、セーフティ アイランド内のブロックのレジスタ数を示しています。

表 1: ブロックレジスタ数。

これらのブロックごとに生成された障害リストは、安全メカニズム/保護を備えた安全クリティカルなノードに焦点を当てるように最適化されました。

安全分析ツールである SafetyScope を実行して、Veloce フォールト アプリ (フォールト エミュレーター) とフォールト シミュレーターの両方の FM のフォールト リストを作成し、そのフォールト リストを機能安全 (FuSa) データベースに書き込みました。

CPU およびキャッシュ メモリ ブロックの場合、エミュレータは合成ブロックとフォールト挿入/フォールト検出ネット (FIN/FDN) を入力します。次に、スティミュラスを実行し、すべての FDN の状態をキャプチャしました。状態は保存され、フォールト インジェクトの実行と比較するための「ゴールド」参照として使用されました。最適化された障害リストにリストされている各障害について、障害の動作がエミュレートされ、FDN がゴールデン ラン中に生成された参照値と比較され、結果が分類され、属性とともに障害データベース内で更新されました。

図 4: CPU クラスター。 (ソース から https://developer.arm.com/Processors/Cortex-R52)

ブロック図に示されているサブパーツごとに、分析エンジンを使用して最適化された障害リストを生成しました。障害リストは、FuSa データベースの個々のセッションに保存されます。 FuSa データベースからランダム サンプルを生成するために、障害全体に対する統計的ランダム サンプリングを使用しました。

ここで、エミュレーションを使用してフォールト挿入を通じて 1 つのランダムなサンプルを取得すると何が起こるかを見てみましょう。ただし、フォールト挿入を完全に終了するために、N 個のサンプルを処理しました。

2: 検出された 欠点 by 安全性 メカニズム。

表 3 は、総故障数の全体的な故障分布が、ランダムにサンプリングされた故障の故障分布と一致していることを示しています。このテーブルには、合計 3125 個の障害のうち、検出された合計 4782 個の障害がさらに記録されています。また、サブパーツごとに検出された故障をモデル化し、全体で 65.35% の故障検出率を提供することもできました。ランダム サンプルの欠陥と 90% というカバレッジ目標に基づいて、許容誤差 (MOE) が ±1.19% であると計算されました。

3: CPU およびキャッシュ メモリへのフォールト挿入の結果。

検出された (観測された + 観測されていない) 合計 3125 個の障害により、明確な障害分類が提供されます。検出されなかった観察結果も、残留故障の明確な分類を提供します。私たちは、検出されず、観察されず、注入されなかった故障をさらに分析しました。

4: 障害 分類 After 障害 注入。

私たちは多くのデバッグ手法を使用して、616 個の未検出、未観察の障害を分析しました。まず、形式的な解析を使用して、これらの UU 断層の影響範囲 (COI) を確認しました。 COI の外側にある断層は安全とみなされ、さらに解析から除外された断層が 616 つありました。 COI 内にあった障害については、ECC、タイマー、フラッシュ メモリ関連などのさまざまな構成を正当化した技術的判断を使用しました。最終的に、正式な技術的判断を使用して、79 UU 障害を安全な障害と残りの障害にさらに分類することができました。 UU フォールトは保守的に残留フォールトになります。また、10 個の残留故障をレビューし、1.293 個の故障を安全な故障に分類することができました。注入されなかったフォールトもシミュレーション モデルに対してテストされ、さらなる刺激によってそれらのフォールトを注入できるかどうかが確認されました。これらのフォルトを注入できる刺激がなかったため、これらのフォルトを考慮から除外し、誤差の範囲内とすることにしました。この変更により、新しい MOE は ±XNUMX% になります。

並行して、障害シミュレーターはバス ブロックの障害モードに対して最適化された障害リストを取得し、機能検証からの刺激を使用して障害シミュレーションを実行しました。最初の刺激セットでは十分な範囲が提供されなかったため、より高品質の刺激 (テスト ベクトル) が準備され、追加の障害キャンペーンが新しい刺激に対して実行されました。すべての障害分類は FuSa データベースに書き込まれました。全体的な効率と高いパフォーマンスを実現するために、すべての実行は並列かつ同時実行されました。

SafetyScope を使用した安全分析により、精度が向上し、故障シミュレーションの反復が削減されました。表 90 に示すように、さまざまなテストでエミュレーションした後の CPU およびキャッシュ メモリの全体的な SPFM は 5% を超えました。

5: 全体 結果。

現時点では、障害シミュレーションを行う BUS ブロック (エンドツーエンド保護) のテストがすべて完了していませんでした。表 6 は、最初の初期テストで 9.8% の障害を非常に迅速に解決できたことを示しています。

6: E2E SM によって検出された BUS ブロックの障害の割合。

SoC の実行時の動作状態を模倣するために、BUS 上で高トラフィックを伴うテストをさらに統合しています。これらの独立したフォールト挿入 (シミュレーションとエミュレーション) の結果は、上記のブロックの最終メトリックを計算するために結合され、その結果が表 7 に示されています。

7: 分析後の最終的な障害分類。

まとめ

この記事では、SoC レベルの自動車テスト ケースで使用される新しい機能安全方法論の詳細を共有し、フォーマル、シミュレーション、エミュレーション検証エンジンを使用したフォールト挿入の最適化技術を使用して、私たちの方法論がどのようにスケーラブルで効率的な安全ワークフローを生成するかを示しました。 。フォールト挿入を実行する前に安全性分析を実行することは非常に重要であり、時間を節約できます。したがって、この規模のプロジェクトには、複数のエンジンを使用し、共通の FuSa データベースから結果を読み取るための相互運用性が必要です。

ADAS および AV 自動車設計向けの非常に効果的な機能安全フローの詳細については、Siemens EDA ホワイトペーパーをダウンロードしてください。 複雑な安全メカニズムには相互運用性と、検証とメトリクスのクロージャのための自動化が必要です.

Arun Gogineni は、Siemens EDA の IC 機能安全のエンジニアリング マネージャー兼アーキテクトです。

James Kim は、Siemens EDA の技術リーダーです。

スポット画像

最新のインテリジェンス

スポット画像