(57)【要約】【課題】特に割込みシーケンスを追加して新たなベクタを作成する。【解決手段】ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段１１と、割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段１２と、前記ベクタに前記割込指示情報１２を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段１３とを具備する。【選択図】図１
2019185215.tif 000002
【特許請求の範囲】
【請求項１】
ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段と、
割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段と、
前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段と
を具備することを特徴とするベクタ生成装置。
【請求項２】
前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段は、複数のベクタに対しベクタ毎に処理を行うことを特徴とする請求項１に記載のベクタ生成装置。
【請求項３】
割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段が備えられていることを特徴とする請求項１または２に記載のベクタ生成装置。
【請求項４】
割込みシーケンスの種類が再開系シーケンスである場合に、前記素子状態処理手段は、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させることを特徴とする請求項３に記載のベクタ生成装置。
【請求項５】
割込みシーケンスの種類が中断系シーケンスである場合に、前記素子状態処理手段は、素子の各状態をリセットする記述を発生させることを特徴とする請求項３または４に記載のベクタ生成装置。
【請求項６】
コンピュータを、
ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段、
割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段、
前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段、
として機能させることを特徴とするベクタ生成用プログラム。
【請求項７】
前記コンピュータを、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段として、複数のベクタに対しベクタ毎に処理を行うように機能させることを特徴とする請求項６に記載のベクタ生成用プログラム。
【請求項８】
前記コンピュータを更に、
割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段として機能させることを特徴とする請求項６または７に記載のベクタ生成用プログラム。
【請求項９】
割込みシーケンスの種類が再開系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させるように機能させることを特徴とする請求項８に記載のベクタ生成用プログラム。
【請求項１０】
割込みシーケンスの種類が中断系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態をリセットする記述を発生させるように機能させることを特徴とする請求項８または９に記載のベクタ生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ベクタ生成装置及びベクタ生成用プログラムに関するものである。
【背景技術】
【０００２】
ディジタル検証では検証対象となるＲＴＬに対してベクタと呼ばれる入力ファイルを作成して、ＲＴＬが正常に動作しているか確認を行う。通常、ベクタは人間が考えて手作業で作成を行っている。ベクタを実行することにより実行ログを得ることができる。
【０００３】
特許文献１には、回路とテストベクタを使用したこれまでの検証手法では、膨大な検証時間が必要で、全てのケースを設計・検証者が考えて検証することは極めて困難である旨が述べられている。そこで、動作命題（プロパティ）と検証対象の論理回路（Device Under Test、以下ＤＵＴという）が一致しているかどうかを検証する動作命題検証システムが紹介されている。しかし現状では不十分であるとし、時系列信号値データから人手を介すことなく自動的に動作命題を作成するシステムが開示されている。
【０００４】
また、特許文献２には、従来のハードウェア設計ではまずハードウェアの仕様書を作成し、作成された仕様書に基づきＲＴＬ（レジスタ転送レベル、Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌの略）設計を行うことが開示され、つぎに、論理仕様検証を行う旨が記載されている。論理仕様検証では、検証シーケンスと期待値を作成し、論理シミュレーションにてその動作が期待値と一致しているかを確認することが開示されている。
【０００５】
更に、特許文献３には、人手によってテストベクタデータを作成する場合、テストベクタデータの作成に時間と手間を要し、その結果、短い設計期間において十分なテストベクタデータを作成することが極めて困難であるとの開示がなされている。
【０００６】
そのため、特許文献３では、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶し、この記憶されているオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成することが開示されている。更に、検査対象の回路へ入力するテストベクタデータを出力する出力部と、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する誤り発生率記憶部、そして、乱数データを発生する乱数発生部を用いるものである。
【０００７】
これらを用いて、誤り発生率記憶部に記憶された入力信号の誤り発生率と乱数データとを比較し、ベクタ出力部は、入力信号の誤り発生率より乱数データが小さい場合、生成テストベクタデータを出力し、入力信号の誤り発生率より乱数データが大きい場合、オリジナルテストベクタデータを出力するというものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】２００８−９７５０４号公報
【特許文献２】２００９−１１０４１７号公報
【特許文献３】２０１０−２０３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の通り、ベクタについては生成する装置がほとんどなく、まずは人手によるものであった。しかも、人手による場合にあっても、最初に作成したベクタに変更を加えて新たなベクタにする場合に、特に割込みシーケンスを追加して新たなベクタを作成する場合にも、必要な位置へ割込みシーケンスを設定することができず、極めて不便なものであった。
【００１０】
本発明はこのようなディジタル検証における問題点を解決せんとしてなされたもので、その目的は、特に割込みシーケンスを追加して新たなベクタを作成することが可能なベクタ生成装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明に係るベクタ生成装置は、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段と、割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段と、前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段とを具備することを特徴とする。
【００１２】
本発明に係るベクタ生成装置では、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段は、複数のベクタに対しベクタ毎に処理を行うことを特徴とする。
【００１３】
本発明に係るベクタ生成装置では、割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段が備えられていることを特徴とする。
【００１４】
本発明に係るベクタ生成装置では、割込みシーケンスの種類が再開系シーケンスである場合に、前記素子状態処理手段は、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させることを特徴とする。
【００１５】
本発明に係るベクタ生成装置では、割込みシーケンスの種類が中断系シーケンスである場合に、前記素子状態処理手段は、素子の各状態をリセットする記述を発生させることを特徴とする。
【００１６】
本発明に係るベクタ生成用プログラムは、コンピュータを、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段、割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段、前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段、として機能させることを特徴とする。
【００１７】
本発明に係るベクタ生成用プログラムでは、前記コンピュータを、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段として、複数のベクタに対しベクタ毎に処理を行うように機能させることを特徴とする。
【００１８】
本発明に係るベクタ生成用プログラムでは、前記コンピュータを更に、割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段として機能させることを特徴とする。
【００１９】
本発明に係るベクタ生成用プログラムでは、割込みシーケンスの種類が再開系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させるように機能させることを特徴とする。
【００２０】
本発明に係るベクタ生成用プログラムでは、割込みシーケンスの種類が中断系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態をリセットする記述を発生させるように機能させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、特に割込みシーケンスを追加して新たなベクタを作成することが可能となるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】本発明に係るベクタ生成装置の第１の実施形態を示すブロック図。
【図２】本発明に係るベクタ生成装置の第２の実施形態を示すブロック図。
【図３】本発明に係るベクタ生成装置の実施形態による動作を示すフローチャート。
【図４】本発明に係るベクタ生成装置の実施形態により割込指示情報が設定されたベクタのリストを示す図。
【図５】本発明に係るベクタ生成装置の実施形態により生成された再開系シーケンスを含むベクタの一例を示す図。
【図６】本発明に係るベクタ生成装置の実施形態により生成された中断系シーケンスを含むベクタの一例を示す図。
【図７】本発明の実施形態により生成される元のベクタによる信号の動作を示す図。
【図８】本発明の実施形態により生成された新規ベクタによる信号の動作を示す図。
【発明を実施するための形態】
【００２３】
以下添付図面を参照して、本発明に係るベクタ生成装置及びベクタ生成用プログラムの実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。本実施形態では、ステートマシンの動作を検証するディジタル検証装置１−１、１−２、・・・、１−Ｎを用いる。ディジタル検証装置１−１、１−２、・・・、１−Ｎは、シミュレータにより構成することができる。ディジタル検証装置１−１、１−２、・・・、１−Ｎは、Ｎ台のコンピュータシステムにより構成することもでき、また、１台のコンピュータ内に設けることもできる。
【００２４】
ディジタル検証装置１−１には、ベクタ２−１を入力し、ディジタル検証装置１−２には、ベクタ２−２を入力し、・・・・、ディジタル検証装置１−Ｎには、ベクタ２−Ｎを入力する。ベクタ２−１、２−２、・・・、２−Ｎは、検査対象の回路に入力される入力信号を記述したファイルであり、検証カテゴリが異なるごとに作成されているものとすることができる。
【００２５】
ディジタル検証装置１−１、１−２、・・・、１−Ｎに、それぞれベクタ２−１、２−２、・・・、２−Ｎを入力して実行させることにより、ディジタル検証装置１−１、１−２、・・・、１−Ｎからはログ（ｌｏｇ）３−１、３−２、・・・、３−Ｎが出力される。
【００２６】
ログ３−１、３−２、・・・、３−Ｎは、本実施形態に係るベクタ生成装置のログ収集手段１１によって収集される。ログ収集手段１１は、１つとすることができるが、ログ３−１、３−２、・・・、３−Ｎに対応してＮ個であっても良い。
【００２７】
ログ収集手段１１の出力は割込指示情報発生手段１２へ送られる。割込指示情報発生手段１２は、コマンド等の入力部２１から与えられる割込みシーケンスの挿入要求に応じて、上記ログに記述される上記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる。割込指示情報は、割込シーケンスへ進むべき時間（１つのベクタのスタートからの時間）情報と、「割込シーケンスへ進むこと」を示す「ｉｎｔｅｒｒｕｐｔ＝ｏｎ」の記述により構成される。なお、割込シーケンスへ進むべき時間（１つのベクタのスタートからの時間）情報は、ログはステートが変化したときに出力され、そのときの時間（ベクタのスタートからの時間）がログに付されるため、適切に得ることができる。
【００２８】
割込指示情報発生手段１２の出力は、ベクタ生成手段１３へ送られる。ベクタ生成手段１３は、上記ベクタに上記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するものである。つまり、割込シーケンスへ進むべき時間（１つのベクタのスタートからの時間）以降に所要のシーケンス記述を含ませて、新たなベクタとする。新規ベクタ１４は、表示やプリントなどにより出力され、また、記憶される。記憶された新規ベクタ１４は、ディジタル検証装置１−１、１−２、・・・、１−Ｎのいずれかに入力されてディジタル検証がなされる。
【００２９】
図２に示される第２の実施形態では、上記において割込みシーケンスには、種類があり、割込みシーケンスの種類に応じて、上記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段１５が備えられている。素子状態処理手段１５は、割込みシーケンスの種類が再開系シーケンスである場合に、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させる。
【００３０】
一方、割込みシーケンスの種類が中断系シーケンスである場合に、上記素子状態処理手段１５は、素子の各状態をリセットする記述を発生させる。
【００３１】
以上のように構成されたべクタ生成装置は、図３のフローチャートに対応するプログラムを実行するコンピュータにより構成されるので、このフローチャートを参照して動作説明を行う。まず、完成したベクタをディジタル検証装置へ入力し実行させて、ログを出力させる（Ｓ１１）。次に、発生したログを収集する（Ｓ１２）。
【００３２】
次に、割込みシーケンスの挿入要求を取り込む（Ｓ１３）。割込みシーケンスの挿入要求に応じて割込指示情報を発生させる（Ｓ１４）。図４には、割込指示情報が設定されたベクタのリストを示す。この例では、（１）から（３）は、ベクタ１について設定された割込指示情報である。それぞれベクタ１による動作から、１０００ｎｓの時に、２０００ｎｓの時に、３０００ｎｓの時に、割込シーケンスへ進むべきことが、設定されている。また、（４）から（５）は、ベクタ２について設定された割込指示情報である。それぞれベクタ２による動作から、５０００ｎｓの時に、６０００ｎｓの時に、割込シーケンスへ進むべきことが、設定されている。
【００３３】
次に、割込みシーケンスの挿入要求の内容を解析し（Ｓ１５）、割込みシーケンスの種類が再開系シーケンスであるか中断系シーケンスであるのかを検出する（Ｓ１６）。ステップＳ１６において再開系シーケンスであると判定されると、各素子の現在の状態を保持する記述と、割込み終了後に保持内容に各素子の状態を戻す旨の記述を行う（Ｓ１７）。再開系シーケンスであると例えば、図５（ａ）に示す如くになる。
【００３４】
一方、ステップＳ１６において中断系シーケンスであると判定されると、素子の各状態をリセットする記述を行う（Ｓ１８）。中断系シーケンスであると例えば、図６（ａ）に示す如くになる。
【００３５】
ステップＳ１７またはステップＳ１８に次いで、割込指示情報に沿って割込みシーケンスを設定して（Ｓ１９）、エンドとなる。再開系シーケンスの場合には図５（ｂ）に示す如くの新しいベクタが生成され、中断系シーケンスの場合には図６（ｂ）に示す如くの新しいベクタが生成される。なお、割込みシーケンスについては、予め作成されており、これを用いるものとしても良い。
【００３６】
以上のように本実施形態によれば、特に割込みシーケンスを所望の位置に追加して新たなベクタを作成することが可能となる。これに対し、従来は割込みシーケンスは、「ステートマシンが次に変化した位置において割込みシーケンスを実行」というように記述しておくような手法しかなく、割込みシーケンスの位置を指定することはできなかった。これに対し、本実施例はログの情報を用いて所望の位置に特に割込みシーケンスを設定したベクタを生成することができる。
【００３７】
本実施形態によって、ログを収集したベクタでは、図７に示すような信号の動きになるものとする。割込指示情報として、ログからinterrupt=onとtime=2000ns得て、これを渡すことでB＿CSがIDLE＿sからACTIVE＿sに切り替わるタイミングを狙って割り込み処理シーケンスを実行することができる。具体的には図８のようにtime=2000ns後に割り込みシーケンス処理を挿入するベクタＡ（vectorA）を生成することができる。これは既存のベクタ１（vector1）とは異なるベクタであり、他の検証カテゴリで使用できるベクタＡ（vectorA）を自動生成することができる。
【符号の説明】
【００３８】
１−１〜１−Ｎ  ディジタル検証装置
２−１〜２−Ｎ  ベクタ
３−１〜３−Ｎ  ログ
１１  ログ収集手段
１２  割込指示情報発生手段
１３  ベクタ生成手段
１４  新規ベクタ
１５  素子状態処理手段
２１  入力部
【図１】
2019185215.tif 000003
【図２】
2019185215.tif 000004
【図３】
2019185215.tif 000005
【図４】
2019185215.tif 000006
【図５】
2019185215.tif 000007
【図６】
2019185215.tif 000008
【図７】
2019185215.tif 000009
【図８】
2019185215.tif 000010