(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161578
(43)【公開日】2023-11-07
(54)【発明の名称】複雑な電子システムのハードウェア機能ブロックのための故障モード、影響、および診断分析(FMEDA)自動化のためのモデル駆動手法
(51)【国際特許分類】
G06F 30/33 20200101AFI20231030BHJP
G06F 115/02 20200101ALN20231030BHJP
G06F 115/08 20200101ALN20231030BHJP
G06F 119/20 20200101ALN20231030BHJP
【FI】
G06F30/33
G06F115:02
G06F115:08
G06F119:20
【審査請求】未請求
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023070883
(22)【出願日】2023-04-24
(31)【優先権主張番号】63/334,665
(32)【優先日】2022-04-25
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/301,248
(32)【優先日】2023-04-16
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】521196590
【氏名又は名称】アルテリス・インコーポレイテッド
【氏名又は名称原語表記】ARTERIS, INC.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ステファノ・ロレンツィーニ
(72)【発明者】
【氏名】ブノワ・ドゥ・レスキュール
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146GA05
5B146GL00
(57)【要約】 (修正有)
【課題】ハードウェアモデルに関する故障モード特性及び安全性データを含む分析を可能にし、安全性ライブラリコンポーネント及びIPハードウェアをコンパイルするシステム及び方法を提供する。
【解決手段】方法は、電子システムのハードウェア機能ブロック(IP)上で故障モード、影響及び診断分析(FMEDA)を実行する。分析は、安全性ライブラリコンポーネントのライブラリにアクセスすることであって、各安全性ライブラリコンポーネントは、ハードウェアモデルに関する故障モード特性および安全性データを含む。方法はまた、安全性ライブラリコンポーネント及びハードウェアIPをコンパイルすることを含む。コンパイルすることは、ハードウェアIP内のハードウェアモデルのインスタンスを対応する安全性ライブラリコンポーネントにマッピングし、対応するコンポーネントの特性および安全性データを集約することを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
電子システムのハードウェアIP上で故障モード、影響、および診断分析(FMEDA)を実行するコンピュータ実装方法であって、前記方法は、
安全性ライブラリコンポーネントのライブラリにアクセスするステップであって、各安全性ライブラリコンポーネントは、ハードウェアモデルに関する故障モード特性および安全性データを含む、安全性ライブラリコンポーネントのライブラリにアクセスするステップと、
前記ハードウェアIP内のハードウェアモデルのインスタンスを対応する安全性ライブラリコンポーネントにマッピングし、前記対応するコンポーネントの前記特性および安全性データを集約するステップを含む、前記安全性ライブラリコンポーネントおよび前記ハードウェアIPをコンパイルするステップと、を含む、方法。
【請求項2】
各安全性ライブラリコンポーネントは、属性および安全値を含む、請求項1に記載の方法。
【請求項3】
各安全性ライブラリコンポーネントは、ハードウェアモデルにマッピングするための情報を含み、前記ライブラリコンポーネントを前記IPブロックにマッピングするステップは、前記ライブラリコンポーネント内の前記マッピング情報にアクセスするステップを含む、請求項1に記載の方法。
【請求項4】
前記集約された特性および安全性データからグローバルメトリックを生成するステップをさらに含む、請求項1に記載の方法。
【請求項5】
修正されたハードウェアIPを受信するステップと、
前記安全性ライブラリコンポーネントおよび前記修正されたハードウェアIPを再コンパイルするステップと、
をさらに含む、請求項1に記載の方法。
【請求項6】
前記再コンパイルするステップは、前記修正されたハードウェアIPにおいて変更されていないインスタンスにマッピングされたコンポーネントを再使用するステップを含む、請求項5に記載の方法。
【請求項7】
前記再コンパイルするステップは、前記修正されたハードウェアIPから削除されたインスタンスに対応する安全性ライブラリコンポーネントをデマッピングするステップを含む、請求項5に記載の方法。
【請求項8】
前記再コンパイルするステップは、前記修正されたハードウェアIP内の修正された機能を有するインスタンスにマッピングされた安全性ライブラリコンポーネントをデマッピングし、前記修正された機能を有する前記インスタンスに新しい安全性ライブラリコンポーネントをマッピングするステップを含む、請求項5に記載の方法。
【請求項9】
各安全性ライブラリコンポーネントは、安全値および設計データを含み、前記方法は、ゲート数および面積の推定値を生成するために前記安全値および設計データを抽出するステップをさらに含む、請求項1に記載の方法。
【請求項10】
前記ハードウェアIPブロックおよび前記ライブラリは、システムオンチップ用である、請求項1に記載の方法。
【請求項11】
実行されると、コンピューティングプラットフォームに、電子システムのハードウェア機能ブロック(IP)に対して故障モード、影響、および診断分析(FMEDA)を実行させるデータで符号化された電子メモリを備える物品であって、前記FMEDAは、
安全性ライブラリコンポーネントのライブラリを参照するステップであって、各安全性ライブラリコンポーネントは、ハードウェアモデルに関する故障モード特性および安全性データを含む、安全性ライブラリコンポーネントのライブラリを参照するステップと、
前記ハードウェアIP内のインスタンスを対応する安全性ライブラリコンポーネントにマッピングし、前記マッピングされたコンポーネントの前記特性および安全性データを集約するステップを含む、前記安全性ライブラリコンポーネントおよび前記ハードウェアIPをコンパイルするステップと、を含む、物品。
【請求項12】
合成ツールであって、
メモリと、
処理ユニットと、を備え、
前記メモリは、前記ツールに機能ブロック(IP)に関する故障モード、影響、および診断分析(FMEDA)を実行させるために前記処理ユニットによって実行されるコードを格納し、前記分析は、
安全性コンポーネントライブラリにアクセスすることであって、前記ライブラリ内の各コンポーネントは、前記IPのモデル表現に関する故障モード特性および安全性データを有する、アクセスすることと、
前記安全性ライブラリコンポーネントおよび前記IPをコンパイルすることであって、前記コンパイルすることは、
前記IPハードウェア内のインスタンスを対応する安全性ライブラリコンポーネントにマッピングすることと、
前記マッピングされたコンポーネントの前記特性および安全性データを集約することと、を含む、コンパイルすることと、を含む、合成ツール。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、その全開示が参照により本明細書に組み込まれる、Stefano LORENZINIらによって2022年4月25日に出願され、「SYNTHESIS TOOL FOR AUTOMATIC GENERATION OF SCALABLE AND REUSABLE FAILURE MODE,EFFECTS,AND DIAGNOSTIC ANALYSIS(FMEDA)IN COMPLEX SYSTEM-ON-CHIP(SoC)」と題する米国仮出願第63/334,665号の利益を主張する。
【0002】
技術分野
本技術は、ハードウェア機能ブロック(IP)の故障モード、影響、診断分析(FMEDA)に関する。FMEDAは、システムオンチップ(SoC)または他の複雑な電子システムのハードウェアIP上で実行されてもよい。
【背景技術】
【0003】
背景
故障モード、影響、および診断分析(FMEDA)は、サブシステムおよび製品レベルの故障率、故障モード、および診断能力を得るための系統的分析技術を指す。この技術は、システムオンチップ(SoC)または他の複雑な電子システムの設計中に利用することができる。例えば、SoCの初期設計は、ハードウェアモデルまたは機能ブロック(IP)ブロックの多くのインスタンスをトップレベルハードウェアIPに組み立てることによって生成され得る。FMEDAは、ハードウェアIP上で実行されてもよい。
【0004】
FMEDAは、スプレッドシートまたは他のテーブルを生成することを含んでもよい。ハードウェアモデルごとの故障モード情報の行は、手動で切り取られてスプレッドシートに貼り付けられる。各行は、ハードウェアIP内のインスタンスの故障モードに対応する。各インスタンスは複数の故障モードを有する可能性があるため、単一のインスタンスに関連付けられた複数の行が存在する可能性がある。テーブルが完成した後、システムおよびサブシステムの故障率、故障モード、および診断能力を取るために、アルゴリズムをFMEDAテーブルに適用することができる。
【0005】
ハードウェアIPは、通常、複数の設計反復および頻繁な設計変更を受ける。FMEDAはまた、修正されたハードウェアIP上で実行され、これは、変更を反映するためにテーブルが複数回修正されることを意味する。さらに、修正または複数のFMEDA反復は、a)ハードウェア(例えばベリログ)パラメータによるIP再構成、およびb)他のIPによって再利用されたRTLモデルからの新しいIPの導出によって引き起こされ得る。
【0006】
FMEDAテーブルを手動で生成および修正することは、面倒で、時間がかかり、非効率的である。これは、高度に構成可能であり、設計中に多くの修正を受ける可能性があるSoCの設計にとって、特に面倒で、時間がかかり、非効率的である。したがって、ハードウェアモデルに関する故障モード特性および安全性データを含む分析を可能にし、安全性ライブラリコンポーネントおよびIPハードウェアをコンパイルするシステムおよび方法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【0007】
概要
本発明の様々な実施形態および態様によれば、システム、物品、およびコンピュータ実装は、電子システムのハードウェア機能ブロック(IP)に対して故障モード、影響、および診断分析(FMEDA)を実行するために使用される。分析は、安全性ライブラリコンポーネントのライブラリにアクセスすることであって、各安全性ライブラリコンポーネントは、ハードウェアモデルに関する故障モード特性および安全性データを含む、アクセスすることと、安全性ライブラリコンポーネントおよびハードウェアIPをコンパイルすることとを含む。コンパイルすることは、ハードウェアIP内のハードウェアモデルのインスタンスを対応する安全性ライブラリコンポーネントにマッピングし、対応するコンポーネントの特性および安全性データを集約することを含む。
【0008】
図面の簡単な説明
本発明をより完全に理解するために、添付の図面を参照する。本発明は、図面または図(図)を参照して以下の説明の態様および実施形態に従って説明され、同様の番号は同じまたは同様の要素を表す。これらの図面は、本発明の範囲内の限定と見なされるべきではないことを理解し、本発明の現在説明されている態様および実施形態ならびに現在理解されている最良の形態は、添付の図面を使用することによってさらなる詳細と共に説明される。
【図面の簡単な説明】
【0009】
【
図1】本発明の様々な態様および実施形態による、電子システムのハードウェア機能ブロックに対して故障モード、影響、および診断分析(FMEDA)を自動的に実行するコンピュータ実装方法の図である。
【
図2】本発明の様々な態様および実施形態による安全性ライブラリコンポーネントの図である。
【
図3】本発明の様々な態様および実施形態によるFMEDAを実行するためのツールを含むシステムの図である。
【
図4】本発明の様々な態様および実施形態によるハードウェア機能ブロック(IP)の階層表現の図である。
【
図5】本発明の様々な態様および実施形態によるFMEDAを実行するコンピュータ実装方法の図である。
【発明を実施するための形態】
【0010】
詳細な説明
以下では、本発明の様々な態様および実施形態を説明する本技術の様々な例について説明する。一般に、実施例は、本発明の態様を説明するために任意の組み合わせで使用することができる。原理、態様、および実施形態(ならびにその特定の例)を列挙する本明細書のすべての記述は、その構造的および機能的等価物の両方を包含することを意図している。提供される例は、非限定的な例として意図されている。さらに、そのような等価物は、現在知られている等価物および将来開発される等価物の両方、すなわち、構造にかかわらず同じ機能を実行する開発された任意の要素を含むことが意図される。
【0011】
本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈が明らかにそうでないことを示さない限り、複数の指示対象を含むことに留意されたい。本明細書を通して、「一実施形態」、「実施形態」、「特定の実施形態」、「様々な実施形態」、または同様の文言への言及は、実施形態に関連して説明される特定の態様、特性、構造、または特徴が本発明の少なくとも1つの実施形態に含まれることを意味する。
【0012】
したがって、本明細書における語句「一実施形態では」、「少なくとも1つの実施形態では」、「実施形態では」、「特定の実施形態では」、「いくつかの実施形態では」、および同様の文言の出現は、必ずしもそうとは限らないが、すべて同じ実施形態または同様の実施形態を指し得る。さらに、本明細書に記載された本発明の態様および実施形態は単なる例示であり、当業者によって理解される本発明の範囲または精神を限定するものとして解釈されるべきではない。開示された発明は、本明細書に記載された任意の新規な態様を含む任意の実施形態において効果的に作成または使用される。本発明の原理、態様、および実施形態を列挙する本明細書のすべての記述は、その構造的および機能的等価物の両方を包含することを意図している。そのような等価物は、現在知られている等価物および将来開発される等価物の両方を含むことが意図される。さらに、「含む(including)」、「含む(includes)」、「有する(having)」、「有する(has)」、「有する(with)」という用語、またはそれらの変形が詳細な説明および特許請求の範囲のいずれかで使用される限り、そのような用語は、「備える(comprising)」という用語と同様に包括的であることを意図している。
【0013】
「ソース」、「マスタ」、および「イニシエータ」という用語は、ハードウェア機能ブロック(IP)モジュール/ブロックまたはユニットを指し、これらの用語は、本発明の範囲および実施形態内で交換可能に使用される。本明細書で使用される場合、「シンク」、「スレーブ」、および「ターゲット」という用語は、ハードウェアIPモジュールまたはユニットを指し、これらの用語は、本発明の範囲および実施形態内で交換可能に使用される。本明細書で使用される場合、トランザクションは、要求トランザクションまたは応答トランザクションであり得る。要求トランザクションの例は、書き込み要求および読み出し要求を含む。
【0014】
本発明の様々な態様および実施形態によれば、ハードウェアIPの故障モード、影響、および診断分析は、自動化され、モデル駆動される。ハードウェアIPは、特定のシステムに限定されない。しかしながら、これは、高度に構成可能であり、設計中に複数の修正を受ける可能性があるシステムオンチップ(SoC)などの複雑な電子システムに特に有用である。
【0015】
複雑な電子システムの一例として、システムオンチップ(SoC)は、ネットワークオンチップ(NoC)を介して通信するマルチプロセッサシステムを含む。SoCのハードウェアIPは、イニシエータIPおよびターゲットIPのインスタンスを含む。トランザクションは、業界標準プロトコルを使用してイニシエータから1つまたは複数のターゲットに送信される。NoCに接続されたイニシエータは、1つまたは複数のターゲットを選択するために、アドレスを使用して1つまたは複数のターゲットに要求トランザクションを送信する。NoCは、アドレスを復号し、イニシエータからターゲットに要求を転送する。ターゲットはトランザクションを処理し、応答トランザクションを送信し、これはNoCによってイニシエータに戻される。したがって、SoCおよびNoCは、複雑さおよび構成可能性を含む。
【0016】
本発明の様々な態様および実施形態による、ハードウェア機能ブロックに対してFMEDAを自動的に実行するコンピュータ実装モデル駆動方法を示す
図1を参照する。
【0017】
ブロック110において、ハードウェアIPが生成される。SoCのハードウェアIPを検討する。SoCの要件が生成される。要求は、マーケティング、販売、顧客の意図などによって決定されてもよい。システム設計者は、要求に関連する仕様を生成する。本明細書は、ICシステムのチップ定義、技術、ドメイン、およびレイアウトを提供する。
【0018】
コンポーネントのIPブロックまたはハードウェアモデル(例えば、プロセッサコア、メモリなど)は、設計者のライブラリから選択される。IPブロックまたはハードウェアモデルは、論理、セル、または集積回路レイアウト設計の再利用可能なユニットを指すことができる。ハードウェアモデルは、Verilogなどのハードウェア記述言語のレジスタ転送レベル(RTL)で記述することができる。
【0019】
ハードウェアモデルのインスタンスは、最上位レベルのハードウェアIPに組み立てられる。階層は、ハードウェアモデルの接続を指す。
【0020】
サブシステムおよびシステムレベルの故障率、故障モードおよび診断能力を得るために、ハードウェアIP上でモデル駆動FMEDAが実行される。
【0021】
ブロック120において、ハードウェアIPがアクセスされる。例えば、ハードウェアIPは、ネットワークを介してリモートストレージからダウンロードされてもよいし、ローカルメモリから読み出されてもよい。
【0022】
ブロック130において、RTL設計者または安全エンジニアなどのユーザによって作成された安全性ライブラリコンポーネントのライブラリがアクセスされる。例えば、ライブラリは、ネットワークを介してリモート記憶装置からダウンロードされ、ローカルメモリから読み出されるなどしてもよい。各安全性ライブラリコンポーネントは、ハードウェアIPブロックに関する故障モード特性および安全性データを含む。各安全性ライブラリコンポーネントはまた、IPブロックにマッピングされることを可能にする情報を含む。
【0023】
ブロック140において、安全性ライブラリコンポーネントおよびハードウェアIPがコンパイルされる。コンパイルは、ライブラリ内の特定の安全性ライブラリコンポーネントをハードウェアIP内の対応するインスタンスにマッピングまたはリンクすることと、対応するコンポーネントのマッピングされた安全性ライブラリコンポーネントに含まれる特性および安全性データを集約するステップとを含む。様々な態様および実施形態によれば、各安全性ライブラリコンポーネントは、(RTL合成と同様に)インスタンスにマッピングされる。言い換えれば、複数のインスタンスは同じモデルを参照することができ、その逆はない。例えば、特性および安全性データは、FMEDAテーブルなどのデータ構造に集約されてもよい。コンパイルが完了すると、FMEDAテーブルは、故障モード、安全機構、および関連する安全性データの完全なセットを有する。本発明の態様および実施形態によれば、内部フォーマットは、FMEDAのコンテンツのコンパイルおよび正しい表現に適応するのに適した任意のフォーマットおよび言語を有することができる。FMEDAがエクスポートされると、通常はMSエクセルフォーマットファイルである「テーブル」になる。本発明の態様および実施形態によれば、出力は、サードパーティツールがテーブルを生成し、合成ステップを避けるまたはスキップすることを可能にするスクリプトであってもよい。この例では、スクリプトはテーブルではないが、依然としてテーブルを記述しており、例えば、故障モードは次のように表すことができる。
【0024】
create_failure_mode<ID><description><saftey data>など。
【0025】
100個の故障モードがある場合、このコマンドは100個になる。
ブロック150において、集約された特性および安全性データが処理されて、故障モード、安全機構、および安全性メトリックを含む関連する安全性データの完全なセットが提供される。メトリックは、システムおよびコンポーネントレベルの単一点故障メトリック(SPFM)、潜在的故障メトリック(LFM)、およびHWランダム故障の確率メトリック(PMFH)を含む。
【0026】
したがって、FMEDAに対するこのモデル駆動手法は、FMEDAテーブル、または特性および安全性データを集約する他の構造を生成するための安全性コンポーネントライブラリおよびコンパイラを導入する。モデル指向手法は、FMEDAテーブルに情報を手動で切り取って貼り付けるよりもはるかに高速で効率的である。速度の向上により、高レベルの設計で実行することが可能になる。これは重要な利点である。
【0027】
モデル駆動手法は、特定のハードウェア要素のコンテキストに関係なく、任意のハードウェアモデルを特徴付ける方法を提供する。これにより、コンテキスト外の安全性の特性付けが可能になる。本発明の態様および実施形態によれば、モード駆動手法は、そのような安全性コンポーネントの再利用を可能にした。
【0028】
モデル指向手法は、高度に構成可能で、複数の設計変更を受けるIPハードウェアにとって大きな利点を実現する。
【0029】
ブロック160において、ハードウェアIPが修正される。ハードウェアIPの修正には多くの理由が考えられる。要件が修正される可能性があり、規則に違反する可能性があり、FMEDAの結果が許容できない可能性があるなどである。その結果、ハードウェアモデルがIPハードウェア内で移動される可能性があり、ハードウェアモデルの機能が変更される可能性があり、異なるハードウェアモデルのインスタンスが追加される可能性があり、ハードウェアモデルのインスタンスが削除される可能性などがある。
【0030】
本発明の態様および実施形態によれば、IPブロック修正変更が実施される。例えば、新しいNoCバージョンは、輸送マトリックスのスイッチ性能を管理するためのより高度なアービタを実装する(新しいRTLモデル)。設計者は、(この安全性コンポーネントがFMEDAでインスタンス化されるコンテキストを考慮せずに)安全性コンポーネントをライブラリに追加するだけであり、FMEDAコンパイラは、FMEDAを更新して、古いスイッチに関連する故障モードを除去し、FMEDAの適切な場所でアービタの新しい安全性コンポーネント(安全性の特性付け)からの故障モードをインスタンス化する。
【0031】
本発明の態様および実施形態によれば、IP再構成が実施される。例えば、新しいNoCバージョンは、以前の構成を変更することによって生成され、以前の構成は4つのイニシエータと10個のターゲットIPを接続しており、新しいものは2つのターゲットを追加し、1つのイニシエータのプロトコルをAHBからAXIに変更する。これは、1つのNoCインターフェースのプロトコルを変更し、2つの追加のターゲットに対して2つ以上のNoCインターフェースをインスタンス化することを意味する。この場合、すべての安全性コンポーネントは既にライブラリに存在し(これらはRTLモデルのように構成可能である)、FMEDAコンパイラによって使用され、a)AHBプロトコルの代わりにAXIを実装するNoCインターフェースの安全性の特性付けを安全性ライブラリから回復し、b)2つの追加のNoCインターフェースの安全性の特性付けを安全性ライブラリから回復する。そのような特性からのこれらの追加の故障モードは、FMEDAの適切な場所に配置される。
【0032】
ブロック170において、安全性コンポーネントのライブラリは、IPブロックに対する任意の変更を反映するように更新される。本発明の態様および実施形態によれば、新しいハードウェアモデルが企図される。ライブラリは、設計者によって提供された新しいハードウェア仕様に従って、(変更によって必要とされる場合)安全性エンジニアによって手動で更新される。
【0033】
ブロック180において、修正されたハードウェア記述および更新されたライブラリがアクセスされ、再コンパイルされる。再コンパイルは、修正された説明においてハードウェアモデルが変更されていないインスタンスに既にマッピングされている安全性ライブラリコンポーネントを再利用することを含む。すなわち、未変更のハードウェアモデルの対応する安全性ライブラリコンポーネントへのマッピングが再利用される。安全性ライブラリコンポーネントの再利用は、IP記述内のすべてのインスタンスを再マッピングするよりも速く、より計算効率的である。
【0034】
説明に追加されたインスタンス、および機能が変更されたインスタンスに対して、新しいマッピングが実行される。マッピングは、ハードウェアIPから削除されたインスタンスおよび機能が変更されたインスタンスのマッピングのものが削除される。
【0035】
ブロック190において、ハードウェアIPに対する追加の修正が行われ、FMEDAが所望される場合、または修正以外の何らかの理由でFMEDAが所望される場合、制御はブロック160に戻る。FMEDAが完了すると、最終結果が利用可能になる(ブロック195)。本発明の態様および実施形態によれば、一般に、改訂は、a)追加された新しい機能のようなIP変更、b)IP再構成、および/またはc)他のIPのRTLモデルから導出された、新しいIPのためのFMEDAの導出のために必要とされるFMEDA再反復であってもよい。この例では、新しいFMEDAを迅速にコンパイルするために、既存の他のIPの安全性ライブラリを再利用することによって、新しいFMEDAを作成することができる。
【0036】
図1の方法は、単一の当事者または複数の当事者によって実行されてもよい。システムオンチップの例を検討する。第1の例として、システム設計者は、ブロック110および160(例えば、ハードウェアIPを生成するか、またはRTLを生成する)を実行し、ブロック120~140および170~180を実行するツールを使用する。ライブラリは、ツールの一部として提供されてもよく、またはライブラリ所有者によって維持され、リモートでアクセスされてもよい。第2の例として、システム設計者はステップ110および160を実行し、ブロック120~140および170~180を実行するサードパーティサービスにIPハードウェアを提供する。
【0037】
モデル駆動手法の別の利点は、トレーサビリティである。FMEDAは、実際の設計と密接に関連している。要求や仕様に対するトレーサビリティは、異なるフェーズで行われる(水平トレーサビリティ)。本明細書の方法は、完全なSoCライフサイクル(垂直トレーサビリティ)の実行に沿って、FMEDA、およびFMEA、DFA、およびFTAなどの他のタイプの安全性分析をリンクする能力を可能にする。このように、安全性分析は、設計プロセスに沿った一貫性を保証するために、設計進化および変更管理(および安全設計トレーサビリティ)と共に進化する。
【0038】
ここで、安全性ライブラリコンポーネント200の特定の特徴を示す
図2を参照する。各安全性ライブラリコンポーネント200は、ハードウェアモデルの安全性の特性付けから導出された属性および安全値を含む。例えば、
図2の安全性ライブラリコンポーネント200は、安全性分析を条件とする安全性パラメータ202を含むことができる。
【0039】
本発明の態様および実施形態によれば、安全性分析は、論理プロセスにおけるまさに最初のステップであり、安全性ライブラリはまだ存在しない。したがって、安全性分析は分離されたプロセスであり、IPの仕様を分析し、IPの仕様を詳述し、IPの仕様を安全性コンポーネントに実装されたスケーラブルな安全性の特性付けに置き換えることによって行われる。安全性コンポーネントの言語および意味は、FMEDA合成(すなわち、スケーラブルな方法で)によって効果的に使用され得る方法でそのような安全性の特性付けを記述することを可能にする。
【0040】
図2の安全性ライブラリコンポーネント200はまた、安全性情報204および安全性指示206を含むことができる。安全性指示は、安全性機構の1つまたは複数の名前を含むことができる。安全性機構は、その関連する故障モードの発生を検出する役割を担う。
【0041】
属性は、各故障モードの説明、各故障モードの属性、各故障モードの安全性機構、および各故障モードの安全値を提供する。故障モードの属性および安全値は、標準的なFMEDAテーブルの行に見られる情報のタイプと同様であり得る。例えば、属性は、故障モード、故障の理由、および故障の結果のテキスト記述を含むことができる。属性はまた、故障モードが安全関連であるかどうか、および故障が特定のメトリックのセットに影響を及ぼすかどうかを含むことができる。属性は、安全性メトリックを生成するために特定の安全値がどのように処理されるかを案内する特性をさらに含むことができる。
【0042】
本発明の態様および実施形態によれば、自動化の一態様は、
図2のパラメータとして示されている実際のハードウェアに従って安全性メトリック結果を「パラメータ化」または条件づけることができる。本発明の態様および実施形態によれば、パラメータは、特定の故障モード(行)が存在するかどうかを決定する。本発明の態様および実施形態によれば、パラメータは、特定の故障モードの診断カバレッジ(属性)の値を条件づけることができる。
【0043】
安全値は、関連する故障モードに関する確率の数値である。安全値の例には、故障モード分布(例えば、故障モードが発生した場合、論理の何パーセントが故障するか)、特定の故障を検出する安全性機構の能力(例えば、安全性機構が特定の故障を検出する時間の割合)、および故障の安全性を表すパーセンテージ(例えば、特定の故障中に1万個のゲートのうち2千個が安全である場合、20%)が含まれるが、これに限定されない。
【0044】
図2の安全性ライブラリコンポーネント200はまた、ライブラリ安全性コンポーネント200がハードウェアモデルのインスタンスにマッピングされることを可能にする情報を提供する安全性指示206を含む。本発明の態様および実施形態によれば、指示は自動化をサポートし、特に安全性コンポーネントとRTLモデル(相手側)との間の「リンク」の作成をサポートする。本発明の態様および実施形態によれば、安全性コンポーネントは、その安全性コンポーネントがどのRTLモデルに関連付けられているかを説明する情報(指示)を含む。例えば、安全性コンポーネントALUは、RTLモデルalu32bit(ファイルalu32bits.v)に関連付けられるものとする。この方法は、同じ安全性コンポーネントを別の実装alu32bits_fastに容易に再割り当てすることを可能にする。
【0045】
本発明の態様および実施形態によれば、安全性コンポーネントの内部には複数の故障モードがある。安全性データ、したがって最終メトリックの計算を自動化するために、各故障モードまたは故障メトリック(FM)は、特定の設計ブロック(通常は小さい)にマッピングされるものとする。このマッピング操作は、各FMと「FMの根本原因」である対応する設計ブロック、すなわち、故障の場合にそのFMを生成するゲートのプールとの間の関係を作成する。したがって、この情報が安全性コンポーネントに入ると、特定のIPのマッピングは、変更によってトリガされるその再反復および適応を含む。これは、手動で行われる最も問題があり面倒な操作の1つである。したがって、情報を安全性コンポーネントに組み込み、マッピングを自動化するプロセスは、本発明の価値ある態様であり、FMEDAの生産性を向上させるためにツールによって自動的に行われる。
【0046】
安全性コンポーネント200はまた、設計情報推定208を含むことができる。設計情報の例は、ゲートカウント、シーケンシャル要素、およびメモリビットを含むが、これらに限定されない。
【0047】
安全性ライブラリコンポーネントは、安全性パラメータ202、安全性情報204、安全性指示206および設計情報推定208を記述することができる特定の安全性言語(セマンティック)によってサポートされてもよい。
【0048】
ここで
図3を参照すると、IPハードウェア上でFMEDAを実行するためのツールを含むシステム300が示されている。ツールは、コンパイラ320を実行するようにプログラムされたコンピュータ310を含む。コンパイラ320は、
図1のブロック120、130、140、170および180の機能を実行することができる。コンパイラ320は、FMEDAテーブル330を生成する。本発明の態様および実施形態によれば、テーブルは、サードパーティコマンドを含むスクリプトを含み、スクリプトは依然としてテーブルフォーマットを記述する。このスクリプトは、ツールによって消費または使用されて、MSエクセルテーブルまたはテーブルのグラフィカルユーザインターフェース(GUI)表現を生成することができる。
【0049】
いくつかの実施形態では、コンピュータ310はまた、
図1のブロック150の機能を実行する安全性カーネル340でプログラムされてもよい。カーネル340は、安全性データを計算してFMEDA305テーブルに入力し、グローバル安全性メトリックを計算することができる。
【0050】
システム300は、コンパイラ320によってアクセスされる、1つまたは複数の安全性コンポーネントライブラリ350(複数の安全性ライブラリ350が存在し得る)をさらに含む。ライブラリ350は、リモートまたはローカルのデータベースに格納することができる。
【0051】
システム300は、ハードウェア構成を受け取り、ハードウェアモデルのインスタンスのハードウェア階層表現を生成し、階層表現をデータベース370に格納するためのハードウェア生成器360をさらに含むことができる。コンパイラ320はまた、データベース370から階層表現にアクセスする。
【0052】
本発明の態様および実施形態によれば、データベース370は、ゲートレベル情報を生成するためにツールがRTL設計を合成する場合などは、IP RTLモデルである。階層はRTLモデルにおいて暗黙的であり、FMEDAコンパイラによって構築することができる。RTL合成のような階層は、FMの場合のように、設計のどの時点でツールがいくつかの物理的要素をインスタンス化するかを理解する必要がある。これは、それらのFMの安全性データがコンテキストに依存するためであり、例えば、設計階層の異なる点で2回インスタンス化された同じ安全性コンポーネントは異なるゲートカウントを継承し、それによってFM記述が同じであるにもかかわらず異なる安全性データを生成する。ゲートカウント抽出は、設計データ抽出器340によって行われる。本発明の態様および実施形態によれば、抽出される設計データは、ゲートカウント、シーケンシャルセルカウント、およびメモリビットを含む。
【0053】
コンピュータ310は、設計データ抽出器340でさらにプログラムすることができる。安全性コンポーネント200は、ハードウェアモデルを実装するために使用されるゲートの数に関する情報を含むことができる。例えば、安全性を示す割合が総ゲート数を示してもよいし、設計情報208がゲート数を示してもよい。設計データ抽出器340は、この情報を使用して、ゲートカウントおよび面積のより良い推定値を生成する。
【0054】
本発明の態様および実施形態によれば、安全性コンポーネントに含まれる設計データ(例えば、ゲートカウント)は、ライブラリのコンパイル中に提供される安全性エンジニア推定値であり、設計データ抽出器340が使用されない場合に使用される。これにより、FMEDA探索がカウントの推定値を決定することが可能になり、設計データ抽出器340なしでは、FMEDA精度が低くなる。設計データ抽出器340がRTLファイルからゲートカウントを抽出するために使用されるとき、決定され、推定値を安全性コンポーネントに置き換える。
【0055】
本発明の態様および実施形態によれば、設計データ抽出器340は、接続することができるFMEDAコンパイラ(迅速な設計合成)またはRTL合成ツールに実装されたゲートカウント抽出器とすることができる。
【0056】
ここで、例を提供する。この例では、階層形式のハードウェアIPブロックがコンパイラ320によってアクセスされる。また、コンパイラ320は、安全性コンポーネントライブラリ350および階層表現にアクセスし、コンパイルを実行してFMEDAテーブル320を生成する。
【0057】
ここで
図4を参照すると、ハードウェアIP410の階層表現400が示されている。ハードウェアIP 410は、ハードウェアモデルのインスタンスの階層として表される。ハードウェアモデルのインスタンスは、複雑なハードウェア機能を実現するためにハードウェアモデル430(MOD A、MOD B、...MOD I)にマッピングされた階層的推論420(I1、I2、...I11)のインデントと共に図で示されている。各推論は、ハードウェア要素の特定のハードウェアモデルを一意に参照するインスタンスである。ハードウェアモデルは、ハードウェア機能挙動(例えば、設計仕様、SystemC、System Verilog、Verilog、VHDL)を含む。本発明のいくつかの態様および実施形態によれば、ハードウェアモデルはまた設計情報(例えば、ゲートの数、シーケンシャルセルおよびメモリビット)を含み、設計情報は、利用可能な場合、上述のように安全性データの精度を高めるために使用される。本発明のいくつかの態様および実施形態によれば、結果として得られる設計階層は、情報が存在するときに、ハードウェアモデル設計情報によって強化された、実施するための特定の機能による、ハードウェアモデルインスタンスの接続を表す。
【0058】
本発明のいくつかの態様および実施形態によるコードを実行するコンパイラ310のためのプロセス500を示す
図5をさらに参照する。ステップ502において、コンパイラ310は、完全設計モデルをインポート、受信、またはアクセスする。ステップ504において、FMEDA構造が合成される。本発明の態様および実施形態によれば、構造はテーブルを表し、この時点で、コンパイラまたはツールは実際のIPハードウェア(例えば200行、すなわちFM)に従ってサイズを決定しており、ツールは、行ごとに、どの安全性コンポーネントが割り当てられるべきかを知っている。連続するステップでは、ステップ506および508に示すように、現在空の行にデータが入力される。ステップ506において、FMEDAテーブル330は、安全性ライブラリから取得した、または安全性ライブラリでアクセスされた安全情報を使用して入力される。ステップ508において、FMEDAテーブル330は、安全性ライブラリ350から取得した、安全性ライブラリでアクセスされた安全性データを使用して入力される。ステップ510において、コンパイラ310または他のツールは、設計のためのグローバルメトリックを決定または計算する。
【0059】
ハードウェア設計の修正のためにハードウェアIPに適用される変更は、その設計階層に影響を及ぼしており、コンパイラを再実行することによって自動的に反映される。ハードウェア要素の修正には、ハードウェア構成の変更と、新規/既存の機能(設計再構成、設計強化、設計導出など)の包含/排除の両方が含まれる。
【0060】
本発明の様々な態様による特定の方法は、非一時的コンピュータ可読媒体に記憶された命令によって実行することができる。非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されると、システムまたはコンピュータに本明細書に記載の方法のステップを実行させる命令を含むコードを格納する。非一時的コンピュータ可読媒体は、回転磁気ディスク、回転光ディスク、フラッシュランダムアクセスメモリ(RAM)チップ、および他の機械的に動くまたは固体状態の記憶媒体を含む。任意のタイプのコンピュータ可読媒体は、様々な例による命令を含むコードを格納するのに適している。
【0061】
特定の例を本明細書で説明してきたが、異なる例から異なるコンポーネントの異なる組み合わせが可能であり得ることに留意されたい。顕著な特性は、例をよりよく説明するために提示される。しかしながら、説明したようなこれらの例の機能的態様を修正することなく、特定の特性を追加、変更、および/または省略することができることは明らかである。
【0062】
様々な例は、機械のいずれかまたは組み合わせの挙動を使用する方法である。方法の例は、世界のどこででもほとんどの構成ステップが行われる完璧なものである。例えば、本発明の様々な態様および実施形態によれば、IP要素またはユニットは、プロセッサ(例えば、CPUまたはGPU)、ランダムアクセスメモリ(RAM-例えば、オフチップダイナミックRAMまたはDRAM)、イーサネット(登録商標)、WiFi、3G、4Gロングタームエボリューション(LTE)、5G、および他の無線インターフェース標準無線などの有線または無線接続用のネットワークインターフェースを含む。IPはまた、必要に応じて、タッチスクリーンセンサ、地理位置情報受信機、マイクロフォン、スピーカ、Bluetooth(登録商標)周辺機器、およびUSBデバイス(とりわけ、キーボードおよびマウスなど)などの様々な周辺デバイスのための様々なI/Oインターフェースデバイスを含むことができる。RAMデバイスに格納された命令を実行することによって、プロセッサは、本明細書に記載の方法のステップを実行する。
【0063】
いくつかの例は、本明細書に記載の方法のためのそのような命令を格納するように構成された1つまたは複数の非一時的コンピュータ可読媒体である。必要なコードのいずれかを含む非一時的コンピュータ可読媒体を保持する機械であれば、一例を実施することができる。いくつかの例は、半導体チップなどの物理デバイス、そのようなデバイスの論理的または機能的挙動のハードウェア記述言語表現、およびそのようなハードウェア記述言語表現を格納するように構成された1つまたは複数の非一時的コンピュータ可読媒体として実装することができる。原理、態様、および実施形態を列挙する本明細書の説明は、その構造的および機能的等価物の両方を包含する。結合されているものとして本明細書に記載された要素は、直接的な接続によって、または1つまたは複数の他の介在要素と間接的に実現可能な有効な関係を有する。
【0064】
当業者は、多くの修正および変形を認識するであろう。修正および変形は、開示された特性の任意の関連する組み合わせを含む。原理、態様、および実施形態を列挙する本明細書の説明は、その構造的および機能的等価物の両方を包含する。「結合された(coupled)」または「通信可能に結合された(communicatively coupled)」として本明細書に記載された要素は、直接的な接続によって、または1つまたは複数の他の介在要素を使用する間接接続によって実現可能な有効な関係を有する。別のデバイス、モジュール、または要素と「通信する」または「通信している」ものとして本明細書で説明される実施形態は、任意の形態の通信またはリンクを含み、有効な関係を含む。例えば、通信リンクは、有線接続、無線プロトコル、近接場プロトコル、またはRFIDを使用して確立され得る。
【0065】
したがって、本発明の範囲は、本明細書に示され説明される例示的な実施形態に限定されることを意図しない。むしろ、本発明の範囲および精神は、添付の特許請求の範囲によって具体化される。
【外国語明細書】