(57)【要約】      （修正有）【課題】省略できるテストを判定する装置、方法、システム、及びプログラムを提供する。【解決手段】電子回路を構成するモジュールの回路データ、回路データが変更された場合の回路データを変更した変更データ、回路データ又は変更データをテストするためのテストデータ、及びテストデータを変更した変更テストデータを入力し、入力で入力されたテストデータ、又は変更テストデータに基づいて、入力に入力された回路データ、又は変更データをテストし、入力で入力された回路データのモジュールの出力先のモジュールのテスト、又は入力で入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、テストによる回路データに対してのテストデータのテスト結果と、テストによる変更データに対してのテストデータのテスト結果、又はテストによる変更テストデータのテスト結果とに基づいて判定する。【選択図】図４
2016024686.tif 000002
【特許請求の範囲】
【請求項１】
電子回路のデータを処理する情報処理装置であって、
前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、及び前記テストデータを変更した変更テストデータが入力される入力手段と、
前記入力手段に入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手段に入力された前記回路データ、又は変更データをテストするテスト手段と、
前記入力手段に入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手段に入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記テスト手段による前記回路データに対しての前記テストデータのテスト結果と、前記テスト手段による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手段による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手段と、を有する情報処理装置。
【請求項２】
電子回路のデータを処理する情報処理装置であって、
前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、前記テストデータを変更した変更テストデータ、及び前記回路データに対しての前記テストデータのテスト結果が入力される入力手段と、
前記入力手段に入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手段に入力された前記回路データ、又は変更データをテストするテスト手段と、
前記入力手段に入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手段に入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記入力手段に入力された前記回路データに対しての前記テストデータのテスト結果と、前記テスト手段による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手段による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手段と、を有する情報処理装置。
【請求項３】
１以上の情報処理装置を有する、電子回路のデータを処理する情報処理システムであって、
前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、及び前記テストデータを変更した変更テストデータが入力される入力手段と、
前記入力手段に入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手段に入力された前記回路データ、又は変更データをテストするテスト手段と、
前記入力手段に入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手段に入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記テスト手段による前記回路データに対しての前記テストデータのテスト結果と、前記テスト手段による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手段による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手段と、を有する情報処理システム。
【請求項４】
電子回路のデータを処理する情報処理装置が行う情報処理方法であって、
前記情報処理装置が、前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、及び前記テストデータを変更した変更テストデータを入力する入力手順と、
前記情報処理装置が、前記入力手順で入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手順で入力された前記回路データ、又は変更データをテストするテスト手順と、
前記入力手順で入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手順で入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記テスト手順による前記回路データに対しての前記テストデータのテスト結果と、前記テスト手順による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手順による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手順と、を行う情報処理方法。
【請求項５】
情報処理装置に電子回路のデータの処理を実行させるためのプログラムであって、
前記情報処理装置が、前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、及び前記テストデータを変更した変更テストデータを入力する入力手順と、
前記情報処理装置が、前記入力手順で入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手順で入力された前記回路データ、又は変更データをテストするテスト手順と、
前記入力手順で入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手順で入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記テスト手順による前記回路データに対しての前記テストデータのテスト結果と、前記テスト手順による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手順による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手順と、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理システム、及びプログラムに関する。
【背景技術】
【０００２】
従来、ハードウェア記述言語で電子回路を設計する場合、設計された電子回路の各端子の論理値を算出するシミュレーションが知られている。シミュレーションの際、セルの種類に応じて消費電力を計算し、消費電力を見積もる方法が知られている（例えば、特許文献１参照）。
【０００３】
また、シミュレーションによる検証の際、テストシナリオで重複している遷移がある場合、登録／復元指示を埋め込む変換をして重複部分の短縮化を図る方法が知られている（例えば、特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、例えば回路データを変更した場合、変更前のテスト結果を利用しなかったため、変更前と変更後で同一のテストか否かを判定することができない場合があった。その結果、省略できる同一のテストを実行していたため、テスト時間が長くなる場合があった。
【０００５】
本発明の１つの側面は、省略できるテストを判定することができることを目的とする。
【課題を解決するための手段】
【０００６】
一態様における、電子回路のデータを処理する情報処理装置であって、前記電子回路を構成するモジュールの回路データ、前記回路データが変更された場合の前記回路データを変更した変更データ、前記回路データ又は前記変更データをテストするためのテストデータ、及び前記テストデータを変更した変更テストデータが入力される入力手段と、前記入力手段に入力された前記テストデータ、又は変更テストデータに基づいて、前記入力手段に入力された前記回路データ、又は変更データをテストするテスト手段と、前記入力手段に入力された回路データのモジュールの出力先のモジュールのテスト、又は前記入力手段に入力された回路データのモジュールを含むモジュールのテストが変更前と変更後で同一のテストであるか否かを、前記テスト手段による前記回路データに対しての前記テストデータのテスト結果と、前記テスト手段による前記変更データに対しての前記テストデータのテスト結果、又は前記テスト手段による前記変更テストデータのテスト結果とに基づいて判定する判定処理を行う判定手段と、を有することを特徴とする。
【発明の効果】
【０００７】
省略できるテストを判定することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を説明するブロック図である。
【図２】本発明の一実施形態に係る電子回路の設計、及びテストの全体工程の一例を説明するフローチャートである。
【図３】本発明の一実施形態に係る電子回路の全体構成の一例を説明する図である。
【図４】本発明の一実施形態に係る情報処理装置による全体処理の一例を説明するフローチャートである。
【図５】本発明の一実施形態に係る情報処理装置による第一モジュールの設計データのテスト処理の一例を説明する図である。
【図６】本発明の一実施形態に係る情報処理装置による第二モジュールの設計データのテスト処理の一例を説明する図である。
【図７】本発明の一実施形態に係る情報処理装置によるトップモジュールの設計データのシステムテスト処理の一例を説明する図である。
【図８】本発明の一実施形態に係る変更後の電子回路の全体構成の一例を説明する図である。
【図９】本発明の一実施形態に係る第一モジュールの変更の一例を説明する図である。
【図１０】本発明の一実施形態に係る第一モジュールの別の変更の一例を説明する図である。
【図１１】本発明の一実施形態に係る第一モジュールの変更前後のトップモジュールのシステムテストの一例を説明する図である。
【図１２】本発明の一実施形態に係る情報処理装置の機能構成の一例を説明する機能ブロック図である。
【図１３】本発明の一実施形態に係る第２実施形態の情報処理装置の機能構成の一例を説明する機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について説明する。
【００１０】
＜第１実施形態＞
電子回路の設計工程、及びテスト工程では、情報処理装置を用いて行う。情報処理装置は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１０である。以下、ＰＣ１０を例に説明する。
【００１１】
＜ハードウェア構成＞
図１は、本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を説明するブロック図である。
【００１２】
ＰＣ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０Ｈ１と、記憶装置１０Ｈ２と、ネットワークＩ／Ｆ（ｉｎｔｅｒｆａｃｅ）１０Ｈ３と、入力装置１０Ｈ４と、出力装置１０Ｈ５と、を有する。
【００１３】
ＣＰＵ１０Ｈ１は、ＰＣ１０の行う各処理を実現するための演算、及び各装置の制御を行う。
【００１４】
記憶装置１０Ｈ２は、ＣＰＵ１０Ｈ１が用いるデータ、ファームウェアを含むプログラム、及び設定等を記憶する。記憶装置１０Ｈ２は、いわゆるメモリ（Ｍｅｍｏｒｙ）等である。ＰＣ１０は、補助記憶装置（図示せず）を有してもよい。
【００１５】
ネットワークＩ／Ｆ１０Ｈ３は、ネットワークを介してデータをＰＣ１０の外部装置と入出力するためのインタフェースである。ネットワークＩ／Ｆ１０Ｈ３は、例えばＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、コネクタ、及びドライバ等である。
【００１６】
入力装置１０Ｈ４は、ＰＣ１０にユーザの操作、及びデータを入力するための装置である。入力装置１０Ｈ４は、例えばキーボード、及びコネクタ等である。
【００１７】
出力装置１０Ｈ５は、ＰＣ１０からユーザに処理結果、及びデータの内容等を出力するための装置である。出力装置１０Ｈ５は、例えばディスプレイ、及びコネクタ等である。
【００１８】
なお、情報処理装置は、ＰＣに限られない。情報処理装置は、サーバ等でもよい。
【００１９】
また、ＰＣ１０のハードウェア構成は、図示した構成に限られない。ハードウェア構成は、例えば各ハードウェアが行う処理、及び記憶の一部、又は全部を分散、冗長、又は並列に行う装置を別に有する構成、又は外部装置（図示せず）が接続している構成でもよい。
【００２０】
＜電子回路の設計、及びテスト＞
図２は、本発明の一実施形態に係る電子回路の設計、及びテストの全体工程の一例を説明するフローチャートである。電子回路の設計者（以下、単に設計者という。）は、電子回路の回路データを電子回路の仕様等に基づいて作成し、作成した回路データが仕様の通りに動作するかをテストする。
【００２１】
電子回路は、例えば仕様等に基づいて複数の機能を、機能単位に分解し、各機能に係る動作を行うモジュール（ｍｏｄｕｌｅ）ごとに設計される。電子回路は、複数のモジュールを組み合わせるためのトップモジュールによって、複数のモジュールを組み合わせてシステム（ｓｙｓｔｅｍ）として動作する。
【００２２】
図３は、本発明の一実施形態に係る電子回路の全体構成の一例を説明する図である。
【００２３】
図３（Ａ）は、本発明の一実施形態に係る電子回路の全体構成の一例を説明するブロック図である。
【００２４】
図３の場合、電子回路は、トップモジュールＭＴを最上位階層とする構成である。トップモジュールＭＴは、下位モジュールとして第一モジュールＭ１、及び第二モジュールＭ２を有する。即ち、図３は、第一モジュールＭ１、及び第二モジュールＭ２の階層と、第一モジュールＭ１、及び第二モジュールＭ２を含むシステムのトップモジュールであるトップモジュールＭＴの階層の二階層の場合を示した図である。
【００２５】
トップモジュールＭＴは、入力ポート（ｐｏｒｔ）ＭＴＩＮと、出力ポートＭＴＯＵＴを有する。
【００２６】
入力ポートＭＴＩＮは、入力信号をトップモジュールＭＴに入力するためのポートである。出力ポートＭＴＯＵＴは、トップモジュールＭＴから出力信号を出力するためのポートである。
【００２７】
図示するように、入力ポートＭＴＩＮからトップモジュールＭＴに入力された入力信号は、第一モジュールＭ１に入力される。第一モジュールＭ１は、入力ポートＭ１ＩＮと、出力ポートＭ１ＯＵＴを有する。第一モジュールは、所定の処理を行い、第一モジュールの出力先である第二モジュールＭ２に出力する。
【００２８】
第二モジュールＭ２は、入力ポートＭ２ＩＮと、出力ポートＭ２ＯＵＴを有する。第二モジュールＭ２は、第一モジュールが出力した信号に対して所定の処理を行う。図３の場合、第二モジュールＭ２の入力ポートＭ２ＩＮに入力される信号は、第一モジュールＭ１の出力ポートＭ１ＯＵＴから出力される信号である。第二モジュールＭ２の出力ポートＭ２ＯＵＴから出力される信号は、トップモジュールＭＴの出力ポートＭＴＯＵＴからトップモジュールＭＴの出力信号として出力される。
【００２９】
第一モジュールＭ１、及び第二モジュールＭ２が行う各処理は、回路データに基づいて決定する。
【００３０】
以下、図３に示す電子回路を設計、及びテストする場合を例に説明する。
【００３１】
モジュール設計工程は、ステップＳ０２０１である。モジュール設計工程では、設計者は、モジュールの回路データを作成する。図３の場合、モジュール設計工程では、図３の第一モジュールＭ１、及び第二モジュールＭ２の回路データを作成する。
【００３２】
ステップＳ０２０１では、設計者は、仕様等に基づいてモジュール設計を行う。以下、図３の第一モジュールＭ１のモジュール設計を行う場合を例に説明する。
【００３３】
回路データは、例えばモジュール回路データＤ１である。回路データは、Ｖｅｒｉｌｏｇ等ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）のＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で作成されるデータである。回路データは、設計者が抽象度の高い言語で記述し、高位合成等で作成されてもよい。図３（Ａ）では、回路データは、ブロック図で示されているが、回路データは、テキスト（ｔｅｘｔ）形式等でもよい。
【００３４】
図３（Ｂ）は、本発明の一実施形態に係る電子回路の全体構成の一例をテキスト形式で示した図である。
【００３５】
テキストデータＴＤは、図３（Ａ）で図示した各モジュールをテキスト形式で示したデータの一例である。テキストデータＴＤは、例えばＶｅｒｉｌｏｇ等の言語で記載されているデータである。
【００３６】
モジュールテスト工程は、ステップＳ０２０２乃至ステップＳ２０４である。モジュールテスト工程では、設計者は、モジュール設計工程で作成した回路データをテストする。モジュールテスト工程では、設計者は、異なる入力値を複数入力してテストする等の複数のテストを行ってもよい。
【００３７】
ステップＳ０２０２では、設計者は、図３の第一モジュールＭ１の仕様等に基づいてモジュールのテストデータを作成する。テストデータは、例えばモジュールテストデータＤ２である。テストデータは、モジュールが仕様通りに動作した場合、モジュールが出力する値（以下、期待値という。）が記憶されたデータである。期待値は、例えば設計者が別のアプリケーションソフトウェア等を用いて仕様に基づいて計算を行った結果である。テスト、及びシステムテストにおいて、設計者は、シミュレーション結果が期待値と一致した場合、設計した回路データが仕様通りに作成されていると判断する。テストデータは、回路データと同様にＨＤＬ等で作成される、例えばテストベンチ（ｔｅｓｔ  ｂｅｎｃｈ）等のデータである。テストデータには、設計者によって、仕様等に基づいて回路データのシミュレーション等のテストパターン、テストを実行するための環境を構築するデータ、及び設定等が入力されている。
【００３８】
ステップＳ０２０３では、設計者は、テストデータに基づいてシミュレーションの実行等のモジュールテストを行う。ステップＳ０２０３では、設計者は、ステップＳ０２０２で作成したモジュールテストデータＤ２に基づいて、ステップＳ０２０１で作成したモジュール回路データＤ１をシミュレーションする。
【００３９】
設計者は、シミュレーションによって、モジュール回路データＤ１が図３の第一モジュールＭ１の仕様を満たすように設計されているかモジュールの動作を確認する。シミュレーションでは、各モジュールが動作した場合、モジュールが出力する値を回路データに基づいてシミュレーションする。図３の場合、シミュレーションは、図３の出力ポートＭ１ＯＵＴから出力される出力値をシミュレーションする。
【００４０】
ステップＳ０２０４では、設計者は、モジュール回路データＤ１に変更が必要か否かを判断する。モジュール回路データＤ１に変更が必要な場合は、例えばテストの全テストとパスしない場合等である。
【００４１】
ステップＳ０２０４では、設計者は、モジュールテストの結果に基づいてモジュール回路データがテストをパスしているか否かを判断する。テストのパスは、モジュール回路データにバグ（ｂｕｇ）があるか否かの判断等である。全テストをパスしていると判断する場合は、モジュールテストデータＤ２に入力されているすべてのテストパターンについてテストをパスしている場合である。設計者は、例えばステップＳ０２０３のシミュレーションの結果と、期待値を比較した結果に基づいて判断する。テストは、例えばシミュレーションの結果となる出力値をダンプ（ｄｕｍｐ）したテスト結果と、期待値を比較し、全出力値がすべて一致しているかを判定することである。
【００４２】
例えばシミュレーションの結果と期待値が一致しない場合、設計者は、モジュール回路データＤ１にバグがある等のため、テストをパスしていないと判断する。テストをパスしていないと判断した場合（ステップＳ０２０４でＮＯ）、設計者は、ステップＳ０２０１のモジュール設計に戻り、モジュール回路データＤ１を修正する変更を行う。なお、ステップＳ０２０４の判断は、例えば仕様の変更等が発生し、仕様の変更等によってモジュールの変更が必要か否かの判断で行われてもよい。
【００４３】
テスト結果と期待値が一致した場合、設計者は、モジュール回路データＤ１にテストをパスしていると判断する。ステップＳ０２０３で複数のテストパターンでテストを行う場合、テスト結果と期待値がすべてのテストパターンで一致した場合、設計者は、テストをパスしていると判断する。テストをパスしていると判断した場合（ステップＳ０２０４でＹＥＳ）、設計者は、トップモジュール設計工程を開始し、モジュール設計工程、及びモジュールテスト工程を終了する。
【００４４】
なお、図３の第一モジュールＭ１が下位モジュールであるサブモジュール（ｓｕｂ−ｍｏｄｕｌｅ）（図示せず）を有する構成の場合、設計者は、サブモジュールについて別に設計、及びテストを行う場合がある。
【００４５】
トップモジュール設計工程は、ステップＳ０２０５である。トップモジュール設計工程では、設計者は、トップモジュールである図３のトップモジュールＭＴの回路データを作成する。ステップＳ０２０５で作成される回路データは、例えばトップモジュール回路データＤ３である。トップモジュール回路データＤ３は、図３の構成の場合、図３の第一モジュールＭ１、及び第二モジュールＭ２を結合させるモジュール、即ちシステムの回路データである。
【００４６】
システムテスト工程は、ステップＳ０２０６乃至ステップＳ２０９である。システムテスト工程では、設計者は、トップモジュール設計工程で作成したトップモジュール回路データＤ３をテストする。
【００４７】
ステップＳ０２０６では、設計者は、図３のトップモジュールＭＴの仕様等に基づいてシステムテストデータを作成する。テストデータは、例えばシステムテストデータＤ４である。システムテストデータＤ４は、仕様等に基づいてトップモジュール回路データＤ３のシミュレーションを実行するデータ、及びテストを実行するための環境を構築するデータである。トップモジュール回路データＤ３は、テストベンチのデータ、及び期待値のデータ等である。
【００４８】
ステップＳ０２０７では、設計者は、システムテストデータに基づいてシミュレーションの実行等のシステムテストを行う。ステップＳ０２０７では、設計者は、ステップＳ０２０６で作成したシステムテストデータＤ４に基づいて、ステップＳ０２０５で作成したトップモジュール回路データＤ３をシミュレーションする。
【００４９】
設計者は、シミュレーションによって、トップモジュール回路データＤ３が図３のトップモジュールＭＴの仕様を満たすように設計されているかシステムの動作を確認する。シミュレーションでは、システム、及び各モジュールが動作した場合、システムが出力する値を回路データに基づいてシミュレーションが行われる。図３の場合、シミュレーションでは、図３の出力ポートＭＴＯＵＴから出力される出力値がシミュレーションされる。
【００５０】
ステップＳ０２０８では、設計者は、システムテストの結果に基づいてシステムがテストをパスしているか否かの判断を行う。ステップＳ０２０８では、トップモジュール回路データＤ３に変更の必要か否かの判断を行う。テストをパスしているかは、ステップＳ０２０４と同様に、シミュレーションによる出力値をダンプしたテスト結果と、システムテストデータＤ４が有する期待値とを比較し、同一か否かで判断する。
【００５１】
ステップＳ０２０８では、設計者は、トップモジュール回路データＤ３に変更が必要か否かを判断する。トップモジュール回路データＤ３に変更が必要な場合は、例えばシステムテストの全テストとパスしない場合等である。
【００５２】
ステップＳ０２０８では、設計者は、システムテストのテスト結果と期待値が一致しない場合、トップモジュール回路データＤ３にバグ等がないかをチェックする。チェックの結果、ステップＳ０２０８では、設計者は、トップモジュール回路データＤ３に変更が必要か否かを判断する。トップモジュール回路データＤ３に変更が必要と判断した場合（ステップＳ０２０８でＹＥＳ）、設計者は、ステップＳ０２０５に戻り、トップモジュール回路データＤ３を変更する。トップモジュール回路データＤ３に変更が不要と判断した場合（ステップＳ０２０８でＮＯ）、設計者は、ステップＳ０２０９に進む。なお、トップモジュールに変更が必要な場合は、トップモジュールＭＴの仕様が変更の場合等でもよい。
【００５３】
ステップＳ０２０９では、設計者は、モジュール回路データＤ１に変更が必要か否かを判断する。モジュール回路データＤ１に変更が必要な場合は、例えばシステムテストの全テストとパスしない場合等である。
【００５４】
ステップＳ０２０９では、設計者は、システムテストの結果に基づいてシステムがテストをパスしているか否かの判断を行う。ステップＳ０２０９では、モジュール回路データＤ１に変更が必要か否かの判断を行う。ステップＳ０２０９では、設計者は、システムテストのテスト結果と期待値が一致しない場合、モジュール回路データＤ１にバグ等がないかをチェックする。システムテストのテスト結果と期待値が一致しない場合、原因は、下位モジュールであるモジュール回路データＤ１がバグを有する場合がある。
【００５５】
ステップＳ０２０９では、設計者は、システムテストのテスト結果と期待値が一致しない場合、モジュール回路データＤ１にバグ等がないかをチェックする。チェックの結果、ステップＳ０２０９では、設計者は、モジュール回路データＤ１に変更が必要か否かを判断する。モジュール回路データＤ１に変更が必要と判断した場合（ステップＳ０２０９でＹＥＳ）、設計者は、ステップＳ０２０１に戻り、モジュール回路データＤ１を変更する。変更データは、例えばステップＳ０２０１に戻り、モジュール回路データＤ１を変更して作成されたモジュール回路データである。モジュール回路データＤ１に変更が不要と判断した場合（ステップＳ０２０９でＹＥＳ）、設計者は、設計、及びテストの全工程を終了する。
【００５６】
各設計、及び各テストでは、設計者は、ＰＣ１０を用いる。ＰＣ１０は、モジュール設計工程において、設計者の操作に基づいてモジュール回路データＤ１を生成する処理を行う。ＰＣ１０は、モジュールテスト工程において、設計者の操作に基づいてモジュールテストデータＤ２を生成する処理を行う。ＰＣ１０は、モジュールテスト工程において、設計者の操作に基づいてシミュレーション等を実行する処理を行う。ＰＣ１０は、トップモジュールテスト工程において、設計者の操作に基づいてトップモジュール回路データＤ３を生成する処理を行う。ＰＣ１０は、システムテスト工程において、設計者の操作に基づいてシステムテストデータＤ４を生成する処理を行う。ＰＣ１０は、システムテスト工程において、設計者の操作に基づいてシミュレーション等を実行する処理を行う。
【００５７】
各回路データ、及びテストデータは、他の装置で作成され、入力されてもよい。また、各回路データ、及びテストデータは、各回路データ、及びテストデータに代えてＩＰコア（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ  ｃｏｒｅ）を用いる場合がある。また各回路データ、及びテストデータは、以前に設計した作成した回路データ、及びテストデータをコピー（ｃｏｐｙ）等して再利用する場合がある。
【００５８】
＜全体処理＞
図４は、本発明の一実施形態に係る情報処理装置による全体処理の一例を説明するフローチャートである。
【００５９】
図４は、図３のトップモジュールＭＴのシステムの設計、及びテストと、各モジュールの第一モジュールＭ１、及び第二モジュールＭ２の設計、及びテストを行う場合を例に説明する図である。図４は、各モジュールの設計、及びテストを、第一モジュールＭ１、第二モジュールＭ２の順に行う場合の例である。
【００６０】
ステップＳ０４０１では、ＰＣ１０は、各モジュールの回路データ、テストデータを入力する入力処理を行う。入力処理では、ＰＣ１０は、図２のステップＳ０２０１で設計者が作成した図３の第一モジュールＭ１、及び第二モジュールＭ２のモジュール回路データＤ１を入力する処理を行う。入力処理では、ＰＣ１０は、図２のステップＳ０２０２で設計者が作成した図３の第一モジュールＭ１、及び第二モジュールＭ２のモジュール回路データＤ１用のモジュールテストデータＤ２を入力する処理を行う。
【００６１】
ステップＳ０４０２では、ＰＣ１０は、テストデータに基づいて、シミュレーションの実行等の第一モジュールの回路データのテスト処理を行う。ステップＳ０４０２では、ＰＣ１０は、ステップＳ０４０１で入力された第一モジュールＭ１のモジュール回路データＤ１をモジュールテストデータＤ２に入力されているテストパターンに基づいてテストするテスト処理を行う。
【００６２】
図５は、本発明の一実施形態に係る情報処理装置による第一モジュールの回路データのテスト処理の一例を説明する図である。
【００６３】
図５（Ａ）は、本発明の一実施形態に係る情報処理装置による第一モジュールの回路データのテスト処理で行うテストパターンの一例を説明する表である。
【００６４】
第一モジュールＭ１のモジュール回路データＤ１は、例えばテストパターンテーブルＴＰＴ１で示されるテストパターンごとにテスト処理が行われる。テスト処理は、例えばシミュレーション等である。テストパターンテーブルＴＰＴ１は、第一モジュールＭ１のモジュール回路データＤ１用のテストパターン１１乃至テストパターン１３の３種類のテストパターンの一例を示している図である。テストパターンテーブルＴＰＴ１の各テストパターンは、図３の第一モジュールＭ１への入力値をサイクルごとに入力する場合の例である。なお、テストパターンの数は、３パターンに限られない。テストパターンの数は、仕様等に応じて３パターン以外の数であってもよい。以下、同様に記載する。
【００６５】
図５（Ｂ）は、本発明の一実施形態に係る情報処理装置による第一モジュールの回路データのテスト処理で用いる期待値の一例を説明する表である。期待値は、期待値テーブルＥＶＴ１で図示するように、テストパターンで用いる各入力値に対応して、図３の第一モジュールＭ１の仕様等からソフトウェア等を用いて設計者が入力する値である。期待値テーブルＥＶＴ１の各期待値は、図３の第一モジュールＭ１の出力値をサイクルごとに入力した場合の例である。
【００６６】
図５（Ｃ）は、本発明の一実施形態に係る情報処理装置による第一モジュールの回路データのテスト処理の一例を説明するブロック図である。
【００６７】
テストパターンテーブルＴＰＴ１のテストデータに基づいて第一モジュールＭ１のモジュール回路データＤ１をテスト処理する場合、ＰＣ１０は、シミュレーションの際、テストパターンテーブルＴＰＴ１で示されるタイミングで入力されている入力値を入力する。図５（Ｃ）は、１サイクルを１クロックで示した場合の例である。
【００６８】
テストパターンテーブルＴＰＴ１の「テストパターン１１」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ１１で第一モジュールＭ１のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ１１は、テストパターンテーブルＴＰＴ１の「テストパターン１１」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ１の「テストパターン１１」の場合、ＰＣ１０は、入力パターンＩＮＰ１１が入力ポートＭ１ＩＮに入力された際の出力ポートＭ１ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ１１に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ１１である。
【００６９】
なお、図５（Ｃ）の場合、入力ポートへの入力タイミングと出力ポートからの出力タイミングが同一の場合を示しているが、同一の場合に限られない。例えば出力タイミングは、仕様等に基づいて入力タイミングから所定のサイクルの遅れがあってもよい。遅れがある場合、テストは、遅れのデータを有して行ってもよい。以下、同様に記載する。
【００７０】
また、図５（Ｃ）の場合、入力パターンと出力パターンのサイクル数が同一の場合を示しているが、同一の場合に限られない。入力パターンと出力パターンのサイクル数は、異なるサイクル数でもよい。以下、同様に記載する。
【００７１】
なお、図５（Ｃ）の場合、入力ポート、及び出力ポートに係る信号でテストを行っているが、入力ポート、及び出力ポートに限られない。テストの対象は、いわゆる内部信号のパターンであってもよい。内部信号は、例えばワイヤー（ｗｉｒｅ）Ｍ１Ｗの信号である。入力ポートＭ１ＩＮに、所定の入力パターンが入力された場合のワイヤーＭ１Ｗのパターンがテストに用いられてもよい。以下、同様に記載し、図は内部信号を省略して記載する。
【００７２】
テストパターンテーブルＴＰＴ１の「テストパターン１２」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ１２で第一モジュールＭ１のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ１２は、テストパターンテーブルＴＰＴ１の「テストパターン１２」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ１の「テストパターン１２」の場合、ＰＣ１０は、入力パターンＩＮＰ１２が入力ポートＭ１ＩＮに入力された際の出力ポートＭ１ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ１２に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ１２である。
【００７３】
テストパターンテーブルＴＰＴ１の「テストパターン１３」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ１３で第一モジュールＭ１のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ１３は、テストパターンテーブルＴＰＴ１の「テストパターン１３」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ１の「テストパターン１３」の場合、ＰＣ１０は、入力パターンＩＮＰ１３が入力ポートＭ１ＩＮに入力された際の出力ポートＭ１ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ１３に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ１３である。
【００７４】
図５の場合、ステップＳ０４０２では、ＰＣ１０は、テストパターンテーブルＴＰＴ１のテストパターンごとに第一モジュールＭ１のモジュール回路データＤ１に基づいて、出力ポートＭ１ＯＵＴからの出力パターンをシミュレーションする。
【００７５】
テストは、シミュレーション結果である出力値、及び出力値が出力されるタイミングが期待値で入力された値、及びタイミングと一致するか否かを判定する。設計者が行う場合、ＰＣ１０は、シミュレーション結果の波形をアプリケーションソフトウェア等によって表示し、設計者に波形から期待値テーブルＥＶＴ１と、出力パターンＯＵＴＰ１１乃至１３が同一であるか等で判定させる。ＰＣ１０が行う場合、ＰＣ１０は、シミュレーション結果を記憶し、記憶したシミュレーション結果と期待値テーブルＥＶＴ１の各期待値が同一であるか比較する処理を行う。
【００７６】
図５（Ｃ）の場合、出力パターンＯＵＴＰ１１乃至１３は、期待値テーブルＥＶＴ１で示される期待値、及び期待値の出力タイミングがすべて一致する場合である。図５（Ｃ）の場合、図２のステップＳ０２０４では、設計者は、第一モジュールＭ１のモジュール回路データＤ１をバグなしと判断する。つまり、図５（Ｃ）の場合、ステップＳ４０１で入力された第一モジュールＭ１のモジュール回路データＤ１は、仕様通りに作成された回路データであると判断される。出力パターンＯＵＴＰ１１乃至１３の出力値、又は出力値が出力されるタイミングが期待値テーブルＥＶＴ１と異なる場合、設計者は、第一モジュールＭ１のモジュール回路データＤ１にバグがあると判断する。
【００７７】
テスト処理の結果、モジュール回路データＤ１にバグがある等と判断された場合（図２のステップＳ０２０４でＹＥＳの場合に相当）、設計者は、図２のステップＳ０２０１のモジュール設計に戻る。モジュール設計では、設計者は、第一モジュールＭ１のモジュール回路データＤ１を修正する。修正された第一モジュールＭ１のモジュール回路データＤ１は、ステップＳ０４０１の入力処理が行われ、再度ステップＳ０４０２のテスト処理が行われる。
【００７８】
ステップＳ０４０３では、ＰＣ１０は、テストデータに基づいて、シミュレーションの実行等の第二モジュールの回路データのテスト処理を行う。ステップＳ０４０３では、ＰＣ１０は、ステップＳ０４０１で入力された第二モジュールＭ２のモジュール回路データＤ１をモジュールテストデータＤ２に入力されているテストパターンに基づいてテストするテスト処理を行う。
【００７９】
第二モジュールのテスト処理は、図５で説明した図３の第一モジュールの回路データのテスト処理と同様に、テストパターン、及び期待値に基づいてテストを行う処理である。
【００８０】
図６は、本発明の一実施形態に係る情報処理装置による第二モジュールの回路データのテスト処理の一例を説明するブロック図である。
【００８１】
図６（Ａ）は、本発明の一実施形態に係る情報処理装置による第二モジュールの回路データのテスト処理で行うテストパターンの一例を説明する表である。
【００８２】
第二モジュールＭ２のモジュール回路データＤ１は、例えばテストパターンテーブルＴＰＴ２で示されるテストパターンごとにテスト処理が行われる。テストパターンテーブルＴＰＴ２は、第二モジュールＭ２のモジュール回路データＤ１用のテストパターン２１乃至テストパターン２５の５種類のテストパターンの一例を示している図である。テストパターンテーブルＴＰＴ２の各テストパターンは、図５と同様に、図３の第二モジュールＭ２への入力値をサイクルごとに入力する場合の例である。
【００８３】
図６（Ｂ）は、本発明の一実施形態に係る情報処理装置による第二モジュールの回路データのテスト処理で用いる期待値の一例を説明する表である。期待値は、期待値テーブルＥＶＴ２で図示するように、テストパターンで用いる各入力値に対応して、図３の第二モジュールＭ２の仕様等からソフトウェア等を用いて設計者が入力する値である。期待値テーブルＥＶＴ２の各期待値は、図３の第二モジュールＭ２の出力値をサイクルごとに入力した場合の例である。
【００８４】
図６（Ｃ）は、本発明の一実施形態に係る情報処理装置による第二モジュールの回路データのテスト処理の一例を説明するブロック図である。
【００８５】
テストパターンテーブルＴＰＴ２のテストデータに基づいて第二モジュールＭ２のモジュール回路データＤ１をテスト処理する場合、ＰＣ１０は、シミュレーションの際、テストパターンテーブルＴＰＴ２で示されるタイミングで入力されている入力値を入力する。図６（Ｃ）は、図５（Ｃ）と同様に、１サイクルを１クロックで示した場合の例である。
【００８６】
テストパターンテーブルＴＰＴ２の「テストパターン２１」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ２１で第二モジュールＭ２のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ２１は、テストパターンテーブルＴＰＴ２の「テストパターン２１」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ２の「テストパターン２１」の場合、ＰＣ１０は、入力パターンＩＮＰ２１が入力ポートＭ２ＩＮに入力された際の出力ポートＭ２ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ２１に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ２１である。
【００８７】
テストパターンテーブルＴＰＴ２の「テストパターン２２」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ２２で第二モジュールＭ２のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ２２は、テストパターンテーブルＴＰＴ２の「テストパターン２２」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ２の「テストパターン２２」の場合、ＰＣ１０は、入力パターンＩＮＰ２２が入力ポートＭ２ＩＮに入力された際の出力ポートＭ２ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ２２に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ２２である。
【００８８】
テストパターンテーブルＴＰＴ２の「テストパターン２３」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ２３で第二モジュールＭ２のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ２３は、テストパターンテーブルＴＰＴ２の「テストパターン２３」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ２の「テストパターン２３」の場合、ＰＣ１０は、入力パターンＩＮＰ２３が入力ポートＭ２ＩＮに入力された際の出力ポートＭ２ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ２３に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ２３である。
【００８９】
テストパターンテーブルＴＰＴ２の「テストパターン２４」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ２４で第二モジュールＭ２のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ２４は、テストパターンテーブルＴＰＴ２の「テストパターン２４」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ２の「テストパターン２４」の場合、ＰＣ１０は、入力パターンＩＮＰ２４が入力ポートＭ２ＩＮに入力された際の出力ポートＭ２ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ２４に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ２４である。
【００９０】
テストパターンテーブルＴＰＴ２の「テストパターン２５」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰ２５で第二モジュールＭ２のモジュール回路データＤ１についてシミュレーションを実行する。入力パターンＩＮＰ２５は、テストパターンテーブルＴＰＴ２の「テストパターン２５」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴ２の「テストパターン２５」の場合、ＰＣ１０は、入力パターンＩＮＰ２５が入力ポートＭ２ＩＮに入力された際の出力ポートＭ２ＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰ２５に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰ２５である。
【００９１】
図６の場合、ステップＳ０４０３では、ＰＣ１０は、テストパターンテーブルＴＰＴ２のテストパターンごとに第二モジュールＭ２のモジュール回路データＤ１に基づいて、出力ポートＭ２ＯＵＴからの出力パターンをシミュレーションする。
【００９２】
テストは、図５で説明した第一モジュールＭ１の場合と同様に、シミュレーション結果である出力値、及び出力値が出力されるタイミングが期待値で入力された値、及びタイミングと一致するか否かを判定する。
【００９３】
図６（Ｃ）の場合、出力パターンＯＵＴＰ２１乃至２５は、期待値テーブルＥＶＴ２で示される期待値、及び期待値の出力タイミングがすべて一致する場合である。図６（Ｃ）の場合、図２のステップＳ０２０４では、設計者は、第二モジュールＭ２のモジュール回路データＤ１をバグなしと判断する。つまり、図６（Ｃ）の場合、ステップＳ４０１で入力された第二モジュールＭ２のモジュール回路データＤ１は、仕様通りに作成された回路データであると判断される。出力パターンＯＵＴＰ２１乃至２５の出力値、又は出力値が出力されるタイミングが期待値テーブルＥＶＴ２と異なる場合、設計者は、第二モジュールＭ２のモジュール回路データＤ１にバグがあると判断する。
【００９４】
テスト処理の結果、モジュール回路データＤ１にバグがある等と判断された場合（図２のステップＳ０２０４でＹＥＳの場合に相当）、設計者は、図２のステップＳ０２０１のモジュール設計に戻る。モジュール設計では、設計者は、第二モジュールＭ２のモジュール回路データＤ１を修正する。修正された第二モジュールＭ２のモジュール回路データＤ１は、ステップＳ０４０１の入力処理が行われ、再度ステップＳ０４０３のテスト処理が行われる。
【００９５】
ステップＳ０４０４では、ＰＣ１０は、システムの回路データ、テストデータを入力する入力処理を行う。入力処理では、ＰＣ１０は、システムの回路データである図２のステップＳ０２０５で設計者が作成した図３のトップモジュールＭＴのトップモジュール回路データＤ３を入力する処理を行う。入力処理では、ＰＣ１０は、システムテストデータである図２のステップＳ０２０６で設計者が作成した図３のトップモジュールＭＴのトップモジュール回路データＤ３用のシステムテストデータＤ４を入力する処理を行う。
【００９６】
ステップＳ０４０５では、ＰＣ１０は、システムテストデータに基づいて、シミュレーションの実行等のトップモジュールの回路データのテスト処理を行う。ステップＳ０４０５では、ＰＣ１０は、ステップＳ０４０４で入力されたトップモジュールＭＴのトップモジュール回路データＤ３をシステムテストデータＤ４に入力されているテストパターンに基づいてテストするテスト処理を行う。
【００９７】
図７は、本発明の一実施形態に係る情報処理装置によるトップモジュールの回路データのシステムテスト処理の一例を説明する図である。
【００９８】
図７（Ａ）は、本発明の一実施形態に係る情報処理装置によるトップモジュールの回路データのテスト処理で行うテストパターンの一例を説明する表である。
【００９９】
トップモジュールＭＴのトップモジュール回路データＤ３は、例えばテストパターンテーブルＴＰＴＴで示されるテストパターンごとにテスト処理が行われる。テストパターンテーブルＴＰＴＴは、トップモジュールＭＴのトップモジュール回路データＤ３用のテストパターンＴ１乃至テストパターンＴ３の３種類のテストパターンの一例を示している図である。テストパターンテーブルＴＰＴＴの各テストパターンは、図３のトップモジュールＭＴへの入力値をサイクルごとに入力する場合の例である。
【０１００】
図７（Ｂ）は、本発明の一実施形態に係る情報処理装置によるトップモジュールの回路データのテスト処理で用いる期待値の一例を説明する表である。期待値は、期待値テーブルＥＶＴＴで図示するように、テストパターンで用いる各入力値に対応して、図３のトップモジュールＭＴの仕様等からソフトウェア等を用いて設計者が入力する値である。期待値テーブルＥＶＴＴの各期待値は、図３のトップモジュールＭＴの出力値をサイクルごとに入力した場合の例である。
【０１０１】
図７（Ｃ）は、本発明の一実施形態に係る情報処理装置によるトップモジュールの回路データのテスト処理の一例を説明するブロック図である。
【０１０２】
システムテストデータに基づいてトップモジュールＭＴのトップモジュール回路データＤ３をテスト処理する場合、ＰＣ１０は、シミュレーションの際、システムテストデータで示されるタイミングで入力されている入力値を入力する。図７（Ｃ）は、図５（Ｃ）、及び図６（Ｃ）と同様に、１サイクルを１クロックで示した場合の例である。
【０１０３】
テストパターンテーブルＴＰＴＴの「テストパターンＴ１」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰＴ１でトップモジュールＭＴのトップモジュール回路データＤ３についてシミュレーションを実行する。入力パターンＩＮＰＴ１は、テストパターンテーブルＴＰＴＴの「テストパターンＴ１」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴＴの「テストパターンＴ１」の場合、ＰＣ１０は、入力パターンＩＮＰＴ１が入力ポートＭＴＩＮに入力された際の出力ポートＭＴＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰＴ１に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰＴ１である。
【０１０４】
テストパターンテーブルＴＰＴＴの「テストパターンＴ２」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰＴ２でトップモジュールＭＴのトップモジュール回路データＤ３についてシミュレーションを実行する。入力パターンＩＮＰＴ２は、テストパターンテーブルＴＰＴＴの「テストパターンＴ２」に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴＴの「テストパターンＴ２」の場合、ＰＣ１０は、入力パターンＩＮＰＴ２が入力ポートＭＴＩＮに入力された際の出力ポートＭＴＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰＴ２に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰＴ２である。
【０１０５】
テストパターンテーブルＴＰＴＴの「テストパターンＴ３」のテスト処理の場合、ＰＣ１０は、入力パターンＩＮＰＴ３でトップモジュールＭＴのトップモジュール回路データＤ３についてシミュレーションを実行する。入力パターンＩＮＰＴ３は、テストパターンテーブルＴＰＴＴの「テストパターンＴ３に対応するシミュレーション用の入力信号である。テストパターンテーブルＴＰＴＴの「テストパターンＴ３」の場合、ＰＣ１０は、入力パターンＩＮＰＴ３が入力ポートＭＴＩＮに入力された際の出力ポートＭＴＯＵＴからの出力信号をシミュレーションする。入力パターンＩＮＰＴ３に対応する出力パターン、即ちシミュレーション結果は、出力パターンＯＵＴＰＴ３である。
【０１０６】
図７の場合、ステップＳ０４０５では、ＰＣ１０は、テストパターンテーブルＴＰＴＴのテストパターンごとにトップモジュールＭＴのトップモジュール回路データＤ３に基づいて、出力ポートＭＴＯＵＴからの出力パターンをシミュレーションする。
【０１０７】
システムテストは、図５で説明した第一モジュールＭ１のテストの場合と同様に、シミュレーション結果である出力値、及び出力値が出力されるタイミングが期待値で入力された値、及びタイミングと一致するか否かを判定する。
【０１０８】
図７（Ｃ）の場合、出力パターンＯＵＴＰＴ１乃至Ｔ３は、期待値テーブルＥＶＴＴで示される期待値、及び期待値の出力タイミングがすべて一致する場合である。図７（Ｃ）の場合、図２のステップＳ０２０８では、設計者は、トップモジュールＭＴのトップモジュール回路データＤ３をバグなしと判断する。図７（Ｃ）の場合、図２のステップＳ０２０９では、設計者は、図３の第一モジュールＭ１、及び第二モジュールＭ２のモジュール回路データＤ１をバグなしと判断する。つまり、図７（Ｃ）の場合、ステップＳ４０１、及びステップＳ０４０４で入力された各モジュールのモジュール回路データＤ１、及びトップモジュールのトップモジュール回路データＤ３は、仕様通りに作成された回路データであると判断される。出力パターンＯＵＴＰＴ１乃至Ｔ３の出力値、又は出力値が出力されるタイミングが期待値テーブルＥＶＴＴと異なる場合、設計者は、各モジュールのモジュール回路データＤ１、又はトップモジュール回路データＤ３にバグがあると判断する。
【０１０９】
システムテストでは、バグを発見する可能性を高めるため、システムに含まれるモジュールに対して入力できる入力値、及びその組み合わせすべてについてのテストパターンがテストされることが望ましい。しかし、すべてのテストパターンをテストする場合、入力値の種類が多い場合がある。入力値の種類が多い場合、テストは、テストパターンが多くなるため、テストに係る時間が多くなる。したがって、テストに係る時間を減らすため、ユースケース、又はモジュールの制御に特化してテストパターンを限定してテストが行われる場合がある。
【０１１０】
ステップＳ０４０２のテスト処理、ステップＳ０４０３のテスト処理、及びステップＳ０４０４のシステムテスト処理の際、ＰＣ１０は、各シミュレーション結果を記憶する。
【０１１１】
システムテスト処理の結果、トップモジュールＭＴのトップモジュール回路データＤ３にバグがある等と判断された場合（図２のステップＳ０２０８でＹＥＳの場合に相当）、設計者は、図２のステップＳ０２０５のトップモジュール設計に戻る。設計者は、トップモジュールＭＴのトップモジュール回路データＤ３を修正する。修正されたトップモジュールＭＴのトップモジュール回路データＤ３は、ステップＳ０４０４の入力処理が行われ、再度ステップＳ０４０５のテスト処理が行われる。
【０１１２】
システムテスト処理の結果、第一モジュールＭ１、又は第二モジュールＭ２のモジュール回路データＤ１にバグがある等と判断された場合（図２のステップＳ０２０９でＹＥＳの場合に相当）、設計者は、図２のステップＳ０２０１のモジュール設計に戻る。設計者は、第一モジュールＭ１、又は第二モジュールＭ２のモジュール回路データＤ１を修正する。修正された第一モジュールＭ１のモジュール回路データＤ１は、ステップＳ０４０１の入力処理が行われ、再度ステップＳ０４０２のテスト処理が行われる。さらに、修正された第一モジュールＭ１のモジュール回路データＤ１は、ステップＳ０４０４の入力処理が行われ、修正された第一モジュールＭ１のモジュール回路データＤ１に基づいてＳ０４０５のシステムテストが行われる。第二モジュールＭ２のモジュール回路データＤ１が修正された場合も同様である。
【０１１３】
ステップＳ０４０６では、ＰＣ１０は、データの変更があったか否か判断する。ステップＳ０４０６で変更が判断されるデータは、ステップＳ０４０１で入力処理されたデータである。以下、図２のモジュール回路データＤ１に対して変更があった場合を例に説明する。図２のモジュール回路データＤ１の変更があった場合は、モジュール回路データＤ１の修正した場合等である。データの変更があった（ステップＳ０４０６でＹＥＳ）場合、ＰＣ１０は、ステップＳ０４０７に進む。データの変更がない（ステップＳ０４０６でＮＯ）場合、ＰＣ１０は、全体処理を終了する。
【０１１４】
以下、図３で説明したシステムで、第一モジュールＭ１が、仕様変更のため、図２のモジュール回路データＤ１の修正が行われた場合を例に説明する。なお、仕様変更によって、図３の第二モジュールＭ２、及びトップモジュールＭＴは、変更がされていない場合の例である。
【０１１５】
図８は、本発明の一実施形態に係る変更後の電子回路の全体構成の一例を説明する図である。
【０１１６】
図８（Ａ）は、本発明の一実施形態に係る変更前の電子回路の全体構成の一例を説明する図である。図８（Ａ）は、図３（Ａ）と同様の図である。
【０１１７】
図８（Ｂ）は、本発明の一実施形態に係る変更後の電子回路の全体構成の一例を説明する図である。
【０１１８】
以下、図８（Ａ）を図８（Ｂ）のように変更した場合を例に説明する。図８（Ａ）、及び図（Ｂ）は、図８（Ａ）の第一モジュールＭ１が、図８（Ｂ）の変更第一モジュールＭ１Ａに変更されている点が異なる。第二モジュールＭ２、及びトップモジュールＭＴは、変更前と変更後で同一のモジュールである。つまり、図８（Ａ）、及び図（Ｂ）は、システムの一部が変更された場合である。変更データは、例えば変更第一モジュールＭ１Ａである。以下、変更第一モジュールＭ１Ａの場合を例に説明する。
【０１１９】
ステップＳ０４０７では、ＰＣ１０は、変更データ、及び変更テストデータの入力処理を行う。ステップＳ０４０７では、ＰＣ１０は、ステップＳ０４０１と同様の入力処理を、変更データである変更第一モジュールＭ１Ａのモジュール回路データＤ１について行う。ステップＳ０４０７では、ＰＣ１０は、ステップＳ０４０１と同様の入力処理を、変更第一モジュールＭ１Ａのモジュール回路データＤ１をテストするための変更テストデータについて行う。
【０１２０】
図９は、本発明の一実施形態に係る第一モジュールの変更の一例を説明する図である。
【０１２１】
図９（Ａ）は、本発明の一実施形態に係る情報処理装置による変更前の第一モジュールの回路データのテスト処理の一例を説明するブロック図である。図９（Ａ）は、図５（Ｃ）と同様である。
【０１２２】
図９（Ｂ）は、本発明の一実施形態に係る情報処理装置による変更後の第一モジュールの回路データのテスト処理の一例を説明するブロック図である。
【０１２３】
第一モジュールＭ１、及び変更第一モジュールＭ１Ａには、図示するように、同様の図５（Ａ）のテストパターンテーブルＴＰＴ１のテストが行われた場合である。即ち、第一モジュールＭ１、及び変更第一モジュールＭ１Ａのテストで用いる入力パターンＩＮＰ１１乃至ＩＮＰ１３は、入力値、及び入力値の入力タイミングが同一である。
【０１２４】
図９（Ｂ）で図示するように、変更第一モジュールＭ１Ａは、第一モジュールＭ１と同一の入力があった場合でも出力パターンＯＵＴＰ１１Ａ乃至１３Ａを出力する仕様とする。
【０１２５】
第一モジュールＭ１の出力パターンＯＵＴＰ１１、及び変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１１Ａは、同一である。同様に、第一モジュールＭ１の出力パターンＯＵＴＰ１２、及び変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１２Ａは、同一である。
【０１２６】
第一モジュールＭ１の出力パターンＯＵＴＰ１３、及び変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１３Ａは、異なる。
【０１２７】
図示するように、回路データは、テストパターンが同一であっても、仕様によって、出力パターンが異なるように変更される場合がある。したがって、変更第一モジュールＭ１Ａは、図２のモジュールテストデータＤ２を仕様等に基づいて更新し、テストが行われる必要がある。
【０１２８】
システムに含まれるモジュールが変更された場合、変更されたモジュールを含むシステムのトップモジュールは、同様にシステムテストを行う必要がある場合がある。
【０１２９】
ステップＳ０４０９では、ＰＣ１０は、変更テストデータに基づいてシミュレーションの実行等の変更データのテスト処理を行う。ステップＳ０４０９では、ＰＣ１０は、ステップＳ０４０２と同様に、変更データに対してテスト処理を行う。変更データに対して行うテスト処理は、変更データの生成の際に同様に変更されたテストデータを変更した変更テストデータに基づいて行われる。
【０１３０】
ステップＳ０４０９では、ＰＣ１０は、判定処理を行う。判定処理は、後段のステップＳ０４１０で行う第一モジュールＭ１の出力先である第二モジュールＭ２のモジュール回路データＤ１のテスト処理で実行する各テストパターンのシミュレーションを行うか否かの判定を行う処理である。判定処理は、後段のステップＳ０４１０で行う第一モジュールＭ１を含むモジュールであるトップモジュールＭＴのトップモジュール回路データＤ３のシステムテスト処理で実行する各テストパターンのシミュレーションを行うか否かの判定を行う処理である。
【０１３１】
図３の場合、第一モジュールＭ１の出力は、第二モジュールＭ２の入力に相当する。第一モジュールＭ１が変更された場合、変更後の仕様によっては、第二モジュールＭ２の入力は、第一モジュールＭ１の変更に伴って変更される場合がある。したがって、第一モジュールＭ１が変更された場合、第二モジュールＭ２は、テスト処理が行われる場合がある。
【０１３２】
以下、図９で説明した第一モジュールＭ１が変更第一モジュールＭ１Ａに変更される場合を例に説明する。
【０１３３】
図９の場合、変更によって、第一モジュールＭ１の出力は、出力パターンＯＵＴＰ１１乃至１３の出力から出力パターンＯＵＴＰ１１Ａ乃至１３Ａに変更される。図９の場合、第一モジュールＭ１の出力、及び変更第一モジュールＭ１Ａの出力は、出力パターンＯＵＴＰ１１、及び１２と出力パターンＯＵＴＰ１１Ａ、及び１２Ａの出力が同一である。したがって、第二モジュールＭ２には、図９の変更があった場合でも、出力パターンＯＵＴＰ１１、及び１２と同様のパターンが変更第一モジュールＭ１Ａから出力パターンＯＵＴＰ１１Ａ、及び１２Ａとして入力される。
【０１３４】
変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１１Ａに相当する第二モジュールＭ２の入力パターンは、図６（Ａ）のテストパターン２１である。変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１２Ａに相当する第二モジュールＭ２の入力パターンは、図６（Ａ）のテストパターン２４である。図９の場合、第二モジュールＭ２のモジュール回路データＤ１は、出力パターンＯＵＴＰ１１Ａ、及び１２Ａについては変更前のテストでテストが完了している状態である。
【０１３５】
図９の場合、第一モジュールＭ１の出力は、出力パターンＯＵＴＰ１３が出力パターンＯＵＴＰ１３Ａに変わるようにモジュール回路データＤ１が変更されている。出力パターンＯＵＴＰ１３Ａによる入力パターンは、出力パターンＯＵＴＰ１１Ａ、及び１２Ａの場合と同様に、変更前の第二モジュールのテストパターンに基づいて判定される。変更第一モジュールＭ１Ａの出力パターンＯＵＴＰ１３Ａに相当する第二モジュールＭ２の入力パターンは、図６（Ａ）のテストパターン２３である。図９の場合、第二モジュールＭ２のモジュール回路データＤ１は、出力パターンＯＵＴＰ１３Ａについては変更前のテストでテストが完了している状態である。
【０１３６】
判定処理は、回路データの変更に伴って、回路データが変更されたモジュールの出力先となるモジュールの回路データの変更後のテスト処理について行われる処理である。
【０１３７】
判定処理は、変更されたモジュールの変更前のテスト処理のテスト結果と、変更後のテスト結果を比較し、出力先のモジュールに変更されたモジュールから出力される出力パターンの変更前後の変化を判定する。判定処理は、変更されたモジュールの出力パターンが変更によって同一であるか否かを判定する。判定処理は、変更前後で同一の出力パターンがあると判定した場合、同一の出力パターンについては、変更前にテストが完了しているため、変更されたモジュールの出力先のテストで省略してよいと判定できる。
【０１３８】
判定処理は、変更されたモジュールの変更後のテスト結果と、出力先のモジュールの変更前のテスト結果を比較する。判定処理は、変更されたモジュールの出力パターンと同一のテストパターンが変更前の出力先のモジュールのテストで行われているか否かを判定する。判定処理は、変更前に同一のテストパターンがあると判定した場合、同一の出力パターンについては、変更前にテストが完了しているため、変更されたモジュールの出力先のテストで省略してよいと判定できる。
【０１３９】
なお、変更は、出力パターンが異なるパターンに変わる場合に限られない。変更は、出力パターンが追加される場合でもよい。
【０１４０】
図１０は、本発明の一実施形態に係る第一モジュールの別の変更の一例を説明する図である。
【０１４１】
図１０は、図９と同様に図３の第一モジュールＭ１を変更する場合の例である。図１０は、図３の第一モジュールＭ１を変更第一モジュールＭ１Ｂに変更する。なお、図９の場合と同様に、第二モジュールＭ２、及びトップモジュールＭＴは、変更前と変更後で同一のモジュールである。
【０１４２】
図１０（Ａ）は、本発明の一実施形態に係る情報処理装置による変更前の第一モジュールの回路データのテスト処理の一例を説明するブロック図である。図１０（Ａ）は、図５（Ｃ）と同様である。
【０１４３】
図１０（Ｂ）は、本発明の一実施形態に係る情報処理装置による変更後の第一モジュールの回路データのテスト処理の一例を説明するブロック図である。
【０１４４】
図１０は、第一モジュールＭ１に新たな機能が追加する変更の一例である。新たな機能が追加された場合、変更データは、変更前のテストにテストパターンが追加される場合がある。
【０１４５】
図１０（Ａ）、及び図１０（Ｂ）の相違点は、追加テストパターンがあるかないかの点である。図１０の場合、第一モジュールＭ１は、追加テストパターンのテストが新たに必要な機能が追加された仕様変更に基づく変更がされる場合である。追加テストパターンは、図１０（Ｂ）で図示するように、入力パターンＩＮＰ１４が入力される場合をさらにテストするためのテストパターンである。入力パターンＩＮＰ１４の出力パターンは、出力パターンＯＵＴＰ１４Ｂである。
【０１４６】
図１０の変更の場合、ステップＳ０４０７では、ＰＣ１０は、図９の場合と同様に、入力処理を、変更データである変更第一モジュールＭ１Ｂのモジュール回路データＤ１について行う。ステップＳ０４０７では、ＰＣ１０は、図９の場合と同様に、変更第一モジュールＭ１Ｂのモジュール回路データＤ１をテストするための変更テストデータについて行う。ステップＳ０４０７では、ＰＣ１０は、図９の場合と同様に、変更第一モジュールＭ１Ｂのモジュール回路データＤ１についてテスト処理を行う。
【０１４７】
ステップＳ０４０９では、ＰＣ１０は、図９の場合と同様に、判定処理を行う。
【０１４８】
図１０の場合、第一モジュールＭ１の出力、及び変更第一モジュールＭ１Ｂの出力は、出力パターンＯＵＴＰ１１乃至１３と出力パターンＯＵＴＰ１１Ｂ乃至１３Ｂの出力が同一である。したがって、図１０の場合、第二モジュールＭ２のモジュール回路データＤ１は、出力パターンＯＵＴＰ１１Ｂ乃至１３Ｂについては変更前のテストでテストが完了している状態である。
【０１４９】
図１０の場合、変更で追加された出力パターン１４Ｂは、図９の場合の出力パターン１３Ａと同様に、出力先となる変更前の第二モジュールのテストパターンに基づいて判定される。変更第一モジュールＭ１Ｂの追加された出力パターンＯＵＴＰ１４Ｂに相当する第二モジュールＭ２の入力パターンは、図６（Ａ）のテストパターン２２である。図１０の場合、第二モジュールＭ２のモジュール回路データＤ１は、出力パターンＯＵＴＰ１４Ｂについては変更前のテストでテストが完了している状態である。
【０１５０】
判定処理は、回路データの変更に伴って、追加されたテストについても判定する処理を行う。変更でテストが追加された場合、判定処理は、図９の変更の場合と同様に、回路データが変更されたモジュールの出力先となるモジュールの回路データの変更後のテスト処理について行われる処理である。
【０１５１】
判定処理は、追加されたテストについて、変更されたモジュールの変更後のテスト結果と、出力先のモジュールの変更前のテスト結果を比較する。判定処理は、追加されたモジュールの出力パターンと同一のテストパターンが変更前の出力先のモジュールのテストで行われているか否かを判定する。判定処理は、変更前に同一のテストパターンがあると判定した場合、同一の出力パターンについては、変更前にテストが完了しているため、変更されたモジュールの出力先のテストで省略してよいと判定できる。
【０１５２】
判定処理結果に基づいて、設計者は、省略してよいテストパターンを削除するようにテストデータを修正することができる。判定処理結果に基づいて、ＰＣ１０は、省略してよいテストパターンを削除するようにテストデータを修正することができる。
【０１５３】
ステップＳ０４１０では、ＰＣ１０は、判定処理結果に基づいたテストデータによってシミュレーションの実行等の第二モジュールの回路データのテスト処理を行う。ステップＳ０４１０では、ＰＣ１０は、第二モジュールＭ２のモジュール回路データＤ１に対してステップＳ０４０３と同様のテスト処理を行う。ステップＳ０４１０では、ＰＣ１０は、ステップＳ０４０９で省略してよいとされたテストパターンを省略したテスト処理を行う。即ち、ステップＳ０４１０では、ＰＣ１０は、判定処理で省略してよいと判定されたテストパターンのテスト処理を制限する処理を行う。
【０１５４】
制限する処理は、例えば省略してよいとされたテストパターンのテスト処理を省略して次のテストパターンの処理に移る処理である。制限する処理は、省略してよいとされたテストパターンをテストするためのテストデータを削除する処理等でもよい。
【０１５５】
図９、及び図１０の変更の場合、ステップＳ０４１０では、判定処理結果によって、ＰＣ１０は、図６のテストパターン２１乃至２５のテスト処理を制限する処理を行うことができる。図９、及び図１０の変更の場合、ＰＣ１０は、変更後のテスト処理について、図６のテストパターン２１乃至２５のテスト処理に係る処理を減らすことができる。ステップＳ０４１０では、ＰＣ１０は、図６のテストパターン２１乃至２５の５つのテストパターン数を減らすことができる。したがって、ＰＣ１０は、図６のテストパターン２１乃至２５のテスト処理等を行わないため、処理時間を短くできる。
【０１５６】
第一モジュールＭ１の変更の場合、図２の第一モジュールＭ１のモジュール回路データＤ１の変更に伴って、システムテストが影響を受ける場合がある。変更は、テストパターンの変更、又は追加が行われる場合である。
【０１５７】
以下、第一モジュールＭ１の図１０の変更の場合を例に説明する。
【０１５８】
図３の構成の場合、トップモジュールＭＴの入力ポートＭＴＩＮへの入力は、第一モジュールの入力ポートＭ１ＩＮへの入力となる。図１０の変更が行われた場合、図１０の追加されたテストパターンである追加テストパターンを入力するテストを、トップモジュールＭＴについても追加してシステムテストとして行う必要がある。
【０１５９】
図１１は、本発明の一実施形態に係る第一モジュールの変更前後のトップモジュールのシステムテストの一例を説明する図である。
【０１６０】
図１１（Ａ）は、本発明の一実施形態に係る情報処理装置による変更前の第一モジュールの回路データに対応するシステムテスト処理の一例を説明するブロック図である。図１１（Ａ）は、図７（Ｃ）と同様である。
【０１６１】
図１１（Ｂ）は、本発明の一実施形態に係る情報処理装置による変更後の第一モジュールの回路データに対応するシステムテスト処理の一例を説明するブロック図である。
【０１６２】
図３の構成の場合、第一モジュールのテストに用いられる入力パターンは、トップモジュールの入力パターンと一致する場合である。変更によって、第一モジュールの入力パターンが図１０（Ｂ）の入力パターンＩＮＰ１１乃至１４となった場合、ＰＣ１０は、同様の図１０（Ｂ）の入力パターンＩＮＰ１１乃至１４に対応するシステムテスト処理を行う。
【０１６３】
ステップＳ０４０８では、ＰＣ１０は、システムテストについても、判定処理を行う。
【０１６４】
図１０の変更の場合、変更によって、トップモジュールＭＴの入力は、入力パターンＩＮＰＴ１乃至Ｔ３の入力から入力パターンＩＮＰＴ１Ａ乃至Ｔ４Ａに変更される。図１０の変更の場合、トップモジュールＭＴへの入力は、入力パターンＩＮＰＴ１乃至Ｔ３と入力パターンＩＮＰＴ１Ａ乃至１３Ａが同一である。したがって、トップモジュールＭＴには、図１０の変更があった場合でも、入力パターンＩＮＰＴ１乃至Ｔ３と同様のパターンが入力パターンＩＮＰＴ１Ａ乃至Ｔ３Ａとして入力される。
【０１６５】
図１０の変更の場合の入力パターンＩＮＰＴ１Ａに相当する変更前の入力パターンは、図７（Ａ）のテストパターンＴ１である。図１０の変更の場合の入力パターンＩＮＰＴ２Ａに相当する変更前の入力パターンは、図７（Ａ）のテストパターンＴ２である。図１０の変更の場合の入力パターンＩＮＰＴ３Ａに相当する変更前の入力パターンは、図７（Ａ）のテストパターンＴ３である。図１０の変更の場合、トップモジュールＭＴのトップモジュール回路データＤ３は、入力パターンＩＮＰＴ１Ａ乃至Ｔ３Ａについては変更前のシステムテストでテストが完了している状態である。
【０１６６】
判定処理は、下位モジュールの回路データの変更に伴って、システムテストの変更されたテストについても判定する処理を行う。判定処理は、変更前のテストパターンと、変更後のテストパターンを比較し、同一のテストパターンであるか否かを判定する処理である。変更前に同一のテストパターンがあると判定した場合、同一の出力パターンについては、変更前にテストが完了しているため、変更後のシステムテストで省略してよいと判定できる。追加、又はテストパターンの内容が変更されている場合は、テストパターンが同一でないため、変更前のシステムテストでテストが行われていないので、判定処理は、システムテストで行うテストパターンと判定する。
【０１６７】
図１１の場合、判定処理は、入力パターンＩＮＰＴ１Ａ乃至３Ａに係るシステムテストを省略してもよいと判定する処理である。
【０１６８】
図１１の場合、入力パターンＩＮＰＴ４Ａに相当する変更前の入力パターンは、図７（Ａ）のテストパターンにはないため、判定処理は、後段のステップＳ０４１１のシステムテストで行うテストであると判定する処理である。
【０１６９】
判定処理によって、ＰＣ１０は、第二モジュールの回路データのテストと同様に、ＰＣ１０は、システムテストも、テストで省略してよいテストパターンを判定できる。
【０１７０】
判定処理結果に基づいて、設計者は、省略してよいテストパターンを削除するようにシステムテストデータを修正することができる。判定処理結果に基づいて、ＰＣ１０は、省略してよいテストパターンを削除するようにシステムテストデータを修正することができる。
【０１７１】
判定処理を行うことによって、ＰＣ１０は、後段で行うテスト処理、又はシステム処理で省略できるテストを判定することができる。判定処理結果は、設計者に表示等の出力が行われる。
【０１７２】
ステップＳ０４１１では、ＰＣ１０は、判定処理結果に基づいてシミュレーションの実行等のトップモジュールの回路データのシステムテスト処理を行う。ステップＳ０４１１では、ＰＣ１０は、トップモジュールＭＴのトップモジュール回路データＤ３に対してステップＳ０４０５と同様のシステムテスト処理を行う。ステップＳ０４１１では、ＰＣ１０は、ステップＳ０４０９で省略してよいとされたテストパターンを省略したシステムテスト処理を行う。
【０１７３】
＜機能構成＞
図１２は、本発明の一実施形態に係る情報処理装置の機能構成の一例を説明する機能ブロック図である。
【０１７４】
図１２の構成は、図３の構成に対応した機能構成の一例である。図１２の構成は、設計、及びテストの対象となる電子回路の構成によって変更されてもよい。
【０１７５】
ＰＣ１０は、入力部１０Ｆ１と、テスト部１０Ｆ２と、判定部１０Ｆ３と、を有する。
【０１７６】
入力部１０Ｆ１は、電子回路を構成するモジュールの回路データ、及び回路データをテストするためのテストデータを入力する入力処理を行う。入力処理は、図４の場合、ステップＳ０４０１、Ｓ０４０４、及びＳ０４０７の処理等である。入力部１０Ｆ１は、回路データが変更データに変更された場合、変更データと、変更データをテストするための変更テストデータを入力する処理を行う。回路データは、図２の場合、モジュール回路データＤ１、及びトップモジュール回路データＤ３である。テストデータは、図２の場合、モジュールテストデータＤ２、及びシステムテストデータＤ４である。変更データは、図８の場合、変更第一モジュールのモジュール回路データＤ１である。変更テストデータは、図８の場合、図９乃至図１１で説明したテストを行うためのモジュールテストデータＤ２、及びシステムテストデータＤ４である。入力部１０Ｆ１は、例えば図１の入力装置１０Ｈ４、又はネットワークＩ／Ｆ１０Ｈ３等で実現される。
【０１７７】
テスト部１０Ｆ２は、テストデータ、及び変更テストデータに基づいて、入力された回路データ、及び変更データをテストするテスト処理を行う。テスト部１０Ｆ２は、図１のＣＰＵ１０Ｈ１等によって実現される。テスト処理は、図４の場合、ステップＳ０４０２、Ｓ０４０３、Ｓ０４０５、Ｓ０４０８、Ｓ０４１０、及びＳ０４１１の処理等である。
【０１７８】
テスト部１０Ｆ２は、モジュールテスト部１０Ｆ２１と、システムテスト部１０Ｆ２２と、を有する。モジュールテスト部１０Ｆ２１は、図２の場合、モジュール回路データＤ１をテストするテスト処理を行う。モジュールテスト部１０Ｆ２１は、第一モジュールテスト部１０Ｆ２１１と、第二モジュールテスト部１０Ｆ２１２と、を有する。
【０１７９】
第一モジュールテスト部１０Ｆ２１１は、図３の第一モジュールＭ１のモジュール回路データＤ１をテストするテスト処理を行う。
【０１８０】
第二モジュールテスト部１０Ｆ２１２は、図３の第二モジュールＭ２のモジュール回路データＤ１をテストするテスト処理を行う。
【０１８１】
判定部１０Ｆ３は、回路データ、又はテストデータが変更された場合、テスト結果に基づいて、変更テストデータから同一のテストを判定する判定処理を行う。判定部１０Ｆ３は、図１のＣＰＵ１０Ｈ１等によって実現される。判定処理は、図４の場合、ステップＳ０４０９の処理等である。
【０１８２】
ＰＣ１０は、入力部１０Ｆ１によって、入力処理された回路データをテストデータに基づいてテスト部１０Ｆ２がテスト処理、及びシステム処理を行う。
【０１８３】
ＰＣ１０は、仕様変更等によって、回路データに変更があった場合、変更が行われた回路データである変更データを入力部１０Ｆ１によって入力処理する。ＰＣ１０は、仕様変更等によって、テストデータに変更があった場合、変更が行われたテストデータである変更テストデータを入力部１０Ｆ１によって入力処理する。
【０１８４】
ＰＣ１０は、変更が行われた場合、変更前のテスト結果に基づいて判定処理を行う。判定処理によって、ＰＣ１０は、変更後に行うテスト処理、及びシステムテスト処理のうち、省略できるテストパターンを判定することができる。判定結果は、例えば設計者に図１の出力装置１０Ｈ５等で表示される。設計者は、判定結果に基づいて省略できるテストパターンのテストを削除する操作ができる。したがって、省略できるテストパターンを判定することによって、ＰＣ１０は、テストパターンの数を減らすことができる。ＰＣ１０は、テストパターンの数を減らすことができるため、変更後に行うテスト処理、及びシステムテスト処理の処理時間を短くすることができる。
【０１８５】
＜第２実施形態＞
第２実施形態は、第１実施形態の図１のＰＣ１０を用いる。したがって、ＰＣ１０の説明は、省略する。
【０１８６】
第２実施形態は、第１実施形態とＰＣ１０が入力処理するデータが異なる。
【０１８７】
図１３は、本発明の一実施形態に係る第２実施形態の情報処理装置の機能構成の一例を説明する機能ブロック図である。
【０１８８】
第２実施形態は、第１実施形態と同様の機能構成である。以下、異なる点を中心に説明する。
【０１８９】
入力部１０Ｆ１は、図１１の電子回路を構成するモジュールの回路データ、及び回路データをテストするためのテストデータを入力する入力処理に代えて、電子回路を構成するモジュールの回路データをテストしたテスト結果を入力する入力処理を行う。テスト結果は、図４のステップＳ０４０２、Ｓ０４０３、及びＳ０４０５の処理結果と同様である。
【０１９０】
第２実施形態は、他の情報処理装置（図示せず）によって、変更前のテスト処理、及びシステムテスト処理が行われた場合等である。図１３の場合、ＰＣ１０は、変更前のモジュール回路データＤ１等をテスト処理せず、代わりに他の情報処理装置（図示せず）がテスト処理したテスト結果を入力する入力処理を行う。
【０１９１】
入力部１０Ｆ１は、第１実施形態と同様に、回路データが変更データに変更された場合、変更データと、変更データをテストするための変更テストデータを入力する処理を行う。
【０１９２】
ＰＣ１０は、他の情報処理装置（図示せず）がテスト処理したテスト結果を入力する入力処理を行う。
【０１９３】
ＰＣ１０は、仕様変更等によって、回路データに変更があった場合、第１実施形態と同様に、変更が行われた回路データである変更データを入力部１０Ｆ１によって入力処理する。ＰＣ１０は、仕様変更等によって、テストデータに変更があった場合、第１実施形態と同様に、変更が行われたテストデータである変更テストデータを入力部１０Ｆ１によって入力処理する。
【０１９４】
ＰＣ１０は、変更が行われた場合、入力された変更前のテスト結果、及びテスト部１０Ｆ２のテスト結果に基づいて判定処理を行う。判定処理によって、ＰＣ１０は、変更後に行うテスト処理、及びシステムテスト処理のうち、第１実施形態と同様に、省略できるテストパターンを判定することができる。判定結果は、例えば設計者に図１の出力装置１０Ｈ５等で表示される。第１実施形態と同様に、設計者は、判定結果に基づいて省略できるテストパターンのテストを削除する操作ができる。したがって、省略できるテストパターンを判定することによって、ＰＣ１０は、テストパターンの数を減らすことができる。ＰＣ１０は、テストパターンの数を減らすことができるため、変更後に行うテスト処理、及びシステムテスト処理の処理時間を短くすることができる。
【０１９５】
実施形態は、例えば電子回路のデータを処理する情報処理装置であって、電子回路を構成するモジュールの図２のモジュール回路データ、図２のモジュール回路データをテストするための図２のモジュールテストデータ、図２のモジュール回路データ、又は図２のモジュールテストデータが変更された場合、図２のモジュール回路データを変更した変更データ、及び変更データをテストするための変更テストデータを入力する入力装置と、入力装置に入力されたテストデータ、又は変更テストデータに基づいて、入力装置に入力された図２のモジュール回路データ、又は変更データをテストするＣＰＵと、ＣＰＵによるテスト結果に基づいて、入力装置に入力された回路データのモジュールの出力先のモジュールのテスト、及び入力装置に入力された回路データのモジュールを含むモジュールのシステムテストから、テストデータによるテストと同一のテストを判定する判定処理を行うＣＰＵと、を有する情報処理装置である。
【０１９６】
実施形態は、例えば電子回路のデータを処理する情報処理装置であって、電子回路を構成するモジュールの図２のモジュール回路データ、図２のモジュール回路データをテストするための図２のモジュールテストデータ、図２のモジュール回路データ、又は図２のモジュールテストデータが変更された場合、図２のモジュール回路データを変更した変更データ、変更データをテストするための変更テストデータ、回路データのテスト結果、を入力する入力装置と、入力装置に入力された変更テストデータに基づいて、入力装置に入力された図２のモジュール回路データ、又は変更データをテストするＣＰＵと、入力装置に入力されたテスト結果、及びＣＰＵによるテスト結果に基づいて、入力装置に入力された変更データのモジュールの出力先のモジュールのテスト、及び入力装置に入力された変更データのモジュールを含むモジュールのシステムテストから、テストデータによるテストと同一のテストを判定する判定処理を行うＣＰＵと、を有する情報処理装置。
【０１９７】
なお、ＰＣ１０で処理される回路データは、図３に示した構成の電子回路の回路データに限られない。例えば図３のトップモジュールＭＴは、図３の第一モジュールＭ１、及び第二モジュールＭ２以外のモジュールを有し、３以上のモジュールを有する構成でもよい。また、図３の第一モジュールＭ１、又は第二モジュールＭ２は、下位モジュールを有してもよい。即ち、ＰＣ１０で処理される回路データは、図３の第一モジュールＭ１、又は第二モジュールＭ２が下位モジュールを有し、３以上の階層である構成でもよい。なお、図３のトップモジュールＭＴ、第一モジュールＭ１、及び第二モジュールＭ２は、入力ポート、及び出力ポートを複数有してもよい。また、入力ポート、及び出力ポートは、複数のビット（ｂｉｔ）で構成されてもよい。
【０１９８】
なお、実施形態で説明した１つの情報処理装置による構成は、一例であり、用途、又は目的に応じて様々なシステム構成があることは言うまでもない。例えば、各処理は、ネットワークを介して１以上の外部装置（図示せず）によって分散、冗長、又は並列に処理されてもよい。
【０１９９】
また、実施形態は、説明した情報処理装置によって実現される場合に限られない。実施形態は、例えばＣＰＵを有する情報処理装置、又は情報処理システムに各種処理を実行させるためのプログラムによって実現されてもよい。
【０２００】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０２０１】
１０  ＰＣ
１０Ｈ１  ＣＰＵ
１０Ｈ２  記憶装置
１０Ｈ３  ネットワークＩ／Ｆ
１０Ｈ４  入力装置
１０Ｈ５  出力装置
１０Ｆ１  入力部
１０Ｆ２  テスト部
１０Ｆ２１  モジュールテスト部
１０Ｆ２１１  第一モジュールテスト部
１０Ｆ２１２  第二モジュールテスト部
１０Ｆ２２  システムモジュールテスト部
１０Ｆ３  判定部
ＭＴ  トップモジュール
ＭＴＩＮ  入力ポート
ＭＴＯＵＴ  出力ポート
Ｍ１  第一モジュール
Ｍ１Ａ  変更第一モジュール
Ｍ１ＩＮ  入力ポート
Ｍ１ＯＵＴ  出力ポート
Ｍ２  第二モジュール
Ｍ２ＩＮ  入力ポート
Ｍ２ＯＵＴ  出力ポート
Ｄ１  モジュール回路データ
Ｄ２  モジュールテストデータ
Ｄ３  トップモジュール回路データ
Ｄ４  システムテストデータ
ＴＰＴ１、ＴＰＴ２、ＴＰＴＴ  テストパターンテーブル
ＥＶＴ１、ＥＶＴ２、ＥＶＴＴ  期待値テーブル
ＩＮＰ１１、ＩＮＰ１２、ＩＮＰ１３、ＩＮＰ１４  入力パターン
ＩＮＰ１１Ａ、ＩＮＰ１２Ａ、ＩＮＰ１３Ａ  入力パターン
ＩＮＰ２１、ＩＮＰ２２、ＩＮＰ２３、ＩＮＰ２４、ＩＮＰ２５  入力パターン
ＩＮＰＴ１、ＩＮＰＴ２、ＩＮＰＴ３  入力パターン
ＯＵＴＰ１１、ＯＵＴＰ１２、ＯＵＴＰ１３、ＯＵＴＰ１４、ＯＵＴＰ１１Ａ、ＯＵＴＰ１２Ａ、ＯＵＴＰ１３Ａ、ＯＵＴＰ１１Ｂ、ＯＵＴＰ１２Ｂ、ＯＵＴＰ１３Ｂ、ＯＵＴＰ１４Ｂ  出力パターン
ＯＵＴＰ２１、ＯＵＴＰ２２、ＯＵＴＰ２３、ＯＵＴＰ２４、ＯＵＴＰ２５  出力パターン
ＯＵＴＰＴ１、ＯＵＴＰＴ２、ＯＵＴＰＴ３  出力パターン
ＴＤ  テキストデータ
【先行技術文献】
【特許文献】
【０２０２】
【特許文献１】特許第３６９３４２０号公報
【特許文献２】特開２０１１−２３７８４１号公報
【図１】
2016024686.tif 000003
【図２】
2016024686.tif 000004
【図３】
2016024686.tif 000005
【図４】
2016024686.tif 000006
【図５】
2016024686.tif 000007
【図６】
2016024686.tif 000008
【図７】
2016024686.tif 000009
【図８】
2016024686.tif 000010
【図９】
2016024686.tif 000011
【図１０】
2016024686.tif 000012
【図１１】
2016024686.tif 000013
【図１２】
2016024686.tif 000014
【図１３】
2016024686.tif 000015