(57)【特許請求の範囲】
【請求項１】
半導体集積回路の高速テストにおいて、
テスト開始後各フリップフロップのデータ出力端子が1回以上“０”から“１”または“１”から“０”に反転した場合に“１”を出力し続け、テスト開始後データ出力端子に全く変化がない場合は“０”を出力し続ける、
もう一つの出力端子（判定端子と呼ぶ）を各フリップフロップが備えることを特徴とする半導体集積回路の高速テスト。
【請求項２】
請求項１における各フリップフロップの判定端子より取り出した各配線は１個または複数個のＮＡＮＤゲートに入力されており、
高速テスト終了後にＮＡＮＤゲートの出力が“０”であればそれに対応するフリップフロップはデータ出力に反転があったことを意味し、
フリップフロップ間で高速テストが実施されたと判定できることを特徴とする半導体集
積回路の高速テスト。
【請求項３】
始点と終点が同一のフリップフロップ間においてパスが複数存在する場合、
その全てのパスがテストされたかを判定するため、それぞれのパスが合流するゲートの入力端子の直前から各々別の配線が引き出され、
それぞれ別のカウンタに入力されて、そのカウンタに入力された配線がテスト開始後1回以上“０”から“１”または“１”から“０”に反転した場合、カウンタは“１”を出力し続け、
入力された配線にデータの反転が全くない場合は“０”を出力し続けることにより、同一フリップフロップ間の全てのパスがテストされたか判定できることを特徴とする半導体集積回路の高速テスト。
【請求項４】
請求項１におけるフリップフロップの判定端子及び請求項３におけるカウンタの出力端子において、
出力されたデータを高速テスト終了後に“０”に戻すため、各フリップフロップ及びカウンタにリセット用の入力端子を備えることを特徴とする半導体集積回路の高速テスト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の高速テストに関し、特にフリップフロップ間高速テストのテスト漏れ検出手段に関する。
【背景技術】
【０００２】
半導体集積回路の論理が所望の周波数で正しく動作するかを確認するために、ＬＳＩテスタが用いられる。ＬＳＩテスタでは、あらかじめ用意したテストパターンを実行することにより動作の検証を行う。具体的には、あるフリップフロップから別のフリップフロップまでのパスを所望の周波数で動作させ、データが正しく転送できればそのパスは正常動作したと判断される。
【０００３】
これを半導体集積回路内の全てのパスで行い、その全てのパスが正常動作した時、テストした半導体集積回路は良品と判断される。
【０００４】
テストパターンは設計者が別途作成し、ＬＳＩテスタに読み込ませて実行する。テストパターンは一般に、遅延時間が大きく製品の限界周波数に近いパス（クリティカルパス）を含むように作成される。さらに効率よくテストを行うため、例えば特許文献１では物理情報を元にクリティカルパスを抽出し、過不足なくテストを実施する方法を提案している。クリティカルパスを限定することにより効率的なテストパターンを生成し、品質、開発日程、コストの面で改善効果を期待するものである。
【０００５】
【特許文献１】特開２００５−３０８４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
通常、クリティカルパスと考えられるパスは必ずテストされるように、テストパターンを作成する。クリティカルパスではないと考えられるパスは、必ずしもテストパターンには含まれない。しかし万が一クリティカルパスか否かの判断を誤ると、テストすべきパスがテストされない可能性がある。また、テストパターンにクリティカルパスを含んでいると考えていても、実際にはそのパスがテストされないという可能性もある。もしこのようなテストされないパスが所望の動作周波数に達していない場合、ＬＳＩテスタで検査しても誤って良品と判断されることになる。
【０００７】
万が一テストすべきパスがテストされなかった場合、半導体集積回路製品の出荷後、ユーザの下で初めて不良が発覚することになるが、テストパターンには元々テスト対象に含まれていないため、不良となったパスを発見するのは必ずしも容易ではない。
【０００８】
例えば図２において、フリップフロップ２０１から２０８、２０９、２１０へのパスがあり、２０１から２０８へは２通りのパスがあるので合計４個のパスが存在する。ここで２０１からゲート２０５を経由して２０８に至るパスのみクリティカルパスであると判断した場合、テストパターンはこのパスを活性化するように作成するが、他のパスは必ずしも活性化されない。２０１から２１０へのパスがクリティカルパスにもかかわらずテストされなかった場合、製品の出荷後にユーザの下で不良が検出されることになる。しかし未テストパスの検出手段がないため、不良パスの発見に時間を要する可能性がある。
【０００９】
本発明は、クリティカルパスか否かにかかわらず、テストされなかったパスを抽出する手段を提供する。この情報を設計者にフィードバックすることにより、製品の出荷前に設計者がテストパターンを修正する機会を与え、クリティカルパスを確実にテストするという課題を解決する。
【課題を解決するための手段】
【００１０】
半導体集積回路内の各フリップフロップに対し、判定端子と呼ぶ、通常のデータ出力端子とは別の端子を設ける。判定端子は、テスト開始後データ出力端子が“０”から“１”または“１”から“０”に反転した場合に“１”を出力し続ける。あるフリップフロップ間のパスにおいて、始点と終点のフリップフロップの判定端子がともに“１”を出力していれば、そのパスはテストされたと判断される。テスト終了後も“０”のままの場合は、フリップフロップのデータ出力端子においてデータ反転が一度も起こらなかったことを意味し、そのフリップフロップを含むパスはテストされなかったと判断される。
【００１１】
また、始点フリップフロップと終点フリップフロップが同一でパスが複数ある場合、そのパスが合流するゲートの入力端子からそれぞれ配線を引き出し、それぞれの配線を別々のカウンタに入力する。各々のカウンタは、入力されたデータが“０”から“１”または“１”から“０”に１回以上反転していれば“１”を出力する。フリップフロップの判定端子と同様、“１”を出力していればその配線はテストされたと判断される。
【００１２】
各フリップフロップの判定端子、またはカウンタ出力からの配線をいくつかのＮＡＮＤゲートに分散させて入力し、全てのＮＡＮＤゲートの出力が“０”である場合、半導体集積回路内の全パスがテストされたと判断する。ＮＡＮＤゲートの出力が“１”の場合、フリップフロップ間でデータが反転しておらずテストされていないパスがあることを意味する。この場合はそのパスを活性化するようにテストパターンを追加することにより、テスト漏れを防ぐことが可能となる。もしそのパスがクリティカルパスではなく、かつテストの必要のないパスであれば、特に対策をしなくてもよい。
【発明の効果】
【００１３】
本発明により、ある半導体集積回路で高速テストのテストパターンを実行した時、全てのパスがテストされたか、あるいはテストされていないパスがどこにあるかを判断できる。テスト漏れと判断すれば、設計者がテストパターンにそのパスを活性化するパターンを追加する。これにより、テストの必要なパスを全てテストし、半導体集積回路の品質を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を実施するための形態について示す。
【実施例１】
【００１５】
図１は、本発明によるフリップフロップ間のテストの実施例を示す。図１においてフリップフロップ１０１をテストパスの始点とすると、終点となるフリップフロップは１０８、１０９、１１０の３個ある。終点１０８までのパスは２通りあるので、図１では合計４個のテストパスが存在する。実際の半導体集積回路で動作テストをした時、これら４個のパスがもれなくテストされたかを確認する方法について述べる。
【００１６】
フリップフロップ１０１、１０８、１０９、１１０にデータ出力とは別に判定端子１５１、１５２、１５３、１５４を用意し、それぞれ配線１２８、１２９、１３０、１３１を接続する。これら４本の配線をＮＡＮＤゲート１１１に入力させる。各フリップフロップはクロックに同期してデータを出力するが、図１のフリップフロップではクロック端子を省略している。判定端子１５１〜１５４は、各フリップフロップのデータ出力端子１４１〜１４４が“０”から“１”または“１”から“０”に切り替わった場合に、それぞれ“１”を出力するものとする。データ出力端子１４１〜１４４が“０”固定または“１”固定の場合は、対応する判定端子１５１〜１５４は“０”を出力するものとする。出力端子１５１〜１５４が全て“１”の場合、配線１２８〜１３１には全て“１”が伝達されるので、ＮＡＮＤゲート１１１の出力側配線１３２には“０”が出力される。このとき、全てのフリップフロップが使用され、かつデータの反転があったことを示しているので、全てのフリップフロップがテストされたと判断する。一方、判定端子１５１〜１５４のうち少なくとも1個で“０”が出力された場合、配線１２８〜１３１のうちそれに対応する配線には“０”が伝達されるので、ＮＡＮＤゲート１１１の出力側配線１３２には“１”が出力される。このとき、少なくとも1個のフリップフロップでデータの反転がないため、クロック周波数に関係なくフリップフロップが同じデータを出力し続けていると考えられる。したがってそのフリップフロップはテストされていないと判断する。
【００１７】
図１においてフリップフロップ１０１から１０８へのパスは、ゲート１０２を通るパスとゲート１０３及び１０５を通るパスの２通りある。上述の論理では、片方のパスだけがテストされたとしてもフリップフロップ１０８の判定端子１５２は“１”を出力する。これを防ぐため、図１ではゲート１０６の直前から配線１３３、１３４を引き出し、それぞれカウンタ１１２、１１３に接続する。カウンタ１１２、１１３はそれぞれ配線１３３、１３４が“０”から“１”または“１”から“０”に切り替わる回数をカウントし、規定回数以上切り替わった場合にそれぞれの出力側配線１３５、１３６に“１”を出力する。配線１３５、１３６にともに“１”が伝達された場合、ＮＡＮＤゲート１１４の出力側配線１３７には“０”が出力される。このとき、フリップフロップ１０１から１０８の２通りのパスのうち、両方がテストされたと判断する。一方、配線１３５、１３６のうち少なくとも一方で“０”が伝達された場合、ＮＡＮＤゲート１１４の出力側配線１３７には“１”が出力される。このとき、フリップフロップ１０１から１０８の２通りのパスのうち少なくとも一方でデータの反転がないため、テストされていないと判断する。
【００１８】
図１では、ＮＡＮＤゲート１３２と１３７がともに“０”を出力した時、正常にテストされたと判断する。半導体集積回路内にこのようなＮＡＮＤゲートを複数配置し、それらが全て“０”を出力したとき、その半導体集積回路全体のテストが正常に行われたと判断する。
【００１９】
テスト終了後、各フリップフロップ及びカウンタのリセット入力端子１６１〜１６６にリセット信号を入力することにより、これまでの結果がリセットされ、別のテストパターンを引き続き実行することができる。
【実施例２】
【００２０】
図３に第２の実施例を示す。
【００２１】
図３は、転送データの前にシリアルの識別信号を付加した波形を示している。このシリアルの識別信号は、各フリップフロップ間パスにおいてそれぞれ異なるものとする。例えば図２のフリップフロップ２０１において、この識別信号を含めたデータ信号を出力し、フリップフロップ２０８においてこれらの信号を受信する。２０８で受信した識別信号が２０１で出力した識別信号と一致していれば、フリップフロップ２０１〜２０８間がテストされたと判断する。同様に２０１〜２０９間、２０１〜２１０間にはそれぞれ異なる識別信号を付与しておき、テスト終了後に始点と終点のフリップフロップにおいて識別信号が一致していれば、それらのフリップフロップ間のテストが実施されたと判断する。
【００２２】
図２では、２０１と２０８の間のパスは２通り存在する。このような場合もそれぞれのパスに異なる識別信号を付与しておき、２０８が両方の識別信号を受信した場合、両方のパスがテストされたと判断する。識別信号が配線２２２を通るパスを指定する時は、配線２２３を通るパスは開かないようにする。
【００２３】
識別信号はテストパターンではないので、1ビットが1周期である必要はない。識別信号を確実に転送させるためには、例えば図３のように２周期で１ビットとすればよい。
【産業上の利用可能性】
【００２４】
本発明は半導体集積回路の高速テストにおいて、フリップフロップ間の未テストパスを検出する手段として特に有用である。
【図面の簡単な説明】
【００２５】
【図１】フリップフロップ間パスと、フリップフロップの判定端子、カウンタ、ＮＡＮＤゲートを備えた、本発明の特徴を示した図である。
【図２】従来のフリップフロップ間パスを示した図である。
【図３】転送データの前に、フリップフロップ間パスの識別信号を付加した波形を示す図である。
【符号の説明】
【００２６】
１０１、１０８〜１１０…フリップフロップ、１０２〜１０７…ゲート、１１１、１１４…ＮＡＮＤゲート、１１２〜１１３…カウンタ、１２１〜１３８…配線、１４１〜１４４…データ出力端子、１５１〜１５４…判定端子、１６１〜１６６…リセット入力端子、２０１、２０８〜２１０…フリップフロップ、２０２〜２０７…ゲート、２２１〜２２７…配線。
【図１】
0004902511.tif 000002
【図２】
0004902511.tif 000003
【図３】
0004902511.tif 000004