(57)【特許請求の範囲】
【請求項１】
通常モードでは、対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし、且つ、スキャン診断モードでは、テストパターンを該動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する、複数の順序回路と、
前記動作クロックを分岐して、対応する１個または複数個の前記順序回路に供給する、複数の分岐クロック配線と、
前記スキャン診断モードにおいて、前記動作クロックを前記分岐クロック配線から入力して外部に出力する、複数の信号パッドと、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記分岐クロック配線毎に設けられ、前記スキャン診断モードでは分岐された前記動作クロックを前記信号パッドに出力し、前記通常モードでは他の信号を該信号パッドに出力する複数の出力制御回路をさらに備えることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
通常モードでは、対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし、且つ、スキャン診断モードでは、テストパターンを該動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する、複数の順序回路と、
前記動作クロックを分岐して、対応する１個または複数個の前記順序回路に供給する、複数の分岐クロック配線と、
前記スキャン診断モードにおいて、前記分岐クロック配線毎に設けられ、テストクロックが与えるタイミングで、対応する前記分岐クロック配線から入力した前記動作クロックをラッチする複数のクロック用ラッチ回路と、
を備えることを特徴とする半導体集積回路。
【請求項４】
前記分岐クロック配線毎に設けられ、前記スキャン診断モードでは前記クロック用ラッチ回路でラッチされた信号を前記信号パッドに出力し、前記通常モードでは他の信号を該信号パッドに出力する複数の出力制御回路をさらに備えることを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
それぞれの前記クロック用ラッチ回路のラッチ信号の論理積に応じた値を、所定のタイミングで出力する判定回路をさらに備えることを特徴とする請求項３に記載の半導体集積回路。
【請求項６】
通常モードでは、対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし、且つ、スキャン診断モードでは、テストパターンを該動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する、複数の順序回路と、
前記動作クロックを分岐して、対応する１個または複数個の前記順序回路に供給する、複数の分岐クロック配線と、
前記スキャン診断モードにおいて、前記動作クロックを前記分岐クロック配線から入力して外部に出力する、複数の信号パッドと、
を半導体集積回路に設け、
前記信号パッドから出力された前記動作クロックを観察することにより、クロック品質を診断することを特徴とする半導体集積回路の試験方法。
【請求項７】
通常モードでは、対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし、且つ、スキャン診断モードでは、テストパターンを該動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する、複数の順序回路と、
前記動作クロックを分岐して、対応する１個または複数個の前記順序回路に供給する、複数の分岐クロック配線と、
前記動作クロックを前記分岐クロック配線から入力して外部に出力する、複数の信号パッドと、
を半導体集積回路に設け、
前記スキャン診断モードにおいて、前記信号パッドから出力された前記動作クロックをそれぞれテストクロックが与えるタイミングでラッチし、これらのラッチ信号を観察することにより、クロック品質を診断することを特徴とする半導体集積回路の試験方法。
【請求項８】
通常モードでは、対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし、且つ、スキャン診断モードでは、テストパターンを該動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する、複数の順序回路と、
前記動作クロックを分岐して、対応する１個または複数個の前記順序回路に供給する、複数の分岐クロック配線と、
前記動作クロックを前記分岐クロック配線から入力して外部に出力する、複数の信号パッドと、
を半導体集積回路に設け、
前記スキャン診断モードにおいて、前記信号パッドから出力された前記動作クロックをそれぞれテストクロックが与えるタイミングでラッチし、これらのラッチ信号の論理積を示す値を所定のタイミングで観察することにより、クロック品質を診断することを特徴とする半導体集積回路の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スキャン診断システムを有する半導体集積回路およびその試験方法に関する。
【背景技術】
【０００２】
半導体集積回路の不良を診断するシステムとして、スキャン診断システムが知られている。図６は、スキャン診断システムを構築した半導体集積回路の構成を概略的に示す回路図である。
【０００３】
この半導体集積回路６００の通常モードでは、スキャンイネーブル信号ＳＥが、ノンアクティブレベルに設定される。スキャンイネーブル信号ＳＥがノンアクティブレベルのとき、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、端子Ｄに供給された信号を、クロックＣＬＫが与えるタイミングでラッチして、端子Ｑから出力する。初段の組み合わせ回路ＬＣ（１，１），・・・，ＬＣ（ｍ，１）には、信号パッドＩＮ１〜ＩＮｍから、信号が供給される。これにより、組み合わせ回路ＬＣ（１，１），・・・，ＬＣ（ｍ，１）の論理演算結果が、対応するフリップフロップＦＦ（１，１）〜ＦＦ（ｍ，１）に、クロックによりラッチされる。ラッチされた信号は、二段目の組み合わせ回路ＬＣ（１，２），・・・，ＬＣ（ｍ，２）に供給される。二段目〜ｎ段目の組み合わせ回路ＬＣ（１，２）〜ＬＣ（ｍ，ｎ）も、同様にして、前段のフリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ−１）から供給された信号を用いて演算処理を行い、次段のフリップフロップＦＦ（１，２）〜ＦＦ（ｍ，ｎ）に出力する。これらのフリップフロップＦＦ（１，２）〜ＦＦ（ｍ，ｎ）も、クロックＣＬＫのタイミングで、入力信号をラッチする。最終段の組み合わせ回路ＬＣ（１，ｎ＋１）〜ＬＣ（ｍ，ｎ＋１）は、前段のフリップフロップＦＦ（１，ｎ）〜ＦＦ（ｍ，ｎ）から供給された信号を用いて論理演算処理を行い、演算結果を信号パッドＯＵＴ１〜ＯＵＴｍに出力する。
【０００４】
一方、スキャン診断モードでは、スキャンイネーブル信号ＳＥが、アクティブレベルに設定される。スキャンイネーブル信号ＳＥがアクティブレベルのとき、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、端子ＳＩに供給された信号を、クロックＣＬＫが与えるタイミングでラッチして、端子ＳＯから出力する。スキャン診断モードでは、信号パッドＳＩＮからテストパターンが順次入力され、初段のフリップフロップＦＦ（１，１）にラッチされる。そして、このラッチ信号は、クロックＣＬＫの次のタイミングで、二段目のフリップフロップＦＦ（２，１）にラッチされる。以下同様にして、フリップフロップＦＦ（３，１），・・・，ＦＦ（ｍ，１），ＦＦ（ｍ，２），ＦＦ（ｍ−１，２），・・・，ＦＦ（１，ｎ）の順でテストパターンが転送されて、信号パッドＳＯＵＴから出力される。そして、図示しない試験装置で、信号パッドＳＩＮに供給されたテストパターンと、信号パッドＳＯＵＴから出力されたテストパターンとを比較することにより、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）の良否が診断される。
【０００５】
このように、スキャン診断システムによれば、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）で構成したシフトレジスタを用いて、半導体集積回路６００の動作を診断することができる。
【０００６】
しかし、スキャン診断システムには、クロックＣＬＫの品質が悪い場合に正確な診断を行うことができないという欠点がある。
【０００７】
例えば、図７（Ａ）に示したように、クロックスキュー（クロックの配線遅延）のばらつきに起因して、クロックタイミングのずれが発生する場合がある。図７（Ａ）において、クロックＣＬＫ１〜ＣＬＫｍは、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）の各行に入力されるクロックのタイミングを示している（図６参照）。スキャン診断モードにおいて、クロックＣＬＫ１〜ＣＬＫｍのタイミングがずれている場合、前段のフリップフロップの出力が切り替わる前に、後段のフリップフロップがラッチを行ってしまうおそれがある。したがって、フリップフロップ自体は正常であるにも拘わらず不良であると診断されてしまう場合が生じ、スキャン診断の信頼性を低下させる。
【０００８】
また、図７（Ｂ）に示したように、クロックＣＬＫの波形が劣化して立ち上がり時間が長くなったような場合にも、フリップフロップのラッチタイミングがずれることになるので、スキャン診断の信頼性を低下させることになる。
【０００９】
さらに、図７（Ｃ）に示したように、クロックＣＬＫの立ち上がり／立ち下がりでオーバーショート／アンダーショートが発生した場合には、フリップフロップの誤動作を発生させるおそれがある。このような場合にも、フリップフロップ自体は正常であるにも拘わらず不良であると診断されてしまう場合が生じ、スキャン診断の信頼性を低下させる。
【００１０】
図７（Ａ）〜（Ｃ）に示したようなクロック品質低下は、設計上の問題や製造ばらつき等に起因して発生する。クロック品質に影響を与えやすい設計パラメータとしては、例えば、クロック配線の幅や長さ、ファンアウト数等が考えられる。通常の設計作業では、これらの設計パラメータの許容範囲を、シミュレーションによって決定・確認する。しかし、シミュレーション結果が現実の動作と完全に一致するとは限らず、このために、シミュレーションでは適切な設計パラメータであると判断されたにも拘わらず、現実の動作では誤動作が発生する場合がある。また、製造ばらつきのために、設計値どおりの集積回路が製造されない場合もある。加えて、半導体集積回路の設計過程で通常モードでの動作を優先させたために、スキャン診断モードでのクロック品質を向上させるための十分な対策が採れない場合もある。
【００１１】
クロック品質の低下を防止するための技術としては、例えば下記特許文献１に記載されたものが知られている。
【００１２】
特許文献１の技術では、外部から低周波数のクロックを入力し、この入力クロックを用いて内部回路で動作周波数のクロックを生成している（例えば、特許文献１の段落００３３、図１等参照）。これにより、ＬＳＩテスターに接続されたクロック供給プローブとクロック入力用信号パッドとの接触面におけるインダクタンスや浮遊容量の影響を抑制して、信頼性の高いスキャン診断を可能にしている。
【００１３】
しかしながら、特許文献１の技術では、プローブと信号パッドとの接触面に起因するクロック品質低下を防止することはできるものの、設計上或いは製造上の問題に起因するクロック品質低下を防止することはできない。したがって、この技術によっては、スキャン診断の信頼性を十分に高くすることはできない。
【特許文献１】特開平８−２０１４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
この発明の課題は、クロック品質低下に起因してスキャン診断の信頼性が低下することのない半導体集積回路およびその試験方法を提供する点にある。
【課題を解決するための手段】
【００１５】
（１）第１の発明に係る半導体集積回路は、通常モードでは対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし且つスキャン診断モードではテストパターンを動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する複数の順序回路と、動作クロックを分岐して対応する１個または複数個の順序回路に供給する複数の分岐クロック配線と、スキャン診断モードにおいて、動作クロックを分岐クロック配線から入力して外部に出力する複数の信号パッドとを備える。
【００１６】
（２）第２の発明に係る半導体集積回路は、通常モードでは対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし且つスキャン診断モードではテストパターンを動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する複数の順序回路と、動作クロックを分岐して対応する１個または複数個の順序回路に供給する複数の分岐クロック配線と、スキャン診断モードにおいて、分岐クロック配線毎に設けられ、テストクロックが与えるタイミングで対応する分岐クロック配線から入力した動作クロックをラッチする複数のクロック用ラッチ回路とを備える。
【００１７】
（３）第３の発明は、通常モードでは対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし且つスキャン診断モードでは、テストパターンを動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する複数の順序回路と、動作クロックを分岐して対応する１個または複数個の順序回路に供給する複数の分岐クロック配線と、スキャン診断モードにおいて、動作クロックを分岐クロック配線から入力して外部に出力する複数の信号パッドとを設けた半導体集積回路の試験方法に関する。
【００１８】
そして、信号パッドから出力された動作クロックを観察することにより、クロック品質を診断することを特徴とする。
【００１９】
（４）第４の発明は、通常モードでは対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし且つスキャン診断モードでは、テストパターンを動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する複数の順序回路と、動作クロックを分岐して対応する１個または複数個の順序回路に供給する複数の分岐クロック配線と、動作クロックを分岐クロック配線から入力して外部に出力する複数の信号パッドとを設けた半導体集積回路の試験方法に関する。
【００２０】
そして、スキャン診断モードにおいて、信号パッドから出力された動作クロックをそれぞれテストクロックが与えるタイミングでラッチし、これらのラッチ信号を観察することにより、クロック品質を診断することを特徴とする。
【００２１】
（５）第５の発明は、通常モードでは対応する組み合わせ回路から入力した信号を動作クロックが与えるタイミングでラッチし且つスキャン診断モードでは、テストパターンを動作クロックが与えるタイミングでシフトさせるためのシフトレジスタを構成する複数の順序回路と、動作クロックを分岐して対応する１個または複数個の順序回路に供給する複数の分岐クロック配線と、動作クロックを分岐クロック配線から入力して外部に出力する複数の信号パッドとを設けた半導体集積回路の試験方法に関する。
【００２２】
そして、スキャン診断モードにおいて、信号パッドから出力された動作クロックをそれぞれテストクロックが与えるタイミングでラッチし、これらのラッチ信号の論理積を示す値を所定のタイミングで観察することにより、クロック品質を診断することを特徴とする。
【発明の効果】
【００２３】
第１〜第５の発明によれば、分岐クロックを直接観察することにより或いはこれらの分岐クロックを相互に比較することにより、クロック品質を診断することが可能になる。したがって、第１〜第５の発明によれば、クロック品質の低下に起因する動作不良と順序回路の異常に起因する動作不良とを区別することが容易になり、これによって、スキャン診断の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００２４】
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、この発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
【００２５】
第１の実施形態
この発明の第１の実施形態に係る半導体集積回路について、図１を用いて説明する。
【００２６】
図１は、この実施形態に係る半導体集積回路の要部構成を概略的に示す回路図である。
【００２７】
図１に示したように、この実施形態に係る半導体集積回路１００は、組み合わせ回路ＬＣ（１，１），・・・と、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）と、スキャンイネーブル線１１０と、分岐クロック配線１２０−１〜１２０−ｍと、出力制御回路１３０−１〜１３０−ｍとを有する。
【００２８】
組み合わせ回路ＬＣ（１，１），・・・は、１または複数の論理ゲートを有しており、所定の入力信号を用いて所定の論理演算を行う。論理演算の内容は、組み合わせ回路ＬＣ（１，１），・・・毎に定められ、同一である必要はない。
【００２９】
フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、通常モードでは、対応する組み合わせ回路ＬＣ（１，１），・・・から入力した信号を、対応する分岐クロックＣＬＫ１〜ＣＬＫｍが与えるタイミング（この実施形態では立ち上がりタイミングを用いる）でラッチして、出力する。また、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、スキャン診断モードでは、対応する分岐クロックＣＬＫ１〜ＣＬＫｍの立ち上がりタイミングでテストパターンをシフトさせるための、シフトレジスタを構成する（後述）。なお、テストパターンは、内部で格納或いは生成されたものであってもよいが、ここでは信号パッドＳＩＮから入力されるものとする。
【００３０】
スキャンイネーブル線１１０は、信号パッドＳＥから入力したスキャンイネーブル信号ＳＥを、各フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）および出力制御回路１３０−１〜１３０−ｍに供給する。
【００３１】
分岐クロック配線１２０−１〜１２０−ｍは、信号パッドＣＬＫから入力されたクロックＣＬＫを分岐する。これにより、図１に示したような分岐クロックＣＬＫ１〜ＣＬＫｍが得られる。分岐クロックＣＬＫ１〜ＣＬＫｍは、対応するフリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）のクロック入力端子に供給される。信号パッドＣＬＫと分岐クロック配線１２０−１〜１２０−ｍとの間には、当該信号パッドと当該分岐クロック配線との配線距離等に応じて、バッファＢＵＦが適宜配置されている。なお、この実施形態ではクロックＣＬＫを外部から入力することとしたが、内部で生成されたクロックＣＬＫを使用してもよい。
【００３２】
出力制御回路１３０−１〜１３０−ｍは、対応する分岐クロック配線１２０−１〜１２０−ｍから分岐クロックＣＬＫ１〜ＣＬＫｍを入力するとともに、対応する通常動作信号ＮＳ１〜ＮＳｍを入力する。そして、出力制御回路１３０−１〜１３０−ｍは、対応する信号パッドＯＵＴ１〜ＯＵＴｍに、スキャンイネーブル信号ＳＥがアクティブレベルのときは分岐クロックＣＬＫ１〜ＣＬＫｍを出力し、スキャンイネーブル信号ＳＥがノンアクティブレベルのときは通常動作信号ＮＳ１〜ＮＳｍを出力する。出力制御回路１３０−１〜１３０−ｍを設けることにより、信号パッド数の低減を図ることができる。但し、出力制御回路１３０−１〜１３０−ｍを設けずに、信号パッドＯＵＴ１〜ＯＵＴｍを分岐クロックＣＬＫ１〜ＣＬＫｍの出力専用としてもよいことはもちろんである。
【００３３】
次に、図１に示した半導体集積回路１００の動作について説明する。
【００３４】
最初に、通常モードにおける半導体集積回路１００の動作を説明する。
【００３５】
通常モードでは、スキャンイネーブル信号ＳＥが、ノンアクティブレベルに設定される。これにより、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、端子Ｄに供給された信号を、分岐クロックＣＬＫ１〜ＣＬＫｍが与えるタイミングでラッチして、端子Ｑから出力するようになる。
【００３６】
初段の組み合わせ回路ＬＣ（１，１），・・・，ＬＣ（ｍ，１）には、信号パッドＩＮ１〜ＩＮｍから、信号が供給される。組み合わせ回路ＬＣ（１，１），・・・，ＬＣ（ｍ，１）は、所定の論理演算を行い、演算結果を出力する。初段のフリップフロップＦＦ（１，１）〜ＦＦ（ｍ，１）は、分岐クロックＣＬＫ１〜ＣＬＫｍが与えるタイミングで、この演算結果をラッチする。ラッチされた信号は、二段目の組み合わせ回路ＬＣ（１，２），・・・，ＬＣ（ｍ，２）に出力される。
【００３７】
二段目以降の組み合わせ回路ＬＣ（１，２），・・・は、前段のフリップフロップから入力した信号を用いて所定の演算処理を行い、次段のフリップフロップに出力する。これらのフリップフロップは、分岐クロックＣＬＫ１〜ＣＬＫｍが与えるタイミングで、入力信号をラッチする。
【００３８】
最終段のフリップフロップＦＦ（１，ｎ）〜ＦＦ（ｍ，ｎ）は、ラッチした演算結果を、図示しない他の回路に出力する。
【００３９】
続いて、スキャン診断モードにおける半導体集積回路１００の動作を説明する。
【００４０】
スキャン診断モードでは、スキャンイネーブル信号ＳＥが、アクティブレベルに設定される。これにより、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、対応する分岐クロックＣＬＫ１〜ＣＬＫｍの立ち上がりタイミングで、端子ＳＩに供給された信号をラッチして端子ＳＯから出力するようになる。このようにして、これらのフリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）は、テストパターンをシフトさせるためのシフトレジスタを構成する。
【００４１】
続いて、信号バッドＳＩＮに、テストパターンが入力される。初段のフリップフロップＦＦ（１，１）は、分岐クロックＣＬＫ１の立ち上がりタイミングで、このテストパターンを順次ラッチする。フリップフロップＦＦ（１，１）のラッチ信号は、分岐クロックＣＬＫ２の立ち上がりタイミングで、二段目のフリップフロップＦＦ（２，１）に順次ラッチされる。以下同様にして、フリップフロップＦＦ（３，１），・・・，ＦＦ（ｍ，１），ＦＦ（ｍ，２），ＦＦ（ｍ−１，２），・・・，ＦＦ（１，ｎ）が、対応する分岐クロックＣＬＫ１〜ＣＬＫｍのタイミングにしたがって、テストパターンを順次ラッチする。その後、テストパターンは、信号パッドＳＯＵＴから出力される。信号パッドＳＯＵＴから出力されたテストパターンは、従来のスキャン診断と同様、図示しない試験装置で、信号バッドＳＩＮに供給されたテストパターンと比較され、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）の良否の判断に使用される。
【００４２】
また、スキャンイネーブル信号ＳＥがアクティブレベルのとき、出力制御回路１３０−１〜１３０−ｍは、分岐クロック配線１２０−１〜１２０−ｍから入力された分岐クロックＣＬＫ１〜ＣＬＫｍを出力する。これにより、該分岐クロックＣＬＫ１〜ＣＬＫｍが、信号パッドＯＵＴ１〜ＯＵＴｍから出力される。信号パッドＯＵＴ１〜ＯＵＴｍから出力された分岐クロックＣＬＫ１〜ＣＬＫｍは、上述の試験装置によって、診断実施者に観察される。そして、診断実施者は、分岐クロックＣＬＫ１〜ＣＬＫｍ間のクロックスキューの状況や、各分岐クロックＣＬＫ１〜ＣＬＫｍの波形劣化の程度、オーバーショート／アンダーショートの大きさなどを判定する（図７参照）。これにより、診断実施者は、分岐クロックＣＬＫ１〜ＣＬＫｍの品質に応じてスキャン診断結果の信頼性を評価したり、スキャン診断における分岐クロックＣＬＫ１〜ＣＬＫｍのタイミングマージンを評価したりすることが可能になる。
【００４３】
以上説明したように、この実施形態に係る半導体集積回路によれば、分岐クロックＣＬＫ１〜ＣＬＫｍを外部に出力させて直接観察することができるので、これらの分岐クロックＣＬＫ１〜ＣＬＫｍのクロック品質を診断することが可能になる。したがって、この実施形態によれば、クロック品質の低下に起因する動作不良と順序回路の異常に起因する動作不良とを区別することが容易になり、これによって、スキャン診断の信頼性を高めることができる。
【００４４】
なお、この実施形態では、すべての分岐クロック配線１２０−１〜１２０−ｍから分岐クロックＣＬＫ１〜ＣＬＫｍを出力させることとしたが、一部の分岐クロック配線のみから分岐クロックを出力させて観察することとしてもよい。このとき、分岐クロックの観察対象となる分岐クロック配線は、例えば、クロック品質の低下が激しいと思われる分岐クロック配線を適宜選択すればよい。また、同じレイアウトの回路ブロックを複数個有する半導体集積回路では、それらのうちの一部の回路ブロックについてのみ、分岐クロックの出力・観察を行ってもよい。
【００４５】
この実施形態では、簡単化のために、組み合わせ回路およびフリップフロップがマトリクス状に配列され、且つ、各組み合わせ回路および各フリップフロップが一対一に対応づけられている場合を例に採って説明した。しかし、例えば、組み合わせ回路やフリップフロップがマトリクス状に配列されていない半導体集積回路や、１個の組み合わせ回路の出力信号が複数個のフリップフロップにラッチされるような半導体集積回路であっても、この発明を適用することができる。
【００４６】
第２の実施形態
この発明の第２の実施形態に係る半導体集積回路について、図２、図３を用いて説明する。
【００４７】
図２は、この実施形態に係る半導体集積回路の要部構成を概略的に示す回路図である。
【００４８】
図２に示したように、この実施形態に係る半導体集積回路２００は、各分岐クロック配線１２０−１〜１２０−ｍに対応させてテスト用フリップフロップ２１０−１〜２１０−ｍを設けた点で、上述の第１の実施形態と異なる。
【００４９】
テスト用フリップフロップ２１０−１〜２１０−ｍは、テストクロックＴＣＫが与えるタイミング（ここでは立ち上がりタイミングを使用する）で、対応する分岐クロック配線１２０−１〜１２０−ｍから入力した分岐クロックＣＬＫ１〜ＣＬＫｍをラッチする。ラッチされた分岐クロックＣＬＫ１〜ＣＬＫｍは、対応する出力制御回路１３０−１〜１３０−ｍに送られる。
【００５０】
テストクロックＴＣＫは、信号パッドＴＣＫを介して外部から入力される。但し、半導体集積回路２００の内部でテストクロックＴＣＫを生成することとしてもよい。後述するように、テストクロックＴＣＫの位相は、分岐クロックＣＬＫ１〜ＣＬＫｍに許されるクロックスキューに応じて設定される。
【００５１】
以下、この実施形態に係る半導体集積回路２００の動作を説明する。
【００５２】
この実施形態に係る半導体集積回路２００において、通常モードでは、テストクロックＴＣＫが入力されない。したがって、テスト用フリップフロップ２１０−１〜２１０−ｍは、分岐クロック配線１２０−１〜１２０−ｍ上の分岐クロックＣＬＫ１〜ＣＬＫｍをラッチしない。他の動作は、第１の実施形態の場合と同様であるので、説明を省略する。
【００５３】
一方、スキャン診断モードでは、テストクロックＴＣＫが、テスト用フリップフロップ２１０−１〜２１０−ｍに供給される。そして、テスト用フリップフロップ２１０−１〜２１０−ｍが、テストクロックＴＣＫの立ち上がりタイミングで、分岐クロックＣＬＫ１〜ＣＬＫｍをラッチする。これらのラッチ信号は、出力制御回路１３０−１〜１３０−ｍを介して信号パッドＯＵＴ１〜ＯＵＴｍに供給され、外部に出力される。
【００５４】
ここで、テストクロックＴＣＫの立ち上がりタイミングは、分岐クロックＣＬＫ１〜ＣＬＫｍに許されるクロックスキューに応じて設定される。図３（Ａ）は、クロックＣＬＫ，ＣＬＫ１〜ＣＬＫｍ，ＴＣＫの位相関係の一例を示している。また、図３（Ｂ）は、信号パッドＯＵＴ１〜ＯＵＴｍから出力された信号（テスト用フリップフロップ２１０−１〜２１０−ｍのラッチ信号）の一例を示している。
【００５５】
図３（Ａ）に示したように、分岐クロックＣＬＫ１〜ＣＬＫｍに許されるクロックスキューの最大値ＳＫＥＷは、信号パッドＣＬＫに供給されるクロックＣＬＫとのタイミング差で与えられる。テストクロックＴＣＫの立ち上がりタイミングは、この許容最大値ＳＫＥＷと一致するように、設定される。これにより、テスト用フリップフロップ２１０−１〜２１０−ｍは、入力した分岐クロックのクロックスキューが許容範囲内である場合には、ハイレベル信号をラッチすることになる。一方、入力した分岐クロックのクロックスキューが許容範囲を超えている場合、テスト用フリップフロップ２１０−１〜２１０−ｍは、ローレベル信号をラッチする。図３（Ａ）の例では、分岐クロックＣＬＫ１〜ＣＬＫｍ−１のクロックスキューは許容範囲内（すなわち、最大値ＳＫＥＷよりも小さい）であるが、分岐クロックＣＬＫｍのクロックスキューは許容範囲を超えている。したがって、図３（Ｂ）に示したように、出力信号ＯＵＴ１〜ＯＵＴｍ−１はハイレベルになるが、出力信号ＯＵＴｍはローレベルになる。これにより、診断実施者は、出力信号ＯＵＴ１〜ＯＵＴｍの信号値を観察するだけで、クロックスキューの可否を判定することができる。
【００５６】
なお、スキャン診断モードでの、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）の動作は、第１の実施形態と同様であるので、説明を省略する。
【００５７】
以上説明したように、この実施形態に係る半導体集積回路によれば、出力信号ＯＵＴ１〜ＯＵＴｍの信号値を観察するだけで、クロック品質を診断することが可能になる。したがって、この実施形態によれば、クロック品質の低下に起因する動作不良と順序回路の異常に起因する動作不良とを区別することが上述の第１の実施形態よりもさらに容易になり、これによって、スキャン診断の信頼性を高めることができる。
【００５８】
なお、一部の分岐クロック配線の分岐クロックのみを選択的に用いてクロック品質を診断してもよい点は、上述の第１の実施形態と同様である。
【００５９】
加えて、組み合わせ回路およびフリップフロップがマトリクス状に配列されていない半導体集積回路や、各組み合わせ回路および各フリップフロップが一対一に対応づけられていない半導体集積回路に適用できる点も、上述の第１の実施形態と同様である。
【００６０】
また、この実施形態では、テスト用フリップフロップ２１０−１〜２１０−ｍを、半導体集積回路２００内に設けたが、半導体集積回路２００外に設けてもよい。例えば、半導体集積回路の構成を第１の実施形態と同様にし（図１参照）、テスト用フリップフロップ２１０−１〜２１０−ｍを図示しない試験装置内に設けて信号パッドＯＵＴ１〜ＯＵＴｍに接続してもよい。
【００６１】
第３の実施形態
この発明の第３の実施形態に係る半導体集積回路について、図４、図５を用いて説明する。
【００６２】
図４は、この実施形態に係る半導体集積回路の要部構成を概略的に示す回路図である。
【００６３】
図４に示したように、この実施形態に係る半導体集積回路４００は、プリセットカウンタ４１０とＡＮＤ回路４２０とを設けた点等で、上述の第２の実施形態と異なる。
【００６４】
プリセットカウンタ４１０は、外部から入力された所定のプリセット値を保持する。そして、プリセットカウンタ４１０は、計数クロックＣＣＫを入力するたびにプリセット値に「＋１」ずつ加算していくことにより、該計数クロックＣＣＫの数をカウントする。そして、カウント値がオーバーフローすると、プリセットカウンタ４１０は、オーバーフロー信号ＯＶＦをハイレベルに設定する。また、プリセットカウンタ４１０は、クリア信号ＣＬＲを入力すると、カウント値をプリセット値に戻すとともに、オーバーフロー信号ＯＶＦをローレベルに戻す。後述するように、プリセット値は、分岐クロックＣＬＫ１〜ＣＬＫｍのクロックスキューを検査するタイミングに応じて決定される。計数クロックＣＣＫは、信号パッドＣＣＫを介して外部から入力される。但し、半導体集積回路４００の内部で計数クロックＣＣＫを生成することとしてもよい。
【００６５】
ＡＮＤ回路４２０は、テスト用フリップフロップ２１０−１〜２１０−ｍの各ラッチ信号およびプリセットカウンタ４１０のオーバーフロー信号ＯＶＦの論理積ＳＩＧＯＵＴを出力する。
【００６６】
以下、この実施形態に係る半導体集積回路４００の動作を説明する。
【００６７】
この実施形態に係る半導体集積回路４００において、通常モードでは、テストクロックＴＣＫおよび計数クロックＣＣＫは、入力されない。したがって、テスト用フリップフロップ２１０−１〜２１０−ｍは分岐クロック配線１２０−１〜１２０−ｍ上の分岐クロックＣＬＫ１〜ＣＬＫｍをラッチせず、また、プリセットカウンタ４１０は計数動作を行わない。他の動作は、第１の実施形態の場合と同様であるので、説明を省略する。
【００６８】
一方、スキャン診断モードでは、まず、プリセットカウンタ４１０のプリセット値が設定される。このプリセット値は、テストクロックＴＣＫの立ち上がりよりも後でプリセットカウンタ４１０がオーバーフローするように、設定される。
【００６９】
続いて、クリア信号ＣＬＲを供給することにより、プリセットカウンタ４１０の計数値がクリアされる。
【００７０】
次に、テスト用フリップフロップ２１０−１〜２１０−ｍへのテストクロックＴＣＫの供給と、プリセットカウンタ４１０への計数クロックＣＣＫの供給とが、開始される。
【００７１】
テスト用フリップフロップ２１０−１〜２１０−ｍは、テストクロックＴＣＫの立ち上がりタイミングで、分岐クロックＣＬＫ１〜ＣＬＫｍをラッチする。これらのラッチ信号は、ＡＮＤ回路４２０に出力される。第２の実施形態と同様、テストクロックＴＣＫの立ち上がりタイミングは、分岐クロックＣＬＫ１〜ＣＬＫｍに許されるクロックスキューに応じて設定される。したがって、テスト用フリップフロップ２１０−１〜２１０−ｍは、入力した分岐クロックのクロックスキューが許容範囲内である場合にはハイレベル信号をラッチするが、該クロックスキューが許容範囲を超えている場合にはローレベル信号をラッチする（図５（Ａ）参照）。
【００７２】
プリセットカウンタ４１０は、上述のように、カウント値がオーバーフローするまではオーバーフロー信号ＯＶＦとしてローレベルを出力し、且つ、カウント値がオーバーフローするとオーバーフロー信号ＯＶＦをハイレベルに切り替える。
【００７３】
ＡＮＤ回路４２０は、オーバーフロー信号ＯＶＦがハイレベルになると、テスト用フリップフロップ２１０−１〜２１０−ｍが出力するラッチ信号の論理積ＳＩＧＯＵＴを出力する。この論理積ＳＩＧＯＵＴは、かかるラッチ信号がすべてハイレベルの場合（分岐クロックＣＬＫ１〜ＣＬＫｍのクロックスキューがすべて許容範囲内である場合）はハイレベルになるが、ローレベルのラッチ信号が１個以上存在する場合（クロックスキューが許容範囲を超えている分岐クロックが１個以上存在する場合）はローレベルになる（図５（Ｂ）参照）。診断実施者は、図示しない試験装置によって、この論理積ＳＩＧＯＵＴの値を観察する。これにより、診断実施者は、クロックスキューの可否を判定することができる。
【００７４】
なお、スキャン診断モードでの、フリップフロップＦＦ（１，１）〜ＦＦ（ｍ，ｎ）の動作は、第１の実施形態と同様であるので、説明を省略する。
【００７５】
以上説明したように、この実施形態に係る半導体集積回路４００によれば、論理積ＳＩＧＯＵＴの信号値をモニタするだけで、クロック品質を診断することが可能になる。したがって、この実施形態によれば、クロック品質の低下に起因する動作不良と順序回路の異常に起因する動作不良とを区別することが上述の第１の実施形態よりもさらに容易になり、これによって、スキャン診断の信頼性を高めることができる。
【００７６】
加えて、この実施形態に係る半導体集積回路４００によれば、論理積ＳＩＧＯＵＴが出力されるタイミングを、プリセットカウンタ４１０のプリセット値によって任意に設定することができる。これにより、論理積ＳＩＧＯＵＴを観察する際の自由度が増して、試験作業が容易になる。
【００７７】
なお、一部の分岐クロック配線の分岐クロックのみを選択的に用いてクロック品質を診断してもよい点は、上述の第１、第２の実施形態と同様である。
【００７８】
加えて、組み合わせ回路およびフリップフロップがマトリクス状に配列されていない半導体集積回路や、各組み合わせ回路および各フリップフロップが一対一に対応づけられていない半導体集積回路に適用できる点も、上述の第１、第２の実施形態と同様である。
【００７９】
また、この実施形態では、テスト用フリップフロップ２１０−１〜２１０−ｍ、プリセットカウンタ４１０およびＡＮＤ回路４２０を、半導体集積回路４００内に設けたが、半導体集積回路４００外に設けてもよい。例えば、半導体集積回路の構成を第１の実施形態と同様にし（図１参照）、これらの回路２１０−１〜２１０−ｍ，４１０，４２０を図示しない試験装置内に設けて信号パッドＯＵＴ１〜ＯＵＴｍに接続してもよい。
【００８０】
さらに、この実施形態では、プリセットカウンタ４１０を用いて論理積ＳＩＧＯＵＴの出力タイミングを設定したが、カウント値が固定されたカウンタを用いることも可能である。
【図面の簡単な説明】
【００８１】
【図１】第１の実施形態に係る半導体集積回路の要部構成を示す回路図である。
【図２】第２の実施形態に係る半導体集積回路の要部構成を示す回路図である。
【図３】第２の実施形態に係る半導体集積回路のスキャン診断を説明するためのタイミングチャートである。
【図４】第３の実施形態に係る半導体集積回路の要部構成を示す回路図である。
【図５】第３の実施形態に係る半導体集積回路のスキャン診断を説明するためのタイミングチャートである。
【図６】従来の半導体集積回路の要部構成を示す回路図である。
【図７】従来の半導体集積回路のスキャン診断を説明するためのタイミングチャートである。
【符号の説明】
【００８２】
ＬＣ（１，１），・・・  組み合わせ回路
ＦＦ（１，１）〜ＦＦ（ｍ，ｎ）  フリップフロップ
１１０  スキャンイネーブル線
１２０−１〜１２０−ｍ  分岐クロック配線
１３０−１〜１３０−ｍ  出力制御回路
ＢＵＦ  バッファ
ＳＥ，ＣＬＫ，ＩＮ１〜ＩＮｍ，ＯＵＴ１〜ＯＵＴｍ，ＴＣＫ  信号パッド
２１０−１〜２１０−ｍ  テスト用フリップフロップ
４１０  プリセットカウンタ
４２０  ＡＮＤ回路
【図１】
0004703398.tif 000002
【図２】
0004703398.tif 000003
【図３】
0004703398.tif 000004
【図４】
0004703398.tif 000005
【図５】
0004703398.tif 000006
【図６】
0004703398.tif 000007
【図７】
0004703398.tif 000008