(57)【要約】本発明の課題は、圧縮・伸長技術のみに依存することなく、さらなるテスト端子の削減が可能な半導体集積回路を提供することにある。本発明の半導体集積回路は、テスト対象回路のテスト情報の送受信に用いる端子群に接続されており、テスト結果の読出し時において、当該端子群のうち、テスト結果の読出しに必要な情報の送信に利用されていない端子群を、テスト対象回路からのテスト結果の受信に利用する利用装置を有している。
2010134403.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象回路のテスト情報の送受信に用いる端子群に接続され、
テスト結果の読出し時において、前記端子群のうち、前記テスト結果の読出しに必要な情報の送信に利用されていない端子群を、前記テスト対象回路からのテスト結果の受信に利用する利用装置を有することを特徴とする半導体集積回路。
【請求項２】
前記利用装置は、テスト結果を分割する分割回路であり、
前記分割回路は、テスト結果の受信に割り当てられた前記端子群を、分割した一方の前記テスト結果の受信に利用し、前記テスト結果の読出しに必要な情報の送信に割り当てられ、かつ送信に利用されていない前記端子群を、他の前記テスト結果の受信に利用することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
第１の伸長回路をさらに有し、
前記第１の伸長回路は、前記テスト結果の読出しに必要な情報を伸長することで、前記テスト対象回路への読出しを行うことを特徴とする請求項１または２のいずれか一項に記載の半導体集積回路。
【請求項４】
前記テスト結果の読出しに必要な情報は、読出しテストの読出しアドレスであり、
前記第１の伸長回路は、前記読出しアドレスを圧縮された状態で受信することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
第２の伸長回路をさらに有し、
前記第２の伸長回路は、前記テストを行なうために必要な情報を伸長することで、前記テスト対象回路への書込みを行うことを特徴とする請求項１〜４のいずれか一項に記載の半導体集積回路。
【請求項６】
前記テストを行なうために必要な情報は、書込みテストの書込みデータ・アドレスであり、
前記第２の伸長回路は、前記書込みデータ・アドレスを圧縮された状態で受信することを特徴とする請求項５記載の半導体集積回路。
【請求項７】
前記第２の伸長回路は、
圧縮された書込みデータ・アドレスを書込み圧縮データと書込み圧縮アドレスに分割し、分割した前記書込み圧縮データと前記書込み圧縮アドレスを独立に伸長することを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
テスト対象回路のテスト結果の送信を要求する情報の送信に用いる第１端子群と、テスト結果の受信に用いる第２端子群と、前記第１端子群および前記第２端子群を用いた情報の送受信を制御する制御部と、を有する回路テストユニットと、
前記テスト結果の送信を要求する情報を前記第１端子群の一部である第３端子群を介して受信し、伸長して前記テスト対象回路に送信する第１伸長装置と、
を有し、
前記制御部は、前記第１端子群のうち、前記第１伸長装置が利用しなかった端子群である第４端子群を介して前記テスト対象回路からのテスト結果を受信することを特徴とする回路テストシステム。
【請求項９】
前記後処理は、前記アドレス情報を加算化する処理であることを特徴とする請求項８記載の半導体集積回路。
【請求項１０】
テスト対象回路のテスト結果の送信を要求する情報の送信に用いる第１端子群と、テスト結果の受信に用いる第２端子群と、前記第１端子群および前記第２端子群を用いた情報の送受信を制御する制御部と、を有する回路テストユニットと、
前記テスト結果の送信を要求する情報を前記第１端子群の一部である第３端子群を介して受信し、伸長して前記テスト対象回路に送信する第１伸長装置と、
を有し、
前記制御部は、前記第１端子群のうち、前記第１伸長装置が利用しなかった端子群である第４端子群を介して前記テスト対象回路からのテスト結果を受信することを特徴とする回路テストシステム。
【請求項１１】
前記テスト結果を分割する分割装置をさらに有し、
前記制御部は、前記第２端子群を介して分割した一方の前記テスト結果を受信し、前記第４端子群を介して他の前記テスト結果を受信することを特徴とする請求項１０に記載の回路テストシステム。
【請求項１２】
テスト対象回路のテスト用の情報を前記第１端子群を介して受信し、伸長して前記テスト対象回路に送信する第２伸長装置を有することを特徴とする請求項１０または１１のいずれか一項に記載の回路テストシステム。
【請求項１３】
テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、
前記テスト対象回路のテスト結果の受信に用いる第２端子群と、
前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を介して前記テスト対象回路からのテスト結果を受信する制御部と、
を有することを特徴とする回路テストユニット。
【請求項１４】
前記制御部は、
前記第１端子群の一部である第３端子群を前記結果要求情報の送信に利用し、
前記第２端子群を介して前記テスト結果の一部を受信し、前記第１端子群のうち、前記第３端子群以外の端子である第４端子群を介して前記テスト結果の残りを受信することを特徴とする請求項１３に記載の回路テストユニット。
【請求項１５】
前記第１端子群は、書込みテストの書込みデータ・アドレスが圧縮された情報であるテスト用情報の送信にも用いられることを特徴とする請求項１３または１４のいずれかに記載の回路テストユニット。
【請求項１６】
前記制御部は、前記書込みデータ・アドレスを圧縮する際に、
前記書込みデータ・アドレスを書込みデータと書込みアドレスに分割し、分割した前記書込みデータと前記書込みアドレスを独立に圧縮し、圧縮した前記書込みデータと前記書込みアドレスを結合することを特徴とする請求項１５記載の回路テストユニット。
【請求項１７】
テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、前記テスト対象回路のテスト結果の受信に用いる第２端子群とを共用し、
前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を前記テスト対象回路からのテスト結果の受信に利用することを特徴とする回路テスト方法。
【請求項１８】
前記第１端子群の一部である第３端子群を前記結果要求情報の送信に利用し、
前記テスト結果を分割し、前記第２端子群を前記テスト結果の一部の受信に利用し、前記第１端子群のうち、前記第３端子群以外の端子である第４端子群を、前記テスト結果の残りの受信に利用することを特徴とする請求項１７に記載の回路テスト方法。
【請求項１９】
前記第１端子群を、テスト用情報の送信にも用いることを特徴とする請求項１７または１８のいずれか一項に記載の回路テスト方法。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、半導体集積回路、回路テストシステム、回路テストユニット及び回路テスト方法に関するものである。
半導体集積回路、例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）に代表される再構成可能デバイスの動作テストにおいては、例えばアドレスとデータからなる情報（構成情報）をテスト対象回路に書込むことにより書込み試験を行い、試験結果に対応する構成情報を読み出すことにより、テストを行っている。
ここで、近年、テスト対象回路の複雑化により、回路テストユニットとテスト対象回路との間の接続ピン数が増加する傾向にあり、その結果、テストコストが増加している。
そのため、テストコスト削減のために、テスト回路とテスト対象回路との間の接続ピン数を削減することが望まれている。
テスト回路とテスト対象回路との間の接続ピン数を削減する方法としては、圧縮・伸長技術を用いたものがある。
例えば、特開２００６−３２２９３１号公報（特許文献１）では、あらかじめリアルタイムに伸張可能に圧縮されたテストパターンを検査装置がロードしてパターンメモリに格納し、フレームプロセッサーがテストパターンの伸長を行い、伸長されたデータに基づいて、パルス波形をＬＳＩに印加する構成が開示されている。
【発明の開示】
【０００２】
しかしながら、特許文献１記載の発明は、テスト結果の読出しの際のデータ（出力信号）については、ピンエレクトロニクスがフレームプロセッサーに直接出力している。
そのため、書込みの際のデータの送信に必要なビット数によって、端子数が決まってしまい、これ以上の端子数の削減が難しい。
即ち、圧縮・伸長技術の利用だけでは、さらなるテスト端子の削減は困難であった。
本発明は上記課題に鑑みてなされたものであり、その目的は、圧縮・伸長技術のみに依存することなく、さらなるテスト端子の削減が可能な半導体集積回路を提供することにある。
前記課題を解決するため、本発明の第１の態様は、テスト対象回路のテスト情報の送受信に用いる端子群に接続され、テスト結果の読出し時において、前記端子群のうち、前記テスト結果の読出しに必要な情報の送信に利用されていない端子群を、前記テスト対象回路からのテスト結果の受信に利用する利用装置を有することを特徴とする半導体集積回路である。
本発明の第２の態様は、テスト対象回路のテスト結果の送信を要求する情報の送信に用いる第１端子群と、テスト結果の受信に用いる第２端子群と、前記第１端子群および前記第２端子群を用いた情報の送受信を制御する制御部と、を有する回路テストユニットと、前記テスト結果の送信を要求する情報を前記第１端子群の一部である第３端子群を介して受信し、伸長して前記テスト対象回路に送信する第１伸長装置と、を有し、前記制御部は、前記第１端子群のうち、前記第１伸長装置が利用しなかった端子群である第４端子群を介して前記テスト対象回路からのテスト結果を受信することを特徴とする回路テストシステムである。
本発明の第３の態様は、テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、前記テスト対象回路のテスト結果の受信に用いる第２端子群と、前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を介して前記テスト対象回路からのテスト結果を受信する制御部と、を有することを特徴とする回路テストユニットである。
本発明の第４の態様は、テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、前記テスト対象回路のテスト結果の受信に用いる第２端子群とを共用し、前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を前記テスト対象回路からのテスト結果の受信に利用することを特徴とする回路テスト方法である。
（発明の効果）
本発明によれば、圧縮・伸長技術のみに依存することなく、さらなるテスト端子の削減が可能な半導体集積回路を提供することができる。
【図面の簡単な説明】
【０００３】
図１は本発明に係る回路テストシステム１４０の概略を示すブロック図である。
図２は回路テストユニット１１０の概略を示す図である。
図３は回路テストシステム１４０の読出しに関わる部分を示すブロック図である。
図４は回路テストシステム１４０を用いたテストの概略を示すフローチャートである。
図５は回路テストシステム１４０を用いたテストの概略を示すフローチャートである。
図６は回路テストシステム１４０の具体的構成を示すブロック図である。
図７は回路テストシステム１４０の具体的動作を示すフローチャートである。
図８は書込みアドレス・データ１１０ｆの圧縮の手順を示すフローチャートである。
図９は圧縮書込み情報１１０ｄの伸長の手順を示すフローチャートである。
図１０は図８および図９を具体的な例を用いて説明した図である。
図１１は圧縮規則１１０ｈの例を示す図である。
【符号の説明】
【０００４】
１００  テスト対象回路
１１０  回路テストユニット
１１０ｂ  制御部
１３０  端子群
１３０ａ  第１端子群
１３０ｂ  第２端子群
１３０ｃ  第３端子群
１３０ｄ  第４端子群
１４０  回路テストシステム
６００  アドレス・データ伸長回路
７００  アドレス伸長回路
【発明を実施するための形態】
【０００５】
以下、図面に基づいて本発明に好適な実施形態を詳細に説明する。
まず、図１〜５を参照して、本発明の実施形態に係る回路テストシステム１４０の構成の概略およびテスト方法の概略を説明する。
ここでは回路テストシステム１４０として、ＦＰＧＡに代表される再構成可能デバイスをテストするシステムを例示している。
まず、構成の概略について図１〜３を参照して説明する。
図１〜３に示すように、回路テストシステム１４０は、テスト対象回路１００をテストする回路テストユニット１１０を有している。
また、回路テストシステム１４０は、テスト結果を要求する情報（が圧縮された情報、第１圧縮情報、結果要求情報）である圧縮読出し情報１１０ｅ（後述）を伸長するアドレス伸長回路７００を第１伸長装置として有している。
また、回路テストシステム１４０は、読出しデータを分割する分割回路５００を利用装置（分割装置）として有している。
回路テストシステム１４０は、さらに、（書込み）テスト用の情報が圧縮された情報（圧縮書込み情報１１０ｄ、第２圧縮情報、テスト用情報）を伸長するアドレス・データ伸長回路６００を第２伸長装置として有している。
回路テストユニット１１０は、回路テストユニット１１０とテスト対象回路１００との情報の送受信に用いられる端子群１３０を有している。
なお、アドレス・データ伸長回路６００、アドレス伸長回路７００、分割回路５００で例えば半導体集積回路を構成している。
端子群１３０は、主として圧縮読出し情報１１０ｅの送信（および圧縮書込み情報１１０ｄの送信）に用いられる（割り当てられた）第１端子群１３０ａと、テスト結果である読出しデータの受信に用いられる（割り当てられた）第２端子群１３０ｂを有している。
回路テストユニット１１０は、さらに、端子群１３０（第１端子群１３０ａおよび第２端子群１３０ｂ）を用いた情報の送受信の制御を行い、かつ書込み、読み出しの情報を圧縮を行う制御部１１０ｂ（圧縮装置）を有している。
回路テストユニット１１０はさらに、記憶部１１０ｃを有し、記憶部１１０ｃは書込みテスト用の情報が圧縮された圧縮書込み情報１１０ｄと、読出しアドレス１１０ｇ（後述）が圧縮された圧縮読出し情報１１０ｅを有している。
次に、回路テストシステム１４０を用いたテストの手順の概略について、図１〜図５を参照して説明する。
まず、本発明の最も特徴的な部分について特に図４を参照して説明する。
まず、制御部１１０ｂは、テスト結果の送信を要求する情報を第３端子群１３０ｃを介してテスト対象回路１００に送信する（図４のＳ１）。具体的には読出しアドレス１１０ｇを圧縮した情報である第１圧縮情報としての圧縮読出し情報１１０ｅを第１端子群１３０ａの一部である第３端子群１３０ｃを介してアドレス伸長回路７００に送信し、圧縮読出し情報１１０ｅはアドレス伸長回路７００で伸長されてテスト対象回路１００に送信される。
次に、制御部１１０ｂは、テスト結果、具体的には読出しアドレス１１０ｇに対応した読出しデータをテスト対象回路１００から端子群１３０を介して受信する（図４のＳ２）。
この際、分割回路５００は読み出しデータを分割し、制御部１１０ｂは、図１〜図３に示すように、分割された読出しデータを、第２端子群１３０ｂ、および第１端子群１３０ａのうち、圧縮読出し情報１１０ｅの送信に用いられなかった端子群である第４端子群１３０ｄを介して受信する。
このように、回路テストシステム１４０は分割回路５００を用いて、第１端子群１３０ａの一部を圧縮読出し情報１１０ｅの送信と、読出しデータの受信に共用する構成となっている。
そのため、回路テストシステム１４０は、圧縮・伸長技術のみに依存することなく、従来よりもテスト端子の削減が可能である。
次に、テストの手順の全体の概略について図５を参照して説明する。
まず、制御部１１０ｂは、テスト用の情報である第２圧縮情報としての圧縮書込み情報１１０ｄを第１端子群１３０ａ（Ｌ本）を用いてテスト対象回路１００に送信する（図５のＳ０）圧縮書込み情報１１０ｄは、ここではＭ＋Ｎビットの書込みアドレス・データ１１０ｆをＬビットに圧縮した情報であり、アドレス伸長回路７００でＭ＋Ｎビット（Ｍビットがデータ、Ｎビットがアドレス）に伸長されてテスト対象回路１００に送信される。
なお、テスト対象回路１００は、受信した書込みアドレス・データ１１０ｆを用いて試験を行う。
次に、制御部１１０ｂは、圧縮読出し情報１１０ｅを第１端子群１３０ａの一部である第３端子群１３０ｃ（Ｌ−Ｋ本）を用いてアドレス伸長回路７００に送信する（図５のＳ１）。圧縮読出し情報１１０ｅは、ここではＮビットの読出しアドレス１１０ｇをＬ−Ｋビットに圧縮した情報である。
圧縮読出し情報１１０ｅはアドレス伸長回路７００で伸長され、テスト対象回路１００に送信される。
このように、圧縮書込み情報１１０ｄと圧縮読出し情報１１０ｅは、共に第１端子群１３０ａを介して送信されるが、圧縮読出し情報１１０ｅは、圧縮書込み情報１１０ｄの送信に用いた端子数（Ｌ本）よりも少ない端子数（Ｌ−Ｋ本）で送信される。
これは、圧縮読出し情報１１０ｅはアドレスのみの情報であり、かつ、読出し時は書込み時と異なり、連続的なアドレスを参照することが多いので圧縮しやすいため、読出アドレスの圧縮度を、書込アドレス・データ１１０ｆの圧縮度に対して高くできるからである。
次に、制御部１１０ｂは、テスト結果、具体的には読出しアドレス１１０ｇに対応した読出しデータ（Ｍビット）を端子群１３０を介して受信する（図５のＳ２）。
この際、制御部１１０ｂは、Ｍビットの当該データのうち、Ｍ−Ｋビットのデータを第２端子群１３０ｂ（Ｍ−Ｋ本）を用いて受信し、残りのＫビットのデータを、第１端子群１３０ａのうち、圧縮読出し情報１１０ｅの送信に用いられなかった第４端子群１３０ｄ（Ｋ本）を介して受信する。
このように、回路テストシステム１４０は、圧縮書込み情報１１０ｄの圧縮度よりも圧縮読出し情報１１０ｅの圧縮度が高く、書込み時に使った端子よりも少ない端子数で、読出しアドレス１１０ｇを送信可能であることを利用して、送信用の端子の一部（第４端子群１３０ｄ）を受信用に共用することにより、圧縮・伸長技術のみに依存することなく、さらなるテスト端子の削減が可能な構成となっている。
具体的には、回路テストシステム１４０においては端子群１３０の総端子数はＬ＋Ｍ−Ｋ本であり、送信用の端子の一部を受信用に共用しない場合（この場合は総端子数はＬ＋Ｍ本になる）と比べてＫ本の端子を削減できる。
また、端子数の削減により、同時並列テストを行う際のテスト時間を従来よりも削減でき、さらに、従来よりも安いパッケージでチップを実装することも可能になる。
上記構成では、非圧縮の期待値との比較を行うことを前提としたため、読出しデータを圧縮していない。無論、圧縮した期待値と比較することが可能であれば、読出しデータを圧縮した上で、データを受信し、かつ、送信用の端子の一部と共用することで、さらに端子数を削減することも可能である。
以上が回路テストシステム１４０の構成の概略およびテスト方法の概略である。
次に、回路テストシステム１４０の構成およびテスト方法について、図６〜図１１を参照し、より具体的な例を用いて説明する。
まず、構成の具体的な例について、図６を参照して説明する。
なお、以降の例では、回路テストシステム１４０は書込みと読出しは同時に行わないものとする。また、読出し情報をバースト的に読み出すため、読出しアドレス１１０ｇ（圧縮読出し情報１１０ｅ）を常に送信し続け、同時に読出しデータを受信することとする。
図６に示すように、回路テストシステム１４０は回路テストユニット１１０、アドレス伸長回路７００、アドレス・データ伸長回路６００、端子群１３０を有している。
さらに、回路テストシステム１４０は、書込みアドレスと読出しアドレス１１０ｇが入力され、これらをテスト対象回路１００に出力する選択回路３００を有している。
また、回路テストシステム１４０は、読出しデータを分割する分割回路５００、圧縮書込み情報１１０ｄの一部と読出しデータの一部が入力される双方向切替回路２００、第３端子群１３０ｃと第４端子群１３０ｄから入力される圧縮書込み情報１１０ｄを結合する結合回路４００を有している。
一方、回路テストユニット１１０は制御部１１０ｂ、記憶部１１０ｃを有し、記憶部１１０ｃは圧縮書込み情報１１０ｄ、圧縮読出し情報１１０ｅ、書込みアドレス・データ１１０ｆ、読出しアドレス１１０ｇ、書込みアドレス・データ１１０ｆを圧縮する際の規則を有する情報である圧縮規則１１０ｈ、およびテストを行うテストプログラム１１０ｉを有している。
なお、ここでは、読出しアドレス１１０ｇ、書込みアドレス・データ１１０ｆ、圧縮規則１１０ｈとテストプログラム１１０ｉを備えたテストユニットの例について説明を行う。無論、この例とは異なり、パーソナルコンピュータなど別の装置で、圧縮書込み情報１１０ｄ、圧縮読出し情報１１０ｅを生成し、そして、それを記憶部１１０ｃに転送するといった方法を用いても構わない。
次に、テスト方法の具体的な例について図６〜図１１を参照して説明する。
最初に、回路テストユニット１１０の制御部１１０ｂは、テストプログラム１１０ｉを起動し、圧縮規則１１０ｈを用いて書込みアドレス・データ１１０ｆを圧縮して圧縮書込み情報１１０ｄとする（図７のＳ１０１）。
ここでは、Ｍビットの書込みアドレスとＮビットの書込みデータをＬビットの圧縮書込み情報１１０ｄに圧縮したものとする。
なお、具体的な書込みアドレス・データ１１０ｆの圧縮方法については後述する。
次に、回路テストユニット１１０は、圧縮書込み情報１１０ｄをＫビットとＬ−Ｋビットに分割してアドレス・データ伸長回路６００に送信する（図７のＳ１０２）。
より具体的には、回路テストユニット１１０の制御部１１０ｂは、Ｋビットのデータを第４端子群１３０ｄを用いて、Ｌ−Ｋビットのデータを第３端子群１３０ｃを用いてそれぞれ双方向切替回路２００と結合回路４００に送信する。双方向切替回路２００はＫビットのデータを結合回路４００に送信し、ＫビットのデータとＬ−Ｋビットのデータは結合回路４００で再びＬビットのデータに結合されてアドレス・データ伸長回路６００に送信される。
次に、アドレス・データ伸長回路６００はＬビットの圧縮書込み情報１１０ｄを受信し（図７のＳ１０３）、これをＮ＋Ｍビットの書込みアドレス・データ１１０ｆに伸長する。
具体的には、圧縮規則１１０ｈに対応する伸長規則に従い、Ｎビットの書込みアドレスとＭビットの書込みデータに伸長する（図７のＳ１０４）。
次に、アドレス・データ伸長回路６００は書込みアドレス・データ１１０ｆをテスト対象回路１００に送信する（図７のＳ１０５）。具体的には、書込みアドレスについては、選択回路３００を介してテスト対象回路１００に送信し、書込みデータについては、直接、テスト対象回路１００に送信する。
なお、テスト対象回路１００は書込みアドレス・データ１１０ｆを受信し（図７のＳ１０６）、受信した書込みアドレス・データ１１０ｆを元に所定のテストを行う（図７のＳ１０７）。
次に、回路テストユニット１１０は、テスト結果の送信を要求するための情報である読出しアドレス１１０ｇを圧縮する（図７のＳ１０８）。ここでは、Ｎビットの読出しアドレス１１０ｇをＬ−Ｋビットの圧縮読出し情報１１０ｅに圧縮するものとする。
次に、回路テストユニット１１０の制御部１１０ｂは、圧縮読出し情報１１０ｅを第３端子群１３０ｃを介してアドレス伸長回路７００に送信する（図７のＳ１０９）。
アドレス伸長回路７００は圧縮読出し情報１１０ｅを受信し（図７のＳ１１０）、これをＮビットの読出しアドレス１１０ｇに伸長する（図７のＳ１１１）。なお、読出しアドレス１１０ｇの圧縮・伸長に用いる技術は、連長符号など、従来知られた圧縮技術であれば何でもよい。
次に、アドレス伸長回路７００は読出しアドレス１１０ｇを選択回路３００を介してテスト対象回路１００に送信する（図７のＳ１１２）。
なお、テスト対象回路１００は読出しアドレス１１０ｇを受信し（図７のＳ１１３）、受信した読出しアドレス１１０ｇに対応したＭビットの読出しデータを分割回路５００に送信する（図７のＳ１１４）。
Ｍビットの読出しデータは分割回路５００でＭ−ＫビットとＫビットのデータに分割される（図７のＳ１１５）。
最後に、回路テストユニット１１０の制御部１１０ｂは、分割された読出しデータを受信し、結合する（図７のＳ１１６）。具体的には、Ｍ−Ｋビットのデータを第２端子群１３０ｂを用いて受信し、Ｋビットのデータを双方向切替回路２００および第４端子群１３０ｄを介して受信し、これらを結合する。
以上が具体的なテスト方法である。
ここで、ＦＰＧＡに代表される再構成可能デバイスに特化した書込みアドレス・データ１１０ｆの圧縮・伸長方法の一例について図８〜図１１を参照して説明する。
まず、圧縮の概略について図８を参照して説明する。なお、図８において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、アドレスとデータを有する構成情報を入力として、その圧縮情報を出力する動作を説明している。
ここで、アドレスとは情報を格納する番地に相当する情報であり、一方、データとは、その番地に格納すべき任意の値を示す。すなわち、一般の装置において、アドレスは連続する値から構成され、一方、データは装置において指定されたフォーマットに従った任意の値となる。
図８に示すように、回路テストユニット１１０は以下の手順で圧縮を行う。
ステップ１１（Ｓ１１）：構成情報（書込みアドレス・データ１１０ｆ）をアドレスとデータに分割する。
ステップ１２（Ｓ１２）：分割されたアドレスとデータに対して、各々独立な前処理（詳細は後述）を実施する。
ステップ１３（Ｓ１３）：前処理が行われたアドレスとデータに対して、各々独立な圧縮を行う。
ステップ１４（Ｓ１４）：圧縮後のアドレスとデータを結合し、圧縮書込み情報１１０ｄとして出力する。
ここで、ステップ１２により、圧縮に適した情報の変換が行われることで、圧縮度の向上に大幅に寄与する。さらに、ステップ１３において特性の異なる属性を持つアドレスとデータ各々に適した圧縮を選択することが可能となるため、圧縮度を大幅に向上可能になる。
次に、伸長の概略について図９を参照して説明する。なお、図９において、矢印脇のＳと数字からなる符合は、ステップ番号を表している。この例では、圧縮された圧縮書込み情報１１０ｄを入力として、その伸長情報（書込みアドレス・データ１１０ｆ）を出力する動作を説明している。
図９を参照すると、アドレス・データ伸長回路６００は以下の手順で伸張を行う。
ステップ２１（Ｓ２１）：構成情報（圧縮書込み情報１１０ｄ）を圧縮されたアドレスと圧縮されたデータとに分割する。
ステップ２２（Ｓ２２）：分割された圧縮アドレスと圧縮データを伸長する。
ステップ２３（Ｓ２３）：伸長されたアドレスとデータに対して、図８のステップ１２とは逆演算に等価である後処理を行う。
ステップ２４（Ｓ２４）：後処理後のアドレスとデータを結合し、書込みアドレス・データ１１０ｆとして出力する。
ここで、ステップ２２とステップ２３において、アドレスとデータの伸長を各々独立に行うことができるため、伸長速度が非常に高速となるといった利点をも有する。
次に、図８および図９の各ステップについて、図１０および図１１を参照して、より具体的に説明する。
なお、図１０において、矢印脇のＳと数字からなる符合は、図８と図９で示したステップ番号を表している。
図１０には、構成情報１０００（書込みアドレス・データ１１０ｆ）、アドレス群１１００とデータ群１２００、差分アドレス群１１１０と分割データ群１２１０、圧縮差分アドレス群１１２０と圧縮分割データ群１２２０、圧縮構成情報２０００が例示されている。
より具体的には、構成情報１０００の例として、アドレス「０ｘＡ０００００００」、データ「０ｘ００１２１２００」、アドレス「０ｘＡ００００００４」、データ「０ｘ００００１１１１」を先頭とした情報が示されている。無論、アドレスとデータは必ずしも１対１のペアである必要はなく、あるアドレスに対してデータが複数対応するなどのような様々な構成をとることが可能である。
アドレス群１１００は、上記構成情報１０００に対して、図８のステップ１１を適用した後の、アドレス情報のみから構成される。この例では、アドレス群１１００は、アドレス「０ｘＡ０００００００」と「０ｘＡ００００００４」を先頭とした情報からなる。一方、データ群１２００は、上記構成情報１０００に対して、図８のステップ１１を適用した後の、データ情報のみから構成される。この例では、データ「０ｘ００１２１２００」と「０ｘ００００１１１１」を先頭とした情報からなる。
差分アドレス群１１１０は、図８のステップ１２の前処理としてアドレスの差分化を選択した場合における、上記アドレス群１１００に対する前処理後のアドレス情報からなる。この例では、差分アドレス群１１１０は、アドレス「０ｘＡ０００００００」と「０ｘ００００００４」を先頭とした情報からなる。すなわち、アドレス群１１００に含まれるアドレス「０ｘＡ００００００４」は、その直前のアドレス「０ｘＡ０００００００」を引いた「０ｘ００００００４」という情報へと変換されている。一般に、アドレス情報は、比較的連続した値を有するものの、互いに異なる値を持つことがないために、圧縮が困難である。したがって、前処理として差分化を適用することで、同一のアドレス差を有する情報を多数抽出することが可能となるため、圧縮率を大幅に向上させることが可能となる。
一方、分割データ群１２１０は、図８のステップ１２の前処理としてデータの１６ビット化を選択した場合における、上記データ群１２００に対する前処理後のデータ情報からなる。この例では、分割データ群１２１０は、データ「０ｘ００１２」、「０ｘ１２００」、「０ｘ００００」、「０ｘ１１１１」を先頭とした１６ビット情報からなる。一般に、データ情報は、繰り返し構成を持つ再構成可能デバイスの設定情報となるため、小数ビットを最小単位とした値となることが多い。したがって、前処理として１６ビット化を適用することで、同一の値を有する情報を多数抽出することが可能となるため、圧縮率を大幅に向上させることが可能となる。
圧縮差分アドレス群１１２０は、図８のステップ１３の圧縮方法として、図１１に示すアドレス圧縮規則３０００を選択した場合における、上記差分アドレス群１１１０に対する圧縮後のアドレス情報からなる。この例では、圧縮差分アドレス群１１２０は、「０ｂ１１」（０ｂは２進数を意味する）という符号に続いたアドレス「０ｘＡ０００００００」と、「０ｂ００」という符号に続いた「０ｘ４」を先頭とした情報からなる。本来、圧縮規則による圧縮方式は、連続した値をとることの多いアドレス情報には適してないものの、差分アドレス群１１１０に適用することで、大幅に圧縮度を向上することが可能である。なお、ステップ２４では逆に加算化を行う。
一方、圧縮分割データ群１２２０は、図８のステップ１３の圧縮方法として、図１１に示すデータ圧縮規則３０１０を選択した場合における、上記分割データ群１２１０に対する圧縮後のデータ情報からなる。この例では、圧縮分割データ群１２２０は、「０ｂ１００」という符号に続いたデータ「０ｘ１２」と、「０ｂ１０１」という符号に続いたデータ「０ｘ１２」と、「０ｂ０００」という符号と、「０ｂ１１０」という符号に続いた「０ｘ１１」を先頭とした情報からなる。本来、圧縮規則による圧縮方式は、ビット数が多くなると、高効率な圧縮のために、多数の規則を必要とするものの、データを分割した分割データ群１２１０に適用することで、少数の規則で大幅に圧縮度を向上することが可能である。
圧縮構成情報２０００は、圧縮差分アドレス群１１２０と圧縮分割データ群１２２０とを結合した情報から構成される。上記圧縮構成情報２０００では、圧縮前の構成情報１０００において、３２ビットのアドレスと３２ビットのデータに相当する、圧縮アドレスと２つの圧縮データをペアとして順次出力する。無論、この出力順序はいかようにも変更可能である。
なお、図１０に示された全ての情報はあくまで一例であるため、アドレスやデータの並びやビット情報、圧縮アドレスと圧縮データの並びやビット情報などはいかようにも変更可能である。
図１１は、本発明の一実施例の圧縮規則１１０ｈの例を説明する図である。図１１では、圧縮規則１１０ｈは、アドレス圧縮規則３０００とデータ圧縮規則３０１０とを有している。
アドレス圧縮規則３０００は、４つの規則から構成される。ここで、上記アドレス圧縮規則３０００は、４ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ００」と４ｂｉｔデータを、８ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ０１」と８ｂｉｔデータを、１６ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ１０」と１６ｂｉｔデータを、３２ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ１１」と３２ｂｉｔデータを出力する。
データ圧縮規則３０１０は、８つの規則から構成される。図１１のαとβは任意の４ビットデータを表す。ここで、上記データ圧縮規則３０１０は、全てゼロのデータに対しては、符号「０ｂ０００」のみを、４ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ００１」と４ｂｉｔデータを、「０ｘ０α０β」からなるデータに対しては、符号「０ｂ０１０」と８ｂｉｔデータを、「０ｘα０β０」からなるデータに対しては、符号「０ｂ０１１」と８ｂｉｔデータを、８ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ１００」と８ｂｉｔデータを、８ｂｉｔのゼロ詰めデータ（０ｘαβ００）に対しては、符号「０ｂ１０１」と８ｂｉｔデータを、上位と下位バイトが同じデータ（０ｘαβαβ）に対しては、符号「０ｂ１１０」と８ｂｉｔデータを、１６ｂｉｔの符号拡張なしのデータに対しては、符号「０ｂ１１１」と１６ｂｉｔデータを出力する。
このように、アドレスとデータ情報それぞれに対して、各々独自の規則数、規則内容からなる圧縮規則を適用することで、圧縮率の向上に大幅に寄与している。
以上がアドレス・データ圧縮・伸長方法の一例である。
このように、本実施形態によれば、回路テストシステム１４０は、送信用の端子の一部（第２端子群１３０ｂ）を受信用に共用する構成となっている。
そのため、圧縮・伸長技術のみに依存することなく、さらなるテスト端子の削減が可能である。
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）テスト対象回路のテスト情報の送受信に用いる端子群に接続され、テスト結果の読出し時において、前記端子群のうち、前記テスト結果の読出しに必要な情報の送信に利用されていない端子群を、前記テスト対象回路からのテスト結果の受信に利用する利用装置を有することを特徴とする半導体集積回路。
（付記２）前記利用装置は、テスト結果を分割する分割回路であり、
前記分割回路は、テスト結果の受信に割り当てられた前記端子群を、分割した一方の前記テスト結果の受信に利用し、前記テスト結果の読出しに必要な情報の送信に割り当てられ、かつ送信に利用されていない前記端子群を、他の前記テスト結果の受信に利用することを特徴とする付記１に記載の半導体集積回路。
（付記３）第１の伸長回路をさらに有し、前記第１の伸長回路は、前記テスト結果の読出しに必要な情報を伸長することで、前記テスト対象回路への読出しを行うことを特徴とする付記１または２のいずれかに記載の半導体集積回路。
（付記４）前記テスト結果の読出しに必要な情報は、読出しテストの読出しアドレスであり、前記第１の伸長回路は、前記読出しアドレスを圧縮された状態で受信することを特徴とする付記３記載の半導体集積回路。
（付記５）第２の伸長回路をさらに有し、前記第２の伸長回路は、前記テストを行なうために必要な情報を伸長することで、前記テスト対象回路への書込みを行うことを特徴とする付記１〜４のいずれかに記載の半導体集積回路。
（付記６）前記テストを行なうために必要な情報は、書込みテストの書込みデータ・アドレスであり、前記第２の伸長回路は、前記書込みデータ・アドレスを圧縮された状態で受信することを特徴とする付記５記載の半導体集積回路。
（付記７）前記第２の伸長回路は、圧縮された書込みデータ・アドレスを書込み圧縮データと書込み圧縮アドレスに分割し、分割した前記書込み圧縮データと前記書込み圧縮アドレスを独立に伸長することを特徴とする付記６に記載の半導体集積回路。
（付記８）前記第２の伸長回路は、独立に伸長した前記前記書込みアドレスと前記書込みデータを独立に後処理することを特徴とする付記７に記載の半導体集積回路。
（付記９）前記後処理は、前記アドレス情報を加算化する処理であることを特徴とする付記８記載の半導体集積回路。
（付記１０）テスト対象回路のテスト結果の送信を要求する情報の送信に用いる第１端子群と、テスト結果の受信に用いる第２端子群と、前記第１端子群および前記第２端子群を用いた情報の送受信を制御する制御部と、を有する回路テストユニットと、前記テスト結果の送信を要求する情報を前記第１端子群の一部である第３端子群を介して受信し、伸長して前記テスト対象回路に送信する第１伸長装置と、を有し、前記制御部は、前記第１端子群のうち、前記第１伸長装置が利用しなかった端子群である第４端子群を介して前記テスト対象回路からのテスト結果を受信することを特徴とする回路テストシステム。
（付記１１）前記テスト結果を分割する分割装置をさらに有し、前記制御部は、前記第２端子群を介して分割した一方の前記テスト結果を受信し、前記第４端子群を介して他の前記テスト結果を受信することを特徴とする付記１０に記載の回路テストシステム。
（付記１２）テスト対象回路のテスト用の情報を前記第１端子群を介して受信し、伸長して前記テスト対象回路に送信する第２伸長装置を有することを特徴とする付記１０または１１のいずれかに記載の回路テストシステム。
（付記１３）テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、前記テスト対象回路のテスト結果の受信に用いる第２端子群と、前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を介して前記テスト対象回路からのテスト結果を受信する制御部と、を有することを特徴とする回路テストユニット。
（付記１４）前記制御部は、前記第１端子群の一部である第３端子群を前記結果要求情報の送信に利用し、前記第２端子群を介して前記テスト結果の一部を受信し、前記第１端子群のうち、前記第３端子群以外の端子である第４端子群を介して前記テスト結果の残りを受信することを特徴とする付記１３に記載の回路テストユニット。
（付記１５）前記第１端子群は、書込みテストの書込みデータ・アドレスが圧縮された情報であるテスト用情報の送信にも用いられることを特徴とする付記１３または１４のいずれかに記載の回路テストユニット。
（付記１６）前記制御部は、前記書込みデータ・アドレスを圧縮する際に、前記書込みデータ・アドレスを書込みデータと書込みアドレスに分割し、分割した前記書込みデータと前記書込みアドレスを独立に圧縮し、圧縮した前記書込みデータと前記書込みアドレスを結合することを特徴とする付記１５記載の回路テストユニット。
（付記１７）テスト対象回路のテスト結果を要求する結果要求情報の送信に用いる第１端子群と、前記テスト対象回路のテスト結果の受信に用いる第２端子群とを共用し、前記第１端子群のうち、前記結果要求情報の送信に利用しなかった前記端子群を前記テスト対象回路からのテスト結果の受信に利用することを特徴とする回路テスト方法。
（付記１８）前記第１端子群の一部である第３端子群を前記結果要求情報の送信に利用し、前記テスト結果を分割し、前記第２端子群を前記テスト結果の一部の受信に利用し、前記第１端子群のうち、前記第３端子群以外の端子である第４端子群を、前記テスト結果の残りの受信に利用することを特徴とする付記１７に記載の回路テスト方法。
（付記１９）前記第１端子群を、テスト用情報の送信にも用いることを特徴とする付記１７または１８のいずれかに記載の回路テスト方法。
上記した実施形態では、本発明を、ＦＰＧＡに代表される再構成可能デバイスをテスト対象回路とし、かつ、回路テストユニットから送られる情報を構成情報とする場合に適用した例を説明したが、本発明はこれに限定されることはない。
即ち、回路テストユニットは、テスト対象回路に対して、読出しと書込みを行う必要があることから、本発明はかかるテスト対象回路だけに制約を受けるものではない。
また、上記した実施形態では、読出しデータを圧縮していないが、非圧縮の期待値との比較が可能であれば、読出しデータを圧縮した上で、読み出しデータ用の総出力端子数を減らし、その上で、書込みデータ端子（第１端子群１３０ａ）と共有化することも可能である。
なお、本出願は、２００９年５月２０日に出願された、日本国特許出願第２００９−１２２０４８号からの優先権を基礎として、その利益を主張するものであり、その開示はここに全て参考として取り込む。
【図１】
2010134403.tif 000003
【図２】
2010134403.tif 000004
【図３】
2010134403.tif 000005
【図４】
2010134403.tif 000006
【図５】
2010134403.tif 000007
【図６】
2010134403.tif 000008
【図７】
2010134403.tif 000009
【図８】
2010134403.tif 000010
【図９】
2010134403.tif 000011
【図１０】
2010134403.tif 000012
【図１１】
2010134403.tif 000013
【国際調査報告】
2010134403.tif 000014
2010134403.tif 000015
2010134403.tif 000016
2010134403.tif 000017