JP6949440B2 - ベクタ生成装置及びベクタ生成用プログラム - Google Patents
ベクタ生成装置及びベクタ生成用プログラム Download PDFInfo
- Publication number
- JP6949440B2 JP6949440B2 JP2018072480A JP2018072480A JP6949440B2 JP 6949440 B2 JP6949440 B2 JP 6949440B2 JP 2018072480 A JP2018072480 A JP 2018072480A JP 2018072480 A JP2018072480 A JP 2018072480A JP 6949440 B2 JP6949440 B2 JP 6949440B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- interrupt
- state
- sequence
- instruction information
- 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.)
- Active
Links
Images
Description
この発明は、ベクタ生成装置及びベクタ生成用プログラムに関するものである。
ディジタル検証では検証対象となるRTLに対してベクタと呼ばれる入力ファイルを作成して、RTLが正常に動作しているか確認を行う。通常、ベクタは人間が考えて手作業で作成を行っている。ベクタを実行することにより実行ログを得ることができる。
特許文献1には、回路とテストベクタを使用したこれまでの検証手法では、膨大な検証時間が必要で、全てのケースを設計・検証者が考えて検証することは極めて困難である旨が述べられている。そこで、動作命題(プロパティ)と検証対象の論理回路(Device Under Test、以下DUTという)が一致しているかどうかを検証する動作命題検証システムが紹介されている。しかし現状では不十分であるとし、時系列信号値データから人手を介すことなく自動的に動作命題を作成するシステムが開示されている。
また、特許文献2には、従来のハードウェア設計ではまずハードウェアの仕様書を作成し、作成された仕様書に基づきRTL(レジスタ転送レベル、Register Transfer Levelの略)設計を行うことが開示され、つぎに、論理仕様検証を行う旨が記載されている。論理仕様検証では、検証シーケンスと期待値を作成し、論理シミュレーションにてその動作が期待値と一致しているかを確認することが開示されている。
更に、特許文献3には、人手によってテストベクタデータを作成する場合、テストベクタデータの作成に時間と手間を要し、その結果、短い設計期間において十分なテストベクタデータを作成することが極めて困難であるとの開示がなされている。
そのため、特許文献3では、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶し、この記憶されているオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成することが開示されている。更に、検査対象の回路へ入力するテストベクタデータを出力する出力部と、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する誤り発生率記憶部、そして、乱数データを発生する乱数発生部を用いるものである。
これらを用いて、誤り発生率記憶部に記憶された入力信号の誤り発生率と乱数データとを比較し、ベクタ出力部は、入力信号の誤り発生率より乱数データが小さい場合、生成テストベクタデータを出力し、入力信号の誤り発生率より乱数データが大きい場合、オリジナルテストベクタデータを出力するというものである。
上記の通り、ベクタについては生成する装置がほとんどなく、まずは人手によるものであった。しかも、人手による場合にあっても、最初に作成したベクタに変更を加えて新たなベクタにする場合に、特に割込みシーケンスを追加して新たなベクタを作成する場合にも、必要な位置へ割込みシーケンスを設定することができず、極めて不便なものであった。
本発明はこのようなディジタル検証における問題点を解決せんとしてなされたもので、その目的は、特に割込みシーケンスを追加して新たなベクタを作成することが可能なベクタ生成装置を提供することである。
本発明に係るベクタ生成装置は、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段と、割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段と、前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段とを具備することを特徴とする。
本発明に係るベクタ生成装置では、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段は、複数のベクタに対しベクタ毎に処理を行うことを特徴とする。
本発明に係るベクタ生成装置では、割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段が備えられていることを特徴とする。
本発明に係るベクタ生成装置では、割込みシーケンスの種類が再開系シーケンスである場合に、前記素子状態処理手段は、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させることを特徴とする。
本発明に係るベクタ生成装置では、割込みシーケンスの種類が中断系シーケンスである場合に、前記素子状態処理手段は、素子の各状態をリセットする記述を発生させることを特徴とする。
本発明に係るベクタ生成用プログラムは、コンピュータを、ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段、割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段、前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段、として機能させることを特徴とする。
本発明に係るベクタ生成用プログラムでは、前記コンピュータを、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段として、複数のベクタに対しベクタ毎に処理を行うように機能させることを特徴とする。
本発明に係るベクタ生成用プログラムでは、前記コンピュータを更に、割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段として機能させることを特徴とする。
本発明に係るベクタ生成用プログラムでは、割込みシーケンスの種類が再開系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させるように機能させることを特徴とする。
本発明に係るベクタ生成用プログラムでは、割込みシーケンスの種類が中断系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態をリセットする記述を発生させるように機能させることを特徴とする。
本発明によれば、特に割込みシーケンスを追加して新たなベクタを作成することが可能となるという効果を奏する。
以下添付図面を参照して、本発明に係るベクタ生成装置及びベクタ生成用プログラムの実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。本実施形態では、ステートマシンの動作を検証するディジタル検証装置1−1、1−2、・・・、1−Nを用いる。ディジタル検証装置1−1、1−2、・・・、1−Nは、シミュレータにより構成することができる。ディジタル検証装置1−1、1−2、・・・、1−Nは、N台のコンピュータシステムにより構成することもでき、また、1台のコンピュータ内に設けることもできる。
ディジタル検証装置1−1には、ベクタ2−1を入力し、ディジタル検証装置1−2には、ベクタ2−2を入力し、・・・・、ディジタル検証装置1−Nには、ベクタ2−Nを入力する。ベクタ2−1、2−2、・・・、2−Nは、検査対象の回路に入力される入力信号を記述したファイルであり、検証カテゴリが異なるごとに作成されているものとすることができる。
ディジタル検証装置1−1、1−2、・・・、1−Nに、それぞれベクタ2−1、2−2、・・・、2−Nを入力して実行させることにより、ディジタル検証装置1−1、1−2、・・・、1−Nからはログ(log)3−1、3−2、・・・、3−Nが出力される。
ログ3−1、3−2、・・・、3−Nは、本実施形態に係るベクタ生成装置のログ収集手段11によって収集される。ログ収集手段11は、1つとすることができるが、ログ3−1、3−2、・・・、3−Nに対応してN個であっても良い。
ログ収集手段11の出力は割込指示情報発生手段12へ送られる。割込指示情報発生手段12は、コマンド等の入力部21から与えられる割込みシーケンスの挿入要求に応じて、上記ログに記述される上記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる。割込指示情報は、割込シーケンスへ進むべき時間(1つのベクタのスタートからの時間)情報と、「割込シーケンスへ進むこと」を示す「interrupt=on」の記述により構成される。なお、割込シーケンスへ進むべき時間(1つのベクタのスタートからの時間)情報は、ログはステートが変化したときに出力され、そのときの時間(ベクタのスタートからの時間)がログに付されるため、適切に得ることができる。
割込指示情報発生手段12の出力は、ベクタ生成手段13へ送られる。ベクタ生成手段13は、上記ベクタに上記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するものである。つまり、割込シーケンスへ進むべき時間(1つのベクタのスタートからの時間)以降に所要のシーケンス記述を含ませて、新たなベクタとする。新規ベクタ14は、表示やプリントなどにより出力され、また、記憶される。記憶された新規ベクタ14は、ディジタル検証装置1−1、1−2、・・・、1−Nのいずれかに入力されてディジタル検証がなされる。
図2に示される第2の実施形態では、上記において割込みシーケンスには、種類があり、割込みシーケンスの種類に応じて、上記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段15が備えられている。素子状態処理手段15は、割込みシーケンスの種類が再開系シーケンスである場合に、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させる。
一方、割込みシーケンスの種類が中断系シーケンスである場合に、上記素子状態処理手段15は、素子の各状態をリセットする記述を発生させる。
以上のように構成されたべクタ生成装置は、図3のフローチャートに対応するプログラムを実行するコンピュータにより構成されるので、このフローチャートを参照して動作説明を行う。まず、完成したベクタをディジタル検証装置へ入力し実行させて、ログを出力させる(S11)。次に、発生したログを収集する(S12)。
次に、割込みシーケンスの挿入要求を取り込む(S13)。割込みシーケンスの挿入要求に応じて割込指示情報を発生させる(S14)。図4には、割込指示情報が設定されたベクタのリストを示す。この例では、(1)から(3)は、ベクタ1について設定された割込指示情報である。それぞれベクタ1による動作から、1000nsの時に、2000nsの時に、3000nsの時に、割込シーケンスへ進むべきことが、設定されている。また、(4)から(5)は、ベクタ2について設定された割込指示情報である。それぞれベクタ2による動作から、5000nsの時に、6000nsの時に、割込シーケンスへ進むべきことが、設定されている。
次に、割込みシーケンスの挿入要求の内容を解析し(S15)、割込みシーケンスの種類が再開系シーケンスであるか中断系シーケンスであるのかを検出する(S16)。ステップS16において再開系シーケンスであると判定されると、各素子の現在の状態を保持する記述と、割込み終了後に保持内容に各素子の状態を戻す旨の記述を行う(S17)。再開系シーケンスであると例えば、図5(a)に示す如くになる。
一方、ステップS16において中断系シーケンスであると判定されると、素子の各状態をリセットする記述を行う(S18)。中断系シーケンスであると例えば、図6(a)に示す如くになる。
ステップS17またはステップS18に次いで、割込指示情報に沿って割込みシーケンスを設定して(S19)、エンドとなる。再開系シーケンスの場合には図5(b)に示す如くの新しいベクタが生成され、中断系シーケンスの場合には図6(b)に示す如くの新しいベクタが生成される。なお、割込みシーケンスについては、予め作成されており、これを用いるものとしても良い。
以上のように本実施形態によれば、特に割込みシーケンスを所望の位置に追加して新たなベクタを作成することが可能となる。これに対し、従来は割込みシーケンスは、「ステートマシンが次に変化した位置において割込みシーケンスを実行」というように記述しておくような手法しかなく、割込みシーケンスの位置を指定することはできなかった。これに対し、本実施例はログの情報を用いて所望の位置に特に割込みシーケンスを設定したベクタを生成することができる。
本実施形態によって、ログを収集したベクタでは、図7に示すような信号の動きになるものとする。割込指示情報として、ログからinterrupt=onとtime=2000ns得て、これを渡すことでB_CSがIDLE_sからACTIVE_sに切り替わるタイミングを狙って割り込み処理シーケンスを実行することができる。具体的には図8のようにtime=2000ns後に割り込みシーケンス処理を挿入するベクタA(vectorA)を生成することができる。これは既存のベクタ1(vector1)とは異なるベクタであり、他の検証カテゴリで使用できるベクタA(vectorA)を自動生成することができる。
1−1〜1−N ディジタル検証装置
2−1〜2−N ベクタ
3−1〜3−N ログ
11 ログ収集手段
12 割込指示情報発生手段
13 ベクタ生成手段
14 新規ベクタ
15 素子状態処理手段
21 入力部
2−1〜2−N ベクタ
3−1〜3−N ログ
11 ログ収集手段
12 割込指示情報発生手段
13 ベクタ生成手段
14 新規ベクタ
15 素子状態処理手段
21 入力部
Claims (10)
- ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段と、
割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段と、
前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段と
を具備することを特徴とするベクタ生成装置。 - 前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段は、複数のベクタに対しベクタ毎に処理を行うことを特徴とする請求項1に記載のベクタ生成装置。
- 割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段が備えられていることを特徴とする請求項1または2に記載のベクタ生成装置。
- 割込みシーケンスの種類が再開系シーケンスである場合に、前記素子状態処理手段は、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させることを特徴とする請求項3に記載のベクタ生成装置。
- 割込みシーケンスの種類が中断系シーケンスである場合に、前記素子状態処理手段は、素子の各状態をリセットする記述を発生させることを特徴とする請求項3または4に記載のベクタ生成装置。
- コンピュータを、
ステートマシンの動作を検証するディジタル検証装置へ動作検証動作を行わせるベクタを入力して検証動作を実行させて前記ベクタに対応するログを得るログ収集手段、
割込みシーケンスの挿入要求に応じて、前記ログに記述される前記ステートマシンのステート変化の時に、割込シーケンスへ進む割込指示情報を発生させる割込指示情報発生手段、
前記ベクタに前記割込指示情報を設定して所要のシーケンス記述を含ませた新たなベクタを生成するベクタ生成手段、
として機能させることを特徴とするベクタ生成用プログラム。 - 前記コンピュータを、前記ログ収集手段と前記割込指示情報発生手段と前記ベクタ生成手段として、複数のベクタに対しベクタ毎に処理を行うように機能させることを特徴とする請求項6に記載のベクタ生成用プログラム。
- 前記コンピュータを更に、
割込みシーケンスの種類に応じて、前記ステートマシンの各素子の状態に関する処理の記述を作成する素子状態処理手段として機能させることを特徴とする請求項6または7に記載のベクタ生成用プログラム。 - 割込みシーケンスの種類が再開系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態を保存する記述と、割込みシーケンスの終了後に、保存した状態に素子の状態を戻す記述を発生させるように機能させることを特徴とする請求項8に記載のベクタ生成用プログラム。
- 割込みシーケンスの種類が中断系シーケンスである場合に、前記コンピュータを前記素子状態処理手段として、素子の各状態をリセットする記述を発生させるように機能させることを特徴とする請求項8または9に記載のベクタ生成用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018072480A JP6949440B2 (ja) | 2018-04-04 | 2018-04-04 | ベクタ生成装置及びベクタ生成用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018072480A JP6949440B2 (ja) | 2018-04-04 | 2018-04-04 | ベクタ生成装置及びベクタ生成用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185215A JP2019185215A (ja) | 2019-10-24 |
JP6949440B2 true JP6949440B2 (ja) | 2021-10-13 |
Family
ID=68341204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018072480A Active JP6949440B2 (ja) | 2018-04-04 | 2018-04-04 | ベクタ生成装置及びベクタ生成用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6949440B2 (ja) |
-
2018
- 2018-04-04 JP JP2018072480A patent/JP6949440B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019185215A (ja) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9047260B2 (en) | Model-based testing of a graphical user interface | |
US5491639A (en) | Procedure for verifying data-processing systems | |
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
JP2000207440A (ja) | 半導体集積回路の設計検証装置、方法及び記憶媒体 | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
US9218273B2 (en) | Automatic generation of a resource reconfiguring test | |
CN112597718B (zh) | 集成电路设计的验证方法、验证装置以及存储介质 | |
CN109783837A (zh) | 仿真设备、仿真系统、仿真方法和仿真程序 | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
JP2010267209A (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
JP6155050B2 (ja) | 情報処理装置の論理検証方法及びプログラム | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US11226370B1 (en) | Recoverable exceptions generation and handling for post-silicon validation | |
US8352234B2 (en) | Model generation based on a constraint and an initial model | |
US11023357B1 (en) | Method and system for sequential equivalence checking | |
JP6912104B2 (ja) | 試験装置、試験方法及びコンピュータプログラム | |
JP2828590B2 (ja) | マイクロプログラム検証方法 | |
US7650579B2 (en) | Model correspondence method and device | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
US8930759B2 (en) | Stream generation | |
JP7343197B2 (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
Bandyopadhyay et al. | Validating SPARK: high level synthesis compiler | |
JP6331400B2 (ja) | 検証方法、検証装置および検証プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200923 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6949440 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |