(57)【特許請求の範囲】
【請求項１】
複数の回路ブロックと、
それぞれ発振ノードをもち分散配置された複数の発振器と、
導電性配線とを有し、
上記分散配置された複数の発振器の発振ノードは、隣接する上記発振ノード間に距離をもって上記導電性配線と接続されて、上記発振ノードは上記導電性配線から信号を入出力可能とされ、
上記複数の発振器の各々は、上記複数の回路ブロックの各々に発振信号を供給する半導体集積回路装置。
【請求項２】
請求項１において、
上記発振器は複数のインバータを含むリング発振器であり、
上記複数のインバータのうちの一つのインバータの出力が、上記導電性配線と上記複数のインバータのうちの他のインバータの入力とに接続されている半導体集積回路装置。
【請求項３】
請求項１において、
上記導電性配線がリング状に形成されている半導体集積回路装置。
【請求項４】
請求項１において、
上記導電性配線はメッシュ状に形成され、上記発振ノードは上記メッシュ状に形成された導電性配線の交点に接続された半導体集積回路装置。
【請求項５】
請求項１において、
上記隣接する発振ノード間は等しい距離とされている半導体集積回路装置。
【請求項６】
請求項２において、
上記隣接する上記発振ノード間の距離と上記インバータの負荷駆動能力は、上記複数の発振器が上記発振ノードで同一の位相／周波数で発振するように定められる半導体集積回路装置。
【請求項７】
それぞれクロック分配ネットワークを有する複数の回路ブロックと、
上記クロック分配ネットワークのうち一つのクロック分配ネットワークのクロック信号を分周する分周器と、
上記分周器により分周されたクロック信号と基準クロック信号とを比較し、誤差信号を出力する位相周波数比較器と、
それぞれ発振ノードをもち、上記誤差信号に応じて発振信号を出力する、分散配置された複数の電圧制御発振器と、
導電性配線とを有し、
上記分散配置された複数の電圧制御発振器の発振ノードは、隣接する上記発振ノード間に距離をもって上記導電性配線と接続されて、上記発振ノードは上記導電性配線から信号を入出力可能とされ、
上記複数の電圧制御発振器の各々は、上記複数の回路ブロックの上記クロック分配ネットワークの各々に発振信号を供給する半導体集積回路装置。
【請求項８】
請求項７において、
上記電圧制御発振器は、上記誤差信号に応じてその遅延が可変とされる複数のインバータを含み、
上記複数のインバータのうちの一つのインバータの出力が、上記導電性配線と上記複数のインバータのうちの他のインバータの入力とに接続されている半導体集積回路装置。
【請求項９】
請求項７において、
上記導電性配線がリング状に形成されている半導体集積回路装置。
【請求項１０】
請求項７において、
上記導電性配線はメッシュ状に形成され、上記発振ノードは上記メッシュ状に形成された導電性配線の交点に接続された半導体集積回路装置。
【請求項１１】
請求項７において、
上記隣接する発振ノード間は等しい距離とされている半導体集積回路装置。
【請求項１２】
請求項８において、
上記隣接する上記発振ノード間の距離と上記インバータの負荷駆動能力は、上記複数の発振器が上記発振ノードで同一の位相／周波数で発振するように定められる半導体集積回路装置。
【請求項１３】
チップに分散配置された複数の発振器と、
複数の回路ブロックとを有し、
上記複数の発振器の固有発振周波数はほぼ同じであり、
上記複数の発振器の一つの発振器は、導電性配線により上記複数の発振器の他
の発振器に接続されることにより、上記複数の発振器は同期して発振し、
上記分散配置された複数の発振器の各々は、上記複数の回路ブロックの各々に
発振信号をクロックとして供給する半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は発振回路、およびそれを用いた低ジッタ・低スキューなクロック分配系を備えた半導体集積回路装置に関する。
【０００２】
【従来の技術】
従来のＰＬＬ（Ｐｈａｓｅ  ｌｏｃｋｅｄ  ｌｏｏｐ）を使用したクロック生成方法は、たとえばアイ・イー・イー・イー、ジャーナル・オブ・ソリッド・ステート・サーキット、第１５９９頁から第１６０７頁、１９９２年１１月号（ＩＥＥＥ  ＪＯＵＲＮＡＬ  ＯＦ  ＳＯＬＩＤ−ＳＴＡＴＥ  ＣＩＲＣＵＩＴＳ、ＶＯＬ  ２７、ＮＯ  １１、  Ｎｏｖｅｍｂｅｒ  １９９２）に記載されている（以下、従来技術Ａと記す）。
【０００３】
図２は従来のＰＬＬを用いたクロック生成部の構成を示している。ｆｅｘｔは外部から入力される基準クロック信号である。ＰＦＤは位相周波数比較器で、ＣＰはチャージポンプ、ＬＰＦはローパスフィルタ、ＶＣＯ０は電圧制御発振器、ＤＩＶＮは１／Ｎ分周器、ＤＩＶ２は１／２分周器、Ｎ０はクロック分配ネットワークを示している。それぞれの詳細回路は省略する。
【０００４】
基準クロックｆｅｘｔおよび内部クロックｆｉｎｔの位相と周波数差が、位相周波数比較器ＰＦＤで比較されて誤差信号ＵＰ、ＤＮが出力される。この誤差信号がチャージポンプＣＰによってアナログ信号に変換され、ローパスフィルタＬＰＦによって誤差信号の高周波成分が除去された後に電圧制御発振器ＶＣＯ０に発振周波数制御信号ＶＣとして入力される。電圧制御発振器ＶＣＯ０の発振出力は、分周器ＤＩＶ２によって半分の周波数でデューティ比が５０％の発振出力ｆｉｎｔ０に分周され、クロック分配ネットワークＮ０に入力される。
【０００５】
クロック分配系からのリターン信号ｆｉｎｔは１／Ｎ分周器で分周された後、位相周波数比較器ＰＦＤ０に入力される。この位相同期ループＰＬＬ０によって基準クロックｆｅｘｔと内部クロックｆｉｎｔの位相が同期し、ｆｉｎｔの周波数はｆｅｘｔのＮ倍になる。
【０００６】
【発明が解決しようとする課題】
内部クロックｆｉｎｔの周波数は年々高くなっており、さらにチップ面積の増加にともなってクロック分配ネットワークＮ０の面積が大きくなってきている。高速かつ広範囲にクロックを安定して供給するためには、前記した従来技術では以下のような問題が生じてくる。
【０００７】
（１）  クロック分配ネットワークの遅延時間、すなわちｆｉｎｔ０とｆｉｎｔの遅延が、１／ｆｉｎｔと比較して相対的に大きくなる。これによってクロック分配ネットワークのスキューがクロック分配ネットワークとＰＬＬ０を合わせたクロック分配系全体の性能を律速してしまう。また、チップ内のクロック供給範囲を多数に分割してそれぞれのクロック供給範囲に独立したＰＬＬを設けるという方法もあるが、この方法の場合、以下のような問題がある。
【０００８】
（２）  一般にＰＬＬは電源ノイズや基板ノイズなどのノイズに対して弱く、ノイズによってｆｉｎｔ０の発振周波数および位相がゆらぐ（ジッタ）が増加する。チップ内に多数のＰＬＬを設けるということはそれぞれのＰＬＬについてノイズを低減するような配慮をする必要が生じる。
【０００９】
（３）  多数のＰＬＬの全面積がチップ全体の面積に影響を与える。課題（２）を配慮することで、各々のＰＬＬの面積はさらに増加する。
【００１０】
（４）  独立したクロック供給範囲間でのクロックスキューは、それぞれのクロック供給範囲内のスキューをＴｓｋｅｗＬ、ＰＬＬのジッタをＴｊｉｔｔｅｒ、各ＰＬＬまでの基準クロックのスキューをＴｓｋｅｗＧとすると、ＴｓｋｅｗＧ＋２＊ＴｓｋｅｗＬ＋２＊Ｔｊｉｔｔｅｒとなり、非常に大きくなる。
【００１１】
（５）  ＰＬＬを多数設けるために消費電力が増加する。
【００１２】
【課題を解決するための手段】
（１）  複数のインバータが多段にリング状に接続された少なくとも二つのリング発振回路と、導電性配線からなる発振回路において、各リング発振回路中の一つの少なくとも一つのインバータの出力を導電性配線に接続する。
【００１３】
（２）  複数のインバータが多段に接続された少なくとも二つのディレイラインと、導電性配線からなるデレイライン回路において、各ディレイライン中の一つの少なくとも一つのインバータの出力を該導電性配線に接続する。
【００１４】
（３）  導電性配線をリング状あるいはメッシュ状に形成してもよい。
【００１５】
（４）  さらに、リング発振器／ディレイラインが導電性配線に等間隔に接続してもよい。
【００１６】
（５）  また、リング発振器／ディレイラインが導電性配線に接続されている間隔の少なくとも一つが５０μｍ以上にしてもよい。
【００１７】
（６）  以上のようにして、リング発振器／ディレイラインを同一の周波数で発振させる。
【００１８】
（７）  以上（１）−（６）の手段によって得られた発振回路／ディレイラインの導電性配線にクロック分配系を接続し、電圧制御発振回路構成にする。
【００１９】
（８）  （７）の手段で得られた電圧制御発振回路と位相周波数比較器とチャージポンプ回路とローパスフィルタを用いてＰＬＬあるいはＤＬＬを構成する。
【００２０】
（９）  （８）の手段で得られたＰＬＬあるいはＤＬＬを用いて半導体集積回路中の論理回路やメモリ回路にクロックを供給する。
【００２１】
【発明の実施の形態】
以下、図を参照して本発明の具体的な実施例を説明する。
【００２２】
図１は本発明の発振器の最も簡単な実施例を示す概念図である。ＯＳＣ１〜ＯＳＣｎはリング発振器で、それぞれのリング発振器はインバータ１１０〜１１ｍ、１２０〜１２ｍ、１ｎ０〜１ｎｍによって構成されている。リング発振器の発振ノードの一つはノード１０１〜１０ｎにそれぞれ接続されており、ノード１０１〜１０ｎの隣会うノード同士がリング状に接続されている。ここで、隣会うノード間の距離（例えばノード１０１とノード１０２の距離）は全て等しい距離ｌである。インバータ１１０〜１１ｍ、１２０〜１２ｍ、１ｎ０〜１ｎｍは特に限定しないが、ＣＭＯＳインバータでも良い。簡単のため以下図１の説明にはＣＭＯＳインバータを用いることとする。
【００２３】
それぞれのリング発振器ＯＳＣ１〜ＯＳＣｎの発振ノード同士が接続されているために、リング発振器ＯＳＣ１からＯＳＣｎは同一位相／周波数で発振する。
【００２４】
図３（Ａ）にリング発振器の数が４つの場合の回路シミュレーション波形を示す。横軸は時間、縦軸が各ノードの電圧を表し、図中でＶ（ｘ）はノードｘの電位を表す。シミュレーションで使用したトランジスタはゲート長Ｌｇが０。２５μｍのＣＭＯＳで、インバータ１１０〜１１ｍ、１２０〜１２ｍ、１ｎ０〜１ｎｍは全て同一インバータ（ＰＭＯＳのゲート幅Ｗｐが１０μｍ、ＮＭＯＳのゲート幅Ｗｎが５μｍ）とした。電源電圧は１。８Ｖ、ノード間距離ｌは３ｍｍ、時間０ｎｓで各ノード１０１〜１０４は異なる電位を初期値としてもっている状態を仮定した。時刻０ｎｓでは異なる位相をもっているにもかかわらず、時刻０ｎｓからしばらくした定常状態ではリング発振器ＯＳＣ１からＯＳＣ４が同一位相／周波数で発振していることが分かる。
【００２５】
このように本発明の構成により、距離ｌだけ離れたリング発振器同士を同一の位相／周波数で発振させることができる。距離ｌは１μｍでもいいし、１０ｍｍでもよい。その長さによらないという利点がある。
【００２６】
前記では図１の隣会うノード間の距離は全て等しい距離ｌとしたが、かならずしも等しい距離でなくてもよい。その場合定常状態では、それぞれのリング発振器は同一周波数にはなるが、同一位相にならない。それぞれのリング発振器は位相δ１〜δｎを保って同期して発振する（隣会うノード間の距離は全て等しい距離ｌであれば、δ１  ＝  δ２  ＝  。。。  ＝  δｎとなる）。
【００２７】
また、図３では各リング発振器を構成しているインバータ１１０〜１１ｍ、１２０〜１２ｍ、１ｎ０〜１ｎｍは同じもので構成したが、かならずしも同じである必要はない。同じでなければ前記と同じように定常状態では、それぞれのリング発振器は同一周波数にはなるが、同一位相にならない。それぞれのリング発振器は位相δ１〜δｎを持って同期して発振する。逆に、この位相δ１〜δｎは各リング発振器のインバータの種類（負荷駆動能力等）を調整することで変化できる。この性質を利用して、隣会うノード間の距離を全て等しい距離ｌにしなくても、各リング発振器のインバータの種類を調整することで、各リング発振器の位相δ１〜δｎを同一位相に調整することができる。
【００２８】
一般にインバータ１１ｍ〜１ｎｍはノード１０１〜１０ｎおよびそれらを接続している配線を駆動する必要があるため比較的大きな負荷駆動能力（ＣＭＯＳの場合にはゲート幅を大きくする）が必要である。したがって、例えばインバータ１１０、  １１１、  。。。  １１ｍの順で負荷駆動能力を大きくすれば低消費電力化に効果的である。
【００２９】
さらに、各リング発振器で、インバータの段数は同じでなくてもよい。各リング発振器の固有発振周波数がある程度同じであれば、本発明の構成により定常状態でそれぞれのリング発振器を同一周波数で位相δ１〜δｎを保って同期させて発振させることが可能である
次に、本発明の発振器に電源電圧変動や基板電圧変動などのノイズが加わった場合の特性について記述する。
【００３０】
図３（Ｂ）はリング発振器ＯＳＣ１だけが他のリング発振器とは異なる電源電圧を持っているときの回路シミュレーション波形である。リング発振器ＯＳＣ１の電源電圧は２。０Ｖで、その他の条件は図３（Ａ）のシミュレーションの時と同じである。時刻０ｎｓからしばらくした定常状態ではリング発振器ＯＳＣ１からＯＳＣ４がほぼ同一位相／周波数で発振していることが分かる。
【００３１】
多数のリング発振器で構成されている本発明の発振器のうち、数個のリング発振器の電源電圧が変動しても発振器全体の位相／周波数がほとんど変化しない（電源電圧変動や基板電圧変動がない定常状態で、各リング発振器が位相δ１〜δｎを持っている場合には電源電圧変動や基板電圧変動に対してその位相を保つ働きをする）という特徴をもつ。
【００３２】
リング発振器に加わった電源電圧変動が他のリング発振器の電源電圧に影響しないように構成すればこの効果はより大きくなる。一般に集積回路内で発生する電源電圧変動はその場所が局所的であるため、複数のリング発振器で電源を共有している場合には、距離ｌが長ければ長いほどよい。さらに、それぞれのリング発振器で電源をなるべく共有しないようにすればよい。たとえばそれぞれのリング発振器に別々の電源電圧発生装置あるいは電源電圧安定装置を用いてもよい。
【００３３】
以上、電源電圧変動に関する本発明の効果を示したが、これは基板電圧変動についても同様のことがいえる。
【００３４】
図４は上記本発明の耐ノイズ性を活かした本発明の実施例である。図１と比較すると、各リング発振器ＯＳＣ１〜ＯＳＣｎを二つのリング発振器ペア｛ＯＳＣ１ａ、ＯＳＣ１ｂ｝〜｛ＯＳＣｎａ、ＯＳＣｎｂ｝で構成している点が大きな違いである。さらにそのリング発振器ペアの電源は異なる電源ＶＤＤ１ａ〜ＶＤＤｎａおよびＶＳＳ１ａ〜ＶＳＳｎａとＶＤＤ１ｂ〜ＶＤＤｎｂおよびＶＳＳ１ｂ〜ＶＳＳｎｂに接続している。
【００３５】
電源ＶＤＤ１ａ〜ＶＤＤｎａおよびＶＳＳ１ａ〜ＶＳＳｎａと電源ＶＤＤ１ｂ〜ＶＤＤｎｂおよびＶＳＳ１ｂ〜ＶＳＳｎｂに同時に電源電圧変動等のノイズが乗る確率はノイズの局所性により低いので、電源電圧変動や基板電圧変動等によって生じるノード４００〜４０ｎの発振周波数および位相の変動を小さくすることができる。
【００３６】
前記した本発明の効果は、電源電圧変動を抑えるために電源間に挿入されるいわゆるパスコン（バイアスコンデンサ）の効果に似ている。パスコンは、ノイズがない状態が一定電位（電源電圧という電位）である信号において、ノイズがある場合にその電位を保つように働く。それに対して、本発明の発振器は、ノイズがない定常状態が一定の発振周波数／位相である信号において、ノイズがある場合にその周波数／位相を保つように働く。
【００３７】
図１から図４までの実施例では、シングルエンド入出力のインバータを用いているが、図５のように差動入出力をもつ差動インバータＯＳＣ１ｄ〜ＯＳＣｎｄ（差動インバータの詳しい回路例は従来例ＡのＦｉｇ。１１に記載されているため省略する）を用いてもよい。この場合、差動インバータの場合には発振出力は正論理出力と負論理出力を持つので、図１のノード１０１〜１０ｎに相当するものは、ノード｛５０１ａ、５０１ｂ｝〜｛５０ｎａ、５０ｎｂ｝のようにデュアルレールになる。
【００３８】
また、図１から図５までの実施例では、各リング発振器同士はその発振ノードのうち、ある一つのノード同士で接続されているが、図６のように各リング発振器の複数の発振ノード（違う位相のを持つ）を用いて接続してもよい。図６では二つのノード６０１ａ〜６０ｎａと６０１ｂ〜６０ｎｂをそれぞれ接続している。図１の接続形態の場合と比較してより各リング発振器間のカップリングが増加するので耐ノイズ性が増加する。
【００３９】
さらに、図７、図８は図１の実施例とは別の接続形態の実施例である。図７は図１の実施例と比較すると、リング発振器ＯＳＣ１とリング発振器ＯＳＣｎ間を直接接続している配線がないのが特徴である。この場合、ノード１０１〜１０ｎの隣会うノード間の距離が全て等しい距離ｌで、各リング発振器ＯＳＣ１からＯＳＣｎが全て同一の特性のものであっても、各リング発振器ＯＳＣ１〜ＯＳＣｎは同一周波数にはなるが、同一位相にならない。それぞれのリング発振器は位相δ１〜δｎを保って同期して発振する。位相δ１〜δｎを同じにするには、隣会うノード間の距離を調整することでも可能であるが、各リング発振器ＯＳＣ１からＯＳＣｎの種類（負荷駆動能力等）を調整しても可能である。例えば両端のリング発振器ＯＳＣ１とＯＳＣｎの負荷駆動能力を他のリング発振器の半分にすればよい。
【００４０】
図８はｎ×ｑのメッシュ状にリング発振器を接続した実施例である。その他さまざまな接続形態が考えられるが、いかなる接続形態でも各リング発振器が同期して発振すればよい。要は複数の固有発振周波数がほぼ同じの発振器を接続し、その発振器同士が同一周波数で発振するように各リング発振器同士のノードを接続すればよい。図１から図４までの実施例と同様の効果が得られる。以下の実施例では簡単のため図１の実施例を使って本発明の発振器を使った実施例を示す。
【００４１】
図９は本発明の発振器を用いて、複数の論理回路にクロックを供給している実施例である。ＬＯＧ１〜ＬＯＧｎは論理回路で、７１１〜７１ｎはバッファである。図１と比較すると図１のノード１０１〜１０ｎに相当するノード７０１〜７０ｎにバッファ７１１〜７１ｎが接続され、その各出力７２１〜７２ｎが各論理回路ＬＯＧ１〜ＬＯＧｎに供給されている。前述のようにノード７０１〜７０ｎまでは同一周波数、同一位相（前述のように位相δ１〜δｎを持つ場合もあるが、ここでは簡単のため図７は同一位相を持つ条件に接続されているものとする）で発振する。論理回路ＬＯＧ１〜ＬＯＧｎにスキューが零のクロックを供給することができる。さらに、前述のように耐ノイズ性があるため。ジッタの小さいクロックを供給することができる。もちろん、バッファ７１１〜７１ｎは無くてもよいことは言うまでない。バッファ７１１〜７１ｎがあれば論理回路ＬＯＧ１〜ＬＯＧｎから発振器へのノイズの伝搬を抑えることができる。
【００４２】
またノイズがある場合のノード７０１〜７０ｎのスキューは、図３（Ｂ）から分かるようにノードの電位が変化してからある程度時間がたってからの方が小さい。したがって、ノード７０１〜７０ｎに接続するバッファ７１１〜７１ｎをシュミット入力にした方がよい。バッファ７１１〜７１ｎの出力のスキューをより小さくできる。
【００４３】
図９の実施例では各論理回路に供給するクロック７２１〜７２ｎを、各バッファ７１１〜７１ｎの遅延時間を調整することで、各論理回路ＬＯＧ１〜ＬＯＧｎに入力されるクロック７２１〜７２ｎの位相を個別に遅らせる方向で調整できる。
【００４４】
図１０はさらに各論理回路に供給するクロック７２１〜７２ｎの位相を早める方向の調整を可能にした実施例である。各リング発振器同士を接続している発振ノード８０１〜８０ｎと異なる発振ノード｛８３１ａ、８３１ｂ、８３１ｃ、。。。｝〜｛８１ｎａ、８３ｎｂ、８３ｎｃ、。。。｝を選択してバッファ７１１〜７１ｎに接続している。例えば発振ノード８３１ａは発振ノード８０１よりもインバータ１段分早い位相（リング発振器が同一インバータｐ段で構成されているとすれば、３６０／ｐ度位相が早いことになる）で発振している。したがって、この発振ノードからバッファ７１１を用いて論理回路ＬＯＧ１にクロックを供給すれば、発振ノード８０１からバッファを通してクロックを生成している論理回路よりも早い位相のクロックを得ることができる。
【００４５】
図１１は本発明の発振器をＰＬＬの電圧制御発振器（ＶＣＯ）に使用した実施例である。ＶＣＯ１〜ＶＣＯｎは電圧制御発振器、ｆｉｎｔ１〜ｆｉｎｔｎはその出力。９０１〜９０ｎはバッファ、Ｎ１〜Ｎｎはクロック分配ネットワークである。図７の実施例と比較すると、リング発振器ＯＳＣ１〜ＯＳＣｎが電圧制御発振器ＶＣＯ１〜ＶＣＯｎになり、その発振周波数制御信号ＶＣをＰＬＬ構造で制御しＰＬＬ１を構成している。また、バッファ９０１〜９０ｎの出力であるグローバルクロック９１１〜９１ｎはクロック分配ネットワークＮ１〜Ｎｎに接続されている。
【００４６】
電圧制御発振器ＶＣＯ１〜ＶＣＯｎの接続形態は簡単のため図１の実施例の方法を用いたが、図４から図８までで示した方法でもよい。また、図１１の実施例では図２の従来のものと比較すると１／２分周器ＤＩＶ２に相当するものが省略されているが、必要であればバッファ９０１〜９０ｎの前段あるいは後段に接続すればよい。
【００４７】
図１２にＶＣＯ１〜ＶＣＯｎの回路例を示す。図１２（Ａ）はシングルエンドの入出力を持つインバータ１０００〜１００ｍで構成した場合の例である。それぞれのインバータの遅延時間が発振周波数制御信号ＶＣの値によって変化することで、発振出力ｆｉｎｔ１の発振周波数が発振周波数制御信号ＶＣの値によって変化する（インバータの詳しい回路例は従来例ＡのＦｉｇ。４に記載されているため省略する）。一方、図１２（Ｂ）は差動入出力を持つ差動インバータ１０１０〜１０１ｍで構成した場合の例である。図１２（Ａ）と同様にそれぞれの差動インバータの遅延時間が発振周波数制御信号ＶＣの値によって変化することで、発振出力ｆｉｎｔ１、／ｆｉｎｔ１の発振周波数が発振周波数制御信号ＶＣの値によって変化する（差動インバータの詳しい回路例は従来例ＡのＦｉｇ。１１に記載されているため省略する）。
【００４８】
図１３は図１１のクロック分配ネットワークＮ１の詳細図である。１１００〜１１０ｋはクロック分配線で、１１１０〜１１１ｋはローカルバッファである。１１００〜１１０ｋのクロック分配線のそれぞれの長さは、グローバルクロック９１１からローカルバッファ１１１０〜１１１ｋまでのそれぞれの長さが等しくなるようにチップレイアウト上に配線する。したがって、ローカルバッファ１１１０〜１１１ｋの特性が完全に同一で（以下、マッチングがとれていると記す）、さらにノイズがない場合には、ローカルクロック出力ｏｕｔ１〜ｏｕｔｋのスキューは零となる。
【００４９】
電圧制御発振器ＶＣＯ１〜ＶＣＯｎは同一の発振周波数制御信号ＶＣが供給されているので、前述のように、その発振出力ｆｉｎｔ１からｆｉｎｔｎは同一周波数／同一位相（図８までで記述したように位相δ１〜δｎを持つ場合もあるが、ここでは簡単のため各電圧制御発振器ＶＣＯ１〜ＶＣＯｎは同一位相を持つ条件に接続されているものとする）で発振する。したがって、ローカルクロック出力ｏｕｔ１〜ｏｕｔｋが同一周波数、同一位相で発振する。さらに、図１０までの実施例の効果と同様の耐ノイズ性が得られるため、電源電圧変動や基板電圧変動によるスキュー／ジッタの増加が小さい。
【００５０】
図１４は図１１のＰＬＬを、半導体集積回路装置の中でもＰＬＬへの性能要求が厳しいマイクロプロセッサに用いた実施例である。１２００がマイクロプロセッサで、１２０１〜１２０３が論理回路ブロック、１２１１〜１２１３が図１１のクロック分配ネットワークに相当するものである。論理回路ブロックの機能は特に限定しない。演算器等を内蔵したデータパスでもよいし、キャッシュ等のメモリ、あるいはそのコントローラでもよい。
【００５１】
ＰＬＬ１からはグローバルクロック１２３１〜１２３３が出力される。そのグローバルクロック１２３１〜１２３３は、クロック分配ネットワーク１２１１〜１２１３によって各論理回路ブロック内でローカルクロック１２４１に分配される。最後にそのローカルクロック１２４１がラッチ１２２０等の回路のクロック入力部に供給される。
【００５２】
図１１の実施例と同様、ローカルクロック１２４１は、電源電圧変動や基板電圧変動によるスキュー／ジッタの増加が小さい。また、ＰＬＬ１内の電圧制御発振器ＶＣＯ１〜ＶＣＯｎをチップ内で分散させ、担当する論理回路ブロックの近くに配置することで、電圧制御発振器ＶＣＯ１〜ＶＣＯｎのクロック出力から、そのクロック出力を使用するラッチ等の回路までの経路（図１４ではグローバルクロック１２３１、クロック分配ネットワーク１２１１、ローカルクロック１２４１）が短くできる。経路が短くなるとその間の遅延時間を小さくできるため、その経路で発生したスキューやジッタがクロック分配系全体の性能に与える影響を小さくできる。
【００５３】
チップ内のクロック供給範囲を多数に分割し、それぞれのクロック供給範囲に独立したＰＬＬを設けるという方法（以下、マルチＰＬＬ方式と呼ぶ）では、独立したクロック供給範囲間でのクロックスキューは、それぞれのクロック供給範囲内のスキューをＴｓｋｅｗＬ、ＰＬＬのジッタをＴｊｉｔｔｅｒ、各ＰＬＬまでの基準クロックのスキューをＴｓｋｅｗＧとすると、ＴｓｋｅｗＧ＋２＊ＴｓｋｅｗＬ＋２＊Ｔｊｉｔｔｅｒとなる。本発明の方法では、ＰＬＬ１が出力するグローバルクロックのジッタをＴｊｉｔｔｅｒＮとし、クロック分配ネットワーク１２１１〜１２１３のスキューをＴｓｋｅｗＬＮとすると、クロックスキューは２＊ＴｓｋｅｗＬＮ＋ＴｊｉｔｔｅｒＮとなる。仮に  ＴｓｋｅｗＬ  ＝  ＴｓｋｅｗＬＮ  としても本発明の方法の方がクロックスキューを小さくできる。実際には前述のように本発明のＰＬＬは  ＴｊｉｔｔｅｒＮ  ＜  Ｔｊｉｔｔｅｒ  なので本発明の方法はクロックスキューを大幅に削減できる。
【００５４】
またさらに、マルチＰＬＬ方式よりも多数のＶＣＯをチップ内に分散させて同期させる本発明方式の方がチップ面積を小さくできる。
【００５５】
以上の実施例ではＰＬＬ方式を用いて外部クロックと内部クロックを同期させる実施例を示したが、ディレイド・ロックド・ループ（ＤＬＬ）方式を用いてもよい。例えば図１におけるリング発振器をディレイラインで置換して構成することで本発明を適用することは容易である。
【００５６】
図１５にその実施例を示す。さらに図１６には図１５のディレイラインを可変遅延ディレイラインにしてＤＬＬを構成した実施例を示す。図１１と比較すると、可変遅延ディレイラインＶＤＬ１〜ＶＤＬｎに基準クロックｆｅｘｔが入力されている点が大きく異なる。その他、図１５の実施例を図２から図１４で示した本発明の実施例に適用できることは自明である。
【００５７】
以上の実施例では一つのチップ内部での本発明を適用したケースであるが、これを複数のチップからなる、半導体集積回路装置の実施例にも拡張することは自明である。例えば図１４における各論理回路ブロックとそれを担当する電圧制御発振器ＶＣＯをそれぞれ別のチップで構成したり、図１でそれぞれのリング発振器をそれぞれ別のチップで構成するケースで本発明を適用することは容易である。
【００５８】
また、以上の実施例では低消費電力化のためのいわゆるゲーティットクロック等の方法を適用した実施例を示していないが、例えば図１０のバッファ７１１〜７１ｎをゲート回路に変更して構成するケースで本発明を適用することは容易である。その他さまざまな方法があるが、特にその方法は限定しない。
【００５９】
以上の実施例では複数のインバータが多段にリング状に接続されたリング発振回路を用いたが、その構成は特に限定しない。また、リング発振回路でなくても発振回路であればよい。その発振回路の発振周波数および位相がその発振回路の発振出力を入出力線として用いて調整でき、前記のようにその発振回路を複数接続することで複数の発振回路が同期して発振すればよい。
【００６０】
また、以上の実施例では本発明を実現する半導体プロセスおよびトランジスタの構造等は特に規定しない。ＣＭＯＳプロセスでもよいし、ＳＯＩウエハを用いたＳＯＩトランジスタを用いてもよい。電源電圧およびその種類についても特に限定しない。
【００６１】
【発明の効果】
以上説明したように、本発明によればマイクロプロセッサ等の論理回路やメモリ回路に、低スキュー・低ジッタのクロックを供給することが可能となり、さらにそれによって高速な半導体集積回路装置が実現できる。
【図面の簡単な説明】
【図１】本発明の示す最も簡単な実施例の図である。
【図２】従来のＰＬＬを用いたクロック生成部の構造を示す図である。
【図３】本発明の発振回路の回路シミュレーション波形の図である。
【図４】本発明の発振器で、リング発振器を別の電源に接続した実施例の図である。
【図５】リング発振器に差動インバータを用いた場合の実施例の図である。
【図６】図１とは別の接続形態を示す実施例の図である。
【図７】図１とは別の接続形態を示す実施例の図である。
【図８】リング発振器をアレー状に接続した場合の実施例の図である。
【図９】本発明の発振器を用いて、複数の論理回路にクロックを供給した実施例の図である。
【図１０】図９の発明で、各論理回路へのクロックの位相を早い方向に調整可能にした実施例の図である。
【図１１】本発明の発振器を電圧制御発振器（可変周波数発振器）として使用し、ＰＬＬを構成した実施例の図である。
【図１２】電圧制御発振器の簡単な実施例の図である。
【図１３】クロック分配ネットワークを示す最も簡単な実施例の図である。
【図１４】本発明のマイクロプロセッサの実施例の図である。
【図１５】ディレイラインに本発明を適用したときの実施例の図である。
【図１６】図１５のディレイラインを電圧制御ディレイライン（可変遅延ディレイライン）として使用し、ＤＬＬを構成した実施例の図である。
【符号の説明】
１１０、１１１、１１ｍ、１２０、１２１、１２ｍ、１ｎ０、１ｎ１、１ｎｍ……インバータ、
ＯＳＣ１、ＯＳＣ２、ＯＳＣｎ、ＯＳＣ１ａ、ＯＳＣ１ｂ、ＯＳＣ２ａ、ＯＳＣ２ｂ、ＯＳＣｎａ、ＯＳＣｎｂ……リング発振器、
ＯＳＣ１ｄ、ＯＳＣ２ｄ、ＯＳＣｎｄ……差動インバータを用いたリング発振器、
ＰＦＤ……位相周波数比較器、
ＣＰ……チャージポンプ、
ＬＰＦ……ローパスフィルタ、
ＶＣＯ０……電圧制御発振器、
ＤＩＶＮ……１／Ｎ分周器、
ＤＩＶ２……１／２分周器、
Ｎ０、Ｎ１、Ｎ２、Ｍｎ、１２１１、１２１２、１２１３……クロック分配ネットワーク、
ＶＤＤ１ａ、ＶＤＤ２ａ、ＶＤＤｎａ、ＶＤＤ１ｂ、ＶＤＤ２ｂ、ＶＤＤｎｂ……正の電源電圧、
ＶＤＤ１ａ、ＶＳＳ２ａ、ＶＳＳｎａ、ＶＳＳ１ｂ、ＶＳＳ２ｂ、ＶＳＳｎｂ……負の電源電圧、
ＬＯＧ１、ＬＯＧ２、ＬＯＧｎ……論理回路、
７１１、７１２、７１ｎ、９０１、９０２、９０ｎ、１１１０、１１１１、１１１ｋ……バッファ、
ＶＣＯ１、ＶＣＯ２、ＶＣＯｎ……電圧制御発振器、
１０００、１００１、１００ｍ……シングルエンド電圧制御インバータ、
１０１０、１０１１、１０１ｍ……差動電圧制御インバータ、
ＶＣ……発振周波数制御信号、
９１１、９１２、９１ｎ、１２３１、１２３２、１２３３……グローバルクロック、
１１００、１１０１、１１０ｋ……クロック分配線、
ｏｕｔ１〜ｏｕｔｋ、１２４１……ローカルクロック、
１２２０……ラッチ、
１２００……マイクロプロセッサ、
ＤＬＹ１、ＤＬＹ２、ＤＬＹｎ……ディレイライン、
ＶＤＬ１、ＶＤＬ２、ＶＤＬｎ……可変遅延ディレイライン。
【図１】
0003619352.tif 000002
【図２】
0003619352.tif 000003
【図３】
0003619352.tif 000004
【図４】
0003619352.tif 000005
【図５】
0003619352.tif 000006
【図６】
0003619352.tif 000007
【図７】
0003619352.tif 000008
【図８】
0003619352.tif 000009
【図９】
0003619352.tif 000010
【図１０】
0003619352.tif 000011
【図１１】
0003619352.tif 000012
【図１２】
0003619352.tif 000013
【図１３】
0003619352.tif 000014
【図１４】
0003619352.tif 000015
【図１５】
0003619352.tif 000016
【図１６】
0003619352.tif 000017