JP6687319B2 - システム検証のための障害挿入 - Google Patents

システム検証のための障害挿入 Download PDF

Info

Publication number
JP6687319B2
JP6687319B2 JP2014247187A JP2014247187A JP6687319B2 JP 6687319 B2 JP6687319 B2 JP 6687319B2 JP 2014247187 A JP2014247187 A JP 2014247187A JP 2014247187 A JP2014247187 A JP 2014247187A JP 6687319 B2 JP6687319 B2 JP 6687319B2
Authority
JP
Japan
Prior art keywords
design
node
compilation
change
modified
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.)
Active
Application number
JP2014247187A
Other languages
English (en)
Other versions
JP2015122065A (ja
Inventor
スミス マイケル
スミス マイケル
スミス デイビッド
スミス デイビッド
アバシ オメア
アバシ オメア
アン ビビアン
アン ビビアン
Original Assignee
シノプシス,インコーポレイティド
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
Application filed by シノプシス,インコーポレイティド filed Critical シノプシス,インコーポレイティド
Publication of JP2015122065A publication Critical patent/JP2015122065A/ja
Application granted granted Critical
Publication of JP6687319B2 publication Critical patent/JP6687319B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • 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

Description

本発明は,概略は設計の検証のため,詳細にはシステム設計を検証するために,計算機シミュレーション中に多くの障害を挿入する計算機で実現される方法及びシステムに関する。
本願は,合衆国法典第35巻119(e)に基づき,2013年12月6日出願の米国仮特許出願第61/913,225号の優先権を主張する。
例えば今日の自動車の世界において,電子回路は益々重要な役割を演じている。今日,電子回路は平均的な新車の中身の約40%を構成し,電子回路の持分は益々増加することが予想される。ある研究によれば,平均的な新車は40以上の電子制御器と,8km(5マイル)の配線と,1千万行以上の計算機ソフトウェアコードとを含む。この電子回路の急増によって,電子回路の障害によるリスクもまた急速に増加している。これらの車両の電子回路の障害は,車両に危険な影響を与えることがある。自動車の電子回路に関係する障害の結果は,事故及びリコールを含む。
自動車メーカは,自社の車両の電子部品の安全性及び信頼性を保証するという,困難な課題に直面している。今日,ほとんどのメーカは自社のシステムについて電気的試験に頼っているが,それは非常に高価かつ時間が掛かり,潜在的な障害条件及びシステムへの潜在的な影響すべてを網羅することはできない。
変更としての障害要素を設計記述に導入するために,通常の計算機支援設計(CAD)障害シミュレータを用いてもよい。しかし,利用者が実行中のシミュレーションと対話する能力は限られているため,各設計変更は時間の掛かるシミュレーションの再コンパイルを必要とする。設計者及び検証技術者が種々のタイプの障害をシミュレートし,物理的試験用のプロトタイプが作成される前に障害の影響を理解するように,シミュレーション環境内の堅固な障害シミュレーション能力が必要とされている。
本発明の一態様は,電子回路のコンパイルされた設計を修正する計算機で実現される方法である。この方法は,設計を表す記憶されたコンパイル物(compilation)を利用するステップと,計算機に,設計の一部に対する変更の指示に応答して,記憶されたコンパイル物の修正版を生成させるステップと,を含む。
本発明の別の態様は設計を検証するシステムであって,システムはプロセッサと,一組の命令を記憶するメモリとを含む。命令は,プロセッサによって実行されたとき,プロセッサが設計を表す記憶されたコンパイル物を利用するように構成し,プロセッサに,設計の一部に対する変更の指示に応答して記憶されたコンパイル物の修正版を生成させる。
本発明の別の態様は命令を含む計算機可読媒体であって,命令は,計算機によって実行されたとき,計算機に,設計を表す記憶されたコンパイル物を利用するステップと,設計の一部に対する変更の指示に応答して記憶されたコンパイル物の修正版を生成するステップとを含む方法を実行させる。
本発明の種々の実施形態を,以降の詳細な説明及び添付の図面において開示する。
本発明の一実施形態による,設計を検証するための簡略化したフローチャートである。 増幅器設計の簡略化した例示回路図である。 本発明の一実施形態による,図2Aに示した回路図に対する直列修正箇所の簡略化した例示回路図である。 本発明の一実施形態による,図2Aに示した回路図に対する並列修正箇所の簡略化した例示回路図である。 本発明の一実施形態による,図2Aに示した回路図に対する2ポートに関係する直列修正箇所の簡略化した例示回路図である。 本発明の一実施形態による,図2Aに示した回路図に対する直並列修正箇所の簡略化した例示回路図である。 本発明の一実施形態による,図1に示した部分設計修正ステップの簡略化したフローチャートである。 本発明の一実施形態による,推敲された設計を表す設計木の簡略化した例示ブロック図である。 本発明の一実施形態による,追加要素を含む図4Aに示した設計木の簡略化した例示ブロック図である。 本発明の一実施形態による,図1に示した部分分析ステップの簡略化したフローチャートである。 本発明の実施形態に関係するシステム工学の簡略化した例示Vモデルを示す図である。 本発明の実施形態を組み込むことができる計算機システムのブロック図である。
図1は,本発明の一実施形態による,設計を検証するための簡略化したフローチャート100である。フローチャート100は,設計者及び検証技術者が,費用の掛かるプロトタイプを作成する前に,種々のタイプの障害をシミュレートし,その障害の影響を理解できるように,シミュレーション環境内に堅固な障害シミュレーション能力を含んでもよい。フローチャート100に示された方法の実施形態は,例えば,Synopsys社が販売するSaber(登録商標)HDLシミュレータ及び/又はSaber(登録商標)シミュレータと呼ばれるソフトウェアツールに含めてもよい。この方法の実施形態は,計算機が障害シミュレータになるか,又は障害シミュレータとして機能するように構成されたソフトウェア命令を実行する計算機によって実行してもよい。
障害シミュレータは設計記述(以下,「設計」とも言う)を受信し,設計は,例えば,図形回路図,又は,VHDL,VHDL−AMS,Verilog−AMS,MAST,Modelica,などのハードウェア設計言語(HDL)で書かれた記述であってよい。設計は,例えば,以下「モデル」とも言う物理的振舞の数学的記述によって表された,電子回路,電気機械系,機械系を記述してもよいし,及び/又は保存された信号流及び事象の組合せによって特徴付けられる任意のシステム又はデジタル部連立方程式を記述してもよい。設計は,毎回異なるパラメータセットを用いて,設計を通じて複数回用いられるか,又はインスタンス化される要素の再利用可能記述を含んでもよい。例えば,抵抗器要素は抵抗パラメータを含んでもよく,抵抗器は,抵抗器の各インスタンスにおいて別個の抵抗値で複数回インスタンス化されてもよい。設計内の要素の一つの使用を当該要素のインスタンスと呼ぶ。要素の記述は階層的であってよく,その場合,記述はほかの要素のインスタンスを含む。
障害シミュレータは設計を推敲(elaborate)する。いくつかのシステムにおいては,推敲に先立って,設計の別個の部分と,部分間のリンクとを含むが,各部分が一緒に接続されたとき,設計全体に与えるそれら部分の影響は含まない構文木(syntax tree)の形態で設計が表される。シミュレータは入力設計記述を分析してこの構文木を生成する。
推敲は,選択された要素パラメータの影響を適用した後,設計の完全な表現を生成するために,設計記述を解釈又は変形する処理を含む。例えば,推敲は,どの要素を階層設計中でインスタンス化するかを決定することを含んでもよい。推敲された設計表現の一部は,シミュレーション中に変更することがある対象のためにメモリに入れられる。ステップ110において,推敲は設計のコンパイル物を形成するために,設計の要素を解釈する。コンパイル物は,計算機可読メモリ内にファイルとして記憶してもよい。コンパイル物は,設計階層を表す「推敲された設計インスタンス木」又は「インスタンス化木」(instantiated tree)とも言う設計木を含む。インスタンス化木は,設計のシミュレーション中に変更できる情報を記憶することができる場所である。インスタンス化木はインスタンスごとに要素の投影を含み,投影は,当該要素のインスタンスに指定された特定のパラメータを適用した結果を含む。設計にはほかの変形もまた行われ,VHDL−AMS言語に適用可能な変形の例は,IEEE 1076.1-2007の12章に記載されている。
推敲はモデルライブラリの要素を用いてもよい。設計は,シミュレートされる設計のためだけに生成されたのではない既存のモデルを用いてもよい。設計又はモデルの一部の再利用は,設計の遂行中に参照できるモデルライブラリ内の設計又はモデルの一部を記憶することによって容易にすることができる。
推敲はさらに,設計のデジタル部振舞及び機能を表す信号及びその関係を提供する。ステップ120において設計木を形成した後,推敲はデジタル部ドライバを生成し,デジタル部ドライバの例は,上述のIEEE 1076.1-2007の12章に記載されている。ステップ130において,推敲はまた,微分代数方程式(DAE)の構成要素を表す行列又は一組の行列も形成し,DAEは設計の保存された部分及び/又は信号流部分用に関して解くことができる。
推敲はコンパイル物を生成し,コンパイル物は,シミュレータが設計の振舞をシミュレートするために用いることができる形式の設計の表現を含む。コンパイル物は,HDLコード,ネットリスト又はほかの表現のような設計の別の表現に含まれる情報に基づいて,推敲を通じて生成される。コンパイル物は,生成されると,シミュレータが利用し,又は以降,更に詳細に説明するとおり,設計変更を組み込むために修正できるように記憶される。
本発明の一実施形態は,障害シミュレータが,設計木,連立方程式又はコンパイル物のほかの構成要素を追加の推敲無しに修正できるようにする。設計木は,図4Aに示され,以降より詳細に説明する多数の独立な部分木を含む。障害シミュレータは,設計に関係する変更に応答して,設計木の独立な部分木の少なくとも一つを修正してもよい。修正は,設計記述レベルで開始することによって,設計を再コンパイル又は再推敲する必要無しに,推敲後に行うことができる。設計は,障害分析シミュレーションのサイクルごと,又は回(round)ごとに再推敲する必要が無いため,従来のシステムに比べてシステムのシミュレーション効率が向上する。
更に図1を参照すると,ステップ140において,障害シミュレータは,例えば,反復障害分析サイクルの途中で利用者に設計変更を促し,指定された設計変更を受信してもよい。一つの実施形態においては,分析は,任意選択で設計への変更を受信し,変更を行い,設計について部分分析を実行し,データを削減し,設計を変更無しで設計の元の状態にリセットする処理を含んでもよい。この処理要素は,すべての変更が適用され,結果が報告されるまで,一つの分析の一部として繰り返し実行してもよい。設計変更は,例えば,システムの問題又は障害になることがある状態をシミュレートするために,障害を表す要素の導入,要素パラメータの変更,及びデジタル信号の変更を含んでもよい。追加,又は代替としてほかの変更を実行してもよい。
一つの実施形態においては,いくつかの設計変更をグループとして同時に指定してもよく,多くのグループの設計変更を反復的に分析してもよい。一つの実施形態においては,複数の利用者指定グループ及び/又は複数の変更を障害シミュレータで受信して,バッチで変更を実行してもよい。分析サイクルは,分析の反復ごとに利用者入力を必要としないように実行される。別の実施形態においては,各分析反復が利用者指定変更を受信してもよいし,及び/又は障害シミュレータがバッチ変更又は個別変更の任意の組合せをサポートしてもよい。
さらに,設計への各グループの修正の適用は本質的に独立であるため,どのようにシミュレーションの実行に適用するかを管理することができる。いくつかの実施形態においては,より高速な計算を達成するために,設計のコピーを作成し,複数のプロセッサ/コア,計算グリッド内の複数の機械,及び/又はワールドワイドウェブクラウド内の処理環境に分析を分散させてもよい。例えば,分析時間を短縮するために,一つのグループの変更を一つのプロセッサで実行し,第2の別のグループの変更を別のプロセッサ上で時間的に並列又は同時に実行してもよい。
一つの実施形態においては,分析に際して,設計を修正するために変更を適用する前に,変更又はインスタンス化した木の元の現状を表すデータをメモリに記憶させ,及び/又は複数の変更を後で処理するために保存してもよい。適用する変更があるときは,ステップ150において部分的設計修正が実行される。部分的設計修正の例は,次に説明する図2A〜2Eに示されており,設計木の複数の部分木のうち少なくとも一つに要素を挿入することを含む。一つの実施形態においては,構造変更は,設計内の要素のインスタンスを追加若しくは削除し,又は設計内のシステム変数の数を変更してもよい。一つの実施形態においては,別の要素の代わりに一つの要素をインスタンス化するパラメータを変更することは,旧要素の元のインスタンスを削除して,新しい要素のインスタンスを追加することと等価である。一つの実施形態においては,部分設計修正は,以降,「パラメータ変更」とも言う既存要素のパラメータの値を修正することを更に含んでもよい。挿入された要素は,アナログ部及び/又はデジタル部の振舞を含んでもよく,モデルライブラリから取得してもよい。
図2Aは増幅器設計200Aの簡略化した例示回路図を示している。増幅器設計200Aは,演算増幅器,1kΩの抵抗及び10kΩの抵抗を含む。演算増幅器は正入力,負入力及び出力を含む。1kΩの抵抗は,入力vinと,演算増幅器の負入力との間に接続されている。10kΩの抵抗は,出力voutと,演算増幅器の負入力との間に接続されている。演算増幅器の正入力は接地に接続されている。
図2Bは,本発明の一実施形態による,図2Aに示した回路図に対する直列修正箇所200Bの簡略化した例示回路図を示している。図2Bに示された要素は,図2Aに示された要素に類似している。しかし図2Bは,ポート(vout)と,該ポートに接続されたノード(演算増幅器出力)との間に直列接続で挿入された要素を含む修正箇所を含む。これは,「直列変更」と呼んでもよい。図2Bに示すように,この要素は,演算増幅器の出力ポートと,vout及び10kΩの抵抗に接続されたノードとの間の100MΩの抵抗である。演算増幅器の出力の100MΩの抵抗は,ノードが,該ノードが接続されているポートから切り離されているかも知れないアナログ部の開放障害を表すことができる。アナログ部開放の例は電気的開回路であってよい。シミュレーションにおいては,解くことが困難な行列方程式を避けるために,アナログ部開放は100MΩの抵抗のような高抵抗要素を用いて実施されることがある。
図2Cは,本発明の一実施形態による,図2Aに示した回路図に対する並列修正箇所200Cの簡略化した例示回路図を示している。図2Cに示された要素は,図2Aに示された要素に類似している。しかし図2Cは,2以上の既存のノードの間に並列接続で挿入された要素を更に含む。以降,これを,「並列変更」とも言う。この実施形態においては,挿入された要素は,演算増幅器の出力ポートと接地ノードとの間の0.1mΩの抵抗である。この演算増幅器の出力ポートと接地との間の0.1mΩの抵抗は,今まで新規要素がなかった二つのノード間に新規要素が挿入された,アナログ部短絡障害を表すことができる。一例は,これも行列方程式が解に収束することを支援するために,低抵抗要素を用いる電気的短絡である。
実際には,要素の挿入は,図2D〜2Eに示すように,直列及び並列の修正の組合せであってよい。図2Dは,本発明の一実施形態による,図2Aに示した回路に対する,2ポートと関係する直列修正箇所200Dの簡略化した例示回路を示す。図2Dに示された要素は,図2Aに示された要素に類似している。しかし図2Dは,演算増幅器の出力ポートと,voutと,10kΩの抵抗器とに接続された金属酸化物半導体(MOS)トランジスタ素子を更に含む。MOSトランジスタのゲートは演算増幅器の出力ポートに接続されている。MOSトランジスタのソース及び本体はvoutに接続されている。MOSトランジスタのドレインは10kΩの抵抗器に接続されている。
図2Eは,本発明の一実施形態による,図2Aに示した回路に対する,直並列修正箇所200Eの簡略化した例示回路を示す。図2Eに示された要素は,図2Aに示された要素に類似している。しかし図2Dは,演算増幅器の出力ポートと,10kΩの抵抗器と,voutとに接続されたバイポーラトランジスタ素子を更に含む。バイポーラトランジスタのエミッタは演算増幅器の出力ポートに接続されている。バイポーラトランジスタのベースは演算増幅器の負入力に接続されている。バイポーラトランジスタのコレクタは10kΩの抵抗器に接続されている。
図1を参照すると,一つの実施形態においては,並列設計修正後に,ステップ160において部分分析(例えば,シミュレーション)が行われる。部分分析は,DAEを解くことと,デジタル部及び/又はイベントの振舞を起動することとを含む。部分分析の例は,静止状態,過渡状態,定常状態及び交流の分析を含んでもよい。一つの実施形態においては,部分分析は1又は複数の部分分析を実行することを含む。別の実施形態においては,時間と共に変化する影響が分析される,過渡状態シミュレーションを行う部分分析について,指定されたシミュレーション時間で,設計内の要素のパラメータを変更してもよい。
一つの実施形態においては,部分分析を行った後で,ステップ170において,部分分析のデータを分析(例えば,削減)して結果を形成してもよい。部分分析及びデータ削減の結果についての処理は,反復分析ループの一部として実行してもよい。一つの実施形態においては,部分分析から生成されたデータ及びデータ削減における処理から生成されたデータ双方は,共有データ記憶に書き込むための標準の慣例を用いて,共有コンテナに同時に書き込まれる。一つの実施形態においては,データ削減の後,ステップ180において,インスタンス化木の元の状態及び/又はメモリ内に前に記憶された複数の変更を用いて,反復分析ループに元の設計を復元してもよい。一つの実施形態においては,設計木の修正された部分木から変更を削除することによって,元の設計を復元することができる。
一つの実施形態においては,設計に適用する更なる変更が無くなったとき,ステップ190において,アナログ部方程式及びデジタル部ドライバ接続を更新し,部分分析の結合した結果から,報告を生成してもよい。一つの実施形態においては,設計に適用すべき変更がまだあるとき,アナログ部方程式及びデジタル部ドライバ接続を更新するステップは,次の部分設計修正まで遅延させてもよく,反復分析ループは,追加の変更を利用者に促すか,アプリケーション又はシミュレーションの設定に応じて,次の変更グループを自動的に実行することによって,反復してもよい。
図3は,本発明の一実施形態による,図1に示さいた部分設計修正150の実施形態の簡略化したフローチャートを示している。要素の挿入は,推敲中に生成されたインスタンス化木を修正することによって達成してもよい。ステップ310において,設計変更の種類が決定される。一つの実施形態においては,変更が,既存のノードとポートとの間に直列に挿入された要素を含むとき,新規要素を挿入する前に,ステップ320において,ポートが既存のノードから切り離される。一つの実施形態においては,例えばポートが入力信号であるとき,ポートは既存の入力ノードから切り離される。いくつかの実施形態においては,ポートが,入力及び出力双方をサポートする信号であるとき,直列変更振舞を規定又は実現しなくてもよい。代替として,いくつかの実施形態においては,ポートが入力/出力ポートであるとき,入力/出力ポートは既存の入力/出力ノードから切り離される。
一つの実施形態においては,ポートを既存ノードから切り離した後,ステップ330において新ノードが追加され,ポートに接続される。ステップ340において,新ノードがデジタル部であり,ポートが出力信号であるとき,ポートは駆動された信号として新ノードに接続してもよく,新ノードがデジタル部であり,ポートが入力信号であるとき,新ノードは駆動されたポートに接続してもよい。
一つの実施形態においては,直列変更又は並列変更いずれかについて,ステップ350において,新規生成されたノードと,ポートに前から接続されている既存のノードとの間に要素が挿入される。換言すれば,インスタンス化木は挿入された要素によって変形される。
例として,要素を挿入するとき,指定された二つのノード間の構文木に構成要素インスタンス化を生成してもよい。いくつかの実施形態においては,コンパイル物を表すファイルを編集してもよい。例えば,設計木に新インスタンスを挿入することによって,変更を実現するために,例えば,修正された構文木からバイトコードを生成してもよい。したがって,例えば,図形又はプログラムコードによる設計編集プログラムによって設計を修正し,次に修正された設計をコンパイルする代わりに,コンパイル物を表すファイルを編集することによって,コンパイル物を修正してもよい。インスタンス化木の変形は,例えば,新規生成されたバイトコードを実行することによって起動してもよい。ステップ360において,設計変更が登録され,ノード及びインスタンスがコンパイル物に追加される。ステップ370において,グループ内のすべての指定された変更が適用されるまで,処理を反復してもよい。
一つの実施形態においては,すべての変更をインスタンス化木に適用した後,設計のアナログ部分及びデジタル部分は別個に更新される。追加された要素のいずれかがアナログ振舞を含むとき,又は変更が設計のアナログ要素に関係するときは,ステップ380において,コンパイル物に関係するアナログ部方程式を,変更を反映するように更新してもよい。さらに,これらの方程式を解くために用いられた行列を通じて,変更を伝ぱさせてもよい。追加された要素のいずれかがデジタル部の振舞を含むとき,又は変更が設計のデジタル要素に関係するときは,ステップ390において,コンパイル物に関係するデジタル部ドライバ接続を更新し,変更に従って新ドライバを挿入してもよい。換言すれば,新規インスタンス内の駆動された信号は対応するドライバに接続され,新インスタンスのいずれの新ドライバも,自分が駆動するノードに接続される。結果は,設計を再編集又は再推敲することなく,すべての修正を含むインスタンス化木の更新版である。
図4Aは,本発明の一実施形態による,推敲された設計を表す設計木の設計階層の簡略化した例示図形表現を示している。設計木は,設計根(design root)と,モデルFoo.1を含む図の左側の破線で示したボックス410で示される第1部分木と,モデルFoo.2を含む図の右側の破線で示したボックス420で示される第2部分木とを含む。モデルFoo.1を含む第1部分木は,モデルFoo.2を含む第2部分木とは独立であってもよい。設計木内には,モデル“A”の二つのインスタンス,例えば,双方とも同一のHDLソースコードから導出されたインスタンスがある。このインスタンス化は双方とも,一つの時間内に実行され,二回インスタンス化される。Fooは毎回別のパラメータでインスタンス化され,モデル“B”のインスタンス化を含む一つのインスタンスと,モデル“C”のインスタンス化を含む別のインスタンスとを含む。
図4Bは,本発明の一実施形態による,追加された要素を含む,図4Aに示された設計僕の設計階層の図形表現の簡略化した例示ブロック図を示している。この例においては,インスタンス化木を変形させる処理は比較的単純であるが,設計記述レベルにおいて同一の変更を行うことに対する改善を示す。図4Bに示された要素は,図4Aに示された要素と類似している。しかし図4Bは,種々のパラメータを含む“A.5”のインスタンス化も含み,モデル“Bar”のインスタンス化を含む一つのインスタンスになる。
図4A及び4Bは,単に設計階層の図形表現に過ぎない。コンパイルされた設計データを修正するために,一つの実施形態においては,インスタンス“A5”内にモデル“Bar”をインスタンス化するために,バイトコードを生成し,実行してもよい。その結果,設計が再推敲及び再コンパイルされることが無いにもかかわらず,シミュレータ用の形式での設計の表現が変更を含む。
設計記述レベルで同一の変更を行うためには,“Foo.2”に用いるためにモデル“Foo”のコピーを作成し,モデル“Foo“の新規コピー内で用いるためにモデル“A”のコピーを作成し,モデル“Bar”のインスタンスを加えるために,モデル“A“の新規コピーに変更を加える必要がある。明らかに,設計変更が多くなるほど,又は階層が深くなるほど,設計変更を修正することの複雑度は急速に増加する。別の方法では,モデル“Bar”の振舞が無効になるようにパラメータを設定して,モデル“Bar”のインスタンス化を“A”のすべてのインスタンスについて行い,次にモデル“Bar”の振舞を有効にするために,モデル“Bar”のインスタンスのパラメータを修正するように,モデル“A”を修正してもよい。本発明者の経験によれば,このようにインスタンスを加えることは,設計の性能に不利な影響を与える。したがって,設計木レベルで変更を行う障害シミュレーションは,設計記述レベルで変更を行うよりも,要素挿入作業をより効率よくする。
図5は,本発明の一実施形態による,図1に示した部分分析ステップ160の実施形態の簡略化したフローチャートを示している。部分分析は,時間ベースでパラメータを変更した過渡分析のようなシミュレーションサイクルを含んでもよい。ステップ510において,時間ベースのパラメータ変更のイベントが登録される。シミュレーション中,シミュレーション時間は,ステップ520において,イベント又はエラーの基準に基づいて次の時間ステップへ進む。
ステップ530において,例えば,現在のシミュレーション時間に基づいて,時間ベースのパラメータ変更が適用される。パラメータ変更は,インスタンス化木内のパラメータと関係するインスタンス内のパラメータの記憶された値を更新することによって,適用してもよい。変更されたパラメータに依存する方程式は更新してもよい。いくつかの実施形態においては,設計の構造に影響を与える変更は更新しない。パラメータを変更することのいかなる影響も,変更が行われなくなるまで伝ぱすることができる。例えば,いくつかの実施形態においては,変更されたパラメータによって影響を受けたDAEの方程式は更新され,DAEを更新するように変更は適切に伝ぱする。そして,DAEに影響を与える変更は関係する行列に適用される。
ステップ540において,アナログ部及びデジタル部の振舞が処理される。ステップ550において,シミュレーションが完了していないときは,シミュレーション時間を次の時間ステップに進めて,ステップ520から処理を繰り返してもよい。シミュレーションが完了したとき,過渡分析は停止する。
次に,障害分析に部分設計修正を適用する例を,アナログ部開放,アナログ部短絡,パラメータ障害,及び停止(stuck)した信号について説明する。これらの例において説明し,本明細書の別の場所で論じた原理及び態様は,多くのほかの状況に適用してもよい。
開放は,アナログ回路に直列に抵抗(又は均等物)を加える要素を挿入することによって実現してもよい。要素は,例えば,抵抗値によってパラメータ化してもよい。したがって,要素の抵抗値は,障害を無効及び有効の間で切り替えるように変更してもよい。抵抗値は,障害のオン/オフ状態に応じて指定され,一方は有効化された障害に対応し,他方は無効化された障害に対応する。抵抗値は,例えば,解の収束を改善するように設計の種類に適応するように構成可能であってよい。
短絡は,アナログ回路の並列に抵抗を加える要素を挿入することによって実現してもよい。要素は,例えば,開放について説明したように,障害が有効化又は無効化されたときの指定された値の間を変化する抵抗値でパラメータ化してもよい。
パラメータ障害は,変更する設計内の要素のパラメータと,変更される値とを指定することによって実現してもよい。障害が有効化されていないときは,障害を実現する前のパラメータの値を代わりに用いてもよい。
停止した信号は,駆動される信号と,駆動される信号を駆動する任意の信号との間の接続を削除することによって実現してもよい。さらに,指定された停止値(stuck value)で当該信号を駆動する新規要素を挿入してもよい。新規要素は停止値でパラメータ化してもよい。
開放,短絡及びパラメータ障害は,障害と関係する要素のパラメータ値を変更することによって,指定したときに有効化/無効化してもよい。変更の影響は設計全体に伝ぱし,設計のアナログ部分を解決するための用いられる方程式を表す行列が再構築される。パラメータ値の変更は,アナログ部解を計算するか,障害が有効化又は無効化されている時点からデジタル部イベントを伝ぱさせる前に適用してもよい。
一つの実施形態においては,停止した信号は,挿入された要素の開始終了パラメータを指定することによって指定したときに有効化又は無効化してもよい。この開始終了パラメータは,障害を有効化又は無効化するデジタル部イベントをスケジュールする時刻として,要素内で用いてもよい。
本発明の一実施形態による,VHDLで書かれた抵抗器モデルの電気版の例を次に示す。
------------------------------------------------------------
-- An ideal resistor for fault insertion.
------------------------------------------------------------
-- This code was created by Synopsys, Inc. for use with SaberHDL(tm) and
-- other VHDL-AMS simulators.
-- Copyright 2013 - 2013.
------------------------------------------------------------

library ieee;
use ieee.electrical_systems.all;

entity r_fault_vhdl is
generic (rnom : real := 0.0); -- nominal resistance
port (terminal p, m : electrical);
end entity r_fault_vhdl;

architecture simple of r_fault_vhdl is
quantity v across i through p to m;
begin

assert rnom /= 0.0
report "rnom is zero"
severity error;

assert rnom >= 0.0
report "rnom is negative : " & real'image(rnom) & ". Use with caution"
severity warning;

i == v / rnom;

end architecture simple;

------------------------------------------------------------
-- This code is provided "AS is" and with no warranties express or implied.
-- Synopsys is not responsible for any liability arising from the use of this
-- code or the results obtained from it.
------------------------------------------------------------
本発明の一実施形態による,VHDLで書かれたデジタル部障害モデルの例を次に示す。
------------------------------------------------------------
-- A model to drive a stuck signal. The input reads the old signal driver
-- and propagates the value when the fault is disabled.
------------------------------------------------------------
-- This code was created by Synopsys, Inc. for use with SaberHDL(tm) and
-- other VHDL-AMS simulators.
-- Copyright 2013 - 2013.
------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;

entity stuck_fault_vhdl is
generic (tbegin: time := -1 sec; tend :time := time'high; faultvalue :std_
logic:= '0');
port (input: in std_logic; output: out std_logic);
end stuck_fault_vhdl;

architecture simple of stuck_fault_vhdl is
signal faultIndicator :std_logic;
begin

p:process (input,faultIndicator) is
begin

if (now >= tbegin and now < tend) then
output <= faultvalue;
else
output <= input;
end if;

end process p;

p2: process is
begin

if (tbegin >= 0 sec) then
faultIndicator <= '1' after tbegin, '0' after tend;
else
faultIndicator <= '1';
faultIndicator <= '0' after tend;
end if;
wait;

end process p2;

end architecture simple;
------------------------------------------------------------
-- This code is provided "AS is" and with no warranties express or implied.
-- Synopsys is not responsible for any liability arising from the use of this
-- code or the results obtained from it.
------------------------------------------------------------
図6は,本発明の実施形態を使用することができる,システム工学の簡略化した例示Vモデルである。“V”の左半分の一例において,自動車システムの設計フローは,車両の要求条件のような要求条件,車両を運転する方法,車両が有することが望ましい安全特徴,製品が製造され,振る舞う方法の高レベルの要求条件,を決定することによって開始してもよい。次に,システム設計は,機能設計を満足するためにどのようなシステムを生成する必要があるかを決定してもよい。いくつかの明白なシステム設計作品は,ガソリンエンジン,電気式操舵(drive−by−wire steering),などを含む。次に,構成要素設計は,製品にどのような特定の構成要素及び電子回路が必要かをより細かな粒度で決定してもよい。構成要素設計は,例えば,エンジン自体の設計,電源の配線図の作成,などを含んでもよい。“V”の底辺で,構成要素実現は,仮想プロトタイプ及びソフトウェアを含む,ハードウェアのプロトタイプを作成してもよい。
システム検証に対応する“V”の右半分の同一の例において,構成要素が期待どおり動作することを確かめるためにプロトタイプが作成されると,個別の構成要素を試験することができる。問題をより容易に解決できるように,早期に問題を分離するために,構成要素毎にテストベンチを作成してもよい。次に,結合試験(integration test)が構成要素をシステムに結合し,システムレベルで構成要素が動作することを検証してもよい。次に,製品システムが製品の要求条件を満たしていることを確かめるために,製品システム全体を試験してもよい。障害シミュレータは,このシステム工学のVモデルの構成要素試験,結合試験,及び/又はシステム試験の各部に関係することができる。一つの実施形態においては,ここに説明した1又は複数の特徴を有する障害シミュレータは,仮想ハードウェアプロトタイプ上で動作し,構成要素及び構成要素のシステムの振舞を評価するために,ソフトウェア制御システムと相互運用することもある。
図7は,本発明の実施形態を組み込むことができる計算機システムのブロック図である。図7は,単に本発明を組み込んだ実施形態を示すものに過ぎず,本願請求項に示された本発明の範囲を制限するものではない。当業者であれば,ほかの変形物,修正物及び代替物を認識するであろう。
一つの実施形態においては,計算機システム700は通常,モニタ710と,計算機720と,利用者出力装置730と,利用者入力装置740と,通信インタフェース750と,これらの類似物とを含む。
図7に示すように,計算機720は,バスサブシステム790を介していくつかの周辺装置と通信するプロセッサ76を含んでもよい。これらの周辺装置は,利用者出力装置730と,利用者入力装置740と,通信インタフェース750と,ランダムアクセスメモリ(RAM)770及びディスクドライブ780のような記憶サブシステムと,を含んでもよい。
利用者入力装置830は,計算機システム720に情報を入力するためのすべての選択可能な種類の装置及び機構を含む。これらは,キーボードと,キーパッドと,表示装置に組み込まれたタッチスクリーンと,音声認識システムのような音響入力装置と,マイクロホンと,ほかの種類の入力装置と,を含んでもよい。種々の実施形態において,利用者入力装置730は通常,計算機マウスと,トラックボールと,トラックパッドと,ジョイスティックと,無線リモコンと,描画タブレットと,音声コマンドシステムと,視線追跡システムと,これらの類似物と,として実現される。利用者入力装置730は通常,利用者がモニタ710上に現れるオブジェクト,アイコン,文字,等を,ボタンのクリックなどのようなコマンドを介して選択できるようにする。
利用者出力装置740は,計算機720から情報を出力するためのすべての選択可能な種類の装置及び機構を含む。これらは,表示装置(例えば,モニタ710),音響出力装置のような非視覚提示装置,等を含んでもよい。
通信インタフェース750は,ほかの通信網及び装置とのインタフェースを提供する。通信インタフェース750は,ほかのシステムからデータを受信し,ほかのシステムへデータを送信するためのインタフェースの働きをする。通信インタフェース750は通常,イーサネット(登録商標)カードと,モデム(電話,衛星,ケーブル,ISDN)と,(非同期)デジタル加入者線(DSL)ユニットと,FireWire(登録商標)インタフェースと,USBインタフェースと,それらの類似物と,を含む。例えば,通信インタフェース750は,計算機網,FireWire(登録商標)バス,等と結合することができる。ほかの実施形態においては,通信インタフェース750は,計算機720のマザーボードに物理的に統合されていてもよいし,ソフトDSL等のソフトウェアプログラムであってもよい。
種々の実施形態において,計算機システム700はまた,HTTP,TCP/IP,RTP/RTSP,等のような,通信網を介した通信を可能にするソフトウェアを含んでもよい。本発明の代替実施形態においては,例えば,IPX,UDP,等の別の通信ソフトウェア及び転送プロトコルも用いてよい。
いくつかの実施形態においては,計算機720は,プロセッサ760として,1又は複数のIntel社のXeon(登録商標)マイクロプロセッサを含む。さらに,一つの実施形態においては,計算機720はUNIX(登録商標)ベースのオペレーティングシステムを含む。
RAM770及びディスクドライブ780は,実行可能計算機コード,人間可読コード,等を含む,本発明の実施形態のようなデータを記憶するように構成された有形媒体の例である。ほかの種類の有形媒体には,フレキシブルディスク,着脱可能ハードディスク,CD−ROM,DVDのような光記憶媒体,バーコード,フラッシュメモリ,リードオンリメモリ(ROM),バッテリバックアップ揮発性メモリのような半導体メモリ,ネットワーク層記憶装置,等が含まれる。RAM770及びディスクドライブ780は,本発明の機能を提供する基本プログラム及びデータ構造体を記憶するように構成してもよい。
本発明の機能を提供するソフトウェアコードモジュール及び命令は,RAM770及びディスクドライブ780に記憶してもよい。これらのソフトウェアモジュールはプロセッサ760で実行することができる。RAM770及びディスクドライブ780はまた,本発明に従って用いられるデータを記憶するリポジトリを提供してもよい。
RAM770及びディスクドライブ780は,プログラムの実行中に命令及びデータを記憶するための主ランダムアクセスメモリ(RAM)と,固定された命令が記憶されているリードオンリメモリ(ROM)とを含むいくつかのメモリを含んでもよい。RAM770及びディスクドライブ780は,プログラム及びデータファイル用の永続(不揮発性)記憶を提供するファイル記憶サブシステムを含んでもよい。RAM770及びディスクドライブ780はまた,着脱可能フラッシュメモリのような着脱可能記憶システムを含んでもよい。
バスサブシステム790は,計算機720の種々の構成要素及びサブシステムが,互いに意図したように通信できるようにする機構を提供する。バスサブシステム790は単一のバスとして概略的に示されているが,バスサブシステムの代替実施形態は複数のバスを利用してもよい。
図7は,本発明を実現することができる計算機システムを表している。当業者には,多くのほかのハードウェア及びソフトウェアが本発明と共に用いるのに適していることは明らかであろう。例えば,計算機はデスクトップ型,携帯型,ラック搭載型,又はタブレット型の構成であってもよい。代替として,計算機は一連のネットワーク化された計算機であってもよい。さらに,Pentium(登録商標)又はItanium(登録商標)マイクロプロセッサ,Advanced Micro Devices社のOpteron(商標)又はAthlonXP(商標)マイクロプロセッサ,等のほかのマイクロプロセッサの利用も考えられる。さらに,Microsoft社のWindows(登録商標),WindowsXP(登録商標),WindowsNT(登録商標),Sun Microsystems社のSolaris(登録商標),Linux(登録商標),Unix(登録商標),等のほかの種類のオペレーティングシステムも考えられる。更に別の実施形態においては,上述の技法をチップ又は補助処理ボード上で実現してもよい。
本発明の種々の実施形態は,ソフトウェア,ハードウェア又は双方の組合せによる論理の形態で実現することができる。論理は,計算機システムのプロセッサに,本発明の実施形態において開示されたステップの集合を実行するように指示するようにした命令の集合として,計算機可読又は機械可読記憶媒体に記憶してもよい。論理は,情報処理装置に,本発明の実施形態において開示されたステップの集合を自動的に実行するように指示するようにした計算機プログラム製品の一部を形成してもよい。本明細書において提供された開示及び教示に基づいて,当業者であれば,例えば,計算機で実行可能な命令を生成するためにソースコードを書き,そのソースコードをコンパイルすることによって,本発明を実現するほかの手段及び/又は方法を理解するであろう。
したがって,本明細書及び図面は制限的ではなく例示的に考えるべきものである。しかし,本願請求項に記載された本発明の広範な精神及び範囲から逸脱することなく,種々の修正物及び変更物を作成できることは明らかである。さらに,本発明の技法及びシステムは,保存された信号流と,イベント又はデジタル部連立方程式との組合せによって特徴づけられたシステムを設計,試験及び/又は製造する広範な電子設計自動化(EDA)ツール及び方法論と共に用いるのに適している。したがって,本発明の範囲は上述の説明によって決定されるのではなく,本願の係属中の請求項及びそのすべての範囲又は均等物によって決定することが望ましい。

Claims (22)

  1. 電子回路のコンパイルされた設計を修正する計算機で実現された方法であって,
    前記設計を表す記憶されたコンパイル物にアクセスするステップと,
    前記設計を再推敲することなく,前記設計の一部への変更の指示に応答して,前記計算機に前記記憶されたコンパイル物の修正版を生成させるステップと,
    を有し,
    前記修正版を生成させるステップは,
    前記変更がアナログ要素に関係することを判定する又は前記変更がデジタル要素に関係することを判定するステップと,
    前記変更がアナログ要素に関係する場合に前記要素に関係する少なくとも一つのアナログ部方程式を更新する又は前記変更がデジタル要素に関係する場合に前記要素に関係する少なくとも一つのデジタル部ドライバ接続を更新するステップと,
    を有する方法。
  2. 前記設計の前記変更された部分を表す前記コンパイル物の一部を特定するステップを更に有し,前記修正されたコンパイル物は前記コンパイル物の前記特定された部分の修正版を有し,前記コンパイル物のほかの部分は修正されないままである,請求項1に記載の方法。
  3. 前記変更は,前記設計に短絡要素を加えるステップと,前記設計に開放要素を加えるステップとの少なくとも一つを有する,請求項1に記載の方法。
  4. 前記記憶されたコンパイル物は,複数の部分木を有する設計木を含む,請求項1に記載の方法。
  5. 前記修正版を生成させるステップは,要素を前記部分木の一つに挿入するステップを有する,請求項に記載の方法。
  6. 前記挿入するステップは,
    第1ノードに接続されたポートから該第1ノードを切り離すステップと,
    前記第1ノードと前記ポートとの間に第2ノードを加えるステップと,
    前記ポートに前記第2ノードを接続するステップと,
    前記第1ノードと前記第2ノードとの間に前記要素を挿入するステップと,
    を有する,請求項に記載の方法。
  7. 前記修正されたコンパイル物をシミュレートするステップと,
    前記シミュレーションに基づいてレポートを生成するステップと,
    を更に有する,請求項1に記載の方法。
  8. 前記修正されたコンパイル物を未修正の状態に戻すステップを更に有する,請求項1に記載の方法。
  9. 電子回路の設計を検証するシステムであって,
    プロセッサと,
    命令を記憶するメモリであって,該命令は前記プロセッサが実行したとき前記プロセッサに,
    前記設計を表す記憶されたコンパイル物にアクセスし,
    前記設計を再推敲することなく,前記設計の一部への変更の指示に応答して,前記プロセッサに前記記憶されたコンパイル物の修正版を生成させる,ように前記プロセッサを構成する,メモリと,
    を備え
    前記修正版を生成させることは,
    前記変更がアナログ要素に関係することを判定すること又は前記変更がデジタル要素に関係することを判定することと,
    前記変更がアナログ要素に関係する場合に前記要素に関係する少なくとも一つのアナログ部方程式を更新すること又は前記変更がデジタル要素に関係する場合に前記要素に関係する少なくとも一つのデジタル部ドライバ接続を更新することと,
    を有するシステム。
  10. 前記命令は,前記プロセッサが前記設計の前記変更された部分を表す前記コンパイル物の一部を特定するように更に構成され,前記修正されたコンパイル物は前記コンパイル物の前記特定された部分の修正版を有し,前記コンパイル物のほかの部分は修正されないままである,請求項に記載のシステム。
  11. 前記変更は,前記設計に短絡要素を加えることと,前記設計に開放要素を加えることとの少なくとも一つを有する,請求項に記載のシステム。
  12. 前記修正版を生成させることは,
    A)前記変更がアナログ要素に関係することを判定し,前記要素に関係する少なくとも一つのアナログ部方程式を更新することと,
    B)前記変更がデジタル要素に関係することを判定し,前記要素に関係する少なくとも一つのデジタル部ドライバ接続を更新することと,の少なくとも一つを有する,請求項に記載のシステム。
  13. 前記修正版を生成させることは,
    第1ノードに接続されたポートから該第1ノードを切り離すことと,
    前記第1ノードと前記ポートとの間に第2ノードを加えることと,
    前記ポートに前記第2ノードを接続することと,
    前記第1ノードと前記第2ノードとの間に前記要素を挿入することと,
    を有する,請求項に記載のシステム。
  14. 前記命令は,前記プロセッサが,
    前記修正されたコンパイル物をシミュレートし,
    前記シミュレーションに基づいてレポートを生成する,
    ように更に構成する,請求項に記載のシステム。
  15. 前記命令は,前記プロセッサが前記修正されたコンパイル物を未修正の状態に戻すように更に構成する,請求項に記載のシステム。
  16. 電子回路の設計を表す記憶されたコンパイル物にアクセスするステップと,
    前記設計を再推敲することなく,前記設計の一部への変更の指示に応答して,前記記憶されたコンパイル物の修正版を生成させるステップと,
    を備え,
    前記修正版を生成させるステップは,
    前記変更がアナログ要素に関係することを判定する又は前記変更がデジタル要素に関係することを判定するステップと,
    前記変更がアナログ要素に関係する場合に前記要素に関係する少なくとも一つのアナログ部方程式を更新する又は前記変更がデジタル要素に関係する場合に前記要素に関係する少なくとも一つのデジタル部ドライバ接続を更新するステップと,
    を有する方法を計算機に実行させるための計算機プログラム。
  17. 前記方法は,前記設計の前記変更された部分を表す前記コンパイル物の一部を特定するステップを更に有し,前記修正されたコンパイル物は前記コンパイル物の前記特定された部分の修正版を有し,前記コンパイル物のほかの部分は修正されないままである,請求項16に記載の計算機プログラム。
  18. 前記変更は,前記設計に短絡要素を加えることと,前記設計に開放要素を加えることとの少なくとも一つを有する,請求項16に記載の計算機プログラム。
  19. 前記修正版を生成させるステップは,
    A)前記変更がアナログ要素に関係することを判定するステップ,及び前記要素に関係する少なくとも一つのアナログ部方程式を更新するステップと,
    B)前記変更がデジタル要素に関係することを判定するステップ,及び前記要素に関係する少なくとも一つのデジタル部ドライバ接続を更新するステップと,の少なくとも一つを有する,請求項16に記載の計算機プログラム。
  20. 前記修正版を生成させるステップは,
    第1ノードに接続されたポートから該第1ノードを切り離すステップと,
    前記第1ノードと前記ポートとの間に第2ノードを加えるステップと,
    前記ポートに前記第2ノードを接続するステップと,
    前記第1ノードと前記第2ノードとの間に前記要素を挿入するステップと,
    を有する,請求項16に記載の計算機プログラム。
  21. 前記方法は,
    前記修正されたコンパイル物をシミュレートするステップと,
    前記シミュレーションに基づいてレポートを生成するステップと,
    を更に有する,請求項16に記載の計算機プログラム。
  22. 前記方法は,前記修正されたコンパイル物を未修正の状態に戻すステップを有する,請求項16に記載の計算機プログラム。
JP2014247187A 2013-12-06 2014-12-05 システム検証のための障害挿入 Active JP6687319B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361913225P 2013-12-06 2013-12-06
US61/913,225 2013-12-06

Publications (2)

Publication Number Publication Date
JP2015122065A JP2015122065A (ja) 2015-07-02
JP6687319B2 true JP6687319B2 (ja) 2020-04-22

Family

ID=53271429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014247187A Active JP6687319B2 (ja) 2013-12-06 2014-12-05 システム検証のための障害挿入

Country Status (2)

Country Link
US (1) US10452797B2 (ja)
JP (1) JP6687319B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452797B2 (en) * 2013-12-06 2019-10-22 Synopsys, Inc. Fault insertion for system verification
EP3101566A1 (de) * 2015-06-05 2016-12-07 Invenio Virtual Technologies GmbH Verfahren und vorrichtung zum überprüfen der baubarkeit eines virtuellen prototyps
US10592624B2 (en) 2017-06-02 2020-03-17 Synopsis, Inc. Efficient mechanism of fault qualification using formal verification
US11010522B2 (en) 2017-11-14 2021-05-18 Synopsys, Inc. Efficient mechanism for interactive fault analysis in formal verification environment
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132347A (ja) * 1986-11-21 1988-06-04 Fujitsu Ltd 論理回路のコンパイル方式
US5867399A (en) * 1990-04-06 1999-02-02 Lsi Logic Corporation System and method for creating and validating structural description of electronic system from higher-level and behavior-oriented description
JP3192906B2 (ja) * 1994-03-11 2001-07-30 富士通株式会社 論理シミュレーションシステム及び論理変更方法
JP3056071B2 (ja) * 1996-04-25 2000-06-26 日本電気アイシーマイコンシステム株式会社 設計支援装置
JPH09319777A (ja) * 1996-05-27 1997-12-12 Sharp Corp 電気回路の故障解析方法
US5983277A (en) * 1996-10-28 1999-11-09 Altera Corporation Work group computing for electronic design automation
US20030149962A1 (en) * 2001-11-21 2003-08-07 Willis John Christopher Simulation of designs using programmable processors and electronically re-configurable logic arrays
JP2005513597A (ja) * 2001-12-10 2005-05-12 メンター・グラフィクス・コーポレーション 並列的電子設計オートメーション:同時共有編集
JP2003316840A (ja) * 2002-04-26 2003-11-07 Fujitsu Ltd 論理回路設計方法及びプログラム
GB0301993D0 (en) * 2003-01-29 2003-02-26 Univ Edinburgh System and method for rapid prototyping of asic systems
US7447621B1 (en) * 2003-09-29 2008-11-04 Sun Microsystems, Inc. PLI-less co-simulation of ISS-based verification systems in hardware simulators
US7236917B1 (en) * 2003-10-31 2007-06-26 Sun Microsystems, Inc. Method and apparatus for generating minimal node data and dynamic assertions for a simulation
WO2006127409A2 (en) * 2005-05-20 2006-11-30 Cadence Design Systems, Inc. System and method for statistical design rule checking
US7552409B2 (en) * 2005-06-07 2009-06-23 Synopsys, Inc. Engineering change order process optimization
US20070005323A1 (en) * 2005-06-30 2007-01-04 Patzer Aaron T System and method of automating the addition of programmable breakpoint hardware to design models
US7571406B2 (en) * 2005-08-04 2009-08-04 Freescale Semiconductor, Inc. Clock tree adjustable buffer
US7761282B2 (en) * 2005-12-16 2010-07-20 International Business Machines Corporation System and method to simulate conditions and drive control-flow in software
WO2007124008A2 (en) * 2006-04-21 2007-11-01 Ameritherm, Inc. Rf induction heating container of food
US7448008B2 (en) * 2006-08-29 2008-11-04 International Business Machines Corporation Method, system, and program product for automated verification of gating logic using formal verification
US7653888B2 (en) * 2007-04-25 2010-01-26 International Business Machines Corporation System for and method of integrating test structures into an integrated circuit
US7886251B2 (en) * 2007-05-22 2011-02-08 Cadence Design Systems, Inc. System and method for building configurable designs with hardware description and verification languages
US8122428B2 (en) * 2007-06-26 2012-02-21 Analog Devices, Inc. Methods and apparatus for automation and facilitating design of register maps
US20090083690A1 (en) * 2007-09-24 2009-03-26 Nazmul Habib System for and method of integrating test structures into an integrated circuit
US7983893B2 (en) * 2008-01-08 2011-07-19 Mentor Graphics Corporation Fault support in an emulation environment
US8122399B2 (en) * 2008-08-28 2012-02-21 International Business Machines Corporation Compiler for closed-loop 1×N VLSI design
US8156458B2 (en) * 2008-08-29 2012-04-10 International Business Machines Corporation Uniquification and parent-child constructs for 1xN VLSI design
US20100107130A1 (en) * 2008-10-23 2010-04-29 International Business Machines Corporation 1xn block builder for 1xn vlsi design
JP5267243B2 (ja) * 2009-03-17 2013-08-21 日本電気株式会社 動作記述変換装置、動作記述変換方法、およびプログラム
US8086988B2 (en) * 2009-05-18 2011-12-27 International Business Machines Corporation Chip design and fabrication method optimized for profit
US8566059B2 (en) * 2009-12-08 2013-10-22 International Business Machines Corporation Insertion of faults in logic model used in simulation
US8281274B1 (en) * 2010-01-08 2012-10-02 Altera Corporation Method and apparatus for performing efficient incremental compilation
US8296704B1 (en) * 2010-07-09 2012-10-23 Altera Corporation Method and apparatus for simultaneous switching noise optimization
US8365114B2 (en) * 2010-08-25 2013-01-29 International Business Machines Corporation Logic modification synthesis
WO2012040293A1 (en) * 2010-09-21 2012-03-29 Ansaldo Sts Usa, Inc. Method of analyzing the safety of a device employing on target hardware description language based fault injection
US9053264B2 (en) * 2011-03-16 2015-06-09 Synopsys, Inc. What-if simulation methods and systems
US8954297B2 (en) * 2012-01-02 2015-02-10 Flux Factory, Inc. Automated and intelligent structure design generation and exploration
US20130096901A1 (en) * 2011-10-12 2013-04-18 International Business Machines Corporation Verifying Simulation Design Modifications
US8584062B2 (en) * 2011-10-27 2013-11-12 Apple Inc. Tool suite for RTL-level reconfiguration and repartitioning
US20130346593A1 (en) * 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for providing transition to an alternate service based on performance degradation of an initial service
US8977997B2 (en) * 2013-03-15 2015-03-10 Mentor Graphics Corp. Hardware simulation controller, system and method for functional verification
US20150051890A1 (en) * 2013-08-15 2015-02-19 Palo Alto Research Center Incorporated Automated augmented model extension for robust system design
US9202005B2 (en) * 2013-08-28 2015-12-01 Synopsys, Inc. Development and debug environment in a constrained random verification
US10452797B2 (en) * 2013-12-06 2019-10-22 Synopsys, Inc. Fault insertion for system verification
US9286426B2 (en) * 2014-04-23 2016-03-15 International Business Machines Corporation Method and apparatus for testing

Also Published As

Publication number Publication date
JP2015122065A (ja) 2015-07-02
US20150161306A1 (en) 2015-06-11
US10452797B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
US7865350B1 (en) Partitioning a model in modeling environments
JP6687319B2 (ja) システム検証のための障害挿入
US7503027B1 (en) Hardware description language code generation from a state diagram
JP6220882B2 (ja) 自己テスト型グラフィックコンポーネントアルゴリズム仕様
US7680632B1 (en) Test precondition items for automated analysis and test generation
US20110145784A1 (en) Automatic generation of code for component interfaces in models
US7729894B1 (en) Test postcondition items for automated analysis and test generation
US9152393B1 (en) Dynamic entities for a model of a graphical modeling environment
US20060064680A1 (en) Extensible internal representation of systems with parallel and sequential implementations
US10860298B2 (en) Method and system for editing a block diagram model
JP2014203314A (ja) Ecuシミュレーション装置
US8903688B1 (en) Test entities for evaluation and validation of a model
US10185793B2 (en) Conditional-based duration logic
US10078500B2 (en) Method and system for automatic code generation
CN106874562B (zh) 一种将架构模型转换为静态计算模型的转换系统及其方法
Kintali et al. Model-based design with Simulink, HDL Coder, and Xilinx system generator for DSP
JP6300833B2 (ja) シミュレーション方法およびその装置
Kaijser et al. Towards simulation-based verification for continuous integration and delivery
US10706193B1 (en) Computer processing during simulation of a circuit design
US8768658B1 (en) Configurable enablement of operations associated with state enabled systems in a graphical environment
US8145466B1 (en) Clustering of electronic circuit design modules for hardware-based and software-based co-simulation platforms
US20040230414A1 (en) Method for verification of hardware designs with multiple asynchronous frequency domains
CN111400994A (zh) 网表形式验证方法、装置、计算机设备及存储介质
JP2005129054A (ja) 回路設計方法
US11334704B1 (en) System, method, and computer program product for mixed signal verification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20191216

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200108

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: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200402

R150 Certificate of patent or registration of utility model

Ref document number: 6687319

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250