(57)【要約】  集積回路（130）を試験するシステム（100）及び方法が提供される。システム（100）は、自動化された試験装置（110）と試験対象の集積回路（130）との間で動作するように構成された試験モジュール（120）を含んでいる。試験モジュール（120）は、自動化された試験装置（110）が動作するクロック周波数より高いクロック周波数で集積回路を試験するように構成されている。このため、試験インターフェース（120）は、集積回路（130）に提供されるべきアドレス及び試験用データを生成するように構成された要素を含んでいる。多様な試験データパターンが作り出されることができ、試験用データはそれに応じてアドレス指定されることができる。
2008538045.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を試験するように構成された自動化された試験装置から、第１のクロック周波数で信号を受信するように構成された１つ以上の入力部；
前記自動化された試験装置から受信した前記信号に応じてアドレスを生成するように構成されたアドレス生成部；
前記自動化された試験装置から受信した前記信号に応じて、前記アドレス生成部によって生成された前記アドレスに届けられる試験用データを生成するように構成された１つ以上のデータ生成部；及び
生成された前記試験用データを前記集積回路内の前記生成されたアドレスに、第２のクロック周波数で伝達するように構成された１つ以上の出力部であって、該集積回路は当該１つ以上の出力部から分離可能であり、該第２のクロック周波数は前記第１のクロック周波数より高い周波数である、１つ以上の出力部；
を有するシステム。
【請求項２】
前記集積回路から前記第２のクロック周波数でデータを受信し、且つ受信したデータに応じて前記自動化された試験装置に前記第１のクロック周波数で信号伝達する、ように構成された１つ以上のデータ受信部、を更に有する請求項１に記載のシステム。
【請求項３】
前記１つ以上のデータ受信部は、前記受信したデータをデータ試験パターンを用いて圧縮するように構成されている、請求項２に記載のシステム。
【請求項４】
前記１つ以上のデータ受信部は、前記受信したデータを期待される結果と比較し、且つこの比較の出力を用いて前記自動化された試験装置に信号伝達する、ように構成されている、請求項２又は３に記載のシステム。
【請求項５】
前記１つ以上のデータ生成部は更に、前記アドレス生成部によって生成された前記アドレスに応じて前記試験用データを生成するように構成されている、請求項１乃至４の何れかに記載のシステム。
【請求項６】
前記１つ以上の出力部は、前記集積回路へのコマンドの配信をスケジューリングするように構成されたコマンドスケジューラを含んでいる、請求項１乃至５の何れかに記載のシステム。
【請求項７】
前記コマンドスケジューラは更に、前記第２のクロック周波数のクロックサイクルに従って前記コマンドの配信をスケジューリングするように構成されている、請求項６に記載のシステム。
【請求項８】
前記コマンドスケジューラは、先行するコマンドがどのようなコマンドであるかに応じて前記コマンドの配信をスケジューリングするように構成されている、請求項６又は７に記載のシステム。
【請求項９】
前記１つ以上の入力部及び前記１つ以上の出力部は試験モジュールに含まれており、該試験モジュールは、複数の集積回路を試験するように構成された試験用アレイに含まれる複数の試験モジュールの１つである、請求項１乃至８の何れかに記載のシステム。
【請求項１０】
前記試験用アレイは、前記複数の集積回路を試験するためのパラメータを記憶するように構成されたメモリを含んでおり、該メモリは前記複数の試験モジュールによって共有されている、請求項９に記載のシステム。
【請求項１１】
前記アドレス生成部及び前記１つ以上のデータ生成部は、前記自動化された試験装置から脱着可能である、請求項１乃至１０の何れかに記載のシステム。
【請求項１２】
前記集積回路を試験するように構成され且つ前記１つ以上の入力部に結合された前記自動化された試験装置、を更に有する請求項１乃至１１の何れかに記載のシステム。
【請求項１３】
前記集積回路を更に有する請求項１乃至１２の何れかに記載のシステム。
【請求項１４】
前記集積回路は、前記１つ以上の出力部を用いて試験されることが可能な複数の別々の集積回路の１つである、請求項１乃至１３の何れかに記載のシステム。
【請求項１５】
前記１つ以上のデータ生成部は前記自動化された試験装置の脱着可能な部品に含まれている、請求項１乃至１４の何れかに記載のシステム。
【請求項１６】
自動化された試験装置を試験モジュールに取り付ける段階；
試験対象の集積回路を前記試験モジュールに取り付ける段階；
前記集積回路の試験用に前記試験モジュールを設定する段階；
前記試験モジュールにて、前記自動化された試験装置から第１のクロック周波数で試験信号を受信する段階；
前記自動化された試験装置から受信した前記試験信号に応じて、前記試験モジュール内で試験用アドレスを生成する段階；
前記自動化された試験装置から受信した前記試験信号に応じて、前記試験モジュール内で試験用データを生成する段階；及び
生成された前記試験用データを前記集積回路内の前記生成された試験用アドレスに、第２のクロック周波数で送信する段階であって、該第２のクロック周波数は前記第１のクロック周波数より高い周波数である送信段階；
を有する方法。
【請求項１７】
前記集積回路から、該集積回路に送信された前記試験用データに応じた信号を前記第２のクロック周波数で受信する段階；及び
前記集積回路から受信した前記信号に応じて、前記試験モジュールから前記自動化された試験装置に伝達情報を送信する段階；
を更に有する請求項１６に記載の方法。
【請求項１８】
前記伝達情報は、前記試験モジュール内で前記試験用データを生成する際に使用された試験パターンに応じて前記受信した信号を圧縮することによって生成される、請求項１７に記載の方法。
【請求項１９】
前記伝達情報は、前記集積回路から受信した前記信号を期待される結果と比較することによって生成される、請求項１７又は１８に記載の方法。
【請求項２０】
前記伝達情報は、前記集積回路から受信した前記信号の圧縮版を期待される結果と比較することによって生成される、請求項１７乃至１９の何れかに記載の方法。
【請求項２１】
前記試験モジュールから前記集積回路を取り外す段階、及び第２の集積回路の試験のために前記試験モジュールに該第２の集積回路を取り付ける段階、を更に有する請求項１６乃至２０の何れかに記載の方法。
【請求項２２】
前記試験用データを生成する段階は、前記生成された試験用アドレスの１つが奇数であるか偶数であるかに応じたものである、請求項１６乃至２１の何れかに記載の方法。
【請求項２３】
コマンドスケジューラを用いて前記試験モジュールから前記集積回路にコマンドを配信する段階、を更に有する請求項１６乃至２２の何れかに記載の方法。
【請求項２４】
先行するコマンドがどのようなコマンドであるかに応じてコマンドの配信をスケジューリングするように構成されたコマンドスケジューラを用いて、前記試験モジュールから前記集積回路にコマンドを配信する段階、を更に有する請求項１６乃至２３の何れかに記載の方法。
【請求項２５】
前記第２のクロック周波数の観点で決定された遅延を用いてコマンドを配信するように構成されたコマンドスケジューラを用いて、前記試験モジュールから前記集積回路にコマンドを配信する段階、を更に有する請求項１６乃至２４の何れかに記載の方法。
【請求項２６】
試験中の集積回路から第１のクロック周波数でデータを受信するように構成された１つ以上のデータ受信部；
前記集積回路から受信した前記データを圧縮して圧縮データを生成するように構成されたデータ圧縮部であり、この圧縮は前記受信したデータが読み出された前記集積回路内のアドレスに応じたものであるデータ圧縮部；
期待されるデータ、又は前記データ圧縮部によって使用される多重化スキームを受信するように構成された少なくとも１つの入力部；及び
自動化された試験装置に前記圧縮データを第２のクロック周波数で伝達するように構成された１つ以上のデータ出力部；
を有するシステム。
【請求項２７】
前記集積回路は前記１つ以上のデータ受信部から分離可能であり、且つ前記第２のクロック周波数は前記第１のクロック周波数より低い周波数である、請求項２６に記載のシステム。
【請求項２８】
前記データ圧縮部は前記集積回路から受信した前記データを、奇数ビット反転モード又は偶数ビット反転モードに応じて圧縮するように構成されている、請求項２６又は２７に記載のシステム。
【請求項２９】
シリアル圧縮ステージが、前記集積回路から受信した前記データと期待されるデータ値との多重比較を含む、請求項２６乃至２８の何れかに記載のシステム。
【請求項３０】
前記データ圧縮部は前記集積回路から受信した前記データを、パラレル圧縮ステージで圧縮するように構成されている、請求項２６乃至２９の何れかに記載のシステム。
【請求項３１】
前記１つ以上のデータ受信部及び前記１つ以上のデータ出力部は試験モジュールに含まれており、該試験モジュールは、複数の集積回路を試験するように構成された試験用アレイに含まれる複数の試験モジュールの１つである、請求項２６乃至３０の何れかに記載のシステム。
【請求項３２】
前記試験用アレイは、前記期待されるデータを記憶するように構成されたメモリを含んでおり、該メモリは前記複数の試験モジュールによって共有されている、請求項２６乃至３１の何れかに記載のシステム。
【請求項３３】
前記１つ以上のデータ受信部及び前記１つ以上のデータ出力部は試験モジュールに含まれており、該試験モジュールは前記自動化された試験装置の置換可能モジュールである、請求項２６乃至３２の何れかに記載のシステム。
【請求項３４】
前記集積回路を試験するように構成され且つ前記１つ以上のデータ出力部に結合された前記自動化された試験装置を更に有し、前記データ圧縮部は前記自動化された試験装置から脱着可能である、請求項２６乃至３３の何れかに記載のシステム。
【請求項３５】
前記１つ以上のデータ受信部及び前記１つ以上のデータ出力部は、１５ｃｍより長いコネクタによって前記自動化された試験装置から隔てられた試験モジュールに含まれている、請求項２６乃至３４の何れかに記載のシステム。
【請求項３６】
試験対象の集積回路を試験モジュールに取り付ける段階；
前記集積回路からデータを受信する段階；
受信した前記データを、該受信したデータが読み出された前記集積回路内のアドレスに応じた期待されるデータに応じて圧縮し、圧縮データを生成する段階；及び
前記圧縮データを自動化された試験装置に提供する段階；
を有する方法。
【請求項３７】
前記受信したデータを圧縮する段階は、パラレル圧縮多重化スキームに応じて実行される、請求項３６に記載の方法。
【請求項３８】
自動化された試験装置から試験用アドレスを受信するように構成された入力部；
前記試験用アドレスに応じて複数の行アドレスを生成するように構成された行アドレス生成器；
前記試験用アドレスに応じて複数の列アドレスを生成するように構成された列アドレス生成器；及び
試験中の集積回路に前記複数の行アドレス及び前記複数の列アドレスを伝達するように構成されたアドレスドライバ；
を有するアドレス生成器。
【請求項３９】
前記入力部は更に、前記試験用アドレスを第１のクロック信号で受信するように構成されており、且つ前記アドレスドライバは前記集積回路に前記複数の行アドレスを第２のクロック信号で伝達するように構成されている、請求項３８に記載のアドレス生成器。
【請求項４０】
記憶デバイスのＡ１０ビットを制御するための信号を生成するように構成されたＡ１０生成器、を更に含む請求項３８又は３９に記載のアドレス生成器。
【請求項４１】
プリチャージ制御コマンドを受信するように構成された入力部、を更に含む請求項３８乃至４０の何れかに記載のアドレス生成器。
【請求項４２】
前記行アドレス生成器は更に、行カウンタ信号を受信し、該行カウンタ信号に応じて前記複数の行アドレスを生成するように構成されている、請求項３８乃至４１の何れかに記載のアドレス生成器。
【請求項４３】
自動化された試験装置から第１のクロック周波数で試験用アドレスデータを受信するように構成された１つ以上の入力部；
前記試験用アドレスデータに応じて複数のアドレスを生成するように構成されたアドレス生成器；及び
試験中の集積回路に第２のクロック周波数で前記複数のアドレスを伝達するように構成された１つ以上の出力部；
を有するシステム。
【請求項４４】
前記アドレス生成器は、前記試験用アドレスデータに応じて複数の列アドレスを生成するように構成された列アドレス生成器、及び前記試験用アドレスデータに応じて複数の行アドレスを生成するように構成された行アドレス生成器を含む、請求項４３に記載のシステム。
【請求項４５】
前記アドレス生成器は、前記試験用アドレスデータによって表された各試験用アドレスに対して４つ以上のアドレスを生成するように構成されている、請求項３８、４３又は４４に記載のシステム。
【請求項４６】
前記アドレス生成器は、前記試験用アドレスデータによって表された各試験用アドレスに応じて一連のアドレスを生成するように構成されている、請求項３８、４３、４４又は４５に記載のシステム。
【請求項４７】
列カウンタを設定する段階；
行カウンタを設定する段階；
自動化された試験装置から試験用アドレスを受信する段階；
前記行カウンタ及び前記試験用アドレスを用いて複数の行アドレスを生成する段階；
前記列カウンタ及び前記試験用アドレスを用いて複数の列アドレスを生成する段階；
前記複数の行アドレス及び前記複数の列アドレスを用いて複数のメモリアドレスを生成する段階；及び
試験中の集積回路に前記複数のメモリアドレスを伝達する段階；
を有する方法。
【請求項４８】
前記複数の列アドレス又は前記複数の行アドレスを用いて、前記複数の列アドレスに格納されるべき試験用データを生成する段階、を更に含む請求項４７に記載の方法。
【請求項４９】
前記複数の行アドレスを生成する際に変更されるべき行の最下位ビットを設定する段階、を更に含む請求項４７又は４８に記載の方法。
【請求項５０】
集積回路を試験する方法であって：
自動化された試験装置から第１のクロック周波数で試験用アドレス信号及び試験用データ信号を受信する段階；
前記試験用データ信号を複製且つ反転させることによって、前記試験用アドレス信号に応じた第１の試験用データを生成する段階；
前記試験用データ信号を複製且つ反転させることによって、試験パターンに応じた第２の試験用データを生成する段階；及び
試験中の集積回路に第２のクロック周波数で前記第１の試験用データ又は前記第２の試験用データを届ける段階；
を有する方法。
【請求項５１】
試験パターンに応じた第２の試験用データを生成する前記段階は、前記第１の試験用データを用いて前記第２の試験用データを生成することを含む、請求項５０に記載の方法。
【請求項５２】
前記試験パターンを複数の試験パターンから選択する段階、を更に含む請求項５０又は５１に記載の方法。
【請求項５３】
前記試験用アドレス信号に応じた第１の試験用データを生成する前記段階は論理演算を含み、該論理演算において前記第１の試験用データは、前記自動化された試験装置から受信された前記試験用データ信号より多くのビット数を有する、請求項５０乃至５２の何れかに記載の方法。
【請求項５４】
前記試験用アドレス信号に応じた第１の試験用データを生成する前記段階は論理演算を含み、該論理演算において、前記試験中の集積回路の奇数アドレスに格納されるべき前記第１の試験用データのビット群は反転される、請求項５０乃至５３の何れかに記載の方法。
【請求項５５】
試験パターンに応じた第２の試験用データを生成する前記段階は論理演算を含み、該論理演算において、前記第２の試験用データのビット群はデータスクランブルパターンに従った０及び１のシーケンスを有する、請求項５０乃至５４の何れかに記載の方法。
【請求項５６】
試験パターンに応じた第２の試験用データを生成する前記段階は論理演算を含み、該論理演算において、前記第２の試験用データのビット群はビット対ごとに反転される、請求項５０乃至５５の何れかに記載の方法。
【請求項５７】
自動化された試験装置から試験用アドレス信号及び試験用データ信号を受信するように構成された１つ以上のデータ受信部；
前記試験用アドレス信号に応じて前記試験用データ信号を反転させることによって、第１の試験用データを生成するように構成されたアドレス反転部；及び
試験中の集積回路に前記第１の試験用データを伝達するように構成された配信部；
を有するシステム。
【請求項５８】
自動化された試験装置から第１のクロック周波数で試験用アドレス信号及び試験用データ信号を受信するように構成された１つ以上のデータ受信部；
試験パターンに応じて前記試験用データ信号を反転させることによって、第２の試験用データを生成するように構成された試験パターン反転部；及び
試験中の集積回路に第２のクロック周波数で前記第２の試験用データを伝達するように構成された配信部；
を有するシステム。
【請求項５９】
前記試験用アドレス信号及び前記試験用データ信号は前記自動化された試験装置から第１のクロック周波数で受信され、且つ前記第１の試験用データは前記試験中の集積回路に第２のクロック周波数で提供される、請求項５７又は５８に記載のシステム。
【請求項６０】
前記アドレス反転部は、前記試験中の集積回路の偶数アドレスに格納されるべき前記第１の試験用データの各ビットを反転する論理演算、又は前記試験中の集積回路の奇数アドレスに格納されるべき前記第１の試験用データの各ビットを反転する論理演算を用いて、前記試験用アドレス信号に応じるように構成されている、請求項５７乃至５９の何れかに記載のシステム。
【請求項６１】
集積回路を試験する方法であって：
自動化された試験装置から第１のクロック周波数で試験コマンドを受信する段階；
前記試験コマンドをバッファに格納する段階；
先行する試験コマンドに応じて遅延時間を決定する段階；
前記遅延時間が経過するのを待つ段階；及び
試験中の集積回路に前記試験コマンドを届ける段階；
を有する方法。
【請求項６２】
集積回路を試験する方法であって：
自動化された試験装置から第１のクロック周波数で試験コマンドを受信する段階；
前記試験コマンドをバッファに格納する段階；
参照テーブル内の入力項目に応じて遅延時間を決定する段階；
前記試験コマンドを状態機械にロードする段階；
前記遅延時間が経過するまで前記試験コマンドを前記状態機械内に保持する段階；及び
試験中の集積回路に第２のクロック周波数で前記試験コマンドを届ける段階；
を有する方法。
【請求項６３】
前記試験コマンドを前記バッファから状態機械にロードする段階を更に有し、該状態機械は、スケジュールカウンタによって決定された遅延時間が経過するまで前記試験コマンドを保持するように構成されており、該遅延時間は第２のクロック周波数のクロックサイクル数である、請求項６１又は６２に記載の方法。
【請求項６４】
前記試験コマンドを前記バッファから状態機械にロードする段階を更に有し、該状態機械は、コマンドドライバによって決定された遅延時間が経過するまで前記試験コマンドを保持するように構成されており、該遅延時間は参照テーブル内の入力項目を用いて決定される、請求項６１乃至６３の何れかに記載の方法。
【請求項６５】
試験中の集積回路に前記試験コマンドを届ける前記段階は、前記第１のクロック周波数より高い第２のクロック周波数で実行される、請求項６１乃至６４の何れかに記載の方法。
【請求項６６】
集積回路を試験するためのコマンドドライバであって：
自動化された試験装置から第１のクロック周波数で試験コマンドを受信するように構成された１つ以上の受信部；
前記試験コマンドをバッファに保持するように構成された記憶部；
遅延時間を決定するように構成された遅延時間部；
前記試験コマンドを状態機械に取り込むように構成されたロード部；
前記遅延時間が経過するまで前記試験コマンドを前記状態機械内に保持するように構成されたホールド部；及び
試験中の集積回路に第２のクロック周波数で前記試験コマンドを伝達するように構成された配信部；
を有するコマンドドライバ。
【請求項６７】
前記記憶部は、前記第１のクロック周波数での前記試験コマンドの受信を前記第２のクロック周波数での前記試験コマンドの配信に同期させるように構成されたＤ型フリップフロップを有する、請求項６６に記載のコマンドドライバ。
【請求項６８】
前記記憶部は、複数の試験コマンドを格納するように構成されたＦＩＦＯバッファを有する、請求項６６又は６７に記載のコマンドドライバ。
【請求項６９】
コマンド復号部に応じて、参照テーブルを用いて前記遅延時間を生成するように構成されたスケジュールカウンタ部、を更に含む請求項６６乃至６８の何れかに記載のコマンドドライバ。
【請求項７０】
先行する試験コマンドに応じて前記遅延時間を生成するように構成されたスケジュールカウンタ部、を更に含む請求項６６乃至６９の何れかに記載のコマンドドライバ。
【請求項７１】
前記遅延時間は参照テーブルを用いて決定される、請求項６６乃至７０の何れかに記載のコマンドドライバ。
【請求項７２】
前記遅延時間は前記第２のクロック周波数のクロック周期の整数倍である、請求項６６乃至７１の何れかに記載のコマンドドライバ。
【請求項７３】
試験対象の集積回路を選択する段階；
選択された集積回路に応じて、複数の試験手順の中から１つの試験手順を選択する段階；
複数のマウント部を含む試験用アレイのマウント部に前記集積回路を挿入する段階；
選択された試験手順を前記試験用アレイ内にプログラムし、プログラムされた試験手順を生成する段階；
自動化された試験装置に前記試験用アレイを接続する段階；及び
前記プログラムされた試験手順を用いて、並行して、前記選択された集積回路を含む複数の集積回路を試験する試験段階；
を有する方法。
【請求項７４】
前記プログラムされた試験手順は共有メモリに記憶される、請求項７３に記載の方法。
【請求項７５】
複数の集積回路を試験する前記試験段階は、該複数の集積回路の１つ以上と前記自動化された試験装置との間のインターフェースとして、前記試験用アレイに含まれた試験モジュールを使用することを含む、請求項７３又は７４に記載の方法。
【請求項７６】
前記試験段階は、前記試験モジュールを使用してアドレス又は試験用データを生成することを含む、請求項７３乃至７５の何れかに記載の方法。
【請求項７７】
１つ以上のマウント部を含む複数の試験用取付けボードを含む試験用アレイであり、該１つ以上のマウント部の各々は、複数の集積回路のうちの１つ以上を受け入れて該集積回路と電子的に信号伝達するように構成されている、試験用アレイ；及び
自動化された試験装置と第１のクロック周波数で信号伝達し、該自動化された試験装置に応答して試験用アドレス信号又は試験用データ信号を生成し、且つ前記複数の集積回路に特有の試験を実行する、ように構成された少なくとも１つの試験モジュール；
を有する、集積回路を試験するための機器。
【請求項７８】
前記少なくとも１つの試験モジュールは前記複数の集積回路に第２のクロック周波数で信号伝達するように構成されている、請求項７７に記載の機器。
【請求項７９】
前記少なくとも１つの試験モジュールは複数の試験モジュールを含んでいる、請求項７７又は７８に記載の機器。
【請求項８０】
前記試験モジュールは前記複数の集積回路を並行して試験するように構成されている、請求項７７乃至７９の何れかに記載の機器。
【請求項８１】
試験手順又は試験パラメータを記憶するように構成されたメモリ、を更に有する請求項７７乃至８０の何れかに記載の機器。
【請求項８２】
前記メモリは更に、試験手順又は試験パラメータを前記試験モジュールに電子的に伝達するように構成されている、請求項８１に記載の機器。
【請求項８３】
前記試験モジュールは、前記メモリに記憶された前記試験手順又は前記試験パラメータに応じて、前記複数の集積回路に特有の試験を実行するように構成されている、請求項８１又は８２に記載の機器。
【請求項８４】
前記第２のクロック周波数は前記第１のクロック周波数の１．５倍以上である、請求項１乃至８３の何れかに記載のシステム又は方法。
【請求項８５】
試験される集積回路は記憶デバイスを含む、請求項１乃至８４の何れかに記載のシステム又は方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路（ＩＣ）デバイスに関し、特に、集積回路デバイスの試験に関する。
【背景技術】
【０００２】
集積回路（ＩＣ）デバイスは半導体基板に実装された多数の小型回路を有している。ＩＣデバイスは使用前に、適正動作を保証するために試験されなければならない。ＩＣデバイスは、それ自体に実装された内蔵型自己テスト（ＢＩＳＴ）回路を用いて限られた範囲で試験されることができる。しかしながら、ＢＩＳＴによる試験は不完全なものであり、デバイス動作の全ての状況を試験するものではない。ＩＣデバイスの完全な試験は、複雑で高価な外付け試験装置を用いて行われている。
【０００３】
集積回路の複雑度及びクロック速度が増大するに連れて、既存の外付け試験装置の能力は、新しい集積回路の試験における制限要因になる。例えば、最も高速の記憶デバイスのクロック速度は、ほぼ１年ベースで上昇している。これらの記憶デバイスは、より低速の記憶デバイスを試験するために構築された旧式の試験装置を用いると、デバイスの最大クロック速度で試験されることができない。コスト上、クロック速度の進展ごとに新たな試験装置を購入することは非現実的である。従って、集積回路を試験するための改善されたシステム及び方法が望まれる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、集積回路を試験するための改善されたシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、様々な実施形態において、試験装置と試験対象である１つ以上の集積回路との間で動作するように構成された試験モジュールを含んでいる。試験モジュールは、試験装置と第１のクロック周波数で信号伝達し、且つ試験対象の集積回路と、典型的に第１のクロック周波数より高い、第２のクロック周波数で信号伝達するように構成されている。一部の実施形態において、試験モジュールは、試験装置から受信したデータ及びコマンドに応じて記憶デバイスを試験するためのアドレス及び試験用データを生成するように構成された構成要素を含んでいる。これらの記憶デバイスには、例えば、ＤＲＡＭ（ダイナミック・ランダムアクセスメモリ）、ＳＲＡＭ（スタティック・ランダムアクセスメモリ）、フラッシュメモリ等が含まれ得る。
【０００６】
試験対象の集積回路は、場合により、電子デバイスに内蔵されている。例えば、一部の実施形態において、試験対象の集積回路は、システム・オン・チップ（ＳｏＣ）、システム・イン・パッケージ（ＳｉＰ）、システム・イン・モジュール（ＳｉＭ）、モジュール・イン・モジュール（ＭｉＭ）、パッケージ・オーバー・パッケージ（ＰＯＰ）、パッケージ・イン・パッケージ（ＰｉＰ）等の内部のメモリ回路である。これらの実施形態において、試験モジュールは電子デバイスを、該電子デバイスへの共通の入力が該電子デバイス内の第１の回路を試験するために使用される第１のモード、及び共通の入力が該電子デバイス内のその他の回路と信号伝達するために使用される第２のモードで動作させるように構成されることができる。故に、一部の実施形態において、試験モジュールは、使用される試験装置より速いクロック周波数で回路群を試験するように構成されるとともに、共通の入力によって試験モードにある試験中の回路群に信号伝達する。
【０００７】
一部の実施形態において、試験モジュールは、様々な種類のメモリアーキテクチャを試験するために望まれる多様な試験パターンを生成するようにプログラム可能にされる。例えば、試験モジュールによって生成されたデータは、試験中のメモリに一様パターン、市松模様、又はストライプ状パターンを形成するように構成されてもよい。生成される試験用データは、必要に応じて、生成されるアドレスに依存したものにされる。試験モジュールは、一部の実施形態において、試験中の記憶デバイスに命令（例えば、コマンド）を所定の間隔で伝達するように構成されたコマンドスケジューラ部を含んでいる。
【０００８】
本発明の様々な実施形態は、集積回路を試験するように構成された自動化された試験装置から第１のクロック周波数で信号を受信するように構成された１つ以上の入力部、自動化された試験装置から受信した信号に応じてアドレスを生成するように構成されたアドレス生成部、自動化された試験装置から受信した信号に応じて、アドレス生成部によって生成されたアドレスに届けられる試験用データを生成するように構成された１つ以上のデータ生成部、及び生成された試験用データを集積回路内の上記の生成されたアドレスに第２のクロック周波数で伝達するように構成された１つ以上の出力部であって、集積回路は当該１つ以上の出力部から分離可能であり、第２のクロック周波数は第１のクロック周波数より高い周波数である、１つ以上の出力部、を有するシステムを含んでいる。
【０００９】
本発明の様々な実施形態は、自動化された試験装置を試験モジュールに取り付ける段階、試験対象の集積回路を試験モジュールに取り付ける段階、集積回路の試験用に試験モジュールを設定する段階、試験モジュールにて、自動化された試験装置から第１のクロック周波数で試験信号を受信する段階、自動化された試験装置から受信した試験信号に応じて、試験モジュール内で試験用アドレスを生成する段階、自動化された試験装置から受信した試験信号に応じて、試験モジュール内で試験用データを生成する段階、及び生成された試験用データを集積回路内の上記の生成された試験用アドレスに、第２のクロック周波数で送信する段階であって、第２のクロック周波数は第１のクロック周波数より高い周波数である送信段階、を有する方法を含んでいる。
【００１０】
本発明の様々な実施形態は、自動化された試験装置と試験対象の集積回路との間に試験モジュールを接続する手段、集積回路の試験用に試験モジュールを設定する手段、試験モジュールにおいて、自動化された試験装置から第１のクロック周波数で試験信号を受信する手段、自動化された試験装置から受信した試験信号に応じて、試験モジュール内で試験用アドレスを生成する手段、自動化された試験装置から受信した試験信号に応じて、試験モジュール内で試験用データを生成する手段、生成された試験用データを集積回路内の上記の生成された試験用アドレスに第１のクロック周波数より高い周波数である第２のクロック周波数で送信する手段、集積回路から第２のクロック周波数で、該集積回路に送信された試験用データに応じた信号を受信する手段、及び集積回路から受信した信号に応じて、試験モジュールから自動化された試験装置に伝達情報を送信する手段、を有するシステムを含んでいる。
【００１１】
本発明の様々な実施形態は、試験中の集積回路から第１のクロック周波数でデータを受信するように構成された１つ以上のデータ受信部、集積回路から受信したデータを圧縮して圧縮データを生成するように構成されたデータ圧縮部、期待されるデータ、又はデータ圧縮部によって使用される多重化スキームを受信するように構成された少なくとも１つの入力部、及び自動化された試験装置に圧縮データを第２のクロック周波数で伝達するように構成された１つ以上のデータ出力部、を有するシステムを含んでいる。
【００１２】
本発明の様々な実施形態は、試験中の集積回路からデータを受信するように構成された１つ以上のデータ受信部、集積回路から受信したデータを圧縮して圧縮データを生成するように構成されたデータ圧縮部であり、この圧縮は前記受信したデータが読み出された前記集積回路内のアドレスに応じたものであるデータ圧縮部、期待されるデータ、又はデータ圧縮部によって使用される多重化スキームを受信するように構成された少なくとも１つの入力部、及び自動化された試験装置に圧縮データを伝達するように構成された１つ以上のデータ出力部、を有するシステムを含んでいる。
【００１３】
本発明の様々な実施形態は、試験対象の集積回路を試験モジュールに取り付ける段階、集積回路からデータを受信する段階、受信したデータを期待されるデータに応じて圧縮し、圧縮データを生成する段階、及び圧縮データを自動化された試験装置に提供する段階、を有する方法を含んでいる。
【発明を実施するための最良の形態】
【００１４】
本発明とその更なる特徴及び効果との一層完全な理解のため、添付の図面に関連する以下の記載が参照される。
【００１５】
本発明の実施形態には、自動化された自動試験装置と試験されるべき１つ以上の集積回路との間で動作するように構成された試験モジュールが含まれる。試験モジュールは、自動試験装置からデータ、アドレス及び命令を受信し、これらのデータ及び命令を用いて更なるデータ及びアドレスを生成するように構成されている。試験モジュールは更に、生成したデータ及びアドレスを用いて集積回路を試験し、集積回路から試験結果を受け取り、且つこれらの試験結果を自動試験装置に報告するように構成されている。
【００１６】
自動試験装置と試験モジュールとの間の信号伝達は、必要に応じて、試験モジュールと検査される集積回路との間の信号伝達とは異なるクロック周波数で行われる。斯くして、試験モジュールの使用により、第１の周波数で動作するように構成された自動試験装置は、より高い第２の周波数で集積回路を試験するために使用されることが可能である。例えば、記憶デバイスを１５０ＭＨｚで試験するように構成された自動試験装置が、３００ＭＨｚ又はそれ以上で記憶デバイスを試験するために使用され得る。
【００１７】
自動試験装置からの信号伝達より高い周波数で記憶デバイスを試験するため、試験モジュールは、自動試験装置から受信したアドレス及び試験用データに応じたメモリアドレス及び試験用データを自動的に生成するように構成された部品を含んでいる。ここで更に説明されるように、これらの部品は必要に応じて、多様な試験パターンを生成するようにプログラム可能なものにされる。
【００１８】
試験モジュールは更に、検査される集積回路からデータを受信し、且つこれら受信データの概要を自動試験装置に報告するか、受信データを期待データと比較し該比較の結果を自動試験装置に報告するかの何れかを行うように構成された部品を含んでいる。故に、試験モジュールは試験結果を第１の周波数で受信し、これらの結果に応答して、場合によってこの第１の周波数より低い第２の周波数で自動試験装置に信号伝達するように構成されている。
【００１９】
一部の実施形態において、試験モジュールは更に、該試験モジュールから検査対象の集積回路に該集積回路を試験するのに適切な間隔でコマンドを伝達するように構成されたコマンドスケジューラを含んでいる。例えば、集積回路が３クロックサイクル内に２つのコマンドを受信することを集積回路の完全な試験が要求する場合、試験モジュールは自動試験装置からこれらのコマンドを別の間隔で受信する場合であっても、コマンドスケジューラはこれらのコマンドを上記の要求される間隔で伝達するようにプログラムされ得る。
【００２０】
説明の目的で、ここでは記憶デバイスの試験について述べる。しかしながら、本発明の範囲及び提示される実施例は、論理デバイス、プロセッサ、アナログ回路、特定用途向け集積回路（ＡＳＩＣ）、通信回路又は光回路などを含むその他の種類の集積回路にも広げられるものである。さらに、本発明は、例えばシステム・オン・チップ（ＳｏＣ）、システム・イン・パッケージ（ＳｉＰ）、システム・イン・モジュール（ＳｉＭ）、モジュール・イン・モジュール（ＭｉＭ）、パッケージ・オーバー・パッケージ（ＰＯＰ）、パッケージ・イン・パッケージ（ＰｉＰ）等の回路アセンブリの試験にも適用されるものである。これらのアセンブリの１つを参照する実施例は、その他のアセンブリにも適用可能なものである。
【００２１】
図１は、本発明の実施形態に従った、全体として100で指し示される試験システムのブロック図である。試験システム100は、集積回路を第１の周波数で試験するように構成された自動試験装置（ＡＴＥ）110、及びＡＴＥ110と検査対象の集積回路（ＩＣ）130との間のインターフェースとして機能するように構成された試験モジュール120を含んでいる。一部の実施形態において、試験モジュール120及びＩＣ130は同一の電子デバイスに含まれている。例えば、試験モジュール120及びＩＣ130の双方は同一のＳｉＰ内にあってもよい。一部の実施形態において、試験モジュール120及びＩＣ130は同一のシリコンダイに含まれている。一部の実施形態において、試験モジュール120はＩＣ130とは別個のデバイスである。
【００２２】
試験システム100は、必要に応じて、基準クロック信号を試験モジュール120に供給するように構成されたクロック140を更に含んでいる。ＡＴＥ110は、Ｎチャネルインターフェース115を介して試験モジュール120と第１の周波数で通信するように構成されており、試験モジュール120は、Ｍチャネルインターフェース125を介してＩＣ130と通信するように構成されている。一部の実施形態において、Ｎチャネルインターフェース115のチャネル数は、Ｍチャネルインターフェース125のチャネル数と同一である。一部の実施形態において、Ｍチャネルインターフェース125のチャネル数は、Ｎチャネルインターフェース115のチャネル数の倍数である。Ｎチャネルインターフェース115及びＭチャネルインターフェース125は、例えば、試験用パッド、試験用プローブ、ケーブル、試験用ピン又はその他のコネクタを含むことができる。一部の実施形態において、Ｍチャネルインターフェース125は、システム・オン・チップ（ＳｏＣ）、システム・イン・パッケージ（ＳｉＰ）、システム・イン・モジュール（ＳｉＭ）、モジュール・イン・モジュール（ＭｉＭ）、パッケージ・オーバー・パッケージ（ＰＯＰ）、パッケージ・イン・パッケージ（ＰｉＰ）又はこれらに類するものの内部接続を含んでいる。必要に応じて、試験モジュール120はＩＣ130やＡＴＥ110から分離可能である。
【００２３】
ＡＴＥ110は、場合により、集積回路を試験するように構成された従来の自動試験装置である。例えば、ＡＴＥ110はアドバンテスト社、テラダイン社又はアジレントテクノロジー社によって現在提供されている試験装置を含み得る。ＡＴＥ110は、試験中に集積回路と信号伝達を行うように構成された最大周波数によって特徴付けられる。
【００２４】
ＡＴＥ110は、典型的に、ユーザによって指示される特定の試験ルーチンを実行するようにプログラム可能である。これらの試験ルーチンは、Ｎチャネルインターフェース115を介して試験用のデータ、コマンド、及び場合によりアドレスを送信すること（すなわち、書き込むこと）を含んでいる。これらの試験用データ、コマンド及びアドレスは試験モジュール120によって受信される。ＡＴＥ110は更に、Ｎチャネルインターフェース115を介して試験結果を受信し（すなわち、読み出し）、受信した結果を期待された結果と比較し、且つ受信した結果と期待された結果との差を報告するように構成されている。
【００２５】
他の実施形態においては、ＡＴＥ110は試験モジュール120を１つのモジュールとして含むように構成されている。例えば、一部の実施形態において、試験モジュール120は試験の技術的要求（例えば、試験周波数、フォームファクタ、コマンド用語など）が進化すると交換及び／又はアップグレードが為され得る交換可能な部品としてＡＴＥ110に含まれている。故に、一実施形態において、ＡＴＥ110は試験モジュール120の要素を交換することによってアップグレードされるように構成されている。
【００２６】
試験モジュール120は、Ｎチャネルインターフェース115を介してＡＴＥ110から試験用データ、コマンド、及び場合によりアドレスを受信し、この受信した情報を用いてＩＣ130の試験用の更なる試験用データと場合により更なるアドレスとを生成するように構成されている。例えば、一部の実施形態において、試験モジュール120はＡＴＥ110からメモリ制御コマンド、メモリの試験用データ、及びメモリアドレスを受け取るように構成されている。受信したメモリ制御コマンド、データ及びメモリアドレスは、メモリを試験するための更なるデータ及び更なるメモリアドレスを生成するために使用される。コマンド、更なるデータ及び更なるメモリアドレスは、試験モジュール120からＭチャネルインターフェース125を介してＩＣ130に伝達される。
【００２７】
試験モジュール120は更に、ＩＣ130から試験結果を受信し（すなわち、読み出し）、受信した試験結果を処理するように構成されている。一部の実施形態において、試験モジュール120はこの処理の結果をＡＴＥ110に報告するように構成されている。一部の実施形態において、試験モジュール120は受信した試験結果の圧縮版をＡＴＥ110に伝達するように構成されている。試験モジュール120の更なる詳細については、本明細書中の別の箇所で説明する。
【００２８】
ＩＣ130は試験モジュール120を介して試験される集積回路である。ＩＣ130は必ずしも、試験に先立って試験システム100の一部として含まれている必要はない。ＩＣ130は場合により、例えば特定用途向け集積回路（ＡＳＩＣ）、プロセッサ、マイクロプロセッサ、マイクロコントローラ、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラム可能論理デバイス（ＰＬＤ）、結合プログラム可能論理デバイス（ＣＰＬＤ）等の論理デバイスである。ＩＣ130は他の例では、アナログデバイス、モジュール、回路基板又は記憶デバイス等として実施されてもよい。
【００２９】
記憶デバイスであるとして、ＩＣ130は、例えばスタティック・ランダムアクセスメモリ（ＳＲＡＭ）、ダイナミック・ランダムアクセスメモリ（ＤＲＡＭ）、同期型ＤＲＡＭ（ＳＤＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）や電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）等の読み出し専用メモリ（ＲＯＭ）、及びフラッシュメモリ等のＩＣメモリチップ、又はダブルデータレート（ＤＤＲ）やＤＤＲ２等の好適なフォーマット若しくはプロトコルの下で動作する何らかの記憶デバイスとし得る。記憶デバイスは様々な構成（例えば、Ｘ３２、Ｘ１６、Ｘ８又はＸ４）で構成されることができ、また例えば行列状に配置された複数の記憶セルを有していてもよい。記憶セルはトランジスタ、キャパシタ、プログラム可能ヒューズ等を用いて実装されることができる。
【００３０】
モジュールであるとして、ＩＣ130は、システム・イン・パッケージ（ＳｉＰ）、パッケージ・イン・パッケージ（ＰｉＰ）、又はシステム・オン・チップ（ＳｏＣ）とし得る。ＩＣ130はまたＳｏＣ、ＳｉＰ及びＰｉＰの組み合わせであってもよい。ＩＣ130は、例えば標準的なボール・グリッド・アレイ（ＢＧＡ）又は薄型クワッド・フラット・パッケージ（ＴＱＦＰ）等の好適なパッケージ内に配置されていてもよい。パッケージは更に、例えば数例挙げると、シングル・インライン・パッケージ（ＳＩＰ）、デュアル・インライン・パッケージ（ＤＩＰ）、ジグザグ・インライン・パッケージ（ＺＩＰ）、プラスチック・リーディド・チップ・キャリア（ＰＬＣＣ）、スモール・アウトライン・パッケージ（ＳＯＰ）、薄型ＳＯＰ（ＴＳＯＰ）、フラットパック、及びクワッド・フラット・パッケージ（ＱＦＰ）等の様々な表面実装技術を利用していてもよく、また様々なリード（例えばＪ型リード、ガルウィング型リード）又はＢＧＡ型コネクタを利用していてもよい。
【００３１】
クロック140は、試験モジュール120とＩＣ130との間での信号伝達に使用されるクロック信号を試験モジュール120に供給するように構成されている。クロック140により生成されたクロック信号は、典型的に、ＡＴＥ110と試験モジュール120との間での信号伝達に使用されるクロック信号とは異なる。故に、Ｎチャネルインターフェース115はＭチャネルインターフェース125とは異なる（例えば、より高い）周波数で動作し得る。クロック140により供給されるクロック信号は、場合によって、ＡＴＥ110によって使用されるクロック信号の倍数である。クロック140は位相ロックループ、水晶発振器などを含むことができる。クロック140から受け取られるクロック信号は、典型的に、技術的に知られた様々な方法の何れかを用いて、ＡＴＥ110によって使用されるクロック信号に同期化される。クロック140は、試験モジュール120がＩＣ130との信号伝達に使用するクロック信号をＡＴＥ110から受け取るクロック信号に基づいて生成するように構成されているときには随意的なものである。例えば、試験モジュール120は、一部の実施形態において、ＡＴＥ110から受け取ったクロック信号を１．５倍、２倍又はそれ以上にするように構成されたロジックを含んでいる。
【００３２】
図２は、ＩＣ130が記憶デバイスであるときの、本発明の実施形態に従った試験モジュール120のブロック図である。図２に示された実施形態は、ＡＴＥ110と信号伝達するように構成された幾つかの部品を含んでいる。これらの部品には、クロックマネージャ202、コマンドユニット204、試験制御器206及び試験ＤＱ208が含まれる。図２に示された実施形態はまた、ＩＣ130と信号伝達するように構成された幾つかの部品を含んでいる。これらの部品には、クロックドライバ220、コマンドドライバ222、アドレスドライバ224及びデータインターフェース226が含まれる。一緒になって、これらの部品はメモリマネージャの機能と同様の機能を果たす。試験モジュール120は、ＡＴＥ110と信号伝達するように構成された部品とＩＣ130と信号伝達するように構成された部品との間に、アドレス生成器210、パターン生成ロジック214、試験モードレジスタ212、データ書込みロジック216及びデータ読出しロジック218を含んでいる。図２に例示された部品はソフトウェア、ハードウェア、ファームウェア、又はこれらの組み合わせを含んでいてもよい。
【００３３】
クロックマネージャ202は試験用クロック（ＴＣＫ）信号を例えばＡＴＥ110から受信するように構成されている。この試験用クロック信号は、典型的に、集積回路の試験のためにＡＴＥ110によって生成されたクロック信号である。クロックマネージャ202はまた、場合により、位相ロックループクロック（ＰＬＬＣＫ）信号をクロック140から受信するように構成されている。ＴＣＫ信号及び／又はＰＬＬＣＫ信号に応答して、クロックマネージャ202は１つ以上の他のクロック信号（例えば、ＣＫ０、ＣＫ、ＣＫ＼）を生成する。これら他のクロック信号の一部は、受信された試験用クロック（ＴＣＫ）信号より高い周波数を有していてもよい。斯くして、試験用モジュール120は、ＡＴＥ110のクロック周波数より高いクロック周波数で動作するＩＣデバイスを試験するように構成されることができる。これはＩＣデバイスが、例えば旧式の試験装置を用いて、完全に試験されることを可能にする。クロックマネージャ202からのクロック信号出力は試験モジュール120内のその他の部品に供給され得る。このような部品には、クロックドライバ220、コマンドドライバ222、アドレスドライバ224、アドレス生成器210、データ書込みロジック216及びデータ読出しロジック218が含まれる。クロックマネージャ202の出力はクロックドライバ220を介してＩＣ130に伝えられることが可能である。
【００３４】
コマンドユニット204は、様々な試験機能信号（例えば、ＴＣＫＥ、ＴＤＱＳ、ＴＣＳ＼、ＴＲＡＳ＼、ＴＣＡＳ＼、ＴＷＥ＼、ＴＢＡ［０：２］、ＴＡ１０）を受信し、これら機能信号を処理したり、あるいは試験モジュール120内のその他の部品に転送したりするように構成されている。例えば、コマンドユニット204は、コマンドドライバ222を介してＩＣ130に渡されるコマンド信号を生成するように構成されている。このようなコマンド信号には、例えば、ＣＫＥ、ＣＳ、ＲＡＳ＼、ＣＡＳ＼、ＷＥ＼、ＢＡ［０：２］が含まれる。他の例においては、コマンドユニット204は、パターン生成ロジック214及びアドレス生成器210によって使用される、それぞれ、データ生成コマンド及びアドレス生成コマンドを受信するように構成されている。アドレス生成器210及びパターン生成ロジック214の動作の更なる詳細については、本明細書中の別の箇所で説明する。
【００３５】
一部の実施形態において、コマンドユニット204によって受信される試験機能信号には、セット（ＳＥＴ）、ロード（ＬＯＡＤ）及びコマンド（ＣＭＤ）が含まれる。入力データ源及びセット信号として、コマンド（ＣＭＤ）ピンを用いて、４ビット幅のストリームがレジスタに記録されることが可能である。例えば、行アクティブコマンドは一連の４つのシリアルビットｂ００１１とすることができ、読出しコマンドはｂ０１０１とすることができる。セット信号が高（ＨＩＧＨ）であるときシリアルビットはＴＣＫ信号の上昇エッジに記録されることができる。一実施形態において、ＣＭＤ入力を受け取るために４つのレジスタと２ビットのカウンタが使用され得る。
【００３６】
試験制御器206は、モジュールを試験モード、プログラム試験モード（又はフェーズ）に設定するために試験（ＴＥＳＴ）、セット及びロード信号を受信し、且つ試験用アドレス及び／又は試験用ベクトルをロードあるいは有効化するように構成されている。また、一部の実施形態において、試験制御器206は更に、データスクランブルパターン、行アドレススクランブルパターン及び列アドレススクランブルパターンを記録するように構成されている。ここで更に説明されるように、これらのパターンは試験用アドレス及び試験用データを生成するために使用される。試験制御器206は、必要に応じて更なる処理又は使用のために試験用のコード、ベクトル、パターン等を記録あるいは転送するように作用する１つ以上の信号を試験モードレジスタ212に提供するように構成されている。例えば、試験、セット及びロード信号はＡＴＥ110から試験モジュール120にアドレス生成パターンを伝達するために使用されてもよい。アドレス生成パターンは試験モードレジスタ212に記録され、必要時にアドレス生成器210によって読み出される。同様に、試験、セット及びロード信号はＡＴＥ110から試験モードレジスタ212にデータスクランブルパターンを伝達するために使用されてもよい。データスクランブルパターンは、ここで更に述べられるように、データ書込みロジック216及びデータ読出しロジック218によって使用される。
【００３７】
試験ＤＱ208はＡＴＥ110からアドレスデータを受信して該アドレスデータを、更なるアドレスを生成する際に使用するために、アドレス生成器210に伝達するように構成されている。試験ＤＱ208は更に、ＡＴＥ110から試験データ信号（例えば、ＴＤＱ［０：７］）を受信するように構成されている。受信された試験データ信号は処理されるか、試験モジュール120内のその他の部品に転送されるかする。これらの試験データ信号は、必要に応じて、パターン生成ロジック214及びデータ書込みロジック216を用いて更なる試験用データを生成するために使用される。例えば、データ書込みロジック216は試験ＤＱ208を介して受け取った試験用データ信号を、後にデータインターフェース226を介してＩＣ130に提供されるデータ信号を生成するために使用することができる。
【００３８】
試験ＤＱ208はＡＴＥ110から実際の試験用データと試験モードコマンドとの双方を受信するように構成されている。例えば、セットコマンドが試験制御器206によって受信されると、試験ＤＱ208においては試験モードコマンドが期待される。ロードコマンドが試験制御器206によって受信されると、試験ＤＱ208においては実際の試験用データが期待される。
【００３９】
図３Ａ及び３Ｂは、本発明の一実施形態に従った試験モードコマンドを例示している。これらのコマンドは試験なしのアイテム１及び９、行アドレスをロードするアイテム２及び３、行カウンタの最下位ビット（ＬＳＢ）を設定するアイテム５及び６、行カウンタの方向を設定するアイテム８、列アドレスをロードするアイテム１０及び１１、列カウンタのＬＳＢを設定するアイテム１３及び１４、及び列カウンタの方向を設定するアイテム１６を含んでいる。図３Ｂにおいて、アイテム１８及び１９はＭＲＳ（モードレジスタ設定）データをロードするように設定されたコマンドであり、アイテム２３はチップ識別表示を読み取るためのものであり、アイテム２６はデータスクランブル（生成）情報をロードするためのものであり、アイテム２７は試験結果が試験モジュール120からＡＴＥ110に報告されるときの形態を決定するために使用されるものであり、アイテム３０は更なるデータ生成情報をロードするためのものであり、そしてアイテム３１は特定クラスのメモリアーキテクチャに関してアドレス及びデータ生成を制御するためのものである。試験モジュール120はまた、エンハンストＭＲＳコマンド、モバイルＭＲＳコマンド等に対応するように構成されていてもよい。
【００４０】
行カウンタのＬＳＢ及び列カウンタのＬＳＢは、アドレス生成中に何れの行ビット及び何れの列ビットの値が最初に増加されるかを決定するために使用される。例えば、行アドレスの２番目のビットが行カウンタのＬＳＢとして設定される場合、該当する行アドレスは２だけ増加されることになる。また、行アドレスの３番目のビットが行カウンタのＬＳＢとして設定される場合、該当する行アドレスは４だけ増加されることになる。行カウンタ・カウントダウン設定コマンドは、行アドレスがカウントアップされるのか、あるいはカウントダウンされるのかを決定するために使用される。場合により、メモリ境界に寄せることが望ましいときには、ＬＳＢを最初のビット以外に設定することが用いられる。
【００４１】
再び図２を参照するに、試験ＤＱ208はまた、試験結果を試験モジュール120からＡＴＥ110に伝えるように構成されている。例えば、ＩＣ130からデータインターフェース226を介して受信された信号は、データ読出しロジック218によって処理され、ＡＴＥ110への信号伝達のために試験ＤＱ208に提供されることができる。試験ＤＱを介してＡＴＥ110に伝達されたデータは、ＩＣ130から受信された完全な試験結果、ＩＣ130から受信された結果の凝縮版、又は結果の要約（例えば、合格又は不合格の表示）を含み得る。伝達されるデータの書式は、試験制御器206を介して試験モードレジスタ212に記録された試験基準に依存する。
【００４２】
アドレス生成器210はクロックマネージャ202、コマンドユニット204、試験ＤＱ208及び試験モードレジスタ212から信号を受信するように構成されている。アドレス生成器210は、この受信情報を用いて、アドレスドライバ224を介してＩＣ130に伝達する試験用アドレス（例えば、Ａ［０：１５］）を生成するように構成されている。これらのアドレスはＩＣ130をアドレスするために使用される。例えば、一部の実施形態において、これらのアドレスはデータインターフェース226を介してＩＣ130にデータをロードすることを導くために使用される。例えば、データインターフェース226からＩＣ130に書き込まれるデータは、アドレスドライバ224からＩＣ130に書き込まれたアドレス位置でＩＣ130内に格納され得る。ここで更に説明されるように、アドレス生成器210によって生成されたアドレスはまた、必要に応じて、試験用データを生成する際、又はＩＣ130からの受信データを解釈する際に使用されるようにパターン生成ロジック214に提供される。
【００４３】
一部の実施形態において、アドレス生成器210は、関連する米国特許出願第１０／２０５８８３号明細書“Internally  Generating  Patterns  For  Testing  In  An  Integrated  Circuit  Devices（集積回路デバイスにおける試験パターンの内部生成）”、出願日２００２年７月２５日）及び米国特許出願第１１／０８３４７３号明細書“Internally  Generating  Patterns  For  Testing  In  An  Integrated  Circuit  Devices（集積回路デバイスにおける試験パターンの内部生成）”、出願日２００５年３月１８日）に記載されているようなシーケンスパターン生成器を含んでいる。なお、これらの文献は何れも参照することによりその全体がここに組み込まれる。
【００４４】
図４は、本発明の様々な実施形態に従ったアドレス生成器210の更なる詳細を例示している。これらの実施形態において、アドレス生成器210はＭＲＳレジスタ410、行アドレス生成器420、列アドレス生成器430、及び必要に応じてのＡ１０生成器440を含んでおり、これらの各々はマルチプレクサ（ＭＵＸ）450にデータを提供するように構成されている。ＭＵＸ450はＭＵＸ制御器460によって制御され、またプリチャージ制御器470からの入力を受け取ってもよい。
【００４５】
ＭＲＳレジスタ410はセット、ロード、モードレジスタ設定（ＭＲＳ）及び試験用アドレス信号（ＴＡ［０：７］）を受信するように構成されている。試験用アドレス信号（ＴＡ［０：７］）は試験ＤＱ208のＴＤＱ［０：７］を介して受信される。セット、ロード及びＴＣＮＴ信号、並びに行カウンタ信号を受信する行アドレス生成器420は、ＩＣ130を試験する際に使用される複数の行アドレスを生成するように構成されている。セット、ロード及びＴＣＮＴ信号、並びに列カウンタ信号を受信する列アドレス生成器430は、記憶デバイス130を試験する際に使用される複数の列アドレスを生成するように構成されている。Ａ１０生成器440はＴＡ１０信号を生成するように構成されている。ＴＡ１０信号はＡ１０ビットを別個に制御するために使用される。Ａ１０ビットはプリチャージ可能な種類のメモリに見受けられるビットである。例えば、ＩＣ130がＤＲＡＭである場合、Ａ１０生成器440は、ＤＲＡＭ自動プリチャージコマンド、全バンクプリチャージコマンドを有効にするビットを生成するように構成されていてもよい。
【００４６】
マルチプレクサ（ＭＵＸ）450は、ＭＲＳレジスタ410、行アドレス生成器420、列アドレス生成器430及びＡ１０生成器440の出力を、ＭＵＸ制御器460の制御下で受信するように構成されている。ＭＵＸ450の出力はアドレス生成器210の出力であり、ＩＣ130に伝達されるためにアドレスドライバ224に提供される。一部の実施形態において、ＭＵＸ450の出力はまた、試験用データの生成及び解釈のためにデータ書込みロジック216及びデータ読出しロジック218にも提供される。
【００４７】
アドレス生成器210は、典型的に、ＡＴＥ110から受信した各アドレスに対して、アドレスドライバ224に送達されるアドレスを２つ以上生成するように構成されている。例えば、一部の実施形態において、アドレス生成器210はＡＴＥ110から単一の基準アドレスを受信し、それに応答して一連のアドレスを生成するように構成されている。一部の実施形態において、アドレス生成器210は受信アドレス毎に２つアドレス（元のアドレスと、もう１つのアドレス）を生成するように構成されている。例えば、偶数アドレスが受信されるたびに、アドレス生成器210は対応する奇数アドレスを生成するように構成されていてもよい。様々な実施形態において、アドレス生成器210はＡＴＥ110から受信した各アドレスに対して４、８、１６、３２、６４、１２８個又はそれ以上のアドレスを生成するように構成される。一部の実施形態において、アドレス生成器210は次のアドレス境界に到達するのに十分なアドレスを生成するように構成される。例えば、カウント方向が増分方向であり、バースト長が４且つ最初の読出しアドレスが列０にある場合、列アドレスは次の読出しアドレスに対する列４にジャンプし、４つのアドレス（列０乃至列３）が生成される。
【００４８】
一部の実施形態において、試験モジュール120はＡＴＥ110から受信したメモリアクセスコマンドに応答してＩＣ130にメモリアドレスを提供するように構成されている。例えば、アクティブコマンドがＡＴＥ110から受信され、ＩＣ130に伝達されるようにスケジューリングされるとき、ＭＵＸ制御器460は行アドレス生成器420からのアドレスビットがアドレスドライバ224に伝達されるようにＭＵＸ450を制御するように構成される。試験モジュール120はアクティブコマンド（ＣＳ／ＲＡＳ／ＣＡＳ／ＷＥ＝００１１）及び付随するアドレスビットＡ［０：１３］（５１２Ｍｂ×８ＤＲＡＭの場合）を試験中のＤＲＡＭ（例えば、ＩＣ130）に送信する。
【００４９】
読出しコマンドが伝達されるようにスケジューリングされるとき、ＭＵＸ制御器460はＭＵＸ450を使用して、アドレスドライバ224に送信されるべき列アドレス生成器430からのアドレスビットを選択する。試験モジュール120は読出しコマンド（ＣＳ／ＲＡＳ／ＣＡＳ／ＷＥ＝０１０１）と、付随するアドレスＡ［０：９］（５１２Ｍｂ×８ＤＲＡＭの場合）及びＡ１０（自動プリチャージ又は自動プリチャージなしのため）とを送信する。アドレスビットを送信することを伴う書込み及びロードモードレジスタ操作に対しても同様のことが行われる。ＭＵＸ制御器460の操作は、典型的に、処理中のコマンド（例えば、ロードモードレジスタ、プリチャージ、アクティブ、読出し、書込み、選択など）の種類に応じたものである。
【００５０】
一部の実施形態において、試験用列アドレスは試験用行アドレスとは独立して増加されることができる。行アドレス生成器420及び列アドレス生成器430は、必要に応じて、試験中のアドレスとして使用される番号のシーケンスを内部生成するように構成される。
【００５１】
再び図２を参照するに、試験モードレジスタ212は、試験中にアドレス生成器210、パターン生成ロジック214、データ書込みロジック216及びデータ読出しロジック218によって使用される試験モードデータを格納するように構成されている。例えば、試験モードレジスタ212は試験ＤＱ208から開始列アドレス及び／又は開始行アドレスを受信するとともに、試験制御器206の制御下で試験モードコマンド（例えば、図３Ａ及び３Ｂに例示されたもの）を受信するように構成されている。試験中、試験用アドレス及び試験用データを生成するために、これらの値及びその他の値が試験モードレジスタ212から読み出される。
【００５２】
一部の実施形態において、試験モードレジスタ212は試験レジスタ設定コマンドを用いてプログラム可能であり、試験ＤＱ208の試験用データ信号ＴＤＱ０−ＴＤＱ７によってプログラムされる。試験モードにおいて、ＴＤＱ０−ＴＤＱ７信号に関する入力は、試験用データの読み出し及び書き込み、試験モードコードの設定、行及び列アドレスのロード、行及び列カウンタの最下位ビット（ＬＳＢ）のプログラミング、データスクランブルパターンの設定、データ生成ロジックの設定、及び試験用データパターンのロード等のために使用されることができる。一部の実施形態において、試験モードレジスタ212内のレジスタは如何なる時も設定されることが可能である。一部の実施形態において、コマンドユニット204におけるセットコマンドは、試験モードレジスタ212に試験モードコマンド及び試験モードデータをロードするために“高（ＨＩＧＨ）”状態に設定される。
【００５３】
一部の実施形態において、データスクランブルパターン、行アドレススクランブルパターン及び列アドレススクランブルパターンの全て又は一部は、着脱可能メモリに格納される。例えば、これらのパターンは、試験モジュール120にプラグ接続されるように、あるいはＩＣ130の１つ以上の要素をサポートするように構成された試験用取付けボードにプラグ接続されるように構成されたＥＰＲＯＭに格納される。これらの実施形態においては、試験モジュール120の外部で様々なスクランブルパターンがプログラムされることが可能である。例えば、一部の実施形態において、相異なるＥＰＲＯＭが相異なる試験プロトコルを用いてプログラムされ、所望のプロトコルに応じて、これら相異なるＥＰＲＯＭの１つが試験モジュール120にプラグ接続されるように選択される。一部の実施形態において、相異なるＥＰＲＯＭが相異なる種類のＩＣ130を試験するためにプログラムされる。代替的な実施形態においては、スクランブルパターンはＥＰＲＯＭ以外の着脱可能メモリに格納される。例えば、試験モードレジスタ212はＲＯＭ、フラッシュ、一回限りプログラム可能なロジック等に含められることができる。
【００５４】
パターン生成ロジック214、データ書込みロジック216及びデータ読出しロジック218は、ＩＣ130に書き込まれるべき試験用データを生成し、且つＩＣ130から読み出された試験結果を解釈するように構成されている。図５は、本発明の様々な実施形態に従った、ＩＣ130にデータを書き込み且つＩＣ130からデータを読み出すためのデータ経路の更なる詳細を例示している。
【００５５】
図５に例示された実施形態において、試験ＤＱ208は入力バッファ510、出力バッファ512、データイン・レジスタ514及びデータアウト・レジスタ516を含んでいる。これらのバッファはＡＴＥ110に対してデータをそれぞれ受信、送信するように構成されている。データがＡＴＥ110から受信されるとき、入力バッファ510の出力はデータイン・レジスタ514に格納される。同様に、ＡＴＥ110に送達されるようにデータの準備ができているとき、データはＡＴＥ110によって読み出されるまでデータアウト・レジスタ516に格納される。様々な実施形態において、試験ＤＱ208は８、１６又は更に多くのバイトを並行して伝達するように構成されている。
【００５６】
図５に例示された実施形態において、データインターフェース226は出力バッファ520、入力バッファ522、出力シフトレジスタ524及びデータ読出し捕捉器526を含んでいる。ＩＣ130に書き込まれるべきデータは、出力シフトレジスタ524内に集められてから出力バッファ520を介して渡される。ＩＣ130から読み出されたデータは入力バッファを介して渡され、データ読出し捕捉器526によって捕捉される。典型的な実施形態において、データインターフェース226は試験ＤＱより速いクロック周波数でデータを伝達するように構成されている。
【００５７】
図５に例示された実施形態において、データ書込みロジック216はデータ書込みレジスタ530及びＭＵＸ535を含んでいる。データ書込みレジスタ530は、例えば、８ビットのデータをデータイン・レジスタ514から受信するように構成されている。受信データは、データスクランブルパターンに従って、パターン生成ロジック214の制御下でデータスクランブルパターンを用いて更なるデータを生成するために展開される。典型的な実施形態において、幾つかのデータがデータ書込みレジスタ530内で並行して生成される。例えば、データ書込みレジスタ530は８個の元々のビットから８個のデータセットを並行して生成するように構成されていてもよい。これらのデータはＭＵＸ535に伝達される。様々な実施形態において、ＭＵＸ535は試験ＤＱ208によってＡＴＥ110から受信されたデータの各バイトに対して、１６、３２、６４個又は更に多くのデータビットを受信する。データ生成処理の更なる詳細については、本明細書中の別の箇所で説明する。
【００５８】
図５に例示された実施形態において、データ読出しロジック218はＭＵＸ545、必要に応じてのデータ読出しレジスタ540、及び必要に応じての比較ユニット550を含んでいる。一部の実施形態において、データ読出しレジスタ540及びＭＵＸ545はデータ書込みロジック216にて実行される処理と逆の処理を実行するように構成されている。例えば、ＭＵＸ545はデータ読出し捕捉器526からデータを受信し、受信データを１つ以上のデータ読出しレジスタ540に渡すように構成されている。データ読出しレジスタ540は、データ書込みレジスタ530によって実行されたのと逆の処理で受信データを圧縮するために、データ書込みレジスタ530により使用されたのと同一のデータスクランブルパターンを使用するように構成されている。データ読出しレジスタ540によってＭＵＸ545から受信されたデータがデータ書込みレジスタ530によって生成されたデータと同一である場合、データ読出しレジスタ540は該データを、データ書込みレジスタ530によってデータイン・レジスタ514から受信されたデータと同一になるように圧縮することになる。一部の実施形態において、この圧縮されたデータはＡＴＥ110に伝達されるようにデータアウト・レジスタ516に直接的に渡される。これらの実施形態において、比較ユニットは随意的なものである。
【００５９】
データ読出し捕捉器526、ＭＵＸ545、データ読出しレジスタ540、比較ユニット550及びデータアウト・レジスタ516は、試験中にＩＣ130からデータを読み出すためのデータ経路を形成している。一部の実施形態において、読出し用データ経路内の構成要素は、ＩＣ130から外部データ信号（ＤＱ［０：３１］）を受信し、これらの信号を外部試験用データ信号（ＴＤＱ［０：７］）に圧縮し、且つ外部試験用データ信号を外付け試験装置（例えば、ＡＴＥ110）に戻すように構成される。他の実施形態においては、読出し用データ経路内の構成要素は、ＩＣ130から外部データ信号（ＤＱ［０：３０］）を受信し、これらの信号を期待される値と比較し、且つこれらの比較結果をＴＤＱ［０：７］の一部を用いて報告するように構成される。
【００６０】
ＩＣ130にデータを書き込むように構成されたデータ経路内の構成要素（例えば、データイン・レジスタ514、データ書込みレジスタ530、パターン生成ロジック214、ＭＵＸ535及び出力シフトレジスタ524）は、ＡＴＥ110から外部試験用データ信号（ＴＤＱ［０：７］）を受信し、これらの信号を外部データ信号（ＤＱ［０：３１］）に展開し、且つ外部データ信号をＩＣ130に提供するように構成される。
【００６１】
一部の実施形態において、書込み用データ経路内の構成要素は、外付け試験装置から該試験装置の動作周波数で試験用データのビット群を受信し、試験装置から受信したデータの各ビットに対して複数のビットを生成し、且つ生成されたビット群をＩＣ130に該ＩＣ130の動作周波数（これはＡＴＥ110が動作する周波数より高くされ得る）で伝送してもよい。
【００６２】
一例において、書込み用データ経路内の構成要素は、ＡＴＥ110から１００ＭＨｚのクロック周波数で値“１”を有するＴＤＱ３の１ビットを受信し、受信したビットから単にその値を複数回繰り返すことによってビット列“１１１１”を生成し、且つこのビット列を２００ＭＨｚの周波数でＤＱ１２−１５としてＩＣ130に提供してもよい。他の一例において、書込み用データ経路内の構成要素は、ＡＴＥ110から１００ＭＨｚのクロック周波数で値“１”を有するＴＤＱ３の１ビットを受信し、受信したビットからオンザフライでビット列“０１０１”を生成し、且つ生成されたビット列を４００ＭＨｚの周波数でＤＱ８−１１としてＩＣ130に提供してもよい。ビット“１”からのビット列“０１０１”の生成は、例えばビット列“１１１１”内の“全ての奇数ビットを反転する”ロジックを含むパターン生成ロジック214を用いて達成される。他の例においては、ＴＤＱ［０：７］の位置で受信された各ビットが、ＤＱ［０：３１］の各々の４ビット、８ビット又は更に多くのビットから成るバーストを生成するために使用される。例えば、ＴＤＱ３の位置で受信された１ビットが、ＤＱ１２、ＤＱ１３、ＤＱ１４及びＤＱ１５の各々の位置の４ビットのバーストを生成するために使用されてもよい。このビットバーストは、パターン生成ロジック214に応じて、可能な４ビットパターンの何れかを含むことができる。
【００６３】
一実施形態において、読出し用データ経路内の構成要素は、ＩＣ130から該ＩＣ130のクロック周波数で試験結果のビット群を受信し、試験結果のビット列を単一のビットに変形し、且つこの単一の試験結果ビットをＡＴＥ110に該ＡＴＥ110のクロック周波数で提供してもよい。一実施形態において、読出し用データ経路内の構成要素は、ＩＣ130から４００ＭＨｚのクロック周波数でＤＱ１６−ＤＱ１９の試験結果ビット列“００１１”を受信してもよい。読出し用データ経路の構成要素はこのビット列を、このビット列が期待される試験結果と一致するかに応じて“０”又は“１”の何れかの値に縮め、且つこの単一ビット（“０”又は“１”）をＴＤＱ５によってＡＴＥ110に提供する。
【００６４】
ＡＴＥ110から受信したデータを“展開”し、且つＩＣ130から受信したデータを“圧縮”することができるという試験モジュール120の能力により、より低いクロック速度で動作するように構成されたＡＴＥ110を用いてＩＣ130が規定のクロック周波数で試験され得るという技術的効果がもたらされる。
【００６５】
代替的な実施形態においては、データ読出しレジスタ540によって生成された圧縮データは比較ユニット550に渡される。これらの実施形態において、比較ユニット550はこのデータを、データ書込みレジスタ530によってデータイン・レジスタ514から受信されたデータの複製と比較するように構成される。比較ユニット550は、この比較に基づいて、比較されたデータが一致したか否か、例えば、試験が“合格”か“不合格”かを指し示す値を出力するように構成される。故に、データ読出し捕捉器526を介してＩＣ130から読み出されたデータが、出力シフトレジスタ524を介してＩＣ130に書き込まれたデータと同一である場合、データアウト・レジスタ516は比較ユニット550から“合格”を指し示す値を受信することになる。読み出されたデータが書き込まれたデータと同一でない場合には、データアウト・レジスタ516は比較ユニット550から“不合格”を指し示す値を受信することになる。比較ユニット550により為される比較は並行して実行されてもよいし、順番に実行されてもよい。
【００６６】
一部の実施形態において、“合格”を指し示す値は試験モジュール120によってＡＴＥ110から元々受信されたデータの複製にされ、“不合格”を指し示す値はこのデータの補数にされる。この目的のため、一部の実施形態において、試験モジュール120によって元々受信された値は、試験モジュール120内に保存される。一部の実施形態において、この元データは試験モジュール120内に保存される必要がないように、ＡＴＥ110から試験モジュール120に二度にわたって送信される。第２のデータセットはまた、必要に応じて、比較ユニット550によるＩＣ130からの受信データとの比較に使用されるように展開される。一部の実施形態において、“合格”を指し示す値は、この目的のためにＡＴＥ110から試験モジュール120に伝達された他の何らかの値にされる。
【００６７】
一部の実施形態において、データ読出しレジスタ540は随意的なものであり、比較ユニットはＭＵＸ545から直接的にデータを受信するように構成される。これらの実施形態において、比較ユニット550がデータ書込みレジスタ530から受信するデータは、データイン・レジスタ514から受信された入力ではなく、ＭＵＸ535に提供されたデータ書込みレジスタ530の展開された出力の複製とされる。この展開された出力の複製はＭＵＸ545から受信されたデータと比較される。これらの実施形態において、比較ユニット550は圧縮データではなく展開データを用いて比較を行うように構成される。比較ユニット550の出力は比較が一致したか否かを反映するものである。これらの実施形態において、データ読出し捕捉器526を介してＩＣ130から読み出されたデータは再圧縮される必要はない。データ書込みレジスタ530の展開された出力の複製は試験モジュール120内に保存されていてもよいし、あるいはデータイン・レジスタ514から受信された元データから要求に応じて再生成されてもよい。
【００６８】
代替的な実施形態においては、比較ユニット550はデータ読出し捕捉器526から直接的にデータを受信するように構成される。これらの実施形態において、比較ユニット550はＭＵＸ535の出力の複製を受信し、このデータをデータ読出し捕捉器526から受信したデータと比較するように構成される。これらの実施形態においては、ＭＵＸ545は省略される。
【００６９】
パターン生成ロジック214は、データ書込みレジスタ530及びデータ読出しレジスタ540内のデータをデータスクランブルパターンに従って処理（例えば、圧縮又は展開）するために必要なロジックを含んでいる。この処理は、一部の実施形態において、例えばデータ書込みレジスタ530からの、処理対象データのパターン生成ロジック214への伝達を含む。これらの実施形態において、実際の処理はパターン生成ロジック214内で行われ、その結果は処理対象データを提供した部品に戻されるように伝達される。
【００７０】
代替的な実施形態においては、パターン生成ロジック214はデータスクランブルパターンや論理ルール等をデータ書込みレジスタ530及びデータ読出しレジスタ540に伝達するように構成される。これらの実施形態においては、実際の処理はデータ書込みレジスタ530及び／又はデータ読出しレジスタ540にて行われる。例えば、データスクランブルパターンはパターン生成ロジック214によってデータ書込みロジック216へと送信され、データ書込みロジック216の出力を生成するために、このデータスクランブルパターンは試験ＤＱ208からの受信データとのＸＯＲ（排他的論理和）を取られてもよい。
【００７１】
一部の実施形態において、パターン生成ロジック214はＩＣ130の試験の最中又は直前に（試験ＤＱ208を介して）データスクランブルパターンをロードするように構成される。代替的な実施形態においては、パターン生成ロジック214は幾つかのデータスクランブルパターンを事前にロードし、これらデータスクランブルパターンの１つが試験の最中又は直前に試験パターン番号の使用を介して選択される。
【００７２】
パターン生成ロジック214は、コマンド制御器204、試験モードレジスタ212、試験ＤＱ208、クロックマネージャ202及びアドレス生成器210からデータを受信するように構成されている。一部の実施形態において、パターン生成ロジック214はアドレス生成器210からデータを受信するので、試験用データの生成はアドレスに依存したものとすることができる。例えば、奇数の（列及び／又は行の）アドレスに書き込まれるべきデータと、偶数の（列及び／又は行の）アドレスに書き込まれるべきデータとに対して、相異なるデータスクランブルパターンが使用され得る。一実施形態において、データ生成のアドレス依存性は、実際の物理ストレージのロジックがアドレス依存性を有するようなＩＣ130の要素を試験する際に使用される。例えば、一部の記憶デバイスは奇数の列アドレスにデータを記憶するために第１の電圧信号を用い、偶数の列アドレスにデータを記憶するために第１の電圧信号の反転形を用いる。故に、データ１１１１１１１１は実際の物理ストレージに１０１０１０１０として記録され得る。アドレスに依存したデータ生成により、試験モジュール120は、実際の物理ストレージが１１１１１１１１、００００００００又はこれらの何らかの置換形となるように試験パターンを走らせるように構成されることが可能である。
【００７３】
図６は、本発明の実施形態に従ったデータ書込みレジスタ530の更なる詳細を例示するブロック図である。試験用データ信号（ＴＤＱ）はＡＴＥ110から該ＡＴＥ110のクロック周波数で受信され、データイン・レジスタ514に格納される。データイン・レジスタ514からＴＤＱ信号が偶数ブロック610及び奇数ブロック615に提供される。偶数ブロック610は、偶数アドレスに記録されるべき出力データ要素を生成するように構成され、奇数ブロック615は、奇数アドレスに記録されるべき出力データ要素を生成するように構成されている。偶数ブロック610及び奇数ブロック615はまた、パターン生成ロジック214から試験用反転ビット信号（ＴＩＮＶ０）を受信する。この信号がＨＩＧＨである場合、偶数ブロック610又は奇数ブロック615の何れかの内部のビット群の１つがＴＤＱ信号に対して反転される。何れのビットが反転されるかは、バーストアドレスＬＳＢ信号（ＣＡ０）の状態に依存する。一部の実施形態において、ＴＩＮＶ０がＨＩＧＨであるとき、奇数アドレスに関連付けられたビット群が反転される。パターン生成ロジック214から、偶数ブロック610はバーストアドレスＬＳＢ信号（ＣＡ０）を受信し、奇数ブロック615は補信号（ＣＡ０＼）を受信する。ＣＡ０は、例えば、その時の列アドレスのＬＳＢである。偶数ブロック610及び奇数ブロック615は、ＸＯＲ演算又はラッチとマルチプレクサとの組み合わせを用いて、それらそれぞれの出力をシリアルに生成するように構成されていてもよい。例えば、マルチプレクサはＣＡ０に応じてラッチの反転出力又は非反転出力を選択するように構成されていてもよい。
【００７４】
偶数ブロック610及び奇数ブロック615の出力は、それぞれ、反転ブロック620及び反転ブロック625に渡される。反転ブロック620は更にパターン生成ロジック214からＩＮＶ０信号を受信し、反転ブロック625は更にパターン生成ロジック214からＩＮＶ１信号を受信する。反転ブロック620及び反転ブロック625の各々は、それぞれ、ＩＮＶ０及びＩＮＶ１に応じて偶数ブロック610及び奇数ブロック615の出力を反転させる、あるいは反転させないように構成されている。例えば、一部の実施形態において、ＩＮＶ０及びＩＮＶ１がＨＩＧＨであるとき、入力データは反転される。
【００７５】
反転ブロック620及び反転ブロック625はデータ書込み偶数（ＤＷ＿Ｅ）信号及びデータ書込み奇数（ＤＷ＿Ｏ）信号を出力するように構成されており、これらの信号はレジスタブロック630に提供される。一部の実施形態において、ＩＮＶ０及びＩＮＶ１信号がＨＩＧＨであるとき、ＤＷ＿Ｅ及びＤＷ＿Ｏ信号の各々は、それぞれ、偶数ブロック610及び奇数ブロック615の出力の元々の値と補数との双方を含むことになる。ＩＮＶ０及びＩＮＶ１信号が低（ＬＯＷ）であるとき、ＤＷ＿Ｅ及びＤＷ＿Ｏ信号の各々は、偶数ブロック610及び奇数ブロック615の出力の元々の値の複製を２つ含むことになる。ＩＮＶ０及びＩＮＶ１信号の状態はパターン生成ロジック214内のロジックに依存し、パターン生成ロジック214がＩＣ130の特定の例に対してプログラムされる場合、これらの状態はＩＣ130のアーキテクチャ及びトポロジーに依存し得る。
【００７６】
本明細書の別の箇所で説明されるように、パターン生成ロジック214の動作は行アドレス及び／又は列アドレスに応じることが可能である。例えば、一部の実施形態において、ＩＣ130内のメモリアレイにソリッドパターンを書き込むために、ＩＮＶ０＝（ＲＡ０  ＸＯＲ  ＲＡ１）  ＸＯＲ  ＲＡ８というロジックが使用されてもよい（ただし、ＲＡ０、ＲＡ１及びＲＡ８は行アドレスビットであり、ＸＯＲは排他的論理和関数である）。これは、行アドレスがＲＡ０＝１、ＲＡ１＝０且つＲＡ８＝０であるとき、ＩＮＶ０は値１を有することになり、データは反転ブロック620で反転されることを意味している。本発明は、場合により、実際の論理ビットストレージがアドレス依存型であるメモリを補償するために使用される。大抵の場合、ＩＮＶ０はＩＮＶ１と同一になるので、１つの信号のみが必要とされる。
【００７７】
典型的に、データ書込みレジスタ530は、ＡＴＥ110から受信した各ＴＤＱデータ要素（例えば、ＴＤＱ０乃至ＴＤＱ７）を処理するように構成された一組の同様な部品を含む。例えば、ＴＤＱ０が１に等しく、ＣＡ０（列アドレスのＬＳＢ）が０、且つＴＩＮＶ０が１である場合、反転ブロック620への入力は１になり、反転ブロック625への入力は０になる（ＴＩＮＶ０＝１は奇数ビットの反転がアクティブであることを意味する）。反転ブロック620及び反転ブロック625は、ＩＮＶ０又はＩＮＶ１信号がアクティブである場合にもデータを反転することになる。ＩＮＶ０又はＩＮＶ１信号の値はパターン生成ロジック214の出力に依存する。
【００７８】
レジスタブロック630は、一部の実施形態において、ＤＷ＿Ｅ及びＤＷ＿Ｏを受信するように構成された複数の先入れ先出し（ＦＩＦＯ）レジスタを含んでいる。図６に例示されるように、これらのＦＩＦＯレジスタはＥＶ＿０レジスタ635、ＥＶ＿１レジスタ640、ＯＤ＿０レジスタ645及びＯＤ＿１レジスタ650を含み得る。ＥＶ＿０レジスタ635及びＥＶ＿１レジスタ640は、反転ブロック620から受信されて試験モジュール120の出力の偶数ビットに含められるべきデータを処理するように構成されており、一方、ＯＤ＿０レジスタ645及びＯＤ＿１レジスタ650は対応する奇数ビットを処理するように構成されている。ＥＶ＿０レジスタ635及びＥＶ＿１レジスタ640は、ＤＷ＿Ｅ信号からのデータ書込み偶数０（ＤＷ＿Ｅ０）信号及びデータ書込み偶数１（ＤＷ＿Ｅ１）信号を格納するように構成されている。ＯＤ＿０レジスタ645及びＯＤ＿１レジスタ650は、ＤＷ＿Ｏ信号からのデータ書込み奇数０（ＤＷ＿Ｏ０）信号及びデータ書込み奇数１（ＤＷ＿Ｏ１）信号を格納するように構成されている。これらＤＷ＿Ｅ０、ＤＷ＿Ｅ１、ＤＷ＿Ｏ０及びＤＷ＿Ｏ１信号はＭＵＸ535に並行して提供される。ＭＵＸ535はこれらパラレル信号からシリアルストリームを生成するように構成されている。このシリアルストリームはデータ信号（ＤＱ）内の一連のデータ（例えば４ビット）として、出力シフトレジスタ524を介してＩＣ130に提供される。故に、図６に例示された実施形態においては、ＡＴＥ110からのＴＤＱデータの１ビットにより、ＩＣ130に伝えられるＤＱデータの４ビットがもたらされる。
【００７９】
“Architecture  and  Method  for  Testing  of  an  Integrated  Circuit  Device（集積回路デバイスの試験のためのアーキテクチャ及び方法）”という発明名称の米国特許出願第１１／２０７５８１号明細書に記載されているように、試験モジュール120の読出し用データ経路内にも、図６に例示されたのと同様の部品が含まれていてもよい。一部の実施形態において、ＩＣ130から受信したデータがＩＣ130に提供された試験用データと同一である場合、試験モジュール120は該試験モジュール120がＡＴＥ110から元々受信したのと同一のデータをＡＴＥ110に送り返すように構成され、またＩＣ130から受信したデータがＩＣ130に提供されたデータと同一でない場合、試験モジュール120は該試験モジュール120がＡＴＥ110から元々受信したデータの補数をＡＴＥ110に送るように構成される。
【００８０】
図７Ａ及び７Ｂは、図６に示されたシステムを用いるデータ展開の幾つかの例を例示する表を含んでいる。これらの表は、データイン・レジスタ514から受信したデータビットを表すＴＤＱの欄710、偶数ブロック610及び奇数ブロック615によって受信されたＣＡ０及びＣＡ０＼の値を指し示すＣＡ０の欄720、及び最初のビットが偶数アドレス又は奇数アドレスの何れに関連しているかを表す偶数データビットの欄730を含んでいる。これらの表は更に、レジスタブロック630の出力（例えば、ＤＷ＿Ｅ０、ＤＷ＿Ｅ１、ＤＷ＿Ｏ０及びＤＷ＿Ｏ１）を指し示す４部構成の欄740を含んでいる。図７Ａにおいては、４部構成の欄740はＴＩＮＶ０がＬＯＷであるときのデフォルトモードを表しており、図７Ｂにおいては、４部構成の欄740はＴＩＮＶ０がＨＩＧＨであるときのデフォルトモードを表している。最後に、図７Ａ及び７Ｂに含まれている表は、出力シフトレジスタ524に提供される４つのＤＱ出力の値を表す４部構成の欄750を含んでいる。
【００８１】
図８Ａ−８Ｈは、本発明の実施形態に従って試験モジュール120からＩＣ130に届けられ得る多様な試験用データパターンを例示していている。図８Ａ及び８Ｂは、例えば全てが１あるいは全てが０である、均一なビットアレイをもたらす試験用データパターンを含んでいる。図８Ｃ及び８Ｄは、例えば１ビットごとに反転される、単一の反転形を有する試験用データパターンを含んでいる。図８Ｅ及び８Ｆは、例えばビット対ごとに反転される、二重の反転形を有する試験用データパターンを含んでいる。そして図８Ｇ及び８Ｈは、例えば４ビットの組ごとに反転される、四重の反転形を有する試験用データパターンを含んでいる。その他の試験用データパターンは市松模様、列ストライプ行ストライプの二重の列、二重の行、又は類似のビットストレージをＩＣ130にもたらす。
【００８２】
ＩＣ130に生じる試験用データの実際の物理ストレージパターンは、ＩＣ130に提供されるビットパターンとは異なっていてもよい。例えば、一部の種類のメモリストレージは偶数列アドレスと奇数列アドレスとに対して相異なる表を使用する。これらのメモリにおいて、図８Ｃの試験用データパターンは、（パターンの最初のビットが偶数列アドレスのものであると仮定して）偶数列アドレスに対応する全てが１の表と、奇数列アドレスに対応する全てが０の表とをもたらし得る。図８Ｄの試験用データパターンが使用された場合には、第１の表が全て０になり、第２の表が全て１になる。さらに、これらのメモリにおいては、図８Ｅ及び８Ｆの試験用データパターンは２つの表の各々に市松模様をもたらす。
【００８３】
メモリにおいて、本明細書の別の箇所で説明されるように、一部の種類のメモリは、データの実際の物理ストレージのロジックがアドレスに依存するアーキテクチャを使用する。例えば、論理“１”は偶数アドレスの列（及び／又は行）ではＨＩＧＨの電圧で表され、奇数アドレスの列（及び／又は行）ではＬＯＷの電圧で表されてもよい。これらの種類のメモリにおいては、図８Ａ及び８Ｂの試験用データパターンは市松模様の電圧値をもたらす一方で、図８Ｃ及び８Ｄの試験用データパターンは同一の実際の電圧値で満たされたメモリセルアレイをもたらす。試験モジュール120内での試験用データの生成は列アドレス及び／又は行アドレスに依存したものとし得るので、試験モジュール120は、実際の物理ストレージがアドレス依存型であるような種類のメモリに、所望の試験用パターンを適用することができる。
【００８４】
再び図２を参照するに、クロックドライバ220はＩＣ130にクロック信号を供給するように構成されている。このクロック信号は、典型的にクロックマネージャ202を用いて生成され、ＡＴＥ110から受け取るクロック周波数より速いものであってもよい。
【００８５】
コマンドドライバ222はコマンド制御器204から受信したコマンドをＩＣ130に伝えるように構成されている。例えば、コマンドドライバ222はロード、読出し、プリチャージ又は類似のコマンドを、記憶デバイスを含むＩＣ130の要素に提供するように構成される。本発明の一部の実施形態において、コマンドドライバ222は試験モジュール120からＩＣ130に伝達されるコマンド（又はデータ）のタイミングを制御するように設定可能なスケジューラを含んでいる。例えば、ＩＣ130がコマンドを所定の速度で受け入れることができることを試験することが望ましいことがあり得る。
【００８６】
図９は、ＩＣ130へのコマンドの配信を計画するように構成されたコマンドドライバ222の一実施形態を例示している。この実施形態は一組の同期化Ｄ型フリップフロップ（Ｄ−ＦＦ）920、先入れ先出し（ＦＩＦＯ）バッファ930、コマンド復号器940、スケジュールカウンタ950及び状態機械960を含んでいる。同期化Ｄ−ＦＦ920は、コマンド制御器204を介してＡＴＥ110の周波数（ＴＣＫ）で受信したコマンドを試験モジュール120のクロック周波数（ＣＫ０）に同期させるように構成されている。ＣＫ０はＴＣＫの２倍以上とし得る。ＣＫ０がクロックマネージャ202によってＴＣＫに同期される実施形態においては、僅か２つのＤ−ＦＦを用いての同期化が可能である。
【００８７】
ＦＩＦＯバッファ930は同期化Ｄ−ＦＦ920から受信したコマンドを、ＩＣ130への伝達の準備が整うまで格納する。ＦＩＦＯバッファ930は、例えば、深さ１６のＦＩＦＯバッファとされ得る。コマンドはまた、コマンド復号器940にて復号化され、スケジュールカウンタ950に渡される。スケジュールカウンタ950はテーブル索引を用いて、どれだけのクロックサイクルが或るコマンドとその先行コマンドとの間に経過させられるべきかを決定する。先行コマンドは、必要に応じて、スケジュールカウンタ950によってＦＩＦＯバッファ930から読み出される。コマンドはＦＩＦＯバッファ930から取り出される（ポップされる）と、状態機械960によって受信される。状態機械960は、スケジュールカウンタ950によって決定されたクロックサイクル数だけ待ってからコマンドをＩＣ130に伝えるように構成されている。
【００８８】
プログラムされた遅延がクロック刻み（clock  tick）に関して設定され得る。故に、一部のコマンドは、次のコマンドがＩＣ130に伝達される前に１、２、３、４又は更に多くのクロック刻みを生じさせ得る。コマンド間の実際の遅延時間は、クロック刻みに関して遅延を設定すること、又は試験モジュール120とＩＣ130との間の信号伝達に使用されるクロックの周波数を変化させることによって制御されることが可能である。
【００８９】
図１０は、本発明の実施形態に従った、コマンドスケジューリングに基づくクロックサイクルを例示する表を含んでいる。この表内で、パラメータ欄1010は状態機械960にて定められる様々なコマンドセットを含んでいる。例えば、書込み／読出しコマンドに続かれるアクティブコマンドのタイミング特性が第３行に示されている。初期設定のクロック周期（ｔＣＫ）は３．７５ｎｓであり、その他の時間はｔＣＫの倍数として表されている。典型的に、ｔＣＫは試験モジュール120とＩＣ130との間の信号伝達に使用されるクロック周期である。示されたデータは特定種類のＳＤＲＡＭ（同期型ダイナミック・ランダムアクセスメモリ）に適用可能である。代替的な実施形態においては、その他のクロック速度及び遅延が用いられてもよい。試験モジュール120内での待ち時間の影響を低減するために、スケジューリングが用いられることができる。
【００９０】
再び図２を参照するに、アドレスドライバ224はＩＣ130にアドレスを提供するように構成されている。これらのアドレスは、典型的に、データインターフェース226を介してデータの読み出し又は書き込みを行うためのものである。データインターフェース226は試験モジュール120とＩＣ130との間でデータを伝達するように構成されている。一部の実施形態において、データインターフェース226は、ＩＣ130との電気的な接触を為すように構成された試験用のパッド、接触ピン、ソケット又はこれらに類するものを含んでいる。
【００９１】
図１１は、本発明の実施形態に従った、少なくとも１つの試験モジュール120とＩＣ130を受け入れるように構成された少なくとも１つのマウント部1120とを含む試験用取付けボード1110を例示している。試験用取付けボード1110はプリント回路基板モジュール又はこれに類するものを含むことができる。一部の実施形態において、試験モジュール120は１０×１０ｍｍの１４４ピンＢＧＡ（バイナリ・ゲートアレイ）として実装され、マウント部1120はＳＤＲＡＭのＢＧＡソケットにされる。
【００９２】
図１２は、本発明の実施形態に従った、複数の試験用取付けボード1110を含む試験用アレイ1210を例示している。様々な実施形態において、試験用アレイ1210は２、４、８、３２又は更に多くの試験用取付けボード1110を含んでいる。試験用アレイ1210は更に、必要に応じて、試験パラメータを記憶するように構成され且つ試験用取付けボード1110の各々に電気的に結合されたメモリ1220を含んでいる。例えば、様々な実施形態において、メモリ1220はデータスクランブルパターン、列アドレススクランブルパターン、行アドレススクランブルパターン、その他の試験パラメータ、及び／又はこれらに類するものを含んでいる。メモリ1220は、典型的に、例えばスタティックＲＡＭ又はフラッシュ等の不揮発性メモリである。メモリ1220は必要に応じて脱着可能にされる。一部の実施形態において、試験用取付けボード1110は随意的なものであり、マウント部1120及び試験モジュール120は試験用アレイ1210に取り付けられる。単一の試験モジュール120が、各々が異なるマウント部1120に搭載された複数の集積回路を試験するように構成されてもよい。この複数の集積回路は単一の試験モジュール120によって生成されたデータ信号又はアドレス信号を用いて並行して試験されてもよい。
【００９３】
図１３は、本発明の実施形態に従った、試験モジュール120を使用してＩＣ130を試験する方法を例示している。これらの方法において、試験モジュール120はＡＴＥ110及びＩＣ130に接続され、ＩＣ130に特有の試験を実行するように構成される。これらの試験は、試験モジュール120が、ＡＴＥ110から試験信号を受信し、受信した試験信号に基づいて試験用アドレス及び試験用データを生成し、生成した試験信号をＩＣ130に送信し、ＩＣ130から試験結果を受信し、且つＡＴＥ110に報告を返すことを含んでいる。
【００９４】
より具体的には、ＡＴＥ取付け段階1310にて、試験モジュール120はＮチャネルインターフェース115によってＡＴＥ110に電気的に結合される。一部の実施形態において、この結合段階は、ＡＴＥ110に含まれる標準試験プローブに試験モジュール120を接続することを含む。一部の実施形態において、この結合段階は、試験モジュール120が搭載されるプリント回路基板にＡＴＥ110を結合させることを含む。
【００９５】
ＩＣ取付け段階1320にて、試験モジュール120は、例えばＩＣ130である１つ又は複数の試験対象の集積回路に電気的に結合される。この結合段階は、Ｍチャネルインターフェース125及び／又は試験用アレイ1210によって行われてもよい。例えば、一部の実施形態において、ＩＣ取付け段階1320は、試験用アレイ内のマウント部1120に複数のＩＣ130をプラグ接続することを含む。一部の実施形態において、この複数のＩＣ130は複数の記憶デバイスを含んでいる。
【００９６】
試験モジュール設定段階1330にて、試験モジュール120はＩＣ130の試験を実行するように設定される。この設定は、ＡＴＥ110と試験モジュール120との間での信号伝達に使用されるクロック周波数とは異なるような、ＩＣ130と信号伝達するためのクロック周波数の指定を含み得る。この設定は更に、ＩＣ130を試験する際に使用するために試験モジュール120内で試験用アドレス及び試験用データを生成するパラメータの指定を含むことができる。一部の実施形態において、試験モジュール120を設定することは、幾つかある選択的な所定の試験設定から１つを選択することを含む。一部の実施形態において、試験モジュール120を設定することは、試験パラメータを記憶している不揮発性メモリを試験モジュール120に結合させることを含む。一部の実施形態において、試験モジュール設定段階1330は、ＡＴＥ110から試験モジュール120に設定コマンド及びデータを伝達することを含む。これらのデータは、場合により、試験モードレジスタ212に格納される。
【００９７】
試験モジュール設定段階1330、ＩＣ取付け段階1320及びＡＴＥ取付け段階1310は、場合によって、これに代わる順序で実行される。
【００９８】
試験信号受信段階1340にて、試験モジュール120はＡＴＥ110からＮチャネルインターフェース115を介して試験信号を受信する。これらの試験信号は第１のクロック周波数で受信され、またＩＣ130用のコマンド、アドレス及び試験用データを含み得る。典型的に、受信された試験信号はＡＴＥ110の構成に依存したものである。
【００９９】
生成段階1350にて、試験モジュール120が使用され、試験信号受信段階1340にて受信した試験信号と試験モジュール設定段階1330にて指定された設定とに応じて、試験用アドレス及び試験用データが生成される。生成段階1350は、典型的に、試験用アドレスを生成するためにアドレス生成器210を使用することと、試験用データを生成するためにパターン生成ロジック214及びデータ書込みロジック216を使用することとを含む。
【０１００】
様々な実施形態において、生成段階1350は、試験信号受信段階1340にてＡＴＥ110から受信された各データ要素に対して、２、４、６、８個又は更に多くのデータ要素を生じさせる。生成段階1350は、場合により、アドレスデータに応じて試験用データを生成することを含む。例えば、偶数アドレスに格納されるデータと奇数アドレスに格納されるデータとで、生成処理が異なっていてもよい。生成された試験用データは、場合により、ＩＣ130に特定のデータパターンを生じさせるように構成される。これらのパターンには、全て１、全て０、市松模様、１ビットごとの反転、ビット対ごとの反転、交互の列、又は交互の行などが含まれ得る。
【０１０１】
試験信号送信段階1360にて、生成段階1350にて生成された試験用データが、例えばＭチャネルインターフェース125を用いて第２のクロック周波数で、試験モジュール120からＩＣ130に伝送される。第２のクロック周波数は、必要に応じて、第１のクロック周波数より速くされる。一部の実施形態において、試験信号送信段階1360は試験モジュール120からＩＣ130へのコマンド配信をスケジューリングすることを含んでいる。
【０１０２】
必要に応じての結果受信段階1370にて、例えばＭチャネルインターフェース125を介して、試験結果が試験モジュール120によってＩＣ130から受信される。これらの試験結果は試験信号送信段階1360にて送信された試験信号に応答するものである。
【０１０３】
必要に応じての報告段階1380にて、受信された試験結果は試験モジュール120によって処理され、ＡＴＥ110に報告が為される。この処理は、一部の実施形態において、生成段階1350にて用いられたデータ生成処理を逆にしたものを含む。一部の実施形態において、この処理は受信した試験結果を期待される試験結果と比較することを含む。ＡＴＥ110に提供される報告は、“合格”又は“不合格”を指し示すデータ、ＡＴＥ110によって期待されるデータ若しくはこのデータの補数、又はこれらに類するものを含むことができる。
【０１０４】
必要に応じてのＩＣ取外し段階1390にて、ＩＣ130はマウント部1120から取り外される。典型的に、ＩＣ130は試験モジュール120から分離された通常モードで動作するように設定される。試験モジュール120は別のＩＣ130を受け入れ、図１３に示された方法を各々に対して繰り返す。
【０１０５】
図１４は、本発明の実施形態に従った試験用データを生成する方法を例示している。これらの方法は、例えば、図１３の生成段階1350に含められてもよい。図示された方法において、データ生成は試験モジュール設定段階1330にて決定された試験モジュール120の設定と、ＡＴＥ110から受信されたアドレス及び試験用データとに応じたものである。
【０１０６】
入力受信段階1410にて、試験モジュール120はＡＴＥ110から試験用データ、及び必要に応じての試験用アドレスを受信する。受信された試験用データは単一ビット、８ビットバイト、１６ビットワード、一対の８ビットバイト等を含み得る。受信されたデータは、必要に応じて、例えばデータイン・レジスタ514等の入力バッファに格納される。この試験用データは第１のクロック周波数で受信される。
【０１０７】
必要に応じてのアドレスベース反転段階1420にて、入力受信段階1410にて受信されたデータの１ビットが複製される。この複製は該ビットの２つの要素（元々の要素及び新たな要素）を生じさせる。アドレスデータに応じて、２つの要素の一方又は双方が反転され、あるいは２つの要素の何れも反転されない。例えば、一部の試験モジュール120の設定において、偶数アドレスに格納されるビットコピーは反転され、奇数アドレスに格納されるビットコピーは反転されない。
【０１０８】
アドレスベース反転段階1420は、場合により、図６に例示された偶数ブロック610及び奇数ブロック615を用いて実行される。アドレスベース反転段階1420は、典型的に、入力受信段階1410にて受信されたデータの各ビットに並行して適用される。アドレスベース反転段階1420により、試験用データビット数が倍増される。
【０１０９】
パターンベース反転段階1430にて、利用可能な試験用ビットの各々が複製され、それぞれのビットの２つの要素が生成される。試験パターンに応じて、２つの要素の一方又は双方が反転され、あるいは２つの要素の何れも反転されない。例えば、一部の実施形態において、反転ブロック620及び反転ブロック625が、各ビットを複製し且つ該ビットの新たな要素を、それぞれ、ＩＮＶ０及びＩＮＶ１に応じて反転するために使用される。ＩＮＶ０及びＩＮＶ１はパターン生成ロジック214から受信される。パターンベース反転段階1430の結果は、必要に応じて、ラッチ又は例えばレジスタブロック630等のレジスタブロックに格納される。
【０１１０】
アドレスベース反転段階1420及びパターンベース反転段階1430は、場合により、異なる順序で実行される。これらの段階は一緒になって、利用可能な試験用データを４倍にする。例えば、ＡＴＥ110から受信された８ビットの試験用データにより、３２ビットの利用可能な試験用データがもたらされることになる。一部の実施形態において、更なるデータを生成するために、これらの段階の一方又は双方は更なる回数にわたって実行される。
【０１１１】
シリアル化段階1440にて、アドレスベース反転段階1420を用いて生成されたビット群は、例えばＭＵＸ535等のマルチプレクサを用いてシリアル化される。このシリアル化処理により、配列されたビットシーケンスが得られる。この配列されたシーケンスは、必要に応じて、出力シフトレジスタ524に格納される。
【０１１２】
配信段階1450にて、配列されたビットシーケンスは、例えばＩＣ130である試験中の集積回路に配信される。この配信は第２のクロック周波数で行われ、この第２のクロック周波数は必要に応じて、入力受信段階1410での第１のクロック周波数に対して異なる（速い、あるいは遅い）ものにされる。
【０１１３】
図１５は、本発明の実施形態に従った、集積回路から受信した試験結果を処理する方法を例示している。これらの実施形態において、試験結果は、例えば図１４に関連して説明されたデータ生成処理をほぼ逆にした処理に掛けられる。
【０１１４】
試験結果受信段階1510にて、試験モジュール120はＩＣ130からデータを受信する。このデータは、例えば図１３及び１４に例示された方法によって以前にＩＣ130に提供された試験用データに応答するものである。一部の実施形態において、データはＩＣ130に送信された読出しコマンドに応じて受信されてもよい。受信データは第１のクロック周波数で受信される。
【０１１５】
シリアル圧縮段階1520にて、受信データはパターン生成ロジック214から受信された反転信号に基づいて順番に圧縮される。例えば、一部の実施形態において、受信データはＩＮＶ０及びＩＮＶ１信号に応じて圧縮される。シリアル圧縮段階1520は、受信データに含まれるビット数を１／２に削減するものであり、反転ブロック620及び反転ブロック625を逆に用いて実行され得る。必要に応じてのシリアル圧縮段階1530にて、受信データはアドレス情報に応じて更に圧縮される。例えば、奇数アドレスから受信されたデータは、奇数アドレスから受信されたデータとは異なるロジックを用いて圧縮されてもよい。シリアル圧縮段階1530は、偶数ブロック610及び奇数ブロック615を逆に用いて実行されてもよく、データを更に１／２に削減する。
【０１１６】
シリアル圧縮段階1520及びシリアル圧縮段階1530は、場合によって、これに代わる順序で実行される。これらの段階は一緒になって、受信データを１／４に圧縮する。例えば、ＩＣ130から３２ビットが受信される場合、これらの段階は８ビットの圧縮データを生じさせることになる。より大きい圧縮率を達成するため、これらの段階の何れかが繰り返されてもよい。
【０１１７】
報告段階1540にて、シリアル圧縮段階1520及びシリアル圧縮段階1530を用いて生成された圧縮データがＡＴＥ110に伝達される。この伝達は、必要に応じて、第１のクロック周波数とは異なるクロック周波数で行われる。
【０１１８】
図１６は、本発明の実施形態に従った、集積回路から受信した試験結果を処理する代替方法を例示している。これらの実施形態においては、試験結果は期待される結果と比較され、この比較の出力がＡＴＥ110への伝達に使用される。この比較は、ＩＣ130から受信されたときのデータを用いて、ＩＣ130から受信されて１つの圧縮段階（例えば、シリアル圧縮段階1520又はシリアル圧縮段階1530）に従った後のデータを用いて、あるいはＩＣ130から受信されて２つ以上の圧縮段階に従った後のデータを用いて行われることができる。ＡＴＥ110への伝達は、“合格”又は“不合格”を指し示す値を含むこともできるし、それに代えてＡＴＥ110によって期待されるデータを含むこともできる。
【０１１９】
試験結果受信段階1610にて、試験モジュール120はＩＣ130からデータを受信する。このデータは、例えば図１３及び１４に例示された方法によって以前にＩＣ130に提供された試験用データに応答するものである。一部の実施形態において、データはＩＣ130に送信された読出しコマンドに応じて受信されてもよい。受信データは第１のクロック周波数で受信される。
【０１２０】
期待結果アクセス段階1620にて、試験モジュール120は期待される結果にアクセスする。期待される結果は、試験結果受信段階1610にて受信されたデータが期待される結果との比較に先立って圧縮されるか否かに応じて異なり得るものである。例えば、受信データが如何なる圧縮にも先立って比較される場合、期待される結果は、例えば報告段階1380又は配信段階1450にて試験モジュール120からＩＣ130に送信されるデータの複製とし得る。この複製は試験モジュール120内に前もって格納されていてもよく、あるいは必要時に期待結果アクセス段階1620の一部として再生成されてもよい。他の一例においては、受信データが１つ又は複数の圧縮段階後に比較される場合、期待される結果は、図１４に例示された方法の適当な段階におけるデータの複製とし得る。この複製は前もって保存されていてもよく、あるいは、例えば入力受信段階1410にてＡＴＥ110から元々受信したデータからオンザフライで再生成されてもよい。
【０１２１】
一部の実施形態において、期待結果アクセス段階1620は、期待される結果をＡＴＥ110から受信することを含む。例えば、期待される結果は試験ＤＱ208及びこの処理特有のコマンドを用いてＡＴＥ110から試験モジュール120にロードされてもよい。これらの実施形態は、ＩＣ130から受信された結果がＩＣ130に送信されたものと異なると予期される場合に有利になり得る。一部の実施形態において、ＡＴＥ110から試験モジュール120に期待結果をロードすることは、特有の期待結果ロードコマンド又は専用の入力を用いることを含む。
【０１２２】
比較段階1630にて、比較ユニット550が使用され、期待結果アクセス段階1620にてアクセスされた期待される結果が、ＩＣ130から受信されたデータ（又はその圧縮版）と比較される。
【０１２３】
報告段階1640にて、比較段階1630にて為された比較の出力がＡＴＥ110との信号伝達のために使用される。一部の実施形態において、この出力は“合格”を指し示す値がＡＴＥ110に送信されるべきか“不合格”を指し示す値がＡＴＥ110に送信されるべきかを決定するために使用される。一部の実施形態において、期待されるデータがＩＣ130から受信されたことを比較段階1630の出力が指し示す場合、期待されるデータの複製がＡＴＥ110に送信され、期待されるデータがＩＣ130から受信されなかったことを比較段階1630の出力が指し示す場合、期待されるデータの補数がＡＴＥ110に送信される。
【０１２４】
図１５及び１６に例示された方法は、必要に応じて、様々な組み合わせで用いられる。例えば、１つの比較段階の後に期待されるデータとの比較が行われてもよい。ＩＣ130からＡＴＥ110に提供される報告は、必要に応じて、試験モジュール120によってＩＣ130から受信されたデータとは異なる周波数で提供される。
【０１２５】
図１７は、本発明の実施形態に従ったアドレスデータを生成する方法を例示している。これらの方法は、例えば、アドレス生成器210を用いて実行され得る。
【０１２６】
行カウンタ設定段階1710にて、試験モジュール120内で行カウンタの初期値が設定される。この初期値は試験ＤＱ208とコマンド制御器204における適当なコマンドとを用いて試験モジュール120にロードされ得る。他の例では、この初期値は、該初期値が事前にロードされた不揮発性メモリを試験モジュール120に結合させることによって試験モジュール120にロードされてもよい。一部の実施形態において、試験用の初期データが格納されるＩＣ130内のメモリアドレスを指し示すように、行の初期値が設定される。
【０１２７】
列カウンタ設定段階1720にて、試験モジュール120内で列カウンタの初期値が設定される。この段階は行カウンタ設定段階1710と同様にして実行され得る。一部の実施形態において、試験用の初期データが格納されるＩＣ130内のメモリアドレスを指し示すように、列の初期値が設定される。
【０１２８】
行カウント方向設定段階1730にて、試験モジュール120内で行カウント方向が設定される。この段階は行カウンタ設定段階1710と同様にして実行され得る。カウント方向は、カウントアップの場合には“正”、カウントダウンの場合には“負”とすることができる。
【０１２９】
列カウント方向設定段階1740にて、試験モジュール120内で列カウント方向が設定される。この段階は行カウンタ設定段階1710と同様にして実行され得る。カウント方向は、カウントアップの場合には“正”、カウントダウンの場合には“負”とすることができる。
【０１３０】
行ＬＳＢ設定段階1750にて、行カウントに関するＬＳＢ（最下位ビット）が設定される。この段階は行カウンタ設定段階1710と同様にして実行され得る。ＬＳＢはカウント処理にて最初に変更されることになるビットである。最低値のビットがＬＳＢである場合、カウントは１ずつ行われることになる。次のビットがＬＳＢとして設定される場合、カウントは２ずつ行われることになり、更に次のビットがＬＳＢとして設定される場合、カウントは４ずつ行われることになり、その更に次なども同様である。
【０１３１】
列ＬＳＢ設定段階1760にて、列カウントに関するＬＳＢが設定される。この段階は行カウンタ設定段階1710と同様にして実行され得る。行カウント段階1770にて、段階1710、1730及び1750で設定された値に応じて行アドレスが変更される。列カウント段階1780にて、段階1720、1740及び1760で設定された値に応じて行アドレスが変更される。アドレスシリアル化段階1790にて、変更された列アドレスと変更された行アドレスとが、ＩＣ130にアクセスするために使用され得る完全なアドレスを形成するようにシリアルに並べられる。
【０１３２】
様々な実施形態において、図１７に例示された段階の１つ以上は随意的なものである。例えば、デフォルト設定により、カウント方向は常に正にされてもよく、行及び／又は列のＬＳＢは常に最低値のビットにされてもよく、また行及び／又は列のカウンタの初期値は０又は１にされてもよい。
【０１３３】
図１８は、本発明の実施形態に従ったコマンドスケジューリング方法を例示している。これらの方法において、コマンドはＩＣ130への配信のために試験モジュール120によって受信される。これらのコマンドは、典型的に、試験モジュール120からＩＣ130に配信されるときとは異なる（例えば、遅い）クロック周波数でＡＴＥ110から受信される。ＩＣ130へのコマンドの配信タイミングを制御するため、コマンドは一時的に試験モジュール120に保持され、配信スケジュールに従って配信されてもよい。図１８に例示された方法により、ＩＣ130が特定の速度でコマンドを受信し、それに応答することができるかを試験モジュール120のユーザが試験することが可能になる。
【０１３４】
コマンド受信段階1810にて、試験モジュール120がＩＣ130からコマンドを受信する。受信されたコマンドは、例えば、読出しコマンド、書込みコマンド、アクティブコマンド、リフレッシュコマンド、プリチャージコマンド等を含み得る。
【０１３５】
コマンド格納段階1820にて、受信コマンドが格納される。一部の実施形態において、コマンドはＤ型フリップフロップでの一時的な保管に続いて、例えばＦＩＦＯバッファ930といったＦＩＦＯバッファに格納される。同期型Ｄ−ＦＦ920といったＤ型フリップフロップは、典型的に、第１のクロック周波数に同期がとられた第２のクロック周波数で動作する。一部の実施形態において、第２のクロック周波数は第１のクロック周波数の２倍以上である。様々な実施形態において、ＦＩＦＯバッファは４、８、１６、３２個又は更に多くのコマンドを格納するように構成される。
【０１３６】
コマンド遅延決定段階1830にて、受信されたコマンドに必要とされる遅延が決定される。この遅延量は、典型的に、第２のクロック周波数のクロックサイクル単位で測定される。この遅延量は、場合により、先に受信されたコマンドに依存する。例えば、プリチャージコマンドと読出しコマンドとの間の遅延は、読出しコマンドとプリチャージコマンドとの間の遅延と異なるものとし得る。コマンド遅延の更なる例が図１０に示されている。
【０１３７】
一部の実施形態において、コマンド遅延決定段階1830は、受信コマンドを復号化するためにコマンド復号器940を用いること、及び適切な遅延を決定するためにスケジュールカウンタ950を用いることを含んでいる。スケジュールカウンタ950は、典型的に、図１０に示されたのと同様の表で遅延時間を調べるように構成されている。このデータは、必要に応じて、試験モジュール120内、あるいは試験モジュール120にアクセス可能なメモリ内に記憶される。スケジュールカウンタ950は先行するコマンドをＦＩＦＯバッファ930から受信するように構成されている。
【０１３８】
コマンド取出し段階1840にて、ＡＴＥ110からの受信コマンドがＦＩＦＯバッファ930からポップされ、状態機械960にロードされる。
【０１３９】
遅延段階1850にて、受信コマンドは、スケジュールカウンタ950からの入力によって決定されるように、適切な遅延時間が経過するまで状態機械960内に保持される。適切な遅延時間後、配信段階1860にて、受信コマンドは試験モジュール120からＩＣ130に渡される。
【０１４０】
図１９は、本発明の実施形態に従った、複数の集積回路を試験するための試験用アレイの構成方法を例示している。これらの方法において、例えば試験用アレイ1210といった試験用アレイは、２つ以上のＩＣ130を試験することに使用されるように設定された試験パラメータをロードされる。試験パラメータは、一部の実施形態において、試験手順を含む不揮発性メモリの挿入によって試験用アレイ1210にロードされる。その他の実施形態においては、試験パラメータは、試験手順を（関連する試験パラメータとともに）試験用アレイ1210に伝達することによって試験用アレイ1210にロードされる。試験パラメータは、場合により、複数の試験モジュール120に共有された試験モードレジスタ212に格納される。
【０１４１】
ＩＣ選択段階1910にて、例えばＩＣ130といった集積回路が試験のために選択される。この選択は、例えば、特定の製造者からの特定種類の集積回路を選択することを含み得る。
【０１４２】
手順選択段階1920にて、選択された集積回路を試験するための試験手順が選択される。この試験手順は、典型的に、選択された集積回路用に、あるいは相異なる集積回路用に設定された幾つかある選択的な試験手順の１つである。選択的な試験手順の各々は一組の試験パラメータに関連付けられている。これらのパラメータは、本明細書の別の箇所で説明されるように、試験モードレジスタ212に格納され得るデータを含んでいる。これらのパラメータはまた、ＩＣ130へのコマンド配信をスケジューリングする際に使用される例えば図１０に示されたような遅延データを含んでいてもよい。
【０１４３】
ＩＣ挿入段階1930にて、ＩＣ選択段階1910で選択された集積回路が１つ以上、試験用アレイ1210に挿入される。例えば、一部の実施形態において、幾つかのメモリチップが、試験用アレイ1210の複数の試験用取付けボード内の対応するマウント部1120に挿入される。
【０１４４】
手順プログラム段階1940にて、選択された試験手順を特徴付ける試験パラメータが試験用アレイ1210にロードされる。一部の実施形態において、手順をプログラムすることは、試験パラメータを含む不揮発性メモリをメモリ1220に挿入することを含む。その他の実施形態において、手順をプログラムすることは、メモリ1220が試験用アレイ1210に挿入された後に、試験パラメータをメモリ1220に信号伝達することを含む。メモリ1220は試験用アレイ1210内の複数の試験モジュール120によって共有されるように構成されている。その他の実施形態において、手順をプログラムすることは、幾つかの試験モジュール120の各々に対して、並行して、複数の付随する試験モードレジスタ212に試験パラメータがロードされるように信号伝達することを含む。
【０１４５】
必要に応じてのＩＣ試験段階1950にて、試験用アレイ1210に挿入された集積回路の１つが、自動化された試験装置と手順プログラム段階1940で試験用アレイ1210にロードされた試験パラメータとを用いて試験される。
【０１４６】
図２０は、試験モジュール120が複数のＩＣ130を並行して試験するように構成されている本発明の実施形態を例示している。これらの実施形態において、クロックドライバ220、コマンドドライバ222、アドレスドライバ224及び／又はデータインターフェース226の出力は、２つ以上のＩＣ130に並行して提供される。例えば、データインターフェース226の生成データ出力（例えば、ＤＱ［０：３１］）は、４つの別個のＩＣ130の間で分割され、第１のＩＣ130がＤＱ［０：７］を受け取り、第２のＩＣ130がＤＱ［８：１５］を受け取り、第３のＩＣ130がＤＱ［１６：２３］を受け取り、そして第４のＩＣ130がＤＱ［２４：３１］を受け取ってもよい。クロックドライバ220、コマンドドライバ222及び／又はアドレスドライバ224の出力もまた、各ＩＣ130が典型的にこれらの要素から同一データを受信するように、４つの別個のＩＣ130の各々に分散される。
【０１４７】
一部の実施形態において、図２０に例示された複数のＩＣ130の各々は同一の電子デバイス内に配置されている。例えば、各ＩＣ130はＳｉＰ内の別個のメモリチップであってもよい。他の例では、図２０に例示された複数のＩＣ130の各々は別個の電子デバイスに配置されていてもよい。例えば、複数のＩＣ130の各々は、試験用アレイ1210内の別々の試験用取付けボード1110に取り付けられる。図２０に例示された試験モジュール120の実施形態において、ＡＴＥ110は、試験モジュール120を用いない場合に１つのＩＣ130を試験するのに要することになる時間内に、２、３、４個又は更に多くのＩＣ130を試験するように使用されることができる。さらに、２つ以上のＩＣ130が並行して試験される場合であっても、試験はＡＴＥ110のクロック周波数より高いクロック周波数で行われることができる。
【０１４８】
図２１は、全体として2100で示された、ＩＣ130からのデータの読み出し後のシリアル圧縮にて使用されるロジックを例示している。シリアル圧縮は、ＡＴＥ110から受信する期待データと、パターン生成ロジック214から受信する必要に応じてのデータスクランブル情報とを用いて達成される。期待されるデータは、場合により、試験データ（ＴＤＱ）と同時にＡＴＥ110から試験モジュール120に伝達される。一部の実施形態において、期待されるデータは１つ以上の付加的なデータピンを介して伝達される。例えば、一部の実施形態において、Ｎチャネルバス115は、期待データを伝えるように構成された試験モジュール120のピンへの２つの接続を含んでいる。一部の実施形態において、期待データはコマンドピンを介して多重化される。これらの実施形態は、ＤＤＲメモリや、コマンドに続いて追加クロックサイクルを含むその他のデバイスの試験に適用され得る。
【０１４９】
図２１に例示されたロジック2100によって実行される圧縮は、圧縮に使用されるビット群が逐次的に受信・処理される点、及び圧縮が２つのステージで行われる点でシリアルなものである。ロジック2100が適用される第１ステージは、部分的に、受信される最初のデータが偶数アドレスからであるか奇数アドレスからであるかに依存し、このロジックが適用される第２ステージは、部分的に、隣接するビット対からの結果に依存する。第１ステージには、全体として2110A及び2110Bで示された二組に分割され、且つ期待データと受信した実際のデータとに依存する出力を生成するように構成された論理ゲート群2120が含まれている。期待されるデータはイネーブルマッチ（enable  match）値ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０で表されている。ＥＭ００は期待される出力“０”を有するイネーブルマッチ“０，０”であり、ＥＭ１１は期待される出力“１”を有するイネーブルマッチ“１，１”であり、ＥＭ０１は期待される出力“０”を有するイネーブルマッチ“０，１”であり、そしてＥＭ１０は期待される出力“１”を有するイネーブルマッチ“１，０”である。典型的に、ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０入力は、ＡＴＥ110からの期待データにて受信されたときに、これらの値を論理ゲート2120内のナンド（ＮＡＮＤ）、アンド（ＡＮＤ）又はオア（ＯＲ）ゲートの入力に与えることによって使用される。ＥＭ０１又はＥＭ１０は、奇数ビットの反転がオン状態である場合に真（true）であり、ＥＭ００又はＥＭ１１は奇数ビットの反転がオフ状態であるときに真である。
【０１５０】
実際に受信されたデータはＤＲｅ０、ＤＲｏ０、ＤＲｅ１及びＤＲｏ１（ＤＲは読出しデータ）と表されている。ＤＲｅ０は偶数アドレスから読み出された第１の実際のビット値であり、ＤＲｏ０は奇数アドレスから読み出された第１の実際のビット値である。そしてＤＲｅ１は偶数アドレスから読み出された第２の実際のビット値であり、ＤＲｏ１は奇数アドレスから読み出された第２の実際のビット値である。
【０１５１】
論理ゲートの組2110Aは２つのビット（ＤＲｅ０及びＤＲｏ０）を処理するように構成されており、論理ゲートの組2110Bは２つのビット（ＤＲｅ１及びＤＲｏ１）を処理するように構成されている。図示された例において、論理ゲート2120は４ビット全体を処理するように構成されている。典型的な実施形態において、論理ゲートの組2110A及び2110Bは、交互のクロックサイクルで順番に使用される。故に、第１のクロックサイクルで２つのビットが処理され、第２のクロックサイクルで２つのビットが処理される。論理ゲートの組2110A及び2110Bの各々はイネーブルマッチ値ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０を用いて２ビットを１ビット（それぞれ、ＤＲ０及びＤＲ１）に圧縮するように構成されている。
【０１５２】
ＭＵＸ2130Aは論理ゲートの組2110A内の論理ゲート群2120の出力の１つを選択するように構成されており、ＭＵＸ2130Bは論理ゲートの組2110B内の論理ゲート群2120の出力の１つを選択するように構成されている。これらの選択は、ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０の値の何れが真であるかに依存する。この選択により、論理ゲートの組2110A及び2110Bの各々に対して、例えばＤＲ０及びＤＲ１である単一ビットの結果が生成される。
【０１５３】
図２１に例示されたシリアル圧縮ロジック2100の第２ステージは、全体として2110Cで示された論理ゲートの第３の組を含んでいる。これらの論理ゲート群2140は、ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０、並びにＤＲ０及びＤＲ１に応答する。論理ゲートの組2110Cは、このシリアル圧縮ロジックの第１ステージの２つの結果（ＤＲ０及びＤＲ１）を比較するように構成されている。これらの結果の各々はそれ自体、一対のビット間の比較結果であるので、第２ステージの出力は４つの入力ビットの状態に依存する。各論理ゲート2140の出力はＭＵＸ2130Cによって受信され、ＭＵＸ2130Cはこれらの出力から、ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０に応じて、図２１に例示された圧縮ロジックの出力ＴＤＲとなるべき１つを選択する。
【０１５４】
図２１に例示されたシリアル圧縮ロジック2100は４対１の圧縮率をもたらす。期待されるデータの値ＥＭ００、ＥＭ１１、ＥＭ０１及びＥＭ１０の各々は２対１の圧縮を可能にする。故に、これらの期待値を２つの論理ステージで用いることにより、二度の２対１の圧縮が実現されることができ、それにより４対１というシステムの圧縮率がもたらされる。これら２つの論理ステージはまた、この圧縮が、データが読み出されたアドレスの最下位ビットが奇数であるか偶数であるかと、奇数（又は偶数）のビットが反転されたかとに依存することを可能にする。４対１の圧縮率は単一の論理ステージでも実現可能であろうが、その場合には典型的に、４つより多い期待データ値が必要とされることになるか、あるいはアドレスが奇数であったか偶数であったか又はビットが反転されたかに依存しなくなる。代替的な実施形態においては、単一の論理ステージでの圧縮及び／又は更に高い圧縮率を実現するため、４つより多い期待データ値が使用される。
【０１５５】
図２２Ａ及び２２Ｂは、図２１の圧縮ロジックの適用を例示している。図２２Ａにおいて、表2210Aは入力ＴＤＱ（０−３）2220が如何にしてＴＤＱ出力2260をもたらすかを示している。この出力の値は、入力値、最初のデータビットが偶数アドレスからのものであるか否か（ＬＳＢは０であるか否か）2230、システムは（偶数又は奇数のビットが反転されるモード2240Bとは対照的な）ビット反転を用いないデフォルトモード2240Aで動作しているかどうか、並びにＥＭ００及びＥＭ１１の値に応答する。表2210Aに示された値はデフォルトモード2240Aでの結果を表しており、表2210Bに示された値は奇数ビットが反転されるモードでの結果を表している。
【０１５６】
図２３は、全体として2300で示された、ＩＣ130からの受信データのパラレル圧縮にて使用されるロジックを例示している。ロジック2300は、例えば、３２対８のデータ圧縮を実現するように構成されることができる。ロジック2300の第１ステージ2340において、図２１に関連して説明されたデータを圧縮するために一連のロジック2100（図２１）が使用される。上述のように、ロジック2100の各々は逐次的にビットを受信・圧縮する。第１ステージ2340において、このシリアル圧縮が幾つか（例えば、８、１６、３２、６４個又は更に多く）のロジック2100によって並行して実行される。各ロジック2100の出力は、スキーム2320から受け取ったクロスバー多重化スキームに基づくパラレル圧縮を実行するように構成されたMUX2310によって受信される。スキーム2320は所望の圧縮スキームを反映するようにプログラムされたバッファである。
【０１５７】
この所望の圧縮スキームは、必要に応じて、試験データ（ＴＤＱ）と同時にＡＴＥ110から試験モジュール120に伝達される。一部の実施形態において、期待されるデータは１つ以上の付加的なデータピンを介して伝達される。例えば、一部の実施形態において、Ｎチャネルバス115は、圧縮スキームを伝達するように構成された試験モジュールのピンへの２、３、４個又は更に多くの接続を含んでいる。一部の実施形態において、圧縮スキームはコマンドピンを介して多重化される。一部の実施形態において、圧縮スキームはパターン生成ロジック214から受信される。
【０１５８】
ＭＵＸ2310はプログラマブル・ゲートアレイ、又は例えばクロスバー多重化スキーム等の論理演算を実行するための技術的に知られたその他の回路とし得る。ＭＵＸ2310はハードコードされるか、あるいはソフトウェア又はファームウェアを用いてプログラムされるかし得る。様々な実施形態において、ＭＵＸ2310は１６対８、３２対８、６４対８、１２８対８、３２対１６、６４対１６、１２８対１６、又は１２８ビットより多くを伴う同様の圧縮スキームを実行するようにプログラムされてもよい。
【０１５９】
ＭＵＸ2310の出力は出力バッファ2330によって受信される。出力バッファ2330は、８、１６、３２ビット又は更に多くのビットを含み得る圧縮データを受信するように構成されている。一部の実施形態において、出力バッファ2330はデータアウト・レジスタ516を含んでいる。
【０１６０】
図２４は、本発明の実施形態に従ったデータ圧縮方法を例示している。この方法において、ＩＣ130から受信されたデータは図２１及び２３に例示されたロジックを用いて圧縮される。必要に応じてのＡＴＥ取付け段階2410にて、試験モジュール120がＡＴＥ110に取り付けられる。ＩＣ取付け段階2420にて、ＩＣ130が試験モジュール120に取り付けられる。受信段階2430にて、試験用データが試験モジュール120によってＩＣ130内のアドレスから受信される。圧縮段階2440にて、圧縮データを生成するように受信データが圧縮される。この圧縮は、場合により、図２１及び２３に例示されたロジックを用いて実行される。この圧縮はまた、場合により、期待されるデータ、ＩＣ130のアドレス、及び／又は或る一定のビットが反転されるモードに依存したものにされる。この反転は１ビットごと（例えば、偶数ビット又は奇数ビット）の反転、又は対ごとの反転（例えば、２ビットは反転されず、２ビットは反転され、２ビットは反転されず、・・・等）を含んでいてもよい。提供段階2450にて、圧縮されたデータがＡＴＥ110に提供される。
【０１６１】
ここでは、幾つかの実施形態が具体的に図示され、且つ／或いは説明された。しかしながら、認識されるように、本発明の意図及び範囲を逸脱することなく、上述の教示及び添付の特許請求の範囲に含まれる改良及び変更が為され得る。例えば、一部の実施形態において、試験モジュール120の全て又は一部は脱着可能モジュールとしてＡＴＥ110に組み込まれる。これらの実施形態において、試験モジュール120は場合によってＡＴＥ110をアップグレードするために置換可能にされる。試験モジュール120は、場合により、ＡＴＥ110の読取りヘッドに含められる。様々な実施形態において、試験モジュール120はＡＴＥ110から長さ１０、１５、２５、５０、１００、５００、１０００、１５００、２０００又は３０００ｃｍのケーブルによって隔てられる。一部の実施形態において、試験モジュール120は場合により、ＩＣ130の修理を実行するように構成される。例えば、試験モジュール120は、ＩＣ130内のヒューズを焼き切るように、あるいはＡＴＥ110からＩＣ130に修理信号を伝達するように構成された回路を含んでいてもよい。ここでは奇数ビットの反転が説明されたが、当業者に認識されるように、等価な手法で偶数ビットの反転が行われてもよい。
【０１６２】
本発明の一部の実施形態において、試験モジュール120は電子デバイス内の複数の部品の中から試験すべき部品を選択するように構成される。例えば、試験モジュール120はＳｉＰに含まれていてもよく、ＳｉＰ内の複数の相異なるメモリの１つを試験のために選択するように構成されていてもよい。これらの実施形態において、第１の試験モジュール120はＳｉＰに含まれ、第２の試験モジュールはＡＴＥ110とＳｉＰとの間に配置されてもよい。第１の試験モジュール120は何れの回路が試験モードで試験されるべきかを選択するために使用され、第２の試験モジュール120はＡＴＥ110より高いクロック周波数でＳｉＰを試験するために使用される。
【０１６３】
ここで説明された実施形態は本発明を例示するものである。本発明のこれらの実施形態は例を参照して記載されているので、記載された方法及び／又は具体的構造の様々な改良又は適応が当業者には明らかになるであろう。本発明の教示に基づく改良、適応又は変更の全ては、本発明の意図及び範囲に含まれるものである。従って、ここでの記載及び図面は限定的なものとして解されるべきではなく、本発明は決して、例示された実施形態のみに限定されるものではない。
【図面の簡単な説明】
【０１６４】
【図１】本発明の実施形態に従った試験システムを示すブロック図である。
【図２】本発明の実施形態に従った試験モジュールを示すブロック図である。
【図３Ａ】本発明の一実施形態に従った試験モードコマンドを例示する表である。
【図３Ｂ】本発明の一実施形態に従った試験モードコマンドを例示する表である。
【図４】本発明の実施形態に従ったアドレス生成器の更なる詳細を例示する図である。
【図５】本発明の実施形態に従った、集積回路に対するデータの書込み及び読出しに使用されるデータ経路の更なる詳細を例示する図である。
【図６】本発明の実施形態に従ったデータ書込み用レジスタの更なる詳細を例示するブロック図である。
【図７Ａ】本発明の実施形態に従った、図６に示されたシステムを用いるデータ展開の幾つかの例を示す表である。
【図７Ｂ】本発明の実施形態に従った、図６に示されたシステムを用いるデータ展開の幾つかの例を示す表である。
【図８Ａ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｂ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｃ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｄ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｅ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｆ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｇ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図８Ｈ】本発明の実施形態に従った、試験モジュールから集積回路に配信されるデータパターンの一例を示す図である。
【図９】本発明の実施形態に従った、集積回路へのコマンドの配信を計画するように構成されたコマンドドライバの一実施形態を例示する図である。
【図１０】本発明の実施形態に従った、クロックサイクルに基づくコマンドスケジューリングを例示する表である。
【図１１】本発明の実施形態に従った、少なくとも１つの試験モジュールと集積回路を受け入れるように構成された少なくとも１つのマウント部とを含む試験用取付けボードを例示する図である。
【図１２】本発明の実施形態に従った、複数の試験用取付けボードを含む試験用アレイを例示する図である。
【図１３】本発明の実施形態に従った、試験モジュールを使用して集積回路を試験する方法を例示する図である。
【図１４】本発明の実施形態に従った、試験データを生成する方法を例示する図である。
【図１５】本発明の実施形態に従った、集積回路から受け取った試験結果を処理する方法を例示する図である。
【図１６】本発明の実施形態に従った、集積回路から受け取った試験結果を処理する代替方法を例示する図である。
【図１７】本発明の実施形態に従った、アドレスデータを生成する方法を例示する図である。
【図１８】本発明の実施形態に従ったコマンドスケジューリング方法を例示する図である。
【図１９】本発明の実施形態に従った、複数の集積回路を試験するための試験用アレイを構成する方法を例示する図である。
【図２０】試験モジュールが複数の集積回路を試験するように構成されている本発明の実施形態を例示する図である。
【図２１】試験される集積回路からのデータの読出し後のシリアル圧縮にて使用されるロジックを例示する図である。
【図２２Ａ】図２１のシリアル圧縮ロジックの適用を例示する表である。
【図２２Ｂ】図２１のシリアル圧縮ロジックの適用を例示する表である。
【図２３】図２１のシリアル圧縮後のパラレル圧縮にて使用されるロジックを例示する図である。
【図２４】本発明の実施形態に従った、データを圧縮する方法を例示する図である。
【図１】
2008538045.tif 000003
【図２】
2008538045.tif 000004
【図３Ａ】
2008538045.tif 000005
【図３Ｂ】
2008538045.tif 000006
【図４】
2008538045.tif 000007
【図５】
2008538045.tif 000008
【図６】
2008538045.tif 000009
【図７Ａ】
2008538045.tif 000010
【図７Ｂ】
2008538045.tif 000011
【図８Ａ】
2008538045.tif 000012
【図８Ｂ】
2008538045.tif 000013
【図８Ｃ】
2008538045.tif 000014
【図８Ｄ】
2008538045.tif 000015
【図８Ｅ】
2008538045.tif 000016
【図８Ｆ】
2008538045.tif 000017
【図８Ｇ】
2008538045.tif 000018
【図８Ｈ】
2008538045.tif 000019
【図９】
2008538045.tif 000020
【図１０】
2008538045.tif 000021
【図１１】
2008538045.tif 000022
【図１２】
2008538045.tif 000023
【図１３】
2008538045.tif 000024
【図１４】
2008538045.tif 000025
【図１５】
2008538045.tif 000026
【図１６】
2008538045.tif 000027
【図１７】
2008538045.tif 000028
【図１８】
2008538045.tif 000029
【図１９】
2008538045.tif 000030
【図２０】
2008538045.tif 000031
【図２１】
2008538045.tif 000032
【図２２Ａ】
2008538045.tif 000033
【図２２Ｂ】
2008538045.tif 000034
【図２３】
2008538045.tif 000035
【図２４】
2008538045.tif 000036
【国際調査報告】
2008538045.tif 000037
2008538045.tif 000038