(57)【要約】【課題】各回路ブロックについて実動作周波数での動作テストを行うことを可能とする。【解決手段】異なる電源ラインから供給される電力によって駆動される回路ブロック２０，２２，２４を含み、回路ブロック２０，２２，２４の各々は、内蔵される単位回路の出力を保持するキャプチャモード、及び、その保持された値をシフト転送するシフトモードの切り替えが可能なスキャンチェーンを構成するフリップフロップを含み、回路ブロック２０，２２，２４毎に、テストクロックを供給するためのテストクロック端子Ｔｃ１〜Ｔｃ６を少なくとも１つ備える。【選択図】図１
2008216220.tif 000002
【特許請求の範囲】
【請求項１】
複数の単位回路を含んで構成され、第１の電源ラインから供給される電力によって駆動される第１の回路ブロックと、
複数の単位回路を含んで構成され、前記第１の電源ラインと異なる第２の電源ラインから供給される電力によって駆動される第２の回路ブロックと、を備えた半導体集積回路であって、
前記第１及び第２の回路ブロックは、内蔵される前記単位回路の出力を保持するキャプチャモード、及び、その保持された値をシフト転送するシフトモードの切り替えが可能なスキャンチェーンを構成するフリップフロップを含み、
前記第１の回路ブロックは、テストクロックを供給するための第１のテストクロック端子、又は、テストクロックの周波数を変換する第１の周波数変換回路のいずれか一方を備え、
前記第２の回路ブロックは、テストクロックを供給するための第２のテストクロック端子、又は、テストクロックの周波数を変換する第２の周波数変換回路のいずれか一方を備えることを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路であって、
前記第１及び第２のテストクロック端子が設けられた場合、
前記第１のテストクロック端子と前記第１の回路ブロックとの距離は、前記第１のテストクロック端子と前記第２の回路ブロックとの距離に比べて短く、
前記第２のテストクロック端子と前記第２の回路ブロックとの距離は、前記第２のテストクロック端子と前記第１の回路ブロックとの距離に比べて短いことを特徴とする半導体集積回路。
【請求項３】
請求項１又は２に記載の半導体集積回路であって、
前記第１及び第２の周波数変換回路の少なくとも１つが設けられた場合、
前記設けられた第１又は第２の周波数変換回路には、当該周波数変換回路の入力と当該周波数変換回路の出力とを切り替えて出力する切替スイッチが付設されていることを特徴とする半導体集積回路。
【請求項４】
複数の単位回路を含んで構成され、第１の電源ラインから供給される電力によって駆動される第１の回路ブロックと、複数の単位回路を含んで構成され、前記第１の電源ラインと異なる第２の電源ラインから供給される電力によって駆動される第２の回路ブロックと、を備え、前記第１及び第２の回路ブロックは、内蔵される前記単位回路の出力を保持するキャプチャモード、及び、その保持された値をシフト転送するシフトモードの切り替えが可能なスキャンチェーンを構成するフリップフロップを含む半導体集積回路に対するスキャンテスト方法であって、
前記キャプチャモードでは、前記第１及び第２の回路ブロックに対して実動作周波数を有する第１のクロック及び第２のクロックをそれぞれ供給し、
前記シフトモードでは、前記第１及び第２の回路ブロックに対して共通の周波数を有する第３のクロックを供給し、
前記第１のクロックと前記第２のクロックとは周波数が異なることを特徴とするスキャンテスト方法。
【請求項５】
請求項４に記載のスキャンテスト方法であって、
前記キャプチャモードでは、前記第１及び第２の回路ブロックのうち少なくとも１つに備わる周波数変換回路を介して当該回路ブロックへ前記第１又は第２のクロックを供給し、
前記シフトモードでは、前記周波数変換回路を介さずに当該回路ブロックへ前記第３のクロックを供給することを特徴とするスキャンテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路等の電気回路の動作テストとしてスキャンテストを行うことが可能な半導体集積回路及びスキャンテスト方法に関する。
【背景技術】
【０００２】
半導体集積回路の動作テスト技術の１つとして、組合せ回路の中のパス上に複数のフリップフロップ（ＦＦ）を組み込んだ回路を用いるスキャンテストの技術が知られている。スキャンテストにおけるテストモードは、シフトモードとキャプチャモードとに分けられる。
【０００３】
具体的には、図４に示すように、半導体集積回路を構成する単位回路１０（例えば、加算器、減算器等の電気回路の構成単位の回路）間にＦＦ１２を挿入する。このとき、図４に示すように、入力側のＦＦ１２の非反転出力が単位回路１０の入力端子へ入力され、単位回路１０の出力が出力側のＦＦ１２の入力端子へ入力されるように接続するキャプチャモードと、入力側のＦＦ１２の非反転出力が出力側のＦＦ１２の入力端子へ直接入力されるように接続するシフトモードとが切り替えられるように回路を構成する。各ＦＦは、通常モードでは組合せ回路の中の対応する信号をラッチするために用いられる。
【０００４】
キャプチャモードでは、各単位回路１０の出力が出力側のＦＦ１２にラッチされる。シフトモードでは、複数のＦＦが１つのスキャンチェーン（シフトレジスタ）を構成するように互いに縦続接続される。シフトモードでは、キャプチャモードにおいて各ＦＦ１２に取り込まれた出力が半導体集積回路の外部から供給されるクロックによって次段のＦＦ１２へ順次転送され、１ビットずつシリアルにスキャンチェーンから出力される。この出力を半導体集積回路の外部で測定することによって、各単位回路１０の出力が正しいか否かを判定することができる。
【０００５】
また、特許文献１には、スキャンチェーンの出力−セレクタ−スキャンチェーンの入力により閉回路を構成し、ＬＳＩの実際の動作速度よりも低い周波数のクロックに同期させてテストデータをスキャンインさせ、スキャンインさせたテストデータをＬＳＩの実際の動作速度に等しい周波数のクロックに同期させて所定期間に閉回路を循環させ、ＬＳＩの実際の動作速度に等しい周波数のクロックに同期させて出力させるスキャンテスト方法が開示されている。
【０００６】
【特許文献１】特開２００３−４８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、複数の回路ブロックを備える半導体集積回路では、各回路ブロックは互いに異なる動作周波数で動作する場合がある。このような半導体集積回路の動作をスキャンテストする際には、回路ブロックのうち実動作周波数の低い回路ブロックに合わせて、総ての回路ブロックに対して低い同一の周波数のクロックを供給して動作テストを行っている。
【０００８】
このような態様でテストを行った場合、テストで用いた周波数以上の実動作周波数で動作する回路ブロックが実動作周波数において正しく動作するか否かがチェックできない問題がある。
【０００９】
また、複数の回路ブロックにおいて回路ブロック毎に電源を独立に設け、各回路ブロックを半導体集積回路の所定の領域に配置する場合がある。このような場合においても、回路ブロックの配置を考慮することなく、単一のクロック入力端子から総ての回路ブロックに対してテスト用のクロックを供給している。
【００１０】
このような態様でテストを行った場合、スキャンチェーンを構成する各ＦＦに対して同一の位相でクロックが供給されるように、クロック入力端子から各ＦＦのクロック端子までの配線長に応じた遅延回路を挿入しておく必要がある。その結果、半導体集積回路の回路規模が大きくなってしまう問題が生ずる。また、半導体集積回路のレイアウト設計が複雑化し、製造コストが増大してしまう問題も生ずる。
【００１１】
本発明は、上記課題を鑑み、上記課題の少なくとも１つを解決すべく、半導体集積回路及びスキャンテスト方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、複数の単位回路を含んで構成され、第１の電源ラインから供給される電力によって駆動される第１の回路ブロックと、複数の単位回路を含んで構成され、前記第１の電源ラインと異なる第２の電源ラインから供給される電力によって駆動される第２の回路ブロックと、を備えた半導体集積回路であって、前記第１及び第２の回路ブロックは、内蔵される前記単位回路の出力を保持するキャプチャモード、及び、その保持された値をシフト転送するシフトモードの切り替えが可能なスキャンチェーンを構成するフリップフロップを含み、前記第１の回路ブロックは、テストクロックを供給するための第１のテストクロック端子、又は、テストクロックの周波数を変換する第１の周波数変換回路のいずれか一方を備え、前記第２の回路ブロックは、テストクロックを供給するための第２のテストクロック端子、又は、テストクロックの周波数を変換する第２の周波数変換回路のいずれか一方を備えることを特徴とする。
【００１３】
ここで、前記第１及び第２のテストクロック端子が設けられた場合、前記第１のテストクロック端子と前記第１の回路ブロックとの距離は、前記第１のテストクロック端子と前記第２の回路ブロックとの距離に比べて短く、前記第２のテストクロック端子と前記第２の回路ブロックとの距離は、前記第２のテストクロック端子と前記第１の回路ブロックとの距離に比べて短いことがより好適である。
【００１４】
また、前記第１及び第２の周波数変換回路の少なくとも１つが設けられた場合、前記設けられた第１又は第２の周波数変換回路には、当該周波数変換回路の入力と当該周波数変換回路の出力とを切り替えて出力する切替スイッチが付設されていることが好適である。
【００１５】
また、本発明は、複数の単位回路を含んで構成され、第１の電源ラインから供給される電力によって駆動される第１の回路ブロックと、複数の単位回路を含んで構成され、前記第１の電源ラインと異なる第２の電源ラインから供給される電力によって駆動される第２の回路ブロックと、を備え、前記第１及び第２の回路ブロックは、内蔵される前記単位回路の出力を保持するキャプチャモード、及び、その保持された値をシフト転送するシフトモードの切り替えが可能なスキャンチェーンを構成するフリップフロップを含む半導体集積回路に対するスキャンテスト方法であって、前記キャプチャモードでは、前記第１及び第２の回路ブロックに対して実動作周波数を有する第１のクロック及び第２のクロックをそれぞれ供給し、前記シフトモードでは、前記第１及び第２の回路ブロックに対して共通の周波数を有する第３のクロックを供給し、前記第１のクロックと前記第２のクロックとは周波数が異なることを特徴とする。
【００１６】
ここで、前記キャプチャモードでは、前記第１及び第２の回路ブロックのうち少なくとも１つに備わる周波数変換回路を介して当該回路ブロックへ前記第１又は第２のクロックを供給し、前記シフトモードでは、前記周波数変換回路を介さずに当該回路ブロックへ前記第３のクロックを供給するものとしてもよい。
【発明の効果】
【００１７】
本発明によれば、半導体集積回路に実動作周波数が異なる回路ブロックが含まれている場合であっても、各回路ブロックについて実動作周波数での動作テストを行うことができる。また、動作テストを可能にすると共に、半導体集積回路の回路規模を低減することができ、消費電力や開発・製造時の負担も低減することができる。
【発明を実施するための最良の形態】
【００１８】
［装置構成］
本発明の実施の形態における半導体集積回路１００は、図１に示すように、複数の回路ブロック２０，２２，２４を含んで構成される。回路ブロック２０，２２，２４は半導体集積回路１００のなかにおいて異なる領域に配置されている。
【００１９】
本実施の形態の例では、回路ブロック２０は実動作周波数８ＭＨｚと１６ＭＨｚのサブブロック２０ａ，２０ｂを含み、回路ブロック２２は実動作周波数２００ＭＨｚと１６ＭＨｚのサブブロック２２ａ，２２ｂを含み、回路ブロック２４は実動作周波数３２ＭＨｚと１６ＭＨｚのサブブロック２４ａ，２４ｂを含んで構成される。このように、各回路ブロック２０，２２，２４間においても、各回路ブロック２０，２２，２４内においても実動作周波数が異なる回路が含まれている。各回路ブロック２０，２２，２４は、図１に示すように、それぞれ共通の電源ラインＡ，Ｂ，Ｃから供給される電力により駆動される。
【００２０】
また、半導体集積回路１００には、スキャンテストが可能となるようにスキャンチェーンを構成するフリップフロップ（ＦＦ）が組み込まれている。以下、図２を参照しつつ、回路ブロック２０のサブブロック２０ａの構成を例として説明する。
【００２１】
回路ブロック２０に含まれるサブブロック２０ａには、それぞれ複数の単位回路３０ａ，３０ｂ・・・が含まれる。単位回路３０ａ，３０ｂ・・・は、例えば、加算器、減算器、比較器等の電気回路の構成単位となる回路、又は、それらを組み合わせた回路である。単位回路３０ａ，３０ｂ・・・は、単独で機能するものとしてもよい。また、単位回路３０ａ，３０ｂ・・は、それぞれ前段の回路から入力信号を受けて、内部回路により入力信号に処理を施し、後段の単位回路へと出力するように組み合わせられて機能するものとしてもよい。
【００２２】
サブブロック２０ａに含まれる単位回路３０ａ，３０ｂ・・・は、ＦＦ３２ａ，３２ｂ・・・を介して接続される。このとき、サブブロック２０ａに含まれるＦＦ３２ａ，３２ｂ・・・は、外部から８ＭＨｚの周波数のクロックを共通に受けて、そのクロックに同期させて処理を行う。単位回路３０ａの出力信号がＦＦ３２ａの入力端子へ入力され、ＦＦ３２ａの非反転出力が単位回路３０ｂへ入力される。単位回路３０ｂの出力信号が切替スイッチ３６ｂを介してＦＦ３２ｂの入力端子へ入力され、ＦＦ３２ｂの非反転出力が単位回路３０ｃへ入力される。以下、同様に前段の単位回路と後段の単位回路が、出力側の切替スイッチ、ＦＦ及び入力側の切替スイッチを介して接続される。これがキャプチャモードのときの信号パスとなる。
【００２３】
また、ＦＦ３２ａの非反転出力と切替スイッチ３６ａとが単位回路３０ｂを迂回するように接続される。また、ＦＦ３２ｂの非反転出力と切替スイッチ３６ｂとが単位回路３０ｃを迂回するように接続される。以下、同様に各単位回路の入力側の切替スイッチと出力側の切替スイッチとがその単位回路を迂回するように接続される。これがシフトモードのときの信号パスとなる。
【００２４】
半導体集積回路１００には、図１に示すように、外部からモード切替信号を入力するためのモード切替端子Ｔｍが設けられる。モード切替端子Ｔｍは、図２に示すように、切替スイッチ３６ａ，３６ｂ・・・に接続される。モード切替端子Ｔｍに入力するモード切替信号をハイレベルとすると切替スイッチ３６ａ，３６ｂ・・・がａ側へ接続され、サブブロック２０ａはキャプチャモードに設定される。また、モード切替端子Ｔｍに入力するモード切替信号をローレベルとすると切替スイッチ３６ａ，３６ｂ・・・がｂ側へ接続され、ＦＦ３２ａ，３２ｂ・・・間が直接接続されスキャンチェーンが構成される。これによりサブブロック２０ａはシフトモードに設定される。
【００２５】
さらに、半導体集積回路１００には、図１に示すように、サブブロック２０ａへのテストクロック端子Ｔｃ１が設けられる。テストクロック端子Ｔｃ１は、図２に示すように、クロックラインを介して、サブブロック２０ａに含まれるＦＦ３２ａ，３２ｂ・・・のクロック端子へ接続される。
【００２６】
以上のようにサブブロック２０ａはスキャンテストが可能なように構成される。同様に、回路ブロック２０に含まれるサブブロック２０ｂ、他の回路ブロック２２，２４に含まれるサブブロック２２ａ，２２ｂ，２４ａ，２４ｂにもスキャンテストが可能なようにスキャンチェーンが組み込まれる。
【００２７】
なお、サブブロック２０ａの最終段の単位回路３０ｎの出力信号が切替スイッチ３６ｎを介してＦＦ３２ｎの入力端子へ入力され、ＦＦ３２ｎの非反転出力がサブブロック２０ｂの第１段目の単位回路３０ｍへ入力される。このように、サブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａの最終段の単位回路の出力信号が切替スイッチを介してＦＦの入力端子へ入力され、ＦＦの非反転出力が切替スイッチを介して、次段のサブブロック２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂの第１段目の単位回路の入力に接続される。また、図２に示すように、半導体集積回路１００における最終のサブブロックとなるサブブロック２４ｂの最終段のＦＦ３８の非反転出力端子は、半導体集積回路１００の出力端子Ｔｏに接続される。
【００２８】
また、各回路ブロック２０，２２，２４に含まれるサブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂに対して、それぞれテストクロック端子Ｔｃ１〜Ｔｃ６が設けられる。テストクロック端子Ｔｃ１〜Ｔｃ６は、それぞれ対応するサブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂに含まれるＦＦのクロック端子に接続される。
【００２９】
テストクロック端子Ｔｃ１〜Ｔｃ６は、図１に示すように、各サブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂの近傍に設けられる。より具体的には、テストクロック端子Ｔｃ１は、少なくとも対応しないサブブロック２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂよりも対応するサブブロック２０ａの近傍に配置される。同様に、他のテストクロック端子も、他のサブブロックよりもそのテストクロック端子に対応するサブブロックの近くに配置される。
【００３０】
半導体集積回路１００の動作テストを行う際には、まず、モード切替信号をハイレベルにしてキャプチャモードに設定する。そして、各テストクロック端子Ｔｃ１〜Ｔｃ６から、各サブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂの実動作周波数のクロックを供給しつつ、各サブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂを動作させる。これにより、各サブブロックに含まれる各単位回路の処理結果である出力が各単位回路の出力側のＦＦに保持される。
【００３１】
次に、モード切替信号をローレベルにしてシフトモードに設定する。そして、各テストクロック端子Ｔｃ１〜Ｔｃ６から、各サブブロック２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂへ共通の周波数を有するクロックを供給することによって、そのクロックに同期して各ＦＦに保持された値が順次後段のＦＦへシフトされ、半導体集積回路１００の最終段のＦＦから出力端子Ｔｏを介して外部へ順次出力される。
【００３２】
なお、本実施の形態では、モード切替端子Ｔｍを設けて、モード切替端子Ｔｍからモード切替信号を入力することによってキャプチャモードとシフトモードとの切り替え処理を行うものとしたが、これに限定されるものではない。例えば、半導体集積回路１００内に制御部を設けて、切替制御信号の入力に応じて制御部によりキャプチャモードとシフトモードとの切り替え処理を行うものとしてもよい。
【００３３】
また、サブブロック毎にテストクロック端子を設ける代わりに、図３に示すように、いずれかのサブブロックに対して分周回路や倍周回路等の周波数変換回路を設ける構成としてもよい。図３では、サブブロック２０ａに設けられたテストクロック端子Ｔｃ１から入力される周波数８ＭＨｚのテストクロックを周波数１６ＭＨｚのクロックに変換する周波数変換回路（倍周回路）４０をサブブロック２０ｂに設けている。分周回路や倍周回路等の周波数変換回路は、一般的なフェーズ・ロック・ループ回路等により構成することができる。
【００３４】
このとき、周波数変換回路４０には、モード切替信号に応じてサブブロック２０ｂに対して周波数変換回路４０からのクロックとテストクロック端子Ｔｃ１からのクロックとを切り替えるための切替スイッチ４２を付設する。切替スイッチ４２は、モード切替信号がハイレベルのときには周波数変換回路４０からのクロックがサブブロック２０ｂへと供給され、モード切替信号がローレベルのときにはテストクロック端子Ｔｃからのクロックがサブブロック２０ｂへと供給されるように切り替えられる。
【００３５】
本実施の形態において、サブブロック２０ａに含まれるＦＦ３２ｎと、サブブロック２０ｂに含まれる単位回路３０ｍとを図示しないフリップフロップを介して接続することが好適である。このとき、テストクロック端子Ｔｃ１からのクロックを反転したクロック、又は、テストクロック端子Ｔｃ２からのクロックを反転したクロックのうちのいずれかを上述のフリップフロップに供給する。シフトモードで動作させる際に、テストクロック端子Ｔｃ１とテストクロック端子Ｔｃ２とから供給される複数のクロックの間の誤差によるデータの受け渡しのエラーを防ぐことができるため、異なるクロックで動作するサブブロック２０ａとサブブロック２０ｂとの間でデータの受け渡しを好適に行うことができる。
【００３６】
以上のように、サブブロック毎にテストクロック端子又は周波数変換回路を設けることによって、各回路について実動作周波数でのキャプチャ処理を行ったのち、共通の周波数でシフト処理を行うことによって、各回路について実動作周波数による動作テストを行うこともできる。
【００３７】
すなわち、同一の電源ラインから電力が供給される回路ブロック毎にテストクロック端子又は周波数変換回路を少なくとも１つ設けることによって、動作テストを可能にすると共に、スキャンテストにおけるＦＦの同期をとるための遅延バッファを低減することができる。これにより、半導体集積回路の回路規模を低減することができ、開発・製造時の負担も低減することができる。同一の電源ラインから電力が供給される回路は半導体基板上において同一の領域に配置されることが多いので、同一の電源ラインから電力が供給されるサブブロック毎にテストクロック端子又は周波数変換回路を設ければ、サブブロック内ではテスト用のクロックの遅延の影響は小さくなるので、ＦＦの同期をとるための遅延バッファをそれほど多く設けることなくスキャンテストを行うことができるからである。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態における半導体集積回路の構成を示す図である。
【図２】本発明の実施の形態におけるサブブロックの構成を示す図である。
【図３】本発明の実施の形態におけるサブブロックの別例を示す図である。
【図４】背景技術における半導体集積回路の構成を示す図である。
【符号の説明】
【００３９】
１０  単位回路、１２  フリップフロップ（ＦＦ）、２０，２２，２４  回路ブロック、２０ａ，２０ｂ，２２ａ，２２ｂ，２４ａ，２４ｂ  サブブロック、３０  単位回路、３２  フリップフロップ（ＦＦ）、３６，３８  切替スイッチ、４０  周波数変換回路、４２  切替スイッチ、１００  半導体集積回路。
【図１】
2008216220.tif 000003
【図２】
2008216220.tif 000004
【図３】
2008216220.tif 000005
【図４】
2008216220.tif 000006