(57)【要約】【課題】設計者によるテストプログラム記述漏れを自動的に補完することができるようにし、論理回路の検証漏れを防ぐこと。【解決手段】属性の比較処理７では、仕様書内の回路動作属性抽出処理２にて抽出された属性抽出結果５と、テストプログラムの回路テスト属性抽出処理３にて抽出された属性抽出結果６とを属性毎に比較し、属性の差異を収集した属性比較結果を生成する。判断処理９にて属性比較結果８を検索した結果、動作仕様に対するテストプログラムが存在しないと判断され、判断処理１０にてテストプログラムの追加が必要であると判断されたとき、テストプログラムの生成処理１１にて前記動作仕様に対応したテストプログラムを生成してテストプログラム４に付加する。【選択図】        図１
2005267359.tif 000002
【特許請求の範囲】
【請求項１】
動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置において、
予め作成されたテストプログラムにおける仕様網羅性を判断する手段と、
前記仕様網羅性の判断結果に基づき当該テストプロプログラムでは検証できない動作仕様を検出する手段と、
前記検出された動作仕様に対応したテストプログラムを生成して前記予め作成されたテストプログラムに付加する手段と、
を備えたことを特徴とする論理検証装置。
【請求項２】
前記仕様網羅性を判断する手段では、仕様書とテストプログラムとで使用する属性名が異なる場合は同一性を持つように属性を変換して関連付けを行う手段、を備えることを特徴とする請求項１に記載の論理検証装置。
【請求項３】
動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置において、
前記仕様書における回路動作属性と予め作成されたテストプログラムにおける回路テスト属性との一致不一致を属性毎に比較する手段と、
前記比較の結果、動作仕様に対するテストプログラムが存在しない場合にその動作仕様を検出する手段と、
前記検出された動作仕様に対応したテストプログラムを生成して前記予め作成されたテストプログラムに付加する手段と、
を備えたことを特徴とする論理検証装置。
【請求項４】
前記比較する手段では、仕様書とテストプログラムとで使用する属性名が異なる場合は同一性を持つように属性を変換して関連付けを行う手段、を備えることを特徴とする請求項３に記載の論理検証装置。
【請求項５】
動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置において、
予め作成されたテストプログラムにおける仕様網羅性を判断する工程と、
前記仕様網羅性の判断結果、当該テストプロプログラムでは検証できない動作仕様が存在する場合にその動作仕様を提示しテストプログラムの追加要否を問い合わせる工程と、
テストプログラムの追加が必要であるとき、前記提示した動作仕様に対応したテストプログラムを生成して前記予め作成されたテストプログラムに付加する工程と、
を備えたことを特徴とする論理検証装置におけるテストプログラムの補完方法。
【請求項６】
前記仕様網羅性を判断する工程では、仕様書とテストプログラムとで使用する属性名が異なる場合は同一性を持つように属性を変換して関連付けを行う工程、を含むことを特徴とする請求項５に記載の論理検証装置におけるテストプログラムの補完方法。
【請求項７】
動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置において、
前記仕様書における回路動作属性を抽出し、仕様属性抽出結果を生成する工程と、
予め作成されたテストプログラムにおける回路テスト属性を抽出し、テスト属性抽出結果を生成する工程と、
前記仕様属性抽出結果と前記テスト属性抽出結果とを属性毎に比較し、属性の差異を収集した属性比較結果を生成する工程と、
前記属性比較結果を検索し、動作仕様に対するテストプログラムが存在しない場合にその動作仕様を提示し、テストプログラムの追加要否を問い合わせる工程と、
テストプログラムの追加が必要であるとき、前記提示した動作仕様に対応したテストプログラムを生成して前記予め作成されたテストプログラムに付加する工程と、
を含むことを特徴とする論理検証装置におけるテストプログラムの補完方法。
【請求項８】
前記テスト属性抽出結果を生成する工程では、仕様書とテストプログラムとで使用する属性名が異なる場合は同一性を持つように属性を変換して関連付けを行う工程、を含むことを特徴とする請求項７に記載の論理検証装置におけるテストプログラムの補完方法。
【請求項９】
前記テストプログラムの追加要否を問い合わせた結果、テストプログラムの追加が不要の場合に、前記提示した動作仕様を仕様書から削除する工程、を含むことを特徴とする請求項７または８に記載の論理検証装置におけるテストプログラムの補完方法。
【請求項１０】
前記属性比較結果を検索し、仕様書にない回路動作が予め作成されたテストプログラムに記述されている場合に、動作仕様の追加要否を問い合わせる工程と、
動作仕様の追加が不要である場合に、前記予め作成されたテストプログラムにおける仕様書にない回路動作の記述部分を削除する工程と、
動作仕様の追加が必要である場合に、前記前記予め作成されたテストプログラムに記述されている回路動作に対応する動作仕様を仕様書に追加する工程と、
を含むことを特徴とする請求項７〜９のいずれか一つに記載の論理検証装置におけるテストプログラムの補完方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置およびテストプログラムの補完方法に関するものである。
【背景技術】
【０００２】
ＬＳＩ（大規模集積回路）などの論理回路設計においては、動作仕様を定義する仕様書に従った論理回路をハードウェア設計用記述言語によって記述設計するが、その設計した論理回路の検証を行う方法として、従来から、論理回路の信号制御をテストするためのプログラムを動作仕様書に基づいて作成し、論理シミュレータ上で前述のテストプログラムを実行し、回路から出力される信号、または内部信号が仕様書で定義する動作や期待値と同値であることを確認する方法が採用されてきた。
【０００３】
ところが、近年、ＬＳＩの回路規模が飛躍的に増大し、機能も複雑化してきていることから、論理回路を検証するためのテストプログラムも増大してきており、検証期間が長期化している。
【０００４】
そこで、最近では、論理シミュレータの処理速度を高速化する方法や、論理シミュレーションを実施するコンピューターを高速化する方法および設計者がテストプログラムを記述することを簡略化できる検証装置を用いる方法などが採られている（例えば特許文献１）。
【０００５】
【特許文献１】特開平７−１７５８３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の論理検証手法および論理検証装置にあっては、増大する論理回路の仕様や機能を検証するテストプログラムを用意することは困難であり、動作仕様に対する設計者のテストプログラム記述漏れがあれば、論理検証漏れが発生するという問題がある。
【０００７】
この発明は、上記に鑑みてなされたものであり、設計者によるテストプログラム記述漏れを自動的に補完することができるようにし、論理回路の検証漏れを防ぐことができる論理検証装置およびテストプログラムの補完方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した目的を達成するために、この発明は、動作仕様を定義する仕様書に基づいて設計された論理回路をテストプログラムによって検証する論理検証装置において、予め作成されたテストプログラムにおける仕様網羅性を判断する手段と、前記仕様網羅性の判断結果に基づき当該テストプロプログラムでは検証できない動作仕様を検出する手段と、前記検出された動作仕様に対応したテストプログラムを生成して前記予め作成されたテストプログラムに付加する手段とを備えたことを特徴とする。
【０００９】
この発明によれば、設計者によるテストプログラムに記述漏れがあっても、その設計者が作成したテストプログラムでは検証できない動作仕様を検出して、対応したテストプログラムを自動的に生成することができるので、論理回路の検証漏れを防ぐことができる。また、テストプログラムの記述漏れをなくすことができる。
【発明の効果】
【００１０】
この発明によれば、設計者によるテストプログラム記述漏れを自動的に補完することができるので、論理回路の検証漏れを防ぐことができ、また、テストプログラムの記述漏れをなくすことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に図面を参照して、この発明にかかる論理検証装置およびテストプログラムの補完方法の好適な実施の形態を詳細に説明する。
【００１２】
実施の形態１．
図１は、この発明の実施の形態１である論理検証装置の構成を説明するフローチャートである。図１において、記憶装置１には、論理回路の動作仕様を定義する仕様書が格納されている。以降、記憶装置１に代えて「仕様書１」と表記する。この仕様書１では、状態遷移図やフローチャートの形式で論理回路が動作する条件や状態が定義されている。例えば、図２は、仕様書１の一例を示す図である。
【００１３】
図２に示すように、仕様書１には、回路名「statement_name=state」と、その回路における状態「Rest」「StateＡ」「StateＢ」「StateＣ」、状態の遷移条件「sync=Asnyc」「sigＡ＝１」、状態の遷移先「Rest→StateＡ」「StateＡ→StateＢ」「StateＢ→StateＢ」「StateＢ→StateＣ」「StateＣ→StateＡ」、遷移時間「clk_delay＝１」が記述されている。図３は、図２に示した仕様に基づきハードウェア設計用記述言語で記述された論理回路プログラムの一例を示す図である。
【００１４】
仕様書内の回路動作属性抽出処理２では、図５に示す手順で、仕様書１に示される回路動作の属性を抽出し、その値を特定して属性抽出結果（図６参照）を生成し、記憶装置５に格納する処理が行われる。以降、記憶装置５に代えて「属性抽出結果５」と表記する。
【００１５】
また、記憶装置４には、仕様書１に基づき作成された論理回路の動作を確認するためのテストプログラムが格納されている。以降、記憶装置４に代えて「テストプログラム４」と表記する。テストプログラム４は、設計者が論理回路と同様にハードウェア設計用記述言語で作成するものである。図４は、テストプログラム４の一例を示す図である。図４では、図３に示すハードウェア設計用記述言語によって設計された論理回路が仕様通りの動作を行うか否かを確認するために作成されたテストプログラム４の一例が示されている。
【００１６】
テストプログラムの回路テスト属性抽出処理３では、図７に示す手順で、テストプログラム４から論理回路テスト内容を属性毎に抽出し、その値を特定して属性抽出結果（図８参照）を生成し、記憶装置６に格納する処理が行われる。以降、記憶装置６に代えて「属性抽出結果６」と表記する。
【００１７】
属性の比較処理７では、図９に示す手順で、論理回路の仕様書１から回路動作の属性を抽出したファイルである属性抽出結果５と、テストプログラム４からテスト回路の属性を抽出したファイルである属性抽出結果６とを比較し、差異の有無を示す属性比較結果（図１０参照）を生成し、記憶装置８に格納する処理が行われる。以降、記憶装置８に代えて「属性比較結果８」と表記する。この属性比較結果８を検索して属性に差異があるか否かを判断処理９と判断処理１２とで調べ、差異がある場合には同一にする処理を実行する。
【００１８】
すなわち、判断処理９では、属性比較結果８を検索して仕様書回路動作がテストプログラム４に記述されているか否かを調べる。その結果、仕様書回路動作がテストプログラム４に記述されていない場合（Ｎｏ）には、設計者は、テストプログラムの追加が必要か否かを調べる（判断処理１０）。その結果、テストプログラムの追加が必要でない場合（判断処理１０：Ｎｏ）には、設計者は、論理回路の動作仕様から該当した属性に対応する仕様を削除し（仕様の修正処理１５）、属性の比較処理７に戻る。一方、設計者は、テストプログラムの追加が必要であると判断した場合（判断処理１０：Ｙｅｓ）は、テストプログラムの生成処理１１を起動する。
【００１９】
テストプログラムの生成処理１１では、図１１に示す手順で、属性比較結果８から判明したテストプログラム４に不足している「回路の状態」「状態遷移先」「遷移条件」「遷移時間」に基づいてテストプログラムを自動的に生成し、生成したテストプログラム（図１２参照）をテストプログラム４に追加し、属性の比較処理７に戻る。
【００２０】
また、判断処理１２では、属性比較結果８を検索して、仕様書にない回路動作がテストプログラム４に記述されているか否かを調べる。その結果、仕様書にない回路動作がテストプログラム４に記述されている場合（Ｙｅｓ）には、設計者は、仕様の追加変更が必要か否かを調べる（判断処理１３）。その結果、仕様の追加変更が必要である場合（判断処理１３：Ｙｅｓ）は、設計者は、動作仕様を追加し（仕様の修正処理１５）、属性の比較処理７に戻る。動作仕様は、図２に示したように、回路の状態、状態遷移先、遷移条件および遷移時間である。一方、設計者は、仕様の追加変更が不要であると判断した場合（判断処理１３：Ｎｏ）は、テストプログラム４から該当した属性に対応するテスト個所を削除し（テストプログラムの削除処理１４）、属性の比較処理７に戻る。
【００２１】
以上のように、属性比較結果８を検索して属性に差異があるか否かを判断処理９と判断処理１２にて調べることを繰り返し行い、判断処理９にて、仕様書回路動作がテストプログラム４に記述されていると判断し（Ｙｅｓ）、かつ、判断処理１２にて、仕様書にない回路動作がテストプログラム４に記述されていないと判断した場合（Ｎｏ）、つまり、仕様書１とテストプログラム４の属性同一性が確認できると、全ての検証処理を終了する。
【００２２】
次に、図１〜図１２を参照して、以上のように構成される実施の形態１による論理検証装置における主な処理動作について説明する。なお、図５は、仕様書内の回路動作属性抽出処理２での処理手順を説明するフローチャートである。図６は、図５に示す手順で抽出された回路動作の属性抽出結果を示すである。図７は、テストプログラムの回路テスト属性抽出処理３での処理手順を説明するフローチャートである。図８は、図７に示す手順で抽出された論理回路テスト内容の属性抽出結果を示すである。図９は、属性の比較処理７での処理手順を説明するフローチャートである。図１０は、図９に示す手順で得られた属性比較結果を示す図である。図１１は、テストプログラムの生成処理１１での処理手順を説明するフローチャートである。図１２は、図１１に示す手順で得られたテストプログラムを示す図である。
【００２３】
図５において、仕様書内の回路動作属性抽出処理２では、仕様書１中の着目する回路名を抽出し（ステップＳ２１）、仕様書１中で定義している回路状態属性（Ｎ）の回路状態を抽出する（ステップ２２）。そして、回路状態属性（Ｎ）の回路状態について、状態遷移先の抽出（ステップＳ２３）と、遷移条件の抽出（ステップＳ２４）と、遷移時間の抽出（ステップＳ２５）とをそれぞれ行い、それらの抽出された内容（値）を属性抽出結果５として保存する（ステップＳ２６）。以上のステップＳ２２〜ステップＳ２６の処理を回路状態属性（Ｎ）から回路状態属性（Ｎ＝０）まで順々に繰り返し行い（ステップＳ２７：Ｎｏ）、回路状態属性（Ｎ＝０）の回路状態について（ステップＳ２２）、ステップＳ２３〜ステップＳ２６の処理を終了すると（ステップＳ２７：Ｙｅｓ）、仕様書内の回路動作属性抽出処理２は、終了する。
【００２４】
属性抽出結果５では、図６に示すように、着目する回路名として「statement_name=state」が記述される。そして、「回路の状態」の属性「State」として「State:Rest」「State:StateＡ」「State:StateＢ」「State:StateＣ」が記述され、各「回路の状態」の属性「State」において、「状態遷移先」の属性「toState」、「遷移条件」の属性「Conf」、「遷移時間」の属性「time」などの内容（値）が記述される。
【００２５】
次に、図７に示すように、テストプログラムの回路テスト属性抽出処理３では、テストプログラム４中のテスト回路名を抽出し（ステップＳ３１）、テストプログラム４中で定義している回路状態属性（Ｎ）の回路状態を抽出する（ステップＳ３２）。そして、回路状態属性（Ｎ）の回路状態について、状態遷移先の抽出（ステップＳ３３）と、遷移条件の抽出（ステップＳ３４）と、遷移時間の抽出（ステップＳ３５）とを行い、それらの抽出された内容（値）を属性抽出結果６として保存する（ステップＳ３６）。
【００２６】
以上のステップＳ３２〜ステップＳ３６の処理を、回路状態属性（Ｎ）から回路状態属性（Ｎ＝０）まで順々に繰り返し行い（ステップＳ３７：Ｎｏ）、回路状態属性（Ｎ＝０）の回路状態について（ステップＳ３２）、ステップＳ３３〜ステップＳ３６の処理を終了すると（ステップＳ３７：Ｙｅｓ）、このテストプログラムの回路テスト属性抽出処理３は、終了する。
【００２７】
属性抽出結果６では、図８に示すように、着目する回路名として「statement_name=state」が記述される。そして、「回路の状態」の属性「State」として「State:Rest」「State:StateＡ」「State:StateＢ」「State:StateＣ」が記述され、各「回路の状態」の属性「State」において、「状態遷移先」の属性「toState」、「遷移条件」の属性「Conf」、「遷移時間」の属性「time」などの内容（値）が記述される。
【００２８】
次に、図９に示すように、属性の比較処理７では、属性抽出結果５および属性抽出結果６における回路名を検索し（ステップＳ４１）、同じ回路名であるか否かを調べ（ステップＳ４２）、同じ回路名が検索されなかった場合（ステップＳ４２：Ｎｏ）は、一致しない双方の回路名をメモリに格納する（ステップＳ４３）ことを行って、属性抽出結果５および属性抽出結果６において一致する回路名を検索する。
【００２９】
一致する回路名が検索できると（ステップＳ４２：Ｙｅｓ）、その回路名における回路状態属性（Ｎ）の回路状態を抽出する（ステップＳ４４）。そして、属性抽出結果５と属性抽出結果６に、同じ回路状態が存在するか否か（ステップＳ４５）、同じ状態遷移先が存在するか否か（ステップＳ４７）、同じ遷移条件が存在するか否か（ステップＳ４９）、同じ遷移時間が存在するか否か（ステップＳ５１）をそれぞれ調べる。
【００３０】
そして、同じ回路状態が検索されなかった場合（ステップＳ４５：Ｎｏ）は、双方の回路状態属性をメモリに格納する（ステップＳ４６）。同様に、同じ状態遷移先が検索されなかった場合（ステップＳ４７：Ｎｏ）は、双方の回路状態属性をメモリに格納する（ステップＳ４８）。同じ遷移条件が検索されなかった場合（ステップＳ４９：Ｎｏ）は、双方の回路状態属性をメモリに格納する（ステップＳ５０）。同じ遷移時間が検索されなかった場合（ステップＳ５１：Ｎｏ）は、双方の回路状態属性をメモリに格納する（ステップＳ５２）。
【００３１】
以上のステップＳ４４〜ステップＳ５２の処理を、回路状態属性（Ｎ）から回路状態属性（Ｎ＝０）まで順々に繰り返し行い（ステップＳ５３：Ｎｏ）、回路状態属性（Ｎ＝０）の回路状態について（ステップＳ４４）、ステップＳ４５〜ステップＳ５２の処理を終了すると（ステップＳ５３：Ｙｅｓ）、メモリに格納された属性の差異を収集して図１０に示すような属性比較結果８を生成する（ステップＳ５４）。
【００３２】
次に、図１１に示すように、テストプログラムの生成処理１１では、属性比較結果８から追加する回路名を抽出し、メモリに格納する（ステップＳ６１）。そして、そのメモリから回路状態属性（Ｎ）の回路状態を抽出し（ステップ６２）、その回路状態属性（Ｎ）の回路状態について、状態遷移先の抽出（ステップＳ６３）と、遷移条件の抽出（ステップＳ６４）と、遷移時間の抽出（ステップＳ６５）とをそれぞれ行い、それらの抽出された内容（値）をメモリに保存する。
【００３３】
以上のステップＳ６２〜ステップＳ６５の処理を回路状態属性（Ｎ）から回路状態属性（Ｎ＝０）まで順々に繰り返し行い（ステップＳ６６：Ｎｏ）、回路状態属性（Ｎ＝０）の回路状態について（ステップＳ６２）、ステップＳ６３〜ステップＳ６５の処理を終了すると（ステップＳ６６：Ｙｅｓ）、メモリに格納された属性から、図１２に示すようなテストプログラムコードを生成し、テストプログラム４に追加する（ステップＳ６７）。
【００３４】
このように、実施の形態１によれば、仕様書内の回路動作属性とテストプログラムの回路テスト属性との一致不一致を比較してテストプログラムの仕様網羅性を調査し、調査結果に基づいて検証できない仕様を検出し、その仕様に対応した適切なテストプログラムを自動生成して付加することができるので、設計者が当初に作成したテストプログラムに記述漏れが生じても、その記述漏れを適切に補完し、仕様を満たしたテストプログラムとすることができる。したがって、テストプログラムの作成漏れをなくすことが可能となり、論理回路の検証漏れを防ぐことができる。
【００３５】
実施の形態２．
図１３は、この発明の実施の形態２である論理検証装置の構成を説明するフローチャートである。なお、図１３では、図１（実施の形態１）に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、実施の形態２に関わる部分を中心に説明する。
【００３６】
上記した実施の形態１では、回路の動作仕様書で定義されている回路名や属性がテストプログラム中の回路名や属性と同一である場合の構成例を示したが、この実施の形態２では、回路の動作仕様書で定義する回路名や属性がテストプログラム中の回路名や属性と異なることを許容する場合の構成例が示されている。
【００３７】
すなわち、図１３に示すように、実施の形態２では、図１（実施の形態１）に示した構成において、テストプログラム４に代えてテストプログラム２０が設けられ、属性対応ファイルを格納する記憶装置２１とテストプログラムの属性置換処理２２とが追加されている。
【００３８】
テストプログラム２０は、プログラムコードを見やすくするために、回路名と属性名がテストプログラム４から変更され、仕様書１とは異なるものになっている。なお、説明の便宜から、仕様書１や論理回路記述では、実施の形態１と同様であるとしている。
【００３９】
属性対応ファイルを格納する記憶装置２１を以降、属性対応ファイル２１と表記する。この属性対応ファイル２１では、回路の動作仕様書で定義している回路名や属性名と、テストプログラム２０で定義している回路名や属性名との相関関係を定義している（図１４参照）。
【００４０】
図１４は、属性対応ファイル２１での回路名、属性置換の定義の一例を示す図である。図１４では、「statement_name : state: STATE」という定義では、回路名「statement_name」を「state」から「STATE」に置換することが示されている。また「State: Rest: P1」という定義では、回路状態「Rest」を「Ｐ１」に置換することが示されている。「StateB.Conf: sigA: SIGNAL_A」という定義では、回路状態属性「StateB」内で定義している遷移条件「Conf」を「sigA」から「SIGNAL_A」に置換することが示されている。
【００４１】
テストプログラムの属性変換処理２２では、テストプログラム２０と属性対応ファイル２１とを入力して、テストプログラム２０内の回路名や属性名を、属性対応ファイル２１を参照して、回路の動作仕様書で定義した回路名と属性名に変換する処理が行われる。
【００４２】
テストプログラムの回路テスト属性属性抽出処理３では、このテストプログラムの属性変換処理２２での変換結果について、実施の形態１にて説明した手順でテストプログラムの回路テスト属性属性抽出処理を行うようになっている。その他は、実施の形態１と同様である。
【００４３】
ここでは、図１５と図１６を参照して、テストプログラムの属性変換処理２２の内容を具体的に説明する。図１５は、テストプログラムの属性置換処理２２での処理手順を説明するフローチャートである。図１６は、図１５に示す手順で得られた属性置換結果を示す図である。
【００４４】
図１５において、テストプログラムの属性置換処理２２では、テストプログラム２０の読み出し（ステップＳ７１）と、属性対応ファイル２１を読み出し（ステップＳ７２）とを行い、回路名の置換を行う（ステップＳ７３）。そして、回路状態属性（Ｎ）の回路状態を抽出し（ステップ７４）、その回路状態属性（Ｎ）の回路状態について、回路状態属性（Ｎ）の置換（ステップＳ７５）と、状態遷移先の置換（ステップＳ７６）と、遷移条件の置換（ステップＳ７７）と、遷移時間の置換（ステップＳ７８）とをそれぞれ行い、置換結果を保存する（ステップＳ７９）。
【００４５】
以上のステップＳ７４〜ステップＳ７９の処理を、回路状態属性（Ｎ）から回路状態属性（Ｎ＝０）まで順々に繰り返し行い（ステップＳ８０：Ｎｏ）、回路状態属性（Ｎ＝０）の回路状態について（ステップＳ７４）、ステップＳ７５〜ステップＳ７９の処理を終了すると（ステップＳ８０：Ｙｅｓ）、このテストプログラムの属性置換処理２２は、終了する。図１６では、図１４に示した置換定義に従って置換されていることが示されている。
【００４６】
このように、実施の形態２によれば、プログラムコードを見やすくするために、動作仕様書と論理回路記述およびテストプログラムの回路名や属性名を変更する場合があるが、そのような場合でも、仕様書とテストプログラムとで使用する回路状態名や信号名などの属性名が同一性を持つように属性を変換して関連付けることができるので、正常に論理回路の動作仕様書とテストプログラムの比較および論理の検証を行うことができる。
【産業上の利用可能性】
【００４７】
以上のように、この発明にかかる論理検証装置およびテストプルグラムの補完方法は、設計者によるテストプログラム記述漏れに起因する論理回路の検証漏れを防ぐのに有用であり、特に、仕様書に基づき適切なテストプログラムを生成し、記述漏れをなくすのに適している。
【図面の簡単な説明】
【００４８】
【図１】この発明の実施の形態１である論理検証装置の構成を説明するフローチャートである。
【図２】図１に示す仕様書の一例を示す図である。
【図３】図２に示した仕様に基づきハードウェア設計用記述言語に記述された論理回路プログラムの一例を示す図である。
【図４】図１に示すテストプログラムの一例を示す図である。
【図５】図１に示す仕様書内の回路動作属性抽出処理での処理手順を説明するフローチャートである。
【図６】図５に示す手順で抽出された回路動作の属性抽出結果を示す図である。
【図７】図１に示すテストプログラムの回路テスト属性抽出処理での処理手順を説明するフローチャートである。
【図８】図７に示す手順で抽出された論理回路テスト内容の属性抽出結果を示す図である。
【図９】図１に示す属性の比較処理における処理手順を説明するフローチャートである。
【図１０】図９に示す手順で得られた属性比較結果を示す図である。
【図１１】テストプログラムの生成処理での処理手順を説明するフローチャートである。
【図１２】図１１に示す手順で得られたテストプログラムを示す図である。
【図１３】この発明の実施の形態２である論理検証装置の構成を説明するフローチャートである。
【図１４】図１３に示す属性対応ファイルでの回路名、属性置換の定義の一例を示す図である。
【図１５】図１３に示すテストプログラムの属性置換処理での処理手順を説明するフローチャートである。
【図１６】図１５に示す手順で得られた属性置換結果を示す図である。
【符号の説明】
【００４９】
１  記憶装置（仕様書）、
２  仕様書内の回路動作属性抽出処理、
３  テストプログラムの回路テスト属性抽出処理、
４，２０  記憶装置（テストプログラム）、
５，６  記憶装置（属性抽出結果）、
７  属性の比較処理、
８  記憶装置（属性比較結果）、
９，１０，１２，１３  判断処理、
１１  テストプログラムの生成処理、
１４  テストプログラムの削除処理、
１５  仕様の修正処理、
２１  記憶装置（属性対応ファイル）、
２２  テストプログラムの属性置換処理。
【図１】
2005267359.tif 000003
【図２】
2005267359.tif 000004
【図３】
2005267359.tif 000005
【図４】
2005267359.tif 000006
【図５】
2005267359.tif 000007
【図６】
2005267359.tif 000008
【図７】
2005267359.tif 000009
【図８】
2005267359.tif 000010
【図９】
2005267359.tif 000011
【図１０】
2005267359.tif 000012
【図１１】
2005267359.tif 000013
【図１２】
2005267359.tif 000014
【図１３】
2005267359.tif 000015
【図１４】
2005267359.tif 000016
【図１５】
2005267359.tif 000017
【図１６】
2005267359.tif 000018