【手続補正書】
【提出日】平成17年7月6日(2005.7.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  半導体集積回路装置及びその位相テスト方法
【特許請求の範囲】
【請求項１】  複数のクロックを必要とする半導体集積回路装置の入力クロック間の位相テスト方法であって、
複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータを時系列データとして保持し、この時系列データをチェックすることにより、選択クロックに対する位相チェックを行なうことを特徴とする半導体集積回路装置の位相テスト方法。
【請求項２】  複数のクロックを必要とする半導体集積回路装置の入力クロック間の位相テスト方法であって、
複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータを時系列データとして保持し、この時系列データを期待値データと比較判定することにより、選択クロックに対する位相チェックを行なうことを特徴とする半導体集積回路装置の位相テスト方法。
【請求項３】  複数のクロックを必要とする半導体集積回路装置において、
複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータをセレクトする選択手段と、
前記選択されたクロックにより転送されるデータを入力して時系列データとして保持するデータ保持手段とを備えたことを特徴とする半導体集積回路装置。
【請求項４】  前記時系列データを予め設定された期待値と比較判定する判定手段を設けたことを特徴とする請求項３に記載の半導体集積回路装置。
【請求項５】  前記データ保持手段は、前記時系列データの保持と共に、当該選択されたクロックの入力クロック数をカウントし、そのカウント値を保持することを特徴とする請求項３または請求項４に記載の半導体集積回路装置。
【請求項６】  前記データ保持手段において、前記時系列データを保持する機能としてシフトレジスタを使用したことを特徴とする請求項３から請求項５のいずれか１項に記載の半導体集積回路装置。
【請求項７】  前記データ保持手段において、前記時系列データを保持する機能としてメモリを使用したことを特徴とする請求項３から請求項５のいずれか１項に記載の半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のクロックを必要とするシステムＬＳＩ（半導体集積回路装置）のタイミングマージンテスト手法に関するものである。
【０００２】
【従来の技術】
図１０は、複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とするシステムＬＳＩの概略構成を示すブロック図である。
【０００３】
図１０において、フリップフロップ１は、システムＬＳＩの入力データ（ＤＡＴＡ）をＣＬＯＣＫ１の立ち上がりでラッチする。フリップフロップ２は、フリップフロップ１の出力データ（Ｑ）が制御回路８により制御される組み合わせ回路Ｎｏ．１（符号５）を経由したデータをＣＬＯＣＫ２の立ち上がりでラッチする。更に、フリップフロップ３は、制御回路８により制御される組み合わせ回路Ｎｏ．Ｎ−１（図示せず）を経由したデータをＣＬＯＣＫＮの立ち上がりでラッチし、フリップフロップ４は、同様に制御回路８により制御される組み合わせ回路Ｎｏ．Ｎ（符号７）を経由したデータをＣＬＯＣＫ（Ｎ＋１）の立ち上がりでラッチする。
【０００４】
このような複数のクロックを必要とするシステムＬＳＩにおいて、入力クロック間の位相マージンテストを行う場合は、各クロックの位相を変化させた時にＬＳＩの機能が正常動作するか否かをＬＳＩの出力データを判定することにより行う。ここで問題になるのは、多くの機能を持つシステムＬＳＩにおいて、全機能を各クロックの位相の組み合わせでテストすると膨大なテスト時間が必要になることである。
【０００５】
図１０のシステムＬＳＩにおいて、ＣＬＯＣＫ１とＣＬＯＣＫ２に限定した場合のテスト回数は、ＣＬＯＣＫ１とＣＬＯＣＫ２の位相の組み合わせがＩ（１）通り、組み合わせ回路Ｎｏ．１の機能数がＦ（１）通りあるとすると、Ｉ（１）×Ｆ（１）回のテストが必要となる。そして、ＬＳＩの機能が正常動作することをＬＳＩの出力データを判定することによりテストを行なうために、ＣＬＯＣＫ１からＣＬＯＣＫＮまででは、｛Ｉ（１）×Ｆ（１）｝×｛Ｉ（２）×Ｆ（２）｝×・・・×｛Ｉ（Ｎ）×Ｆ（Ｎ）｝回のテストが必要となる。
【０００６】
【発明が解決しようとする課題】
以上のように、従来の複数のクロックを必要とするシステムＬＳＩにおいて、入力クロック間の位相マージンテストを行う場合、多くの機能を持つシステムＬＳＩにおいて、全機能を各クロックの位相の組み合わせでテストすると膨大なテスト時間が必要になる問題があった。
【０００７】
この発明は、上記のような問題点を解消するためになされたものであり、複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とするシステムＬＳＩの内部に位相テスト回路を備え、複数クロックの位相マージンテストを効率良く行なうことを目的とする。
【０００８】
この発明は、複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とするシステムＬＳＩの内部に位相テスト回路を具備し、複数クロックの位相マージンテストを効率良く実施するものである。
【０００９】
【課題を解決するための手段】
請求項１の発明は、複数のクロックを必要とする半導体集積回路装置の入力クロック間の位相テスト方法であって、複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータを時系列データとして保持し、この時系列データをチェックすることにより、選択クロックに対する位相チェックを行なうことを特徴とする。
【００１０】
請求項２の発明は、複数のクロックを必要とする半導体集積回路装置の入力クロック間の位相テスト方法であって、複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータを時系列データとして保持し、この時系列データを期待値データと比較判定することにより、選択クロックに対する位相チェックを行なうことを特徴とする。
【００１１】
請求項３の発明は、複数のクロックを必要とする半導体集積回路装置において、複数のクロックから任意のクロックを選択し、その選択されたクロックにより転送されるデータをセレクトする選択手段と、選択された転送データを入力して時系列データとして保持するデータ保持手段とを備えたことを特徴とする。
【００１２】
請求項４の発明は、請求項３の発明において、さらに時系列データを予め設定された期待値と比較判定する判定手段を設けたことを特徴とする。
【００１３】
請求項５の発明は、前記データ保持手段内に、時系列データの保持と共に、当該選択されたクロックの入力クロック数をカウントし、そのカウント値を保持する機能を備えたことを特徴とする。
【００１４】
請求項６の発明は、前記データ保持手段において、時系列データを保持する機能としてシフトレジスタを使用したことを特徴とする。
【００１５】
請求項７の発明は、前記データ保持手段において、時系列データを保持する機能としてメモリを使用したことを特徴とする。
【００１６】
【発明の実施の形態】
実施の形態１．
図１はこの発明の実施の形態１による複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とする半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【００１７】
図１において、フリップフロップ１はシステムＬＳＩの入力データ（ＤＡＴＡ）をＣＬＯＣＫ１の立ち上がりでラッチし、フリップフロップ２は組み合わせ回路Ｎｏ．１（符号５）を経由したデータをＣＬＯＣＫ２の立ち上がりでラッチする。また、フリップフロップ３は前段の組み合わせ回路Ｎｏ．Ｎ−１を経由したデータをＣＬＯＣＫＮの立ち上がりでラッチし、フリップフロップ４は組み合わせ回路Ｎｏ．Ｎ（符号７）を経由したデータをＣＬＯＣＫ（Ｎ＋１）の立ち上がりでラッチする。
【００１８】
一方、組み合わせ回路Ｎｏ．１（符号５），Ｎｏ．２（符号６），Ｎｏ．Ｎ（符号７）は、それぞれフリップフロップ１，２，３の出力データ（Ｑ）を入力し、制御回路８により制御されて多種の機能を附加し、その出力データを次段のフリップフロップ２，３，４のＤに入力する。なお、上記の構成及び機能は図１０のシステムＬＳＩの構成及び機能と同様である。
【００１９】
本実施の形態１においては、システムＬＳＩの複数クロック（ＣＬＯＣＫ２〜ＣＬＯＣＫＮ）から任意のクロックを選択するセレクタ３００と、そのクロック（ＣＬＯＣＫ２〜ＣＬＯＣＫＮ）によりフリップフロップ（２〜３）でラッチされたデータの反転データ（Ｑバー）を選択するセレクタ２００と、セレクタ３００及びセレクタ２００の出力を、それぞれクロック入力（ＣＫ）とデータ入力（ＤＩＮ）に入力し、出力データ（ＢＵＳＯＵＴ＜Ｍ＋Ｐ：０＞）を発生するタイミングチェック回路１００を備えている。
【００２０】
図２は、実施の形態１のタイミングチェック回路１００の内部構成を示すブロック図である。このタイミングチェック回路１００は、クロック入力ＣＫを源とするクロック（ＯＲゲート１０３の出力）を入力し、そのクロックによりデータ（ＤＩＮ）をシフトする（Ｍ＋１）段のフリップフロップ｛ＦＦ（Ｍ），ＦＦ（Ｍ−１），・・・，ＦＦ（０）｝を有するシフトレジスタ１０１を備えている。また、カウンタ１０２は、クロック入力（ＣＫ）の立ち下がりエッジをカウントし、そのカウント値が（Ｍ＋１）になった時にＯＲゲート１０３に対し“Ｈ”レベルの出力をする機能を持ち、カウント値を出力信号ＢＵＳＯＵＴ＜Ｍ＋Ｐ：Ｍ＋１＞に出力する。
【００２１】
次に、実施の形態１による半導体集積回路装置（システムＬＳＩ）のクロックの位相マージンテストを説明する。ここでは、ＣＬＯＣＫ１とＣＬＯＣＫ２の位相チェックを例に挙げて述べる。
【００２２】
まず、図１のセレクタ３００，２００により、ＣＬＯＣＫ２とフリップフロップ２の反転出力データ（Ｑバー）をセレクトし、システムＬＳＩに対して実仕様のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）及びデータ（ＤＡＴＡ）を入力する。その際のタイミングチャートの例を図３に示す。
【００２３】
ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発入力された時、ＣＬＯＣＫ１の１発目の立ち上がりエッジによりフリップフロップ２のＤにＤ０データが入力され、ＣＬＯＣＫ２の１発目の立ち上がりエッジでそのデータＤ０をラッチし、フリップフロップ２のＱバーにＤ０データの反転データ（Ｄ０バー）が出力される。
【００２４】
このデータ（Ｄ０バー）は、図２のシフトレジスタ１０１の最初のフリップフロップ（Ｍ）によりＯＲゲート１０３の出力信号の立ち上がりエッジでラッチされる。この時のカウンタ１０２のカウント値（ＢＵＳＯＵＴ＜Ｍ＋Ｐ：Ｍ＋１＞）は、１を示す。したがって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに１発目が入力された時のフリップフロップ２（図１）に転送されたデータ（Ｄ０）は、シフトレジスタ１０１のＢＵＳＯＵＴ＜Ｍ＞に保持される。
【００２５】
次にＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックの２発目が入力された時、ＣＬＯＣＫ１の２発目の立ち上がりエッジによりフリップフロップ２のＤにＤ１データが入力され、ＣＬＯＣＫ２の２発目の立ち上がりエッジでそのデータＤ１をラッチし、フリップフロップ２の（Ｑバー）にＤ１の反転データ（Ｄ１バー）が出力される。
【００２６】
このデータ（Ｄ１バー）を、図２のシフトレジスタ１０１の最初のフリップフロップ（Ｍ）にてＯＲゲート１０３の出力信号の立ち上がりエッジでラッチし、１発目のデータ（Ｄ０バー）は次段のフリップフロップ（Ｍ−１）にシフトされる。この時のカウンタ１０２のカウント値（ＢＵＳＯＵＴ＜Ｍ＋Ｐ：Ｍ＋１＞）は、２を示す。したがって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに２発目が入力された時のフリップフロップ２（図１）に転送されたデータ（Ｄ１）は、タイミングチェック回路１００のＢＵＳＯＵＴ＜Ｍ＞に保持され、１発目に転送されたデータ（Ｄ０）は、シフトレジスタ１０１のＢＵＳＯＵＴ＜Ｍ−１＞に保持される。
【００２７】
以上のように、ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発目からＭ＋１発目まで入力された時、図１のフリップフロップ２に転送されたデータ（Ｄ０，Ｄ１，Ｄ２，・・・，Ｄ（Ｍ−２），Ｄ（Ｍ−１），ＤＭ）は、タイミングチェック回路１００のシフトレジスタ１０１により、ＢＵＳＯＵＴ＜Ｍ：０＞に保持される。すなわち、ＢＵＳＯＵＴ＜０＞＝Ｄ０、ＢＵＳＯＵＴく１〉＝Ｄ１、・・・、ＢＵＳＯＵＴ＜Ｍ−２＞＝Ｄ（Ｍ−２）、ＢＵＳＯＵＴ＜Ｍ−１＞＝Ｄ（Ｍ−１）、ＢＵＳＯＵＴ＜Ｍ＞＝ＤＭとなる。
【００２８】
この時のカウンタ１０２のカウント値（ＢＵＳＯＵＴ＜Ｍ＋Ｐ：Ｍ＋１＞）はＭ＋１を示し、ＣＳＴＰ信号は“Ｈ”レベルを出力し、Ｍ＋２発目以上のクロック（ＣＫ）をシフトレジスタ１０１へ伝送しない。
【００２９】
そして、このＢＵＳＯＵＴ＜Ｍ：０＞のデータをリードすることにより、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロック間のデータの転送について１発目からＭ＋１発目まで時系列に発生したデータを一括でリードチェックできる。
【００３０】
以上のように実施の形態１によれば、複数のクロックで構成されるシステムＬＳＩにおいて、選択されたクロックに関して集中して位相チェックが可能になり、他のクロックとは切り分けてテストできることとなり、テスト回数は選択されたクロック単位のテスト回数（Ｉ（１）×Ｆ（１）回）の和になる。
【００３１】
従って、ＣＬＯＣＫ１からＣＬＯＣＫＮまでのクロック数のＬＳＩの場合、［｛Ｉ（１）×Ｆ（１）｝＋｛Ｉ（２）×Ｆ（２）｝＋・・・＋｛Ｉ（Ｎ）×Ｆ（Ｎ）｝］回のテストで位相チェックができ、前述した従来例に比べて少ないテスト回数でテストができる。また、時系列に発生するクロック間のデータを一括して最後にリードチェックできるので、組み合わせ回路の機能数がＭ＋１以下であれば、ＬＳＩの実仕様の入力周波数で組み合わせ回路の機能を連続して切り替えるテストが可能である。つまり、本実施の形態により、複数のクロックの中でセレクトされたクロック間について、時系列の転送データをＬＳＩの実仕様動作実行後に一括してチェックできる。
【００３２】
実施の形態２．
図４はこの発明の実施の形態２による複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とする半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【００３３】
図４において、図１と同一符号は、同様の構成及び機能を有するものである。本実施の形態において、タイミングチェック回路４００は、システムＬＳＩの複数クロック（ＣＬＯＣＫ２〜ＣＬＯＣＫＮ）から任意のクロックを選択するセレクタ３００の出力と、そのクロックによりフリップフロップ（２〜３）でラッチされた反転データ（Ｑバー）を選択するセレクタ２００の出力を、それぞれクロック入力（ＣＫ）とデータ入力（ＤＩＮ）に入力し、出力データ（ＲＥＳＵＬＴ）を発生する。ここで、出力データＲＥＳＵＬＴは、ＬＳＩのＴＥＳＴＯＵＴピンに出力され、ＢＵＳＩＮＤＴ＜Ｍ＋Ｐ：０＞，ＣＫＤＴ＜Ｍ＋Ｐ：０＞はバス制御回路１０と結線され、バスリード・ライトが可能となっている。
【００３４】
図５は、実施の形態２のタイミングチェック回路４００の内部機能を示すブロック図である。図５において、シフトレジスタ４０１は、クロック入力ＣＫを源とするクロック（ＯＲゲート４０３の出力）によりデータ（ＤＩＮ）をシフトするＭ＋１段のフリップフロップ｛ＦＦ（Ｍ），ＦＦ（Ｍ−１），ＦＦ（０）｝から構成される。カウンタ４０２は、クロック入力ＣＫの立ち下がりエッジをカウントし、そのカウント値がＭ＋１になった時にＯＲゲート４０３に対し“Ｈ”レベルの出力をする機能を持ち、カウント値を出力信号ＣＫＤＴ＜Ｍ＋Ｐ：Ｍ＋１＞に出力する。判定回路４０４は、シフトレジスタ４０１及びカウンタ４０２からのデータ（ＣＫＤＴ＜Ｍ＋Ｐ：０＞）を期待値データ（ＢＵＳＩＮ＜Ｍ＋Ｐ：０＞）と一致するかを判定し、一致した場合にはＲＥＳＵＬＴ信号に“Ｈ”レベルを出力する。
【００３５】
次に、実施の形態２による半導体集積回路装置（システムＬＳＩ）のクロックの位相マージンテストを説明する。ここでは、ＣＬＯＣＫ１とＣＬＯＣＫ２の位相チェックを例に挙げて述べる。
【００３６】
まず、図４のセレクタ３００，２００により、ＣＬＯＣＫ２とフリップフロップ２の反転出力データ（Ｑバー）をセレクトし、タイミングチェック回路４００のバス入力信号ＢＵＳＩＮ＜Ｍ＋Ｐ：Ｍ＋１＞に期待値データを設定する。続いて、システムＬＳＩに対して実仕様のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）及びデータ（ＤＡＴＡ）を入力する。その際のタイミングチャートの例を図６に示す。
【００３７】
ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発入力された時、ＣＬＯＣＫ１の１発目の立ち上がりエッジによりフリップフロップ２のＤにＤ０データが入力され、ＣＬＯＣＫ２の１発目の立ち上がりエッジでそのデータをラッチし、フリップフロップ２の（Ｑバー）にＤ０の反転データ（Ｄ０バー）が出力される。このデータは図５のシフトレジスタ４０１の最初のフリップフロップ（Ｍ）によりＯＲゲート４０３の出力信号の立ち上がりエツジでラッチされる。この時のカウンタ４０２のカウント値（ＣＫＤＴ＜Ｍ＋Ｐ：Ｍ＋１＞）は、１を示す。
【００３８】
よって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに１発目が入力された時のフリップフロップ２に転送されたデータ（Ｄ０）は、シフトレジスタ４０１のＣＫＤＴ＜Ｍ＞に保持される。
【００３９】
次に、ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックの２発目が入力された時、ＣＬＯＣＫ２の２発目の立上がりエッジによりフリップフロップ２のＤにＤ１データが入力され、ＣＬＯＣＫ２の２発目の立上がりエッジでそのデータをラッチし、フリップフロップ２の（Ｑバー）にＤ１の反転データ（Ｄ１バー）が出力される。このデータを、シフトレジスタ４０１の最初のフリップフロップ（Ｍ）によりＯＲゲート４０３の出力信号の立ち上がりエッジでラツチし、１発目のデータＤ０は次段のフリップフロップ（Ｍ−１）にシフトされる。この時のカウンタ４０２のカウント値（ＣＫＤＴ＜Ｍ＋Ｐ：Ｍ＋１＞）は、２を示す。
【００４０】
よって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに２発目が入力された時のフリップフロップ２（図４）に転送されたデータ（Ｄ１）は、シフトレジスタ４０１のＣＫＤＴ＜Ｍ＞に保持され、１発目に転送されたデータ（Ｄ０）は、シフトレジスタ４０１のＣＫＤＴ＜Ｍ−１＞に保持される。
【００４１】
以上のように、ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発目からＭ＋１発目まで入力された時、図４のフリップフロップ２に転送されたデータ｛Ｄ０，Ｄ１，Ｄ２，・・・，Ｄ（Ｍ−２），Ｄ（Ｍ−１），ＤＭ｝は、シフトレジスタ４０１により、ＣＫＤＴ＜Ｍ：０＞に保持される。すなわち、ＣＫＤＴ＜０＞＝Ｄ０、ＣＫＤＴく１＞＝Ｄ１、・・・、ＣＫＤＴ＜Ｍ−２＞＝Ｄ（Ｍ−２）、ＣＫＤＴ＜Ｍ−１＞＝Ｄ（Ｍ−１）、ＣＫＤＴ＜Ｍ＞＝ＤＭとなる。
【００４２】
この時のカウンタ４０２のカウント値（ＣＫＤＴ＜Ｍ＋Ｐ：Ｍ＋１＞）はＭ＋１を示し、ＣＳＴＰ信号は“Ｈ”レベルを出力し、Ｍ＋２発目以上のクロック（ＣＫ）をシフトレジスタ４０１へ伝送しない。
【００４３】
この状態で、判定回路４０４において、シフトレジスタ４０１及びカウンタ４０２からのデータ（ＣＫＤＴ＜Ｍ＋Ｐ：０＞）と予め入力された期待値データ（ＢＵＳＩＮ＜Ｍ＋Ｐ：０＞）とを比較し、データが一致した場合にはＲＥＳＵＬＴ信号に“Ｈ”レベルを出力する。すなわち、この出力信号ＲＥＳＵＬＴをチェックすることにより、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロック間のデータの転送が１発目からＭ＋１発目まで時系列に発生するデータが期待値データと一致しているかをチェックすることができる。
【００４４】
以上のように実施の形態２によれば、複数のクロックで構成されるＬＳＩにおいて、選択されたクロックに関して集中して位相チェックが可能になり、他のクロックとは切り分けてテストできる。その結果、テスト回数は選択されたクロック単位のテスト回数（Ｉ（１）×Ｆ（１）回）の和になる。
【００４５】
従って、ＣＬ０ＣＫ１からＣＬ０ＣＫＮまでのクロック数のＬＳＩの場合、［｛Ｉ（１）×Ｆ（１）｝＋｛Ｉ（２）×Ｆ（２）｝・・・＋｛Ｉ（Ｎ）×Ｆ（Ｎ）｝］回のテストで位相チェックができ、前述した従来例に比べて少ないテスト回数でテストができる。
【００４６】
また、時系列に発生するクロック間のデータをＬＳＩ内部にて一括でチェックできるので、実施の形態１と同様にＬＳＩの実仕様の入力周波数で各組み合わせ回路の機能を連続して切り替えてテストが可能となる。つまり、本実施の形態の機能部により、複数のクロックの中でセレクトされたクロック間について、時系列の転送データをＬＳＩの実仕様動作実行後に一括してチェックできる。
【００４７】
更に、本実施の形態によれば、システムＬＳＩ内部に判定回路４０４を設置し、その判定結果がＴＥＳＴ０ＵＴピンに直接出力されるので、実施の形態１のバス経路のリードチェックに比べて高速で結果をチェックできる効果がある（バス信号は双方向の信号のため、読み出し制御やバスラインの選択等に時間が必要である）。
【００４８】
実施の形態３．
図７はこの発明の実施の形態３による複数のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）を必要とする半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【００４９】
図７において、図１と同一符号は、同様の構成及び機能を有するものである。本実施の形態において、タイミングチェック回路５００は、システムＬＳＩの複数クロック（ＣＬＯＣＫ２〜ＣＬＯＣＫＮ）から任意のクロックを選択するセレクタ３００の出力と、そのクロックによりフリップフロップ（２〜３）でラッチされた反転データ（Ｑバー）を選択するセレクタ２００の出力を、それぞれクロック入力（ＣＫ）とデータ入力（ＤＩＮ）に入力し、バス制御回路１０からのＢＷ信号により出力データ（ＯＵＴＤＡＴＡ）を発生する回路である。
【００５０】
図５は、実施の形態３のタイミングチェック回路５００の内部機能を示すブロック図である。図８において、メモリ５０１は、クロック入力ＣＫを源とするクロック（ＯＲゲート５０３の出力）をＷＲＩＴＥ信号として入力し、カウンタ５０２からのＡＤＤ＜Ｍ：０＞信号をアドレス信号として入力し、データ（ＤＩＮ）をＤＡＴＡにて書き込む機能を有する。カウンター５０２は、クロック入力ＣＫの立ち下がりエッジをカウントし、そのカウント値がＭになった時にＯＲゲート５０３に対し“Ｈ”レベルの出力を行い、メモリヘのＷＲＩＴＥ信号を停止する機能を持つ。また、バス制御回路１０からのＢＷ信号の立ち上がりにより、カウンター５０２はインクリメントされる。
【００５１】
次に、実施の形態３による半導体集積回路装置（システムＬＳＩ）のクロックの位相マージンテストを説明する。ここでは、ＣＬＯＣＫ１とＣＬＯＣＫ２の位相チェックを例に挙げて述べる。
【００５２】
まず、図７のセレクタ２００，３００により、ＣＬＯＣＫ２とフリップフロップ２の反転出力データ（Ｑバー）をセレクトし、続いてＬＳＩに対して実仕様のクロック（ＣＬＯＣＫ１〜ＣＬＯＣＫＮ）及びデータ（ＤＡＴＡ）を入力する。その際のタイミングチャートの例を図９に示す。
【００５３】
ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発入力された時、ＣＬＯＣＫ１の１発目の立ち上がりエッジによりフリップフロップ２のＤにＤ０データが入力され、ＣＬＯＣＫ２の１発目の立ち上がりエッジでそのデータをラッチし、フリップフロップ２の（Ｑバー）にＤ０の反転データ（Ｄ０バー）が出力される。
【００５４】
このデータ（Ｄ０バー）は、タイミングチェック回路５００のＤＩＮに入力され、その反転データＤ０がメモリ５０１のＤＡＴＡとしてＡＤＤ＝“０”でＯＲゲート５０３の出力信号の立ち上がりエッジで書き込まれる。その後、カウンター５０２が、ＣＫの反転を遅延させた信号（図８のＤｅｌａｙ）によりカウントアップされＡＤＤ＝“１”となる。
【００５５】
よって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに１発目が入力された時のフリップフロップ２に転送されたデータ（Ｄ０）は、メモリ５０１のＡＤＤ＝“０”に保持される。
【００５６】
次に、ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックの２発目が入力された時、ＣＬＯＣＫ１の２発目の立ち上がりエッジによりフリップフロップ２のＤにＤ１データが入力され、ＣＬＯＣＫ２の２発目の立ち上がりエッジでそのデータをラッチしフリップフロップ２の（Ｑバー）にＤ１の反転データ（Ｄ１バー）が出力される。
【００５７】
このデータ（Ｄ１バー）は、タイミングチェック回路５００のＤＩＮに入力され、その反転データＤ１がメモリ５０１のＤＡＴＡとしてＡＤＤ＝“１”でＯＲゲート５０３の出力信号の立ち上がりエッジで書き込まれる。その後、カウンタ５０２が、ＣＫの反転を遅延させた信号（図８のＤｅｌａｙ）によりカウントアップされＡＤＤ＝“２”となる。
【００５８】
よって、ＣＬＯＣＫ１，ＣＬＯＣＫ２のクロックに１発目が入力された時のフリップフロップ２（図７）に転送されたデータ（Ｄ０）は、メモリ５０１のＡＤＤ＝“１”に保持される。
【００５９】
以上のように、ＣＬＯＣＫ１，ＣＬＯＣＫ２にクロックが１発目からＭ発目まで入力された時、フリップフロップ２（図８）に転送されたデータ｛Ｄ０，Ｄ１，Ｄ２，・・・，Ｄ（Ｍ−２），Ｄ（Ｍ−１），ＤＭ｝は、メモリ５０１に保持される。すなわち、ＡＤＤ＜０＞＝Ｄ０、ＡＤＤ＜１＞＝Ｄ１，・・・，ＡＤＤ＜Ｍ−２＞＝Ｄ（Ｍ−２），ＡＤＤ＜Ｍ−１＞＝Ｄ（Ｍ−１）、ＡＤＤ＜Ｍ＞＝ＤＭとなる。
【００６０】
そして、この時のカウンタ５０２のカウント値（ＡＤＤ＜Ｍ：０＞）はＭを示し、ＣＳＴＰ信号は“Ｈ”レベルを出力し、Ｍ＋１発目以上のクロック（ＣＫ）をメモリ５０１へ伝送しない。
【００６１】
この状態で、図９のメモリ５０１からの読み出しのタイミングチャートに示すように、ＲＥＳＥＴ信号によりカウンタ５０２の出力ＡＤＤ＜Ｍ：０＞＝“０”にし、タイミングチェック回路５００のＢＷを、随時バス制御回路１０より入力し、出力データＯＵＴＤＡＴＡをバスで読み出しチェツクする。
【００６２】
以上のように本実施の形態によれば、複数のクロックで構成されるＬＳＩにて、選択されたクロツクに関して集中して位相チェックが可能になり、他のクロックとは切り分けてテストできる。その結果、テスト回数は選択されたクロック単位のテスト回数（Ｉ（１）×Ｆ（１）回）の和になる。
【００６３】
従って、ＣＬ０ＣＫ１からＣＬ０ＣＫＮまでのクロック数のＬＳＩの場合、［｛Ｉ（１）×Ｆ（１）｝＋（Ｉ（２）×Ｆ（２）｝＋・・・＋｛Ｉ（Ｎ）×Ｆ（Ｎ）｝］回のテストで位相チェックができ、前述した従来例に比べて少ないテスト回数でテストができる。
【００６４】
また、時系列に発生するクロック間のデータをＬＳＩ内部で保持できるので、ＬＳＩの実仕様の入力周波数で各組み合わせ回路の機能を連続して切り替えてテストが可能である。つまり、本実施の形態の機能部により、複数のクロックの中でセレクトされたクロック間について、時系列の転送データをＬＳＩの実仕様動作で実行した後、バスリードでチェックできる。
【００６５】
【発明の効果】
請求項１から請求項７の発明によれば、複数のクロックで構成される半導体集積回路装置（システムＬＳＩ等）において、選択されたクロックに対する位相チェックが可能になり、他のクロックとは切り分けてテストできることとなり、従来例に比べて格段に少ないテスト回数でテストができる。
【００６６】
また、時系列に発生するクロック間のデータを一括して最後にチェックできるので、ＬＳＩの実仕様の入力周波数で組み合わせ回路の機能を連続して切り替えるテストが可能である。つまり、複数のクロックの中でセレクトされたクロック間について、時系列の転送データをＬＳＩの実仕様動作実行後に一括してチェックできる効果がある。
【００６７】
更に、請求項２及び請求項４の発明によれば、時系列データを期待値データと比較判定するようにしたので、高速で結果をチェックできる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【図２】  実施の形態１の半導体集積回路装置に内蔵するタイミングチェック回路の構成を示すブロック図である。
【図３】  実施の形態１のタイミングチェック回路のタイミングチャートを示す図である。
【図４】  この発明の実施の形態２による半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【図５】  実施の形態２の半導体集積回路装置に内蔵するタイミングチェック回路の構成を示すブロック図である。
【図６】  実施の形態２のタイミングチェック回路のタイミングチャートを示す図である。
【図７】  この発明の実施の形態３による半導体集積回路装置（システムＬＳＩ）の概略構成を示すブロック図である。
【図８】  実施の形態２の半導体集積回路装置に内蔵するタイミングチェック回路の構成を示すブロック図である。
【図９】  実施の形態３のタイミングチェック回路のタイミングチャートを示す図である。
【図１０】  複数のクロックを必要とするシステムＬＳＩの概略構成を示すブロック図である。
【符号の説明】
１，２，３，４  フリップフロップ（Ｄ−ＦＦ）、５，６，７  組み合わせ回路、
８  制御回路、１０  バス制御回路、１００  タイミングチェック回路、
１０１  シフトレジスタ、１０２  カウンタ、２００，３００  セレクタ、
４００  タイミングチェック回路、４０１  シフトレジスタ、４０２  カウンタ、
４０４  判定回路、５００  タイミングチェック回路、５０１  メモリ、
５０２  カウンタ。