(57)【特許請求の範囲】
【請求項１】
マスタチップと、１つ以上のスレーブチップとを搭載するマルチチップ構成の半導体装置で用いられるクロック位相調整回路であって、
前記マスタチップは、
低速クロックを逓倍して第１逓倍クロックを生成する第１ＰＬＬ回路と、
前記第１逓倍クロックを分周してマスタクロックを生成する第１分周回路と、
リセットが解除された後、前記マスタクロックの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するマスタフラグを生成するマスタフラグ生成回路とを備え、
１つ以上の前記スレーブチップの各々は、
前記マスタチップから供給された低速クロックを逓倍して第２逓倍クロックを生成する第２ＰＬＬ回路と、
前記第２逓倍クロックを分周してスレーブクロックを生成する第２分周回路と、
前記マスタチップから供給されたマスタフラグ、および、前記リセットが解除された後、前記スレーブクロックの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するスレーブフラグに基づいて、前記マスタクロックと前記スレーブクロックとの間のスキューを検出してスキュー設定値を出力するスキュー検出回路と、
前記スキュー設定値に応じて、前記マスタクロックと前記スレーブクロックとが、あらかじめ設定された位相関係となるように、前記スレーブクロックの位相を調整する位相調整回路とを備えることを特徴とするクロック位相調整回路。
【請求項２】
前記マスタフラグ生成回路は、
前記リセットが解除された後、前記第１ＰＬＬ回路のロックタイムに相当する期間、前記マスタクロックをマスクする第１マスク回路と、
前記リセットにより非アクティブ状態の前記マスタフラグを出力し、前記リセットが解除され、前記第１マスク回路によりマスクされた後に出力された１サイクル目の前記マスタクロックに同期してアクティブ状態の前記マスタフラグを出力し、その後、アクティブ状態の前記マスタフラグを出力し続けるマスタフラグ出力回路とを備える請求項１に記載のクロック位相調整回路。
【請求項３】
前記スキュー検出回路は、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除された後に、前記マスタフラグがアクティブ状態となった次のサイクルの前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ生成回路と、
前記マスタフラグを各々異なる時間遅延し、２以上の遅延マスタフラグを出力する第１遅延回路と、
２以上の前記遅延マスタフラグの各々を、前記スレーブフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持マスタフラグを出力する第１保持回路と、
２以上の前記保持マスタフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第１スキュー算出回路とを備える請求項１または２に記載のクロック位相調整回路。
【請求項４】
前記第１遅延回路は、前記位相調整回路が調整するスレーブクロックの位相の範囲内の時間で、前記マスタフラグを各々異なる時間遅延し、２以上の前記遅延マスタフラグを出力するものである請求項３に記載のクロック位相調整回路。
【請求項５】
前記スキュー検出回路は、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除され、前記第２ＰＬＬ回路のロックタイムに相当する期間、マスクされた後に出力された１サイクル目の前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ生成回路と、
前記マスタフラグを各々異なる時間遅延し、２以上の遅延マスタフラグを出力する第１遅延回路と、
２以上の前記遅延マスタフラグの各々を、前記スレーブフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持マスタフラグを出力する第１保持回路と、
２以上の前記保持マスタフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第１スキュー算出回路と、
前記スレーブフラグを各々異なる時間遅延し、２以上の遅延スレーブフラグを出力する第２遅延回路と、
２以上の前記遅延スレーブフラグの各々を、前記マスタフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持スレーブフラグを出力する第２保持回路と、
２以上の前記保持スレーブフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第２スキュー算出回路と、
前記マスタフラグおよび前記スレーブフラグに基づいて、前記マスタクロックと前記スレーブクロックとの間の位相関係を判定し、位相判定信号を出力する位相判定回路と、
前記位相判定信号に基づいて、前記スレーブクロックが前記マスタクロックよりも遅いと判定された場合に、前記第１スキュー算出回路から出力されたスキュー設定値を出力し、前記マスタクロックが前記スレーブクロックよりも遅いと判定された場合に、前記第２スキュー算出回路から出力されたスキュー設定値を出力するように切り替える切替回路とを備える請求項１または２に記載のクロック位相調整回路。
【請求項６】
前記スレーブフラグ生成回路は、
前記リセットが解除された後、前記第２ＰＬＬ回路のロックタイムに相当する期間、前記スレーブクロックをマスクする第２マスク回路と、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除され、前記第２マスク回路によりマスクされた後に出力された１サイクル目の前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ出力回路とを備える請求項５に記載のクロック位相調整回路。
【請求項７】
前記第１遅延回路は、前記位相調整回路が調整するスレーブクロックの位相の範囲内の時間で、前記マスタフラグを各々異なる時間遅延し、２以上の前記遅延マスタフラグを出力するものである請求項５または６に記載のクロック位相調整回路。
【請求項８】
前記第２遅延回路は、前記位相調整回路が調整するスレーブクロックの位相の範囲内の時間で、前記スレーブフラグを各々異なる時間遅延し、２以上の前記遅延スレーブフラグを出力するものである請求項５〜７のいずれか１項に記載のクロック位相調整回路。
【請求項９】
前記位相調整回路は、前記スレーブチップの内部回路の内部に備えられたものであり、
前記スレーブクロック、および、前記スキュー設定値が、前記スレーブチップの内部回路に供給され、
前記スレーブチップの内部回路は、前記位相調整回路により、前記スキュー設定値に応じて位相が調整されたスレーブクロックに同期して動作するものである請求項３〜８のいずれか１項に記載のクロック位相調整回路。
【請求項１０】
前記位相調整回路は、前記スレーブチップの内部回路の外部に備えられたものであり、
前記スレーブクロック、および、前記スキュー設定値が、前記位相調整回路に供給され、
前記位相調整回路により、前記スキュー設定値に応じて位相が調整されたスレーブクロックが、前記スレーブチップの内部回路に供給される請求項３〜８のいずれか１項に記載のクロック位相調整回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の半導体チップを搭載するマルチチップ構成の半導体装置において、各々の半導体チップで使用されるクロックが、あらかじめ設定された一定の位相関係となるように調整するクロック位相調整回路に関するものである。
【背景技術】
【０００２】
図８は、従来のクロック位相調整回路の構成を表す一例のブロック図である。同図に示すクロック位相調整回路９０は、マスタチップ９２およびスレーブチップ９４を搭載するマルチチップ構成の半導体装置で用いられ、各々、ＰＬＬ回路１８，２８と分周回路２０，３０を用いて生成された、マスタチップ９２のマスタクロックＣＬＫＭと、スレーブチップ９４のスレーブクロックＣＬＫＳとが、あらかじめ設定された一定の位相関係となるように調整するものである。
【０００３】
マスタチップ９２では、外部から入力された、例えば、７０〜１００ＭＨｚ相当の外部クロックが、分周回路１６により分周されて低速クロックｓｙｎｃ＿ｃｌｋが生成される。低速クロックｓｙｎｃ＿ｃｌｋは、マスタチップ９２およびスレーブチップ９４の各々対応する外部接続端子（入出力（ＩＯ）端子）５８を介して、マスタチップ９２からスレーブチップ９４へ供給される。
【０００４】
デジタルＩＯ端子は、その特性から高速なクロックを十分スウィングさせることができないため、マスタチップ９２の内部回路２２へ供給される、例えば、７０〜１００ＭＨｚ相当のマスタクロックＣＬＫＭそのものをマスタチップ９２からスレーブチップ９４へ受け渡すことができない。そこで、低速クロックｓｙｎｃ＿ｃｌｋは、分周回路１６により、デジタルＩＯ端子で十分スウィングさせることができる周波数まで落として、マスタチップ９２からスレーブチップ９４へ供給される。
【０００５】
続いて、ＰＬＬ（Phase Locked Loop：位相同期ループ）回路１８により、低速クロックｓｙｎｃ＿ｃｌｋが逓倍されて逓倍クロックが生成され、分周回路２０により、逓倍クロックが分周されて７０〜１００ＭＨｚ相当のマスタクロックＣＬＫＭが生成される。
マスタチップ９２の内部回路２２、例えば、mini-LVDS（Low voltage differential signaling：低電圧差動シグナリング）の規格で規定された機能を実現するマクロセルは、マスタクロックＣＬＫＭに同期して動作する。
【０００６】
一方、スレーブチップ９４では、ＰＬＬ回路２８により、マスタチップ９２から供給された低速クロックｓｙｎｃ＿ｃｌｋが逓倍されて逓倍クロックが生成され、分周回路３０により、ＰＬＬ回路２８から供給された逓倍クロックが分周されてスレーブクロックＣＬＫＳが生成される。
スレーブチップ９４の内部回路３２、同様に、mini-LVDSの規格で規定された機能を実現するマクロセルは、スレーブクロックＣＬＫＳに同期して動作する。
【０００７】
従来のクロック位相調整回路９０は、低速クロックｓｙｎｃ＿ｃｌｋが、マスタチップ９２からスレーブチップ９４へ供給されるだけで、マスタチップ９２およびスレーブチップ９４のＰＬＬ回路１８，２８に入力される低速クロックｓｙｎｃ＿ｃｌｋの位相は、特に同期がとれるような構成にはなっていない。つまり、マスタチップ９２の逓倍クロックとスレーブチップ９４の逓倍クロックとの間や、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間で位相の同期をとる構成になっていない。
【０００８】
そのため、低速クロックｓｙｎｃ＿ｃｌｋ以降の逓倍クロックや、マスタクロックＣＬＫＭおよびスレーブクロックＣＬＫＳにおいて、チップ間のクロックの位相が同期化できていないことが原因で、半導体装置のサンプル毎にチップ間のクロックの位相がばらつく場合があった。
また、電源のオン／オフやリセットにより、チップ間のクロックの位相関係にばらつきが生じ、チップ間でクロックエッジが重なり合う場合、ＥＭＩ（電磁妨害）の観点からも悪影響をもたらす構成となっている。
【０００９】
ここで、本発明に関連性のある先行技術文献としては、ＰＬＬ回路に関する特許文献１，５や、同期の取れていない複数の同期クロック間の位相調整に関する特許文献２、クロックツリーシンセシス（ＣＴＳ）によるクロックツリーを有する半導体集積回路に関する特許文献３、クロック信号に同期して動作する同期型半導体記憶装置に関する特許文献４などがある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−４９６５９号公報
【特許文献２】特開２００８−９２３５９号公報
【特許文献３】特開２００４−２３３７６号公報
【特許文献４】特開平１０−２１６８４号公報
【特許文献５】特開平９−１９１２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、前記従来技術の問題点を解消し、マルチチップ構成の半導体装置において、チップ間のクロックを、一定の位相関係にすることができるクロック位相調整回路を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明は、マスタチップと、１つ以上のスレーブチップとを搭載するマルチチップ構成の半導体装置で用いられるクロック位相調整回路であって、
前記マスタチップは、
低速クロックを逓倍して第１逓倍クロックを生成する第１ＰＬＬ回路と、
前記第１逓倍クロックを分周してマスタクロックを生成する第１分周回路と、
リセットが解除された後、前記マスタクロックの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するマスタフラグを生成するマスタフラグ生成回路とを備え、
１つ以上の前記スレーブチップの各々は、
前記マスタチップから供給された低速クロックを逓倍して第２逓倍クロックを生成する第２ＰＬＬ回路と、
前記第２逓倍クロックを分周してスレーブクロックを生成する第２分周回路と、
前記マスタチップから供給されたマスタフラグ、および、前記リセットが解除された後、前記スレーブクロックの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するスレーブフラグに基づいて、前記マスタクロックと前記スレーブクロックとの間のスキューを検出してスキュー設定値を出力するスキュー検出回路と、
前記スキュー設定値に応じて、前記マスタクロックと前記スレーブクロックとが、あらかじめ設定された位相関係となるように、前記スレーブクロックの位相を調整する位相調整回路とを備えることを特徴とするクロック位相調整回路を提供するものである。
【００１３】
ここで、前記マスタフラグ生成回路は、
前記リセットが解除された後、前記第１ＰＬＬ回路のロックタイムに相当する期間、前記マスタクロックをマスクする第１マスク回路と、
前記リセットにより非アクティブ状態の前記マスタフラグを出力し、前記リセットが解除され、前記第１マスク回路によりマスクされた後に出力された１サイクル目の前記マスタクロックに同期してアクティブ状態の前記マスタフラグを出力し、その後、アクティブ状態の前記マスタフラグを出力し続けるマスタフラグ出力回路とを備えることが好ましい。
【００１４】
また、前記スキュー検出回路は、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除された後に、前記マスタフラグがアクティブ状態となった次のサイクルの前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ生成回路と、
前記マスタフラグを各々異なる時間遅延し、２以上の遅延マスタフラグを出力する第１遅延回路と、
２以上の前記遅延マスタフラグの各々を、前記スレーブフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持マスタフラグを出力する第１保持回路と、
２以上の前記保持マスタフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第１スキュー算出回路とを備えることが好ましい。
【００１５】
また、前記スキュー検出回路は、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除され、前記第２ＰＬＬ回路のロックタイムに相当する期間、マスクされた後に出力された１サイクル目の前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ生成回路と、
前記マスタフラグを各々異なる時間遅延し、２以上の遅延マスタフラグを出力する第１遅延回路と、
２以上の前記遅延マスタフラグの各々を、前記スレーブフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持マスタフラグを出力する第１保持回路と、
２以上の前記保持マスタフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第１スキュー算出回路と、
前記スレーブフラグを各々異なる時間遅延し、２以上の遅延スレーブフラグを出力する第２遅延回路と、
２以上の前記遅延スレーブフラグの各々を、前記マスタフラグがアクティブ状態へ遷移するタイミングに同期して保持し、２以上の保持スレーブフラグを出力する第２保持回路と、
２以上の前記保持スレーブフラグの状態に応じて、前記マスタクロックと前記スレーブクロックとの間のスキューを算出し、前記スキュー設定値を出力する第２スキュー算出回路と、
前記マスタフラグおよび前記スレーブフラグに基づいて、前記マスタクロックと前記スレーブクロックとの間の位相関係を判定し、位相判定信号を出力する位相判定回路と、
前記位相判定信号に基づいて、前記スレーブクロックが前記マスタクロックよりも遅いと判定された場合に、前記第１スキュー算出回路から出力されたスキュー設定値を出力し、前記マスタクロックが前記スレーブクロックよりも遅いと判定された場合に、前記第２スキュー算出回路から出力されたスキュー設定値を出力するように切り替える切替回路とを備えることが好ましい。
【００１６】
また、前記スレーブフラグ生成回路は、
前記リセットが解除された後、前記第２ＰＬＬ回路のロックタイムに相当する期間、前記スレーブクロックをマスクする第２マスク回路と、
前記リセットにより非アクティブ状態の前記スレーブフラグを出力し、前記リセットが解除され、前記第２マスク回路によりマスクされた後に出力された１サイクル目の前記スレーブクロックに同期してアクティブ状態の前記スレーブフラグを出力し、その後、アクティブ状態の前記スレーブフラグを出力し続けるスレーブフラグ出力回路とを備えることが好ましい。
【００１７】
また、前記第１遅延回路は、前記位相調整回路が調整するスレーブクロックの位相の範囲内の時間で、前記マスタフラグを各々異なる時間遅延し、２以上の前記遅延マスタフラグを出力するものであることが好ましい。
【００１８】
また、前記第２遅延回路は、前記位相調整回路が調整するスレーブクロックの位相の範囲内の時間で、前記スレーブフラグを各々異なる時間遅延し、２以上の前記遅延スレーブフラグを出力するものであることが好ましい。
【００１９】
また、前記位相調整回路は、前記スレーブチップの内部回路の内部に備えられたものであり、
前記スレーブクロック、および、前記スキュー設定値が、前記スレーブチップの内部回路に供給され、
前記スレーブチップの内部回路は、前記位相調整回路により、前記スキュー設定値に応じて位相が調整されたスレーブクロックに同期して動作するものであることが好ましい。
【００２０】
また、前記位相調整回路は、前記スレーブチップの内部回路の外部に備えられたものであり、
前記スレーブクロック、および、前記スキュー設定値が、前記位相調整回路に供給され、
前記位相調整回路により、前記スキュー設定値に応じて位相が調整されたスレーブクロックが、前記スレーブチップの内部回路に供給されることが好ましい。
【発明の効果】
【００２１】
本発明では、マスタクロックそのものではなく、マスタフラグを、マスタチップからスレーブチップへ供給し、スレーブチップにおいて、マスタチップから供給されたマスタフラグ、および、スレーブチップで生成されたスレーブフラグに基づいて、マスタクロックとスレーブクロックとの間のスキューを検出し、このスキューに基づいて、スレーブクロックの位相を調整する。
これにより、本発明によれば、マスタクロックとスレーブクロックとが、常に、あらかじめ設定された一定の位相関係となるように調整することができる。
また、本発明によれば、マスタクロックとスレーブクロックとの位相関係が常に一定に保たれるため、チップ間でクロックエッジが重なり合うことを防止し、ＥＭＩ対策としての効果を得ることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明のクロック位相調整回路の構成を表す一実施形態のブロック図である。
【図２】図１に示すマスタフラグ生成回路の構成を表す一実施形態の回路図である。
【図３】図２に示すマスタフラグ生成回路の動作を表す一例のタイミングチャートである。
【図４】図１に示すスキュー検出回路の構成を表す一実施形態の回路図である。
【図５】図４に示すスレーブフラグ生成回路の動作を表す一例のタイミングチャートである。
【図６】クロック位相調整回路の動作を表す一例のタイミングチャートである。
【図７】スキュー検出回路の構成を表す別の実施形態の回路図である。
【図８】従来のクロック位相調整回路の構成を表す一例のブロック図である。
【発明を実施するための形態】
【００２３】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のクロック位相調整回路を詳細に説明する。
【００２４】
図１は、本発明のクロック位相調整回路の構成を表す一実施形態のブロック図である。同図に示すクロック位相調整回路１０は、マスタチップ１２と、スレーブチップ１４とを搭載するマルチチップ構成の半導体装置で用いられ、各々、ＰＬＬ回路１８，２８と分周回路２０，３０を用いて生成された、マスタチップ１２のマスタクロックＣＬＫＭと、スレーブチップ１４のスレーブクロックＣＬＫＳとが、あらかじめ設定された一定の位相関係となるように、スレーブクロックＣＬＫＳの位相を調整するものである。
【００２５】
マスタチップ１２は、分周回路１６と、ＰＬＬ回路１８と、分周回路２０と、内部回路２２と、マスタフラグ生成回路２４とを備えている。
【００２６】
分周回路１６は、外部から供給された外部クロックを分周して、低速クロックｓｙｎｃ＿ｃｌｋを生成するものである。
低速クロックｓｙｎｃ＿ｃｌｋは、マスタチップ１２のＰＬＬ回路１８へ入力されるクロックと、後述するスレーブチップ１４のＰＬＬ回路２８へ入力されるクロックとを同期化するために、ＰＬＬ回路１８へ供給されるとともに、マスタチップ１２およびスレーブチップ１４の各々対応する外部接続端子５８を介して、マスタチップ１２からスレーブチップ１４のＰＬＬ回路２８へ供給される。
【００２７】
ＰＬＬ回路（第１ＰＬＬ回路）１８は、分周回路１６から出力された低速クロックｓｙｎｃ＿ｃｌｋを逓倍して逓倍クロック（第１逓倍クロック）を生成するものである。
ＰＬＬ回路１８により生成された逓倍クロックは、分周回路２０へ供給される。
【００２８】
分周回路（第１分周回路）２０は、ＰＬＬ回路１８から出力された逓倍クロックを分周してマスタクロックＣＬＫＭを生成するものである。
マスタクロックＣＬＫＭは、マスタチップ１２の内部回路２２、および、マスタフラグ生成回路２４へ供給される。
【００２９】
内部回路２２は、マスタクロックＣＬＫＭに同期して動作するマスタチップ１２の内部回路を表したものである。内部回路２２には何ら制限はないが、mini-LVDSの規格で規定された機能を実現するマクロセルを例示することができる。
【００３０】
マスタフラグ生成回路２４は、リセットが解除された後、マスタクロックＣＬＫＭの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するマスタフラグｓｙｎｃＭを生成するものである。
マスタフラグｓｙｎｃＭは、リセットにより非アクティブ状態となる。そして、リセットが解除された後、ＰＬＬ回路１８のロックタイムに相当する期間、マスクされた後に出力される安定した１サイクル目のマスタクロックＣＬＫＭに同期して、マスタフラグｓｙｎｃＭは、非アクティブ状態からアクティブ状態となり、その後、アクティブ状態を維持する。
マスタフラグｓｙｎｃＭは、マスタチップ１２およびスレーブチップ１４の各々対応する外部接続端子６０を介して、マスタチップ１２からスレーブチップ１４へ供給される。
【００３１】
ここで、ＰＬＬ回路１８のロックタイムは、ＰＬＬ回路１８の特性に応じて、あらかじめ決定されている。
【００３２】
続いて、スレーブチップ１４は、マスタチップ１２が備えるＰＬＬ回路１８、分周回路２０、内部回路２２の各々に相当するＰＬＬ回路２８、分周回路３０、内部回路３２を備え、さらに、スキュー検出回路３４と、位相調整回路３６とを備えている。
【００３３】
ＰＬＬ回路（第２ＰＬＬ回路）２８は、マスタチップ１２から供給された低速クロックｓｙｎｃ＿ｃｌｋを逓倍して逓倍クロック（第２逓倍クロック）を生成するものである。
ＰＬＬ回路２８により生成された逓倍クロックは、分周回路３０へ供給される。
【００３４】
分周回路（第２分周回路）３０は、ＰＬＬ回路２８から出力された逓倍クロックを分周してスレーブクロックＣＬＫＳを生成するものである。
スレーブクロックＣＬＫＳは、スレーブチップ１４の内部回路３２、および、スキュー検出回路３４へ供給される。
【００３５】
内部回路３２は、スレーブクロックＣＬＫＳに同期して動作するスレーブチップ１４の内部回路を表したものである。内部回路３２には何ら制限はないが、同様に、mini-LVDSの規格で規定された機能を実現するマクロセルを例示することができる。
【００３６】
本実施形態の場合、マスタチップ１２が備えるＰＬＬ回路１８、分周回路２０および内部回路２２と、スレーブチップ１４が備えるＰＬＬ回路２８、分周回路３０および内部回路３２とは同じ構成のものである。つまり、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳの周波数は同じである。ただし、本発明は、これに限定されず、両者の周波数が異なっていてもよい。
【００３７】
スキュー検出回路３４は、マスタチップ１２から供給されたマスタフラグｓｙｎｃＭ、および、リセットが解除された後、スレーブクロックＣＬＫＳの位相を表すタイミングで、非アクティブ状態からアクティブ状態へ１回だけ変化するスレーブフラグｓｙｎｃＳに基づいて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューを検出し、スレーブクロックＣＬＫＳの位相を調整するためのスキュー設定値を出力するものである。
スキュー設定値は、内部回路３２へ供給される。
【００３８】
位相調整回路３６は、本実施形態の場合、スレーブチップ１４の内部回路３２の内部（mini-LVDSのマクロセル内）に備えられている。つまり、スレーブクロックＣＬＫＳ、および、スキュー設定値が、スレーブチップ１４の内部回路３２に供給される。
位相調整回路３６は、スキュー検出回路３４から出力されたスキュー設定値に応じて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとが、あらかじめ設定された一定の位相関係となるように、スレーブクロックＣＬＫＳの位相を調整するものである。
つまり、スレーブチップ１４の内部回路３２は、位相調整回路３６により、スキュー設定値に応じて位相が調整されたスレーブクロックＣＬＫＳに同期して動作する。
【００３９】
なお、位相調整回路３６は、スレーブチップ１４の内部回路３２の外部に備えられていてもよい。この場合、スレーブクロックＣＬＫＳ、および、スキュー設定値が、位相調整回路３６に供給され、位相調整回路３６により、スキュー設定値に応じて位相が調整されたスレーブクロックＣＬＫＳが、スレーブチップ１４の内部回路３２に供給される。
【００４０】
また、図示を省略しているが、マスタチップ１２の内部回路２２の内部にも、スレーブチップ１４の内部回路３２の内部に備えられている位相調整回路３６と同様の位相調整回路が備えられている。
マスタチップ１２の内部回路２２の内部に備えられている位相調整回路には、スキュー設定値として、デフォルト値が設定されている。
【００４１】
本発明は、１つ以上のスレーブチップ１４を搭載するものに適用可能である。２以上のスレーブチップ１４を搭載する場合、各々のスレーブチップ１４の内部回路３２は、同じ構成のものでもよいし、異なる構成のものでもよい。
【００４２】
次に、マスタフラグ生成回路２４について具体例を挙げて説明する。
【００４３】
図２は、図１に示すマスタフラグ生成回路の構成を表す一実施形態の回路図である。同図に示すマスタフラグ生成回路２４は、ロックタイムマスクカウンタ３８と、フリップフロップ（ＦＦ）４０とを備えている。
【００４４】
ロックタイムマスクカウンタ（第１マスク回路）３８は、リセットが解除された後、ＰＬＬ回路１８のロックタイムに相当する期間、マスタクロックＣＬＫＭをマスクするものである。
ロックタイムマスクカウンタ３８から出力される、マスクされたマスタクロックＣＬＫＭは、ＦＦ４０へ供給される。
【００４５】
ロックタイムマスクカウンタ３８は、リセットにより、そのカウント値が初期化され、リセットが解除された後、マスタチップ１２の内蔵クロックに同期してカウントを開始する。そして、図３に示すように、そのカウント値が、初期化されてから、ＰＬＬ回路１８のロックタイムに相当する値になるまでの期間、マスタクロックＣＬＫＭをマスクして、この例では、ローレベルにする。
つまり、ロックタイムマスクカウンタ３８から出力されるマスクされたマスタクロックＣＬＫＭは、リセットが解除された後、ＰＬＬ回路１８のロックタイムに相当する期間が経過して、逓倍クロックが安定した後に動作（発振）を開始する。
【００４６】
続いて、ＦＦ（マスタフラグ出力回路）４０は、リセットにより非アクティブ状態のマスタフラグｓｙｎｃＭを出力し、リセットが解除され、ロックタイムマスクカウンタ３８によりマスクされた後に出力された１サイクル目のマスタクロックＣＬＫＭに同期してアクティブ状態のマスタフラグｓｙｎｃＭを出力し、その後、アクティブ状態のマスタフラグｓｙｎｃＭを出力し続けるものである。
【００４７】
ＦＦ４０のデータ入力端子Ｄは電源（ハイレベル）に接続されている。ＦＦ４０のクロック入力端子ＣＫには、ロックタイムマスクカウンタ３８から、マスクされたマスタクロックＣＬＫＭが入力され、リセット入力端子ＲＢにはリセット信号（図示省略）が入力される。ＦＦ４０のデータ出力端子Ｑからは、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとを同期させるための同期化信号となるマスタフラグｓｙｎｃＭが出力される。
【００４８】
ＦＦ４０は、リセットにより初期化される。これにより、ＦＦ４０からは、この例の場合、非アクティブ状態であるローレベルのマスタフラグｓｙｎｃＭが出力される。
リセットが解除された後、ＦＦ４０には、図３に示すように、ロックタイムマスクカウンタ３８によりマスクされた後に出力された１サイクル目のマスタクロックＣＬＫＭに同期してデータ入力端子Ｄのハイレベルが保持される。これにより、ＦＦ４０からは、アクティブ状態であるハイレベルのマスタフラグｓｙｎｃＭが出力される。
その後、再びリセットされるまで、ＦＦ４０からは、アクティブ状態であるハイレベルのマスタフラグｓｙｎｃＭが出力し続けられる。
【００４９】
マスタクロックＣＬＫＭは、ＰＬＬ回路１８の逓倍クロックに基づいて生成されるため、リセットが解除された後、ＰＬＬ回路１８のロックタイムに相当する期間が経過するまでの間、不安定な状態となる。
そこで、マスタフラグ生成回路２４は、マスタクロックＣＬＫＭが不安定な期間中に、マスタフラグｓｙｎｃＭが遷移することのないよう、ＰＬＬ回路１８のロックタイムに相当する期間、ロックタイムマスクカウンタ３８によりマスタクロックＣＬＫＭをマスクし、リセットが解除されてから、ＦＦ４０により、十分な時間が経過した後に出力される１サイクル目のマスタクロックＣＬＫＭに同期してマスタフラグｓｙｎｃＭを生成する。
そのため、マスタフラグｓｙｎｃＭは、リスタートの際も、必ず安定した状態のマスタクロックＣＬＫＭに同期して生成される。
【００５０】
次に、スキュー検出回路３４について具体例を挙げて説明する。
【００５１】
図４は、図１に示すスキュー検出回路の構成を表す一実施形態の回路図である。同図に示すスキュー検出回路３４は、スレーブフラグ生成回路４２と、遅延回路４４と、保持回路４６と、スキュー算出回路４８とを備えている。
【００５２】
スレーブフラグ生成回路４２は、リセットにより非アクティブ状態のスレーブフラグｓｙｎｃＳを出力し、リセットが解除された後に、マスタフラグｓｙｎｃＭがアクティブ状態となった次のサイクルのスレーブクロックＣＬＫＳに同期してアクティブ状態のスレーブフラグｓｙｎｃＳを出力し、その後、アクティブ状態のスレーブフラグｓｙｎｃＳを出力し続けるものである。
スレーブフラグ生成回路４２は、ＯＲ回路５０と、ＦＦ５２とを備えている。
【００５３】
ＯＲ回路５０には、マスタフラグｓｙｎｃＭ、および、ＦＦ５２の出力信号であるスレーブフラグｓｙｎｃＳが入力される。
ＦＦ５２のデータ入力端子ＤにはＯＲ回路５０の出力信号が入力され、クロック入力端子ＣＫにはスレーブクロックＣＬＫＳが入力され、リセット入力端子ＲＢにはリセット信号（図示省略）が入力される。ＦＦ５２のデータ出力端子Ｑからは、同期化信号であるスレーブフラグｓｙｎｃＳが出力される。
【００５４】
ＦＦ５２は、リセットにより初期化される。これにより、ＦＦ５２からは、この例の場合、非アクティブ状態であるローレベルのスレーブフラグｓｙｎｃＳが出力される。
リセットが解除された後、マスタフラグｓｙｎｃＭがアクティブ状態であるハイレベルになると、ＯＲ回路５０の出力信号、つまり、ＦＦ５２のデータ入力端子Ｄがハイレベルになる。図５に示すように、ＦＦ５２には、マスタフラグｓｙｎｃＭ、つまり、ＯＲ回路５０の出力信号がハイレベルとなった次のサイクルのスレーブクロックＣＬＫＳに同期してデータ入力端子Ｄのハイレベルが保持される。これにより、ＦＦ５２からは、アクティブ状態であるハイレベルのスレーブフラグｓｙｎｃＳが出力される。つまり、スレーブフラグ生成回路４２により生成されたスレーブフラグｓｙｎｃＳは、スレーブクロックＣＬＫＳの１Ｔ（１周期）の範囲内で、必ずマスタフラグｓｙｎｃＭよりもハイレベルへ遷移するタイミングが遅くなる。
その後、スレーブフラグｓｙｎｃＳのハイレベルはＯＲ回路５０にフィードバックされ、ＯＲ回路５０の出力信号がハイレベルに固定される。これにより、ＦＦ５２からは、ハイレベルのスレーブフラグｓｙｎｃＳが出力し続けられる。
【００５５】
続いて、遅延回路（第１遅延回路）４４は、ハードニングにより、マスタフラグｓｙｎｃＭを各々異なる時間遅延し、４本の遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４を出力するものである。
遅延回路４４は、マスタフラグｓｙｎｃＭを、各々異なる時間遅延する４つの遅延素子５４ａ、５４ｂ、５４ｃ、５４ｄを備えている。
【００５６】
マスタフラグｓｙｎｃＭは、４つの遅延素子５４ａ、５４ｂ、５４ｃ、５４ｄにより、各々異なる時間遅延される。同図に示す例では、遅延素子５４ａ、５４ｂ、５４ｃ、５４ｄの順序で遅延時間が次第に大きくなる。４つの遅延素子５４ａ、５４ｂ、５４ｃ、５４ｄからは、各々対応する遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４が出力され、保持回路４６へ供給される。
【００５７】
なお、遅延マスタフラグの本数は２以上であればよく、各々の遅延マスタフラグの遅延時間は何ら制限されない。遅延マスタフラグの本数を多くし、かつ、各々の遅延マスタフラグの遅延時間を細かく調整すればするほど、スキュー検出回路３４は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューをより正確に検出することができる。
【００５８】
また、遅延回路４４は、位相調整回路３６が調整するスレーブクロックＣＬＫＳの位相の範囲内の時間で、マスタフラグｓｙｎｃＭを各々異なる時間遅延することが望ましい。例えば、位相調整回路３６が調整するスレーブクロックＣＬＫＳの位相の範囲が１Ｔの範囲内の場合、マスタフラグｓｙｎｃＭを各々遅延する時間を１Ｔ以内とすることが望ましい。
【００５９】
続いて、保持回路（第１保持回路）４６は、４本の遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４の各々を、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングに同期して保持し、４本の遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４に各々対応する４本の保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４を出力するものである。
保持回路４６は、４つのＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄを備えている。
【００６０】
ＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄのデータ入力端子Ｄには、各々対応する遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４が入力され、クロック入力端子ＣＫにはスレーブフラグｓｙｎｃＳが入力され、リセット入力端子ＲＢにはリセット信号（図示省略）が入力される。ＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄのデータ出力端子Ｑからは、各々対応する保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４が出力され、スキュー算出回路４８へ供給される。
【００６１】
ＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄは、リセットにより初期化される。これにより、ＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄからは、この例の場合、ローレベルの保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４が各々出力される。
リセットが解除された後、ＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄには、スレーブフラグｓｙｎｃＳがアクティブ状態であるハイレベルへ遷移するタイミングに同期して遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４が各々保持される。
ここで、遅延マスタフラグＤＬＹＭ１がハイレベルへ遷移するタイミングが、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングよりも早い場合、保持マスタフラグＯＵＴＭ１はハイレベルとなる。一方、遅延マスタフラグＤＬＹＭ１がハイレベルへ遷移するタイミングが、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングよりも遅い場合、保持マスタフラグＯＵＴＭ１はローレベルを維持する。他の遅延マスタフラグＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４についても同様である。
【００６２】
なお、保持マスタフラグの本数は、遅延マスタフラグの本数に対応する２以上であればよい。
【００６３】
続いて、スキュー算出回路（第１スキュー算出回路）４８は、保持回路４６から出力された４本の保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４の状態に応じて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューを算出し、スキュー設定値を出力するものである。
スキュー算出回路４８は、表１に示すように、４本の保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４の値（ハイレベルまたはローレベル）をデーコードするデコーダにより構成することができる。
【００６４】
【表１】
0006401533.tif 000002
【００６５】
この例では、位相調整回路３６によるスレーブクロックＣＬＫＳの位相の調整範囲が、スレーブクロックＣＬＫＳの１Ｔであり、これに応じて、マスタフラグｓｙｎｃＭから、各々の遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４の遅延時間が、マスタフラグｓｙｎｃＭがハイレベルへ遷移するタイミングから、各々、スレーブクロックＣＬＫＳの（１／４）Ｔの時間ずつ遅延されたタイミングであるとする。
【００６６】
表１に示すように、全ての保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がＬ（ローレベル）の場合、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、マスタフラグｓｙｎｃＭがハイレベルへ遷移するタイミングと、遅延マスタフラグＤＬＹＭ１がハイレベルへ遷移するタイミングとの間にある。
この場合、スキュー算出回路４８は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間にスキューはないと判断し、スキュー設定値を、マスタチップ１２と同じデフォルト値とする。
【００６７】
保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がＨ（ハイレベル）、Ｌ，Ｌ，Ｌの場合、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、遅延マスタフラグＤＬＹＭ１がハイレベルへ遷移するタイミングと、遅延マスタフラグＤＬＹＭ２がハイレベルへ遷移するタイミングとの間にある。
この場合、スキュー算出回路４８は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューが（１／４）Ｔであると判断し、スキュー設定値を、デフォルト値＋（１／４）Ｔとする。
【００６８】
保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がＨ，Ｈ，Ｌ，Ｌの場合、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、遅延マスタフラグＤＬＹＭ２がハイレベルへ遷移するタイミングと、遅延マスタフラグＤＬＹＭ３がハイレベルへ遷移するタイミングとの間にある。
この場合、スキュー算出回路４８は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューが（２／４）Ｔであると判断し、スキュー設定値を、デフォルト値＋（２／４）Ｔとする。
【００６９】
保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がＨ，Ｈ，Ｈ，Ｌの場合、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、遅延マスタフラグＤＬＹＭ３がハイレベルへ遷移するタイミングと、遅延マスタフラグＤＬＹＭ４がハイレベルへ遷移するタイミングとの間にある。
この場合、スキュー算出回路４８は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューが（３／４）Ｔであると判断し、スキュー設定値を、デフォルト値＋（３／４）Ｔとする。
【００７０】
全ての保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がＨの場合、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、遅延マスタフラグＤＬＹＭ４がハイレベルへ遷移するタイミングよりも後ろにある。
この場合、スキュー算出回路４８は、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューが（４／４）Ｔであると判断し、スキュー設定値を、デフォルト値＋（４／４）Ｔとする。
【００７１】
次に、図６に示すタイミングチャートを参照しながら、クロック位相調整回路１０の動作を説明する。
【００７２】
図６のタイミングチャートに示すように、低速クロックｓｙｎｃ＿ｃｌｋは、一定の周期で発振するものとする。
【００７３】
リセット信号がローレベルとなり、リセットされると、マスタチップ１２およびスレーブチップ１４のＰＬＬ回路１８，２８、および、分周回路２０，３０は初期化される。ＰＬＬ回路１８，２８の逓倍クロック、つまり、マスタクロックＣＬＫＭおよびスレーブクロックＣＬＫＳは、リセットが解除された後、各々対応するＰＬＬ回路１８，２８のロックタイムに相当する期間が経過するまでの間、不安定な状態となり、その後、安定した状態で動作（発振）を開始する。
【００７４】
また、リセットにより、マスタフラグ生成回路２４のＦＦ４０、および、スレーブフラグ生成回路４２のＦＦ５２が初期化され、マスタフラグｓｙｎｃＭ、および、スレーブフラグｓｙｎｃＳが非アクティブ状態であるローレベルとなる。マスタフラグｓｙｎｃＭがローレベルになると、遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４もローレベルとなる。
【００７５】
また、リセットにより、保持回路４６のＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄが初期化され、保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４もローレベルとなる。全ての保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４がローレベルになると、スキュー算出回路４８から出力されるスキュー設定値は、マスタチップ１２と同じデフォルト値となる。
【００７６】
続いて、リセット信号がハイレベルとなり、リセットが解除された後、マスタクロックＣＬＫＭは、マスタフラグ生成回路２４のロックタイムマスクカウンタ３８により、ＰＬＬ回路１８のロックタイムに相当する期間、マスクされる。マスクされたマスタクロックＣＬＫＭの取りうる位相は、リセットが解除された後のＰＬＬ回路１８の逓倍クロックの位相の状態に応じて、マスタクロックＣＬＫＭの１Ｔの範囲内で変動する。
【００７７】
同様に、リセットが解除された後、スレーブクロックＣＬＫＳの取りうる位相は、リセットが解除された後のＰＬＬ回路２８の逓倍クロックの位相の状態に応じて、スレーブクロックＣＬＫＳの１Ｔの範囲内で変動する。
【００７８】
図６の例では、マスタクロックＣＬＫＭが、取りうる位相の中で最も早いタイミングで変化し、スレーブクロックＣＬＫＳは、取りうる位相の中で最も遅いタイミングで変化するものとする。
【００７９】
従って、この例の場合、マスタフラグ生成回路２４により、マスタクロックＣＬＫＭの取りうる位相の中で最も早いタイミングで、ローレベルからハイレベルとなるマスタフラグｓｙｎｃＭが生成される。
一方、スレーブフラグ生成回路４２により、スレーブクロックＣＬＫＳの取りうる位相の中で最も遅いタイミングで、ローレベルからハイレベルとなるスレーブフラグｓｙｎｃＳが生成される。
【００８０】
続いて、マスタフラグｓｙｎｃＭは、遅延回路４４の遅延素子５４ａ、５４ｂ、５４ｃ、５４ｄにより、各々異なる時間遅延されて、各々対応する遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４が出力される。
【００８１】
続いて、遅延マスタフラグＤＬＹＭ１，ＤＬＹＭ２，ＤＬＹＭ３，ＤＬＹＭ４は、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングに同期して、各々対応する保持回路４６のＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄに保持される。
【００８２】
この例では、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングは、遅延マスタフラグＤＬＴＭ３がハイレベルへ遷移するタイミングと、遅延マスタフラグＤＬＹＭ４がハイレベルへ遷移するタイミングとの間にあるものとする。
その結果、保持回路４６のＦＦ５６ａ、５６ｂ、５６ｃ、５６ｄから出力される保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４は、各々、Ｈ，Ｈ，Ｈ，Ｌとなる。
【００８３】
続いて、スキュー算出回路４８により、保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４のＨ，Ｈ，Ｈ，Ｌの状態に応じて、前述の表１に示すように、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューは（３／４）Ｔであると判断される。従って、スキュー算出回路４８からは、スキュー設定値として、デフォルト値＋（３／４）Ｔが算出される。
【００８４】
続いて、スレーブチップ１４の内部回路３２が備える位相調整回路３６により、スキュー設定値に応じて、スレーブクロックＣＬＫＳの位相が、デフォルト値から、デフォルト値＋（３／４）Ｔに調整される。これにより、マスタクロックＣＬＫＭと、位相が調整された後のスレーブクロックＣＬＫＳとは、あらかじめ設定された一定の位相関係となる。そして、位相が調整された後のスレーブクロックＣＬＫＳに同期して、スレーブチップ１４の内部回路３２は動作する。
【００８５】
なお、リセットが解除された後、位相調整回路３６により、スレーブクロックＣＬＫＳの位相が調整されるまでの間、位相が調整された後のスレーブクロックＣＬＫＳは、内部回路３２が誤動作しないようにマスクされている。
【００８６】
このように、クロック位相調整回路１０では、マスタクロックＣＬＫＭそのものではなく、マスタフラグｓｙｎｃＭを、マスタチップ１２からスレーブチップ１４へ供給し、スレーブチップ１４において、マスタチップ１２から供給されたマスタフラグｓｙｎｃＭ、および、スレーブチップ１４で生成されたスレーブフラグｓｙｎｃＳに基づいて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューを検出し、このスキューに基づいて、スレーブクロックＣＬＫＳの位相を調整する。
【００８７】
そのため、クロック位相調整回路１０では、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとが、常に、あらかじめ設定された一定の位相関係となるように調整することができる。
また、クロック位相調整回路１０では、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの位相関係が常に一定に保たれるため、チップ間でクロックエッジが重なり合うことを防止し、ＥＭＩ対策としての効果を得ることができる。
【００８８】
なお、マスタチップ１２とスレーブチップ１４と間の距離が遠く、マスタチップ１２からスレーブチップ１４に供給されたマスタフラグｓｙｎｃＭがなまり、仮に、マスタフラグｓｙｎｃＭがハイレベルへ遷移するタイミングが、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングよりも遅くなるような懸念がある場合、図７に示すスキュー検出回路３４を用いることができる。
【００８９】
図７は、図１に示すスキュー検出回路の構成を表す別の実施形態の回路図である。同図に示すスキュー検出回路３４は、スレーブフラグ生成回路６２と、遅延回路４４と、保持回路４６と、スキュー算出回路４８と、遅延回路６４と、保持回路６６と、スキュー算出回路６８と、位相判定回路７０と、切替回路７２とを備えている。
【００９０】
スレーブフラグ生成回路６２は、リセットにより非アクティブ状態のスレーブフラグｓｙｎｃＳを出力し、リセットが解除され、ＰＬＬ回路２８のロックタイムに相当する期間、マスクされた後に出力された１サイクル目のスレーブクロックＣＬＫＳに同期してアクティブ状態のスレーブフラグｓｙｎｃＳを出力し、その後、アクティブ状態のスレーブフラグｓｙｎｃＳを出力し続けるものである。
スレーブフラグ生成回路６２は、ロックタイムマスクカウンタ７８と、ＦＦ８０とを備えている。
【００９１】
スレーブフラグ生成回路６２は、図２に示すマスタフラグ生成回路２４において、ロックタイムマスクカウンタ３８に入力されるマスタクロックＣＬＫＭが、ロックタイムマスクカウンタ７８に入力されるスレーブクロックＣＬＫＳとなり、ＦＦ４０から出力されるマスタフラグｓｙｎｃＭが、ＦＦ８０から出力されるスレーブフラグｓｙｎｃＳとなることを除いて、マスタフラグ生成回路２４同じ構成のものである。
【００９２】
つまり、ロックタイムマスクカウンタ（第２マスク回路）７８は、リセットが解除された後、ＰＬＬ回路２８のロックタイムに相当する期間、スレーブクロックＣＬＫＳをマスクするものである。
【００９３】
ＦＦ（スレーブフラグ出力回路）８０は、リセットにより非アクティブ状態のスレーブフラグｓｙｎｃＳを出力し、リセットが解除され、ロックタイムマスクカウンタ７８によりマスクされた後に出力された１サイクル目のスレーブクロックＣＬＫＳに同期してアクティブ状態のスレーブフラグｓｙｎｃＳを出力し、その後、アクティブ状態のスレーブフラグｓｙｎｃＳを出力し続けるものである。
【００９４】
スレーブフラグ生成回路６２により生成されたスレーブフラグｓｙｎｃＳは、マスタフラグ生成回路２４により生成されたマスタフラグｓｙｎｃＭに対して、スレーブクロックＣＬＫＳの１Ｔの範囲内でスキューが生じる場合がある。
【００９５】
続いて、遅延回路４４、保持回路４６およびスキュー算出回路４８は、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングが、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングよりも遅い場合に使用されるものである。
【００９６】
遅延回路４４およびスキュー算出回路４８は、図４に示す遅延回路４４およびスキュー算出回路４８と同じ構成のものである。
保持回路４６は、図４に示すスレーブフラグ生成回路４２により生成されたスレーブフラグｓｙｎｃＳの代わりに、図７に示すスレーブフラグ生成回路６２により生成されたスレーブフラグｓｙｎｃＳが、クロック入力端子ＣＫに入力されることを除いて、図４に示す保持回路４６と同じ構成のものである。
【００９７】
続いて、遅延回路６４、保持回路６６およびスキュー算出回路６８は、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングが、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングよりも遅い場合に使用されるものである。
【００９８】
遅延回路（第２遅延回路）６４は、マスタフラグｓｙｎｃＭの代わりに、図７に示すスレーブフラグ生成回路６２により生成されたスレーブフラグｓｙｎｃＳが入力されることを除いて、図４に示す遅延回路４４と同じ構成のものである。
つまり、遅延回路６４は、４つの遅延素子７４ａ、７４ｂ、７４ｃ、７４ｄにより、スレーブフラグｓｙｎｃＳを各々異なる時間遅延し、４本の遅延スレーブフラグＤＬＹＳ１，ＤＬＹＳ２，ＤＬＹＳ３，ＤＬＹＳ４を出力する。
【００９９】
また、遅延回路６４は、遅延回路４４の場合と同様に、位相調整回路３６が調整するスレーブクロックＣＬＫＳの位相の範囲内の時間で、スレーブフラグｓｙｎｃＳを各々異なる時間遅延することが望ましい。
【０１００】
保持回路（第２保持回路）６６は、クロック入力端子ＣＫに入力されるスレーブフラグｓｙｎｃＳの代わりに、マスタフラグｓｙｎｃＭが入力されることを除いて、図４に示す保持回路４６と同じ構成のものである。
つまり、保持回路６６は、４つのＦＦ７６ａ、７６ｂ、７６ｃ、７６ｄにより、４本の遅延スレーブフラグＤＬＹＳ１，ＤＬＹＳ２，ＤＬＹＳ３，ＤＬＹＳ４の各々を、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングに同期して保持し、４本の遅延スレーブフラグＤＬＹＳ１，ＤＬＹＳ２，ＤＬＹＳ３，ＤＬＹＳ４に各々対応する４本の保持スレーブフラグＯＵＴＳ１，ＯＵＴＳ２，ＯＵＴＳ３，ＯＵＴＳ４を出力する。
【０１０１】
スキュー算出回路（第２スキュー算出回路）６８は、保持マスタフラグＯＵＴＭ１，ＯＵＴＭ２，ＯＵＴＭ３，ＯＵＴＭ４の代わりに、保持スレーブフラグＯＵＴＳ１，ＯＵＴＳ２，ＯＵＴＳ３，ＯＵＴＳ４が入力されることを除いて、図４に示すスキュー算出回路４８と同じ構成のものである。
つまり、スキュー算出回路６８は、表２に示すように、保持回路６６から出力された４本の保持スレーブフラグＯＵＴＳ１，ＯＵＴＳ２，ＯＵＴＳ３，ＯＵＴＳ４の状態に応じて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間のスキューを算出し、スキュー設定値を出力する。
【０１０２】
【表２】
0006401533.tif 000003
【０１０３】
位相判定回路７０は、マスタフラグｓｙｎｃＭおよびスレーブフラグｓｙｎｃＳに基づいて、つまり、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングが、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングよりも早いのか遅いのかに基づいて、マスタクロックＣＬＫＭとスレーブクロックＣＬＫＳとの間の位相関係を判定し、位相判定信号を出力するものである。
位相判定回路７０は、ＦＦ８２によって構成されている。
【０１０４】
ＦＦ８２のデータ入力端子ＤにはマスタフラグｓｙｎｃＭが入力され、クロック入力端子ＣＫにはスレーブフラグｓｙｎｃＳが入力され、リセット入力端子ＲＢにはリセット信号が入力される。ＦＦ８２のデータ出力端子Ｑからは位相判定信号が出力される。
【０１０５】
ＦＦ８２は、リセットにより初期化される。これにより、ＦＦ８２からは、この例の場合、ローレベルの位相判定信号が出力される。
リセットが解除された後、ＦＦ８２には、スレーブフラグｓｙｎｃＳがアクティブ状態であるハイレベルへ遷移するタイミングに同期してマスタフラグｓｙｎｃＭが保持される。
ここで、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングが、マスタフラグｓｙｎｃＭがハイレベルへ遷移するタイミングよりも遅い場合、位相判定信号はハイレベルとなる。一方、マスタフラグｓｙｎｃＭがハイレベルへ遷移するタイミングが、スレーブフラグｓｙｎｃＳがハイレベルへ遷移するタイミングよりも遅い場合、位相判定信号はローレベルとなる。
【０１０６】
切替回路７２は、ＦＦ８２から出力された位相判定信号に基づいて、スレーブクロックＣＬＫＳがマスタクロックＣＬＫＭよりも遅いと判定された場合に、この例では、位相判定信号がハイレベルの場合に、スキュー算出回路４８から出力されたスキュー設定値を出力し、位相判定信号により、マスタクロックＣＬＫＭがスレーブクロックＣＬＫＳよりも遅いと判定された場合に、この例では、位相判定信号がローレベルの場合に、スキュー算出回路６８から出力されたスキュー設定値を出力するように切り替えるものである。
切替回路７２は、マルチプレクサ８４によって構成されている。
【０１０７】
マルチプレクサ８４のデータ入力端子Ａ０，Ａ１には、各々、スキュー算出回路６８，４８から出力されるスキュー設定値が入力され、選択入力端子Ｓには、位相判定回路７０から出力される位相判定信号が入力される。マルチプレクサ８４の出力端子Ｙからは、位相判定信号に応じて、スキュー算出回路６８，４８から出力されるスキュー設定値のうちの一方のスキュー設定値が出力される。
【０１０８】
位相判定信号がハイレベルの場合、マルチプレクサ８４からは、スキュー算出回路４８から出力されたスキュー設定値が出力され、ローレベルの場合、スキュー算出回路６８から出力されたスキュー設定値が出力される。
【０１０９】
つまり、図７に示すスキュー検出回路３４であれば、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングが、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングよりも遅い場合も、逆に、マスタフラグｓｙｎｃＭがアクティブ状態へ遷移するタイミングが、スレーブフラグｓｙｎｃＳがアクティブ状態へ遷移するタイミングよりも遅い場合も、スレーブクロックＣＬＫＳの位相を調整することができる。
【０１１０】
なお、マスタフラグ生成回路２４、スレーブフラグ生成回路４２，６２、遅延回路４４，６４、保持回路４６，６６、スキュー算出回路４８，６８、位相判定回路７０、切替回路７２等の具体的な回路構成は何ら限定されない。
【０１１１】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【符号の説明】
【０１１２】
１０、９０  クロック位相調整回路
１２、９２  マスタチップ
１４、９４  スレーブチップ
１６、２０、３０  分周回路
１８、２８  ＰＬＬ回路
２２、３２  内部回路
２４  マスタフラグ生成回路
３４  スキュー検出回路
３６  位相調整回路
３８、７８  ロックタイムマスクカウンタ
４０、５２、５６ａ、５６ｂ、５６ｃ、５６ｄ、７６ａ、７６ｂ、７６ｃ、７６ｄ、８０、８２  フリップフロップ（ＦＦ）
４２、６２  スレーブフラグ生成回路
４４、６４  遅延回路
４６、６６  保持回路
４８、６８  スキュー検出回路
５０  ＯＲ回路
５４ａ、５４ｂ、５４ｃ、５４ｄ、７４ａ、７４ｂ、７４ｃ、７４  遅延素子
５８、６０  外部接続端子
７０  位相判定回路
７２  切替回路
８４  マルチプレクサ
【図１】
0006401533.tif 000004
【図２】
0006401533.tif 000005
【図３】
0006401533.tif 000006
【図４】
0006401533.tif 000007
【図５】
0006401533.tif 000008
【図６】
0006401533.tif 000009
【図７】
0006401533.tif 000010
【図８】
0006401533.tif 000011