JP4652663B2 - テスト生成のためにビットワイズ制約条件を提供する方法 - Google Patents

テスト生成のためにビットワイズ制約条件を提供する方法 Download PDF

Info

Publication number
JP4652663B2
JP4652663B2 JP2002523158A JP2002523158A JP4652663B2 JP 4652663 B2 JP4652663 B2 JP 4652663B2 JP 2002523158 A JP2002523158 A JP 2002523158A JP 2002523158 A JP2002523158 A JP 2002523158A JP 4652663 B2 JP4652663 B2 JP 4652663B2
Authority
JP
Japan
Prior art keywords
constraint
bitwise
constraints
range
arithmetic
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.)
Expired - Fee Related
Application number
JP2002523158A
Other languages
English (en)
Other versions
JP2004507833A (ja
Inventor
ヴィタリー ラグーン,
ガイ バルッチ,
Original Assignee
ベリシティ リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ベリシティ リミテッド filed Critical ベリシティ リミテッド
Publication of JP2004507833A publication Critical patent/JP2004507833A/ja
Application granted granted Critical
Publication of JP4652663B2 publication Critical patent/JP4652663B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Traffic Control Systems (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Description

【0001】
発明の分野
本発明は、テスト生成のためにビットワイズ制約条件を提供する方法に関し、特に、Specman(商標)関数型プログラミング環境(米国カリフォルニア州マウンテンビュー、ベリシティ・デザイン社)によって提供されるようなテスト生成コード言語が有効に動作するそのような方法に関する。
【0002】
発明の背景
設計検証は、集積回路、基板、またはシステムレベルのアーキテクチャが、そのデバイスのアーキテクチャの仕様によって定められた要求事項を厳密に実現するかどうかを決定するプロセスである。テスト中のデバイス(DUT)の設計検証は実際のデバイスに、またはデバイスのシミュレーションモデルに実行することができる。単に説明のためであって、いかようにも限定する意図なく、以下の議論はデバイスのシミュレーションモデルに対して実行されるテストを中心にしている。
【0003】
様々な型のデバイスおよびデバイスアーキテクチャの設計が複雑になるにつれて、設計エラーの可能性が増大する。しかし、デバイスの設計のシミュレーションモデルも作成およびテストがより複雑になるので、設計検証もいっそう難しく、かつ時間がかかるようになっている。
【0004】
設計検証の問題は、多種多様なデバイスおよびデバイスアーキテクチャの検証およびテストに有用である、広く汎用化可能なツールの欠如によっていっそう悪化する。典型的な背景技術の検証方法は往々にして、特定の設計を有する特定のデバイスに限定されてきたので、シミュレーションモデル用のそのような検証方法を準備しかつ実現するステップを、新しいデバイス毎に実行しなければならない。
【0005】
デバイスのシミュレーションモデルを通して設計を検証するプロセスは、VerilogおよびVHDLなどのハードウェア記述言語の可用性によって促進される。これらの言語は、ゲートまたはトランジスタより高レベルの抽象化でハードウェアを記述するように設計されている。結果として生じるデバイスのシミュレーションモデルは、回路の入力に印加される2進数の文字列であるテストベクトルの形の入力刺激を受け取ることができる。次いでシミュレーションモデルは結果を出し、それはデバイスの特定の設計に期待される結果に照らして検査される。しかし、これらの言語は一般的に実際の検証用に設計されたものではない。したがって検証エンジニアは、デバイスの設計検証を実行するために、これらのハードウェア記述言語によって記述されたモデルとインタフェースするために追加プログラミングコードを書かなければならない。
【0006】
テスト環境の例として静的および動的テスト環境がある。静的テスト環境は、事前計算されたテストベクトルをDUTのシミュレーションモデルに送り込み、かつ/またはシミュレーションモデルの動作後に結果を検討する。加えて、静的テスト環境を使用して、シミュレーションモデルから出力された結果を検討する場合には、テストが完了する後まで、テストの誤りは検出されない。その結果、誤り箇所のデバイスの内部状態は決定できず、そのような内部状態を決定するためには、シミュレーションを再び作動させる必要がある。この手順はシミュレーションサイクルを浪費し、特に長いテスト中にかなりの時間を費やすことが必要になるおそれがある。
【0007】
より有用かつ効率的な型のテストが動的テスト環境である。この型の環境の場合、DUTのモデルのシミュレーションと同時に、かつシミュレートしたデバイスの状態フィードバックにより潜在的に制御しながら、テストベクトルを生成するための1セットのプログラミング命令が書かれる。この手順により、有向無作為生成を実行し、かつデバイスのシミュレーションモデルの状態に対してテスト自体の間に明らかになった効果に反応することが可能になる。したがって、動的テスト生成は明らかに設計検証に対し多くの利点を有する。
【0008】
テスト環境の領域内で、静的および動的テスト環境はどちらも、束縛ベクトルまたは事前生成入力によってのみ実現できる。しかし、より強力かつより洗練された実現はテスト生成を使用して入力刺激を生成する。
【0009】
そのようなテストジェネレータの一例が、あたかも全文がここに記載されているかのように参照によってここに組み込む1998年2月6日出願の米国特許出願第09/020792号に開示されている。このテスト生成手続きは、VerilogおよびVHDLのようなハードウェア記述言語と対話し、それらより上位に位置する。該テスト生成手続きは、ハードウェア指向検証特定的オブジェクト指向プログラミング言語で書かれる。この言語は様々なテストを書くために使用され、次いでそれはテストジェネレータモジュールによってデバイス検証テストを自動的に作成するために使用される。この言語により多種多様な設計環境をテストし、検証することができる。したがって開示された手続きは汎用化可能であり、しかもエンジニアがプログラムしかつデバッグするのが簡単である。
【0010】
開示された言語は、モデルによってシミュレートされるデバイスの設計をより充分かつ効率的に記述するためのストラクトなど多数の要素を特徴とする。残念ながら、開示された言語および結果として得られるテスト生成環境は、ビットワイズ制約条件を使用する能力を含まない。
【0011】
ビットワイズ制約条件は「ビットスライス制約条件」と呼ぶこともできる。レジスタなどのハードウェアエンティティ、およびコンピュータ命令ストリームなどの入力データのモデリングでは、変数のある部分セグメントのプロパティを表現する必要がしばしばある。一例として、望まれるプロパティがオペランドフィールドを零の値に維持することである、16ビットの演算コードフィールドおよび16ビットのオペランドフィールドから成る32ビット幅のコンピュータ命令語がある。
【0012】
上述の米国特許出願第09/020792号は、変数の値を丸ごと、すなわち上の例では全32ビットを考慮する算術制約条件を適用する方法を開示している。ビットワイズ制約条件は変数の任意のサブフィールドを制約し、変数にビットワイズ演算を実行する能力を追加する。ビットワイズ制約条件は、次のビット演算の少なくとも1つが用いられる算術関係と定義することができる。
[:](スライス)
|(ビットワイズ論理和)
&(ビットワイズ論理積)
∧(ビットワイズ排他的論理和)
〜(ビットワイズ否定)
<<(左シフト)
>>(右シフト)
次式はそのようなビットワイズ制約条件の一例である。
keep x[2:0] == 0b101
現在利用可能なテスト生成用のコード言語は、演算子“[:]”を関数として計算するので、上の例では、非制約x変数が最初に生成される。次に“x[2:0]”が関数として計算され、その後、この計算された関数の値が“0b101”と比較される。そのようなプロセスは結果的にしばしば不正確な計算となり、したがって不正確な制約条件となる。より有用な解決策は、より柔軟な生成を通してそのようなビットワイズ制約条件を正確に処理することであろう。残念ながら、そのような解決策は現在得られていない。
【0013】
発明の概要
背景技術は、テスト生成コード言語用のビットワイズ制約条件をこれらの制約条件が正確かつ柔軟に処理されるように提供する方法を教示あるいは提案していない。
【0014】
本発明の方法は、これらの制約条件を例えばeコードなどのテスト生成言語で表現することを可能にする言語構造を提供することにより、ビットワイズまたはビットスライス制約条件をテスト生成プロセスの一部として提供することを可能にすることによって、背景技術のこれらの欠如を克服する。そうすれば、そのようなビットワイズ制約条件のための言語構造はより柔軟に処理されるので、テスト生成プロセスは制約条件を含む式を関数として硬直的に「解こう」としなくなる。したがって、そのような構造における制約条件の伝達は、必ずしも左から右に伝搬する必要がなく、代わりに多方向的に生成される。該言語構造は、“[:]”、“|”、“&”、“∧”、“〜”、“>>”および“<<”などの演算子に特に適している。
【0015】
本発明では、テスト生成用のビットワイズ制約条件を提供する方法を提供する。該方法は、ビットワイズ制約条件を表現するための言語構造を提供するステップであって、前記言語構造が複数の制約条件パラメータおよび少なくとも1つの演算子を含み、前記制約条件パラメータが少なくとも1つの値を含む区間(interval)に制約され、前記区間が区間限界(interval limits)を有して成るステップと、情報を双方向に伝搬して、前記制約条件パラメータの区間限界を決定するステップと、制約条件パラメータのテスト値を生成するステップとを含む。
【0016】
本発明の方法は、データプロセッサによって実行される複数の命令として記述することもできるので、本発明の方法はハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せとして実現することができる。本発明の場合、ソフトウェアアプリケーションは実質的にどの適切なプログラミング言語でも書くことができ、それは当該技術の通常の熟練者が容易に選択することができる。選択されるプログラミング言語は、ソフトウェアアプリケーションが実行されるコンピューティングプラットフォームと互換可能でなければならない。適切なプログラミング言語の例としてC、C++、およびJava(登録商標)があるが、それらに限定されない。
【0017】
図面の簡略説明
本発明をここで、単なる例として、添付の図面に関連して説明する。
図1は、本発明に係る例示的システムを示す略ブロック図である。
【0018】
好適な実施形態の説明
本発明の方法は、ビットワイズまたはビットスライス制約条件を例えばeコードなどのテスト生成言語で表現することを可能にする言語構造を提供することにより、これらの制約条件をテスト生成プロセスの一部として提供することを可能にする。そうすると、そのようなビットワイズ制約条件のための言語構造はより柔軟に処理されるので、テスト生成プロセスは制約条件を含む式を関数として硬直的に「解こう」としなくなる。したがって、そのような構造における制約条件の伝搬は必ずしも左から右に進む必要がなく、代わりに多方向的に生成されることが好ましい。該言語構造は、“[:]”、“|”、“&”、“∧”、“〜”、“>>”および“<<”などの演算子に特に適している。
【0019】
この言語構造は、ビット制約条件、例えば「keep x[5:8]==0」を表現する構文形式であり、算術制約条件およびビット制約条件を持つ単純な計算をサポートしかつ本発明に係るビット表現を持つ範囲リストである計算構造とは区別すべきであることに注意する必要がある。計算構造は、算術制約条件およびビット制約条件を同時に、または少なくとも並行して解くことを可能にすることが好ましい。
【0020】
本発明の方法では、ビットワイズ制約条件のための計算構造を範囲リストに基づいて構成することが好ましい。各範囲リストは少なくとも1つの区間を含むが、任意選択的に複数の区間を含むことができ、その場合、非制約パラメータを表わす範囲リストは、全ての可能な値を含む1つの区間を含む。範囲リスト交差の処理中に1つまたはそれ以上の区間が無効になることがある。次いで範囲リストは、各々が1ビットの生成項目に対応する状態値のベクトルにより延長される。範囲リスト表現は可能な値を表わす算術範囲である。次いでその範囲の各算術演算値は、数を状態値のベクトルからの値に変換することによって、ビット制約条件に従ってビットにマップすることが好ましい。
【0021】
ベクトルの各要素は4つの状態値を持つことが好ましい。状態値は対応するビットの次の4つの可能な状態を表わすことがより好ましい。
0−ビットは確実に0である。
1−ビットは確実に1である。
Figure 0004652663
例えば、ビット制約条件がビットを強制的に0または1にする場合には、対応する表現は、ビットを0または1に設定して行なわれる。ビットの値に制約条件が
Figure 0004652663
に設定される(正当な値は不可能)。計算構造自体が間隔表現およびビットワイズ表現の両方を含むことが好ましい。
【0022】
次いで、2つの異なる型の制約条件を好ましくは同時に表現するために、この計算構造を使用することができる。第1型の制約条件は前に定義した演算子を有する制約条件を含み、それはビット制約条件である。第2型の制約条件は、「ビットワイズ」情報の伝搬を通して第1型の制約条件に関係付けられる制約条件を含む。第2型の制約条件は、範囲リストをビットワイズ値に変換することによって計算されることが好ましく、それは前述したビット制約条件に従ってベクトルの上記状態の1つを取る。これらの異なる型の制約条件は、ビットワイズ制約条件構造内で双方向に伝搬されることが好ましい。言い換えると、任意選択的に、かつ好ましくは、算術制約条件を導出することのビットワイズ制約条件に対する効果と同様に、逆の効果も評価される。
【0023】
両型の制約条件に関係する構造の同時の導出を助けるために、両型の制約条件の組合せを使用することが好ましい。テスト生成は任意選択的にビット制約条件および算術制約条件の両方を特徴として含むことができるので、これらの2つの異なる構造の組合せは、より効率的な導出のプロセスを提供する。
【0024】
例えば、両型の構造を同時に導出できなければ必要になる、ビット制約条件の範囲リスト表現への変換は結果的に無限の数の範囲を生じるおそれがある。同様に、算術制約条件はビットワイズ値によって効率的に表現することができないので、範囲リスト計算構造が利用可能でなかった場合、ビット制約条件だけでは両型の構造を画定するのに有効に働かない。
【0025】
本発明の好適な実施形態では、ビットワイズ制約条件は、より好ましくは2つの異なる型の制約条件を同時にまたは少なくとも並行して処理することを通して最初に簡約化することによって生成される。簡約化のステップは、制約条件のパラメータの1つに対する新しい値を計算し、次いでビットワイズ&を使用してパラメータの値の範囲にこの新しい値を交差させることによって実行される。例えば、2つの範囲リストと対応するビットワイズ情報があると仮定して、ビット制約条件および算術制約条件の意味/効果を依然として維持しながら、任意選択的に、かつ好ましくは、範囲リストおよびビット情報の合併を実行することができる。
【0026】
より好ましくは、0であるべき区間内のこれらのビットは区間の最大値によって示される。
【0027】
ビット制約条件構造による値生成のプロセス中に、区間表現の各区間の解の数が決定されることが好ましい。次いで区間はその重みに従って無作為に選択される。最後に、選択された区間内から1つの点が選択される。
【0028】
本発明の任意選択的であるが好適な実施形態では、範囲リストに1つまたはそれ以上の不正な値がある場合、無効区間が発生することがある。そのような区間は任意選択的に、かつ好ましくは、他の制約条件の効果を検査することができるだけでなく、無効区間に対する制約条件を、好ましくは並行ビットワイズ構造のビットワイズ制約条件の導出を通して処理することが可能になる。これらの制約条件を導出する際に、無効区間の不正値は除去することによっても解消することができ、それにより無効区間の問題が排除される。区間の限界はこのプロセスを通して変更して例えば不正値を除去することができるので、そのようなプロセスは任意選択的に「区間限界の修正」と呼ぶことができる。任意選択的に無効区間を除去することもできる。
【0029】
本発明に係るシステムおよび方法の原理および動作は、図面および随伴する説明を参照することによりいっそうよく理解することができる。
【0030】
今、図面を参照すると、図1は、本発明に係るテスト生成のための例示的システムを示す略ブロック図である。図示したシステムは、本発明の説明に必要なテスト生成手続きの関数だけを含んでいることに注意されたい。テスト生成手続き全体のより完全な説明は、前に参照によって組み込んだ米国特許出願第09/020792号に見ることができる。また、本発明をシミュレーションモデルの文脈で説明するが、本発明は物理的デバイスの検証にも有用であることに注意されたい。物理的デバイスおよびシミュレーションモデルのどちらも、テスト環境にあるDUT(テスト中のデバイス)と記述することができる。
【0031】
テスト生成システム10は、VerilogまたはVHDLなどのハードウェア記述言語で書かれた、テスト中のデバイス(DUT)のための設計14を受け入れるシミュレータ12を特徴とする。加えて、シミュレータ12は実行時にテスト生成手続きを実行するためのテストエンジン16と対話する。テストエンジン16はシミュレータ12に入力を提供し、次いでシミュレータ12から結果をさらなる演算のための入力として受け取るので、シミュレータ12とテストエンジン16との間の対話は双方向に示されている。
【0032】
テストエンジン16は、実行時にDUT14をテストするために実行時システム21に接続されたテストジェネレータ18を特徴とする。テストジェネレータ18は、以下でさらに詳述するビットワイズ制約条件などの1つまたはそれ以上の制約条件20、およびI/Oデータモデル22を受け取り、次いでDUT14のテストおよび検証を実行する。実行時システム21は実行時テスト手順中に、シミュレータ12の駆動およびサンプリングの両方を行なう。実行時システム21はまた時間式(temporal expression)も評価し、事象を送り出す。これらの事象は、対象にすべき事象の定義を実行時システム21に供給する時間カバレージ事象定義入力25に従って定義される。
【0033】
テストおよび検証のプロセス中に、時間カバレージデータコレクタ24が実行時システム21から1つまたはそれ以上の変数の値を要求する。これらの要求は、予め定められた固定サンプリング時間および/または例えば時間言語で与えられた時間式によって定義された状態遷移の時間パターンの発生など、実行時システム21によって送り出されたトリガ事象に従って実行される。時間カバレージデータコレクタ24は、テストジェネレータ18と対話し、テストジェネレータ18のためのAPI(アプリケーションプログラミングインタフェース)を通して要求されたデータにアクセスすることができる。そのようなAPIは、所望のデータを収集するために必要なソフトウェア関数呼出しを指定する。この収集されたデータは次いで、以下でさらに詳述する通り、データアナライザ26によって分析される。
【0034】
データアナライザ26によって分析された後、分析されたデータは次いで、好ましくはGUI(グラフィカルユーザインタフェース、図示せず)を通してユーザに表示される。例えば、単一カバレージ項目、クロスカバレージ項目、および/または区間カバレージ項目について特定のカバレージ穴の存在を示すためにデータを表示することができる。本発明の好適な実施形態では、分析されたデータは制約条件20によって与えられたカバレージに従ってこれらの制約条件を調整するためフィードバックとして用いられる。例えば、カバレージ穴(単数または複数)が見つかった場合、不在状態またはDUT14の状態をテストするために、制約条件20を調整することができる。そのようなフィードバックは自動的に実行することが好ましいが、任意選択的にユーザが手動で実行することもできる。
【0035】
本発明の好適な実施形態では、制約条件20、I/Oデータモデル22、および時間カバレージ25は、Specman(商標)関数プログラミング環境(米国カリフォルニア州マウンテンビュー、ベリシティ・デザイン社)によって提供されかつ米国特許出願第09/020792号に開示されているコード言語である、eコードで構成することが好ましい。eコードによるプログラミングの容易さおよび柔軟性のため、そのような実施形態が好ましい。以下の記述はこの好適な実施形態を中心にしているが、これは説明のためにすぎず、いかようにも制限するつもりはない。
【0036】
eコード言語はハードウェア指向検証特定的オブジェクト指向プログラミング言語である。この言語のオブジェクトは「ストラクト」のインスタンスであり、それはフィールドと、フィールド内に格納されたデータに対して働きかつ他のオブジェクトと対話する1つまたはそれ以上の関数または方法とを含む。任意選択的に、制約条件はフィールドに対して働き、それによりフィールドに格納されたデータを、例えばデータの可能な値の範囲を制約することによって変更することができる。フィールドは、他のストラクトおよびスカラまたはストラクトのリストをはじめ、より複雑な構造を格納するために使用することもできる。
【0037】
テスト生成のプロセスは、ストラクトおよびフィールドをはじめとするデータ要素に無作為の値を充填する。各要素に対して可能なデータ値は任意選択的に、有向テスト生成のための方向を提供する制約条件によって制限することができる。本発明の方法は特に、ビットワイズ制約条件を提供することを目的とする。以下の部分では、eコード言語によるそのような制約条件のための多数の例証的コマンド構造を説明するが、これらのコマンド構造は本発明の特に好適な実施形態を説明する目的のために提示するだけであることを理解されたい。加えて、そのようなビットワイズ制約条件を解くための例示的アルゴリズムの説明を提示する。この例は、単なる例証であり、いかようにも限定する意図はない。コマンドのより完全な説明については、前に参照によって組み込んだ米国特許出願第09/020792号を参照されたい。
【0038】
次の制約条件を処理する本発明の能力の例を提示する。
keep x[j:i] == y (1)
keep x|y == z (2)
keep x&y == z (3)
keep x∧y == z (4)
keep x == y (5)
keep x << k == y (6)
keep x >> k == y (7)
現在、演算子“[:]”、“|”、“&”、“∧”、“〜”、“<<”および“>>”の各々は関数として計算することしかできない。したがって、上記の制約条件の全てにおいて、情報は左から右にだけ伝搬することができる。その結果、
keep x[2:0] == 0b101
など、一部の非常に直観的なユーザ制約条件は、背景技術で周知のテストジェネレータによって解くことができない。そのようなジェネレータのための現在周知のアルゴリズムは、最初に非制約xを生成し、次いでx[2:0]を関数として計算し、次いでこの値が0b101と等しいか否かを検査する。当然、この戦略は全事例の8分の7で失敗する。
【0039】
本発明は、上記の制約条件をより柔軟に処理するための戦略を提供する。本発明は、(1)から(7)までの全ての制約条件を多方向制約条件として提供することによって動作することが好ましく、それによって制約条件パラメータ間の制約条件伝搬の方式を幾つか提供することが好ましい。
【0040】
初期仮定
問題(1)については、xおよびyの前にiおよびjが生成されることが認められている。すなわち、xおよびyからiおよびjへの制約条件伝搬が無い。同様に、問題(6)および(7)については、xおよびyからkへの伝搬が無い。実際問題として、これらの制限は次のような制約条件:
keep 125[j:i] == 0b101
keep 14 >> k == 7
がi、jまたはkについて解くことができないことを意味する。
【0041】
基本データ構造:bitRL
ビットワイズ制約条件処理のためのデータ構造は、RL(新しい範囲リスト)に基づいて構成することが好ましい。bitRLと呼ばれる新しい構造は、各々が1ビットの生成項目に対応する4状態値のベクトルによりRL型を延長することによって得ることが好ましい。このベクトルの値は、対応するビットの次の4つの可能な状態を表わす。
0−ビットは確実に0である。
1−ビットは確実に1である。
Figure 0004652663
【0042】
この文書全体を通して、bitRLについて次の表記法を使用する。
【数1】
Figure 0004652663
この表現の2つの構成要素はそれぞれ区間表現およびビットワイズ表現と呼ばれる。
【0043】
次の2群の制約条件パラメータをbitRLで表わさなければならない。
1.制約条件(1)〜(7)のパラメータ
2.「ビットワイズ」情報を制約条件内で伝搬させることのできる制約条件によって、第1群のパラメータと接続されるパラメータ
【0044】
アルゴリズム
簡約化
問題(2)、(3)および(5)は任意選択的に、かつ好ましくは、表1を用いて単刀直入に簡約化することができる。基本的簡約化ステップは、制約条件パラメータの1つに対し新しい値を計算し、次いでこのパラメータの範囲にこの新しい値を交差させる(ビットワイズ&を使用して)ことにある。したがって、ビットワイズ制約条件の完全な簡約化は、この基本ステップを各制約条件パラメータに連続的に適用することにある。
【表1】
Figure 0004652663
【0045】
例1 制約条件keep x|y==zについて考察する。ビットに関する情報だけを考察する。x、yおよびzは全て4ビット範囲であり、次の初期値を持つと仮定する。
Figure 0004652663
次いで、次の通り簡約化を実行することが好ましい。
・ビット毎に、または対応するビットの各対に対して別々に、表を適用し、(x
Figure 0004652663
・(z&z´)を計算すると<0111>となる。この値をzに代入する。結果は次の通りである。
Figure 0004652663
z=<0111>
Figure 0004652663
計算する。
・xにx´を交差させると、次の結果が生じる。
Figure 0004652663
z=<0111>
・最後に、yについて同様のステップを実行する。この例ではそれは変化しない。したがって、上の結果がこの簡約化の最終結果である。
【0046】
問題(6)および(7)は、対応するビットワイズ表現をシフトすることによって、単刀直入に処理される。
【0047】
RL内の制約条件伝搬
両型の制約条件を並行して解くために、情報はbitRL内で双方向に伝搬することが好ましい。区間範囲の最大値は、ビットワイズ表現のどのビットが常に0でなければならないかを示す。
例2 xが6ビット単位であり、次の初期範囲を持つと仮定する。
【数2】
Figure 0004652663
区間表現の最大値は30であり、それは011110である。したがってビットワイズ表現の最上位ビットは0でなければならない。すなわち、
【数3】
Figure 0004652663
となる
区間限界の修正および無効区間の除去のために、反対方向の伝搬を使用することが好ましい。
【0048】
例3 例2で使用した範囲を使用すると、次の事実が観察される。
・xの範囲は偶数しか含まないので(最下位ビットが0である)、21は不正確な限界である。
・10のビットワイズ表現(001010)は該ビットワイズ表現と一致しないので、10はxの範囲に含まれない。
・ビットワイズ表現に一致する最小数は4(2進数000100)であるので、2は不正確な限界である。
【0049】
この例の場合、ビットワイズ表現から区間への伝搬の正しい結果は、次の通りでなければならない。
【数4】
Figure 0004652663
【0050】
次の例は上記の計算をより詳細に示す。
【0051】
例4 例3の区間[21..30]の正確な下限すなわち最小値tを、21≦
Figure 0004652663
と仮定する。
【0052】
計算は次のように行なわれる。最初に、下限がビットワイズ表現を満たすかどうかを検査する。この例ではもう行なっている。しかし、21=(010101
Figure 0004652663
21のビットだけを考察する。すなわち、(0101)から下線を引いたビットを使用して、数4=(100)が得られる。次のステップはこの数を増分して5=(101)を得て、得られたビットをそれぞれビットワイズ表現の
Figure 0004652663
【0053】
Figure 0004652663
て、上限を計算する。唯一の相違は、増分の代わりに減分操作を使用することである。
【0054】
観察される通り、各限界の評価の複雑性は、範囲のビットワイズ表現のビット数に線形的に依存する。
【0055】
一般的に、ビットワイズ表現と区間表現との間の伝搬のプロセスは、各区間の正確な限界を計算することにある。区間[l..h]について考える。下限lについて、最小数l´は、l≦l´でありかつl´がビットワイズ表現と一致するように計算される。同様に、上限hについて、最大数h´は、h´≦hでありかつh´がビットワイズ表現と一致するように計算される。新しい区間[l´..h´]が有効であるならば、すなわちl´≦h´であるならば、それが[l..h]に置き換わる。そうでなければ、区間[l..h]は表現から除去される。
【0056】
生成
本節では、bitRLからの値生成の問題を取り上げる。以下の手順に従うことが好ましい。
・区間表現の各区間の解の個数を決定する。
・その重みに従って区間を無作為に選択する。
・選択された区間内で1つの点を選択する。
【0057】
以下の例は、区間表現内の各区間の解の個数を計算する方法を解説する。
【0058】
例5 例3の事例:
【数5】
Figure 0004652663
を引き継いで、区間[22..30]について考える。該区間限界の2進表現はそれぞれ0100および0110である。下線を引いたビット、すなわ
Figure 0004652663
今、下線を引いたビットを収集すると、2つの数すなわち5=(101)および7=(111)が得られる。xのビットワイズ表現を満たし、かつ[22..30]内にある各数を、101と111との間の範囲のビット組合せとして得ることができることは明らかである。区間[22..30]内には3つの解(7−5+1)がある。
【0059】
同じ技法を用いて、最初の区間[4..6]を使用すると2つの有効な解が計算される。
【0060】
同様に、解の数を計算するために2進表現を使用することができるので、それらを点の無作為選択に使用することができる。
【0061】
例6 例5に示した通り、生成アルゴリズムの第2ステップで区間[2..6]を選択する確率は2/5であり、[22..30]を選択する確率は3/5である(区間の解の個数による)。アルゴリズムの第2ステップで[22..30]を選択すると仮定する。今、ゴールは[22..30]の中でxのビットワイズ表現を満たす数を見つけることである。この問題の各解は、5=(101)から7=(111)までの範囲の3ビットの2進数組合せとして表現することができる。したがって、区間[5..7]からの数が無作為に選択される。選択が6=(110)であると仮定する。最終ステップは、6の3ビットを取り、
Figure 0004652663
ある。従って、最終結果は(0110)=28である。
【0062】
追加的再順序付け
本発明によって成功裡に処理される事例の数を増加するために、任意選択的に、かつ好ましくは、「ビットスライシング」および「シフト」制約条件のための次の好適な追加的順序規則(order rule)を考慮することができる。
keep x[j:i] == y : (i,j) → (x,y), (y) ⇒ (x)
keep x << k == y : (k) → (x,y)
keep x >> k == y : (k) → (x,y)
ここで「→」および「⇒」はそれぞれ「ハード」および「ソフト」順序付けを表わす。上に示した「ハード」順序関係は全て、初期仮定によって取り扱われる。ビットスライシング制約条件における「ソフト」順序付け(y)⇒(x)の背後にある動機付けは、例によって説明することが好ましい。
【0063】
例7 次の制約条件が存在すると仮定する。
keep x[3:0]in[1,2,4,8]
この制約条件は当然、xの4個の最下位ビットのうちの1つだけが1でなければならず、他は全て0でなければならない。この制約条件は自動的に次の2つの制約条件に変換されることが好ましい。
keep x[3:0] == t
keep t in[1,2,4,8]
ここでtは時間変数である。この例で問題を避けるために、暗黙の「ソフト」順序付け(t)⇒(x)を使用して、tを[1,2,4,8]からの値の1つに生成することが好ましい。次いで、生成された後をxのビットに伝搬し、制約条件は最終的に成功する。
【0064】
幾つかの例
本節全体で以下の宣言を仮定する。
x : byte
y : unit(bits : 2)
今、以下の8つのテスト事例について個別に考慮する。
1.次の制約条件を仮定する。
keep x[4:3] == 0
この事例は、前節に示した通り、本発明によって解くことができる。
2.次の制約条件を仮定する。
keep x[4:3] == 0
keep x > 7
(1)の場合と同じである。
3.次の制約条件を仮定する。
keep soft x[4:3] == 0
keep x > 7
(1)の場合と同じである。「ソフト」制約条件の簡約化は、「ハード」制約条件の場合と全く同様に、xのbitRLに影響を及ぼす。
4.次の制約条件を仮定する。
keep x[4:3] == 0
keep soft x > 7
(3)の場合と同じである。
5.次の制約条件を仮定する。
keep x[5:4] == 0
keep x[7:6] > 0 or x[3:0] > 7
keep x > 7
この事例では、ジェネレータは最初に第1および第3制約条件を簡約化し、それによりxに対し次の範囲が得られる。
【数6】
Figure 0004652663
本発明によってこの範囲から生成される値は、[0x8..0xF]内であるか、または0xFより大きいかのいずれかであり、後者の場合、x[7:6]のビットの幾つかは1に設定される。したがって、第2制約条件の論理和代替条件の1つが成功する。
6.次の制約条件を仮定する。
keep x[4:3] == y
keep gen (y) before (x)
keep soft y > 0
このテスト事例は、前節に示した通り、ジェネレータによって解かれる。さらに、第1制約条件によって暗黙の順序付け(y)⇒(x)が課せられるので、順序付け(y)→(x)はここでは冗長である。
7.次の制約条件を仮定する。
keep x[4:3] == y
keep gen (x) before (y)
keep soft y > 0
このテスト事例はユーザエラーのために事例の4分の1が失敗するおそれがある。ここでの問題は、y([1..3])の範囲に関する情報がxのbitRLで捕捉できないことである。したがって、xがyより前に生成されるならば、x[4:3]を0に設定することができる。
8.次の制約条件を仮定する。
keep x[4:y] == 0
初期仮定によって、yは常にxより前に生成される。したがってyは[0..3]からの値に生成され、次いで結果的に得られた制約条件をジェネレータによって成功裡に解くことができる。
【0065】
テスト生成環境でビットワイズ制約条件を提供して課すための実際のプロセスの例を以下でさらに詳述するが、この例は説明のためだけのものであって、制限する意図はないことを理解されたい。例示的制約システムは次の通りである。
【0066】
最初に、下に示すストラクトSが、各々4ビットの2つのフィールドXおよびYを持つと仮定する。ストラクトSはまた、XとYの間の関係を強要する(1)、(2)および(3)と表記された3つの制約条件を持つと仮定する。制約条件(1)は算術であり、制約条件(2)および(3)はビットワイズ制約条件である。
【数7】
Figure 0004652663
フィールドXに制約条件(1)を適用すると結果的に、下の四角の枠内に示した次の範囲リストが得られる。
【数8】
Figure 0004652663
【0067】
フィールドYに制約条件(3)を適用すると結果的に、下の四角の枠内に示した次のビット範囲が得られる(Tは1または0のいずれかを表わす)。
【数9】
Figure 0004652663
制約条件(2)はフィールドXとフィールドYとの間の関係を決定する。最初に制約条件(2)の適用により、フィールドXの範囲リストがビット範囲に変換される。範囲リスト内の算術値は、最初に各算術値のビット値を決定することによってビット範囲に変換することが好ましい。ビットが範囲リストの値全体を通して変化しなければ、該ビットは0または1に設定される。該ビットが算術値全
Figure 0004652663
。ビットワイズ制約条件の効果は、ビットを例えば「0」に変換させる。
【数10】
Figure 0004652663
【0068】
次に、以下の簡約化ステップは結果的に、フィールドYおよびXのビット範囲を論理積して、下の四角の枠内に示すように、フィールドXの新しいビット範囲を生成する。
【数11】
Figure 0004652663
【0069】
それに続く生成ステップにより、下の四角の枠内に示すように、例えばフィールドYを6に、フィールドXを7に設定するなど、前ステップで決定された許容範囲内の値を代入する。
【数12】
Figure 0004652663
【0070】
本発明を限定された数の実施形態に関して説明したが、本発明の多くの変化、変形、および他の適用を行なうことができることを理解されたい。
【図面の簡単な説明】
【図1】 本発明に係る例示的システムを示す略ブロック図である。

Claims (23)

  1. テスト生成用のビットワイズ制約条件を提供する方法において、
    コンピュータ装置を使用して、前記ビットワイズ制約条件を表現するための言語構造を提供するステップであって、前記言語構造が少なくとも1つの制約条件パラメータおよび少なくとも1つの演算子を含み、前記制約条件パラメータが少なくとも1つの値を含む区間にさらに制約され、前記区間が区間限界を有して成るステップと、
    コンピュータ装置を使用して、情報を方向に伝搬して、前記制約条件パラメータの区間限界を少なくとも部分的に前記ビットワイズ制約条件に従って決定するステップと、
    コンピュータ装置を使用して、前記制約条件パラメータの1つ以上の許容値を計算するステップと
    を含む方法。
  2. コンピュータ装置を使用して、前記制約条件パラメータに対し単一のテスト値を生成するステップ
    をさらに含む請求項1に記載の方法。
  3. 前記区間が算術範囲として、かつビットワイズ表現として、表現可能である請求項1または2に記載の方法。
  4. 前記言語構造を提供するステップが、コンピュータ装置を使用して、情報を伝搬して前記区間限界を決定するために、前記区間を前記算術範囲として、かつ前記ビットワイズ表現として、同時に表現するための計算構造を提供するステップをさらに含む請求項3に記載の方法。
  5. 前記言語構造が複数の制約条件パラメータを含み、前記計算構造が前記複数の制約条件パラメータの少なくとも一部分を簡約化するために設けられ、
    前記簡約化が、コンピュータ装置を使用して、第1制約条件パラメータについて新しい組の値を計算し、コンピュータ装置を使用して、前記新しい組の値を少なくとも1つの他の制約条件パラメータに伝搬することを含む
    請求項4に記載の方法。
  6. 前記計算構造が算術範囲およびビットワイズ表現を含む範囲リスト表現を備えており、前記複数の制約条件パラメータの少なくとも一部分の簡約化が、
    コンピュータ装置を使用して、少なくとも第1制約条件パラメータについての第1範囲リスト内の第1範囲を計算するステップと、
    コンピュータ装置を使用して、少なくとも第2制約条件パラメータについての第2範囲リスト内の1つまたはそれ以上の範囲を計算するステップと、
    コンピュータ装置を使用して、前記第1範囲リストに前記第2範囲リストを交差させて、前記第1および第2制約条件パラメータを簡約化するステップと
    によって実行される請求項5に記載の方法。
  7. 前記テスト値を生成するステップが、
    コンピュータ装置を使用して、各区間に対する解の個数を決定するステップと、
    コンピュータ装置を使用して、重みに従って区間を無作為に選択して、選択区間を形成するステップと、
    コンピュータ装置を使用して、前記選択区間内の1つの点を選択するステップと
    によって実行される請求項6に記載の方法。
  8. 前記ビットワイズ表現が、前記区間を複数の状態値のベクトルにより変換することによって提供され、各状態値が前記テスト値の1ビットに対応する請求項6に記載の方法。
  9. 前記複数の状態値が、各々前記ビットの可能な状態に対応する4つの状態値であり、各状態値が0、1、0または1、または不正値のうちの1つである請求項8に記載の方法。
  10. 前記ビットワイズ制約条件が、ビットワイズ情報の伝搬により、演算子を特徴とする制約条件から導出される請求項3〜9のいずれかに記載の方法。
  11. 前記方向伝搬が少なくとも部分的に、前記区間の最大値に従って1または0の値を有するビットを示すことによって実行される請求項3〜10のいずれかに記載の方法。
  12. 前記方向伝搬が少なくとも部分的に少なくとも1つの区間限界を修正することによって実行される請求項10または11に記載の方法。
  13. 前記方向伝搬が少なくとも部分的に無効区間を除去することによって実行される請求項10〜12のいずれかに記載の方法。
  14. 前記制約条件パラメータに対する前記テスト値が少なくとも部分的に特定の区間を選択することによって生成される請求項2〜13のいずれかに記載の方法。
  15. 前記特定の区間が少なくとも部分的に前記区間の重みに従って選択される請求項14に記載の方法。
  16. 前記テスト値が前記特定の区間から選択される請求項15に記載の方法。
  17. テスト生成用のビットワイズ制約条件を提供する方法において、
    コンピュータ装置を使用して、前記ビットワイズ制約条件を表現するための言語構造を提供するステップであって、前記言語構造が1つまたはそれ以上の制約条件パラメータおよび少なくとも1つの演算子を含み、前記制約条件パラメータが少なくとも1つの値を含む範囲リストを有して成るステップと、
    コンピュータ装置を使用して、情報を方向に伝搬して、前記制約条件パラメータの限界を決定するステップと、
    コンピュータ装置を使用して、前記ビットワイズ制約条件についてテスト値を生成するステップと
    を含む方法。
  18. 算術範囲リストによるテスト生成用のビットワイズ制約条件および範囲リスト制約条件を提供する方法において、前記算術範囲リストは少なくとも1つの算術値を含み、前記方法が、
    コンピュータ装置を使用して、範囲リスト制約条件と並行して前記算術リストに関して前記ビットワイズ制約条件を表現するための言語構造を提供するステップであって、前記言語構造がビットワイズ制約条件および範囲リスト制約条件のための1つまたはそれ以上の制約条件パラメータおよび少なくとも1つの演算子を含んで成るステップと、
    コンピュータ装置を使用して、情報を方向に伝搬して、前記制約条件パラメータの限界を決定するステップと、
    コンピュータ装置を使用して、前記ビットワイズ制約条件についてテスト値を生成するステップと
    を含む方法。
  19. 算術制約条件およびビットワイズ制約条件を有する範囲リストのビットワイズ表現のための方法において、
    コンピュータ装置を使用して、前記範囲リストをビットワイズリストに変換するステップと、
    コンピュータ装置を使用して、範囲リストおよび前記ビットワイズリストの一方または両方を使用しながら、前記算術制約条件を前記ビットワイズリスト制約条件と共に解くステップと
    を含む方法。
  20. 算術制約条件およびビットワイズ制約条件を有する範囲リストのためのテスト生成方法において、
    コンピュータ装置を使用して、前記範囲リストおよび前記範囲リストのビットワイズ表現を含むための計算構造を提供するステップと、
    コンピュータ装置を使用して、前記範囲リストを変換して、前記範囲リストの前記ビットワイズ表現を提供するステップと、
    コンピュータ装置を使用して、前記ビットワイズ制約条件を前記ビットワイズ表現に、前記算術制約条件を前記範囲リストに適用して、前記テスト生成を実行するステップと
    を含む方法。
  21. コンピュータ装置を使用して、複数の範囲リストと複数の範囲リストの複数の前記ビットワイズ表現との合併を実行して、ビットワイズ制約条件および算術制約条件を導出するステップ
    をさらに含む請求項20に記載の方法。
  22. 算術制約条件およびビットワイズ制約条件を有する範囲リストのビットワイズ表現のための方法において、
    コンピュータ装置を使用して、前記範囲リストを変換して前記範囲リストのビットワイズ表現を提供するステップと、
    コンピュータ装置を使用して、前記算術制約条件および前記ビットワイズ制約条件を伝搬して、前記算術制約条件および前記ビットワイズ制約条件の両方に従って少なくとも1つの新しい範囲を決定するステップと、
    コンピュータ装置を使用して、制約条件パラメータの1つ以上の許容値を計算するステップと
    を含む方法。
  23. コンピュータ装置を使用して、前記少なくとも1つの新しい範囲に従って値を生成するステップをさらに含む請求項22に記載の方法。
JP2002523158A 2000-08-28 2001-08-28 テスト生成のためにビットワイズ制約条件を提供する方法 Expired - Fee Related JP4652663B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22808700P 2000-08-28 2000-08-28
PCT/IL2001/000803 WO2002019108A2 (en) 2000-08-28 2001-08-28 Method for providing bitwise constraints for test generation

Publications (2)

Publication Number Publication Date
JP2004507833A JP2004507833A (ja) 2004-03-11
JP4652663B2 true JP4652663B2 (ja) 2011-03-16

Family

ID=22855730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002523158A Expired - Fee Related JP4652663B2 (ja) 2000-08-28 2001-08-28 テスト生成のためにビットワイズ制約条件を提供する方法

Country Status (8)

Country Link
US (2) US6918076B2 (ja)
EP (1) EP1314045B1 (ja)
JP (1) JP4652663B2 (ja)
AT (1) ATE295544T1 (ja)
AU (1) AU2001282486A1 (ja)
DE (1) DE60110811T2 (ja)
IL (1) IL154585A0 (ja)
WO (1) WO2002019108A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL154585A0 (en) 2000-08-28 2003-09-17 Verisity Ltd Method for providing bitwise constraints for test generation
US7318014B1 (en) * 2002-05-31 2008-01-08 Altera Corporation Bit accurate hardware simulation in system level simulators
US7991606B1 (en) 2003-04-01 2011-08-02 Altera Corporation Embedded logic analyzer functionality for system level environments
US7509246B1 (en) 2003-06-09 2009-03-24 Altera Corporation System level simulation models for hardware modules
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
US7434101B2 (en) * 2005-03-21 2008-10-07 International Business Machines Corporation Highly specialized scenarios in random test generation
US7627843B2 (en) * 2005-03-23 2009-12-01 International Business Machines Corporation Dynamically interleaving randomly generated test-cases for functional verification
DE102005036321A1 (de) * 2005-07-29 2007-02-01 Siemens Ag Verfahren und Vorrichtung zum dynamischen Generieren von Testszenarien für komplexe rechnergesteuerte Systeme, z.B. für medizintechnische Anlagen
US20070113219A1 (en) * 2005-11-17 2007-05-17 Microsoft Corporation Representing simulation values of variable in sharpley limited time and space
US9218271B2 (en) * 2011-10-04 2015-12-22 International Business Machines Corporation Test planning based on dynamic coverage analysis
US11468218B2 (en) 2012-08-28 2022-10-11 Synopsys, Inc. Information theoretic subgraph caching
US9720792B2 (en) 2012-08-28 2017-08-01 Synopsys, Inc. Information theoretic caching for dynamic problem generation in constraint solving
US8904320B2 (en) 2013-03-13 2014-12-02 Synopsys, Inc. Solving multiplication constraints by factorization
US9298592B2 (en) 2013-03-14 2016-03-29 International Business Machines Corporation Testing a software interface for a streaming hardware device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820701B2 (ja) * 1988-12-06 1998-11-05 三菱電機株式会社 2進数への変換方法
JPH064330A (ja) * 1992-06-23 1994-01-14 Nec Corp 試験システム
GB9624935D0 (en) * 1996-11-29 1997-01-15 Sgs Thomson Microelectronics System and method for representing physical environment
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US5832418A (en) * 1997-06-23 1998-11-03 Micron Electronics Apparatus for testing a controller with random contraints
AU1962700A (en) * 1998-11-09 2000-05-29 Luk Lamellen Und Kupplungsbau Gmbh Motor vehicle
US6996552B2 (en) * 2000-06-02 2006-02-07 Johnson Joseph E Apparatus and method for handling logical and numerical uncertainty utilizing novel underlying precepts
IL154585A0 (en) 2000-08-28 2003-09-17 Verisity Ltd Method for providing bitwise constraints for test generation

Also Published As

Publication number Publication date
EP1314045B1 (en) 2005-05-11
AU2001282486A1 (en) 2002-03-13
US6918076B2 (en) 2005-07-12
US20020049944A1 (en) 2002-04-25
US7613973B2 (en) 2009-11-03
US20050203720A1 (en) 2005-09-15
WO2002019108A8 (en) 2004-04-29
DE60110811D1 (de) 2005-06-16
WO2002019108A2 (en) 2002-03-07
WO2002019108A3 (en) 2002-07-25
IL154585A0 (en) 2003-09-17
ATE295544T1 (de) 2005-05-15
DE60110811T2 (de) 2006-02-02
EP1314045A2 (en) 2003-05-28
JP2004507833A (ja) 2004-03-11

Similar Documents

Publication Publication Date Title
JP4652663B2 (ja) テスト生成のためにビットワイズ制約条件を提供する方法
US6711717B2 (en) Method and system for compiling circuit designs
US9612806B2 (en) Verification of computer-executable code generated from a model
Burch et al. Symbolic model checking for sequential circuit verification
Seger et al. An industrially effective environment for formal hardware verification
US8869103B2 (en) Using intermediate representations to verify computer-executable code generated from a model
US7680632B1 (en) Test precondition items for automated analysis and test generation
US7290229B2 (en) Method and system for optimized handling of constraints during symbolic simulation
US7974823B1 (en) Test postcondition items for automated analysis and test generation
Hazelhurst et al. A simple theorem prover based on symbolic trajectory evaluation and BDD's
JP2974900B2 (ja) 自律進化型ハードウェア設計システム
US6990438B1 (en) Method and apparatus for observability-based code coverage
US9292631B1 (en) Automatic comparison and performance analysis between different implementations
Sottile et al. Semi-automatic extraction of software skeletons for benchmarking large-scale parallel applications
Sokolov et al. Workcraft: Ten years later
Cruz et al. Automated functional test generation for digital systems through a compact binary differential evolution algorithm
Tang et al. Software numerical instability detection and diagnosis by combining stochastic and infinite-precision testing
Tetteh et al. Evolution of complex combinational logic circuits using grammatical evolution with systemverilog
Subedha et al. An efficient coverage driven functional verification system based on genetic algorithm
Navas et al. Verification of an optimized NTT algorithm
KR20200090061A (ko) 인공신경망 모델의 검증 방법 및 장치
Giorgio Project and Implementation of a Quantum Logic Gate Emulator on FPGA Using a Model-Based Design Approach
Ștefan et al. Controlling hardware design behavior using Python based machine learning algorithms
Shilov et al. On specification and verification of standard mathematical functions
Zeng et al. Functional test generation based on word-level SAT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

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: 20101207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101216

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees