(57)【要約】【課題】電源電圧の異なる複数の論理回路間において、クロック信号のスキューが大きくなっていた。【解決手段】第１の論理回路部１２は電源電圧が制御される。第２の論理回路部１３は外部クロック信号に応じて動作する。調整回路１７は外部クロック信号が供給される第１の遅延回路と、第１の論理回路部１２から出力される第１のクロック信号と第２の論理回路部から出力される第２のクロック信号とのタイミングのずれ量を検出する検出回路を有し、前記検出回路の検出結果に応じて第１の遅延回路の遅延時間を調整し、第１の遅延回路の出力信号を第３のクロック信号として第１の論理回路部に供給する。【選択図】      図１
2006086455.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧が制御される第１の論理回路部と、
外部クロック信号に応じて動作する第２の論理回路部と、
前記外部クロック信号が供給される第１の遅延回路と、前記第１の論理回路部から出力される第１のクロック信号と前記第２の論理回路部から出力される第２のクロック信号とのタイミングのずれ量を検出する検出回路とを有し、前記検出回路の検出結果に応じて前記第１の遅延回路の遅延時間を調整し、前記第１の遅延回路の出力信号を第３のクロック信号として前記第１の論理回路部に供給する調整回路と
を具備することを特徴とする半導体装置。
【請求項２】
前記検出回路は、
前記第１、第２のクロック信号の位相を比較し、比較結果に応じて制御信号を出力する位相比較器を有し、前記位相比較器から出力される前記制御信号に応じて前記第１の遅延回路の遅延時間を調整することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記検出回路は、
前記第２のクロック信号を遅延し第４のクロック信号を出力する第２の遅延回路と、
前記第２の遅延回路から出力される前記第４のクロック信号と前記第１のクロック信号が供給され、第１のクロック信号と前記第４のクロック信号の時間差を測定し、この測定した時間差に対応した制御信号を出力する測定回路とを有し、
前記測定回路から出力される制御信号に応じて前記第１の遅延回路の遅延時間を調整することを特徴とする請求項１記載の半導体装置。
【請求項４】
前記測定回路は、前記第１のクロック信号が供給される第１の入力端に複数の第２の単位遅延素子が直列接続された第１の遅延素子群と、
前記各第２の単位遅延素子の出力端に接続され、前記第２のクロック信号に応じて前記各第２の単位遅延素子の出力信号を保持する複数のラッチ回路と、
前記各ラッチ回路の出力信号が供給され、前記制御信号を生成する論理回路と
を具備することを特徴とする請求項３記載の半導体装置。
【請求項５】
電源電圧が制御され、第１のクロック信号を出力する第１の論理回路部と、
第２のクロック信号を出力する第２の論理回路部と、
前記外部クロック信号が供給される第１の遅延回路と、前記第１の論理回路部から供給される第１のクロック信号と参照クロック信号とのタイミングのずれ量を検出する第１の検出回路とを有し、前記第１の検出回路の検出結果に応じて前記第１の遅延回路の遅延時間を調整し、前記第１の遅延回路の出力信号を第３のクロック信号として前記第１の論理回路部に供給する第１の調整回路と、
前記外部クロック信号が供給される第２の遅延回路と、前記第２の論理回路部から供給される第２のクロック信号と前記参照クロック信号とのタイミングのずれ量を検出する第２の検出回路とを有し、前記第２の検出回路の検出結果に応じて前記第２の遅延回路の遅延時間を調整し、前記第２の遅延回路の出力信号を第４のクロック信号として前記第２の論理回路部に供給する第２の調整回路と
を具備することを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号に同期して動作する複数のシステムモジュールを有する半導体装置に係わり、特に、これらシステムモジュールを駆動するクロック信号のスキューを補正可能な半導体装置に関する。
【背景技術】
【０００２】
従来、システムオンシリコンチップ（ＳｏＣ）は、計算機能の異なる複数のシステムモジュールを含んでいる。これらシステムモジュールはシステムバスを介して接続され、互いにデータを授受可能とされている。さらに、これらシステムモジュールは、互いの発生する割り込み制御信号によって制御される。
【０００３】
例えば音声データを処理する第１のシステムモジュールと画像データを処理する第２のシステムモジュールがある場合、第１、第２のシステムモジュールの演算速度は異なっている。一般に、音声データは画像データに比べてデータ量が少ないため、音声データを処理する第１のシステムモジュールは、画像データを処理する第２のシステムモジュールに比べて高い演算速度を有する必要がない。また、画像データの処理中に音声データを処理する必要のない場合もある。このように、第２のシステムモジュールは常時動作状態である必要があるが、第１のシステムモジュールは待機状態に設定されることがある。このため、第２のシステムモジュールには外部電源電圧ＶＣＣが直接供給され、第１のシステムモジュールには外部電源電圧ＶＣＣよりも低い内部電圧ＶＩＮＴが必要に応じて供給される。
【０００４】
また、第１、第２のシステムモジュールには、共通の外部クロック信号ＣＬＫが供給される。第１、第２のシステムモジュールは、論理回路部を含んでいる。論理回路部は複数のフリップフロップ回路やラッチ回路を含み、これら回路はクロック信号に同期して動作する。複数のフリップフロップ回路やラッチ回路に供給されるクロック信号のタイミングが異なると、すなわちクロック信号にスキューがあると、フリップフロップ回路やラッチ回路のデータが正しく転送されない。このため、論理回路部が誤動作する。
【０００５】
一般に、クロック信号の変化に対するデータの変化のタイミングは、セットアップ及びホールドの時間余裕を付加して設計される。システム全体のクロック信号のスキューが、このセットアップ及びホールドの余裕以上に大きくなると、論理回路が誤動作する原因となる。このため、クロック信号の伝播経路にバッファ回路や遅延素子を挿入し、クロック信号が伝播される配線の配線長や負荷容量が異なっていても、各フリップフロップ回路やラッチ回路にクロック信号が到達する時間が均一になるように設計されている。
【０００６】
しかし、前述したように、音声データを処理する第１のシステムモジュールに供給される内部電圧ＶＩＮＴは、外部電源電圧ＶＣＣより低い電圧とされている。この内部電圧ＶＩＮＴはチップ内に設けられた降圧回路により生成される。このため、降圧回路の動作条件によって内部電圧ＶＩＮＴがばらつく可能性がある。降圧回路の動作条件とは、温度やプロセス条件、あるいは第１のシステムモジュールで消費される電流の値などである。内部電圧ＶＩＮＴが高い場合、第１のシステムモジュール内を伝播するクロック信号の速度が早くなり、内部電圧ＶＩＮＴが低い場合、クロック信号の伝播速度が遅くなる。
【０００７】
一般に、同一の電源電圧で駆動される複数のクロック信号間のスキューに比べて、異なる電源電圧で駆動される複数のクロック信号間のスキューの方が大きい。このため、内部電圧ＶＩＮＴの変動に応じてシステム全体のクロック信号のスキューが大きくなってしまうという問題がある。
【０００８】
尚、関連技術として、集積回路上の複数のゾーンに基準クロックを遅延させるクロックバッファを備え、隣接するゾーンのクロックバッファから出力されるゾーンクロック信号を位相比較器により比較し、この位相比較器から出力される制御信号に応じて特定のゾーンのクロックバッファの遅延を制御する技術がある（例えば特許文献１参照）。
【特許文献１】特開２００１−２７４３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、電源電圧の異なる複数の論理回路部間のクロック信号のスキューを最小とし、論理回路部間のデータの受け渡しに関するセットアップ・ホールド特性の優れた半導体装置を提供する。
【課題を解決するための手段】
【００１０】
本発明の半導体装置の第１の態様は、電源電圧が制御される第１の論理回路部と、外部クロック信号に応じて動作する第２の論理回路部と、前記外部クロック信号が供給される第１の遅延回路と、前記第１の論理回路部から出力される第１のクロック信号と前記第２の論理回路部から出力される第２のクロック信号とのタイミングのずれ量を検出する検出回路とを有し、前記検出回路の検出結果に応じて前記第１の遅延回路の遅延時間を調整し、前記第１の遅延回路の出力信号を第３のクロック信号として前記第１の論理回路部に供給する調整回路とを具備することを特徴とする。
【００１１】
本発明の半導体装置の第２の態様は、電源電圧が制御され、第１のクロック信号を出力する第１の論理回路部と、第２のクロック信号を出力する第２の論理回路部と、前記外部クロック信号が供給される第１の遅延回路と、前記第１の論理回路部から供給される第１のクロック信号と参照クロック信号とのタイミングのずれ量を検出する第１の検出回路とを有し、前記第１の検出回路の検出結果に応じて前記第１の遅延回路の遅延時間を調整し、前記第１の遅延回路の出力信号を第３のクロック信号として前記第１の論理回路部に供給する第１の調整回路と、前記外部クロック信号が供給される第２の遅延回路と、前記第２の論理回路部から供給される第２のクロック信号と前記参照クロック信号とのタイミングのずれ量を検出する第２の検出回路とを有し、前記第２の検出回路の検出結果に応じて前記第２の遅延回路の遅延時間を調整し、前記第２の遅延回路の出力信号を第４のクロック信号として前記第２の論理回路部に供給する第２の調整回路とを具備することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、電源電圧の異なる複数の論理回路間のクロック信号のスキューを最小とし、論理回路間のデータの受け渡しに関するセットアップ・ホールド特性の優れた半導体装置を提供できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１４】
（第１の実施形態）
図１、図２は、本発明の第１の実施形態を示している。図１において、１チップのＳｏＣデバイス１１は、異なる演算機能を有する第１、第２のシステムモジュール１２、１３、システムバス１４、Ｉ／Ｏ回路１５、電源回路１６、及び遅延調整回路１７している。第１のシステムモジュール１２は、例えば音声データを処理する論理回路部であり、図示せぬ複数のフリップフロップ回路やラッチ回路により構成された論理回路を含んでいる。第２のシステムモジュール１３は、例えば画像データを処理する論理回路部であり、図示せぬ複数のフリップフロップ回路やラッチ回路により構成された論理回路を含んでいる。第１のシステムモジュール１２の演算速度は、第２のシステムモジュール１３の演算速度より遅く設定されている。第１、第２のシステムモジュール１２，１３は、システムバス１４により接続され、このシステムバス１４を介して互いにデータの授受が可能とされている。さらに、第１、第２のシステムモジュール１２、１３は、互いの発生する割り込み制御信号によって制御される。
【００１５】
第２のシステムモジュール１３には、外部電源電圧ＶＣＣ、及び外部クロック信号ＣＬＫが直接供給されている。第２のシステムモジュール１３は、この外部電源電圧ＶＣＣ及び外部クロック信号ＣＬＫにより動作される。また、第１のシステムモジュール１２には、電源回路１６より内部電源電圧ＶＩＮＴが供給され、遅延調整回路１７よりクロック信号ＣＬＫＡが供給される。電源回路１６は、例えば降圧回路により構成されている。この電源回路１６は、計算速度制御信号ＳＰに応じて外部電源電圧ＶＣＣを降圧し、内部電源電圧ＶＩＮＴを生成する。
【００１６】
すなわち、第１のシステムモジュール１２の計算能力を比較的高く制御する必要がある場合、電源回路１６は、内部電圧ＶＩＮＴが高くなるように制御される。具体的には、例えば電源電圧ＶＣＣと内部電圧ＶＩＮＴがほぼ等しくなるように制御される。一方、第１のシステムモジュール１２の計算能力が比較的低くてもよい場合、内部電圧ＶＩＮＴが電源電圧ＶＣＣより低くなるように制御される。具体的には、内部電圧ＶＩＮＴが電源電圧ＶＣＣよりも例えば２００ｍＶ以上低い電圧に制御される。
【００１７】
遅延調整回路１７は、第１のシステムモジュール１２から供給されるクロック信号ＣＬＫ１と第２のシステムモジュール１２から供給されるクロック信号ＣＬＫ２のタイミングのずれ量を検出し、この検出結果に応じて、外部クロック信号の遅延時間を調整し、クロック信号ＣＬＫＡを生成する。すなわち、遅延調整回路１７は、第１、第２のシステムモジュール１２、１３から供給されるクロック信号ＣＬＫ１、ＣＬＫ２の位相差、又は時間差を検出し、この検出した位相差、又は時間差に応じて、クロック信号ＣＬＫ１、ＣＬＫ２のスキューが最小となるよう、外部クロック信号ＣＬＫの遅延時間を制御する。
【００１８】
前述したように、電源回路１６から出力される内部電圧ＶＩＮＴが計算速度制御信号ＳＰに応じて変化されると、第１のシステムモジュール１２内において、クロック信号の伝播速度が変化し、第１のシステムモジュール１２にクロック信号ＣＬＫＡが供給されてからクロック信号ＣＬＫ１が出力されるまでの時間が変化する。しかし、このクロック信号ＣＬＫ１の変化に応じて、遅延調節回路１７の遅延時間が調節され、クロック信号ＣＬＫ１とＣＬＫ２の位相が常に等しくなるように制御される。
【００１９】
図２は、遅延調整回路１７の一例を示している。遅延調整回路１７は、例えば位相比較器２１と遅延回路２２とにより構成されている。位相比較器２１は、クロック信号ＣＬＫ１とＣＬＫ２の位相を比較する。比較の結果、クロック信号ＣＬＫ１の位相がクロック信号ＣＬＫ２に比べて進んでいる場合、位相比較器２１は、遅延回路２２の遅延時間を長くする制御信号を出力する。このため、遅延回路２２は外部クロック信号ＣＬＫに対して遅延時間が長いクロック信号ＣＬＫＡを出力する。これによりクロック信号ＣＬＫ１の位相が遅れるため、クロック信号ＣＬＫ１とＣＬＫ２の位相が合うようになる。
【００２０】
一方、位相比較器２１の比較の結果、クロック信号ＣＬＫ１の位相がクロック信号ＣＬＫ２に比べて遅れている場合、位相比較器２１は、遅延回路２２の遅延時間を短くする制御信号を出力する。このため、遅延回路２２は外部クロック信号ＣＬＫに対して遅延時間が短いクロック信号ＣＬＫＡを出力する。これによりクロック信号ＣＬＫ１の位相が早まり、クロック信号ＣＬＫ１とＣＬＫ２の位相が合うようになる。
【００２１】
第１の実施形態によれば、位相比較器２１により第１のシステムモジュール１２から出力されるクロック信号ＣＬＫ１と第２のシステムモジュール１３から出力されるクロック信号ＣＬＫ２の位相差を検出し、遅延回路２２により、この検出した位相差に応じて外部クロック信号ＣＬＫの位相を制御してクロック信号ＣＬＫＡを出力している。このため、第１のシステムモジュール１２の動作状態や駆動電圧が変化した場合においても、第１のシステムモジュール１２と第２のシステムモジュール１３のクロック信号のスキューを最小とすることができる。したがって、第１、第２のシステムモジュール１２、１３間のデータの受け渡しのセットアップ・ホールド特性を改善することができる。
【００２２】
しかも、遅延調整回路１７は、クロック信号の１サイクル乃至２サイクル後に遅延値を最適化するため、クロック信号のスキューを高速に改善できる。
【００２３】
（第２の実施形態）
図３は、本発明の第２の実施形態を示すものであり、第１の実施形態における遅延調整回路１７の他の例を示している。
【００２４】
図３に示す遅延調整回路１７は、遅延回路３１、３２と時間差測定回路３３とにより構成されている。遅延回路３１は、時間差測定回路３３から供給される遅延時間選択信号（ＤＴＳＳ）に応じて第２のシステムモジュール１３から出力されるクロック信号ＣＬＫ２を遅延し、クロック信号ＣＬＫＸを出力する。時間差測定回路３３は、遅延回路３１から出力されるクロック信号ＣＬＫＸと第１のシステムモジュール１２から出力されるクロック信号ＣＬＫ１との時間差を測定し、ＤＴＳＳを出力する。遅延回路３２は、時間差測定回路３３から供給されるＤＴＳＳに応じて外部クロック信号ＣＬＫを遅延し、クロック信号ＣＬＫＡを出力する。
【００２５】
図４は、図３に示す遅延調整回路１７の動作原理を示している。遅延回路３２から出力されるクロック信号ＣＬＫＡは外部クロック信号ＣＬＫより時間ｔＡだけ遅延される。このクロック信号ＣＬＫＡは第１のシステムモジュール１２に供給される。クロック信号ＣＬＫＡは、第１のシステムモジュール１２内のフリップフロップ回路やラッチ回路を伝播され、遅延される。第１のシステムモジュール１２から出力されるクロック信号ＣＬＫ１は、第１のシステムモジュール１２によりクロック信号ＣＬＫＡより時間ｔ１だけ遅延される。このため、クロック信号ＣＬＫ１のクロック信号ＣＬＫに対する遅延時間ｔＹは、
ｔＹ＝ｔＡ＋ｔ１
となる。
【００２６】
一方、第２のシステムモジュール１３には外部クロック信号ＣＬＫが直接入力される。この外部クロック信号は第２のシステムモジュール１３により時間ｔ２だけ遅延され、クロック信号ＣＬＫ２として出力される。第２の実施形態において、クロック信号ＣＬＫ２は遅延回路３１に供給される。クロック信号ＣＬＫ２は遅延回路３１により遅延回路３２と同一の時間ｔＡだけ遅延され、クロック信号ＣＬＫＸとして出力される。クロック信号ＣＬＫに対するクロック信号ＣＬＫＸの遅延時間ｔＸは、
ｔＸ＝ｔ２＋ｔＡ
である。
【００２７】
時間差測定回路３３は、クロック信号ＣＬＫ１からクロック信号ＣＬＫＸまでの時間差を測定する。時間差測定回路３３により測定される時間ｔＸ−ｔＹは、
ｔＸ−ｔＹ＝（ｔ２＋ｔＡ）−（ｔＡ＋ｔ１）＝ｔ２−ｔ１
となる。すなわち、サイクル内で使用された時間ｔＡの値に係わらず、クロック信号ＣＬＫ１とＣＬＫ２の位相が一致したときの遅延回路の遅延時間の理想値ｔ２−ｔ１が測定されることになる。したがって、次サイクルにおいて、この測定時間ｔＡ’を外部クロック信号ＣＬＫの遅延時間ｔＡとして用いることにより、クロック信号ＣＬＫ１とＣＬＫ２のスキューを最小にすることができる。
【００２８】
図５は、遅延回路３１、３２の一例を示している。遅延回路３１、３２は、入力端と出力端の間に並列接続された複数の単位遅延素子５１により構成されている。各単位遅延素子５１は、ＮＡＮＤ回路Ａ１〜Ａｉ、Ａｉ＋１と、インバータ回路Ｂ１〜Ｂｉ、Ｂｉ＋１，及びＮＡＮＤ回路Ｃ１〜Ｃｉ、Ｃｉ＋１によって構成されている。１つの単位遅延素子５１において、ＮＡＮＤ回路Ｃｉの一方入力端はインバータ回路５１、５２を介して入力端に接続され、他方入力端には遅延時間選択信号ＤＴＳＳが供給される。このＮＡＮＤ回路Ｃｉの出力端は、ＮＡＮＤ回路Ａｉの一方入力端に接続される。このＮＡＮＤ回路Ａｉの他方入力端は、隣接する後段の単位遅延素子を構成するインバータ回路Ｂｉ＋１の出力端が接続されている。このＮＡＮＤ回路Ａｉの出力端は、インバータ回路Ｂｉを介して隣接する前段の単位遅延素子を構成するＮＡＮＤ回路の他方入力端に接続されている。出力端に隣接する単位遅延素子のインバータ回路Ｂ１はインバータ回路５４を介して出力端に接続されている。
【００２９】
上記構成の遅延回路３１、３２は、時間差測定回路３３から供給される遅延時間選択信号ＤＴＳＳにより単位遅延素子５１の並列接続段数が制御される。これにより、遅延時間が設定される。図５に示すように、各単位遅延素子５１のＮＡＮＤ回路Ｃ１，Ｃ２、Ｃｉ−１，Ｃｉ，Ｃｉ＋１に供給される遅延時間選択信号ＤＴＳＳの論理レベルが“ＬＬＨＬＬ”である場合、ｉ−１番目の単位遅延素子が選択される。このため、入力クロック信号はＮＡＮＤ回路Ｃｉ−１を通過し、ＮＡＮＤ回路Ａｉ−１、インバータ回路Ｂｉ−１を伝播し、さらに次の段のＮＡＮＤ回路Ａ２、インバータ回路Ｂ２、ＮＡＮＤ回路Ａ１、インバータ回路Ｂ１を次々と伝播する。このように、クロック信号が通過する単位遅延素子の数が多ければ遅延時間が長くなり、少なければ遅延時間は短くなる。
【００３０】
尚、ＮＡＮＤ回路Ａｉとインバータ回路Ｂｉの間にバッファを挿入することによって１段あたりの単位遅延時間を長くすることもできる。１段あたりの単位遅延時間の目安は、システムのスキュー精度の半分以下である。すなわち、例えばシステム全体のスキュー精度を１ナノ秒以下にする場合には、単位遅延時間を５００ピコ秒以下とすべきである。なぜならば、遅延回路によるクロック信号ＣＬＫからクロック信号ＣＬＫＡへの遅延時間を調整することによってクロック信号ＣＬＫ１とＣＬＫ２のスキューを低減するのであるから、単位遅延時間すなわち遅延回路の精度がシステムのスキュー精度に対して半分以下でなければ、システム全体のスキューを低減できないためである。
【００３１】
図６は、時間差測定回路３３の一例を示している。時間差測定回路３３は、第１、第２の入力端ＩＮ１、ＩＮ２を有しており、第１の入力端ＩＮ１に“Ｈ”レベルのパルス信号が入力されてから第２の入力端ＩＮ２に“Ｈ”レベルになるまでの時間を測定する。このため、第１の入力端ＩＮ１には、複数の単位遅延素子６１がインバータ回路６１，６２を介して直列接続されている。各単位遅延素子６１の構成は図５に示す単位遅延素子５１と同様であり、ＮＡＮＤ回路Ｆｉの入力信号のみが相違する。すなわち、各単位遅延素子６１は、ＮＡＮＤ回路Ｆｉ、Ｄｉ及びインバータ回路Ｅｉにより構成されている。ＮＡＮＤ回路Ｆｉの一方入力端は、インバータ回路６３の出力端に接続されている。ＮＡＮＤ回路Ｆｉの出力端はＮＡＮＤ回路Ｄｉの一方入力端に接続されている。ＮＡＮＤ回路Ｄｉの他方入力端は、隣接する前段の単位遅延素子のインバータ回路の出力端に接続されている。このＮＡＮＤ回路Ｄｉの出力端は、インバータ回路Ｅｉを介して隣接する後段の単位遅延素子のＮＡＮＤ回路Ｄｉ＋１の入力端に接続されている。
【００３２】
初段の単位遅延素子を構成するＮＡＮＤ回路Ｆ１の他方入力端に供給される電位は、“Ｈ”レベル（電源電圧ＶＣＣ）とされ、その他のＮＡＮＤ回路Ｆ２、Ｆｉ、Ｆｉ＋１の他方入力端に供給される電位は、“Ｌ”レベル（接地電位ＧＮＤ）とされている。このため、第１の入力端ＩＮ１に“Ｈ”レベルのクロック信号が供給されると、インバータ回路６２、６３を介して初段の単位遅延素子のＮＡＮＤ回路Ｆ１の出力が“Ｌ”となる。次いで、ＮＡＮＤ回路Ｄ１及びインバータ回路Ｅ１により設定された遅延時間を経過後、インバータ回路Ｅ１の出力信号が“Ｌ”レベルとなる。さらに、次段の単位遅延素子を構成するＮＡＮＤ回路Ｄ２、インバータ回路Ｅ２をパルス信号が順次通過する。このように単位遅延素子を構成するインバータＥｉの出力信号は、時間が経過するに従って次々と“Ｌ”レベルになっていく。
【００３３】
一方、各単位遅延素子を構成するインバータ回路Ｅｉの出力端は、対応するラッチ回路Ｌｉの入力端Ｄに接続されている。各ラッチ回路Ｌｉの入力端ＧＮは、インバータ回路６４、６５を介して第２の入力端ＩＮ２に接続されている。さらに、各ラッチ回路Ｌｉの出力端Ｑは、対応するＮＯＲ回路Ｇｉの一方入力端に接続されている。このＮＯＲ回路Ｇｉの他方入力端はインバータ回路Ｈｉを介して後段のラッチ回路Ｌｉ＋１の出力端Ｑに接続されている。ラッチ回路Ｌｉは入力端ＧＮが“Ｌ”レベルから“Ｈ”レベルに変化したときの入力端Ｄの値を出力端Ｑに出力して保持する。
【００３４】
上記構成において、第２の入力端ＩＮ２に“Ｈ”レベルのクロック信号が入力されると、インバータＥｉの出力の状態が対応するラッチ回路Ｌｉにラッチされる。すなわち、例えばｉ番目の単位遅延素子までパルス信号が通過した状態において、第２の入力端ＩＮ２が“Ｈ”レベルになると、インバータ回路Ｅ１〜Ｅｉ−１の出力信号が“Ｌ”レベル、インバータ回路Ｅｉ以降の出力信号が“Ｈ”ハイレベルとなる。このため、ラッチ回路Ｌ１〜Ｌｉ−１の出力信号は“Ｌ”レベル、ラッチ回路Ｌｉ以降の出力信号は“Ｈ”レベルとなる。したがって、ラッチ回路Ｌｉの出力端Ｑに接続されたＮＯＲ回路Ｇｉとインバータ回路Ｈｉによって、ｉ番目の遅延時間選択信号（ＤＴＳＳ）のみが“Ｈ”レベルになり、他のＤＴＳＳは“Ｌ”レベルとなる。
【００３５】
上記第２の実施形態によれば、時間差測定回路３３により第１、第２のシステムモジュール１２、１３から出力されるクロック信号ＣＬＫ１、ＣＬＫ２の時間差を測定し、この測定した時間差に応じて、遅延回路３２により外部クロック信号ＣＬＫを遅延させて第１のシステムモジュール１２を駆動するためのクロック信号ＣＬＫＡを生成している。このため、第１のシステムモジュール１２の動作状態や駆動電圧が変化した場合においても、第１のシステムモジュール１２と第２のシステムモジュール１３のクロック信号のスキューを最小とすることができ、第１、第２のシステムモジュール１２、１３間のデータの受け渡しのセットアップ・ホールド特性を改善することができる。
【００３６】
しかも、遅延調整回路１７は、クロック信号の１サイクル後に遅延値を最適化するため、クロック信号のスキューを高速に改善できる。
【００３７】
図７は、第２の実施形態における遅延回路の変形例を示すものであり、図５と同一部分には同一符号を付し、異なる部分についてのみ説明する。遅延回路３１、３２を構成する単位遅延素子と、時間差測定回路３３を構成する単位遅延素子は、同一の遅延時間を有することが望ましい。しかし、時間差測定回路３３を構成する単位遅延素子の出力端には、ラッチ回路がそれぞれ接続されている。このラッチ回路の容量負荷により、時間差測定回路３３を構成する単位遅延素子の遅延時間と遅延回路３１、３２を構成する単位遅延素子の遅延時間が異なってしまう。
【００３８】
そこで、図７に示すように、遅延回路３１、３２を構成する各単位遅延素子の出力端に
ラッチ回路と同等の容量負荷を接続する。すなわち、各単位遅延素子を構成するインバータ回路Ｂ１〜Ｂｉ＋１の出力端に、インバータ回路Ｘ１〜Ｘｉ＋１の入力端を接続する。これらインバータ回路Ｘ１〜Ｘｉ＋１の出力端は開放されている。
【００３９】
図７に示す構成によれば、遅延回路３１，３２と時間差測定回路３３の単位遅延素子の遅延時間を一致させることができる。このため、クロック信号ＣＬＫ１とＣＬＫ２のスキューを一層低減することができる。
【００４０】
さらに、別の変形例として、図６の時間差測定回路３３において、インバータ回路Ｅｉの出力端とラッチ回路Ｌｉの入力端との間に新たに図７におけるＸｉと同様のインバータ回路を挿入し、時間差測定回路３３と遅延回路３１、３２における各単位遅延素子に全く同じ容量負荷を接続するなどの応用も可能である。
【００４１】
尚、第２の実施形態は、単位遅延素子と同数のラッチ回路を用いて単位遅延素子の出力信号を保持しているが、さらにフリップフロップ回路を組み合わせて単位遅延素子の出力信号を複数サイクルの間保持して平均を取るなどの応用も考えることができる。
【００４２】
また、１つのサイクルで取得した時間差測定回路３３の結果を次サイクルの遅延時間に用いるのではなく、例えば２サイクル後に用いてもよい。
【００４３】
このような変形例を用いることにより、一層高精度にクロック信号ＣＬＫ１、ＣＬＫ２の時間差を測定することができる。
【００４４】
（第３の実施形態）
図８は、本発明の第３の実施形態を示ものである。第１、第２の実施形態において、遅延調整回路１７は、第１、第２のシステムモジュール１２、１３から供給されるクロック信号ＣＬＫ１、ＣＬＫ２を比較した。また、第１、第２の実施形態は、第１のシステムモジュール１２のクロック信号のみを制御した。これに対して、第３の実施形態は、チップ内において、参照クロック信号としての基準クロック信号を発生し、この基準クロック信号に対するクロック信号ＣＬＫ１、ＣＬＫ２の位相差又は時間差を検出し、この検出した位相差又は時間差に従って、第１、第２のシステムモジュール１２、１３に供給されるクロック信号を制御している。
【００４５】
すなわち、図８において、ＳｏＣデバイス１１内には、基準クロック発生回路８１が設けられている。この基準クロック発生回路８１は、外部クロック信号ＣＬＫより基準クロック信号ＣＬＫＳを発生する。この基準クロック信号ＣＬＫＳは、複数のシステムモジュールにおいてクロック信号の伝播にかかる時間を標準化したクロック信号であり、例えば複数のシステムモジュールにおけるクロック信号の平均遅延時間を有するクロック信号である。また、第１、第２のシステムモジュール１２、１３に対応して、第１、第２の遅延調整回路１７−１、１７−２が設けられている。第１、第２の遅延調整回路１７−１、１７−２は、図９、図１０に示すように、図２に示す構成、又は図３に示す構成の何れでもよい。
【００４６】
図９に示す第１の遅延調整回路１７−１の場合、位相比較器２１は第１のシステムモジュール１２から供給されるクロック信号ＣＬＫ１と、基準クロック発生回路８１から供給される基準クロック信号ＣＬＫＳの位相を比較する。遅延回路２２は、位相比較器２１の比較結果に応じて外部クロック信号ＣＬＫを遅延し、第１のシステムモジュール１２を駆動するためのクロック信号ＣＬＫＡを発生する。
【００４７】
また、第２の遅延調整回路１７−２の場合、位相比較器２１は第２のシステムモジュール１３から供給されるクロック信号ＣＬＫ２と、基準クロック発生回路８１から供給される基準クロック信号ＣＬＫＳを比較する。遅延回路２２は、位相比較器２１の比較結果に応じて外部クロック信号ＣＬＫを遅延し、第２のシステムモジュール１３を駆動するためのクロック信号ＣＬＫＢを発生する。
【００４８】
一方、図１０に示す第１の遅延調整回路１７−１の場合、遅延回路３１は時間差測定回路３３の制御に応じて基準クロック発生回路８１から供給される基準クロック信号ＣＬＫＳを遅延する。時間測定回路３３は、遅延回路３１から供給されるクロック信号ＣＬＫＸと、第１のシステムモジュール１２から供給されるクロック信号ＣＬＫ１の時間差を測定する。遅延回路３２は時間測定回路３３の測定結果に応じて外部クロック信号ＣＬＫを遅延し、第１のシステムモジュール１２を駆動するためのクロック信号ＣＬＫＡを発生する。
【００４９】
また、第２の遅延調整回路１７−２の場合、遅延回路３１は時間差測定回路３３の制御に応じて基準クロック発生回路８１から供給される基準クロック信号ＣＬＫＳを遅延する。時間測定回路３３は、遅延回路３１から供給されるクロック信号ＣＬＫＸと、第２のシステムモジュール１３から供給されるクロック信号ＣＬＫ２の時間差を測定する。遅延回路３２は時間測定回路３３の測定結果に応じて外部クロック信号ＣＬＫを遅延し、第２のシステムモジュール１３を駆動するためのクロック信号ＣＬＫＢを発生する。
【００５０】
上記第３の実施形態によれば、第１の遅延調整回路１７−１は、第１のシステムモジュール１２から供給されるクロック信号ＣＬＫ１と基準クロック信号ＣＬＫＳとの位相差の比較又は時間差を測定し、この結果に応じて第１のシステムモジュール１２を駆動するクロック信号ＣＬＫＡを出力している。このため、クロック信号ＣＬＫ１とＣＬＫＳのスキューを最小化できる。また、第２の遅延調整回路１７−２は、第２のシステムモジュール１３は、第２のシステムモジュール１３から供給されるクロック信号ＣＬＫ２と基準クロック信号ＣＬＫＳとの位相差の比較又は時間差を測定し、この結果に応じて第２のシステムモジュール１３を駆動するクロック信号ＣＬＫＢを出力している。このため、クロック信号ＣＬＫ２とＣＬＫＳのスキューを最小化できる。このように、クロック信号ＣＬＫ１及びＣＬＫ２は、それぞれが基準クロック信号ＣＬＫＳに対してスキューが最小化されているため、クロック信号ＣＬＫ１とＣＬＫ２同士のスキューを最小化できる。したがって、第１のシステムモジュール１２の動作状態や駆動電圧が変化した場合においても、システム全体のクロック信号のスキューを最小に保持することができ、第１、第２のシステムモジュール１２、１３に含まれるフリップフロップ回路やラッチ回路の動作マージンを確保できる。
【００５１】
第３の実施形態は、２つのシステムモジュール間のクロック信号のスキューを調整したが、これに限らず、同様にして３つ以上のシステムモジュールのクロック信号のスキューを調整することも可能である。
【００５２】
また、第１のシステムモジュール１２の動作電圧のみが電源回路１６によって調整されているが、電源回路１６によって動作電圧が調整されるモジュールが複数あってもよい。さらに、電源回路１６によって生成される動作電圧がシステムの動作状態によって変化してもよい。
【００５３】
ただし、遅延調整回路１７−１、１７−２は、１サイクル後に遅延値を最適化するため、動作電圧が急激に変化してシステムモジュール内のクロック信号の伝播時間が１サイクルごとに大きく変化することは好ましくない。このため、好ましくは、システムのスキュー精度が例えば１ナノ秒である場合、クロック信号の伝播時間が１サイクル当り５００ピコ秒以上変化しないように電圧を変化させるようにするとよい。また、システムのスキュー精度が２００ピコ秒の場合、クロック信号の伝播時間の１サイクル当りの変化が１００ピコ秒以下であることが望ましい。
【００５４】
（第４の実施形態）
図１１は、第３の実施形態の変形した発明の第４の実施形態を示している。第３の実施形態は、ＳｏＣデバイス１１内に基準クロック発生回路８１を有し、第１、第２の遅延調整回路１７−１、１７−２は、基準クロック発生回路８１から供給される基準クロック信号ＣＬＫＳと第１、第２のシステムモジュール１２、１３から供給されるクロック信号ＣＬＫ１、ＣＬＫ２との位相差や時間差に基づき、外部クロック信号ＣＬＫの遅延時間を調整していた。
【００５５】
これに対して、第４の実施形態は、基準クロック信号発生回路が省略されており、１、第２の遅延調整回路１７−１、１７−２は、参照クロック信号としての外部クロック信号ＣＬＫと第１、第２のシステムモジュール１２、１３から供給されるクロック信号ＣＬＫ１、ＣＬＫ２との位相差や時間差に基づき、外部クロック信号ＣＬＫの遅延時間を調整している。
【００５６】
第４の実施形態によっても、第３の実施形態と同様の効果を得ることができる。
【００５７】
その他、本発明は、上記各実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形可能なことは勿論である。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施形態を示す構成図。
【図２】図１の遅延調整回路の一例を示す構成図。
【図３】本発明の第２の実施形態に係り、図１の遅延調整回路の他の例を示す構成図。
【図４】図３に示す遅延調整回路の動作を示すタイミング図。
【図５】図３に示す遅延回路の一例を示す回路図。
【図６】図３に示す時間差測定回路の一例を示す回路図。
【図７】図３に示す遅延回路の他の例を示す回路図。
【図８】本発明の第３の実施形態を示す構成図。
【図９】第３の実施形態に適用される遅延調整回路の一例を示す構成図。
【図１０】第３の実施形態に適用される遅延調整回路の他の例を示す構成図。
【図１１】本発明の第４の実施形態を示す構成図。
【符号の説明】
【００５９】
１１…ＳｏＣデバイス、１２、１３…第１、第２のシステムモジュール、１６…電源回路、１７…遅延調整回路、１７−１、１７−２…第１、第２の遅延調整回路、２１…位相比較器、２２、３１、３２…遅延回路、３３…時間差測定回路、５１、６１…単位遅延素子、Ｌ１〜Ｌｉ＋１…ラッチ回路、Ｘ１〜Ｘｉ＋１…容量負荷。
【図１】
2006086455.tif 000003
【図２】
2006086455.tif 000004
【図３】
2006086455.tif 000005
【図４】
2006086455.tif 000006
【図５】
2006086455.tif 000007
【図６】
2006086455.tif 000008
【図７】
2006086455.tif 000009
【図８】
2006086455.tif 000010
【図９】
2006086455.tif 000011
【図１０】
2006086455.tif 000012
【図１１】
2006086455.tif 000013