(57)【要約】【課題】設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させる。【解決手段】シミュレーション実行制御装置３０は、電子回路の動作に関するシミュレーションにおいて、電子回路内の特定素子が示す不定値を解消することが期待される解消機能が動作中にその特定素子が不定値を示している、検出対象事象が発生していることを検出する検出部３１と、検出部３１が検出対象事象を検出した場合に、シミュレーションにおいて、解消機能が動作中であることを示す期間に関連する特定期間に関して、特定素子が示す不定値を定数値に置き換えることを表すマスク情報３２０を生成する生成部３２と、検出部３１が検出対象事象を検出したことに応じてシミュレーションを停止したのち、マスク情報３２０を用いて、シミュレーションを再実行する実行部３３と、を備える。【選択図】      図１１
2019159734.tif 000002
【特許請求の範囲】
【請求項１】
電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出手段と、
前記検出手段が前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成手段と、
前記検出手段が前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行手段と、
を備えるシミュレーション実行制御装置。
【請求項２】
前記実行手段は、所定のタイミングに、前記シミュレーションを実行した中間結果を表す中間結果情報を生成して記憶手段に格納し、前記シミュレーションを再実行する場合は、前記マスク情報と、前記記憶手段に格納されている前記中間結果情報と、を用いる、
請求項１に記載のシミュレーション実行制御装置。
【請求項３】
前記実行手段は、前記電子回路が電源オンされたのちに初期化処理を行う動作に含まれる１以上のプロシージャの個々に関してその実行が完了するタイミングに、前記中間結果情報を生成する、
請求項２に記載のシミュレーション実行制御装置。
【請求項４】
前記実行手段は、生成した複数の前記中間結果情報のうち、前記検出手段が前記検出対象事象を検出した時点から遡って、最も新しい前記中間結果情報を用いて、前記シミュレーションを再実行する、
請求項２または請求項３に記載のシミュレーション実行制御装置。
【請求項５】
前記実行手段は、前記検出手段が前記検出対象事象を検出してから所定の時間が経過したのち、前記シミュレーションを停止する、
請求項１乃至請求項４のいずれか一項に記載のシミュレーション実行制御装置。
【請求項６】
前記検出手段は、前記電子回路において前記解消機能を実現する、前記特定の素子が示す値をリセットすることが期待されるリセット信号が示す値に基づいて、前記解消機能が動作中であることを検出する、
請求項１乃至請求項５のいずれか一項に記載のシミュレーション実行制御装置。
【請求項７】
前記特定の素子は、前記電子回路に含まれるフリップフロップであり、前記リセット信号は、前記電子回路における前記フリップフロップに対するクロック入力を制御する構成に入力される、
請求項６に記載のシミュレーション実行制御装置。
【請求項８】
前記電子回路に対する物理設計が行なわれた結果を表す前記設計情報に関して、前記実行手段が前記マスク情報を用いて前記シミュレーションを実行した結果と、前記電子回路に対する論理設計が行なわれた結果を表す論理設計情報に関して、前記シミュレーションが実行された結果と、を比較する検証手段をさらに備える、
請求項１乃至請求項７のいずれか一項に記載のシミュレーション実行制御装置。
【請求項９】
情報処理装置によって、
電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出し、
前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成し、
前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する、
シミュレーション実行制御方法。
【請求項１０】
電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出処理と、
前記検出処理によって前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成処理と、
前記検出処理によって前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行処理と、
をコンピュータに実行させるためのシミュレーション実行制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする技術に関する。
【背景技術】
【０００２】
近年、半導体技術は目覚ましい発展を遂げ、微細化及び高集積化に関する技術は年々進歩している。そして、ＬＳＩ（Large Scale Integration）自体の集積度が向上することによりＬＳＩに組み込まれる論理回路が大幅に増加するので、このような論理回路を検証するためには大規模な検証モデルを構築する必要がある。このような大規模モデルを、ＬＳＩの製造に先立って情報処理装置を用いてシステムレベルで検証する場合、検証に要する時間が膨大になりつつある。
【０００３】
図１３は、一般的なＬＳＩ（電子回路）の開発工程を例示する図である。ＬＳＩの開発では、図１３に示す通り、様々な設計及び検証が行なわれる。そしてＬＳＩを開発するベンダーは、例えばＡＳＩＣ（Application Specific Integrated Circuit）ベンダーにネットリスト（ＬＳＩデータ）をリリースするにあたり、初期化検証、障害処理検証、各機能検証等、様々な検証を実施する。
【０００４】
ここで、例えば初期化検証においては、ＬＳＩに含まれる各素子に対して設定する初期値として、通常、「０（電圧low）」、「１（電圧high）」に加えて「Ｘ（不定値）」を設定して論理シミュレーションを実施する。なぜなら、ＬＳＩに含まれる素子によっては、例えば電源がオンされたときに、当該素子が示す値が「０」であるのか「１」であるのかが定まらない（但し実際のＬＳＩでは、不定値「Ｘ」という状態は存在しなく、各素子は、必ず「０」あるいは「１」の何れかを示す）からである。
【０００５】
このような、設定される初期値として不定値「Ｘ」を含む電子回路の動作をシミュレーションする場合、不定値「Ｘ」が電子回路内において伝播することによって、シミュレーション結果に多くの不定値「Ｘ」が含まれる場合がある。実際のＬＳＩでは、不定値「Ｘ」という状態は存在しないことから、シミュレーション結果に多くの不定値「Ｘ」が含まれることによって、シミュレーションの網羅率等が低下し、シミュレーションの精度が悪化することになる。したがって、設定される初期値として不定値「Ｘ」を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させる技術への期待は、ますます高まってきている。
【０００６】
このような技術に関連する技術として、特許文献１には、信号の理論値として、少なくとも「１」、「０」、「Ｘ（不定値）」という３値を扱うことが可能なシミュレータを備えた、論理回路のシミュレーション方法が開示されている。この方法では、シミュレーションを実行中に、不定値状態にある信号線を検出し、当該不定値に対して無作為に「０」または「１」を割り当てることによって、シミュレーションを実行する。
【０００７】
また、特許文献２には、論理シミュレーションにおいて不定値が及ぼす悪影響を緩和するようにした論理シミュレーション方法が開示されている。この方法では、１つの論理回路を２つの異なるレベルにて記述した高位レベル回路におけるノードＯと低位レベル回路におけるノードＦとの対応関係を決定する。この方法では、論理シミュレーションにおいて、ノードＯの期待値が「１」であり、ノードＦが不定値「Ｘ」を示すことから、期待値エラーノードの発生を検知した場合、ノードＦの不定値「Ｘ」の原因となる不定値ノードＣに「０」と「１」とを代入して、それぞれ論理シミュレーションを実施する。そしてこの方法では、いずれの場合もノードＦが「１」という同一の値を示すことを確認したうえで、期待値エラーノード（不定値ノード）が示す値を固定値「１」に書き換える。これにより、この方法は、ノードＯとノードＦとの間の期待値エラーを解消し、論理シミュレーションを継続実行する。
【０００８】
また、特許文献３には、シミュレーションの対象となる回路の信号入力となるテストパターン中に、セーブスタートポイントならびにセーブエンドポイントを設定した半導体集積回路のシミュレーション方法が開示されている。この方法では、セーブスタートポイント直前のイベント情報、ならびにセーブスタートポイントとセーブエンドポイントとの間で指定される範囲の連続したシミュレーション結果を収集してセーブする。この方法では、セーブしたシミュレーション結果に基づいてセーブポイント以降のテストパターンを修正し、修正した部分を含むテストパターン全体をセーブする。この方法では、修正した部分を含むセーブされた全体のテストパターンの内、修正した部分を含むセーブポイント以降のテストパターンをシミュレータにロードする。そしてこの方法では、シミュレータにロードされたテストパターンを使用してシミュレーションを実行する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０３−０４１５６４号公報
【特許文献２】特開２００６−３３１２１２号公報
【特許文献３】特開２０００−０３５９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
電子回路では、実際の回路及びそのシミュレーションにおいて、各素子が示す値が不定値とはならずに、「０」あるいは「１」の何れかに決定するようにする、素子が示す値が不定値となることを解消することが期待される解消機能を有する構成が組み込まれる場合がある。
【００１１】
図１４は、このような素子が示す値が不定値となることを解消することが期待される解消機能を有する電子回路を例示する図である。但し、図１４に例示する電子回路は、後述する信号の遅延時間に関する検証が行なわれる前の電子回路であり、図１３において、ＡＳＩＣベンダーにネットリストをリリースする前の電子回路に相当する。また、図１５は、図１４に例示する電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
【００１２】
図１４に例示する電子回路は、ＮＡＮＤ（否定論理積）ゲートａ０１、機能回路ａ０２、クロック制御回路ａ０３、機能回路ａ０４、レジスタａ０５を含んでいる。CLK_IN信号は、電子回路に含まれるレジスタの同期をとるために分配されたクロック信号である。RESET_A信号及びRESET_B信号は、レジスタａ０５が示す値が不定値となることを解消することが期待される解消機能を有するリセット信号である。
【００１３】
RESET_A信号は、図１５に例示する通り、シミュレーションにおける経過時間Ｔｍ０までは「０」を示し、経過時間Ｔｍ０において、「０」から「１」に推移し、経過時間Ｔｍ１において、「１」から「０」に推移することとする。RESET_B信号は、シミュレーションにおける経過時間Ｔｍ０までは不定値「Ｘ」を示し、経過時間Ｔｍ１において、不定値「Ｘ」から「０」に推移し、その後は「０」を示し続けることとする。また、図１４に例示する通り、RESET_A信号は機能回路ａ０４に入力されることによって機能回路ａ０４から出力されるREG_IN信号を「０」にリセットし、RESET_B信号は、機能回路ａ０２からの出力信号とともに、ＮＡＮＤゲートａ０１に入力されることとする。但し、機能回路ａ０２は、レジスタａ０５から出力されたREG_OUT信号を入力とする回路である。
【００１４】
クロック制御回路ａ０３は、ＮＡＮＤゲートａ０１から出力されたCLK_EN（クロックイネーブル）信号とCLK_IN信号とに基づいてREG_CLK_IN信号を生成し、生成したREG_CLK_IN信号をクロック信号としてレジスタａ０５へ入力する。CLK_EN信号は、経過時間Ｔｍ０において、RESET_B信号が「０」に確定することによって「１」に確定する。レジスタａ０５が示す値は、経過時間Ｔｍ０においてREG_CLK_IN信号が確定される（即ちCLK_IN信号がクロック信号としてレジスタａ０５に入力され始める）とともに、RESET_A信号によってREG_IN信号が「０」にリセットされることによって、不定値「Ｘ」から「０」に推移する。
【００１５】
図１３に例示する、例えばＡＳＩＣベンダーにネットリストをリリースする前の工程において行なわれる、ＲＴＬ（Register Transfer Level）、即ち論理レベルのシミュレーションは、電子回路における信号の遅延時間に関する検証が行なわれる前の状態にある、図１４及び図１５に例示するような電子回路を対象とする。
【００１６】
そして、図１３に例示する通り、ＡＳＩＣベンダーは、リリースされたネットリストに基づいて、電子回路における信号の遅延時間等を考慮したレイアウト設計（物理設計）を行なう。そして、ＬＳＩの開発工程における最終段階において、このレイアウト設計の結果を含む設計情報を用いて、サインオフ検証（ゲートレベル、即ち物理レベルのシミュレーション）が行なわれる。
【００１７】
上述したレイアウト設計では、電子回路における信号の遅延時間等を考慮した結果として、例えばクロック信号やリセット信号等を分配する回路が、論理設計時とは異なる形態で（但し、当該電子回路が論理的に適切に動作することは保証されることとする）、電子回路に組み込まれる場合がある。そして、このことによって、論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは機能しなくなり、シミュレーションにおける不定値が解消されなくなる場合がある。但し、この場合において、シミュレーションにおける不定値を解消する機能が機能しないことは、実際の電子回路が適切に動作することには影響を与えないこととする。即ち、シミュレーションにおける不定値「Ｘ」の部分に関して、実際の電子回路における値が「０」であっても「１」であっても、実際の電子回路の動作には問題が無いこととする。次に、図１６及び図１７を参照して、このような場合について説明する。
【００１８】
図１６は、図１４に例示する電子回路における信号の遅延時間が検証された結果に基づいて物理設計が行なわれた後の電子回路を例示する図である。図１７は、図１６に例示する電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
【００１９】
図１６に例示する電子回路では、図１４に例示する電子回路に対する物理設計が行なわれた結果として、RESET_A信号とRESET_B信号との論理和を出力するＯＲゲートｂ００が、図１４に例示する電子回路に対して追加されている。ＯＲゲートｂ００からの出力信号は、機能回路ａ０２からの出力信号とともに、ＮＡＮＤゲートａ０１に入力されている。但し、図１４に例示する電子回路に対して上述した変更が行なわれた図１６に例示する電子回路が論理的に適切に動作することは、保証されることとする。
【００２０】
図１６に例示する電子回路では、RESET_A信号とRESET_B信号との論理和がＮＡＮＤゲートａ０１に入力されるので、図１７に例示する通り、シミュレーションにおける経過時間Ｔｍ０において、CLK_EN信号は、図１５に例示するときのように「１」に確定せず、不定値「Ｘ」を維持する。そして、CLK_EN信号は、RESET_A信号とRESET_B信号とが両方とも「０」に確定する経過時間Ｔｍ１において、不定値「Ｘ」から「１」に確定する。これにより、REG_CLK_IN信号も、経過時間Ｔｍ１まで不定値「Ｘ」を維持するので、レジスタａ０５が示す値も不定値「Ｘ」を維持する。
【００２１】
そして、図１７に例示する通り、RESET_A信号は、経過時間Ｔｍ１において「１」から「０」に推移するので、機能回路ａ０４からレジスタａ０５に対して出力されるREG_IN信号も「０」から不定値「Ｘ」に推移する。したがって、レジスタａ０５が示す値は、経過時間Ｔｍ１の後も不定値「Ｘ」を維持することとなり、レジスタａ０５が示す不定値は解消されないことになる。
【００２２】
このように論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは、期待通りに機能しなくことによって、不定値を解消することができなくなり、不定値の伝播によるシミュレーションの精度が低下する。このような事象が発生する可能性がある回路は、大規模なＬＳＩ等では多数存在することが考えられ、また、このような事象がＬＳＩのどこに発生するのかを予測することも困難である。したがって、上述した事象が発生した場合に、シミュレーションの精度を効率的に向上させることは困難である。特許文献１乃至３が示す技術は、このような問題を解決するのに十分であるとは言えない。本願発明の主たる目的は、この問題を解決するシミュレーション実行制御装置等を提供することである。
【課題を解決するための手段】
【００２３】
本願発明の一態様に係るシミュレーション実行制御装置は、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出手段と、前記検出手段が前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成手段と、前記検出手段が前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行手段と、を備える。
【００２４】
上記目的を達成する他の見地において、本願発明の一態様に係るシミュレーション実行制御方法は、情報処理装置によって、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出し、前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成し、前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する。
【００２５】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るシミュレーション実行制御プログラムは、電子回路の設計情報を用いて行われる、前記電子回路の動作に関するシミュレーションにおいて、前記電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、前記特定の素子が不定値を示している、検出対象事象が発生していることを検出する検出処理と、前記検出処理によって前記検出対象事象を検出した場合に、前記シミュレーションにおいて、前記解消機能が動作中であることを示す期間に関連する特定の期間に関して、前記特定の素子が示す不定値を定数値に置き換えることを表すマスク情報を生成する生成処理と、前記検出処理によって前記検出対象事象を検出したことに応じて前記シミュレーションを停止したのち、前記マスク情報を用いて、前記シミュレーションを再実行する実行処理と、をコンピュータに実行させる。
【００２６】
更に、本願発明は、係るシミュレーション実行制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００２７】
本願発明は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることを可能とする。
【図面の簡単な説明】
【００２８】
【図１】本願発明の第１の実施形態に係るシミュレーション実行制御装置１０の構成を概念的に示すブロック図である。
【図２】本願発明の第１の実施形態に係るテストデータ２２が表す、シミュレーションを実行する対象とするプロシージャを例示する図である。
【図３】本願発明の第１の実施形態に係るテストデータ２２が表す、中間結果情報１５０を生成して保存することを指示するセーブリストアフラグを有効に設定することを例示する図である。
【図４】本願発明の第１の実施形態に係るシミュレーション実行制御情報１３２が表す、実行部１３によって中間結果情報１５０を記憶部１５に保存、あるいは、保存されている中間結果情報１５０を記憶部１５から読み出す動作を例示する図である。
【図５】本願発明の第１の実施形態に係るシミュレーション実行制御装置１０がシミュレーションの対象とする電子回路の階層構造を例示する図である。
【図６】本願発明の第１の実施形態に係るシミュレーション実行制御情報１３２が表す、シミュレーションの実行を停止する条件を例示する図である。
【図７】本願発明の第１の実施形態に係る生成部１２が、図１６及び図１７に示す電子回路に関して生成するマスク情報１２０の内容を、タイムチャートにより例示する図である。
【図８】本願発明の第１の実施形態に係る生成部１２が、シミュレーション実行制御情報１３２に対して組み込み可能に生成する、図７に例示するマスク情報１２０を例示する図である。
【図９】本願発明の第１の実施形態に係るシミュレーション実行制御情報１３２が表す、実行部１３によって中間結果情報１５０とマスク情報１２０とを用いてシミュレーションを再実行する動作を例示する図である。
【図１０Ａ】本願発明の第１の実施形態に係るシミュレーション実行制御装置１０の動作を示すフローチャート（１／２）である。
【図１０Ｂ】本願発明の第１の実施形態に係るシミュレーション実行制御装置１０の動作を示すフローチャート（２／２）である。
【図１１】本願発明の第２の実施形態に係るシミュレーション実行制御装置３０の構成を概念的に示すブロック図である。
【図１２】本願発明の各実施形態に係るシミュレーション実行制御装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【図１３】一般的なＬＳＩの開発工程を例示する図である。
【図１４】不定値を解消する解消機能を有する電子回路に関して、信号の遅延時間が検証される前の電子回路を例示する図である。
【図１５】図１４に示す電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
【図１６】図１４に示す電子回路における信号の遅延時間が検証された結果に基づいて、物理設計が行なわれた後の電子回路を例示する図である。
【図１７】図１６に示す電子回路のシミュレーションを実行した結果を表す、各信号のタイムチャートを例示する図である。
【発明を実施するための形態】
【００２９】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００３０】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係るシミュレーション実行制御装置１０の構成を概念的に示すブロック図である。シミュレーション実行制御装置１０は、設定される初期値として不定値を含む、シミュレーションの実行対象とするＬＳＩ等の電子回路（本願では以降、電子回路と称する）の動作について、当該電子回路に関する設計情報２１とテストデータ２２とを使用してシミュレーションを実行するとともに、その実行を制御する装置である。
【００３１】
設計情報２１及びテストデータ２２は、例えば図示しない外部の記憶装置等に記憶されており、ユーザによる指示によって、シミュレーション実行制御装置１０に入力される。
【００３２】
シミュレーション実行制御装置１０は、検出部１１、生成部１２、実行部１３、検証部１４、及び、記憶部１５を備えている。記憶部１５は、例えば磁気ディスクなどの不揮発性の記憶デバイスである。記憶部１５は、後述する中間結果情報１５０−１乃至１５０−ｎ（本願では以降、これらをまとめて中間結果情報１５０と称する場合がある）、及び、論理設計情報に関するシミュレーション結果１５１を記憶している。
【００３３】
実行部１３は、コンパイラ１３０とシミュレータ１３１とを備えている。コンパイラ１３０は、入力された設計情報２１とテストデータ２２とに基づいて、シミュレータ１３１においてシミュレーションを実行可能なシミュレーションモデルを生成する。シミュレータ１３１は、コンパイラ１３０によって生成されたシミュレーションモデルを使用して、シミュレーション実行制御情報１３２にしたがって、電子回路のシミュレーションを実行する。シミュレーション実行制御情報１３２は、シミュレータ１３１によるシミュレーションの実行を制御する情報であり、例えばシミュレーション実行制御装置１０が備えるメモリ、あるいは記憶部１５等に格納されていることとする。
【００３４】
設計情報２１は、例えば図１３に例示するような開発工程において、論理設計あるいは物理設計が行なわれた結果を表す情報である。テストデータ２２は、例えば電子回路に対する電源オンの後などに行なわれる初期化処理、あるいは障害処理、あるいは個別の機能に関するシミュレーションのテストシナリオ（テストパターン）と、電子回路に含まれる所定の素子に設定する初期設定値とを含むデータである。
【００３５】
図２は、本実施形態に係るテストデータ２２が表す、シミュレーションを実行する対象とするプロシージャを例示する図である。図２に例示するテストデータ２２は、電子回路の初期化処理に関するシミュレーションを行なう場合におけるテストシナリオを表している。図２に例示するプロシージャは、電源オン、各リセット処理、ＰＬＬ（Phase Locked Loop）／ＤＬＬ（Dynamic Link Library）設定、構成制御設定、メモリ初期化、動作モード設定、初期設定後のメモリアクセス等を含んでいる。実行部１３は、初期化処理の検証のため、これらのプロシージャを逐次的に実行するシミュレーションを行なう。
【００３６】
図３は、図２に例示するテストデータ２２において、個々のプロシージャに関するシミュレーションの実行が完了した時に、中間結果情報１５０を生成して保存することを有効に設定することを例示する図である。図３に例示するテストデータ２２は、例えば、「procedure_01」に関するシミュレーションが完了したときに、そのシミュレーションの実行結果を中間結果情報１５０−１として記憶部１５に保存することを指示する「save_rest_flag_01」（セーブリストアフラグ）を「１」（有効）に設定することを表している。但し、セーブリストアフラグは、例えばシミュレーション実行制御装置１０が備えるメモリ等に格納され、シミュレータ１３１がシミュレーションを実行中に参照あるいは更新可能なフラグである。
【００３７】
図３に例示するテストデータ２２は、「procedure_02」以降のプロシージャに関しても同様に、そのシミュレーションの実行結果を中間結果情報１５０として記憶部１５に保存することを指示するセーブリストアフラグを有効に設定することを表している。尚、シミュレーションの実行時間が長時間に及ぶ可能性があるプロシージャがある場合、テストデータ２２は、そのプロシージャに含まれる複数の部分（サブプロシージャ）の個々に関して設けられた個別のセーブリストアフラグに対する設定指示を含むようにしてもよい。また、テストデータ２２が示すシミュレーションの実行結果を中間結果情報１５０として保存するタイミングは、個々のプロシージャの実行完了とは異なる基準に基づくタイミングであってもよい。
【００３８】
実行部１３は、図２及び図３に例示するテストデータ２２を使用して、各プロシージャに関するシミュレーションの実行を完了する度に、そのシミュレーションの実行結果を表す中間結果情報１５０を記憶部１５に保存する。
【００３９】
図４は、図１に示すシミュレーション実行制御情報１３２が表す、実行部１３によって中間結果情報１５０を記憶部１５に保存、あるいは、保存されている中間結果情報１５０を記憶部１５から読み出す動作を例示する図である。図４に例示するシミュレーション実行制御情報１３２は、インタープリタ型プログラミング言語であるＴｃｌ（Tool Command Language）により表された情報である。尚、シミュレーション実行制御情報１３２は、Ｔｃｌではないプログラミング言語により表された情報であってもよい。
【００４０】
実行部１３は、図４に例示するシミュレーション実行制御情報１３２に従い、例えば図２及び図３に例示する「procedure_01」に関するシミュレーションが完了した後に、「save_rest_flag_01」（セーブリストアフラグ）を「１」に設定する。そして、実行部１３は、「procedure_01」に関するシミュレーションの実行結果であるsnapshot_01（中間結果情報１５０−１に相当）を、記憶部１５に保存する。実行部１３は、「procedure_02」以降のプロシージャに関しても、「procedure_01」と同様の処理を行う。
【００４１】
図１に示す検出部１１は、実行部１３によって実行された電子回路の動作に関するシミュレーションにおいて、電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該素子が不定値を示している、検出対象事象が発生していること検出する。
【００４２】
図５は、本実施形態に係るシミュレーション実行制御装置１０がシミュレーションの対象とする電子回路（ＬＳＩ）の階層構造を例示する図である。図５に示す例では、電子回路はブロックＡ００乃至Ａ０３等を含み、ブロックＡ００はサブブロックＢ００等を含んでいる。サブブロックＢ００は、例えば、前述した図１６に例示する電子回路であり、図１６に例示するRESET_A信号及びRESET_B信号が入力されている。この場合、図５に例示するフリップフロップＦＦ００は、図１６に例示するレジスタａ０５に相当する。
【００４３】
次に、図５に例示するサブブロックＢ００が図１６及び図１７に例示する電子回路であり、図５に例示するフリップフロップＦＦ００（即ち図１６に例示するレジスタａ０５）を上述した特定の素子として、上述した検出対象事象が発生していることを検出する場合を例にして、検出部１１の動作を説明する。
【００４４】
前述した図１３及び図１４に例示する電子回路（即ち、物理設計が行なわれる前の状態にある図１６及び図１７に例示する電子回路）では、シミュレーションにおける経過時間Ｔｍ０において、RESET_A信号が「０」から「１」に推移し、RESET_B信号が不定値「Ｘ」から「０」に推移することによって、レジスタａ０５が示す不定値「Ｘ」が解消される。即ち、RESET_A信号及びRESET_B信号は、上述した電子回路における特定の素子（レジスタａ０５）が示す値が不定値となることを解消することが期待される解消機能を実現する。
【００４５】
検出部１１は、図１７に例示する通り、経過時間Ｔｍ０からＴｍ１までの期間において、RESET_A信号が「１」でありRESET_B信号が「０」であることをもって、上述した解消機能が動作中であることを検出する。そして検出部１１は、図１７に例示する通り、その解消機能が動作中である経過時間Ｔｍ０からＴｍ１までの期間において、レジスタ０５（即ちREG_OUT信号）が不定値「Ｘ」を示していることをもって、検出対象事象が発生していること検出する。但し、検出部１１は、このような検出対象事象を検出するための検出条件を、例えばユーザ等によって事前に与えられていることとする。検出部１１は、また、電子回路に含まれる複数のブロックあるいはサブブロックにおいて発生した検出対象事象を並列に検出するようにしてもよい。検出部１１は、検出した結果を、生成部１２及び実行部１３に通知する。
【００４６】
実行部１３は、検出部１１によって検出対象事象の発生が検出された場合、シミュレーション実行制御情報１３２にしたがって、シミュレーションの実行を停止する。図６は本実施形態に係るシミュレーション実行制御情報１３２が表す、シミュレーションの実行を停止する条件を例示する図である。例えば、図６に例示するシミュレーション実行制御情報１３２に含まれる「if ((TOP.A00.RESET_A | TOP.A00.RESET_B) & (TOP.A00.B0*.DQ==x))」以下の４行は、RESET_A信号及びRESET_B信号による不定値「Ｘ」を解消する解消機能が動作中であり、「ＤＱ」（フリップフロップＦＦ００が示す値）が不定値「Ｘ」である場合にシミュレーションの実行を停止することを表している。
【００４７】
また、図６に例示するシミュレーション実行制御情報１３２に含まれる「# time_n0;」は、RESET_A信号及びRESET_B信号による不定値「Ｘ」を解消する解消機能が停止した後、シミュレーションを停止するまでの時間を表す。また、図６に例示するシミュレーション実行制御情報１３２は、ブロックＡ００やサブブロックＢ００以外のブロックあるいはサブブロックについても、同様に、シミュレーションの実行を停止する条件を表している。
【００４８】
図１に示す生成部１２は、検出部１１が検出対象事象を検出した場合に、マスク情報１２０を生成する。マスク情報１２０は、実行部１３によって実行されたシミュレーションにおいて、不定値「Ｘ」を解消する解消機能が動作中を示す期間に関連する特定の期間に関して、上述した特定の素子が示す不定値を定数値（即ち「０」あるいは「１」）に置き換えることを表す情報である。
【００４９】
次に、図５に例示するサブブロックＢ００が図１６及び図１７に例示する電子回路であり、検出部１１が、図５に例示するフリップフロップＦＦ００（即ち図１６に例示するレジスタａ０５）を上述した特定の素子として、上述した検出対象事象が発生していることを検出する場合を例にして、生成部１２の動作を説明する。
【００５０】
図７は、生成部１２が、図１６及び図１７に例示する電子回路に関して生成するマスク情報１２０の内容を、タイムチャートにより例示する図である。生成部１２は、図７に例示する通り、不定値「Ｘ」を解消する解消機能が動作中である経過時間Ｔｍ０からＴｍ１までの期間において、レジスタａ０５が示す不定値「Ｘ」を定数値である「０」あるいは「１」に置き換えることを表すマスク情報１２０を生成する。
【００５１】
尚、生成部１２がマスク情報１２０によって不定値「Ｘ」を定数値に置き換える期間は、経過時間Ｔｍ０からＴｍ１までの期間に限定されない。生成部１２がマスク情報１２０によって不定値「Ｘ」を定数値に置き換える期間は、例えば、経過時間Ｔｍ０からＴｍ１までの期間を含むより長い期間でもよいし、あるいは、経過時間Ｔｍ０からＴｍ１までの期間に含まれるより短い期間であってもよい。
【００５２】
図７に例示する経過時間Ｔｂは、検出対象事象の発生によって実行部１３がシミュレーションの実行を停止する時間を表す。即ち、経過時間Ｔｂは、不定値「Ｘ」を解消する解消機能が動作を停止する経過時間Ｔｍ１から、図６に例示する時間「time_n0」が経過した時間に相当する。
【００５３】
図８は、生成部１２が、シミュレーション実行制御情報１３２に対して組み込み可能に生成する、図７に例示するマスク情報１２０を例示する図である。図８に例示するマスク情報１２０は、経過時間Ｔｍ０からＴｍ１までの期間において、レジスタａ０５が出力するREG_OUT信号を定数値「０」に置き換えることを表している。尚、図８に例示するマスク情報１２０は、経過時間Ｔｍ０からＴｍ１までの期間を除く期間に関しては無効である。
【００５４】
生成部１２は、検出部１１が複数の検出対象事象を並列に検出した場合、例えば、先に検出された検出対象事象から優先的に、各検出対象事象に関するマスク情報１２０を生成する。生成部１２は、生成したマスク情報１２０を、実行部１３へ入力する。
【００５５】
実行部１３は、シミュレーション実行制御情報１３２にしたがって、生成部１２から入力されたマスク情報１２０を用いて（例えばマスク情報１２０を、シミュレーション実行制御情報１３２に組み込むことによって）、検出部１１が検出対象事象を検出したことによって停止したシミュレーションを再実行する。実行部１３は、この際、停止したシミュレーションを最初から再実行するのではなく、記憶部１５に保存されている中間結果情報１５０を用いることによって、途中からシミュレーションを再実行することが可能である。
【００５６】
図９は、図１に示すシミュレーション実行制御情報１３２が表す、実行部１３によって中間結果情報１５０とマスク情報１２０とを用いて、停止したシミュレーションを再実行する動作を例示する図である。図９に例示するシミュレーション実行制御情報１３２は、インタープリタ型プログラミング言語であるＴｃｌ（Tool Command Language）により表された情報である。
【００５７】
図９に例示するシミュレーション実行制御情報１３２は、サブブロックＢ００におけるREG OUT信号を、「save_rest_flag_02」が「１」に設定されてから、シミュレーションの経過時間におけるｔ１及びｔ２（ｎｓ（ナノ秒））後に定数値「０」に置き換え、ｔ３（ｎｓ）後にマスク情報１２０をリリースする（無効にする）ことを表している。この場合、実行部１３は、最後に保存された（検出部１１が検出対象事象を検出した時点から遡って最も新しい）中間結果情報１５０−２を用いて停止したシミュレーションを再実行する。
【００５８】
図１に例示する検証部１４は、電子回路に対する物理設計が行なわれた結果を表す設計情報２１に関して、実行部１３がマスク情報１２０を用いてシミュレーションを実行した結果と、記憶部１５に記憶されている論理設計情報に関するシミュレーション結果１５１とを比較する。但し、論理設計情報に関するシミュレーション結果１５１は、電子回路に対する論理設計が行なわれた結果を表す論理設計情報に関して、実行部１３によって事前にシミュレーションが実行された結果を表す。上述した本実施形態においては、論理設計情報に関するシミュレーション結果１５１は、例えば、図１４及び図１５に例示する電子回路に関してシミュレーションが実行された結果に相当する。
【００５９】
即ち、検証部１４は、不定値「Ｘ」を解消する解消機能が機能する論理設計後の電子回路に関してシミュレーションを行なった結果と、当該解消機能が機能しなくなった物理設計後の電子回路に関してマスク情報１２０を用いてシミュレーションを行なった結果とを比較することによって、マスク情報１２０の正当性を検証する。
【００６０】
次に図１０Ａ及び図１０Ｂのフローチャートを参照して、本実施形態に係るシミュレーション実行制御装置１０の動作（処理）について詳細に説明する。
【００６１】
実行部１３は、電子回路の設計情報２１、テストデータ２２、及び、シミュレーション実行制御情報１３２を使用して、当該電子回路に関するシミュレーションを実行する（ステップＳ１０１）。検出部１１は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中であり、その特定の素子が不定値を示している検出対象事象の発生を監視する（ステップＳ１０２）。
【００６２】
検出部１１が検出対象事象の発生を検出した場合（ステップＳ１０３でＹｅｓ）、実行部１３は、シミュレーションの実行を停止する（ステップＳ１０４）。生成部１２は、不定値の解消機能が動作中を示す期間に関連する特定の期間に関して、特定の素子に対するマスク情報１２０を生成する（ステップＳ１０５）。
【００６３】
実行部１３は、生成部１２によって生成されたマスク情報１２０を、シミュレーション実行制御情報１３２に組み込む（ステップＳ１０６）。実行部１３は、記憶部１５に格納されている中間結果情報１５０の中から、当該電子回路に関して最も新しく記憶部１５に格納された中間結果情報１５０−ｉ（ｉは１乃至ｎの任意の整数）を選択する。実行部１３は、設計情報２１、テストデータ２２、マスク情報１２０が組み込まれたシミュレーション実行制御情報１３２、及び、選択した中間結果情報１５０−ｉを使用して、停止したシミュレーションを再実行し（ステップＳ１０８）、処理はステップＳ１０２へ戻る。
【００６４】
検出部１１が検出対象事象の発生を検出しない場合（ステップＳ１０３でＮｏ）、実行部１３は、シミュレーション実行制御情報１３２が示す、中間結果情報１５０に関するセーブリストアフラグが「１」を示しているか確認する（ステップＳ１０９）。セーブリストアフラグが「１」を示している場合（ステップＳ１１０でＹｅｓ）、実行部１３は、シミュレーションの実行中間結果を、中間結果情報１５０−ｊ（ｊは１乃至ｎの任意の整数）として、記憶部１５に格納し（ステップＳ１１１）、処理はステップＳ１１２へ進む。
【００６５】
セーブリストアフラグが「１」を示していない場合（ステップＳ１１０でＮｏ）、実行部１３は、テストデータ２２の全てについて、シミュレーションが完了したか確認する（ステップＳ１１２）。テストデータ２２の少なくとも一部について、シミュレーションが完了していない場合（ステップＳ１１３でＮｏ）、処理はステップＳ１０２へ戻る。テストデータ２２の全てについて、シミュレーションが完了した場合（ステップＳ１１３でＹｅｓ）、全体の処理は終了する。
【００６６】
本実施形態に係るシミュレーション実行制御装置１０は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。その理由は、シミュレーション実行制御装置１０は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中に、その特定の素子が不定値を示している場合、その解消機能の動作期間に関連する期間に関して、不定値を定数値に置き換えるマスク情報１２０を生成し、マスク情報１２０を使用してシミュレーションを再実行するからである。
【００６７】
以下に、本実施形態に係るシミュレーション実行制御装置１０によって実現される効果について、詳細に説明する。
【００６８】
電子回路では、実際の回路及びそのシミュレーションにおいて、各素子が示す値が不定値とはならずに、「０」あるいは「１」の何れかに決定する、その電子回路を構成する素子が示す値が不定値となることを解消することが期待される解消機能を有する構成が組み込まれる場合がある。係る解消機能は、当該各素子が示す値が不定値とはならずに、「０」あるいは「１」の何れかに決定する機能である。
【００６９】
しかしながら、図１４乃至図１７を参照して前述した通り、例えば、論理設計後の設計情報に基づくシミュレーションでは機能していた不定値を解消する機能が、物理設計後の設計情報に基づくシミュレーションでは、期待通りに機能しなくなる場合がある。このような場合、シミュレーションにおける不定値を解消することができなくなり、不定値が伝播することによってシミュレーションの精度が低下する。このような事象が発生する可能性がある回路は、大規模なＬＳＩ等では多数存在することが考えられ、また、このような事象がＬＳＩのどこに発生するのかを予測することも困難である。したがって、上述した事象が発生した場合に、シミュレーションの精度を効率的に向上させることは困難である。
【００７０】
このような問題に対して、本実施形態に係るシミュレーション実行制御装置１０は、検出部１１と、生成部１２と、実行部１３と、を備え、例えば図１乃至図９、図１０Ａ及び図１０Ｂを参照して上述した通り動作する。即ち、検出部１１は、電子回路の設計情報２１を用いて行われる、当該電子回路の動作に関するシミュレーションにおいて、当該電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該特定の素子が不定値を示している、検出対象事象が発生していることを検出する。生成部１２は、検出部１１が検出対象事象を検出した場合に、シミュレーションにおいて、当該解消機能が動作中であることを示す期間に関連する特定の期間に関して、当該特定の素子が示す不定値を定数値に置き換えることを表すマスク情報１２０を生成する。そして実行部１３は、検出部１１が検出対象事象を検出したことに応じてシミュレーションを停止したのち、マスク情報１２０を用いて、シミュレーションを再実行する。
【００７１】
即ち、シミュレーション実行制御装置１０は、不定値を解消することが期待される（例えば論理設計後の時点では機能していた）解消機能が、（例えば物理設計の後において）機能しなくなったような事象に絞り込んで、その事象に関して不定値を解消可能なマスク情報１２０を作成する。このような解消機能は、例えば電子回路（ＬＳＩ）の設計者によって意図的に組み込まれたものであることから、電子回路において当該事象が発生する場所（素子）を把握することは容易である。また、設計者によって意図的に組み込まれた当該解消機能によって不定値が解消される部分は、シミュレーションの精度を向上させる観点において、より重要性が高い部分であるといえる。したがって、本実施形態に係るシミュレーション実行制御装置１０は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。
【００７２】
また、シミュレーション実行制御装置１０によって生成されるマスク情報１２０は、当該解消機能が動作中を示す期間に関連する特定の期間に関してのみ、特定の素子が示す不定値を定数値に置き換えることを有効とし、その特定の期間以外の期間に関しては、不定値を定数値に置き換えることを無効とする。これにより、本実施形態に係るシミュレーション実行制御装置１０は、ある程度の不定値の伝播が発生したシミュレーションを行なうことによって、不定値が伝播した際に電子回路が適切に動作するか否かの検証を行なうことができる。
【００７３】
また、本実施形態に係るシミュレーション実行制御装置１０は、所定のタイミング（例えば個々のプロシージャの実行が完了するタイミング）に、シミュレーションを実行した中間結果を表す中間結果情報１５０を記憶部１５に保存する。そして、シミュレーション実行制御装置１０は、マスク情報１２０を用いて停止したシミュレーションを再実行する際に、記憶部１５に保存されている中間結果情報１５０を活用する。即ち、本実施形態に係るシミュレーション実行制御装置１０は、シミュレーションを最初から再実行する必要がないので、シミュレーションの実行を効率的に行なうことができる。
【００７４】
また、本実施形態に係るシミュレーション実行制御装置１０は、検出対象事象を検出してから所定の時間が経過したのちに、シミュレーションを停止する。即ち、シミュレーション実行制御装置１０は、検出対象事象を検出した時点ですぐにシミュレーションを停止するのではなく、検出対象事象を検出してから所定の期間は、シミュレーションを継続する。これにより、本実施形態に係るシミュレーション実行制御装置１０は、検出対象事象が発生したのちにおける電子回路の動作に関する情報も含めた多くの情報を、効率的に得ることができる。
【００７５】
また、本実施形態に係るシミュレーション実行制御装置１０は、電子回路に対する物理設計が行なわれた結果を表す設計情報２１に関して、マスク情報１２０を用いてシミュレーションを実行した結果と、論理設計情報に関するシミュレーション結果１５１と、を比較する。そして、シミュレーション実行制御装置１０は、この比較結果に基づいて、マスク情報１２０の正当性を検証する。これにより、本実施形態に係るシミュレーション実行制御装置１０は、マスク情報１２０を用いて行なったシミュレーションの正当性を保証することができる。
【００７６】
＜第２の実施形態＞
図１１は、本願発明の第２の実施形態に係るシミュレーション実行制御装置３０の構成を概念的に示すブロック図である。
【００７７】
本実施形態に係るシミュレーション実行制御装置３０は、検出部３１、生成部３２、及び、実行部３３を備えている。
【００７８】
検出部３１は、電子回路の設計情報４１を用いて行われる、当該電子回路の動作に関するシミュレーションにおいて、その電子回路における特定の素子が示す値が不定値となることを解消することが期待される解消機能が動作中であり、かつ、当該特定の素子が不定値を示している、検出対象事象が発生していることを検出する。
【００７９】
生成部３２は、検出部３１が検出対象事象を検出した場合に、シミュレーションにおいて、当該解消機能が動作中であることを示す期間に関連する特定の期間に関して、当該特定の素子が示す不定値を定数値に置き換えることを表すマスク情報３２０を生成する。
【００８０】
実行部３３は、検出部３１が検出対象事象を検出したことに応じてシミュレーションを停止したのち、マスク情報３２０を用いて、シミュレーションを再実行する。
【００８１】
本実施形態に係るシミュレーション実行制御装置３０は、設定される初期値として不定値を含む電子回路の動作をシミュレーションする場合において、シミュレーションの精度を効率的に向上させることができる。その理由は、シミュレーション実行制御装置３０は、電子回路における特定の素子が示す不定値を解消することが期待される解消機能が動作中に、その特定の素子が不定値を示している場合、その解消機能の動作期間に関連する期間に関して、不定値を定数値に置き換えるマスク情報３２０を生成し、マスク情報３２０を使用してシミュレーションを再実行するからである。
【００８２】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図１１に示したシミュレーション実行制御装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図１１において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・検出部１１及び３１、
・生成部１２及び３２、
・実行部１３及び３３、
・検証部１４。
【００８３】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１２を参照して説明する。
【００８４】
図１２は、本願発明の各実施形態に係るシミュレーション実行制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図１２は、図１、及び、図１１に示したシミュレーション実行制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００８５】
図１２に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・モニター、スピーカ、キーボード、マウス等の入出力インタフェース９０９。
【００８６】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００８７】
そして、上述した実施形態を例に説明した本願発明は、図６に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図１１）における上述した構成、或いはフローチャート（図１０Ａ及び図１０Ｂ）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００８８】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００８９】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００９０】
１０    シミュレーション実行制御装置
１１    検出部
１２    生成部
１２０    マスク情報
１３    実行部
１３０    コンパイラ
１３１    シミュレータ
１３２    シミュレーション実行制御情報
１４    検証部
１５    記憶部
１５０−１乃至１５０−ｎ    中間結果情報
１５１    論理設計情報に関するシミュレーション結果
２１    設計情報
２２    テストデータ
３０    シミュレーション実行制御装置
３１    検出部
３２    生成部
３２０    マスク情報
３３    実行部
４１    設計情報
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
ａ０１    ＮＡＮＤゲート
ａ０２    機能回路
ａ０３    クロック制御回路
ａ０４    機能回路
ａ０５    レジスタ
ｂ００    ＯＲゲート
【図１】
2019159734.tif 000003
【図２】
2019159734.tif 000004
【図３】
2019159734.tif 000005
【図４】
2019159734.tif 000006
【図５】
2019159734.tif 000007
【図６】
2019159734.tif 000008
【図７】
2019159734.tif 000009
【図８】
2019159734.tif 000010
【図９】
2019159734.tif 000011
【図１０Ａ】
2019159734.tif 000012
【図１０Ｂ】
2019159734.tif 000013
【図１１】
2019159734.tif 000014
【図１２】
2019159734.tif 000015
【図１３】
2019159734.tif 000016
【図１４】
2019159734.tif 000017
【図１５】
2019159734.tif 000018
【図１６】
2019159734.tif 000019
【図１７】
2019159734.tif 000020