(57)【要約】【課題】網羅的かつ効率的なランダム検証を行う。【解決手段】ランダム検証項目をイベントの組合せである多重イベントとして定義し、ランダムパターンジェネレータ２が制約情報１からテストパターン３を生成し、検証環境７がテストパターン３を用いて検証対象回路に対するシミュレーションを行い、イベント解析部１０がシミュレーションで検知されたイベントをイベントログ９を用いて解析し、全ての多重イベントが同一時刻に発生していない場合に、制約情報生成部１３がテストパターン３に対応する制約情報具体値４から新たな制約情報を生成し、以降、新たな制約情報に基づくテストパターンの生成、シミュレーションの実行、イベントの解析、更なる新たな制約情報の生成という過程を繰り返すことにより制約情報を更新させて、シミュレーションにおいて目的の多重イベントを発生させ、検証項目を網羅的かつ効率的に実施する。【選択図】図１
2011048412.tif 000002
【特許請求の範囲】
【請求項１】
テストパターン情報を用いて検証対象物に対するシミュレーションを行い、シミュレーション中に発生した１つ以上のイベントを検知するシミュレーション装置に対して、テストパターン情報を供給する情報処理装置であって、
複数のパラメータ値が示されるとともにパラメータ値ごとにテストパターン情報への出現比率が示される制約情報を入力し、制約情報に示される出現比率に基づいてテストパターン情報を生成するテストパターン生成部と、
前記テストパターン生成部により生成されたテストパターン情報を用いた前記検証対象物に対するシミュレーション中に前記シミュレーション装置で検知されたイベント及びイベント発生時刻が示されるイベント検知情報を入力し、入力したイベント検知情報を用いて各イベントの発生タイミングを解析するイベント解析部と、
シミュレーション中に同じタイミングで発生すべきＮ（Ｎ≧２）個のイベントが定義されているイベント定義情報と、前記テストパターン生成部により生成されたテストパターン情報における各パラメータ値の出現比率が示されるテストパターン出現比率情報と、前記イベント解析部による解析結果を示すイベント解析情報とを入力し、入力したイベント解析情報に基づき、前記検証対象物に対するシミュレーション中に前記イベント定義情報に定義されているＮ個のイベントが同じタイミングで発生しているか否かを判断し、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、テストパターン出現比率情報に基づいて新たな制約情報を生成する制約情報生成部とを有することを特徴とする情報処理装置。
【請求項２】
前記制約情報生成部は、
前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、前記Ｎ個のイベントを同じタイミングで発生させるテストパターン情報が生成できる新たな制約情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記テストパターン生成部は、
前記制約情報生成部により生成された新たな制約情報を用いて新たなテストパターン情報を生成し、
前記イベント解析部は、
前記テストパターン生成部により生成された新たなテストパターン情報を用いた前記検証対象物に対するシミュレーション中に前記シミュレーション装置で検知されたイベント及びイベント発生時刻が示される新たなイベント検知情報を入力し、入力した新たなイベント検知情報を用いて各イベントの発生タイミングを解析し、
前記制約情報生成部は、
前記テストパターン生成部により生成された新たなテストパターン情報における各パラメータ値の出現比率が示される新たなテストパターン出現比率情報と、前記イベント解析部による新たな解析結果を示す新たなイベント解析情報とを入力し、入力した新たなイベント解析情報に基づき、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生しているか否かを判断し、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、新たなテストパターン出現比率情報に基づいて更に新たな制約情報を生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記テストパターン生成部は、
複数のテストパターン情報を生成し、
前記イベント解析部は、
前記テストパターン生成部により生成されたテストパターン情報ごとに、イベント検知情報を入力し、各イベントの発生タイミングを解析し、
前記制約情報生成部は、
前記テストパターン生成部により生成された複数のテストパターン情報に対応する複数のテストパターン出現比率情報と、前記イベント解析部による解析結果を示す複数のイベント解析情報を入力するとともに、入力した複数のイベント解析情報に基づき、前記Ｎ個のイベントのうちのいずれかのイベントが発生したテストパターン情報のテストパターン出現比率情報と、前記Ｎ個のイベントのうちの他のいずれかのイベントが発生したテストパターン情報のテストパターン出現比率情報とを選択し、選択したテストパターン出現比率情報を組み合わせて新たな制約情報を生成することを特徴とする請求項１〜３のいずれかの記載の情報処理装置。
【請求項５】
前記テストパターン生成部は、
複数のテストパターン情報を生成し、
前記イベント解析部は、
前記テストパターン生成部により生成されたテストパターン情報ごとに、イベント検知情報を入力し、各イベントの発生タイミングを解析し、
前記制約情報生成部は、
前記テストパターン生成部により生成された複数のテストパターン情報に対応する複数のテストパターン出現比率情報と、前記イベント解析部による解析結果を示す複数のイベント解析情報を入力するとともに、入力した複数のイベント解析情報に基づき、前記Ｎ個のイベントのうちのいずれかのイベントが発生したテストパターン情報のテストパターン出現比率情報を選択し、選択したテストパターン出現比率情報に示されるいずれかのパラメータ値の出現比率を変更して新たな制約情報を生成することを特徴とする請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記制約情報生成部は、
選択したテストパターン出現比率情報に示されるパラメータ値のうち出現比率がこれまでに変更されていないパラメータ値の出現比率を変更して新たな制約情報を生成することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記制約情報生成部は、
前記検証対象物に対してランダム検証に基づくシミュレーションを行った場合にシミュレーション中に同じタイミングで発生すべきＮ個のイベントが定義されているイベント定義情報を入力することを特徴とする請求項１〜６のいずれかに記載の情報処理装置。
【請求項８】
前記制約情報生成部は、
前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生している場合は、前記検証対象物が正常に動作すると判断することを特徴とする請求項１〜７のいずれかに記載の情報処理装置。
【請求項９】
テストパターン情報を用いて検証対象物に対するシミュレーションを行い、シミュレーション中に発生した１つ以上のイベントを検知するシミュレーション装置に対して、テストパターン情報を供給するコンピュータが行う情報処理方法であって、
前記コンピュータが、複数のパラメータ値が示されるとともにパラメータ値ごとにテストパターン情報への出現比率が示される制約情報を入力し、制約情報に示される出現比率に基づいてテストパターン情報を生成するテストパターン生成ステップと、
前記コンピュータが、前記テストパターン生成ステップにより生成されたテストパターン情報を用いた前記検証対象物に対するシミュレーション中に前記シミュレーション装置で検知されたイベント及びイベント発生時刻が示されるイベント検知情報を入力し、入力したイベント検知情報を用いて各イベントの発生タイミングを解析するイベント解析ステップと、
前記コンピュータが、シミュレーション中に同じタイミングで発生すべきＮ（Ｎ≧２）個のイベントが定義されているイベント定義情報と、前記テストパターン生成ステップにより生成されたテストパターン情報における各パラメータ値の出現比率が示されるテストパターン出現比率情報と、前記イベント解析ステップによる解析結果を示すイベント解析情報とを入力し、入力したイベント解析情報に基づき、前記検証対象物に対するシミュレーション中に前記イベント定義情報に定義されているＮ個のイベントが同じタイミングで発生しているか否かを判断し、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、テストパターン出現比率情報に基づいて新たな制約情報を生成する制約情報生成ステップとを有することを特徴とする情報処理方法。
【請求項１０】
テストパターン情報を用いて検証対象物に対するシミュレーションを行い、シミュレーション中に発生した１つ以上のイベントを検知するシミュレーション装置に対して、テストパターン情報を供給するコンピュータに、
複数のパラメータ値が示されるとともにパラメータ値ごとにテストパターン情報への出現比率が示される制約情報を入力し、制約情報に示される出現比率に基づいてテストパターン情報を生成するテストパターン生成処理と、
前記テストパターン生成処理により生成されたテストパターン情報を用いた前記検証対象物に対するシミュレーション中に前記シミュレーション装置で検知されたイベント及びイベント発生時刻が示されるイベント検知情報を入力し、入力したイベント検知情報を用いて各イベントの発生タイミングを解析するイベント解析処理と、
シミュレーション中に同じタイミングで発生すべきＮ（Ｎ≧２）個のイベントが定義されているイベント定義情報と、前記テストパターン生成処理により生成されたテストパターン情報における各パラメータ値の出現比率が示されるテストパターン出現比率情報と、前記イベント解析処理による解析結果を示すイベント解析情報とを入力し、入力したイベント解析情報に基づき、前記検証対象物に対するシミュレーション中に前記イベント定義情報に定義されているＮ個のイベントが同じタイミングで発生しているか否かを判断し、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、テストパターン出現比率情報に基づいて新たな制約情報を生成する制約情報生成処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路のまたは論理回路を含んで構成されたシステムの論理検証を高い信頼性を保ちながら効率的に行い、論理検証期間を短縮する技術に関するものである。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の開発では、設計した回路のＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）を論理シミュレーターツールを用いて機能やタイミングの正しさをＬＳＩの製作前に検証することが重要となる。
論理シミュレータを用いた論理検証は、検証対象の論理回路に検証用のパターンを入力し、論理回路の応答を観察することで論理回路の動作を確認することができる。
近年、ＬＳＩの機能増大や性能向上により論理回路が複雑化し、検証項目や検証難易度が増加する傾向にある。このため、検証期間が長期化し、ＬＳＩの開発期間における検証期間の占める割合が増加してきている。
この検証期間が長期化するという課題の解決策の１つとして、多量のテストパターンを自動生成することで人手で見落とす組合せを作成し品質を向上させるランダム検証技術がある。
ランダム検証では、ランダムパターンジェネレータと呼ばれるツールがテストパターンを自動生成する。
ランダムパターンジェネレータは、完全にランダムなテストパターンを生成するのではなく、検証対象の論理回路の動作させる機能やアクセスするアドレスの範囲、動作タイミングなどの制約を記載した制約情報にしたがってテストパターンを生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７０２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１は、ランダム検証において期待値を出力するための入力パラメータを効率的に求めることにより、検証作業の効率化を図る技術を開示している。
具体的には、シミュレーションを実行した結果、出力期待値が得られなかった場合に、入力パラメータと出力期待値の関係を記載したファイルから変更すべき入力パラメータを特定し、入力パラメータの値を変更することで出力期待値を得る方法である。
しかし、上述した特許文献１の手法では、入力パラメータと出力パラメータの関係が既知であるという前提がある。
近年の検証対象の論理回路の大規模化、複雑化によって、入力パラメータと出力期待値の関係が単純には決めることができない場合がある。さらに、そのような複雑な条件の組合せで発生する不具合が試験の終盤まで残りやすい。
また、従来のランダム検証では、一つの大きな検証項目に対して数千〜数万件のテストパターンをつくり、最終的には数十万件以上のテストパターンを実行する。しかしながら、そのテストパターンが正常に動作することは確認できるものの、どの機能がどの程度動作するか正確に把握することは数が膨大なため困難である。
【０００５】
本発明は、上述のような課題を解決することを主な目的の一つとしており、ランダム検証において発生条件が複雑な検証項目に対する検証を網羅的かつ効率的に実施するための技術を提供することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
テストパターン情報を用いて検証対象物に対するシミュレーションを行い、シミュレーション中に発生した１つ以上のイベントを検知するシミュレーション装置に対して、テストパターン情報を供給する情報処理装置であって、
複数のパラメータ値が示されるとともにパラメータ値ごとにテストパターン情報への出現比率が示される制約情報を入力し、制約情報に示される出現比率に基づいてテストパターン情報を生成するテストパターン生成部と、
前記テストパターン生成部により生成されたテストパターン情報を用いた前記検証対象物に対するシミュレーション中に前記シミュレーション装置で検知されたイベント及びイベント発生時刻が示されるイベント検知情報を入力し、入力したイベント検知情報を用いて各イベントの発生タイミングを解析するイベント解析部と、
シミュレーション中に同じタイミングで発生すべきＮ（Ｎ≧２）個のイベントが定義されているイベント定義情報と、前記テストパターン生成部により生成されたテストパターン情報における各パラメータ値の出現比率が示されるテストパターン出現比率情報と、前記イベント解析部による解析結果を示すイベント解析情報とを入力し、入力したイベント解析情報に基づき、前記検証対象物に対するシミュレーション中に前記イベント定義情報に定義されているＮ個のイベントが同じタイミングで発生しているか否かを判断し、前記検証対象物に対するシミュレーション中に前記Ｎ個のイベントが同じタイミングで発生していない場合に、テストパターン出現比率情報に基づいて新たな制約情報を生成する制約情報生成部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、イベント定義情報において定義されているＮ個のイベントが検証対象物に対するシミュレーション中に同じタイミングで発生していない場合に新たな制約情報を生成するため、新たな制約情報に基づくテストパターン情報の生成、シミュレーションの実行、発生したイベントの解析、更なる新たな制約情報の生成という過程を繰り返すことにより制約情報を更新し、検証対象物に対するシミュレーションにおいて目的のＮ個のイベントを発生させることができ、発生条件が複雑な検証項目に対する検証を網羅的かつ効率的に実施することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る論理回路検証システムの構成例を示す図。
【図２】実施の形態１に係る制約情報の親子関係を表した木構造の例を示す図。
【図３】実施の形態１に係る多重イベント定義情報の例を示す図。
【図４】実施の形態１に係る論理回路検証システムの動作例を示すフローチャート図。
【図５】実施の形態１に係る制約情報の例を示す図。
【図６】実施の形態１に係る制約情報の例を示す図。
【図７】実施の形態１に係るテストパターンの例を示す図。
【図８】実施の形態１に係る制約情報具体値の例を示す図。
【図９】実施の形態１に係るイベントログの例を示す図。
【図１０】実施の形態１に係るイベント解析結果の例を示す図。
【図１１】実施の形態１に係るイベント解析結果の例を示す図。
【図１２】実施の形態１に係るテストパターン生成装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、ある時刻に満たされる検証対象の回路の特性をイベントと定義する。イベントの具体例については後述する。
さらに、ある１つの時刻に１つのイベントが発生した状態を単一イベント（単体イベントともいう）と定義する。
検証対象回路は、例えば、メモリやバスといった共有資源をもち、共有資源に対して操作を行う機能をもつ。
これら共有資源は複数の機能から共有されるため、共有資源に対して同時にアクセスするイベントでは競合が発生する。
また、直接的に共有資源で競合が発生しなかったとしても、１つのイベント発生によって、別のイベントの動作タイミングなどに影響を与えることがある。
したがって、単一のイベントでは正常に動作するが、複数のイベントが発生したときに資源競合などが起こり、不具合が発生する可能性がある。この、ある時間帯に関連のある複数のイベントが同時に有効になる状態を多重イベントとして定義する。
また、多重イベントを構成するイベントを多重イベントのイベント構成要素と定義する。例えば、イベントＡ、イベントＢ、イベントＣ、イベントＤが同時間帯に発生することを定義した４重イベントのイベント構成要素は、イベントＡ、イベントＢ、イベントＣ、イベントＤの単一イベントとこれらのイベントを組み合わせた３重以下のイベントである。
また、本実施の形態では、検証対象の回路へのランダム検証項目をイベントの組合せとして記載する。
したがって、ランダム検証項目は、１つだけイベントの発生を確認する単一イベントの検証項目から、ある時間帯に複数の機能が有効となっても正常に動作することを確認する多重イベントの検証項目まである。
【００１０】
以下、本実施の形態に係る論理回路検証システムついて図面を用いて構成の説明および処理の流れについて説明する。
【００１１】
（構成の説明）
図１は、本実施の形態に係る論理回路検証システム環境の構成例を示すブロック図である。
本実施の形態に係る論理回路検証システムは、テストパターン生成装置１００と検証環境７に大別される。
【００１２】
テストパターン生成装置１００は、検証対象物のシミュレーションに用いられるテストパターン情報（以下、テストパターンという）を生成する。
テストパターン生成装置１００は情報処理装置の例である。
テストパターン生成装置の各構成要素の説明は後述する。
【００１３】
検証環境７は、テストパターン生成装置１００により生成されたテストパターンを用いて検証対象物である論理回路に対するシミュレーションを実行して論理検証を行う。
検証環境７はシミュレーション装置の例である。
【００１４】
検証環境７には、検証対象の回路および接続される検証回路から構成されるシミュレーション対象とそのシミュレーションを行う論理シミュレータたる既存検証部５が含まれる。
検証環境７では、論理シミュレータたる既存検証部５によってテストパターンに記載されているトランザクションが実行される。
また、既存検証部５は、検証対象回路が実行したトランザクションの結果をテストパターンに記載されている出力期待値と比較してテストの合否を判定し、合否判定結果を実行結果８として出力する。
【００１５】
検証環境７には、更に、イベント監視部６が含まれる。
イベント監視部６は、検証環境７でテストパターン３を実行したときに、テストパターン３に記載してある期待値とは別に検証対象の動作をイベントの組合せとして観測、その観測結果をイベントログ９（イベント検知情報）として記録する。
つまり、イベント監視部６は、検証対象回路に対するシミュレーション中に発生したイベントと、イベント発生時刻を検知し、検知したイベント及びイベント発生時刻が示されるイベントログ９を出力する。
イベントは、検証項目で実施すべき機能が実際に動いているか確認するために取得する。
観測するイベントは、全イベントである必要は無くユーザの設定により任意に変更可能である。
なお、イベントログ９は、テストパターン３を１件実行するごとに１つ作成される。
イベントログ９は、例えば、図９に示す情報である。
【００１６】
次に、テストパターン生成装置１００の内部構成について説明する。
【００１７】
ランダムパターンジェネレータ２は、テストパターン３の自動生成を行う機能を持つ。
ここでランダムパターンジェネレータ２は、制約情報１を入力し多数のテストパターン３とテストパターン３に対応する制約情報具体値４を生成する。
例えば、１つの制約情報１からテストパターン３を１０００件作成すると、同時に各テストパターンに対応する制約情報の具体的な値が記載されている制約情報具体値４も１０００件作成する。
ランダムパターンジェネレータ２はテストパターン生成部の例である。
【００１８】
制約情報１は、ランダムパターンジェネレータ２がテストパターン３を生成する際の制約となる。
制約情報１は、検証対象の動作設定、トランザクション、トランザクションがアクセス可能なアドレスの範囲、トランザクション発行密度などのランダムパターンジェネレータ２がテストパターン３を生成するときの制約事項を記載する。
詳細は後述するが、制約情報１は例えば、図５に示すように、複数のパラメータ値（例えば、ＤＤＲ−ＳＤＲＡＭやＳＲＡＭ）が示されるとともにパラメータ値ごとにテストパターンへの出現比率（例えば、２０％や６０％）が示される。
そして、ランダムパターンジェネレータ２は制約情報に示される出現比率に沿ってパラメータ値が出現するテストパターンを生成する。
なお、制約情報１は、図示していない所定の記憶領域に記憶されているものとする。
【００１９】
テストパターン３は、例えば、図７に示す情報である。
テストパターン３は、検証対象を動作させるためのトランザクションと動作モードおよび動作期待値が記載されている。
この動作期待値とは、シミュレーションの実行した結果の検証対象に搭載されているメモリやレジスタの値をチェックし検証対象の動作の正当性を確認するためのものである。
【００２０】
制約情報１にしたがってランダムパターンジェネレータ２が多数のテストパターン３を作成するとき、乱数を用いて制約の範囲内で値を変化させてテストパターン３の内容を変えていく。
各テストパターン３は、その乱数を生成するための種（シード）と制約情報の具体的な値が一意に決まる。そのときのテストパターン３と一対一で対応する制約情報の具体的な数値を制約情報具体値４とする。
つまり、ランダムパターンジェネレータ２は制約情報に示される各パラメータ値の出現比率に基づいてテストパターン３を生成するが、テストパターン３に実際に出現する各パラメータ値の出現比率は乱数の影響を受けるので制約情報１の出現比率とは完全に一致していない。制約情報具体値４は、テストパターン３に実際に出現している各パラメータ値の出現比率を示す情報である。
制約情報具体値４は、ランダムパターンジェネレータ２がテストパターン３を生成するとき、テストパターン３とセットで生成される。
制約情報具体値４は、例えば、図８に示す情報である。
また、制約情報具体値４は、テストパターン出現比率情報の例である。
【００２１】
イベント解析部１０は、イベントログ９を入力し、入力したイベントログ９を用いて各イベントの発生タイミングを解析する。
イベント解析部１０は、同一の制約情報１をもとにして作成され、かつ実行された全テストパターン３のイベントログ９を分析の対象とする。
多重イベント定義情報１２の中に存在する目的の多重イベントからイベントログ９の中に目的の多重イベントの要素が存在するか分析し、分析結果をイベント解析情報１１として出力する。
イベント解析情報１１に記載の情報は、制約情報、目的イベント、テストパターン名、発生イベントから構成される。
イベント解析情報１１は、例えば、図１０に示す情報である。
【００２２】
多重イベント定義情報１２は、検証項目を構成する多重イベントとそれに対応する制約情報の番号が記載されている。
多重イベント定義情報１２に記載されるイベントには、単一イベント及び複数イベントからなる多重イベントの双方が含まれる。
多重イベント定義情報１２において示される多重イベントは、検証対象回路に対してランダム検証に基づくシミュレーションを行った場合にシミュレーション中に同じタイミングで発生すべきＮ（Ｎ≧２）個のイベントである。
また、多重イベント定義情報１２に記載されていて検証によって発生した多重イベントは、それを生成した制約情報番号を追記する。
多重イベント定義情報１２は、例えば、図３に示す情報である。
なお、多重イベント定義情報１２は、図示していない所定の記憶領域に記憶されているものとする。
【００２３】
制約情報生成部１３は、イベント解析情報１１と多重イベント定義情報１２と制約情報具体値４から、制約情報具体値４を修正し新たな制約情報１を生成する。
つまり、制約情報生成部１３は、イベント解析情報１１と多重イベント定義情報１２と制約情報具体値４とを入力し、入力したイベント解析情報１１に基づき検証対象回路に対するシミュレーション中に多重イベント定義情報１２に定義されている多重イベント（Ｎ個のイベント）が同じタイミングで発生しているか否かを判断し、多重イベント（Ｎ個のイベント）が同じタイミングで発生していない場合に、制約情報具体値４に基づいて新たな制約情報を生成する。
制約情報生成部１３は、Ｎ個のイベントを同じタイミングで発生させるテストパターンが生成できる制約情報を生成することを目的とする。
【００２４】
新たな制約情報は、基本的に元となる制約情報１が存在する。
本実施の形態では、制約情報１の親子関係を木構造で表し、親の制約情報１と子の制約情報１は少なくとも１つ構成するパラメータの値が異なる。
また、木構造を構成する制約情報１に対して、イベント解析情報１１を参照することで制約情報１からどのようなイベントを発生させるかの情報を得ることができる。
複雑な組合せ条件を持つ多重イベントを発生させるのに、過去どのような条件の変化によってどのイベントが発生したかの情報を蓄積することは有用である。
制約情報の親子関係を表した木構造を図２に示す。
図２の木構造の各要素の数字は、制約情報番号である。
例えば、図２では、制約情報番号１を根として、制約情報番号１に修正を行ったものが各要素となる。
なお、図２に示すような制約情報間の親子関係を示す木構造は、図１において図示していない所定の記憶領域で記憶しているものとする。
【００２５】
制約情報１を構成するパラメータは、共通パラメータ、直交パラメータ、共有パラメータの３つに大きく分類することができる。
新たな制約情報を生成するアルゴリズムは、この３つのパラメータに対してどのように操作するかによって変化する。
以下に、３つのパラメータの説明と制約情報に対して新たなパラメータを加える場合の処理ついて示す。
共通パラメータは、検証環境の動作モードなど同一の制約情報から作られるパラメータでは変更ないパラメータである。例えば、ハードウェアの動作モードの設定など値の変更によってハードウェアの構成や動作が変わるパラメータが対象となる。新たな制約情報を作る場合、共通パラメータは、基本的に元となる制約情報に合わせる。
直交パラメータは、動作が直交できるトランザクション発行元のパラメータである。例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）とＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）がそれぞれトランザクションを発行する。これらのＣＰＵとＤＭＡとＰＣＩは同時にトランザクションを発行できるため、直交パラメータとして扱う。新たな制約情報を作る場合、直交パラメータは、元のパラメータに追記する。新たな制約情報を作る場合、アクセス先のアドレスとタイミングが近い値をとるように変更することで、多くの場合、多重イベントが発生しやすい状況を作ることができる。
共有パラメータは、トランザクションの発行先アドレスといった別のブロックのトランザクション間でも共有するパラメータである。例えば、ＣＰＵとＰＣＩは同時にトランザクションを発行できるが、アクセス先のアドレスが同一だった場合に、アクセス先で競合が発生する。
新たな制約情報を作る場合、共有パラメータは、２つのパラメータが重複する範囲をとる。
【００２６】
（目標の設定と処理方針）
最初に、検証実施者（論理回路検証システムのユーザ）は、ランダム検証項目の中から検証を行う項目を選択する。
検証項目から多重イベントに関する情報を抜き出したのが多重イベント定義情報１２である。つまり、多重イベント定義情報１２には、選択された検証項目についてのシミュレーションを検証対象回路に行った場合に同じタイミングで発生すべき多重イベント（Ｎ個のイベント）が定義されている。
図３に多重イベント定義情報１２の具体例の一部を示す。
以下では、図３の多重イベント定義情報の中からイベント番号２２１のＤＤＲ−ＳＤＲＡＭのイニシエータからコマンドを受け付けるコマンド受信キューが１カウントアップするイベント、キューからコマンドを取り出して１カウントダウンするイベント、ＣＰＵとＤＭＡの合計２つのイニシエータから同時にＤＤＲ−ＳＤＲＡＭアクセスを行う２重イベントとが発生する４重イベントを例に説明する。
つまり、本実施の形態では、検証対象回路に対するシミュレーションにおいてイベント番号２２１に示される４重イベントの発生が観測され、また、シミュレーションの実行結果が出力期待値に合致する場合には、検証対象回路は正常に動作すると判定される。
【００２７】
４重イベントを発生させる方法について述べる。
４重イベントは、３重イベントに対して１つの単体イベントが組み合わさったと考えることができる。
同様に、３重イベントは２重イベント＋単体イベント、２重イベントは単体イベント＋単体イベントと考えることができる。
本実施の形態では、目的のＮ重のイベントを発生させるために、Ｎ−１重の多重イベントに対し単体イベントを重ね合わせることによってＮ重のイベントを発生させる。
上記のイベントを重ね合わせるというのは、下記で詳細を記載するが、単純に述べるとＮ−１重イベントが発生する制約情報と組み合わせる単体イベントを比較して新たな制約情報を生成することである。
【００２８】
（処理概要）
次に、本実施の形態に係るテストパターン生成装置１００及び検証環境７の動作例を図４のフローチャートに示す。
【００２９】
最初に、制約情報生成部１３が制約情報生成処理（制約情報生成ステップ）において初期の制約情報を作成する（Ｓ４１）。
【００３０】
次に、ランダムパターンジェネレータ２がテストパターン生成処理（テストパターン生成ステップ）において、初期の制約情報１を用いてテストパターン３と制約情報具体値４の作成を行う（Ｓ４２）。
【００３１】
次に、検証環境７がテストパターン実行処理において、作成されたテストパターン３を実行して検証対象回路に対してシミュレーションを行い、検証実行結果８とイベントログ９の出力を行う（Ｓ４３）。
【００３２】
次に、イベント解析部１０がイベント解析処理（イベント解析ステップ）において、イベントログ９の解析を行い、イベント解析情報１１を出力する（Ｓ４４）。
イベント解析部１０は、検証対象回路に対するシミュレーション中に同じタイミングで実行されたイベントを抽出し、同じタイミングで実行されたイベントを列記するイベント解析情報１１を生成する（Ｓ４４）。
【００３３】
次に、制約情報生成部１３がイベント解析情報１１を確認し、目的の多重イベント（多重イベント定義情報１２に定義されている多重イベント）が発生しているかどうかを判断し（Ｓ４５）、目的の多重イベントが発生していれば（Ｓ４５でＹＥＳ）、検証対象回路は正常に動作すると判断して検証を終了する。
一方、目的の多重イベントが発生してない場合（Ｓ４５でＮＯ）は、ループ回数が規定回数に達していなければ（Ｓ４６でＮＯ）、制約情報生成処理（Ｓ４１）に戻って、制約情報生成部１３がイベント解析情報１１と制約情報具体値４とに基づき、制約情報具体値４の出現比率を修正して新たな制約情報を生成する。
新たな制約情報を生成したら再びテストパターン３の作成・実行・イベントログ解析の処理（Ｓ４２〜Ｓ４４）を行い、目的の多重イベントが発生するか（Ｓ４５でＹＥＳ）規定回数のループに達して（Ｓ４６でＹＥＳ）終了となるまで実行を繰り返す。
【００３４】
（単一イベントの制約情報作成）
本実施の形態では、単一イベントを発生させることができる制約情報１は機能仕様書から作成しているということを前提とする。
これは、制約情報１を構成するパラメータが検証対象毎にまったく異なるためである。
単一イベントは、図３に示すように、多重イベント定義情報１２の中の単一イベントの項目で記載されている。
発生させるイベントが異なれば、制約情報１のパラメータ値、パラメータ値ごとの出現比率も変わる。
したがって、制約情報１は複数存在し、制約情報番号をつけて管理している。
図３のリストには単一イベントに対応する制約情報番号が記載してある。
１つの制約情報で複数のイベントが発生することはありえるため、異なるイベントであっても同じ制約情報の番号が記載されることがある。
【００３５】
（初期制約情報の作成）
初期の制約情報１は、過去に実行した制約情報１の中で、目的の多重イベントの構成要素があれば、もっとも構成要素が多い制約情報１を選択する。過去に実行した制約情報でどのような多重イベントが発生したか知るには、対応するイベント解析情報１１に記載してある。
検証開始の最も初期の状態では、判明しているのは機能仕様書から作成した単一イベントの制約情報のみであるため、以下説明する具体例においても、既知であるのは単一イベントを発生させる制約情報のみとし、最終的に４重の多重イベントを発生させる制約情報１を作成する過程を示す。
【００３６】
図５に制約情報の具体例を示す。
ＣＰＵからの単一イベントであるＣＰＵ  ＲＥＡＤ  やＣＰＵ  ＷＲＩＴＥは、図５の制約情報５１で発生させることができるが、制約情報５１はＰＣＩやＤＭＡを動作させない設定（アクセス先比率がすべて０％）であるため、ＰＣＩやＤＭＡのイベントは発生しない。
同様に、ＤＭＡからの単一イベントであるＤＭＡ  ＲＥＡＤ、ＤＭＡ  ＷＲＩＴＥは、制約情報５２で発生させることができる。
制約情報５１は、単一イベントＣＰＵ  ＲＥＡＤ、ＣＰＵ  ＷＲＩＴＥが発生することはすでに判明している。
したがって、ＣＰＵ  ＷＲＩＴＥに加えて、多重イベント（図３のイベント番号２２１）の構成要素のイベントＤＭＡ  ＷＲＩＴＥを発生させるために、イベントＤＭＡ  ＷＲＩＴＥを発生させる制約情報５２を制約情報５１に組み合わせることで新たな制約情報を作成する。
制約情報５１に対して、ＤＭＡ  ＷＲＩＴＥを発生させるために制約情報５２を重ね合わせて新たな制約情報６１を作成した一例を図６に示す。
制約情報６１は、制約情報５１の「ＤＭＡ  ｄｅｆｉｎｅ」の各パラメータ値（ＤＤＲ−ＳＤＲＡＭ、ＳＲＡＭ、０、１−１０等）の出現比率が、制約情報５２の「ＤＭＡ  ｄｅｆｉｎｅ」の各パラメータ値の出現比率に置換されている。
また、この時点での制約情報の木構造は深さ２で、制約情報５１を根として表し、新たに作った制約情報６１が葉となる。
【００３７】
（ランダムパターンジェネレータによるテストパターン作成）
上記で作成した制約情報６１の各パラメータ値の出現比率に対して所定の範囲内で乱数を用いて値を変えることによって異なるテストパターンを複数作成する。
１つの制約情報から作成するテストパターン数は、回路規模などにもよるが数十件から数千件程度が目安となる。
ここでは、作成したテストパターンの一例を図７に示す。
また、図７に対応する制約情報具体値の一例を図８に示す。
制約情報具体値８１が制約情報６１に一致しないのは、制御情報具体値８１では、制約情報６１に記載されている出現比率の値が乱数によってある程度変化するためである。
程度条件を絞った中での乱数による値の変化によって、方向性を定めながらも様々な条件のテストパターンを作成することができる。
【００３８】
（検証の実行）
作成したテストパターンに記載されているトランザクションを、検証環境７の既存検証部５（論理シミュレータ）によって入力し検証対象の回路を動作させる。
そして、検証実行結果８とイベントログ９の２つの出力が得られる。
検証実行結果８は、従来のランダム検証でも得られていた出力結果であり、テストパターンに記載されている期待値とテストパターンの実行結果を比較した結果である。
比較対象としては、検証対象や検証対象に接続されているメモリやレジスタである。
期待値が一致しない場合、そのテストパターンはＮＧと判定され、不具合の解析を行うこととなる。
不具合の解析手法については、既存技術の範囲であるため言及しない。
【００３９】
（実行結果の分析）
イベント監視部６は、テストパターン実行によって観測されたイベントとイベント発生時刻をイベントログ９に記録する。
従来の検証実行結果で合否を判定していたランダム検証では、多数のテストパターンを作成・実行し、期待値と一致することは確認できるが、それによってすべての機能において動作しているかを確認できるわけではなかった。そのため、すべてのテストパターンにおいて実際に目的の機能を動作させた上での結果か否かの確認は困難であった。
ここでは、検証実行結果では、出力期待値と一致しているため、テストパターンはＯＫとなったとする。
【００４０】
図７のテストパターンを実行して得られたイベントログ９の出力例を図９に示す。
図９では、右側の文字（ＣＰＵ  ＷＲＩＴＥ等）が発生イベント名、左側の数字（１２３等）がそのイベントが発生した時刻である。
例えば、図９の時刻１２３に２つのイベントが発生しているため、２重イベントが発生しているといえる。
しかしながら、図９のイベントログでは、目的の４重イベントの要素である２重イベントは発生しているものの、４重イベントが発生していない結果が出力されている。
したがって、本テストパターンでは検証項目を満たせていないこととなる。
【００４１】
イベント解析部１０は、イベントログ９を解析して各イベントのイベント発生タイミングを解析し、図１０に例示するイベント解析情報１１を出力する。
図１０のイベント解析情報１１では、制約情報番号１３（制約情報６１に対応）に基づくテストパターンｔｅｓｔ０１０１を用いたシミュレーションにおいて、単一イベント及び２重イベントのみが発生していることが示され、各２重イベントについてイベント構成要素と２重イベントの発生回数が示されている。
なお、イベント解析部１０は、１つの制約情報に基づく数十〜数千のテストパターンに対するイベントログ９を入手し、入手した数十〜数千のイベントログ９に対して図１０のようなイベント解析情報１１を作成する。
【００４２】
（新たな制約情報の生成）
制約情報生成部１３は、図１０のイベント解析情報１１を参照して、２重イベントは発生しているが最終目的の４重イベントが発生していないと判断し、制約情報具体値８１を修正して新たな制約情報を生成する。
制約情報生成部１３は、イベント解析情報１１に記載されているイベントの発生情報から、目的の多重イベントのイベント構成要素が発生しているテストパターンを有効なテストパターンとして選択する。
選択するテストパターンは複数であってよい。また、選択する基準として構成要素のイベントのなかで最もイベントの多重度が高いものを選択するとしてもよい。
【００４３】
ここでは、制約情報生成部１３は、図８の制約情報具体値８１に基づくテストパターンｔｅｓｔ０１０１で２重イベントが発生していることから、当該テストパターンｔｅｓｔ０１０１の制約情報具体値８１を用いて新たな制約情報を作成するとする。
図１０のイベント解析情報１１より、ＣＰＵからＤＤＲ−ＳＤＲＡＭに対してのＷｒｉｔｅとＤＭＡからＤＤＲ−ＳＤＲＡＭに対してのＷｒｉｔｅの競合が発生していないことがわかる。これは同一アクセス先に対するトランザクションの競合であるため、直交パラメータである制約情報具体値８１のＣＰＵ  Ａｃｃｅｓｓ  ＤｅｌａｙとＤＭＡ  Ａｃｃｅｓｓ  Ｄｅｌａｙの項目を小さくしトランザクションの発行密度を上げる修正を行う。
その修正結果を図６の制約情報６２に示す。
また、新たな制約情報を作成したので、制約情報の木構造に追加し、更新する。
木構造で制約情報の関係を表すことで制約情報の差分とイベントの発生状況の変化を知ることができる。
このため、違う検証項目において同様のイベントが構成要素となったとき優先して変更すべきパラメータを順位付けと有効な値の指針とすることができる。
【００４４】
新たな制約情報の生成手法としては、上述のように、多重イベントのうちのいずれかのイベント構成要素が発生したテストパターンの制約情報具体値を選択し、選択した制約情報具体値に示されるいずれかのパラメータ値の出現比率を変更して新たな制約情報を生成する手法があるが、この場合に、選択した制約情報具体値に示されるパラメータ値のうち出現比率がこれまでに変更されていないパラメータ値の出現比率を変更して新たな制約情報を生成することが考えられる。
また、制約情報５１と制約情報５２とを組み合せて制約情報６１を生成したのと同様に、多重イベントのうちのいずれかのイベント構成要素が発生したテストパターンの制約情報具体値と、多重イベントのうちの他のいずれかのイベント構成要素が発生したテストパターンの制約情報具体値とを選択し、選択した制約情報具体値を組み合わせて新たな制約情報を生成するようにしてもよい。
【００４５】
（２回目のテストパターン作成）
上記のようにして制約情報生成部１３で生成された新たな制約情報１に基づいて、ランダムパターンジェネレータ２は、テストパターン３と当該テストパターン３に対応する制約情報具体値４を作成する。
【００４６】
（実行と解析）
検証環境７では、新たに作成されたテストパターン３を実行し、検証の実行結果８とイベントログ９を得る。
実行結果８は、前回と同様に期待値比較は一致していたとする。
イベント解析部１０においてイベントログ９を解析した結果を示すイベント解析情報１１の例を図１１に示す。
図１１のイベント解析情報１１では、制約情報番号１４（制約情報６２に対応）に基づくテストパターンｔｅｓｔ０１０２を用いたシミュレーションにおいて、４重イベントが１回発生していることが示され、この４重イベントは多重イベント定義情報１２に定義されている目的の４重イベント（イベント番号２２１）に一致するので、制約情報生成部１３は、検証対象回路が正常に動作すると判断し、これ以降は新たな制約情報の生成は行わない。
なお、ここでは、２重イベントを発生させる制約情報具体値を修正して新たな制約情報を生成し、４重イベントを発生させる例を説明したが、イベントの多重度を順次上げていきながら目的の多重イベントを発生させる場合もある。つまり、２重イベントを発生させる制約情報具体値を修正して新たな制約情報を生成し、新たな制御情報に基づくテストパターンにより３重イベントを発生させ、更に、３重イベントを発生させる制約情報具体値を修正して新たな制約情報を生成し、新たな制御情報に基づくテストパターンにより最終的に４重イベントを発生させるというように、イベントの多重度を順次上げていって目的の多重イベントを発生させる場合もある。
【００４７】
（終了）
すべての検証項目を終えたら検証終了とする。
また、指定回数で目的の多重イベントが生成できない場合は、エラーとして終了する。
【００４８】
このように本実施の形態では、検証対象回路へのランダム検証項目をイベントの組合せとして多重イベント定義情報において定義し、検証対象回路に対するシミュレーションで検知されたイベントを解析し、多重イベント定義情報において定義されている多重イベントがシミュレーション中に発生していない場合に新たな制約情報を生成し、以降、新たな制約情報に基づくテストパターンの生成、シミュレーションの実行、発生したイベントの解析、更なる新たな制約情報の生成という過程を繰り返すことにより制約情報を更新させて、検証対象回路に対するシミュレーションにおいて目的の多重イベントを発生させることができ、発生条件が複雑な検証項目に対する検証を網羅的かつ効率的に実施することができる。
【００４９】
以上、本実施の形態では、
制約情報の値に基づいてテストパターンを自動的に作成するランダムパターンジェネレータと、
検証対象を動作させるトランザクションとタイミング制御、論理シミュレーション後のメモリ及びレジスタの期待値を記載しているテストパターンと、
検証対象の回路および接続される検証回路から構成されるシミュレーション対象とそのシミュレーションを行い結果を出力する論理シミュレータから構成されると検証環境と、
テストパターン実行によって得られた検証回路の出力とテストパターン記載の期待値と比較し一致するか否かを判定した結果を論理シミュレータが出力した検証実行結果と、
テストパターン実行によって検証対象で発生したイベントと発生時刻を記載してあるイベントログと、
検証実行結果から新たな制約情報を生成する制約情報生成部と、
を備えた論理回路検証システムを説明した。
【００５０】
また、本実施の形態では、
テストパターンに対応する制約情報の具体的な値が記載されている制約情報具体値を備え、
前記制約情報生成部において、検証実行結果と検証実行結果に対応する制約情報具体値から新たな制約情報を生成する論理回路検証システムを説明した。
【００５１】
また、本実施の形態では、
テストパターン実行によって検証対象で発生したイベントを観測し発生時刻と共にイベントログへ記録するイベント監視部と、
イベントの発生状況を解析し、解析結果をイベント解析情報として出力するイベント解析部と、
イベント解析部が出力したイベント解析情報と、
を備え、
前記制約情報生成部において、イベント解析情報と多重イベント定義情報から目的の多重イベントが発生したか否かを判断し、検証実行結果と検証実行結果に対応する制約情報具体値とイベント解析情報から新たな制約情報を生成する論理回路検証システムを説明した。
【００５２】
また、本実施の形態では、
検証対象の回路が検証すべきすべての多重イベントの情報が記載されている多重イベン定義情報を備え、
前記制約情報生成部において、検証実行結果と検証実行結果に対応する制約情報具体値とイベント解析情報と多重イベント定義情報から新たな制約情報を生成する論理回路検証システムを説明した。
【００５３】
最後に、本実施の形態に示したテストパターン生成装置１００のハードウェア構成例について説明する。
図１２は、本実施の形態に示すテストパターン生成装置１００のハードウェア資源の一例を示す図である。
なお、図１２の構成は、あくまでもテストパターン生成装置１００のハードウェア構成の一例を示すものであり、テストパターン生成装置１００のハードウェア構成は図１２に記載の構成に限らず、他の構成であってもよい。
【００５４】
図１２において、テストパターン生成装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。本実施の形態で説明した制約情報１、制約情報具体値４、イベント解析情報１１、多重イベント定義情報１２は、ＲＡＭ９１４、磁気ディスク装置９２０等、または各種レジスタに格納される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００５５】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００５６】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００５７】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００５８】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
テストパターン生成装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００５９】
上記プログラム群９２３には、本実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００６０】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の生成」、「〜の解析」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００６１】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００６２】
このように、本実施の形態に示すテストパターン生成装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００６３】
１  制約情報、２  ランダムパターンジェネレータ、３  テストパターン、４  制約情報具体値、５  既存検証部、６  イベント監視部、７  検証環境、８  実行結果、９  イベントログ、１０  イベント解析部、１１  イベント解析情報、１２  多重イベント定義情報、１３  制約情報生成部、１００  テストパターン生成装置。
【図１】
2011048412.tif 000003
【図２】
2011048412.tif 000004
【図３】
2011048412.tif 000005
【図４】
2011048412.tif 000006
【図５】
2011048412.tif 000007
【図６】
2011048412.tif 000008
【図７】
2011048412.tif 000009
【図８】
2011048412.tif 000010
【図９】
2011048412.tif 000011
【図１０】
2011048412.tif 000012
【図１１】
2011048412.tif 000013
【図１２】
2011048412.tif 000014