(57)【要約】【課題】複数の処理コアを有しロジックは正常であるがタイミング不良であると診断された集積回路の不良位置もしくは不良数を診断できるようにし、さらに、タイミング不良の位置や数に基づいて当該タイミング不良を改善できるようにする。【解決手段】第１クロック信号に基づいて参照用処理コア部１０を動作させて参照用論理回路２０ａから参照用取出スキャンチェイン１２に取り込まれた値と、第２クロック信号に基づいて試験対象処理コア部２０を動作させて試験対象論理回路２０ａから試験対象取出スキャンチェイン２２に取り込まれた値とを比較する比較部５１と、この比較部５１による比較結果に基づいて、試験対象論理回路２０ａのタイミング不良を診断する診断部５４と、タイミング不良があると診断されると第２クロック信号の第二の周期もしくは遅延量の少なくとも一方を調整する調整部５６とをそなえて構成する。【選択図】図１
2008111772.tif 000002
【特許請求の範囲】
【請求項１】
同一論理の論理回路を複数有する集積回路のタイミング不良改善装置であって、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部と、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部と、
該診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部とをそなえて構成されていることを特徴とする、集積回路のタイミング不良改善装置。
【請求項２】
該複数の取出スキャンチェインから出力された該論理回路から取り出した値をシグネチャとして圧縮して格納する圧縮格納部をそなえて構成されていることを特徴とする、請求項１記載の集積回路のタイミング不良改善装置。
【請求項３】
該比較部による比較結果をカウントするカウンタをそなえ、
該診断部が、該カウンタの値に基づいて該試験対象論理回路のタイミング不良の数を診断することを特徴とする、請求項１または請求項２記載の集積回路のタイミング不良改善装置。
【請求項４】
該比較部による比較結果を保持する第１保持部をそなえ、
該診断部が、該第１保持部に保持された比較結果に基づいて、該タイミング不良が発生した不良スキャンチェインを特定することを特徴とする、請求項１または請求項２記載の集積回路のタイミング不良改善装置。
【請求項５】
該診断部が、該試験対象取出スキャンチェインが最終段に保持した値を読み出し可能に構成され、
該診断部が、該試験対象論理回路がタイミング不良であると診断した際に、該試験対象取出スキャンチェインの最終段に保持された値を読み出し、読み出した値に基づいて該試験対象取出スキャンチェインにおいてタイミング不良が発生した不良位置を特定することを特徴とする、請求項１または請求項２記載の集積回路のタイミング不良改善装置。
【請求項６】
同一論理の論理回路を複数有する集積回路のタイミング不良診断装置であって、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部と、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部とをそなえて構成されていることを特徴とする、集積回路のタイミング不良診断装置。
【請求項７】
論理回路と当該論理回路へ試験パターンを入力する入力スキャンチェインと該試験パターンに対する当該論理回路からの値を取り出す取出スキャンチェインとを有する処理コア部を複数そなえ、該複数の処理コア部の該論理回路が同一論理の回路である集積回路のタイミング不良を診断する集積回路のタイミング不良診断方法であって、
該複数の処理コア部の該論理回路に該入力スキャンチェインを通じて同一の試験パターンを入力し、
該複数の処理コア部のうちの参照用として機能する一の参照用処理コア部に第一の周期の第１クロック信号を印加し、
該複数の処理コア部のうちの試験対象として機能する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加し、
該第１クロック信号に基づいて該参照用処理コア部を動作させて当該参照用処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値と、該第２クロック信号に基づいて該試験対象処理コア部を動作させて当該試験対象処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値とを比較し、
かかる比較の結果に基づいて、該試験対象処理コア部の該論理回路のタイミング不良を診断することを特徴とする、集積回路のタイミング不良診断方法。
【請求項８】
複数の同一論理の論理回路と、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部とをそなえて構成されていることを特徴とする、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路（例えばＬＳＩ（Large Scale Integration））のタイミング不良を診断／改善するための技術に関し、特に、複数の同一論理回路（ＣＰＵ（Central Processing Unit）コア）を有するＬＳＩにおけるオーバーディレイ等のタイミング不良を診断／改善するための技術に関する。
【背景技術】
【０００２】
従来、集積回路（例えば、ＬＳＩ）の良否を判定する場合、例えば図１７に示すように、複数のフリップフロップ（Flip Flop；図中“ＦＦ”と表記）１００−１〜１００−１５（以下、これらフリップフロップ１００−１〜１００−１５を特に区別しない場合には、単に符号“１００”で示す。）が直列に連なって構成されたスキャンチェイン１０１において、フリップフロップ１００の設定値をシフトしていき、すべてのフリップフロップ１００に値を設定後、クロック信号入力回路１０２およびクロックディレイ調整回路１０３を介してクロックを印加し、そこでフリップフロップに取り込まれた値をスキャンチェインから読み出し、読み出した値が期待値と一致するか否かによって当該ＬＳＩ１０４の良否判定を行なっていた。
【０００３】
つまり、ＳＩ（Scan In）入力端子１０５からシフトして個々のフリップフロップ１００に初期値を設定した後、クロックを印加することで、論理回路（図中“Ｌｏｇｉｃ”と表記）１０６−１，１０６−２（以下、これら論理回路１０６−１，１０６−２を特に区別しない場合には、単に符号“１０６”で示す。）を通過したデータが後段のフリップフロップ１００−６〜１００−１０および１００−１１〜１００−１５にそれぞれ取り込まれる。
【０００４】
例えば、図１７における、中段（中央部）のフリップフロップ１００−６〜１００−１０のように、フリップフロップ１００は、通常、論理回路１０６への入力を与えるとともに、クロック印加後に論理回路１０６からの出力値を保持する役目も果たす。
そして、フリップフロップ１００に取り込まれている出力値は、スキャンチェイン１０１をシフトしてＳＯ（Scan Out）端子１０７からＬＳＩ１０４外部に読み出され、期待値と比較される。
【０００５】
なお、出力値をＳＯ出力端子１０７から読み出すためのスキャン中には、同時にＳＩ入力端子１０５へデータを入れることで、次の試験のための設定値をフリップフロップ１００に与えることができる。
このような従来からの方法であれば、どのフリップフロップ１００の値が期待値と異なるのか、つまり、不良なフリップフロップ１００の特定が可能である。なお、オーバーディレイ不良の検出は、複数のクロックを印加することで、送り側フリップフロップ１００の更新から受け側フリップフロップ１００の更新までが、予め設定された所定時間内か否かを判別することによって実現できる。
【０００６】
さらに、図１７に示す場合は、不良個所（フリップフロップ１００）の特定が可能であるので、タイミング不良であればクロックディレイ調整回路１０３の設定値を変更し、不良を解消できる可能性がある。
すなわち、クロック分配系のそれぞれにクロックディレイ調整回路１０３を付加しておき、スキャンチェイン（クロックディレイ設定情報保持部）１０８などを通してクロックディレイ設定値を設定し、その信号によりディレイを決定する機構を持っておく。
【０００７】
そして、タイミング不良が見られるとタイミング不良の発生にかかるフリップフロップ１００を駆動するクロックのディレイを調整するということが可能である。
その他、タイミング不良発生個所と調整すべきクロックパスの関係を特定しないまでも、スキャンチェイン１０８に保持されたクロックディレイ設定値を変更してクロックディレイを調整しながらタイミング不良の発生具合が減るように試行錯誤し、最終的にタイミング不良がなくなるところを探すか、あるいは、最も性能が得られるクロックディレイ設定値を探すという手法も存在する（例えば、下記特許文献１参照）。
【０００８】
ところが、近年のＬＳＩではゲート規模が非常に増大し、ＬＳＩ上のフリップフロップ数が多くなっており、その結果、スキャンシフト時間が増大して試験時間が長くなり、試験コストやＴＡＴ（Turn Around Time）の点が問題となっている。
この対策の一つとしてロジックＢＩＳＴ（Built In Self Test）がある。ロジックＢＩＳＴでは、擬似乱数回路の出力など既知の論理情報を入力としてフリップフロップを設定している。このようにＬＳＩ内部で設定値を生成するため、ＬＳＩピン数やテスタによる制約などを受けることなくスキャンチェイン数を増やし、スキャンチェインの並列度を上げることで個々のスキャンチェイン長を減らし、試験時間を短縮することができる。
【０００９】
また、クロック印加後にフリップフロップに取り込まれた値をスキャンチェインからすべて読み出すと、スキャンインとスキャンアウトとを同時に行なうことになるので、スキャンチェインの並列化による効果が得られない。したがって、ロジックＢＩＳＴでは出力についても圧縮したデータを出力している。
具体的には、並列化された多数のスキャンチェインの値をＭＩＳＲ（Multiple Input Signature Register）でシグネチャ（signature）化し、シグネチャの一致／不一致でＬＳＩの良否判定を行なう。
【００１０】
例えば、図１８に示すＬＳＩ１０９のように、ＬＦＳＲ（Linear Feedback Shift Register）１１０にて生成した擬似乱数が、スキャンシフトにより各フリップフロップ１００の初期値として設定される。
次に、クロックを印加することで１０６を通過したデータがフリップフロップ１００−６〜１００−１０および１００−１１〜１００−１５にそれぞれ取り込まれる。そして、各フリップフロップ１００の値はスキャンチェイン中をシフトしながら、ＭＩＳＲ１１１によりシグネチャ値が計算される。このシグネチャ値はＭＩＳＲ１１１中のフリップフロップ（図示せず）に保持されており、シグネチャ値の読み出し専用のスキャンパス１１２によりＬＳＩ１０９外部に読み出されて期待値と比較される。
【００１１】
ここで、論理回路１０６の出力値が正しくなければ、ＭＩＳＲ１１１にて計算されるシグネチャ値はかなり高い確率で期待値とは異なる（つまり、不良が検出される）ように計算されるので、ロジックＢＩＳＴにおいてＬＳＩ１０９が正常動作するか否かを診断できる。
また、ロジックＢＩＳＴにおいても、複数クロックを印加することでオーバーディレイ不良を検出することは可能である。
【００１２】
なお、従来からＬＳＩのタイミングテストをスキャンテストによって行なう際に、当該ＬＳＩの実際の動作速度で実行できるようにした技術もある（例えば、下記特許文献２参照）。
【特許文献１】特開２００１−４３２６１号公報
【特許文献２】特開２００３−４８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記図１８を参照しながら説明した従来のロジックＢＩＳＴによれば、ＭＩＳＲ１１１で圧縮されたシグネチャ値を期待値と比較するので、ＬＳＩ１０９が正常動作するか否かの情報しか得られず、不良検出位置や不良発生数などの情報が得られない。つまり、ＭＩＳＲ１１１によって算出されたシグネチャ値に基づいて、正しくない値を保持していたフリップフロップ１００（つまり、不良フリップフロップ）を逆算することは通常は不可能である。
【００１４】
ただし、従来のロジックＢＩＳＴによっても、例えばスキャンチェイン１０８に保持されたクロックディレイ設定値やクロック信号の周期を変更すると、タイミング不良が解消される場合があり、この場合は、試験対象であるＬＳＩ１０９は論理回路１０６のロジックは正常であるが、タイミング不良であると診断できる。
なお、ロジックＢＩＳＴによれば配線のオープンやショートによる論理不良やタイミング不良でもレーシングのチップは診断することができる。
【００１５】
そして、ロジックは正常であるがタイミングが不良であると診断したＬＳＩ１０９に対しては、クロックディレイ等を調整してタイミング不良が解消されるようにしなければならないが、上述のごとく従来のロジックＢＩＳＴでは、タイミング不良の位置を診断できないので、どこに対するクロックディレイ設定値を変更すると改善可能性があるのかが全く見当がつかない。
【００１６】
さらに、従来のロジックＢＩＳＴでは、タイミング不良の数を診断できないので、不良数を減らすべく、クロックディレイ設定値等の変更を試行錯誤することもできない。
さらにまた、クロックディレイ調整に限らず、不良位置が不明であると障害解析を行なうこともできない。
したがって、ＬＳＩ、特に、複数のプロセッサコア（処理コア；ＣＰＵコア）を有し、スキャンチェインの並列数が多いＬＳＩのロジックＢＩＳＴにおいては、タイミング不良の位置や不良数等を判別できるようにすることが望ましい。
【００１７】
本発明は、このような課題に鑑み創案されたもので、複数の処理コアを有しロジックは正常であるがタイミング不良であると診断された集積回路の不良位置もしくは不良数を診断できるようにし、さらに、タイミング不良の位置や数に基づいて当該タイミング不良を改善できるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、集積回路のタイミング不良改善装置は、同一論理の論理回路を複数有するものであって、該複数の論理回路に入力される試験パターンを生成するパターン生成部と、このパターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部と、この比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部と、この診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部とをそなえて構成されていることを特徴としている（請求項１）。
【００１９】
なお、該複数の取出スキャンチェインから出力された該論理回路から取り出した値をシグネチャとして圧縮して格納する圧縮格納部をそなえて構成されていることが好ましい（請求項２）。
また、該比較部による比較結果をカウントするカウンタをそなえ、該診断部が、該カウンタの値に基づいて該試験対象論理回路のタイミング不良の数を診断することが好ましい（請求項３）。
【００２０】
さらに、該比較部による比較結果を保持する第１保持部をそなえ、該診断部が、該第１保持部に保持された比較結果に基づいて、該タイミング不良が発生した不良スキャンチェインを特定することが好ましい（請求項４）。
さらにまた、該診断部が、該試験対象取出スキャンチェインが最終段に保持した値を読み出し可能に構成され、該診断部が、該試験対象論理回路がタイミング不良であると診断した際に、該試験対象取出スキャンチェインの最終段に保持された値を読み出し、読み出した値に基づいて該試験対象取出スキャンチェインにおいてタイミング不良が発生した不良位置を特定することが好ましい（請求項５）。
【００２１】
また、上記目的を達成するために、本発明の集積回路のタイミング不良診断装置は、同一論理の論理回路を複数有するものであって、該複数の論理回路に入力される試験パターンを生成するパターン生成部と、このパターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部と、この比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部とをそなえて構成されていることを特徴としている（請求項６）。
【００２２】
また、上記目的を達成するために、本発明の集積回路のタイミング不良診断方法は、論理回路と当該論理回路へ試験パターンを入力する入力スキャンチェインと該試験パターンに対する当該論理回路からの値を取り出す取出スキャンチェインとを有する処理コア部を複数そなえ、該複数の処理コア部の該論理回路が同一論理の回路である集積回路のタイミング不良を診断するものであって、該複数の処理コア部の該論理回路に該入力スキャンチェインを通じて同一の試験パターンを入力し、該複数の処理コア部のうちの参照用として機能する一の参照用処理コア部に第一の周期の第１クロック信号を印加し、該複数の処理コア部のうちの試験対象として機能する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加し、該第１クロック信号に基づいて該参照用処理コア部を動作させて当該参照用処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値と、該第２クロック信号に基づいて該試験対象処理コア部を動作させて当該試験対象処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値とを比較し、かかる比較の結果に基づいて、該試験対象処理コア部の該論理回路のタイミング不良を診断することを特徴としている（請求項７）。
【００２３】
また、上記目的を達成するために、本発明の集積回路は、複数の同一論理の論理回路と、該複数の論理回路に入力される試験パターンを生成するパターン生成部と、このパターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部とをそなえて構成されていることを特徴としている（請求項８）。
【発明の効果】
【００２４】
このように、本発明によれば、第１クロック信号印加部が参照用処理コア部に第一の周期の第１クロック信号を印加し、第２クロック信号印加部が試験対象処理コア部に第一の周期とは異なる第二の周期の第２クロック信号を印加し、比較部が第１クロック信号に基づいて参照用処理コア部を動作させた結果、参照用取出スキャンチェインに取り込まれた値と、第２クロック信号に基づいて試験対象処理コア部を動作させた結果、試験対象取出スキャンチェインに取り込まれた値とを比較し、診断部が比較部による比較結果に基づいて試験対象論理回路のタイミング不良を診断するので、ロジックは正常であるがタイミング不良であると診断された集積回路に対するタイミング不良の診断を確実に実行できる。
【００２５】
つまり、複数の処理コア部のうち一つを参照用、他を試験対象として診断しているので、診断部は試験対象の取出スキャンチェインを特定した上でタイミング不良を診断することになり、結果的にタイミング不良の有無とともに不良位置として試験対象取出スキャンチェインや試験対象論理回路を特定することができる（請求項１，６〜８）。
さらに、調整部が、診断部によってタイミング不良が診断されると、診断部によってタイミング不良があると診断された試験対象論理回路のタイミング不良を改善すべく第２クロック信号の第二の周期もしくは遅延量の少なくとも一方を調整するので、当該タイミング不良を確実に且つ効率的に改善できる（請求項１，８）。
【００２６】
なお、複数の取出スキャンチェインから出力された論理回路から取り出した値をシグネチャとして圧縮して格納する圧縮格納部をそなえて構成されているので、ロジックＢＩＳＴの利点である試験時間短縮効果を活かしつつ、従来のロジックＢＩＳＴにおける不良位置（不良スキャンチェインあるいは不良論理回路）を特定できないという欠点を解消し、タイミング不良の改善を効率良く実行できる（請求項２）。
【００２７】
また、比較部による比較結果をカウントするカウンタをそなえ、診断部が、カウンタの値に基づいて試験対象論理回路のタイミング不良の数を診断するので、診断部は試験対象論理回路のタイミング不良の程度を診断できる（請求項３）。
さらに、比較部による比較結果を保持する第１保持部をそなえ、診断部が、第１保持部に保持された比較結果に基づいて、タイミング不良が発生した不良スキャンチェインを特定するので、診断部はタイミング不良が発生した不良位置をより確実に特定できる（請求項４）。
【００２８】
また、診断部が、試験対象取出スキャンチェインが最終段に保持した値を読み出し可能に構成され、診断部が、試験対象論理回路がタイミング不良であると診断した際に、試験対象取出スキャンチェインの最終段に保持された値を読み出し、読み出した値に基づいて試験対象取出スキャンチェインにおいてタイミング不良が発生した不良位置を特定するので、診断部は不良フリップフロップを確実に特定することができる（請求項５）。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の第１実施形態について
まず、図１を参照しながら、本発明の第１実施形態としての集積回路のタイミング不良改善装置の構成について説明する。この図１に示すように、本実施形態としての集積回路のタイミング不良改善装置１ａは、複数（ここでは２つ）のＣＰＵ（Central Processing Unit）コア（処理コア部）１０，２０を有する集積回路（例えばＬＳＩ（Large Scale Integration）２にかかるタイミング不良を診断して改善するものである。
【００３０】
そして、本タイミング不良改善装置１ａは、ＬＦＳＲ（Linear Feedback Shift Register；パターン生成部）３，ＭＩＳＲ（Multiple Input Signature Register）４，第１クロック信号印加部３０，第２クロック信号印加部４０，第１比較部（比較部）５１，第２比較部５２，カウンタ５３，診断部５４，クロックディレイ設定情報保持部（遅延量設定情報保持部）５５，および調整部５６をそなえて構成されている。また、ＣＰＵコア１０，２０の後述するスキャンチェイン１１，１２，２１，２２もタイミング不良改善装置１ａとして機能する。
【００３１】
さらに、ＬＦＳＲ３，ＭＩＳＲ４，スキャンチェイン１１，１２，２１，２２，第１クロック信号印加部３０，第２クロック信号印加部４０，第１比較部５１，第２比較部５２，カウンタ５３，診断部５４が、本発明のタイミング不良診断装置として機能する。
なお、本実施形態において集積回路２は、少なくともＬＦＳＲ３，ＭＩＳＲ４，およびＣＰＵコア１０，２０をそなえて構成されていればよく、タイミング不良改善装置１ａとして機能する第１クロック信号印加部３０，第２クロック信号印加部４０，第１比較部５１，第２比較部５２，カウンタ５３，診断部５４，クロックディレイ設定情報保持部５５，および調整部５６は集積回路２にそなえられていてもよいし、集積回路２の外部に設けられていてもよい。
【００３２】
まずＣＰＵコア１０，２０について説明すると、ＣＰＵコア１０，２０はそれぞれ、同一論理の論理回路（図中“Ｌｏｇｉｃ”と表記）１０ａ，２０ａをそなえて構成されている。したがって、ＣＰＵコア１０，２０（論理回路１０ａ，２０ａ）に同じ入力や設定値を与えると同じ出力値を得ることができる。
また、本実施形態では、タイミング不良を診断するにあたり、ＣＰＵコア１０をリファレンス（参照）用として機能させ、ＣＰＵコア２０を試験対象として機能させる場合を例にあげて説明する。
【００３３】
そして、ＣＰＵコア（参照用処理コア部）１０はＬＦＳＲ３によって生成された試験パターンを論理回路（参照用論理回路）１０ａに入力する入力スキャンチェイン（参照用入力スキャンチェイン）１１、および、論理回路１０ａからのかかる試験パターンに対する値（つまり、かかる試験パターンが論理回路１０ａを通過して論理回路１０ａによる処理を施された結果得られた値）を取り出す取出スキャンチェイン（参照用取出スキャンチェイン）１２をそなえている。
【００３４】
また、ＣＰＵコア（試験対象処理コア部）２０もＣＰＵコア１０と同様に、ＬＦＳＲ３によって生成された試験パターンを論理回路（試験対象論理回路）２０ａに入力する入力スキャンチェイン（試験対象入力スキャンチェイン）２１、および、論理回路２０ａからのかかる試験パターンに対する値を取り出す取出スキャンチェイン（試験対象取出スキャンチェイン）２２をそなえている。
【００３５】
なお、スキャンチェイン１１，１２，２１，２２は同一構成であり、直列に接続された４つのフリップフロップ（図中“ＦＦ”と表記）から構成されている。
ここでは、スキャンチェイン１１はフリップフロップ１１−１〜１１−４からなり、スキャンチェイン１２はフリップフロップ１２−１〜１２−４からなり、スキャンチェイン２１はフリップフロップ２１−１〜２１−４からなり、スキャンチェイン２２はフリップフロップ２２−１〜２２−４からなる。
【００３６】
さらに、スキャンチェイン１１，１２，２１，２２のそれぞれは、本来、入力スキャンチェインおよび取出スキャンチェインの両方の機能を実現するが、本実施形態では、スキャンチェイン１１，２１が入力スキャンチェインとして機能し、スキャンチェイン１２，２２が取出スキャンチェインとして機能する場合を主に説明する。
ここで、図２〜図４を参照しながらスキャンチェイン１１，１２，２１，２２のフリップフロップ１１−１〜１１−４，２１−１〜２１−４（以下、これらフリップフロップを特に区別しない場合には符号を省略して単にフリップフロップという）について説明する。
【００３７】
フリップフロップは、図２に示すごとく、データ入力端（図中“Ｄ”と表記）１３ａ，スキャンイン入力端（図中“ＳＩ”と表記）１３ｂ，マスタ出力端（図中“Ｍ”と表記）１３ｃ，スレーブ出力端（図中“Ｓ”と表記）１３ｄ，クロック入力部１４ａ〜１４ｃ，およびＮＯＴゲート１５ａ〜１５ｉから構成される。
なお、クロック入力部１４ａにはＣＰＵコアを動作させるシステム動作用のクロック信号（図中“ＣＫ”と表記）が入力され、クロック入力部１４ｂにはスキャン動作用のＡクロック信号の反転信号（図中“〜ＡＣＫ”と表記）が入力され、クロック入力部１４ｃにはシステム動作用のクロック信号の反転信号とスキャン動作用のＢクロック信号（図中“ＢＣＫ”と表記）との論理和が入力される。
【００３８】
そして、図３に示すように、システム動作ではシステム動作用のクロック信号ＣＫに同期してデータ入力端１３ａからでを取り込むとともに、クロック信号ＣＫの立下りに対応してマスタ出力端１３ｃからデータが出力され、クロック信号ＣＫの立ち上がりに対応してスレーブ出力端１３ｄからデータが出力される。ただし、このとき、スキャン動作用のクロック信号ＡＣＫ，ＢＣＫはオフ（“Ｌｏｗ”）状態である。
【００３９】
一方、図４に示すように、スキャン動作ではクロック信号ＡＣＫ（＋ＡＣＫ）とＢＣＫ（−ＢＣＫ）とを交互にオンすることより、スキャン動作用のクロック信号ＡＣＫの立ち上がりに対応してマスタ出力端１３ｃからデータが出力され、スキャン動作用のクロック信号ＢＣＫの立下りに対応してスレーブ出力端１３ｄからデータが出力される。ただし、このときシステム動作用のクロック信号ＣＫはオン（“Ｈｉｇｈ”）状態である。
【００４０】
そして、スキャンイン入力端１３ｂからスレーブ出力端１３ｄにデータが伝搬されるので、各フリップフロップのこの経路を順に直列的に接続していくことで、スキャンチェイン１１，１２，２１，２２を構成することができる。
ＬＦＳＲ３はロジックＢＩＳＴのための試験パターンを生成するものであり、ＬＦＳＲ３によって生成された試験パターンは、スキャンチェイン１１，１２，２１，２２に順次保持される。
【００４１】
ここでは、入力スキャンチェイン１１，２１にＬＦＳＲ３で生成された同一の試験パターンが入力され、取出スキャンチェイン１２，２２にＬＦＳＲ３で生成された同一の試験パターンが入力されるように構成されている。
ＭＩＳＲ４は、ＬＦＳＲ３によって生成された試験パターンに基づいてＣＰＵコア１０，２０を動作させた結果、スキャンチェイン１１，１２，２１，２２から出力された値をシグネチャ化して圧縮・格納するものである。
【００４２】
また、ＭＩＳＲ４によってシグネチャ化された値はスキャンパス４ａを通じて出力端子４ｂから出力される。
第１クロック信号印加部３０は、ＣＰＵコア１０に対してＣＰＵコア１０を動作させるためのシステム動作用のクロック信号（第１クロック信号）を印加するものであり、クロック信号を生成する第１クロック信号生成部３１と、第１クロック信号生成部３１によって生成されたクロック信号をＣＰＵコア１０に入力する２系統の入力機構（クロック分配）とをそなえている。なお、第１クロック信号生成部３１は生成するクロック信号の周期を変更可能である。
【００４３】
また、第１クロック信号生成部３１は集積回路２にそなえられたＰＬＬ（Phase Locked Loop）によって実現されてもよいし、集積回路２の外部にそなえられてもよい。
そして、第１クロック信号印加部３０は、入力スキャンチェイン１１に第１クロック信号生成部３１によって生成されたクロック信号を入力するクロック信号入力回路３２−１と、このクロック信号入力回路３２−１からのクロック信号の遅延量を調整するディレイ調整回路３３−１とをそなえるとともに、取出スキャンチェイン１２に第１クロック信号生成部３１によって生成されたクロック信号を入力するクロック信号入力回路３２−２と、このクロック信号入力回路３２−２からのクロック信号の遅延量を調整するディレイ調整回路３３−２とをそなえて構成されている。
【００４４】
なお、スキャンチェイン１１，１２のそれぞれが、各フリップフロップ１１−１〜１１−４，１２−１〜１２−４に保持している値をシフトするためのスキャンパス用のクロック信号は図示しない信号印加機構によって別途生成されてスキャンチェイン１１，１２に印加される。
ここで、ディレイ調整回路３３−１，３３−２は、クロックディレイ設定情報保持部５５に保持された遅延量設定情報に基づいてクロック信号を遅延させるものであり、例えば、図５に示すごとく構成されている。
【００４５】
つまり、各ディレイ調整回路３３−１，３３−２は、所定の値を保持するゲート３５ａ〜３５ｃと、これらゲート３５ａ〜３５ｃのそれぞれに対応するセレクタ３６ａ〜３６ｃをそなえ、クロックディレイ設定情報保持部５５に保持された３つの遅延量設定情報ｔ１〜ｔ３のそれぞれに応じてクロック信号の遅延量を調整する。
具体的には、ゲート３５ａは４０ｐｓの遅延量を保持し、ゲート３５ｂは２０ｐｓの遅延量を保持し、ゲート３５ｃは１０ｐｓの遅延量を保持している。
【００４６】
したがって、ディレイ調整回路３３−１，３３−２では、３つの遅延量設定情報ｔ１〜ｔ３に応じて各ゲート３５ａ〜３５ｃの遅延量を選択するか否かが決定し、０ｐｓ〜７０ｐｓの範囲でクロック信号が遅延される。
第２クロック信号印加部４０は、ＣＰＵコア２０に対してＣＰＵコア２０を動作させるためのシステム動作用のクロック信号（第２クロック信号）を印加するものであり、第１クロック信号印加部４０と同様に構成されている。
【００４７】
すなわち、第２クロック信号印加部４０は、クロック信号を生成する第２クロック信号生成部４１と、第２クロック信号生成部４１によって生成されたクロック信号をＣＰＵコア２０に入力する２系統の入力機構をそなえている。なお、第２クロック信号生成部４１も生成するクロック信号の周期を変更可能である。
また、第２クロック信号生成部４１も集積回路２にそなえられたＰＬＬによって実現されてもよいし、集積回路２の外部にそなえられてもよい。
【００４８】
さらに、第２クロック信号印加部４０は、入力スキャンチェイン２１に第２クロック信号を入力するクロック信号入力回路４２−１と、このクロック信号入力回路４２−１からのクロック信号の遅延量を調整するディレイ調整回路４３−１とをそなえるとともに、取出スキャンチェイン２２に第２クロック信号を入力するクロック信号入力回路４２−２と、このクロック信号入力回路４２−２からのクロック信号の遅延量を調整するディレイ調整回路４３−２とをそなえて構成されている。
【００４９】
なお、スキャンチェイン２１，２２のそれぞれが、各フリップフロップ２１−１〜２１−４，２２−１〜２２−４に保持している値をシフトするためのスキャンパス用のクロック信号は図示しない信号印加機構によって別途生成されてスキャンチェイン２１，２２に印加される。
また、ディレイ調整回路４３−１，４３−２は、上記図５に示したディレイ調整回路３３−１，３３−２と同一構成である。
【００５０】
そして、本タイミング不良改善装置１ａでは、ＬＦＳＲ３およびＭＩＳＲ４等を用いたロジックＢＩＳＴの結果、集積回路２が論理回路１０ａ，２０ａのロジックは正常であるが、タイミング不良であると判断された場合、第１クロック信号印加部３０はＣＰＵコア１０を参照用として機能させるべく、ＣＰＵコア１０が正常に動作することがかかるロジックＢＩＳＴで保証されている所定周期（第一の周期）の第１クロック信号をＣＰＵコア１０に印加する一方、第２クロック信号印加部４０はＣＰＵコア２０を試験対象とすべく、かかる所定周期とは異なる（ここでは、かかる所定周期よりも短い）周期（第二の周期）の第２クロック信号をＣＰＵコア２０に印加する。
【００５１】
例えば、図６（ａ）に示すように、第１クロック信号はＣＰＵコア１０が正常に動作するほど長い所定周期で２発のクロックを印加するものとする一方、図６（ｂ）に示すように、第２クロック信号は第１クロック信号に対して非常に短い周期（ここでは１／５の周期）で２発のクロックを印加するものとする。なお、試験対象ＣＰＵコア２０において、第２クロック信号における２発のクロックの間隔で入力スキャンチェイン２１から論理回路２０ａに試験パターンが入力され、論理回路２０ａを通過した値が取出スキャンチェイン２２に取り出されなければ、ＣＰＵコア２０はタイミング不良である。
【００５２】
第１比較部５１は、第１クロック信号印加部３０によって印加された第１クロック信号に基づいて参照用として機能するＣＰＵコア１０を動作させて、このＣＰＵコア１０の参照用の論理回路１０ａから取出スキャンチェイン１２に取り込まれた値と、第２クロック信号印加部４０によって印加された第２クロック信号に基づいて試験対象としてのＣＰＵコア２０を動作させて試験対象としての論理回路２０ａから取出スキャンチェイン２２に取り込まれた値とを比較するものである。
【００５３】
より具体的には、第１比較部５１は、ＣＰＵコア１０の取出スキャンチェイン１２の最終段のフリップフロップ１２−４に保持された値と、ＣＰＵコア２０の入力スキャンチェイン２２の最終段のフリップフロップ２２−４に保持された値とを比較する。
第２比較部５２は、第１クロック信号印加部３０によって印加された第１クロック信号に基づいて参照用のＣＰＵコア１０を動作させた後の入力スキャンチェイン１１に保持された値と、第２クロック信号印加部４０によって印加された第２クロック信号に基づいて試験対象のＣＰＵコア２０を動作させた後の入力スキャンチェイン２１に保持された値とを比較するものである。
【００５４】
より具体的には、第２比較部５２は、ＣＰＵコア１０の入力スキャンチェイン１１の最終段のフリップフロップ１１−４に保持された値と、ＣＰＵコア２０の入力スキャンチェイン２１の最終段のフリップフロップ２１−４に保持された値とを比較する。
このように、第１比較部５１および第２比較部５２はＭＩＳＲ４の前段に設けられ、第１比較部５１はＭＩＳＲ４によってシグネチャ化される前のフリップフロップ１２−４，２２−４に保持された値を直接比較し、第２比較部５２はＭＩＳＲ４によってシグネチャ化される前のフリップフロップ１１−４，２１−４に保持された値を直接比較する。
【００５５】
カウンタ５３は、所定時間内における、少なくとも第１比較部５１による比較結果（ここでは、フリップフロップ１２−４に保持された値とフリップフロップ２２−４に保持された値とが異なっているという結果の数）をカウントするものであり、ここでは第１比較部５１の比較結果に加えて、第２比較部５２による比較結果（ここでは、フリップフロップ１１−４に保持された値とフリップフロップ２１−４に保持された値とが異なっているという結果の数）をカウントする。
【００５６】
なお、論理回路２０ａのタイミング不良の判定を行なうには、取出スキャンチェイン（ここではスキャンチェイン１２，２２）の値を比較するだけでよいが、上述したようにスキャンチェイン１１，１２，２１，２２は入力スキャンチェインおよび取出スキャンチェインの両方として機能するので、第２比較部５２をそなえ、カウンタ５３が第１比較部５１のみならず第２比較部５２の比較結果もカウントするように構成することによって、スキャンチェイン１１，２１が取出スキャンチェインとして動作する場合にもタイミング不良の診断を行なうことができるとともに、タイミング不良を診断する機構（第１比較部５１，第２比較部５２，カウンタ５３，および診断部５４）はテスト中にスキャンチェイン１１，１２，２１，２２のそれぞれが取出スキャンチェインとして動作しているか、あるいは、入力スキャンチェインとして動作しているかを意識しなくても試験対象の論理回路２０ａのタイミング不良を確実に診断できる。
【００５７】
診断部５４は、第１比較部５１および第２比較部５２による比較結果に基づいて、試験対象の論理回路２０ａのタイミング不良を診断するものであり、第１比較部５１および第２比較部５２による比較の結果、参照用の取出スキャンチェイン（ここではスキャンチェイン１２）に取り込まれた値と、試験対象の取出スキャンチェイン（ここではスキャンチェイン２２）に取り込まれた値とが異なっていれば、試験対象の論理回路２０ａがタイミング不良であると診断する。
【００５８】
ここでは、診断部５４はカウンタ５３の値に基づいて試験対象の論理回路２０ａのタイミング不良の数を診断する。
クロックディレイ設定情報保持部５５は、第１クロック信号印加部３０および第２クロック信号印加部４０のそれぞれによって印加される第１クロック信号および第２クロック信号のそれぞれの遅延量を設定する遅延量設定情報を保持するものであり、具体的には、ディレイ調整回路３３−１，３３−２，４３−１，４３−２それぞれに対応した遅延量設定情報を保持している。
【００５９】
そして、クロックディレイ設定情報保持部５５は、図７に示すようなフリップフロップ（スキャン専用フリップフロップ）５５ａを各ディレイ調整回路３３−１，３３−２，４３−１，４３−２に対応して複数（ここではディレイ調整回路毎に３つ）そなえている。
なお、フリップフロップ５５ａはＳＩ入力端子（図中“ＳＩ”と表記）５５ｂから入力された値をクロックにより変化させずに保持し出力し続けるものであり、複数のＮＯＴゲート５５ｃ〜５５ｉとクロック信号ＡＣＫの反転信号が入力されるクロック入力部５５ｊとクロック信号ＢＣＫが入力されるクロック入力部５５ｋと、クロック信号ＡＣＫ，ＢＣＫに基づいて保持した値を対応するディレイ調整回路に出力する出力端子（図中“Ｓ”と表記）５５ｌとをそなえている。
【００６０】
調整部５６は、診断部５４によって試験対象の論理回路２０ａがタイミング不良であると診断されると、そのタイミング不良を改善すべく、第２クロック信号印加部４０によって試験対象のＣＰＵコア２０に印加される第２クロック信号の周期もしくは遅延量の少なくとも一方を調整するものである。
さらに、調整部５６は、カウンタ５３の値が少なくなるように第２クロック信号の周期もしくは遅延量の少なくとも一方を調整する。例えば、調整部５６はカウント５３の値が小さい方が適応度が高い（つまり、カウンタ値が少ない方が評価が良い）とした遺伝的アルゴリズムを用いて遅延量を調整する。
【００６１】
なお、調整部５６は、第２クロック信号生成部４１を制御して第２クロック信号の周期を調整するか、もしくは、クロックディレイ設定情報保持部５５に保持されたディレイ調整回路４３−１，４３−２に設定される遅延量設定情報を変更することによって、第２クロック信号の遅延量を調整する。
また、スキャンチェイン２２が取出スキャンチェインとして動作する場合は、調整部５６はクロックディレイ設定情報保持部５５に保持されるディレイ調整回路４３−２に設定される遅延量設定情報を調整するだけでよい。
【００６２】
なお、基本的に短いサイクルで複数クロックをＣＰＵコア（試験対象ＣＰＵコア２０）に印加するとオーバーディレイが顕在化する。しかし、第２クロック信号は第１クロック信号の所定周期（デフォルト値）から変化させたものであるので、この第２クロック信号をさらに変化させるとオーバーディレイ不良が解消する可能性がある他、逆にオーバーディレイ不良が新たに発生する可能性やレーシング不良が発生する可能性もある。
【００６３】
ここでは、調整部５６の最終的な目的は、オーバーディレイ不良とレーシング不良とが発生しないクロックタイミング設定値（つまり、第２クロック信号の周期および遅延量）を求めることである。したがって、調整部５６による調整は、基本的には第２クロック信号の周期を長くするか、遅延量を大きくするものであるが、その調整後のタイミング不良の数に応じて、調整部５６は第２クロック信号の周期を短くしたり遅延量を小さくする場合もある。
【００６４】
次に、図８に示すフローチャート（ステップＳ１〜Ｓ１２）を参照しながら、本タイミング不良改善装置１ａの動作手順（本発明の第１実施形態としてのタイミング不良改善方法およびタイミング不良診断方法の処理手順）について説明する。なお、本発明の第１実施形態としてのタイミング不良診断方法はステップＳ１〜Ｓ１１を含んでいる。
まず、本タイミング不良改善装置１ａは、集積回路２全体に対して、クロック信号（第１クロック信号および第２クロック信号）はデフォルト値としてファンクション試験を実行する（ステップＳ１）。
【００６５】
つまり、ＣＰＵコア１０，２０が正常に動作しうる程度の周期の長いクロック信号を用いてＬＦＳＲ３およびＭＩＳＲ４を用いたロジックＢＩＳＴを行ない、集積回路２が不良チップか否かが判断される（ステップＳ２）。なお、ここでの不良チップであるか否かの判断は、集積回路２の外部もしくは内部に設けられた、ＭＩＳＲ４によってシグネチャ化された値とそれに対する期待値とを比較して判断するテスタ（図示略）によって行なわれる。
【００６６】
そして、テスタが集積回路２は不良チップであると判断すると（ステップＳ２のＹｅｓルート）、処理を終了する。ここでは、タイミング不良以外のオープンやショートによる論理不良のチップや、レーシングのチップが不良チップと判断され、除外される。
一方、テスタが集積回路２は不良チップではないと判断すると（ステップＳ２のＮｏルート）、本タイミング不良改善装置１ａは、当該集積回路２のタイミング不良を診断して当該タイミング不良を改善する処理を開始する。つまり、本タイミング不良改善装置１ａは、ファンクション試験によってＣＰＵコア１０，２０（すなわち、論理回路１０ａ，２０ａ）のロジックは正常であるが、タイミング不良である集積回路２に対して、後述するステップＳ３〜Ｓ１２の処理を実行する。
【００６７】
具体的には、まず、ＬＦＳＲ３によって試験パターンが生成され、各スキャンチェイン１１，１２，２１，２２に試験パターンが設定される（ステップＳ３）。
次に、試験対象ＣＰＵコア２０に第２クロック信号印加部４０によってデフォルト値である第１クロック信号よりも短い周期の第２クロック信号が印加されてＣＰＵコア２０が処理を実行する（ステップＳ４）一方、参照用ＣＰＵコア１０に第１クロック信号印加部３０がデフォルト値であるＣＰＵコア１０が正常に動作する周期の第１クロック信号が印加され（ステップＳ５）、期待値が生成される。なお、この期待値が正しい値であることはファンクション試験（上記ステップＳ１，Ｓ２）によって確認されている。また、ステップＳ４，Ｓ５の処理の順序は本発明において限定されない。
【００６８】
なお、上述したように集積回路２はロジック良、タイミング不良のＬＳＩであるので、クロック信号として短い周期で複数パルスを印加するとフェイルするが、デフォルト値の長い周期で複数パスルを印加してもフェイルしない。すなわち、デフォルト値で動作させることで正しい演算結果が得られるので、ＣＰＵコア１０を参照用として使用し、ＣＰＵコア１０の論理回路１０ａと同一論理の論理回路２０ａをそなえたＣＰＵコア２０を試験対象として使用することができる。
【００６９】
そして、第１比較部５１が、論理回路２０ａによる演算結果として試験対象の取出スキャンチェイン２２の最終段のフリップフロップ２２−４に得られた値が正しいか否かを、参照用の取出スキャンチェイン１２の最終段のフリップフロップ１２−４に得られた値と比較することで判定する（ステップＳ６）。
すなわち、第１比較部５１による比較の結果、フリップフロップ２２−４に得られた値とフリップフロップ１２−４に得られた値とが異なっていれば（つまり、タイミング不良を検出すれば；ステップＳ６のＹｅｓルート）、カウンタ５３が値を１つカウントアップする（ステップＳ７）一方、フリップフロップ２２−４に得られた値とフリップフロップ１２−４に得られた値とが同一であれば（つまり、タイミング不良は検出されなければ；ステップＳ６のＮｏルート）、上記ステップＳ７の処理を実行しない。
【００７０】
なお、スキャンチェイン１１，２１が入力スキャンチェインとして動作した場合には第２比較部５２による比較はタイミング不良の診断にとって意味はない（つまり、比較結果は必ず一致する）が、スキャンチェイン１２，２２が入力スキャンチェインとして動作しスキャンチェイン１１，２１が取出スキャンチェインとして動作した場合には、第２比較部５２の比較結果がタイミング不良の診断に用いられる。
【００７１】
そして、スキャンチェイン１２，２２に保持された値すべてに対して上記ステップＳ６の処理を実行すべく、全ビットのシフトが完了していなければ（ステップＳ８のＮｏルート）、スキャンチェイン１１，１２，２１，２２（特に取出スキャンチェイン１２，２２）が一つだけスキャンシフトされ（ステップＳ９）、フリップフロップ１２−３，２２−３に得られた値がそれぞれフリップフロップ１２−４，２２−４にシフトされて、再度、上記ステップＳ６〜Ｓ８の処理が実行される。
【００７２】
そして、全ビットのシフトが完了すれば（つまり、フリップフロップ２２−１〜２２−４の値のすべてに対して第１比較部５１による比較処理を実行すれば；ステップＳ８のＹｅｓルート）、診断部５４が一連の試験が完了したか否か（例えば、試験予定のすべての試験パターンに対して試験を完了したか否か）を判断し（ステップＳ１０）、ここで一連の試験が完了していなければ（ステップＳ１０のＮｏルート）、新たな試験パターンで試験を実行すべく、上記ステップＳ３の処理に移行する。
【００７３】
一方、一連の試験が完了していれば（ステップＳ１０のＹｅｓルート）、診断部５４は、カウンタ５３の値に基づいて試験対象のＣＰＵコア２０の論理回路２０ａのタイミング不良有無および数を診断する（ステップＳ１１）。
ここで、カウンタ５３の値（タイミング不良数）が“０”でなく、診断部５４がタイミング不良があると判断すると（ステップＳ１１のＮｏルート）、調整部５６は、タイミング不良を解消すべく、カウンタ値が少ない方が評価は高いとした遺伝的アルゴリズム等に基づいて第２クロック信号の周期および／または遅延量を調整する。ここでは、調整部５６は、カウンタ５３の値が“０”になるように、クロックディレイ設定情報保持部５５に保持された遅延量設定情報を新たに生成（変更）して（ステップＳ１２）、上記ステップＳ３の処理に戻る。
【００７４】
そして、上記ステップＳ１１において、カウンタ５３の値が“０”でなくタイミング不良があると判断される間は、上記ステップＳ３〜Ｓ１２の処理を繰り返し、カウンタ５３の値（タイミング不良数）を徐々に減らしていき、最終的にカウンタ５３の値が“０”であり、診断部５４がタイミング不良はないと判断すると（ステップＳ１１のＹｅｓルート）、処理を終了する。
【００７５】
このように、本発明の第１実施形態としての集積回路のタイミング不良改善装置１ａによれば、同一論理の論理回路１０ａ、２０ａをそれぞれ有する複数のＣＰＵコア１０，２０をそなえ、ロジックＢＩＳＴによってロジックは正常であるがタイミング不良であると診断された集積回路２に対して、一のＣＰＵコア１０を参照用として正しい値が得られるように第１クロック信号印加部３０が所定周期（デフォルト値）の第１クロック信号で参照用ＣＰＵコア１０をゆっくり動作させる一方、他のＣＰＵコア２０を試験対象として第２クロック信号印加部４０が所定周期とは異なる周期（ここでは短い周期）の第２クロック信号で高速動作させる。このとき、各ＣＰＵコア１０，２０の入力スキャンチェイン１１，２１にはＬＦＳＲ３によって生成された同一の試験パターンを設定し、第１比較部５１が参照用ＣＰＵコア１０から得られる（つまり、取出スキャンチェイン１２に取り込まれた）正常な値（期待値）と試験対象ＣＰＵコア２０から得られる（つまり、取出スキャンチェイン２２に取り込まれた）値とを比較し、診断部５４が、第１比較部５１による比較の結果に基づいて、かかる比較結果が異なるというものであれば論理回路２０ａがタイミング不良であると診断することができる。つまり、ＣＰＵコア１０を参照用、ＣＰＵコア２０を試験対象として診断しているので、診断部５４は集積回路２のうちのタイミング不良の値を持つ取出スキャンチェイン２２を特定でき、その結果、論理回路２０ａのタイミング不良を確実に診断できる。
【００７６】
さらに、調整部５６が診断部５４の論理回路２０ａがタイミング不良であるという診断結果を受けて、第２クロック信号の周期および／または遅延量（具体的には遅延量設定情報）を調整するので、当該タイミング不良の位置を特定して当該タイミング不良を確実に且つ効率的に改善できる。
このように、本タイミング不良改善装置１ａによれば、ロジックＢＩＳＴの利点である試験時間短縮効果を活かしつつ、従来のロジックＢＩＳＴにおける不良位置（不良スキャンチェインあるいは不良論理回路）を特定できないという欠点を解消し、タイミング不良の改善、すなわち集積回路２のタイミング調整を確実に且つ効率良く実行できる。その結果、集積回路２のスピード向上やタイミング歩留り向上といった効果を得ることができる。
【００７７】
なお、調整部５６が第２クロック信号を調整するにあたり、クロックディレイ設定情報保持部５５に保持された遅延量設定情報を調整するので、第２クロック信号の遅延量の調整を確実に行なうことができる。
さらに、第２クロック信号印加部４０の第２クロック信号生成部４１が生成するクロック信号の周期を変更可能に構成され、調整部５６が第２クロック信号生成部４１によって生成される第２クロック信号の周期を直接調整するので、第２クロック信号の周期の調整を確実に行なうことができる。
【００７８】
また、第２比較部５２をそなえ、診断部５４が第２比較部５２による比較結果にも基づいてタイミング不良の診断を行なうので、スキャンチェイン１１，２１が取出スキャンチェインとして動作しスキャンチェイン１２，２２が入力スキャンチェインとして動作する場合でも、診断部５４はどのスキャンチェイン１１，１２，２１，２２が取出スキャンチェインとして動作しているかという情報を得なくても、論理回路２０ａのタイミング不良の診断および改善を確実に実行できる。
【００７９】
さらに、本タイミング不良改善装置１ａはカウンタ５３をそなえ、診断部５４がカウンタ５３の値に基づいて論理回路２０ａのタイミング不良を診断するので、診断部５４は論理回路２０ａのタイミング不良の数（程度）を診断できる。
そして、調整部５６が、カウンタ５３の値（すなわちタイミング不良の数）に基づいて、その値が少なくなるように第２クロック信号の周期もしくは遅延量の少なくとも一方を調整するので、論理回路２０ａのタイミング不良の数を確実に“０”に近づけることができ、タイミング不良を効率良く改善できる。
【００８０】
〔２〕本発明の第２実施形態について
次に、図９を参照しながら、本発明の第２実施形態としての集積回路のタイミング不良改善装置の構成について説明する。この図９に示すように、本実施形態としての集積回路のタイミング不良改善装置１ｂは、上述した第１実施形態のカウンタ５３に代えて、第１保持部５７および第２保持部５８をそなえて構成されている点を除いては、上述した第１実施形態のタイミング不良改善装置１ａと同様に構成されている。なお、図９において既述の符号と同一の符号は同一の部分もしくは略同一の部分を示しているので、ここではその詳細な説明は省略する。
【００８１】
第１保持部５７は、第１比較部５１による比較結果を保持するものであり、具体的には第１保持部５７はフラグであり、第１比較部５１による比較の結果、取出スキャンチェイン１２の最終段のフリップフロップ１２−４に得られた期待値と、取出スキャンチェイン２２の最終段のフリップフロップ２２−４に得られた値とが異なっていれば、フラグをオン（“１”）に設定することで、第１比較部５１の比較結果を保持する。
【００８２】
第２保持部５８は、第２比較部５２による比較結果を保持するものであり、具体的には第２保持部５８もフラグであり、第２比較部５２による比較の結果、スキャンチェイン１１の最終段のフリップフロップ１１−４に得られた期待値と、スキャンチェイン２１の最終段のフリップフロップ２１−４に得られた値とが異なっていれば、フラグをオン（“１”）に設定することで、第２比較部５２の比較結果を保持する。
【００８３】
そして、本タイミング不良改善装置１ｂにおいて、診断部５４は、第１保持部５７および第２保持部５８に保持された比較結果に基づいて、不良スキャンチェインを特定する。
例えば、第１保持部５７としてのフラグがオン（“１”）、第２保持部５８としてのフラグがオフ（“０”）であれば、診断部５４はスキャンチェイン２２が不良スキャンチェインと特定する。逆に、第１保持部５７としてのフラグがオフ、第２保持部５８としてのフラグがオンであれば、診断部５４はスキャンチェイン２１が不良スキャンチェインと特定する。
【００８４】
ここで、図１０に示すフローチャート（ステップＳ１〜Ｓ６，Ｓ７´，Ｓ８〜Ｓ１２）を参照しながら、本タイミング不良改善装置１ｂの動作手順について説明する。なお、図１０において既述の符号と同一の符号は同一の処理もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。
本タイミング不良改善装置１ｂは、第１比較部５１による比較の結果、フリップフロップ２２−４に得られた値とフリップフロップ１２−４に得られた値とが異なっていれば、あるいは、第２比較部５２による比較の結果、フリップフロップ２１−４に得られた値とフリップフロップ１１−４に得られた値とが異なっていれば、（つまり、タイミング不良を検出すれば；ステップＳ６のＹｅｓルート）、第１保持部５７もしくは第２保持部５８としてのフラグがオンに設定され、診断部５４がフラグに基づいて不良スキャンチェインを特定する（ステップＳ７´）。
【００８５】
なお、このステップＳ７´において特定された不良スキャンチェインにかかる情報（不良位置情報）は、例えば診断部５４の記憶領域（図示略）に保持され、後段のステップＳ１２における調整部５６による遅延量調整処理に使用される。
一方、フリップフロップ２２−４（２１−４）に得られた値とフリップフロップ１２−４（１１−４）に得られた値とが同一であれば（つまり、タイミング不良が検出されなければ；ステップＳ６のＮｏルート）、上記ステップＳ７´の処理を実行しない。
【００８６】
そして、ステップＳ１２において、調整部５６が上記ステップＳ７´において診断部５４によって特定された不良スキャンチェインの情報をもとに、当該不良スキャンチェインに入力されるクロック信号の周期および／または遅延量（ここでは遅延量設定情報）を調整する。
ここで、集積回路２は、クロック分配のブロック毎にスキャンチェイン１１，１２，２１，２２を持つ構造となっている。つまり、各スキャンチェイン１１，１２，２１，２２に含まれるフリップフロップとクロック分配（入力機構；ここではクロック信号入力回路とディレイ調整回路との対）とが対応付けられるように集積回路２が構成されている。
【００８７】
具体的には、各スキャンチェイン１１，１２，２１，２２のそれぞれにクロック信号入力回路３２−１，３２−２，４２−１，４２−２およびディレイ調整回路３３−１，３３−２，４３−１，４３−２が接続されている。
したがって、診断部５４によって不良スキャンチェインを特定することによって調整すべき入力機構（特にディレイ調整回路３３−１，３３−２，４３−１，４３−２）を間接的に特定でき、どのスキャンチェインに不良があればどのディレイ調整回路３３−１，３３−２，４３−１，４３−２に対する遅延量設定情報を変更すべきかが判別可能である。
【００８８】
そのため、上記ステップＳ１２において調整部５６が不良スキャンチェインに基づいて遅延量設定情報の変更を的確に行なうことができる。
例えば、診断部５４によって取出スキャンチェイン２２が不良スキャンチェインであると特定されると、調整部５６はクロックディレイ設定情報保持部５５におけるディレイ調整回路４３−２の遅延量設定情報を変更する。
【００８９】
このように、本発明の第２実施形態としての集積回路のタイミング不良改善装置１ｂによれば、上述した第１実施形態と同様の効果を得ることができるとともに、診断部５４が第１保持部５７および第２保持部５８に保持された比較結果に基づいてタイミング不良が発生した不良スキャンチェインを特定するので、調整部５６が診断部５４によって特定された不良スキャンチェインに基づいて遅延量等を調整でき、その結果、タイミング不良の改善をより確実に且つより効率的に実行できる。
【００９０】
〔３〕本発明の第３実施形態について
次に、図１１を参照しながら、本発明の第３実施形態としての集積回路のタイミング不良改善装置の構成について説明する。この図１１に示すように、本実施形態としての集積回路のタイミング不良改善装置１ｃは、上述した第１実施形態のカウンタ５３に代えて、ＯＲゲート５９をそなえて構成されているとともに、スキャンチェイン２１´，２２´の構成（より具体的には最終段のフリップフロップ２１−４´，２２−４´の構成）が異なっている点を除いては、上述した第１実施形態のタイミング不良改善装置１ａと同様に構成されている。なお、図１１において既述の符号と同一の符号は同一の部分もしくは略同一の部分を示しているので、ここではその詳細な説明は省略する。
【００９１】
ＯＲゲート５９は、第１比較部５１および第２比較部５２の比較結果を入力され、これら第１比較部５１および第２比較部５２の少なくとも一方の比較結果が異なっていれば（つまり、タイミング不良があれば）、フェイル検出信号として高レベルの信号（“１”を示す信号）を出力する。
そして、診断部５４は、ＯＲゲート５９からのフェイル検出信号に基づいて（すなわち、第１比較部および第２比較部の比較の結果に基づいて）、タイミング不良の有無を診断する。ここでＯＲゲート５９からのフェイル検出信号が“１”であり、診断部５４がタイミング不良であると診断すると、取出スキャンチェイン２２´の最終段のフリップフロップ２２−４´および入力スキャンチェイン２１´の最終段のフリップフロップ２１−４´，２２−４´に保持された値を後述するスキャンパス６０を用いて直接読み出し、これら読み出した値に基づいてタイミング不良が発生した不良位置（不良フリップフロップ）を特定する。
【００９２】
ここで、フリップフロップ２１−４´，２２−４´は、図１２に示すごとく、２系統のスキャンパスを有している。つまり、上記図２に示す上述した第１実施形態のフリップフロップ２１−４，２２−４に対してスキャンイン入力端１３ｂに代えて、２つのスキャンイン入力端１３ｂ−１（図中“ＳＩ１”と表記），１３ｂ−２（図中“ＳＩ２”と表記）と、これらのいずれか一方を選択信号（図中“ＳＳ”と表記）に基づいて選択する選択回路１６とをそなえて構成される。そして、＋ＡＣＫ信号および−ＢＣＫ信号によりスキャン動作が行なわれることは上記図２に示すフリップフロップと変わりないが、選択信号に基づいてスキャン入力を切り替え、複数のスキャンパスを構成することができる。
【００９３】
図１３にこれらフリップフロップ２１−４´，２２−４´をそなえたスキャンチェイン２１´，２２´の構成を示す。なお、図１３は図の簡略化のためスキャンチェイン２１´，２２´に同一のクロック信号（図中ＣＫ，ＡＣＫ，ＢＣＫ，ＳＳ）が入力される例を示している。
この図１３に示すように、スキャンチェイン２１´，２２´のそれぞれは、ＭＩＳＲ４へデータを出力するスキャンチェインと、最終段のフリップフロップ２１−４´，２２−４´の値を外部（ここでは診断部５４）に出力するためのスキャンチェインとの２系統のスキャンチェインを実現している。なお、フリップフロップ（以下、ＦＦともいう）２１−１〜２１−３，２２−１〜２２−３は、スキャンイン入力端１３ｂ−２（ＳＩ２）の入力を用いられる場合は値を保持するように構成されている。
【００９４】
そして、ＭＩＳＲ４へデータを出力する通常のスキャンパスを用いる場合、スキャンチェイン２１´においては、入力端子ＳＩ１，ＦＦ２１−１，ＦＦ２１−２，ＦＦ２１−３，ＦＦ２１−４´，出力端子ＳＯ１という順に信号（データ）が伝搬される。また、スキャンチェイン２２´においては、入力端子ＳＩ２，ＦＦ２２−１，ＦＦ２２−２，ＦＦ２２−３，ＦＦ２２−４´，出力端子ＳＯ２という順に信号が伝搬される。
【００９５】
一方、診断部５４によってタイミング不良が診断された際に用いられる第２のスキャンパス６０では、ＦＦ２１−４´，ＦＦ２２−４´，出力端子ＳＯ２の順に値が読み出される。
具体的には、最初のシフトでフリップフロップ２２−４´に保持されたデータが出力端子ＳＯ２から出力されるとともに、フリップフロップ２１−４´に保持されたデータがフリップフロップ２２−４´にシフトする。そして、次のシフトでフリップフロップ２２−４´に保持された前段（フリップフロップ２１−４´）からのデータが出力端子ＳＯ２から出力される。
【００９６】
このように、診断部５４は、取出スキャンチェイン２２´（２１´）が最終段に保持した値を読み出し可能に構成されており、診断部５４は試験対象の論理回路２０ａがタイミング不良であると診断した際に、取出スキャンチェイン２２´の最終段に保持された値をスキャンパス６０を用いて読み出し、読み出した値に基づいて取出スキャンチェイン２２´においてタイミング不良が発生した不良位置（不良フリップフロップ）を特定する。
そして、調整部５６は、診断部５４によって特定された不良フリップフロップへ印加される第２クロック信号の周期および遅延量の少なくとも一方を調整するように構成されている。
【００９７】
次に、図１４に示すフローチャート（ステップＳ１〜Ｓ６，Ｓ７´´，Ｓ８〜Ｓ１２）を参照しながら、本タイミング不良改善装置１ｃの動作手順について説明する。なお、図１４において既述の符号と同一の符号は同一の処理もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。
【００９８】
本タイミング不良改善装置１ｃは、第１比較部５１による比較の結果、フリップフロップ２２−４´に得られた値とフリップフロップ１２−４に得られた値とが異なっているか、あるいは、第２比較部５３による比較の結果、フリップフロップ２１−４´に得られた値とフリップフロップ１１−４に得られた値とが異なっていれば（つまり、タイミング不良を検出すれば；ステップＳ６のＹｅｓルート）、ＯＲゲート５９からフェイル検出信号“１”が出力され、このフェイル検出信号に基づいて診断部５４がスキャンパス６０を用いてフリップフロップ２１−４´，２２−４´の値を直接読み出し、読み出した値が期待値と異なっているフリップフロップ２１−４´，２２−４´を不良フリップフロップと特定する（つまり、不良位置を特定する；ステップＳ７´´）。
【００９９】
なお、このステップＳ７´´における不良フリップフロップの特定は、スキャンシフト処理（ステップＳ９）を行なった回数に基づいて診断部５４により実行され、特定された不良フリップフロップにかかる情報（不良位置情報）は、例えば診断部５４の記憶領域（図示略）に保持され、後段ステップＳ１２における調整部５６による遅延量調整処理に使用される。
【０１００】
一方、フリップフロップ２２−４´（２１−４´）に得られた値とフリップフロップ１２−４（１１−４）に得られた値とが同一であれば（つまり、タイミング不良が検出されなければ；ステップＳ６のＮｏルート）、上記ステップＳ７´´の処理を実行しない。
そして、ステップＳ１２において、調整部５６が上記ステップＳ７´´において診断部５４によって特定された不良フリップフロップの情報をもとに、当該不良フリップフロップに入力される第２クロック信号の周期および／または遅延量（ここでは遅延量設定情報）を調整する。
【０１０１】
ここで、集積回路２は、スキャンチェイン１１，１２，２１，２２毎にディレイ調整回路３３−１，３３−２，４３−１，４３−２をそなえているので、不良フリップフロップを特定しても、当該不良フリップフロップを含む取出スキャンチェインのすべてに対してディレイ調整を行なうことになる。
しかし、本発明において、スキャンチェイン１１，１２，２１，２２ごとに１対１対応でディレイ調整回路３３−１，３３−２，４３−１，４３−２を設ける必要はなく、同一のスキャンチェインのフリップフロップでもディレイ調整回路が異なるように構成したり、あるいは、一のディレイ調整回路が異なるスキャンチェインの複数のフリップフロップを担当してもよく、この場合には、診断部５４が不良フリップフロップを特定することで、調整部５６が当該不良フリップフロップにかかるディレイ調整回路に対する遅延量の調整を行なう。
【０１０２】
いずれにしても、診断部５４が不良フリップフロップを特定することによって、調整部５６による調整をより確実且つ効率的に実行できる。なお、フェイル数が多くなると、ロジックＢＩＳＴによる試験時間短縮の利点は薄れるが、それでも不良フリップフロップを特定するにあたり、前述した図１７に示す従来技術のごとく全ビット読み出す場合よりも読み出すビット数を大幅に削減でき、試験時間を大幅に短縮することができる。
このように、本発明の第３実施形態としての集積回路のタイミング不良改善装置１ｃによれば、上述した第１実施形態および第２実施形態と同様の効果を得ることができる。
【０１０３】
〔４〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形または組み合わせて実施することができる。
例えば、上述した実施形態では、ＣＰＵコア１０を参照用としＣＰＵ２０を試験対象とした場合のみ説明したが、本発明の集積回路のタイミング不良改善装置１ａ〜１ｃはＣＰＵコア２０のディレイ調整が完了すればその設定値を保存した上で、次はＣＰＵコア２０を参照用としＣＰＵコア１０を試験対象としてＣＰＵコア１０のタイミング不良を改善する。
【０１０４】
また、上述した実施形態では、集積回路２が２つのＣＰＵコア１０，２０をそなえて構成された例をあげて説明したが、本発明はこれに限定されるものではなく、本発明のタイミング不良改善装置１ａ〜１ｃによれば、３以上のＣＰＵコアをそなえた集積回路に対しても上述した実施形態と同様に処理を行なうことができる。例えば、集積回路が３つ以上のＣＰＵコアをそなえている場合、一つの参照用ＣＰＵコアに対して複数のＣＰＵコアを試験対象として同時に試験（ディレイ調整）を実行してもよいし、一つの参照用ＣＰＵコアに対して試験対象のＣＰＵコアは一つとし、試験対象のＣＰＵコアを順に変更して試験（ディレイ調整）を実行してもよい。
【０１０５】
さらに、上述した実施形態では、集積回路２においてスキャンチェイン１１，１２，２１，２２ごとにクロック信号の入力機構（クロック信号入力回路およびディレイ調整回路）が設けられた例をあげて説明したが、本発明はこれに限定されるものではなく、少なくともＣＰＵコア１０，２０ごとにクロック信号の入力機構が設けられ、その中で各入力機構が同一ＣＰＵコアの複数のスキャンチェインのフリップフロップを担当するように構成されていてもよく、この場合であっても調整部５６は診断部５４の診断結果に基づいて第２クロック信号の調整を確実に実行できる。
【０１０６】
また、上述した実施形態では、第１クロック信号印加部３０および第２クロック信号印加部４０のそれぞれが信号を生成するクロック信号生成部（第１クロック信号生成部３１，第２クロック信号生成部４１）をそなえて構成された例をあげて説明したが、本発明はこれに限定されるものではなく、例えば図１５に示すごとく、第１クロック信号印加部３０´および第２クロック信号印加部４０´が集積回路２内部のＰＬＬ５を共用し、それぞれがＰＬＬ５で生成されたＰＬＬクロックの一部のクロックをマスクする第１マスク処理部３４，第２マスク処理部４４をそなえて構成してもよい。
【０１０７】
なお、図１６（ａ）に示すごとく生成されたＰＬＬクロックに対して、第１クロック印加部３０´の第１マスク処理部３４はＰＬＬクロックの一部をマスクして図１６（ｂ）に示す第１クロック信号を生成する。また、第２クロック印加部４０´の第２マスク処理部４４はＰＬＬクロックの一部をマスクして図１６（ｃ）に示す第２クロック信号を生成する。
【０１０８】
また、上述した第１比較部５１，第２比較部５２，カウンタ５３，診断部５４，および調整部５６としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（集積回路のタイミング不良改善プログラムもしくはタイミング不良診断プログラム）を実行することによって実現されてもよい。
それらのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から集積回路のタイミング不良改善プログラムもしくはタイミング不良診断プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、それらプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【０１０９】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
【０１１０】
上記集積回路のタイミング不良改善プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第１比較部５１，第２比較部５２，カウンタ５３，診断部５４，および調整部５６としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０１１１】
さらに、上記集積回路のタイミング不良診断プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第１比較部５１，第２比較部５２，カウンタ５３，および診断部５４としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０１１２】
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【０１１３】
〔５〕付記
（付記１）
同一論理の論理回路を複数有する集積回路のタイミング不良改善装置であって、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン（以下、参照用入力スキャンチェインという）、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン（以下、試験対象入力スキャンチェインという）、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する第１比較部と、
該第１比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部と、
該診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部とをそなえて構成されていることを特徴とする、集積回路のタイミング不良改善装置。
【０１１４】
（付記２）
該複数の取出スキャンチェインから出力された該論理回路から取り出した値をシグネチャとして圧縮して格納する圧縮格納部をそなえて構成されていることを特徴とする、付記１記載の集積回路のタイミング不良改善装置。
（付記３）
該第２クロック信号印加部が印加する該第２クロック信号の該第二の周期が、該第１クロック信号の該第一の周期よりも短いことを特徴とする、付記１または付記２記載の集積回路のタイミング不良改善装置。
【０１１５】
（付記４）
該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の遅延量を設定する遅延量設定情報を保持する遅延量設定情報保持部をそなえ、
該調整部が、該遅延量設定情報保持部に保持された該遅延量設定情報を変更することを特徴とする、付記１〜付記３のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１１６】
（付記５）
該第２クロック信号印加部が該第２クロック信号の該第二の周期を変更可能に構成され、
該調整部が、該第２クロック信号印加部によって印加される該第２クロック信号の該第二の周期を変更することを特徴とする、付記１〜付記４のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１１７】
（付記６）
該診断部が、該第１比較部による比較の結果、該参照用取出スキャンチェインに取り込まれた値と該試験対象取出スキャンチェインに取り込まれた値とが異なっていれば、該試験対象論理回路がタイミング不良であると診断することを特徴とする、付記１〜付記５のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１１８】
（付記７）
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させた後の該参照用入力スキャンチェインに保持された値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させた後の該試験対象入力スキャンチェインに保持された値とを比較する第２比較部をそなえ、
該診断部が、該第１比較部および該第２比較部による比較の結果に基づいて、該試験対象論理回路のタイミング不良を診断することを特徴とする、付記１〜付記６のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１１９】
（付記８）
該第１比較部による比較結果をカウントするカウンタをそなえ、
該診断部が、該カウンタの値に基づいて該試験対象論理回路のタイミング不良の数を診断することを特徴とする、付記１〜付記６のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１２０】
（付記９）
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させた後の該参照用入力スキャンチェインに保持された値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させた後の該試験対象入力スキャンチェインに保持された値とを比較する第２比較部をそなえ、
該カウンタが該第１比較部および該第２比較部による比較結果をカウントすることを特徴とする、付記８記載の集積回路のタイミング不良改善装置。
【０１２１】
（付記１０）
該調整部が、該カウンタの値が少なくなるように該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整することを特徴とする、付記８または付記９記載の集積回路のタイミング不良改善装置。
（付記１１）
該第１比較部による比較結果を保持する第１保持部をそなえ、
該診断部が、該第１保持部に保持された比較結果に基づいて、該タイミング不良が発生した不良スキャンチェインを特定することを特徴とする、付記１〜付記６のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１２２】
（付記１２）
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させた後の該参照用入力スキャンチェインに保持された値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させた後の該試験対象入力スキャンチェインに保持された値とを比較する第２比較部と、
該第２比較部による比較結果を保持する第２保持部とをそなえ、
該診断部が、該第１保持部および該第２保持部に保持された比較結果に基づいて、該不良スキャンチェインを特定することを特徴とする、付記１１記載の集積回路のタイミング不良改善装置。
【０１２３】
（付記１３）
該調整部が、該診断部によって特定された該不良スキャンチェインへ印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整することを特徴とする、付記１１または付記１２記載の集積回路のタイミング不良改善装置。
（付記１４）
該診断部が、該試験対象取出スキャンチェインが最終段に保持した値を読み出し可能に構成され、
該診断部が、該試験対象論理回路がタイミング不良であると診断した際に、該試験対象取出スキャンチェインの最終段に保持された値を読み出し、読み出した値に基づいて該試験対象取出スキャンチェインにおいてタイミング不良が発生した不良位置を特定することを特徴とする、付記１〜付記６のいずれか１項に記載の集積回路のタイミング不良改善装置。
【０１２４】
（付記１５）
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させた後の該参照用入力スキャンチェインに保持された値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させた後の該試験対象入力スキャンチェインに保持された値とを比較する第２比較部をそなえ、
該診断部が、該第１比較部および該第２比較部による比較の結果に基づいて、該試験対象論理回路のタイミング不良を診断するとともに、該試験対象入力スキャンチェインが最終段に保持した値を読み出し可能に構成され、
該診断部が、該試験対象論理回路がタイミング不良であると診断した際に、該試験対象取出スキャンチェインおよび該試験対象入力スキャンチェインの最終段に保持された値を読み出し、読み出した値に基づいてタイミング不良が発生した不良位置を特定することを特徴とする、付記１４記載の集積回路のタイミング不良改善装置。
【０１２５】
（付記１６）
該調整部が、該診断部によって特定された該不良位置へ印加される該第２クロック信号の該第二の周期および遅延量の少なくとも一方を調整することを特徴とする、付記１４または付記１５記載の集積回路のタイミング不良改善装置。
（付記１７）
同一論理の論理回路を複数有する集積回路のタイミング不良診断装置であって、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部と、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部とをそなえて構成されていることを特徴とする、集積回路のタイミング不良診断装置。
【０１２６】
（付記１８）
論理回路と当該論理回路へ試験パターンを入力する入力スキャンチェインと該試験パターンに対する当該論理回路からの値を取り出す取出スキャンチェインとを有する処理コア部を複数そなえ、該複数の処理コア部の該論理回路が同一論理の回路である集積回路のタイミング不良を診断する集積回路のタイミング不良診断方法であって、
該複数の処理コア部の該論理回路に該入力スキャンチェインを通じて同一の試験パターンを入力し、
該複数の処理コア部のうちの参照用として機能する一の参照用処理コア部に第一の周期の第１クロック信号を印加し、
該複数の処理コア部のうちの試験対象として機能する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加し、
該第１クロック信号に基づいて該参照用処理コア部を動作させて当該参照用処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値と、該第２クロック信号に基づいて該試験対象処理コア部を動作させて当該試験対象処理コア部の該論理回路から対応する該取出スキャンチェインに取り込まれた値とを比較し、
かかる比較の結果に基づいて、該試験対象処理コア部の該論理回路のタイミング不良を診断することを特徴とする、集積回路のタイミング不良診断方法。
【０１２７】
（付記１９）
複数の同一論理の論理回路と、
該複数の論理回路に入力される試験パターンを生成するパターン生成部と、
該パターン生成部によって生成された該試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、
該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、
該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、
該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部と、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部とをそなえて構成されていることを特徴とする、集積回路。
【０１２８】
（付記２０）
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部と、
該診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部とをそなえて構成されていることを特徴とする、付記１９記載の集積回路。
【０１２９】
（付記２１）
複数の同一論理の論理回路と、試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部とをそなえた集積回路のタイミング不良を改善する機能をコンピュータに実現させるための集積回路のタイミング不良改善プログラムであって、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部、および、
該診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部として、該コンピュータを機能させることを特徴とする、集積回路のタイミング不良改善プログラム。
【０１３０】
（付記２２）
複数の同一論理の論理回路と、試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部とをそなえた集積回路のタイミング不良を改善する機能をコンピュータに実現させるための集積回路のタイミング不良改善プログラムを記録したコンピュータ読取可能な記録媒体であって、
該集積回路のタイミング不良改善プログラムが、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部、および、
該診断部によって該タイミング不良があると診断されると、当該タイミング不良を改善すべく、該第２クロック信号印加部によって該試験対象処理コア部に印加される該第２クロック信号の該第二の周期もしくは遅延量の少なくとも一方を調整する調整部として、該コンピュータを機能させることを特徴とする、集積回路のタイミング不良改善プログラムを記録したコンピュータ読取可能な記録媒体。
【０１３１】
（付記２３）
複数の同一論理の論理回路と、試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部とをそなえた集積回路のタイミング不良を診断する機能をコンピュータに実現させるための集積回路のタイミング不良診断プログラムであって、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部、および、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部として、該コンピュータを機能させることを特徴とする、集積回路のタイミング不良診断プログラム。
【０１３２】
（付記２４）
複数の同一論理の論理回路と、試験パターンを該複数の論理回路にそれぞれ入力する複数の入力スキャンチェインと、該試験パターンに対する該複数の論理回路からの値をそれぞれ取り出す複数の取出スキャンチェインと、該複数の論理回路のうちの参照用として機能する一の参照用論理回路、並びに、当該参照用論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、参照用取出スキャンチェインという）を有する参照用処理コア部に第一の周期の第１クロック信号を印加する第１クロック信号印加部と、該複数の論理回路のうちの試験対象として機能する試験対象論理回路、並びに、当該試験対象論理回路に対応する該入力スキャンチェイン、および、該取出スキャンチェイン（以下、試験対象取出スキャンチェインという）を有する試験対象処理コア部に該第一の周期とは異なる第二の周期の第２クロック信号を印加する第２クロック信号印加部とをそなえた集積回路のタイミング不良を改善する機能をコンピュータに実現させるための集積回路のタイミング不良改善プログラムを記録したコンピュータ読取可能な記録媒体であって、
該集積回路のタイミング不良診断プログラムが、
該第１クロック信号印加部によって印加された該第１クロック信号に基づいて該参照用処理コア部を動作させて該参照用論理回路から該参照用取出スキャンチェインに取り込まれた値と、該第２クロック信号印加部によって印加された該第２クロック信号に基づいて該試験対象処理コア部を動作させて該試験対象論理回路から該試験対象取出スキャンチェインに取り込まれた値とを比較する比較部、および、
該比較部による比較結果に基づいて、該試験対象論理回路のタイミング不良を診断する診断部として、該コンピュータを機能させることを特徴とする、集積回路のタイミング不良診断プログラムを記録したコンピュータ読取可能な記録媒体。
【図面の簡単な説明】
【０１３３】
【図１】本発明の第１実施形態としての集積回路のタイミング不良改善装置の構成を示す図である。
【図２】本発明の第１実施形態としての集積回路のタイミング不良改善装置のスキャンチェインのフリップフロップの構成例を示す図である。
【図３】図２に示すフリップフロップのシステム動作時の動作例を説明するためのタイムチャートである。
【図４】図２に示すフリップフロップのスキャン動作時の動作例を説明するためのタイムチャートである。
【図５】本発明の第１実施形態としての集積回路のタイミング不良改善装置の第１クロック信号印加部のディレイ調整回路および第２クロック信号印加部のディレイ調整回路の構成例を示す図である。
【図６】本発明の第１実施形態としての集積回路のタイミング不良改善装置の第１クロック信号印加部および第２クロック信号印加部によって印加されるクロック信号を説明するための図であり、（ａ）は第１クロック信号印加部によって印加される第１クロック信号を示す図であり、（ｂ）は第２クロック信号印加部によって印加される第２クロック信号を示す図である。
【図７】本発明の第１実施形態としての集積回路のタイミング不良改善装置のクロックディレイ設定情報保持部のフリップフロップの構成例を示す図である。
【図８】本発明の第１実施形態としての集積回路のタイミング不良改善方法（タイミング不良診断方法）の処理手順を説明するためのフローチャートである。
【図９】本発明の第２実施形態としての集積回路のタイミング不良改善装置の構成を示す図である。
【図１０】本発明の第２実施形態としての集積回路のタイミング不良改善方法（タイミング不良診断方法）の処理手順を説明するためのフローチャートである。
【図１１】本発明の第３実施形態としての集積回路のタイミング不良改善装置の構成を示す図である。
【図１２】本発明の第３実施形態としての集積回路のタイミング不良改善装置の試験対象の入力スキャンチェインおよび取出スキャンチェインの最終段のフリップフロップの構成例を示す図である。
【図１３】本発明の第３実施形態としての集積回路のタイミング不良改善装置の試験対象の入力スキャンチェインおよび取出スキャンチェインの構成例を示す図である。
【図１４】本発明の第３実施形態としての集積回路のタイミング不良改善方法（タイミング不良診断方法）の処理手順を説明するためのフローチャートである。
【図１５】本発明の変形例としての集積回路のタイミング不良改善装置の構成を示す図である。
【図１６】図１５に示す本発明の変形例としての集積回路のタイミング不良改善装置の第１クロック信号印加部および第２クロック信号印加部によって印加されるクロック信号を説明するための図であり、（ａ）は集積回路内部のＰＬＬによって生成されるクロック信号を示す図であり、（ｂ）は第１クロック信号印加部によって印加される第１クロック信号を示す図であり、（ｃ）は第２クロック信号印加部によって印加される第２クロック信号を示す図である。
【図１７】従来の良否判定が可能な集積回路の構成を示す図である。
【図１８】従来のロジックＢＩＳＴ機構をそなえた集積回路の構成を示す図である。
【符号の説明】
【０１３４】
１ａ〜１ｃ  集積回路のタイミング不良改善装置
２，１０４，１０９  集積回路
３，１１０  ＬＦＳＲ（Linear Feedback Shift Register）
４，１１１  ＭＩＳＲ（Multiple Input Signature Register）
４ａ，６０，１１２  スキャンパス
４ｂ，５５ｌ  出力端子
５  ＰＬＬ（Phase Locked Loop）
１０  ＣＰＵ（Central Processing Unit）コア（参照用処理コア部）
１０ａ  論理回路（参照用論理回路）
１１  入力スキャンチェイン（参照用入力スキャンチェイン）
１１−１〜１１−４，１２−１〜１２−４，２１−１〜２１−４，２１−４´，２２−１〜２２−４，２２−４´，１００−１〜１００−１５  フリップフロップ
１２  取出スキャンチェイン（参照用取出スキャンチェイン）
１３ａ  データ入力端
１３ｂ，１３ｂ−１，１３ｂ−２  スキャンイン入力端
１３ｃ  マスタ出力端
１３ｄ  スレーブ出力端
１４ａ〜１４ｃ，５５ｊ，５５ｋ  クロック入力部
１５ａ〜１５ｉ，５５ｃ〜５５ｉ  ＮＯＴゲート
１６  選択回路
２０  ＣＰＵコア（試験対象処理コア部）
２０ａ  論理回路（試験対象論理回路）
２１，２１´  入力スキャンチェイン（試験対象入力スキャンチェイン）
２２，２２´  取出スキャンチェイン（試験対象取出スキャンチェイン）
３０，３０´  第１クロック信号印加部
３１  第１クロック信号生成部
３２−１，３２−２，４２−１，４２−２，１０２  クロック信号入力回路
３３−１，３３−２，４３−１，４３−２，１０３  ディレイ調整回路
３４  第１マスク処理部
３５ａ〜３５ｃ  ゲート
３６ａ〜３６ｃ  セレクタ
４０，４０´  第２クロック信号印加部
４１  第２クロック信号生成部
４４  第２マスク処理部
５１  第１比較部（比較部）
５２  第２比較部
５３  カウンタ
５４  診断部
５５，１０８  クロックディレイ設定情報保持部（遅延量設定情報保持部）
５５ａ  フリップフロップ（スキャン専用フリップフロップ）
５５ｂ，１０５  ＳＩ入力端子
５６  調整部
５７  第１保持部
５８  第２保持部
５９  ＯＲゲート
１０１  スキャンチェイン
１０７  ＳＯ出力端子
１０６−１，１０６−２  論理回路
【図１】
2008111772.tif 000003
【図２】
2008111772.tif 000004
【図３】
2008111772.tif 000005
【図４】
2008111772.tif 000006
【図５】
2008111772.tif 000007
【図６】
2008111772.tif 000008
【図７】
2008111772.tif 000009
【図８】
2008111772.tif 000010
【図９】
2008111772.tif 000011
【図１０】
2008111772.tif 000012
【図１１】
2008111772.tif 000013
【図１２】
2008111772.tif 000014
【図１３】
2008111772.tif 000015
【図１４】
2008111772.tif 000016
【図１５】
2008111772.tif 000017
【図１６】
2008111772.tif 000018
【図１７】
2008111772.tif 000019
【図１８】
2008111772.tif 000020