(57)【要約】      （修正有）【課題】パターン生成のための内部演算をインターリーブ動作の各々に対して分析して作成しなくても、インターリーブ方式でテストパターンデータの生成が可能な半導体テストのためのパターン生成装置及びパターン生成方法を提供する。【解決手段】パターン生成装置は、異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対しては定められたデータ予測条件に適合したデータ演算だけ可能なように、データ演算を予測してコンパイルされたテストパターンプログラムを読み取るテストパターンプログラム読み取り部３１０と、テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行った後、パターンを生成する多数のアルゴリズムパターン生成部３２０ａ〜３２０ｄと、パターンを多重化し、半導体素子のテストのためのテストパターンデータを生成する多重化部３３０と、を備える。【選択図】図３
2008039784.tif 000002
【特許請求の範囲】
【請求項１】
異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なように、データ演算を予測してコンパイルされたテストパターンプログラムを読み取りするテストパターンプログラム読み取り部と、
前記テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行った後、パターンを生成する多数のアルゴリズムパターン生成部と、
前記パターンを多重化し、半導体素子のテストのためのテストパターンデータを生成する多重化部と、を備えることを特徴とする半導体テストのためのパターン生成装置。
【請求項２】
前記多数のアルゴリズムパターン生成部は、互いに論理的に連結され、前記テストパターンプログラムの各フレームの該当する前記インターリーブサイクルに対応するデータ演算を各々行い、
最後のインターリーブサイクルに対応するデータ演算結果は、最初のインターリーブサイクルに対応するデータ演算にフィードバックされることを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【請求項３】
前記アルゴリズムパターン生成部は、多数のフィールドに対して各々データ演算を行うことを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【請求項４】
前記テストパターンプログラムは、異なるフィールドを参照するデータ演算に対しては以前フレームでの前記異なるフィールドの演算結果を参照して現在フレームの各インターリーブサイクルに対応するデータ演算が前記あらかじめ定められたデータ予測条件に適合するようにデータ演算を予測してコンパイルされることを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【請求項５】
前記半導体テストのためのパターン生成装置は、テストパターンプログラム処理装置に連結され、
前記テストパターンプログラム処理装置は、
ソースコードを前記テストパターンプログラムにコンパイルするコンパイラーと、
前記ソースコードが前記あらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されたか否かを検査するテストパターンプログラム検査部と、を備えることを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【請求項６】
前記テストパターンプログラム検査部が、前記ソースコードが前記あらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されていないと判断する場合、前記コンパイラーは、コンパイルを行わないことを特徴とする請求項５に記載の半導体テストのためのパターン生成装置。
【請求項７】
前記コンパイラーは、前記ソースコードを前記インターリーブサイクルに対してあらかじめ定められたデータ予測条件を基礎にして変換し、前記テストパターンプログラムにコンパイルすることを特徴とする請求項５に記載の半導体テストのためのパターン生成装置。
【請求項８】
前記あらかじめ定められたデータ予測条件に適合したデータ演算は、次の表によって定義される演算であることを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【表１】
2008039784.tif 000004
（ここで、「Ａ」、「Ｂ」はデータフィールド、「Ｃ」は以前にコンパイルされたコード、「Ｘ」は予測できない場合を示し、「ｉｍｍ」は即時値、「/」は割り算演算子、「＊」は掛け算演算子、「＋」は足し算演算子、「−」は引き算演算子、「＆」はｂｉｔｗｉｓｅ  ＡＮＤ演算子、「I」はｂｉｔｗｉｓｅ  ＯＲ演算子、「＾」はｂｉｔｗｉｓｅ  ＸＯＲ演算子を各々示す）
【請求項９】
前記多数のアルゴリズムパターン生成部は、２個または４個であることを特徴とする請求項１に記載の半導体テストのためのパターン生成装置。
【請求項１０】
（ａ）異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なように、データ演算を予測してコンパイルされたテストパターンプログラムを読み取りする段階と、
（ｂ）前記テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行い、パターンを生成する段階と、
（ｃ）前記パターンを多重化し、半導体素子のテストのためのテストパターンデータを生成する段階と、を備えることを特徴とする半導体テストのためのパターン生成方法。
【請求項１１】
前記段階（ｂ）は、
（ｂ−１）多数のパターン生成段階が互いに論理的に連結され、前記テストパターンプログラムの各フレームの該当する前記インターリーブサイクルに対応してデータ演算を各々行う段階を備え、
前記インターリーブサイクルの最後のインターリーブサイクルに対応するデータ演算結果は、最初のインターリーブサイクルに対応するデータ演算にフィードバックされることを特徴とする請求項１０に記載の半導体テストのためのパターン生成方法。
【請求項１２】
前記段階（ｂ）は、
（ｂ−２）多数のフィールドに対して各々データ演算を行う段階を備えることを特徴とする請求項１０に記載の半導体テストのためのパターン生成方法。
【請求項１３】
前記テストパターンプログラムは、異なるフィールドを参照するデータ演算に対しては以前フレームでの前記異なるフィールドの演算結果を参照して現在フレームの各インターリーブサイクルに対応するデータ演算が前記あらかじめ定められたデータ予測条件に適合するようにデータ演算を予測してコンパイルされることを特徴とする 請求項１０に記載の半導体テストのためのパターン生成方法。
【請求項１４】
前記段階（ａ）の前に、
（ｄ）ソースコードを読み取りし、前記ソースコードが前記あらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されたか否かを検査する段階と、
（ｅ）前記段階（ｄ）で前記あらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されたものと判断する場合、前記ソースコードを前記テストパターンプログラムにコンパイルする段階と、をさらに備えることを特徴とする請求項１０に記載の半導体テストのためのパターン生成方法。
【請求項１５】
（ｆ）前記段階（ｄ）で前記あらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されていないものと判断する場合、前記ソースコードのコンパイルを行わない段階をさらに備えることを特徴とする請求項１４に記載の半導体テストのためのパターン生成方法。
【請求項１６】
前記段階（ｅ）は、
（ｅ−１）前記ソースコードを前記インターリーブサイクルに対してあらかじめ定められたデータ予測条件を基礎にして変換し、前記テストパターンプログラムにコンパイルする段階を備えることを特徴とする請求項１５に記載の半導体テストのためのパターン生成方法。
【請求項１７】
前記あらかじめ定められたデータ予測条件に適合したデータ演算は、次の表によって定義される演算であることを特徴とする請求項１０に記載の半導体テストのためのパターン生成方法。
【表２】
2008039784.tif 000005
（ここで、「Ａ」、「Ｂ」はデータフィールド、「Ｃ」は以前にコンパイルされたコード、「Ｘ」は予測できない場合を示し、「ｉｍｍ」は即時値、「/」は割り算演算子、「＊」は掛け算演算子、「＋」は足し算演算子、「−」は引き算演算子、「＆」はｂｉｔｗｉｓｅ  ＡＮＤ演算子、「I」はｂｉｔｗｉｓｅ  ＯＲ演算子、「＾」はｂｉｔｗｉｓｅ  ＸＯＲ演算子を各々示す）
【請求項１８】
前記インターリーブ方式は、２個または４個のパターン生成段階をインターリーブ方式で連結することを特徴とする請求項１０に記載の半導体テストのためのパターン生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体テストのためのパターン生成装置及びパターン生成方法に関し、より詳細には、テスト実行者がテストのためのソースコードを作成する際に、パターン生成のための内部演算をインターリーブ動作の各々に対して具体的に分析して作成しなくても、データ演算を予測してテストプログラムがコンパイルされ、インターリーブ方式でテストパターンデータの生成が可能な半導体テストのためのパターン生成装置及びパターン生成方法に関する。
【背景技術】
【０００２】
半導体素子のテスト装置は、製造された半導体素子の良否をテストする装置である。このような半導体素子のテスト装置は、特にメモリ素子をテストするために使われる場合が多いので、メモリ素子の開発状況、特にメモリ素子の相当部分を占めるＤＲＡＭの開発状況によって設計され開発される。
【０００３】
近年、ＤＲＡＭは、ＥＤＯ（Extended Data Output）機能を搭載したＤＲＡＭや、ＳＤＲＡＭ（Synchronous ＤＲＡＭ）、ラムバス（Rambus）ＤＲＡＭに引き続き、ＤＤＲ（Double Data Rate）ＤＲＡＭに発展している。
【０００４】
このようなＤＲＡＭをテストするためには、メモリの高速化に対応して半導体素子のテスト装置も高速化及び高精度化が要求される。また、メモリの大容量化に伴ってテスト時間が増加するようになるので、テストの速度もやはり速くならなければならない。また、小型化且つ経済的な半導体素子のテスト装置を具現することによって、テスト費用を節減することができなければならない。
【０００５】
半導体素子のテスト装置、特にそれらの中でもメモリテスト装置は、通常、メモリコンポーネントまたはＳＩＭＭまたはＤＩＭＭ構成からなるメモリモジュールをテストし検証するのに用いられる。このような半導体素子のテスト装置は、メモリモジュールまたはメモリコンポーネントが実際コンピュータシステムなどに装着されて使用される前に、メモリモジュールまたはコンポーネントに機能上の欠陥が存在するか否かを検出するようになる。
【０００６】
半導体素子のテスト装置は、大きく、ハードウェア半導体素子のテスト装置とＰＣ環境で行われるソフトウェア診断プログラムとに分けられる。しかし、ソフトウェア診断プログラムは、メモリモジュールまたはコンポーネントが実際コンピュータ上に装着されて使用される場合、メモリの状態を診断するので、半導体メモリの生産過程では、ハードウェアメモリのテスト装置を主に使用するようになる。
【０００７】
このようなハードウェア半導体素子のテスト装置は、ＡＴＥ（automatic test equipment）と呼ばれる高級仕様のテスト装置と、中級（medium range）のメモリテスト装置と、低級（low-end）のメモリテスト装置などに分けられる。
【０００８】
メモリ素子のテスト工程を行うために、通常、高級仕様のテスト装置であるＡＴＥを使用する。このような従来のＡＴＥは、ＤＣパラメータが回路のデジタル的動作に適合するか否かをテストするＤＣテストや、信号の伝達遅延時間、セットアップ時間及びホールド時間などと関連したＡＣマージンテストを含み、このためにテストパターンの生成とタイミングの生成など多様な機能を有している。しかし、メインフレームなど体積が大きく且つ高価の専用装備を使用して製作されるものであるから、製造コストが高いという短所がある。
【０００９】
図１は、従来技術に係る半導体素子のテスト装置を示す例示的なブロック図である。
図１に示されたように、従来の半導体素子のテスト装置は、パターン生成部１１０と、タイミング生成部１２０と、フォーマット制御部１３０と、ドライバ部１４０と、比較部１５０と、テスト結果格納部１６０とを備える。このような構成要素以外に、例えばＤＣテストのための電源制御部構成、クロック生成のための構成、制御のための構成、テストされる半導体素子であるＤＵＴ（device under test；被テスト素子）１８０の動作のために電源を供給する構成、ＤＵＴ１８０にテストパターンデータを中継し、ＤＵＴ１８０からテスト実行結果を受信する構成、外部からテストパターンプログラムを受信する構成、テスト結果を外部に伝送する構成などが備えられることができるが、これらに関する説明は省略する。
【００１０】
パターン生成部１１０は、テストパターンプログラムを基礎にしてＤＵＴ１８０のテストに必要なテストパターンデータを生成する。テストパターンプログラムは、例えばテストを行うために多様な形態の動作を行うインストラクションを含むように作成される。また、パターン生成部１１０は、このようなテストパターンプログラムを、例えば外部の格納装置などから受信し、これを解析し、テストパターンデータを生成する。このようなテストパターンデータは、ＤＵＴ１８０に入力されるコマンド、アドレス、及びデータなどのデータを含み、また、生成されるテストパターンデータに対応してテスト期待値データが生成される。
【００１１】
タイミング生成部１２０は、パターン生成部１１０で生成されたテストパターンデータを多様な形態の波形に変換するための基準となるタイミングエッジを生成する。このようなタイミングエッジは、円滑な波形変換のために多数のクロックを用いて生成される。
【００１２】
フォーマット制御部１３０は、テストパターンデータをタイミングエッジを基礎にして変換し、所望の波形に変換する。
【００１３】
ドライバ部１４０は、変換されたテスト波形をＤＵＴ１８０に伝送するための構成である。
【００１４】
比較部１５０は、ＤＵＴ１８０に印加されたテスト波形によってＤＵＴ１８０の動作が行われた後に、ＤＵＴ１８０から出力されたテスト実行データとパターン生成部１１０で生成されるテスト期待値データとを比較し、ＤＵＴ１８０のテストを行う。
【００１５】
テスト結果格納部１６０は、比較部１５０の結果を基礎にしてテスト結果を格納する。例えば不良が発生したメモリ素子に関する情報を格納する。
【００１６】
前述したように、このような従来のＡＴＥは、非常に高価の装備であるから、半導体製造社の観点から生産費用を最小化し、競争力を高めるためには、このような高価のＡＴＥを効率的に設計することが好ましい。このような半導体素子のテスト装置、特にＡＴＥを効率的に設計するためには、テストパターンの生成機能を最適化することが必要である。
【００１７】
特に高速で動作する半導体素子のテストを行うためには、テストパターンデータの生成もやはりこのような半導体素子の動作に対応して生成されなければならない。しかし、テストパターンデータを生成するパターン生成部１１０は、一般的に低速で動作するプログラム可能なロジック素子、例えばＦＰＧＡなどを使用して具現する場合が多い。したがって、パターン生成部１１０の具現において、アルゴリズムパターン生成部（algorithm pattern generator；ＡＬＰＧ）を多数個使用して高速で動作する半導体素子のテストパターンを生成する方式、すなわちインターリーブ（interleave）方式を使用する場合が存在する。
【００１８】
このようなパターン生成部１１０は、本願発明の明細書においてパターン生成装置（pattern generator）とも呼ばれる。
【００１９】
このような多数のアルゴリズムパターン生成部を利用したパターン生成装置については、例えば安藤電気株式会社によって１９９６年１１月２６日付けで出願され、１９９９年６月１９日付けで登録された「パターン発生回路」という名称の大韓民国特許登録第１０−２２０２０１号公報（特許文献１）または株式会社アドバンテストにより１９９７年１月１４日付けで出願され、１９９９年１１月１４日付けで登録された「半導体試験装置」という名称の大韓民国特許登録第１０−２４２６０４号公報（特許文献２）に開示されている。
【００２０】
図２は、従来技術に係るパターン生成装置を示す例示的なブロック図である。
図示のように、従来のパターン生成装置は、シーケンス制御部２１０と、多数のアルゴリズムパターン生成部２２０ａ乃至２２０ｄと、多重化部２３０と、を備える。これら以外に、テストパターンプログラムを格納するためのインストラクションメモリなどの構成要素をさらに備えることができるが、これらについての図示及び説明を省略する。
【００２１】
シーケンス制御部２１０は、テストパターンプログラムのインストラクションをフェッチ（fetch）し、インストラクションポインタ（Instruction pointer；ＩＰ）を各アルゴリズムパターン生成部２２０ａ乃至２２０ｄに伝達する。
【００２２】
アルゴリズムパターン生成部２２０ａ乃至２２０ｄは、シーケンス制御部２１０でフェッチされたインストラクションポインタを基礎にして自身に指定されたデータ演算を行い、出力する。
【００２３】
出力されるデータは、例えば前述したテストパターンデータをなす、ＤＵＴに入力されるコマンド、アドレス、データなどのデータを含み、また生成されるテストパターンデータに対応してテスト期待値データが生成されることができる。但し、アルゴリズムパターン生成部２２０ａ乃至２２０ｄの各々は、低速で動作する素子を使用して具現されるので、このような低速で動作する素子の出力データをＤＵＴに適合した形態に印加するための構成が必要である。
【００２４】
多重化部２３０は、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄの演算出力、例えばＡ１乃至Ａ４を多重化、すなわち直列化（serialize）し、ＤＵＴに適合したテストパターンデータを生成する。
【００２５】
すなわちアルゴリズムパターン生成部２２０ａ乃至２２０ｄでは、並列的にデータ演算を行い、このような並列的に行われたデータ演算結果は、以後多重化部２３０で合成され、テストパターンデータとして出力される。
【００２６】
例えば各アルゴリズムパターン生成部２２０ａ乃至２２０ｄがＦＰＧＡで具現される場合、略３００ＭＨｚまでの動作速度を有するとすれば、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄの出力は、略３００ＭＨｚ程度の動作に適合したデータである。このようなデータを多重化部２３０を介して多重化する場合、略１．２ＧＨｚの周波数で動作する半導体素子のテストのためのテストパターンデータを生成することができる。
【００２７】
このようなパターン生成装置において、“フレーム”は、アルゴリズムパターン生成部２２０ａ乃至２２０ｄの全体の動作周期を意味する。また、“サイクル”は、アルゴリズムパターン生成部２２０ａ乃至２２０ｄの各パターンラインが行われる周期を意味する。
【００２８】
例えば前述したインターリーブ方式を使用しない場合には、フレームとサイクルとは同一であるが、インターリーブ方式を使用する場合には、例えば４個のアルゴリズムパターン生成部をインターリーブ方式を用いて１つのパターン生成装置のように使用する場合、４個のサイクルが１フレームを構成する。
【００２９】
したがって、１フレームの間に各アルゴリズムパターン生成部２２０ａ乃至２２０ｄが各サイクルに対応してデータ演算を行い、これを合成してテストパターンデータを生成することができる。
【００３０】
このような従来構造に係るパターン生成装置において、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄは、ハードウェアー的に互いに区分されていて、したがって互いに独立的に動作する。しかし、たとえハードウェア的に互いに区分されるアルゴリズムパターン生成部２２０ａ乃至２２０ｄであっても、各サイクル内で互いに演算結果を予測して使用することができる場合には、アルゴリズムパターン生成部２２０ａ乃至２２０ｄの動作効率がさらに向上することができ、またたとえハードウェアー的に互いに区分されていても、１つのアルゴリズムパターン生成部として見なすことができるので、テストパターンデータを効率的に生成することができる。
【００３１】
したがって、このような理由で、パターン生成装置の各アルゴリズムパターン生成部２２０ａ乃至２２０ｄは、互いにソフトウェア的に連関するように構成する。
【００３２】
この場合、ソフトウェア的な連関性を具現することは、次のような方法が使われることができる。
【００３３】
まず、テストパターンプログラムを作成する際に、テスト実行者が各サイクルに対してアルゴリズムパターン生成部２２０ａ乃至２２０ｄの演算を各々独立的に計算するようにテストプログラムを作成し、これを多重化部で適宜組み合わせることによって、テストパターンデータを生成する。
【００３４】
このようなテスト実行者による連関関係の計算及びこれを用いた連関構成は、具現が簡単であり、連関可能なインストラクション、すなわちデータ演算に制限がないという長所がある。
【００３５】
しかし、この場合、テスト実行者は、直観的にテストパターンプログラムを作成せず、各内部の演算関係を考慮してテストプログラムを作成するので、テストプログラムの作成が難しいという短所がある。すなわちアルゴリズムパターン生成部２２０ａ乃至２２０ｄに備えられる各演算レジスタ間に連関関係がないので、テストパターンプログラムを作成するユーザが関連した全てのサイクルのデータ演算を独立的に計算しなければならないなので、これを考慮してテストパターンプログラムを作成する複雑な作業が行わなければならないという短所がある。
【００３６】
また、テストパターンプログラムのコンパイルにおいてテスト実行者が作成したテストプログラムの演算をサイクル単位であらかじめ予測し、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄで連関関係を有するように変換してコンパイルすることができる。この場合、テスト実行者は、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄを１つのアルゴリズムパターン生成部として見なして、テストパターンプログラムを作成することができる。
【００３７】
例えばテスト実行者が作成したテストパターンプログラムの演算コードに直接コンパイルするものでなく、各アルゴリズムパターン生成部２２０ａ乃至２２０ｄが行うべき演算を以前サイクルと現在サイクルなどサイクル単位で予測し、予測結果を基礎にして新しい演算コードに変換してコンパイルを行い、アルゴリズムパターン生成部２２０ａ乃至２２０ｄは、このような方式で変換されたテストパターンプログラムを基礎にして演算を行う。この場合、テスト実行者のテストパターンプログラムの作成は簡便であるが、ハードウェア的な具現が難しく、また使用できるインストラクションに制限があるという短所がある。
【００３８】
この場合、特にテストパターンデータを生成するために多数のフィールドを利用したデータ演算を行う場合には、データ演算を予測して変換するのに適合した、すなわち使用できるインストラクションの個数がさらに制限され、また多数のフィールドを利用するので、以前フレームのサイクルにおいての演算コードと現在フレームのサイクルにおいての演算コードとの間に、制限されるインストラクションの個数が多くなる。
【００３９】
【特許文献１】大韓民国特許登録第１０−２２０２０１号公報
【特許文献２】大韓民国特許登録第１０−２４２６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００４０】
本発明の目的は、テスト実行者がテストのためのソースコードを作成する際に、パターン生成のための内部演算をインターリーブ動作の各々に対して具体的に分析して作成しなくても、データ演算を予測してテストプログラムがコンパイルされ、インターリーブ方式でテストパターンデータの生成が可能な半導体テストのためのパターン生成装置及びパターン生成方法を提供することにある。
【課題を解決するための手段】
【００４１】
上記目的を達成するために、本発明の一態様に係る半導体テストのためのパターン生成装置は、異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なように、データ演算を予測してコンパイルされたテストパターンプログラムを読み取りするテストパターンプログラム読み取り部と、前記テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行った後、パターンを生成する多数のアルゴリズムパターン生成部と、前記パターンを多重化し、半導体素子のテストのためのテストパターンデータを生成する多重化部と、を備える。
【００４２】
また、本発明の他の態様に係る半導体テストのためのパターン生成方法は、（ａ）異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なように、データ演算を予測してコンパイルされたテストパターンプログラムを読み取りする段階と、（ｂ）前記テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行い、パターンを生成する段階と、（ｃ）前記パターンを多重化し、半導体素子のテストのためのテストパターンデータを生成する段階と、を備えることを特徴とする。
【発明の効果】
【００４３】
本発明によれば、テスト実行者がテストのためのソースコードを作成する際、パターン生成のための内部演算をインターリーブ動作の各々に対して具体的に分析して作成しなくても、データ演算を予測してテストプログラムがコンパイルされ、インターリーブ方式でテストパターンデータの生成が可能である。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の半導体テストのためのパターン生成装置及びパターン生成方法を添付の図面を参照してさらに具体的に説明する。
【００４５】
図３は、本発明に係る半導体テストのためのパターン生成装置を示す例示的なブロック図である。
図３に示されたように、本発明に係る半導体テストのためのパターン生成装置は、テストパターンプログラム読み取り部３１０と、多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄと、多重化部３３０と、を備える。
【００４６】
テストパターンプログラム読み取り部３１０は、テストパターンプログラムを読み取りする。
【００４７】
テストパターンプログラムは、例えば本発明に係る半導体テストのためのパターン生成装置に連結されるテストパターンプログラム処理装置から生成される。
【００４８】
テストパターンプログラム処理装置は、例えば通信ネットワークを介して本発明に係る半導体テストのためのパターン生成装置に連結され、テスト実行者がテストを行うためのソースコードを作成し、これをコンパイルしてテストパターンプログラムを生成できるように具現された装置である。
【００４９】
好ましくは、本発明に係る半導体テストのためのパターン生成装置を備えた半導体素子テスト装置には、テストパターンプログラム処理装置が備えられることができる。また、半導体素子テスト装置とは別途にテストパターンプログラム処理装置が備えられることもできる。
【００５０】
テストパターンプログラムは、異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なようにデータ演算を予測してコンパイルされることを特徴とする。
【００５１】
すなわち従来の場合、テストパターンプログラムが、同じフレーム内だけでなく、異なるフレームに対しても互いにデータ予測を基礎にしてインターリーブを具現するように構成されている。しかし、このような方式は、以前フレームの最後のインターリーブサイクルに対応するデータ演算コードと現在フレームの最初のデータ演算コードまでも互いにデータ予測を基礎にしてインターリーブを具現するので、異なるフレームに対するデータ演算に関連して使用することができるインストラクション、すなわちデータ演算が制限される場合が多いという短所があった。
【００５２】
しかし、このような本発明に係る半導体テストのためのパターン生成装置では、テストプログラムが異なるフレームに対しては全てのデータ演算が制限なく可能であり、且つ同じフレーム内のインターリーブサイクルに対してはあらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なように、データ演算を予測してコンパイルするので、データ演算の制限は、同じフレーム内の各インターリーブサイクルだけに対して存在する。したがって、予測によるインターリーブ実行に制限されるデータ演算は、以前の方式に比べて減少するようになる。
【００５３】
このようなテストパターンプログラムを例えばインストラクションメモリなどに格納後に、テストパターンプログラム読み取り部３１０は、テストパターンデータを生成するために読み取りする。
【００５４】
このような読み取りは、例えばシーケンス制御などを通じてテストパターンプログラムからテストパターンデータの生成のためのインストラクションをフェッチしたり、データをフェッチするなどの過程を含む。
【００５５】
多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄは、テストパターンプログラムを基礎にしてインターリーブ方式でデータ演算を行った後にパターンを生成する。アルゴリズムパターン生成部３２０ａ乃至３２０ｄは、４個を含むように示されているが、２個を備えることもでき、または３個を備えることもできる。しかし、効率的にインターリーブを行うためには、２個または４個を備えることが好ましい。
【００５６】
インターリーブ方式は、テストパターンプログラムで各フレームを基礎にして行われる。すなわち各フレームには、アルゴリズムパターン生成部３２０ａ乃至３２０ｄの個数に対応するインターリーブサイクルが含まれ、アルゴリズムパターン生成部３２０ａ乃至３２０ｄの各々は、自身に該当するインターリーブサイクルに対応するデータ演算を並列的に各々行う。このような方式で、多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄの各々は、たとえ互いにハードウェアー的に区分されるように構成されても、ソフトウェア的に、すなわち論理的に互いに連結され、インターリーブ方式を具現することができる。
【００５７】
この場合、図示のように、最後のインターリーブサイクルに対応するデータ演算結果は、最初のインターリーブサイクルに対応するデータ演算にフィードバックされたる。このようなフィードバックを通じて各フレームは互いに連関されることができ、このような連関関係の構成を通じてフレーム間にはデータ演算を予測するにあたって制約条件がないように具現が可能である。すなわち従来の場合、フレームとフレームとの間に予測によるインターリーブ方式においてデータ演算が制限される場合があるのに対し、本発明に係るパターン生成装置の場合、このようなデータ演算の制限は、フィードバックを通じて解消することができる。
【００５８】
また、多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄの各々は、図示のように、多数のフィールド、例えばフィールドＡ及びフィールドＢに対して各々データ演算を行うことができる。この場合、フィールドＢに対するデータ演算結果は、フィールドＡに対するデータ演算に影響を与えることができる。
【００５９】
このような多数のフィールドに対する演算のために、アルゴリズムパターン生成部３２０ａ乃至３２０ｄの各々は、多数の演算レジスタを含むことができ、この場合、同じフレーム内での各インターリーブサイクルに対するデータ演算は、多数の演算レジスタにおいて各々多数のフィールドに対して並列的に行われる。
【００６０】
この場合、本発明に係る半導体テストのためのパターン生成装置に使われるテストパターンプログラムは、フィールドＡまたはフィールドＢの各々に対する演算が同じフレーム内では各インターリーブサイクル毎に連関されるように予測してコンパイルされる。
【００６１】
しかし、仮に例えばフィールドＡに対するデータ演算においてフィールドＢを参照する場合には、次のように行われる。フィールドＡでのデータ演算を行う時、フィールドＢに対するデータ演算結果を参照するためには、以前フレームでのフィールドＢに対するデータ演算結果を現在フレームでのフィールドＡに対するデータ演算で参照する。このような以前フレームの結果を参照することによって、現在フレームでの各インターリーブサイクルでは、あらかじめ定められたデータ予測条件に適合するようにデータ演算を予測して実行が可能であり、テストパターンプログラムは、このような異なるフィールドを参照する演算に対して以前フレームを参照するようにコンパイルされる。
【００６２】
すなわち図示のように、アルゴリズムパターン生成部３２０ａの場合、フィールドＢに対して演算を行い、Ｂ１値が出力され、これは、次のフレームでフィールドＡで参照して演算され、Ａ１値が出力される。また、多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄの出力Ａ１乃至Ａ４は、以後多重化され、テストパターンデータとして出力される。
【００６３】
このように同じフィールド内での演算の場合はもちろん、同じフィールドでなく、異なるフィールドのデータを参照する場合でも、異なるフィールドの現在フレームでの値でなく、以前フレームでの演算結果を参照することによって、少なくとも連関関係を通じた予測では、現在フレーム、すなわち同じフレーム内で連関関係を有するように具現することができる。このような同じフレームでの連関関係の具現は、現在フレームに適用可能なインストラクション、すなわちデータ演算の制限を減少させることができる。
【００６４】
図４は、本発明に係る半導体テストのためのパターン生成装置において多数のフィールドに対する動作を説明する図である。
図４には、テストパターンプログラム読み取り部によって読み取りされたテストパターンプログラムの各シーケンスと、シーケンスに対応して多数のアルゴリズムパターン生成部、例えば４個のアルゴリズムパターン生成部に対してテスト実行者が作成したデータ演算コードが示される。また、多数のシーケンスに対して以前フレーム、現在フレーム、以後フレームが示される。
【００６５】
図４において、矢印は、各データ演算毎に影響を及ぼす関係、すなわち連関関係を示す。
図示のように、一番目のフレーム（“以前フレーム”で表示される）に対しては、４つのアルゴリズムパターン生成部の各々でフィールドＡに対しては“Ａ＝Ａ＋１”という演算を行うようにテスト実行者によってソースコードが作成され、同様に、フィールドＢに対しては、“Ｂ＝Ｂ＋１”という演算を行うようにテスト実行者によってソースコードが作成された。この場合、各“Ａ＝Ａ＋１”演算または“Ｂ＝Ｂ＋１”演算の結果は、図示のように、次のインターリーブサイクル、すなわち次のアルゴリズムパターン生成部の演算に影響を及ぼすようになる。
【００６６】
また、２番目のフレーム（“現在フレーム”で表示される）に対しては、４個のアルゴリズムパターン生成部の各々でフィールドＡに対しては“Ａ＝Ｂ”という演算を行うようにテスト実行者によってデータ演算コードが作成され、同様に、フィールドＢに対しては、“Ｂ＝Ｂ−１”という演算を行うようにテスト実行者によってソースコードが作成された。この場合、各“Ａ＝Ｂ”演算の結果は、図示のように、次の演算に影響を及ぼすようになり、以前フレームでのフィールドＢに対する演算の結果が、図示のように、現在フレームでのフィールドＡに対する演算に参照されて演算される。また、フィールドＢに対しては他のフィールドを参照しないため、現在フレーム内で各インターリーブサイクルに対して互いに予測を通じてデータ演算が可能に構成することができる。
【００６７】
また、３番目のフレーム（“以後フレーム”で表示される）に対しては、４つのアルゴリズムパターン生成部の各々でフィールドＡに対しては“Ａ＝Ｂ”という演算を行うようにテスト実行者によってソースコードが作成され、同様に、フィールドＢに対しては“Ｂ＝Ｂ＊２”という演算を行うようにテスト実行者によってソースコードが作成された。この場合、各“Ａ＝Ｂ”演算の結果は、図示のように、次の演算に影響を及ぼすようになり、現在フレームでのフィールドＢに対する演算の結果が、図示のように、以後フレームでのフィールドＡに対する演算に参照されて演算される。また、フィールドＢに対しては他のフィールドを参照しないため、現在フレーム内で各インターリーブサイクルに対して互いに予測を通じてデータ演算が可能に構成することができる。
【００６８】
このような図４の説明は、本発明に係るインターリーブ方式を説明するためにテスト実行者が作成したソースコードを基準としたが、これは実際本発明に係るパターン生成装置のアルゴリズムパターン生成部で実際行われる動作とは距離があり、実際動作については、以後図５を参照して説明する。
【００６９】
多重化部３３０は、多数のアルゴリズムパターン生成部３２０ａ乃至３２０ｄの出力である多数のパターンを多重化し、高速で動作する半導体素子のテストのためのテストパターンデータを生成する。
【００７０】
また、図示してはいないが、本発明に係る半導体テストのためのパターン生成装置は、前述したようにテストパターンプログラム処理装置に連結される。
【００７１】
テストパターンプログラム装置は、テスト実行者がテストを行うためのソースコードを作成し、これをコンパイルして、テストパターンプログラムを生成できるように次のような構成を含む。
【００７２】
まず、ユーザが作成したソースコードをテストパターンプログラムにコンパイルするコンパイラーを含み、また、コンパイルの際に、ソースコードがあらかじめ定められたデータ予測条件に適合したデータ演算だけで構成されたか否かを検査するテストパターンプログラム検査部を含む。
【００７３】
この場合、テストパターンプログラム検査部がソースコードがあらかじめ定められたデータ予測条件に適合したデータ演算だけで構成されたものと判断する場合には、コンパイラーは、コンパイルを行う。
【００７４】
コンパイラーは、ソースプログラムから実行可能な二進コードを生成する。本発明に係るテストパターンプログラムのコンパイルは、テスト実行者が作成したソースコードをそのままコンパイルするものでなく、これをあらかじめ定められたデータ予測条件を基礎にして変換して行うことが好ましい。
【００７５】
また、テストパターンプログラム検査部が、ソースコードがあらかじめ定められたデータ予測条件に適合したデータ演算だけで構成されるものでないと判断する場合には、コンパイラーは、コンパイルを行わず、例えばエラーメッセージを出力し、テスト実行者がソースコードをあらかじめ定められたデータ予測条件に適合したデータ演算だけで構成するように誘導する。
【００７６】
図５は、本発明に係る半導体テストのためのパターン生成装置においてテストプログラムの変換コンパイルを示す図である。
図５には、テストパターンプログラム読み取り部によって読み取りされたテストパターンプログラムの各シーケンスと、シーケンスに対応して多数のアルゴリズムパターン生成部、例えば４個のアルゴリズムパターン生成部に対してテスト実行者が作成したソースコード（“ユーザコード”で表示される）と、ソースコードを互いに連関されるように予測して変換コンパイルしたコード（“変換コンパイルされたコード”で表示される）が示される。また、多数のシーケンスに対して、以前フレーム、現在フレーム、以後フレームに対してソースコード及びこれに応じた変換コンパイルされたコードが表示される。
【００７７】
まず、“以前フレーム”内では、最初のアルゴリズムパターン生成部は、“Ａ＝Ａ＋１”演算を行い、２番目のアルゴリズムパターン生成部は、１番目のアルゴリズムパターン生成部の演算結果を受けて、“Ａ＝Ａ＋１”演算を行うものであって、ソースコードが作成されている。ソースコードは、多数のアルゴリズムパターン生成部が互いに連関されていると仮定して作成したものであるが、実際、ハードウェアー的には連関されていないので、これを変換しなければならない。
【００７８】
すなわちＡの値に対して、一番目のアルゴリズムパターン生成部は、そのまま“Ａ＝Ａ＋１”を行い、二番目のアルゴリズムパターン生成部は、一番目のアルゴリズムパターン生成部の演算結果をソフトウェア的に考慮して“Ａ＝Ａ＋２”を行い、同様に三番目のアルゴリズムパターン生成部は、“Ａ＝Ａ＋３”を行い、四番目のアルゴリズムパターン生成部は、“Ａ＝Ａ＋４”を行うようにソースコードを変換して、コンパイルし、変換コンパイルコードに対応するデータ演算を各々アルゴリズムパターン生成部で行う。
【００７９】
“現在フレーム”に対しては、以前フレームでの最後のデータ演算値を基礎にして演算が行われる。
【００８０】
この場合、一番目のアルゴリズムパターン生成部は、そのまま“Ａ＝Ａ＋８”を行い、二番目のアルゴリズムパターン生成部は、一番目のアルゴリズムパターン生成部の演算結果をソフトウェア的に考慮して“Ａ＝Ａ−４”でなく、“Ａ＝Ａ＋４”を行い、同様に三番目のアルゴリズムパターン生成部は、“Ａ＝Ａ＋１”でなく“Ａ＝Ａ＋５”を行い、四番目のアルゴリズムパターン生成部は、“Ａ＝Ａ＋１”でなく“Ａ＝Ａ＋６”を行うようにソースコードを変換してコンパイルし、変換コンパイルコードに対応するデータ演算を各々アルゴリズムパターン生成部で行う。
【００８１】
“以後フレーム”では、現在フレームでの最後のデータ演算値を基礎にして演算が行われる。
【００８２】
この場合、一番目のアルゴリズムパターン生成部は、そのまま“Ａ＝Ａ＊２”を行い、二番目のアルゴリズムパターン生成部は、一番目のアルゴリズムパターン生成部の演算結果をソフトウェア的に考慮して“Ａ＝Ａ／２”でなく“Ａ＝Ａ”を行い、同様に三番目のアルゴリズムパターン生成部は、二番目のアルゴリズムパターン生成部の演算結果をソフトウェア的に考慮して“Ａ＝Ａ＊２”を行い、四番目のアルゴリズムパターン生成部は、“Ａ＝Ａ＊２”でなく“Ａ＝Ａ＊４”を行うように、ソースコードを変換してコンパイルし、変換コンパイルコードに対応するデータ演算を各々アルゴリズムパターン生成部で行う。
【００８３】
このようなデータ演算のためのコンパイルは、同じフレーム内では以前コードと現在コード間の連関関係を考慮してソースコードを変換してコンパイルを行うことができる。しかし、このような変換コンパイルは、全てのデータ演算に適用されるものではない。
【００８４】
次の表１は、本発明に係る半導体テストのためのパターン生成装置で連関して予測可能な以前コードと現在コードとの組合及び予測されるデータ演算、すなわちあらかじめ定められたデータ予測条件を示す。
【００８５】
【表１】
2008039784.tif 000003
ここで、「Ａ」、「Ｂ」はデータフィールド、「Ｃ」は以前にコンパイルされたコード、「Ｘ」は予測できない場合を示し、「ｉｍｍ」は即時値、「/」は割り算演算子、「＊」は掛け算演算子、「＋」は足し算演算子、「−」は引き算演算子、「＆」はｂｉｔｗｉｓｅ  ＡＮＤ演算子、「I」はｂｉｔｗｉｓｅ  ＯＲ演算子、「＾」はｂｉｔｗｉｓｅ  ＸＯＲ演算子を各々示す。
【００８６】
図示のように、以前にコンパイルされたコードなどを基礎にして現在コードを変換してデータ演算を行うように構成が可能である。
【００８７】
図６は、本発明に係る半導体テストのためのパターン生成方法を示す例示的な流れ図である。
【００８８】
まず、事前用意段階としてテスト実行者がテスト実行のために作成したソースコードをテストパターンプログラムにコンパイルする（ステップＳ１１０）。
【００８９】
テストパターンプログラムは、ソースコードをそのままコンパイルするものでなく、異なるフレームに対しては制約条件無しに全てのデータ演算が可能であり、且つ同じフレーム内のインターリーブサイクルに対しては、あらかじめ定められたデータ予測条件に適合したデータ演算だけが可能なようにデータ演算を予測し、変換し、コンパイルされる。このような変換コンパイルは、図５及びこれに関する説明を参照することができる。また、この場合、あらかじめ定められたデータ予測条件は、例えば表１を参照することができる。
【００９０】
この場合、ソースコードを読み取りし、ソースコードがあらかじめ定められたデータ予測条件に適合したデータ演算だけで作成されたかを検査する段階を含むことができる。
【００９１】
当該検査結果、ソースコードがあらかじめ定められたデータ予測条件に適合しない場合には、コンパイルを行わず、例えばエラーメッセージを出力することができる。
【００９２】
また、ソースコードがあらかじめ定められたデータ予測条件に適合した場合には、変換コンパイルを行うことができる。
【００９３】
以後、テストパターンプログラムを読み取りする（ステップＳ１２０）。
すなわち例えば外部のＰＣなどを介してテスト実行者がソースコードを作成し、これをコンパイルした後には、半導体素子テスト装置に伝送し、格納し、これを読み取りし、テストを行う。
【００９４】
以後、テストパターンプログラムをインターリーブ方式でデータ演算を行い、パターンを生成する（ステップＳ１３０）。
【００９５】
このようなインターリーブ方式のパターン生成は、多数のパターン生成段階、例えば２個または４個のパターン生成段階が互いに論理的に連結され、テストパターンプログラムの各フレームの該当するインターリーブサイクルに対応してデータ演算を各々行うことができる。この場合、インターリーブサイクルの最後のインターリーブサイクルに対応するデータ演算結果は、最初のインターリーブサイクルに対応するデータ演算にフィードバックされ、フレーム間のデータ演算予測を通じた連関関係の具現において使用が制限されるデータ演算がないように構成することができる。
【００９６】
また、多数のフィールドを含むデータ演算である場合には、多数のフィールドに対して各々データ演算を行うことができる。
【００９７】
この場合、テストパターンプログラムは、他のフィールドを参照するデータ演算に対しては、以前フレームでの前述した他のフィールドの演算結果を参照して現在フレームの各インターリーブサイクルに対応するデータ演算があらかじめ定められたデータ予測条件に適合するようにデータ演算を予測し、コンパイルされる。
【００９８】
以後、パターン多重化を通じてテストパターンデータを生成する（ステップＳ１４０）。
このように成されたテストパターンデータは、以後テストされる半導体素子に伝送され、テストを行うようになる。
【００９９】
以上において説明した本発明は、本発明が属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形及び変更が可能であるので、上述した実施形態及び添付された図面に限定されるものではない。
【図面の簡単な説明】
【０１００】
【図１】従来技術に係る半導体素子テスト装置を示す例示的なブロック図である。
【図２】従来技術に係るパターン生成装置を示す例示的なブロック図である。
【図３】本発明に係る半導体テストのためのパターン生成装置を示す例示的なブロック図である。
【図４】本発明に係る半導体テストのためのパターン生成装置において多数のフィールドに対する動作を示す図である。
【図５】本発明に係る半導体テストのためのパターン生成装置においてテストプログラムの変換コンパイルを示す図である。
【図６】本発明に係る半導体テストのためのパターン生成方法を示す例示的な流れ図である。
【符号の説明】
【０１０１】
１１０  パターン生成部
１２０  タイミング生成部
１３０  フォーマット制御部
１４０  ドライバ部
１５０  比較部
１６０  テスト結果格納部
１８０  ＤＵＴ
２１０  シーケンス制御部
２２０  アルゴリズムパターン生成部
２３０  多重化部
３１０  テストパターンプログラム読み取り部
３２０  アルゴリズムパターン生成部
３３０  多重化部
【図１】
2008039784.tif 000006
【図２】
2008039784.tif 000007
【図３】
2008039784.tif 000008
【図４】
2008039784.tif 000009
【図５】
2008039784.tif 000010
【図６】
2008039784.tif 000011