(57)【要約】【課題】タイミングエラーを容易に救済することができる集積回路を提供することを課題とする。【解決手段】集積回路は、第１のロジック回路内のパスのデータ又はクロック信号を遅延する第１の遅延回路（１０８）と、第１のロジック回路に第１のテストデータを入力した場合の第１のロジック回路の出力データと第１の期待値とを比較する第１の期待値比較回路（１０５）と、交流信号を生成する自励発振回路（１０３）と、自励発振回路により生成された交流信号の基準交流信号に対する周波数の高低を比較する信号比較回路（１０３）と、第１のロジック回路の出力データが第１の期待値と異なる場合、信号比較回路の比較結果を記憶する第１の記憶回路（１０４）とを有し、第１の遅延回路は、第１の記憶回路に記憶されている信号比較回路の比較結果に応じて、データ又はクロック信号の遅延時間を変更する。【選択図】図１
2016025275.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する第１のロジック回路と、
前記第１のロジック回路内のパスのデータ又はクロック信号を遅延する第１の遅延回路と、
前記第１のロジック回路に第１のテストデータを入力した場合の前記第１のロジック回路の出力データと第１の期待値とを比較する第１の期待値比較回路と、
交流信号を生成する自励発振回路と、
前記自励発振回路により生成された交流信号の基準交流信号に対する周波数の高低を比較する信号比較回路と、
前記第１のロジック回路の出力データが前記第１の期待値と異なる場合、前記信号比較回路の比較結果を記憶する第１の記憶回路とを有し、
前記第１の遅延回路は、前記第１の記憶回路に記憶されている前記信号比較回路の比較結果に応じて、前記データ又はクロック信号の遅延時間を変更することを特徴とする集積回路。
【請求項２】
前記第１の遅延回路は、前記第１のロジック回路に前記第１のテストデータが入力された場合には、第１の遅延時間で前記データを遅延し、
前記第１の遅延回路は、
前記自励発振回路により生成された交流信号が基準交流信号に対して周波数が高い情報が前記第１の記憶回路に記憶されている場合には、前記データの遅延時間を前記第１の遅延時間より長くし、
前記自励発振回路により生成された交流信号が基準交流信号に対して周波数が低い情報が前記第１の記憶回路に記憶されている場合には、前記データの遅延時間を前記第１の遅延時間より短くすることを特徴とする請求項１記載の集積回路。
【請求項３】
前記第１の遅延回路は、前記第１のロジック回路に前記第１のテストデータが入力された場合には、第１の遅延時間で前記クロック信号を遅延し、
前記第１の遅延回路は、
前記自励発振回路により生成された交流信号が基準交流信号に対して周波数が高い情報が前記第１の記憶回路に記憶されている場合には、前記クロック信号の遅延時間を前記第１の遅延時間より短くし、
前記自励発振回路により生成された交流信号が基準交流信号に対して周波数が低い情報が前記第１の記憶回路に記憶されている場合には、前記クロック信号の遅延時間を前記第１の遅延時間より長くすることを特徴とする請求項１記載の集積回路。
【請求項４】
前記第１の記憶回路は、前記第１のロジック回路の出力データが前記第１の期待値と同じ場合には、初期値の記憶を維持し、
前記第１の遅延回路は、前記第１の記憶回路に初期値が記憶されている場合には、前記データ又はクロック信号の遅延時間を変更しないことを特徴とする請求項１〜３のいずれか１項に記載の集積回路。
【請求項５】
さらに、データを処理する第２のロジック回路と、
前記第２のロジック回路内のパスのデータ又はクロック信号を遅延する第２の遅延回路と、
前記第２のロジック回路に第２のテストデータを入力した場合の前記第２のロジック回路の出力データと第２の期待値とを比較する第２の期待値比較回路と、
前記第２のロジック回路の出力データが前記第２の期待値と異なる場合、前記信号比較回路の比較結果を記憶する第２の記憶回路とを有し、
前記第２の遅延回路は、前記第２の記憶回路に記憶されている前記信号比較回路の比較結果に応じて、前記データ又はクロック信号の遅延時間を変更することを特徴とする請求項１〜４のいずれか１項に記載の集積回路。
【請求項６】
データを処理する第１のロジック回路と、
前記第１のロジック回路内のパスのデータ又はクロック信号を遅延する第１の遅延回路と、
交流信号を生成する自励発振回路とを有する集積回路の試験方法であって、
前記第１のロジック回路に第１のテストデータを入力した場合の前記第１のロジック回路の出力データと第１の期待値とを比較し、
前記自励発振回路により生成された交流信号の基準交流信号に対する周波数の高低を比較し、
前記第１のロジック回路の出力データが前記第１の期待値と異なる場合、前記信号比較回路の比較結果を第１の記憶回路に記憶し、
前記第１の記憶回路に記憶されている前記信号比較回路の比較結果に応じて、前記第１の遅延回路の遅延時間を変更することを特徴とする集積回路の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路及び集積回路の試験方法に関する。
【背景技術】
【０００２】
外部入力端子からフリップフロップのクロック入力端子までのクロック信号の遅延値を変えるための可変遅延器を備えた半導体集積回路が知られている（特許文献１参照）。クロックツリーを構成する複数のクロックの信号線上にそれぞれ可変遅延器が設けられる。可変遅延器は、それぞれ制御信号で遅延値を等間隔で変更することを可能とする。タイミングエラーが生じた任意のクロックの信号線上の可変遅延器の遅延値を変化させることで、製造後の半導体集積回路上に存在するセットアップエラーまたはホールドエラーを救済し、所期の動作を保証する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３０３１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体集積回路のタイミングエラーが発生した場合には、可変遅延器の遅延値を変化させることにより、タイミングエラーを救済可能である。しかし、タイミングエラーを救済するには、可変遅延器の遅延値をどのように変化させるのかを決定することが困難であり、煩雑であり、長時間を要する。
【０００５】
本発明の目的は、タイミングエラーを容易に救済することができる集積回路及び集積回路の試験方法を提供することである。
【課題を解決するための手段】
【０００６】
集積回路は、データを処理する第１のロジック回路と、前記第１のロジック回路内のパスのデータ又はクロック信号を遅延する第１の遅延回路と、前記第１のロジック回路に第１のテストデータを入力した場合の前記第１のロジック回路の出力データと第１の期待値とを比較する第１の期待値比較回路と、交流信号を生成する自励発振回路と、前記自励発振回路により生成された交流信号の基準交流信号に対する周波数の高低を比較する信号比較回路と、前記第１のロジック回路の出力データが前記第１の期待値と異なる場合、前記信号比較回路の比較結果を記憶する第１の記憶回路とを有し、前記第１の遅延回路は、前記第１の記憶回路に記憶されている前記信号比較回路の比較結果に応じて、前記データ又はクロック信号の遅延時間を変更する。
【発明の効果】
【０００７】
周波数の高低の比較結果に応じて遅延時間を変更することにより、タイミングエラーを容易に救済することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態による集積回路の構成例を示す図である。
【図２】図２は、ロジック回路及び期待値比較回路の構成例を示す図である。
【図３】図３（Ａ）〜（Ｃ）は、検出回路を説明するための図である。
【図４】図４は、記憶回路の構成例を示す回路図である。
【図５】図５（Ａ）〜（Ｃ）は、第１のロジック回路を説明するための図である。
【図６】図６（Ａ）〜（Ｃ）は、他の第１のロジック回路を説明するための図である。
【図７】図７は、集積回路の試験方法を示すフローチャートである。
【発明を実施するための形態】
【０００９】
図１は、本実施形態による集積回路の構成例を示す図である。集積回路は、ＢＩＳＴ（Built-In Self Test）回路１０１及びロジック回路１０６を有する。ＢＩＳＴ回路１０１は、パターン発生回路１０２、検出回路１０３、記憶回路１０４及び期待値比較回路１０５を有する。ロジック回路１０６は、セル１０７、遅延回路１０８及びセル１０９を有する。
【００１０】
パターン発生回路１０２は、ロジック回路１０６にテストデータを出力する。ロジック回路１０６は、パターン発生回路１０２からテストデータを入力し、入力したデータの論理処理を行い、期待値比較回路１０５にデータを出力する。具体的には、セル１０７は、パターン発生回路１０２からテストデータを入力し、遅延回路１０８を介して、データをセル１０９に出力する。セル１０９は、データを期待値比較回路１０５に出力する。期待値比較回路１０５は、ロジック回路１０６にテストデータを入力した場合のロジック回路１０６の出力データと期待値とを比較する。この期待値は、ロジック回路１０６が正常な場合に、ロジック回路１０６がテストデータを入力した場合にロジック回路１０６が出力する正常なデータである。期待値比較回路１０５は、上記のロジック回路１０６の出力データと期待値が同じである場合には、テスト合格を示す信号を記憶回路１０４に出力し、上記のロジック回路１０６の出力データと期待値が異なる場合には、テスト失敗を示す信号を記憶回路１０４に出力する。
【００１１】
検出回路１０３は、交流信号を生成する自励発振回路を有する。ＢＩＳＴ回路１０１及びロジック回路１０６は、同一の集積回路（半導体チップ）内に形成される。そのため、自励発振回路内のトランジスタは、セル１０７及び１０８内のトランジスタと同様の特性を有する。自励発振回路により生成された交流信号が基準交流信号に対して周波数が高い場合には、ロジック回路１０６内のデータタイミングが早すぎて、タイミングエラーになり易い。これに対し、自励発振回路により生成された交流信号が基準交流信号に対して周波数が低い場合には、ロジック回路１０６内のデータタイミングが遅すぎて、タイミングエラーになり易い。検出回路１０３は、自励発振回路により生成された交流信号の基準交流信号に対する周波数の高低を比較し、その比較結果を記憶回路１０４に出力する。
【００１２】
記憶回路１０４は、期待値比較回路１０５からテスト合格の信号を入力した場合には、遅延回路１０８の遅延時間を変更しない。これに対し、記憶回路１０４は、期待値比較回路１０５からテスト失敗の信号を入力した場合、検出回路１０３の自励発振回路により生成された交流信号の周波数が基準交流信号の周波数より高い場合には、遅延回路１０８の遅延時間を長くする。また、記憶回路１０４は、期待値比較回路１０５からテスト失敗の信号を入力した場合、検出回路１０３の自励発振回路により生成された交流信号の周波数が基準交流信号の周波数より低い場合には、遅延回路１０８の遅延時間を短くする。上記のように、遅延回路１０８の遅延時間を変更することにより、タイミングエラーを解消させることができる。
【００１３】
図２は、図１のロジック回路１０６及び期待値比較回路１０５の構成例を示す図である。集積回路は、例えば、３個のロジック回路１０６ａ，１０６ｂ，１０６ｃ及び３個の期待値比較回路１０５ａ，１０５ｂ，１０５ｃを有する。ロジック回路１０６ａ，１０６ｂ，１０６ｃは図１のロジック回路１０６に対応し、期待値比較回路１０５ａ，１０５ｂ，１０５ｃは図１の期待値比較回路１０５に対応する。なお、期待値比較回路１０５ａ，１０５ｂ，１０５ｃは、ＢＩＳＴ回路１０１に対して、中に設けてもよいし、外に設けてもよい。
【００１４】
第１のロジック回路１０６ａは、セル１０７ａ、第１の遅延回路１０８ａ及びセル１０９ａを有する。セル１０７ａは図１のセル１０７に対応し、第１の遅延回路１０８ａは図１の遅延回路１０８に対応し、セル１０９ａは図１のセル１０９に対応する。セル１０７ａは、Ｄ型フリップフロップであり、ＢＩＳＴ回路１０１から第１のテストデータを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。第１の遅延回路１０８ａは、セル１０７ａの出力端子Ｄのデータを遅延し、その遅延したデータをセル１０９ａの入力端子Ｄに出力する。セル１０９ａは、Ｄ型フリップフロップであり、第１の遅延回路１０８ａの出力データを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。
【００１５】
第２のロジック回路１０６ｂは、セル１０７ｂ、第２の遅延回路１０８ｂ及びセル１０９ｂを有する。セル１０７ｂは図１のセル１０７に対応し、第２の遅延回路１０８ｂは図１の遅延回路１０８に対応し、セル１０９ｂは図１のセル１０９に対応する。セル１０７ｂは、Ｄ型フリップフロップであり、ＢＩＳＴ回路１０１から第２のテストデータを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。第２の遅延回路１０８ｂは、セル１０７ｂの出力端子Ｄのデータを遅延し、その遅延したデータをセル１０９ｂの入力端子Ｄに出力する。セル１０９ｂは、Ｄ型フリップフロップであり、第２の遅延回路１０８ｂの出力データを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。
【００１６】
第３のロジック回路１０６ｃは、セル１０７ｃ、第３の遅延回路１０８ｃ及びセル１０９ｃを有する。セル１０７ｃは図１のセル１０７に対応し、第３の遅延回路１０８ｃは図１の遅延回路１０８に対応し、セル１０９ｃは図１のセル１０９に対応する。セル１０７ｃは、Ｄ型フリップフロップであり、ＢＩＳＴ回路１０１から第３のテストデータを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。第３の遅延回路１０８ｃは、セル１０７ｃの出力端子Ｄのデータを遅延し、その遅延したデータをセル１０９ｃの入力端子Ｄに出力する。セル１０９ｃは、Ｄ型フリップフロップであり、第３の遅延回路１０８ｃの出力データを入力端子Ｄに入力し、ＢＩＳＴ回路１０１からクロック信号をクロック端子ＣＫに入力し、出力端子Ｄからデータを出力する。
【００１７】
第１の期待値比較回路１０５ａは、インバータ２０１，２０２、論理積（ＡＮＤ）回路２０３，２０４及び論理和（ＯＲ）回路２０５を有する。インバータ２０１は、ＢＩＳＴ回路１０１が出力する第１の期待値の論理反転データを出力する。インバータ２０２は、セル１０９ａの出力端子Ｑの出力データの論理反転データを出力する。論理積回路２０３は、セル１０９ａの出力端子Ｑの出力データ及びＢＩＳＴ回路１０１が出力する第１の期待値の論理積データを出力する。論理積回路２０４は、インバータ２０１及び２０２の出力データの論理積データを出力する。論理和回路２０５は、論理積回路２０３及び２０４の出力データの論理和データを比較結果データＹ１として出力する。
【００１８】
第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａから「０」のデータを入力し、ＢＩＳＴ回路１０１から「０」のデータを入力すると、論理積回路２０４が「１」のデータを出力し、比較結果データＹ１が「１」になる。また、第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａから「１」のデータを入力し、ＢＩＳＴ回路１０１から「１」のデータを入力すると、論理積回路２０３が「１」のデータを出力し、比較結果データＹ１が「１」になる。また、それ以外の場合には、比較結果データＹ１が「０」になる。すなわち、第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａの出力データとＢＩＳＴ回路１０１から入力する第１の期待値とが同じ場合には、「１」の比較結果データＹ１を出力し、第１のロジック回路１０６ａの出力データとＢＩＳＴ回路１０１から入力する第１の期待値とが異なる場合には、「０」の比較結果データＹ１を出力する。
【００１９】
第２の期待値比較回路１０５ｂは、第１の期待値比較回路１０５ａと同じ構成を有する。第２の期待値比較回路１０５ｂは、第２のロジック回路１０６ｂの出力データとＢＩＳＴ回路１０１から入力する第２の期待値とが同じ場合には、「１」の比較結果データＹ２を出力し、第２のロジック回路１０６ｂの出力データとＢＩＳＴ回路１０１から入力する第２の期待値とが異なる場合には、「０」の比較結果データＹ２を出力する。
【００２０】
第３の期待値比較回路１０５ｃは、第１の期待値比較回路１０５ａと同じ構成を有する。第３の期待値比較回路１０５ｃは、第３のロジック回路１０６ｃの出力データとＢＩＳＴ回路１０１から入力する第３の期待値とが同じ場合には、「１」の比較結果データＹ３を出力し、第３のロジック回路１０６ｃの出力データとＢＩＳＴ回路１０１から入力する第３の期待値とが異なる場合には、「０」の比較結果データＹ３を出力する。
【００２１】
図３（Ａ）は、図１の検出回路１０３の構成例を示す図である。検出回路１０３は、自励発振回路３０１及び信号比較回路３０３を有する。自励発振回路３０１は、例えばリング発振回路であり、複数のインバータ３０２のリング回路を有する。自励発振回路３０１は、スタートパルス信号（初期値）を入力端子Ａに入力すると、自励発振により交流信号を生成し、交流信号Ｂを出力する。信号比較回路３０３は、自励発振回路３０１により生成された交流信号Ｂの基準交流信号Ｃに対する周波数の高低を比較し、比較結果データＸを出力する。自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い場合には、比較結果データＸが「１」になる。これに対し、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い場合には、比較結果データＸが「０」になる。
【００２２】
図３（Ｂ）は、図３（Ａ）の信号比較回路３０３の構成例を示す回路図である。図３（Ｃ）は、交流信号Ｂの周波数が基準交流信号Ｃの周波数より高い場合のタイミングチャートである。図３（Ｄ）は、交流信号Ｂの周波数が基準交流信号Ｃの周波数以下の場合のタイミングチャートである。なお、信号は、ハイレベルが「１」を示し、ローレベルが「０」を示す。
【００２３】
論理積回路３１１は、交流信号Ｂ及び基準交流信号Ｃの論理積信号Ｄを出力する。交流信号Ｂ及び基準交流信号Ｃは、例えばクロック信号である。トライステートインバータ３１２は、基準交流信号Ｃがハイレベルの場合には、論理積信号Ｄの論理反転データを出力し、基準交流信号Ｃがローレベルの場合には、出力がハイインピーダンス状態になる。インバータ３１３は、トライステートインバータ３１２の出力データの論理反転データを比較結果データＸとして出力する。インバータ３１４は、入力端子がインバータ３１３の出力端子に接続され、出力端子がインバータ３１３の入力端子に接続される。
【００２４】
図３（Ｃ）に示すように、交流信号Ｂの周波数が基準交流信号Ｃの周波数より高い場合には、比較結果データＸが「１」になる。また、図３（Ｄ）に示すように、交流信号Ｂの周波数が基準交流信号Ｃの周波数以下の場合には、比較結果データＸが「０」になる。
【００２５】
図４は、図１の記憶回路１０４の構成例を示す回路図である。記憶回路１０４は、第１の記憶回路、第２の記憶回路及び第３の記憶回路を有する。図４の記憶回路は、第ｎの記憶回路の構成例を示す。第１の記憶回路は、図２の第１の期待値比較回路１０５ａから比較結果データＹ１を入力する。第２の記憶回路は、図２の第２の期待値比較回路１０５ｂから比較結果データＹ２を入力する。第３の記憶回路は、図２の第３の期待値比較回路１０５ｃから比較結果データＹ３を入力する。すなわち、第ｎの記憶回路は、図２の第ｎの期待値比較回路から比較結果データＹｎを入力する。ここで、ｎは、例えば１、２又は３である。
【００２６】
電気ヒューズ回路４０２は、バッファ４１１、電気ヒューズ４１２及びｎチャネル電界効果トランジスタ４１３，４１４を有する。電気ヒューズ回路４０３は、インバータ４２１、電気ヒューズ４２２及びｎチャネル電界効果トランジスタ４２３，４２４を有する。データＡ２は、電気ヒューズ４１２の切断／未切断状態に応じたデータである。データＡ３は、電気ヒューズ４２２の切断／未切断状態に応じたデータである。
【００２７】
トライステート回路４０１は、比較結果データＹｎがハイレベルの場合には、テスト合格であるので、出力がハイインピーダンス状態になり、トランジスタ４１３及び４２３がオフし、電気ヒューズ４１２及び４２２が未切断状態になる。その結果、信号Ａ２及びＡ３は、ローレベルになり、否定論理和回路４０４は、ハイレベルのデータＦＮを出力する。データＦＨは、データＡ２と同じローレベルになる。また、データＦＬは、データＡ３と同じローレベルになる。
【００２８】
また、トライステート回路４０１は、比較結果データＹｎがローレベルの場合には、テスト失敗であるので、比較結果データＸをデータＡ１として出力する。比較結果データＹｎがローレベルであり、比較結果データＸがハイレベルである場合、トランジスタ４１３がオンになり、トランジスタ４２３がオフになる。その結果、電気ヒューズ４１２に高電圧ＶＢが印加され、電気ヒューズ４１２が切断状態となり、データＡ２がハイレベルになる。電気ヒューズ４２２は、未切断状態になり、データＡ３がローレベルになる。データＦＨは、データＡ２と同じハイレベルになる。データＦＬは、データＡ３と同じローレベルになる。データＦＮは、ローレベルになる。
【００２９】
また、比較結果データＹｎがローレベルであり、比較結果データＸがローレベルである場合、トランジスタ４１３がオフになり、トランジスタ４２３がオンになる。その結果、電気ヒューズ４２２に高電圧ＶＢが印加され、電気ヒューズ４２２が切断状態となり、データＡ３がハイレベルになる。電気ヒューズ４１２は、未切断状態になり、データＡ２がローレベルになる。データＦＨは、データＡ２と同じローレベルになる。データＦＬは、データＡ３と同じハイレベルになる。データＦＮは、ローレベルになる。
【００３０】
以上のように、比較結果データＹｎがハイレベルであり、テスト合格である場合には、データＦＨ及びＦＬがローレベルになり、データＦＮがハイレベルになる。
【００３１】
また、比較結果データＹｎがローレベルであり、テスト失敗である場合、比較結果データＸがハイレベルである場合にはデータＦＨがハイレベルであり、データＦＮ及びＦＬがローレベルである。
【００３２】
また、比較結果データＹｎがローレベルであり、テスト失敗である場合、比較結果データＸがローレベルである場合にはデータＦＬがハイレベルであり、データＦＨ及びＦＮがローレベルである。
【００３３】
図５（Ａ）は、図２の第１のロジック回路１０６ａの構成例を示す回路図である。第１のロジック回路１０６ａは、セル１０７ａ，１０９ａ及び第１の遅延回路１０８ａを有する。セル１０７ａは、入力端子ＤにデータＤＤを入力し、クロック端子ＣＫにクロック信号ＣＫ１を入力し、出力端子ＱからデータＤ１を出力する。
【００３４】
第１の遅延回路１０８ａは、トライステート回路５０１〜５０３及びバッファ５０４〜５０６を有する。データＦＮがハイレベルであり、データＦＨ及びＦＬがローレベルである場合、トライステート回路５０２は、データＤ１をそのまま出力し、トライステート回路５０１及び５０３の出力はハイインピーダンス状態になる。バッファ５０６は、データＤ１を所定の遅延時間で遅延したデータＤ２をセル１０９ａに出力する。この場合、データＤ２は、データＤ１に対して、１個のバッファ５０６分の遅延時間を有する。この場合のデータＤ２は、図５（Ｂ）及び（Ｃ）のデータＤ２ｂとして示す。ＢＩＳＴ回路１０１が第１のテストデータを第１のロジック回路１０６ａの出力する場合には、図４の電気ヒューズ４１２及び４２２は未切断状態であり、データＦＮがハイレベルになり、データＤ２ｂがセル１０９ａに出力される。そして、比較結果データＹ１がハイレベルになり、テスト合格である場合には、データＦＮのハイレベルが維持され、テスト後もデータＤ２ｂがセル１０９ａに出力される。
【００３５】
図５（Ｂ）は、データＦＨがハイレベルであり、データＦＮ及びＦＬがローレベルである場合のタイミングチャートを示す。この場合、トライステート回路５０１は、データＤ１をそのまま出力し、トライステート回路５０２及び５０３の出力はハイインピーダンス状態になる。バッファ５０４及び５０５は、データＤ１を所定の遅延時間で遅延したデータＤ２をセル１０９ａに出力する。この場合、データＤ２は、データＤ１に対して、２個のバッファ５０４及び５０５分の遅延時間を有する。この場合のデータＤ２は、図５（Ｂ）のデータＤ２ａとして示す。データＤ２ａは、２個のバッファ５０４及び５０５を通過したデータである。これに対し、データＤ２ｂは、上記のように、１個のバッファ５０６を通過したデータである。データＤ２ａは、データＤ２ｂに対して、遅延時間が長い。比較結果データＹ１がローレベルになり、テスト失敗の場合、比較結果データＸがハイレベルの場合には、自励発振回路３０１の交流信号Ｂの周波数が基準交流信号Ｃの周波数より高いので、２個のバッファ５０４及び５０５を通過したデータＤ２ａがセル１０９ａに出力される。データＤ２ａは、データＤ２ｂより遅延時間が長いので、タイミングエラーを解消することができる。
【００３６】
図５（Ｃ）は、データＦＬがハイレベルであり、データＦＨ及びＦＮがローレベルである場合のタイミングチャートを示す。この場合、トライステート回路５０３は、データＤ１をそのまま出力し、トライステート回路５０１及び５０２の出力はハイインピーダンス状態になる。トライステート回路５０３の出力データは、バッファを介さずに、データＤ２としてセル１０９ａに出力される。この場合、データＤ２は、データＤ１に対して、バッファの遅延時間がない。この場合のデータＤ２は、図５（Ｃ）のデータＤ２ｃとして示す。データＤ２ｃは、バッファを通過しないデータである。これに対し、データＤ２ｂは、上記のように、１個のバッファ５０６を通過したデータである。データＤ２ｃは、データＤ２ｂに対して、遅延時間が短い。比較結果データＹ１がローレベルになり、テスト失敗の場合、比較結果データＸがローレベルの場合には、自励発振回路３０１の交流信号Ｂの周波数が基準交流信号Ｃの周波数以下であるので、バッファを通過しないデータＤ２ｃがセル１０９ａに出力される。データＤ２ｃは、データＤ２ｂより遅延時間が短いので、タイミングエラーを解消することができる。
【００３７】
以上のように、第１の遅延回路１０８ａは、第１のロジック回路１０６ａに第１のテストデータが入力された場合には、第１の遅延時間でデータＤ１を遅延する。第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａに第１のテストデータを入力した場合の第１のロジック回路１０６ａの出力データと第１の期待値とを比較する。信号比較回路３０３は、自励発振回路３０１により生成された交流信号Ｂの基準交流信号Ｃに対する周波数の高低を比較する。第１の記憶回路１０４は、第１のロジック回路１０６ａの出力データが第１の期待値と異なる場合、信号比較回路３０３の比較結果データＸを記憶する。第１の遅延回路１０８ａは、第１の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、データＤ１の遅延時間を変更する。具体的には、第１の遅延回路１０８ａは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第１の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第１の遅延時間より長くする。また、第１の遅延回路１０８ａは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第１の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第１の遅延時間より短くする。また、第１の記憶回路１０４は、第１のロジック回路１０６ａの出力データが第１の期待値と同じ場合には、初期値の記憶を維持する。第１の遅延回路１０８ａは、第１の記憶回路１０４に初期値が記憶されている場合には、データＤ１の遅延時間を変更しない。
【００３８】
なお、上記では、第１のロジック回路１０６ａの例を説明したが、第２のロジック回路１０６ｂ及び第３のロジック回路１０６ｃも同様である。
【００３９】
第２の遅延回路１０８ｂは、第２のロジック回路１０６ｂに第２のテストデータが入力された場合には、第２の遅延時間でデータＤ１を遅延する。第２の期待値比較回路１０５ｂは、第２のロジック回路１０６ｂに第２のテストデータを入力した場合の第２のロジック回路１０６ｂの出力データと第２の期待値とを比較する。第２の記憶回路１０４は、第２のロジック回路１０６ｂの出力データが第２の期待値と異なる場合、信号比較回路３０３の比較結果データＸを記憶する。第２の遅延回路１０８ｂは、第２の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、データＤ１の遅延時間を変更する。具体的には、第２の遅延回路１０８ｂは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第２の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第２の遅延時間より長くする。また、第２の遅延回路１０８ｂは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第２の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第２の遅延時間より短くする。また、第２の記憶回路１０４は、第２のロジック回路１０６ｂの出力データが第２の期待値と同じ場合には、初期値の記憶を維持する。第２の遅延回路１０８ｂは、第２の記憶回路１０４に初期値が記憶されている場合には、データＤ１の遅延時間を変更しない。
【００４０】
第３の遅延回路１０８ｃは、第３のロジック回路１０６ｃに第３のテストデータが入力された場合には、第３の遅延時間でデータＤ１を遅延する。第３の期待値比較回路１０５ｃは、第３のロジック回路１０６ｃに第３のテストデータを入力した場合の第３のロジック回路１０６ｃの出力データと第３の期待値とを比較する。第３の記憶回路１０４は、第３のロジック回路１０６ｃの出力データが第３の期待値と異なる場合、信号比較回路３０３の比較結果データＸを記憶する。第３の遅延回路１０８ｃは、第３の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、データＤ１の遅延時間を変更する。具体的には、第３の遅延回路１０８ｃは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第３の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第３の遅延時間より長くする。また、第３の遅延回路１０８ｃは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第３の記憶回路１０４に記憶されている場合には、データＤ１の遅延時間を第３の遅延時間より短くする。また、第３の記憶回路１０４は、第３のロジック回路１０６ｃの出力データが第３の期待値と同じ場合には、初期値の記憶を維持する。第３の遅延回路１０８ｃは、第３の記憶回路１０４に初期値が記憶されている場合には、データＤ１の遅延時間を変更しない。
【００４１】
なお、上記では、遅延回路１０８ａ〜１０８ｃは、データＤ１を遅延する場合を例に説明したが、クロック信号ＣＫ１を遅延してもよい。以下、図６（Ａ）〜（Ｃ）を参照しながら、その詳細を説明する。
【００４２】
図６（Ａ）は、第１のロジック回路１０６ａの他の構成例を示す回路図である。以下、図６（Ａ）が図５（Ａ）と異なる点を説明する。セル１０７ａは、入力端子ＤにデータＤＤを入力し、クロック端子ＣＫにクロック信号ＣＫ１を入力し、出力端子ＱからデータＤ１を出力する。第１の遅延回路１０８ａは、クロック信号ＣＫ１を遅延してクロック信号ＣＫ２を出力する。セル１０９ａは、入力端子ＤにデータＤ１を入力し、クロック端子ＣＫにクロック信号ＣＫ２を入力し、出力端子Ｑからデータを出力する。
【００４３】
図６（Ａ）の第１の遅延回路１０８ａは、図５（Ａ）の第１の遅延回路１０８ａと同様の構成を有する。ただし、トライステート回路５０１はデータＦＬにより制御され、トライステート回路５０３はデータＦＨにより制御される。データＦＮがハイレベルであり、データＦＨ及びＦＬがローレベルである場合、トライステート回路５０２は、クロック信号ＣＫ１をそのまま出力し、トライステート回路５０１及び５０３の出力はハイインピーダンス状態になる。バッファ５０６は、クロック信号ＣＫ１を所定の遅延時間で遅延したクロック信号ＣＫ２をセル１０９ａに出力する。この場合、クロック信号ＣＫ２は、クロック信号ＣＫ１に対して、１個のバッファ５０６分の遅延時間を有する。この場合のクロック信号ＣＫ２は、図６（Ｂ）及び（Ｃ）のクロック信号ＣＫ２ｂとして示す。ＢＩＳＴ回路１０１が第１のテストデータを第１のロジック回路１０６ａの出力する場合には、図４の電気ヒューズ４１２及び４２２は未切断状態であり、データＦＮがハイレベルになり、クロック信号ＣＫ２ｂがセル１０９ａに出力される。そして、比較結果データＹ１がハイレベルになり、テスト合格である場合には、データＦＮのハイレベルが維持され、テスト後もクロック信号ＣＫ２ｂがセル１０９ａに出力される。
【００４４】
図６（Ｂ）は、データＦＬがハイレベルであり、データＦＨ及びＦＮがローレベルである場合のタイミングチャートを示す。この場合、トライステート回路５０１は、クロック信号ＣＫ１をそのまま出力し、トライステート回路５０２及び５０３の出力はハイインピーダンス状態になる。バッファ５０４及び５０５は、クロック信号ＣＫ１を所定の遅延時間で遅延したクロック信号ＣＫ２をセル１０９ａに出力する。この場合、クロック信号ＣＫ２は、クロック信号ＣＫ１に対して、２個のバッファ５０４及び５０５分の遅延時間を有する。この場合のクロック信号ＣＫ２は、図６（Ｂ）のクロック信号ＣＫ２ａとして示す。クロック信号ＣＫ２ａは、２個のバッファ５０４及び５０５を通過したクロック信号である。これに対し、クロック信号ＣＫ２ｂは、上記のように、１個のバッファ５０６を通過したクロック信号である。クロック信号ＣＫ２ａは、クロック信号ＣＫ２ｂに対して、遅延時間が長い。比較結果データＹ１がローレベルになり、テスト失敗の場合、比較結果データＸがローレベルの場合には、自励発振回路３０１の交流信号Ｂの周波数が基準交流信号Ｃの周波数以下であるので、２個のバッファ５０４及び５０５を通過したクロック信号ＣＫ２ａがセル１０９ａに出力される。クロック信号ＣＫ２ａは、クロック信号ＣＫ２ｂより遅延時間が長いので、タイミングエラーを解消することができる。
【００４５】
図５（Ｃ）は、データＦＨがハイレベルであり、データＦＮ及びＦＬがローレベルである場合のタイミングチャートを示す。この場合、トライステート回路５０３は、クロック信号ＣＫ１をそのまま出力し、トライステート回路５０１及び５０２の出力はハイインピーダンス状態になる。トライステート回路５０３の出力クロック信号は、バッファを介さずに、クロック信号ＣＫ２としてセル１０９ａに出力される。この場合、クロック信号ＣＫ２は、クロック信号ＣＫ１に対して、バッファの遅延時間がない。この場合のクロック信号ＣＫ２は、図６（Ｃ）のクロック信号ＣＫ２ｃとして示す。クロック信号ＣＫ２ｃは、バッファを通過しないクロック信号である。これに対し、クロック信号ＣＫ２ｂは、上記のように、１個のバッファ５０６を通過したクロック信号である。クロック信号ＣＫ２ｃは、クロック信号ＣＫ２ｂに対して、遅延時間が短い。比較結果データＹ１がローレベルになり、テスト失敗の場合、比較結果データＸがハイレベルの場合には、自励発振回路３０１の交流信号Ｂの周波数が基準交流信号Ｃの周波数より高いので、バッファを通過しないクロック信号ＣＫ２ｃがセル１０９ａに出力される。クロック信号ＣＫ２ｃは、クロック信号ＣＫ２ｂより遅延時間が短いので、タイミングエラーを解消することができる。
【００４６】
以上のように、第１の遅延回路１０８ａは、第１のロジック回路１０６ａに第１のテストデータが入力された場合には、第１の遅延時間でクロック信号ＣＫ１を遅延する。第１の遅延回路１０８ａは、第１の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、クロック信号ＣＫ１の遅延時間を変更する。具体的には、第１の遅延回路１０８ａは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第１の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第１の遅延時間より短くする。また、第１の遅延回路１０８ａは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第１の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第１の遅延時間より長くする。また、第１の記憶回路１０４は、第１のロジック回路１０６ａの出力データが第１の期待値と同じ場合には、初期値の記憶を維持する。第１の遅延回路１０８ａは、第１の記憶回路１０４に初期値が記憶されている場合には、クロック信号ＣＫ１の遅延時間を変更しない。
【００４７】
なお、上記では、第１のロジック回路１０６ａの例を説明したが、第２のロジック回路１０６ｂ及び第３のロジック回路１０６ｃも同様である。
【００４８】
第２の遅延回路１０８ｂは、第２のロジック回路１０６ｂに第２のテストデータが入力された場合には、第２の遅延時間でクロック信号ＣＫ１を遅延する。第２の遅延回路１０８ｂは、第２の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、クロック信号ＣＫ１の遅延時間を変更する。具体的には、第２の遅延回路１０８ｂは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第２の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第２の遅延時間より短くする。また、第２の遅延回路１０８ｂは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第２の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第２の遅延時間より長くする。また、第２の記憶回路１０４は、第２のロジック回路１０６ｂの出力データが第２の期待値と同じ場合には、初期値の記憶を維持する。第２の遅延回路１０８ｂは、第２の記憶回路１０４に初期値が記憶されている場合には、クロック信号ＣＫ１の遅延時間を変更しない。
【００４９】
第３の遅延回路１０８ｃは、第３のロジック回路１０６ｃに第３のテストデータが入力された場合には、第３の遅延時間でクロック信号ＣＫ１を遅延する。第３の遅延回路１０８ｃは、第３の記憶回路１０４に記憶されている信号比較回路３０３の比較結果データＸに応じて、クロック信号ＣＫ１の遅延時間を変更する。具体的には、第３の遅延回路１０８ｃは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が高い情報が第３の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第３の遅延時間より短くする。また、第３の遅延回路１０８ｃは、自励発振回路３０１により生成された交流信号Ｂが基準交流信号Ｃに対して周波数が低い情報が第３の記憶回路１０４に記憶されている場合には、クロック信号ＣＫ１の遅延時間を第３の遅延時間より長くする。また、第３の記憶回路１０４は、第３のロジック回路１０６ｃの出力データが第３の期待値と同じ場合には、初期値の記憶を維持する。第３の遅延回路１０８ｃは、第３の記憶回路１０４に初期値が記憶されている場合には、クロック信号ＣＫ１の遅延時間を変更しない。
【００５０】
図７は、集積回路の試験方法を示すフローチャートである。半導体ウェハ試験が開始すると、ステップＳ７０１に進む。以下、遅延回路１０８ａ〜１０８ｃがデータＤ１を遅延させる例を説明するが、クロック信号ＣＫ１を遅延させる場合も同様である。
【００５１】
ステップＳ７０１では、ＢＩＳＴ回路１０１は、テストパターンデータを生成し、第１のテストデータを第１のロジック回路１０６ａに出力し、第２のテストデータを第２のロジック回路１０６ｂに出力し、第３のテストデータを第３のロジック回路１０６ｃに出力する。この際、第１〜第３の記憶回路１０４の電気ヒューズ４１２及び４２２は未切断状態であり、データＦＮがハイレベルであり、データＦＨ及びＦＬがローレベルである。第１〜第３の遅延回路１０８ａ〜１０８ｃは、１個のバッファ５０６を通過したデータＤ２ｂを出力する。その後、ステップＳ７０２及びＳ７０５に進む。
【００５２】
ステップＳ７０２では、ロジック回路試験のため、第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａの出力データと第１の期待値とを比較し、比較結果データＹ１を出力する。第２の期待値比較回路１０５ｂは、第２のロジック回路１０６ｂの出力データと第２の期待値とを比較し、比較結果データＹ２を出力する。第３の期待値比較回路１０５ｃは、第３のロジック回路１０６ｃの出力データと第３の期待値とを比較し、比較結果データＹ３を出力する。
【００５３】
次に、ステップＳ７０３では、すべての比較結果データＹ１〜Ｙ３がハイレベルである場合には、テスト合格であるので、ステップＳ７０４に進む。比較結果データＹ１〜Ｙ３の中にローレベルのデータがある場合には、テスト失敗であるので、ステップＳ７０６に進む。ステップＳ７０４では、集積回路は良品と判定され、半導体ウェハ試験が終了する。
【００５４】
ステップＳ７０５では、自励発振回路（リング発振回路）３０１は、スタートパルス信号を入力し、自励発振により交流信号Ｂを生成する。信号比較回路３０３は、交流信号Ｂ及び基準交流信号Ｃの周波数を比較する。信号比較回路３０３は、交流信号Ｂの周波数が基準交流信号Ｃの周波数より高い場合には、ハイレベルの比較結果データＸを出力し、高くない場合には、ローレベルの比較結果データＸを出力する。その後、ステップＳ７０６に進む。
【００５５】
ステップＳ７０６では、第１の記憶回路１０４は、第１の期待値比較回路１０５ａにより出力される比較結果データＹ１がローレベルである場合には、信号比較回路３０３により出力される比較結果データＸに応じて電気ヒューズ４１２又は４２２を切断する。比較結果データＸがハイレベルである場合には、データＦＨがハイレベルになり、第１の遅延回路１０８ａは、２個のバッファ５０４及び５０５を通過したデータＤ２ａを出力する。比較結果データＸがローレベルである場合には、データＦＬがハイレベルになり、第１の遅延回路１０８ａは、バッファを通過しないデータＤ２ｃを出力する。
【００５６】
第２の記憶回路１０４は、第２の期待値比較回路１０５ｂにより出力される比較結果データＹ２がローレベルである場合には、信号比較回路３０３により出力される比較結果データＸに応じて電気ヒューズ４１２又は４２２を切断する。比較結果データＸがハイレベルである場合には、データＦＨがハイレベルになり、第２の遅延回路１０８ｂは、２個のバッファ５０４及び５０５を通過したデータＤ２ａを出力する。比較結果データＸがローレベルである場合には、データＦＬがハイレベルになり、第２の遅延回路１０８ｂは、バッファを通過しないデータＤ２ｃを出力する。
【００５７】
第３の記憶回路１０４は、第３の期待値比較回路１０５ｃにより出力される比較結果データＹ３がローレベルである場合には、信号比較回路３０３により出力される比較結果データＸに応じて電気ヒューズ４１２又は４２２を切断する。比較結果データＸがハイレベルである場合には、データＦＨがハイレベルになり、第３の遅延回路１０８ｃは、２個のバッファ５０４及び５０５を通過したデータＤ２ａを出力する。比較結果データＸがローレベルである場合には、データＦＬがハイレベルになり、第３の遅延回路１０８ｃは、バッファを通過しないデータＤ２ｃを出力する。
【００５８】
次に、ステップＳ７０７では、ＢＩＳＴ回路１０１は、再び、第１のテストデータを第１のロジック回路１０６ａに出力し、第２のテストデータを第２のロジック回路１０６ｂに出力し、第３のテストデータを第３のロジック回路１０６ｃに出力する。第１の期待値比較回路１０５ａは、第１のロジック回路１０６ａの出力データと第１の期待値とを比較し、比較結果データＹ１を出力する。第２の期待値比較回路１０５ｂは、第２のロジック回路１０６ｂの出力データと第２の期待値とを比較し、比較結果データＹ２を出力する。第３の期待値比較回路１０５ｃは、第３のロジック回路１０６ｃの出力データと第３の期待値とを比較し、比較結果データＹ３を出力する。
【００５９】
次に、ステップＳ７０８では、すべての比較結果データＹ１〜Ｙ３がハイレベルである場合には、テスト合格であるので、ステップＳ７０９に進む。比較結果データＹ１〜Ｙ３の中にローレベルのデータがある場合には、テスト失敗であるので、ステップＳ７１０に進む。ステップＳ７０９では、集積回路は良品と判定され、半導体ウェハ試験が終了する。
【００６０】
ステップＳ７１０では、比較結果データＹ１〜Ｙ３の中のローレベルのデータに対応する記憶回路１０４の電気ヒューズ４１２及び４２２の両方が未切断である場合には、リペア可能であると判断し、ステップＳ７０６に戻り、上記の処理を繰り返す。それ以外の場合には、リペア不可と判断し、ステップＳ７１１に進む。ステップＳ７１１では、集積回路は不良品と判定され、半導体ウェハ試験が終了する。
【００６１】
以上のように、ロジック回路試験時にタイミングエラーが検出された際には、予め搭載した遅延回路１０８ａ〜１０８ｃの遅延時間を自動調整することにより、セットアップ／ホールドエラーを救済することができる。具体的には、自励発振回路３０１により生成される交流信号Ｂの周波数の高低の比較結果に応じて遅延時間を変更することにより、タイミングエラーを容易に救済することができる。また、記憶回路１０４内の電気ヒューズをロジック回路１０６毎及び半導体チップ毎で切断箇所を変えることにより、遅延時間の調整をロジック回路１０６毎及び半導体チップ毎に設定できる。そのため、外部からロジック回路１０６毎及び半導体チップ毎に遅延時間を制御する必要がなくなる。また、遅延時間制御用の外部端子を無くすことができる。
【００６２】
半導体ウェハ試験には、室温２５℃の試験と高温又は低温の試験とがある。室温２５℃の試験ではテスト合格になったとして、高温又は低温の試験ではテスト失敗と判定されてしまうことがある。その場合、本実施形態によれば、遅延回路１０８ａ〜１０８ｃの遅延時間を自動調整することにより、タイミングエラーを解消し、良品の集積回路にすることができる。
【００６３】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６４】
１０１  ＢＩＳＴ回路
１０２  パターン発生回路
１０３  検出回路
１０４  記憶回路
１０５  期待値比較回路
１０６  ロジック回路
１０７  セル
１０８  遅延回路
１０９  セル
【図１】
2016025275.tif 000003
【図２】
2016025275.tif 000004
【図３】
2016025275.tif 000005
【図４】
2016025275.tif 000006
【図５】
2016025275.tif 000007
【図６】
2016025275.tif 000008
【図７】
2016025275.tif 000009