(57)【要約】【課題】  同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上を図る。【解決手段】  リファレンス論理システム１１４と検証対象論理システム１１５との等価性を検証するための情報処理装置１００であって、リファレンス論理システム１１４をＦＳＭに変換することで得られる各状態に対して、初期状態から到達するための経路を探索する手段（１１３−１）と、探索された経路ごとに、初期状態から各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する手段（１１３−２）と、生成された入力系列を入力値として、検証対象論理システム１１５を実行させ、出力値を取得する手段（１１３−４）と、取得された出力値と、生成された期待値とを比較する手段（１１３−５）とを備える。【選択図】  図１
2008204187.tif 000002
【特許請求の範囲】
【請求項１】
第１の論理システムと第２の論理システムとが等価であることを検証するための情報処理装置であって、
前記第１の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記生成手段により生成された入力系列を入力値として、前記第２の論理システムを実行させることにより出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段と
を備えることを特徴とする情報処理装置。
【請求項２】
第１の論理システムと第２の論理システムとが等価であることを検証するための情報処理装置であって、
前記第１の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するまでの遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記第２の論理システムを有限状態機械に変換することで得られる各状態のうち、前記生成手段により生成された入力系列に基づいて到達可能な各状態における出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とが全て一致した場合に、前記第２の論理システムは、前記第１の論理システムと等価であると判断する判断手段を更に備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記探索手段により探索された経路が前記状態ごとに複数存在した場合、それぞれ最短の経路について前記入力系列を生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
第１の論理システムと第２の論理システムとが等価であることを検証するための情報処理装置における情報処理方法であって、
前記第１の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索工程と、
前記探索工程において探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成工程と、
前記生成工程において生成された入力系列を入力値として、前記第２の論理システムを実行させることにより出力値を取得する取得工程と、
前記取得工程において取得された出力値と、前記生成工程において生成された期待値とを比較する比較工程と
を備えることを特徴とする情報処理方法。
【請求項６】
第１の論理システムと第２の論理システムとが等価であることを検証するための情報処理装置における情報処理方法であって、
前記第１の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索工程と、
前記探索工程において探索された経路ごとに、前記初期状態から前記各状態に到達するまでの遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成工程と、
前記第２の論理システムを有限状態機械に変換することで得られる各状態のうち、前記生成工程において生成された入力系列に基づいて到達可能な各状態における出力値を取得する取得工程と、
前記取得工程により取得された出力値と、前記生成工程において生成された期待値とを比較する比較工程と
を備えることを特徴とする情報処理方法。
【請求項７】
請求項５または６に記載の情報処理方法をコンピュータによって実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理システムを検証するための検証処理技術に関するものである。
【背景技術】
【０００２】
ＬＳＩを含む論理システムの検証方法の１つとして、従来より、論理シミュレータを用いる方法が知られている。かかる検証方法によれば、論理シミュレータ上で、検証対象となる論理システムを擬似的に動作させ、取得された検証対象の内部状態や出力値を期待値と対比することで、検証対象となる論理システムの正否を検証することができる。
【０００３】
一方、近年、ＬＳＩに対する要求仕様は多様化し、同一の機能を有する論理システムであっても、異なる部品を用いて設計されるケースが少なくない。このような論理システムに対しては、互いの等価性を検証することが求められる。
【０００４】
しかしながら、同一の機能を有する複数の論理システムについて等価性を検証するにあたり、上述の論理シミュレータを利用しようとすると、次のような問題が生じる。
【０００５】
すなわち、検証対象となる論理システムは互いの機能が同一であるものの、抽象度や言語、或いは処理方法が異なるため、同じ検証環境を利用することができず、論理システムごとに別個に検証環境を構築しなおさなければならない。更に、それぞれの論理システムごとに、等価性の検証に必要な検証項目が異なるため、論理システムごとに必要な検証項目を洗い出さなければならない。このため、等価性の検証といえども膨大な工数がかかってしまう。
【０００６】
一方、このような問題を解決するのに有用な手法もいくつか提案されている。一例として、インターフェイスを共通化し、同じ検証環境を利用できるようにする手法が挙げられる。同手法によれば、論理システムごとに検証環境を構築しなおす必要がなくなるため、等価性の検証に必要な工数を減らすことができる。
【非特許文献１】松本剛司、齋藤寛、藤田昌宏、“Ｃ言語動作記述の既存ＲＴＬ用検証ツールを用いた検証の提案”、ＤＡシンポジウム２００４論文集：２４１−２４６、２００４．
【非特許文献２】中田恒夫、古渡聡、岩下洋哲、広瀬文保、“論理シミュレーションをベースとしたプロセッサ制御の効率的検証手法”、設計自動化、７２−２４、１９９４．
【非特許文献３】西原佑、松本剛史、小松聡、藤田昌宏、“ＦＳＭへの変換に基づくＨＷ／ＳＷ協調設計の形式的検証手法に関する研究”、情報処理学会システムＬＳＩ設計技術研究会報告、２００５−ＳＬＤＭ−１１９、ｐｐ．３７−４２、２００５．
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、インターフェースを共通化した場合であっても、検証に必要な全ての検証項目の洗い出しには相当の工数がかかり、仮にテストすべき事象に漏れが生じると、等価性の検証精度に影響するからである。そこで、十分かつ無駄のない検証を行い、検証精度の向上と検証効率の向上を図ることが求められている。
【０００８】
本発明は上記課題に鑑みてなされたものであり、同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上を図ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
第１の論理システムと第２の論理システムとが等価であることを検証するための情報処理装置であって、
前記第１の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記生成手段により生成された入力系列を入力値として、前記第２の論理システムを実行させることにより出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段とを備える。
【発明の効果】
【００１０】
本発明によれば、同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上が実現できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の各実施形態を詳細に説明する。なお、以下の説明において、「リファレンス論理システム」とは、等価性を検証するための元となる論理システムをいい、「検証対象論理システム」とは、等価性を検証しようとする対象となる論理システムをいう。つまり、以下の実施形態における情報処理装置では、「検証対象論理システム」が「リファレンス論理システム」と等価であるか否かを検証する。
【００１２】
また、「ＦＳＭ」（Ｆｉｎａｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）とは、有限状態機械の略称であり、有限個の状態と遷移と動作の組み合わせからなるモデルをいい、「ＦＳＭデータ」とは、当該モデルを記述したデータをいう。
【００１３】
［第１の実施形態］
１．複数の論理システムの等価性を検証するための情報処理装置の構成
図１は、複数の論理システムの等価性を検証するための情報処理装置１００の構成例を示す図である。
【００１４】
図１に示すように、情報処理装置１００は、制御メモリ（ＲＯＭ）１００、中央演算処理装置１０２、メモリ（ＲＡＭ）１０３、入力装置１０４、表示装置１０５、外部記憶装置１０６を備え、バス１０７により接続されている。本実施形態にかかる検証機能を実現するための制御プログラム（ＦＳＭ変換部１１１、検証処理部１１３）は、外部記憶装置１０６に格納されている。また、当該制御プログラムで用いるデータ（ＦＳＭデータ１１２、リファレンス論理システム１１４、検証対象論理システム１１５）も外部記憶装置１０６に格納されている。
【００１５】
これらの制御プログラムやデータは、中央演算処理装置１０２の制御のもと、バス１０７を通じて適宜メモリ１０３に取り込まれ、中央演算処理装置１０２によって実行される。なお、このときの実行開始指示は、入力装置１０４を介してユーザより入力されるものとし、実行結果は、表示装置１０５を介してユーザに報知されるものとする。
【００１６】
ＦＳＭ変換部１１１として機能する制御プログラムは、外部記憶装置１０６に格納されたリファレンス論理システム１１４を読み出し、ＦＳＭに変換することでＦＳＭデータ１１２を生成し、外部記憶装置１０６に格納する処理を実行する。
【００１７】
検証処理部１１３として機能する制御プログラムは、リファレンス論理システム１１４と検証対象論理システム１１５との等価性を検証するための処理を実行する（詳細は後述）。なお、検証処理部１１３として機能する制御プログラムは、到達可能状態探索部１１３−１、入力系列生成部１１３−２、検証テーブル生成部１１３−３、検証部１１３−４、比較部１１３−５としてそれぞれ機能する制御プログラムを備えている。
【００１８】
リファレンス論理システム１１４は、検証対象論理システム１１５により実現される機能との等価性を検証する際、比較対象となる論理システムである。なお、リファレンス論理システム１１４はハードウェア記述言語やソフトウェア記述言語その他いかなる記述言語で記述されていても構わない。
【００１９】
検証対象論理システム１１５は、リファレンス論理システム１１４との等価性を検証する検証対象となる論理システムである。なお、検証対象論理システムについても、記述言語の種類は問わず、ハードウェア記述言語およびソフトウェア記述言語その他いかなる記述言語で記述されていても構わない。また、リファレンス論理システム１１４と異なる記述言語で記述されていても、同じ記述言語で記述されていても構わない。
【００２０】
２．情報処理装置１００において等価性の検証を行う際のデータの流れ
図２は、情報処理装置１００においてリファレンス論理システム１１４と検証対象論理システム１１５との等価性を検証する際のデータの流れを表わした図である。以下、順を追って説明する。
【００２１】
はじめに、ＦＳＭ変換部１１１が動作することにより、外部記憶装置１０６に格納されているリファレンス論理システム１１４が読み込まれ、ＦＳＭデータ１１２に変換されたのち、外部記憶装置１０６に格納される。
【００２２】
リファレンス論理システム１１４からＦＳＭデータ１１２への変換は、レジスタを状態変数と見て、その遷移をＦＳＭとして記述することで実現される。なお、リファレンス論理システム１１４からＦＳＭデータ１１２への変換方法は、例えば非特許文献１乃至３に記載されているとおり公知の技術であるため、ここでは詳細な説明は省略する。なお、本発明は、リファレンス論理システム１１４をＦＳＭデータ１１２に変換するための変換方法に依存するものではない。
【００２３】
図３は、生成されたＦＳＭデータ１１２を状態遷移図として表示した場合の一例を示す図である。図３において、Ｓ０、Ｓ１、・・・Ｓ１１はＦＳＭデータ１１２の「状態」を、矢印は「状態遷移の方向」を、矢印に沿って記載された記号は、「遷移条件」をそれぞれ表わしている。例えば、初期状態Ｓ０にいた場合に、遷移条件として入力値ｄが入力されることで、状態Ｓ１に遷移する。
【００２４】
図２に戻る。到達可能状態探索部１１３−１は、外部記憶装置１０６に格納されたＦＳＭデータ１１２を読み込み、ＦＳＭデータ１１２中の任意の「状態」が初期状態に到達可能であるか否かを順次判定することで、各「状態」ごとに初期状態に到達する全ての経路を探索する。
【００２５】
入力系列生成部１１３−２では、ＦＳＭデータ１１２の初期状態から到達可能状態探索部１１３−１で初期状態に到達可能と判定された「状態」に向かう遷移条件を抽出し、入力系列２０２を生成する。この際、初期状態から該「状態」に向かう経路が複数あった場合には、最も短い経路を選択する。更に、各入力系列により到達可能な各「状態」における期待値２０１を生成する。
【００２６】
検証テーブル生成部１１３−３では、入力系列生成部１１３−２において生成された期待値２０１と、対応する状態名と、対応する入力系列２０２とを検証テーブルに登録する。
【００２７】
一方、検証部１１３−４では、入力系列生成部１１３−２において生成された入力系列２０２を入力値として、検証対象論理システム１１５を実行させることで、各入力系列に対応する出力値２０３を取得する。
【００２８】
比較部１１３−５では、入力系列生成部１１３−２で生成された期待値２０１と、検証部１１３−４において取得された出力値２０３とを比較し、一致／不一致を判定する。全ての入力系列２０２について、期待値と出力値が一致していた場合には、リファレンス論理システム１１４と検証対象論理システム１１５とは等価であると判定する。一方、期待値２０１と出力値２０３とが一致していない入力系列２０２があった場合には、リファレンス論理システム１１４と検証対象論理システム１１５とは等価ではないと判定する。
【００２９】
なお、入力系列生成部１１３−２で生成された期待値２０１と、検証部１１３−４において取得された出力値２０３は、検証テーブル生成部１１３−３により、検証テーブルに登録され、登録後の検証テーブルは、検証結果として、表示装置１０５に表示される。
【００３０】
３．期待値２０１及び入力系列２０２の生成処理
図４は、到達可能状態探索部１１３−１、入力系列生成部１１３−２及び検証テーブル生成部１１３−３が動作し、ＦＳＭデータ１１２に基づいて期待値２０１及び入力系列２０２を生成する際の処理の流れを示すフローチャートである。以下、状態遷移図（図３）を参照しながら、図４に示す処理の流れについて説明する。
【００３１】
ステップＳ４０１では、到達可能状態探索部１１３−１が、ＦＳＭデータ１１２内で、選択済みであることを示すマークがついていない「状態」があるかどうかを判定する。例えば、図３において“状態Ｓ２”は選択済みであることを示すマーク（塗りつぶし）がついているが、その他の状態（Ｓ３〜Ｓ１１）はいずれも選択済みであることを示すマークがついていない。したがって、選択済みであることを示すマークがついていない「状態」があると判定し、ステップＳ４０２へ分岐する。なお、すべての「状態」に選択済みであることを示すマークがついていると判定された場合には、初期状態から到達可能な「状態」であって、検証されていない「状態」はないと判断し、処理を終了する。
【００３２】
ステップＳ４０２では、到達可能状態探索部１１３−１が、ＦＳＭデータ１１２のうち、選択済みであることを示すマークがついていない「状態」の中から、一つの「状態」を選択する。ここでは、例えば、“状態Ｓ４”を選択したとする。
【００３３】
ステップＳ４０３では、到達可能状態探索部１１３−１が、ステップＳ４０２で選択した“状態Ｓ４”から“初期状態Ｓ０”に到達する経路を探索する。例えば、図３の例では、“状態Ｓ４”から“初期状態Ｓ０”に向かって「状態」をたどる。
【００３４】
ステップＳ４０４では、到達可能状態探索部１１３−１が、ステップＳ４０３における探索の結果、“初期状態Ｓ０”に到達する経路があるか否かを判定する。例えば、図３の“状態Ｓ４”の場合、“初期状態Ｓ０”に到達する経路として、以下の経路が存在する。
【００３５】
｛Ｓ４、Ｓ０｝
このように、選択した「状態」から「初期状態」に到達する経路が存在する場合には、ステップＳ４０５に分岐する。一方、初期状態に到達する経路がない場合はステップＳ４０１に戻る。
【００３６】
ステップＳ４０５では、到達可能状態探索部１１３−２が、選択した「状態」から「初期状態」に到達する経路をすべて探索する。例えば、図３における“状態Ｓ４”から“初期状態Ｓ０”に到達する経路としては以下のａ）からｃ）が挙げられる。
ａ）｛Ｓ４、Ｓ０｝
ｂ）｛Ｓ４、Ｓ２、Ｓ０｝
ｃ）｛Ｓ４、Ｓ３、Ｓ１、Ｓ０｝
ステップＳ４０６では、入力系列生成部１１３−２が、ステップＳ４０５により探索された経路の中から最短の経路を選択する。図３の例では上述したａ）からｃ）の経路のうち、ａ）が最短の経路であることから、ａ）の経路が選択されることとなる。
【００３７】
ステップＳ４０７では、入力系列生成部１１３−２が、ステップＳ４０６で選択した最短の経路を、入力系列２０２に変換する。図３の“状態Ｓ４”の場合、入力系列２０２はｆ｛ｅ｝となる。ｆは入力系列を表わす関数である。
【００３８】
ステップＳ４０８では、検証テーブル生成部１１３−３が、ステップＳ４０７で生成した入力系列２０２と、当該入力系列２０２により到達可能な「状態」とを関連付けて検証テーブルに登録する。
【００３９】
これら一連の作業を、リファレンス論理システム１１４の全ての「状態」について終了するまで繰り返す。
【００４０】
このように、情報処理装置１００では、リファレンス論理システム１１４の全ての「状態」について１つずつ期待値を用意し、検証対象論理システムの出力値と対比する。これにより、検証対象論理システム１１５では、リファレンス論理システム１１４の全状態における出力値を満たす検証項目が少なくとも一度は実行されることとなる。この結果、リファレンス論理システム１１４に対する検証対象論理システム１１５の等価性を検証するにあたり、検証項目の漏れを防ぐことが可能となる。
【００４１】
４．検証テーブルの構成
図５は、検証テーブル生成部１１３−３において生成された検証テーブルの一例を示す図である。図５に示すように検証テーブルは以下の項目から構成される。
５０１：リファレンス論理システム１１４から選択した「状態」を表わす状態欄
５０２：「状態」に到達するまでの最短経路を表わす入力系列欄
５０３：「状態」に到達した際の出力値を表わす期待値欄
５０４：検証対象論理システム１１５に入力系列を用いて到達した「状態」の出力値を表わす出力値欄
５０５：期待値と出力値との一致／不一致を記録する結果欄
なお、図５は図３の状態遷移図に対応した値を記載している。例えば、状態欄にはステップＳ４０２で選択した“状態Ｓ４”が、入力系列欄にはステップＳ４０７で生成した“ｆ｛ｅ｝”が、期待値欄には“状態Ｓ４”における期待値である“Ｓ４_ｏｕｔ”がそれぞれ登録されている。
【００４２】
５．比較処理の流れ
次に、検証部１１３−４、比較部１１３−５及び検証テーブル生成部１１３−３が動作し、入力系列２０２に基づいて出力値２０３を取得し、等価性を検証する際の処理の流れについて図６及び図７を用いて説明する。図６は、検証部１１３−４、比較部１１３−５、検証テーブル生成部１１３−３における処理の流れを示す図である。図７は、検証部１１３−４及び比較部１１３−５による処理の結果が登録された検証テーブルの一例を示す図である。
【００４３】
ステップＳ６０１では、検証部１１３−４が、検証テーブル（図７）に登録された全ての入力系列について検証を実施したか否かを判定する。例えば、図７の例では、リファレンス論理システム１１４の“状態Ｓ２”に対応する入力系列“ｆ｛ａ｝”及び“状態Ｓ４”に対応する入力系列“ｆ｛ｅ｝”については検証済みである。しかし、その他の「状態」（Ｓ１、Ｓ３、Ｓ５〜Ｓ１１）に対応する入力系列ついては未検証である。このため、ここではステップＳ６０２に進む。なお、ステップＳ６０１において、すべての入力系列について検証を実施したと判定された場合には、処理を終了する。
【００４４】
ステップＳ６０２では、検証部１１３−４が、図７に登録された入力系列の中から、検証が未実施の入力系列を１つ選択する。例えば、図７の例では、“状態Ｓ１”に対応する入力系列“ｆ｛ｄ｝”を選択する。
【００４５】
ステップＳ６０３では、検証部１１３−４が、ステップＳ６０２で選択した「状態」に対応する「入力系列」を入力値として検証対象論理システム１１５を実行させる出力値を取得する。図７の例では、“状態Ｓ１”に対応する入力系列“ｆ｛ｄ｝”が選択されているため、当該入力系列“ｆ｛ｄ｝”を入力値として検証対象論理システム１１５が実行されることで出力値が取得される。
【００４６】
なお、本発明は検証手法如何にかかわるものではないため、上記検証方法によらず、どのような検証手法を用いてもよい。また、検証環境についてもいかなる形式のものでも構わない。ステップＳ６０３では検証対象論理システム１１５に、「入力系列」を与えることにより、その入力系列に該当する出力値が取得できればよい。
【００４７】
ステップＳ６０４では、比較部１１３−５が、ステップＳ６０３で得た出力値と、リファレンス論理システム１１４における対応する期待値とを比較する。なお、本発明は比較の手法如何にかかわるものではないので、同じ入力系列を与えたときの期待値と出力値とが比較できる手法であればいかなる手法を用いても構わない。例えば、図７の例では、リファレンス論理システム１１４の“状態Ｓ４”における期待値“Ｓ４＿ｏｕｔ”と、ステップＳ６０３により入力系列“ｆ｛ｅ｝”を入力することで得られた出力値“Ｓ４＿ｏｕｔ”とを比較する。
【００４８】
ステップＳ６０５では、比較部１１３−５が、ステップＳ６０４で比較した結果が一致するかどうかを判定する。図７の例では、“状態Ｓ４”に対応するリファレンス論理システム１１４の期待値（Ｓ４＿ｏｕｔ）と、検証対象論理システム１１５の出力値“Ｓ４＿ｏｕｔ”とは同じであるため、一致していると判定し、ステップＳ６０７へ分岐する。一方、不一致であると判定された場合にはステップＳ６０６へ分岐する。
【００４９】
ステップＳ６０６では、比較部１１３−５が、不一致の原因を判定する。なお、本発明は、バグの解析方法如何にかかわるものではないので、解析方法は、いかなる形式でもかまわない。また、バグの解析を行う代わりに、単にバグの状況を登録しておくだけでも構わない。
【００５０】
ステップＳ６０７では、検証テーブル生成部１１３−３が、ステップＳ６０４およびステップＳ６０５の結果を検証テーブルに登録する。具体的には、ステップＳ６０４において取得された出力値を出力値欄５０４に、ステップＳ６０５における比較結果を結果欄５０５に登録する。
【００５１】
検証部１１３−４及び比較部１１３−５では、上記処理を、すべての入力系列に対して行う。
【００５２】
以上の説明から明らかなように、本実施形態では、同一の機能を有する２つの論理システムの等価性を検証するにあたり、一方の論理システムをＦＳＭ変換することにより得られた入力系列を、他の論理システムに入力する構成とした。
【００５３】
これにより、検証対象論理システムは、リファレンス論理システムの全状態における出力値を満たす検証項目を少なくとも一度は実行することが保証されることとなる。つまり、十分かつ無駄のない検証項目で検証することが可能となり、検証効率の向上と検証精度の向上が実現できる。
【００５４】
［第２の実施形態］
上記第１の実施形態では、リファレンス論理システムに基づいて生成された入力系列を検証対象論理システムに入力する構成としたが、本発明は特にこれに限定されない。例えば、検証対象論理システムをＦＳＭ変換することにより得られたＦＳＭデータに入力系列を入力することで到達可能な各状態の出力値を求め、対応する期待値と比較するようにしてもよい。以下、詳細に説明する。
【００５５】
１．複数の論理システムの等価性を検証するための情報処理装置の構成
図８は、複数の論理システムの等価性を検証するための情報処理装置８００の構成例を示す図である。上記第１の実施形態において説明した図１の情報処理装置１００と同様の構成については、同じ参照番号を付すこととし、説明は省略する。
【００５６】
図１の情報処理装置１００との相違は、検証部１１３−４の代わりに、状態出力抽出部８１３−４を備える点である。状態出力抽出部８１３−４は、入力系列生成部１１３−２において生成された各入力系列を用いて、検証対象論理システム１１５のＦＳＭデータ（１１２’）の各経路をたどることで、各「状態」における出力値を取得する。
【００５７】
このように、情報処理装置８００では検証対象論理システムを動作させる検証部１１３−４を有しておらず、検証環境を必要としない。このため、等価性を検証しようとする検証対象論理システム間において抽象度、言語、処理方法が異なっていたとしても、インタフェースを共通化させる必要はなく、また、検証環境を構築しなす必要もない。
【００５８】
また、情報処理装置８００では、状態出力抽出部８１３−４により取得される出力値を入力系列生成部１１３−２において生成される期待値と比較する。このため、出力値と期待値とが不一致であった場合に、検証対象論理システムの内部の動きを確認することができ、バグの解析が容易になるという利点もある。
【００５９】
２．情報処理装置８００において等価性の検証を行う際のデータの流れ
図９は、本発明の第２の実施形態にかかる情報処理装置８００においてリファレンス論理システム１１４と検証対象論理システム１１５との等価性の検証を行う際のデータの流れを表わした図である。
【００６０】
はじめにＦＳＭ変換部１１１が動作することにより、外部記憶装置１０６に格納されているリファレンス論理システム１１４が読み込まれ、ＦＳＭデータ１１２に変換された後、外部記憶装置１０６に格納される。
【００６１】
同様に、ＦＳＭ変換部１１１が動作することにより、外部記憶装置１０６に格納されている検証対象論理システム１１５が読み込まれ、ＦＳＭデータ１１２’に変換された後、外部記憶装置１０６に格納される。
【００６２】
このように、上記第１の実施形態では、検証対象論理システム１１５についてはＦＳＭ変換を行わなかったのに対して、本実施形態では、検証対象論理システムについてもＦＳＭ変換を行う。
【００６３】
次に、到達可能状態探索部１１３−１および入力系列生成部１１３−２、検証テーブル生成部１１３−３が動作することにより、入力系列２０２及び期待値２０１が生成され、検証テーブルに登録される。到達可能状態探索部１１３−１及び入力系列生成部１１３−２、検証テーブル生成部１１３−３における処理内容は、上記第１の実施形態と同様であるため、ここでは説明は省略する。
【００６４】
状態出力抽出部８１３−４では、入力系列生成部１１３−２において生成された入力系列２０２を用いて、検証対象論理システム１１５のＦＳＭデータ１１２’の各経路をたどり、到達した「状態」における出力値２０３を取得する。
【００６５】
比較部１１３−５は、入力系列生成部１１３−２で生成された期待値２０１と、状態出力抽出部８１３−４において取得された出力値とを比較し、一致／不一致を判定する。全ての入力系列２０２について、期待値２０１と出力値２０３が一致していた場合には、リファレンス論理システム１１４と検証対象論理システム１１５とは等価であると判定する。一方、期待値と出力値とが一致していない入力系列があった場合には、リファレンス論理システム１１４と検証対象論理システム１１５とは等価ではないと判定する。
【００６６】
以上の説明から明らかなように、本実施形態では、同一の機能を有する２つの論理システムの等価性を検証するにあたり、まず、２つの論理システムをＦＳＭ変換する。そして、一方の論理システムをＦＳＭ変換することにより得られた入力系列を、他方の論理システムについてのＦＳＭデータに入力することで到達可能な各状態の出力値を求め、対応する期待値と比較することとした。
【００６７】
これにより、検証対象論理システムでは、リファレンス論理システムの全状態における出力値を満たす経路及び状態を有するか否かが検証されることとなる。つまり、十分かつ無駄のない検証を行うことが可能となり、検証効率の向上と検証精度の向上が実現できる。
【００６８】
更に、本実施形態によれば、検証環境の構築が不要であるため、検証環境構築の手間を省くことができる。更に、検証環境にバグが含まれる可能性がなくなるため、出力値と期待値とが一致しなかった場合でも、原因の解析が容易となる。
【００６９】
［第３の実施形態］
上記第１及び第２の実施形態では、生成されるＦＳＭデータについて、特に詳説しなかったが、ＦＳＭはムーア型、ミーリ型のいずれであってもよい。
【００７０】
また、上記第１及び第２の実施形態では、ＦＳＭの表示方式として、状態遷移図を用いることとしたが、本発明はこれに限られない。ＦＳＭの表示方式として、例えば、ＢＤＤ（Ｂｉｎａｒｙ  Ｄｅｃｉｓｉｏｎ  Ｄｉａｇｒａｍ）、状態遷移表などを用いても良い。本発明はＦＳＭの表現形式に依存した発明ではないので、同一の論理関数が同一の表現になるならばどのような表現を用いてもよい。ただし、ＦＳＭの状態数はリファレンス論理システムが含むフリップ・フロップの値が取り得る組み合わせになる。このため、例えば、２０ｂｉｔのレジスタであれば２の２０乗の状態、つまり約百万状態になることから、内部状態が多い場合には、状態遷移図や状態遷移表ではなく、ＢＤＤを用いてＦＳＭを非明示的に表現する手法が有効である。
【００７１】
また、上記第１及び第２の実施形態では、検証処理に際してリファレンス論理システム及び検証対象論理システムが外部記憶装置に格納されていることを前提としたが、本発明は特にこれに限られず、ネットワーク等を介して読み込むようにしてもよい。
【００７２】
また、上記第１及び第２の実施形態では、到達可能状態探索部１１３−１において探索された経路が複数であった場合、入力系列生成部１１３−２にて最短経路を選択することとしたが、本発明は特にこれに限られない。複数の経路全てを選択して、検証を行うようにしてもよい。
【００７３】
［他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００７６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
【図面の簡単な説明】
【００７８】
【図１】複数の論理システムの等価性を検証するための情報処理装置１００の構成例を示す図である。
【図２】情報処理装置１００においてリファレンス論理システム１１４と検証対象論理システム１１５との等価性を検証する際のデータの流れを表わした図である。
【図３】生成されたＦＳＭデータ１１２を状態遷移図として表示した場合の一例を示す図である。
【図４】到達可能状態探索部１１３−１、入力系列生成部１１３−２及び検証テーブル生成部１１３−３が動作し、ＦＳＭデータ１１２に基づいて期待値２０１及び入力系列２０２を生成する際の処理の流れを示すフローチャートである。
【図５】検証テーブル生成部１１３−３において生成された検証テーブルの一例を示す図である。
【図６】検証部１１３−４、比較部１１３−５、検証テーブル生成部１１３−３における処理の流れを示す図である。
【図７】検証部１１３−４及び比較部１１３−５による処理の結果が登録された検証テーブルの一例を示す図である。
【図８】複数の論理システムの等価性を検証するための情報処理装置８００の構成例を示す図である。
【図９】情報処理装置８００においてリファレンス論理システム１１４と検証対象論理システム１１５との等価性の検証を行う際のデータの流れを表わした図である。
【図１】
2008204187.tif 000003
【図２】
2008204187.tif 000004
【図３】
2008204187.tif 000005
【図４】
2008204187.tif 000006
【図５】
2008204187.tif 000007
【図６】
2008204187.tif 000008
【図７】
2008204187.tif 000009
【図８】
2008204187.tif 000010
【図９】
2008204187.tif 000011