(57)【要約】【課題】同期した１／２の分周関係にあるクロックドメイン間でのデータ転送に対する基本クロック周波数によるａｔ＿ｓｐｅｅｄテストを行なうことのできる半導体集積回路およびテスト方法を提供する。【解決手段】半導体集積回路は、スキャンテストの実行中にスキャンフリップフロップをシフトモードからキャプチャモードへ切り替える信号が入力されたとき、クロック生成部３で生成されるクロックで動作する第１の基本クロックドメイン１と、基本クロックを２分周した分周クロックで動作し、基本クロックドメイン１との間で相互にデータの伝達が行われる分周クロックドメイン２と、に対して、クロック分配部５が、遅延テスト用クロック抽出部４により抽出された２個の基本クロックを、データ伝達方向の指定にもとづき、１個ずつ分配する。【選択図】図１
2009036668.tif 000002
【特許請求の範囲】
【請求項１】
基本クロックで動作し、スキャンパスを形成する第１のスキャンフリップフロップを含む第１のクロックドメインと、
前記基本クロックを２分周した分周クロックで動作し、スキャンパスを形成する第２のスキャンフリップフロップを含み、前記第１のクロックドメインとの間で相互にデータの伝達が行われる第２のクロックドメインと、
前記基本クロックを生成するクロック生成手段と、
スキャンテストの実行中に、前記第１のスキャンフリップフロップおよび前記第２のスキャンフリップフロップをシフトモードからキャプチャモードへ切り替える信号が入力されたとき、前記クロック生成手段から２個の基本クロックを抽出し遅延テスト用クロックとして出力する遅延テスト用クロック抽出手段と、
データ伝達方向の指定にもとづき、前記２個の遅延テスト用クロックを前記第１のクロックドメインと前記第２のクロックドメインとに１個ずつ分配するクロック分配手段と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記クロック分配手段が、
前記データ伝達方向の指定が前記第１のクロックドメインから前記第２のクロックドメインへ向かう方向であるときは、
前記２個の遅延テスト用クロックのうちの１個目を前記第１のクロックドメインへ供給して２個目を前記第２のクロックドメインへ供給し、
前記データ伝達方向の指定が前記第２のクロックドメインから前記第１のクロックドメインへ向かう方向であるときは、
前記２個の遅延テスト用クロックのうちの１個目を前記第２のクロックドメインへ供給して２個目を前記第１のクロックドメインへ供給する
ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記クロック分配手段が、
前記第１のクロックドメインへは、前記データ伝達方向の指定に拘わらず、前記２個の遅延テスト用クロックを２個とも供給する
ことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
基本クロックで動作し、スキャンパスを形成する第１のスキャンフリップフロップを含む第１のクロックドメインと、前記基本クロックを２分周した分周クロックで動作し、スキャンパスを形成する第２のスキャンフリップフロップを含む第２のクロックドメインと、を備える半導体集積回路における前記第１のクロックドメインと前記第２のクロックドメイン間のデータ伝達の遅延テストを行うテスト方法であって、
シフト／キャプチャモードをシフトモードに設定して前記第１のスキャンフリップフロップおよび前記第２のスキャンフリップフロップに所定のテストデータをシフトインするステップと、
シフト／キャプチャモードをキャプチャモードに切り替えて、前記基本クロックと同じ周波数の連続する２個のクロックのうちの１個をデータ伝達元のクロックドメインへ入力し、残りの１個をデータ伝達先のクロックドメインへ入力するステップと、
シフト／キャプチャモードをシフトモードに切り替えて、前記データ伝達先のクロックドメインのスキャンパスからシフトアウトされる出力を期待値と比較するステップと、
を有することを特徴とするテスト方法。
【請求項５】
前記シフト／キャプチャモードをキャプチャモードに切り替えたときに、前記第１のクロックドメインへは、前記基本クロックと同じ周波数のクロックを２個連続して入力し、前記クロックドメイン間のデータ伝達の前記遅延テストの実行と同時に、前記第１のクロックドメイン内のデータ伝達の遅延テストも行うことを特徴とする請求項４に記載のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路およびテスト方法に関する。
【背景技術】
【０００２】
大規模な半導体集積回路では、構造テスト用テストパターンの作成容易化のために、スキャンテスト手法を用いることが多い。スキャンテスト手法を用いるときは、回路内のフリップフロップをスキャン入力端子とスキャン出力端子を有するスキャンフリップフロップとし、前段のスキャンフリップフロップのスキャン出力端子と後段のスキャンフリップフロップのスキャン入力端子を順次接続してスキャンパスを形成するようにする。
【０００３】
このスキャンフリップフロップにはシフト／キャプチャ制御端子も設けられ、シフト／キャプチャ制御信号により、シフトモードとキャプチャモードの切り替えが行われる。シフトモードでは、スキャン入力端子から入力される信号がスキャンフリップフロップの入力信号となり、キャプチャモードでは、通常の入力端子から入力される信号がスキャンフリップフロップの入力信号となる。
【０００４】
この切り替えにより、シフトモード時には、１つのスキャンパスで接続されたスキャンフリップフロップ群は、１つのシフトレジスタとして動作する。
【０００５】
スキャンテストは次のように行われる。
【０００６】
まず、シフト／キャプチャ制御信号をシフトモードにして、外部からのテストデータをスキャンパスを介して各スキャンフリップフロップにシフトインさせ、それぞれのスキャンフリップフロップを所望の値に設定する。
【０００７】
次に、シフト／キャプチャ制御信号をキャプチャモードにして、各スキャンフリップフロップの通常の出力端子からその設定された値を出力して後続の論理回路に通常の動作をさせ、その出力を、次のクロック入力に同期させて、この論理回路に接続されたスキャンフリップフロップに、通常の入力端子から取り込む。
【０００８】
その後、シフト／キャプチャ制御信号を再びシフトモードにして、各スキャンフリップフロップに取り込んだ論理回路の出力結果をスキャンパスを介して外部へシフトアウトする。
【０００９】
最後に、スキャンアウトされた出力結果を期待値と比較し、半導体集積回路に構造上の不良があるかどうかを判定する。
【００１０】
一般に、このスキャンテストのような、半導体集積回路の検査を目的とするテストでは、安価な低速のＬＳＩテスターを用いる。そのため、テスト時の半導体集積回路のクロック周波数は、通常、所定の動作周波数よりも低い周波数に設定される。
【００１１】
一方、近年の半導体集積回路の高速化に伴い、半導体集積回路が所定のクロック周波数で正常に動作するかどうかのテストも必要となっている。このとき、ＬＳＩテスターの周波数を半導体集積回路の動作周波数に設定できれば、いわゆるａｔ＿ｓｐｅｅｄテストが実行できる。しかし、そのためには高価な高速のＬＳＩテスターが必要となり、テストコストが増加する。あるいは、ＬＳＩテスターの最高周波数が半導体集積回路の動作周波数よりも低い場合には、ＬＳＩテスターによるａｔ＿ｓｐｅｅｄテスト自体を行うことができない。
【００１２】
そのため、従来、半導体集積回路にテストパターンを発生するテスト回路を内蔵させ、このテスト回路を半導体集積回路に内蔵のＰＬＬ回路でａｔ＿ｓｐｅｅｄ動作させることで、半導体集積回路のａｔ＿ｓｐｅｅｄテストを行うことが行われている。このとき、半導体集積回路がスキャンテスト対応の回路構成の場合、ａｔ＿ｓｐｅｅｄテストにスキャンテスト手法を取り入れる方法が提案されている（例えば、特許文献１参照。）。
【００１３】
この方法では、スキャン動作時は低速の外部クロックでスキャンパスによるシフト動作を行わせ、キャプチャモードのときのみ、内蔵のＰＬＬ回路で発生させた所定周波数の高速クロックを２クロック分だけ各スキャンフリップフロップに与える。これにより、スキャンフリップフロップ間のデータ転送がａｔ＿ｓｐｅｅｄで行われる。
【００１４】
その後、再び外部クロックに戻し、ａｔ＿ｓｐｅｅｄでスキャンフリップフロップに取り込んだデータをスキャンパスからシフトアウトして、その値が正しいかどうかをＬＳＩテスターで判定する。これにより、低速のＬＳＩテスターであっても高速のａｔ＿ｓｐｅｅｄテストを行うことが可能となる。
【００１５】
このような方法により、同一のクロックドメイン内に含まれているスキャンフリップフロップ間のデータ転送については、ａｔ＿ｓｐｅｅｄテストを行うことができる。
【００１６】
ところで、半導体集積回路の中には、１つの半導体集積回路の中に異なる周波数の複数のクロックドメインを含むものがある。例えば、基本周波数のクロックドメインと、この基本周波数を分周した周波数のクロックドメインを含む半導体集積回路などが、その例である。
【００１７】
このような異なる周波数の複数のクロックドメインを有する半導体集積回路においても、それぞれのクロックドメイン内のスキャンフリップフロップ間のデータ転送のａｔ＿ｓｐｅｅｄテストには、上述の方法を適用することができる。
【００１８】
ところが、このような半導体集積回路において、異なる周波数のクロックドメイン間で、同期したデータの転送が行われることがある。その場合、このようなデータ転送に対しても、基本クロック周波数によるａｔ＿ｓｐｅｅｄテストを行うことが求められる。
【００１９】
しかし、このような場合、上述のａｔ＿ｓｐｅｅｄテスト方法では対応することができない、という問題があった。
【特許文献１】特開２００２−１９６０４６号公報  （第４−５ページ、図６）
【発明の開示】
【発明が解決しようとする課題】
【００２０】
そこで、本発明の目的は、同期した１／２の分周関係にあるクロックドメイン間でのデータ転送に対する基本クロック周波数によるａｔ＿ｓｐｅｅｄテストを行なうことのできる半導体集積回路およびテスト方法を提供することにある。
【課題を解決するための手段】
【００２１】
本発明の一態様によれば、基本クロックで動作し、スキャンパスを形成する第１のスキャンフリップフロップを含む第１のクロックドメインと、前記基本クロックを２分周した分周クロックで動作し、スキャンパスを形成する第２のスキャンフリップフロップを含み、前記第１のクロックドメインとの間で相互にデータの伝達が行われる第２のクロックドメインと、前記基本クロックを生成するクロック生成手段と、スキャンテストの実行中に、前記第１のスキャンフリップフロップおよび前記第２のスキャンフリップフロップをシフトモードからキャプチャモードへ切り替える信号が入力されたとき、前記クロック生成手段から２個の基本クロックを抽出し遅延テスト用クロックとして出力する遅延テスト用クロック抽出手段と、データ伝達方向の指定にもとづき、前記２個の遅延テスト用クロックを前記第１のクロックドメインと前記第２のクロックドメインとに１個ずつ分配するクロック分配手段と、を備えることを特徴とする半導体集積回路が提供される。
【００２２】
また、本発明の別の一態様によれば、基本クロックで動作し、スキャンパスを形成する第１のスキャンフリップフロップを含む第１のクロックドメインと、前記基本クロックを２分周した分周クロックで動作し、スキャンパスを形成する第２のスキャンフリップフロップを含む第２のクロックドメインと、を備える半導体集積回路における前記第１のクロックドメインと前記第２のクロックドメイン間のデータ伝達の遅延テストを行うテスト方法であって、シフト／キャプチャモードをシフトモードに設定して前記第１のスキャンフリップフロップおよび前記第２のスキャンフリップフロップに所定のテストデータをシフトインするステップと、シフト／キャプチャモードをキャプチャモードに切り替えて、前記基本クロックと同じ周波数の連続する２個のクロックのうちの１個をデータ伝達元のクロックドメインへ入力し、残りの１個をデータ伝達先のクロックドメインへ入力するステップと、シフト／キャプチャモードをシフトモードに切り替えて、前記データ伝達先のクロックドメインのスキャンパスからシフトアウトされる出力を期待値と比較するステップと、を有することを特徴とするテスト方法が提供される。
【発明の効果】
【００２３】
本発明によれば、同期した１／２の分周関係にあるクロックドメイン間でのデータ転送に対する基本クロック周波数によるａｔ＿ｓｐｅｅｄテストを行なうことができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施例を図面を参照して説明する。
【実施例１】
【００２５】
図１は、本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図である。
【００２６】
本実施例の半導体集積回路は、クロック生成部３で生成される基本クロックで動作する基本クロックドメイン１と、この基本クロックを２分周した分周クロックで動作する分周クロックドメイン２と、を備える。
【００２７】
基本クロックドメイン１にはスキャンフリップフロップＳＦ１１、ＳＦ１２、ＳＦ１３、・・・などのスキャンフリップフロップが含まれ、これらのスキャンフリップフロップは、内部スキャンノードＳＩ１１からスキャンアウト端子ＳＯ１に至るスキャンパスを形成している。
【００２８】
また、スキャンフリップフロップのデータ入出力間に論理回路が接続されることがある。例えば、図１に示す例では、スキャンフリップフロップＳＦ１１とスキャンフリップフロップＳＦ１２の間には論理回路Ｌ１１が接続され、スキャンフリップフロップＳＦ１２とスキャンフリップフロップＳＦ１３の間には論理回路Ｌ１２が接続されているものとする。
【００２９】
一方、分周クロックドメイン２にはスキャンフリップフロップＳＦ２１、ＳＦ２２、ＳＦ２３、・・・などのスキャンフリップフロップが含まれ、これらのスキャンフリップフロップは、スキャンイン入力端子ＳＩ２からスキャンアウト端子ＳＯ２に至るスキャンパスを形成している。
【００３０】
また、基本クロックドメイン１と同様、スキャンフリップフロップのデータ入出力間に論理回路が接続されることがあり、例えば、スキャンフリップフロップＳＦ２１とスキャンフリップフロップＳＦ２２の間には論理回路Ｌ２１が接続され、スキャンフリップフロップＳＦ２２とスキャンフリップフロップＳＦ２３の間には論理回路Ｌ２２が接続されているものとする。
【００３１】
この基本クロックドメイン１と分周クロックドメイン２との間には相互にデータを伝達する経路がある。
【００３２】
例えば、基本クロックドメイン１から分周クロックドメイン２へデータを伝達する経路の１つとして、基本クロックドメイン１のスキャンフリップフロップＳＦ１１の出力を、論理回路Ｌ１１および論理回路Ｌ２１を介して、分周クロックドメイン２のスキャンフリップフロップＳＦ２１へ伝達する経路がある。
【００３３】
逆に、分周クロックドメイン２から基本クロックドメイン１へデータを伝達する経路としては、分周クロックドメイン２のスキャンフリップフロップＳＦ２２の出力を、論理回路Ｌ２２および論理回路Ｌ１２を介して、基本クロックドメイン１のスキャンフリップフロップＳＦ１３へ伝達する経路がある。
【００３４】
したがって、本実施例の半導体集積回路のａｔ＿ｓｐｅｅｄテストを行なう場合、この基本クロックドメイン１のスキャンフリップフロップから分周クロックドメイン２のスキャンフリップフロップへのデータの伝達、および基本クロックドメイン２のスキャンフリップフロップから分周クロックドメイン１のスキャンフリップフロップへのデータの伝達が、それぞれ実行できなければならない。
【００３５】
そこで、本実施例では、基本クロックドメイン１と分周クロックドメイン２相互間のデータ伝達のａｔ＿ｓｐｅｅｄテストを行うために、遅延テスト用クロック抽出部４、クロック分配部５、クロック選択部６を設ける。
【００３６】
遅延テスト用クロック抽出部４は、基本クロックドメイン１および分周クロックドメイン２スキャンテストの実行中に、それぞれのドメインのスキャンフリップフロップがシフト／キャプチャ信号によりシフトモードからキャプチャモードへ切り替えられたとき、クロック生成部３の出力から２個の基本クロックを抽出し、遅延テスト用クロックＴＣＰとして出力する。
【００３７】
図２に、遅延テスト用クロック抽出部４の動作の様子を示す。なお、ここでは、シフト／キャプチャ信号が‘１’のときシフトモードとなり、シフト／キャプチャ信号が‘０’のときキャプチャモードになるものとする。
【００３８】
図２（ａ）は、ａｔ＿ｓｐｅｅｄ信号を‘１’にしてａｔ＿ｓｐｅｅｄモードにしたときの遅延テスト用クロック抽出部４の動作波形図である。
【００３９】
このとき、シフト／キャプチャ信号を‘０’とすると、遅延テスト用クロックＴＣＰとして２個の基本クロックが出力される。
【００４０】
一方、図２（ｂ）に示すように、ａｔ＿ｓｐｅｅｄ信号を‘０’としたときは、遅延テスト用クロック抽出部４から基本クロックがそのまま出力される。
【００４１】
クロック分配部５は、遅延テスト用クロック抽出部５から出力された遅延テスト用クロックＴＣＰの２個の基本クロックを、基本クロックドメイン１用のクロックＣＰ１と、分周クロックドメイン２用のクロックＣＰ２と、に分配する。
【００４２】
クロック選択部６は、基本クロックドメイン１および分周クロックドメイン２に与えるクロックを、通常のスキャンテスト用クロックとするか、クロック分配部５から出力されたクロックとするか、の選択を行う。
【００４３】
図３に、クロック分配部５およびクロック選択部６の具体的な回路構成の例を示す。
【００４４】
クロック分配部６には、通常動作時には基本クロックがそのまま出力される遅延テスト用クロック抽出部４の出力ＴＣＰを２分周する分周器として動作するスキャンフリップフロップＳＦ５１およびインバータＩＶ５１が含まれる。スキャンフリップフロップＳＦ５１の出力が分周クロックドメイン２へ与える分周クロックを生成するクロックゲーティングのイネーブル信号となる。
【００４５】
このスキャンフリップフロップＳＦ５１は、ａｔ＿ｓｐｅｅｄテストモードのときは、スキャンイン端子ＳＩへスキャンインされたテストデータの設定により、ａｔ＿ｓｐｅｅｄテストの対象のデータの出力側から入力側への伝達方向を指定する信号であるデータ伝達方向指定信号を出力する回路として動作する。
【００４６】
なお、スキャンフリップフロップＳＦ５１のスキャンアウト端子ＳＯからスキャンアウトされた信号は、基本クロックドメイン１へスキャンインされる内部スキャンノードＳＩ１１へ伝えられる。
【００４７】
また、クロック分配部６には、ａｔ＿ｓｐｅｅｄテスト信号をインバータＩＶ５２で反転させた信号とデータ伝達方向指定信号とが入力されるＯＲゲートＯＲ５１と、ＯＲゲートＯＲ５１の出力を遅延テスト用クロックＴＣＰに同期してラッチするラッチＬＴ５１と、ラッチＬＴ５１の出力と遅延テスト用クロックＴＣＰとが入力されるＡＮＤゲートＡＮ５１と、データ伝達方向指定信号をインバータＩＶ５３で反転させた信号を遅延テスト用クロックＴＣＰに同期してラッチするラッチＬＴ５２と、ラッチＬＴ５２の出力と遅延テスト用クロックＴＣＰとが入力されるＡＮＤゲートＡＮ５２と、を有する。
【００４８】
ＡＮＤゲートＡＮ５１の出力が基本クロックドメイン１へ供給するクロックＣＰ１となり、ＡＮＤゲートＡＮ５２の出力が分周クロックドメイン２へ供給するクロックＣＰ２となる。
【００４９】
ここで、データ伝達方向指定信号は、スキャンフリップフロップＳＦ５１のトグル動作により、遅延テスト用クロックＴＣＰの１個目のクロックの出力と２個目のクロックの出力の途中で極性が変化する。
【００５０】
したがって、スキャンフリップフロップＳＦ５１の初期値をスキャンイン入力ＳＩ１から入力するテストデータで設定することにより、クロックＣＰ１とクロックＣＰ２に分配する遅延テスト用クロックＴＣＰの順番を変更することができる。
【００５１】
図４に、データ伝達方向指定信号と、クロックＣＰ１およびクロックＣＰ２との関係を波形図で示す。
【００５２】
図４（ａ）は、データ伝達方向指定信号の初期値を‘１’に設定し、データ伝達方向を基本クロックドメイン１から分周クロックドメイン２へ向かう方向と指定したときの、クロックＣＰ１とクロックＣＰ２の出力関係を示す。
【００５３】
この場合、クロックＣＰ１に、遅延テスト用クロックＴＣＰの１個目のクロックが出力され、データ伝達方向指定信号が初期値の‘１’から‘０’へトグルする。その後、クロックＣＰ２に、遅延テスト用クロックＴＣＰの２個目のクロックを出力し、データ伝達方向指定信号が‘０’から‘１’へ再びトグルする。
【００５４】
一方、図４（ｂ）は、データ伝達方向指定信号の初期値を‘０’に設定し、データ伝達方向を分周クロックドメインから２基本クロックドメイン１へ向かう方向と指定したときの、クロックＣＰ１とクロックＣＰ２の出力関係を示す。
【００５５】
この場合、クロックＣＰ２に、遅延テスト用クロックＴＣＰの１個目のクロックが出力され、データ伝達方向指定信号が初期値の‘０’から‘１’へトグルする。その後、クロックＣＰ１に、遅延テスト用クロックＴＣＰの２個目のクロックを出力し、データ伝達方向指定信号が‘１’から‘０’へ再びトグルする。
【００５６】
次に、クロック選択部６について説明する。
【００５７】
図３に戻って、クロック選択部６は、基本クロックドメイン１に与えるクロックを、通常のスキャンテスト用のスキャンテスト用クロック１とするか、クロック分配部５から出力されたクロックＣＰ１とするか、の選択を行うセレクタＳＥＬ６１と、分周クロックドメイン２に与えるクロックを、通常のスキャンテスト用のスキャンテスト用クロック２とするか、クロック分配部５から出力されたクロックＣＰ２とするか、の選択を行うセレクタＳＥＬ６２と、を有する。
【００５８】
セレクタＳＥＬ６１およびセレクタＳＥＬ６２に対する入力選択信号は、ＡＮ６１、ＩＶ６１、ＡＮ６２およびＯＲ６１で形成される回路により、シフト／キャプチャ信号、スキャンモード信号およびａｔ＿ｓｐｅｅｄ信号の組み合わせにより生成される。
【００５９】
図５に、このシフト／キャプチャ信号、スキャンモード信号およびａｔ＿ｓｐｅｅｄ信号の組み合わせと、クロック選択部６の出力信号ＣＫ１、ＣＫ２の関係を真理値表で示す。
【００６０】
ａｔ＿ｓｐｅｅｄテストを行うときは、スキャンモード信号＝‘１’、ａｔ＿ｓｐｅｅｄテスト信号＝‘１’に設定する。このとき、シフト／キャプチャ信号＝‘１’にすると、クロックＣＫ１、クロックＣＫ２には、スキャンテスト用クロック１、スキャンテスト用クロック２が、それぞれ出力され、シフト／キャプチャ信号＝‘０’にすると、遅延テスト用クロックである１パルスだけの基本クロック周波数のクロックＣＰ１、ＣＰ２がそれぞれ出力される。
【００６１】
一方、スキャンモード信号＝‘１’、ａｔ＿ｓｐｅｅｄテスト信号＝‘０’に設定すると、通常のスキャンテストモードなり、シフト／キャプチャ信号が‘０’のときも、‘１’のときも、クロックＣＫ１、ＣＫ２には、スキャンテスト用クロック１、スキャンテスト用クロック２が、それぞれ出力される。
【００６２】
また、スキャンモード信号＝‘０’にすると、システム動作モードになり、クロックＣＫ１にはクロックＣＰ１として基本クロックが出力され、クロックＣＫ２にはクロックＣＰ２として分周クロックが出力される。
【００６３】
上述したように、スキャンモード信号、ａｔ＿ｓｐｅｅｄテスト信号、シフト／キャプチャ信号の入力の組み合わせ、およびデータ伝達方向指定信号の設定により、基本クロックドメイン１と分周クロックドメイン２の相互間のデータ伝達に対して、ａｔ＿ｓｐｅｅｄテストを行うことができる。その手順を図６のフロー図を用いて説明する。
【００６４】
図６は、本実施例の半導体集積回路のａｔ＿ｓｐｅｅｄテストを行うときの１パターンだけに着目した実行手順の例を示すフロー図である。
【００６５】
ａｔ＿ｓｐｅｅｄテストを開始するときは、まず、スキャンモード信号＝‘１’、ａｔ＿ｓｐｅｅｄテスト信号＝‘１’に設定する（ステップＳ０１）。
【００６６】
次に、シフト／キャプチャ信号＝‘１’にして、それぞれのスキャンイン入力ＳＩ１、ＳＩ２からテストデータをスキャンインし、基本クロックドメイン１、分周クロックドメイン２それぞれのスキャンフリップフロップの所定値を設定する。このとき、データ伝達方向指定信号を出力するクロック分配部５のスキャンフリップフロップＳＦ５１にもデータ伝達方向を指定する値をスキャンインする（ステップＳ０２）。
【００６７】
次に、シフト／キャプチャ信号＝‘０’に切り替える（ステップＳ０３）。
【００６８】
これにより、データ送信側のクロックドメインへ基本クロック周波数のクロックが１個入力され、送信側スキャンフリップフロップからのデータの送り出しが行われ、データ伝達方向指定信号の値が反転する（ステップＳ０４）。
【００６９】
これにより、データ受信側のクロックドメインへ基本クロック周波数のクロックが１個入力され、受信側スキャンフリップフロップへのデータの取り込みが行われる（ステップＳ０５）。
【００７０】
次に、シフト／キャプチャ信号＝‘１’に戻して、スキャンフリップフロップへ取り込まれたデータをスキャンアウトしながら期待値と比較し、半導体集積回路のａｔ＿ｓｐｅｅｄテストにおける合否判定を行う（ステップＳ０６）。
【００７１】
上述した手順によるａｔ＿ｓｐｅｅｄテストを行ったときの半導体集積回路の動作波形の例を図７および図８に示す。
【００７２】
図７は、データ伝達方向を基本クロックドメイン１から分周クロックドメイン２へ向かう向きとしたときの動作波形図である。
【００７３】
この場合、シフト／キャプチャ信号を‘０’に切り替えたとき、データ送信側のクロックドメインである基本クロックドメイン１へのクロック信号ＣＫ１に１個目の遅延テスト用クロックが供給され、受信側クロックドメインである分周クロックドメイン２へのクロック信号ＣＫ２に２個目の遅延テスト用クロックが供給される。
【００７４】
クロック信号ＣＫ１に同期して基本クロックドメイン１のスキャンフリップフロップから出力されたデータは分周クロックドメイン２へ伝達され、クロック信号ＣＫ２に同期して分周クロックドメイン２のスキャンフリップフロップに読み込まれる。
【００７５】
シフト／キャプチャ信号を‘１’に戻すと、スキャンフリップフロップに読み込まれたデータは、スキャンテスト用クロックでスキャンシフトされ、スキャンアウト出力からスキャンアウトデータとして出力される。
【００７６】
このスキャンアウトデータが期待値と比較され、基本クロックドメイン１から分周クロックドメイン２へのａｔ＿ｓｐｅｅｄでのデータ伝達が正常に行われたかどうかの合否判定が行われる。
【００７７】
図８は、図７の場合とは逆に、データ伝達方向を分周クロックドメイン２から基本クロックドメイン１へ向かう向きとしたときの動作波形図である。
【００７８】
この場合、シフト／キャプチャ信号を‘０’に切り替えたとき、データ送信側のクロックドメインである分周クロックドメイン２へのクロック信号ＣＫ２に１個目の遅延テスト用クロックが供給され、受信側クロックドメインである基本クロックドメイン１へのクロック信号ＣＫ１に２個目の遅延テスト用クロックが供給される。
【００７９】
クロック信号ＣＫ２に同期して分周クロックドメイン２のスキャンフリップフロップから出力されたデータは基本クロックドメイン１へ伝達され、クロック信号ＣＫ１に同期して基本クロックドメイン１のスキャンフリップフロップに読み込まれる。
【００８０】
シフト／キャプチャ信号を‘１’に戻すと、スキャンフリップフロップに読み込まれたデータは、スキャンテスト用クロックでスキャンシフトされ、スキャンアウト出力からスキャンアウトデータとして出力される。
【００８１】
このスキャンアウトデータが期待値と比較され、分周クロックドメイン２から基本クロックドメイン１へのａｔ＿ｓｐｅｅｄでのデータ伝達が正常に行われたかどうかの合否判定が行われる。
【００８２】
このような本実施例によれば、基本クロックで動作する基本クロックドメインと、この基本クロックを分周した分周クロックで動作する分周クロックドメインとの間の相互のデータ伝達に対して、半導体集積回路の内部で生成される基本クロックを用いたａｔ＿ｓｐｅｅｄテストを行うことができる。
【００８３】
また、データ伝達方向を、スキャンパスを経由して伝達されるスキャンテスト用テストデータで設定できるので、一般的なＡＴＰＧ（自動テストパターン生成）ツールにより、異なるクロックドメイン間のデータ伝達をテストするテストパターンを生成することができる。
【実施例２】
【００８４】
本実施例では、実施例１で示した基本クロックドメインと分周クロックドメインとの間の相互のデータ伝達のａｔ＿ｓｐｅｅｄテストと同時に、基本クロックドメイン内のデータ伝達のａｔ＿ｓｐｅｅｄテストも行うことのできる半導体集積回路の例を示す。
【００８５】
本実施例の半導体集積回路の基本的な構成は、図１に示した実施例１の半導体集積回路と同じである。実施例１と異なる点は、実施例１のクロック分配部５の代わりに、本実施例では、クロック分配部５Ａを用いる点である。
【００８６】
図９に、本実施例のクロック分配部５Ａの構成の例と、その動作の様子を示す。
【００８７】
図９（ａ）は、クロック分配部５Ａの構成の例である。
【００８８】
クロック分配部５Ａは、入力された遅延テスト用クロックＴＣＰをそのままの極性で出力し、基本クロックドメイン１へ供給するクロックＣＰ１とするバッファＢＵＦ５１と、遅延テスト用クロックＴＣＰと、分周器を構成するスキャンフリップフロップＳＦ５１から出力されるデータ伝達方向指定信号をインバータＩＶ５３で反転させてラッチＬＴ５２で遅延テスト用クロックＴＣＰに同期してラッチした信号と、を入力とし、分周クロックドメイン２へ供給するクロックＣＰ２を出力するＡＮＤゲートＡＮ５２と、を有する。
【００８９】
図９（ｂ）は、データ伝達方向指定信号が基本クロックドメイン１から分周クロックドメイン２へ向かうデータの伝達を指定したときのクロック分配部５Ａの動作波形図である。
【００９０】
この場合、基本クロックドメイン１へ供給するクロックＣＰ１には、遅延テスト用クロックＴＣＰの２個の基本クロックが２個とも出力され、分周クロックドメイン２へ供給するクロックＣＰ２には、遅延テスト用クロックＴＣＰの２個の基本クロックのうちの２個目のクロックが出力される。
【００９１】
一方、図９（ｃ）は、データ伝達方向指定信号が分周クロックドメイン２から基本クロックドメイン１へ向かうデータの伝達を指定したときのクロック分配部６の動作波形図である。
【００９２】
この場合も、基本クロックドメイン１へ供給するクロックＣＰ１には、遅延テスト用クロックＴＣＰの２個の基本クロックが２個とも出力される。一方、分周クロックドメイン２へ供給するクロックＣＰ２には、遅延テスト用クロックＴＣＰの２個の基本クロックのうちの１個目のクロックが出力される。
【００９３】
本実施例におけるａｔ＿ｓｐｅｅｄテストの実行は、実施例１と同じく、図５に示したフロー図に沿った手順で行う。
【００９４】
そのａｔ＿ｓｐｅｅｄテストの実行の際、本実施例では、基本クロックドメインと分周クロックドメイン相互間のデータ伝達に対するａｔ＿ｓｐｅｅｄテストとともに、基本クロックドメイン内のデータ伝達に対するａｔ＿ｓｐｅｅｄテストも実行される。
【００９５】
図１０および図１１に、このａｔ＿ｓｐｅｅｄテストを行ったときの半導体集積回路の動作波形の例を示す。
【００９６】
図１０は、クロックドメイン間のデータ伝達方向を基本クロックドメイン１から分周クロックドメイン２へ向かう向きとしたときの動作波形図である。
【００９７】
この場合、シフト／キャプチャ信号を‘０’に切り替えたとき、データ送信側のクロックドメインである基本クロックドメイン１へのクロック信号ＣＫ１に１個目の遅延テスト用クロックが供給され、受信側クロックドメインである分周クロックドメイン２へのクロック信号ＣＫ２に２個目の遅延テスト用クロックが供給される。このとき、基本クロックドメイン１は、ドメイン内データ伝達の受信側でもあるので、基本クロックドメイン１へのクロック信号ＣＫ１にも２個目の遅延テスト用クロックが供給される。
【００９８】
クロック信号ＣＫ１に同期して基本クロックドメイン１のスキャンフリップフロップから出力されたクロックドメイン間を伝達されるデータは分周クロックドメイン２へ伝達され、クロック信号ＣＫ２に同期して分周クロックドメイン２のスキャンフリップフロップに読み込まれる。
【００９９】
一方、クロック信号ＣＫ１の１個目の遅延テスト用クロックに同期して基本クロックドメイン１のスキャンフリップフロップから出力され、基本クロックドメイン１内を伝達したデータは、クロック信号ＣＫ１の２個目の遅延テスト用クロックに同期して次段のスキャンフリップフロップに読み込まれる。
【０１００】
シフト／キャプチャ信号を‘１’に戻すと、スキャンフリップフロップに読み込まれたデータは、スキャンシフトされ、スキャンアウト出力からスキャンアウトデータとして出力される。
【０１０１】
これらのスキャンアウトデータは、それぞれ期待値と比較され、基本クロックドメイン１から分周クロックドメイン２へのデータ伝達、および基本クロックドメイン１内でのデータ伝達が、ａｔ＿ｓｐｅｅｄで正常に行われたかどうかの合否判定が行われる。
【０１０２】
図１１は、図１０の場合とは逆に、データ伝達方向を分周クロックドメイン２から基本クロックドメイン１へ向かう向きとしたときの動作波形図である。
【０１０３】
この場合、シフト／キャプチャ信号を‘０’に切り替えたとき、データ送信側のクロックドメインである分周クロックドメイン２へのクロック信号ＣＫ２に１個目の遅延テスト用クロックが供給され、受信側クロックドメインである基本クロックドメイン１へのクロック信号ＣＫ１に２個目の遅延テスト用クロックが供給される。このとき、基本クロックドメイン１は、ドメイン内データ伝達の送信側でもあるので、基本クロックドメイン１へのクロック信号ＣＫ１にも１個目の遅延テスト用クロックが供給される。
【０１０４】
クロック信号ＣＫ２に同期して分周クロックドメイン２のスキャンフリップフロップから出力されたデータは基本クロックドメイン１へ伝達され、クロック信号ＣＫ１に同期して基本クロックドメイン１のスキャンフリップフロップに読み込まれる。
【０１０５】
一方、クロック信号ＣＫ１の１個目の遅延テスト用クロックに同期して基本クロックドメイン１のスキャンフリップフロップから出力され、基本クロックドメイン１内を伝達したデータは、クロック信号ＣＫ１の２個目の遅延テスト用クロックに同期して次段のスキャンフリップフロップに読み込まれる。
【０１０６】
シフト／キャプチャ信号を‘１’に戻すと、スキャンフリップフロップに読み込まれたデータは、スキャンテスト用クロックでスキャンシフトされ、スキャンアウト出力からスキャンアウトデータとして出力される。
【０１０７】
このスキャンアウトデータが期待値と比較され、分周クロックドメイン２から基本クロックドメイン１へのデータ伝達、および基本クロックドメイン１内でのデータ伝達が、ａｔ＿ｓｐｅｅｄで正常に行われたかどうかの合否判定が行われる。
【０１０８】
このような本実施例によれば、基本クロックドメインと分周クロックドメインとの間の相互のデータ伝達に対するａｔ＿ｓｐｅｅｄテストと同時に、基本クロックドメイン内のデータ伝達に対するａｔ＿ｓｐｅｅｄテストを実行することができる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図。
【図２】本発明の実施例の遅延テスト用クロック抽出部の機能を説明するための波形図。
【図３】本発明の実施例１の分周／クロック分配部およびクロック選択部の構成の例を示す回路図。
【図４】本発明の実施例１の分周／クロック分配部の機能を説明するための波形図。
【図５】本発明の実施例のクロック選択部の選択信号の入力の組み合わせと出力信号の関係を示す真理値表。
【図６】本発明の実施例におけるａｔ＿ｓｐｅｅｄテストの実行手順の例を示すフロー図。
【図７】本発明の実施例１におけるａｔ＿ｓｐｅｅｄテストの実行の例を示す波形図。
【図８】本発明の実施例１におけるａｔ＿ｓｐｅｅｄテストの実行の例を示す波形図。
【図９】本発明の実施例２に係る半導体集積回路の分周／クロック分配部の構成および機能を説明するための図。
【図１０】本発明の実施例２におけるａｔ＿ｓｐｅｅｄテストの実行の例を示す波形図。
【図１１】本発明の実施例２におけるａｔ＿ｓｐｅｅｄテストの実行の例を示す波形図。
【符号の説明】
【０１１０】
１  基本クロックドメイン
２  分周クロックドメイン
３  クロック生成部
４  遅延テスト用クロック抽出部
５、５Ａ  分周／クロック分配部
６  クロック選択部
ＳＦ１１〜ＳＦ１３、ＳＦ２１〜ＳＦ２３、ＳＦ５１  スキャンフリップフロップ
Ｌ１１、Ｌ１２、Ｌ２１、Ｌ２２  論理回路
ＡＮ５１、ＡＮ５２、ＡＮ６１、ＡＮ６２  ＡＮＤゲート
ＯＲ５１、ＯＲ６１  ＯＲゲート
ＩＶ５１〜ＩＶ５３、ＩＶ６１  インバータ
ＬＴ５１、ＬＴ５２  ラッチ
ＳＥＬ５１、ＳＥＬ６１、ＳＥＬ６２  セレクタ
ＢＵＦ６１  バッファ
【図１】
2009036668.tif 000003
【図２】
2009036668.tif 000004
【図３】
2009036668.tif 000005
【図４】
2009036668.tif 000006
【図５】
2009036668.tif 000007
【図６】
2009036668.tif 000008
【図７】
2009036668.tif 000009
【図８】
2009036668.tif 000010
【図９】
2009036668.tif 000011
【図１０】
2009036668.tif 000012
【図１１】
2009036668.tif 000013