JP4580722B2 - 試験シミュレータ及び試験シミュレーションプログラム - Google Patents

試験シミュレータ及び試験シミュレーションプログラム Download PDF

Info

Publication number
JP4580722B2
JP4580722B2 JP2004278582A JP2004278582A JP4580722B2 JP 4580722 B2 JP4580722 B2 JP 4580722B2 JP 2004278582 A JP2004278582 A JP 2004278582A JP 2004278582 A JP2004278582 A JP 2004278582A JP 4580722 B2 JP4580722 B2 JP 4580722B2
Authority
JP
Japan
Prior art keywords
test pattern
test
simulation
semiconductor device
output
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
JP2004278582A
Other languages
English (en)
Other versions
JP2006090905A (ja
Inventor
秀樹 多田
光男 堀
孝浩 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
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
Priority to JP2004278582A priority Critical patent/JP4580722B2/ja
Application filed by Advantest Corp filed Critical Advantest Corp
Priority to KR1020077008599A priority patent/KR20070065884A/ko
Priority to CN2005800322729A priority patent/CN101027566B/zh
Priority to PCT/JP2005/017396 priority patent/WO2006033357A1/ja
Priority to EP05785167A priority patent/EP1801603B1/en
Priority to DE602005020168T priority patent/DE602005020168D1/de
Priority to TW094133063A priority patent/TWI353515B/zh
Priority to US11/240,811 priority patent/US7502724B2/en
Publication of JP2006090905A publication Critical patent/JP2006090905A/ja
Application granted granted Critical
Publication of JP4580722B2 publication Critical patent/JP4580722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • 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
    • 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)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、試験シミュレータ及び試験シミュレーションプログラムに関する。特に本発明は、半導体デバイスの試験をシミュレートする試験シミュレータ及び試験シミュレーションプログラムに関する。
現在、VLSI等の半導体デバイスの設計は、Verilog−HDLやVHDL等のハードウェア記述言語(HDL)によって、コンピュータを用いて行われる。そして、このようなHDLを用いた設計は、ビヘイビオラルレベルやゲートレベル等のデバイスシミュレータ(Verilog−HDL/VHDLシミュレータ)を用いることによって、シリコンICとして製造される前に、設計者の意図した機能が果たされるか否かについて検証が行われる。例えば、HDLに基づくシミュレータを用いて、半導体試験装置による半導体デバイスの試験をシミュレートして、当該半導体デバイスの設計を検証する技術が開示されている(例えば、特許文献1参照。)。
特開2002−215712号公報
しかしながら、デバイスシミュレータによってシミュレートされた半導体デバイスの動作速度は、実際の半導体デバイスの動作速度に比べて非常に遅い。従って、デバイスシミュレータを用いてシミュレートされた半導体デバイスの試験は、実際の半導体試験装置と半導体デバイスとを用いた試験に比べて非常に長い時間を要する。このため、半導体デバイスの設計における自動化は、十分に高い効率で行われているとは言えず、より効率的に試験をシミュレートする試験シミュレータが待望されていた。
そこで本発明は、上記の課題を解決することができる試験シミュレータ及び試験シミュレーションプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、半導体デバイスの試験をシミュレートする試験シミュレータであって、半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、新たな試験パターンが、既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、新たな試験パターンが、既存の試験パターンと同一である場合に、半導体デバイスに対して新たな試験パターンを与えることなく、デバイス出力保持手段から出力を読み出して、新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段とを備える。
当該試験シミュレータは、新たな試験パターンが既存の試験パターンと同一ではなかった場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して新たな試験パターンを与えてデバイスシミュレート手段を動作させることによって、半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備えてもよい。当該試験シミュレータは、デバイスシミュレート手段を更に備えてもよい。試験パターン保持手段は、試験パターン生成手段が生成した新たな試験パターンを格納する試験パターン格納手段を有し、デバイス出力保持手段は、新たな試験パターンに応じてデバイスシミュレート手段が生成した半導体デバイスからの出力を格納するデバイス出力格納手段を有してもよい。
試験パターン保持手段は、既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を更に保持しており、シミュレーションスキップ手段は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、試験パターン保持手段に保持された内部レジスタの値と同一であることを、更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。試験パターン保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え始める時の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有してもよい。
試験パターン保持手段は、既存の試験パターンをデバイスシミュレート手段に与え始める時の、半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、デバイス出力保持手段は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に半導体デバイスから得られるべき出力を保持しており、シミュレーションスキップ手段は、新たな試験パターンを与え始める時の半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、試験パターン保持手段に保持された組み合わせのいずれかと同一である場合に、シミュレーション試験の少なくとも一部をスキップしてもよい。
当該試験シミュレータは、既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、シミュレーションスキップ手段により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値保持手段が保持している内部レジスタの値を、半導体デバイスの内部レジスタに設定させるレジスタ値設定手段とを更に備え、試験パターン生成手段は、シミュレーションスキップ手段によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成してもよい。終了レジスタ値保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え終えた後の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有してもよい。
また、本発明の第2の形態においては、半導体デバイスの試験をシミュレートする試験シミュレータとしてコンピュータを機能させる試験シミュレーションプログラムであって、半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、新たな試験パターンが、既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、新たな試験パターンが、既存の試験パターンと同一である場合に、半導体デバイスに対して新たな試験パターンを与えることなく、デバイス出力保持手段から出力を読み出して、新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段とを備える試験シミュレータとしてコンピュータを機能させる。
試験シミュレータは、新たな試験パターンが既存の試験パターンと同一ではなかった場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して新たな試験パターンを与えてデバイスシミュレート手段を動作させることによって、半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備えてもよい。試験シミュレータは、デバイスシミュレート手段を更に備えてもよい。試験パターン保持手段は、試験パターン生成手段が生成した新たな試験パターンを格納する試験パターン格納手段を有し、デバイス出力保持手段は、新たな試験パターンに応じてデバイスシミュレート手段が生成した半導体デバイスからの出力を格納するデバイス出力格納手段を有してもよい。
試験パターン保持手段は、既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を更に保持しており、シミュレーションスキップ手段は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、試験パターン保持手段に保持された内部レジスタの値と同一であることを、更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。試験パターン保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え始める時の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有してもよい。
試験パターン保持手段は、既存の試験パターンをデバイスシミュレート手段に与え始める時の、半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、デバイス出力保持手段は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に半導体デバイスから得られるべき出力を保持しており、シミュレーションスキップ手段は、新たな試験パターンを与え始める時の半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、試験パターン保持手段に保持された組み合わせのいずれかと同一である場合に、シミュレーション試験の少なくとも一部をスキップしてもよい。
試験シミュレータは、既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、シミュレーションスキップ手段により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値保持手段が保持している内部レジスタの値を、半導体デバイスの内部レジスタに設定させるレジスタ値設定手段とを更に備え、試験パターン生成手段は、シミュレーションスキップ手段によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成してもよい。終了レジスタ値保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え終えた後の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有してもよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、実際の半導体デバイスに比べて動作速度の遅いデバイスシミュレータを用いて半導体デバイスの試験をシミュレートする場合において、効率的に試験をシミュレートして、シミュレーション試験に要する時間を短縮することができる
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の実施形態に係る試験シミュレーションシステム10の機能構成の一例を示すブロック図である。試験シミュレーションシステム10は、試験シミュレータ制御手段20、試験シミュレータ30、デバイスシミュレート手段40を備える。試験シミュレーションシステム10は、半導体試験装置を用いて半導体デバイスを試験することによって、当該半導体デバイスの良否を判定する代わりに、半導体試験装置をソフトウェアによってシミュレートする試験シミュレータ30と、半導体デバイスをソフトウェアによってシミュレートするデバイスシミュレート手段40とを用いて、当該半導体デバイスの試験をシミュレートすることによって、当該半導体デバイスの良否を判定する。なお、本例における試験シミュレーションシステム10は、半導体デバイスに試験パターンを与えて、当該試験パターンに応じて当該半導体デバイスから出力された出力信号を期待値と比較することにより、当該半導体デバイスの良否を判定する機能試験をシミュレートする。
本発明の実施形態に係る試験シミュレータ30は、デバイスシミュレート手段40に与える試験パターンが、例えば以前に用いた試験パターン等の、既存の試験パターンと同一である場合には、デバイスシミュレート手段40における半導体デバイスの出力を生成する処理をスキップすることにより、シミュレーション試験に要する時間を短縮することを目的とする。
試験シミュレータ制御手段20は、試験シミュレータ30を制御して、デバイスシミュレート手段40に対してシミュレーション試験を実行させる。ここで、試験シミュレータ制御手段20は、デバイスシミュレート手段40が動作をシミュレートする半導体デバイスに対応してユーザにより作成された、当該半導体デバイスに対して行うべき試験の手順や方法等が記述された試験プログラムに基づいて、試験シミュレータ30を制御してよい。また、試験プログラムは、例えば、試験シミュレータ30がデバイスシミュレート手段40に対して模擬的な機能試験を行う場合における、デバイスシミュレート手段40に対して供給する試験パターン、デバイスシミュレート手段40が当該試験パターンに応じて生成する半導体デバイスの出力の期待値、及び当該出力を当該期待値と比較するタイミングを示すタイミング情報等を含んでいてよい。
試験シミュレータ30は、半導体デバイスの動作をシミュレートするデバイスシミュレート手段40に対して模擬的な試験を行うことにより、当該半導体デバイスの試験をシミュレートする。試験シミュレータ30は、試験パターン生成手段300、試験パターン保持手段310、試験パターン判断手段320、デバイス出力生成手段330、デバイス出力保持手段、シミュレーションスキップ手段、終了レジスタ値保持手段360、レジスタ値設定手段370、期待値保持手段380、及び論理比較手段390を有する。なお、本図に示した構成において、試験シミュレータ30は、デバイスシミュレート手段40を備えていないが、他の構成においては、試験シミュレータ30が、デバイスシミュレート手段40を備えていてもよい。
試験パターン生成手段300は、試験シミュレータ制御手段20の制御に基づいて、デバイスシミュレート手段40によりシミュレートされる半導体デバイスに与えるべき新たな試験パターンを生成し、生成した試験パターンを試験パターン保持手段310及び試験パターン判断手段320に出力する。試験パターン保持手段310は、試験パターン格納手段312、開始レジスタ値格納手段314、及び試験パターンデータベース316を含む。試験パターン格納手段312は、試験パターン生成手段300が生成した新たな試験パターンを、試験パターンデータベース316に格納する。開始レジスタ値格納手段314は、新たな試験パターンをデバイスシミュレート手段40に対して与え始める時の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段40から受け取って、試験パターンデータベース316に格納する。試験パターンデータベース316は、デバイスシミュレート手段40によりシミュレートされる半導体デバイスに与えるべき既存の試験パターンを保持する。ここで、既存の試験パターンとは、例えば、以前にデバイスシミュレート手段40によりシミュレートされる半導体デバイスに与えた試験パターンであってよく、また、典型的な試験パターン等の、予め定められた試験パターンであってもよい。更に、試験パターンデータベース316は、保持している既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を保持する。
試験パターン判断手段320は、試験パターン生成手段300から受け取った新たな試験パターンが、試験パターンデータベース316に保持されている既存の試験パターンと同一であるか否かを判断する。また、試験パターン判断手段320は、新たな試験パターンを与え始める時の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段40から受け取ると共に、受け取った内部レジスタの値が、試験パターンデータベース316に保持されている、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かを更に判断してもよい。この場合において、試験パターン判断手段320は、新たな試験パターンと既存の試験パターンとの内容が同一であっても、当該新たな試験パターンを与え始める時と、当該既存の試験パターンを与え始める時とのそれぞれにおいて、内部レジスタの値が同一でない場合には、当該新たな試験パターンと当該既存の試験パターンとは同一ではないと判断してよい。そして、試験パターン判断手段320は、判断結果をデバイス出力生成手段330、シミュレーションスキップ手段350、及びレジスタ値設定手段370に出力すると共に、新たな試験パターンは既存の試験パターンと同一ではない判断した場合には、試験パターン生成手段300から受け取った新たな試験パターンを、デバイス出力生成手段330に更に出力する。
デバイス出力生成手段330は、試験パターン生成手段300が生成した新たな試験パターンが、試験パターンデータベース316に保持されている既存の試験パターンと同一ではないと試験パターン判断手段320によって判断された場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段40に対して、試験パターン判断手段320から受け取った当該新たな試験パターンを与えて、デバイスシミュレート手段40を動作させることによって、半導体デバイスからの出力を生成させる。そして、デバイス出力生成手段330は、デバイスシミュレート手段40に生成させた半導体デバイスの出力を受け取り、受け取った出力をデバイス出力保持手段340に出力する。また、デバイス出力生成手段330は、新たな試験パターンをデバイスシミュレート手段40に与え始める時の、半導体デバイスの内部レジスタの値を、デバイスシミュレート手段40から取得する。そして、デバイス出力生成手段330は、取得した内部レジスタの値を開始レジスタ値格納手段314に出力して、試験パターンデータベース316に格納させる。また、デバイス出力生成手段330は、取得した内部レジスタの値を試験パターン判断手段320に出力して、試験パターンデータベース316に保持されている、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かを判断させる。更に、デバイス出力生成手段330は、新たな試験パターンをデバイスシミュレート手段40に与え終えて、半導体デバイスの出力を生成させた後の、当該半導体デバイスの内部レジスタの値を、デバイスシミュレート手段40から取得する。そして、デバイス出力生成手段330は、取得した内部レジスタの値を終了レジスタ値保持手段360に出力する。
デバイス出力保持手段340は、デバイス出力生成手段330から受け取った、デバイスシミュレート手段40が生成した半導体デバイスの出力を、シミュレーションスキップ手段350に出力する。また、デバイス出力保持手段340は、デバイス出力格納手段342及びデバイス出力データベース344を含む。デバイス出力格納手段342は、試験パターン生成手段300が生成した新たな試験パターンに応じてデバイスシミュレート手段40が生成した半導体デバイスからの出力を、デバイス出力生成手段330から受け取って、デバイス出力データベース344に格納する。デバイス出力データベース344は、デバイスシミュレート手段40によりシミュレートされる半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持する。なお、デバイス出力データベース344は、デバイス出力格納手段342により格納された出力だけでなく、例えば典型的な試験パターンに応じた出力等の、予め定められた出力を保持していてもよい。
シミュレーションスキップ手段350は、試験パターン生成手段300が生成した新たな試験パターンが、試験パターンデータベース316に保持されている既存の試験パターンと同一であるか否かの判断結果を、試験パターン判断手段320から受け取る。そして、シミュレーションスキップ手段350は、新たな試験パターンが、既存の試験パターンと同一ではない場合に、デバイスシミュレート手段40によって生成された、当該新たな試験パターンに応じた半導体デバイスの出力を、デバイス出力保持手段340から受け取って、論理比較手段390に出力する。一方、シミュレーションスキップ手段350は、新たな試験パターンが、既存の試験パターンと同一である場合、デバイスシミュレート手段40によりシミュレートされる半導体デバイスに対して当該新たな試験パターンを与えることなく、当該既存の試験パターンを半導体デバイスに与えた場合に、半導体デバイスから得られるべき出力を、デバイス出力データベース344から読み出して、当該新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップする。そして、シミュレーションスキップ手段350は、シミュレーション試験の少なくとも一部をスキップする場合に、デバイス出力データベース344から読み出した、既存の試験パターンに対応する半導体デバイスの出力を、論理比較手段390に出力する。なお、シミュレーションスキップ手段350は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かの判断結果を試験パターン判断手段320から受け取った場合は、それぞれにおける内部レジスタの値が同一であることを更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。
終了レジスタ値保持手段360は、終了レジスタ値格納手段362及び終了レジスタ値データベース364を含む。終了レジスタ値格納手段362は、新たな試験パターンをデバイスシミュレート手段40に対して与え終えた後の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイス出力生成手段330から受け取って、終了レジスタ値データベース364に格納する。終了レジスタ値データベース364は、既存の試験パターンを与え終えた後の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を保持する。
レジスタ値設定手段370は、試験パターン生成手段300が生成した新たな試験パターンと、試験パターンデータベース316が保持する既存の試験パターンとが同一であると試験パターン判断手段320によって判断され、シミュレーションスキップ手段350により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値データベース364が保持している、当該既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を読み出す。そして、レジスタ値設定手段370は、読み出した内部レジスタの値を、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタに設定させる。そして、これを受けて、試験パターン生成手段300は、シミュレーションスキップ手段350によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成する。
期待値保持手段380は、試験パターン生成手段300により生成された新たな試験パターンに応じてデバイスシミュレート手段40が生成する半導体デバイスの出力の期待値、及び当該出力と当該期待値とを比較するタイミングを示すタイミング情報を、試験シミュレータ制御手段20から受け取って保持する。論理比較手段390は、試験パターン生成手段300により生成された新たな試験パターンに応じてデバイスシミュレート手段40が生成する半導体デバイスの出力、または当該新たな試験パターンと同一である既存の試験パターンに応じた、デバイス出力データベース344から読み出された出力を、シミュレーションスキップ手段350から受け取る。そして、論理比較手段390は、期待値保持手段380により保持されているタイミング情報に基づくタイミングにおいて、シミュレーションスキップ手段350から受け取った半導体デバイスの出力が、期待値保持手段380により保持されている期待値と一致するか否かにより、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの良否を判定し、判定結果を試験シミュレータ制御手段20に出力する。
本発明の実施形態に係る試験シミュレータ30によれば、デバイスシミュレート手段40に与えるべき新たな試験パターンが、例えば以前に与えた試験パターンや典型的な試験パターン等の、既存の試験パターンと同一である場合には、当該新たな試験パターンに基づいてデバイスシミュレート手段40に半導体デバイスの出力を生成させることなく、デバイス出力データベース344に予め保持されている、当該既存の試験パターンに対する出力を、当該新たな試験パターンに対する出力として期待値と比較することができる。これにより、例えば、半導体デバイスの出力と比較する期待値や、出力を期待値と比較するタイミング等を変更する場合のように、デバイスシミュレート手段40に与える試験パターンは変更せずにシミュレーション試験を再実行する場合等において、デバイスシミュレート手段40が半導体デバイスの出力を生成するという、多大な時間を要する処理の少なくとも一部をスキップして、シミュレーション試験に要する時間を短縮することができる。一方、新たな試験パターンとして、既存の試験パターンとは異なる試験パターンを用いる場合には、実際にデバイスシミュレート手段40を動作させて半導体デバイスの出力を生成させることができるので、用いる試験パターンの内容に関わらず、シミュレーション試験に要する時間を可能な限り短縮することができる。
また、試験シミュレータ30によれば、新たな試験パターンと既存の試験パターンとが同一であるという条件に加えて、それぞれの試験パターンをデバイスシミュレート手段40に与え始める時の、半導体デバイスの内部レジスタの値が同一であるという条件が満たされる場合にのみ、シミュレーション試験の少なくとも一部をスキップすることができる。これにより、デバイスシミュレート手段40が、与えられる試験パターンが同一であっても、内部レジスタの値が同一でない場合には異なる出力を生成する場合においても、シミュレーション試験をスキップすべきか否かを正確に判断することができる。
新たな試験パターンと既存の試験パターンとが同一であると判断してシミュレーション試験をスキップした場合、デバイスシミュレート手段40は、当該新たな試験パターンに基づいて動作しないので、デバイスシミュレート手段40がシミュレートする半導体デバイスの内部レジスタは変化しない。つまり、多くの場合において、シミュレーション試験をスキップした場合と、スキップしなかった場合とで、内部レジスタの値は異なる。この場合、シミュレーション試験をスキップした後で、次の新たな試験パターンを用いてシミュレーション試験を再開することはできない。このため、例えば、試験シーケンス全体といった、内部レジスタの初期化を行った直後から、次に内部レジスタの初期化を行うまでの期間等の、非常に長い期間以外ではシミュレーション試験をスキップすることができず、シミュレーション試験に要する時間を効率的に短縮できない。
しかし、本発明の実施形態に係る試験シミュレータ30によれば、新たな試験パターンと既存の試験パターンとが同一であると判断してシミュレーション試験をスキップした場合において、以前に、当該既存の試験パターンをデバイスシミュレート手段40に与え終えた後の、半導体デバイスの内部レジスタの値を、終了レジスタ値データベース364から読み出してデバイスシミュレート手段40に設定することができる。従って、シミュレーション試験をスキップした場合と、スキップしなかった場合とで、内部レジスタの値を同一にすることができるので、スキップした後でシミュレーション試験を再開することができる。これにより、シミュレーション試験をスキップすることができる期間、即ち新たな試験パターンと既存の試験パターンとが同一であるか否かを判断する場合における試験パターンの長さを、より短くすることができるので、より多くの場合において、シミュレーション試験をスキップすることができる。つまり、試験シミュレータ30によれば、試験シミュレーションに要する時間を、効率的に短縮することができる。
図2は、本発明の実施形態に係る試験パターンデータベース316の一例を示す。試験パターンデータベース316は、既存の試験パターンと、当該既存の試験パターンをデバイスシミュレート手段40に与え始める時の、半導体デバイスの内部レジスタの値との組み合わせを複数保持している。例えば、試験パターンデータベース316は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンと、当該既存の試験パターンをデバイスシミュレート手段40に与え始める時の、半導体デバイスの内部レジスタの値とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段300によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよい。また、既存の試験パターンのそれぞれは、例えば、信号の立ち上がりや立ち下がりといったイベントの種類と、当該イベントの発生タイミングとの複数の組み合わせを含んでいてよい。なお、ここで、イベントの発生タイミングとは、例えば、半導体デバイスの試験における試験サイクルの開始時点からの経過時間であってよく、また、直前のイベントの発生時点からの経過時間であってもよい。また、内部レジスタの値は、複数の内部レジスタそれぞれの値を含んでいてよい。
図3は、本発明の実施形態に係るデバイス出力データベース344の一例を示す。デバイス出力データベース344は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に、デバイスシミュレート手段40によりシミュレートされる半導体デバイスから得られるべき出力を保持している。例えば、デバイス出力データベース344は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンを与えた場合の、デバイスシミュレート手段40からの出力とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段300によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよく、図2に示した試験パターンデータベース316におけるインデックスと同一であってよい。
図4は、本発明の実施形態に係る終了レジスタ値データベース364の一例を示す。終了レジスタ値データベース364は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与え終えた後の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を保持している。例えば、終了レジスタ値データベース364は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンを与えた場合の内部レジスタの値とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段300によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよく、図2に示した試験パターンデータベース316におけるインデックスと同一であってよい。また、内部レジスタの値は、複数の内部レジスタそれぞれの値を含んでいてよい。
本発明の実施形態に係る試験シミュレータ30によれば、既存の試験パターンと、当該既存の試験パターンを与え始める時の内部レジスタの値と、当該既存の試験パターンが与えられた場合の半導体デバイスの出力と、当該既存の試験パターンを与え終えた時の内部レジスタの値との組み合わせを、複数保持することができる。これにより、多様な試験パターンを用いる場合であっても、シミュレーション試験においてスキップすることができる部分を精度よく検出して、シミュレーション試験に要する時間を効率的に短縮することができる。
図5は、本発明の実施形態に係る試験シミュレータ30における処理の流れの一例を示すフローチャートである。まず、試験パターン生成手段300は、デバイスシミュレート手段40によりシミュレートされる半導体デバイスに与えるべき新たな試験パターンを生成する(S1000)。続いて、デバイス出力生成手段330は、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段40から取得する(S1010)。続いて、試験パターン判断手段320は、試験パターン生成手段300が生成した新たな試験パターンと、当該新たな試験パターンを与え始める時の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値との組み合わせが、試験パターンデータベース316に保持された、既存の試験パターンと、当該既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値との複数の組み合わせの何れかと同一であるか否かを判断する(S1020)。
そして、新たな試験パターンにおける前述した組み合わせが、試験パターンデータベース316に保持されている、複数の既存の試験パターンのそれぞれにおける前述した組み合わせの何れかと同一であると試験パターン判断手段320により判断された場合に(S1020:Yes)、シミュレーションスキップ手段350は、デバイスシミュレート手段40によりシミュレートされている半導体デバイスに対して当該新たな試験パターンを与えることなく、当該既存の試験パターンを半導体デバイスに与えた場合に半導体デバイスから得られるべき出力をデバイス出力データベース344から読み出して、当該新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップする(S1030)。続いて、レジスタ値設定手段370は、新たな試験パターンと同一であると判断された既存の試験パターンをデバイスシミュレート手段40に与え終えた後の、デバイスシミュレート手段40がシミュレートする半導体デバイスの内部レジスタの値を、終了レジスタ値データベース364から読み出して、半導体デバイスの内部レジスタに設定させる(S1040)。
一方、新たな試験パターンにおける前述した組み合わせが、試験パターンデータベース316に保持されている、複数の既存の試験パターンのそれぞれにおける前述した組み合わせの何れとも同一ではないと試験パターン判断手段320により判断された場合に(S1020:No)、デバイス出力生成手段330は、新たな試験パターンをデバイスシミュレート手段40に与えて、デバイスシミュレート手段40を動作させることによって、半導体デバイスからの出力を生成させる(S1050)。続いて、デバイス出力格納手段342は、新たな試験パターンに応じてデバイスシミュレート手段40が生成した半導体デバイスの出力を、デバイス出力データベース344に格納する(S1060)。続いて、試験パターン保持手段310は、新たな試験パターン、及び当該新たな試験パターンをデバイスシミュレート手段40に対して与え始めた時の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、試験パターンデータベース316に格納する(S1070)。続いて、終了レジスタ値格納手段362は、新たな試験パターンをデバイスシミュレート手段40に対して与え終えた後の、デバイスシミュレート手段40によりシミュレートされる半導体デバイスの内部レジスタの値を、終了レジスタ値データベース364に格納する(S1080)。
続いて、論理比較手段390は、シミュレーションスキップ手段350によってシミュレーション試験がスキップされた場合には、デバイス出力データベース344から読み出された、既存の試験パターンに対応する出力を、また、シミュレーション試験がスキップされなかった場合には、デバイス出力生成手段330が、デバイスシミュレート手段40に生成させた出力を、期待値と比較することにより、デバイスシミュレート手段40がシミュレートする半導体デバイスの良否を判定する(S1090)。なお、試験シミュレータ30は、必要に応じて、以上の処理を繰り返し行ってもよい。
本発明の実施形態に係る試験シミュレータ30によれば、新たな試験パターンと当該新たな試験パターンを与え始める時の内部レジスタの値との組み合わせが、既存の試験パターンと当該既存の試験パターンを与え始める時の内部レジスタの値との組み合わせと同一でない場合には、当該新たな試験パターンと、当該新たな試験パターンを与え始める時の内部レジスタの値と、当該新たな試験パターンに応じて生成された半導体デバイスの出力と、当該半導体デバイスの出力が生成された後の、内部レジスタの値との組み合わせを、既存の試験パターンにおける組み合わせの1つとして格納することができる。これにより、以降に、同じ試験パターンが新たな試験パターンとして用いられる場合には、当該試験パターンについてのシミュレーション試験をスキップすることができる。つまり、試験パターンにおける前述した組み合わせが予め保持されていなくとも、シミュレーション試験を実行するに従って、より効率的にシミュレーション試験をスキップして、シミュレーション試験に要する時間を短縮することができる。
なお、試験パターン判断手段320により、新たな試験パターンを与え始める時の内部レジスタの値が同一であるか否かが判断される場合においては、必ずしも、デバイスシミュレート手段40がシミュレートする半導体デバイスにおけるすべてのレジスタが同一であるか否かが判断されなくともよく、試験シミュレータ30によってシミュレートされる試験において、同一の試験パターンを与えることによって同一の出力が得られる場合に一致しているべき種類の内部レジスタが、少なくとも一致していればよい。また、試験シミュレータ30は、新たな試験パターンと当該新たな試験パターンを与え始める時の内部レジスタの値との組み合わせ、及び既存の試験パターンと当該既存の試験パターンを与え始める時の内部レジスタの値との組み合わせが同一であると判断し、シミュレーション試験をスキップした後で、更に新たな試験パターンと既存の試験パターンとが一致する場合には、試験パターンを与え始める時の内部レジスタの値が互いに同一であるか否かを判断せずに、シミュレーション試験をスキップしてよい。更に、試験シミュレータ30は、試験パターンと当該試験パターンを与え始める時の内部レジスタの値との組み合わせが同一であると判断し、シミュレーション試験をスキップした場合において、続いて用いる新たな試験パターンと既存の試験パターンとが更に一致する場合には、半導体デバイスの出力が生成された後の内部レジスタの値を設定しなくともよい。
図6は、本発明の実施形態に係るコンピュータ1500のハードウェア構成の一例を示すブロック図である。本発明の実施形態に係るコンピュータ1500は、ホスト・コントローラ1582により相互に接続されるCPU1505、RAM1520、グラフィック・コントローラ1575、及び表示装置1580を有するCPU周辺部と、入出力コントローラ1584によりホスト・コントローラ1582に接続される通信インターフェイス1530、ハードディスクドライブ1540、及びCD−ROMドライブ1560を有する入出力部と、入出力コントローラ1584に接続されるROM1510、フレキシブルディスク・ドライブ1550、及び入出力チップ1570を有するレガシー入出力部とを備える。
ホスト・コントローラ1582は、RAM1520と、高い転送レートでRAM1520をアクセスするCPU1505及びグラフィック・コントローラ1575とを接続する。CPU1505は、ROM1510及びRAM1520に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ1575は、CPU1505等がRAM1520内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置1580上に表示させる。これに代えて、グラフィック・コントローラ1575は、CPU1505等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ1584は、ホスト・コントローラ1582と、比較的高速な入出力装置である通信インターフェイス1530、ハードディスクドライブ1540、CD−ROMドライブ1560を接続する。通信インターフェイス1530は、ネットワークを介して他の装置と通信する。ハードディスクドライブ1540は、コンピュータ1500内のCPU1505が使用するプログラム及びデータを格納する。CD−ROMドライブ1560は、CD−ROM1595からプログラム又はデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。
また、入出力コントローラ1584には、ROM1510と、フレキシブルディスク・ドライブ1550、及び入出力チップ1570の比較的低速な入出力装置とが接続される。ROM1510は、コンピュータ1500が起動時に実行するブート・プログラムや、コンピュータ1500のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1550は、フレキシブルディスク1590からプログラム又はデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。入出力チップ1570は、フレキシブルディスク・ドライブ1550や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM1520を介してハードディスクドライブ1540に提供される試験シミュレーションプログラムは、フレキシブルディスク1590、CD−ROM1595、又はICカード等の記録媒体に格納されて利用者によって提供される。試験シミュレーションプログラムは、記録媒体から読み出され、RAM1520を介してコンピュータ1500内のハードディスクドライブ1540にインストールされ、CPU1505において実行される。コンピュータ1500にインストールされて実行される試験シミュレーションプログラムは、CPU1505等に働きかけて、コンピュータ1500を、図1から図5にかけて説明した試験シミュレータ30として機能させる。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1590、CD−ROM1595の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1500に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
本発明の実施形態に係る試験シミュレーションシステム10の機能構成の一例を示すブロック図である。 本発明の実施形態に係る試験パターンデータベース316の一例を示す図である。 本発明の実施形態に係るデバイス出力データベース344の一例を示す図である。 本発明の実施形態に係る終了レジスタ値データベース364の一例を示す図である。 本発明の実施形態に係る試験シミュレータ30における処理の流れの一例を示すフローチャートである。 本発明の実施形態に係るコンピュータ1500のハードウェア構成の一例を示すブロック図である。
符号の説明
10 試験シミュレーションシステム、20 試験シミュレータ制御手段、30 試験シミュレータ、40 デバイスシミュレート手段、300 試験パターン生成手段、310 試験パターン保持手段、312 試験パターン格納手段、314 開始レジスタ値格納手段、316 試験パターンデータベース、320 試験パターン判断手段、330 デバイス出力生成手段、340 デバイス出力保持手段、342 デバイス出力格納手段、344 デバイス出力データベース、350 シミュレーションスキップ手段、360 終了レジスタ値保持手段、362 終了レジスタ値格納手段、364 終了レジスタ値データベース、370 レジスタ値設定手段、380 期待値保持手段、390 論理比較手段

Claims (18)

  1. 半導体デバイスの試験をシミュレートする試験シミュレータであって、
    前記半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、
    前記半導体デバイスに前記既存の試験パターンを与えた場合に、前記半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、
    前記半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、
    前記新たな試験パターンが、前記既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、
    前記新たな試験パターンが、前記既存の試験パターンと同一である場合に、前記半導体デバイスに対して前記新たな試験パターンを与えることなく、前記デバイス出力保持手段から出力を読み出して、前記新たな試験パターンに対する前記半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段と
    を備える試験シミュレータ。
  2. 前記新たな試験パターンが前記既存の試験パターンと同一ではなかった場合に、前記半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して前記新たな試験パターンを与えて前記デバイスシミュレート手段を動作させることによって、前記半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備える請求項1に記載の試験シミュレータ。
  3. 前記デバイスシミュレート手段を更に備える請求項2に記載の試験シミュレータ。
  4. 前記試験パターン保持手段は、前記試験パターン生成手段が生成した前記新たな試験パターンを格納する試験パターン格納手段を有し、
    前記デバイス出力保持手段は、前記新たな試験パターンに応じて前記デバイスシミュレート手段が生成した前記半導体デバイスからの出力を格納するデバイス出力格納手段を有する
    請求項2または3に記載の試験シミュレータ。
  5. 前記試験パターン保持手段は、前記既存の試験パターンを与え始める時の、前記半導体デバイスの内部レジスタの値を更に保持しており、
    前記シミュレーションスキップ手段は、前記新たな試験パターンを前記半導体デバイスに与え始める時の、前記半導体デバイスの内部レジスタの値が、前記試験パターン保持手段に保持された前記内部レジスタの値と同一であることを、更に条件として、前記シミュレーション試験の少なくとも一部をスキップする
    請求項2から4のいずれか一項に記載の試験シミュレータ。
  6. 前記試験パターン保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え始める時の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有する請求項5に記載の試験シミュレータ。
  7. 前記試験パターン保持手段は、前記既存の試験パターンを前記デバイスシミュレート手段に与え始める時の、前記半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、
    前記デバイス出力保持手段は、複数の前記既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に前記半導体デバイスから得られるべき出力を保持しており、
    前記シミュレーションスキップ手段は、前記新たな試験パターンを与え始める時の前記半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、前記試験パターン保持手段に保持された前記組み合わせのいずれかと同一である場合に、前記シミュレーション試験の少なくとも一部をスキップする
    請求項6に記載の試験シミュレータ。
  8. 前記既存の試験パターンを与え終えた後の、前記半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、
    前記シミュレーションスキップ手段により、前記シミュレーション試験の少なくとも一部がスキップされた場合に、前記終了レジスタ値保持手段が保持している内部レジスタの値を、前記半導体デバイスの内部レジスタに設定させるレジスタ値設定手段と
    を更に備え、
    前記試験パターン生成手段は、前記シミュレーションスキップ手段によりスキップされた前記シミュレーション試験を再開させるべく、前記新たな試験パターンを生成する
    請求項5から7のいずれか一項に記載の試験シミュレータ。
  9. 前記終了レジスタ値保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え終えた後の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有する請求項8に記載の試験シミュレータ。
  10. 半導体デバイスの試験をシミュレートする試験シミュレータとしてコンピュータを機能させる試験シミュレーションプログラムであって、
    前記半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、
    前記半導体デバイスに前記既存の試験パターンを与えた場合に、前記半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、
    前記半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、
    前記新たな試験パターンが、前記既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、
    前記新たな試験パターンが、前記既存の試験パターンと同一である場合に、前記半導体デバイスに対して前記新たな試験パターンを与えることなく、前記デバイス出力保持手段から出力を読み出して、前記新たな試験パターンに対する前記半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段と
    を備える試験シミュレータとして前記コンピュータを機能させる試験シミュレーションプログラム。
  11. 前記新たな試験パターンが前記既存の試験パターンと同一ではなかった場合に、前記半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して前記新たな試験パターンを与えて前記デバイスシミュレート手段を動作させることによって、前記半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備える試験シミュレータとして前記コンピュータを機能させる請求項10に記載の試験シミュレーションプログラム。
  12. 前記デバイスシミュレート手段を更に備える試験シミュレータとして前記コンピュータを機能させる請求項11に記載の試験シミュレーションプログラム
  13. 前記試験パターン保持手段は、前記試験パターン生成手段が生成した前記新たな試験パターンを格納する試験パターン格納手段を有し、
    前記デバイス出力保持手段は、前記新たな試験パターンに応じて前記デバイスシミュレート手段が生成した前記半導体デバイスからの出力を格納するデバイス出力格納手段を有する
    請求項11または12に記載の試験シミュレーションプログラム。
  14. 前記試験パターン保持手段は、前記既存の試験パターンを与え始める時の、前記半導体デバイスの内部レジスタの値を更に保持しており、
    前記シミュレーションスキップ手段は、前記新たな試験パターンを前記半導体デバイスに与え始める時の、前記半導体デバイスの内部レジスタの値が、前記試験パターン保持手段に保持された前記内部レジスタの値と同一であることを、更に条件として、前記シミュレーション試験の少なくとも一部をスキップする
    請求項11から13のいずれか一項に記載の試験シミュレーションプログラム。
  15. 前記試験パターン保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え始める時の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有する試験シミュレータとして前記コンピュータを機能させる請求項14に記載の試験シミュレーションプログラム。
  16. 前記試験パターン保持手段は、前記既存の試験パターンを前記デバイスシミュレート手段に与え始める時の、前記半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、
    前記デバイス出力保持手段は、複数の前記既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に前記半導体デバイスから得られるべき出力を保持しており、
    前記シミュレーションスキップ手段は、前記新たな試験パターンを与え始める時の前記半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、前記試験パターン保持手段に保持された前記組み合わせのいずれかと同一である場合に、前記シミュレーション試験の少なくとも一部をスキップする
    請求項15に記載の試験シミュレーションプログラム。
  17. 前記試験シミュレータは、
    前記既存の試験パターンを与え終えた後の、前記半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、
    前記シミュレーションスキップ手段により、前記シミュレーション試験の少なくとも一部がスキップされた場合に、前記終了レジスタ値保持手段が保持している内部レジスタの値を、前記半導体デバイスの内部レジスタに設定させるレジスタ値設定手段と
    を更に備え、
    前記試験パターン生成手段は、前記シミュレーションスキップ手段によりスキップされた前記シミュレーション試験を再開させるべく、前記新たな試験パターンを生成する
    請求項14から16のいずれか一項に記載の試験シミュレーションプログラム。
  18. 前記終了レジスタ値保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え終えた後の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有する試験シミュレータとして前記コンピュータを機能させる請求項17に記載の試験シミュレーションプログラム。
JP2004278582A 2004-09-24 2004-09-24 試験シミュレータ及び試験シミュレーションプログラム Expired - Fee Related JP4580722B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2004278582A JP4580722B2 (ja) 2004-09-24 2004-09-24 試験シミュレータ及び試験シミュレーションプログラム
CN2005800322729A CN101027566B (zh) 2004-09-24 2005-09-21 测试模拟器及测试模拟方法
PCT/JP2005/017396 WO2006033357A1 (ja) 2004-09-24 2005-09-21 試験シミュレータ、試験シミュレーションプログラム、及び記録媒体
EP05785167A EP1801603B1 (en) 2004-09-24 2005-09-21 Test simulator, test simulation program and recording medium
KR1020077008599A KR20070065884A (ko) 2004-09-24 2005-09-21 시험 시뮬레이터, 시험 시뮬레이션 프로그램, 및 기록 매체
DE602005020168T DE602005020168D1 (de) 2004-09-24 2005-09-21 Testsimulator, testsimulationsprogramm und aufzeichnungsmedium
TW094133063A TWI353515B (en) 2004-09-24 2005-09-23 Testing simulator, testing simulatin program and r
US11/240,811 US7502724B2 (en) 2004-09-24 2005-09-30 Test simulator, test simulation program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004278582A JP4580722B2 (ja) 2004-09-24 2004-09-24 試験シミュレータ及び試験シミュレーションプログラム

Publications (2)

Publication Number Publication Date
JP2006090905A JP2006090905A (ja) 2006-04-06
JP4580722B2 true JP4580722B2 (ja) 2010-11-17

Family

ID=36090114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004278582A Expired - Fee Related JP4580722B2 (ja) 2004-09-24 2004-09-24 試験シミュレータ及び試験シミュレーションプログラム

Country Status (8)

Country Link
US (1) US7502724B2 (ja)
EP (1) EP1801603B1 (ja)
JP (1) JP4580722B2 (ja)
KR (1) KR20070065884A (ja)
CN (1) CN101027566B (ja)
DE (1) DE602005020168D1 (ja)
TW (1) TWI353515B (ja)
WO (1) WO2006033357A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4684183B2 (ja) * 2006-08-09 2011-05-18 株式会社日立ハイテクエンジニアリングサービス 半導体試験装置のテストプログラム生成システム
US8037357B2 (en) * 2009-03-24 2011-10-11 Visa U.S.A. Inc. System and method for generating test job control language files
KR20110003182A (ko) 2009-07-03 2011-01-11 삼성전자주식회사 인쇄 회로 기판 설계 방법 및 인쇄 회로 기판을 포함하는 패키지 테스트 디바이스
US9404743B2 (en) * 2012-11-01 2016-08-02 Taiwan Semiconductor Manufacturing Company, Ltd. Method for validating measurement data
US10539609B2 (en) 2014-12-08 2020-01-21 Nxp Usa, Inc. Method of converting high-level test specification language to low-level test implementation language
US10755014B2 (en) * 2018-03-14 2020-08-25 Montana Systems Inc. Event-driven design simulation
TWI700584B (zh) * 2018-07-06 2020-08-01 華邦電子股份有限公司 測試系統及適應性測試程式產生方法
CN112069015B (zh) * 2020-11-10 2021-02-23 鹏城实验室 指令模拟器指令执行方法、装置、终端设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003315419A (ja) * 2002-04-24 2003-11-06 Ando Electric Co Ltd シミュレート領域範囲設定機能を有するマイクロプログラムシミュレータ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769392B2 (ja) * 1987-03-20 1995-07-31 富士通株式会社 論理回路の故障箇所推定方法
JPH0361871A (ja) * 1989-07-31 1991-03-18 Hitachi Ltd シミュレーシヨン処理装置
DE69114183T2 (de) * 1990-06-07 1996-05-30 Ibm System zur Reduzierung von Prüfdatenspeichern.
JP3247937B2 (ja) * 1992-09-24 2002-01-21 株式会社日立製作所 論理集積回路
US5913022A (en) * 1995-08-31 1999-06-15 Schlumberger Technologies, Inc. Loading hardware pattern memory in automatic test equipment for testing circuits
US6167545A (en) * 1998-03-19 2000-12-26 Xilinx, Inc. Self-adaptive test program
US6249891B1 (en) * 1998-07-02 2001-06-19 Advantest Corp. High speed test pattern evaluation apparatus
US6308292B1 (en) * 1998-12-08 2001-10-23 Lsi Logic Corporation File driven mask insertion for automatic test equipment test pattern generation
US6321363B1 (en) * 1999-01-11 2001-11-20 Novas Software Inc. Incremental simulation using previous simulation results and knowledge of changes to simulation model to achieve fast simulation time
US7089517B2 (en) 2000-09-29 2006-08-08 Advantest Corp. Method for design validation of complex IC
JP3795822B2 (ja) * 2002-04-03 2006-07-12 Necエレクトロニクス株式会社 組込み自己テスト回路及び設計検証方法
US6973633B2 (en) * 2002-07-24 2005-12-06 George Lippincott Caching of lithography and etch simulation results
CN1318965C (zh) * 2002-09-10 2007-05-30 华邦电子股份有限公司 测试式样产生方法与其装置
JP3833982B2 (ja) * 2002-10-03 2006-10-18 株式会社東芝 テストパターン選択装置、テストパターン選択方法、及びテストパターン選択プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003315419A (ja) * 2002-04-24 2003-11-06 Ando Electric Co Ltd シミュレート領域範囲設定機能を有するマイクロプログラムシミュレータ

Also Published As

Publication number Publication date
DE602005020168D1 (de) 2010-05-06
EP1801603B1 (en) 2010-03-24
EP1801603A1 (en) 2007-06-27
TWI353515B (en) 2011-12-01
WO2006033357A1 (ja) 2006-03-30
CN101027566B (zh) 2010-10-27
TW200611118A (en) 2006-04-01
US7502724B2 (en) 2009-03-10
EP1801603A4 (en) 2008-07-23
CN101027566A (zh) 2007-08-29
US20060085682A1 (en) 2006-04-20
JP2006090905A (ja) 2006-04-06
KR20070065884A (ko) 2007-06-25

Similar Documents

Publication Publication Date Title
JP4667206B2 (ja) マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法
US6110218A (en) Generation of multiple simultaneous random test cycles for hardware verification of multiple functions of a design under test
EP1801603B1 (en) Test simulator, test simulation program and recording medium
US7506291B2 (en) Test emulator, emulation program and method for manufacturing semiconductor device
IL139029A (en) System and method for identifying machines for final states and verifying circuit designs
US6704891B2 (en) Method for verifying and improving run-time of a memory test
US20070067150A1 (en) Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator
US7137087B1 (en) Integrated circuit verification scheme
US7266795B2 (en) System and method for engine-controlled case splitting within multiple-engine based verification framework
US7502966B2 (en) Testcase generation via a pool of parameter files
JP2003141206A (ja) Lsiテスト・データのタイミング検証方法およびlsiテスト・データのタイミング検証プログラム
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US20030237023A1 (en) Associated apparatus and method for supporting development of semiconductor device
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
JP2000259445A (ja) ソフトウェア/ハードウェア協調シミュレーション方法
US7231616B1 (en) Method and apparatus for accelerating test case development
US20050108605A1 (en) Pseudo random test pattern generation using Markov chains
JP5390464B2 (ja) シミュレーション装置、シミュレーション装置の制御方法およびプログラム
JP4351961B2 (ja) シミュレータプログラム及び記憶媒体
JP2006178663A (ja) 情報処理装置、情報処理方法、検証装置、検証方法
US20060190235A1 (en) Verilog HDL simulation model for retain time
JP2006048149A (ja) 機能検証装置、テストベンチ、ハードウェア記述言語により設計されたモデル、シミュレータプログラム及び記憶媒体
JPH11149489A (ja) シミュレーション装置
JP4286201B2 (ja) テストベンチシステム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100729

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

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

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees