(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176055
(43)【公開日】2023-12-13
(54)【発明の名称】検証パターンチェック装置およびプログラム
(51)【国際特許分類】
G06F 30/3308 20200101AFI20231206BHJP
【FI】
G06F30/3308
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022088124
(22)【出願日】2022-05-31
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】591036457
【氏名又は名称】三菱電機エンジニアリング株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】小板 正人
(72)【発明者】
【氏名】山城 悠生
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146GJ05
5B146GQ03
(57)【要約】
【課題】 検証パターンの検証目的をチェックすることができる検証パターンチェック装置(2)およびプログラムを提供する。
【解決手段】 検証パターンチェック装置(2)は、検証パターンの回路記述から信号名をモジュールごとに抽出する信号抽出部(21)と、信号名の信号のトグル量をカウントするカウンタを生成するカウンタ生成部(22)と、検証パターンを実行したときのカウンタによるカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定するモジュール特定部(23)と、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名に対応する第1のキーワードを回路記述のコメント欄から抽出し、第1のキーワードに対応する第2のキーワードを検証仕様書情報から抽出し、第1のキーワードおよび第2のキーワードを用いて検証目的を特定する検証目的特定部(24)と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ハードウェア記述言語で記述された検証パターンの回路記述から信号名をモジュールごとに抽出する信号抽出部と、
前記信号名の信号のトグル量をカウントするカウンタを生成するカウンタ生成部と、
前記検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定するモジュール特定部と、
前記検証対象モジュールにおける前記カウンタ値が第2の判別条件を満たす前記信号名を特定する信号特定部と、
特定された前記信号名に対応する第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出し、前記第1のキーワードに対応する第2のキーワードを、前記検証パターンの仕様が記載された検証仕様書情報から抽出するキーワード抽出部と、
前記第1のキーワードおよび前記第2のキーワードを用いて前記検証パターンの検証目的を特定する検証目的特定部と、を備えた
ことを特徴とする検証パターンチェック装置。
【請求項2】
前記信号抽出部は、前記検証パターンの回路記述における宣言部から前記信号名を抽出する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項3】
前記モジュール特定部は、前記カウンタ値が最大である前記信号名を含むモジュールを前記検証対象モジュールとして特定する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項4】
前記モジュール特定部は、前記カウンタ値が予め定められた第1の閾値以上である前記信号名を含むモジュールを前記検証対象モジュールとして特定する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項5】
前記モジュール特定部は、前記カウンタ値が前記第1の閾値以上である前記信号名の数が予め定められた第2の閾値以上であるモジュールを前記検証対象モジュールとして特定する
ことを特徴とする請求項4に記載の検証パターンチェック装置。
【請求項6】
前記キーワード抽出部は、前記カウンタ値が最大である前記信号名に対応する前記第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項7】
前記キーワード抽出部は、前記カウンタ値が予め定められた第1の閾値以上である前記信号名に対応する前記第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項8】
前記検証目的特定部は、前記検証目的の特定をモジュールごとに行い、前記カウンタ値の遷移から前記検証パターンの検証手順を特定する
ことを特徴とする請求項1に記載の検証パターンチェック装置。
【請求項9】
コンピュータを、請求項1から請求項8のいずれか1項に記載の検証パターンチェック装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検証パターンチェック装置およびプログラムに関する。
【背景技術】
【0002】
半導体集積回路等の論理回路の故障検出には、ハードウェア記述言語(以下、HDLという。)で記述された検証パターンが用いられる。検証パターンは、論理回路の入力端子に入力され、論理回路の出力端子からの出力状態を、検証パターンに対応した期待の出力パターンと比較した結果に基づいて論理回路の故障検出が行われる。しかしながら、検証パターンを用いた論理回路の故障検出において、検出対象の論理回路の入力端子数が増加した場合、論理回路をテストするための検証パターン数が増大する。このため、論理回路の故障検出に用いられる検証パターンを検査する必要がある。
【0003】
例えば、特許文献1には、論理シミュレーションにおいて、検証パターンを1ステップごとに実行し、論理回路内部のネットの論理状態が変化したときに、論理状態の変化が、論理回路の出力端子で観測可能であるか否かを判定し、観測可能であると判定された場合にのみ当該ネットの有効トグル数をカウントアップする検証方法が記載されている。この検証方法は、論理回路内部の各ネットの有効トグル数を主とした検証結果を得ることで、検証パターンの故障検出能力を有効に評価することができるものである。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の検証方法は、検証パターンの検証目的をチェックすることができないという課題があった。ここで、検証目的は、検証パターンが論理回路の検証対象の機能を示す情報であり、検証パターンは、検証目的に沿った内容で作成される。しかしながら、一般的に、論理回路の検証には多数の検証パターンが用いられ、また論理回路の設計と検証パターンの生成は別々に行われる場合が多いので、検証パターンがどの検証目的に対応するのかといったことをチェックするのは困難であった。
【0006】
本開示は上記課題を解決するものであり、検証パターンの検証目的をチェックすることができる、検証パターンチェック装置およびプログラムを得ることを目的とする。
【課題を解決するための手段】
【0007】
本開示に係る検証パターンチェック装置は、HDLで記述された検証パターンの回路記述から信号名をモジュールごとに抽出する信号抽出部と、信号名の信号のトグル量をカウントするカウンタを生成するカウンタ生成部と、検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを、検証対象モジュールとして特定するモジュール特定部と、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名を特定する信号特定部と、特定された信号名に対応する第1のキーワードを回路記述のコメント欄から抽出し、第1のキーワードに対応する第2のキーワードを、検証パターンの仕様が記載された検証仕様書情報から抽出するキーワード抽出部と、第1のキーワードおよび第2のキーワードを用いて検証パターンの検証目的を特定する検証目的特定部を備える。
【発明の効果】
【0008】
本開示によれば、検証パターンの回路記述から信号名をモジュールごとに抽出し、検証パターンを実行したときの信号のトグル量のカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定し、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名を特定し、特定した信号名に対応する第1のキーワードを回路記述のコメント欄から抽出し、第1のキーワードに対応する第2のキーワードを検証仕様書情報から抽出し、第1のキーワードおよび第2のキーワードを用いて、検証パターンの検証目的を特定する。これにより、本開示に係る検証パターンチェック装置は、検証パターンの検証目的をチェックすることができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係る論理検証システムの構成を示すブロック図である。
【
図2】実施の形態1に係る検証パターンチェック装置の構成を示すブロック図である。
【
図3】実施の形態1に係る検証パターンチェック装置の動作を示すフローチャートである。
【
図4】検証パターンの回路記述における各モジュールの信号名を示す図である。
【
図5】信号名が示す信号のトグル量をカウントする処理の概要を示す図である。
【
図6】検証目的である検証対象機能を特定する処理の概要を示す図である。
【
図7】実施の形態1に係る検証パターンチェック装置の機能を実現するハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0010】
実施の形態1.
図1は、実施の形態1に係る論理検証システム1の構成を示すブロック図である。
図1において、論理検証システム1は、論理回路の機能およびタイミングを検証するシステムであり、検証パターンチェック装置2、記憶部3、および論理シミュレータ4を備える。検証パターンチェック装置2は、論理回路の検証に使用される検証パターンの検証目的をチェックする。検証パターンは、HDLで記述されたファイルであり、論理回路ハードウェアを検証するために用いられる。検証パターンは、テストベンチとも呼ばれる。記憶部3には、論理回路の検証に用いる多数の検証パターンが記憶されている。論理シミュレータ4は、検証対象の論理回路ハードウェアを模擬したモデルに検証パターンを入力して、論理回路の応答を観測し、論理回路の動作を検証するものである。
【0011】
論理シミュレータ4による論理回路の検証には、RTL(Register Transfer Level)の検証がある。例えば、論理回路および検証パターンはVerilog-HDLで記述され、RTLの検証が実行される。一般的な論理回路の検証には、1000~2000といった多数の検証パターンが用いられる。個々の検証パターンは、検証仕様書に記載された検証目的に沿った内容で作成される。
【0012】
しかしながら、実際には、検証仕様書の作成工数を削減するために、仕様書作成の手順が簡略化されることがあり、この簡略化が過度に行われると、どのような目的で検証する必要があるのかが検証仕様書に明確に記載されていないことがある。特に、過去に開発された製品を新たな製品の開発に流用する流用開発において、過去に開発された製品の検証仕様書には、このような仕様書が多い。どのような目的で検証する必要があるのかが明確に記載されていない場合、検証パターンがどのような検証目的に対応するものであるのかも明確でない場合が多い。このような事情を鑑みて、検証パターンチェック装置2では、論理シミュレータ4が検証パターンを実行して論理回路を検証しているときに、当該検証パターンの検証目的をチェックする。これにより、検証パターンが検証仕様に沿っているかどうかをチェックすることができ、論理検証の信頼性が向上する。
【0013】
図2は、実施の形態1に係る検証パターンチェック装置2の構成を示すブロック図である。
図2に示すように、検証パターンチェック装置2は、信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26を備える。信号抽出部21は、HDLで記述された検証パターンの回路記述から信号名をモジュールごとに抽出する。HDLで記述された検証パターンは、モジュールが基本構造である。Verilog-HDLにおいて、モジュールは、先頭行に予約語の「module」が記述され、最終行に「endmodule」が記述され、「module」と「endmodule」との間に、モジュールの内容が記述される。
【0014】
先頭行の「module」に続いて宣言部が記述される。宣言部は、モジュールの内部で使用する信号の宣言が記述される部分である。宣言部には、入出力宣言、ネット宣言、および変数宣言が含まれる。入出力宣言には、入力または出力の方向、データ型、ビット幅および端子名が定義される。ネット宣言は、回路記述で使用されるネットが宣言され、ネット宣言には、wire宣言が含まれる。wire宣言は、内部配線の信号の信号名を規定するものである。変数宣言は、フリップフロップまたはラッチ等の値を保持する信号が宣言され、変数宣言には、reg宣言が含まれる。reg宣言は、レジスタの値を保持する信号の信号名が規定される。
【0015】
信号抽出部21は、検証パターンが実行される前の事前処理として、当該検証パターンの回路記述における宣言部から信号名を抽出する。例えば、信号抽出部21は、モジュールごとに、入出力宣言、wire宣言またはreg宣言の少なくとも一つのデータ型から信号名を抽出する。これにより、検証パターンの回路記述で使用される信号の信号名を、モジュールごとに的確に抽出することができる。
【0016】
カウンタ生成部22は、信号抽出部21が抽出した信号名の信号のトグル量をカウントするカウンタを生成する。例えば、カウンタ生成部22は、検証パターンが実行される前の事前処理として、信号抽出部21が抽出した信号名の信号をクロックとしたカウンタを自動生成する。カウンタは、クロックに同期したカウンタであり、クロックの論理状態の変化(0と1の遷移)であるトグル量をカウントする。さらに、カウンタは、モジュールごとおよび信号名ごとに生成され、検証パターンが実行されるとカウントを開始する。
【0017】
モジュール特定部23は、検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを、検証対象モジュールとして特定するものである。例えば、モジュール特定部23は、論理シミュレータ4が検証パターンの実行を開始してから終了するまでの間のカウンタ値を信号名ごとに取得し、取得したカウンタ値が第1の判別条件を満たすモジュールを、検証対象モジュールとして特定する。
【0018】
例えば、第1の判別条件は、カウンタ値が最大である信号名を含むモジュールを検証対象とするという条件である。この場合、モジュール特定部23は、信号名ごとのカウンタ値をモジュール内およびモジュール間で比較することで、カウンタ値が最大である信号名を含むモジュールを判別し、当該モジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0019】
また、第1の判別条件は、カウンタ値が予め定められた第1の閾値以上である信号名を含むモジュールを検証対象モジュールとする条件であってもよい。第1の閾値は、カウンタ値に関する閾値である。この場合、モジュール特定部23が、信号名ごとのカウンタ値をモジュール内およびモジュール間で第1の閾値と比較し、カウンタ値が第1の閾値以上である信号名を含んだモジュールを判別し、判別結果のモジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0020】
さらに、第1の判別条件は、カウンタ値が予め定められた第1の閾値以上である信号名を含むモジュールを検証対象モジュールとする条件であってもよい。この場合、モジュール特定部23は、信号名ごとのカウンタ値をモジュール内およびモジュール間で第1の閾値と比較し、カウンタ値が第1の閾値以上である信号名を含むモジュールを判別し、判別結果のモジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0021】
第1の判別条件は、カウンタ値が第1の閾値以上である信号名の数が第2の閾値以上であるモジュールを検証対象モジュールとする条件であってもよい。第2の閾値は、信号名の数に関する閾値である。この場合、モジュール特定部23は、信号名ごとのカウンタ値をモジュール内およびモジュール間で第1の閾値と比較し、カウンタ値が第1の閾値以上である信号名の数を特定する。そして、モジュール特定部23は、特定した信号名の数を第2の閾値と比較し、カウンタ値が第1の閾値以上である信号名の数が第2の閾値以上である信号名を含むモジュールを判別し、判別したモジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0022】
信号のトグル量のカウンタ値が大きいほど、このカウンタ値に対応する信号名を含んだモジュールは、検証パターンにおける検証対象モジュールである可能性が高い。第1の判別条件は、このような特性を条件化したものである。
なお、モジュール特定部23は、検証対象モジュールを一つ特定してもよいし、複数の検証対象モジュールを特定してもよい。
【0023】
信号特定部24は、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名を特定する。例えば、第2の判別条件は、検証対象モジュールにおいてカウンタ値が最大である信号名を判別するという条件である。この場合、信号特定部24は、信号名ごとのカウンタ値を検証対象モジュール内で比較して、カウンタ値が最大である信号名を判別する。
【0024】
カウンタ値が最大である信号名の信号は、検証パターンを実行することで活性化されるため、検証目的の機能に関連している可能性が高い。第2の判別条件は、このような特性を条件化したものである。
【0025】
また、第2の判別条件を、検証対象モジュールにおいてカウンタ値が第1の閾値以上である信号名を判別するものとしてもよい。この場合、信号特定部24は、検証対象モジュールにおいて複数の信号名に対応するカウンタ値が第1の閾値以上である場合に、複数の信号名を検証目的の機能に関連する信号名として特定する。
【0026】
キーワード抽出部25は、信号特定部24によって特定された信号名に対応する第1のキーワードを検証パターンの回路記述のコメント欄から抽出し、第1のキーワードに対応する第2のキーワードを検証仕様書情報から抽出する。検証パターンの回路記述におけるコメント欄とは、信号名の説明を記載するコメント欄である。例えば、各行の回路記述の最後に「//」で始まり行末までの記述欄であり、テキスト情報の記述が可能である。
【0027】
第1のキーワードは、信号特定部24によって特定された信号名を示すテキスト情報である。信号特定部24によって特定された信号名は、検証目的の機能に関連している可能性が高いことから、この信号名を示す第1のキーワードは、検証対象機能に関連するものである。回路記述のコメント欄には、信号特定部24によって特定された信号名の具体的な信号名が記載されている。Aレジスタの値を保持する信号の信号名が「regA」である場合、回路記述のコメント欄には、例えば、「Aレジスタ」というテキスト情報が記載されている。
【0028】
なお、信号特定部24によって特定された信号名に対応する回路記述のコメント欄が空欄であった場合、キーワード抽出部25は、論理回路の設計書情報から第1のキーワードを抽出してもよい。論理回路の設計書情報は、検証対象の論理回路の設計内容が記載された電子ファイルであり、論理回路に対応づけて記憶部3に記憶されている。例えば、キーワード抽出部25は、信号特定部24が特定した信号名に対応する回路記述のコメント欄が空欄の場合に、当該信号名を検索ワードとして記憶部3に記憶された設計書情報を検索して、第1のキーワードを抽出する。
【0029】
検証仕様書情報は、検証パターンの仕様が記載された電子ファイルであり、検証パターンに対応付けて記憶部3に記憶されている。例えば、キーワード抽出部25は、検証パターンに対応する検証仕様書情報を記憶部3から読み出し、第1のキーワードを用いて検証仕様書情報の検証項目を検索する。キーワード抽出部25は、第1のキーワードが含まれる検証項目を検証仕様書情報から特定すると、特定した検証項目の内容から第2のキーワードを抽出する。
【0030】
第2のキーワードは、検証仕様書情報における第1のキーワードに対応した検証項目に記載された情報である。例えば、検証項目には、検証対象の機能に関連した情報が、第1のキーワードよりも具体的に記載されている。第1のキーワードが「Aレジスタ」である場合、検証項目には、例えば、「Aレジスタの値を確認」といった検証対象機能に関する具体的な内容が記載されている。
【0031】
検証目的特定部26は、第1のキーワードおよび第2のキーワードを用いて検証パターンの検証目的を特定する。例えば、検証目的特定部26は、第1のキーワードおよび第2のキーワードを使用したテキスト情報を、検証パターンの検証目的を示す情報として出力する。上記テキスト情報は、第1のキーワードまたは第2のキーワードのいずれかまたは両方の組み合わせが含まれる。
【0032】
また、検証目的特定部26は、第1のキーワードと第2のキーワードを含むテキスト情報を新たに生成してもよい。検証パターンの検証目的を示す情報は、例えば、
図1および
図2に不図示の表示装置に表示するための表示制御情報であってもよい。検証作業者は、表示装置に表示された情報を参照することにより検証パターンの検証目的を把握することができる。
【0033】
図3は、検証パターンチェック装置2の動作を示すフローチャートである。
信号抽出部21は、検証パターンの回路記述から信号名をモジュールごとに抽出する(ステップST1)。
図4は、検証パターンの回路記述における各モジュールの信号名を示す図である。
図4において、検証パターンの回路記述には、モジュール(1)、モジュール(2)およびモジュール(3)が記述されている。
【0034】
モジュール(1)には、regA、regB、regC、wireD、wireEおよびwireFという信号名が記述されている。モジュール(2)には、regG、regH、wireIおよびwireJという信号名が記述されている。さらに、モジュール(3)には、regK、regL、regM、wireN、wirePおよびwireQという信号名が記述されている。
【0035】
信号抽出部21は、モジュール(1)から、regA、regB、regC、wireD、wireEおよびwireFを抽出し、モジュール(2)から、regG、regH、wireIおよびwireJを抽出し、モジュール(3)から、regK、regL、regM、wireN、wirePおよびwireQを抽出する。信号抽出部21が回路記述から抽出した信号名は、カウンタ生成部22に出力される。
【0036】
カウンタ生成部22は、信号抽出部21が抽出した信号名の信号のトグル量をカウントするカウンタを生成する(ステップST2)。例えば、カウンタ生成部22は、モジュール(1)において、regA、regB、regC、wireD、wireEおよびwireFのカウンタをそれぞれ生成し、モジュール(2)において、regG、regH、wireIおよびwireJのカウンタをそれぞれ生成し、モジュール(3)において、regK、regL、regM、wireN、wirePおよびwireQのカウンタをそれぞれ生成する。ここまでが事前処理である。
次に、論理シミュレータ4が検証パターンを実行し、論理回路の検証を開始する。
【0037】
モジュール特定部23は、検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定する(ステップST3)。
図5は、信号名が示す信号のトグル量をカウントする処理の概要を示す図である。検証パターンの実行が完了したときのモジュール(1)カウンタにおいて、regAのカウンタ値が「50」であり、regBのカウンタ値が「2」、regCのカウンタ値が「0」、wireDのカウンタ値が「8」、wireEのカウンタ値が「0」およびwireFのカウンタ値が「0」である。モジュール(1)カウンタ値の合計値は「60」である。
【0038】
検証パターンの実行が完了したときのモジュール(2)カウンタにおいて、regGのカウンタ値が「0」であり、regHのカウンタ値が「0」、wireIのカウンタ値が「0」およびwireJのカウンタ値が「0」である。モジュール(2)カウンタ値の合計は「0」である。
【0039】
検証パターンの実行が完了したときのモジュール(3)カウンタにおいて、regKのカウンタ値が「1」であり、regLのカウンタ値が「0」、regMのカウンタ値が「0」、wireNのカウンタ値が「1」、wirePのカウンタ値が「0」およびwireQのカウンタ値が「0」である。モジュール(3)カウンタ値の合計は「2」である。
【0040】
第1の判定条件が、信号名に対応するカウンタ値の合計が最大であるモジュールを検証対象モジュールとする条件である場合、モジュール特定部23は、信号名に対応するカウンタ値の合計が最大値「60」であるモジュール(1)を、検証対象モジュールとして特定する。モジュール特定部23は、検証対象モジュールを示す情報を信号特定部24に出力する。
【0041】
信号特定部24は、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名を特定する(ステップST4)。
図6は、検証目的である検証対象機能を特定する処理の概要を示す図である。第2の判定条件が、検証対象モジュールにおけるカウンタ値が最大の信号名を抽出する条件である場合、信号特定部24は、
図6に示すように、カウンタ値が「50」である信号名「regA」を特定する。また、第2の判定条件が、検証対象モジュールにおけるカウンタ値が第1の閾値(例えば、8)以上である信号名を抽出する条件である場合、信号特定部24は、カウンタ値が「50」である信号名「regA」と、カウンタ値が「8」である信号名「wireD」を特定する。
【0042】
キーワード抽出部25は、特定された信号名に対応する第1のキーワードを回路記述のコメント欄10から抽出し、第1のキーワードに対応する第2のキーワードを検証仕様書情報30から抽出する(ステップST5)。例えば、信号特定部24によりカウンタ値が最大である信号名「regA」が特定された場合、キーワード抽出部25は、信号名「regA」についての回路記述のコメント欄10から、第1のキーワードとして「Aレジスタ」を抽出する。続いて、キーワード抽出部25は、第1のキーワードである「Aレジスタ」が含まれる検証項目11を、検証仕様書情報30から特定し、特定した検証項目11の内容から第2のキーワードである「Aレジスタ確認」を抽出する。
【0043】
検証目的特定部26は、第1のキーワードおよび第2のキーワードを用いて検証パターンの検証目的を特定する(ステップST6)。例えば、検証目的特定部26は、第1のキーワードである「Aレジスタ」と、第2のキーワードである「Aレジスタ確認」とを使用して「レジスタAの動作を確認する検証」というテキスト情報を生成し、検証パターンの検証目的を示す情報として出力する。
【0044】
また、検証目的特定部26は、検証目的の特定をモジュールごとに行って、カウンタ値の遷移から検証パターンの検証手順を特定する。例えば、検証目的特定部26は、一つの検証パターンの実行が完了したときのカウンタ値に応じた検証目的の特定を行うことで、検証パターン内での検証目的の遷移、すなわち、一つの検証パターンにおける検証手順を特定可能である。さらに、検証目的特定部26は、検証パターンごとにカウンタ値に応じた検証目的の特定を行うことで、検証パターンごとの検証手順を特定することもできる。
これにより、検証パターンチェック装置2は、検証パターンの個々の検証目的に加えて、検証手順を確認することができる。
【0045】
検証パターンチェック装置2の機能を実現するハードウェア構成について説明する。
検証パターンチェック装置2が備える信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26の機能は、処理回路により実現される。すなわち、検証パターンチェック装置2は、
図3に示したステップST1からステップST6の処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
【0046】
図7は、検証パターンチェック装置2の機能を実現するハードウェア構成を示すブロック図である。
図7において、入力インタフェース100は、記憶部3および論理シミュレータ4から検証パターンチェック装置2へ出力される情報を中継するインタフェースである。出力インタフェース101は、検証パターンチェック装置2から記憶部3へ出力される検査結果などを中継するインタフェースである。
【0047】
処理回路が
図7に示すプロセッサ102である場合、検証パターンチェック装置2が備える信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ103に記憶される。
【0048】
プロセッサ102は、メモリ103に記憶されたプログラムを読み出して実行することにより、検証パターンチェック装置2が備える、信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26の機能を実現する。例えば、検証パターンチェック装置2は、プロセッサ102により実行されるときに、
図3に示したステップST1からステップST6までの処理が結果的に実行されるプログラムを記憶するメモリ103を備える。これらのプログラムは、信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26が行う処理の手順または方法を、コンピュータに実行させる。また、メモリ103は、コンピュータを、信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【0049】
メモリ103は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically-EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
【0050】
検証パターンチェック装置2が備える信号抽出部21、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26の機能の一部は専用のハードウェアで実現され、他の一部がソフトウェアまたはファームウェアで実現されてもよい。例えば、信号抽出部21は、専用のハードウェアである処理回路が機能を実現し、カウンタ生成部22、モジュール特定部23、信号特定部24、キーワード抽出部25および検証目的特定部26は、プロセッサ102がメモリ103に記憶されたプログラムを読み出して実行することによって機能を実現する。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
【0051】
以上のように、実施の形態1に係る検証パターンチェック装置2は、検証パターンの回路記述から信号名をモジュールごとに抽出する信号抽出部21と、信号名の信号のトグル量をカウントするカウンタを生成するカウンタ生成部22と、検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定するモジュール特定部23と、検証対象モジュールにおけるカウンタ値が第2の判別条件を満たす信号名を特定する信号特定部24と、特定された信号名に対応する第1のキーワードを回路記述のコメント欄から抽出し、第1のキーワードに対応する第2のキーワードを検証仕様書情報から抽出するキーワード抽出部25と、第1のキーワードおよび第2のキーワードを用いて検証パターンの検証目的を特定する検証目的特定部26を備える。これにより、検証パターンチェック装置2は、検証パターンの検証目的をチェックすることができる。
【0052】
実施の形態1に係る検証パターンチェック装置2において、信号抽出部21は、回路記述における宣言部から信号名を抽出する。これにより、信号抽出部21は、検証パターンの回路記述で使用される信号の信号名をモジュールごとに的確に抽出することができる。
【0053】
実施の形態1に係る検証パターンチェック装置2において、モジュール特定部23は、カウンタ値が最大である信号名を含むモジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0054】
実施の形態1に係る検証パターンチェック装置2において、モジュール特定部23は、カウンタ値が予め定められた第1の閾値以上である信号名を含むモジュールを、検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0055】
実施の形態1に係る検証パターンチェック装置2において、モジュール特定部23は、カウンタ値が第1の閾値以上である信号名の数が予め定められた第2の閾値以上であるモジュールを検証対象モジュールとして特定する。これにより、モジュール特定部23は、検証対象モジュールを的確に特定することができる。
【0056】
実施の形態1に係る検証パターンチェック装置2において、キーワード抽出部25は、カウンタ値が最大である信号名に対応する第1のキーワードを回路記述のコメント欄から抽出する。これにより、キーワード抽出部25は、検証対象モジュールの検証目的に関する第1のキーワードを的確に抽出することができる。
【0057】
実施の形態1に係る検証パターンチェック装置2において、キーワード抽出部25は、カウンタ値が予め定められた第1の閾値以上である信号名に対応する第1のキーワードを回路記述のコメント欄から抽出する。これにより、キーワード抽出部25は、検証対象モジュールの検証目的に関する第1のキーワードを的確に抽出することができる。
【0058】
実施の形態1に係る検証パターンチェック装置2において、検証目的特定部26は、検証目的の特定をモジュールごとに行い、カウンタ値の遷移から検証パターンの検証手順を特定する。これにより、検証パターンチェック装置2は、検証パターンの個々の検証目的に加えて、検証手順を確認することができる。
【0059】
実施の形態1に係るプログラムは、コンピュータを検証パターンチェック装置2として機能させるものであり、検証パターンの検証目的をチェック可能な検証パターンチェック装置を提供することができる。
【0060】
以下、本開示の諸態様を付記としてまとめて記載する。
(付記1)
ハードウェア記述言語で記述した検証パターンの回路記述から信号名をモジュールごとに抽出する信号抽出部と、
前記信号名の信号のトグル量をカウントするカウンタを生成するカウンタ生成部と、
前記検証パターンを実行したときのカウンタ値が第1の判別条件を満たすモジュールを検証対象モジュールとして特定するモジュール特定部と、
前記検証対象モジュールにおける前記カウンタ値が第2の判別条件を満たす前記信号名を特定する信号特定部と、
特定された前記信号名に対応する第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出し、前記第1のキーワードに対応する第2のキーワードを、前記検証パターンの仕様が記載された検証仕様書情報から抽出するキーワード抽出部と、
前記第1のキーワードおよび前記第2のキーワードを用いて前記検証パターンの検証目的を特定する検証目的特定部と、を備えた
ことを特徴とする検証パターンチェック装置。
(付記2)
前記信号抽出部は、前記検証パターンの回路記述における宣言部から前記信号名を抽出する
ことを特徴とする付記1に記載の検証パターンチェック装置。
(付記3)
前記モジュール特定部は、前記カウンタ値が最大である前記信号名を含むモジュールを前記検証対象モジュールとして特定する
ことを特徴とする付記1または付記2に記載の検証パターンチェック装置。
(付記4)
前記モジュール特定部は、前記カウンタ値が予め定められた第1の閾値以上である前記信号名を含むモジュールを前記検証対象モジュールとして特定する
ことを特徴とする付記1または付記2に記載の検証パターンチェック装置。
(付記5)
前記モジュール特定部は、前記カウンタ値が前記第1の閾値以上である前記信号名の数が予め定められた第2の閾値以上であるモジュールを前記検証対象モジュールとして特定する
ことを特徴とする付記4に記載の検証パターンチェック装置。
(付記6)
前記キーワード抽出部は、前記カウンタ値が最大である前記信号名に対応する前記第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出する
ことを特徴とする付記1から付記5のいずれか一つに記載の検証パターンチェック装置。
(付記7)
前記キーワード抽出部は、前記カウンタ値が予め定められた第1の閾値以上である前記信号名に対応する前記第1のキーワードを、前記検証パターンの回路記述のコメント欄から抽出する
ことを特徴とする付記1から付記5のいずれか一つに記載の検証パターンチェック装置。
(付記8)
前記検証目的特定部は、前記検証目的の特定をモジュールごとに行い、前記カウンタ値の遷移から前記検証パターンの検証手順を特定する
ことを特徴とする付記1から付記7のいずれか一つに記載の検証パターンチェック装置。
(付記9)
コンピュータを、付記1から付記8のいずれか一つに記載の検証パターンチェック装置として機能させるためのプログラム。
【0061】
なお、実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0062】
1 論理検証システム、2 検証パターンチェック装置、3 記憶部、4 論理シミュレータ、10 コメント欄、11 検証項目、21 信号抽出部、22 カウンタ生成部、23 モジュール特定部、24 信号特定部、25 キーワード抽出部、26 検証目的特定部、30 検証仕様書情報、100 入力インタフェース、101 出力インタフェース、102 プロセッサ、103 メモリ。