(57)【要約】【課題】重複記述を削減して新たな効率的な複数のベクタを作成することへつなげる。【解決手段】ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせる複数のベクタを入力して検証動作を実行させて複数の前記ベクタに対応するログを得るログ収集手段１１と、複数の前記ベクタに対応するログを検査して重複するシーケンスを検出する重複シーケンス検出手段１２と、前記重複シーケンス検出手段１２により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行う警告表示処理手段１３とを具備する。【選択図】図１
2019185216.tif 000002
【特許請求の範囲】
【請求項１】
ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせる複数のベクタを入力して検証動作を実行させて複数の前記ベクタに対応するログを得るログ収集手段と、
複数の前記ベクタに対応するログを検査して重複するシーケンスを検出する重複シーケンス検出手段と、
前記重複シーケンス検出手段により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行う警告表示処理手段と
を具備することを特徴とするベクタ適正化装置。
【請求項２】
前記重複するシーケンスが存在する場合に重複するシーケンスの記述を削除する重複シーケンス削除手段を備えることを特徴とする請求項１に記載のベクタ適正化装置。
【請求項３】
前記重複シーケンス削除手段は、前記重複するシーケンスが存在する場合に時間が最も早い重複するシーケンス記述を残して削除する請求項２に記載のベクタ適正化装置。
【請求項４】
前記警告表示処理手段は、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して警告表示することを特徴とする請求項１乃至３のいずれか１項に記載のベクタ適正化装置。
【請求項５】
前記警告表示処理手段は、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して、削除するシーケンスの記述の指示を求める警告表示を行い、
削除手段は、前記指示に基づき削除を行うことを特徴とする請求項１乃至４のいずれか１項に記載のベクタ適正化装置。
【請求項６】
前記重複シーケンス検出手段は、前記ステートマシンのステート変化が同一のログを見つけて重複のシーケンスであると判断することを特徴とする請求項１乃至５のいずれか１項に記載のベクタ適正化装置。
【請求項７】
前記重複シーケンス検出手段は、前記ステートマシンの所定信号の変化を一定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断することを特徴とする請求項１乃至６のいずれか１項に記載のベクタ適正化装置。
【請求項８】
前記重複シーケンス検出手段は、前記ステートマシンの所定信号の変化繰り返しが所定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断することを特徴とする請求項１乃至７のいずれか１項に記載のベクタ適正化装置。
【請求項９】
コンピュータを、
ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせる複数のベクタを入力して検証動作を実行させて複数の前記ベクタに対応するログを得るログ収集手段、
複数の前記ベクタに対応するログを検査して重複するシーケンスを検出する重複シーケンス検出手段、
前記重複シーケンス検出手段により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行う警告表示処理手段
として機能させることを特徴とするベクタ適正化用プログラム。
【請求項１０】
前記コンピュータを更に、
前記重複するシーケンスが存在する場合に重複するシーケンスの記述を削除する重複シーケンス削除手段として機能させることを特徴とする請求項９に記載のベクタ適正化用プログラム。
【請求項１１】
前記コンピュータを前記重複シーケンス削除手段として、前記重複するシーケンスが存在する場合に時間が最も早い重複するシーケンス記述を残して削除するように機能させることを特徴とする請求項１０に記載のベクタ適正化用プログラム。
【請求項１２】
前記コンピュータを前記警告表示処理手段として、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して警告表示するように機能させることを特徴とする請求項９乃至１１のいずれか１項に記載のベクタ適正化用プログラム。
【請求項１３】
前記コンピュータを前記警告表示処理手段として、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して、削除するシーケンスの記述の指示を求める警告表示を行うように機能させ、
前記コンピュータを削除手段として、前記指示に基づき削除を行うように機能させることを特徴とする請求項９乃至１２のいずれか１項に記載のベクタ適正化用プログラム。
【請求項１４】
前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンのステート変化が同一のログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする請求項９乃至１３のいずれか１項に記載のベクタ適正化用プログラム。
【請求項１５】
前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンの所定信号の変化を一定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする請求項９乃至１４のいずれか１項に記載のベクタ適正化用プログラム。
【請求項１６】
前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンの所定信号の変化繰り返しが所定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする請求項９乃至１５のいずれか１項に記載のベクタ適正化用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ベクタ適正化装置及びベクタ適正化用プログラムに関するものである。
【背景技術】
【０００２】
ディジタル検証では検証対象となるＲＴＬに対してベクタと呼ばれる入力ファイルを作成して、ＲＴＬが正常に動作しているか確認を行う。通常、ベクタは人間が考えて手作業で作成を行っている。ベクタを実行することにより実行ログを得ることができる。
【０００３】
特許文献１には、回路とテストベクタを使用したこれまでの検証手法では、膨大な検証時間が必要で、全てのケースを設計・検証者が考えて検証することは極めて困難である旨が述べられている。そこで、動作命題（プロパティ）と検証対象の論理回路（Device Under Test、以下ＤＵＴという）が一致しているかどうかを検証する動作命題検証システムが紹介されている。しかし現状では不十分であるとし、時系列信号値データから人手を介すことなく自動的に動作命題を作成するシステムが開示されている。
【０００４】
また、特許文献２には、従来のハードウェア設計ではまずハードウェアの仕様書を作成し、作成された仕様書に基づきＲＴＬ（レジスタ転送レベル、Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌの略）設計を行うことが開示され、つぎに、論理仕様検証を行う旨が記載されている。論理仕様検証では、検証シーケンスと期待値を作成し、論理シミュレーションにてその動作が期待値と一致しているかを確認することが開示されている。
【０００５】
更に、特許文献３には、人手によってテストベクタデータを作成する場合、テストベクタデータの作成に時間と手間を要し、その結果、短い設計期間において十分なテストベクタデータを作成することが極めて困難であるとの開示がなされている。
【０００６】
そのため、特許文献３では、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶し、この記憶されているオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成することが開示されている。更に、検査対象の回路へ入力するテストベクタデータを出力する出力部と、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する誤り発生率記憶部、そして、乱数データを発生する乱数発生部を用いるものである。
【０００７】
これらを用いて、誤り発生率記憶部に記憶された入力信号の誤り発生率と乱数データとを比較し、ベクタ出力部は、入力信号の誤り発生率より乱数データが小さい場合、生成テストベクタデータを出力し、入力信号の誤り発生率より乱数データが大きい場合、オリジナルテストベクタデータを出力するというものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】２００８−９７５０４号公報
【特許文献２】２００９−１１０４１７号公報
【特許文献３】２０１０−２０３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の通り、ベクタについては上記のように適正化する装置が存在しているものの、重複記述を削減する観点からのものはなかった。しかしながら、ベクタは人手によって作成される場合がほとんどであり、最初に作成したベクタに変更を加えてより効率的にディジタル検証を行う観点からのベクタに関する技術提供はなされておらず、極めて不便なものであった。
【００１０】
本発明はこのようなディジタル検証における問題点を解決せんとしてなされたもので、その目的は、重複記述を削減して新たな効率的な複数のベクタを作成することへつながるベクタ適正化装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明に係るベクタ適正化装置は、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせる複数のベクタを入力して検証動作を実行させて複数の前記ベクタに対応するログを得るログ収集手段と、複数の前記ベクタに対応するログを検査して重複するシーケンスを検出する重複シーケンス検出手段と、前記重複シーケンス検出手段により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行う警告表示処理手段とを具備することを特徴とする。
【００１２】
本発明に係るベクタ適正化装置では、前記重複するシーケンスが存在する場合に重複するシーケンスの記述を削除する重複シーケンス削除手段を備えることを特徴とする。
【００１３】
本発明に係るベクタ適正化装置では、前記重複シーケンス削除手段は、前記重複するシーケンスが存在する場合に時間が最も早い重複するシーケンス記述を残して削除する。
【００１４】
本発明に係るベクタ適正化装置では前記警告表示処理手段は、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して警告表示することを特徴とする。
【００１５】
本発明に係るベクタ適正化装置では、前記警告表示処理手段は、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して、削除するシーケンスの記述の指示を求める警告表示を行い、削除手段は、前記指示に基づき削除を行うことを特徴とする。
【００１６】
本発明に係るベクタ適正化装置では、前記重複シーケンス検出手段は、前記ステートマシンのステート変化が同一のログを見つけて重複のシーケンスであると判断することを特徴とする。
【００１７】
本発明に係るベクタ適正化装置では前記重複シーケンス検出手段は、前記ステートマシンの所定信号の変化を一定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断することを特徴とする。
【００１８】
本発明に係るベクタ適正化装置では、前記重複シーケンス検出手段は、前記ステートマシンの所定信号の変化繰り返しが所定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断することを特徴とする。
【００１９】
本発明に係るベクタ適正化用プログラムは、コンピュータを、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせる複数のベクタを入力して検証動作を実行させて複数の前記ベクタに対応するログを得るログ収集手段、複数の前記ベクタに対応するログを検査して重複するシーケンスを検出する重複シーケンス検出手段、前記重複シーケンス検出手段により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行う警告表示処理手段として機能させることを特徴とする。
【００２０】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを更に、前記重複するシーケンスが存在する場合に重複するシーケンスの記述を削除する重複シーケンス削除手段として機能させることを特徴とする。
【００２１】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記重複シーケンス削除手段として、前記重複するシーケンスが存在する場合に時間が最も早い重複するシーケンス記述を残して削除するように機能させることを特徴とする。
【００２２】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記警告表示処理手段として、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して警告表示するように機能させることを特徴とする。
【００２３】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記警告表示処理手段として、重複するシーケンスの記述と、前記重複するベクタの識別情報とを表示して、削除するシーケンスの記述の指示を求める警告表示を行うように機能させ、前記コンピュータを削除手段として、前記指示に基づき削除を行うように機能させることを特徴とする。
【００２４】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンのステート変化が同一のログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする。
【００２５】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンの所定信号の変化を一定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする。
【００２６】
本発明に係るベクタ適正化用プログラムでは、前記コンピュータを前記重複シーケンス検出手段として、前記ステートマシンの所定信号の変化繰り返しが所定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断するように機能させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、重複記述を削減して新たな効率的な複数のベクタを作成することを可能とするという効果を奏する。
【図面の簡単な説明】
【００２８】
【図１】本発明に係るベクタ適正化装置の第１の実施形態を示すブロック図。
【図２】本発明に係るベクタ適正化装置の実施形態において、１つ目のベクタを実行して得られるログを示す図。
【図３】本発明に係るベクタ適正化装置の実施形態において、２つ目のベクタを実行して得られるログを示す図。
【図４】本発明に係るベクタ適正化装置の第２の実施形態を示すブロック図。
【図５】本発明に係るベクタ適正化装置の第３の実施形態を示すブロック図。
【発明を実施するための形態】
【００２９】
以下添付図面を参照して、本発明に係るベクタ適正化装置及びベクタ適正化用プログラムの実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。本実施形態では、ステートマシンの動作を検証するディジタル検証装置１−１、１−２、・・・、１−Ｎを用いる。ディジタル検証装置１−１、１−２、・・・、１−Ｎは、シミュレータにより構成することができる。ディジタル検証装置１−１、１−２、・・・、１−Ｎは、Ｎ台のコンピュータシステムにより構成することもでき、また、１台のコンピュータ内に設けることもできる。
【００３０】
ディジタル検証装置１−１には、ベクタ２−１を入力し、ディジタル検証装置１−２には、ベクタ２−２を入力し、・・・・、ディジタル検証装置１−Ｎには、ベクタ２−Ｎを入力する。ベクタ２−１、２−２、・・・、２−Ｎは、検査対象の回路に入力される入力信号を記述したファイルであり、検証カテゴリが異なるごとに作成されているものとすることができる。ベクタ２−１、２−２、・・・、２−Ｎは、データベース２３に記憶されているものを用いることができる。
【００３１】
ディジタル検証装置１−１、１−２、・・・、１−Ｎに、それぞれベクタ２−１、２−２、・・・、２−Ｎを入力して実行させることにより、ディジタル検証装置１−１、１−２、・・・、１−Ｎからはログ（ｌｏｇ）３−１、３−２、・・・、３−Ｎが出力される。
【００３２】
ログ３−１、３−２、・・・、３−Ｎは、本実施形態に係るベクタ生成装置１０のログ収集手段１１によって収集される。ログ収集手段１１は、１つとすることができるが、ログ３−１、３−２、・・・、３−Ｎに対応してＮ個であっても良い。
【００３３】
ログ収集手段１１の出力は重複シーケンス検出手段１２へ送られる。重複シーケンス検出手段１２は、複数の上記ベクタに対応するログ３−１、３−２、・・・、３−Ｎを検査して重複するシーケンスを検出するものである。ベクタ２−１のログ３−１が図２に示すようであり、ベクタ２−２のログ３−２が図３に示すようであるとする。
【００３４】
ログは、ステートマシンが変化したタイミングでその更新が行われるものである。図２と図３において、P＿A＿CSは変化前のA＿CSの状態（present）を示すものであり、N＿A＿CSは変化後のA＿CSの状態（next）を示すものである。図２の例ではtime=1000nsでA＿CSのステートがIDLE＿sからACTIVE＿sに変化したことを示している。また、time=2000nsではtime=1000nsのnextステートがpresentとなり、B＿CSがIDLE＿sからACTIVE＿sに変化したこと示している。このようにステートマシンが変化するたびに、ログが更新される。ベクタはそれぞれ異なる動作をしているため、図２と図３の出力のフォーマットは同じであるが、中身が異なっている。
【００３５】
重複シーケンス検出手段１２は、上記ステートマシンのステート変化が同一のログを見つけて重複のシーケンスであると判断する。具体的には、図２のtime=1000nsの情報Ｘと図３のtime=4000nsの情報Ｙは同じである。この場合、検証対象となるＲＴＬのステート状態が同じであれば、ベクタのシーケンスの記述が同じで重複のシーケンスであることが検出できる。どちらか一つでカバーされれば問題ないことに基づき、削除するための前段階の処理である。重複ステートはディジタル検証装置へ入力するベクタが多ければ多いほど同じ情報が多数あるのでこういった重複ステートに対応するシーケンスを削除すれば無駄のないベクタを作成することができる。
【００３６】
上記重複シーケンス検出手段１２は、上記ステートマシンの所定信号の変化を一定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断する。この変化を、一定時間内変化と呼ぶことにする。即ち、ログが更新されて行く１つの時間におけるログ（例えば、time=1000nsからtime=2000nsまでのログ）の内容ではなく、連続する複数の時間におけるログの内容において、所定信号の変化パターンが一定時間内において行われている場合には、一定時間内変化が検出される。この一定時間内変化の内容が同じであれば、一定時間内変化の重複シーケンスが検出される。
【００３７】
更に、上記重複シーケンス検出手段１２は、上記ステートマシンの所定信号の変化繰り返しが所定時間内において行われていることに対応するログを見つけて重複のシーケンスであると判断する。この変化を、繰り返し変化と呼ぶことにする。繰り返し変化は、ログが更新されて行く１つの時間におけるログ（例えば、time=1000nsからtime=2000nsまでのログ）の内容ではなく、連続する複数の時間におけるログの内容において、所定信号の変化繰り返しが所定時間の周期で行われる場合に、検出される。このように、本実施形態では、ログ内のステートに基づき複数ベクタ間の重複シーケンスを検出するものである。
【００３８】
上記重複シーケンス検出手段１２は、重複するシーケンスを検出するにあたって、重複するシーケンスの記述（テキスト）と、上記重複するベクタの識別情報（当該ベクタに割り当てられているファイル名などのユニークな情報）とを検出するものとする。この情報を検出情報と呼ぶ。
【００３９】
上記重複シーケンス検出手段１２が検出した検出情報は、警告表示処理手段１３へ送られる。警告表示処理手段１３は、上記重複シーケンス検出手段１２により重複するシーケンスが検出された場合に、重複するシーケンスが存在することを示す警告表示を行うものである。表示は、ＬＥＤやＬＣＤ等のディスプレイ装置などである表示部２２において行われる。表示内容は、重複が生じていることの警告文、重複するシーケンスの記述と、上記重複するベクタの識別情報とすることができる。なお、重複するシーケンスの記述に変えて、該当ベクタ内における位置情報（何行目）などであっても良い。
【００４０】
上記の警告表示は、オペレータが見て確認することになり、コンピュータ部２４と入力部２１用いて所望の重複シーケンスを削除することができる。即ち、入力部２１からコマンド等を与えてデータベース２３から該当するベクタをコンピュータ部２４へ読み出し、警告表示の内容を参照してオペレータが削除し、新規ベクタとしてデータベース２３へ登録しておくことが可能である。なお、コンピュータ部２４、入力部２１と、本実施形態に係るベクタ適正化装置は一つのコンピュータシステムによって構成することができる。
【００４１】
第２の実施形態に係るベクタ適正化装置の構成を図４に示す。本実施形態では、第１の実施形態の構成に対し、重複シーケンス削除手段１４を備える。この重複シーケンス削除手段１４は、重複するシーケンスが存在する場合に重複するシーケンスの記述を削除する重複シーケンス削除手段を備えるものである。
【００４２】
具体的には上記重複するシーケンスが存在する場合に時間が最も早い重複するシーケンス記述を残して削除するものである。既述の通り、図２のtime=1000nsの情報と図２のtime=4000nsの情報は同じであり、ベクタ２−１とベクタ２−２には、シーケンスの記述が同じである重複のシーケンスが存在することが重複シーケンス検出手段１２により検出されている。そこで、時間を検出すると、ベクタ２−１ではtime=1000ns、べクタ２−２ではtime=4000nsであるから、ベクタ２−１の記述を残してベクタ２−２の重複シーケンスの記述を削除する。削除して新しくなった新規ベクタをデータベース２３へ登録する。なお、３つ以上の重複の場合にも、時間が最も早い重複するシーケンス記述を残して削除する。
【００４３】
図５に、第３の実施形態の構成図を示す。本実施形態では、警告表示処理手段１３は、重複するシーケンスの記述と、上記重複するベクタの識別情報とを表示して、削除するシーケンスの記述の指示を求める警告表示を行う。これに対する応答は、入力部２１から行う。応答としては、どのベクタの重複シーケンスを削除するか指示しないで、単に、「重複を削除する」ことを指示することができる。係る指示が与えられた場合には、第２の実施形態と同様に時間が最も早い重複するシーケンス記述を残して削除する。
【００４４】
一方、削除するシーケンスの記述の指示が入力されると、重複シーケンス削除手段１４は、上記指示に基づき削除を行う。即ち、上記の指示を行い易いように、重複シーケンスを有するベクタの識別情報とシーケンスの記述を削除候補として表示し、選択入力させるようにしても良い。これによって入力がなされると、重複シーケンス削除手段１４は、入力に係るベクタにおける該当する重複シーケンス記述を削除する。削除して新しくなった新規ベクタをデータベース２３へ登録する。
【００４５】
ディジタル検証装置へ入力するベクタは検証の用途に応じて作成することになるので、ベクタが多ければ多いほど重複シーケンスが多数となるので、こういった重複ステートに基づき重複シーケンスを削除することにより、無駄のないベクタが蓄積されたデータベース２３を作成することができる。
【符号の説明】
【００４６】
１−１〜１−Ｎ  ディジタル検証装置
２−１〜２−Ｎ  ベクタ
３−１〜３−Ｎ  ログ
１１  ログ収集手段
１２  重複シーケンス検出手段
１３  警告表示処理手段
１４  重複シーケンス削除手段
２１  入力部
２２  表示部
２３  データベース
２４  コンピュータ部
【図１】
2019185216.tif 000003
【図２】
2019185216.tif 000004
【図３】
2019185216.tif 000005
【図４】
2019185216.tif 000006
【図５】
2019185216.tif 000007