JP2005056428A - 命令バッファリング機能付きシーケンサユニット - Google Patents

命令バッファリング機能付きシーケンサユニット Download PDF

Info

Publication number
JP2005056428A
JP2005056428A JP2004230331A JP2004230331A JP2005056428A JP 2005056428 A JP2005056428 A JP 2005056428A JP 2004230331 A JP2004230331 A JP 2004230331A JP 2004230331 A JP2004230331 A JP 2004230331A JP 2005056428 A JP2005056428 A JP 2005056428A
Authority
JP
Japan
Prior art keywords
data
instruction
processing unit
instructions
sequencer unit
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
JP2004230331A
Other languages
English (en)
Other versions
JP4634756B2 (ja
Inventor
Thomas Henkel
トマス,ヘンケル
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2005056428A publication Critical patent/JP2005056428A/ja
Application granted granted Critical
Publication of JP4634756B2 publication Critical patent/JP4634756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Programmable Controllers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】
シーケンサユニットの動作速度を向上させること。
【解決手段】
本発明によるシーケンサユニット(1)は第1の命令処理ユニット(2)と、命令バッファ(3)と、第2の命令処理ユニット(4)とを含む。第1の命令処理ユニット(2)は命令ストリーム(7)を受信して処理するように構成され、特定の命令によってデータが要求されたときは、そのデータをフェッチするための対応するデータ読み出し命令(11)を発行する。要求データを待つ命令(12)は命令バッファ(3)にバッファリングされる。第2の命令処理ユニット(4)は発行されたデータ読み出し要求のうちの1つに対応する要求データ(13)を受信し、該要求データ(13)を命令バッファ(3)にある対応する命令に割り当て、該命令を処理して出力データストリーム(10)を生成する。
【選択図】 図1

Description

本発明はシーケンサユニットに関し、出力データストリームを生成する方法に関する。更に本発明はチャネルに関し、自動試験装置に関連する。
様々な用途において、複雑なデータ・シーケンスを有するデータ・ストリームが必要になることがある。初期化シーケンス、サブルーチン、反復データのループなどを含む複雑なデータ・シーケンスは、シーケンサ・ユニットによって生成される。シーケンサ・ユニットには、シーケンサ命令とシーケンサ・データの両方が供給される。シーケンサ・データは、それらのシーケンサ命令に従って出力データ・ストリームに変換される。
本発明の課題は、改善された動作態様を有するシーケンサ・ユニットを提供することである。この課題は、独立請求項に規定した発明によって解決される。好ましい実施形態は従属項に示してある。
本発明の実施形態によるシーケンサ・ユニットは、命令ストリームを受信して処理するように構成された第1の命令処理ユニットを含む。何らかの命令によってデータが要求されると、そのデータをフェッチするための、対応するデータ読み出し要求を発行する。要求したデータを待つ命令は、命令バッファにバッファリングされる。シーケンサ・ユニットは、発行したデータ読み出し要求のうちの1つに対応する要求データを受信する第2の命令処理ユニットを更に含む。第2の命令処理ユニットは、受信した要求データを命令バッファにバッファリングされている対応する命令に割り当て、その命令を処理して、出力データ・ストリームを生成する。
命令は第1の命令処理ユニットに供給され、そこでその命令に事前処理が施される(例えば、ある命令が何らかの記憶装置の類からフェッチしてこなければならないデータを必要とするものであるか否かを判定するために)。ある命令がデータを必要とするものであった場合、第1の命令処理ユニットから、対応するデータ読み出し要求が発行される。要求されたデータのフェッチングにはいくらか時間がかかる。その間、各命令は命令バッファに記憶され、要求したデータをそこで待つことになる。要求データが第2の命令処理ユニットに届くと、第2の命令処理ユニットはその要求データを、命令バッファにバッファリングされている対応する命令に割り当てる。この時点で、命令とその要求データが両方とも得られ、命令処理を完遂できるようになる。その結果、シーケンサ・ユニットの出力データ・ストリームが生成される。
従来技術のシーケンサ・ユニットは命令を1つづづ処理している。シーケンサ・ユニットは、第1の命令に対応するデータ読み出し要求を発行した後、その第1の命令の処理が完了するまで、待機する。その後、次の第2の命令に対応するデータ読み出し要求を発行する。要求データのフェッチングには時間がかかることもあり、遊び時間が生じていた。命令を1つづつ処理する場合、シーケンサ・ユニットのリソースはあまり有効に利用されない。
本発明の実施形態によるシーケンサ・ユニットは、データが実際に必要となる少し前の時点で、前もってデータ読み出し要求を発行する。例えば、第1の命令によって要求されたデータが第2の処理ユニットに到達する前であっても、次の第2の命令に関するデータ読み出し要求が発行される場合がある。要求データのフェッチングにはいくらか時間がかかる場合もあるが、そのデータは、対応する命令の処理の続きを第2の命令処理ユニットで行なうときに利用可能になる。従って、第1の命令と第2の命令は部分的に並行して処理される。待ち時間に起因した遊び時間を大幅に短くすることができる。
本シーケンサ・ユニットの様々なステージは、インターリーブ方式で命令処理を行なうことができる。そのため、スムーズで信頼性の高い動作が実現される。
本発明の一実施形態では、第1の命令処理ユニットによって発行された命令読み出し要求に応じて、第1の命令処理ユニットが命令ストリームを受信する。先にフェッチされた命令ブロックの処理が終わりかけると、新たな命令ブロックを要求する。このように、新たな命令ブロックのフェッチング速度がシーケンサ・ユニットの処理速度に合わせて常に調節され、命令ストリームが第1の命令処理ユニットに供給される。
他の実施形態では、命令ストリームが、データ・シーケンシング命令、フロー制御命令、ブレーク命令、及びセット・データ命令のうちの少なくとも1つを含む。
データ・シーケンシング命令は、入力データ・ブロックを対応する出力データ・ストリームに変換する働きをもつ命令である。例えば、入力データ・ブロックを対応する線形出力データストリームに変換するデータ・シーケンシング命令がある。その他に、入力データを対応する出力データ・ストリームに変換する際に、その出力データ・ストリームの中に入力データの特定シーケンスを何度か繰り返すようにするデータ・シーケンシング命令もある。
命令ストリームはフロー制御命令を更に含む場合がある。フロー制御命令は出力データ・ストリームの生成には関係しない。そうではなく、フロー制御命令は命令処理の順序を変更する働きを持つ。フロー制御命令には、例えば条件付き命令、分岐命令、ループ命令などがある。条件分岐が発生すると、その分岐に対応する所定の条件が評価され、その評価の結果に応じて分岐したりしなかったりすることになる。フロー制御命令は、例えばループ機能を実施するループ命令を含む場合がある。ループ機能とは、特定の命令や、特定の命令グループを所定の回数だけ繰り返すことを意味する。さらにフロー制御命令は、例えばメイン命令ストリームからサブルーチンへジャンプする命令や、サブルーチンからメイン命令ストリームへ戻る命令を含む場合がある。一般に、フロー制御命令は、複雑な出力データ・ストリームの生成を簡単にする上で有用である。特定の出力データ・ストリームを生成するのに必要な命令数を大幅に少なくすることができる。
その他に、命令セットは、例えば任意数のアイドル・サイクルを生成するためのブレーク命令を含む場合がある。アイドル・サイクル中は、例えばブレーク波形が繰り返しDUTに供給される。
命令セットは、例えばセット・データ命令を含む場合がある。セット・データ命令は、シーケンサ・ユニットおよびシーケンサ・ユニットを包むシステムの内部パラメタを設定および変更するのに使用される。セット・データ命令により、システムの設定の制御が可能になる。
本発明の一実施形態では、第1の命令処理ユニットでフロー制御命令を処理する。フロー制御命令は命令処理の流れを変更するためのものであるから、フロー制御命令については、データ読み出し要求が発行されない。フロー制御命令は、全て第1の命令処理ユニットで処理することができ、命令バッファへ、そして第2の命令処理ユニットへと供給する必要は無い。
本発明の他の好ましい実施形態では、データ・シーケンシング命令の処理は、第1の命令処理ユニット内で開始され、そして第2の命令処理ユニット内で完了する。データ・シーケンシング命令の処理に必要な入力データ・ブロックをフェッチするためには、対応するデータ読み出し要求を第1の命令処理ユニットが何らかの記憶装置に対して発行しなければならない。要求されたデータ・ブロックは第2の命令処理ユニットに届く。この段階で、データを要求したデータ・シーケンシング命令と、それに対応するデータ・ブロックとが両方とも使用可能になり、データ・シーケンシング命令の処理を完遂することができるようになる。例えば、各データ・シーケンシング命令は、受信した入力データをシーケンサ・ユニットの出力にルーティングすることにより、出力データの線形ストリームを生成する場合がある。あるいは、各データ・シーケンシング命令は、入力データの特定部分をシーケンサ・ユニットの出力に繰り返し供給するような反復タイプの命令である場合もある。一般に、第1の命令処理ユニットは、命令フローの進み具合の管理と、データ読み出し要求の発行を行なう働きを持ち、第2の命令処理ユニットは、シーケンシングに関するタスクを行なう働きを持つ。従って、このような多段アプローチにより役割分担が明確に規定される。
本発明の他の実施形態では、要求したデータを待つ命令が、第1の命令処理ユニットによって命令バッファに記憶される。ある命令に対するデータ読み出し要求が発行された後、その命令は命令バッファへと書き込まれる。第1の命令処理ユニット内では命令が順番に処理される。そして、好ましくはデータ読み出し要求も順番に発行される。この順番は、要求したデータを待つ命令を命令バッファへと記憶する際に保存される。
本発明の他の実施形態では、要求されたデータが、第2の命令処理ユニットにより、命令バッファにある対応する命令へと順番に割り当てられる。第1の命令処理ユニットで発行されたデータ読み出し要求がその発生順に処理される場合、対応するデータ・ブロックも順番に第2の命令処理ユニットへと届く。第2の命令処理ユニットは、それらのデータ・ブロックをその到着順に、命令バッファから読み出した対応する命令へと割り当てる働きをもつ。
命令バッファは、FIFO(First In First Out)バッファとして実現するのが望ましい。
本発明の好ましい実施形態では、命令を格納しておくための命令メモリは、SRAM(スタティックRAM)で実現するのが望ましい。専用命令メモリは、第1の命令処理ユニットから命令読み出し要求を受信し、要求された命令ブロックをフェッチして、その命令を第1の命令処理ユニットに供給する。専用の命令メモリを設けることにより、命令読み出し要求を確実に即座に処理することが可能になる。命令メモリをSRAMで実現すると有利である理由は、SRAMは、アクセス待ち時間が短いからである。
他の好ましい実施形態では、要求データをデータ・メモリから受信する。このデータ・メモリは、DRAM(ダイナミックRAM)で実現するのが望ましい。出力データ・ストリームを生成するためには、大量の入力データが必要になる場合がある。従って、データを記憶しておくメモリは小さすぎてはいけないのである。専用の命令メモリと専用のデータ・メモリを設けることにより、データ読み出し要求と命令読み出し要求とを並行して処理することができる。データ・メモリから大きなデータ・ブロックをフェッチしなければならない場合であっても、命令ストリームは中断することがない。専用データ・メモリはDRAMで実現するのが望ましい。DRAMはSRAMよりも安価で且つ小型であり、大量の入力データを記憶するのに適しているからである。
あるいは本発明の他の好ましい実施形態では、シーケンサ・ユニットが、命令とデータの両方を共有メモリから受信する場合がある。命令メモリとデータ・メモリを1つの共有メモリに置き換えることによって、シーケンサの構成が簡単になり、比較的安価で小型の解決手段が実現できる。共有メモリを使用する場合、命令読み出し要求の待ち時間要件と、データ読み出し要求の帯域幅要件との両方を考慮する必要がある。データをフェッチするための読み出しアクセスと命令をフェッチするための読み出しアクセスは、前記待ち時間要件と前記帯域幅要件を両方満たすようにスケジューリングしなければならない。本発明の実施形態では、データ読み出し要求が十分に先立って発行される。こうすることにより、共有メモリに対して読み出しアクセスの適当なシーケンスを設定する際に必要とされる柔軟性が得られる。共有メモリはDRAMまたはRDRAMで実現するのが望ましい。なぜなら、ダイナミックRAMは大量のデータを記憶することができるからである。
第1の命令処理ユニットが発行するデータ読み出し要求は、要求データの開始アドレスとサイズを両方とも指定するものであることが望ましい。開始アドレスとサイズを両方とも指定することにより、対応するメモリ内で、当該データ・ブロックを明確に特定することができる。
本発明の好ましい実施形態では、シーケンサ・ユニットが、自動試験装置(ATE)のチャネルに使用される。チャネルは、少なくと1つの試験対象デバイス(DUT)に対して刺激データを供給すること、および前記少なくとも1つのDUTから応答データを受信すること、のうちの少なくとも一方を行なう働きをもつ。マルチ・チャネル・システムでは、DUTの様々なピンに供給するテスト・パターンのタイミングを互いに明確に定義しておかなければならない。テスト・データ・ストリームのうちに乱れたものがあると、テスト・データ・ストリーム間の相対的なタイミングが崩れ、試験結果に誤りが生じる。従って、テスト・データ・ストリームには乱れや途切れが発生してはならない。スムーズで信頼性の高い動作を実現するためには、本発明の実施形態によるシーケンサ・ユニットを用いるのが有利である。
本発明の他の好ましい実施形態では、テスト・データは、ベクトル・データと期待データのうちの少なくとも一方を含む。テスト・データのストリームは、ベクトル・データだけでもよいし、期待データだけでもよいし、あるいはベクトル・データと期待データの両方を含むものでもよい。ベクトル・データは少なくとも1つのDUTに対して刺激データを生成するのに使用される。期待データは、少なくとも1つのDUTから得られた応答データを評価するのに使用される。この評価は、応答データを期待データと比較することを含む。
テスト・データは、チャネルの駆動経路とチャネルの受信経路とのうちの少なくとも一方に供給するのが望ましい。テスト・データのストリームがベクトル・データを含むものである場合、そのベクトル・データはチャネルの駆動経路へ供給される。そこでベクトル・データは、例えば波形テーブル等の手段により、対応する波形シーケンスに変換される場合がある。テスト・データが期待データを含むものであった場合、そのテスト・データはチャネルの受信経路へ供給される。受信経路も、期待データを期待波形に変換するための波形テーブルを含む場合がある。
本発明の更に他の好ましい実施形態では、テスト・データは、チャネルの設定を変更するための設定データを更に含む場合がある。この設定データは、シーケンサ・ユニットにより生成された出力データ・ストリームの一部である。設定データは、例えば制御設定、内部レジスタへに書き込むべき値、設定パラメタなどを含む場合がある。その他に、設定データは、波形テーブルの再プログラミングにも影響を与える場合がある。さらに、チャネルの制御設定を変更するために、設定データの一部を例えばシーケンサ・ユニットの出力データ・ストリームに挿入する場合もある。
他の実施形態では、シーケンサ・ユニットのテスト・データ・ストリームがリフレッシュ・ベクトルを含む。少なくとも1つのDUTが1以上のDRAMメモリを含み、そのDRAMのリフレッシュを時々実行しなければならない場合がある。そのため、リフレッシュ・ベクトルをテスト・データ・ストリームに挿入する場合がある。
本発明の実施形態によるシーケンサ・ユニットは、チャネルと一体の部品にすることができるため、テスト・データの生成に適している。チャネルは、少なくとも1つの記憶装置を更に含み、命令とデータのうちの少なくとも一方をその少なくとも1つの記憶装置に記憶することができる。さらに、チャネルは少なくとも1つのDUTから得られた応答データを評価するための結果処理ユニットを含む。
チャネルは、少なくとも1つのDUTに対して刺激データを供給することと、該少なくとも1つのDUTから応答データを受信することとのうちの少なくとも一方を行なう働きを持つ。
1以上のDUTを試験するための自動試験装置(ATE)は、上記のようなチャネルを1以上有する場合がある。更に、自動試験装置は、チャネルを調整する働きを持つ中央機構を備える場合がある。
好ましい実施形態では、自動試験装置は中央集中型テスタ構成で実現される。この実施形態では、チャネル制御の大部分が中央機構によって行なわれる。例えば、中央集中型テスタ構成は、中央機構のクロック制御を受ける。
本発明の代替実施形態では、自動試験装置はピン毎テスタ構成によって実現される。この実施形態では、中央機構はごく僅かな数のタスクしか担わない。大部分は、各チャネルが独立した機能ユニットとして動作する。
本発明は、その一部または全部を1以上の適当なソフトウェア・プログラムで実現または補助することも可能である。ソフトウェア・プログラムは、いかなる種類のデータ担体に記憶してもよく、適当なデータ処理装置であれば、いかなるもので実行されてもよい。第1の命令処理ユニットおよび第2の命令処理ユニットのタスクを実行する際には、ソフトウェア・プログラムすなわちルーチンを使用するのが望ましい。
本発明の他の目的及び付随する利点の多くは下記の説明を読むことにより容易に理解することができ、添付の図面を参照すればさらによく理解することができるであろう。図面において、実質的にすなわち機能的に同一または類似の要素には、同じ符号を記している。
図1は、本発明の一実施形態によるシーケンサ・ユニットの構成を示す。シーケンサ・ユニット1は、命令エンジン2、命令待ち行列3及びデータ・エンジン4を含む。シーケンサ・ユニットの動作が開始されると、命令エンジン2は命令読み出し要求5を命令メモリ6に送信する。命令読み出し要求5は、命令メモリ6から読み出すべきデータブロックを指定するものである。対応する読み出しアクセスを命令メモリ6に対して実施した後、要求された命令7が命令エンジン2に渡される。ここで、それらの命令に事前処理が施される。命令メモリ6からフェッチされた命令ブロックの事前処理が終了に近づくと必ず、命令エンジン2は次の命令ブロックに対する命令読み出し要求5を発行する。命令メモリ6はSRAMで実現するのが望ましい。なぜなら、SRAMは読み出しアクセスの待ち時間が短いからである。命令メモリ6から読み出された命令はバッファ8にバッファリングし、命令エンジン2は必要な命令をこのバッファ8から取得するようにしてもよい。バッファ8は、FIFOバッファとして実現するのが望ましい。
命令エンジン2は、命令ストリームの事前処理を実施する働きを持つ。命令エンジン2に供給される命令としては、例えばフロー制御命令、データ・シーケンシング命令、ブレーク命令、セット・データ命令などがある。命令フローを処理すべき順番は、フロー制御命令によって決まる。フロー制御命令は、例えば条件分岐やループを含む場合がある。更に、メイン命令フローから一連の命令を含むサブルーチンへのジャンプや、サブルーチンからメイン命令フローへの帰還が生じる場合もある。フロー制御命令を処理する場合、メモリから入力データをフェッチする必要がないので、フロー制御命令は全て命令エンジン2の中で処理することができる。これに対して、データ・シーケンシング命令やセット・データ命令を処理する場合は、データ・メモリ9からデータ・ブロックをフェッチしなければならない場合がある。データ・シーケンシング命令は、シーケンサ・ユニット1の出力データ・ストリーム10を実際に生成する働きを持つ。セット・データ命令は、シーケンサ・ユニット1の制御設定を再プログラムするのに使われる。また、セット・データ命令は、シーケンサ・ユニット1を含むシステムの制御設定を再プログラムするのにも使用される場合がある。セット・データ命令を処理する場合も、データ・メモリ9からデータをフェッチしなければならない場合がある。
命令エンジン2は、各命令について、データ・メモリ9からデータをフェッチする必要があるか否かを確認しなければならない。命令エンジン2は、データをフェッチする必要がある命令それぞれについて、対応するデータ読み出し要求11をデータ・メモリ9に送る。各データ読み出し要求11の中には、要求するデータの開始アドレスとサイズが指定されている。要求データのフェッチには幾らか時間がかかる。命令エンジン2は、データ読み出し要求を発行した命令の処理を必ずしも完了させる責任が無い。命令エンジン2は、要求データを待っている命令12を命令待ち行列3に書き込む。命令待ち行列3はFIFOバッファとして実現するのが望ましい。命令待ち行列3は、要求データを待っている全ての命令を格納し、そうした命令の順序を維持している。
連続した出力データ・ストリーム10を生成するためには、大量のデータが必要になる場合がある。必要なデータを記憶しておくためには、データ・メモリ9のサイズを命令メモリ6よりも大幅に大きくなければならない。データ・メモリ9はDRAMで実現するのが望ましい。なぜならDRAMはSRAMよりもはるかに構成できるからである。命令エンジン2が発行したデータ読み出し要求11は、発行順に処理される。データ・メモリ9から各データ・ブロックがフェッチされ、要求されたデータ13はシーケンサ・ユニットのデータ・エンジン4に供給される。要求されたデータはバッファ14にバッファリングしてもよい。バッファ14はFIFOバッファとして実現するのが望ましい。
データ・エンジン4は、要求されたデータ13を、その要求されたデータを待っている命令待ち行列3の中の対応する命令に割り当てる。データ読み出し要求11は、命令フローの順番に従って発行される。要求に対応するデータ・メモリ9への読み出しアクセスは、データ読み出し要求11の順番に従ってスケジューリングされる。そのため、要求されたデータ13のブロックは、命令待ち行列3内にある命令の順番に対応する順序でデータ・エンジン4へと届くことになる。要求されたデータ13のブロックがデータ・エンジン4に到達する度に、データ・エンジン4は命令待ち行列3から次の命令をフェッチし、受信したデータをその命令に割り当てる。この時点で命令とそれに対応する入力データが得られ、データ・エンジン4は、出力データ・ストリーム10のデータを生成するために、それらの命令の処理を続行する。
データ・エンジン4により実行される命令は、例えば受信データを出力データ・ストリームとしてシーケンサ・ユニットの出力にルーティングする場合がある。また、データ・エンジン4により実行される命令は、出力データ・ストリームを生成するときに入力データの特定部分を所定の回数だけ反復する場合もある。更に、初期化シーケンスやリフレッシュ・シーケンスを出力データ・ストリームに挿入するように構成された命令が存在する場合もある。他の命令としては、所定数のクロック・サイクルにわたって擬似ランダム・データをシーケンサ・ユニットの出力に出力するものもある。
図2Aは、従来技術のシーケンサ・ユニットによる命令処理のタイミングを示す。このシーケンサ・ユニットは命令を一度に一つしか処理しない。すなわち、先の命令の処理が終了するまで後の命令の処理が始まらないことを意味している。例えば、図2Aに示した命令I1を処理する場合、入力データが必要であり、従ってデータ読み出し要求16が発行される。データ・メモリの待ち時間によって生じるアイドル時間17が経過すると、要求したデータD1が受信され、命令I1の処理は終了する。次いで命令I2の処理が始まり、データ読み出し要求18が発行される。待ち時間19が経過すると、要求したデータD2が受信され、命令I2の処理が続けられる。次いで命令I3が処理される。命令I3はデータ・メモリから何もデータをフェッチする必要がない。次いで命令I4が処理され、対応するデータ読み出し要求20がデータ・メモリに送られる。アイドル時間21が経過すると、データD4が得られ、命令I4の処理が終了する。
図2Bは、本発明の一実施形態によるシーケンサ・ユニットの命令処理タイミングを示す。命令I1、I2、I3及びI4は、命令エンジン2によって事前処理が施される。この事前処理の際、命令エンジン2は、命令I1、I2、及びI4を処理するためにはメモリから入力データをフェッチする必要があるということを検出する。命令I3については、入力データが必要ない。従って命令エンジン2は、データ読み出し要求22、23、24をデータ・メモリに送信し、命令I1、I2、I4を命令待ち行列3に書き込む。ある時間経過すると、命令I1用のデータD1がシーケンサ・ユニットのデータ・エンジン4に届く。ここで、データD1がI1に割り当てられ、命令I1の処理が終了する。
本発明の実施形態によれば、命令エンジン2は、データ読み出し要求22の発行が完了した直後に、命令I2及びI4のデータ読み出し要求23、24を発行する。つまり、命令I1用のデータD1がデータ・エンジン4によって受信・処理される前であっても、データ読み出し要求23、24が発行される。そのため、データD1を受信した直後にデータD2を得ることができ、命令I2を続けて処理することができる。図2Aに示した待ち時間19のような余計な待ち時間は、もはや必要ない。データD4についても同じことが言え、データD4はデータD2を受信した直後に得られる。データ読み出し要求23、24を十分早く発行することにより、連続的なデータ・フローが実現でき、シーケンサ・ユニットの効率が大幅に向上する。
本発明の一実施形態によるシーケンサ・ユニットは、出力データの連続ストリームの生成が必要とされるいかなる種類の用途にも使用することができる。本発明の一実施形態によるシーケンサは、例えば試験の分野で使用することができる。具体的には、本シーケンサ・ユニットは、例えば自動試験装置(ATE)のチャネルに使用することができる。しかしながら、本シーケンサ・ユニットの用途が試験の分野に限定されることは全くない。
図3は、自動試験装置のチャネル25を示す。チャネル25は、DUTに対する刺激データの供給、及びDUTから得られた応答データの分析のうちの、少なくとも一方を行なう働きを持つ。チャネル25は、本発明の一実施形態によるシーケンサ・ユニット26を備える。シーケンサ・ユニット26は、命令エンジン27、命令待ち行列28及びデータ・エンジン29を含む。
図1に示した実施形態では、命令メモリから命令を受信し、データ・メモリからデータを受信していた。これに対し、図3の実施形態では、シーケンサ・ユニット26が1つの共有メモリ32から命令30とデータ31の両方を受信する。共有メモリ32は大量のデータを格納する必要があるため、RDRAMで実現するのが望ましい。共有メモリ32は、調停ユニット33を介してアクセスされる。調停ユニット33は、チャネル25の様々な機能ユニットから読み出し要求および書き込み要求を受信し、共有メモリ32に対する読み出し・書き込みアクセスのシーケンス34をスケジューリングする。
命令エンジン27は、命令30を要求するために、命令読み出し要求35を調停ユニット33に発行することがある。この命令読み出し要求35が調停ユニット33に受信されると、対応する読み出しアクセスが実行され、共有メモリ32からフェッチされた命令30が命令エンジン27に供給される。命令エンジン27はそれらの命令に事前処理を施し、入力データを必要とする命令について、対応するデータ読み出し要求36を調停ユニット33に発行する。対応する読み出しアクセスが実行され、要求されたデータ31はデータ・エンジン29に供給される。
シーケンサ・ユニット26で生成された出力データ・ストリーム37は、駆動データ及び期待データの両方を含む場合がある。出力データ・ストリーム37は、駆動経路38と、受信経路40にある比較ユニット39との両方に供給される。駆動経路38は波形テーブルを含む場合がある。波形テーブルは、出力データストリームの各ベクトルを対応する波形のシーケンスに変換するように構成されたルックアップテーブルである。各波形は、一連のエッジと、それらのエッジに関するタイミング情報とを含む。駆動経路38の出力部で刺激データ・ストリーム41が得られ、この刺激データ・ストリーム41がDUTのピン42に供給される。
代わりに、或いはこれに加えて、DUTのピン42から応答データ・ストリーム43が得られる場合がある。この応答データ43は、比較ユニット39で、出力データ・ストリーム37の一部として送られてきた期待データと比較される。そのため、出力データ・ストリーム37は受信経路40にある比較ユニット39にも供給される。比較ユニット39は、比較結果を含む結果データ・ストリーム44を生成する。この結果データ・ストリーム44は結果処理ユニット45へ供給される。結果処理ユニット45は、例えば比較結果を各サイクルの関数として記録することなどにより、エラー・マップを生成する。エラー・マップ・データ46は、調停ユニット33を介して共有メモリ32に書き込まれる。
DUTを試験するとき、異なる種類のエラーが同時に発生することがある。それらのエラーのうちの一部しか追跡および分析する必要がない場合、他のエラーは全てマスクしておく必要がある。その目的で、共有メモリ32から読み出されたサイクル・マスク・データ47が、結果処理ユニット45に供給される。このサイクル・マスク・データ47は、結果データ・ストリーム44のうちのマスクしておかなければならない部分を定義するデータである。
共有メモリの内容をワークステーションとやり取りするために、チャネル25は、ワークステーションに対するデータ・リンク49を確立するように構成されたワークステーション・インターフェース48を有する場合がある。ワークステーション・インターフェース48を介することで、データ50をワークステーションと共有メモリ32との間でやり取りすることができる。さらに、チャネル25は埋め込み型マイクロプロセッサ・コア51を含む場合がある。マイクロプロセッサ・コア51と共有メモリ32との間で、データ52を交換することができる。
本発明の一実施形態によるシーケンサ・ユニットを示すブロック図である。 従来技術によるシーケンサ・ユニットの、データ読み出し要求の命令のタイミングと、要求されたデータの到着のタイミングとを示す図である。 本発明の一実施形態によるシーケンサ・ユニットの、データ読み出し要求の命令のタイミングと、要求されたデータの到着のタイミングとを示す図である。 自動試験装置(ATE)のチャネルを示す図である。
符号の説明
1、26 シーケンサ・ユニット
2 第1の命令処理ユニット
3 命令バッファ
4 第2の命令処理ユニット
5 命令読み出し要求
6 命令メモリ
7 命令ストリーム
9 データ・メモリ
10 出力データ・ストリーム
11 データ読み出し要求
12 命令
13 要求データ
25 チャネル
37 テスト・データ・ストリーム
38 駆動経路
40 受信経路
41 刺激データ
43 応答データ
45 結果処理ユニット

Claims (13)

  1. 出力データストリーム(10)を生成するためのシーケンサユニット(1)であって、
    命令ストリーム(7)を受信して処理し、特定の命令によってデータが要求された場合、該データをフェッチするための対応するデータ読み出し要求(11)を発行する、第1の命令処理ユニット(2)と、
    要求データを待つ命令(12)をバッファリングするための命令バッファ(3)と、
    発行された前記データ読み出し要求のうちの1つに対応する要求データ(13)を受信し、該要求データ(13)を前記命令バッファ(3)にバッファリングされている対応する命令に割り当て、該命令を処理して出力データストリーム(10)を生成するための、第2の命令処理ユニット(4)と
    からなるシーケンサユニット。
  2. 前記第1の命令処理ユニット(2)は、命令読み出し要求を発行することにより命令を要求するように構成される、請求項1に記載のシーケンサユニット。
  3. 前記命令ストリームは、フロー制御命令、データシーケンシング命令、ブレーク命令、およびセットデータ命令のうちの少なくとも1つを含む、請求項1または請求項2に記載のシーケンサユニット。
  4. 前記第1の命令処理ユニット(2)は、前記フロー制御命令を処理するように構成される、請求項3に記載のシーケンサユニット。
  5. 前記第1の命令処理ユニット(2)は前記データシーケンシング命令に事前処理を施すように構成され、前記第2の命令処理ユニット(4)は前記データシーケンシング命令の処理を完了するように構成される、請求項3または請求項4に記載のシーケンサユニット。
  6. 前記第1の命令処理ユニット(2)が要求データを待つ命令(12)を前記命令バッファ(3)に記憶するように構成されるという特徴と、
    前記第2の命令処理ユニット(4)が前記要求データを前記命令バッファ(3)にバッファリングされている対応する命令に順番に割り当てるように構成されるという特徴と、
    前記命令バッファ(3)がFIFOバッファとして実施されるという特徴と、
    前記シーケンサユニット(1)が前記命令(7)および前記データ(13)を少なくとも1つの記憶装置から受信するように構成されるという特徴と、
    前記第1の命令処理ユニット(2)が前記命令(7)をSRAMとして実施されることが望ましい命令メモリ(6)から受信するように構成されるという特徴と、
    前記第2の命令処理ユニット(4)が前記要求データ(13)をDRAMとして実施されることが望ましいデータメモリ(9)から受信するように構成されるという特徴と、
    前記シーケンサユニットが前記命令および前記データを共有メモリから受信するように構成され、該共有メモリがDRAMまたはRDRAMとして実施されることが望ましいという特徴と、
    前記第1の命令処理ユニット(2)が要求データの開始アドレスとサイズを両方とも示すデータ読み出し要求を発行するように構成されるという特徴と
    のうちの少なくとも1つの特徴を含む、請求項1〜5のうちのいずれか一項に記載のシーケンサユニット。
  7. 前記シーケンサユニット(26)はテストデータのストリーム(37)を自動試験装置のチャネル(25)に生成するように構成され、該チャネル(25)が、少なくとも1つのDUTに対して刺激データ(41)を供給することと、該少なくとも1つのDUTから応答データ(43)を受信することとのうちの少なくとも一方を行なう働きを持つ、請求項1〜6のうちのいずれか一項に記載のシーケンサユニット。
  8. 前記テストデータ(37)がベクトルデータと期待データとのうちの少なくとも一方を含むという特徴と、
    前記シーケンサユニット(26)が、前記テストデータ(37)を前記チャネルの駆動経路(38)と該チャネルの受信経路(40)とのうちの少なくとも一方に供給するように構成されるという特徴と、
    前記テストデータ(37)が前記チャネルの設定を変更するための設定データを更に含むという特徴と、
    前記テストデータ(37)が、前記少なくとも1つのDUTの一部である少なくとも1つのDRAMのリフレッシュを開始するように構成されたリフレッシュベクトルを更に含むという特徴と
    のうちの少なくとも1つの特徴を含む、請求項1〜7のうちのいずれか一項に記載のシーケンサユニット。
  9. 自動試験装置で使用されるチャネル(25)であって、
    命令およびデータのうちの少なくとも一方を記憶するように構成された少なくとも1つの記憶装置と、
    請求項1〜8のうちのいずれか一項に記載のシーケンサユニット(26)であって、該シーケンサユニットがテストデータ(37)を生成するように構成される、シーケンサユニットと、
    少なくとも1つのDUTから得られた応答データ(43)を評価するように構成された結果処理ユニット(45)と
    からなるチャネル。
  10. 少なくとも1つのDUTに試験を行なうように構成された自動試験装置であって、
    前記少なくとも1つのDUTに対して刺激データを供給することと、前記少なくとも1つのDUTから応答データを受信することとのうちの少なくとも一方を行なう働きをもつ、請求項9に記載のチャネル(25)と、
    前記少なくとも1つのチャネル(25)を調整するように構成された中央機構と
    からなる自動試験装置。
  11. 前記自動試験装置が中央集中型テスタ構成で実施され、前記中央機構によるクロック制御を受けるという特徴と、
    前記自動試験装置がピン毎テスタ構成で実施され、前記チャネルが独立した機能ユニットを表すものであるという特徴と
    のうちのいずれか一方の特徴を有する、請求項10に記載の自動試験装置。
  12. 出力データストリーム(10)を生成する方法であって、
    命令ストリーム(7)を受信して処理し、ある命令によってデータが要求された場合、該データをフェッチするための対応するデータ読み出し要求(11)を発行するステップと、
    要求データを待つ命令(12)をバッファリングするステップと、
    要求データ(13)を受信し、該要求データを順番に対応する命令に割り当てるステップと、
    前記命令を処理して、少なくとも1つの出力データストリーム(10)を生成するステップと
    からなる方法。
  13. 請求項12に記載の方法を実行するためのソフトウェアプログラムまたは製品であって、コンピュータやデジタル信号処理装置等のようなデータ処理システムで実行されるときにデータ担体に記憶されていることが好ましい、ソフトウェアプログラムまたは製品。
JP2004230331A 2003-08-06 2004-08-06 命令バッファリング機能付きシーケンサユニット Active JP4634756B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03102448A EP1505491A3 (en) 2003-08-06 2003-08-06 Sequencer unit with instruction buffering

Publications (2)

Publication Number Publication Date
JP2005056428A true JP2005056428A (ja) 2005-03-03
JP4634756B2 JP4634756B2 (ja) 2011-02-16

Family

ID=33547782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004230331A Active JP4634756B2 (ja) 2003-08-06 2004-08-06 命令バッファリング機能付きシーケンサユニット

Country Status (3)

Country Link
US (1) US7263601B2 (ja)
EP (1) EP1505491A3 (ja)
JP (1) JP4634756B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009177238A (ja) * 2008-01-21 2009-08-06 Nittetsu Elex Co Ltd ネットワーク端末監視装置
JP2022543294A (ja) * 2019-08-06 2022-10-11 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306594C (zh) * 2005-03-08 2007-03-21 北京中星微电子有限公司 一种图形引擎芯片及其应用方法
CN1298049C (zh) * 2005-03-08 2007-01-31 北京中星微电子有限公司 一种图形引擎芯片及其应用方法
JP4752882B2 (ja) * 2008-07-24 2011-08-17 ソニー株式会社 メモリアクセスシステム、メモリ制御装置、メモリ制御方法、および、プログラム
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US11061751B2 (en) 2018-09-06 2021-07-13 Micron Technology, Inc. Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller
US11080210B2 (en) * 2018-09-06 2021-08-03 Micron Technology, Inc. Memory sub-system including an in package sequencer separate from a controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61169778A (ja) * 1985-01-23 1986-07-31 Nec Corp Lsiテストデ−タ評価方式
JPH02195432A (ja) * 1988-12-30 1990-08-02 Internatl Business Mach Corp <Ibm> データ処理システム及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
JPS593647A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd デ−タ処理システム
US6070235A (en) * 1997-07-14 2000-05-30 International Business Machines Corporation Data processing system and method for capturing history buffer data
US6249880B1 (en) * 1998-09-17 2001-06-19 Bull Hn Information Systems Inc. Method and apparatus for exhaustively testing interactions among multiple processors
US7096347B2 (en) * 2001-10-25 2006-08-22 Moore Charles R Processor and method of testing a processor for hardware faults utilizing a pipeline interlocking test instruction
US6978330B1 (en) * 2002-04-04 2005-12-20 Applied Micro Circuits Corporation Shared resource access via declarations that contain a sequence number of a packet
CN1653345A (zh) * 2002-05-08 2005-08-10 尼佩泰斯特公司 有多个指令存储器的测试器系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61169778A (ja) * 1985-01-23 1986-07-31 Nec Corp Lsiテストデ−タ評価方式
JPH02195432A (ja) * 1988-12-30 1990-08-02 Internatl Business Mach Corp <Ibm> データ処理システム及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009177238A (ja) * 2008-01-21 2009-08-06 Nittetsu Elex Co Ltd ネットワーク端末監視装置
JP2022543294A (ja) * 2019-08-06 2022-10-11 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法
JP7317209B2 (ja) 2019-08-06 2023-07-28 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法

Also Published As

Publication number Publication date
US20050050302A1 (en) 2005-03-03
JP4634756B2 (ja) 2011-02-16
EP1505491A2 (en) 2005-02-09
EP1505491A3 (en) 2005-03-02
US7263601B2 (en) 2007-08-28

Similar Documents

Publication Publication Date Title
US6959372B1 (en) Processor cluster architecture and associated parallel processing methods
US4811345A (en) Methods and apparatus for providing a user oriented microprocessor test interface for a complex, single chip, general purpose central processing unit
US4994732A (en) Automatic test system having a &#34;true tester-per-pin&#34; architecture
US6092225A (en) Algorithmic pattern generator for integrated circuit tester
US5465361A (en) Microcode linker/loader that generates microcode sequences for MRI sequencer by modifying previously generated microcode sequences
US20190012256A1 (en) Deterministic concurrent test program executor for an automated test equipment
US6073263A (en) Parallel processing pattern generation system for an integrated circuit tester
US6181151B1 (en) Integrated circuit tester with disk-based data streaming
JP4634756B2 (ja) 命令バッファリング機能付きシーケンサユニット
JP3002982B2 (ja) コンピュータ・システムにおけるデータのロード方法およびマルチ・チャネル・アーキテクチャ
US5925145A (en) Integrated circuit tester with cached vector memories
US7240258B1 (en) Parallel test system and method
US6009546A (en) Algorithmic pattern generator
US4727312A (en) Circuit tester
US9804911B2 (en) Concurrent validation of hardware units
KR20010020354A (ko) 집적 회로 테스터를 위한 가상 채널 데이터 분산 시스템
US5894484A (en) Integrated circuit tester with distributed instruction processing
JP2009289108A (ja) 試験装置およびその制御方法、ならびに試験システム
US6321352B1 (en) Integrated circuit tester having a disk drive per channel
JP2005528596A (ja) マルチタスク・アルゴリズミック・パターン・ジェネレータを有する半導体試験システム
US8060333B2 (en) Test apparatus and test method
JPH09512649A (ja) 開発支援機能付きマイクロコンピュータ
JP3481689B2 (ja) 半導体試験装置
KR102339278B1 (ko) 계산 유닛 작동 방법
JP2673602B2 (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061222

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071025

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100323

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100622

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4634756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250