(57)【特許請求の範囲】
【請求項１】
フリップフロップ回路と、
試験モード時に、前記フリップフロップ回路に所定の値を設定すると共に前記フリップフロップ回路の保持する値を読み出すスキャンチェーンと、
通常モード時に非動作で、前記試験モード時には、前記フリップフロップ回路の値が変化する場合に動作状態となり、前記フリップフロップ回路の値が変化するタイミングで非動作状態になる電流消費回路と、を備え、
前記電流消費回路は、
発振回路と、
前記フリップフロップ回路の入力データと出力データを比較する比較器と、を備え、
前記発振回路は、前記比較器の出力、前記試験モードであることを示すモード信号およびクロックに応じて、動作状態と非動作状態の間で変化することを特徴とする半導体装置。
【請求項２】
前記フリップフロップ回路と前記電流消費回路の電源線は共通である請求項１記載の半導体装置。
【請求項３】
前記電流消費回路は、前記フリップフロップ回路内に設けられる請求項１または２記載の半導体装置。
【請求項４】
前記電流消費回路の動作状態と非動作状態の消費電流の差は、前記フリップフロップ回路の保持する値の変化時の消費電流に応じて決定されている請求項１から３のいずれか１項記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。
【背景技術】
【０００２】
半導体装置では、半導体装置内部に設けられる複数のフリップフロップ回路に所定の値を設定すると共に複数のフリップフロップ回路の保持する値を読み出し可能なようにスキャンチェーンを形成し、スキャンチェーンを利用して動作試験を行う。搭載回路の大規模化と試験の効率化・時間短縮の必要性などから、試験（テスト）時の回路動作においては、スキャンチェーンにおけるキャプチャ動作やスキャンシフト動作で一度に動作する回路の動作率が、通常のシステム動作時に比べ大きくなる。このため、試験時の消費電力が、一時的に極端に大きくなる傾向にある。
【０００３】
この急激な電流変動に、テスタ側の電源応答や試験環境が充分に追従しきれず、電源のノイズとなって半導体装置の内部動作への影響を無視できなくなる場合が発生する。
【０００４】
半導体装置の試験時に、この電源ノイズが閾値を越えると内部での誤動作を引き起こし、結果として良品と判定すべき製品を不良品と誤判定し、製品歩留りを必要以上に低下させることになる。
【０００５】
このような事態を回避するために、例えば、予め電源ノイズ（ＩＲドロップ）を考慮したスキャンチェーンの構成やレイアウト、テストパターン生成により誤動作を防止する設計手法などが提案されている。
【０００６】
あるいは、試験モード時の消費電力を削減する為の回路を構成する方法なども、様々提案されている。
【０００７】
しかしながら、これらの誤動作をなくす対策は、テストパターン長の増加、しいてはテスト時間の増加につながるものであり、テストの効率化、コスト削減との両立が難しかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１０３４９０号公報
【特許文献２】特開２００９−１５０８２３号公報
【特許文献３】特開２００７−１１０４０３号公報
【特許文献４】特開２００６−０６６８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
実施形態によれば、短時間且つ高効率で動作試験が行える半導体装置が実現される。
【課題を解決するための手段】
【００１０】
本発明の第１の観点によれば、フリップフロップ回路と、試験モード時に、フリップフロップ回路に所定の値を設定すると共にフリップフロップ回路の保持する値を読み出すスキャンチェーンと、通常モード時に非動作で、試験モード時には、フリップフロップ回路の値が変化する場合に動作状態となり、値が変化するタイミングで非動作状態になる電流消費回路と、を備えることを特徴とする半導体装置が提供される。
【発明の効果】
【００１１】
実施形態によれば、短時間且つ高効率で動作試験が行える半導体装置が、通常の設計方法を適用して容易に実現できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、対象とするスキャンチェーンを有する半導体装置の構成例を示す図である。
【図２】図２は、シフト動作時に発生する電源ノイズ波形の一例を示す図である。
【図３】図３は、実施形態の半導体装置の構成を示す図である。
【図４】図４は、電流消費回路を含むフリップフロップ（ＦＦ）回路の回路構成を示す図である。
【図５】図５は、電流消費回路の制御におけるタイミングチャートとＶＤＤ電源の波形への効果例を示す図である。
【図６】図６は、実施形態の半導体装置の設計フローを示す図である。
【発明を実施するための形態】
【００１３】
実施形態を説明する前に、スキャンチェーンを有する半導体装置について説明する。
【００１４】
図１は、スキャンチェーンを有する半導体装置の構成例を示す図である。
【００１５】
図１に示すように、この半導体装置は、論理回路などを含む第１組合せ回路１１および第２組合せ回路１２と、フリップフロップ回路（ＦＦ）２１Ａ、２１Ｂおよび２１Ｃと、を有する。フリップフロップ回路（ＦＦ）２１Ａ、２１Ｂおよび２１Ｃは、選択回路（セレクタ）２２Ａ、２２Ｂおよび２２Ｃと、Ｄ型ラッチ２３Ａ、２１Ｂおよび２１Ｃと、を有する。実際の半導体装置は、多数の組合せ回路およびフリップフロップ回路を有するが、ここでは図示の関係で、２個の組合せ回路および３個のフリップフロップ回路のみを示している。
【００１６】
通常モード時には、モード（ＭＯＤＥ）信号は「低（Ｌ）」になり、セレクタ２２Ａ、２２Ｂおよび２２Ｃは、第１組合せ回路１１および第２組合せ回路１２の出力をそれぞれ選択する。試験モード時には、ＭＯＤＥ信号は「高（Ｈ）」になり、セレクタ２２Ａ、２２Ｂおよび２２Ｃは、スキャン入力ＳＩまたは前段のフリップフロップ回路の出力をそれぞれ選択する。セレクタ２２Ａ、２２Ｂおよび２２Ｃの出力は、Ｄ型ラッチ２３Ａ、２１Ｂおよび２１Ｃのデータ入力Ｄに入力される。
【００１７】
Ｄ型ラッチ２３Ａ、２１Ｂおよび２１Ｃは、クロックＣＬＯＣＫに応じて動作し、通常モード時には、第１組合せ回路１１および第２組合せ回路１２と協働して動作し、試験モード時には、スキャンチェーンを形成する。Ｄ型ラッチ２３Ａ、２１Ｂおよび２１Ｃの出力は、第１組合せ回路１１および第２組合せ回路１２に入力されると共に、後段のフリップフロップ回路のセレクタに入力される。
【００１８】
スキャンチェーンを利用した半導体装置の動作試験（テスト）は、シフト動作およびキャプチャ動作を有する。シフト動作時には、ＭＯＤＥ信号をＨとし、Ｄ型ラッチ２３Ａ、２１Ｂおよび２１Ｃは、シフトレジスタとして動作し、スキャン入力ＳＩのデータを順次シフトし、所定サイクルシフトすることでフリップフロップ回路を所望の状態に設定できる。その状態で、ＭＯＤＥ信号をＬとすると、第１組合せ回路１１、第２組合せ回路１２、ＦＦ）２１Ａ、２１Ｂおよび２１Ｃは、クロックに応じて通常動作を行う。通常動作を所定サイクル数行った後、再びＭＯＤＥ信号をＨとしてシフト動作を行うとスキャン出力ＳＯから、通常動作を所定サイクル数行った後のＦＦ２１Ａ、２１Ｂおよび２１Ｃの保持するデータが読み出せる。読み出したデータを解析することにより、第１組合せ回路１１、第２組合せ回路１２、ＦＦ２１Ａ、２１Ｂおよび２１Ｃが正常に動作したかを判定できる。
【００１９】
スキャンチェーンを利用した半導体装置の動作試験については広く知られているので、これ以上の説明は省略する。
【００２０】
図２は、シフト動作時に発生する電源ノイズ波形の一例を示す図である。
【００２１】
図１に示したスキャンチェーンの有する半導体装置のシフト動作時、テスト効率を高めるために、クロックに同期して同時に多数のフリップフロップ回路２１Ａ、２１Ｂおよび２１Ｃの保持するデータが０から１あるいは１から０に遷移させる。多数のフリップフロップ回路の状態が遷移した場合、大きな消費電流が発生し、半導体集積回路内部の電源電位（図２ではＶＤＤ電位）に、図２において参照番号２で示すような電源ノイズが発生する。電源電位が、動作可能下限電位を下まわると、誤動作が発生してシフト動作が正しく行えなくなり、各ＦＦに設定するデータにエラーが発生する。そのため、スキャン出力の結果も所望の値でなくなるため、テスト結果は不良になる。
【００２２】
シフト動作に伴って発生する電源ノイズを低減するのは、同時に遷移するＦＦ数を減らせばよいが、同時に遷移するＦＦ数を減らすことは、テストの非効率化につながる。また、消費電流を減らす回路対策は、テスト時の急激な電流変化に対してどの箇所でどのように対策すれば誤動作回避が可能であるかが明確でないため、現状では実際に行うことは難しい。
【００２３】
以下に示す実施形態では、ＦＦの動作率を減らすことなく、従来の効率化したテストパターンのままで、誤動作が回避できる半導体装置が実現される。
【００２４】
実施形態の半導体装置は、フリップフロップ（ＦＦ）に対応して、ＦＦの値が変化する際の消費電流に応じた電流を予め消費している電流消費回路を設け、次のクロックでＦＦの値が変化する時には、クロックに同期して電流消費回路の動作を停止する。これにより、ＦＦの保持する値の変化に伴う消費電流の増加と、電流消費回路の動作停止に伴う消費電流の減少が相殺して、発生する電源ノイズを抑制する。
【００２５】
図３は、実施形態の半導体装置の構成を示す図である。
【００２６】
図３に示すように、実施形態の半導体装置３０は、チップ３１に実装されている。実施形態の半導体装置は、論理回路３２を有する。論理回路３２内には、組合せ回路３３と、第１フリップフロップ回路（ＦＦ）３７Ａと、第２フリップフロップ回路（ＦＦ）３７Ｂと、が設けられている。ここでは、１個の組合せ回路３３および２個のＦＦ回路のみを示しているが、実際には多数の組合せ回路およびＦＦ回路を有し、全体が協働して動作する。また、ＦＦ回路は、スキャンチェーンの一部を形成する。実施形態の半導体装置内には、高電位（ＶＤＤ）電源線３４と、低電位（ＧＮＤ）電源線３５と、クロック信号線３６が設けられている。実際には、多数の信号線が設けられているが、ここでは図示を省略している。多数の信号線には、スキャンデータ線、モード（ＭＯＤＥ）信号線なども含まれる。
【００２７】
実施形態の半導体装置のスキャンチェーンを形成するＦＦ３７Ａおよび３７Ｂは、内部に、電流消費回路（電源ノイズキャンセル用回路）３８Ａおよび３８Ｂを有する。電流消費回路３８Ａおよび３８Ｂは、スキャンチェーンを形成するすべてのフリップフロップ回路（ＦＦ）に対応して設けても、一部のＦＦに対応して設けてもよい。
【００２８】
図３に示すように、電流消費回路３８Ａおよび３８Ｂは、ＦＦ３７Ａおよび３７Ｂの内部に設けられ、電流消費回路３８Ａおよび３８Ｂの電源供給線は、ＦＦ３７Ａおよび３７Ｂの電源供給線と共通である。なお、電流消費回路３８Ａおよび３８Ｂは、ＦＦ３７Ａおよび３７Ｂの近傍に設けることも可能であり、その場合には、ＦＦ３７Ａおよび３７Ｂと電流消費回路３７Ａおよび３７Ｂの電源供給線は、電源線３４および３５の近傍に接続ノードを有することが望ましい。例えば、電源線３４および３５が階層構造を有する場合には、ＦＦ３７Ａおよび３７Ｂと電流消費回路３７Ａおよび３７Ｂの電源供給線は、同じ階層の電源線の近傍のノードに接続される。さらに、これはクロックＣＬＯＣＫについても同様であり、電流消費回路３８Ａおよび３８Ｂへのクロック信号線と、ＦＦ３７Ａおよび３７Ｂへのクロック信号線は、共通であるか、または分岐ノードからの配線長が短い。
【００２９】
図４は、電流消費回路３８を含むフリップフロップ（ＦＦ）回路３７の回路構成を示す図であり、ＦＦ３７Ａおよび３７Ｂは、それぞれＦＦ回路３７の回路構成を有する。
【００３０】
図４に示すように、フリップフロップ回路３７は、選択回路（セレクタ）４１と、Ｄ型ラッチ４２と、電流消費回路３８と、を有する。電流消費回路３８は、比較器（ＥＸＯＲ回路）４３と、インバータ４４と、ＮＡＮＤゲート４５と、直列に接続したインバータ列４６と、を有する。
【００３１】
セレクタ４１およびＤ型ラッチ４２は、図１で説明したように動作する。ＦＦ３７からのスキャンデータ出力ＳＯは、図１に示したように、Ｄ型ラッチ４２の正出力Ｑを利用しても、図４において破線で示すようにＤ型ラッチ４２の別の出力（Ｑまたは／Ｑ）を利用してもよい。
【００３２】
比較器４３は、ＦＦ３７へのスキャン入力ＳＩとＤ型ラッチ４２の出力Ｑを比較し、同じ値の場合にはＬを、異なる値の場合にはＨを出力する。言い換えれば、比較器４３は、スキャン入力ＳＩが、Ｄ型ラッチ４２に保持されている値と異なる時に、Ｈを出力する。
【００３３】
インバータ列４６の最後尾の出力はＮＡＮＤゲート４５に入力され、ＮＡＮＤゲート４５およびインバータ列４６は、リング発振器を形成する。したがって、インバータ列４６のインバータの個数は偶数であることが必要であり、設定する消費電流に応じて段数を決定する。ＮＡＮＤゲート４５には、比較器４３の出力、ＭＯＤＥ信号、インバータ４４の出力およびインバータ列４６の最後尾の出力が入力される。ＮＡＮＤゲート４５は、比較器４３の出力、ＭＯＤＥ信号およびインバータ４４の出力がすべてＨの時に、発振器として動作し、比較器４３の出力、ＭＯＤＥ信号およびインバータ４４の出力のいずれかがＬの時には固定状態となり、発振器としての動作を停止する。したがって、電流消費回路３８は、スキャンモード時（ＭＯＤＥ信号＝Ｈ）に、スキャン入力ＳＩがＤ型ラッチ４２に保持されている値と異なり、且つＣＬＯＣＫがＬの時に発振器として動作して大きな消費電流を発生する。電流消費回路３８は、通常動作時（ＭＯＤＥ信号＝Ｌ）の時、スキャン入力ＳＩがＤ型ラッチ４２に保持されている値と同じ時、またはＣＬＯＣＫがＨの時には発振器として動作せず、非常に小さな消費電流が発生するだけである。
【００３４】
なお、ここでは、電流消費回路３８内に、電流を消費する回路として発振器を形成した例を示したが、電流を消費する回路で高速で状態が切り換えられるのであればどのような回路でもよい。
図５は実施形態の半導体装置における電流消費回路の動作と、電流消費回路の有無による半導体装置内部でのＶＤＤ電源線でのノイズキャンセル効果と、を電位波形で示したタイムチャートである。
【００３５】
試験（テスト）モード時には、ＭＯＤＥ信号はＨである。なお、通常動作時には、ＭＯＤＥ信号はＬである。スキャン入力ＳＩ、Ｄ型ラッチ４２（スキャン出力ＳＯ）は、クロックＣＬＯＣＫの立ち上がりに応じて変化し、比較器４３の出力もクロックＣＬＯＣＫの立ち上がりに応じて変化する。
【００３６】
ＭＯＤＥ信号＝Ｈの状態で、スキャン入力ＳＩがＤ型ラッチ４２に保持されている値と異なる時（比較器出力＝Ｈ）、ＣＬＯＣＫ＝Ｈの期間では、ＮＡＮＤゲート４５の出力はＨとなり、発振器は動作せず、インバータ列４６の最後尾の出力はＬになる。この状態で、ＣＬＯＣＫ＝Ｌの期間になると、ＮＡＮＤゲート４５の出力はＬになり、発振器が動作して、消費電流が発生する。
【００３７】
前述のように、ＦＦ３７（Ｄ型ラッチ４２）は、ＣＬＯＣＫの立ち上がりに同期して、スキャン入力ＳＩを取り込む。スキャン入力ＳＩと保持している値が同じ時には状態が変化しないので大きな消費電流は発生しない。しかし、スキャン入力ＳＩと保持している値が異なる時には状態が変化するので大きな消費電流が発生し、図５において電流消費回路無しの時のＶＤＤ電位波形のように電源ノイズ２が発生する。もし、電源ノイズによりＶＤＤ電位が動作可能下限電位を下回ると、誤動作が発生する。
【００３８】
実施形態では、次のＣＬＯＣＫの立ち上がりでＦＦ３７（Ｄ型ラッチ４２）の保持する値が変化すると予測される場合には、比較器４３の出力がＨであり、ＣＬＯＣＫがＨに変化する前のＣＬＯＣＫ＝Ｌの期間に発振器が動作して大きな消費電流が発生している。この状態で、ＣＬＯＣＫがＨに変化すると、ＦＦ３７（Ｄ型ラッチ４２）の保持する値が変化して大きな消費電流が発生するが、発振器は動作を停止するので、その分消費電流が減少する。ＦＦ３７（Ｄ型ラッチ４２）の保持する値の変化に伴う消費電流の増加と、発振器の動作停止に伴う消費電流の減少が相殺して、消費電流変化を抑制するので、電源ノイズ５２を小さくできる。
【００３９】
データ遷移が発生しないＦＦ３７では、比較器の出力によって発振器の動作が制御され、発振器は起動されない。
【００４０】
なお、実施形態では、比較器４３の出力がＨの場合、ＣＬＯＣＫがＬに変化する時点で、発振器が動作状態になり、電源ノイズ５１が発生する。この時、ＦＦはデータ保持状態のため、電流消費回路（発振器）の起動により発生した電源ノイズ５１に対しては影響を受けない。 
電流消費回路は、あくまで試験モード時のみ動作し、通常モード時には非動作状態になるため、通常動作においては、電流消費回路の消費電流の影響はなく、試験時のノイズによる誤動作が発生しなければよい。
【００４１】
以上説明したように、上記の一連の動作により、電源ノイズの原因となるシフト動作時のＦＦのデータ遷移のタイミングでの電力消費において、電流消費回路を搭載しない場合の急激な電流変動分の絶対値に対して、電流消費回路を起動させた場合は、予め電流消費回路で消費している電流がデータ遷移による必要電流に割り当てられることになり、変動を小さくすることができる。
【００４２】
半導体装置全体で見ると、シフト動作の発生する各タイミングにおいてテストパターンの内容を問わず、データ遷移の発生するＦＦの消費電力に応じて 電流消費回路が起動することとなり消費電流変動に適正なキャンセル機能が働く。電源を供給するテスタ側から見ても、急激な電流変動が回避される為、電源応答に問題はなくなり電源ノイズ（ＩＲドロップ）自体の発生が抑制され、誤動作の発生を回避できる。
【００４３】
以上説明したように、スキャンチェーンを構成する全てのＦＦあるいは任意のＦＦにおいては、対応して設けられた電流消費回路が、シフト動作時のスキャンデータに応じて、各シフトタイミング毎に起動および停止が自動的に選択され、制御されることになる。そのため、該当のＦＦに対応して電流消費回路を配置するだけで、他の複雑な制御を一切必要としない。
【００４４】
そのため、実施形態の半導体装置の設計は、これまでの設計手法をそのまま適用し、該当のＦＦ内または近傍に電流消費回路を配置するだけでよい。
【００４５】
図６は、電流消費回路を搭載する際の設計フローを示した図である。このフローは、ＣＰＵなどの処理部およびメモリなどの記憶部を有するコンピュータ上に実現されるＣＡＤ装置などを利用した設計に適用される。
【００４６】
各ＦＦの消費電力に応じた電流消費回路を搭載したＦＦを、ＲＴＬ言語で記載したライブラリ６１として準備する。ここで、これまでの設計と異なるのは、対象とするＦＦを選択することのみで、設計および開発における特別な作業は不要である。
【００４７】
そして、これまでと同様に、論理合成処理６２に基づくネットリスト(Netlist)６３の作成、およびライブラリ６４への格納を行う。そして、ネットリスト６３およびライブラリ６４に格納されたデータに基づいての試験設計（ＤＦＴ）６５を行い、レイアウトに関するネットリスト６７、および試験データに関するネットリスト６６の作成を行う。さらに、ネットリスト６７からレイアウト６９を作成し、ネットリスト６６からテストパターン６８を作成する。
【００４８】
もし、ＦＦのＱ出力の論理により、組合せ回路部での消費電力の差の影響も考えられる場合には、事前に論理合成のＮｅｔｌｉｓｔの情報６２から搭載する電流消費回路の性能に反映させる事もできる。
【００４９】
以上説明したように、実施形態によれば、シフト動作時におけるＦＦのデータ遷移率やテストパターンの内容、あるいは回路規模によらず、データ遷移の起きるクロックのタイミングで発生する電流変動を動作範囲の許容内に抑制することができる。それにより、電源ノイズの影響を最小限に抑制しこれまでの効率化したテスト内容のまま誤動作を抑止することが可能となり、短時間且つ高効率な動作試験が実現できる。
【００５０】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５１】
３０    半導体装置
３１    チップ
３２    論理回路
３３    組合せ回路
３４    高電位側電源線（ＶＤＤ）
３５    低電位側電源線（ＧＮＤ）
３６    クロック（ＣＬＯＣＫ）
３７、３７Ａ、３７Ｂ    フリップフロップ回路（ＦＦ）
３８Ａ、３８Ｂ    電流消費回路
４１    選択回路（セレクタ）
４２    Ｄ型ラッチ
４３    比較器
４４    インバータ
４５    ＮＡＮＤゲート
４６    インバータ列
【図１】
0005578095.tif 000002
【図２】
0005578095.tif 000003
【図３】
0005578095.tif 000004
【図４】
0005578095.tif 000005
【図５】
0005578095.tif 000006
【図６】
0005578095.tif 000007