(57)【要約】【課題】  半導体集積回路ＬＳＩが高速化、微細化するにつれて増えてきた遅延故障を簡易に検査することを可能とする遅延測定回路を提供する。【解決手段】  スキャン回路に遅延素子２４、ディレイモード用セレクタ２５を備えたディレイラインを設け、テスト時のモードをセレクタ２５のディレイモードイネーブルＤＥに“１”を設定してディレイ測定モードにする。このディレイラインにデータ遷移を入力し、キャプチャクロックによりディレイラインの値をレジスタに取り込むことにより、ディレイラインの状態を取得する。このデータをシフトしていくことによりスキャンアウト端子ディレイ値を算出し、動作周波数の遅延を測定することができる。【選択図】図２
2008064717.tif 000002
【特許請求の範囲】
【請求項１】
クロック発生回路及び論理回路を備えた半導体集積回路に複数搭載された通常動作時の前記論理回路からの入力と、テスト動作時のスキャン用データ入力端子からの入力のどちらかを選択可能な直列に接続されたスキャンフリップフロップからなる遅延測定回路であって、
前記スキャンフリップフロップには、
前記スキャン用データ入力端子からの入力と、前記論理回路からの入力との選択を行うスキャンイネーブル用セレクタと、
前記スキャンイネーブル用セレクタからの出力信号をクロック端子からのパルスにより記憶する測定用フリップフロップと、
前記スキャン用データ入力端子からの入力信号を所定値遅延させる遅延素子と、
前記遅延素子からの入力と、前記測定用フリップフロップからの入力との選択を行うディレイモード用セレクタと、
前記ディレイモード用セレクタからの出力信号を出力し、次段のスキャンフリップフロップに出力可能なスキャン用データ出力端子を備え、
前記スキャンイネーブル用セレクタをスキャンモードに、前記ディレイモード用セレクタをディレイモードに設定することにより、前記スキャン用データ入力端子からの信号を所定値遅延させて次段のスキャンフリップフロップに到達させる遅延値と、クロックパルスの次段のスキャンフリップフロップへ到達する遅延値との比較を行い、動作周波数の遅延を測定することを可能とすることを特徴とする半導体集積回路における遅延測定回路。
【請求項２】
前記測定用フリップフロップの全てに初期値として同一の信号を設定し、１回目のクロックにて前記初期値と異なる信号を前記スキャン用データ入力端子から入力し、次段のフリップフロップへと伝搬させていき、２回目のクロックにより前記測定用フリップフロップに入力されている信号を記憶させることにより、前記測定用フリップフロップの記憶した信号が、初期値か初期値と異なる信号かを判別し、前記初期値と異なる信号がどのフリップフロップまで到達したかにより、クロックの伝搬の遅延を測定することを特徴とする請求項１に記載の半導体集積回路における遅延測定回路。
【請求項３】
前記遅延素子の遅延値をクロックの遅延値より所定値大きくすることを特徴とする請求項１又は請求項２に記載の半導体集積回路における遅延測定回路。
【請求項４】
クロック発生回路及び論理回路を備えた半導体集積回路に搭載された通常動作時の前記論理回路からの入力と、テスト動作時のスキャン用データ入力端子からの入力のどちらかを選択可能なスキャンフリップフロップからなる遅延測定回路であって、
前記スキャンフリップフロップには、
通常動作時に前記論理回路から入力される信号をクロック端子からのパルスで記憶する第１の測定用フリップフロップと、
前記論理回路から所定値遅延させる遅延素子を介して入力される信号を前記クロック端子より後続のクロック端子からのパルスで記憶する第２の測定用フリップフロップと、
前記第１の測定用フリップフロップと、前記第２の測定用フリップフロップとの排他的論理和をとる回路とを備え、
前記遅延素子の遅延値を半導体集積回路における動作周波数の許容遅延値とし、前記第１の測定用フリップフロップと、前記第２の測定用フリップフロップとの出力信号が異なる場合、フェイルセイフ機能を動作させることを特徴とする半導体集積回路における遅延測定回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスキャンテストに用いる半導体集積回路に対する遅延測定回路に関する。
【背景技術】
【０００２】
一般に、半導体製品においては、製造上の不具合などによる不良品を選別するために各種のテストが行われている。これらテストには、各端子の短絡の有無または電源、グランドへの接続を測定するコンティニティテスト、各端子の入出力の直流特性を測定検査するＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）テスト、テスタにてテストパターンを入力しシミュレーションなどにより数万から数百万の論理信号の期待値と比較するファンクショナルテスト、フリップフロップをスキャン用のフリップフロップに置き換え、これらを縦続接続するスキャンチェーンを作り、回路中のフリップフロップの値を外部からシフト動作により書き込みまたは読み出したりできるようにしておき、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）ツールにてテストパターンを自動生成し、このパターンを使ってテストを行うスキャンテストなどがある。
ここで、スキャン用のフリップフロップとは、通常のフリップフロップとして動作する通常動作機能のほか、試験用のスキャンイン信号を入力とし、試験用のクロックにより動作するスキャン動作機能を備えた回路のことである。
【０００３】
また、正常なＣＭＯＳ回路では、静止電源電流（ＩＤＤＱ）がほとんど流れないことを利用したＩＤＤＱテストも行われることがある。
【０００４】
さらには近年、回路の高速化微細化に伴い重要性が増してきた遅延故障に対するテストパターン生成も行われている。これはスキャン設計（フルスキャン、パーシャルスキャン）された回路のフリップフロップ間の組み合わせ回路部を対象にして、所定の遅延時間内にデータが遷移するかどうかをテストするものであり、ＡＣスキャンまたはディレイテストと呼ばれている。
【０００５】
このディレイテストは、まず、スキャンチェーンを利用してスキャンフリップフロップに必要な値をセットする。次に、テストしたい周波数で高速にクロック信号を２つ印加する。こうすることにより、最初のクロックで前段のフリップフロップに発生した値の変化を２番目のクロックで後段のフリップフロップに取り込むことができ、前段のフリップフロップと後段のフリップフロップ間の遅延故障が検出できるものである。
【０００６】
ＡＴＰＧは、このような仕組みでテストするのに必要なテストパターンを自動生成する。すなわち、指定されたパスあるいは指定されたゲート入出力に対して仮定された遅延故障を検出するためのテストパターンの自動生成を行う。ＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｚｅｒ）などで抽出したクリティカルパスに対してパターン生成できるので、製造テストだけではなくＬＳＩがどのくらいの周波数で動作するかを調べるといった使い方もできる。
【０００７】
近年、半導体集積回路ＬＳＩが高速化、微細化するにつれて製造故障の多くがタイミングの影響によるものとなり、遅延故障の占める割合が増えてきた。この遅延故障をテストするために実動作速度のディレイテスト、ａｔ−ｓｐｅｅｄテスト手法を適用する必要があり、クロック発信器から出力されるテストクロックの周波数を所定数倍し、２パルス発生器に供給するＰＬＬ回路を備えた試験回路の技術が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−４３１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このようなディレイテストでは、クロックが高速となるため、クロック信号にスキュー、すなわち時間差による遅延が生じて誤動作を起こすという問題があった。
【０００９】
本発明の目的は、スキャンテスト手法にディレイ測定モードを付加し、簡易に動作周波数のディレイ測定を行うことを可能にする遅延測定回路を提供するものである。
【課題を解決するための手段】
【００１０】
斯かる実情に鑑み、第１の発明による半導体集積回路における遅延測定回路は、クロック発生回路及び論理回路を備えた半導体集積回路に複数搭載された通常動作時の前記論理回路からの入力と、テスト動作時のスキャン用データ入力端子からの入力のどちらかを選択可能な直列に接続されたスキャンフリップフロップからなる遅延測定回路であって、
前記スキャンフリップフロップには、前記スキャン用データ入力端子からの入力と、前記論理回路からの入力との選択を行うスキャンイネーブル用セレクタと、前記スキャンイネーブル用セレクタからの出力信号をクロック端子からのパルスにより記憶する測定用フリップフロップと、前記スキャン用データ入力端子からの入力信号を所定値遅延させる遅延素子と、前記遅延素子からの入力と、前記測定用フリップフロップからの入力との選択を行うディレイモード用セレクタと、前記ディレイモード用セレクタからの出力信号を出力し、次段のスキャンフリップフロップに出力可能なスキャン用データ出力端子を備え、
前記スキャンイネーブル用セレクタをスキャンモードに、前記ディレイモード用セレクタをディレイモードに設定することにより、前記スキャン用データ入力端子からの信号を所定値遅延させて次段のスキャンフリップフロップに到達させる遅延値と、クロックパルスの次段のスキャンフリップフロップへ到達する遅延値との比較を行い、動作周波数の遅延を測定することを可能とすることを特徴とする。
【００１１】
また、第２の発明による半導体集積回路における遅延測定回路は、前記測定用フリップフロップの全てに初期値として同一の信号を設定し、１回目のクロックにて前記初期値と異なる信号を前記スキャン用データ入力端子から入力し、次段のフリップフロップへと伝搬させていき、２回目のクロックにより前記測定用フリップフロップに入力されている信号を記憶させることにより、前記測定用フリップフロップの記憶した信号が、初期値か初期値と異なる信号かを判別し、前記初期値と異なる信号がどのフリップフロップまで到達したかにより、クロックの伝搬の遅延を測定することを特徴とする。
【００１２】
また、第３の発明による半導体集積回路における遅延測定回路は、前記遅延素子の遅延値をクロックの遅延値より所定値大きくすることを特徴とする。
【００１３】
また、第４の発明による半導体集積回路における遅延測定回路は、クロック発生回路及び論理回路を備えた半導体集積回路に搭載された通常動作時の前記論理回路からの入力と、テスト動作時のスキャン用データ入力端子からの入力のどちらかを選択可能なスキャンフリップフロップからなる遅延測定回路であって、
前記スキャンフリップフロップには、通常動作時に前記論理回路から入力される信号をクロック端子からのパルスで記憶する第１の測定用フリップフロップと、前記論理回路から所定値遅延させる遅延素子を介して入力される信号を前記クロック端子より後続のクロック端子からのパルスで記憶する第２の測定用フリップフロップと、前記第１の測定用フリップフロップと、前記第２の測定用フリップフロップとの排他的論理和をとる回路とを備え、前記遅延素子の遅延値を半導体集積回路における動作周波数の許容遅延値とし、前記第１の測定用フリップフロップと、前記第２の測定用フリップフロップとの出力信号が異なる場合、フェイルセイフ機能を動作させることを特徴とする。
【発明の効果】
【００１４】
本発明の遅延測定回路を適用することで、スキャンチェーンがあるところならすべての広範囲にわたって簡易に動作周波数のディレイ測定を行うことができる。
【００１５】
また、通常動作時に温度上昇などにより動作周波数が低下したときのフェイルセイフ機能を実現することを可能にし、回路の故障を未然に防ぐことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図示例と共に説明する。
図１は、本発明におけるディレイ測定モードを説明するための簡略化した概念図である。
【００１７】
図１の回路には、フリップフロップ１、２ａ、２ｂ、２ｃ、２ｄと、遅延素子３ａ、３ｂ、３ｃ、３ｄからなるディレイライン４を備える。
【００１８】
全てのフリップフロップ１、２ａ〜２ｄに論理値０をロードし、図１の回路にディレイ測定モードを設定した状態で、フリップフロップ１のＤ端子に論理値を“１”を準備する。クロック端子（ＣＫ）からクロックを入力すると、フリップフロップ１のＱ端子からの出力信号が次のフリップフロップ２ａのＤ端子に入力される。更に次のフリップフロップ２ｂのＤ端子には遅延素子３ａを介して信号が入力され、フリップフロップ２ｃには遅延素子３ａ、３ｂを介して信号が入力されるというように、ディレイライン４に“０”から“１”への遷移が伝搬されていく。ここで、再度クロックを入力してフリップフロップ２ａ〜２ｄに信号のラッチ（記憶）を行う。
【００１９】
フリップフロップ１に近いフリップフロップほど、“１”の伝搬が早く、“１”がラッチされる。フリップフロップ１から離れていて、クロックによるラッチ時点で“１”の信号が到達していない場合、“０”がラッチされることになる。このことにより、“０”から“１”への遷移がどこにあるかがわかる。例えば、図１の例であると、フリップフロップ２ｃから“０”がラッチされている。すなわち、遷移したのは、フリップフロップ２ｃということになる。クロックの遅延が大きいほどより後ろのフリップフロップへと遷移が伝わっていくことになる。
【００２０】
［第１の実施形態］
本発明における実施の形態の一例を図２を用いて説明する。
図２の遅延測定回路には、複数のフリップフロップ回路２０、２１ａ、２１ｂが備えられている。
【００２１】
図２では、初段のフリップフロップ２０には通常のスキャンフリップフロップを用いているが、フリップフロップ２１ａ、２１ｂと同様、本発明によるディレイ付きのスキャンフリップフロップを用いてもよい。
【００２２】
スキャンフリップフロップ２１ａ、２１ｂには、それぞれ通常のスキャンイネーブルのセレクトを行うセレクタ２２ａ、２２ｂがある。これらは、スキャンフリップフロップには内蔵されている。更に、スキャンフリップフロップ２１ａ、２１ｂには、スキャンでない普通のフリップフロップ２３ａ、２３ｂ、ディレイラインを作るための遅延素子２４ａ、２４ｂが備えられ、セレクタ２２ａ、２２ｂの手前で分岐して遅延素子２４ａ、２４ｂへと配線が施されている。遅延素子２４ａ、２４ｂの遅延値は、各フリップフロップ共通である。この遅延値は、スキャンチェーンごとになら一定でなくでもよい。
【００２３】
この他に、スキャンフリップフロップ２１ａ、２１ｂに、遅延素子２４ａ、２４ｂからの信号を選択するディレイモードとフリップフロップ２３ａ、２３ｂからの信号を選択するスキャンモードを切り替えるセレクタ２５ａ、２５ｂが備えられ、スキャンアウト端子ＳＯから出力された信号が次のフリップフロップのスキャンイン端子ＳＩに入力される構成となっている。
【００２４】
スキャン回路には通常の半導体が動作時に使うパスとテスト時にのみ使うスキャン用のデータをシフトするパスがあるが、本発明においては、データをシフトするパスにフリップフロップのラッチ動作をバイパスするセレクタ２５と遅延素子２４を追加し、ディレイラインを設けることによってディレイラインを形成している。
【００２５】
ここで、論理値が“０”から“１”に遷移する遅延を測定する場合には、まず、スキャンラインをリセットまたはスキャンチェーンすべてのスキャンフリップフロップに論理値“０”をロードしておく。
【００２６】
まず、スキャンテストを実行するのにスキャンテストモードに設定する必要がある場合は設定しておく。また、スキャンイネーブルＳＥを“１”に設定し、シフトできるようにしておく。
【００２７】
次に、フリップフロップ２０のＤ端子に論理値“１”を準備しておく。この端子がスキャンイン端子に接続されている場合は、スキャンイン端子に論理値“１”を準備する。
【００２８】
次に、ディレイモードイネーブルＤＥを“１”に設定し、ラウンチクロックと呼ばれているクロックをパルスさせる。このクロックは端子からまたはＬＳＩがＰＬＬを内蔵している場合はＰＬＬから出力してもよい。
【００２９】
ここで、ラウンチクロックとは、テストのために製品仕様に規定されたクロックの周波数に相当するクロック間隔（Ａｔ−Ｓｐｅｅｄ）の２つのクロックをパルスさせるが、これらのクロックのうち、１つ目のクロックのことで、テスト動作開始の信号であり、このクロックによりディレイライン上に信号変化の遷移が伝搬される。２つ目のクロックは、動作結果を取得するための信号、キャプチャクロックと呼ばれている。
【００３０】
これでフリップフロップ２０に論理値“１”がラッチされ、フリップフロップ２０のＱ端子から“１”が出力される。この論理値は、フリップフロップ２１ａのスキャンイン端子ＳＩからディレイ素子２４ａ、ディレイモードセレクタ２５ａを通過し、次のフリップフロップ２１ｂへと伝搬してゆく。
【００３１】
この伝搬遅延をキャプチャクロック入力し、フリップフロップ２３ａ、２３ｂや後続のフリップフロップにてラッチすることによって、ディレイラインの値を取り込むことができ、ディレイラインの信号変化の遷移状態を取得し、図１で説明した概念のごとく、“０”から“１”への遷移がどこにあるかがわかることにより動作周波数の遅延を測定することができる。
【００３２】
次に、ディレイモードセレクタＤＥ２５ａ、２５ｂを“０”に設定し、フリップフロップ２３ａ、２３ｂにラッチされているデータをスキャンアウト端子ＳＯから出力する。
【００３３】
このデータをシフトしていくことによりスキャンアウト端子ディレイ値を算出する。または、エンコーダ回路を付加することで各スキャンパスの特定フリップフロップ近辺の遅延量を測定することを可能にする。
【００３４】
このときのラウンチクロックとキャプチャクロックの間隔は実動作時のクロックと必ずしも一致していなくてもよい。
【００３５】
また、動作周波数の遅延値を測るために、遅延素子の遅延値をクロックのスキューの遅延値より所定値大きくすることが必要である。
【００３６】
論理値が“１”から“０”に遷移する遅延を測定する場合には、まずすべてのフリップフロップに論理値“１”をロードしてから上記と同様のことを行うことで遅延を測定することができる。
【００３７】
本発明の遅延測定回路を適用することで、スキャンチェーンがあるところならすべての広範囲にわたって簡易に動作周波数のディレイ測定を行うことができる。
【００３８】
［第２の実施形態］
次に、本発明における遅延測定回路の別の実施形態について説明する。
【００３９】
図３は、第２の実施形態における遅延測定を行うフェイルセイフの機能を有した回路の一例である。
【００４０】
本回路は、フリップフロップ３０ａ、３０ｂ、遅延素子３１が備えられている。
遅延素子３１には、許容範囲の遅延値が設定されている。Ｄ端子から入力された信号は、フリップフロップ３０ａに入力され、クロックによりラッチされて出力した後、ＥＸＯＲ（排他的論理和）回路３２に到達する。また、Ｄ端子からの信号は、遅延素子３１を介して、フリップフロップ回路３０ｂにも入力され、出力された信号もＥＸＯＲ回路３２に到達する。
【００４１】
ＥＸＯＲ回路３２にて入力信号が一致していないと判定された場合、動作周波数の遅延は許容範囲を超えたことになり、フェイルセイフ機能が働き、例えば、温度を低下させる、電圧を上げる、動作周波数を下げるといったモードが働くことになる。
【００４２】
このことにより、通常動作時に温度上昇などにより動作周波数が低下したときのフェイルセイフ機能を実現することを可能にし、回路の故障を未然に防ぐことができる。
【００４３】
尚、本発明の半導体集積回路における遅延測定回路は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００４４】
【図１】本発明のディレイモード時のみを示した概念図である。
【図２】本発明の第１の実施形態における回路の一例である。
【図３】本発明の第２の実施形態における回路の一例である。
【符号の説明】
【００４５】
１、２、２０、２１、２３、３０  フリップフロップ
３、２４、３１  ディレイ素子
４  ディレイライン
２２  スキャンイネーブル用セレクタ
２５  ディレイモード用セレクタ
３２  ＥＸＯＲ回路
【図１】
2008064717.tif 000003
【図２】
2008064717.tif 000004
【図３】
2008064717.tif 000005