(57)【要約】テストデータを供給する側では、データ列をｎサイクル（ｎは正の整数）すなわちｎビットごとに分割して連続するｎビットのデータ同士の変位を求め、それを「ｎ２」で割った余りを、出力状態“Ｚ”，“０”，“１”で表わされるデータに変換させることでデータを圧縮して供給し、データを受ける側では受け取ったデータを伸長して元のデータを復元し、この伸長されたテストデータに基づいて電子部品をテストするようにした。
2003040741.tif 000002
【特許請求の範囲】
【請求項１】
テストデータをモード変換圧縮により形成し、このモード変換圧縮されてなるテストデータを伸長展開して、この伸長展開されたテストデータにより電子部品のテストを行なうようにしたことを特徴とするテスト方法。
【請求項２】
上記テストデータの伸長展開は、第１変換回路により行なわれるようにされ、上記第１変換回路は上記電子部品に形成されてなるものであることを特徴とする請求項１に記載のテスト方法。
【請求項３】
上記テストデータの伸長展開は、第１変換回路により行なわれるようにされ、上記第１変換回路は上記電子部品が搭載されるテスト機構に形成されてなるものであることを特徴とする請求項１に記載のテスト方法。
【請求項４】
上記モード変換圧縮は、異なるタイミングで現われる複数のデータ相互を圧縮するものであることを特徴とする請求項２または３に記載のテスト方法。
【請求項５】
上記異なるタイミングは、クロック信号により規定されるものであることを特徴とする請求項４に記載のテスト方法。
【請求項６】
上記モード変換圧縮は、２クロック信号期間ごとの２ビットずつのデータ相互を圧縮するものであることを特徴とする請求項５に記載のテスト方法。
【請求項７】
上記モード変換圧縮は、「３」を基数とモード変換圧縮であることを特徴とする請求項６に記載テスト方法。
【請求項８】
上記可変論理回路は、該可変論理回路内に構築されたテスト回路により試験される回路と同一チップ上に形成されていることを特徴とする請求項７に記載のテスト方法。
【請求項９】
テスト対象としての電子部品もしくはテスト対象としての電子部品が搭載されるテスト機構に、外部から供給されるテストデータを伸長変換する第１変換回路と、外部へ供給すべきテストデータを圧縮変換により形成する第２変換回路とを設定し、上記第１変換回路および第２変換回路を介してのテストデータによって上記電子部品のテストを行なうようにしたことを特徴とするテスト方法。
【請求項１０】
「３」以上の正の整数で割った余りを３値レベルのいずれかに対応させることにより圧縮されたテストデータを形成し、この圧縮されたテストデータに基づいて被テスト対象としての電子部品のテストを行なうようにしたことを特徴とするテスト方法。
【請求項１１】
「３」以上の正の整数で割った余りを３値レベルのいずれかに対応させることにより圧縮されたテストデータを保持し、この圧縮されたテストデータに基づいて被テスト対象としての電子部品のテストを行なうようにされてなることを特徴とするテスト装置。
【請求項１２】
上記モード変換圧縮は、異なるタイミングで現われる複数のデータ相互を圧縮するものであり、上記正の整数は「３」以上であることを特徴とする請求項１１に記載のテスト装置。
【請求項１３】
所定のモード変換圧縮方式の適用により形成されたテストパターンを、コンピュータネットワークを介して通信することを特徴とする電子部品の設計のための取引方法。
【発明の詳細な説明】
技術分野
本発明は、半導体メモリや論理集積回路などの電子部品としての半導体装置をテスト（試験）するいわゆるテスト技術さらには半導体装置へのテストデータの伝送方式に適用して有効な技術に関し、例えばテスタによりテスト対象となる半導体装置へ入力するデータを圧縮して伝送する場合に利用して有効な技術に関する。
背景技術
従来、論理集積回路（以下、論理ＬＳＩと称する）などの半導体装置のテスト方式としては、テスタと呼ばれる装置によりテストパターンと呼ばれるテストデータを発生してそれを論理ＬＳＩへ入力し、論理ＬＳＩから出力されたデータ信号とテスタ側で発生された期待値信号とを比較して判定する方式がある。また、論理ＬＳＩのテスト容易化設計手法としては、内部論理回路を構成するフリップフロップをシリアルに接続するいわゆるスキャンパスを構成し、このスキャンパスよりテストデータを内部論理回路に供給し、内部論理回路から得られた論理動作結果をフリップフロップに取り込ませ、該フリップフロップに取り込まれた論理動作結果をシリアルに出力させ検査するスキャンパス方式もある。
さらに、テスト容易化設計手法として、論理ＬＳＩを構成するＬＳＩチップ内に上記のようなスキャンパスと疑似乱数発生回路のようなランダムなテストパターンを発生するパターン発生器とテスト結果を圧縮して出力するシグネチャ圧縮器とをテスト回路として設け、疑似乱数発生回路で発生されたテストパターンを被テスト内部回路に供給して自分自身でテストを行なうＢＩＳＴ（ビルト・イン・セルフ・テスト）方式もある。
ＢＩＳＴ方式を採用した場合、内部回路をテストするテストパターンはＬＳＩチップ内部で生成されるため、外部のテスタは内部のテスト回路に与える起動信号などの制御信号を生成するだけでよいので簡易な構成で済む。しかしながら、チップ内部に構成可能なテストパターン発生回路は、例えば擬似的なランダムパターンを発生させ、それに基づいて内部回路のためのテストパターンを発生するように構成されるので、チップ外部のテスタで生成するようなテストされるべきチップに好適なテストパターンを用いる場合に比べて不良検出率の低い効率の悪いパターンによるテストしかできないことが少なくない。擬似的ランダムパターンによる効率の悪いテストパターンにかかわらずに、かかる疑似的ランダムパターンの利用の下で不良検出率を高めるためには、より多くのテストパターンの発生が必要となり、その結果チップ外部のテスタからテストパターンをスキャンパスに入れてテストするような場合に比べてずっと長い時間テストをしなければならなくなってくる。
このように、ＢＩＳＴ方式の場合には、外部から効率の良いテストパターンを与えるような場合に比べてテスト時間が長くなる結果として、テスタを長時間待たせることになるので、テスタの稼働率が低下し、テストに要するコストを充分に下げることができないことが予想される。
さらに、ＢＩＳＴ方式を採用した場合においても、ＬＳＩチップの不良解析のために、テスト結果を示すデータをチップの外に出力できる機能を有することが望まれるようになってきている。そのようなテスト結果データの外部への出力のためには、チップと外部のテスタとの間のデータの送受信の回数およびデータ量が多くなる。
また、システムＬＳＩのような大規模なＬＳＩにおいては、１つのチップ内に複数のＢＩＳＴを設けることが考えられるが、そのような複数のＢＩＳＴを設ける場合には、各ＢＩＳＴに起動をかけたりテスト結果を受け取ったりするため、チップと外部のテスタとの間のデータの送受信の機会およびデータ量が多くなる。そこで、チップと外部のテスタとの間で効率良くデータを送受信する技術が必要となる。
本発明者は、チップと外部のテスタとの間で効率良くデータの送受信ができるならばデータの転送時間を短縮することが可能であること、これに応じてテスタを使用してテストパターンをスキャンパス方式のような方式によってチップ内に与えるようにしても、チップ内部で長大な擬似ランダムパターンを発生してテストするＢＩＳＴ方式に比べてテストコストにそれほど差異が生じないこと等の着想のもとで種々検討を行ない、本発明を成した。
この発明の目的は、テスト対象の電子部品と外部のテスタとの間で効率良くデータを転送でき、これによってテストに要するコストを低減できる電子部品のテスト技術を提供することにある。
この発明の他の目的は、データ変換を使用するテストパターンの特徴に応じてデータ変換圧縮の仕方を決定することにより、最も効率の良いデータ転送が行なえるテスト技術を提供することにある。
この発明のさらに他の目的は、既存のテスタの資産を利用可能として被テストデバイスとの間で効率の良いデータ転送が行なえるテスト技術を提供することにある。
この発明のさらに別の目的は、新たなビジネスチャンスをもたらすことができるデータの取引方法を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
発明の開示
現在、市場に提供されているようなテスタは、テストパターンを規定するデータとして“０”，“１”とともに“Ｚ”（ハイインピーダンス）を含むような３値レベルを扱えるようにされる。その出力信号としては、“Ｈ”レベル，“Ｌ”レベルの他に出力ハイインピーダンス状態“Ｚ”もしくは“Ｈ”レベルと“Ｌ”レベルの中間レベルをもつ３値レベルをとることができる。また、被テスト対象はから供給されるような入力信号としては、論理“０”，“１”の他にハイインピーダンス“Ｚ”もしくは“０”，“１”の中間レベルを含む３値レベル判定できるように構成される。本発明の好適な例によれば、“０”，“１”のテストパターンやテスト結果データと上記３値レベルで表わされるデータとの間のデータ変換が行なわれ、このデータ変換の下でテスタとテストされる半導体装置などの電子部品との間のデータ送受信が行なわれる。
より好適な例では、Ｍｏｄ変換手法が考慮される。この場合、テストデータを供給する側では、時系列的データ列を意味するようなデータ列をｎサイクル（ｎは正の整数）すなわちｎビットごとに分割ないしは区分され、ｎビットごとに分割ないしは区分されたところ連続するデータ同士の変位が求められ、それを「ｎ２」で割った余りが、出力状態“０”，“１”，“Ｚ”を表現するデータに変換される。このデータ変換は、データ圧縮とみなされて良い。この圧縮データが被テスト対象に供給される。データを受ける側では受け取ったデータを伸長展開して元のテストデータを復元する。この復元されたテストデータに基づいて電子部品がテストされる。例えば、ｎが「２」の場合には、データを２サイクルすなわち２ビットごとに分割し、連続する２ビットのデータ（１０進法で表わすと「０」、「１」、「２」、「３」のいずれか）相互の変位を求め、それを１０進法の「３」に相当する値で割った余りが、出力状態の“Ｚ”，“０”，“１”のいずれかに対応されることで２値２ビットのデータが３値１ビットを表現するデータに圧縮される。この圧縮データが送信される。受信側では３値データを２値２ビットのデータに伸長して元のデータを復元するようにした。
上記した手段によれば、テストパターンを圧縮できるので、テスタと被テストデバイスとの間のテストデータの送受信に要する時間を短縮することができ、これによってテスタの稼働率を高めることができテストに要するコストを下げることができる。
なお、上記手段を実現するには、テスタと被テストデバイスにそれぞれ上記方式に従って圧縮されたデータを出力する機能と識別する機能とを設ける必要があるが、既存の多くのテスタはもともとテストパターンとして“０”，“１”，“Ｚ”（ハイインピーダンス）で記述されたものを認識できる構成をとるので、それを有効利用することが可能である。例えば、パーソナルコンピュータやワークステーションなどで上記変換方式で圧縮したパターンをテスタに与えてやれば良くテスタに新たな機能を付加することなく実施することができる。この場合、被テストデバイスである電子部品側もしくはその近くにのみ上記変換方式に従って圧縮されたデータを識別し伸長する機能と上記変換方式に従った圧縮機能を設ければ良い。あるいは、テスタが解読可能な形式の圧縮・伸長プログラムを作成し、それをテスタに与え、テスタにおいてテストパターンの圧縮と伸長を行なうようにすることも可能である。
上記３値レベルデータへの変換技術は、テスタのメモリの有効利用が可能になる。すなわち、既存の多くのテスタは、上述のように、各端子に対応するテスト用のデータを記憶するメモリは、前記“０”，“１”，“Ｚ”の３つの状態に対応する記憶領域が用意されている。この場合、外部から供給されたテストパターンが“０”，“１”のみからなる場合には、“Ｚ”に対応したデータを記憶する領域が遊んでしまうことになるが、上記した圧縮方式によれば、“Ｚ”に対応したデータを記憶する領域をも利用してテストデータをメモリに記憶させることができるため、メモリの記憶領域の有効利用が可能となる。その結果、実質的に記憶可能なテストデータの量を増加させることができる。
被テストデバイスに関しては、近年のＬＳＩの設計では、ＨＤＬ（ハードウェア・ディスクリプション・ラングィッジ：ハードウェア記述言語）で論理を記述したデータから自動的に回路レベルまで展開する機能を有する設計ツール（設計支援プログラム）が提供されているので、それの利用の下で圧縮機能を実現する回路の論理と伸長機能を実現する回路の論理をＨＤＬで記述したものを作成するだけで、上記設計ツールを利用して比較的容易にそのような圧縮、伸長機能を被テストデバイスに与えることができる。
被テストデバイスにおいて、上記圧縮・伸長回路を設ける部位としては、近年、スキャンテストやＢＩＳＴ回路のためのインタフェース回路としてＴＡＰ（テスト・アクセス・ポート）と呼ばれる規格がＩＥＥＥ１１４９．１で規定されているので、このＴＡＰを選択してやれば汎用性を持たせることができ有効である。
発明を実施するため最良の形態
以下、本発明の好適な実施例を図面に基づいて説明する。
先ず、本発明におけるデータの圧縮方式について説明する。図１には、第１の圧縮方式の概念を示す。第１の圧縮方式は、送信データ列をテスタ動作サイクルの２サイクルごとすなわち２ビットごとに分割して、連続する２ビットデータ（１０進法の「０」、「１」、「２」、「３」のいずれかと対応させることができる）相互の変位を求め、それを１０進法の「３」に相当する値で割った余りを求め、その余りを、出力の“Ｚ”，“０”，“１”に対応させる。これによりデータを２ビットから１ビットを表現するデータに圧縮することができる。なお、この第１の圧縮方式では、同一の２ビットパターンは連続しないという条件が必要とされる。
図１には、２ビットごとに分割すると、「０」→「１」→「０」→「３」→「２」……と変化する変換前のデータ列（Ａ）の例が示されている。なお、ここでは、“０，０”が「０」に、“１，０”が「１」に、“０，１”が「２」に、“０，０”が「３」に、それぞれ対応される。このデータ列（Ａ）の変位量は、１０進数で表わすと「＋１」→「−１」→「＋３」→「−１」……となる。ここで、この実施例では同一の２ビットは連続しないという条件があると仮定したので、変位量が「０」になることはない。
次に、この変位量を１０進法の「３」に相当する値で割った余りを求めると、「１」→「２」→「０」→「２」……となる。つまり、結果は「０」か「１」か「２」のいずれかとなる。
そこで、演算結果の「０」を“Ｚ”に、「１」を“０”に、そして「１」を“１”に対応させる。以上の変換処理によって、２値のデータ列が３値のデータ列に変換される（以下、これをモード変換と称する）。変位量が「０」となることがないため、すべての変位量を２ビットの３値データであらわすことができる。
図１には２値の変換前のデータ列（Ａ）と、これを上記変換方式で圧縮したときの３値データ列（Ｂ）を示す。図１より、このときの圧縮率は１／２であることが分かるであろう。なお、以上の説明においては、理解を容易にするため１０進法で表わされる数字を用いて説明したが、上記圧縮処理をワークステーションなどを用いて実行する場合には、ワークステーション内では対応するバイナリコードで処理が行なわれる。以下の説明においても同様である。
次の表１に、データ列を２ビットずつ分割して処理する本実施例における変位量と、変位量を正の整数である「３」で割った余りｍｏｄ（３）と、変換後の３値データとの関係を示す。
【表１】
2003040741.tif 000003
次に、本発明に係るデータ圧縮方式の第２の実施例を、図２を用いて説明する。第２の圧縮方式は、送信データを３サイクルすなわち３ビットごとに分割して変位量（差）を求め、その変位量を、１０進法の「８」で割った余りを“Ｚ”，“０”，“１”の３つの符号で表わされる２ビットのコードにモード変換、圧縮して出力するものである。
より具体的には、変換前の３ビット“０００”が“００１”に変化したときは変位量が１０進法で「１」であるので、変換後コードは“０Ｚ”、変換前の３ビットが“０００”が“０１０”に変化したときは変位量が１０進法で「２」であるので変換後コードは“０１”、変換前の３ビット“０００”が“０１１”に変化したときは変位量が１０進法で「３」であるので変換後コードは“Ｚ０”……のようにされる。
表２に、変位量とモード変換後の２ビットコードとの対応関係を示す。
【表２】
2003040741.tif 000004
なお、表２は一例であって、変位量とモード変換後の２ビットコードとの対応は、表２に限定されるものでなく、重複しないことを条件に任意の対応関係をとることができる。また、この第２の圧縮方式においても、初期値が必要とされる。ただし、この第２の圧縮方式では、同一の３ビットの出現すなわち変位量「０」が許容され、変位量「０」の変換後コードは“００”とされる。圧縮されたデータを受信した側では、２ビットコードを変位量にモード逆変換して元の３ビットデータが復元される。上記方式で圧縮したときの圧縮率は２／３である。
なお、上記実施例のように、変位量をとってから変換する代わりに、分割された各３ビット（８種類）をそれぞれ表３の右欄に示されている２ビットコードのいずれかに対応させて変換することも可能である。また、変位量を「８」で割った余りを２ビットコードに変換しているが、３ビットで表わされる変位量をそのまま２ビットコードに変換することも可能である。
さらに、第２の圧縮方式では、送信データを３サイクルすなわち３ビットごとに分割して変位量（差）を求め、その変位量を、“Ｚ”，“０”，“１”の３つの符号で表わされる２ビットのコードにモード変換、圧縮して出力しているが、送信データを４サイクルすなわち４ビットごとに分割して、“Ｚ”，“０”，“１”の３つの符号で表わされる３ビットのコードにモード変換、圧縮して出力するようにしてもよい。
同様にして、送信データを６サイクルすなわち６ビットごとに分割して、“Ｚ”，“０”，“１”の３つの符号で表わされる４ビットのコードにモード変換、圧縮したり、送信データを９サイクルすなわち９ビットごとに分割して、“Ｚ”，“０”，“１”の３つの符号で表わされる６ビットのコードにモード変換、圧縮したりして出力するようにしてもよい。
なお、原理的には、送信データを５サイクルすなわち５ビットごとに分割して、“Ｚ”，“０”，“１”の３つの符号で表わされる４ビットのコードにモード変換、圧縮する方式や、送信データを８サイクルすなわち８ビットごとに分割して、“Ｚ”，“０”，“１”の３つの符号で表わされる６ビットのコードにモード変換、圧縮する方式など、表３に示すような各種モード変換、圧縮方式が考えられるが、圧縮率からすると５ビット単位や８ビット単位は効率の低下を理解しておく必要がある。
【表３】
2003040741.tif 000005
表３においては、２ビットずつ分割してモード変換する場合（第１方式）の圧縮率が１／２で、最も圧縮率が高くて望ましいように見えるが、前述したように、第１方式では、同一のパターンは連続しないという条件がついているので、すべてのテストパターンに利用できるものでない。従って、テストパターンの性質と圧縮率とからいずれのモード変換方式を採用するか決定するのが望ましい。
図４には、上記のようなテストパターンの圧縮方式を適用する一般的なテスタの概念図が示されている。
図４に示すように、テスタ１００は、被テストデバイスである電子部品としての半導体装置２００に電源電圧を供給する電源ユニット１１０と、半導体装置２００の入力ピンに信号を入力するドライバ１２０と、半導体装置２００の出力ピンから出力される信号と期待値信号とを比較するコンパレータ１３０と、半導体装置２００に入力するテストデータおよび期待値もしくはそれらを生成するためのテストデータを記憶するメモリ１４１を有し該メモリのデータに基づいて制御信号を生成するパターン発生器１４０と、半導体装置２００に入力する信号の印加タイミングを発生するタイミングジェネレータ１５０と、これらの回路を制御するコントローラとしてのＣＰＵ１６０などから構成されている。
さらに、テスタ１００は、ＣＰＵ１６０が外部の記憶装置からテストプログラムを読み込んでＯＳ（オペレーティング・システム）により解釈しながら、パターン発生器１４０を制御してメモリ１４１内のデータを順次読み出して被テストデバイスとしての半導体装置２００に供給するテスト用の出力信号生成と出力および期待値信号の発生と判定を行ない、所定のテストを実施するように構成される。また、テスタ１００には、出力ピンの電圧レベル検出などの直流テストを行なうためのＤＣテスト回路１７０が設けられることもある。
上記圧縮方式を適用したテストをする場合、テスタには、テストパターン（期待値を含む）が予め表１に従ってモード変換され“０”，“１”，“Ｚ”で記述された圧縮パターン（Ｂ）として与えられる。なお、テスタにおいては、期待値は“Ｌ”（ロウ期待），“Ｈ”（ハイ期待），“Ｚ”（ハイインピーダンス期待）で表わされるが、テスタへの入力は期待値も“０”，“１”，“Ｚ”である。
ただし、一般的なテスタにおいては、テストパターンを被テストデバイスと接続される端子毎にパターンメモリ１４１に記憶するような仕組みが設けられるので、通常、被テストデバイスが決まれば対応する端子が入力端子であるか出力端子であるかが決まる。具体的には、テスタはピンの定義コマンドを備えており、このピン定義コマンドにより被テストデバイスの各ピンが入力ピンか、出力ピンかが設定されるので、出力ピンに対応するテストパターンとして“０”，“１”“Ｚ”で表わされたデータが入力されたとしても、テスタの内部ではそれを“Ｌ”，“Ｈ”，“Ｚ”で表わされる期待値として扱うことができる。
さらに、テスタには、“０”，“１”，“Ｚ”で表わされた上記テストパターンがそのまま入力される代わりに、そのテストパターンを、後述のピンエレクトロニクスを制御する次の表４に示すような３ビットの制御データ（ＴＰ，Ｉ／Ｏ，ＣＯＮＴ）に展開してテスタ内のメモリ１４１に記憶させるようにできる。
従って、上記圧縮方式で圧縮された“０”，“１”，“Ｚ”で表わされたデータに基づいて、予めワークステーション等で次の表４の対応に従って３ビットで表わされた制御データを生成してテスタに与えるようにすればよい。この場合、圧縮を行なうワークステーションに、上記圧縮データを表４に従って３ビットの制御データに変換するプログラムを与えておけば、容易にそのようなデータを生成することができる。また、そのようなデータ生成をテスタにおいて行なうようにテスタを構成することも可能である。
【表４】
2003040741.tif 000006
なお、一般的なテスタは、上記テストパターン記号“０”，“１”，“Ｚ”，“Ｌ”，“Ｈ”，“Ｚ”以外にも、例えば正のパルスを出力させるパターン“Ｐ”や負のパルスを出力させるパターン“Ｎ”を理解して対応する処理を行なう機能が設けられている。表４には、テスタにおけるそれらすべてのパターン記号と対応する３ビットの制御データも合わせて示してある。一般のテスタでは現在のところ、３ビットの制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴが“１００”となる場合は定義されていない。従って、この未使用の組合せを“ハイインピーダンス出力”と定義し、後述のピンエレクトロニクスにそのような出力状態をとり得る機能を付加するにしても良い。
図３には、図１の変換前のデータ列（Ａ）をテスタ用の３ビットの制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴとして入力する場合のデータ列と、図１の変換後のデータ列（Ｂ）をテスタ用の３ビットの制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴとして入力する場合のデータ列を示す。図３より、圧縮方式で圧縮された“０”，“１”，“Ｚ”の代わりに制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴとして入力する場合にも、データ量を約１／２に低減できることが分かる。従って、このようなデータ変換も圧縮とみなすことができる。
なお、テスタに入力されるデータ列が図３（Ｂ）のようなパターンであったとしても、この制御データに基づいてテスタから被テストデバイスに供給されるデータ列は図１（Ｂ）のようなパターンとされる。
前述したように、一般的なテスタにおいては、テストデータを被テストデバイスと接続される端子毎にパターンメモリ１４１に記憶するように構成されている。そのため、上記のようにパターンメモリ１４１に格納されるテストデータが圧縮されていれば、メモリ１４１に格納することができる実質的なテストパターンの量を多くすることができ、テスタにおけるメモリの利用効率が高まるとともに、圧縮前のテストデータを被テストデバイスに送信する場合よりも、圧縮された後のテストデータを被テストデバイスに送信する場合の方が、同一内容のテストパターンを短時間で送信することができる。従って、テスタの稼働率が向上し、テストに要するコストを低下させることができる。
また、テスタは一般に数百のオーダーの端子を同時にテストできるように構成されることが少なくないので、この機能を有効に利用して複数の被テストデバイスに同時に上記のように圧縮されたテストデータを送信してテストを実行することでさらにテスタの稼働率を向上させることができる。
ところで、上記のように、パターンメモリ１４１を用いてデータを圧縮できるのは、被テストデバイスである半導体装置内のスキャンパスに入力されるテストデータである。以下に説明するように、テスタは、被テストデバイスのすべてのピン（端子）をテストできる機能を有するようにインタフェースが構成されている。つまり、前述したように、スキャンパスの始端は入力専用端子であり、終端は出力専用端子であるのに対し、被テストデバイスのピンの中には入出力共用端子があり、テスタはこの入出力共用端子をテストできるように構成されている。そのため、スキャンパスに入力するテストデータに関しては、対応する被テストデバイスのピンが入力端子または出力端子に固定されることによりその制御データに使用しない組合せが生じるのを利用して圧縮データを生成することができる。
次に、テスタのより具体的な構成例を、図５を用いて説明する。なお、図５は、図４のドライバ１２０およびコンパレータ１３０に相当するいわゆるピンエレクトロニクスと呼ばれる部分の構成例を示す。
図５は、被テストデバイスの１つのピンに対応したテスタ側のピンエレクトロニクスの構成であり、テスタにはこのようなピンエレクトロニクスがテスト可能なピンの数だけ設けられている。
図５において、１８１は出力ドライバ回路、１８２はこのドライバ回路を制御する出力制御回路で、出力制御回路１８２にはテストパターンに対応する制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴを記憶するメモリ１４１の記憶データに基づいてパターン発生器１４０から出力される制御信号“ＴＰ”，“ＣＯＮＴ”とタイミングジェネレータ１５０から供給されるタイミングクロックＣＬＫとに基づいて出力ドライバ回路１８１を制御する。具体的には、対応する被テストデバイスのピンが入力ピンで制御データＴＰ，ＣＯＮＴが“１，１”のときはハイレベルの信号を出力させ、制御データＴＰ，ＣＯＮＴが“０，１”のときはロウレベルの信号を出力させる（表４参照）。タイミングクロックＣＬＫはひとつではなく、テスタ内では位相やデューティあるいは周期が異なる複数のタイミングクロックが生成されており、そのうち１つあるいは複数のタイミングクロックが供給可能にされている。
なお、上記のように出力ドライバ回路１８１が制御されているとき、制御データＩ／Ｏが“１”とされていれば、この制御データＩ／Ｏに基づく信号“Ｉ／Ｏ”によって前記出力ドライバ回路１８１とテスタの出力端子に接続されている入出力ノードｎ０との間に設けられているスイッチＳＷ１をオンさせて、ドライバ１８１の出力をノードｎ０に伝える。一方このとき、スイッチＳＷ１と対を成すスイッチＳＷ２は、制御データＩ／Ｏに基づく信号“Ｉ／Ｏ”を反転するインバータ１８３によってオフ状態とされる。
１８４，１８５は一方の入力端子に上記ノードｎ０の電位がスイッチＳＷ２を介して入力可能にされたコンパレータであり、コンパレータ１８４，１８５の他方の端子にはそれぞれ入力のハイレベルとロウレベルの中間値よりも少し高い電圧ＶＲＨと前記中間値よりも少し低い電圧ＶＲＬがそれぞれ比較電圧として印加されている。これにより、コンパレータ１８４，１８５は、上記ノードｎ０の電位が上記比較電圧ＶＲＨよりも高い場合と、ＶＲＬより低い場合と、ＶＲＨとＶＲＬの間にある場合をそれぞれ区別して検出することができる。
１８６は、上記コンパレータ１８４，１８５の出力とメモリ１４１からの制御データＴＰに基づく信号“ＴＰ”を入力とする入力判定回路で、入力と期待値とが一致しているか否かを判定して判定結果を示す信号Ｆ／Ｓを出力する。
１８７はダイオードブリッジを含みダイオードブリッジの一方の中間ノードｎ１に基準となる電圧ＶＴＴが印加され他方の中間ノードｎ２に電圧ＶＴＴと同一の電圧を発生する定電圧回路、１８８はプルダウン抵抗である。定電圧回路１８７はスイッチＳＷ３を介して前記ノードｎ０に、またプルダウン抵抗１８８はスイッチＳＷ４を介して前記ノードｎ０にそれぞれ接続可能にされており、スイッチＳＷ３がオン状態にされるとノードｎ０は定電圧回路１８７の出力側の中間ノードｎ２に、またスイッチＳＷ４がオン状態にされるとノードｎ０は抵抗１８８を介して接地電位ＶＳＳにされる。
１８９は上記スイッチＳＷ３，ＳＷ４を制御するハイインピーダンス制御回路で、このハイインピーダンス制御回路１８９は、前記制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴに基づく信号“ＴＰ”，“Ｉ／Ｏ”，“ＣＯＮＴ”の論理和をとるＮＯＲゲート１９０の出力とピン定義コマンドＰｎとに基づいて上記スイッチＳＷ３，ＳＷ４の制御信号を生成する。ピン定義コマンドＰｎは予めテスタに入力され、内部のレジスタなどに保持されている。
具体的には、ピン定義コマンドＰｎとして入力ピンを示す“ＩＮ”と定電圧回路１８７の接続指定を示す“ＩＬ”が与えられており、制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴが“０００”であるときには、スイッチＳＷ３をオン状態にしてノードｎ０の電位をＶＴＴにさせる。この電位ＶＴＴを予め電源電圧ＶＣＣとＶＳＳのほぼ中間のレベルに設定しておくことにより、テストパターンとして出力ハイインピーダンスを示す“Ｚ”がメモリから読み出されたときに、テスタからＶＣＣとＶＳＳのほぼ中間の電圧ＶＴＴを出力させることができるように構成されている。
なお、この実施例の圧縮方式に従ったデータをテスタが送受信するときは、後述のように、被テストデバイス側の対応するピンは入力または出力のいずれかであり、入出力共用のピンであることはないので、上述のように、テストパターンが“Ｚ”のときに出力をＶＴＴの電位にさせるピンエレクトロニクスは、被テストデバイスの入力ピンに接続されるもので、スイッチＳＷ２がオフされて、ノードｎ０の電位がコンパレータ１８４，１８５に伝達されることはない。
一方、被テストデバイスの出力ピンに接続されるピンエレクトロニクスにおいては、テストパターンが“Ｚ”のときにスイッチＳＷ１がオフされて、ドライバ１８１の出力がノードｎ０に伝達されることはない。このピンエレクトロニクスでは、ピン定義コマンドＰｎが“ＯＵＴ”とされ、スイッチＳＷ３，ＳＷ４がオフされることはなく、テストパターンの“Ｚ”に対応する制御データＴＰ，Ｉ／Ｏ，ＣＯＮＴとして“０００”が供給されたときは、スイッチＳＷ３，ＳＷ４がオンされてコンパレータ１８４，１８５に入力電位が供給され、入力電位が比較電圧ＶＲＨより高いか、ＶＲＬより低いか、ＶＲＨとＶＲＬの間にあるかの判定が行なわれる。
次に、上記実施例の変換方式により圧縮されたデータによりテストされる半導体装置のテストデータ入出力部の実施例を説明する。
本発明に係るテスト方法によりテストされる半導体装置２００には、テスト用のスキャンパスと、テスタからこのスキャンパスに入力されるテストパターンの入力端子２０１と、該入力端子に入力された信号のレベルを検出する一対のコンパレータ２０２，２０３と、これらのコンパレータの出力に基づいて、テスタから供給される０，１，Ｚからなる圧縮パターンを０，１のデータ列に変換する逆モード変換回路２０４と、スキャンアウトデータの出力端子２０５とが設けられる。
また、スキャンパスの終端には、モード変換回路２０６が接続され、このモード変換回路２０６で０，１のデータ列から３値のレベルに変換されたデータ信号がバッファ２０７によって、出力端子２０５よりチップ外部へ出力されるように構成される。バッファ２０７は、ハイレベル（例えばＶＣＣ）とロウレベル（例えばＶＳＳ）の他に当該ハイレベルとロウレベルの中間レベル（≒（ＶＣＣ＋ＶＳＳ）／２）の信号を出力できるような構成とされる。
なお、上記逆モード変換回路２０４およびモード変換回路２０６における変換動作は、外部から入力される上記テストパターンの転送レートに応じた周波数のクロック信号ＣＫに同期して行なわれるように構成される。かかるクロック信号ＣＫは、テスタから与えることができる。内部にクロック信号を発生する回路を有する半導体装置においては、この内部クロックに合わせてテスタがテストパターンを入力するように構成しても良い。
２０８はモード変換で初期値が必要とされる場合に、その初期値を与える初期値付与回路である。この初期値はオール“０”あるいはオール“１”とすることが可能であり、その場合には、例えばプルダウン抵抗あるいはプルアップ抵抗で与えるようにすることができる。
コンパレータ２０２，２０３は、テスタのピンエレクトロニクスに設けられている前記コンパレータ１８４，１８５と同様に、一方の端子に入力信号が印加され、また他方の端子にそれぞれ入力のハイレベルとロウレベルの中間値よりも少し高い電圧ＶＲＨと、前記中間値よりも少し低い電圧ＶＲＬとがそれぞれ比較電圧として印加されており、入力信号の電位が上記比較電圧ＶＲＨよりも高い場合と、ＶＲＬより低い場合と、ＶＲＨとＶＲＬの間にある場合をそれぞれ区別して検出することができるように構成される。
上記モード変換回路２０６は、図１の０，１のデータ列（Ａ）から０，１，Ｚのデータ（Ｂ）への変換を行なうもの、また逆モード変換回路２０４は、上記変換とは逆にデータ（Ｂ）から（Ａ）への変換を行なうもので、このような回路は、変換前のデータと変換後のコードとが分かっているので、通常の回路エンジニアであればそのような変換を行なう回路は容易に形成することができるので、説明及び図面の複雑化を回避するために、その具体的な回路例は省略する。
バッファ２０７は、出力データが“１”のときは出力端子２０５を電源電圧ＶＣＣに、また出力データが“０”のときは出力端子２０５を接地電圧ＶＳＳに、さらに出力データが“Ｚ”のときは出力端子２０５をＶＣＣとＶＳＳの中間の電位ＶＣＣ／２に駆動する。なお、半導体装置内に複数のスキャンパスがあるときは、それぞれのスキャンパス毎に図６のような入力回路と出力回路が設けられる。
図６の実施例においては、スキャンパスの入り口と出口にそれぞれ専用のテストデータの入力回路と出力回路を設けているが、テストデータの入出力のためのインタフェース回路として、図７に示されているような構成を有するＴＡＰ（テスト・アクセス・ポート）２１０を使用することも可能である。ＴＡＰをインタフェースとすることにより、被テストデバイスないに複数のスキャンパスやＢＩＳＴ回路が設けられている場合にも、テストデータの入出力するために外部のテスタと接続するための電極パッドは数個で済むようになる。
ＴＡＰは、ＩＥＥＥ１１４９．１規格で規定されているようなスキャンテストやＢＩＳＴ（ビルト・イン・セルフ・テスト）回路のためのインタフェースおよび制御回路から構成される。ＴＡＰは、入力ポートからのテストデータを出力ポートへシフトするときに使用するバイパスレジスタ２１１、回路へ特定の信号を伝える場合に使用するデータレジスタ２１２、チップ固有の製造識別番号を設定するためのデバイスＩＤレジスタ２１３、データレジスタの選択や内部のテスト方法を制御する場合に使用するインストラクションレジスタ２１４、ＴＡＰ回路全体を制御するコントローラ２１５等により構成されている。
上記データレジスタ２１２はオプション扱いのレジスタである。インストラクションレジスタ２１４に設定される命令には、４つの必須命令と３つのオプション命令が用意される。コントローラ２１５には、専用の３つの外部端子から、テストモードを指定するためのテストモードセレクト信号ＴＭＳ、テストクロックＴＣＫ、リセット信号ＴＲＳＴが入力され、これらの信号に基づいて上記レジスタ２１１〜２１４やセレクタ回路２１６〜２１８に対する制御信号を形成する。
また、ＴＡＰにはテストデータＴＤＩの入力端子とテスト結果データＴＤＯの出力端子が設けられている。入力されたテストデータＴＤＩは上記セレクタ回路２１６を介して各レジスタ２１１〜２１４または内部のスキャンパスＩｓｃａｎ，Ｂｓｃａｎへ供給される。また、レジスタ２１１〜２１４の内容および内部回路からのスキャンアウトデータは、セレクタ回路２１７、２１８を介してチップ外部へ出力される。
さらに、ＴＡＰには、データレジスタ２１２とインストラクションレジスタ２１４の内容に従って内部のＢＩＳＴ回路に対する信号が形成されて供給されると共に、ＢＩＳＴ回路から出力されたテスト結果を示す信号がセレクタ回路２１７、２１８を介してチップ外部へ出力可能に構成されている。Ｂｉｓｔ  Ｅｎ０〜Ｂｉｓｔ  ＥｎＮはＴＡＰ２１０を介してチップ内部のＢＩＳＴ回路に供給される信号、Ｆｒｏｍ  Ｂｉｓｔ０〜Ｆｒｏｍ  ＢｉｓｔＮはチップ内部のＢＩＳＴ回路からＴＡＰ２１０を介して外部へ出力される信号である。
本実施例の半導体装置においては、上記ＴＡＰ２１０内のハッチングが付されているような部位に、図６に示されているコンパレータ２０２，２０３やモード逆変換回路２０４と、モード変換回路２０６および出力アンプ２０７を設けるようにすればよい。これにより、テスタ側で圧縮されＴＡＰ２１０に入力されたテストデータはモード逆変換回路２０４で伸長されてスキャンパスＩｓｃａｎ，Ｂｓｃａｎに供給される。
スキャンパスＩｓｃａｎ，ＢｓｃａｎよりＴＡＰ２１０に送られてくるデータは、モード変換回路２０６により前記実施例で説明した方法と同様の方法により圧縮されてＴＡＰ２１０を介して外部へ出力される。なお、この実施例においては、スキャンパスに入力されるテストパターンやスキャンパスから出力されるデータに対してのみでなく、ＢＩＳＴ回路に対する制御データやＢＩＳＴ回路からのテスト結果データに対してもモード逆変換やモード変換を行なうようにすることができる。ここで、テスト結果データには、良否判定結果の他に例えば不良位置を示すアドレス情報などが含まれる。
なお、図７において、“Ｉｓｃａｎ”は内部論理回路を構成するフリップフロップをチェーン状に結合したシフトレジスタをテストデータのスキャンパスとして使用して、内部論理回路の診断を行なうためのテストパスであり、図７には１つだけしか示されていないが複数設けられていても良い。また、“Ｂｓｃａｎ”は信号入出力部内に設けられるフリップフロップをチェーン状に結合したシフトレジスタをスキャンパスとして使用して、他の半導体集積回路との間の接続状態を診断（バウンダリスキャンテスト）を行なうためのテストパスであり、このスキャンパスは必ずしも設けられる必要はない。
上記実施例においては、被テストデバイスである半導体装置内にモード変換回路およびモード逆変換回路を設けた場合について説明したが、モード変換回路およびモード逆変換回路はテストボード上に設けるようにすることも可能である。また、例えば被テストデバイスに設けられているテスト容易化回路がＢＩＳＴ回路のみであるような場合には、チップ内もしくはボード上にはモード逆変換回路だけを設け、モード変換回路は省略した構成も他の実施例として考慮可能である。
次に、本発明のテストパターンの圧縮方式を有効に活用するためのビジネスモデルについて説明する。
近年、ＬＳＩの開発、製造に関しては、従来、それらを１つの会社のような企業で一貫して行なう方式とは別に、回路設計は設計専門企業で行ない、ここで設計された回路のテストはテスト専門企業で行ない、デバッグ後の設計データに基づくマスクの作成および作成されたマスクを使用したＬＳＩの製造もそれぞれ別の企業で行なうという水平分業型の方式が実施され始めている。以下に説明するビジネスモデルは、このような水平分業型の方式において有効なものである。
図８は本発明者が考えたビジネスモデルを説明するためのシステム構成図、図９はこのビジネスモデルの手順を示すフローチャートである。
図８において、３００は回路設計を請け負う設計会社、４００は設計会社で設計された回路のテストを行なうテスト会社、５００はマスク作成会社、６００はウェハ作成会社であり、これらの会社のうち設計会社３００とテスト会社４００とマスク作成会社５００のコンピュータはインターネット７００を介してデータ送信可能にされている。
ＬＳＩの開発、製造にあたっては、図９に示されているように、先ず設計会社３００が所望の論理機能とその論理機能のテストのためのスキャンパスを備えたＬＳＩを設計し、さらにその論理機能の検証を行ない、効率が良くまた故障検出率の良好なテストパターンを作成する（ステップＳ１，Ｓ２）。
次に、作成したテストパターンを、インターネット７００を介してテスト会社４００へ送信する（ステップＳ３）。テスト会社４００では、受け取ったテストパターンを解析して前記実施例で説明したモード変換方式のうち最適なものおよびそのモード変換方式に最適なデータ入出力回路の回路形式を決定し、そのモード変換方式および決定した回路形式のデータ入出力回路の回路データを設計会社３００へ連絡もしくは送信する（ステップＳ４）。
次に、設計会社３００は受け取った情報に基づいてテストデータの入出力回路を含む最終的な論理ＬＳＩのレイアウトデータを作成する（ステップＳ５）。そして、そのレイアウトデータを、インターネット７００を介してマスク作成会社５００へ送信する（ステップＳ６）。マスク作成会社５００は受け取った情報に基づいてＬＳＩの製造用マスクを作成する（ステップＳ７）。そして、作成したマスクを半導体ウェハ作成会社６００へ送る（ステップＳ８）。
ウェハ作成会社６００は受け取ったマスクを用いて半導体製造ラインでウェハを作成し、出来上がったウェハをテスト会社４００へ送る（ステップＳ９，Ｓ１０）。テスト会社４００は、既に設計会社３００から受け取っているテストパターンを前記決定したモード変換方式で圧縮したテストパターンを生成し、そのテストパターンをテスタに入力してテスタによりウェハのテストを実行し、良品と不良品を選別する（ステップＳ１１）。そして、ウェハを各チップに切断して上記選別結果に基づいて抽出された良品チップは、テスト会社４００もしくは設計会社３００でパッケージに封入されて製品として出荷される（ステップＳ１２）。
なお、上記ビジネスモデルでは、製造されたウェハのテストをテスト会社において行なうものとしているが、テスト会社が設計会社から受け取ったテストパターンを圧縮してインターネットを介して設計会社あるいはウェハ作成会社へ送信し、設計会社またはウェハ作成会社において圧縮パターンによるテストを行なうことも可能である。かかる手法によれば、テスト会社はテスト所要時間が短縮されるテストパターンを提供できるため、その付加価値に対する対価を設計会社あるいはウェハ作成会社に要求することが可能になるという利点がある。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば前記実施例では、２値データを３値データに変換することで圧縮を行なっているが、２値データを４値データあるいは５値以上のデータに変換することでテストデータを圧縮することも可能である。
産業上の利用可能性
上記実施例においては、被テストデバイスが半導体装置である場合のテスト方法およびテスト装置について説明したが、本発明は半導体装置に限らず電子部品一般のテスト方法およびテスト装置に広く利用することができる。
【図面の簡単な説明】
図１は、本発明に係るテスト方法におけるテストデータの第１の圧縮方式の概念を示す説明図である。
図２は、本発明に係るテスト方法におけるテストデータの第２の圧縮方式の概念を示す説明図である。
図３は、テスタのメモリに保持されるテストデータの圧縮前と圧縮後のパターンの一例を示す説明図である。
図４は、本発明を適用して有効なテスタの一例を示すブロック図である。
図５は、テスタに設けられる被テストデバイスとの入出力回路としてのピンエレクトロニクスの具体例を示す回路構成図である。
図６は、本発明を適用する場合に被テストデバイスとしての電子部品に設けられる入出力回路の具体例を示す回路構成図である。
図７は、本発明を適用する場合に被テストデバイスとしての電子部品に設けられる入出力回路としてＩＥＥＥ１１４９．１規格で規定されているＴＡＰを使用した場合の例を示す回路構成図である。
図８は本発明者が考えたビジネスモデルを説明するためのネットワークシステムの一例を示すシステム構成図である。
図９は本発明者が考えたビジネスモデルの手順を示すフローチャートである。
【図１】
2003040741.tif 000007
【図２】
2003040741.tif 000008
【図３】
2003040741.tif 000009
【図４】
2003040741.tif 000010
【図５】
2003040741.tif 000011
【図６】
2003040741.tif 000012
【図７】
2003040741.tif 000013
【図８】
2003040741.tif 000014
【図９】
2003040741.tif 000015
【国際調査報告】
2003040741.tif 000016
2003040741.tif 000017
2003040741.tif 000018