(57)【要約】【課題】設計者にとって分かりやすい内容のエラーメッセージを提示することにより、論理検証期間の短縮化を図る。【解決手段】検証対象となるハードウェアモジュールＭの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出し、その羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報８１０を作成して、そのメッセージ情報８１０を出力する。【選択図】図２
2008250504.tif 000002
【特許請求の範囲】
【請求項１】
検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出させる抽出工程と、
前記抽出工程によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成させる作成工程と、
前記作成工程によって作成されたメッセージ情報を出力させる出力工程と、
をコンピュータに実行させることを特徴とする論理検証支援プログラム。
【請求項２】
前記有限状態機械モデルの中から前記ハードウェアモジュールに入力される信号が満たすべき制約に関する制約論理式を取得させる取得工程と、
前記取得工程によって取得された制約論理式を、前記制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記制約の不成立をチェックするアサーション記述情報を生成させるアサーション生成工程と、
を前記コンピュータに実行させることを特徴とする請求項１に記載の論理検証支援プログラム。
【請求項３】
前記アサーション生成工程は、
前記制約論理式に含まれる前記ハードウェアモジュールに入力される信号の信号名を、前記主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記修飾文字列の埋め込み位置に埋め込むことにより、前記アサーション記述情報を生成させることを特徴とする請求項２に記載の論理検証支援プログラム。
【請求項４】
前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成させる有限状態機械生成工程と、を前記コンピュータに実行させ、
前記抽出工程は、
前記有限状態機械生成工程によって生成された有限状態機械モデルの中から、前記羅列した文字列を抽出させることを特徴とする請求項１〜３のいずれか一つに記載の論理検証支援プログラム。
【請求項５】
前記インターフェース仕様記述情報は、
前記ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列と前記信号の信号変化パターンとを含み、
前記有限状態機械モデルは、
前記入力条件の意味をあらわす文字列を前記信号の信号変化パターンに従って羅列した文字列が、前記各遷移状態に関連付けられた状態遷移グラフによって表現されており、
前記抽出工程は、
前記状態遷移グラフの前記各遷移状態に関連付けられた羅列した文字列を抽出させることを特徴とする請求項４に記載の論理検証支援プログラム。
【請求項６】
請求項１〜５のいずれか一つに記載の論理検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項７】
検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する抽出手段と、
前記抽出手段によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する作成手段と、
前記作成手段によって作成されたメッセージ情報を出力する出力手段と、
を備えることを特徴とする論理検証支援装置。
【請求項８】
検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する抽出工程と、
前記抽出工程によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する作成工程と、
前記作成工程によって作成されたメッセージ情報を出力する出力工程と、
を含んだことを特徴とする論理検証支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検証対象となるＬＳＩなどのハードウェアモジュールの論理検証を支援する論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法に関する。
【背景技術】
【０００２】
ＬＳＩなどのハードウェアモジュールの設計では、従来から設計期間の短縮による作業効率化が要求されている一方、ハードウェアモジュールが正しく動作するかどうかを検証する検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているハードウェアモジュールについては、高品質を維持するためにもこの検証作業は重要である。
【０００３】
一般に、ハードウェアモジュールの論理検証では、プロトコル違反を検出するインターフェースプロトコルチェッカをインターフェース仕様記述から自動生成し、そのインターフェースプロトコルチェッカを用いてハードウェアモジュールの論理検証をおこなっている。
【０００４】
具体的には、たとえば、検証対象となるハードウェアモジュールの周りをテストベンチが取り囲んでいる検証環境下において、ハードウェアモジュールの入出力の信号変換（インターフェースプロトコル）が仕様に合っているか否かをモニタリングして、プロトコル違反（制約の不成立）の有無をチェックしている（たとえば、下記特許文献１〜４参照。）。
【０００５】
【特許文献１】特開２００６−０５３８１３号公報
【特許文献２】特開２００５−１０８００７号公報
【特許文献３】特開２００６−０９９５１８号公報
【特許文献４】特開２００６−２１９１９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１〜４に記載の従来技術では、自動生成されたインターフェースプロトコルチェッカを用いたハードウェアモジュールの論理検証において、プロトコル違反が発生した場合に出力されるエラーメッセージについて、何ら言及されていない、あるいは、設計者にとって分かりにくい内容となっていた。
【０００７】
このため、ハードウェアモジュールのどの箇所（時期）でプロトコル違反が発生したのか、また、どのインターフェース信号がプロトコル違反の原因となっているのかを特定する作業に多大な時間を要してしまい、検証作業の長期化、ひいては設計作業の長期化を招くという問題があった。
【０００８】
ここで、従来技術の問題点を具体的に説明する。図１８は、従来技術の問題点を示す説明図である。図１８において、アサーション記述情報１８００は、ハードウェアモジュールのプロトコル違反をチェックするアサーションを実行する情報である。プロトコル違反が発生すると、アサーション記述情報１８００におけるｒｅｐｏｒｔ以下のメッセージが出力される。
【０００９】
ここでは、ハードウェアモジュールが取ることができる状態Ｓ１に関するプロトコル違反が発生すると、“Ａｓｓｅｒｔｉｏｎ  （Ａ＆〜Ｂ＆〜Ｃ＆Ｄ）｜（Ａ＆Ｂ＆Ｃ＆Ｄ）｜（Ａ＆〜Ｂ＆Ｃ＆Ｄ）  ｆａｉｌｅｄ  ａｔ  ｓｔａｔｅ  Ｓ１”というエラーメッセージが出力されることとなる。
【００１０】
設計者は、このエラーメッセージをもとに、プロトコル違反の発生箇所を特定し、さらに、メッセージ内の論理式から原因となっているインターフェース信号を特定する。しかし、実際にはインターフェース信号の信号数は１０〜１００ビット程度になるため特定作業が著しく困難となってしまい、検証作業の長期化、ひいては設計作業の長期化を招くという問題があった。
【００１１】
一方で、インターフェースプロトコルチェッカを手作業で作成して、設計者にとって分かりやすいエラーメッセージを出力させるように作り込むことが考えられる。しかし、信号数が１０〜１００ビット程度になることが想定されるため、インターフェースプロトコルチェッカの作成作業に手間がかかってしまい、検証作業の長期化を招いてしまう場合があるという問題があった。
【００１２】
この発明は、上述した従来技術による問題点を解消するため、設計者にとって分かりやすい内容のエラーメッセージを提示することにより、論理検証期間の短縮化を図ることができる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、この発明にかかる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法は、検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出し、その羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成し、そのメッセージ情報を出力することを特徴とする。
【００１４】
この発明によれば、ハードウェアモジュールの有限状態機械モデルを用いて、各状態の特徴を説明するメッセージ情報を自動作成することにより、各状態を容易に特定することができる。
【００１５】
また、上記発明において、前記有限状態機械モデルの中から前記ハードウェアモジュールに入力される信号が満たすべき制約に関する制約論理式を取得し、その制約論理式を、前記制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記制約の不成立をチェックするアサーション記述情報を生成することとしてもよい。
【００１６】
この発明によれば、制約の不成立が発生した場合に提示されるレポート文に、各状態の特徴を説明するメッセージ情報が含まれるため、制約の不成立の発生箇所（時期）を容易に特定することができる。
【００１７】
また、上記発明において、前記制約論理式に含まれる前記ハードウェアモジュールに入力される信号の信号名を、前記主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記修飾文字列の埋め込み位置に埋め込むことにより、前記アサーション記述情報を生成することとしてもよい。
【００１８】
この発明によれば、制約の不成立の原因となっている信号を容易に特定することができる。
【００１９】
また、上記発明において、前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付けて、そのインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成し、その有限状態機械モデルの中から前記羅列した文字列を抽出することとしてもよい。
【００２０】
また、上記発明において、前記インターフェース仕様記述情報は、前記ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列と前記信号の信号変化パターンとを含み、前記有限状態機械モデルは、前記入力条件の意味をあらわす文字列を前記信号の信号変化パターンに従って羅列した文字列が、前記各遷移状態に関連付けられた状態遷移グラフによって表現されており、前記状態遷移グラフの前記各遷移状態に関連付けられた羅列した文字列を抽出することとしてもよい。
【００２１】
これらの発明によれば、各状態の特徴を説明するメッセージ文を、ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列を用いて記述することができる。
【００２２】
また、上記発明において、前記有限状態機械モデルは、前記入力条件をあらわす入力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、前記各遷移枝に関連付けられた状態遷移グラフによって表現されており、前記状態遷移グラフの前記各状態と当該各状態に対する遷移先の状態との間の前記各遷移枝に関連付けられた論理式の論理和をあらわす制約論理式を取得することとしてもよい。
【００２３】
この発明によれば、各状態に入力される信号が満たすべき制約に関する制約論理式を取得することができる。
【００２４】
また、上記発明において、前記メッセージ情報と関連付けて前記状態遷移グラフを出力することとしてもよい。
【００２５】
この発明によれば、状態遷移グラフによって状態間の遷移を直感的に認識することができ、各状態の特定をより容易におこなうことができる。
【００２６】
また、上記発明において、前記有限状態機械モデルを表現し、当該有限状態機械モデルの各状態の特徴を説明する状態メッセージ情報が記述された状態遷移表の入力を受け付け、その状態遷移表の前記状態メッセージ情報を前記羅列した文字列として抽出することとしてもよい。
【００２７】
この発明によれば、設計者の手作業によって作成された状態遷移表を用いて有限状態機械モデルを表現することにより、インターフェース仕様記述情報を必要としない。
【００２８】
また、上記発明において、前記有限状態機械モデルを用いて、前記ハードウェアモジュールの動作を示すハードウェア記述情報を生成することとしてもよい。
【００２９】
この発明によれば、ハードウェアモジュールの論理検証に用いるハードウェア記述情報を自動的に生成することができる。
【発明の効果】
【００３０】
本発明にかかる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法によれば、設計者にとって分かりやすい内容のエラーメッセージを提示することにより、論理検証期間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照して、この発明にかかる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法の好適な実施の形態を詳細に説明する。
【００３２】
（論理検証支援装置のハードウェア構成）
まず、この発明の実施の形態にかかる論理検証支援装置１００のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる論理検証支援装置１００のハードウェア構成を示す説明図である。図１において、論理検証支援装置１００は、コンピュータ本体１１０と、入力装置１２０と、出力装置１３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ、ＷＡＮやインターネットなどのネットワーク１４０に接続可能である。
【００３３】
コンピュータ本体１１０は、ＣＰＵ、メモリ、インターフェースを有する。ＣＰＵは、論理検証支援装置１００のハードウェア構成の全体の制御を司る。メモリは、ＲＯＭ、ＲＡＭ、ＨＤ、光ディスク１１１、フラッシュメモリから構成される。メモリはＣＰＵのワークエリアとして使用される。
【００３４】
また、メモリには各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク１１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク１１１およびフラッシュメモリはコンピュータ本体１１０に対し着脱自在である。インターフェースは、入力装置１２０からの入力、出力装置１３０への出力、ネットワーク１４０に対する送受信の制御をおこなう。
【００３５】
また、入力装置１２０としては、キーボード１２１、マウス１２２、スキャナ１２３などがある。キーボード１２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス１２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ１２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体１１０内のメモリに格納される。なお、スキャナ１２３にＯＣＲ機能を持たせてもよい。
【００３６】
また、出力装置１３０としては、ディスプレイ１３１、スピーカ１３２、プリンタ１３３などがある。ディスプレイ１３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ１３２は、効果音や読み上げ音などの音声を出力する。また、プリンタ１３３は、画像データや文書データを印刷する。
【００３７】
（論理検証支援装置１００の機能的構成）
つぎに、この発明の実施の形態にかかる論理検証支援装置１００の機能的構成について説明する。図２は、この発明の実施の形態にかかる論理検証支援装置１００の機能的構成を示すブロック図である。図２において、論理検証支援装置１００は、入力部２０１と、有限状態機械生成部２０２と、抽出部２０３と、作成部２０４と、出力部２０５と、取得部２０６と、アサーション生成部２０７と、変換部２０８と、ハードウェア記述情報生成部２０９と、から構成されている。
【００３８】
これら各機能２０１〜２０９は、メモリに格納された当該機能に関するプログラムをＣＰＵに実行させることにより、当該機能を実現することができる。また、各機能２０１〜２０９からの出力データはメモリに保持される。また、図２中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをＣＰＵに実行させる。
【００３９】
まず、入力部２０１は、ハードウェアモジュールＭの通信手順に関するインターフェース仕様記述情報Ｄ１の入力を受け付ける機能を有する。インターフェース仕様記述情報Ｄ１とは、ハードウェアモジュールＭの通信手順に関する記述情報である。入力部２０１によって入力を受け付けたインターフェース仕様記述情報Ｄ１はメモリに保持される。
【００４０】
具体的には、たとえば、インターフェース仕様記述情報Ｄ１は、ハードウェアモジュールＭにどのような信号が入力されて、どのような種類の通信がおこなわれ、それぞれの種類の通信がどのような信号変化パターンを有しているかを網羅的に記述したものである。
【００４１】
このインターフェース仕様記述情報Ｄ１は、計算機上のテキストファイルによって記述することができ、文法と解釈が数学的に定義された記述言語を使って記述されている。たとえば、正規表現（ｒｅｇｕｌａｒ  ｅｘｐｒｅｓｓｉｏｎ）などをベースにすることにより、信号値の時間的な変化パターンを数学的に表現することができる。
【００４２】
ここで、ハードウェアモジュールＭのインターフェース仕様記述情報Ｄ１について説明する。図３は、ハードウェアモジュールＭのインターフェース仕様記述情報Ｄ１を示す説明図である。図３中、Ａ、Ｂ、Ｃ、Ｄは観測するインターフェース信号を示している。また、“〜”は論理否定、“｜”は排他的論理和、“＆”は論理積、“*”は０回以上の繰り返しをあらわす。
【００４３】
図３において、『ｂｏｏｌｅａｎ』は、ハードウェアモジュールＭに入力される信号の入力条件を定義している。具体的には、各入力条件の意味をあらわす文字列と、各入力条件を規定する論理式と、の組み合わせによって各入力条件を定義する。
【００４４】
ここでは、信号の入力条件を、文字列「ＮＯＰ」と論理式「〜Ａ｜〜Ｂ」との組み合わせ、文字列「Ｒｅｑｕｅｓｔ」と論理式「Ａ＆Ｂ＆〜Ｄ」との組み合わせ、文字列「Ｗａｉｔ」と論理式「Ａ＆Ｂ＆Ｃ＆Ｄ」との組み合わせ、文字列「Ｅｘｅｃ」と論理式「Ａ＆〜Ｂ＆Ｃ＆Ｄ」との組み合わせ、文字列「Ｃａｎｃｅｌ」と論理式「Ａ＆〜Ｂ＆〜Ｃ＆Ｄ」との組み合わせによって定義している。
【００４５】
『ｓｅｑｕｅｎｃｅ』は、ハードウェアモジュールＭに入力される信号の信号変化パターンを定義している。具体的には、信号の信号変化パターンの意味をあらわす文字列と、『ｂｏｏｌｅａｎ』において定義された文字列の羅列と、の組み合わせによって信号変化パターンを定義する。
【００４６】
ここでは、信号変化パターンを、文字列「Ｎｏｒｍａｌ」と羅列した文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ  Ｅｘｅｃ」との組み合わせ、文字列「Ａｂｏｒｔ」と羅列した文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｃａｎｃｅｌ」との組み合わせによって定義している。羅列した文字列の意味は、「Ａｂｏｒｔ」を例に挙げると、「Ｒｅｑｕｅｓｔ」のあとに、「Ｗａｉｔ」が０回以上繰り返されたあと、「Ｃａｎｃｅｌ」が発生することを示している。
【００４７】
『ｔｒａｎｓａｃｔｉｏｎ』は、ハードウェアモジュールＭが取ることのできる状態集合のバリエーションを定義している。具体的には、ハードウェアモジュールＭが取ることのできる状態集合をあらわす文字列によってバリエーションを定義する。ここでは、文字列「ＮＯＰ」、「Ｎｏｒｍａｌ」および「Ａｂｏｒｔ」によって３つの状態集合が定義されている。
【００４８】
図２の説明に戻り、有限状態機械生成部２０２は、入力部２０１によって入力されたインターフェース仕様記述情報Ｄ１に基づいて、ハードウェアモジュールＭに入出力される信号の状態遷移に関する有限状態機械モデルを生成する機能を有する。具体的には、メモリから入力部２０１によって入力されたインターフェース仕様記述情報Ｄ１を読み出して、そのインターフェース仕様記述情報Ｄ１に基づく有限状態機械モデルを生成して、メモリに保持する。
【００４９】
有限状態機械モデルとは、ハードウェアモジュールＭが取ることのできる有限の状態集合およびある状態から他の状態への可能な有限の遷移集合を用いて記述された動作（動的）モデルである。この有限状態機械モデルは、信号の入力条件の意味をあらわす文字列を信号の信号変化パターンに従って羅列した文字列（後述するラベルＬ）が、各遷移状態に関連付けられた状態遷移グラフによって表現することができる。
【００５０】
各遷移状態に関連付けられる羅列した文字列とは、図３に示した「ＮＯＰ」や「Ｒｅｑｕｅｓｔ」などの入力条件の意味をあらわす単語の羅列である。なお、各遷移状態に関連付ける文字列として、入力条件の意味をあらわす記号、絵文字および図形などを用いることとしてもよい。
【００５１】
また、有限状態機械モデルは、入力条件をあらわす入力変数を用いて任意の遷移元の状態と遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、各遷移枝に関連付けられた状態遷移グラフによって表現することができる。入力変数とは、ハードウェアモジュールＭに入力されるインターフェース信号Ａ〜Ｄの信号値である。ここで、インターフェース仕様記述情報Ｄ１に基づく状態遷移グラフ４００について説明する。
【００５２】
図４は、ハードウェアモジュールＭの状態遷移グラフ４００を示す説明図である。図４において、状態遷移グラフ４００は、任意の遷移元の状態と遷移元に対する遷移先の状態との間の遷移条件である論理式（図３に示した入力条件）が、各遷移枝（Ｓ０→Ｓ０、Ｓ０→Ｓ１、Ｓ１→Ｓ０、Ｓ１→Ｓ１、Ｓ１→Ｓ２、Ｓ２→Ｓ０）に関連付けられたグラフである。
【００５３】
状態遷移グラフ４００において、状態Ｓ０が初期状態であり、クロックに同期してある状態から他の状態への状態遷移が起こる。また、遷移枝には遷移条件を示す論理式が記述されている。この論理式は、図３に示した『ｂｏｏｌｅａｎ』で定義された論理式を用いて記述されているため、この論理式自体が、ハードウェアモジュールＭに入力される信号が満たすべき入力条件となる。
【００５４】
また、状態遷移グラフ４００の各遷移状態（初期状態を除く状態）には、その状態を特定するためのメッセージが記述されたラベルＬ１，Ｌ２が関連付けられている。このラベルＬ１，Ｌ２には、初期状態から各遷移状態に辿り着くまでの各遷移枝に関連付けられた論理式の意味をあらわす文字列を遷移順に羅列した文字列が記述されている。
【００５５】
具体的には、信号の入力条件の意味をあらわす文字列を信号の信号変化パターンに従って羅列した文字列である。設計者は、このラベルＬ１，Ｌ２に記述されているメッセージ内容により、各遷移状態を特定するとともに、各遷移状態に辿り着くまでの経緯を直感的に把握することができる。
【００５６】
ここで、ラベルＬ１を例に挙げると、状態Ｓ０から状態Ｓ１に辿り着くまでの遷移を意味する文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」が記述されている。この文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」は、「Ｒｅｑｕｅｓｔ」のあとに、「Ｗａｉｔ」を０回以上繰り返して、状態Ｓ１に遷移したことを意味している。
【００５７】
なお、ラベルＬ１，Ｌ２に記述されるメッセージは、各状態を特定する内容であればよく、設計者にとって分かりやすい表現であればよい。たとえば、各遷移状態を識別するための識別ＩＤをラベルＬ１，Ｌ２に記述することとしてもよい。
【００５８】
ここで、有限状態機械生成部２０２による状態遷移グラフ４００の生成手法の一例について説明する。まず、状態遷移アルゴリズムについて説明する。図５は、状態遷移アルゴリズムの具体例を示す説明図である。図５中、“ｐ”、“ｑ”は遷移条件をあらわす正規表現であり、“ε”はイプシロン遷移をあらわしている。
【００５９】
図５中（１）において、状態Ｓａと状態Ｓｂとの間の遷移枝には、遷移条件をあらわす正規表現「ｐｑ」が関連付けられている。ここで、正規表現「ｐｑ」を展開すると、状態Ｓａから状態Ｓｃに遷移したあと、状態Ｓｂに遷移する。
【００６０】
このとき、状態Ｓａから状態Ｓｂへ遷移する途中で新しく生成された状態Ｓｃには、その状態Ｓｃを特定するラベルＬｃが関連付けられてメモリに保持される。このラベルＬｃのメッセージは、状態Ｓａに関連付けられているラベルＬａのメッセージ「Ｌ」に、状態Ｓａと状態Ｓｃとの間の遷移条件をあらわす文字列「ｐ」が追加されたメッセージ「Ｌｐ」となる。
【００６１】
図５中（２）において、状態Ｓａと状態Ｓｄとの間の遷移枝には、遷移条件をあらわす正規表現「ｐ*」が関連付けられている。ここで、正規表現「ｐ*」を展開すると、状態Ｓａからイプシロン遷移して状態Ｓｅに遷移したあと、状態Ｓｅで０回以上の自己ループを繰り返し、このあと、イプシロン遷移して状態Ｓｄに遷移する。
【００６２】
このとき、状態Ｓａから状態Ｓｄへ遷移する途中で新しく生成された状態Ｓｅには、その状態Ｓｅを特定するラベルＬｅが関連付けられてメモリに保持される。ラベルＬｅのメッセージは、状態Ｓａに関連付けられているラベルＬａのメッセージ「Ｌ」に、状態Ｓｅでの自己ループをあらわす文字列「ｐ*」が追加されたメッセージ「Ｌｐ*」となる。
【００６３】
図５中（３）において、状態Ｓａと状態Ｓｆとの間の遷移枝には、遷移条件をあらわす正規表現「ｐ｜ｑ」が関連付けられている。ここで、正規表現「ｐ｜ｑ」を展開すると、状態Ｓａから状態Ｓｆに遷移する遷移枝が「ｐ」が発生した場合の遷移枝と、「ｑ」が発生した場合の遷移枝との２本となる。
【００６４】
これら（１）〜（３）の状態遷移アルゴリズムを利用してインターフェース仕様記述情報Ｄ１に記述されている正規表現（『ｓｅｑｕｅｎｃｅ』で定義されている信号変化パターン）を展開することより、図４に示した状態遷移グラフ４００を生成することができる。
【００６５】
つぎに、図３に示したインターフェース仕様記述情報Ｄ１から状態遷移グラフ４００を生成する手順について説明する。図６−１〜図６−３は、状態遷移グラフ４００の生成手順を示す説明図である。なお、図６−１〜図６−３において状態Ｓ０は初期状態である。
【００６６】
まず、図３に示したインターフェース仕様記述情報Ｄ１の『ｔｒａｎｓａｃｔｉｏｎ』の記述内容に基づいて状態遷移グラフ６１１を生成する。具体的には、『ｔｒａｎｓａｃｔｉｏｎ』に定義されている状態集合に応じた数の遷移枝（ここでは３本）を生成し、各遷移枝に文字列「ＮＯＰ」，「Ｎｏｒｍａｌ」，「Ａｂｏｒｔ」が関連付けられた状態遷移グラフ６１１を生成する。
【００６７】
つぎに、各遷移枝に関連付けられている文字列「Ｎｏｒｍａｌ」，「Ａｂｏｒｔ」をインターフェース仕様記述情報Ｄ１の『ｓｅｑｕｅｎｃｅ』の記述内容に基づいて変換して状態遷移グラフ６１２を生成する。具体的には、「Ｎｏｒｍａｌ」を「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ  Ｅｘｅｃ」に置き換え、さらに、「Ａｂｏｒｔ」を「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｃａｎｃｅｌ」に置き換える。
【００６８】
つぎに、図５中（１）で説明した状態遷移アルゴリズムを用いて、「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ  Ｅｘｅｃ」および「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｃａｎｃｅｌ」を展開することにより遷移状態グラフ６１３を生成する。このとき、各遷移状態ＳＡ〜ＳＥに、その状態を特定するためのメッセージが記述されたラベルＬ１〜Ｌ５を関連付けてメモリに保持する。
【００６９】
ここで、ラベルＬ３を例に挙げると、状態Ｓ０から状態ＳＣに辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列が記述されている。具体的には、状態Ｓ０から状態ＳＣに辿り着くまでの各遷移枝に関連付けられている文字列「Ｒｅｑｕｅｓｔ」、「Ｗａｉｔ*」、「Ｅｘｅｃ」を遷移順に羅列した文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ」が記述される。
【００７０】
つぎに、図５中（２）で説明した状態遷移アルゴリズムを用いて、「Ｗａｉｔ*」を展開することにより、イプシロン遷移を表現した状態遷移グラフ６２１を生成する。このとき、新たに生成される状態ＳＦには状態ＳＢと同一のラベルＬ２が関連付けられ、また、新たに生成される状態ＳＧには状態ＳＥと同一のラベルＬ５が関連付けられる。
【００７１】
つぎに、状態遷移グラフ６２１を簡単化して整理することにより状態遷移グラフ６３１を生成する。具体的には、イプシロン遷移をあらわす遷移枝を消去して状態遷移グラフ６３１を生成する。このとき、状態ＳＡ，ＳＦ，ＳＢのうち状態ＳＦのみを残し、また、状態ＳＡ，ＳＦ，ＳＢのうち発生時期が最も遅い状態ＳＢに関連付けられていたラベルＬ２を、状態ＳＦに関連付ける。状態ＳＧについても同様である。
【００７２】
最後に、状態遷移グラフ６３１のうち同一の遷移条件で２つの状態に遷移する遷移枝（非決定的な枝）を１つの遷移枝に統合することにより状態遷移グラフ６３２を生成する。ここでは、状態Ｓ０から「Ｒｅｑｕｅｓｔ」が成立すると、状態ＳＦに遷移する遷移枝と状態ＳＧに遷移する遷移枝とが存在する。
【００７３】
このため、これら２つの遷移枝を統合して１つの遷移枝とする。遷移枝が統合された結果、状態ＳＦおよび状態ＳＧが一つの状態ＳＨとなる。このとき、状態ＳＨには、ラベルＬ２またはＬ５のいずれか一方が関連付けられる。
【００７４】
なお、統合前の各状態に関連付けられているラベルＬのメッセージがそれぞれ異なる場合には、いずれか一方のラベルを関連付けることとしてもよく、また、両方のメッセージが記述されたラベルＬを生成して関連付けることとしてもよい。
【００７５】
このようにして生成された状態遷移グラフ６３２の各選択枝に関連付けられた遷移条件の意味をあらわす文字列を当該文字列に対応する論理式に置き換えることにより、図４に示した状態遷移グラフ４００を生成することができる。なお、状態遷移グラフ６３２における状態ＳＨ，ＳＣは、状態遷移グラフ４００の状態Ｓ１，Ｓ２にそれぞれ対応している。
【００７６】
ここで図２の説明に戻り、抽出部２０３は、検証対象となるハードウェアモジュールＭの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する機能を有する。
【００７７】
具体的には、有限状態機械モデルをメモリから読み出して、その有限状態機械モデルの中から、各遷移状態に関連付けられている羅列した文字列を抽出してメモリに保持する。この有限状態機械モデルは、有限状態機械生成部２０２によって生成されたモデルであってもよく、また、後述する状態遷移表９００を用いて表現されるモデルであってもよい。
【００７８】
より具体的には、抽出部２０３は、ハードウェアモジュールＭに入力される信号の入力条件の意味をあらわす文字列を信号の信号変化パターンに従って羅列した文字列が、各遷移状態に関連付けられた状態遷移グラフ４００における、各遷移状態（状態Ｓ１，Ｓ２）に関連付けられた羅列した文字列を抽出する。
【００７９】
この羅列した文字列とは、状態遷移グラフ４００の状態Ｓ１，Ｓ２にそれぞれ関連付けられているラベルＬ１，Ｌ２に記述されているメッセージ（「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」、「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ」）である。
【００８０】
このとき、抽出部２０３は、羅列した文字列と状態Ｓ１，Ｓ２とを関連付けてメモリに保持する。具体的には、ラベルＬ１の羅列した文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」と状態Ｓ１とを関連付けて、さらに、ラベルＬ２の羅列した文字列「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ」と状態Ｓ２とを関連付けてメモリに保持する。
【００８１】
作成部２０４は、抽出部２０３によって抽出された羅列した文字列を、有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、初期状態から各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する機能を有する。
【００８２】
具体的には、たとえば、有限状態機械モデルの各状態の特徴を説明するメッセージ文を作成するメッセージテンプレートを使用して、初期状態から各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成してメモリに保持する。ここで、メッセージ情報の作成に使用するメッセージテンプレートについて説明する。
【００８３】
図７は、メッセージテンプレートの一例を示す説明図である。図７において、メッセージテンプレート７００は、有限状態機械モデルの状態Ｓ０〜Ｓｎの特徴を説明するメッセージ文を作成するテンプレートである。具体的に、メッセージテンプレート７００には、状態Ｓ０（初期状態）をあらわす固定のメッセージ文、および各状態Ｓ１〜Ｓｎに応じた未完成のメッセージ文が用意されている。
【００８４】
状態Ｓ０をあらわす固定のメッセージ文は、初期状態であることを意味する「ｔｈｅ  ｉｄｌｅ  ｓｔａｔｅ」である。また、状態Ｓ１〜Ｓｎに応じた未完成のメッセージ文は、各状態Ｓ１〜Ｓｎをあらわす文字列を修飾する修飾文字列の埋め込み位置７００−１〜７００−ｎが空白となっている「ｔｈｅ  ｓｔａｔｅ  ａｆｔｅｒ  空白」である。
【００８５】
作成部２０４は、抽出部２０３によって抽出された羅列した文字列を、メッセージテンプレート７００における有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置７００−１〜７００−ｎに埋め込むことにより、初期状態から各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する。
【００８６】
ここでは、抽出部２０３によって抽出された羅列した文字列である「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」および「Ｒｅｑｕｅｓｔ  Ｗａｉｔ*  Ｅｘｅｃ」を、メッセージテンプレート７００の対応する埋め込み位置７００−１，７００−２に埋め込むことにより、状態Ｓ０から各状態Ｓ１，Ｓ２に辿り着くまでの遷移を意味するメッセージ情報８１０（図８参照）を作成することができる。
【００８７】
出力部２０５は、作成部２０４によって作成されたメッセージ情報をメモリから読み出して、そのメッセージ情報を出力する機能を有する。また、出力部２０５は、メッセージ情報と関連付けて状態遷移グラフを出力することとしてもよい。出力部２０５による出力形式は、ディスプレイ１３１での画面表示、プリンタ１３３での印刷出力、メモリへのデータ出力（保存）、外部のコンピュータ装置への送信のいずれであってもよい。
【００８８】
ここで、出力部２０５による出力形式の具体例について説明する。図８は、出力形式の具体例を示す説明図である。ここでは、メッセージ情報８１０と関連付けて状態遷移グラフ４００を出力する場合について説明する。図８において、出力結果８００には、図４に示した状態遷移グラフ４００と作成部２０４によって作成されたメッセージ情報８１０とが表示されている。
【００８９】
メッセージ情報８１０は、状態遷移グラフ４００の状態Ｓ０，Ｓ１，Ｓ２の特徴を説明するメッセージ文として、状態Ｓ０が初期状態であることを意味するメッセージＸ、状態Ｓ０から各状態Ｓ１，Ｓ２に辿り着くまでの遷移を意味するメッセージＹ，Ｚが記述されている。
【００９０】
設計者は、出力結果８００の状態遷移グラフ４００により、状態Ｓ０から各状態Ｓ１，Ｓ２への遷移を直感的に認識するとともに、メッセージ情報８１０の記述内容により、状態Ｓ０から各状態Ｓ１，Ｓ２に辿り着くまでの経緯を直感的に把握することができる。
【００９１】
なお、本実施の形態では、インターフェース仕様記述情報Ｄ１に基づいて有限状態機械モデルを自動生成することとしたが、設計者の手作業によって有限状態機械モデルを生成することとしてもよい。この場合、ハードウェアモジュールＭが取ることのできる有限の状態集合、およびある状態から他の状態への可能な有限の遷移集合を表現する状態遷移表を手作業によって作成する。
【００９２】
図９は、ハードウェアモジュールＭの状態遷移表を示す説明図である。図９において、状態遷移表９００には、有限状態機械モデルの各状態の状態ＩＤ、状態メッセージ、遷移条件および次状態ＩＤに関する情報が保持されている。状態ＩＤは、各状態を識別する識別情報である。
【００９３】
状態メッセージは、各状態の特徴を説明するメッセージであり、たとえば、図８に示したメッセージＸ，Ｙ，Ｚに相当する。遷移条件は、状態間の遷移枝の遷移条件である。次状態ＩＤは、遷移条件に応じて遷移する遷移先の状態である。
【００９４】
この状態遷移表９００を用いてハードウェアモジュールＭの有限状態機械モデルを表現することができる。状態遷移表９００に基づくメッセージ情報８１０を作成する場合には、抽出部２０３によって状態遷移表９００から各状態の状態メッセージを抽出し、その状態メッセージを用いてメッセージ情報８１０のメッセージ文を作成する。
【００９５】
具体的には、入力部２０１により、ハードウェアモジュールＭの有限状態機械モデルを表現し、当該有限状態機械モデルの各状態の特徴を説明する状態メッセージ情報が記述された状態遷移表９００の入力を受け付け、抽出部２０３により、入力部２０１によって入力された状態遷移表の状態メッセージ情報を羅列した文字列として抽出する。
【００９６】
そして、抽出部２０３によって抽出された状態メッセージを、メッセージテンプレート７００における有限状態機械モデルの各状態をあらわす未完成のメッセージ文と置き換えることにより、初期状態から各遷移状態に辿り着くまでの遷移を意味するメッセージ情報８１０を作成することができる。
【００９７】
ここで図２の説明に戻り、取得部２０６は、ハードウェアモジュールＭの有限状態機械モデルの中から、ハードウェアモジュールＭに入力される信号が満たすべき制約に関する制約論理式を取得する機能を有する。具体的には、メモリから有限状態機械モデルを読み出して、その有限状態機械モデルの中から状態ごとの制約論理式を取得してメモリに保持する。
【００９８】
より具体的には、たとえば、入力条件をあらわす入力変数を用いて任意の遷移元の状態と遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、各遷移枝に関連付けられた状態遷移グラフ４００の各状態と当該各状態に対する遷移先の状態との間の各遷移枝に関連付けられた論理式の論理和をあらわす制約論理式を取得する。
【００９９】
ここで、図４に示した状態遷移グラフ４００の状態Ｓ１を例に挙げると、状態Ｓ１の制約論理式は各遷移枝に関連付けられた論理式「Ａ＆〜Ｂ＆〜Ｃ＆Ｄ」、「Ａ＆Ｂ＆Ｃ＆Ｄ」および「Ａ＆〜Ｂ＆Ｃ＆Ｄ」の論理和となる。状態Ｓ１の制約論理式を下記式（１）に示す。
【０１００】
（Ａ＆〜Ｂ＆〜Ｃ＆Ｄ）｜（Ａ＆Ｂ＆Ｃ＆Ｄ）｜（Ａ＆〜Ｂ＆Ｃ＆Ｄ）  …（１）
【０１０１】
アサーション生成部２０７は、取得部２０６によって取得された制約論理式を、制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、メッセージ情報（たとえば、図８に示したメッセージＸ，Ｙ，Ｚ）を、述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、制約の不成立をチェックするアサーション記述情報Ｄ２を生成する機能を有する。
【０１０２】
アサーション記述情報Ｄ２は、ハードウェアモジュールＭの論理検証時に、ハードウェアモジュールＭに入力される信号が満たすべき制約の不成立をチェックするアサーションを実現する情報であり、たとえば、ＰＳＬ言語（Ｐｒｏｐｅｒｔｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｌａｎｇｕａｇｅ）を用いて記述される。
【０１０３】
アサーション記述情報Ｄ２を生成する場合、上記式（１）を制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込むこととしてもよく、また、上記式（１）を複数の論理式「Ａ＆〜Ｂ＆〜Ｃ＆Ｄ」，「Ａ＆Ｂ＆Ｃ＆Ｄ」，「Ａ＆〜Ｂ＆Ｃ＆Ｄ」に分解して、各論理式を主部の埋め込み位置に埋め込むこととしてもよい。
【０１０４】
アサーション記述情報Ｄ２に記述されているレポート文は、制約の不成立が発生した場合に出力される情報である。設計者は、このレポート文を元に制約不成立の発生箇所を特定することができる。本実施の形態では、このレポート文の内容をより詳細なものとすることにより、制約不成立の発生箇所の迅速な発見を支援する。
【０１０５】
また、出力部２０５は、アサーション生成部２０７によって生成されたアサーション記述情報Ｄ２をメモリから読み出して出力する機能を有する。このアサーション記述情報Ｄ２は、後述するハードウェア記述情報Ｄ３とともに、ハードウェアモジュールＭを論理検証するインターフェースプロトコルチェッカとして用いることができる。
【０１０６】
ここで、アサーション生成部２０７によるアサーション記述情報Ｄ２の生成手法の一例について説明する。以下、状態遷移グラフ４００の状態Ｓ１を例に挙げて、アサーション記述情報Ｄ２の生成手法を説明する。まず、アサーション生成部２０７の変換部２０８により、制約論理式を分解して複数の積項に変換する。
【０１０７】
具体的には、たとえば、制約論理式の論理否定に対して非冗長積和論理式変換をおこなうことにより、制約論理式を複数の積項に変換する。なお、非冗長積和論理式変換については公知技術のため説明は省略する。
【０１０８】
図１０は、制約論理式の変換処理の概要を示す説明図である。図１０において、まず、取得部２０６によって取得された上記式（１）を論理否定演算することにより数式（２）を生成する。このあと、数式（２）を非冗長積和論理式変換することにより数式（３）を生成し、その数式（３）を積項１００１〜１００３ごとに分解する。
【０１０９】
これにより、状態Ｓ１に関する制約論理式（上記式（１））を簡単化して表現することができる。具体的には、論理式「Ａ＆〜Ｂ＆〜Ｃ＆Ｄ」は積項１００１に相当し、論理式「Ａ＆Ｂ＆Ｃ＆Ｄ」は積項１００２に相当し、論理式「Ａ＆〜Ｂ＆Ｃ＆Ｄ」は積項１００３に相当する。
【０１１０】
つぎに、これら複数の積項１００１〜１００３をアサーションテンプレート（図１２参照）に適用することにより、ハードウェアモジュールＭに入力される信号が満たすべき制約の不成立をチェックするアサーション記述情報Ｄ２を生成する。
【０１１１】
積項１００１〜１００３をアサーションテンプレートに適用する場合、まず、各積項１００１〜１００３について、論理否定をあらわす“〜”が含まれていない変数Ｐ1，…，Ｐmと、論理否定をあらわす“〜”が含まれている変数Ｑ1，…，Ｑnと、に区分した変数リストＲｔを作成する。変数はインターフェース信号Ａ〜Ｄの信号値Ａ〜Ｄである。
【０１１２】
図１１は、状態Ｓ１の変数リストＲｔを示す説明図である。図１１において、変数リストＲｔには、積項１００１〜１００３ごとに、“〜”が含まれていない変数と、“〜”が含まれている変数とが区分されて保持されている。具体的には、積項１００１について、論理否定を含む変数Ｑ1：〜Ａを保持している。
【０１１３】
また、積項１００２について、論理否定を含まない変数Ｐ1：Ｂ、および論理否定を含む変数Ｑ1：〜Ｃを保持している。また、積項１００３について、論理否定を含む変数Ｑ1：〜Ｄを保持している。なお、図１１中、対応する変数が存在しない項目には「ｎｏｎｅ」と表記する。
【０１１４】
つぎに、変数リストＲｔを用いて積項１００１〜１００３ごとに、アサーションテンプレートに適用する。図１２は、アサーションテンプレートの一例を示す説明図である。図１２において、アサーションテンプレート１２００は、アサーション記述情報Ｄ２の記述内容を決定するテンプレートである。
【０１１５】
アサーションテンプレート１２００は、適用条件ごとに、アサーション記述情報Ｄ２に記述するテンプレート文１２００−１〜１２００−３を有している。適用条件とは、各積項１００１〜１００３を、どのテンプレート文１２００−１〜１２００−３に適用するのかを決める条件である。
【０１１６】
また、テンプレート文１２００−１〜１２００−３には、複数の空白箇所（埋め込み位置Ｐ１〜Ｐ５）が用意されており、各埋め込み位置Ｐ１〜Ｐ７に適切な文字列を埋め込むことによりアサーション記述情報Ｄ２の記述内容を生成する。具体的には、埋め込み位置Ｐ１には状態名を、埋め込み位置Ｐ２には積項を、埋め込み位置Ｐ３には各積項の論理否定を含まない変数を、埋め込み位置Ｐ４には各積項の論理否定を含む変数を、埋め込み位置Ｐ５には各状態に応じたメッセージ情報を埋め込む。
【０１１７】
アサーションテンプレート１２００に適用するためには、まず、変数リストＲｔのリスト内容に基づいて、積項１００１〜１００３ごとの適用条件を特定する。具体的には、積項１００１については、論理否定を含む変数Ｑ1＝〜Ａのみを保持しているため、適用条件は「ｍ＝０かつｎ＞０」となる。
【０１１８】
また、積項１００２については、論理否定を含まない変数Ｐ1：Ｂ、および論理否定を含む変数Ｑ1：〜Ｃを保持しているため、適用条件は「ｍ＞０かつｎ＞０」となる。また、積項１００３については、論理否定を含む変数Ｑ1：〜Ｄのみを保持しているため、適用条件は「ｍ＝０かつｎ＞０」となる。
【０１１９】
そして、積項１００１〜１００３ごとの適用条件に応じて、アサーションテンプレート１２００のテンプレート文１２００−１〜１２００−３の埋め込み位置Ｐ１〜Ｐ５に文字列を埋め込むことにより、アサーション記述情報Ｄ２を生成する。
【０１２０】
たとえば、積項１００１を例に挙げると、条件は「ｍ＝０かつｎ＞０」であるため、テンプレート文１２００−３の各埋め込み位置Ｐ１〜Ｐ５に適切な文字列を埋め込む。具体的には、テンプレート文１２００−３の埋め込み位置Ｐ１に状態名「Ｓ１」を埋め込み、埋め込み位置Ｐ２に積項「〜Ａ」を埋め込み、埋め込み位置Ｐ４に論理否定を含む変数「Ａ」を埋め込み、埋め込み位置Ｐ５に状態Ｓ１に応じたメッセージＹ（図８参照）を埋め込む。
【０１２１】
これにより、状態Ｓ１の積項１００１に関するアサーション記述情報Ｄ２の記述内容が完成する。同様に、積項１００２および積項１００３についての記述内容を完成させて、それらの記述内容を含むアサーション記述情報Ｄ２を生成する。
【０１２２】
図１３は、ハードウェアモジュールＭのアサーション記述情報Ｄ２を示す説明図である。図１３において、アサーション記述情報Ｄ２には、状態遷移グラフ４００の状態Ｓ１に関する情報が記述されている。インターフェース信号Ａ〜Ｄが満たすべき制約の不成立が発生すると、各制約に対応したｒｅｐｏｒｔ以下のレポート文が設計者に提示されることとなる。
【０１２３】
たとえば、状態Ｓ１において、インターフェース信号Ａが満たすべき制約の不成立が発生すると、「Ａ  ｉｓ  ｎｏｔ  ａｓｓｅｒｔｅｄ  ａｔ  ｔｈｅ  ｓｔａｔｅ  ａｆｔｅｒ  Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」が出力される。設計者は、図８に示したメッセージ情報８１０を用いて、レポート文の内容を確認することにより、制約の不成立の発生箇所を迅速に特定することができる。
【０１２４】
図２の説明に戻り、ハードウェア記述情報生成部２０９は、ハードウェアモジュールＭの有限状態機械モデルを用いて、ハードウェアモジュールＭの動作を示すハードウェア記述情報Ｄ３を生成する機能を有する。ハードウェア記述情報Ｄ３は、たとえば、Ｖｅｒｉｌｏｇなどのハードウェア記述言語ＨＤＬを用いて記述される。ハードウェア記述情報生成部２０９によって生成されたハードウェア記述情報Ｄ３はメモリに保持される。
【０１２５】
また、出力部２０５は、ハードウェア記述情報生成部２０９によって生成されたハードウェア記述情報Ｄ３をメモリから読み出して出力する機能を有する。このハードウェア記述情報Ｄ３は、上述したアサーション記述情報Ｄ２とともに、ハードウェアモジュールＭを論理検証するインターフェースプロトコルチェッカとして用いることができる。
【０１２６】
また、ハードウェア記述情報生成部２０９は、ハードウェアモジュールＭの有限状態機械モデルと、取得部２０６によって取得された制約論理式とに基づいて、ハードウェア記述言語ＨＤＬを用いて記述されたインターフェースプロトコルチェッカＨＤＬを生成する機能を有する。
【０１２７】
このインターフェースプロトコルチェッカＨＤＬは、ハードウェアモジュールＭの論理検証に用いることができ、上述したアサーション記述情報Ｄ２およびハードウェア記述情報Ｄ３の記述内容を含んでいる。具体的には、たとえば、アサーションテンプレート１２００を用いて生成されたアサーション記述情報Ｄ２がハードウェア記述言語ＨＤＬによって表現されている。
【０１２８】
出力部２０５は、ハードウェア記述情報生成部２０９によって生成されたインターフェースプロトコルチェッカＨＤＬを出力する機能を有する。ここで、ハードウェア記述言語ＨＤＬを用いて記述されたインターフェースプロトコルチェッカＨＤＬの具体例について説明する。図１４は、インターフェースプロトコルチェッカＨＤＬの具体例を示す説明図である。
【０１２９】
図１４において、インターフェースプロトコルチェッカＨＤＬには、ハードウェアモジュールＭのアサーション記述情報Ｄ２およびハードウェア記述情報Ｄ３が、ハードウェア記述言語ＨＤＬによって記述されている。たとえば、ハードウェアモジュールＭに入力される信号が満たすべき制約がｉｆ文によって記述されており、制約の不成立が発生した場合のレポート文がｄｉｓｐｌａｙ以下に記述されている。
【０１３０】
より具体的には、たとえば、状態Ｓ１におけるインターフェース信号Ｄに関する制約が不成立となった場合のレポート文は、「Ｄ  ｉｓ  ｎｏｔ  ａｓｓｅｒｔｅｄ  ａｔ  ｔｈｅ  ｓｔａｔｅ  ａｆｔｅｒ  Ｒｅｑｕｅｓｔ  Ｗａｉｔ*」となる。
【０１３１】
これにより、ＰＳＬ言語を使用できない環境下、あるいは、設計者がＰＳＬ言語を知らない場合であっても、ハードウェア記述言語ＨＤＬを用いて、ハードウェアモジュールＭの論理検証に使用するインターフェースプロトコルチェッカを自動生成することができる。
【０１３２】
（論理検証支援装置１００の論理検証支援処理手順）
つぎに、この発明の実施の形態にかかる論理検証支援装置１００の論理検証支援処理手順について説明する。図１５は、この発明の実施の形態にかかる論理検証支援装置１００の論理検証支援処理手順を示すフローチャートである。
【０１３３】
図１５のフローチャートにおいて、まず、入力部２０１により、インターフェース仕様記述情報Ｄ１が入力されたか否かを判断する（ステップＳ１５０１）。ここで、インターフェース仕様記述情報Ｄ１が入力されるのを待って（ステップＳ１５０１：Ｎｏ）、入力された場合（ステップＳ１５０１：Ｙｅｓ）、作成部２０４により、メッセージ情報作成処理を実行する（ステップＳ１５０２）。
【０１３４】
このあと、アサーション生成部２０７により、アサーション記述情報生成処理を実行する（ステップＳ１５０３）。そして、ハードウェア記述情報生成部２０９により、ハードウェアモジュールＭの有限状態機械モデルを用いて、ハードウェアモジュールＭの動作を示すハードウェア記述情報Ｄ３を生成する（ステップＳ１５０４）。
【０１３５】
最後に、出力部２０５により、ステップＳ１５０２において作成されたメッセージ情報８１０を出力するとともに、ステップＳ１５０３において生成されたアサーション記述情報Ｄ２およびステップＳ１５０４において生成されたハードウェア記述情報Ｄ３をインターフェースプロトコルチェッカとして出力する（ステップＳ１５０５）。
【０１３６】
つぎに、図１５に示したメッセージ情報作成処理（ステップＳ１５０２）の処理手順について説明する。図１６は、メッセージ情報作成処理の処理手順を示すフローチャートである。図１６のフローチャートにおいて、まず、有限状態機械生成部２０２により、図１５に示したステップＳ１５０１において入力されたインターフェース仕様記述情報Ｄ１に基づいて、ハードウェアモジュールＭに入出力される信号の状態遷移に関する有限状態機械モデルを生成する（ステップＳ１６０１）。
【０１３７】
このあと、抽出部２０３により、有限状態機械生成部２０２によって生成された有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する（ステップＳ１６０２）。
【０１３８】
そして、作成部２０４により、メッセージテンプレート７００を使用して、抽出部２０３によって抽出された羅列した文字列を、有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、初期状態から各遷移状態に辿り着くまでの遷移を意味するメッセージ情報８１０を作成して（ステップＳ１６０３）、図１５に示したステップＳ１５０３に移行する。
【０１３９】
つぎに、図１５に示したアサーション記述情報生成処理（ステップＳ１５０３）の処理手順について説明する。図１７は、アサーション記述情報生成処理の処理手順を示すフローチャートである。図１７のフローチャートにおいて、まず、取得部２０６により、図１６に示したステップＳ１６０１において生成された有限状態機械モデルの中からハードウェアモジュールＭに入力される信号が満たすべき制約に関する制約論理式を取得する（ステップＳ１７０１）。
【０１４０】
このあと、変換部２０８により、取得部２０６によって取得された制約論理式を積項に変換する変換処理を実行する（ステップＳ１７０２）。そして、アサーション生成部２０７により、アサーションテンプレート１２００を使用して、変換部２０８によって変換された積項を、制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、図１５に示したステップＳ１５０２において作成されたメッセージ情報８１０を、述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、制約の不成立をチェックするアサーション記述情報Ｄ２を生成して（ステップＳ１７０３）、図１５に示したステップＳ１５０４に移行する。
【０１４１】
このように、本実施の形態によれば、ハードウェアモジュールＭの有限状態機械モデルを用いて、各状態の特徴を説明するメッセージ情報８１０を自動作成することができる。このとき、ハードウェアモジュールＭに入力される信号の入力条件の意味をあらわす文字列を用いて、各状態の特徴を説明するメッセージ文を記述することにより、設計者にとって分かりやすい内容のメッセージ情報８１０を自動作成することができる。
【０１４２】
設計者は、メッセージ情報８１０の内容を確認することにより、各状態を容易に特定することができる。また、制約の不成立が発生した場合に提示されるレポート文に、メッセージ情報８１０の内容と関連付けられた、各状態の特徴を説明するメッセージが含まれるため、制約の不成立の発生箇所（時期）を容易に特定することができる。
【０１４３】
以上説明したように、この発明にかかる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法によれば、設計者にとって分かりやすい内容のエラーメッセージを提示することにより、論理検証期間の短縮化を図ることができる。
【０１４４】
なお、本実施の形態で説明した論理検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１４５】
また、本実施の形態で説明した論理検証支援装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した論理検証支援装置１００の機能的構成２０１〜２０９をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、論理検証支援装置１００を製造することができる。
【０１４６】
（付記１）検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出させる抽出工程と、
前記抽出工程によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成させる作成工程と、
前記作成工程によって作成されたメッセージ情報を出力させる出力工程と、
をコンピュータに実行させることを特徴とする論理検証支援プログラム。
【０１４７】
（付記２）前記有限状態機械モデルの中から前記ハードウェアモジュールに入力される信号が満たすべき制約に関する制約論理式を取得させる取得工程と、
前記取得工程によって取得された制約論理式を、前記制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記制約の不成立をチェックするアサーション記述情報を生成させるアサーション生成工程と、
を前記コンピュータに実行させることを特徴とする付記１に記載の論理検証支援プログラム。
【０１４８】
（付記３）前記アサーション生成工程は、
前記制約論理式に含まれる前記ハードウェアモジュールに入力される信号の信号名を、前記主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記修飾文字列の埋め込み位置に埋め込むことにより、前記アサーション記述情報を生成させることを特徴とする付記２に記載の論理検証支援プログラム。
【０１４９】
（付記４）前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成させる有限状態機械生成工程と、を前記コンピュータに実行させ、
前記抽出工程は、
前記有限状態機械生成工程によって生成された有限状態機械モデルの中から、前記羅列した文字列を抽出させることを特徴とする付記１〜３のいずれか一つに記載の論理検証支援プログラム。
【０１５０】
（付記５）前記インターフェース仕様記述情報は、
前記ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列と前記信号の信号変化パターンとを含み、
前記有限状態機械モデルは、
前記入力条件の意味をあらわす文字列を前記信号の信号変化パターンに従って羅列した文字列が、前記各遷移状態に関連付けられた状態遷移グラフによって表現されており、
前記抽出工程は、
前記状態遷移グラフの前記各遷移状態に関連付けられた羅列した文字列を抽出させることを特徴とする付記４に記載の論理検証支援プログラム。
【０１５１】
（付記６）前記有限状態機械モデルは、
前記入力条件をあらわす入力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、前記各遷移枝に関連付けられた状態遷移グラフによって表現されており、
前記取得工程は、
前記状態遷移グラフの前記各状態と当該各状態に対する遷移先の状態との間の前記各遷移枝に関連付けられた論理式の論理和をあらわす制約論理式を取得させることを特徴とする付記５に記載の論理検証支援プログラム。
【０１５２】
（付記７）前記出力工程は、
前記メッセージ情報と関連付けて前記状態遷移グラフを出力させることを特徴とする付記５または６に記載の論理検証支援プログラム。
【０１５３】
（付記８）前記入力工程は、
前記有限状態機械モデルを表現し、当該有限状態機械モデルの各状態の特徴を説明する状態メッセージ情報が記述された状態遷移表の入力を受け付けさせ、
前記抽出工程は、
前記入力工程によって入力された状態遷移表の前記状態メッセージ情報を前記羅列した文字列として抽出させることを特徴とする付記４に記載の論理検証支援プログラム。
【０１５４】
（付記９）前記有限状態機械モデルを用いて、前記ハードウェアモジュールの動作を示すハードウェア記述情報を生成させるハードウェア記述情報生成工程を前記コンピュータに実行させることを特徴とする付記１〜８のいずれか一つに記載の論理検証支援プログラム。
【０１５５】
（付記１０）付記１〜９のいずれか一つに記載の論理検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１５６】
（付記１１）検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する抽出手段と、
前記抽出手段によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する作成手段と、
前記作成手段によって作成されたメッセージ情報を出力する出力手段と、
を備えることを特徴とする論理検証支援装置。
【０１５７】
（付記１２）前記有限状態機械モデルの中から前記ハードウェアモジュールに入力される信号が満たすべき制約に関する制約論理式を取得する取得手段と、
前記取得手段によって取得された制約論理式を、前記制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記制約の不成立をチェックするアサーション記述情報を生成するアサーション生成手段と、
を備えることを特徴とする付記１１に記載の論理検証支援装置。
【０１５８】
（付記１３）前記アサーション生成手段は、
前記制約論理式に含まれる前記ハードウェアモジュールに入力される信号の信号名を、前記主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記修飾文字列の埋め込み位置に埋め込むことにより、前記アサーション記述情報を生成することを特徴とする付記１２に記載の論理検証支援装置。
【０１５９】
（付記１４）前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付けさせる入力手段と、
前記入力手段によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する有限状態機械生成手段と、を備え、
前記抽出手段は、
前記有限状態機械生成手段によって生成された有限状態機械モデルの中から、前記羅列した文字列を抽出することを特徴とする付記１１〜１３のいずれか一つに記載の論理検証支援装置。
【０１６０】
（付記１５）前記インターフェース仕様記述情報は、
前記ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列と前記信号の信号変化パターンとを含み、
前記有限状態機械モデルは、
前記入力条件の意味をあらわす文字列を前記信号の信号変化パターンに従って羅列した文字列が、前記各遷移状態に関連付けられた状態遷移グラフによって表現されており、
前記抽出手段は、
前記状態遷移グラフの前記各遷移状態に関連付けられた羅列した文字列を抽出することを特徴とする付記１４に記載の論理検証支援装置。
【０１６１】
（付記１６）前記有限状態機械モデルは、
前記入力条件をあらわす入力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、前記各遷移枝に関連付けられた状態遷移グラフによって表現されており、
前記取得手段は、
前記状態遷移グラフの前記各状態と当該各状態に対する遷移先の状態との間の前記各遷移枝に関連付けられた論理式の論理和をあらわす制約論理式を取得することを特徴とする付記１５に記載の論理検証支援装置。
【０１６２】
（付記１７）前記出力手段は、
前記メッセージ情報と関連付けて前記状態遷移グラフを出力することを特徴とする付記１５または１６に記載の論理検証支援装置。
【０１６３】
（付記１８）前記入力手段は、
前記有限状態機械モデルを表現し、当該有限状態機械モデルの各状態の特徴を説明する状態メッセージ情報が記述された状態遷移表の入力を受け付け、
前記抽出手段は、
前記入力手段によって入力された状態遷移表の前記状態メッセージ情報を前記羅列した文字列として抽出することを特徴とする付記１４に記載の論理検証支援装置。
【０１６４】
（付記１９）前記有限状態機械モデルを用いて、前記ハードウェアモジュールの動作を示すハードウェア記述情報を生成するハードウェア記述情報生成手段を備えることを特徴とする付記１１〜１８のいずれか一つに記載の論理検証支援装置。
【０１６５】
（付記２０）検証対象となるハードウェアモジュールの有限状態機械モデルの中から、初期状態から各遷移状態に辿り着くまでの各遷移枝の遷移条件の意味をあらわす文字列を遷移順に羅列した文字列を抽出する抽出工程と、
前記抽出工程によって抽出された羅列した文字列を、前記有限状態機械モデルの各状態をあらわす文字列を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記初期状態から前記各遷移状態に辿り着くまでの遷移を意味するメッセージ情報を作成する作成工程と、
前記作成工程によって作成されたメッセージ情報を出力する出力工程と、
を含んだことを特徴とする論理検証支援方法。
【０１６６】
（付記２１）前記有限状態機械モデルの中から前記ハードウェアモジュールに入力される信号が満たすべき制約に関する制約論理式を取得する取得工程と、
前記取得工程によって取得された制約論理式を、前記制約の不成立をあらわすレポート文の述部に対する主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記述部を修飾する修飾文字列の埋め込み位置に埋め込むことにより、前記制約の不成立をチェックするアサーション記述情報を生成するアサーション生成工程と、
を含んだことを特徴とする付記２０に記載の論理検証支援方法。
【０１６７】
（付記２２）前記アサーション生成工程は、
前記制約論理式に含まれる前記ハードウェアモジュールに入力される信号の信号名を、前記主部の埋め込み位置に埋め込み、かつ、前記メッセージ情報を、前記修飾文字列の埋め込み位置に埋め込むことにより、前記アサーション記述情報を生成することを特徴とする付記２１に記載の論理検証支援方法。
【０１６８】
（付記２３）前記ハードウェアモジュールの通信手順に関するインターフェース仕様記述情報の入力を受け付ける入力工程と、
前記入力工程によって入力されたインターフェース仕様記述情報に基づいて、前記ハードウェアモジュールに入出力される信号の状態遷移に関する有限状態機械モデルを生成する有限状態機械生成工程と、を含み、
前記抽出工程は、
前記有限状態機械生成工程によって生成された有限状態機械モデルの中から、前記羅列した文字列を抽出することを特徴とする付記２０〜２２のいずれか一つに記載の論理検証支援方法。
【０１６９】
（付記２４）前記インターフェース仕様記述情報は、
前記ハードウェアモジュールに入力される信号の入力条件の意味をあらわす文字列と前記信号の信号変化パターンとを含み、
前記有限状態機械モデルは、
前記入力条件の意味をあらわす文字列が前記信号の信号変化パターンに従って羅列した文字列が、前記各遷移状態に関連付けられた状態遷移グラフによって表現されており、
前記抽出工程は、
前記状態遷移グラフの前記各遷移状態に関連付けられた羅列した文字列を抽出することを特徴とする付記２３に記載の論理検証支援方法。
【０１７０】
（付記２５）前記有限状態機械モデルは、
前記入力条件をあらわす入力変数を用いて任意の遷移元の状態と前記遷移元に対する遷移先の状態との間の遷移条件が規定された論理式が、前記各遷移枝に関連付けられた状態遷移グラフによって表現されており、
前記取得工程は、
前記状態遷移グラフの前記各状態と当該各状態に対する遷移先の状態との間の前記各遷移枝に関連付けられた論理式の論理和をあらわす制約論理式を取得することを特徴とする付記２４に記載の論理検証支援方法。
【０１７１】
（付記２６）前記出力工程は、
前記メッセージ情報と関連付けて前記状態遷移グラフを出力することを特徴とする付記２４または２５に記載の論理検証支援方法。
【０１７２】
（付記２７）前記入力工程は、
前記有限状態機械モデルを表現し、当該有限状態機械モデルの各状態の特徴を説明する状態メッセージ情報が記述された状態遷移表の入力を受け付け、
前記抽出工程は、
前記入力工程によって入力された状態遷移表の前記状態メッセージ情報を前記羅列した文字列として抽出することを特徴とする付記２３に記載の論理検証支援方法。
【０１７３】
（付記２８）前記有限状態機械モデルを用いて、前記ハードウェアモジュールの動作を示すハードウェア記述情報を生成するハードウェア記述情報生成工程を含んだことを特徴とする付記２０〜２７のいずれか一つに記載の論理検証支援方法。
【産業上の利用可能性】
【０１７４】
以上のように、本発明にかかる論理検証支援プログラム、該プログラムを記録した記録媒体、論理検証支援装置、および論理検証支援方法は、ＬＳＩなどのハードウェアモジュールの論理検証に有用である。
【図面の簡単な説明】
【０１７５】
【図１】この発明の実施の形態にかかる論理検証支援装置のハードウェア構成を示す説明図である。
【図２】この発明の実施の形態にかかる論理検証支援装置の機能的構成を示すブロック図である。
【図３】ハードウェアモジュールＭのインターフェース仕様記述情報Ｄ１を示す説明図である。
【図４】ハードウェアモジュールＭの状態遷移グラフを示す説明図である。
【図５】状態遷移アルゴリズムの具体例を示す説明図である。
【図６−１】状態遷移グラフの生成手順を示す説明図（その１）である。
【図６−２】状態遷移グラフの生成手順を示す説明図（その２）である。
【図６−３】状態遷移グラフの生成手順を示す説明図（その３）である。
【図７】メッセージテンプレートの一例を示す説明図である。
【図８】出力形式の具体例を示す説明図である。
【図９】ハードウェアモジュールＭの状態遷移表を示す説明図である。
【図１０】制約論理式の変換処理の概要を示す説明図である。
【図１１】状態Ｓ１の変数リストＲｔを示す説明図である。
【図１２】アサーションテンプレートの一例を示す説明図である。
【図１３】ハードウェアモジュールＭのアサーション記述情報Ｄ２を示す説明図である。
【図１４】インターフェースプロトコルチェッカＨＤＬの具体例を示す説明図である。
【図１５】この発明の実施の形態にかかる論理検証支援装置の論理検証支援処理手順を示すフローチャートである。
【図１６】メッセージ情報作成処理の処理手順を示すフローチャートである。
【図１７】アサーション記述情報生成処理の処理手順を示すフローチャートである。
【図１８】従来技術の問題点を示す説明図である。
【符号の説明】
【０１７６】
２０１  入力部
２０２  有限状態機械生成部
２０３  抽出部
２０４  作成部
２０５  出力部
２０６  取得部
２０７  アサーション生成部
２０８  変換部
２０９  ハードウェア記述情報生成部
７００  メッセージテンプレート
８００  出力結果
８１０  メッセージ情報
１１００  アサーションテンプレート
Ｍ  ハードウェアモジュール
Ｄ１  インターフェース仕様記述情報
Ｄ２  アサーション記述情報
Ｄ３  ハードウェア記述情報
【図１】
2008250504.tif 000003
【図２】
2008250504.tif 000004
【図３】
2008250504.tif 000005
【図４】
2008250504.tif 000006
【図５】
2008250504.tif 000007
【図６−１】
2008250504.tif 000008
【図６−２】
2008250504.tif 000009
【図６−３】
2008250504.tif 000010
【図７】
2008250504.tif 000011
【図８】
2008250504.tif 000012
【図９】
2008250504.tif 000013
【図１０】
2008250504.tif 000014
【図１１】
2008250504.tif 000015
【図１２】
2008250504.tif 000016
【図１３】
2008250504.tif 000017
【図１４】
2008250504.tif 000018
【図１５】
2008250504.tif 000019
【図１６】
2008250504.tif 000020
【図１７】
2008250504.tif 000021
【図１８】
2008250504.tif 000022