(57)【要約】本発明は、構成可能なハードウェアを分解し、検証するための方法及び装置を含む。１つの実施において、この方法は、ハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、該ユニットの組の各々についてテストベンチを作成し、ハードウェア・システム設計を検証する前に該ユニットの組の各々を検証するステップを含む。【特許請求の範囲】
【請求項１】
ハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、
前記ユニットの組の各々についてテストベンチを作成し、
前記ハードウェア・システムを検証する前に、前記ユニットの組の各々を検証する、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項２】
前記ユニットの組が構成可能なハードウェア・ライブラリにおいて定義され、前記システムが構成データ・ストレージ・ユニットにおいて指定されることを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記構成データが階層言語で表され、前記構成可能なハードウェア・ライブラリがハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記テストベンチが、各ユニット接続に取り付けられたモデルを含み、前記モデルは、前記ユニットのパラメータに従って該ユニットとの間でデータを送受信することを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項５】
１つ又はそれ以上の階層レベルからなる構成可能なハードウェア・システム設計階層の第１のレベルにおける１つ又はそれ以上のユニットの組を、前記ハードウェア・システム設計階層の最も低いレベルの１つ又はそれ以上のユニットの組に自動的に分解し、
前記ハードウェア・システム設計階層の各階層レベルのユニットを、前記最も低いレベルから前記第１のレベルまで連続的に個別に検証し、テストベンチが一連のレベルの各々の各ユニットについて動的に構築されるようになる、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項６】
前記自動的に分解するステップが、構成データ及び構成可能なハードウェア・ライブラリのコンテンツに基づいていることを特徴とする請求項５に記載のコンピュータにより実施される方法。
【請求項７】
前記構成データが、前記構成可能なハードウェア・システム設計レベルの組の各々のユニットについてのパラメータを指定することを特徴とする請求項６に記載のコンピュータにより実施される方法。
【請求項８】
前記構成可能なハードウェア・ライブラリが、前記階層レベルの組の各々のユニットを定義することを特徴とする請求項６に記載のコンピュータにより実施される方法。
【請求項９】
構成データの組を、構成可能なハードウェア・ライブラリから選択された対応する構成可能なユニットの定義にマッピングし、１つ又はそれ以上の構成可能なハードウェア・ユニットの組を生成し、
前記構成データに基づいて、前記構成可能なハードウェア・ユニットの組の各々についてテストベンチを動的に生成し、
対応するテストベンチを用いて前記構成可能なハードウェア・ユニットの組の各々について検証し、
検証された前記構成可能なハードウェア・ユニットの組を構成可能なハードウェア・システム内に統合し、
前記構成可能なハードウェア・システムを検証する、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項１０】
前記テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１１】
前記対応する構成可能なユニットの定義がハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１２】
前記構成データがツール制御言語（ＴＣＬ）で表され、該構成データは、前記構成可能なハードウェア・ユニットの組の各々についてのパラメータを定義することを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１３】
前記テストベンチが前記ユニットの各通信経路に接続されたモデルを含むことを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１４】
構成データ及び構成可能なハードウェア・ライブラリに基づいて、より高いレベルの構成可能なハードウェア設計階層からなるシステムから分解された、より低いレベルの構成可能なハードウェア設計階層からなる個々のユニットについて、１つ又はそれ以上のテストベンチの組を構築し、
システム・テストベンチを構築し、
前記個々のユニットを検証した後で前記システムを検証する、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項１５】
前記システムは前記システム・テストベンチを用いて検証され、前記個々のユニットは前記テストベンチの組を用いて検証されることを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１６】
前記テストベンチの組及び前記システム・テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１７】
前記構成可能なハードウェア・ライブラリが、前記システム内に含まれる前記ユニットを定義し、前記構成データが該システムのパラメータを指定することを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１８】
ハードウェア・システムを自動的に生成、分解、及び検証するための生成及び検証ユニットと、
ハードウェア・システム設計を定義するための構成データを含み、前記生成及び検証ユニットに結合された構成データ・ストレージ・ユニットと、
ハードウェア・システムを統合し、分解するための構成可能なハードウェア・ユニットの定義を格納するための、前記生成及び検証ユニットに結合された構成可能なハードウェア・ライブラリと、
を備えることを特徴とする装置。
【請求項１９】
前記構成可能なハードウェア・ユニットの定義が、ハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項１８に記載の装置。
【請求項２０】
前記構成データが階層言語で表されることを特徴とする請求項１８に記載の装置。
【請求項２１】
前記生成及び検証ユニットが、ハードウェア設計階層内にユニット及びシステムを生成するための生成モジュールと、前記ユニット及び前記システムを分解するための分解モジュールと、該ユニット及び該システムについてテストベンチを構築し、該ユニット及び該システムを検証するための検証モジュールとを含むことを特徴とする請求項１８に記載の装置。
【請求項２２】
前記ユニット及びシステムがＨＤＬで表されることを特徴とする請求項２１に記載の装置。
【請求項２３】
機械によって実行されるとき、前記機械に、
ハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、
前記ユニットの組の各々についてテストベンチを作成し、
前記ハードウェア・システム設計を検証する前に前記ユニットの組の各々を検証する、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項２４】
前記ユニットの組が構成可能なハードウェア・ライブラリにおいて定義され、前記システムが構成データ・ストレージ・ユニットにおいて指定されることを特徴とする請求項２３に記載の機械可読媒体。
【請求項２５】
前記構成データが階層言語で表され、前記構成可能なハードウェア・ライブラリがハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項２４に記載の機械可読媒体。
【請求項２６】
前記テストベンチが、各ユニット接続に取り付けられたモデルを含み、前記モデルは、前記ユニットのパラメータに従って該ユニットとの間でデータを送受信することを特徴とする請求項２３に記載の機械可読媒体。
【請求項２７】
機械によって実行されるとき、前記機械に、
１つ又はそれ以上の階層レベルからなる構成可能なハードウェア・システム設計階層の第１のレベルにおける１つ又はそれ以上のユニットの組を、前記ハードウェア・システム設計階層の最も低いレベルの１つ又はそれ以上のユニットの組に自動的に分解し、
前記ハードウェア・システム設計階層の各階層レベルのユニットを、前記最も低いレベルから前記第１のレベルまで連続的に個別に検証し、テストベンチが一連のレベルの各々の各ユニットについて動的に構築されるようになる、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項２８】
前記自動的に分解するステップが、構成データ及び構成可能なハードウェア・ライブラリのコンテンツに基づいていることを特徴とする請求項２７に記載の機械可読媒体。
【請求項２９】
前記構成データが、前記構成可能なハードウェア・システム設計レベルの組の各々のユニットについてのパラメータを指定することを特徴とする請求項２８に記載の機械可読媒体。
【請求項３０】
前記構成可能なハードウェア・ライブラリが、前記階層レベルの組の各々のユニットを定義することを特徴とする請求項２８に記載の機械可読媒体。
【請求項３１】
機械によって実行されるとき、前記機械に、
構成データの組を、構成可能なハードウェア・ライブラリから選択された対応する構成可能なユニットの定義にマッピングし、１つ又はそれ以上の構成可能なハードウェア・ユニットの組を生成し、
前記構成データに基づいて、前記構成可能なハードウェア・ユニットの組の各々についてテストベンチを動的に生成し、
対応するテストベンチを用いて前記構成可能なハードウェア・ユニットの組の各々について検証し、
検証された前記構成可能なハードウェア・ユニットの組を構成可能なハードウェア・システム内に統合し、
前記構成可能なハードウェア・システムを検証する、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項３２】
前記テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項３１に記載の機械可読媒体。
【請求項３３】
前記対応する構成可能なユニットの定義がハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項３１に記載の機械可読媒体。
【請求項３４】
前記構成データがツール制御言語（ＴＣＬ）で表され、該構成データは、前記構成可能なハードウェア・ユニットの組の各々についてのパラメータを定義することを特徴とする請求項３１に記載の機械可読媒体。
【請求項３５】
前記テストベンチが前記ユニットの各通信経路に接続されたモデルを含むことを特徴とする請求項３１に記載の機械可読媒体。
【請求項３６】
機械によって実行されるとき、前記機械に、
構成データ及び構成可能なハードウェア・ライブラリに基づいて、より高いレベルの構成可能なハードウェア設計階層からなるシステムから分解された、より低いレベルの構成可能なハードウェア設計階層からなる個々のユニットについて１つ又はそれ以上のテストベンチの組を構築し、
システム・テストベンチを構築し、
前記個々のユニットを検証した後で前記システムを検証する、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項３７】
前記システムは前記システム・テストベンチを用いて検証され、前記個々のユニットは前記テストベンチの組を用いて検証されることを特徴とする請求項３６に記載の機械可読媒体。
【請求項３８】
前記テストベンチの組及び前記システム・テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項３６に記載の機械可読媒体。
【請求項３９】
前記構成可能なハードウェア・ライブラリが、前記システム内に含まれる前記ユニットを定義し、前記構成データが該システムのパラメータを指定することを特徴とする請求項３６に記載の機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェアの検証に関する。より具体的には、本発明は、構成可能なハードウェアを検証することに関する。
【背景技術】
【０００２】
「構成可能なハードウェア」又は「パラメータ化されたハードウェア」とは、パラメータ又は属性の組についての特定の値を用いて、設計作成時に自動的にカスタマイズされるハードウェア・システムを説明するものである。こうしたハードウェアは、パラメータの設定によって、実行時における変更もサポートする。構成可能なハードウェア・システムは、一般に、汎用コンピュータ・システム上で動作するソフトウェアより優れた性能を提供し、回路のサイズとコストを増大させることなく、従来の特定用途向け集積回路（ＡＳＩＣ）より大きな柔軟性をもたらす。
【０００３】
従来のハードウェア・システムにおいては、システム及びそのコンポーネントを試験することによって、システムの機能を検証することが必要である。一般に、システムの機能を検証する複雑さは、該システムを構成するコンポーネントの数と共に増大する。したがって、従来の手法は、各々のユニットを個別に手作業で検証し、次に「分かっている優れたユニット」をシステム内に組み立てるというものである。ハードウェアが階層構造に配列されている場合には、階層内の各レベルについて検証を行わなければならない。システムを組み立てる前に個々のユニットの各々が検証された場合、検証システム機能が、各コンポーネントの能力ではなく、コンポーネント間の相互作用に関する潜在的な問題に主眼を置くことができる。
【０００４】
このタイプの従来の階層分解を用いて、構成可能なハードウェア・システムを検証することができる。しかしながら、構成可能なハードウェア・システムの各インスタンスが異なるため、構成パラメータはその都度修正され、システム及びそのコンポーネントを手作業で検証しなければならない。システム及びそのコンポーネントを繰り返し手作業で検証するコストにより、多くの場合、構成可能なハードウェアの利点が相殺される。
【発明の開示】
【０００５】
本発明は、構成可能なハードウェアを分解し、検証するための方法及び装置を含む。１つの実施において、この方法は、ハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、該ユニットの組の各々についてテストベンチを作成し、ハードウェア・システム設計を検証する前に該ユニットの組の各々を検証するステップを含む。
【発明を実施するための最良の形態】
【０００６】
本発明が、同じ参照番号が類似した要素を示す添付図面の図において、制限としてでななく、例として示される。
構成可能なハードウェアを分解し、検証するための方法及び装置が説明される。この説明において、「１つの実施形態」又は「実施形態」への言及は、言及される特徴が、本発明の少なくとも１つの実施形態に含まれることを意味することに注意されたい。さらに、この説明における「１つの実施形態」への別個の言及は、必ずしも同じ実施形態を指すとは限らず、そのように述べられ、当業者には容易に明らかである場合を除いて、こうした実施形態のいずれも相互排他的なものである。したがって、本発明は、ここに記載される実施形態のいずれの種々の組み合わせ及び/又は統合を含むことができる。
【０００７】
ここに、ブロック図が本発明の例示的な実施形態を示す。また、ここに、フロー図が本発明の例示的な実施形態の作動を示す。フロー図の動作が、ブロック図に示される例示的な実施形態と関連して説明される。しかしながら、フロー図の動作は、ブロック図と関連して説明されるもの以外の本発明の実施形態によって実行でき、ブロック図に関連して説明される実施形態が、フロー図と関連して説明されたものと異なる動作を実行できることを理解すべきである。
【０００８】
概要
本発明の１つの実施形態において、生成及び検証ユニットが、構成データ及び構成可能なハードウェア・ライブラリに基づいて、構成可能なハードウェア・システムを生成する。構成可能なハードウェア・システムは、多数のユニットから構成される。本発明の１つの実施形態において、生成及び検証ユニットは、構成可能なハードウェア・システムを、システム設計を構成するユニットに階層的に分解する。構成データが各ユニットに適用されるので、ユニット自体を変えることなく、各ユニットを、システムの外側で取り外し、検証し、又は分析することができる。生成及び検証ユニットは、各ユニットについて、テストベンチ、試験、制御スクリプトを作成する。
【０００９】
例示的なアーキテクチャ
図１は、本発明の１つの実施形態による構成可能なハードウェアを分解し、検証するためのブロック図である。図１は、生成及び検証ユニット１０３を含み、この生成及び検証ユニット１０３は、生成モジュール１０７、分解モジュール１０９、及び検証モジュール１１１をさらに含む。生成及び検証ユニット１０３は、構成可能なハードウェア・ライブラリ１０１及び構成データ・ストレージ・ユニット１０５に接続される。構成データ・ストレージ・ユニット１０５は、構成データ１１３を含む。生成及び検証ユニット１０３は、構成可能なハードウェア・システム１０４及びその構成要素ユニット（ユニット１−Ｎとして示されている）を生成する。
【００１０】
構成可能なハードウェア・システムの設計階層において、「システム」という用語は、ユニットの詳細が隠されている特定の階層レベルにおけるユニットの構成を指す。したがって、構成可能なハードウェア・システム設計階層の特定のレベルにおいて、ユニットは、分割できないコンポーネントである。しかしながら、より低い階層レベルにおいては、より高いレベルからのユニットは、それらの詳細及び内部コンポーネントが露出されている。例えば、図１を参照すると、ある設計階層レベルにおいて、システム１０４は、ユニット１−Ｎについての詳細が隠されている、より大きなシステムの「ブラックボックス」ユニットと見なされる。しかしながら、より低い設計階層レベルにおいては、システム１０４は、ユニット１−Ｎを含むものとして見なされ、そこではユニット接続の詳細が露出されている。より低いレベルの構成可能なハードウェア・システム設計階層においてさえ、ユニット１−Ｎの内部詳細が露出されている。最も低い階層レベルにおいては、ユニットを分解することができない。システム１０４及びユニット１−Ｎの生成が、図４において以下により詳細に説明される。
【００１１】
構成データ・ストレージ・ユニット１０５は、構成可能なハードウェア・システムを階層的に説明する構成データ１１３を含む。例えば、構成データ１１３は、関連する全ての階層レベルにおいて、システム及びユニット・パラメータを指定する。エンド・ユーザは構成データ１１３における大部分のパラメータを設定するが、生成及び検証ユニット１０３が、ハードウェアの統合及び/又は分解プロセスの際に一部のパラメータを設定する。本発明の実施形態によると、構成データ１１３は、何らかの適切な電子設計自動化スクリプト言語によって表すことができる。本発明の１つの実施形態において、構成データ１１３は、ツール制御言語（ＴＣＬ）のスクリプト言語で表される。特に、構成データ１１３は、システム設計名、システム・レベルのパラメータ、ユニット・レベル名及びパラメータ、ユニット・レベルの接続パラメータ（例えば、単一バンドル内のワイヤ数、ハンドシェーキング・プロトコル、パイプライン動作など）、及びユニットのインスタンスを特定の接続にバインドするためのインターフェース・ステートメントを定義するＴＣＬテキストファイルを含むことができる。本発明の代替的な実施形態において、このシステム情報は、拡張可能マークアップ言語（ＸＭＬ）形式又はリレーショナル・データベースで表すことができる。
【００１２】
いずれかの特定のハードウェア・ユニットの多数のインスタンスをハードウェア・システム内に含ませることができるので、各ユニットのインスタンスは、構成データ１１３において固有に名前が付けられる。さらに、同じユニットの異なるインスタンスを異なるように構成することができる。例えば、ＦＩＦＯの１つのインスタンスは、１０バイトの深さを有するように構成することができ、ＦＩＦＯの別のインスタンスは、１００バイトの深さを有するように構成することができる。
構成可能なハードウェア・ライブラリ１０１は、システムのハードウェア・コンポーネントの可能な構成の全てを記載する。例えば、構成可能なハードウェア・ライブラリ１０１は、深さ、幅、及び他の構成可能なパラメータを含む、ＦＩＦＯの可能な構成の全てを記載することができる。本発明の１つの実施形態において、構成可能なハードウェア・ライブラリは、構成データ１１３をどのように解釈するかを説明する前処理ステートメントが組み込まれたハードウェア記述言語（ＨＤＬ）コード（例えば、Ｖｅｒｉｌｏｇ又はＶＨＤＬ）を含む。
【００１３】
図２は、本発明の実施形態による、構成可能なハードウェア・システムの作成、分解、及び検証を示すフロー図である。フロー図２００の動作が、図１のブロック図と関連して説明される。プロセス・ブロック２０２において、構成データが読み取られる。例えば、図１に示される本発明の実施形態によると、生成及び検証ユニット１０３の生成モジュール１０７が、構成データ・ストレージ・ユニット１０５から構成データ１１３を読み取る。上述のように、構成データ１１３は、構成可能なハードウェア・システムを階層的に定義するＴＣＬファイルとすることができる。制御は、ブロック２０４に続く。
ブロック２０４において、構成可能なハードウェア・ライブラリが分析される。例えば、生成モジュール１０７は、構成可能なハードウェア・ライブラリ１０１を分析し、構成データ１１３によって定義されるハードウェア・システムを生成するのに必要なハードウェア・コンポーネントの可能な構成を決定する。制御はブロック２０６に続く。
【００１４】
ブロック２０６に示されるように、構成可能なハードウェア・システムが作成される。例えば、生成モジュール１０７は、構成データ１１３及び構成可能なハードウェア・ライブラリ１０１に基づいて構成可能なハードウェア・システムを作成する。ブロック２０６の動作が、図３に関連してさらに説明される。制御は、ブロック２０８に続く。
ブロック２０８において、システムが分解され、該システム及びそのコンポーネントが検証される。例えば、分解モジュール１０９及び検証モジュール１１１は、システム・コンポーネントを分解し、検証する。ブロック２０８における動作が、図５の説明において以下により詳細に説明される。
【００１５】
階層システム設計のいずれのレベルにおいても、ハードウェアを生成し、検証するために、フロー図２００に説明された動作を繰り返すことができることが、当業者には明らかであろう。例えば、特定の階層レベルにおいてシステムを検証するために、システムのコンポーネントの全てを検証しなければならない。このことは、より低いレベルのシステムの検証を必要とし、そのことが、さらに低いレベルのシステムの検証を必要とすることがある。最も低いレベルのシステムが検証されると、より高いレベルのシステムを順に検証することができる。したがって、いずれの設計レベルにおいても、システム及び/又はコンポーネントを作成し、検証するために、フロー図２００に述べられた動作を繰り返すことができる。
【００１６】
図３は、本発明の実施形態による、システムの作成を示すフロー図である。フロー図３００の動作が、図１に示される例示的な実施形態に関連して説明される。決定ブロック３０２において、構成データが、構文及び意味についての規則に適合するかどうかが決定される。例えば、統合モジュール１０９は、構成データ・ストレージ・ユニット１０５からの構成データが、構文及び意味についての規則に適合するかどうかを決定する。より特定的な例として、構成データ１１３がＴＣＬテキストファイルで表される実施形態において、統合モジュール１０９は、ＴＣＬファイルが、構成可能なハードウェア・ライブラリによって用いられるＨＤＬの構文及び意味規則に適合するかどうかを決定する。１つの実施形態において、統合モジュール１０９は、高レベルの言語プログラム（例えば、Ｃ＋＋、Ｐｙｔｈｏｎ、又はＪａｖａプログラム）を用いて、構文及び意味についてＴＣＬファイルを分析する。構成データ・ファイルが構文及び意味規則に適合する場合には、制御はブロック３０４に続く。他の場合には、フローは、エラー報告書で終了する。制御はブロック３０４に続く。
【００１７】
ブロック３０４において、パラメータが引き出される。例えば、統合モジュール１０９は、構成データ１１３からシステム・パラメータを引き出す。より特定的な例として、１つの実施形態において、統合モジュール１０９は、構成可能なハードウェア・システムを定義するＴＣＬファイルを分析することによって、システムのパラメータを引き出す。例えば、システム・パラメータは、内部通信経路に必要とする最小帯域幅を指定することができる。この設定から、システム内の種々の接続ポイントで用いられるワイヤの数を指定するためのパラメータが、構成データ内の規則に従って引き出される。制御はブロック３０６に続く。
ブロック３０６に示されるように、引き出されたパラメータに基づいて、前処理ステートメントが構成される。例えば、本発明の１つの実施形態において、統合モジュール１０９は、指定され、引き出されたパラメータによって影響される、ＨＤＬコードの前処理ステートメント（構成可能なハードウェア・ライブラリ１０１に格納されている）を構成する。これを行う際、統合モジュール１０９は、特定の値又は制御構造を、ＨＤＬコードに組み込まれたプリプロセッサ・ステートメントに与える。制御はブロック３０８に続く。
【００１８】
ブロック３０８に示されるように、ＨＤＬソースコードが前処理される。例えば、統合モジュール１０９は、引き出されたパラメータに従って構成されたＨＤＬソースコードを前処理する。本発明の１つの実施形態において、統合モジュール１０９は、組み込まれたＨＤＬソースコードを前処理するためのマクロ言語プリプロセッサ（例えば、Ｃプリプロセッサ、Ｍ４プリプロセッサ、又はＳＩＭＰＬＥプリプロセッサ）を含む。
ブロック３１０において、構成データにおいて指定された、構成可能なハードウェア・システムのためのＨＤＬコードが生成される。例えば、統合モジュール１０９は、構成可能なハードウェア・ライブラリ１０１からのＨＤＬコードを用いて、構成データ１１３において指定された、システムのためのＨＤＬコードを生成する。ブロック３１０から、制御が終了する。
【００１９】
図４は、本発明の実施形態によるシステム設計の概念ブロック図である。上述のように、本発明の実施形態によると、図３の動作は、ＨＤＬコードで表されたシステム設計を生成する。図４は、こうしたシステムのグラフ表示を提供する。図４は、ユニット１、ユニット２、ユニット３、及びユニット４からなるシステム４００を含む。システム４００において、ユニット１は、通信経路４１０によってシステム４００の外部のシステムに通信する。ユニット１は、通信経路４０１によってユニット２に、通信経路４０３によってユニット３に結合される。ユニット２は、通信経路４１１を通してシステム４００の外部のシステムと通信する。ユニット３は、通信経路４０５及び４０８によってユニット４に接続される。ユニット３はまた、通信経路４０９によってユニット２にも接続される。
【００２０】
破線で示されるユニット２は、システム４００における任意のユニットである。接続経路４０１及び４０９もまた任意的である。所定のレベルのシステム設計階層については、システムの外部の要因が、任意のユニットの機能（例えば、設計階層における、より高いレベルのシステム）を必要とするかどうかが分からない場合には、ユニット（又は接続経路）は任意的である。例えば、２つの異なるモードで作動するようにシステム４００を構成できるとすると、その機能が第２のモードによってではなく第１のモードによって要求される場合、ユニット２は任意的である。
図５及び図６は、本発明の実施形態に従って、システム４００がどのように分解され、検証されるかを示す。図５は、本発明の実施形態による、構成可能なハードウェア・システムを分解し、検証するための動作を示すフロー図である。図６は、本発明の実施形態に従って、ユニットを検証するためのテストベンチを示すブロック図である。図５及び図６は、図４の例示的なシステム及び図１の例示的な実施形態に関連して説明される。
【００２１】
図５のフロー図を参照すると、ブロック５０２において、構成データ１１３が、選択されたユニットのパラメータにマッピングされる。例えば、分解モジュール１０９は、システム４００を定義する構成データ１１３を、システム４００のユニット（例えば、ユニット１）のパラメータにマッピングする。より特定的な例として、分解モジュール１０９は、構成データ１１３を分析し、システム４００の要件を満たすために、ユニット１のパラメータをどのように構成すべきかを決定する。制御はブロック５０４に続く。
【００２２】
ブロック５０４において、他のユニットへの各接続のために、インターフェース・モデル、モニタ、及び/又はプロトコル・チェッカが、該ユニットに付加される。例えば、検証モジュール１１１は、構成データ１１３を分析し、選択されたユニット（例えば、ユニット１）のための接続を決定する。各接続（例えば、通信経路）のために、構成モジュール１０９は、モデルを、インターフェース・ドライバ・モデル、インターフェース・モニタ、及び/又はプロトコル・チェッカを含み得るユニットに結合させる。この動作は、図６に概念的に示される。図６において、モデルＡは、通信経路４０３を通してユニット１に接続され、モデルＢは、通信経路４０１を通して該ユニット１に接続される。モデルＣは、通信経路４１０を通してユニット１に接続される。試験刺激及び応答確認ユニット４１５が、モデルＡ、Ｂ、及びＣに接続される。試験刺激及び応答確認ユニット４１５は、動作の試験を監視し、これを容易にする。テストベンチにおいて、モデルは、情報を検証されるユニットとの間で送受信するために用いられる。例えば、モデルＡ及びＢは、ユニット１のパラメータに従って（例えば、特定の通信経路のために定義された特定の通信プロトコルに従って）、該ユニット１からデータの流れを受信する。同様に、モデルＣは、ユニット１のパラメータに従って、データをユニット１に伝送する。ユニットとの間で伝送される特定のデータは、該ユニットを検証するために用いられる試験によって決定される。ブロック５０４から、制御はブロック５０６に続く。
【００２３】
ブロック５０６において、構成データが生成される。例えば、分解モジュール１０９は、構成データ１１３を生成し、選択されたユニットのパラメータを指定する。本発明の１つの実施形態によると、図１の説明において上述されたように、分解モジュール１０９は、ＴＣＬファイルの形態で構成データ１１３を生成する。代替的な実施形態によると、分解モジュール１０９は、ＸＭＬファイルの形態で構成データ１１３を生成する。
ブロック５０８において、構成データ１１３に基づいた設計が生成される。例えば、生成モジュール１０７は、構成可能なハードウェア・ライブラリ１０１を用い、構成データ１１３に基づいて構成可能なハードウェア・システム設計を生成する。この動作は、図３の説明において上記により詳細に説明されている。１つの実施形態において、設計は、ＨＤＬコードで表される。制御はブロック５１０に続く。
【００２４】
ブロック５１０において、試験及びスクリプト、及び/又は分析ツールへの入力が生成される。例えば、検証モジュール１１１は、試験及び/又は分析ツールへの入力を実行するために試験及びスクリプトを生成する。ブロック５１０から、制御はブロック５１２に継続する。試験を生成する際に、検証モジュール１１１は、特定のユニットの機能を検証するのに周知の既存の試験を用いることができ、或いはユニット構成の分析に基づいてカスタマイズされた試験を生成することができる。これらの試験は、試験される構成されたユニットの機能を実行し、検証する。本発明の実施形態によると、検証モジュール１１１は、ユニットのいずれかの構成を検証することができる試験を生成する。この実施形態において、試験は、試験が始まる前ではなく試験を行っている間に、構成データ１１３を読み取り、これに応じてそれらの刺激を修正する。検証モジュール１１１はまた、試験を自動的に実行するためのスクリプトを生成することもできる。
【００２５】
試験の付加的な形態又は代替的な形態として、検証モジュール１１１は、設計の静的分析を行う分析ツールに設計を提供する。例えば、本発明の１つの実施形態によると、検証モジュール１１１は、ＨＤＬコードで表されたユニット設計を、エラーについてＨＤＬコードを分析する静的検証ツールに提供する。１つの実施形態において、静的検証ツールは、ＨＤＬコードの分析に基づいて、警告及び/又はエラー・メッセージを生成する。
ブロック５１２に示されるように、スクリプトが実行される。例えば、検証モジュール１１１は、選択されたユニットを自動的に試験し、検証するスクリプトを実行する。図５のフロー図に記載される動作を繰り返し、設計階層内のどのレベルにおいても、ユニット／システムを検証できることが、当業者には明らかであろう。
【００２６】
図１を参照すると、生成及び検証ユニット１０３、構成可能なハードウェア・ライブラリ１０１、及び構成データ・ストレージ・ユニット１０５は、１つ又はそれ以上のプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、メモリ、及び／又は本発明の実施形態による動作を実行するための命令が格納される機械可読媒体を含む、従来のコンピューティング・プラットフォームの形態で実装することができる。機械可読媒体は、機械（例えば、コンピュータ）によって読み取り可能な形態で情報を提供する（すなわち、格納及び／又は伝送する）何らかの機構を含む。例えば、機械可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ素子、電気、光、音響、又は他の形態の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号など）などを含む。１つの実施形態において、図１に示されるユニットは、プロセッサ上で動作し、ここに説明される動作を実行する機械可読媒体である。しかしながら、代替的な実施形態において、図１のユニットは、ここに説明される動作を実行するための他のタイプの論理（例えば、デジタル論理）である。代替的に、本発明の１つの実施形態によると、生成及び検証ユニット１０３、構成可能なハードウェア・ライブラリ１０１、及び構成データ・ストレージ・ユニット１０５は、１つ又はそれ以上の別個のコンピュータ・システムを含むことができる。本発明の実施形態によると、図１に示されるコンポーネントは、多数のネットワーク化コンピュータにわたって分散させ、これを遠隔制御し、操作できることも理解すべきである。
【００２７】
図７は、本発明の実施形態による、構成可能なハードウェアを分解し、検証するための例示的なシステムを示す。図７に示されるように、コンピュータ・システム７００は、プロセッサ７０２を含む。コンピュータ・システム７００は、メモリ７３２、プロセッサ・バス７１０、及び入力／出力コントローラ・ハブ（ＩＣＨ）７４０を含むこともできる。プロセッサ７０２、メモリ７３２、及びＩＣＨ７４０は、プロセッサ・バス７１０に結合される。プロセッサ７０２は、いずれかの適切なプロセッサ・アーキテクチャを含むこともできる。本発明の他の実施形態については、コンピュータ・システム７００は、１つ、２つ、３つ、又はそれ以上のプロセッサを含むことができ、そのいずれも本発明の実施形態に従った命令の組を実行することができる。
【００２８】
メモリ７３２は、データ及び／又は命令を格納し、例えば、動的ランダム・アクセス・メモリ（ＤＲＡＭ）のような何らかの適切なメモリを含むことができる。本発明の１つの実施形態において、構成可能なハードウェア・ライブラリ１０１、生成及び検証ユニット１０３、及び構成データ・ストレージ・ユニット１０５は、メモリ７３２に格納される。しかしながら、これらを、ＩＤＥドライブ７４２、メモリ７３２、及び／又は他の適切な記憶装置のいずれか又は全てに格納することもできる。本発明の実施形態によると、グラフィックス・コントローラ７３４が、表示装置７３７上の情報の表示を制御する。
入力／出力コントローラ・ハブ（ＩＣＨ）７４０は、コンピュータ・システム７００のために、Ｉ／Ｏ装置又は周辺コンポーネントへのインターフェースを提供する。ＩＣＨ７４０は、いずれかの適切なインターフェース・コントローラを含み、プロセッサ７０２、メモリ７３２、及び／又はＩＣＨ７４０と通信状態の何らかの適切な装置又はコンポーネントへの何らかの適切な通信リンクを提供する。本発明の１つの実施形態については、ＩＣＨ７４０は、各インターフェースのために適切なアービトレーション及びバッファリングを提供する。
【００２９】
本発明の１つの実施形態については、ＩＣＨ７４０は、例えばデータ及び／又は命令を格納するための、例えばハードディスク・ドライブ（ＨＤＤ）又はコンパクト・ディスク読み取り専用メモリ（ＣＤ  ＲＯＭ）ドライブのような、１つ又はそれ以上の適切なＩｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）ドライバ７４２、１つ又はそれ以上のＵＳＢポート７４４を介する１つ又はそれ以上の適切なｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）へのインターフェースを提供する。本発明の１つの実施形態については、ＩＣＨ７４０は、キーボード７５１、マウス７５２、フロッピィ・ディスク・ドライブ７５５、１つ又はそれ以上のパラレル・ポート７５３を介する１つ又はそれ以上の適切な装置（例えば、プリンタ）、及び１つ又はそれ以上のシリアル・ポート７５４を介する１つ又はそれ以上の適切な装置へのインターフェースも提供する。本発明の１つの実施形態については、ＩＣＨ７４０は、コンピュータ・システム７００が他のコンピュータ及び／又は装置と通信できるネットワーク・インターフェース７５６を提供することもできる。
【００３０】
したがって、コンピュータ・システム７００は、ここに説明される方法のいずれか１つ又は全てを具体化する命令の組（すなわち、ソフトウェア）が格納される機械可読媒体を含む。例えば、ソフトウェアは、メモリ７３２及び／又はプロセッサ７０２内に完全に又は少なくとも部分的に常駐することができる。
本発明は、幾つかの実施形態に関して説明されたが、当業者であれば、本発明が説明された実施形態に制限されるものでないことを理解するであろう。添付の特許請求の範囲の精神及び範囲内の修正及び変更によって、本発明の方法及び装置を実行することができる。したがって、説明は、本発明を制限するものとしてではなく、例示的なものとみなすべきである。
【図面の簡単な説明】
【００３１】
【図１】本発明の１つの実施形態による、構成可能なハードウェアを分解し、検証するためのブロック図である。
【図２】本発明の１つの実施形態による、構成可能なハードウェアを作成し、検証するためのシステムを示すブロック図である。
【図３】本発明の実施形態による、システムの作成を示すフロー図である。
【図４】本発明の実施形態による、システム設計の概念ブロック図である。
【図５】本発明の実施形態による、構成可能なハードウェア・システムを分解し、検証するための動作を示すフロー図である。
【図６】本発明の実施形態による、ユニットを検証するためのテストベンチを示すブロック図である。
【図７】本発明の実施形態による、構成可能なハードウェアを分解し、検証するための例示的なシステムを示す。
【図１】
2006506710.tif 000002
【図２】
2006506710.tif 000003
【図３】
2006506710.tif 000004
【図４】
2006506710.tif 000005
【図５】
2006506710.tif 000006
【図６】
2006506710.tif 000007
【図７】
2006506710.tif 000008
【手続補正書】
【提出日】平成17年7月14日(2005.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
構成可能なハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、
前記ユニットの組の各々についてテストベンチを作成し、
前記構成可能なハードウェア・システムを検証する前に、前記ユニットの組の各々を検証する、
ステップを含み、
前記構成可能なハードウェア・システムが、パラメータの組について指定された値を用いることによって設計作成時にカスタマイズされ、該構成可能なハードウェア・システムの第１のインスタンスの機能が、該構成可能なハードウェア・システムの第２のインスタンスのものと異なることを特徴とするコンピュータにより実施される方法。
【請求項２】
前記ユニットの組が構成可能なハードウェア・ライブラリにおいて定義され、前記構成可能なハードウェア・システムが構成データ・ストレージ・ユニットにおいて指定されることを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記構成データが階層言語で表され、前記構成可能なハードウェア・ライブラリがハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記テストベンチが、各ユニット接続に取り付けられたモデルを含み、前記モデルは、前記ユニットのパラメータに従って該ユニットとの間でデータを送受信することを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項５】
１つ又はそれ以上の階層レベルからなる構成可能なハードウェア・システム設計階層の第１のレベルにおける１つ又はそれ以上のユニットの組を、前記ハードウェア・システム設計階層の最も低いレベルの１つ又はそれ以上のユニットの組に自動的に分解し、
前記ハードウェア・システム設計階層の各階層レベルのユニットを、前記最も低いレベルから前記第１のレベルまで連続的に個別に検証し、テストベンチが一連のレベルの各々の各ユニットについて動的に構築されるようになる、
ステップを含み、
前記構成可能なハードウェア・システムが設計作成時にカスタマイズされるようになったことを特徴とするコンピュータにより実施される方法。
【請求項６】
前記自動的に分解するステップが、構成データ及び構成可能なハードウェア・ライブラリのコンテンツに基づいていることを特徴とする請求項５に記載のコンピュータにより実施される方法。
【請求項７】
前記構成データが、前記構成可能なハードウェア・システム設計レベルの組の各々のユニットについてのパラメータを指定することを特徴とする請求項６に記載のコンピュータにより実施される方法。
【請求項８】
前記構成可能なハードウェア・ライブラリが、前記階層レベルの組の各々のユニットを定義することを特徴とする請求項６に記載のコンピュータにより実施される方法。
【請求項９】
構成データの組を、構成可能なハードウェア・ライブラリから選択された対応する構成可能なユニットの定義にマッピングし、１つ又はそれ以上の構成可能なハードウェア・ユニットの組を生成し、
前記構成データに基づいて、前記構成可能なハードウェア・ユニットの組の各々についてテストベンチを動的に生成し、
対応するテストベンチを用いて前記構成可能なハードウェア・ユニットの組の各々について検証し、
検証された前記構成可能なハードウェア・ユニットの組を構成可能なハードウェア・システム内に統合し、
設計作成環境における機能論理検証の際に、前記構成可能なハードウェア・システムを検証する、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項１０】
前記テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１１】
前記対応する構成可能なユニットの定義がハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１２】
前記構成データがツール制御言語（ＴＣＬ）で表され、該構成データは、前記構成可能なハードウェア・ユニットの組の各々についてのパラメータを定義することを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１３】
前記テストベンチが前記ユニットの各通信経路に接続されたモデルを含むことを特徴とする請求項９に記載のコンピュータにより実施される方法。
【請求項１４】
コンピュータにより実施される機能論理検証の方法であって、
構成データ及び構成可能なハードウェア・ライブラリに基づいて、より高いレベルの構成可能なハードウェア設計階層からなる構成可能なハードウェア・システムから分解された、より低いレベルの構成可能なハードウェア設計階層からなる個々のユニットについて１つ又はそれ以上のテストベンチの組を構築し、
システム・テストベンチを構築し、
前記個々のユニットを検証した後で前記構成可能なハードウェア・システムを検証する、
ステップを含むことを特徴とするコンピュータにより実施される方法。
【請求項１５】
前記システムは前記システム・テストベンチを用いて検証され、前記個々のユニットは前記テストベンチの組を用いて検証されることを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１６】
前記テストベンチの組及び前記システム・テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１７】
前記構成可能なハードウェア・ライブラリが、前記システム内に含まれる前記ユニットを定義し、前記構成データが該システムのパラメータを指定することを特徴とする請求項１４に記載のコンピュータにより実施される方法。
【請求項１８】
構成可能なハードウェア・システムを自動的に生成、分解、及び検証するための生成及び検証ユニットと、
構成可能なハードウェア・システム設計を定義するための構成データを含み、前記生成及び検証ユニットに結合された構成データ・ストレージ・ユニットと、
ハードウェア・システムを統合し、分解するための構成可能なハードウェア・ユニットの定義を格納するための、前記生成及び検証ユニットに結合された構成可能なハードウェア・ライブラリと、
を備えることを特徴とする装置。
【請求項１９】
前記構成可能なハードウェア・ユニットの定義が、ハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項１８に記載の装置。
【請求項２０】
前記構成データが階層言語で表されることを特徴とする請求項１８に記載の装置。
【請求項２１】
前記生成及び検証ユニットが、ハードウェア設計階層内にユニット及びシステムを生成するための生成モジュールと、前記ユニット及び前記システムを分解するための分解モジュールと、該ユニット及び該システムについてテストベンチを構築し、該ユニット及び該システムを検証するための検証モジュールとを含むことを特徴とする請求項１８に記載の装置。
【請求項２２】
前記ユニット及びシステムがＨＤＬで表されることを特徴とする請求項２１に記載の装置。
【請求項２３】
機械によって実行されるとき、前記機械に、
構成可能なハードウェア・システムを１つ又はそれ以上のユニットの組に自動的に分解し、
前記ユニットの組の各々についてテストベンチを作成し、
前記構成可能なハードウェア・システム設計を検証する前に前記ユニットの組の各々を検証する、
ステップを含む動作を実行させる命令を提供し、
前記構成可能なハードウェア・システムが、パラメータの組について指定された値を用いることによって設計作成時にカスタマイズされ、該構成可能なハードウェア・システムの第１のインスタンスの機能が、該構成可能なハードウェア・システムの第２のインスタンスのものと異なることを特徴とする機械可読媒体。
【請求項２４】
前記ユニットの組が構成可能なハードウェア・ライブラリにおいて定義され、前記システムが構成データ・ストレージ・ユニットにおいて指定されることを特徴とする請求項２３に記載の機械可読媒体。
【請求項２５】
前記構成データが階層言語で表され、前記構成可能なハードウェア・ライブラリがハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項２４に記載の機械可読媒体。
【請求項２６】
前記テストベンチが、各ユニット接続に取り付けられたモデルを含み、前記モデルは、前記ユニットのパラメータに従って該ユニットとの間でデータを送受信することを特徴とする請求項２３に記載の機械可読媒体。
【請求項２７】
機械によって実行されるとき、前記機械に、
１つ又はそれ以上の階層レベルからなる構成可能なハードウェア・システム設計階層の第１のレベルにおける１つ又はそれ以上のユニットの組を、前記ハードウェア・システム設計階層の最も低いレベルの１つ又はそれ以上のユニットの組に自動的に分解し、
前記ハードウェア・システム設計階層の各階層レベルのユニットを、前記最も低いレベルから前記第１のレベルまで連続的に個別に検証し、テストベンチが一連のレベルの各々の各ユニットについて動的に構築されるようになる、
ステップを含む動作を実行させる命令を提供し、
前記構成可能なハードウェア・システムが設計作成時にカスタマイズされたことを特徴とする機械可読媒体。
【請求項２８】
前記自動的に分解するステップが、構成データ及び構成可能なハードウェア・ライブラリのコンテンツに基づいていることを特徴とする請求項２７に記載の機械可読媒体。
【請求項２９】
前記構成データが、前記構成可能なハードウェア・システム設計レベルの組の各々のユニットについてのパラメータを指定することを特徴とする請求項２８に記載の機械可読媒体。
【請求項３０】
前記構成可能なハードウェア・ライブラリが、前記階層レベルの組の各々のユニットを定義することを特徴とする請求項２８に記載の機械可読媒体。
【請求項３１】
機械によって実行されるとき、前記機械に、
構成データの組を、構成可能なハードウェア・ライブラリから選択された対応する構成可能なユニットの定義にマッピングし、１つ又はそれ以上の構成可能なハードウェア・ユニットの組を生成し、
前記構成データに基づいて、前記構成可能なハードウェア・ユニットの組の各々についてテストベンチを動的に生成し、
対応するテストベンチを用いて前記構成可能なハードウェア・ユニットの組の各々について検証し、
検証された前記構成可能なハードウェア・ユニットの組を構成可能なハードウェア・システム内に統合し、
設計作成環境における機能論理検証の際に、前記構成可能なハードウェア・システムを検証する、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項３２】
前記テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項３１に記載の機械可読媒体。
【請求項３３】
前記対応する構成可能なユニットの定義がハードウェア設計言語（ＨＤＬ）で表されることを特徴とする請求項３１に記載の機械可読媒体。
【請求項３４】
前記構成データがツール制御言語（ＴＣＬ）で表され、該構成データは、前記構成可能なハードウェア・ユニットの組の各々についてのパラメータを定義することを特徴とする請求項３１に記載の機械可読媒体。
【請求項３５】
前記テストベンチが前記ユニットの各通信経路に接続されたモデルを含むことを特徴とする請求項３１に記載の機械可読媒体。
【請求項３６】
機械によって実行されるとき、前記機械に、
構成データ及び構成可能なハードウェア・ライブラリに基づいて、より高いレベルの構成可能なハードウェア設計階層からなる構成可能なハードウェア・システムから分解された、より低いレベルの構成可能なハードウェア設計階層からなる個々のユニットについて１つ又はそれ以上のテストベンチの組を構築し、
システム・テストベンチを構築し、
前記個々のユニットを検証した後で前記システムを検証する、
ステップを含む動作を実行させる命令を提供する機械可読媒体。
【請求項３７】
前記システムは前記システム・テストベンチを用いて検証され、前記個々のユニットは前記テストベンチの組を用いて検証されることを特徴とする請求項３６に記載の機械可読媒体。
【請求項３８】
前記テストベンチの組及び前記システム・テストベンチ上で実行される試験を生成し、
前記試験を実行するためのスクリプトを生成し、
分析ツールへの入力を生成する、
ステップをさらに含むことを特徴とする請求項３６に記載の機械可読媒体。
【請求項３９】
前記構成可能なハードウェア・ライブラリが、前記システム内に含まれる前記ユニットを定義し、前記構成データが該システムのパラメータを指定することを特徴とする請求項３６に記載の機械可読媒体。
【国際調査報告】
2006506710.tif 000009
2006506710.tif 000010