JP2008204187A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2008204187A JP2008204187A JP2007039821A JP2007039821A JP2008204187A JP 2008204187 A JP2008204187 A JP 2008204187A JP 2007039821 A JP2007039821 A JP 2007039821A JP 2007039821 A JP2007039821 A JP 2007039821A JP 2008204187 A JP2008204187 A JP 2008204187A
- Authority
- JP
- Japan
- Prior art keywords
- state
- logical system
- verification
- information processing
- input sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】 同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上を図る。
【解決手段】 リファレンス論理システム114と検証対象論理システム115との等価性を検証するための情報処理装置100であって、リファレンス論理システム114をFSMに変換することで得られる各状態に対して、初期状態から到達するための経路を探索する手段(113−1)と、探索された経路ごとに、初期状態から各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する手段(113−2)と、生成された入力系列を入力値として、検証対象論理システム115を実行させ、出力値を取得する手段(113−4)と、取得された出力値と、生成された期待値とを比較する手段(113−5)とを備える。
【選択図】 図1
【解決手段】 リファレンス論理システム114と検証対象論理システム115との等価性を検証するための情報処理装置100であって、リファレンス論理システム114をFSMに変換することで得られる各状態に対して、初期状態から到達するための経路を探索する手段(113−1)と、探索された経路ごとに、初期状態から各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する手段(113−2)と、生成された入力系列を入力値として、検証対象論理システム115を実行させ、出力値を取得する手段(113−4)と、取得された出力値と、生成された期待値とを比較する手段(113−5)とを備える。
【選択図】 図1
Description
本発明は、論理システムを検証するための検証処理技術に関するものである。
LSIを含む論理システムの検証方法の1つとして、従来より、論理シミュレータを用いる方法が知られている。かかる検証方法によれば、論理シミュレータ上で、検証対象となる論理システムを擬似的に動作させ、取得された検証対象の内部状態や出力値を期待値と対比することで、検証対象となる論理システムの正否を検証することができる。
一方、近年、LSIに対する要求仕様は多様化し、同一の機能を有する論理システムであっても、異なる部品を用いて設計されるケースが少なくない。このような論理システムに対しては、互いの等価性を検証することが求められる。
しかしながら、同一の機能を有する複数の論理システムについて等価性を検証するにあたり、上述の論理シミュレータを利用しようとすると、次のような問題が生じる。
すなわち、検証対象となる論理システムは互いの機能が同一であるものの、抽象度や言語、或いは処理方法が異なるため、同じ検証環境を利用することができず、論理システムごとに別個に検証環境を構築しなおさなければならない。更に、それぞれの論理システムごとに、等価性の検証に必要な検証項目が異なるため、論理システムごとに必要な検証項目を洗い出さなければならない。このため、等価性の検証といえども膨大な工数がかかってしまう。
一方、このような問題を解決するのに有用な手法もいくつか提案されている。一例として、インターフェイスを共通化し、同じ検証環境を利用できるようにする手法が挙げられる。同手法によれば、論理システムごとに検証環境を構築しなおす必要がなくなるため、等価性の検証に必要な工数を減らすことができる。
松本剛司、齋藤寛、藤田昌宏、"C言語動作記述の既存RTL用検証ツールを用いた検証の提案"、DAシンポジウム2004論文集:241−246、2004. 中田恒夫、古渡聡、岩下洋哲、広瀬文保、"論理シミュレーションをベースとしたプロセッサ制御の効率的検証手法"、設計自動化、72−24、1994. 西原佑、松本剛史、小松聡、藤田昌宏、"FSMへの変換に基づくHW/SW協調設計の形式的検証手法に関する研究"、情報処理学会システムLSI設計技術研究会報告、2005−SLDM−119、pp.37−42、2005.
松本剛司、齋藤寛、藤田昌宏、"C言語動作記述の既存RTL用検証ツールを用いた検証の提案"、DAシンポジウム2004論文集:241−246、2004. 中田恒夫、古渡聡、岩下洋哲、広瀬文保、"論理シミュレーションをベースとしたプロセッサ制御の効率的検証手法"、設計自動化、72−24、1994. 西原佑、松本剛史、小松聡、藤田昌宏、"FSMへの変換に基づくHW/SW協調設計の形式的検証手法に関する研究"、情報処理学会システムLSI設計技術研究会報告、2005−SLDM−119、pp.37−42、2005.
しかしながら、インターフェースを共通化した場合であっても、検証に必要な全ての検証項目の洗い出しには相当の工数がかかり、仮にテストすべき事象に漏れが生じると、等価性の検証精度に影響するからである。そこで、十分かつ無駄のない検証を行い、検証精度の向上と検証効率の向上を図ることが求められている。
本発明は上記課題に鑑みてなされたものであり、同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上を図ることを目的とする。
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記生成手段により生成された入力系列を入力値として、前記第2の論理システムを実行させることにより出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段とを備える。
第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記生成手段により生成された入力系列を入力値として、前記第2の論理システムを実行させることにより出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段とを備える。
本発明によれば、同一の機能を有する複数の論理システムの等価性を検証するにあたり、検証効率の向上と検証精度の向上が実現できる。
以下、図面を参照して本発明の各実施形態を詳細に説明する。なお、以下の説明において、「リファレンス論理システム」とは、等価性を検証するための元となる論理システムをいい、「検証対象論理システム」とは、等価性を検証しようとする対象となる論理システムをいう。つまり、以下の実施形態における情報処理装置では、「検証対象論理システム」が「リファレンス論理システム」と等価であるか否かを検証する。
また、「FSM」(Finate State Machine)とは、有限状態機械の略称であり、有限個の状態と遷移と動作の組み合わせからなるモデルをいい、「FSMデータ」とは、当該モデルを記述したデータをいう。
[第1の実施形態]
1.複数の論理システムの等価性を検証するための情報処理装置の構成
図1は、複数の論理システムの等価性を検証するための情報処理装置100の構成例を示す図である。
1.複数の論理システムの等価性を検証するための情報処理装置の構成
図1は、複数の論理システムの等価性を検証するための情報処理装置100の構成例を示す図である。
図1に示すように、情報処理装置100は、制御メモリ(ROM)100、中央演算処理装置102、メモリ(RAM)103、入力装置104、表示装置105、外部記憶装置106を備え、バス107により接続されている。本実施形態にかかる検証機能を実現するための制御プログラム(FSM変換部111、検証処理部113)は、外部記憶装置106に格納されている。また、当該制御プログラムで用いるデータ(FSMデータ112、リファレンス論理システム114、検証対象論理システム115)も外部記憶装置106に格納されている。
これらの制御プログラムやデータは、中央演算処理装置102の制御のもと、バス107を通じて適宜メモリ103に取り込まれ、中央演算処理装置102によって実行される。なお、このときの実行開始指示は、入力装置104を介してユーザより入力されるものとし、実行結果は、表示装置105を介してユーザに報知されるものとする。
FSM変換部111として機能する制御プログラムは、外部記憶装置106に格納されたリファレンス論理システム114を読み出し、FSMに変換することでFSMデータ112を生成し、外部記憶装置106に格納する処理を実行する。
検証処理部113として機能する制御プログラムは、リファレンス論理システム114と検証対象論理システム115との等価性を検証するための処理を実行する(詳細は後述)。なお、検証処理部113として機能する制御プログラムは、到達可能状態探索部113−1、入力系列生成部113−2、検証テーブル生成部113−3、検証部113−4、比較部113−5としてそれぞれ機能する制御プログラムを備えている。
リファレンス論理システム114は、検証対象論理システム115により実現される機能との等価性を検証する際、比較対象となる論理システムである。なお、リファレンス論理システム114はハードウェア記述言語やソフトウェア記述言語その他いかなる記述言語で記述されていても構わない。
検証対象論理システム115は、リファレンス論理システム114との等価性を検証する検証対象となる論理システムである。なお、検証対象論理システムについても、記述言語の種類は問わず、ハードウェア記述言語およびソフトウェア記述言語その他いかなる記述言語で記述されていても構わない。また、リファレンス論理システム114と異なる記述言語で記述されていても、同じ記述言語で記述されていても構わない。
2.情報処理装置100において等価性の検証を行う際のデータの流れ
図2は、情報処理装置100においてリファレンス論理システム114と検証対象論理システム115との等価性を検証する際のデータの流れを表わした図である。以下、順を追って説明する。
図2は、情報処理装置100においてリファレンス論理システム114と検証対象論理システム115との等価性を検証する際のデータの流れを表わした図である。以下、順を追って説明する。
はじめに、FSM変換部111が動作することにより、外部記憶装置106に格納されているリファレンス論理システム114が読み込まれ、FSMデータ112に変換されたのち、外部記憶装置106に格納される。
リファレンス論理システム114からFSMデータ112への変換は、レジスタを状態変数と見て、その遷移をFSMとして記述することで実現される。なお、リファレンス論理システム114からFSMデータ112への変換方法は、例えば非特許文献1乃至3に記載されているとおり公知の技術であるため、ここでは詳細な説明は省略する。なお、本発明は、リファレンス論理システム114をFSMデータ112に変換するための変換方法に依存するものではない。
図3は、生成されたFSMデータ112を状態遷移図として表示した場合の一例を示す図である。図3において、S0、S1、・・・S11はFSMデータ112の「状態」を、矢印は「状態遷移の方向」を、矢印に沿って記載された記号は、「遷移条件」をそれぞれ表わしている。例えば、初期状態S0にいた場合に、遷移条件として入力値dが入力されることで、状態S1に遷移する。
図2に戻る。到達可能状態探索部113−1は、外部記憶装置106に格納されたFSMデータ112を読み込み、FSMデータ112中の任意の「状態」が初期状態に到達可能であるか否かを順次判定することで、各「状態」ごとに初期状態に到達する全ての経路を探索する。
入力系列生成部113−2では、FSMデータ112の初期状態から到達可能状態探索部113−1で初期状態に到達可能と判定された「状態」に向かう遷移条件を抽出し、入力系列202を生成する。この際、初期状態から該「状態」に向かう経路が複数あった場合には、最も短い経路を選択する。更に、各入力系列により到達可能な各「状態」における期待値201を生成する。
検証テーブル生成部113−3では、入力系列生成部113−2において生成された期待値201と、対応する状態名と、対応する入力系列202とを検証テーブルに登録する。
一方、検証部113−4では、入力系列生成部113−2において生成された入力系列202を入力値として、検証対象論理システム115を実行させることで、各入力系列に対応する出力値203を取得する。
比較部113−5では、入力系列生成部113−2で生成された期待値201と、検証部113−4において取得された出力値203とを比較し、一致/不一致を判定する。全ての入力系列202について、期待値と出力値が一致していた場合には、リファレンス論理システム114と検証対象論理システム115とは等価であると判定する。一方、期待値201と出力値203とが一致していない入力系列202があった場合には、リファレンス論理システム114と検証対象論理システム115とは等価ではないと判定する。
なお、入力系列生成部113−2で生成された期待値201と、検証部113−4において取得された出力値203は、検証テーブル生成部113−3により、検証テーブルに登録され、登録後の検証テーブルは、検証結果として、表示装置105に表示される。
3.期待値201及び入力系列202の生成処理
図4は、到達可能状態探索部113−1、入力系列生成部113−2及び検証テーブル生成部113−3が動作し、FSMデータ112に基づいて期待値201及び入力系列202を生成する際の処理の流れを示すフローチャートである。以下、状態遷移図(図3)を参照しながら、図4に示す処理の流れについて説明する。
図4は、到達可能状態探索部113−1、入力系列生成部113−2及び検証テーブル生成部113−3が動作し、FSMデータ112に基づいて期待値201及び入力系列202を生成する際の処理の流れを示すフローチャートである。以下、状態遷移図(図3)を参照しながら、図4に示す処理の流れについて説明する。
ステップS401では、到達可能状態探索部113−1が、FSMデータ112内で、選択済みであることを示すマークがついていない「状態」があるかどうかを判定する。例えば、図3において“状態S2”は選択済みであることを示すマーク(塗りつぶし)がついているが、その他の状態(S3〜S11)はいずれも選択済みであることを示すマークがついていない。したがって、選択済みであることを示すマークがついていない「状態」があると判定し、ステップS402へ分岐する。なお、すべての「状態」に選択済みであることを示すマークがついていると判定された場合には、初期状態から到達可能な「状態」であって、検証されていない「状態」はないと判断し、処理を終了する。
ステップS402では、到達可能状態探索部113−1が、FSMデータ112のうち、選択済みであることを示すマークがついていない「状態」の中から、一つの「状態」を選択する。ここでは、例えば、“状態S4”を選択したとする。
ステップS403では、到達可能状態探索部113−1が、ステップS402で選択した“状態S4”から“初期状態S0”に到達する経路を探索する。例えば、図3の例では、“状態S4”から“初期状態S0”に向かって「状態」をたどる。
ステップS404では、到達可能状態探索部113−1が、ステップS403における探索の結果、“初期状態S0”に到達する経路があるか否かを判定する。例えば、図3の“状態S4”の場合、“初期状態S0”に到達する経路として、以下の経路が存在する。
{S4、S0}
このように、選択した「状態」から「初期状態」に到達する経路が存在する場合には、ステップS405に分岐する。一方、初期状態に到達する経路がない場合はステップS401に戻る。
このように、選択した「状態」から「初期状態」に到達する経路が存在する場合には、ステップS405に分岐する。一方、初期状態に到達する経路がない場合はステップS401に戻る。
ステップS405では、到達可能状態探索部113−2が、選択した「状態」から「初期状態」に到達する経路をすべて探索する。例えば、図3における“状態S4”から“初期状態S0”に到達する経路としては以下のa)からc)が挙げられる。
a){S4、S0}
b){S4、S2、S0}
c){S4、S3、S1、S0}
ステップS406では、入力系列生成部113−2が、ステップS405により探索された経路の中から最短の経路を選択する。図3の例では上述したa)からc)の経路のうち、a)が最短の経路であることから、a)の経路が選択されることとなる。
a){S4、S0}
b){S4、S2、S0}
c){S4、S3、S1、S0}
ステップS406では、入力系列生成部113−2が、ステップS405により探索された経路の中から最短の経路を選択する。図3の例では上述したa)からc)の経路のうち、a)が最短の経路であることから、a)の経路が選択されることとなる。
ステップS407では、入力系列生成部113−2が、ステップS406で選択した最短の経路を、入力系列202に変換する。図3の“状態S4”の場合、入力系列202はf{e}となる。fは入力系列を表わす関数である。
ステップS408では、検証テーブル生成部113−3が、ステップS407で生成した入力系列202と、当該入力系列202により到達可能な「状態」とを関連付けて検証テーブルに登録する。
これら一連の作業を、リファレンス論理システム114の全ての「状態」について終了するまで繰り返す。
このように、情報処理装置100では、リファレンス論理システム114の全ての「状態」について1つずつ期待値を用意し、検証対象論理システムの出力値と対比する。これにより、検証対象論理システム115では、リファレンス論理システム114の全状態における出力値を満たす検証項目が少なくとも一度は実行されることとなる。この結果、リファレンス論理システム114に対する検証対象論理システム115の等価性を検証するにあたり、検証項目の漏れを防ぐことが可能となる。
4.検証テーブルの構成
図5は、検証テーブル生成部113−3において生成された検証テーブルの一例を示す図である。図5に示すように検証テーブルは以下の項目から構成される。
501:リファレンス論理システム114から選択した「状態」を表わす状態欄
502:「状態」に到達するまでの最短経路を表わす入力系列欄
503:「状態」に到達した際の出力値を表わす期待値欄
504:検証対象論理システム115に入力系列を用いて到達した「状態」の出力値を表わす出力値欄
505:期待値と出力値との一致/不一致を記録する結果欄
なお、図5は図3の状態遷移図に対応した値を記載している。例えば、状態欄にはステップS402で選択した“状態S4”が、入力系列欄にはステップS407で生成した“f{e}”が、期待値欄には“状態S4”における期待値である“S4_out”がそれぞれ登録されている。
図5は、検証テーブル生成部113−3において生成された検証テーブルの一例を示す図である。図5に示すように検証テーブルは以下の項目から構成される。
501:リファレンス論理システム114から選択した「状態」を表わす状態欄
502:「状態」に到達するまでの最短経路を表わす入力系列欄
503:「状態」に到達した際の出力値を表わす期待値欄
504:検証対象論理システム115に入力系列を用いて到達した「状態」の出力値を表わす出力値欄
505:期待値と出力値との一致/不一致を記録する結果欄
なお、図5は図3の状態遷移図に対応した値を記載している。例えば、状態欄にはステップS402で選択した“状態S4”が、入力系列欄にはステップS407で生成した“f{e}”が、期待値欄には“状態S4”における期待値である“S4_out”がそれぞれ登録されている。
5.比較処理の流れ
次に、検証部113−4、比較部113−5及び検証テーブル生成部113−3が動作し、入力系列202に基づいて出力値203を取得し、等価性を検証する際の処理の流れについて図6及び図7を用いて説明する。図6は、検証部113−4、比較部113−5、検証テーブル生成部113−3における処理の流れを示す図である。図7は、検証部113−4及び比較部113−5による処理の結果が登録された検証テーブルの一例を示す図である。
次に、検証部113−4、比較部113−5及び検証テーブル生成部113−3が動作し、入力系列202に基づいて出力値203を取得し、等価性を検証する際の処理の流れについて図6及び図7を用いて説明する。図6は、検証部113−4、比較部113−5、検証テーブル生成部113−3における処理の流れを示す図である。図7は、検証部113−4及び比較部113−5による処理の結果が登録された検証テーブルの一例を示す図である。
ステップS601では、検証部113−4が、検証テーブル(図7)に登録された全ての入力系列について検証を実施したか否かを判定する。例えば、図7の例では、リファレンス論理システム114の“状態S2”に対応する入力系列“f{a}”及び“状態S4”に対応する入力系列“f{e}”については検証済みである。しかし、その他の「状態」(S1、S3、S5〜S11)に対応する入力系列ついては未検証である。このため、ここではステップS602に進む。なお、ステップS601において、すべての入力系列について検証を実施したと判定された場合には、処理を終了する。
ステップS602では、検証部113−4が、図7に登録された入力系列の中から、検証が未実施の入力系列を1つ選択する。例えば、図7の例では、“状態S1”に対応する入力系列“f{d}”を選択する。
ステップS603では、検証部113−4が、ステップS602で選択した「状態」に対応する「入力系列」を入力値として検証対象論理システム115を実行させる出力値を取得する。図7の例では、“状態S1”に対応する入力系列“f{d}”が選択されているため、当該入力系列“f{d}”を入力値として検証対象論理システム115が実行されることで出力値が取得される。
なお、本発明は検証手法如何にかかわるものではないため、上記検証方法によらず、どのような検証手法を用いてもよい。また、検証環境についてもいかなる形式のものでも構わない。ステップS603では検証対象論理システム115に、「入力系列」を与えることにより、その入力系列に該当する出力値が取得できればよい。
ステップS604では、比較部113−5が、ステップS603で得た出力値と、リファレンス論理システム114における対応する期待値とを比較する。なお、本発明は比較の手法如何にかかわるものではないので、同じ入力系列を与えたときの期待値と出力値とが比較できる手法であればいかなる手法を用いても構わない。例えば、図7の例では、リファレンス論理システム114の“状態S4”における期待値“S4_out”と、ステップS603により入力系列“f{e}”を入力することで得られた出力値“S4_out”とを比較する。
ステップS605では、比較部113−5が、ステップS604で比較した結果が一致するかどうかを判定する。図7の例では、“状態S4”に対応するリファレンス論理システム114の期待値(S4_out)と、検証対象論理システム115の出力値“S4_out”とは同じであるため、一致していると判定し、ステップS607へ分岐する。一方、不一致であると判定された場合にはステップS606へ分岐する。
ステップS606では、比較部113−5が、不一致の原因を判定する。なお、本発明は、バグの解析方法如何にかかわるものではないので、解析方法は、いかなる形式でもかまわない。また、バグの解析を行う代わりに、単にバグの状況を登録しておくだけでも構わない。
ステップS607では、検証テーブル生成部113−3が、ステップS604およびステップS605の結果を検証テーブルに登録する。具体的には、ステップS604において取得された出力値を出力値欄504に、ステップS605における比較結果を結果欄505に登録する。
検証部113−4及び比較部113−5では、上記処理を、すべての入力系列に対して行う。
以上の説明から明らかなように、本実施形態では、同一の機能を有する2つの論理システムの等価性を検証するにあたり、一方の論理システムをFSM変換することにより得られた入力系列を、他の論理システムに入力する構成とした。
これにより、検証対象論理システムは、リファレンス論理システムの全状態における出力値を満たす検証項目を少なくとも一度は実行することが保証されることとなる。つまり、十分かつ無駄のない検証項目で検証することが可能となり、検証効率の向上と検証精度の向上が実現できる。
[第2の実施形態]
上記第1の実施形態では、リファレンス論理システムに基づいて生成された入力系列を検証対象論理システムに入力する構成としたが、本発明は特にこれに限定されない。例えば、検証対象論理システムをFSM変換することにより得られたFSMデータに入力系列を入力することで到達可能な各状態の出力値を求め、対応する期待値と比較するようにしてもよい。以下、詳細に説明する。
上記第1の実施形態では、リファレンス論理システムに基づいて生成された入力系列を検証対象論理システムに入力する構成としたが、本発明は特にこれに限定されない。例えば、検証対象論理システムをFSM変換することにより得られたFSMデータに入力系列を入力することで到達可能な各状態の出力値を求め、対応する期待値と比較するようにしてもよい。以下、詳細に説明する。
1.複数の論理システムの等価性を検証するための情報処理装置の構成
図8は、複数の論理システムの等価性を検証するための情報処理装置800の構成例を示す図である。上記第1の実施形態において説明した図1の情報処理装置100と同様の構成については、同じ参照番号を付すこととし、説明は省略する。
図8は、複数の論理システムの等価性を検証するための情報処理装置800の構成例を示す図である。上記第1の実施形態において説明した図1の情報処理装置100と同様の構成については、同じ参照番号を付すこととし、説明は省略する。
図1の情報処理装置100との相違は、検証部113−4の代わりに、状態出力抽出部813−4を備える点である。状態出力抽出部813−4は、入力系列生成部113−2において生成された各入力系列を用いて、検証対象論理システム115のFSMデータ(112’)の各経路をたどることで、各「状態」における出力値を取得する。
このように、情報処理装置800では検証対象論理システムを動作させる検証部113−4を有しておらず、検証環境を必要としない。このため、等価性を検証しようとする検証対象論理システム間において抽象度、言語、処理方法が異なっていたとしても、インタフェースを共通化させる必要はなく、また、検証環境を構築しなす必要もない。
また、情報処理装置800では、状態出力抽出部813−4により取得される出力値を入力系列生成部113−2において生成される期待値と比較する。このため、出力値と期待値とが不一致であった場合に、検証対象論理システムの内部の動きを確認することができ、バグの解析が容易になるという利点もある。
2.情報処理装置800において等価性の検証を行う際のデータの流れ
図9は、本発明の第2の実施形態にかかる情報処理装置800においてリファレンス論理システム114と検証対象論理システム115との等価性の検証を行う際のデータの流れを表わした図である。
図9は、本発明の第2の実施形態にかかる情報処理装置800においてリファレンス論理システム114と検証対象論理システム115との等価性の検証を行う際のデータの流れを表わした図である。
はじめにFSM変換部111が動作することにより、外部記憶装置106に格納されているリファレンス論理システム114が読み込まれ、FSMデータ112に変換された後、外部記憶装置106に格納される。
同様に、FSM変換部111が動作することにより、外部記憶装置106に格納されている検証対象論理システム115が読み込まれ、FSMデータ112’に変換された後、外部記憶装置106に格納される。
このように、上記第1の実施形態では、検証対象論理システム115についてはFSM変換を行わなかったのに対して、本実施形態では、検証対象論理システムについてもFSM変換を行う。
次に、到達可能状態探索部113−1および入力系列生成部113−2、検証テーブル生成部113−3が動作することにより、入力系列202及び期待値201が生成され、検証テーブルに登録される。到達可能状態探索部113−1及び入力系列生成部113−2、検証テーブル生成部113−3における処理内容は、上記第1の実施形態と同様であるため、ここでは説明は省略する。
状態出力抽出部813−4では、入力系列生成部113−2において生成された入力系列202を用いて、検証対象論理システム115のFSMデータ112’の各経路をたどり、到達した「状態」における出力値203を取得する。
比較部113−5は、入力系列生成部113−2で生成された期待値201と、状態出力抽出部813−4において取得された出力値とを比較し、一致/不一致を判定する。全ての入力系列202について、期待値201と出力値203が一致していた場合には、リファレンス論理システム114と検証対象論理システム115とは等価であると判定する。一方、期待値と出力値とが一致していない入力系列があった場合には、リファレンス論理システム114と検証対象論理システム115とは等価ではないと判定する。
以上の説明から明らかなように、本実施形態では、同一の機能を有する2つの論理システムの等価性を検証するにあたり、まず、2つの論理システムをFSM変換する。そして、一方の論理システムをFSM変換することにより得られた入力系列を、他方の論理システムについてのFSMデータに入力することで到達可能な各状態の出力値を求め、対応する期待値と比較することとした。
これにより、検証対象論理システムでは、リファレンス論理システムの全状態における出力値を満たす経路及び状態を有するか否かが検証されることとなる。つまり、十分かつ無駄のない検証を行うことが可能となり、検証効率の向上と検証精度の向上が実現できる。
更に、本実施形態によれば、検証環境の構築が不要であるため、検証環境構築の手間を省くことができる。更に、検証環境にバグが含まれる可能性がなくなるため、出力値と期待値とが一致しなかった場合でも、原因の解析が容易となる。
[第3の実施形態]
上記第1及び第2の実施形態では、生成されるFSMデータについて、特に詳説しなかったが、FSMはムーア型、ミーリ型のいずれであってもよい。
上記第1及び第2の実施形態では、生成されるFSMデータについて、特に詳説しなかったが、FSMはムーア型、ミーリ型のいずれであってもよい。
また、上記第1及び第2の実施形態では、FSMの表示方式として、状態遷移図を用いることとしたが、本発明はこれに限られない。FSMの表示方式として、例えば、BDD(Binary Decision Diagram)、状態遷移表などを用いても良い。本発明はFSMの表現形式に依存した発明ではないので、同一の論理関数が同一の表現になるならばどのような表現を用いてもよい。ただし、FSMの状態数はリファレンス論理システムが含むフリップ・フロップの値が取り得る組み合わせになる。このため、例えば、20bitのレジスタであれば2の20乗の状態、つまり約百万状態になることから、内部状態が多い場合には、状態遷移図や状態遷移表ではなく、BDDを用いてFSMを非明示的に表現する手法が有効である。
また、上記第1及び第2の実施形態では、検証処理に際してリファレンス論理システム及び検証対象論理システムが外部記憶装置に格納されていることを前提としたが、本発明は特にこれに限られず、ネットワーク等を介して読み込むようにしてもよい。
また、上記第1及び第2の実施形態では、到達可能状態探索部113−1において探索された経路が複数であった場合、入力系列生成部113−2にて最短経路を選択することとしたが、本発明は特にこれに限られない。複数の経路全てを選択して、検証を行うようにしてもよい。
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
Claims (7)
- 第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記生成手段により生成された入力系列を入力値として、前記第2の論理システムを実行させることにより出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段と
を備えることを特徴とする情報処理装置。 - 第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索手段と、
前記探索手段により探索された経路ごとに、前記初期状態から前記各状態に到達するまでの遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成手段と、
前記第2の論理システムを有限状態機械に変換することで得られる各状態のうち、前記生成手段により生成された入力系列に基づいて到達可能な各状態における出力値を取得する取得手段と、
前記取得手段により取得された出力値と、前記生成手段により生成された期待値とを比較する比較手段と
を備えることを特徴とする情報処理装置。 - 前記取得手段により取得された出力値と、前記生成手段により生成された期待値とが全て一致した場合に、前記第2の論理システムは、前記第1の論理システムと等価であると判断する判断手段を更に備えることを特徴とする請求項1または2に記載の情報処理装置。
- 前記生成手段は、前記探索手段により探索された経路が前記状態ごとに複数存在した場合、それぞれ最短の経路について前記入力系列を生成することを特徴とする請求項1または2に記載の情報処理装置。
- 第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置における情報処理方法であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索工程と、
前記探索工程において探索された経路ごとに、前記初期状態から前記各状態に到達するための遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成工程と、
前記生成工程において生成された入力系列を入力値として、前記第2の論理システムを実行させることにより出力値を取得する取得工程と、
前記取得工程において取得された出力値と、前記生成工程において生成された期待値とを比較する比較工程と
を備えることを特徴とする情報処理方法。 - 第1の論理システムと第2の論理システムとが等価であることを検証するための情報処理装置における情報処理方法であって、
前記第1の論理システムを有限状態機械に変換することで得られる各状態が、初期状態から到達可能であるかを判定することにより、該初期状態から該各状態までの経路を探索する探索工程と、
前記探索工程において探索された経路ごとに、前記初期状態から前記各状態に到達するまでの遷移条件を抽出し、入力系列を生成するとともに、該各状態における期待値を生成する生成工程と、
前記第2の論理システムを有限状態機械に変換することで得られる各状態のうち、前記生成工程において生成された入力系列に基づいて到達可能な各状態における出力値を取得する取得工程と、
前記取得工程により取得された出力値と、前記生成工程において生成された期待値とを比較する比較工程と
を備えることを特徴とする情報処理方法。 - 請求項5または6に記載の情報処理方法をコンピュータによって実行させるための制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007039821A JP2008204187A (ja) | 2007-02-20 | 2007-02-20 | 情報処理装置及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007039821A JP2008204187A (ja) | 2007-02-20 | 2007-02-20 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008204187A true JP2008204187A (ja) | 2008-09-04 |
Family
ID=39781627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007039821A Withdrawn JP2008204187A (ja) | 2007-02-20 | 2007-02-20 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008204187A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180870A (ja) * | 2010-03-02 | 2011-09-15 | Nec Corp | 論理回路設計検証装置、論理回路設計検証方法 |
JP2011217249A (ja) * | 2010-04-01 | 2011-10-27 | Mitsubishi Electric Corp | 情報処理装置及び試験方法及びプログラム |
-
2007
- 2007-02-20 JP JP2007039821A patent/JP2008204187A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011180870A (ja) * | 2010-03-02 | 2011-09-15 | Nec Corp | 論理回路設計検証装置、論理回路設計検証方法 |
JP2011217249A (ja) * | 2010-04-01 | 2011-10-27 | Mitsubishi Electric Corp | 情報処理装置及び試験方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cruz-Filipe et al. | Efficient certified RAT verification | |
Belov et al. | Towards efficient MUS extraction | |
US7162706B2 (en) | Method for analyzing and validating clock integration properties in circuit systems | |
CN112560401B (zh) | Verilog文件转换方法、装置、存储介质及设备 | |
JP5471432B2 (ja) | 検証支援プログラム、および検証支援装置 | |
JP2001142937A (ja) | 回路のスケジューリング正当性チェック方法及びスケジュール検証方法 | |
US20090319246A1 (en) | Detection program, detecting device, and detecting method | |
JP4147842B2 (ja) | 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム | |
Malburg et al. | Property mining using dynamic dependency graphs | |
JP2002099584A (ja) | 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体 | |
JP4586864B2 (ja) | プロパティ自動生成装置 | |
US8069026B2 (en) | Clock gating analyzing apparatus, clock gating analyzing method, and computer product | |
JP2008204187A (ja) | 情報処理装置及び情報処理方法 | |
JP2011191985A (ja) | シンボリック実行支援プログラム、方法及び装置 | |
JP5067317B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
DeOrio et al. | Inferno: Streamlining verification with inferred semantics | |
JP2017041196A (ja) | スタブ化対象判定装置、方法、及びプログラム | |
Singh et al. | Cross-correlation of specification and rtl for soft ip analysis | |
JP5075695B2 (ja) | プロパティ記述のカバレッジ測定装置及びプログラム | |
Adler et al. | Revision debug with non-linear version history in regression verification | |
JP4387324B2 (ja) | プロパティ変換装置 | |
JP2016071774A (ja) | 検証支援装置、検証支援方法およびコンピュータプログラム | |
JP6146224B2 (ja) | 判定方法、判定プログラム、および判定装置 | |
JP2014115960A (ja) | 検証装置、検証方法及び検証プログラム | |
JP5000859B2 (ja) | 生成装置、及び生成方法をコンピュータに実行させることが可能なプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100511 |