(57)【要約】【課題】  システムLSIの検証方法において、試験データを作成するための変換ツールの保持する情報、変換ツールにて変換するスクリプトの記述方法に特徴がある試験データ作成装置に関し、データの流用性が向上するとともに、試験データ作成の労力を削減することを課題とする。【解決手段】  変換ツール２は、異なったCPUに対応したスクリプト１を入力し、入力したスクリプトを、CPUのバスに接続するブロック４ｄ−１，４ｄ−２のロジックを検証可能な、当該バスのクロックに同期する試験データ３に変換する。試験データ３は、LSI固有の信号に関するコマンドやアドレス修飾等の記載方法を採用している。【選択図】        図１
2005174112.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（セントラル・プロセッシング・ユニット）を内蔵するシステムＬＳＩ（大規模集積回路）の動作を検証する論理検証用の試験データを作成する試験データ作成装置であって、
異なったＣＰＵに対応したスクリプトを入力し、入力したスクリプトを、ＣＰＵのバスに接続するブロックのロジックを検証可能な、当該バスのクロックに同期する試験データに変換する変換ツールを有することを特徴とする試験データ作成装置。
【請求項２】
変換ツールは、ＣＰＵの仕様を記憶するアーキテクチャ対応表を有し、当該アーキテクチャ対応表に従って、前記スクリプトを当該ＣＰＵに対応する試験データに変換することを特徴とする請求項１記載の試験データ作成装置。
【請求項３】
前記スクリプトは、ＬＳＩ固有の信号に関するコマンドを含み、変換ツールは、当該コマンドをＬＳＩ固有の信号を検証する試験データに変換することを特徴とする請求項１記載の試験データ作成装置。
【請求項４】
前記コマンドは、前記ＬＳＩ固有の信号に対し、バスのクロックに同期した遅延の設定可能であり、変換ツールは、遅延が設定されたコマンドを、当該設定された遅延によるＬＳＩ固有の信号を検証する試験データに変換することを特徴とする請求項３記載の試験データ作成装置。
【請求項５】
前記コマンドは、前記ＬＳＩ固有の信号に対する駆動条件が設定可能であり、変換ツールは、駆動条件が設定されたコマンドを、当該設定された駆動条件によるＬＳＩ固有の信号を検証する試験データに変換することを特徴とする請求項３記載の試験データ作成装置。
【請求項６】
前記コマンドは、指定条件ごとにＬＳＩ固有の信号に対する駆動方法を設定可能であり、変換ツールは、指定条件ごとに前記駆動方法が設定されたコマンドを、指定条件ごとに当該設定された駆動方法によるＬＳＩ固有の信号を検証する試験データに変換することを特徴とする請求項３記載の試験データ作成装置。
【請求項７】
前記スクリプトは、データを格納するアドレスをアドレス修飾として設定するコマンドを含み、変換ツールは、アドレスが設定されたコマンドを、当該アドレスに格納しているデータを更にアドレスとして使用してデータを読み込む試験データに変換することを特徴とする請求項１記載の試験データ作成装置。
【請求項８】
前記スクリプトは、ＬＳＩ固有の信号名による記述が可能でり、変換ツールは、当該ＬＳＩ固有の信号名による記述を、予め定義されているビット値に変換することを特徴とする請求項３記載の試験データ作成装置。
【請求項９】
変換ツールは、更に、特定のＣＰＵに対応した試験データを、前記異なったＣＰＵに対応したスクリプトに変換することを特徴とする請求項１記載の試験データ作成装置。
【請求項１０】
特定のＣＰＵに対応した擬似的なバス・ドライバを使用することを特徴とするシミュレーション・モデル装置。
【請求項１１】
前記バス・ドライバは、レジスタを内蔵し、当該レジスタをシミュレーションに用いることを特徴とする請求項１０記載のシミュレーション・モデル装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩの検証方法において、試験データを作成するための変換ツールの保持する情報、及び変換ツールにて変換するスクリプトの記述方法に関するものである。
【背景技術】
【０００２】
システムＬＳＩの検証に用いる試験データは、設計したシステムＬＳＩの検証する部位に合わせて作成され、試験対象のシステムＬＳＩのＣＰＵに対応するものである。この試験データには、設計したシステムＬＳＩ固有の信号が入っていることがある。
【０００３】
設計したシステムＬＳＩの検証は、個別に試験データを作成して行われていたため、検証に使用するシミュレーション・モデルにおいても、テスト対象部位とのインタフェースが統一されず、個々に作成する箇所が多かった。
【０００４】
また、システムＬＳＩの設計は、新規機能のみで構成されることは稀で、殆どの場合、従来の機能に対して新規機能を追加するものである。
【特許文献１】特開平１−２５０８７４号公報
【特許文献２】特開平２−２８７８３７号公報
【特許文献３】特開平５−１７２９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的とするところは、従来の試験データを流用できるようにし、設計したシステムＬＳＩの検証に使用する試験データの作成を省力化することである。
【０００６】
また、従来試験データに設計したＬＳＩ固有信号が含まれていたり、テスト対象部位とのインターフェースが決まっていないため、そのまま流用するのが難しいという課題を解決する。
【０００７】
つまり、この発明は、試験データの流用を容易にし、論理検証用試験データの作成を効率良く行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る試験データ作成装置は、
ＣＰＵ（セントラル・プロセッシング・ユニット）を内蔵するシステムＬＳＩ（大規模集積回路）の動作を検証する論理検証用の試験データを作成する試験データ作成装置であって、
異なったＣＰＵに対応したスクリプトを入力し、入力したスクリプトを、ＣＰＵのバスに接続するブロックのロジックを検証可能な、当該バスのクロックに同期する試験データに変換する変換ツールを有することを特徴とする。
【発明の効果】
【０００９】
試験データ作成装置は、異なったＣＰＵに対応したスクリプトを入力し、入力したスクリプトを、ＣＰＵのバスに接続するブロックのロジックを検証可能な、当該バスのクロックに同期する試験データに変換する変換ツールを有するので、データの流用性が向上するとともに、試験データ作成の労力が削減できる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
以下本発明を図面に示す実施例に基づいて説明する。図１は、実施の形態１におけるシステム構成例を示す図である。図において、１は異なったＣＰＵに対応したスクリプト、２は異なったＣＰＵに対応したスクリプトを試験データに変換する変換ツール、３は試験データ、３ａはテスト対象を検証する試験データのテストパターン部分、３ｂはテスト対象を制御するテストベンチ部分の制御データ、４はシステムＬＳＩのシミュレーション・モデルの構成、４ａはシミュレーション・モデルに使用するテストベンチ部分、４ｂはシミュレーション・モデルに使用するＣＰＵ用擬似的なバス・ドライバ、４ｃはＣＰＵ用擬似的なバス・ドライバとテスト対象がつながるシステムＬＳＩの内部バス、４ｄはシミュレーション・モデルにおけるテスト対象、４ｄ−１から４ｄ−２は、テスト対象の各ブロック部分、４ｅはテストパターンや制御データで制御するテスト対象の制御信号群を示す。
【００１１】
図２は、テストパターン３ａの例を示す図である。図において、３ａ−１は内部バス４ｃが同期するクロック、３ａ−２は内部バス４ｃに出力されているアドレス値、３ａ−３は内部バス４ｃに出力されているデータ値、３ａ−４は内部バス４ｃの制御信号を示す。
【００１２】
次に動作について説明する。スクリプト１に、アドレス０ｘ８０００番地へデータ０ｘ０４０３０２０１の４ｂｙｔｅデータを書き込む記述があった場合、変換ツールで試験データ３のテストパターン３ａと制御データ３ｂを作成する。
【００１３】
変換ツール２は、クロック３ａ−１に対して、システムＬＳＩのＣＰＵがアドレス３ａ−２を３クロック出力し、データ３ａ−３をアドレス３ａ−２の開始から１クロック遅れて２クロック出力し、Ｒ／Ｗ３ａ−４をアドレス３ａ−２と同じタイミングで３クロック出力し、連続動作時にはＲｅａｄに戻さないことを示すタイミング情報と、リトルエンディアンで動作する情報を保持している。
【００１４】
作成した試験データ３は、システムＬＳＩのシミュレーション・モデル４のテストベンチ４ａにより、ＣＰＵ用擬似的なバス・ドライバ４ｂから出力される。すなわち、テストデータ３ａは内部バス４ｃに出力されるデータとなる。
【００１５】
そして、スクリプト１に記述されたテスト対象のスクリプト内容に従い、ブロック１（４ｄ−１）やブロック２（４ｄ−２）の検証を行う。
【００１６】
以上のように、本発明では、試験データを内部バスのクロックに対する各信号の変化と定義し、スクリプトには大まかな動作を記述し、変換ツールにより内部バスのクロックに対する各信号に変換する。これにより、設計したシステムＬＳＩの検証に使用する試験データの作成を省力化できる。
【００１７】
また、スクリプトには、大まかな動作のみを記述しているため、変換ツールを変えることで、異なるＣＰＵを内蔵したシステムＬＳＩの同様な機能についても、同じスクリプトを使用して検証できる。
【００１８】
また、１つのスクリプトにテストパターンの情報と制御データの情報を必ず記述してある必要は無く、２つ以上のスクリプトを組み合わせて、試験データを作成しても良い。また、テストパターンのみ流用したい場合は、制御データ部分を別途作成しても良い。
【００１９】
試験データのＲ／Ｗがｒｅａｄである時のデータバスの内容は、テストベンチに通知される。そして、試験データに数値が記述されている場合は、テストベンチにてチェックを行う。尚、チェックする機能は、テストベンチでなく、ＣＰＵ用擬似的なバス・ドライバ部分に持たせても良い。
【００２０】
実施の形態２．
本実施の形態では、実施の形態１の構成をベースに、アーキテクチャ対応表を保持する変換ツールを使用する例を説明する。
【００２１】
図３は、実施の形態２におけるシステム構成例を示す図である。本形態では、異なるＣＰＵ用のアーキテクチャ対応表を保持する変換ツールにて、試験データを作成する。これにより、実施の形態１で示したスクリプトを、バス幅の異なるＣＰＵを内蔵したシステムＬＳＩの機能検証に使用することができる。
【００２２】
図において、１は異なったＣＰＵに対応したスクリプト、１０２は異なるＣＰＵに対応したスクリプトを試験データに変換する変換ツール、１０２ａは異なるＣＰＵに対応するためのアーキテクチャ対応表、１０３は試験データ、１０３ａはテスト対象を検証する試験データのテストパターン部分、１０３ｂはテスト対象を制御するテストベンチ部分の制御データ、１０４はシステムＬＳＩのシミュレーション・モデルの構成、１０４ａはシミュレーション・モデルに使用するテストベンチ部分、１０４ｂはシミュレーション・モデルに使用するＣＰＵ用擬似的なバス・ドライバ、１０４ｃはＣＰＵ用擬似的なバス・ドライバとテスト対象がつながるシステムＬＳＩの内部バス、１０４ｄはシミュレーション・モデルにおけるテスト対象、１０４ｄ−１から１０４ｄ−２は、テスト対象の各ブロック部分、１０４ｅはテストパターンや制御データで制御するテスト対象の制御信号群を示す。
【００２３】
尚、ＣＰＵの試験データ１０３、及びＣＰＵのシステムＬＳＩのシミュレーション・モデル１０４の構成は、実施の形態１における試験データ３、及びのシミュレーション・モデル４の構成と同様である。
【００２４】
図４は、アーキテクチャ対応表１０２ａの例を示す図である。アーキテクチャ対応表１０２ａは、大きくＣＰＵ部対応表１０２ａ−１とブロック部対応表１０２ａ−２に分かれている。また、ブロック部対応表１０２ａ−２は、システムＬＳＩのテスト対象１０４ｄの各ブロックに対応するため、更に細かく分かれている。ブロック１部対応表１０２ａ−２＿１はテスト対象１０４のブロック１（１０４ｄ−１）に対応し、ブロック２部対応表１０２ａ−２＿２はテスト対象１０４のブロック２（１０４ｄ−２）に対応している。各対応表に記載される設定内容については、図中に例を示す。
【００２５】
図５は、実施の形態２におけるテストパターン１０３ａの例を示す図である。
図において、１０３ａ−１は内部バス１０４ｃが同期するクロック、１０３ａ−２は内部バス１０４ｃに出力されているアドレス値、１０３ａ−３は内部バス１０４ｃに出力されているデータ値、１０３ａ−４は内部バス１０４ｃの制御信号を示す。
【００２６】
次に動作について説明する。スクリプト１に、アドレス０ｘ８０００番地へデータ０ｘ０４０３０２０１の４ｂｙｔｅデータを書き込む記述があった場合には、変換ツール１０２で試験データ１０３のテストパターン１０３ａと制御データ１０３ｂを作成する。
【００２７】
アーキテクチャ対応表１０２ａは、クロック１０３ａ−１に対して、システムＬＳＩのＣＰＵがアドレス１０３ａ−２を２クロック出力し、データ１０３ａ−３をアドレス１０３ａ−２と同じタイミングで２クロック出力し、Ｒ／Ｗ１０３ａ−４もアドレス３ａ−２と同じタイミングで２クロック出力することを示すタイミング情報と、リトルエンディアンで動作する情報等を保持している。そして、変換ツール１０２は、このアーキテクチャ対応表１０２ａの内容に従い、試験データ１０３を作成する。
【００２８】
作成した試験データ１０３は、システムＬＳＩのシミュレーション・モデル１０４のテストベンチ１０４ａにより、ＣＰＵ用擬似的なバス・ドライバ１０４ｂから出力される。すなわち、テストデータ１０３ａは内部バス１０４ｃに出力されるデータとなる。
【００２９】
そして、スクリプト１に記述されたテスト対象のスクリプト内容に従い、ブロック１（１０４ｄ−１）やブロック２（１０４ｄ−２）の検証を行う。
【００３０】
以上のように、スクリプトに記述した大まかな動作を、内部バスのクロックに対する各信号の変化の試験データに変換する場合に、異なるＣＰＵに対応したシステムＬＳＩのアーキテクチャ対応表を変換ツールに用意することで、変換が容易になり、スクリプトの流用による検証ができる。
【００３１】
実施の形態３．
本実施の形態では、実施の形態２に示した異なるＣＰＵに対応したスクリプトに用いるコマンドの記述方法について説明する。
【００３２】
図６は、スクリプトに用いるコマンドの一覧を示す図である。この例では、コマンドの文字列と引数内容の例を示しているが、この例以外の構成であってもかまわない。
【００３３】
スクリプトのコマンドのｃｈｅｃｋの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す確認機能名称と、その確認機能名称に対応した論理レベルの状態（真／偽）を記述できる。
【００３４】
スクリプトのコマンドのｗａｉｔの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す確認機能名称と、その確認機能名称の示す状態になるまで待つことのできる待ち時間を記述できる。
【００３５】
スクリプトのコマンドのｄｒｉｖｅの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す制御機能名称と、その制御機能名称に対応した論理レベルの制御状態（真／偽）を記述できる。
【００３６】
スクリプトのコマンドのｄｅｌａｙの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す制御機能名称と、その制御機能名称に対応した内部バスに同期したクロックに対する遅延時間を記述できる。
【００３７】
スクリプトのコマンドのｃｏｐｙの引数には、アーキテクチャ対応表１０２ａで指定した複写元の名称と複写先の名称、複写のｂｙｔｅ数を記述できる。また、複写元の名称には、ファイル名や直接数値の指定もできる。複写先の名称には、ファイル名も指定できる。
【００３８】
スクリプトのコマンドのａｄｄ＿ｓｉｇの引数には、アーキテクチャ対応表１０２ａで指定した監視条件と監視回数、指定動作を記述できる。
【００３９】
スクリプトのコマンドのｅｘｔ＿ｓｉｇ＿ｃｈｋの引数には、アーキテクチャ対応表１０２ａで指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている確認信号と、確認信号のｂｉｔ位置に対応したＬＳＩ固有の信号名の判定時の信号の論理（真／偽）を記述できる。
【００４０】
スクリプトのコマンドのｅｘｔ＿ｓｉｇ＿ｄｌｙの引数には、アーキテクチャ対応表１０２ａで指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号と、指定した数値分の内部バスに同期したクロック分あるいはアーキテクチャ対応表１０２に記載した文字列の指定による内部バスに同期したクロック分の遅延を指定する遅延時間の指定を記述できる。
【００４１】
スクリプトのコマンドのｅｘｔ＿ｓｉｇ＿ｄｒｖの引数には、アーキテクチャ対応表１０２ａで指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号と、制御信号を駆動時の信号の論理（真／偽）を記述できる。
【００４２】
スクリプトのコマンドのｅｘｔ＿ｓｉｇ＿ａｄｄの引数には、アーキテクチャ対応表１０２ａで指定した文字列で指定される監視条件と、指定した数値分かアーキテクチャ対応表１０２に記載した文字列の指定による回数分の監視を指定する監視回数、アーキテクチャ対応表１０２ａで指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号と、制御信号を駆動時の信号の論理（真／偽）、指定した数値あるいはアーキテクチャ対応表１０２に記載した文字列の指定による内部バスに同期したクロック数分の挿入クロック数を記述できる。
【００４３】
次に動作について説明する。変換ツールは、スクリプトに記述するコマンドから、試験データ（３，１０３）のテストパターン（３ａ，１０３ａ）と制御データ（３ｂ，１０３ｂ）を生成する。
【００４４】
ｃｈｅｃｋは、制御データに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表から、本コマンドにて指定された確認機能名称に対応した信号のシーケンスと信号レベルをテストベンチ（４ａ，１０４ａ）で確認するための試験データを作成する。本コマンドにて示す状態に対する処理は、アーキテクチャ対応表に記述した内容となる。
【００４５】
ｗａｉｔは、制御データに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表から、本コマンドにて指定された確認機能名称に対応した信号のシーケンスと信号レベルになるまで、テストベンチで待つことのできる時間を指定する試験データを作成する。本コマンドにて示す待ち時間と待ち時間経過後の処理は、アーキテクチャ対応表に記述した内容となる。
【００４６】
ｄｒｉｖｅは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表から、本コマンドにて指定された制御機能名称と制御状態に対応した信号のシーケンスと信号レベルの試験データを作成する。
【００４７】
ｄｅｌａｙは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表から、本コマンドにて指定された制御機能名称と遅延時間を用いて、アーキテクチャに従った試験データを作成する。
【００４８】
ｃｏｐｙは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表から、本コマンドにて指定された複写元の名称と複写先の名称、複写のｂｙｔｅ数を用いて、アーキテクチャに従った試験データを作成する。本コマンドが展開された試験データは、アーキテクチャ対応表のデータ・バス幅やエンディアン、使用するアドレス空間等の指定が反映された内容となる。例えば、図２と図５に示すように、同じ機能を検証するために同じスクリプトを使用できる場合において、バス幅やＣＰＵの書込みシーケンスが異なると、試験データは異なるものとなる。これを、スクリプトのＣｏｐｙで記述し共通化し、変換ツールで異なるＣＰＵの部分を吸収することで、スクリプトの流用が可能となる。また、複写元のデータを別ファイルにて記述することにより、同一機能を複数のデータの組合せにて検証することを容易にする。
【００４９】
ａｄｄ＿ｓｉｇは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、ｃｏｐｙコマンドの前に記述されたａｄｄ＿ｓｉｇを見つけると、アーキテクチャ対応表から、本コマンドにて指定された監視条件と、監視回数、指定動作を用い、監視条件の監視回数出現毎に、指定動作を挿入した試験データを作成する。
【００５０】
Ｅｘｔ＿ｓｉｇ＿ｃｈｋは、制御データに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表で示す２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている確認信号と、確認信号のｂｉｔ位置に対応したＬＳＩ固有の信号名の判定時の信号の論理（真／偽）を、テストベンチで確認するための試験データを作成する。本コマンドにて示す状態に対する処理は、アーキテクチャ対応表に記述した内容となる。
【００５１】
Ｅｘｔ＿ｓｉｇ＿ｄｌｙは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表で指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号に対し、指定した数値分かアーキテクチャ対応表に記載した文字列の指定による内部バスに同期したクロック分の遅延時間分を遅らせた試験データを作成する。アーキテクチャ対応表には、各ｂｉｔに対応した信号名が存在しない信号の場合の処理について、変換ツール時にエラーとするか無視して続行するか等の指定を記述してある。
【００５２】
Ｅｘｔ＿ｓｉｇ＿ｄｒｖは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、アーキテクチャ対応表で指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号に対し、指定されている制御信号の駆動時の信号の論理（真／偽）で駆動する試験データを作成する。アーキテクチャ対応表には、各ｂｉｔに対応した信号名が存在しない信号の場合、変換ツールの処理をエラーとするか無視して続行するか等の指定を記述してある。
【００５３】
Ｅｘｔ＿ｓｉｇ＿ａｄｄは、テストパターンに属する試験データを生成するためのスクリプトのコマンドである。変換ツールは、ｃｏｐｙ等繰り返し動作が行われる処理の前に記述されたＥｘｔ＿ｓｉｇ＿ａｄｄを見つけると、アーキテクチャ対応表で指定した文字列で指定される監視条件と、指定した数値分かアーキテクチャ対応表に記載した文字列の指定による回数分の監視を指定する監視回数を確認し、アーキテクチャ対応表で指定した２進表示した場合の各ｂｉｔに対してＬＳＩ固有の信号名が割り付けられている制御信号を、指定した制御信号を駆動時の信号の論理（真／偽）で、指定した数値かアーキテクチャ対応表に記載した文字列の指定による内部バスに同期したクロック数分の挿入クロック数の信号を繰り返し動作の間に挿入した試験データを作成する。アーキテクチャ対応表には、各ｂｉｔに対応した信号名が存在しない信号の場合、変換ツールの処理をエラーとするか無視して続行するか等の指定を記述してある。
【００５４】
以上のように、スクリプトのコマンドを定義することで、異なるＣＰＵのシステムＬＳＩにおけるＬＳＩ固有の信号を含めて、スクリプトで記述できるようになる。変換ツールは、内部バスのクロックに対する各信号の変化の試験データに変換する場合、異なるＣＰＵに対応したシステムＬＳＩのアーキテクチャ対応表を参照することで、異なるＣＰＵのシステムＬＳＩ固有の処理への変換が容易になる。結果とし、スクリプトの流用が容易にできる。
【００５５】
実施の形態４．
本実施の形態では、実施の形態３で示した異なるＣＰＵに対応したスクリプトのコマンドの記述例について説明する。
【００５６】
図７は、本発明のコマンドを用いて記述したスクリプトの例を示す図である。この例では、コマンドの文字列と引数内容の例を示しているが、この例以外であってもかまわない。
【００５７】
スクリプトのコマンドのｄｒｉｖｅの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す制御機能名称“ＢＬＫ１＿ｅｎ”と、その制御機能名称に対応した制御状態“ｅｎａｂｌｅ”を記述している。スクリプトのコマンドのａｄｄ＿ｓｉｇの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと発生回数を示す監視条件“４Ｂ＿ｃｙｃ＿ｓｅｔ”と、その監視条件の発生を監視する監視回数“１ｔｉｍｅ”、監視条件と回数を満たした時の指定動作“ＢＬＫ１＿ｂｕｆ＿ｅｎ”を記述している。スクリプトのコマンドのｃｏｐｙの引数には、ファイルを示す＄マークの後にデータファイルのファイル名“ＢＬＫ１＿ｄａｔａ＿１”と、アーキテクチャ対応表１０２ａで示す複写先の名称のアドレスであることを示す＆マークの後に“ｆｕｎｃｔｉｏｎ１”、複写のｂｙｔｅ数“８ｂｙｔｅ”を記述している。
【００５８】
図８は、スクリプトのコマンドのｃｏｐｙで指定したデータファイルの内容を示す図である。この例では、３２ｂｉｔのデータが２つあり、一つ目が“０ｘ０１０２０３０４”であり、二つ目が“０ｘ０５０６０７０８”であることが記述されている。
【００５９】
図９は、実施の形態４における試験データの例を示す図である。この試験データは、図７のスクリプトと図８のデータファイルを、アーキテクチャ対応表を持つ変換ツールを使用して作成したものである。使用したアーキテクチャ対応表には、データバス幅が８ｂｉｔ、エンディアンがリトルエンディアン、ｗｒｉｔｅ動作は４クロック使用し、アドレスは先頭のクロックから１クロック遅れて出力され、データは先頭のクロックから２クロック遅れて出力され、ｗｒｉｔｅ動作時のＲ／Ｗ信号は先頭のクロックから１クロック遅れて出力される設定が記述されている。また、連続したｗｒｉｔｅ動作の場合、Ｒ／Ｗ信号の先頭のクロック部分は前の動作に影響を受け、ｗｒｉｔｅ動作の間のＲ／Ｗ信号はｗｒｉｔｅから変換させない設定も記述されている。
【００６０】
ＢＬＫ１＿ｅｎ信号は、クロックに依存せずドライブされる。ＢＬＫ１＿Ｂｕｆ信号は、ｅｎａｂｌｅ動作が３クロックで完了する信号であり、先頭のクロックから１クロック遅れてイネーブルに１クロック分のみなる信号である。
【００６１】
図１０は、試験データの別の記述例を示す図である。この試験データも、図７のスクリプトと図８のデータファイルを、アーキテクチャ対応表を持つ変換ツールを使用して作成したものである。
【００６２】
データは、大きく４つの部位から構成され、先頭にクロックを示し、次にアドレス、次にデータ、最後に制御データを示す。制御データは、各ｂｉｔが信号に対応している。図では、制御信号を３２ｂｉｔで示し、最下位の０ｂｉｔ目（ＬＳＢ）にＢＬＫ１＿ｅｎ信号を割り当て、４ｂｉｔ目にＢＬＫ１＿Ｂｕｆ信号を割り当て、１６ｂｉｔ目（ＬＳＢ）にＲ／Ｗ信号を割り当てている。
【００６３】
次に動作について説明する。図７で示すスクリプトの動作は、初めに“ＢＬＫ１＿ｅｎ”信号をｅｎａｂｌｅにした後、ｆｕｎｃｔｉｏｎ１のアドレスに３２ｂｉｔのデータを２回書き込むものである。そして、書き込み時に、４ｂｙｔｅ書き込む毎に“ＢＬＫ１＿Ｂｕｆ”信号を有効にする動作を行う検証を示す。このスクリプトを変換ツールで変換することで、図９や図１０のデータが作成できる。
【００６４】
図９と図１０の内容は、実質的に同一である。図は、バスのクロックに対する各信号の変化を示し、データが３２ｂｉｔであり、バスが８ｂｉｔのリトルエンディアンであることから、下位アドレスに下位データが格納されるシーケンスに展開される。そして、４Ｂｙｔｅの処理毎にＢＬＫ１＿Ｂｕｆ信号を有効にしている。
【００６５】
以上のように、定義したスクリプトのコマンドを用いることで、異なるＣＰＵのシステムＬＳＩにおけるＬＳＩ固有の信号を含め、スクリプトに記述できるようになる。変換ツールは、内部バスのクロックに対する各信号の変化の試験データに変換する場合、異なるＣＰＵに対応したシステムＬＳＩのアーキテクチャ対応表に従い変換することで、試験データの記述が容易になる。また、クロックに対応した信号の変換は、データ量が多く単調であるため、人手にて作成していると間違いが発生しやすく、人為的ミスの防止にも役立つ。結果として、品質の良い、スクリプトが容易に作成できる。
【００６６】
尚、図１０の試験データのデータ構成は、４つの塊である必要はなく、この例は一つ以上のデータで構成されていることを示している。また、クロックは、必ず必要なデータでなく、１行を１クロックと定義し、記述を省いてもよい。
【００６７】
実施の形態５．
本実施の形態では、実施の形態３で示した異なるＣＰＵに対応したスクリプトのコマンドのｃｏｐｙの記述にてアドレス修飾する例について説明する。
【００６８】
図１１は、コマンドのｃｏｐｙを用いてアドレス修飾の記述したスクリプトの例を示す図である。この例では、コマンドの文字列と引数内容を示しているが、この例以外であってもかまわない。
【００６９】
スクリプトのコマンドのｃｏｐｙの引数には、括弧にて囲まれた中にアーキテクチャ対応表１０２ａで示す複写元の名称のアドレスであることを示す＆マークの後に“ｂｕｆ＿ａｄｄ１”と、アーキテクチャ対応表１０２ａで示す複写先の名称のアドレスであることを示す＆マークの後に“ｆｕｎｃｔｉｏｎ１”、複写のｂｙｔｅ数“２ｂｙｔｅ”を記述している。
【００７０】
図１２は、実施の形態５における試験データの例を示す図である。この試験データは、図１１のスクリプトを、アーキテクチャ対応表を持つ変換ツールを使用して作成したものである。使用したアーキテクチャ対応表には、データバス幅が８ｂｉｔ、エンディアンがリトルエンディアン、ｒｅａｄ／ｗｒｉｔｅ動作ともに４クロック使用し、アドレスは先頭のクロックから１クロック遅れて出力され、データは先頭のクロックから２クロック遅れて出力され、Ｒ／Ｗ信号は先頭のクロックから１クロック遅れて出力される設定が記述されている。アーキテクチャ対応表１０２ａで“ｂｕｆ＿ａｄｄ１”は、０ｘ４０００のアドレスであることを示し、更に、  “ｆｕｎｃｔｉｏｎ１”は、０ｘ２０００のアドレスであることを示している。
【００７１】
ＢＬＫ１＿ｅｎ信号は、クロックに依存せずドライブされる。Ｂｕｆ＿ｅｎ信号は、ｅｎａｂｌｅ動作が３クロックで完了する信号であり、先頭のクロックから１クロック遅れてイネーブルに１クロック分のみなる信号である。
【００７２】
ＣＰＵ用擬似的なバス・ドライバ１０４ｂに内蔵するアドレス用レジスタ“ｒ＿ａｄ”は３２ｂｉｔで構成され、８ｂｉｔ単位時は下位から順に“ｒ＿ａｄ（ＬＬ）”，“ｒ＿ａｄ（ＬＨ）”，“ｒ＿ａｄ（ＨＬ）”，“ｒ＿ａｄ（ＨＨ）”と表示し、１６ｂｉｔ単位時は下位から順に、“ｒ＿ａｄ（Ｌ）”，“ｒ＿ａｄ（Ｈ）”と表示し、３２ｂｉｔ単位時は“ｒ＿ａｄ”と表示している。ＣＰＵ用擬似的なバス・ドライバ１０４ｅに内蔵するバスのデータを一時保持するレジスタは“ｒｅｇ＿ｄａｔａ”と表示している。
【００７３】
図１３は、実施の形態５における試験データの別の記述例を示す図である。図１１のスクリプトを、アーキテクチャ対応表を持つ変換ツールを使用して作成した試験データの別の記述方法を示す。
【００７４】
データは、大きく４つの部位から構成され、先頭にクロックを示し、次にアドレス、次にデータ、最後に制御データを示す。制御データは、各ｂｉｔが信号に対応している。この例では、制御信号を３２ｂｉｔで示し、最下位の０ｂｉｔ目（ＬＳＢ）にＢＬＫ１＿ｅｎ信号を割り当て、４ｂｉｔ目にＢＬＫ１＿ｂｕｆ信号を割り当て、１６ｂｉｔ目（ＬＳＢ）にＲ／Ｗ信号を割り当てている。
【００７５】
アーキテクチャ対応表１０２ａで“ｂｕｆ＿ａｄｄ１”は、０ｘ４０００のアドレスであることを示し、更に“ｆｕｎｃｔｉｏｎ１”は、０ｘ２０００のアドレスであることを示している。ＣＰＵ用擬似的なバス・ドライバ１０４ｂに内蔵するアドレス用レジスタ“ｒ＿ａｄ”は３２ｂｉｔで構成され、８ｂｉｔ単位時は下位から順に“ｒ＿ａｄ（ＬＬ）”，“ｒ＿ａｄ（ＬＨ）”，“ｒ＿ａｄ（ＨＬ）”，“ｒ＿ａｄ（ＨＨ）”と表示し、１６ｂｉｔ単位時は下位から順に、“ｒ＿ａｄ（Ｌ）”，“ｒ＿ａｄ（Ｈ）”と表示し、３２ｂｉｔ単位時は“ｒ＿ａｄ”と表示している。ＣＰＵ用擬似的なバス・ドライバ１０４ｂに内蔵するバスのデータを一時保持するレジスタは“ｒｅｇ＿ｄａｔａ”と表示している。
【００７６】
次に動作について説明する。図１１で示すスクリプトは、動作として、初めにアドレス修飾の記述部分であるｂｕｆ＿ａｄｄ１のアドレス値を読み込み、読み込んだアドレス値のデータを２ｂｙｔｅ読み込み、ｆｕｎｃｔｉｏｎ１のアドレスに書き込むことを示している。
【００７７】
図１１を変換ツールで変換した図１２の試験データは、初めにアドレス修飾の記述部分であるｂｕｆ＿ａｄｄ１のアドレス値の０ｘ４０００からアドレス用データ３２ｂｉｔ分を８ｂｉｔ単位で４回読み込み、ＣＰＵ用擬似的なバス・ドライバのアドレス用レジスタに格納する。次に、ＣＰＵ用擬似的なバス・ドライバのアドレス用レジスタに格納したアドレスから８ｂｉｔデータを読み込みＣＰＵ用擬似的なバス・ドライバのデータ用レジスタに格納する。そして、複写先であるｆｕｎｃｔｉｏｎ１のアドレス値の０ｘ２０００に書き込む。ｃｏｐｙコマンドの複写ｂｙｔｅ数が２ｂｙｔｅのため、さらに、ＣＰＵ用擬似的なバス・ドライバのアドレス用レジスタに格納したアドレスに＋１加算したアドレス値から８ｂｉｔデータを読み込みＣＰＵ用擬似的なバス・ドライバのデータ用レジスタに格納する。そして、複写先であるｆｕｎｃｔｉｏｎ１のアドレス値に＋１加算した０ｘ２００１に書き込む。
【００７８】
図１３は、図１２と違う形式に変換した試験データであり、図１２と図１３の内容は実質的に同一である。
【００７９】
以上のように、ＣＰＵ用擬似的なバス・ドライバに、アドレス用レジスタとデータ用レジスタを内蔵させることで、テスト対象のブロック間のデータ転送やＣＰＵ用擬似的なバス・ドライバに内蔵させたメモリ空間のデータを使用した検証が可能となる。
【００８０】
図１１のスクリプトは、図で示す表示方法以外の記述でも問題ない。また、ここでは、ＣＰＵ用擬似的なバス・ドライバに、アドレス用レジスタとデータ用レジスタを内蔵させているが、データ保持用のアドレス空間を用意し、レジスタの代わりにデータ保持用として使用してもよい。データ保持用のレジスタは、一つである必要は無く、複数個用意してもよい。
【００８１】
図１３で示すクロック、アドレス、データ、制御データのｂｙｔｅ数は、記述されているｂｙｔｅ数以外でも問題ない。また、ｂｙｔｅの単位に囚われずｂｉｔ単位で記述しても問題ない。
【００８２】
実施の形態６．
本実施の形態では、実施の形態４のスクリプトに使用するアーキテクチャ対応表の記述例について説明する。
【００８３】
図１４は、アーキテクチャ対応表のＣＰＵ部対応表の例を示す図である。この表は、図７のスクリプトを図１０の試験データに変換するために用いられる。また、図１５に、ブロック部対応表の例を示す。この図では、１つのファイルに記述した例を示しているが、複数のファイルに分割したり、この例以外であってもかまわない。
【００８４】
図１４の先頭には、記述した部位を示す“ｐａｒｔｓ＝ＣＰＵ”、バス幅を示す“ｓｙｓｔｅｍ＿ｂｕｓ＝８ｂｉｔ”の表示、エンディアンを示す“Ｅｎｄｉａｎ＝ｌｉｔｔｌｅ”、アドレスのｂｉｔ幅である“Ａｄｒｅｓｓ＝３２ｂｉｔ”  を記述する。そして、バスの動作を示す部分として、“Ｂｕｓ＿ｓｉｇ”で囲んだ動作シーケンス部分を記述する。
【００８５】
“Ｂｕｓ＿ｓｉｇ”で囲んだ中には、単一書込み時のシーケンスを示す“ｍｏｎｏ−ｗｒｉｔｅ”、連続書込み時のシーケンスを示す“ｂｕｒｓｔ−ｗｒｉｔｅ”、単一読み込み時のシーケンスを示す“ｍｏｎｏ−ｒｅａｄ”、単一読み込み時のシーケンスを示す“ｂｕｒｓｔ−ｒｅａｄ”等を記述する。単一書込みシーケンス“ｍｏｎｏ−ｗｒｉｔｅ”の詳細は、“ｍｏｎｏ−ｗｒｉｔｅ”直後の数値“４”がシーケンスのクロック数を示し、更に  アドレス信号の動作シーケンスの“ａｄｄ”、データ信号の動作シーケンスの“ｄａｔａ”、Ｒ／Ｗ信号の動作シーケンスの“ｒｗ”が制御されることを示している。それぞれの信号は、入出力と動作シーケンスの情報を持つ。
【００８６】
単一書込みシーケンス“ｍｏｎｏ−ｗｒｉｔｅ”の“ａｄｄ”では、バスへの出力信号であることを示す“ｏ”の後に、４クロックの動作シーケンスが無効−＞有効−＞有効−＞有効と変化することを示す“０１１１”を記述する。この時、前の動作により、バスの出力が変わる場合、連続書込み時のシーケンスを示す“ｂｕｒｓｔ−ｗｒｉｔｅ”のＲ／Ｗ信号の動作シーケンスの“ｒｗ”の４クロックの動作シーケンスに示す様に、“ｘ”を記述する。
【００８７】
制御信号部分は、“Ｃｔｒｌ＿ｓｉｇ”で囲み、信号名“ＢＬＫ１＿ｅｎ”、入出力が出力“ｏ”、動作クロック数で“０”の場合はセット後リセットまで保持の意味に使用し、有効時の信号の論理レベル“ｅｎ”、無効時の信号の論理レベル“ｄｉｓ”を設定する。
メモリ空間のアドレスを示す“Ａｄｄｒｅｓｓ”には、名称“ｂｕｆ＿ａｄｄ１”の開始アドレス“０ｘ４０００”と連続領域“３２ｂｙｔｅ”を記述する。
【００８８】
図１５の先頭には、記述した部位を示す“ｐａｒｔｓ＝Ｂｌｏｃｋ１”を記述し、割り込み動作シーケンスと状態を示す“ｉｎｔ＿ｃｏｎｄｉｔｉｏｎ”には、割り込み発生要因の設定条件“ｓｅｔ”、割り込み発生条件“ｃｏｎｄｉｔｉｏｎ”、割り込み解除の条件“ｒｅｓｅｔ”を記述している。
【００８９】
図１４のアーキテクチャ対応表のＣＰＵ部対応表の例で記述したアドレス“ａｄｄｒｅｓｓ”は、図１５では開始アドレス“０ｘ２０００”と占有領域“８ｋｂｙｔｅ”を示している。
【００９０】
ブロック１のメモリマップ情報として、レジスタとしての使用アドレス“ｆｕｎｃ＿ｒｅｇ”には先頭のアドレス“０ｘ２１００”と連続するアドレス空間“１６ｂｙｔｅ”、バッファとしての使用アドレス“ｆｕｎｃ＿ｂｕｆ”には先頭のアドレス“０ｘ２０００”と連続するアドレス空間“３２ｂｙｔｅ”、ブロック内部のバスの仕様“ｆｕｎｃ＿ｂｕｓ”にはバス幅“８ｂｉｔ”とエンディアン“ｌｉｔｔｌｅ”を記述している。
【００９１】
バスの動作を示す部分として、“Ｂｕｓ＿ｓｉｇ”で囲んだ動作シーケンス部分を記述する。記述内容は図１４と同様だが、ブロックはバスに対し主にスレーブとなるので、入出力の記述が図１４と逆になる。
【００９２】
制御信号部分は、“Ｃｔｒｌ＿ｓｉｇ”で囲み、図１４と同様の記述方法で記述するが、入出力部分のみ、入力かあるいはブロック自身が出力するかで表記が異なる。
【００９３】
図１６は、バス幅や動作シーケンスが異なるアーキテクチャ対応表のＣＰＵ部対応表の例を示す図である。記述方法は、図１４と同様である。
【００９４】
図１７は、バス幅や動作シーケンスが異なるアーキテクチャ対応表のＣＰＵ部対応表（図１６）に接続されたブロック部対応表の例である。記述方法は、図１５と同様である。
【００９５】
次に動作について説明する。図７で示すスクリプトを、図１４と図１５の内容のアーキテクチャ対応表を使用した変換ツールにて、試験データに変換すると図９や図１０になる。
【００９６】
図７で示すスクリプトの動作は、“ＢＬＫ１＿ｅｎ”を駆動した後、３２ｂｙｔｅのデータを２回、ｆｕｎｃｔｉｏｎ１で示すアドレスに書き込み、４ｂｙｔｅ書き込む毎に“ＢＬＫ１＿ｂｕｆ”を出力するものである。
【００９７】
このため、図１４と図１５の記述に従い変換した場合、データバスが８ｂｉｔであり、書込み動作シーケンスが４クロック、“ＢＬＫ１＿ｂｕｆ”の動作シーケンスが３クロックであるため、変換した試験データは図９や図１０になる。
【００９８】
これに対し、図７で示すスクリプトを、図１６と図１７の内容のアーキテクチャ対応表を使用した変換ツールにて、試験データに変換すると図１８や図１９になる。
【００９９】
これは、図１６と図１７の記述に従い変換した場合、データバスが１６ｂｉｔであり、書込み動作シーケンスが３クロック、“ＢＬＫ１＿ｂｕｆ”の動作シーケンスが３クロックであるため、異なった試験データが生成できる。
【０１００】
これらの機能は、実質的に同一であるため、同一機能を検証するための試験データとしては有効な試験データとなる。
【０１０１】
以上のように、アーキテクチャ対応表に構成情報であるメモリマップの機能や、バス幅、エンディアン、波形情報としての各信号のクロックに対する動作シーケンスを持たせることにより、従来使用していた試験データを、新規開発のＬＳＩに流用する際に、ＣＰＵの変更やアドレス空間の配置変更にも対応できるようになる。
【０１０２】
図１４から図１７のアーキテクチャ対応表は、図で示す表記方法以外の記述でも、試験データ作成時の情報を保持できる内容であれば問題ない。また、ここでは、文字列を使用しているが、行に対応して数値のみの記述や、相対アドレスに対応したバイナリデータとしても問題ない。
【０１０３】
実施の形態７．
本実施の形態では、実施の形態３で示した異なるＣＰＵに対応したスクリプトのコマンドを用いたＬＳＩ固有信号に対する記述例について説明する。
【０１０４】
図２０は、ＬＳＩ固有の信号を確認するためのコマンドの記述例を示す図である。図は、コマンドの一つ目の引数が１６ｂｉｔで各ｂｉｔに信号が割り付けられ、ニつ目の引数も１６ｂｉｔで各ｂｉｔに信号の確認時の論理条件が割り付けられている。
各ｂｉｔの意味付けを、図２０の「ＬＳＩ固有信号の対応表」に示す。
【０１０５】
次に動作について説明する。図２０の一つ目の引数は、１６ｂｉｔで示され各ｂｉｔに信号が割り当てられ、“１”にすることで、その信号の確認を行うことを示す。そして、一つ目の引数と二つ目の引数を示すｂｉｔ数は同じであり、同じ位置のｂｉｔに対し、確認時の論理の条件を示す。図の引数は、１６ｂｉｔになっているが、１６ｂｉｔ固定の必要は無く、使用する信号数に合わせて拡張することが可能である。また、ここでは、一度に複数の信号と信号の論理条件を指定できるようにしているため、ＬＳＩ固有信号部分と信号の条件部分が同一のｂｉｔ数になっているが、論理条件を単一にしたり、組合せを決め数値や文字列で指定しても問題ない。
【０１０６】
以上のように、スクリプトのコマンドで指定するＬＳＩ固有の信号を、ｂｉｔに割り付けることにより、従来使用していた試験データを、新規開発のＬＳＩに対し、ＣＰＵの変更や、アドレス空間の配置変更にも対応して流用可能となる。
【０１０７】
また、変換ツールに、対応しない固有信号が発生した場合にエラーを表示させる機能を追加することで、流用時のアーキテクチャ対応表の記載情報漏れを確認することができる。
【０１０８】
従来使用していたＬＳＩ固有信号を使用しなくなった場合は、無視する様に、アーキテクチャ対応表に記載することで、確認をせず検証を継続する試験データの作成を可能とし、試験データの流用性が向上する。
【０１０９】
実施の形態８．
実施の形態２で示した異なるＣＰＵに対応したスクリプトを使用するシステムＬＳＩのシミュレーション・モデルにおいて、テストベンチの機能を包含したＣＰＵ用擬似的なバス・ドライバのみにした場合について説明する。
【０１１０】
図２１は、実施の形態８におけるシステム構成例を示す図である。図において、１は異なったＣＰＵに対応したスクリプト、１０２は異なるＣＰＵに対応したスクリプトを試験データに変換する変換ツール、１０２ａは異なるＣＰＵに対応するためのアーキテクチャ対応表、１０３は試験データ、１０３ａはテスト対象を検証する試験データのテストパターン部分、１０３ｂはテスト対象を制御するテストベンチ部分の制御データ、２０４はシステムＬＳＩのシミュレーション・モデルの構成、２０４ｃはＣＰＵ用擬似的なバス・ドライバとテスト対象がつながるシステムＬＳＩの内部バス、２０４ｄはシミュレーション・モデルにおけるテスト対象、２０４ｄ−１から２０４ｄ−２は、テスト対象の各ブロック部分、２０４ｅはテストパターンや制御データで制御するテスト対象の制御信号群、２０４ｆはシミュレーション・モデルに使用するテストベンチ機能を含んだシミュレーション・モデルに使用するＣＰＵ用擬似的なバス・ドライバを示す。
【０１１１】
次に動作について説明する。実施の形態２と同様に作成された試験データは、テストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバ２０４ｆに与えられる。テストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバは、試験データを読み込み、システムＬＳＩの内部バスに出力するデータか、あるいはシステムＬＳＩの内部バスのデータやテスト対象の制御信号群に対するデータかを判断する。システムＬＳＩの内部バスに出力するデータと判断した場合は、システムＬＳＩの内部バスに出力する。テストベンチとして機能であるデータの確認や制御信号の出力、信号の変化待ち等のデータの場合は、コマンドに従いシステムバスの動作を行う。例えば、信号を駆動しない単純な待ちの場合は、クロックのみ動作させる。
【０１１２】
以上のように、ＣＰＵ用擬似的なバス・ドライバに、テストベンチ機能を内蔵することで、バスの読み込み動作時のデータを、テストベンチに渡す機能等を特別に作成する必要が無くなる。
【０１１３】
この例では、テストベンチの機能を、ＣＰＵ用擬似的なバス・ドライバに内蔵させたが、逆に、テストベンチに、ＣＰＵ用擬似的なバス・ドライバの機能を内蔵させても問題ない。
【０１１４】
このように、テストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバにすることで、テストベンチとＣＰＵ用擬似的なバス・ドライバを別々に作成するよりも、容易に同様の機能を実現できる。また、様々なテスト対象の組合せをひとつのテストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバにて検証を行うことで、検証環境作成の手間が簡略化できる。
【０１１５】
実施の形態９．
実施の形態８で示した異なるＣＰＵに対応したスクリプトを使用するシステムＬＳＩのシミュレーション・モデルにおいて、変換ツールを用いて作成した試験データの制御データの記述方法について説明する。
【０１１６】
図２２は、実施の形態９におけるスクリプトの例を示す図である。実施の形態３で示した異なったＣＰＵに対応したスクリプトを用いて記述している。スクリプトのコマンドのｄｒｉｖｅの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと信号レベルを示す制御機能名称“ＢＬＫ１＿ｅｎ”と、その制御機能名称に対応した制御状態“ｅｎａｂｌｅ”を記述し、スクリプトのコマンドのａｄｄ＿ｓｉｇの引数には、アーキテクチャ対応表１０２ａで指定したシーケンスと発生回数を示す監視条件“４Ｂ＿ｃｙｃ＿ｓｅｔ”と、その監視条件の発生を監視する監視回数“１ｔｉｍｅ”、監視条件と回数を満たした時の指定動作“ＢＬＫ１＿ｂｕｆ＿ｅｎ”を記述し、スクリプトのコマンドのｃｏｐｙの引数には、ファイルを示す＄マークの後にデータファイルのファイル名“ＢＬＫ１＿ｄａｔａ＿２”と、アーキテクチャ対応表１０２ａで示す複写先の名称のアドレスであることを示す＆マークの後に“ｆｕｎｃｔｉｏｎ１”、複写のｂｙｔｅ数“８ｂｙｔｅ”を記述している。
【０１１７】
図２３は、スクリプトのコマンドのｃｏｐｙで指定したデータファイルの内容を示す。データは、３２ｂｉｔのデータが２つあり、一つ目が“０ｘ０１０２０３０４”であり、二つ目が“０ｘ０５０６０７０８”であることが記述されている。
【０１１８】
図２４は、試験データの制御データ部分の例を示す図である。この例は、図２２のスクリプトと図２３のデータファイルを、アーキテクチャ対応表を持つ変換ツールを使用して作成したものである。“ｅｘｅｃ  ＃００００，＃００３８”は変換したテストパターンの内で内部バスに出力するテストパターンのクロックの範囲を示し、“ｗａｉｔ  ０ｘ０００１  ０ｘ０００１”はテストパターン出力後のテストベンチとしての動作を示す。
【０１１９】
次に動作について説明する。システムＬＳＩのシミュレーション・モデルにて検証を行う場合、スクリプトを変換ツールにより変換し、試験データのテストパターンと制御データを作成する。そして、検証を行うため、テストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバに制御データを入力する。テストベンチ機能部は、制御データを解析し、テストパターンのクロック＃００００から＃００３８までを実行し、その後、確認機能名称のｂｉｔ位置で示される機能が有効になることを１５クロック待つ動作をする。
【０１２０】
以上のように、異なったＣＰＵに対応するスクリプトを使用し、変換ツールで試験データをテストパターン部と制御データ部に分けることで、連続したテストパターンの途中で、信号の変化の確認を行うことができる。
【０１２１】
尚、試験データは、必ず二つである必要は無く、１つのみや３つ以上で構成してもよい。
【０１２２】
実施の形態１０．
実施の形態８で示した異なるＣＰＵに対応したスクリプトを使用するシステムＬＳＩのシミュレーション・モデルにおいて、変換ツールを用いて作成した試験データについて、テストパターンと制御データを混在して記述する方法について説明する。
【０１２３】
図２５は、図２２の異なったＣＰＵに対応したスクリプトと図２３のデータから作成した試験データである。上部の点線で囲った部分がテストパターン部分で、下部の点線で囲った部分が制御データ部分を示す。
【０１２４】
次に動作について説明する。システムＬＳＩのシミュレーション・モデルにて検証を行う場合、スクリプトを変換ツールを用いて、試験データを作成する。そして、検証を行うため、テストベンチの機能を持ったＣＰＵ用擬似的なバス・ドライバに試験データを入力する。テストベンチ機能部は、試験データを解析し、テストパターン部分を示す“＃”のクロック＃００００から＃００３８までを実行し、その後、確認機能名称のｂｉｔ位置で示される機能が有効になることを１５クロック待つ動作をする。
【０１２５】
以上のように、ひとつのファイルの情報で、実施の形態９と同じ動作を行うことができる。このため、論理検証時の試験データの管理が容易になる。
【０１２６】
また、ひとつのファイルにすることにより、クロック表記を省くこともできるため、試験データのパターンの増大や試験データ事態の増大時に、試験データのファイル容量を従来より小さくできる。
【０１２７】
スクリプト記憶部、変換ツール、試験データ記憶部を含む試験データ作成装置は、コンピュータとしてプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
【０１２８】
変換ツールにより、特定のＣＰＵに対応した試験データを異なったＣＰＵに対するスクリプトに変換することも考えられる。
【図面の簡単な説明】
【０１２９】
【図１】実施の形態１におけるシステム構成例を示す図である。
【図２】テストパターン３ａの例を示す図である。
【図３】実施の形態２におけるシステム構成例を示す図である。
【図４】アーキテクチャ対応表１０２ａの例を示す図である。
【図５】実施の形態２におけるテストパターン１０３ａの例を示す図である。
【図６】スクリプトに用いるコマンドの一覧を示す図である。
【図７】実施の形態４におけるスクリプトの例を示す図である。
【図８】スクリプトのコマンドのｃｏｐｙで指定したデータファイルの内容を示す図である。
【図９】実施の形態４における試験データの例を示す図である。
【図１０】実施の形態４における試験データの別の記述例を示す図である。
【図１１】コマンドのｃｏｐｙを用いてアドレス修飾の記述したスクリプトの例を示す図である。
【図１２】実施の形態５における試験データの例を示す図である。
【図１３】実施の形態５における試験データの別の記述例を示す図である。
【図１４】アーキテクチャ対応表のＣＰＵ部対応表の例を示す図である。
【図１５】ブロック部対応表の例を示す図である。
【図１６】バス幅や動作シーケンスが異なるアーキテクチャ対応表のＣＰＵ部対応表の例を示す図である。
【図１７】ＣＰＵ部対応表（図１６）に接続されたブロック部対応表の例を示す図である。
【図１８】実施の形態６における試験データの例を示す図である。
【図１９】実施の形態６における試験データの別の記述例を示す図である。
【図２０】ＬＳＩ固有の信号を確認するためのコマンドの記述例を示す図である。
【図２１】実施の形態８におけるシステム構成例を示す図である。
【図２２】実施の形態９におけるスクリプトの例を示す図である。
【図２３】ｃｏｐｙで指定したデータファイルの例を示す図である。
【図２４】試験データの制御データ部分の例を示す図である。
【図２５】実施の形態１０における試験データの例を示す図である。
【符号の説明】
【０１３０】
１  スクリプト、２  変換ツール、３  試験データ、３ａ  テストパターン部分、３ｂ  制御データ、４  シミュレーション・モデル、４ａ  テストベンチ部分、４ｂ  ＣＰＵ用擬似的なバス・ドライバ、４ｃ  内部バス、４ｄ  テスト対象、４ｄ−１  ブロック１、４ｄ−２  ブロック２、４ｅ  制御信号群、１０２  変換ツール、１０２ａ  アーキテクチャ対応表、１０３  試験データ、１０３ａ  テストパターン部分、１０３ｂ  制御データ、１０４  シミュレーション・モデル、１０４ａ  テストベンチ部分、１０４ｂ  ＣＰＵ用擬似的なバス・ドライバ、１０４ｃ  内部バス、１０４ｄ  テスト対象、１０４ｄ−１  ブロック１、１０４ｄ−２  ブロック２、１０４ｅ  制御信号群、２０４  シミュレーション・モデル、２０４ｃ  内部バス、２０４ｄ  テスト対象、２０４ｄ−１  ブロック１、２０４ｄ−２  ブロック２、２０４ｅ  制御信号群、２０４ｆ  ＣＰＵ用擬似的なバス・ドライバ。
【図１】
2005174112.tif 000003
【図２】
2005174112.tif 000004
【図３】
2005174112.tif 000005
【図４】
2005174112.tif 000006
【図５】
2005174112.tif 000007
【図６】
2005174112.tif 000008
【図７】
2005174112.tif 000009
【図８】
2005174112.tif 000010
【図９】
2005174112.tif 000011
【図１０】
2005174112.tif 000012
【図１１】
2005174112.tif 000013
【図１２】
2005174112.tif 000014
【図１３】
2005174112.tif 000015
【図１４】
2005174112.tif 000016
【図１５】
2005174112.tif 000017
【図１６】
2005174112.tif 000018
【図１７】
2005174112.tif 000019
【図１８】
2005174112.tif 000020
【図１９】
2005174112.tif 000021
【図２０】
2005174112.tif 000022
【図２１】
2005174112.tif 000023
【図２２】
2005174112.tif 000024
【図２３】
2005174112.tif 000025
【図２４】
2005174112.tif 000026
【図２５】
2005174112.tif 000027