JP2002514822A - 有限状態機械を識別して回路設計を検査するシステムおよび方法 - Google Patents

有限状態機械を識別して回路設計を検査するシステムおよび方法

Info

Publication number
JP2002514822A
JP2002514822A JP2000548819A JP2000548819A JP2002514822A JP 2002514822 A JP2002514822 A JP 2002514822A JP 2000548819 A JP2000548819 A JP 2000548819A JP 2000548819 A JP2000548819 A JP 2000548819A JP 2002514822 A JP2002514822 A JP 2002514822A
Authority
JP
Japan
Prior art keywords
identifying
configuration
design
test
state
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.)
Granted
Application number
JP2000548819A
Other languages
English (en)
Other versions
JP3872954B2 (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 JP2002514822A publication Critical patent/JP2002514822A/ja
Application granted granted Critical
Publication of JP3872954B2 publication Critical patent/JP3872954B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • 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/31704Design for test; Design verification
    • 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/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/31835Analysis of test coverage or failure detectability
    • 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/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • 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/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 本発明は、有限状態機械を識別して回路設計を検査するために、設計記述で構成セット(602)、構成セットの構成(604)および構成のオブジェクト(606)を識別する。次に、オブジェクト(608)値の変更を制御できる構成セットの第1の構成サブセットを識別し、次に、その値がオブジェクト(610)によって直接的にまたは間接的に変更できる第2サブセット構成を識別する。識別、記憶ステップは、構成中の全てのオブジェクトと構成セット(612−614)中の全ての構成について反復される。有限状態機械は、第2のオブジェクト値の変更を制御し、その値が第2のオブジェクト(616)によって直接的にまたは間接的に変更できる第1のオブジェクトについて検索することによって識別される。設計記述で有限状態機械要素を識別するこの方法は、次に、テストベンチ(618−626)の有限状態機械を機能試験するためのテストベクトルを生成するテストジェネレータによって使用される。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、全体として、電子式設計自動化(EDA)環境で生成される回路設
計記述を自動的にテストすることに関し、より詳細には、有限状態機械を識別し
て、VerilogまたはVHDL環境で回路設計を検査することに関する。
【0002】 (背景技術) 電子式設計自動化(EDA)は、シリコン中に電子回路を製作する前に、電子
回路を設計、シミュレートおよびテストするためにコンピュータープログラムを
使用するプロセスである。VerilogおよびVHDLは、設計、シミュレー
トおよびテストのステップで回路を規定するために一般に使用される2つの言語
である。回路設計は、実際にデバイスが製作される前に、種々のシミュレーショ
ン/エミュレーション・ソフトウェアパッケージによってテストされ、設計上の
欠陥が検出されて修正される。製作前に回路設計をテストすることにより、設計
会社は、何百万ドルもの回復不可能なエンジニアリングコスト(NRE)を節約
できる。しかし、回路設計が複雑になるにつれて、同様にテストも複雑になる。
システム設計者は、常により短い期限で益々複雑化する回路を設計しテストする
ことが求められるので、設計者は、より多くの時間を使って設計をテストして、
結果として製品の出荷が遅れてしまうこと、または回路部分のみをテストして、
結果として設計中に多くの未発見のバグが残るというリスクが高くなってしまう
ことを選択する必要がある。
【0003】 市場にある種々のシミュレーションおよび試験装置は、回路設計検査の効率を
高めようとするものである。1つのアプローチは、設計シミュレーションプログ
ラムをスピードアップするものである。固有コードシミュレータ、シミュレーシ
ョン・アクセラレーションおよびチップエミュレーションシステムは、設計シミ
ュレートに費やす時間を低減し、設計の中のすぐ隣のバグの識別に費やされる時
間を低減できる。しかし、設計プロセスの早い段階では、設計バグが優勢であり
シミュレーションのスピードアップはバグを識別するのにほとんど役立たない。
【0004】 回路設計をランダムにテストする別のアプローチもある。ランダムテストは、
関連する特有のテストベクトルをランダムに生成し、このべクトル使って設計を
テストする(または「機能試験する」)。このアプローチでは、ランダムテスト
に割り当てる時間が増えれば増えるほど、より多くの回路設計をテストできる。
ランダムテストは、バグの発見が行き当たりばったりなので時間がかかりリスク
を伴うものであり、一般的には回路設計を完全にテストする十分な時間はない。
10または100倍長いランダムシミュレーションを実行しても検査密度を大幅
に高めることはできない。
【0005】 自動テストパターン発生(ATPG)ツールのような、他のEDAテストツー
ルは、すでに製作された回路の製造欠陥のみを識別するテストを行う。テストは
、既知の入力値を連続して回路のピンに印加して、実際の出力値と期待される出
力値とを比較することによって行われる。しかし、ATPGツールは、回路設計
が基本的に正しく、発見されるいずれの異常も製造中に発生するワイヤ破損等の
物理的な欠陥によるものであることが想定されている。
【0006】 カルフォルニア州ロスアルトス(LosAltos)のInterHDL社で
開発されたVerilint、ミネソタ州セントポールのシミュレーション テ
クノロジー社で開発されたVericov、カルフォルニア州パロアルトのシス
テム サイエンス社で開発されたVera、およびイスラエルのVerisit
y of Yehud社で開発されたSpecman等の、他のEDAテストツ
ールは、回路設計を検査するテストベンチに利用し販売し統合することは困難で
ある。
【0007】 多くの回路設計もまた、複雑でバグ源になる場合が多い有限状態機械(FSM
)を含む。従って、回路設計者は、一般的にテストプロセスのなるべく早い段階
でFSMの動きを全領域で機能試験しようとする。現行のテストツールでは、設
計者がテストを開始する前に、回路中の各々のFSMにある各々の状態と遷移を
手動で識別して規定する必要がある。 有限状態機械を識別して回路設計テストの効率を高める装置および方法が必要
である。
【0008】 (発明の開示) 本発明は、有限状態機械を識別し、回路設計を検査する方法および装置を提供
する。本発明は、回路設計記述の入力、出力、内部変数、有限状態機械(FSM
)、遷移要素、ブロック、アーク、関心パス要素を自動的に識別してテストを行
うものである。
【0009】 要素を識別するプロセスは、最初に設計記述の構成セットを識別する。次に、
構成セットの第1の構成サブセットと、構成のオブジェクトが識別される。オブ
ジェクト値を変更し、あるいはオブジェクト値の変更を制御する構成セット中の
第1の構成サブセットが識別される。オブジェクトにより値が直接的にまたは間
接的に変更される構成セットの第2の構成サブセットも同様に識別される。識別
された構成、オブジェクトおよび第1、第2の構成のサブセットが、リレーショ
ナルデータベースに記憶される。識別および記憶のステップは、構成中の全オブ
ジェクトおよび構成セットの全構成に対して反復される。
【0010】 設計記述の有限状態機械は、第2のオブジェクト値の変更を制御し、その値が
第2のオブジェクトによって直接的にまたは間接的に変更される第1のオブジェ
クトについてのリレーショナルデータベースを検索することによって識別される
。第1のオブジェクトの発生が第2のオブジェクトの発生に先行すれば、第1の
オブジェクトがFSM状態変数として識別される。第2のオブジェクトの発生が
第1のオブジェクトの発生に先行すれば、第2のオブジェクトがFSM状態変数
として識別される。FSM状態遷移要素は、FSM状態変数の許容状態セットの
第1の許容状態から第2の許容状態までの遷移として識別される。
【0011】 本発明を使用するシステムは、設計データベースで設計記述を記憶する。テス
トジェネレータは、設計記述のどんな有限状態機械要素も識別する。設計データ
ベースから検索される設計記述に基づいて、テストベンチは、シミュレートされ
た設計を生成する。カバレージ解析ツールは、テストベンチで機能試験がなされ
るシミュレート設計からの出力データをモニターし、設計のどの要素がテストさ
れるべきかを識別する。テストジェネレータは、テストされていない要素の機能
試験のためにテストベンチに送出されるテストベクトルを生成する。
【0012】 従来技術と比較すると、本発明は、時間とリソースの要求により手動および散
発的に実行される設計検査の重要な部分を自動化する点で有利である。本発明は
、統合されたプロセスで、設計記述の入力、出力、内部変数、有限状態機械、遷
移要素、ブロック、アークおよび関心パス要素を迅速、容易かつ包括的にテスト
することを可能にする。結果として、設計者は、シミュレート設計が検査済であ
るという確信を持って製作に移行することができる。如何なる設計上の欠陥もシ
ミュレート設計が製作される前に発見できるので、何ヶ月もの時間の節約につな
がる。本発明の全ての態様は、当業者であれば添付の図面、詳細説明および請求
の範囲を詳細に検討することで理解できる。
【0013】 (発明を実施するための最良の形態) 図1は、本発明にかかる有限状態機械(FSM)を識別して回路設計を検査す
る第1の例示的なシステム100のデータ系統線図である。 システム100は、設計データベース102、カバレージデータベース104
、テストジェネレータ106、テストベンチ108およびカバレージ解析ツール
110を有する。テストベンチ108は、シミュレート設計112および出力ロ
グデータベース114を有する。設計データベース102は、回路設計をシミュ
レートし、テストし、製作するために、別の電子式設計自動化(EDA)と共に
使用されるVerilog、VHDLまたはC++等の設計言語で典型的にコー
ド化された1つまたはそれ以上の回路設計を含んでいる。
【0014】 テストを開始する前に、回路設計中のFSMはすべて識別される。FSMは、
同期または非同期のいずれかに分類できる。同期FSMは、クロック信号に応じ
て状態間を遷移し、非同期FSMは、割込みイベントに応じて状態間を遷移する
。 FSMはまた、種々の従来のやり方でコード化できる。「構造スタイル」は、
フリップフロップまたはラッチ等の制御された記憶素子という形で回路を規定す
る。構造スタイルの制御論理は、AND、OR、XORおよびNOT等の相互接
続される基本論理ゲート、および/またはAND、OR、NOT,XORおよび
QCA等の論理演算子を使用する単純な連続割り当てステートメントとして記述
される。FSMの構造表示がより複雑である場合は、このような表示はFSM中
のロジックの正確なシステム設計を詳細に記述する。
【0015】 「RTLスタイル」は、より抽象的で高レベルの記述という形で回路設計を規
定する。記憶素子は、フリップフロップ、ラッチまたは高レベルプロセス記述を
使用して特定される。制御論理は、caseステートメントやif−then−
elseステートメントを使用して、高レベルプロセス記述によって記述される
。FSMのRTL表示は、一般にユーザーが理解し易くかつ設計者が変更し易い
ものである。しかし、RTL表示は、実際の回路システム設計の統合ツールに依
存する。統合ツールは、ゲート選択においてより自由度が高いので、その結果と
しての回路設計は最適に実行されない場合がある。図5、6および7のフローチ
ャートは、FSMが設計においてどのように識別されるかを詳細に説明するもの
である。
【0016】 カバレージデータベース104は、回路設計のどの領域がすでに検査(つまり
カバー)されているかの記録を含んでいる。カバレージデータベース104は、
設計の中の全てのブロック、アーク、FSM状態およびFSM遷移をマップ化す
る。 「ブロック」はコードの一区分であり、コード中の第1の構成が実行されると
、次に、コード中の次の構成セットも実行される。この実行された構成のすべて
は統合してブロックを形成する。
【0017】 「構成」は、オブジェクト値を変更する、あるいは変更を制御する(すなわち
、next_state=Start)、または特定条件(すなわち、If n
ext_State=Reset then A=0)を調べる全てのコードラ
インである。認識されたコンピュータ命令を含む全ての別のコードラインも「構
成」として規定される。
【0018】 「アーク」は、コードの2つブロックを連結するコードの一区分である。 「FSM状態」は、安定ロジックであり、回路設計のコンフィギュレーション
・レジスタである。FSM状態は、複数のブロックとアークを含んでいる。 「FSM遷移」は、2つの「FSM状態」を結合するアークである。FSM遷
移は、1つまたはそれ以上のブロックを通過してFSMの状態を変える、1つま
たはそれ以上のアークによって形成されている。
【0019】 回路設計の種々のブロックまたは状態が入力され、種々のアークまたは遷移が
それに続くと、カバレージデータベース104内のマップが更新される。このマ
ップは、機能試験/テストされたブロック、状態、アークおよび遷移を識別する
。カバレージデータベース104は、カバレージ解析ツール110に結合されて
いる。カバレージ解析ツール110は、シミュレート設計112に結合され、そ
こからの出力データを使用して、回路設計のどの領域がすでにテストされている
かを確定する。この情報に基づいて、カバレージ解析110は、カバレージデー
タベース104を更新する。カバレージ解析ツールは従来公知である。
【0020】 テストジェネレータ106は、設計データベース102およびカバレージデー
タベース104からデータを受け取り、シミュレート設計112に送出されるテ
ストベクトルセットを生成する。シミュレート設計112は、カバレージ解析ツ
ール110および出力ログデータベース114の両者に送出される出力データを
生成する。シミュレート設計112は、回路設計の演算特性をモデル化するため
のコンピュータ(図示せず)によって実行されるソフトウェア(例えば、Ver
ilogまたはVHDL)を含んでいる。出力ログデータベース114は、他の
EDAツール(図示せず)によるその後の解析のために、シミュレート設計11
2からの出力データを記憶する。シミュレート設計112を実行するテストベン
チ108は従来公知である。
【0021】 テストベクトルを生成する前に、テストジェネレータ106は、テストされる
べき設計データベース102の回路設計の構文と統合力を完全に調べる。テスト
ジェネレータ106は、回路設計に何らか構文エラーがあるか否か、および全て
の設計を統合できるか否かを示す。次に、テストジェネレータ106は、設計記
述の全てのマクロおよびデータ構造を展開する。次に、テストジェネレータ10
6は、設計記述を解析し、全ての入力および出力を識別する。テストジェネレー
タ106は設計記述を、アークによって結合される複数の基本ブロックと複合ブ
ロックとして、および遷移によって結合される複数のFSMとして解釈する。こ
の解析から決定樹を生成できる。次に、テストジェネレータ106は、他の全て
のブロックに独立に回路設計の各ブロックのテスト能力を検査する。「基本ブロ
ック」は、設計記述の中で最も小さい構成要素である。基本ブロックは「構成」
に相当し、条件が一致するかまたは計算が生じるかのいずれかで規定される。グ
ループ化された基本ブロックは、複合ブロックを形成する。
【0022】 連続的なアークセットは「パス」を規定する。典型的な設計記述は、多数のパ
スを有する。しかし、ユーザがごく限られた数のパスにのみ関心をもつ場合があ
る。これらは、「関心パス」として規定される。 例えば、以下の設計記述は4つの基本ブロックを含む。 If(a<b) then 1st basic-block/construct c=a-b 2nd basic-block/construct else c=b-a end if 3rd basic-block/construct result=c*3 4th basic-block/construct
【0023】 前述の実施例では、アークは、第1の基本ブロックと第2の基本ブロックとの
間、第1の基本ブロックと第3の基本ブロックとの間、第2の基本ブロックと第
4の基本ブロックとの間および第3の基本ブロックおよび第4の基本ブロックと
の間で規定される。パスは、第2の基本ブロックを通って第1の基本ブロックか
ら第4の基本ブロックまで、および第3の基本ブロックを通って第1の基本ブロ
ックから第4の基本ブロックまで規定される。
【0024】 テストジェネレータ106は、種々のレベルの粒度でブロック、アーク、FS
M状態およびFSM遷移をテストすることが好ましい。このようにテストベクト
ルは、最上位の入力と出力、個々のFSM状態と遷移、種々の関心パス、複合ブ
ロックと基本ブロック、およびアークのいずれかを機能試験するために生成され
得る。テストジェネレータ106は、入力、出力、FSM,パス、ブロックまた
はアーク要素のいずれが次にテストされるべきかの最初の決定によって、テスト
ベクトルを生成する。次に、テストジェネレータ106は、シミュレート設計1
12が、その時点でアクティブなブロックからテストが行われていない要素まで
遷移するよう、どの変数(オブジェクトとも称される)を設定する必要があるか
、またはどのような条件を発生する必要があるかを決定する。このプロセスは、
「後方解決」と称される。テストジェネレータ106はまた、テストされていな
い要素を活性化するためにどの活動シーケンスを利用するかを決定する「前方解
決」手法を使用できる。一般に、テストジェネレータ106は、テストされてい
ない多数の要素を機能試験するテストベクトルを生成することが好ましい。
【0025】 「アクティブブロック」は、ブロックが次のブロックに制御を渡す前に、設定
すべき特定の変数または発生すべき特定の条件を待っているブロックである。典
型的な条件は、タイミング制約条件であり、異なる状態へ遷移する別の変数の所
定数のクロックパルスで、変数が所定の状態に設定される必要がある。所定値に
設定されている変数等の他の条件もまた一般的である。
【0026】 完全なテストベクトルセットは、テストフレームと称される。テストフレーム
は、シミュレート設計112がテストベクトルによってシミュレートできる、テ
ストベンチ108への経路が定められている。それに応じて、出力データセット
が、シミュレート設計112によって生成され、出力ログデータベース114と
カバレージ解析ツール110とに格納される。
【0027】 次に、テストジェネレータ106は、テストベクトルによって機能試験されて
ない全てのブロック、アーク、FSM状態、FSM遷移または関心パスについて
、カバレージデータベース104を走査する。次に、テストジェネレータ106
は、後方解決または前方解決のいずれかの方法を使用して、まだテストが行われ
ていない要素を機能試験するための追加のテストベクトルを生成する。
【0028】 この反復プロセスの間、テストジェネレータ106は、カバレージデータベー
ス104のデータを使用して、シミュレート設計112が全ての所定の入力につ
いて所定時間にわたり安定しているか否かを判定する。テストジェネレータ10
6はまた、シミュレート設計112がアクセス不能なFSM状態またはブロック
、および行使できない遷移またはアークを含んでいるか否かを記録する。
【0029】 図2は、有限状態機械を識別して回路設計を検査するための、本発明にかかる
第2の例示的なシステムのデータ系統線図である。図1で示した要素に加えて、
第2のシステム200は、機能モデル202を有し、テストジェネレータ106
からのテストベクトルや、シミュレート設計112からの出力データを受け取り
、出力データの確度を検査するようそれらに結合されている。機能モデル202
は、シミュレート設計112からの出力データと機能モデル202によって生成
された期待値セットとを比較する。これらの期待値は、テストジェネレータ10
6によって生成されるテストベクトルに応じて、どのように設計記述が作動すべ
きかを反映することが意図されている。機能モデル202は、シミュレート設計
112からの出力データを正しいか正しくないかのいずれかに分類する。機能モ
デル202はまた、シミュレート設計112がテストベクトルに応じて出力デー
タを生成しない状況等の不確定な状況にフラグを立てる。
【0030】 機能モデル202は、シミュレート設計112の無サイクル精密モデルである
。無サイクル精密モデルは、シミュレーションの各サイクルの間に、シミュレー
ト設計112を模倣しようとしないモデルである。機能モデル202は、いくつ
かの方法のうちの1つを使って期待値セットを生成する。例えば、機能モデル2
02は、データベース参照テーブルまたはアルゴリズムとして実現できる。例え
ば、シミュレート設計は、乗算機能を実現するラッチおよびレジスタに接続され
る一連のANDおよびORゲートを規定するための、コマンドセットから構成で
きるが、機能モデル202は、従来のプログラム言語で書かれたプログラムを使
って論理乗算のみを実行する。
【0031】 テストジェネレータ106は、機能モデル202によって生成された結果を受
け取るようこれに結合されており、システム200内に第2のフィードバックル
ープを生成する。テストジェネレータ106は、不正確にまたは不確定に作動す
る、シミュレート設計112の最上位入力および出力、個々のFSM状態と遷移
、種々の関心パス、複合ブロックと基本ブロック、およびアークを局所化して識
別するために、シミュレート設計112に送出されるテストベクトルを機能モデ
ル202からの結果と関連づける。テストジェネレータ106は、不正確なまた
は不確定な設計要素に焦点をあてた更に詳細な一連のテストを自動生成するよう
プログラムできる。もしくは、テストジェネレータ106は、設計者が手動で更
に詳細な一連のテストを生成するのに利用するテスト結果をプリントアウトする
【0032】 図3は、有限状態機械を識別し、回路設計を検査する、本発明にかかる第3の
例示的なシステム300のデータ系統線図である。図1で示した要素に加えて、
第3のシステム300は、サイクル精密モデル302および出力シーケンスコン
パレータ304を有する。サイクル精密モデル302は、テストジェネレータ1
06からのテストべクトルを受け取るようこれに結合され、シミュレート設計1
12からの出力データをサイクルごとに一致させるよう設計されている。出力シ
ーケンスコンパレータ304は、シミュレート設計112とサイクル精密モデル
302の両者からの出力データを受け取るようこれに結合されている。出力シー
ケンスコンパレータ304は、すべてのサイクルの出力データを比較し、シミュ
レート設計112からの出力データが、正しいか正しくないか、または不確定で
あるかを分類する結果セットを生成する。
【0033】 テストジェネレータ106は、出力シーケンスコンパレータ304によって生
成された結果を受け取るようこれに結合されており、システム300内に第2の
フィードバックループを生成する。次に、テストジェネレータ106は、不正確
にまたは不確定に作動する、シミュレート設計112の最上位の入力と出力、個
々のFSM状態と遷移、種々のの関心パス、複合ブロックと基本ブロック、およ
びアークを局所化して識別するために、シミュレート設計112に送出されるテ
ストベクトルを出力シーケンスコンパレータ304からの結果と関連づける。テ
ストジェネレータ106は、不正確または不確定な設計要素に集中する更に詳細
な一連のテストを自動生成するように、または設計者が詳細に検討するために結
果をプリントアウトするようプログラムされている。
【0034】 テストジェネレータ106、カバレージ解析ツール110、シミュレート設計
112、機能モデル202、サイクル精密モデル302および出力シーケンスコ
ンパレータ304は、コンピュータ(図示せず)上で作動するコンピュータプロ
グラム命令を含むソフトウェアモジュールである。コンピュータは、処理ユニッ
トとメモリを含む。メモリは、処理ユニットがどのようにデータをアクセスし、
変換し、出力するかを制御するコンピュータプログラム命令を記憶する。当業者
であれば、内部メモリはコンピュータに使用可能な別の記憶媒体で補うことがで
きることを理解できるであろう。
【0035】 図4は、本発明を使用してテストされる例示的な回路設計400の線図である
。以下に、テストジェネレータ106が回路設計をテストするためにどのような
方法でテストベクトルセットを生成し、テストジェネレータがどのような方法で
テスト結果に応答するかを説明する。例示の回路設計の各々の状態は、1つある
いはそれ以上のブロックと、その状態機能を実行して次の状態を計算する内部ア
ークとで形成されている。
【0036】 まず最初に、テストジェネレータ106は、設計の種々の状態および遷移を識
別する。サーキット設計400は3つの状態(401、402および403)と
6つの遷移(410、411、412、413、414、415および416)
とを有する。遷移410は、状態402から状態402に戻る「セルフ」アーク
である。この遷移は、状態402の「ワーク」が全て完了するまで行われる。遷
移411および412の両者とも状態402から状態401まで進む。この実施
例では、「ワーク」が完了した場合に遷移411が行われ、リセット信号が出さ
れた場合に遷移412が行われる。遷移413は、エラーが状態402から状態
403へ送られる場合に行われる。遷移414は、新しい「ワーク」が状態40
1から状態402へ到達する場合に行われる。遷移415は、エラーが状態40
1から状態403へ送られる場合に行われる。遷移416は、エラーが状態40
3から状態401へ処理された後に行われる。
【0037】 例示の回路設計の各々のFSM状態、FSM遷移、ブロック、アークおよび関
心パスをテストするために、テストジェネレータ106は、変数を設定するテス
トベクトルを生成する。テストジェネレータ106はまた、所定の関心パスをユ
ーザーからの入力として受け入れる。テストジェネレータ106は、一定の条件
の発生を警告するようテストジェネレータに指示するアサーション(asser
tion)で事前にプログラムできる。
【0038】 図5は、有限状態機械を識別して回路設計を検査するための方法に関するフロ
ーチャートである。この方法は、テストジェネレータ106が設計データベース
102からハードウェア設計記述(典型的にVerilogやVHDL等のハー
ドウェア記述言語による)をインポートするステップ502から始まる。テスト
ベンチ108は、他のデータベース(図示せず)から参照記述をインポートする
。参照記述は随意的に、機能モデル202またはサイクル精密モデル302ベー
スを形成する。ステップ504で、テストジェネレータ106は、設計記述の入
力、出力、内部変数、ブロック、アークおよび関心パス要素を識別する。ステッ
プ506で、テストジェネレータ106は、設計記述のFSMおよび遷移要素を
識別する。ステップ506は、図6で詳細に説明する。ステップ508で、テス
トジェネレータ106は、どの要素がテストされており、どの要素がテストされ
てないかを示す最新のカバレージデータをカバレージデータベース104からイ
ンポートする。ステップ510で、テストジェネレータ106は、設計記述の最
新の検査状態を記述するための注釈を生成して設計記述に加える。ステップ51
2で、テストジェネレータ106は、テストが行われていない要素を機能試験す
るテストベクトルセットを生成する。ステップ512は、図7で詳細に説明する
。ステップ514で、テストジェネレータ106は、テストベンチ108上にシ
ミュレート設計112とシミュレート参照とを生成する。シミュレート参照は、
機能モデル202の第1の部分、もしくはサイクル精密モデル302に等しい。
ステップ516で、テストジェネレータ106は、シミュレート設計112およ
びシミュレート参照を機能試験するためのテストベクトルをテストベンチ108
に送る。ステップ518で、機能モデル202の第2の部分、もしくは出力シー
ケンスコンパレータ304の第2の部分は、シミュレート設計およびシミュレー
ト参照の両者からの出力データを比較する。ステップ520で、出力データセッ
トが等しくない場合、機能モデル202の第2の部分(または出力シーケンスコ
ンパレータ304の第2の部分)は、バグがシミュレート設計112に存在する
ことを報告する。ステップ522で、テストジェネレータ106は、不正確にま
たは不確定に作動するシミュレート設計要素を局所化して識別するために、テス
トベクトルによって機能試験される要素と、報告ステップ520での結果とを関
連づける。ステップ524で、カバレージ解析ツール110は、シミュレート設
計112のどの要素がテストされてないかを示すようカバレージデータを変更す
る。ステップ526で、テストされるべき要素が残っていれば、プロセスはステ
ップ508に戻り、そうでなければこのプロセスは終了する。
【0039】 図6は、有限状態機械および設計記述(図5のステップ506)の遷移要素を
識別する方法を示すフローチャートである。この方法は、テストジェネレータ1
06が、設計データベース102内の設計記述の構成セットを識別するステップ
602から始まる。ステップ604は、構成セット中の構成を識別する。ステッ
プ606は、構成中のオブジェクトを識別する。ステップ608は、オブジェク
ト値を変更するかまたは変更を制御する構成セット中の、第1の構成サブセット
を識別する。ステップ610は、その値がオブジェクトによって直接的にまたは
間接的に変更できる構成セット中の第2の構成サブセットを識別する。ステップ
612は、この構成の残りの全オブジェクトについてステップ606からステッ
プ610を反復する。ステップ614は、構成セット中の残りの全構成について
ステップ604からステップ612を反復し、リレーショナルデータベースに識
別子を記憶する。ステップ616は、第2のオブジェクト値を変更するかまたは
変更を制御し、かつその値が第2のオブジェクトによって直接的にまたは間接的
に変更される第1のオブジェクトについてのリレーショナルデータベースを検索
することによって、設計記述のFSMを識別する。ステップ618で、第1のオ
ブジェクトの発生が、第2のオブジェクトの発生に先行するかまたは、設計記述
の第2のオブジェクト値の変更を制御する場合、この第1のオブジェクトは、F
SM状態変数として識別される。ステップ620は、FSM状態変数のための可
能状態セットを識別する。ステップ622で、可能状態セットからの許容状態セ
ットについてのFSM状態変数に適用可能な第1の構成サブセットが検査される
。次に、ステップ624で、許容状態セットの第1の許容状態から第2の状態ま
での遷移は、FSM状態遷移として識別される。ステップ626は、リレーショ
ナルデータベースで他の全てのオブジェクトついてステップ616からステップ
624を反復する。この後にこの方法は終了する。
【0040】 図7は、テストベクトルセット(図5のステップ512)を生成する方法につ
いてのステップを示すフローチャートである。まず始めに、ステップ702で、
テストジェネレータ106は、シミュレート設計記述中のどのブロックが現在ア
クティブな状態にあるかを識別する。システムは、アクティブブロックのデータ
ベースを管理するためにシミュレートシステムを通じて制御およびデータの流れ
を連続して追跡する。ステップ704で、テストジェネレータ106は、どの要
素がまだテストされてないかを識別するために、カバレージデータベース104
にアクセスする。ステップ706で、テストジェネレータ106は、テストが行
われていない最大数の要素を機能試験するために、テストベクトルセットを使用
して、シミュレート設計112に関してどのオブジェクトを設定する必要があり
、どの条件を発生する必要があるかを識別する。ステップ708で、テストジェ
ネレータ106は、識別されたオブジェクトまたは識別された条件を発生するテ
ストベクトルセットを生成する。ステップ708の後で、テストベクトルセット
を生成するこの方法は終了する。
【0041】 本発明は、好適な実施形態に関して説明されているが、当業者であれば種々の
の変更を行うことができ、本発明が請求の範囲によってのみ限定されることが理
解できる。
【図面の簡単な説明】
【図1】 有限状態機械を識別して回路設計を検査する本発明の第1の実施形態のデータ
系統線図である。
【図2】 有限状態機械を識別して回路設計を検査する本発明の第2の実施形態のデータ
系統線図である。
【図3】 有限状態機械を識別して回路設計を検査する本発明の第3の実施形態のデータ
系統線図である。
【図4】 本発明を使用してテストされる例示的なサーキット設計400の線図である。
【図5】 有限状態機械を識別して回路設計を検査する方法におけるステップのフローチ
ャートである。
【図6】 有限状態機械および設計記述の遷移要素を識別する方法におけるステップのフ
ローチャートである。
【図7】 テストベクトルセットを生成する方法におけるステップのフローチャートであ
る。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年6月30日(2000.6.30)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CZ, DE,DK,EE,ES,FI,GB,GD,GE,G H,GM,HR,HU,ID,IL,IN,IS,JP ,KE,KG,KP,KR,KZ,LC,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SL,TJ,TM,TR, TT,UA,UG,UZ,VN,YU,ZA,ZW (72)発明者 タン チョン アメリカ合衆国 カリフォルニア州 95070 サラトガ ブルッグレン ドライ ヴ 11940 (72)発明者 チエン チアホン アメリカ合衆国 カリフォルニア州 95070 サラトガ ブレイマー ドライヴ 20005 (72)発明者 マッシー ディヴィッド アメリカ合衆国 カリフォルニア州 95006 ボールダー クリーク ヒル ト ップ コート 295 Fターム(参考) 2G132 AA01 AC11 AG15 AL00 AL09 AL11 5B046 AA08 BA09 JA05 KA05

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 設計記述で有限状態機械(FSM)を識別して回路設計を検
    査する方法であって、 前記記述のFSM要素を識別するステップと; テストされていない要素をリスト化するカバレージデータをインポートするス
    テップと; 前記テストされていない要素をシミュレートするテストベクトルを生成するス
    テップと; を含むことを特徴とする方法。
  2. 【請求項2】 前記識別ステップは、第2のオブジェクト値を変更し、その
    値が前記第2のオブジェクトによって変更される第1のオブジェクトについての
    リレーショナルデータベースを検索することを特徴とする、請求項1に記載の方
    法。
  3. 【請求項3】 前記識別ステップは、第2のオブジェクト値の変更を制御し
    、その値が前記第2のオブジェクトによって変更される第1のオブジェクトにつ
    いてのリレーショナルデータベースを検索することを特徴とする、請求項1に記
    載の方法。
  4. 【請求項4】 前記検索ステップは、 前記設計記述の構成セットを識別し; 前記構成セットの構成を識別し; 前記構成のオブジェクトを識別し; 前記オブジェクトの値の変更を制御する構成セットの第1の構成サブセットを
    識別し; 前記識別された構成、オブジェクト、前記リレーショナルデータベースの第1
    の構成サブセットを記憶する; ことを含むことを特徴とする、請求項2に記載の方法。
  5. 【請求項5】 さらに、前記検索ステップは、 その値が前記オブジェクトによって変更できる前記構成セット中の第2の構成
    サブセットを識別し; 前記リレーショナルデータベースの第2の構成サブセットを記憶する; ことを特徴とする、請求項4に記載の方法。
  6. 【請求項6】 さらに、前記検索ステップは、前記構成中の他の全てのオブ
    ジェクトに対して前記検索ステップ中の識別および記憶ステップを反復すること
    を特徴とする請求項5に記載の方法。
  7. 【請求項7】 さらに、前記検索ステップは、前記構成中の他の全てのオブ
    ジェクトに対して前記検索ステップ中の識別、記憶および反復ステップを反復す
    ることを特徴とする請求項6に記載の方法。
  8. 【請求項8】 さらに、前記第1のオブジェクトの発生が、前記設計記述の
    前記第2のオブジェクトの発生に先行する場合、前記第1のオブジェクトをFS
    M状態変数として識別するステップを含むことを特徴とする、請求項2に記載の
    方法。
  9. 【請求項9】 さらに、前記第2のオブジェクトの発生が、前記設計記述の
    前記第1のオブジェクトの発生に先行する場合、前記第2のオブジェクトをFS
    M状態変数として識別するステップを含むことを特徴とする、請求項2に記載の
    方法。
  10. 【請求項10】 さらに、前記FSM状態変数のための許容状態セットを識
    別するステップを含むことを特徴とする、請求項8に記載の方法。
  11. 【請求項11】 さらに、前記許容状態セットの第1の許容状態から第2の
    許容状態までの遷移をFSM状態要素として識別するステップを含むことを特徴
    とする、請求項10に記載の方法。
  12. 【請求項12】 設計記述のFSM要素を識別する手段と; テストされていない要素をリスト化するカバレージデータをインポートする手
    段と; 前記テストされていない要素をシミュレートするテストベクトルを生成する手
    段と; を備えることを特徴とする、設計記述で有限状態機械(FSM)を識別して回路
    設計を検査するシステム。
  13. 【請求項13】 前記識別手段は、第2のオブジェクト値を変更し、その値
    が前記第2のオブジェクトによって変更される第1のオブジェクトについてのリ
    レーショナルデータベースを検索する手段を備えることを特徴とする、請求項1
    2に記載のシステム。
  14. 【請求項14】 前記識別手段は、第2のオブジェクト値の変更を制御し、
    その値が前記第2のオブジェクトによって変更される第1のオブジェクトについ
    てのリレーショナルデータベースを検索する手段を備えることを特徴とする、請
    求項12に記載のシステム。
  15. 【請求項15】 前記検索手段が、 前記設計記述の構成セットを識別する手段と; 前記構成セットの構成を識別する手段と; 前記構成のオブジェクトを識別する手段と; 前記オブジェクト値の変更を制御する前記構成セットの第1の構成サブセット
    を識別する手段と; 前記識別された構成、オブジェクトおよび前記リレーショナルデータベースの
    第1の構成サブセットを記憶する手段と; を備えることを特徴とする、請求項13に記載のシステム。
  16. 【請求項16】 さらに、前記検索手段は、 その値が前記オブジェクトによって変更できる前記構成セットの第2の構成サ
    ブセットを識別する手段と; 前記リレーショナルデータベースの第2の構成サブセットを記憶する手段と;
    を備えることを特徴とする、請求項15に記載のシステム。
  17. 【請求項17】 さらに、前記検索手段は、前記構成の全てのオブジェクト
    を検索する手段の、識別および記憶手段を反復する手段を備えることを特徴とす
    る、請求項16に記載のシステム。
  18. 【請求項18】 さらに、前記検索装置は、前記構成の全てのオブジェクト
    を検索する手段の、識別、記憶および反復手段を反復する手段を備えることを特
    徴とする、請求項17に記載のシステム。
  19. 【請求項19】 さらに、前記第1のオブジェクトの発生が前記設計記述の
    前記第2のオブジェクトの発生に先行する場合、前記第1のオブジェクトをFS
    M状態として識別する手段を備えることを特徴とする、請求項13記載のシステ
    ム。
  20. 【請求項20】 さらに、前記第2のオブジェクトの発生が前記設計記述の
    前記第1のオブジェクトの発生に先行する場合、前記第2のオブジェクトをFS
    M状態として識別する手段を備えることを特徴とする、請求項13記載の装置。
  21. 【請求項21】 さらに、前記FSM状態変数のための許容状態セットを識
    別する手段を備えることを特徴とする、請求項19に記載のシステム。
  22. 【請求項22】 さらに、前記許容状態セットの第1の許容状態から第2の
    許容状態までの遷移をFSM状態要素として識別する手段を備えることを特徴と
    する、請求項21に記載のシステム。
  23. 【請求項23】 有限状態機械(FSM)を識別して回路設計を検査するた
    めのコンピュータプログラムが組み込まれている、コンピュータ読み取り可能な
    記憶媒体であって、 前記記述のFSM要素を識別するステップと; テストされていない要素をリスト化するカバレージデータをインポートするス
    テップと; 前記テストされていない要素をシミュレートするテストベクトルを生成するス
    テップと; によってプログラムされていることを特徴とする、コンピュータ読み取り可能な
    記憶媒体。
  24. 【請求項24】 前記識別ステップは、第2のオブジェクト値を変更し、そ
    の値が前記第2のオブジェクトによって変更される第1のオブジェクトについて
    のリレーショナルデータベースを検索することを特徴とする、請求項23に記載
    のコンピュータ読み取り可能な記憶媒体。
  25. 【請求項25】 前記識別ステップは、第2のオブジェクト値の変更を制御
    し、その値が前記第2のオブジェクトによって変更される第1のオブジェクトに
    ついてのリレーショナルデータベースを検索することを特徴とする、請求項23
    に記載のコンピュータ読み取り可能な記憶媒体。
  26. 【請求項26】 前記検索ステップは、 前記設計記述の構成セットを識別し; 前記構成セットの構成を識別し; 前記構成のオブジェクトを識別し; 前記オブジェクトの値の変更を制御する構成セットの第1の構成サブセットを
    識別し; 前記識別された構成、オブジェクト、前記リレーショナルデータベースの第1
    の構成サブセットを記憶する; ことを含むことを特徴とする、請求項24に記載のコンピュータ読み取り可能な
    記憶媒体。
  27. 【請求項27】 さらに、前記検索ステップは、 その値が前記オブジェクトによって変更できる前記構成セット中の第2構成サ
    ブセットを識別し; 前記リレーショナルデータベースの第2の構成サブセットを記憶する; ことを特徴とする、請求項26に記載のコンピュータ読み取り可能な記憶媒体。
  28. 【請求項28】 さらに、前記検索ステップは、前記構成中の他の全てのオ
    ブジェクトに対して前記検索ステップ中の識別および記憶ステップを反復するこ
    とを特徴とする請求項27に記載のコンピュータ読み取り可能な記憶媒体。
  29. 【請求項29】 さらに、前記検索ステップは、前記構成中の他の全てのオ
    ブジェクトに対して前記検索ステップ中の識別、記憶および反復ステップを反復
    することを特徴とする請求項28に記載のコンピュータ読み取り可能な記憶媒体
  30. 【請求項30】 さらに、前記第1のオブジェクトの発生が、前記設計記述
    の前記第2のオブジェクトの発生に先行する場合、前記第1のオブジェクトをF
    SM状態変数として識別するステップを含むことを特徴とする、請求項24に記
    載のコンピュータ読み取り可能な記憶媒体。
  31. 【請求項31】 さらに、前記第2のオブジェクトの発生が、前記設計記述
    の前記第1のオブジェクトの発生に先行する場合、前記第2のオブジェクトをF
    SM状態変数として識別するステップを含むことを特徴とする、請求項24に記
    載の方法。
  32. 【請求項32】 さらに、前記FSM状態変数のための許容状態セットを識
    別するステップを含むことを特徴とする、請求項30に記載のコンピュータ読み
    取り可能な記憶媒体。
  33. 【請求項33】 さらに、前記許容状態セットの第1の許容状態から第2の
    許容状態までの遷移をFSM状態要素として識別するステップを含むことを特徴
    とする、請求項32に記載のコンピュータ読み取り可能な記憶媒体。
  34. 【請求項34】 設計記述を記憶する設計データベースと; 前記設計記述に基づいてシミュレート設計を生成する、前記設計データベース
    に結合されるテストベンチと; 前記シミュレート設計中のテストされていない要素を識別するために、前記テ
    ストベンチからの出力データを受け取るよう結合されているカバレージ解析ツー
    ルと; 前記設計記述の有限状態機械要素を識別し、前記シミュレート設計中のテスト
    されていない要素を機能試験するためにテストベクトルを生成し、前記テストベ
    ンチに送出するために、設計データベース、テストベンチおよび前記カバレージ
    解析ツールに結合されているテストジェネレータと; を備えることを特徴とする、有限状態機械を識別して回路設計を検査するシステ
    ム。
JP2000548819A 1998-05-12 1999-04-30 有限状態機械を識別して回路設計を検査するシステムおよび方法 Expired - Fee Related JP3872954B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/076,681 1998-05-12
US09/076,681 US6487704B1 (en) 1997-08-07 1998-05-12 System and method for identifying finite state machines and verifying circuit designs
PCT/US1999/009460 WO1999059079A1 (en) 1998-05-12 1999-04-30 System and method for identifying finite state machines and verifying circuit designs

Publications (2)

Publication Number Publication Date
JP2002514822A true JP2002514822A (ja) 2002-05-21
JP3872954B2 JP3872954B2 (ja) 2007-01-24

Family

ID=22133578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000548819A Expired - Fee Related JP3872954B2 (ja) 1998-05-12 1999-04-30 有限状態機械を識別して回路設計を検査するシステムおよび方法

Country Status (7)

Country Link
US (1) US6487704B1 (ja)
EP (1) EP1093619B1 (ja)
JP (1) JP3872954B2 (ja)
AU (1) AU3874399A (ja)
DE (1) DE69942007D1 (ja)
IL (1) IL139029A (ja)
WO (1) WO1999059079A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009139293A (ja) * 2007-12-10 2009-06-25 Hitachi Ltd 半導体集積回路の高速テスト

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141630A (en) * 1997-08-07 2000-10-31 Verisity Design, Inc. System and method for automated design verification
GB2336008B (en) * 1998-04-03 2000-11-08 Schlumberger Holdings Simulation system including a simulator and a case manager adapted for organizing data files
JP3822044B2 (ja) * 2000-09-25 2006-09-13 株式会社東芝 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US6810507B2 (en) * 2002-01-17 2004-10-26 Sun Microsystems, Inc. Method and apparatus for isolating the root of indeterminate logic values in an HDL simulation
US6782518B2 (en) * 2002-03-28 2004-08-24 International Business Machines Corporation System and method for facilitating coverage feedback testcase generation reproducibility
US6701494B2 (en) * 2002-05-01 2004-03-02 Adc Dsl Systems, Inc. Method of using testbench tests to avoid task collisions in hardware description language
US7024589B2 (en) * 2002-06-14 2006-04-04 International Business Machines Corporation Reducing the complexity of finite state machine test generation using combinatorial designs
US6948139B2 (en) * 2002-12-19 2005-09-20 Lsi Logic Corporation Method for combining states
US6968285B1 (en) 2003-04-09 2005-11-22 Hamid Adnan A Method and apparatus for scenario search based random generation of functional test suites
US6993736B2 (en) * 2003-12-10 2006-01-31 Texas Instruments Incorporated Pending bug monitors for efficient processor development and debug
US20050177773A1 (en) * 2004-01-22 2005-08-11 Andrew Hadley Software method for exhaustive variation of parameters, independent of type
US7210111B1 (en) * 2004-05-04 2007-04-24 Hewlett-Packard Development Company, L.P. Systems and methods for conducting future signal checks
US20060026538A1 (en) * 2004-07-27 2006-02-02 Shah Gauray R Relational database storage and retrieval of circuit element classifications
US8265920B1 (en) 2004-07-30 2012-09-11 Synopsys, Inc. Determining large-scale finite state machines using constraint relaxation
JP4528728B2 (ja) * 2006-01-31 2010-08-18 株式会社東芝 デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム
US7779374B1 (en) 2006-09-29 2010-08-17 Breker Verification Systems, Inc. Generating self-checking test cases from reduced case analysis graphs
JP4585559B2 (ja) * 2007-08-30 2010-11-24 株式会社東芝 半導体集積回路の検証装置
US20130290919A1 (en) 2012-04-27 2013-10-31 Synopsys, Inc. Selective execution for partitioned parallel simulations
US10133803B2 (en) * 2015-06-08 2018-11-20 Mentor Graphics Corporation Coverage data interchange
US10095596B1 (en) * 2015-12-18 2018-10-09 Amazon Technologies, Inc. Executing integration tests in a distributed load and performance evaluation framework
US11537935B2 (en) 2017-09-27 2022-12-27 Allstate Insurance Company Data processing system with machine learning engine to provide output generating functions
US20190095815A1 (en) * 2017-09-27 2019-03-28 Allstate Insurance Company Data Processing System with Machine Learning Engine to Provide Output Generating Functions
US10839319B2 (en) 2017-09-27 2020-11-17 Allstate Insurance Company Data processing system with machine learning engine to provide output generating functions
US11579195B2 (en) * 2018-11-20 2023-02-14 Micron Technology, Inc. Automated verification code generation based on a hardware design and design data
US10890622B2 (en) * 2019-04-29 2021-01-12 International Business Machines Corporation Integrated circuit control latch protection
US11669666B1 (en) * 2020-11-30 2023-06-06 Dialog Semiconductor (Uk) Limited Methods relating to circuit verification
US20230129868A1 (en) * 2021-10-21 2023-04-27 Stmicroelectronics S.R.L. Systems and methods for asynchronous finite machines
US12032460B2 (en) * 2022-02-11 2024-07-09 Stmicroelectronics S.R.L. Systems and methods to test an asynchronous finite machine

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0460352B1 (en) * 1990-06-07 1995-11-02 International Business Machines Corporation System for test data storage reduction
US5659555A (en) 1993-08-19 1997-08-19 Lucent Technologies Inc. Method and apparatus for testing protocols
US5469443A (en) * 1993-10-01 1995-11-21 Hal Computer Systems, Inc. Method and apparatus for testing random access memory
US5517432A (en) * 1994-01-31 1996-05-14 Sony Corporation Of Japan Finite state machine transition analyzer
US5604895A (en) * 1994-02-22 1997-02-18 Motorola Inc. Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs
US5539680A (en) * 1994-08-03 1996-07-23 Sun Microsystem, Inc. Method and apparatus for analyzing finite state machines
US5537580A (en) * 1994-12-21 1996-07-16 Vlsi Technology, Inc. Integrated circuit fabrication using state machine extraction from behavioral hardware description language
US5555270A (en) 1995-03-13 1996-09-10 Motorola Inc. Method and apparatus for constructing unique input/output sequence (UIO) sets utilizing transition distinctness measurements
US5680332A (en) 1995-10-30 1997-10-21 Motorola, Inc. Measurement of digital circuit simulation test coverage utilizing BDDs and state bins
US6141630A (en) * 1997-08-07 2000-10-31 Verisity Design, Inc. System and method for automated design verification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009139293A (ja) * 2007-12-10 2009-06-25 Hitachi Ltd 半導体集積回路の高速テスト

Also Published As

Publication number Publication date
EP1093619B1 (en) 2010-02-10
WO1999059079A1 (en) 1999-11-18
JP3872954B2 (ja) 2007-01-24
US6487704B1 (en) 2002-11-26
DE69942007D1 (de) 2010-03-25
EP1093619A4 (en) 2001-08-16
IL139029A (en) 2006-10-05
EP1093619A1 (en) 2001-04-25
IL139029A0 (en) 2001-11-25
AU3874399A (en) 1999-11-29

Similar Documents

Publication Publication Date Title
JP3872954B2 (ja) 有限状態機械を識別して回路設計を検査するシステムおよび方法
US8560985B1 (en) Configuration-based merging of coverage data results for functional verification of integrated circuits
US6141630A (en) System and method for automated design verification
US8417504B2 (en) Conversion of circuit description to a transaction model
US7490307B2 (en) Automatic generating of timing constraints for the validation/signoff of test structures
US7162706B2 (en) Method for analyzing and validating clock integration properties in circuit systems
US9064068B1 (en) Debuggable opaque IP
KR100463735B1 (ko) 복합 ic의 설계 검증 방법
CN112444731B (zh) 芯片测试方法、装置、处理器芯片及服务器
US20110055780A1 (en) Method for integrated circuit design verification in a verification environment
US7640476B2 (en) Method and system for automated path delay test vector generation from functional tests
KR20000029237A (ko) 반도체 집적 회로 평가 시스템
US7761825B2 (en) Generating testcases based on numbers of testcases previously generated
CN116663462B (zh) 断言验证方法、断言验证平台、电子设备及可读存储介质
KR20040007463A (ko) 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치
US7051301B2 (en) System and method for building a test case including a summary of instructions
Bombieri et al. On the mutation analysis of SystemC TLM-2.0 standard
JPH03120485A (ja) 半導体集積回路の故障個所推定方式
US11740288B1 (en) Localization of multiple scan chain defects per scan chain
JP4183035B2 (ja) 設計支援装置、およびソースコードカバレッジ方法、並びにそのプログラム
US20030204386A1 (en) Class-based system for circuit modeling
JP3595713B2 (ja) テスト容易化設計支援システム
JP2000113006A (ja) 電子回路機能論理検証支援システム
JPH03206531A (ja) テストプログラム自動生成装置
Lai et al. On the HDL active trace–a new concept of HDL debugging

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061023

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees