JP2002535684A - 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム - Google Patents

集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム

Info

Publication number
JP2002535684A
JP2002535684A JP2000596388A JP2000596388A JP2002535684A JP 2002535684 A JP2002535684 A JP 2002535684A JP 2000596388 A JP2000596388 A JP 2000596388A JP 2000596388 A JP2000596388 A JP 2000596388A JP 2002535684 A JP2002535684 A JP 2002535684A
Authority
JP
Japan
Prior art keywords
simulated
input
simulator
signal
tester
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.)
Pending
Application number
JP2000596388A
Other languages
English (en)
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 JP2002535684A publication Critical patent/JP2002535684A/ja
Pending 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/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 集積回路(IC)(16)のリアルバージョンテストとシミュレートバージョンテストの双方を行うシステム(10)は、ICシミュレータ(40)と、シミュレータマネージャ(42)と、ICテスタ(14)と、テスタマネージャ(46)を有する。ICシミュレータ(40)は、一組のシミュレートされたIC入力信号に対するIC(16)の応答をシミュレートして、一組のシミュレートされたIC出力信号を生成する。シミュレータマネージャ(42)は、利用者が提供するテストベンチ(20)ファイルによってプログラミングされて、シミュレーション中に、シミュレータ(40)に対してシミュレートされたIC入力信号を提供する。シミュレーション中に、シミュレータマネージャ(42)は、また、一組の波形データシーケンスを発生するが、それぞれのデータシーケンスはシミュレートされたIC入出力信号のうちの対応する一つを周期的にサンプリングした値を表している。ICテスタ(14)は、リアルなIC入出力信号のそれぞれに対応している個々のチャネル(24)を有する。テスタマネージャ(46)は、それぞれのシミュレートされたIC入出力信号に対応する波形データシーケンスを、ICテスタチャネル(24)のうちの対応する一つへ入力として提供される個々の組の命令に変換する。リアルIC(16)をテストするとき、リアルIC入力信号に対応するそれぞれのICテスタチャネル(24)はその入力命令に応答して、対応するシミュレートされたIC入力信号を表す波形データシーケンスによって指定される一連の値を有する入力信号を発生してそれをIC(16)に供給する。IC出力信号に対応するそれぞれのICテスタチャネル(24)は、その入力命令に応答して、対応するIC出力信号を周期的にサンプリングして、対応するシミュレートされたIC出力信号を表す波形データシーケンスによって指定された一連の値をIC出力信号が有しているか否かを判断する。

Description

【発明の詳細な説明】
【0001】発明の背景 発明の技術分野 本発明は、一般的には、集積回路(IC)テスタに関するが、より詳細には、
ICシミュレータをシームレスに集積したICテスタであって、それらが同様の
方法でプログラムされてICのシミュレートバージョンテストとリアルバージョ
ンテストを同じように行うことができるようにするICテスタに関する。
【0002】 関連技術の説明 集積回路(IC)設計者は、主にICのモデルを開発し、そして、集積回路シ
ミュレータを使用してそのモデルをテストする。そのモデルが正確に作動してい
ることをテストが示しているときに、設計者は合成ツールやマッピングツールを
使用してそのモデルをリアルICを製造するために必要な一組のマスクに変換す
る。ICが製造された後で、集積回路テスタを用いてテストエンジニアはICを
テストする。シミュレータがシミュレートされたICに対して実行するのと同じ
テストをリアルICに対してICテスタが実行することができれば有益である。
しかし、シミュレータと回路テスタの能力及びそれらがプログラムされる方法の
差異のために、集積回路テスタは、大抵の場合、回路シミュレータがそのシミュ
レートされたIC相当物に対して実行するのと同じテストをリアルICに対して
実行することができない。
【0003】 ICシミュレータにおいて、シミュレートされるべきICの特性は、主に、V
erilog又はVHDLのようなハードウェア記述言語によって記述されたデ
バイスモデルファイル(netlist)によって定義される。デバイスモデル
ファイルは各回路ノード間を接続する一組の構成部品としての回路を記述するが
、構成部品の出力信号のステート(従属変数)に対する構成部品の入力信号と時
間のステート(独立変数)に関連する数式によってそれぞれの構成部品の応答が
定義されている。入力された「テストベンチ」ファイルは、各種の回路入力ノー
ドにおいて信号がどのように時間が経つにつれてそのステートを変えるのかを示
すことによって、シミュレートされる部分がテストされるべき方法を示している
。テストを実行するときに、シミュレータは「時間」変数を少しずつ繰り返しイ
ンクリメントし、それぞれの時間増加の後ですべての構成部品の応答を評価し、
各種の回路ノードにおける信号のステート又は値がどのように時間と共に変化す
るかを示す「変更ダンプ(change dump)」出力データを生成する。
そして、このデータは、シミュレートされた回路が入力信号に対してどのように
応答するかを分析される。
【0004】 集積回路テスタは、それぞれが個々のDUTターミナルにおいてテスト作業を
実施する一組のピンエレクトロニクス回路を有する。ICテスタは、主に、均一
な期間の連続する「テストサイクル」で一つのテストを構成している。それぞれ
のテストサイクル中に、各ピンエレクトロニクス回路はDUTターミナルにおけ
る限られた数のテスト作業のうちのいずれか一つを実行することができる。テス
ト作業は、例えば、DUT入力ターミナルにおけるテスト信号のステートの変更
、又は、テストサイクル中のある特定の時間におけるDUT出力信号のステート
をサンプリングすることを含んでいる。それぞれのピンエレクトロニクス回路は
、それぞれのテストサイクルの開始前に入力テストベクタ(命令)を要求して、
ピンエレクトロニクス回路がテストサイクル中に実行すべきアクションと、それ
がそのアクションを実行すべきサイクル中のある時点を指定する。
【0005】 ICテスタは、シミュレータが実行できるのと同じテストをそれが実行できな
くする、シミュレータによって共有されていない幾つかの制約を有する。第1に
、シミュレータはいかなる数のI/Oターミナルを有するICモデルでもシミュ
レートし、そして、テストすることができるが、一方、ICテスタは限られた数
のICピンにしかアクセスすることができない。したがって、テスタの「制約さ
れたピン領域」(限られた数のICピンにしかアクセスことができない制約)は
、HDLテストベンチによって定義されたテストに直接対応する大規模ICに対
してテストをすることをそのことが阻止することもあり得る。
【0006】 第2に、ICテスタのテストベクタを記憶するための能力が限られているので
、ICテスタはシミュレータと同じテストを実行することができないことがある
。一テストに数百万のテストイベントを有することがある。シミュレータに入力
されるテストベンチファイルは、数百万のテストイベントを定義するために、比
較的にコンパクトなアルゴリズムを使用することができる。シミュレーション中
にシミュレータに対する一つのアルゴリズムを実行するための時間はかかるが、
「時間」は正にテスト経過に応じてインクリメントされるべき変数である。シミ
ュレータはその用意ができるまでは「シミュレートされた時間」をインクリメン
トしてはならないので、シミュレータは、アルゴリズムを実行してそれが発生す
るテスト命令を実施するためのすべてのリアルな時間であって、シミュレートさ
れたタイムインクリメントの間で必要なリアルな時間をかけることができる。他
方、テストイベントはリアルタイムで生じねばならないので、ICテスタはリア
ルタイムで作動する。したがって、ICテスタは、テストの進行に応じてアルゴ
リズム命令を実行するためにテストイベントとテストイベントの間に無制限の時
間を有してはいない。したがって、テストエンジニアはICのテストがどのよう
に進行すべきかを示したアルゴリズムをまず作成することができるが、ホストコ
ンピュータは、主に、テスト開始前にそのアルゴリズムを実行して、テストの各
ステップを定義する一連の命令(ベクタ)を生成する。そして、ホストコンピュ
ータは、それらのベクタシーケンスをテスタ内の高速メモリに書き込む。シミュ
レータが実行できるテストを定義するために必要なベクタシーケンスがテスタの
ベクタメモリにとってあまりにも大きすぎることがよくある。ICテスタが実行
できるテストの長さは、それ故、そのベクタメモリのサイズによって制限される
。それ故、その「制約されたデータ領域」のために、ICテスタはシミュレータ
によって実行されることができるものほど長いテストを実行することができない
かもしれない。
【0007】 第3に、シミュレータがシミュレートされた時間でできるのと同じ頻度でIC
テスタはリアルタイムでテストイベントを実行することができないので、ICテ
スタはシミュレータによって実行されるテストを実行することができないかもし
れない。ICシミュレータは、所望のシミュレートイベントタイミングで、いか
なる一連のテストイベントをもシミュレートするのに必要な程度のリアルな時間
をかけることができる。しかし、リアルタイムで作動しなければならないICテ
スタは、どの程度の頻度でテスト信号のステートの変更又はIC出力信号をサン
プリングすることができるのかについて制限される。したがって、その「制約さ
れたタイム領域」は、幾つかのテストイベントシーケンスを実行するためのテス
タの能力を制限する。
【0008】 したがって、その制約されたピン領域と制約されたデータ領域及び制約された
タイム領域のために、テスタは、しばしば、シミュレータがICモデルをテスト
することができるのと同じ方法でリアルなICをテストすることができない。し
たがって、テストベンチファイルを直接的にICテスタ用の一組の命令に変換す
ることは通常できない。訓練を受けたICテストエンジニアは、特に、ICテス
タの諸制約を考慮に入れたリアルなIC用に別個のテストを設計しなくてはなら
ない。IC設計者以外のテストエンジニアがICテスタをプログラミングしてシ
ミュレータによって行われるテストとは異なるテストを実行するために必要なの
は、IC開発プロセスに対して多くの時間と費用をかけることであるが、その必
要性はリアルICとシミュレートICが性能上正しく比較できるのか否かについ
てそれをより不確実にしてしまう。
【0009】 したがって、全く同じ方法でIC回路設計者にシミュレートICとその対応リ
アルICの双方をテストできるようにするシステムを提供することは有益である
【0010】発明の要約 本発明は、ICシミュレータとICテスタの作動を統合して単一の組のテスト
命令に応答して同じ方法でICのシミュレートバージョンとリアルバージョンの
双方をテストすることを可能にする集積回路(IC)シミュレーション及びテス
トシステムに関する。
【0011】 本発明の一つの局面に関連して、そのシステムはICシミュレータと、シミュ
レータマネージャと、ICテスタと、テスタマネージャを有する。ICシミュレ
ータは、一組のシミュレートされたIC出力信号を生成することによって、一組
のシミュレートされたIC入力信号に対するICの応答をシミュレートする。使
用者提供のテスト命令によってプログラムされたシミュレータマネージャは、シ
ミュレーションの最中にシミュレートされたIC入力信号をシミュレータに提供
し、そして、シミュレートされたIC出力信号を監視して、シミュレーションの
間に、それらが予測されたステートと整合しているか否かを何度も判定する。
【0012】 本発明の他の局面に関連して、シミュレータマネージャは、また、シミュレー
トされたIC入力及び出力信号のうちの対応するものの周期的にサンプリングさ
れた値をそれぞれが表している一組の波形データシーケンスを発生する。ICテ
スタはそれぞれのリアルIC入力及び出力信号に対応する個別のチャネルを有す
る。テスタマネージャは、それぞれのシミュレートされたIC入力及び出力信号
に対応する波形データシーケンスを個々の組の命令に変換して、それぞれの組の
命令を入力としてICテスタチャネルのうちの対応するものに提供する。
【0013】 本発明の別の局面に関連して、リアルICをテストするときに、リアルIC入
力信号に対応するそれぞれのICテスタチャネルは、その入力命令に応答して、
対応するシミュレートされたIC入力信号を表す波形データシーケンスによって
示される一連の値を有する入力信号を発生してそれをICに供給する。
【0014】 本発明の更に別の局面に関連して、IC出力信号に対応するそれぞれのICテ
スタチャネルは、その入力命令に応答して、対応するIC出力信号を周期的にサ
ンプリングして、対応するシミュレートされたIC出力信号を表す波形データシ
ーケンスによって指定される一連の値をそのIC出力信号が有しているか否かを
判定する。
【0015】 したがって、単一の組のテスト命令に応じて、同じ方法でICのシミュレート
バージョンとリアルバージョンの双方をテストできるシステムを提供することが
本発明の目的である。
【0016】 本明細書の結論部分は本発明の主題を特に指摘し明確に権利を主張している。
しかし、当該技術分野において通常の技量を有する者は、同じ参照符号が同じ部
材を指し示している添付の図面を参照して明細書の残りの部分を読むことによっ
て、本発明の構成と操作方法の双方を、更にその効果と目的とを併せて、最もよ
く理解する。
【0017】好適な実施の形態の説明 ハードウェアアーキテクチュア 図1は、ICのリアルバージョンテストとシミュレートバージョンテストの双
方を行うための本発明に関連する集積回路(IC)のテストシステム10を図示
している。テストシステム10は、コンピュータ12とICテスタ14とディス
プレイモニタ22を有している。コンピュータ12は、利用者から入力されたテ
スト命令に応答してICのシミュレートバージョンのテストをし、更に、自動的
にICテスタ14をプログラミングしてそれが同様の方法でIC16のリアルバ
ージョンテストを行うようにするソフトウェアを実行する。テストシステム10
は、ディスプレイモニタ22上に、同じ方法でICのリアルバージョンテストと
シミュレートバージョンテストの双方の結果を表示して、利用者がそれらを比較
することを容易にする。
【0018】 利用者は3つの入力ファイルをコンピュータ12に提供する。周知のVeri
logハードウェア記述言語によって書かれた従来のデバイスモデル18は、I
Cを各回路ノード間に接続された一組の構成部品としてシミュレートされるよう
に記述している。デバイスモデル18は、独立変数(入力信号の値及び時間)に
対する従属変数(構成部品の出力信号値)に関連する一又はそれ以上の数式によ
ってそれぞれの構成部品の動作を記述している。利用者提供の「テストベンチ」
20は、ICモデルをテストするための命令であって、シミュレートされた入力
信号がある期間に渡って何時ステートを変更すべきかを記述し、そして、何度も
シミュレートされたIC出力信号の予測値を示すものを提供する。利用者が提供
する「ピンマップ」ファイル36は、リアルな集積回路16のそれぞれのピンを
デバイスモデルのIC入力信号若しくは出力信号に関連づけし、そして、それぞ
れのICピンがどのようにテスタ14に接続されるのかを示す。
【0019】 コンピュータ12は、ディスクドライブ21に記憶された従来のVerilo
gシミュレータを実行して、デバイスモデル18によって定義されたICの作動
をシミュレーションする。コンピュータ12は、また、シミュレートされたIC
入力信号をシミュレータに転送してテストベンチ20に含まれたテスト命令に応
答するシミュレータマネージャのソフトウェア(以下に詳述する)を実行する。
シミュレータマネージャは、また、テスト命令に応答して、シミュレートされた
IC出力信号をサンプリングし、何度もシミュレートされたIC出力信号が予測
された値に整合しているか否かを示すシミュレータフェイルデータ(SFAIL
)を発生する。シミュレーション中、シミュレータマネージャは、また、周期的
にすべてのシミュレートされたIC入出力信号をサンプリングして、それぞれの
信号を一連の信号値として表す個々の波形データシーケンスを生成する。シミュ
レータマネージャは、SFAILデータを含む波形データシーケンスをディスク
ドライブ21に記憶する。
【0020】 その後、利用者からの指令に応じて、コンピュータ12はディスプレイモニタ
22を使用して、シミュレータプログラムによって生成された波形データに基づ
いてシミュレートされたIC入出力信号の波形を表示し、そして、シミュレート
されたIC出力信号が予測値と整合していないときを示すアイコンを表示する。
コンピュータ12は、また、これらの予測値を示すテストベンチ20のコードラ
インを表示し、それによって、もしあれば、テストのどの部分でシミュレートさ
れたICに不具合が生じたのかを利用者に指摘する。
【0021】 シミュレーションの後で、IC16が組み立てられてICテスタ14に接続さ
れたとき、利用者はピンマップ36をコンピュータ12に供給して、それにIC
16のどのピンが様々なIC入出力信号をアクセスするのかを知らせ、更に、I
Cピンがどのようにテスタ14と接続されるのかも知らせる。そして、コンピュ
ータ12は、シミュレートされたIC入出力信号を表す波形データシーケンスを
読み込んで、それらをテスタ14用の命令に変換するテスタマネージャのプログ
ラムを実行する。それらの命令は、テスタ14に命じて、IC16に波形データ
シーケンスによって表された入力信号パターンを送り、更に、それらの入力信号
に応じてIC16が生成する出力信号をモニターして、リアルなIC出力信号が
波形データシーケンスによって表されたシミュレートされたIC出力信号パター
ンに整合しているか否かを判断する。
【0022】 ICテスタ14は、それぞれがIC16の個々のターミナルに接続される一組
のテスタチャネル24を有する。それぞれのテスタチャネル24は、ピンエレク
トロニクス回路26とタイミング信号発生器28とインストラクションプロセッ
サ30とインストラクションメモリ32を有する。テスタ14によって行われる
テストは、シミュレートされたIC入出力信号をサンプリングして波形データを
生成したときにシミュレータマネージャが用いたのと同じ周波数を有する一連の
テストサイクルで構成されている。タイミング信号発生器28によって発生され
た周期的なクロック信号(PCLK)は、それぞれのテストサイクルの開始を示
している。それぞれのテストサイクル中に、テストインストラクションプロセッ
サ30は、インストラクションメモリ32に記憶された命令を実行して、ピンエ
レクトロニクス回路26が次のテストサイクル中に実施すべきアクションを示す
データ値(ベクタ)を発生する。例えば、ピンエレクトロニクス回路26が次の
テストサイクル中においてIC16に供給されるべきテスト信号のステートを変
更すべきであるとき、入力ベクタはテスト信号が変更すべきステートとテスト信
号がそのステートを変更すべきテストサイクル中のある時点を示す。ピンエレク
トロニクス回路26が次のサイクル中にIC16の出力信号をサンプリングすべ
きであるときは、ベクタはIC出力信号がサンプリングされるべき時点とIC出
力信号の予測されるステートを示す。ピンエレクトロニクス回路26は、タイミ
ング基準としてタイミング信号発生器28によって発生された一組のタイミング
信号TSを使って、次のテストサイクル中にその指定されたアクションを実行す
る。タイミング信号TSは、位相的に分散されてそれぞれのタイミング信号のエ
ッジがテストサイクル中の異なる時点で生じるようになっている。テスト中、マ
スタクロック信号発生器34は、マスタクロックMCLKをそれぞれのテスタチ
ャネル24のタイミング信号発生器28に供給する。タイミング信号発生器28
は、PCLK信号とTS信号を発生するときのタイミング基準としてMCLK信
号を使用して、各チャネル24の作動が厳密に同期するようにする。
【0023】 どのテスタチャネル24がIC16のそれぞれのターミナルに接続されている
かを示しているピンマップ16を利用者がコンピュータ12に提供するとき、コ
ンピュータ12は、それがICシミュレーション中に発生した波形データシーケ
ンスを読み込み、それぞれのシーケンスを個々の組のプログラム命令に変換し、
更に、その命令をメモリバス36を介して対応するテスタチャネル24のインス
トラクションメモリ32に書き込む。コンピュータ12は、また、制御データを
各チャネル24のタイミング信号発生器28に送って、テストサイクルのピリオ
ドを示す。そして、それぞれのタイミング信号発生器28は、その出力クロック
信号PCLKのピリオドを適切に調整して、指定されたテストサイクルのピリオ
ドに整合するようにする。
【0024】 それぞれのチャネル24を適切にプログラミングしたときには、コンピュータ
12は同時にバス36を介して開始信号を各チャネル24のインストラクション
プロセッサ30に送って、それにテストを開始するように命じる。そして、それ
ぞれのチャネル14のインストラクションプロセッサ30は、そのインストラク
ションメモリ32の命令を実行することと各テストサイクルの間にベクタをロー
カルピンエレクトロニクス回路26に送ることを始める。テスト中、IC出力信
号をモニタしているそれぞれのピンエレクトロニクス回路26は、IC出力信号
がその予測値に不整合であるか否かを示すテスタフェイル(TFAIL)データ
を記憶する。テスト完了時に、一つのチャネル24のインストラクションプロセ
ッサ30はバス36を介してコンピュータ12に信号を送る。そして、コンピュ
ータ12は、IC出力信号をモニタしている各チャネル24のピンエレクトロニ
クス回路26からTFAILデータを読み込み、そして、対応するシミュレータ
出力信号を表している波形データシーケンスにTFAILデータを加える。
【0025】 その後、利用者からの指令に応答して、コンピュータ12は、シミュレータプ
ログラムによって生成されたデータに基づいて、再び、IC出力信号波形を表示
し、そして、ICのシミュレーションバージョンテストをした後に正に予測され
たのと同じ出力信号予測値を示す対応するテストベンチ20のコードラインも表
示することができる。しかし、今度は、シミュレートされたIC出力信号が予測
されるステートに整合していない時点を示すアイコンによって波形表示に注意を
喚起する代わりに、コンピュータ12は、リアルなIC16の出力信号値が対応
するシミュレートされたIC出力信号の値に整合していなかった時点を示すフェ
イルアイコンで波形表示に注意を喚起する。したがって、利用者は、同じテスト
ベンチファイル20を使ってシミュレートICテストとリアルICテストの双方
のためにシステム10をプログラミングするだけではなく、利用者は、同様の方
法で両テストの結果をディスプレイモニタ22上で見れる。このことは、リアル
IC16がそのシミュレートされたもののように動作するか否かを利用者が判断
することを容易にする。
【0026】 データフロー 図2は、図1のテストシステム10の各種のソフトウェア及びハードウェア構
成部分の間のデータフローを図示している。図1のコンピュータ12は5つのプ
ログラムを記憶して実行する。すなわち、従来のVerilogシミュレータ4
0とシミュレータマネージャ42とデータベースプログラム44とテスタマネー
ジャ46とデバッグ/ディスプレイマネージャ50である。
【0027】 シミュレータマネージャ42は、シミュレーション中には従来のVerilo
gプログラミング言語インタフェース(PLI)53を介してシミュレータ40
と連絡する。シミュレータマネージャ42は、テストベンチ20によってプログ
ラミングされて、シミュレートされた入力信号をシミュレータ40に供給し、シ
ミュレータ出力信号をモニタしてSFAILデータを発生し、そして、シミュレ
ータ入出力信号を周期的にサンプリングして波形データシーケンスを生成する。
シミュレーションを開始するために、シミュレータマネージャ42は、デバイス
モデル18を参照してテスト中にシミュレータ40がどのようにシミュレータマ
ネージャ42と連絡すべきかを記載する従来のVerilogシェルファイル5
1をシミュレータ40に供給する。
【0028】 シミュレータマネージャ42が生成する波形データは、シミュレータ40によ
って発生された、シミュレートされたシステムクロック信号の各サイクル中の幾
つかの時点のそれぞれのシミュレートされたIC入出力信号のステートを示して
いる。後述のように、テストベンチ20はそれぞれのIC信号に対する各クロッ
ク信号サイクル中の特定の時間であって、シミュレータマネージャ42がそれぞ
れの入出力信号をサンプリングすべき時間を個別に定義する。シミュレータマネ
ージャ42は、また、それぞれの信号のカレントな入力/出力方向を決定し、更
に、それぞれのテストサイクルの間にそれが生成する波形データと共に方向指示
ビットを有する。シミュレータマネージャ42が生成するそれぞれの波形データ
シーケンスの各エレメントは、フォーム(VALUE,DIR,SFAIL)で
あるが、ここで、VALUEはシーケンスのエレメントのポジションに関連した
テストサイクル中の信号又は信号群の値であり、DIRはテストサイクル中の信
号の方向を示すビットであり、SFAILはVALUEフィールドがテストサイ
クル中の信号のための予測値(もしあれば)に不整合であったか否かを示すフィ
ールドである。
【0029】 それがIC入出力信号をサンプリングして波形データを発生しているので、シ
ミュレータマネージャ42はデータベースプログラムを呼び出してそれに一組の
データベースファイル23に波形データを記憶するように命じる。波形データは
、信号名やシステムクロックサイクルピリオドや信号がサンプリングされたシス
テムクロックサイクル中の特定の時間を示す「タイムセット」情報を有するその
波形データによって表される信号についての追加の情報を提供するヘッダファイ
ルを有する。
【0030】 IC16が組み立てられてテスタ14と接続されたとき、利用者はピンマップ
36をテスタマネージャ46に提供して、ICテスタ14のどのチャネルがテス
タマネージャにIC16のそれぞれの入力信号又は出力信号を提供するのかをそ
れに知らせる。そして、テスタマネージャ46は、データベースプログラム44
を呼び出して、それぞれのICの入力信号又は出力信号に対する波形データシー
ケンスを収集する。テスタマネージャ46は、また、それぞれのテストサイクル
に対応したそれぞれの波形データシーケンスのVALUEフィールドとDIRフ
ィールドを処理して、対応するテスタチャネル24のための一組のアルゴリズム
命令を生成する。対応するDIRフィールドが信号がIC入力信号であることを
示しているそれぞれのテストサイクルの間は、波形データヘッド内に含まれたタ
イムセットデータによって示されたテストサイクル中の時点で命令はチャネルに
IC入力信号を対応するVALUEフィールドによって示された値にドライブす
るように命じる。DIRフィールドが信号がIC出力信号として作動すべきであ
ることを示しているそれぞれのテストサイクルの間は、タイムセットデータによ
って指定された時点で命令はチャネルに対して、IC出力信号値をサンプリング
し、サンプリングされたIC出力データをそのテストサイクルに対応する波形デ
ータシーケンスのVALUEフィールドと比較し、そして、その比較結果を示す
TFAILデータを生成するように命じる。
【0031】 テスタマネージャ46は、また、それぞれの波形データに含まれたヘッダを読
み込んでテストサイクル長を判断し、入力データを各テスタチャネル24のタイ
ミング信号発生器28(図1)に提供してPCLK信号のピリオドを設定する。
利用者によって提供されたピンマップ36も、また、それぞれのICピンに対す
るハイレベルとローレベルを示している。テスタマネージャ46は、その情報を
読み込んで、そして、制御データをそれぞれのチャネル24のピンエレクトロニ
クス回路26に送って(図1)、チャネルのドライバと比較器の論理レベルを適
切に設定する。
【0032】 テスタ14をプログラミングした後で、テスタマネージャ46はテスタ14に
信号を送ってIC16のテストを開始する。テスト中、IC出力信号をモニタし
ているそれぞれのチャネル24のピンエレクトロニクス回路26は、テストの各
サイクル中に出力信号がその予測されたステートに整合しているか否かを示す一
連のTFAILデータビットを発生してそれを記憶する。テストが完了したとき
、テスタマネージャ46は記憶されたそれぞれのIC出力信号に対するTFAI
Lデータをテスタチャネル24から収集して、データベースプログラム44を介
してそれを対応するシミュレートされた出力信号を表している波形データシーケ
ンスのTFAILフィールドに書き込む。
【0033】 その後、利用者がデバッグ/ディスプレイマネージャ50を呼び出して、どの
波形が表示されるべきであるかを示すと、デバッグ/ディスプレイマネージャ5
0は、データベースプログラム44を介してデータベースファイル23から適切
な波形データシーケンスを読み込んで、その波形データに基づいてディスプレイ
モニタ22上に波形表示を発生する。デバッグ/ディスプレイマネージャ50は
、波形表示上に情報を発生して、シミュレートされたIC出力信号が予測された
値に不整合であったことをSFAILフィールドが示す時点を表示し、そして、
リアルIC出力信号が対応するシミュレートされたIC出力信号と不整合であっ
たことをTFAILデータが示している時点を表示する。利用者によって指令さ
れたとき、デバッグ/ディスプレイマネージャ50は、また、予測されるシミュ
レータICの値を定義するテストベンチ20のコードラインを表示する。このこ
とは、シミュレートされたIC出力信号の不具合を引き起こしたテスト条件を利
用者が早急に見い出すことを可能にする。
【0034】 テストベンチとシミュレータマネージャ テストベンチ20は、シミュレータマネージャ42に対して、デバイスモデル
18によって定義されシミュレータ40によってシミュレートされた回路をどの
ようにテストするのかを知らせる。特に、テストベンチ20はPLI53を経由
してシミュレータ40とシミュレータマネージャ42の間を通過する各種のシミ
ュレートされたIC入出力信号を定義し、シミュレートされた入力信号が何時値
を変更すべきであるかを示し、更に、何時シミュレータマネージャがシミュレー
トされたIC出力信号を予測値と比較すべきかを示す。従来のVerilogシ
ミュレータ40は、テストをICテスタチャネル24がするような連続するサイ
クルには構成しない。しかし、本発明に関しては、デバイスモデル18はシミュ
レートされた出力「システムクロック」信号を発生するクロック信号発生器を有
するが、その信号はテスタチャネル24によって用いられるべきテストサイクル
ピリオドと整合するピリオドを有する。テストベンチ20は、システムクロック
信号を特定し、そして、それぞれのシミュレートされたIC入力信号におけるス
テート変更とそれぞれのシミュレートされたIC出力信号のサンプリング時のス
テート変更をそれぞれのシステムクロック信号サイクル中の特定の時点に制限す
る。したがって、シミュレートされたIC入力信号を生成するときとシミュレー
トされたIC出力信号をサンプリングするときのシミュレータマネージャ40の
作動は、テスタチャネル24がリアルIC入力信号の生成とリアルIC出力信号
のサンプリングを繰り返す方法で「繰り返される」。
【0035】 システムクロックが「sys.sysclk」と呼ばれるICノードで生成されるべきと
き、次のテストベンチコードがシステムクロック信号を定義し、それをモデルノ
ードにリンクする。すなわち、 verilog_node CLOCK "sys.sysclk" である。
【0036】 テストベンチ20は、また、それぞれのIC入力又は入力又は出力信号若しく
は関連する信号群を名称やタイプ(入力、出力、入力/出力)や関係のあるモデ
ルノード(単数又は複数)によって定義するコードを有する。デバイスモデル1
8に内蔵されたクロック信号発生器は、また、それぞれがシステムクロック信号
と同じピリオドを有するが位相的にシフトされており、そのエッジがそれぞれの
システムクロック信号サイクル中の特定の時点で生じる一組の基準クロック信号
を発生する。ICの入力信号又は出力信号を定義するとき、テストベンチ20は
入力信号又は出力信号を基準クロック信号の一つにアサインして、そのアサイン
された基準クロック信号の各エッジに対して何時IC信号がサンプリングされる
べきか又はドライブされるべきかを示してその信号のためのタイミングパターン
を定義する。例えば、以下のコードは4つの異なるタイミングパターン(TIMING
_A からTIMING_D)と2つの異なる基準クロック信号(subsys1.clkとsubsys2.cl
k)とsubsys1.clk基準クロック信号にアサインされる幾つかのIC信号(subsys
1.dataとsubsys1.outputとsubsys1.str)とsubsys2.clk基準クロック信号にアサ
インされる幾つかの信号(subsys1.dataとsubsys1.outputとsubsys1.str)を定
義している。すなわち、 #define TIMING_A PSAMPLE #-1 PHOLD #6 #define TIMING_B PSAMPLE #-2 PHOLD #5 #define TIMING_C NSAMPLE #-1 PHOLD #5 #define TIMING_D PHOLD #3 interface subsys1 { inout [7:0] data TIMING_A verilog_node "sys1.D[7:0]" output [7:0] addr TIMING_D verilog_node "sys1.A[7:0]" input clk CLOCK verilog_node "clock_gen.clk1" input str TIMING_C verilog_node "sys1.str" } interface subsys2 { inout [15:0] data TIMING_B verilog_node "sys2.D[15:0]" output [63:0] addr TIMING_D verilog_node "sys2.A[63:0]" input clk CLOCK verilog_node "clock_gen.clk2" input str TIMING_C verilog_node "sys2.str" } である。
【0037】 用語、"input"と"output"と"inout"は、定義される信号がシミュレータマネー
ジャ42の入力信号(言い換えれば、シミュレータマネージャ40の出力信号)
であるか否か、シミュレータマネージャ42の出力信号(言い換えれば、シミュ
レータマネージャ40の入力信号)であるか否か、又は、双方向入力/出力信号
("inout")であるか否かを示している。
【0038】 上記のコードは、例えば、"sys1.data[7:0]"と呼ばれる8個一グループのシミ
ュレートされた双方向信号が、PLI53を経由してシミュレータマネージャ4
2と"sys1.D[8:0]"と呼ばれる8個一組のデバイスモデルノードの間で接続され
るべきであることを示している。このコードは、また、モデルノード"clock_gen
.clk1"に現れるsubsys1.clk信号がTIMING_Aのパターンに従ってsubsys1.data信
号に関してテスト作業のタイミングを制御すべきであることも示している。TIMI
NG_Aのパターンに従って、subsys1.data信号がIC出力信号として作動している
ときは、基準クロック信号(subsys1.clk)の立ち上がり縁の前の一タイムユニッ
トでそれはサンプリングされるべきであり、しかも、subsys1.data信号がIC入
力信号として作動しているときは、いずれかのシステムクロック信号サイクル中
に生じるステート変更はsubsys1.clk信号の立ち上がり縁の後の6つのタイムユ
ニットで生じるべきである。
【0039】 別の例として、上記のコードは、モデルノードsys2.strに現れる"subsys2.str
と呼ばれるシミュレータマネージャ42の入力信号がTIMING_Cのパターンに従っ
て、ーーそれぞれのsys2.clk信号の立ち下がり縁の前の3つのタイムユニットで
サンプリングされるべきであることを示している。
【0040】 特定の基準クロック信号とタイミングパターンによって定義されて関連づけさ
れたそれぞれのシミュレートされたIC入力信号によって、テストベンチ20は
、また、シミュレータマネージャ42によって生成されたそれぞれのIC入力信
号が何時ステートを変更すべきであるかを示す「ドライブ」ステートメントを含
んでいる。以下は「ドライブ」ステートメントの例である。すなわち、 subsys1.data[7:0]=8'h4h; @1 subsys1.str <=0'h; @2 subsys1.str =Z; である。
【0041】 上記コードの第1行目は、subsys1.data[7:0]信号がその次の「ドライブタイ
ム」のときに値4h(16進法)にドライブされるべきであることを示している
。信号のドライブタイムは、信号が異なる値にドライブされる、そのアサインさ
れた基準クロック信号のそれぞれのサイクル中の特定の時点である。ドライブタ
イムは、subsys1.data[7:0]信号を定義してそれをTIMING_Aのタイミングパター
ンにアサインした上記のコード中で特定された。上記コードの第1行目のシンボ
ル「=」は、テストベンチコードの次の行を実行する前において、シミュレータ
マネージャ42が、それがその次のドライブタイムにおいてsubsys1.data[7:0]
信号を指定された値にドライブするまでは待機すべきであることを示している。
【0042】 上記テストベンチコードの第2行目は、単独のsubsys1.str信号が次のシステ
ムクロックサイクルに続いて一システムクロックサイクル分遅延(@1)して値
0(16進法)にドライブされるべきであることを示している。シンボル「<=
」は、シミュレータマネージャ42がカレントラインによって示されたアクショ
ンをすることを待たずに次のテストベンチコードラインに移動すべきであること
を示している。
【0043】 上記テストベンチコードの第3行目は、単独のsubsys1.str信号が、次のシス
テムクロックサイクルに続いて二システムクロックサイクル分遅延(@2)して
「Z」ステート(言い換えれば、トライステート)にドライブされるべきである
ことを示している。
【0044】 特定の基準クロック信号とタイミングパターンによって定義されて関連づけさ
れたそれぞれのシミュレートされたIC出力信号によって、テストベンチ20は
、また、各種のシミュレートされたIC出力信号がテスト中の様々な時点で有す
ると予測される値を示す「予測」ステートメントを含んでいる。以下は「予測」
ステートメントの例である。すなわち、 subsys1.data[7:0] = = 8'00XXX110b; @0,100 subsys1.data [7:0] == 8'4h; である。
【0045】 上記コードの第1行目は、8つのsubsys1.data[7:0]信号がその次のサンプリ
ングタイムのときに値00XXX110を有すべきであることを示しているが、ここで、
「0」はロー論理レベルであり、「1」はハイ論理レベルであり、「X」はハイ
またハローのいずれかの論理である(言い換えれば、「気にしなくて良い」)。
それぞれのシステムクロックサイクルに対するサンプリングタイムは、TIMING_A
のパターンとsubsys1.data[7:0]信号を定義した上記のコード中で特定された。
シミュレータマネージャ42は、データが予測値でない場合には、そのサイクル
の間の波形データのSFAILフィールドにシミュレーションの不具合を記憶す
る。この場合、SFAILフィールドは8ビットを有し、それぞれのビットはsu
bsys1.data[7:0]信号の対応するビットがその予測値と不整合であるか否かを示
している。
【0046】 上記テストベンチコードの第2行目は、subsys1.data信号が次のそれぞれの1
00システムクロックサイクル中の適切なサンプリングタイムにおいて4h(1
6進法)の予測値と比較されるべきであることを示している。subsys1.dat[7:0]
信号が100番目のシステムクロックサイクルまでに指定値に切り替えられてと
どまっていない場合には、シミュレータマネージャ42はその100番目のサイ
クルの間に波形データのSFAILフィールドを設定してシミュレーション不具
合を記録する。
【0047】 テストベンチ20によってそのようにするように明確に指令されてはいないけ
れども、シミュレータマネージャ42は、また、システムクロック信号の各サイ
クルの間にそれぞれのシミュレートされたIC入出力信号の値をサンプリングし
、そして、信号の挙動を表す波形データを生成する。テストベンチ20がそれぞ
れのIC入出力信号にアサインするタイミングパターンは、それぞれのサンプル
がそれぞれのシステムクロックサイクル中にサンプリングされるべき時点を示し
ている。したがって、すべてのIC入出力信号が、各マスタクロック信号サイク
ル中の同じ時点でサンプリングされる必要はない。
【0048】 テスタルールのチェック 入力テストベンチ20に応じてICシミュレーションを開始する前に、シミュ
レータマネージャ42は、テストベンチ20を理解して、それが定義するテスト
が「テスタルール」ファイル54によって指定されるようなICテスタ14の能
力範囲内にあるのか否かを判断する。シミュレータマネージャ42は、テストベ
ンチ20によって定義されたIC入出力信号の数をカウントし、そして、そのカ
ウントと有効なテスタチャネルの数を比較する。テスタ14が十分な数のテスタ
チャネルを有していないときは、シミュレータマネージャ42は適切なエラーメ
ッセージを表示する。シミュレータマネージャ42は、また、テストベンチ20
によって特定されたマスタクロック信号の周波数をチェックし、それがテスタの
周期的なクロック信号(PCLK)の周波数範囲内にあるか否かを判断する。テ
スタマネージャ46がシミュレータマネージャ42によって生成される波形デー
タに基づいてテスタチャネル24のための命令セットを発生したときには、それ
はチャネルインストラクションメモリ32のサイズをチェックし、いずれかの命
令セットのサイズがその命令セットを記憶するためのインストラクションメモリ
の記憶容量を超えてしまうときにはエラーメッセージを表示する。
【0049】 テスタマネージャ テスタマネージャ46は、それぞれのIC入出力信号に対するデータベースフ
ァイル23に格納された波形データを処理して、図1のICテスタ14のそれぞ
れのチャネル24に対する制御データと命令を生成し、データベースフィル23
内にそれぞれのチャネルに対する命令と制御データを格納する。IC16がテス
トされるべきとき、テスタマネージャはそのチャネルの命令と制御データをデー
タベースフィル23から読み出して、それらをテスタチャネル24に送り、そし
て、テストを開始する。テストが完了した後で、テスタマネージャはテスタチャ
ネル24からTFAILデータを収集し、それをデータベースファイル23に格
納された波形データに組み入れる。
【0050】 それぞれの信号に対する波形データは、システムクロックのピリオドを示すヘ
ッダと、それぞれのIC入力信号又はIC出力信号がドライブされるか又はサン
プリングされるべき各テストサイクル中の時点を示す「タイムセット」データを
含んでいる。テスタマネージャ46は、制御データをそれぞれのチャネルのタイ
ミング信号発生器28に提供し、PCLK信号とTS信号のピリオドを設定して
波形データのヘッダに内蔵されたシステムクロックピリオドデータによって指定
されたピリオドに合わせる。
【0051】 それぞれの波形データシーケンスは、シミュレートされたIC入力信号又はI
C出力信号(若しくは、IC入力信号又はIC出力信号の関連するグループ)の
動きをそれぞれの連続するテストサイクル中の信号(単数又は複数)の値と方向
を示す一連のVALUEフィールドとDIRフィールドとして表している。シミ
ュレータマネージャ42が波形データシーケンスを発生した後で、それはテスタ
マネージャ46を呼び出して、テスタマネージャは、それに対して、それぞれの
IC入力/出力信号に対する一組のテスタチャネル命令を生成し、その命令をデ
ータベースファイル23に保存して、それらがIC16をテストすべきときにそ
れらが後程適切なテスタチャネル24に提供され得るようにするように命じる。
【0052】 図3は、テスタマネージャ46がどのようにそれぞれの波形データシーケンス
のVALUEフィールドとDIRフィールドをテスタチャネルの命令に変換する
のかを図示している。波形データシーケンスによって表されたそれぞれのIC入
出力信号に対して、テスタマネージャ46は、まず、その波形データシーケンス
を処理して、テスト中にテスタチャネル24(図1)のピンエレクトロニクス回
路26に供給されるべきベクタシーケンスを発生する。そして、テスタマネージ
ャ46はそれぞれのベクタシーケンスを処理してベクタシーケンスをよりコンパ
クトな形式で表した一組のアルゴリズムテスタ命令を生成する。
【0053】 図3に関連して、テスタマネージャ46は、まず、波形データヘッダ内に含ま
れているタイムセット情報を読み込んで(ステップ98)、波形データによって
表されたそれぞれのシミュレートされたIC信号がサンプリングされたそれぞれ
のテストサイクル中の時点を判断する。そして、テスタマネージャ46は、最初
のテストサイクルのための波形データシーケンスのVALUEフィールド及びD
IRフィールドを読み込む(ステップ100)。波形データシーケンスによって
表されるそれぞれの信号に対して、テスタマネージャ46は参照テーブルを用い
てVALUE,DIR,TIMESETの各データをIC信号に対応するテスタ
チャネル24のピンエレクトロニクス回路26に供給されるべきベクタシーケン
スの第1のベクタに変換する(ステップ102)。信号がテストサイクル中にお
いてIC入力信号として作動していることをDIRフィールドが示している場合
、発生したベクタの2ビットは信号のステートがテストサイクル中の適切なドラ
イブタイムでドライブされるべきであり(0又は1若しくはZ)、ベクタの他の
ビットはピンエレクトロニクス回路26がIC入力信号のステート変更のタイミ
ングを制御するために使用されるべきタイミング信号TS(図1)はどれである
かを示している。信号がテストサイクル中においてIC出力信号として作動して
いることをDIRフィールドが示している場合、ベクタの2ビットはIC出力信
号の予測されるステートを示し(0又は1若しくはX)、残りのビットはどのタ
イミング信号TSがテストサイクル中にIC出力信号のサンプリングを制御すべ
きであるかを示している。
【0054】 最後のテストサイクルのためのベクタが生成されなかった場合(ステップ10
4)、テスタマネージャ46は次のテストサイクルのためのVALUEフィール
ドとDIRフィールドを読み込み(ステップ106)、ステップ102に戻って
次のテストサイクルのための波形データによって示されるそれぞれのIC信号の
ためのベクタを発生する。テスタマネージャ46は、それが各テストサイクルの
ためのベクタデータを有する各IC信号のためのベクタデータシーケンスを発生
してそれらをデータベースファイル23に格納するまで、引き続きステップ10
2乃至106を繰り返す。その時点で、それはそれぞれのベクタデータシーケン
スを処理して、テスト中にインストラクションプロセッサ30にベクタデータシ
ーケンスを再び生成させる命令セットを発生する(ステップ108)。テスタマ
ネージャ46は各命令セットをデータベースファイル23に保存する。それぞれ
の命令セットは、タイミング信号発生器28によって生成されたピリオドクロッ
クPCLKのピリオドを調節するのに必要な制御データを含んでいる。
【0055】 すべての波形データシーケンスが命令セットに変換され、そして、利用者がテ
スタマネージャ46にピンマップ36を提供した場合、テスタマネージャはデー
タベース23からその命令セットを読み込み、それらを適切なテスタチャネル2
4のインストラクションメモリ32に書き込み(図1)、そして、テストを始め
る。テスト完了後、テスタマネージャはTFAILデータをテスタチャネルから
収集して、データベースファイル23に格納されている波形データを更新してT
FAILデータを挿入する。
【0056】 命令の発生 それぞれのピンエレクトロニクス回路26がテスト中に必要なベクタシーケン
スは、テストが多数のテストサイクルにわたる場合には、全く大きなものとなる
。それぞれのチャネルのインストラクションメモリ32の容量を有効に利用する
ために、テスタマネージャ46はそれぞれのベクタシーケンスをそのベクタシー
ケンスを発生するためのよりコンパクトな8ビットのアルゴリズム命令の組に変
換する。主に、長時間のテストの場合、それぞれのチャネルのベクタシーケンス
は一又はそれ以上の繰り返しパターンを含んでいる。例えば、10,000テス
トサイクルの間テスタチャネルに連続的にIC入力信号をハイにドライブするこ
とを命じる10,000個のベクタシーケンスは、一つのベクタとそのベクタが
10,000回繰り返されるべきであることを示すループ命令に置き換えられる
。20,000テストサイクルの間ハイ論理レベルとロー論理レベルの間で入力
テスト信号をトグルするようにチャネルに命じる20,000個のベクタシーケ
ンスは、二つのベクタとその二つのベクタが10,000回繰り返されるべきで
あることを示すループ命令に置き換えられる。したがって、テスタマネージャ4
6は、それがそれぞれの信号に対して発生するベクタシーケンスを理解して、繰
り返しのシーケンスを探し出し、そして、それぞれのベクタシーケンスの多くの
事例をループ命令に置き換える。1991年2月19日にJeffery他に発
行されここに参考文献として加入した米国特許第4,994,732号は、ベク
タシーケンスに埋め込まれたループ命令を実行することが可能なインストラクシ
ョンプロセッサを内蔵したテスタを記載している。ベクタシーケンスを圧縮する
ための他の技術も知られている。1997年12月9日にLesmeister
に発行されここに参考文献として加入された米国特許第5,696,772号は
、ベクタシーケンスを圧縮して各テスタチャネルに対するコンパクトな命令セッ
トにする幾つかの技術を用いたシステムとその命令を実行することができるイン
ストラクションプロセッサを開示している。
【0057】 テスタルールのチェック 入力テストベンチ20に応じてICシミュレーションを開始する前に、シミュ
レータマネージャ42は、テストベンチ20を理解して、それが定義するテスト
が「テスタルール」ファイル54によって指定されるICテスタの能力範囲内に
あるのか否かを判断する。シミュレータマネージャ42は、テストベンチ20に
よって定義されたIC入出力信号の数をカウントし、そして、そのカウントと利
用可能なテスタチャネル24の数を比較する。テスタ14が十分な数のテスタチ
ャネルを有していないときは、シミュレータマネージャ42は適切なエラーメッ
セージを表示する。シミュレータマネージャ42は、また、テストベンチ20に
よって特定されたマスタクロック信号の周波数をチェックし、それがテスタの周
期的なクロック信号(PCLK)の周波数範囲内にあるか否かを判断する。テス
タマネージャ46がシミュレータマネージャ42によって生成される波形データ
に基づいてテスタチャネル24のための命令セットを発生したときには、それは
チャネルインストラクションメモリ32のサイズをチェックし、いずれかの命令
セットのサイズがその命令セットを記憶するためのインストラクションメモリ3
2の記憶容量を超えてしまうときにはエラーメッセージを表示する。
【0058】 波形とコードの表示 図4は、図2のデバッグ/ディスプレイマネージャ50が図1のディスプレイ
モニタ上に生成する代表的なディスプレイ画面を図示している。信号名はウィン
ドウ120内に表示され、波形データシーケンスの図が対応する信号名に隣接し
てウィンドウ122内に表示されている。ウィンドウ124は、テスト開始から
の相対的な時間を示している。水平方向のスクロールバー126は、利用者に遅
れずに表示を前後にスクロールすることを可能にし、更に、垂直方向のスクロー
ルバー128は、利用者に入出力信号のリストをスクロールすることを可能にす
る。アイコン130は、シミュレートされたIC出力信号値が予測値と整合して
いなかった場合に波形表示に沿ったいずれかのポイントをマークする。デバッグ
/ディスプレイマネージャは、利用者が動かすことができるバー134と136
によって表示される波形データの表示部分に遅れずに対応するテストベンチステ
ートメントをウィンドウ132内に表示する。シミュレートされた出力信号が整
合しなかった予測値を示すいずれかの予測ステートメントはアイコン138によ
ってマークされる。アイコン140は、波形に含まれたTFAILデータがIC
出力信号の値が対応するシミュレートされた出力信号の値と整合していなかった
ことを示す波形表示に沿ったいずれかのポイントをマークする。
【0059】 このように、同じテストベンチファイルに応じて集積回路のシミュレートバー
ジョンテストとリアルバージョンテストの双方を行うための合体したICシミュ
レータとICテスタを内蔵するシステムを説明してきた。ICテスタはシミュレ
ータによって共有されることのないピンとデータと時間の各領域に制限を加えて
いたけれども、テストベンチファイルのシンタックスとテストベンチに応じてシ
ミュレータマネージャがシミュレータをドライブする方法は、ICのシミュレー
トバージョンテストとリアルバージョンテストが同じ方法で行われて、比較可能
なテスト結果を提供できるようにシミュレータの作動に同一の制限を負わせてい
る。上記の明細書は本発明の好適実施の形態を説明してきたが、当該技術分野に
おいて通常の技量を有する者は本発明から逸脱することなくその広範な諸相にお
いて前記好適実施の形態に対して多くの改作を施すことができる。
【図面の簡単な説明】
【図1】 本願発明に関する集積回路(IC)テストシステムをブロック図形式で図示し
ている。
【図2】 図1のテストシステムの各種のソフトウェア構成部分とハードウェア構成部分
の間のデータフローを図示している。
【図3】 波形データシーケンスをテスタチャネル命令に変換するときの図2のテスタマ
ネージャの作動を示すフローチャートである。
【図4】 図2のデバッグ/ディスプレイマネージャが図1のディスプレイモニタ上に生
成する代表的な波形ディスプレイ画面を図示している。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年11月21日(2000.11.21)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項9
【補正方法】変更
【補正の内容】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロング・ジョン・マチュウ アメリカ合衆国,カリフォルニア州 95051,サンタ クララ,ボーラックス ドライブ 2508 Fターム(参考) 2G132 AA01 AC11 AE16 AE18 AE23 AF18 AG02 AG08 AL00 【要約の続き】 のシミュレートされたIC入出力信号に対応する波形デ ータシーケンスを、ICテスタチャネル(24)のうち の対応する一つへ入力として提供される個々の組の命令 に変換する。リアルIC(16)をテストするとき、リ アルIC入力信号に対応するそれぞれのICテスタチャ ネル(24)はその入力命令に応答して、対応するシミ ュレートされたIC入力信号を表す波形データシーケン スによって指定される一連の値を有する入力信号を発生 してそれをIC(16)に供給する。IC出力信号に対 応するそれぞれのICテスタチャネル(24)は、その 入力命令に応答して、対応するIC出力信号を周期的に サンプリングして、対応するシミュレートされたIC出 力信号を表す波形データシーケンスによって指定された 一連の値をIC出力信号が有しているか否かを判断す る。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 複数のリアルな入出力信号を有する集積回路(IC)をテス
    トする装置であって、そのシステムが、 複数のシミュレートされた入力信号に対する前記ICの応答をシミュレートし
    て複数のシミュレートされた出力信号を生成するICシミュレータであって、そ
    れぞれのシミュレートされた入出力信号が前記リアルな入出力信号のうちの個々
    のものに対応しているものと、 前記シミュレートされた入力信号をICシミュレータに提供し、そして、前記
    シミュレートされた入出力信号の対応するもののサンプリングされた値をそれぞ
    れが表している複数の波形データシーケンスを生成するシミュレータマネージャ
    と、 前記リアルな入出力信号のそれぞれに対応する個々のチャネルを有するICテ
    スタと、 それぞれのシミュレートされた入力信号に対応する波形データシーケンスを入
    力として前記ICテスタチャネルのうちの対応するものに提供される個々の組の
    命令に変換するテスタマネージャとを有し、リアルな入力信号に対応するそれぞ
    れのICテスタチャネルが、その入力命令に応答して、対応するシミュレートさ
    れた入力信号を表す波形データシーケンスによって示される一連の値を有するリ
    アルな入力信号を発生してそれを前記ICに供給する装置。
  2. 【請求項2】 前記テスタマネージャが、また、それぞれのシミュレートさ
    れた出力信号に対応する波形データシーケンスを、入力として前記ICテスタチ
    ャネルのうちの対応するものに提供される個々の組の命令に変換し、そして、 シミュレートされた出力信号に対応するそれぞれのICテスタチャネルが、そ
    の入力命令に応じて、リアルな出力信号を周期的にサンプリングして一連の値を
    生成し、そして、前記一連の値が前記シミュレートされた出力信号に対応する波
    形データシーケンスによって指定されるサンプリングされた値に整合しているか
    否かを判断することを特徴とする前記請求項1に記載の装置。
  3. 【請求項3】 前記シミュレータマネージャが、また、前記シミュレータが
    前記ICをシミュレートしている間に、前記シミュレートされた出力信号が予測
    された値であるか否かを何度も判断することを特徴とする前記請求項1に記載の
    装置。
  4. 【請求項4】 更に、前記シミュレータマネージャによって生じたデータシ
    ーケンスを読み込んで前記波形データシーケンスの図解表示をする手段を有する
    ことを特徴とする前記請求項1に記載の装置。
  5. 【請求項5】 前記シミュレータマネージャが、また、前記シミュレータが
    前記ICをシミュレートしている間に、前記シミュレートされた出力信号が予測
    された値であるか否かを何度も判断することを特徴とする前記請求項2に記載の
    装置。
  6. 【請求項6】 更に、前記シミュレータマネージャによって生じたデータシ
    ーケンスを読み込んで前記波形データシーケンスの図解表示する手段を有するこ
    とを特徴とする前記請求項5に記載の装置。
  7. 【請求項7】 前記シミュレータが、また、少なくとも一つのシミュレート
    された基準クロック信号を発生し、前記少なくとも一つのシミュレートされた基
    準クロック信号に応じて、前記シミュレータマネージャがそれぞれのシミュレー
    トされた入出力信号をサンプリングすることを特徴とする前記請求項1に記載の
    装置。
  8. 【請求項8】 前記シミュレータが、前記少なくとも一つのシミュレートさ
    れた基準クロック信号に応じて、前記シミュレートされた入力信号にステート変
    化を生じさせることを特徴とする前記請求項7に記載の装置。
  9. 【請求項9】 複数のリアルな入出力信号を有する集積回路(IC)とテス
    トする方法であって、該方法が、 複数のシミュレートされた入力信号に対する前記ICの応答をシミュレートし
    て複数のシミュレートされた出力信号を生成する工程であって、それぞれのシミ
    ュレートされた入出力信号が前記リアルな入出力信号のうちの個々のものに対応
    しているものと、 前記シミュレートされた入出力信号の対応するものの周期的にサンプリングさ
    れた値をそれぞれが表している複数の波形データシーケンスを発生する工程と、 シミュレートされた入力信号を表しているそれぞれの波形データシーケンスを
    処理して、対応するリアルな入力信号であってその処理された波形データシーケ
    ンスによって表された一連の値を有するものを発生してそれを前記ICに供給す
    る工程とを有する方法。
  10. 【請求項10】 更に、それぞれのシミュレートされた出力信号に対応する
    リアルな出力信号を周期的にサンプリングして一連の値を生成する工程と、 対応する出力信号によって表される波形データシーケンスによって表される周
    期的にサンプリングされた値と前記一連の値が整合しているか否かを判断する工
    程を有していることを特徴とする前記請求項9に記載の方法。
  11. 【請求項11】 更に、前記シミュレータが前記ICをシミュレートしてい
    る間に、前記シミュレートされた出力信号が予測された値であるか否かを何度も
    判断する工程を有することを特徴とする前記請求項9に記載の方法。
  12. 【請求項12】 更に、前記波形データシーケンスの図解表示する工程を有
    することを特徴とする前記請求項9に記載の方法。
  13. 【請求項13】 更に、前記シミュレータが前記ICをシミュレートしてい
    る間に、前記シミュレートされた出力信号が予測された値であるか否かを何度も
    判断する工程を有することを特徴とする前記請求項10に記載の方法。
  14. 【請求項14】 更に、前記波形データシーケンスの図解表示する工程を有
    することを特徴とする前記請求項13に記載の方法。
JP2000596388A 1999-01-29 2000-01-03 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム Pending JP2002535684A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/240,181 US6295623B1 (en) 1999-01-29 1999-01-29 System for testing real and simulated versions of an integrated circuit
US09/240,181 1999-01-29
PCT/US2000/000058 WO2000045188A1 (en) 1999-01-29 2000-01-03 System for testing real and simulated versions of an integrated circuit

Publications (1)

Publication Number Publication Date
JP2002535684A true JP2002535684A (ja) 2002-10-22

Family

ID=22905461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000596388A Pending JP2002535684A (ja) 1999-01-29 2000-01-03 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム

Country Status (5)

Country Link
US (1) US6295623B1 (ja)
EP (1) EP1151311A4 (ja)
JP (1) JP2002535684A (ja)
KR (1) KR20010082313A (ja)
WO (1) WO2000045188A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322283A (ja) * 1999-05-06 2000-11-24 Fujitsu Ltd 電子計算機の障害検出方法
US6634012B2 (en) * 1999-09-14 2003-10-14 Innologic Systems, Inc. Design verification by symbolic simulation using a native hardware description language
US6574759B1 (en) * 2000-01-18 2003-06-03 Rambus Inc. Method for verifying and improving run-time of a memory test
DE10040050A1 (de) * 2000-08-11 2002-02-21 Mannesmann Vdo Ag Prümodul
JP2002131371A (ja) * 2000-10-23 2002-05-09 Ando Electric Co Ltd Ic試験装置の警報表示装置
US7047174B2 (en) * 2001-05-02 2006-05-16 Freescale Semiconductor, Inc. Method for producing test patterns for testing an integrated circuit
US6684169B2 (en) 2001-06-29 2004-01-27 Teradyne, Inc. Facilitating comparisons between simulated and actual behavior of electronic devices
WO2002091182A2 (en) * 2001-05-08 2002-11-14 Teradyne, Inc. Facilitating comparisons between simulated and actual behavior of electronic devices
US6938228B1 (en) * 2001-07-20 2005-08-30 Synopsys, Inc. Simultaneously simulate multiple stimuli and verification using symbolic encoding
US7627462B2 (en) * 2001-11-27 2009-12-01 Arm Limited Hardware simulation using a test scenario manager
US7099813B2 (en) * 2002-04-09 2006-08-29 Arm Limited Simulating program instruction execution and hardware device operation
US7089135B2 (en) * 2002-05-20 2006-08-08 Advantest Corp. Event based IC test system
US7155378B2 (en) * 2002-12-16 2006-12-26 Sun Microsystems, Inc. Method for providing cycle-by-cycle ad HOC verification in a hardware-accelerated environment
US7133818B2 (en) * 2003-04-17 2006-11-07 Sun Microsystems, Inc. Method and apparatus for accelerated post-silicon testing and random number generation
DE102005031301A1 (de) * 2005-07-05 2006-09-07 Daimlerchrysler Ag Verfahren und Vorrichtung zum Testen eines technischen Systems
US20070083351A1 (en) * 2005-10-12 2007-04-12 Proton World International N.V. Integrated circuit test simulator
US7711537B2 (en) * 2006-05-03 2010-05-04 International Business Machines Corporation Signals for simulation result viewing
US7917873B1 (en) * 2007-02-12 2011-03-29 Zocalo Tech, Inc. System and method for verification of integrated circuit design
US7844928B2 (en) * 2008-01-11 2010-11-30 International Business Machines Corporation Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
US7770140B2 (en) * 2008-02-05 2010-08-03 International Business Machines Corporation Method and apparatus for evaluating integrated circuit design model performance using basic block vectors and fly-by vectors including microarchitecture dependent information
US7904870B2 (en) * 2008-04-30 2011-03-08 International Business Machines Corporation Method and apparatus for integrated circuit design model performance evaluation using basic block vector clustering and fly-by vector clustering
KR101452959B1 (ko) * 2008-06-02 2014-10-24 삼성전자주식회사 실장형 테스트 장비 및 그 방법
US8149721B2 (en) * 2008-12-08 2012-04-03 Advantest Corporation Test apparatus and test method
US20110270599A1 (en) * 2010-04-29 2011-11-03 Park Heat-Bit Method for testing integrated circuit and semiconductor memory device
US8578226B2 (en) * 2010-08-17 2013-11-05 Eigenix Apparatus and system for implementing variable speed scan testing
US8893065B2 (en) * 2012-07-11 2014-11-18 Mentor Graphics Corporation Biometric markers in a debugging environment
WO2018089842A1 (en) * 2016-11-11 2018-05-17 Synopsys, Inc. Waveform based reconstruction for emulation
US10635766B2 (en) 2016-12-12 2020-04-28 International Business Machines Corporation Simulation employing level-dependent multitype events

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3927371A (en) * 1974-02-19 1975-12-16 Ibm Test system for large scale integrated circuits
US4773028A (en) * 1984-10-01 1988-09-20 Tektronix, Inc. Method and apparatus for improved monitoring and detection of improper device operation
US5574853A (en) * 1994-01-03 1996-11-12 Texas Instruments Incorporated Testing integrated circuit designs on a computer simulation using modified serialized scan patterns
US5633813A (en) * 1994-05-04 1997-05-27 Srinivasan; Seshan R. Apparatus and method for automatic test generation and fault simulation of electronic circuits, based on programmable logic circuits
US5696772A (en) * 1994-05-06 1997-12-09 Credence Systems Corporation Test vector compression/decompression system for parallel processing integrated circuit tester
US5859962A (en) * 1995-12-21 1999-01-12 Ncr Corporation Automated verification of digital design
US5740086A (en) * 1996-01-11 1998-04-14 Advantest Corp. Semiconductor test system linked to cad data
KR100212608B1 (ko) * 1996-01-12 1999-08-02 가네꼬 히사시 Cmos 집적 회로 고장 진단 장치 및 진단 방법
JP2982741B2 (ja) * 1997-05-13 1999-11-29 日本電気株式会社 集積回路の故障診断装置及びその記録媒体

Also Published As

Publication number Publication date
US6295623B1 (en) 2001-09-25
KR20010082313A (ko) 2001-08-29
EP1151311A1 (en) 2001-11-07
WO2000045188A1 (en) 2000-08-03
EP1151311A4 (en) 2005-01-12

Similar Documents

Publication Publication Date Title
JP2002535684A (ja) 集積回路のリアルバージョンテストとシミュレートバージョンテストを行うシステム
US6061283A (en) Semiconductor integrated circuit evaluation system
KR100483876B1 (ko) 반도체 집적 회로 설계 및 검증 시스템
KR100506770B1 (ko) 이벤트 기준 반도체 테스트 시스템
US6363509B1 (en) Method and apparatus for transforming system simulation tests to test patterns for IC testers
JP4508657B2 (ja) Asic/soc製造におけるプロトタイプホールドを回避するための製造方法と装置
US7478346B2 (en) Debugging system for gate level IC designs
US5517432A (en) Finite state machine transition analyzer
JP2005525577A (ja) イベント型icテストシステム
JPS6063644A (ja) デイジタル装置の動作のモデリング方法及び装置
JP3540539B2 (ja) 半導体試験装置
CN112444731B (zh) 芯片测试方法、装置、处理器芯片及服务器
KR100506769B1 (ko) 고속 테스트 패턴 평가 장치
US20020188432A1 (en) Circuit model generation and circuit model testing
JP4213306B2 (ja) 半導体試験用プログラムデバッグ装置
JP4039853B2 (ja) テスト容易化設計システム
WO2007000953A1 (ja) 半導体集積回路開発支援システム
JP3162316B2 (ja) 電子回路テスト用システム
JP2003330983A (ja) テスト容易化設計システム、テスト容易化設計方法、プログラムおよび記録媒体
JP2003256493A (ja) テスタシミュレーション装置及びテスタシミュレーション方法
Rozeboom Current problems related to LSI functional testing
JP2972499B2 (ja) 論理回路遅延シミュレータ装置
JPH10105582A (ja) メガセルテスト支援装置
Jacomet et al. ProTest: a low cost rapid prototyping and test system for ASICs and FPGAs
KR20050101105A (ko) 검증 성능을 높이는 시뮬레이션 기반의 검증 장치 및 이를이용한 시뮬레이션 방법

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060712