(57)【要約】【課題】フリップフロップのデータ保持性能を複数個まとめて検査できるようにする。【解決手段】スキャンチェーンが形成されるよう互いに直列に接続した複数のフリップフロップにクロック信号を供給するとともに、該複数のフリップフロップに前記スキャンチェーンを介して所定のデータを入力し、前記複数のフリップフロップへの前記クロック信号の供給を所定時間だけ停止した状態で前記入力したデータを保持し、その後、前記クロック信号を再び供給し、前記スキャンチェーンを介して前記複数のフリップフロップに保持されたデータを読み出し、前記入力したデータと前記読み出したデータとの比較により、前記複数のフリップフロップのデータ保持性能を検査する。【選択図】図２
2008256627.tif 000002
【特許請求の範囲】
【請求項１】
スキャンチェーンが形成されるよう互いに直列に接続した複数のフリップフロップにクロック信号を供給するとともに、該複数のフリップフロップに前記スキャンチェーンを介して所定のデータを入力し、
前記複数のフリップフロップへの前記クロック信号の供給を所定時間だけ停止した状態で前記入力したデータを保持し、その後、前記クロック信号を再び供給し、前記スキャンチェーンを介して前記複数のフリップフロップに保持されたデータを読み出し、
前記入力したデータと前記読み出したデータとの比較により、前記複数のフリップフロップのデータ保持性能を検査することを特徴とする半導体集積回路の検査方法。
【請求項２】
前記半導体集積回路は、動作状態においては高電位電源電圧と低電位電源電圧とが供給されて論理信号を出力し、スリープ状態においては前記高電位電源電圧と前記低電位電源電圧との少なくとも一方の供給が停止される論理回路と、前記動作状態においては前記高電位電源電圧と前記低電位電源電圧とが供給されるとともにクロック信号が供給され、該クロック信号に同期して前記論理回路が出力した論理信号を取り込み、前記スリープ状態においても前記高電位電源電圧と前記低電位電源電圧との供給が継続され、前記動作状態において取り込んだ論理信号を保持するデータ保持フリップフロップとを有し、
前記スキャンチェーンを形成する前記複数のフリップフロップの少なくとも一部として、前記データ保持フリップフロップが含まれることを特徴とする請求項１記載の半導体集積回路の検査方法。
【請求項３】
前記所定時間の間、前記スキャンチェーンを形成するデータ保持フリップフロップは、前記クロック信号の供給を停止するとともに、前記高電位電源電圧と前記低電位電源電圧との少なくとも一方の供給を制限した、省電力保持状態とすることを特徴とする請求項２記載の半導体集積回路の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンチェーンを形成するように互いに直列接続した複数のフリップフロップのデータ保持性能を検査する半導体集積回路の検査方法に関するものである。
【背景技術】
【０００２】
半導体集積回路の微細化、低電源電圧化の進行により、低閾値のトランジスタで構成した論理回路（低い電源電圧においても高い動作速度が得られるが、スタンバイ時の消費電流が大きい）への電源電圧の供給を、スリープ状態（もしくは、スタンバイ状態）において遮断して、消費電力を低減することが一般化しつつある（例えば、特許文献１参照）。スリープ時における論理回路への電源電圧供給の遮断は、高電位電源電圧と低電位電源電圧の両方について行われることもあるが、その一方についてのみ行われることもある。これらの場合には、スリープ状態にある期間中のデータを記憶するデータ保持フリップフロップが利用される。
【０００３】
データ保持フリップフロップは、電源電圧が常時供給され、スリープ時にクロック信号の供給のみが停止されるものを利用することも可能であり、さらに、クロック信号の供給を停止することに加えて、データ保持に必要な部分以外への電源供給を遮断して、スリープ時の消費電力を低減することも可能である。
【０００４】
図３は後者の従来のデータ保持フリップフロップ１００Ａの構成を示す回路図である（例えば、特許文献２参照）。図３において、ＩＮＶ１〜ＩＮＶ８はインバータ、Ｇ１，Ｇ２はトランスミッションゲートである。
【０００５】
インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ６，ＩＮＶ７、ＩＮＶ８は、そのＮＭＯＳトランジスタのソース（ＯＦＦ）とＧＮＤとの間に、スリープ信号ＳＬＰが“Ｌ”のときオフになるＮＭＯＳトランジスタＭ１７が接続された構成である。
【０００６】
また、インバータＩＮＶ４は、そのＮＭＯＳトランジスタのソース（ＳＢ）とＧＮＤとの間に、スリープ信号ＳＬＰが“Ｌ”のときオフになるＮＭＯＳトランジスタＭ１５と、ゲートがＧＮＤに接続されることにより常時オン状態にある内部抵抗が比較的大きなＰＭＯＳトランジスタＭ１６の並列回路が接続された構成である。
【０００７】
インバータＩＮＶ３は、ＰＭＯＳトランジスタＭ３とＮＭＯＳトランジスタＭ４からなるＣＭＯＳ回路に、反転クロック信号ＣＬＫＢがゲート入力するＰＭＯＳトランジスタＭ５とクロック信号ＣＬＫがゲート入力するＮＭＯＳトランジスタＭ６が直列接続され、そのトランジスタＭ６のソース（ＯＦＦ）とＧＮＤとの間に、前記のＮＭＯＳトランジスタＭ１７が接続されたクロックド型の構成である。
【０００８】
インバータＩＮＶ５は、ＰＭＯＳトランジスタＭ１０とＮＭＯＳトランジスタＭ１１からなるＣＭＯＳ回路に、クロック信号ＣＬＫがゲート入力するＰＭＯＳトランジスタＭ１２と反転クロック信号ＣＬＫＢがゲート入力するＮＭＯＳトランジスタＭ１３が直列され、またこのトランジスタＭ１２にデータ保持信号ＤＲがゲート入力するＰＭＯＳトランジスタＭ１４が並列接続され、さらにトランジスタＭ１３のソース（ＳＢ）とＧＮＤとの間に、前記のＮＭＯＳトランジスタＭ１５とＰＭＯＳトランジスタＭ１６との並列回路が接続されたクロックド型の構成である。
【０００９】
インバータＩＮＶ８は、ＰＭＯＳトランジスタＭ１９とＮＭＯＳトランジスタＭ２０からなるＣＭＯＳ回路に、データ保持信号ＤＲがゲート入力されるＮＭＯＳトランジスタＭ２１が直列接続され、またトランジスタＭ１９，Ｍ２０のゲートに、データ保持信号ＤＲがゲート入力されるＰＭＯＳトランジスタＭ１８が接続され、またトランジスタＭ１９，Ｍ２０のドレインに、データ保持信号ＤＲがゲート入力されるＰＭＯＳトランジスタＭ２２が接続され、さらにトランジスタＭ２１のソース（ＯＦＦ）とＧＮＤとの間に、前記のＮＭＯＳトランジスタＭ１７が接続された構成である。そして、入力するクロック信号ＣＫは、インバータＩＮＶ７，ＩＮＶ８によって、前記したクロック信号ＣＬＫ、反転クロック信号ＣＬＫＢに変換される。
【００１０】
トランスミッションゲートＧ１はＰＭＯＳトランジスタＭ１とＮＭＯＳトランジスタＭ２を並列接続した構成であり、トランスミッションゲートＧ２はＮＭＯＳトランジスタＭ８，Ｍ９の直列回路にＰＭＯＳトランジスタＭ７を並列接続した構成である。トランジスタＭ１，Ｍ８のゲートにはクロック信号ＣＬＫが、トランジスタＭ２，Ｍ７のゲートには反転クロック信号ＣＬＫＢが入力し、トランジスタＭ９のゲートにはデータ保持信号ＤＲが入力する。
【００１１】
このデータ保持フリップフロップ１００Ａは、入出力が逆並列接続されたインバータＩＮＶ２とＩＮＶ３がマスタラッチとして働き、入出力が逆並列接続されたインバータＩＮＶ４とＩＮＶ５がスレーブラッチとして働く。
【００１２】
そして、スリープ信号ＳＬＰが“Ｈ”で、データ保持信号ＤＲが“Ｈ”のとき、クロック信号ＣＫが“Ｌ”になると、クロック信号ＣＬＫが“Ｌ”に、反転クロック信号ＣＬＫＢが“Ｈ”になり、トランスミッションゲートＧ１がオン、トランスミッションゲートＧ２がオフ、インバータＩＮＶ３がオフ、インバータＩＮＶ５がオンとなる。よって、Ｄ端子の入力データがインバータＩＮＶ１とトランスミッションゲートＧ１経由でインバータＩＮＶ２に入力する。
【００１３】
次に、クロック信号ＣＫが“Ｈ”になると、上記と逆に、トランスミッションゲートＧ１がオフ、トランスミッションゲートＧ２がオン、インバータＩＮＶ３がオン、インバータＩＮＶ５がオフとなる。よって、そのインバータＩＮＶ２の出力データがインバータＩＮＶ３で反転されてインバータＩＮＶ２に入力し、これによりマスタラッチにデータが保持される。また、この保持データはトランスミッションゲートＧ２経由でインバータＩＮＶ４に入力する。
【００１４】
次に、クロック信号ＣＫが“Ｌ”になると、そのインバータＩＮＶ４の出力データがインバータＩＮＶ５で反転されてインバータＩＮＶ４に入力し、これによりスレーブラッチにデータが保持される。この保持データは、インバータＩＮＶ６を介してＱ端子に出力される。
【００１５】
このように、データ保持フリップフロップ１００Ａは、クロック信号ＣＫが“Ｈ”になると入力データをマスタラッチに保持し、“Ｌ”になるとスレーブラッチに保持して出力する。
【００１６】
ここで、クロック信号ＣＫが“Ｌ”に固定されると、クロック信号ＣＬＫが“Ｌ”、反転クロック信号ＣＬＫＢが“Ｈ”に固定される。これにより、トランスミッションゲートＧ２がオフとなるので、スレーブラッチはマスタラッチから分離される。
【００１７】
次に、データ保持信号ＤＲを“Ｌ”に切り替えると、インバータＩＮＶ８において、トランジスタＭ１８，Ｍ２２がオンとなって、クロック信号ＣＬＫ，反転クロック信号ＣＬＫＢがいずれも“Ｈ”に固定される。これにより、トランスミッションゲートＧ２は、トランジスタＭ８がオンするがトランジスタＭ９がオフとなってオフ状態を保つ。従って、スレーブラッチが分離された状態が保たれる。スレーブラッチのインバータＩＮＶ５は、トランジスタＭ１２がオフとなるが、トランジスタＭ１４がオンとなる。従って、スレーブラッチはデータの保持を維持する。
【００１８】
次に、これに加えて、スリープ信号ＳＬＰを“Ｌ”に切り替えると、トランジスタＭ１７がオフとなり、インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ３，ＩＮＶ６，ＩＮＶ７，ＩＮＶ８のＧＮＤ側の電源供給路が遮断され、省電力モードとなる。このとき、インバータＩＮＶ４、ＩＮＶ５はトランジスタＭ１６により最低限の電源供給路が確保され、このインバータＩＮＶ４，ＩＮＶ５によりデータが保持される。
【特許文献１】特開平１１−１１２２９７号公報
【特許文献２】ＵＳ２００５／０１８４７５８
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上記のように、データ保持フリップフロップ１００Ａは、クロック信号ＣＫを“Ｌ”に固定したとき、あるいはクロック信号ＣＫを“Ｌ”に固定することに加えて、データ保持信号ＤＲを“Ｌ”にしてデータ保持モードにし、スリープ信号ＳＬＰを“Ｌ”に切り替えて省電力モードにしたとき、それが正常な場合は、所要のデータ保持性能を有するものである。このデータ保持性能は製品出荷時に検査する必要がある。
【００２０】
本発明の目的は、このようなフリップフロップのデータ保持性能を複数個まとめて検査できるようにした半導体集積回路の検査方法を提供することである。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、請求項１にかかる発明の半導体集積回路の検査方法は、スキャンチェーンが形成されるよう互いに直列に接続した複数のフリップフロップにクロック信号を供給するとともに、該複数のフリップフロップに前記スキャンチェーンを介して所定のデータを入力し、前記複数のフリップフロップへの前記クロック信号の供給を所定時間だけ停止した状態で前記入力したデータを保持し、その後、前記クロック信号を再び供給し、前記スキャンチェーンを介して前記複数のフリップフロップに保持されたデータを読み出し、前記入力したデータと前記読み出したデータとの比較により、前記複数のフリップフロップのデータ保持性能を検査することを特徴とする。
請求項２にかかる発明は、請求項１記載の半導体集積回路の検査方法において、前記半導体集積回路は、動作状態においては高電位電源電圧と低電位電源電圧とが供給されて論理信号を出力し、スリープ状態においては前記高電位電源電圧と前記低電位電源電圧との少なくとも一方の供給が停止される論理回路と、前記動作状態においては前記高電位電源電圧と前記低電位電源電圧とが供給されるとともにクロック信号が供給され、該クロック信号に同期して前記論理回路が出力した論理信号を取り込み、前記スリープ状態においても前記高電位電源電圧と前記低電位電源電圧との供給が継続され、前記動作状態において取り込んだ論理信号を保持するデータ保持フリップフロップとを有し、前記スキャンチェーンを形成する前記複数のフリップフロップの少なくとも一部として、前記データ保持フリップフロップが含まれることを特徴とする。
請求項３にかかる発明は、請求項２記載の半導体集積回路の検査方法において、前記所定時間の間、前記スキャンチェーンを形成するデータ保持フリップフロップは、前記クロック信号の供給を停止するとともに、前記高電位電源電圧と前記低電位電源電圧との少なくとも一方の供給を制限した、省電力保持状態とすることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、スキャンチェーンを構成させた複数のフリップフロップについて、そのデータ保持性能を、一括して同時に検査することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施例について説明する。図４は本実施例での検査対象となるデータ保持フリップフロップの構成を示すブロック図である。図４において、図３と同じ構成要素には同じ符号を付けた。このデータ保持フリップフロップ１００は、インバータＩＮＶ１の入力側にセレクタＳＥＬを接続し、通常動作時のデータ入力端子であるＤ端子と検査時にスキャンデータＳＤが入力するＳＤ端子とを、スキャンイネーブル信号ＳＥが入力するＳＥ端子の論理に応じて、そのセレクタＳＥＬで切り替えるようにしている。ＳＥ端子を“Ｌ”にすればＤ端子が選択され、“Ｈ”にすればＳＤ端子が選択される。
【００２４】
スキャン検査においては、図４に示したデータ保持フリップフロップ１００を、論理回路とデータ保持フリップフロップが交互に接続されるデータ転送回路に接続したまま（図示せず）で、図１に示すように、前段のフリップフロップ１００のＱ端子を後段のフリップフロップ１００のＳＤ端子に接続することで、複数段（図１は３段）のスキャンチェーンを構成する。そして、ＳＥ端子を“Ｈ”に設定してＳＤ端子を選択し、最前段のフリップフロップ１００のＳＤ端子にスキャンデータＳＤを入力する。なお、このとき、スリープ信号ＳＬＰが入力するＳＬＰ端子、データ保持信号ＤＲが入力するＤＲ端子は“Ｈ”に設定する。これにより、ＳＤ端子に入力されたスキャンデータＳＤは、クロック信号ＣＫに応じて、フリップフロップ１００を順次転送されて行く。
【００２５】
従って、スキャンチェーンを構成する最前段のデータ保持フリップフロップ１００のＳＤ端子にスキャンデータＳＤをシリアルに入力しながら、必要な期間だけクロック信号ＣＫの供給を継続することにより、スキャンチェーンを構成するそれぞれのデータ保持フリップフロップ１００に所望のデータを入力し、保持させることができる。
【００２６】
図２はこのスキャンチェーンの検査時のタイミングチャートである。時刻ｔ１でクロック信号ＣＫを停止して“Ｌ”に固定すると、トランスミッションゲートＧ２がオフになり、マスタラッチとスレーブラッチが分離される。次に、時刻ｔ２でデータ保持信号ＤＲを“Ｌ”に切り替える。このとき、トランスミッションゲートＧ２のオフはそのままであり、スレーブラッチはデータの保持を維持する。次に、時刻ｔ３でスリープ信号ＳＬＰを“Ｌ”にすると、トランジスタＭ１７がオフとなり、インバータＩＮＶ１，ＩＮＶ２，ＩＮＶ３，ＩＮＶ６、ＩＮＶ７，ＩＭＶ８のＧＮＤ側の電源供給路が遮断される。このとき、インバータＩＮＶ４、ＩＮＶ５は、トランジスタＭ１６により必要最低限の電源供給路が確保され、スレーブラッチはデータの保持を維持する。
【００２７】
このように、クロック信号ＣＫを停止し、さらに、データ保持モードおよび省電力モードにした状態を、所定時間だけ維持する。所定時間は、データ保持フリップフロップ１００のデータ保持性能に対して求められる仕様に応じて適切に定めればよい。具体的には例えば、１ｍｓ程度にすることができる。
【００２８】
そして、所定時間の経過後、時刻ｔ４でスリープ信号ＳＬＰを“Ｈ”にしてインバータＩＮＶ１，ＩＮＶ２，ＩＮＶ３，ＩＮＶ６，ＩＮＶ７，ＩＮＶ８への電源供給を開始する。これにより、スキャンチェーンを構成するそれぞれのデータ保持フリップフロップ１００のスレーブラッチに保持されていたデータが、インバータＩＮＶ６を介してＱ端子に出力され、次段のデータ保持フリップフロップ１００のＳＤ端子に入力される。そして、時刻ｔ５でデータ保持信号ＤＲを“Ｈ”にしてトランジスタＭ９，Ｍ２１をオンにし、トランジスタＭ１４，Ｍ１８，Ｍ２２をオフにし、時刻ｔ６でクロック信号ＣＫを再開させる。これにより、スキャンデータの転送が再開される。
【００２９】
この、クロック信号ＣＫの供給を必要な期間だけ継続することにより、スキャンチェーンを構成するそれぞれのデータ保持フリップフロップ１００の保持されていたデータが、最終段のデータ保持フリップフロップ１００のＱ端子から順番に出力される。
【００３０】
ここで、それぞれのデータ保持フリップフロップ１００が所要のデータ保持性能を有していれば、クロック信号ＣＫを停止し、データ保持信号ＤＲを“Ｌ”にしてデータ保持モードにし、さらに、スリーブ信号ＳＬＰを“Ｌ”にして省電力モードにした間も、それ以前に入力されて保持したデータがそのまま保持されている。この場合には、最前段のデータ保持フリップフロップ１００のＳＤ端子からシリアルに入力したデータと同一のデータが、最終段のデータ保持フリップフロップのＱ端子から出力される。
【００３１】
しかし、スキャンチェーンを構成する複数のデータ保持フリップフロップ１００の１つもしくは複数が所要の保持性能を持たない場合、入力したデータは、いったんは保持できたとしても、クロック信号ＣＫを停止した間に、もしくはさらに、データ保持モードおよび省電力モードにした間に失われてしまう。この場合、最前段のデータ保持フリップフロップ１００のＳＤ端子からシリアルに入力したデータとは異なるデータが、最終段のデータ保持フリップフロップのＱ端子から出力される。
【００３２】
以上から、スキャンチェーンに入力したスキャンデータＳＤと、そのスキャンチェーンから読み出したデータとを、図示しない比較手段により比較することにより、スキャンチェーンとして接続された複数のフリップフロップ１００のデータ保持性能を１度で検査することが可能となる。
【００３３】
以上では、クロック信号ＣＫを“Ｌ”に固定し、データ保持信号ＤＲを“Ｌ”に切り替え、スリープ信号ＳＬＰを“Ｌ”に切り替えて所定時間だけ維持し、複数のフリップフロップ１００のデータ保持性能を検査した。図４に示したように、データ保持信号ＤＲを“Ｌ”にしてデータ保持モードにすることにより、スリーブ信号ＳＬＰを“Ｌ”にした省電力モードにおいてもデータを保持することが可能なデータ保持フリップフロップを検査対象にする場合には、このようにすることが好ましい。
【００３４】
しかし、クロック信号ＣＫの供給が停止されるのみで、省電力モードにおいてデータを保持する機能を持たないフリップフロップを検査対象にする場合であれば、クロック信号ＣＫのみを所定時間だけ停止して、検査を行えばよい。
【００３５】
また、図４に示したような省電力モードにおいてデータを保持する機能を持っフリップフロップを検査対象にする場合であっても、クロック信号ＣＫのみを一時的に“Ｌ”に固定して所定時間だけ維持しデータ保持性能の検査を行っても良い。このときは、上記のようにスレーブラッチがマスタラッチから分離されて、データを保持する。
【図面の簡単な説明】
【００３６】
【図１】図４のフリップフロップで構成したスキャンチェーンのブロック図である。
【図２】本実施例の検査方法の動作波形図である。
【図３】一般的なフリップフロップの構成を示す回路図である。
【図４】本実施例の検査方法の検査対象としてのフリップフロップの構成を示す回路図である。
【符号の説明】
【００３７】
１００，１００Ａ：データ保持フリップフロップ
【図１】
2008256627.tif 000003
【図２】
2008256627.tif 000004
【図３】
2008256627.tif 000005
【図４】
2008256627.tif 000006