(57)【特許請求の範囲】
【請求項１】
１個の半導体基板上に複数の回路ブロックが形成され、各回路ブロック毎にクロック分配系が形成されている半導体集積回路において、上記複数の回路ブロックのうちいずれか２つの回路ブロック間には、データ信号を送信する１または２以上の第１の信号線とクロック信号を送信する第２の信号線が設けられ、一方の回路ブロックから他方の回路ブロックへ上記第１および第２の信号線を介してデータ信号とクロック信号とが送信され、受信側の回路ブロックは受信したクロック信号に基づいて受信したデータ信号を取り込むように構成されているとともに、上記第１の信号線と第２の信号線は等しい配線長を有しかつ途中に１または２以上のバッファ回路が設けられていることを特徴とする半導体集積回路。
【請求項２】
上記データ信号およびクロック信号を送信する側の回路ブロックには送信しようとするデータをラッチする出力ラッチ回路が、また上記データ信号を受信する側の回路ブロックには受信したデータをラッチする入力ラッチ回路がそれぞれ設けられ、上記出力ラッチ回路および入力ラッチ回路はデータ送信側の回路ブロックから送信される前のクロック信号および送信後のクロック信号によってそれぞれラッチ動作を行なうように構成されていることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
上記データ信号およびクロック信号を送信する側の回路ブロックは、送信したデータ信号およびクロック信号が受信側の回路ブロックに到達する前に次のデータ信号およびクロック信号を上記第１の信号線にのせるように構成されていることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
上記データ信号およびクロック信号を受信する側の回路ブロックは、上記信号線より受信したクロック信号が、等長とみなされるように設計された配線系を介して当該ブロック内のクロックに同期して動作する回路に分配されるように構成されていることを特徴とする請求項１ないし３のいずれかに記載の半導体集積回路。
【請求項５】
上記クロック信号は、データ信号が送信される際以外はデータ送信側の回路ブロックからデータ受信側の回路ブロックへ送信されないように構成されていることを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
上記データ送信側の回路ブロックと受信側の回路ブロックとの間には、受信側の回路ブロックが受信したクロック信号を送信側の回路ブロックに対して帰還させる第３の信号線が設けられているとともに、上記送信側の回路ブロックには当該回路ブロック内のクロック信号の位相と上記帰還されたクロック信号の位相とが合うように送信クロックの位相を調整する位相調整回路が設けられていることを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
上記位相調整回路は、上記送信側の回路ブロック内のクロック信号の位相と上記帰還されたクロック信号の位相とを比較し位相差に応じた信号を出力する位相検出回路と、該位相検出回路の出力に基づいて遅延時間が変化される可変遅延回路とを含んでなることを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
上記データ信号およびクロック信号を受信する側の回路ブロックは、受信したクロック信号とは別個に供給されるクロック信号が、等長とみなされるように設計された配線系を介して当該ブロック内のクロックに同期して動作する回路に分配されるように構成されていることを特徴とする請求項１に記載の半導体集積回路。
【請求項９】
上記データ受信側の回路ブロックは、上記第１の信号線より受信したシリアルなデータを受信クロックに基づいて順次取り込んで受信クロックの２周期以上にわたって保持する受信データ保持手段と、該受信データ保持手段に取り込まれたデータを受信クロックとは別個のクロック信号に基づいて順次読み出して内部回路へ供給するシリアルデータ再生手段とを備えていることを特徴とする請求項８に記載の半導体集積回路。
【請求項１０】
上記データ受信側の回路ブロックは、受信したクロックに基づいてデータ送信サイクルの１／２周期だけ位相がずれたクロック信号を生成する移相手段と、該移相手段により生成されたクロック信号に基づいて上記受信データ保持手段へのデータ取込みタイミングを与えるクロック信号を生成する位相調整手段とを備え、該位相調整手段は上記移相手段により生成されたクロック信号の位相と上記受信データ保持手段へ供給されるクロック信号の位相とが一致するように位相を調整し、上記受信データ保持手段は受信データを信号の変化点と変化点の中央で取り込むように構成されていることを特徴とする請求項９に記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路さらには半導体チップ上における同期用のクロック信号の分配方式に適用して有効な技術に関し、例えばシステムＬＳＩにおけるブロック間データ送信用のクロック信号の供給方式に利用して有効な技術に関する。
【０００２】
【従来の技術】
論理ＬＳＩ（大規模集積回路）においては、外部から供給されるクロック信号（以下、単にクロックと称する）をＬＳＩ全体に分配してそのクロックに同期してフリップフロップへのデータの取込みや信号の送信、伝達などが行なわれる。このように、外部からのクロックをＬＳＩ全体に分配する場合、クロックが通る配線の長さの相違等に起因してクロックの到達タイミングがずれるいわゆるクロックスキューが生じる。クロックスキューがあると、フリップフロップが誤ったデータを取り込んだり、論理ゲートの出力信号に不所望のひげ状パルスが発生して次段の回路が誤動作するおそれがある。そこで、従来よりこのクロックスキューを低減するために、クロックをチップ中心から末端の回路に向かって次第に枝分かれするツリー状の等長配線により各部に供給する方式等が採用されている（特開平１１−２０２９７１号公報、特開平５−１５９０８０号公報等）。
【０００３】
一方、近年、半導体プロセスの進歩により、クロックの周波数すなわちチップの動作周波数は、１ＧＨｚ以上にも達するようになってきている。また、集積度も向上しているため、同一チップ内に、複数のプロセッサを設けたり、大規模なキャッシュメモリ等を取り込むなど、これまでは複数のチップで構成されていた機能が１つのチップに搭載されたシステムＬＳＩが提供されるようになってきた。
【０００４】
ところが、現在の半導体チップでは、論理設計や診断その他の面から、チップ全面で同期化されたクロック分配系を有する方式が一般的である。そして、かかるクロック分配系では、クロックスキューはクロック分配系の面積に比例し、チップサイズが増大するのに伴なってクロックスキューが大きくなるとともに、チップサイズが同一であっても、クロック周波数が高くなるほどクロック周期に対するクロックスキューの割合が相対的に増加することとなるため、ＬＳＩの動作周波数の向上を妨げる原因となることが明らかとなった。
【０００５】
また、動作周波数の向上が進むと、チップ内でデータの長距離送信を行う際に、信号遅延時間が長くなって数サイクル分を要する送信となる。そこで、本発明者らは、信号伝送経路上に複数のフリップフロップを挿入して１サイクル毎に各フリップフロップにデータをラッチして順次後段へ送信する方式について検討した。このようにすると、配置したラッチごとに、クロックスキュー(tck)及びフリップフロップのセットアップ時間(tsu)、ディレイ余裕(tpd)を考慮した設計が必要となる。つまり、送信にＮサイクルを要する場合には、送信時間は実質的なディレイに、Ｎ×(tck+tsu+tpd)を加算した値になり、これを加味してクロックの周波数を決定しなればならなくなるため、高速送信が困難になってしまうという問題点がある。なお、ボード上のＬＳＩ間でデータとクロックを送信してクロックスキューを管理するようにした発明として、例えば国際公開ＷＯ９６／２９６５５号がある。
【０００６】
この発明の目的は、送信サイクルすなわちクロック周期に対するクロックスキューの割合を低減することができ、これによって動作周波数を高めることができるクロック分配技術を提供することにある。
【０００７】
この発明の他の目的は、チップ内の長距離データ送信における遅延時間を短縮し、正確にデータを送信することができるクロック供給技術を提供することにある。
【０００８】
この発明のさらに他の目的は、動作周波数を増大させてもトータルの消費電力は抑えることができるクロック供給技術を提供することにある。
【０００９】
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【００１０】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
【００１１】
すなわち、本発明では、同一半導体チップ内にプロセッサやメモリなど複数の機能ブロックを有するシステムＬＳＩのような半導体集積回路において、クロック分配系を、それぞれの機能ブロックごとに限定して設けるようにした。クロックスキューは、クロック分配系の配線長におおむね比例するが、プロセスが進歩した場合、動作周波数の向上は図られてもチップ面積は縮小されないため、クロック分配系の配線長も低減されず、これがクロックスキュー割合の増加の要因となる。しかし、上記のように、クロック分配系をそれぞれの機能ブロックごとに限定して設けることにより、各クロック分配系の面積は小さくなり、これによってクロック配線長が短くなってクロックスキューを小さくすることができ、その結果、動作周波数の向上を図ることができる。
【００１２】
しかしながら、上記のように分割されたクロック分配系を持つチップでは、各ブロック間でデータ送信をしようとした場合、長距離送信で信号遅延が大きくなり且つブロック間でクロックスキューのずれが大きいという問題が発生する。とりあえず送信を可能とするためには、例えば、ブロック間の長距離送信のみクロック周波数を下げることが考えられるが、これでは、大容量のデータを高速に送信することができない。そこで、最近大規模なボードシステム上での半導体チップ間の送信において使用されているクロック並送方式をチップ内部に持ち込むことが考えられる。
【００１３】
この並送送信方式は、データと並行してクロックを送信する方式であり、データ送信用とクロック伝送用の配線の長さが同じになるように設計すれば、送信データに対する相対的なクロックスキューはなくなるので、受端側で並送クロックによってデータを受信すればよい。本方式を用いることにより、データ送信路の途中にフリップフロップを配置する必要がなくなるため、途中に配置されるN個のフリップフロップのそれぞれにおける遅延時間(tck+tsu+tpd)を加味することが不用となる。
【００１４】
しかしながら、これまで装置間やシステム上のチップ間で採用されて来た上記のような並送クロックを用いたデータ送信方式をそのままチップ内に持ち込もうとすると、信号を伝達する装置間の送信で用いる同軸ケーブルや、システムで用いるボードの伝送線と比較し、チップ内では配線による抵抗が大きいために、信号立上がり時間ｔrと信号立下がり時間ｔfが極端に大きくなってしまい、１つのデータが到着する前に次のデータを送信するというような、多サイクル送信が困難である。また、配線抵抗をボード上の伝送線並みに小さくなるように配線幅、厚さを大きくすることも考えられるが、配線幅を極端に大きくすると面積との関係からデータ送信のための配線本数を大幅に減少させる必要が生じてしまうとともに、配線層を厚くすることはプロセスにかかる負担が大きくなりすぎて現実的ではない。
【００１５】
そこで、本発明では、ブロック間長距離送信方式として送信データと一緒にクロックを等長配線で送る並送方式を採用して受信側では並送クロックで受信データをラッチするように構成し、さらにブロック間送信用配線には所定の長さ毎にバッファを配置するようにした。
【００１６】
より具体的には、１個の半導体基板上に複数の回路ブロックが形成され、各回路ブロック毎にクロック分配系が形成されている半導体集積回路において、上記複数の回路ブロックのうちいずれか２つの回路ブロック間には、データ信号を送信する１または２以上の第１の信号線とクロック信号を送信する第２の信号線が設けられ、一方の回路ブロックから他方の回路ブロックへ上記第１および第２の信号線を介してデータ信号とクロック信号とが送信され、受信側の回路ブロックは受信したクロック信号に基づいて受信したデータ信号を取り込むように構成するとともに、上記第１の信号線と第２の信号線はほぼ等しい配線長を有しかつ途中に１または２以上のバッファ回路が設けるようにしたものである。
【００１７】
このように、配線の途中にバッファを配置した場合、バッファが信号の立上がりおよび立下がりを急峻にするつまり波形整形をするので、遅延時間が短縮される。これとともに、最初に送出したデータが受信側に届く前に次のデータを伝送路にのせることが可能となり、連続したデータの高速送信が可能となる。
【００１８】
また、上記データ信号およびクロック信号を送信する側の回路ブロックには送信しようとするデータをラッチする出力ラッチ回路を、また上記データ信号を受信する側の回路ブロックには受信したデータをラッチする入力ラッチ回路をそれぞれ設け、上記出力ラッチ回路および入力ラッチ回路はデータ送信側の回路ブロックから送信される前のクロック信号および送信後のクロック信号によってそれぞれラッチ動作を行なうように構成した。このようにすれば、送信側の出力ラッチ回路と受信側の入力ラッチ回路が同一のクロック信号でラッチ動作されることとなるため、クロックスキューが見えなくなり、正しいデータの送信が可能となる。
【００１９】
また、望ましくは、上記データ信号およびクロック信号を送信する側の回路ブロックは、送信したデータ信号およびクロック信号が受信側の回路ブロックに到達する前に次のデータ信号およびクロック信号を上記第１の信号線にのせるように構成する。これにより、連続したデータを送信する場合に高速な送信が可能となる。
【００２０】
さらに、上記データ信号およびクロック信号を受信する側の回路ブロックは、上記信号線より受信したクロック信号が、実質的に等長とみなされるように設計された配線系（配線およびバッファ回路等を含む）を介して当該ブロック内のクロックに同期して動作する回路に分配されるように構成する。これにより、受信側の回路ブロックに、送信側回路ブロックのＰＬＬ回路とは別個にＰＬＬ回路を設けてやる必要がない。
【００２１】
また、望ましくは、上記クロック信号は、データ信号が送信される際以外はデータ送信側の回路ブロックからデータ受信側の回路ブロックへ送信されないように構成する。これにより、動作の必要ない回路ブロックにはクロックが供給されないようになるため、チップ全体としての消費電力を押さえることが可能となる。
【００２２】
さらに、上記データ送信側の回路ブロックと受信側の回路ブロックとの間には、受信側の回路ブロックが受信したクロック信号を送信側の回路ブロックに対して帰還させる第３の信号線を設けるとともに、上記送信側の回路ブロックには当該回路ブロック内のクロック信号の位相と上記帰還されたクロック信号の位相とが合うように送信クロックの位相を調整する位相調整回路を設ける。これにより、クロックを送信する回路ブロックが受信側回路ブロックから送られてくる応答データを受信する場合に、正しい応答データの取込みが可能となる。
【００２３】
上記位相調整回路は、上記送信側の回路ブロック内のクロック信号の位相と上記帰還されたクロック信号の位相とを比較し位相差に応じた信号を出力する位相検出回路と、該位相検出回路の出力に基づいて遅延時間が変化される可変遅延回路とを含むように構成する。これにより、公知のＤＬＬディレイ・ロックド・ループ）回路の技術を用いて容易に所望の機能を有する位相調整回路を実現することができる。
【００２４】
また、上記データ信号およびクロック信号を受信する側の回路ブロックは、受信したクロック信号とは別個に供給されるクロック信号が、実質的に等長とみなされるように設計された配線系を介して当該ブロック内のクロックに同期して動作する回路に分配されるように構成することができる。これにより、データ受信側の回路ブロックがデータを受信するとき以外にも動作することがある場合に、データ送信側の回路ブロックから受信側の回路ブロックが必要する時にクロック信号を送る制御を行なうようにしなくて済む。
【００２５】
さらに、上記データ受信側の回路ブロックは、上記第１の信号線より受信したシリアルなデータを受信クロックに基づいて順次取り込んで受信クロックの２周期以上にわたって保持する受信データ保持手段と、該受信データ保持手段に取り込まれたデータを受信クロックとは別個のクロック信号に基づいて順次読み出して内部回路へ供給するシリアルデータ再生手段とを設ける。これにより、データ送信側の回路ブロックと受信側の回路ブロックが別のクロックで動作するときにおいても、送信側からのデータ信号を受信側で正しく取り込むことができる。
【００２６】
また、上記データ受信側の回路ブロックは、受信したクロックに基づいてデータ送信サイクルの１／２周期だけ位相がずれたクロック信号を生成する移相手段と、該移相手段により生成されたクロック信号に基づいて上記受信データ保持手段へのデータ取込みタイミングを与えるクロック信号を生成する位相調整手段とを備え、該位相調整手段は上記移相手段により生成されたクロック信号の位相と上記受信データ保持手段へ供給されるクロック信号の位相とが一致するように位相を調整し、上記受信データ保持手段は受信データを信号の変化点と変化点のほぼ中央で取り込むように構成する。これにより、データ受信側のデータ取込みマージンが大きくなり多少クロックスキューがあっても正しいデータの取込みが行なえる。
【００２７】
【発明の実施の形態】
（第１実施例）
以下、本発明の好適な実施例を図面に基づいて説明する。
【００２８】
図１は、本発明の第１の実施例を適用した半導体集積回路全体のブロック構成と各ブロック間での信号の送受信のための接続関係を示す。
【００２９】
図１において、符号１００は単結晶シリコンのような１個の半導体チップ、１１０は外部から供給されるクロック信号が入力されるクロック入力端子、ＣＢ０，ＣＢ１，ＣＢ２，ＣＢ３，ＣＢ４，ＣＢ５，ＣＢ６はチップ１００上に形成されそれぞれほぼ独立した機能を有するマクロ回路ブロックである。各回路ブロックは例えばＣＭＯＳ回路で構成される。
【００３０】
この実施例においては、ブロックＣＢ０は、例えばチップ全体を制御したり、チップ上の複数のブロックの中心的な役割を有するプロセッサのような主回路ブロックであり、ＣＢ１〜ＣＢ６はＲＯＭやＲＡＭあるいはキャッシュメモリのような従たる回路ブロックである。従たる回路ブロックとしては、メモリの他、シングルチップマイコンなどでは割込み制御回路やタイマ回路、ＡＤ，ＤＡ変換回路などの周辺回路モジュール、カスタムＬＳＩなどではユーザーが希望する論理機能を有するユーザー論理回路などが考えられる。
【００３１】
この実施例においては、クロック入力端子１１０より入力されたクロック信号ＣＬＫはＰＬＬ（フェーズ・ロックド・ループ）回路１２０に供給されて逓倍された内部クロック信号ＣＫが生成される。生成された内部クロック信号ＣＫは一旦主回路ブロックＣＢ０のほぼ中心Ｃ０まで配線ＬＬにより運ばれ、ここからＨツリー状のクロック分配線Ｌ１０によりブロックＣＢ０内の各部に供給される。
【００３２】
図示しないが、クロック分配線Ｌ０の各分岐点には入力された信号を複数に分割するデバイダやなまった信号を波形整形するバッファなどが設けられる。また、Ｈツリー状クロック分配線Ｌ０は、ブロックの中心Ｃ０からクロックの供給を受ける末端回路（フリップフロップや論理ゲート回路等）までの配線長がほぼ等しくなるように形成される。これによって、ブロックＣＢ０内のクロックスキューは、チップ全体にツリー状クロック分配線を形成する場合に比べてかなり小さくされる。本明細書においては、上記ツリー状のクロック分配線およびクロックデバイダやバッファを含めたものをクロック分配系と称する。
【００３３】
また、各ブロックＣＢ０とＣＢ１〜ＣＢ６にそれぞれブロック間で信号のやり取りをするためのインタフェース回路Ｉ／Ｆ１〜Ｉ／Ｆ６；Ｉ／Ｆ１１；Ｉ／Ｆ２１；Ｉ／Ｆ３１；Ｉ／Ｆ４１；Ｉ／Ｆ５１；Ｉ／Ｆ６１が設けられている。この実施例においては、主回路ブロックＣＢ０のインタフェース回路Ｉ／Ｆ１〜Ｉ／Ｆ６と、従たる各ブロックＣＢ１〜ＣＢ６のインタフェース回路Ｉ／Ｆ１１〜Ｉ／Ｆ６１とが信号線群１１１〜１１６によって接続されている。
【００３４】
これらの信号線群１１１〜１１６にはそれぞれクロックの信号線が含まれている。また、従たる各ブロックＣＢ１〜ＣＢ６には、それぞれその中心Ｃ１〜Ｃ６から末端回路までの配線長がほぼ等しくなるように形成されたＨツリー状に分岐するクロック分配線Ｌ１０〜Ｌ６０が設けられており、上記信号線群１１１〜１１６の中のクロック信号線が各ブロックの中心Ｃ１〜Ｃ６に接続されて、そこから各ブロック内の末端回路にクロックを供給するように構成される。
【００３５】
図２は、図１における主回路ブロックＣＢ０と他のいずれか１つの従回路ブロックＣＢｉ（ｉ＝１，２，……６）との信号の送受信部を抽出してより詳細に示したものである。特に制限されるものでないが、ここでは一例として主回路ブロックＣＢ０がプロセッサで、他の従回路ブロックＣＢｉがメモリである場合を示している。
【００３６】
図２の主回路ブロックＣＢ０において、２１０はメモリをアクセスするために生成したアドレスをラッチするアドレスラッチ回路、２１１はインタフェース回路Ｉ／Ｆｉに設けられた出力ラッチ回路、２１２は従回路ブロックＣＢｉとしてのメモリの読出しデータをラッチする入力ラッチ回路、２３０は主回路ブロックＣＢ０内のクロックＣＫ０の位相と従回路ブロックＣＢｉからの帰還クロックＣＫｆの位相を比較して、位相を一致させるように出力クロックＣＫ１を生成する位相調整回路である。
【００３７】
この実施例では、位相調整回路２３０の出力クロックＣＫ１は、主回路ブロックＣＢ０側の上記出力ラッチ回路２１１へ供給されてアドレスデータの出力タイミングを与える。また、上記出力ラッチ回路２１１にラッチされたアドレスデータとその出力タイミングを与えた上記クロックＣＫ１が信号線群１１１を介して従回路ブロックＣＢｉに送信される。図２には、アドレスラッチ回路２１０とアドレスデータを送信する信号線が１つだけ示されているが、実際にはアドレスのビット数に応じた数だけ設けられる。信号線群１１１の各信号線は互いに並行して配設されることにより、ほぼ等しい配線長すなわち等しい遅延を有するように形成され、各信号線の途中には波形整形を行なうバッファ回路３０１ａ〜３０１ｃ，３０２ａ〜３０２ｃが設けられている。
【００３８】
図２の従回路ブロックＣＢｉにおいて、３１１はインタフェース回路Ｉ／Ｆｉ１に設けられたアドレスの入力ラッチ回路、３２０はアドレスデコーダおよびセンスアンプ等を含むメモリアレイ部、３１２はメモリアレイ部３２０より読み出されたデータをラッチするデータラッチ回路（出力ラッチ回路）、３３０は主回路ブロックＣＢ０の側から供給されるクロックＣＫ１に基づいてメモリアレイ部の動作タイミング信号を生成するタイミングジェネレータである。
【００３９】
この実施例では、信号線群１１１を介して送信データと並送して従回路ブロックＣＢｉに供給されるクロックＣＫ１によって、従回路ブロックＣＢｉの入力ラッチ回路３１１および出力ラッチ回路３１２がラッチ動作を行なうように構成されている。ここで、クロックＣＫ１の立上がりのタイミングと送信データの切り替えタイミングとが一致する場合には、受信したクロックＣＫ１の立下りタイミングで、またＣＫ１の立下がりのタイミングと送信データの切り替えタイミングとが一致する場合には受信クロックＣＫ１の立上りタイミングで、従回路ブロックＣＢｉの入力ラッチ回路３１１が受信データをラッチするように構成される。送信データと並送クロックの遅延はほぼ等しいので、受信したクロックＣＫ１で受信したデータをラッチすることにより信号線群１１１における遅延時間の大きさに関わらず確実に受信データをラッチすることができる。
【００４０】
なお、この実施例のように、従回路ブロックＣＢｉがメモリである場合には、完全な形でのＨツリー状分配線によるクロックの分配方式の適用は困難であるが、タイミングジェネレータからそこで生成されたタイミング信号を受ける回路までの配線長が等しくなるように配線を設計したり、タイミングジェネレータの出力タイミング信号がその到達距離を予め考慮したタイミングで生成されるようにタイミングジェネレータを設計することにより、実質的に等長配線と同様なクロック分配方式が採用されているとみなすことができる。
【００４１】
また、従回路ブロックＣＢｉがメモリである場合には、受信されたクロックＣＫ１により入力ラッチ回路３１１における入力アドレスのラッチが行なわれるとともに、ラッチされたアドレスに従ってメモリアレイ部３２０から読み出されデータラッチ回路３１２にラッチされたデータは、信号線群１１１を介して主回路ブロックＣＢ０に送信される。また、このとき受信されたクロックＣＫ１も信号線群１１１を介して主回路ブロックＣＢ０に送信される。その信号線１１１の途中には波形整形を行なうバッファ回路３０３ａ，３０３ｂ，３０３ｃ，３０４ａ，３０４ｂ，３０４ｃが設けられている。
【００４２】
このように、受信クロックＣＫ１が帰還クロックＣＫｆとして主回路ブロックＣＢ０の位相調整回路２３０に戻され、クロックＣＫ１とＣＫｆの位相が一致するように並送クロックＣＫ１が生成されることにより、従回路ブロックＣＢｉから送られてくるデータを主回路ブロックＣＢ０において正しく取り込むことができる。すなわち、位相調整回路２３０がない場合を仮定すると、従回路ブロックＣＢｉから送られてくるデータを主回路ブロックＣＢ０で受信する際に、受信データの切り替わりタイミングと主回路ブロックＣＢ０側のクロックＣＫ０の切り替わりタイミングとは、信号線１１１における遅延等によりずれているため、受信データを入力ラッチ回路２１２に正しく取りこむことができない。しかるに、本実施例においては、位相調整回路２３０が設けられ、クロックＣＫ１とＣＫｆの位相が一致するように並送クロックＣＫ１が生成されるので、主回路ブロックＣＢ０が従回路ブロックから送られてくるデータを正しく取り込むことが可能となる。
【００４３】
また、その信号線１１１の途中には波形整形を行なうバッファ回路３０１〜３０４が設けられているため、主回路ブロックＣＢ０と従回路ブロックＣＢｉとの距離が離れていて信号線群１１１の配線長が長く時定数が大きかったとしても、信号が送信側から受信側に届くまでの送信所要時間をバッファ回路がない場合に比べて小さくすることができ、また複数ビットのデータを並列に送信する場合にビット間の送信ばらつきを抑えることができる。これとともに、送信側の回路ブロックは、ある信号を送信した後、その信号が受信側の回路ブロックに届く前に次の信号を送信することができるようになる。そして、そのようにシステムを構成することにより、連続したデータの送信所要時間を短縮することができる。
【００４４】
さらに、この実施例では、クロック信号線が各ブロックの中心Ｃ１〜Ｃ６に接続されて、そこから各ブロック内の末端回路にクロックを供給するように構成されているので、クロックが供給されていない間は従回路ブロックの動作は停止し、これによってＬＳＩ全体としての消費電力を低減することができる。
【００４５】
図３には、上記位相調整回路２３０の具体的な回路例が示されている。この実施例の位相調整回路２３０は、主回路ブロックＣＢ０側の内部クロックＣＫ０と従回路ブロックＣＢｉからの帰還クロックＣＫｆの位相を比較して帰還クロックＣＫｆの位相が遅れているときはアップ信号ＵＰを、また帰還クロックＣＫｆの位相が進んでいるときはダウン信号ＤＮを出力する位相検出器２３１と、位相検出器２３１からの出力ＵＰによってカウントダウンし出力ＤＮによってカウントアップするカウンタ２３２と、カウンタ２３２の計数値をデコードして計数値に応じた１つの信号がハイレベルに変化するデコーダ２３３と、デコーダ２３３の各出力ビットに各々対応した遅延段回路２３４ａ〜２３４ｎが縦続接続されてなる可変遅延回路２３４とから構成されている。
【００４６】
遅延段回路２３４ａ〜２３４ｎは、それぞれ図４に示すように３つのＮＡＮＤゲートＧ１〜Ｇ３と１つのインバータＧ０とからなる組合せ回路により構成されており、制御信号ＣＴＬ０がハイレベルのときは前段回路からの入力信号ＩＮＦを出力信号ＯＵＴＦとして次段回路へ伝えるとともに次段回路からの入力信号ＩＮＢを出力信号ＯＵＴＢとして前段回路へ伝え、制御信号ＣＴＬ０がロウレベルにされると次段回路からの入力信号ＩＮＢを遮断して入力信号ＩＮＦを出力信号ＯＵＴＢとしてそのまま元の前段回路へ戻すように動作する。
【００４７】
かかる構成の遅延段回路が図３のように複数個（例えば３２個）縦続接続され、各遅延段回路２３４ａ〜２３４ｎにデコーダ２３３の対応する出力ビットが制御信号ＣＴＬ０として供給されることにより、初段の遅延段回路２３４ａに入力されたクロックＣＫ０は次段の遅延段回路２３４ｂ，２３４ｃ……へ次々と伝達され、デコーダ２３３の出力ビットのうち“１”になっているものに対応する遅延段回路でＵターンして前段の遅延段回路へ順次戻り、初段の遅延段回路２３４ａの出力端子ＯＵＴＢから遅延クロックＣＫ１として出力される。この実施例では、クロックＣＫ０が伝達する遅延段回路の数がデコーダ２３３の出力に応じて変更されることでクロックＣＫ０の遅延時間が変化される。
【００４８】
具体的には、遅延段回路１段当たりの遅延時間をｔｄとすると、例えば可変遅延回路２３４のｉ段目の遅延段回路２３４ｉでクロックがＵターンされるように制御された場合には、クロックＣＫ１はＣＫ０よりも２ｉ×ｔｄだけ遅延したクロックとして出力される。そして、カウンタ２３１の出力ＵＰによりカウンタ２３２の計数値が小さくなると、可変遅延回路２３４における遅延時間が短くされ、帰還クロックＣＫｆの位相が進むこととなる。一方、カウンタ２３１の出力ＤＮによりカウンタ２３２の計数値が大きくなると可変遅延回路２３４における遅延時間が長くされ、帰還クロックＣＫｆの位相が遅れることとなる。
【００４９】
（第２実施例）
次に、本発明の第２の実施例を、図５〜図９を用いて説明する。
図５は、本発明の第２の実施例を適用した半導体集積回路全体のブロック構成と各ブロック間での信号の送受信のための接続関係を示す。第２の実施例では、図５に示されているように、１個の半導体チップ１００上にそれぞれほぼ独立した機能を有する８個の回路ブロックが設けられている。図５の実施例はマルチプロセッサシステムを想定しており、８個のブロックのうち４個の回路ブロックＰＢ１，ＰＢ２，ＰＢ３，ＰＢ４はプロセッサを、また残りの４個の回路ブロックＣＢ１，ＣＢ２，ＣＢ３，ＣＢ４はメモリもしくは周辺モジュールを表わしている。
【００５０】
この実施例においては、各回路ブロックごとに、外部からクロック端子１１０に入力される例えば２５６ＭＨｚのようなクロック信号ＣＬＫを基準クロックとし、それを逓倍して例えば１ＧＨｚのような内部クロックＣＫ０を生成するＰＬＬ回路１２０がそれぞれ設けられている。主たる回路ブロックＰＢ１，ＰＢ２，ＰＢ３，ＰＢ４では、生成された内部クロック信号ＣＫ０が一旦当該回路ブロックのほぼ中心Ｃ１，Ｃ２，Ｃ３，Ｃ４まで運ばれ、ここからＨツリー状のクロック分配線Ｌ１１，Ｌ２１，Ｌ３１，Ｌ４１によりブロック内の各部に供給される。図示しないが、クロック分配線Ｌ０の各分岐点には入力された信号を複数に分割するデバイダやなまった信号を波形整形するバッファなどが設けられる。
【００５１】
なお、主回路ブロックＰＢ１，ＰＢ２，ＰＢ３，ＰＢ４では、Ｈツリー状クロック分配線Ｌ１１〜Ｌ４１は、ブロックの中心からクロックの供給を受ける末端回路（フリップフロップや論理ゲート回路等）までの配線長がほぼ等しくなるように形成される。これによって、ブロックＰＢ１〜ＰＢ４の各内部クロック同士ではクロックスキューはあるものの、各ブロック内ではチップ全体にツリー状クロック分配線を形成する場合に比べてクロックスキューはかなり小さくされる。
【００５２】
従たる回路ブロックＣＢ１〜ＣＢ４では、完全な形でのＨツリー状分配線の代わりに、ＰＬＬ回路１２０もしくはＰＬＬ回路１２０で生成されたクロックに基づいて各種内部タイミング信号を生成するタイミングジェネレータ（図示略）から、そのタイミング信号を受ける回路までの配線長が等しくなるように配線を設計したり、タイミングジェネレータの各出力タイミング信号が各々その到達時間を予め考慮したタイミングで生成されるようにタイミングジェネレータを設計することにより、実質的に等長とみなされる分配用配線が形成されている。
【００５３】
また、各ブロックＰＢ１〜ＰＢ４とＣＢ１〜ＣＢ４にはそれぞれブロック間で信号のやり取りをするためのインタフェース回路Ｉ／Ｆ１１〜Ｉ／Ｆ１４；〜Ｉ／Ｆ８１〜Ｉ／Ｆ８４が設けられている。この実施例においては、主回路ブロックＰＢ１のインタフェース回路Ｉ／Ｆ１１〜Ｉ／Ｆ１４は、従たる回路ブロックＣＢ１〜ＣＢ４のインタフェース回路Ｉ／Ｆ５１，Ｉ／Ｆ６２，Ｉ／Ｆ７２，Ｉ／Ｆ８１と信号線群１１１ａ，１１１ｂ〜１１４ａ，１１４ｂによって接続されている。これらの信号線群のうち１１１ｂ〜１１４ｂにはそれぞれクロックを並送するための信号線が含まれている。
【００５４】
図５には示されていないが、主回路ブロックＰＢ２のインタフェース回路Ｉ／Ｆ２１〜Ｉ／Ｆ２４と従たる回路ブロックＣＢ１〜ＣＢ４のインタフェース回路Ｉ／Ｆ５２，Ｉ／Ｆ６１，Ｉ／Ｆ７１，Ｉ／Ｆ８２と間も同様な信号線群によって接続されている。これらの信号線群にもそれぞれクロックを並送するための信号線が含まれている。主回路ブロックＰＢ３，ＰＢ４に関しても同様である。この実施例では、従回路ブロックＣＢ１〜ＣＢ４はＰＬＬ回路１２０を備え、それぞれ外部からのクロック信号ＣＬＫに基づいて内部クロックを生成するように構成されているが、ＣＢ１〜ＣＢ４のうち幾つかあるいは全てを図１の実施例と同様に、主回路ブロックＰＢ１〜ＰＢ４からの並送クロックを内部クロックとするように構成することも可能である。
【００５５】
図６は、図５における主たる回路ブロックＰＢ１〜ＰＢ４のうちいずれか１つと、従たる回路ブロックＣＢ１〜ＣＢ４のいずれか１つのとの間の信号の送受信部を抽出してより詳細に示したものである。
【００５６】
図６の左側に示されている主回路ブロックＰＢにおいて、４４１はメモリをアクセスするために生成され内部回路からバッファ４４０を介して供給されるアドレス信号のような送信すべきデータ信号をラッチする出力ラッチ回路、４４２は主回路ブロックＰＢから従回路ブロックＣＢへ送信されるデータの送信タイミングを示す同期信号Ｓｙｎｃをラッチするラッチ回路、４８１，４８２は上記ラッチ回路４４１，４４２にラッチされた信号を出力する出力バッファ回路である。
【００５７】
図６には、出力ラッチ回路４４１とアドレスを送信する信号線が１つだけ示されているが、実際にはアドレスのビット数に応じた数だけ設けられる。なお、上記同期信号Ｓｙｎｃは、特に制限されるものでないが、連続したデータを送信する場合には、例えば図７（ｅ）のように、４ビットの送信データの最初の１ビットに対応した期間だけハイレベルとされるような信号とされる。
【００５８】
また、４４３は主回路ブロックＰＢ内のクロックＣＫ０を２分周する分周回路、４８３は上記分周回路４４３で分周された信号を差動信号Ｄｃｋｐ，Ｄｃｋｎとして出力する出力バッファ回路であり、上記出力バッファ回路４８１〜４８３の出力信号が信号線群１１１ａ，１１１ｂによって従回路ブロックＣＢへ供給される。そして、上記信号線群１１１ａ，１１１ｂの各信号線は互いに並行して配設されることにより、ほぼ等しい配線長すなわち等しい遅延を有するように形成され、信号線群１１１ａ，１１１ｂの各信号線の途中に波形整形を行なうバッファ回路４０１〜４０６，４１１〜４１６，４２１〜４２６，４３１〜４３６が設けられている。
【００５９】
特に制限されるものでないが、上記バッファ回路４０１〜４０６，４１１〜４１６，４２１〜４２６，４３１〜４３６は、半導体チップ上において例えば１〜３ｍｍのような間隔で設けられる。上記のように、クロックを差動信号として送信することによって、ノイズに対するマージンを大きくしてクロックを送信できるという利点や、受信側でのクロツクの受信タイミングの位相ずれを小さくできるという利点がある。また、クロックを２分周して送信することによって、転送周波数の向上が容易となるという利点がある。
【００６０】
図６の右側に示されている従回路ブロックＣＢにおいて、４９１〜４９３は上記信号線群１１１ａ，１１１ｂの各信号線の他端（受信側）に設けられた入力バッファ回路、４４４〜４４７は入力バッファ４９１により取り込まれたデータ信号をラッチする入力ラッチ回路、４８０は入力ラッチ回路４４４〜４４７にラッチされたデータのうち１つを選択するセレクタ回路、４４８はセレクタ回路４８０により選択されたデータをラッチするデータラッチ回路である。上記入力バッファ４９１〜４９３のうちクロックを取り込むバッファ４９３は差動入力型のバッファ回路により構成されている。
【００６１】
４７０は、上記バッファ４９３により取り込まれたクロックを遅延させて位相を調整する位相調整回路、４５１〜４５４は前記バッファ４９２により取り込まれた同期信号Ｓｙｎｃを位相調整回路４７０により位相調整されたクロックＤｃｋｐｔｄに基づいて取り込んで順次シフトするラッチ回路である。また、４５５は上記ラッチ回路４５１〜４５４にラッチされた信号および位相調整回路４７０により位相調整されたクロックＤｃｋｐｔ_ｏｕｔを、入力ラッチ回路４４４〜４４７に分配する分配系配線網で、この分配系配線網４５５から出力される信号のうちクロックＤｃｋｐｔ_ｄは位相調整回路４７０へ帰還され、位相調整回路４７０は帰還されたクロックＤｃｋｐｔ_ｄと受信クロックＤｃｋｐｔの位相を比較して一致するように位相調整を行なう。なお、Ｄｃｋｐｔ_ｄは、クロックＤｃｋｐｔ_ｏｕｔが分配系配線網４５５で分配された後のクロックである。
【００６２】
４６０は前記セレクタ回路４８０の選択制御信号Ｃｔｌ０〜Ｃｔｌ３を形成する選択制御回路で、この選択制御回路４６０は別途回路ブロックＣＢに分配された同期信号Ｓync(CB)と従回路ブロックＣＢ側のクロックＴｃｋ，／Ｔｃｋとに基づいて、上記入力ラッチ回路４４４〜４４７にラッチされたデータをセレクタ回路４８０により順番に選択して後段のデータラッチ回路４４８へ供給させるような選択制御信号Ｃtl０〜Ｃtl３を形成する。この選択制御回路４６０に入力される同期信号Ｓｙｎｃ’は、上記入力ラッチ回路４４４〜４４７にラッチされたデータを４４４，４４５，４４６，４４７，４４４……のように取り込まれた順に正しく読み出す選択制御信号Ｃｔｌ０〜Ｃｔｌ３の形成開始タイミングを与えるために入力される信号であり、これにより例えば４４６，４４７，４４４，４４５，４４６……のような誤った順序でデータが読み出されるのを防止することができる。
【００６３】
次に、上記主回路ブロックＰＢから従回路ブロックＣＢに対するデータおよびクロックの送信とその受信動作について、図７〜図９を用いて説明する。
【００６４】
この実施例では、主回路ブロックＰＢの出力バッファ回路４８１により、図７（ｂ）に示すように、主回路ブロックＰＢ側のクロックＣＫ０に同期したデータＤａｔａが信号線群１１１ａ上へ出力される。また、主回路ブロックＰＢの出力バッファ回路４８３により、図７（ｃ），（ｄ）に示すように、主回路ブロックＰＢ側のクロックＣＫ０を２分周した２倍の周期の差動クロックＤｃｋｐ，Ｄｃｋｎが、出力バッファ回路４８２により、図７（ｅ）に示すようなクロックＣＫ０の４倍周期の同期信号Ｓｙｎｃが、信号線群１１１ｂ上へ出力される。
【００６５】
これらの信号は、図８（ａ）〜（ｃ）に示すように、従回路ブロックＣＢの入力バッファ回路４９１，４９２，４９３により、所定の遅延時間Ｔｐｄだけ遅れた信号Ｄａｔａｔ，Ｄｃｋｐｔ，Ｓｙｎｃｔとして取り込まれる。そして、位相調整回路４７０で受信クロックＤｃｋｐｔよりもΔｔだけ遅れた図８（ｄ）に示すような遅延クロックＤｃｋｐｔ_ｏｕｔが形成される。この遅延クロックＤｃｋｐｔ_ｏｕｔによりラッチ回路４５１〜４５４がラッチ動作されることにより、図８（ｅ）〜（ｈ）に示すような、周期が遅延クロックＤｃｋｐｔ_ｏｕｔの４倍で互いに位相が９０°ずつずれた４種類の受信イネーブル信号ＣＫＥＮ０〜ＣＫＥＮ３が形成されて、分配系配線網４５５を介して前記入力ラッチ回路４４４〜４４７に供給される。
【００６６】
入力ラッチ回路４４４〜４４７のラッチトリガ端子の前段には、上記受信イネーブル信号ＣＫＥＮ０〜ＣＫＥＮ３のそれぞれを一方の入力とし遅延クロックＤｃｋｐｔ_ｄを他方の共通入力とするＡＮＤゲート４６１〜４６４が設けられており、受信イネーブル信号ＣＫＥＮ０〜ＣＫＥＮ３がハイレベルになっているＡＮＤゲートに対応する入力ラッチ回路４４４〜４４７が遅延クロックＤｃｋｐｔ_ｄの立上がりまたは立下りエッジによってラッチ動作され、図８（ｉ）〜（ｌ）に示すようにそれぞれ信号線上のデータＤ０，Ｄ１，Ｄ２，Ｄ３，Ｄ４……を順次取り込んで行く。
【００６７】
そして、入力ラッチ回路４４４〜４４７に取り込まれた受信データは、受信側の従回路ブロックＣＢのクロックＴｃｋに基づいて形成された図９（ｂ）〜（ｅ）に示すようなタイミングの選択制御信号Ｃｔｌ０〜Ｃｔｌ３により制御されるセレクタ回路４８０によって順次選択されて、次段のデータラッチ回路４４８に供給され、データラッチ回路４４８は従回路ブロックＣＢ側のクロックＴｃｋに同期してラッチ動作して、データＤａｔａｓｉ（Ｄ０，Ｄ１，Ｄ２，Ｄ３，Ｄ４……）を順次取り込み、受信データＤａｔａＲとして内部回路へ供給する。
【００６８】
上記のように、この実施例においては、データと並送されたクロックを受信して生成したクロックＤｃｋｐｔ_ｄで、受信データを入力ラッチ回路４４４〜４４７に順次取り込んでシリアル−パラレル変換することによって、図８（ｉ）〜（ｌ）に示すように、各データが保持されている期間を４周期に拡張している。そして、このように引き伸ばされた期間内に受信データを従回路ブロックＣＢ側のクロックＴｃｋに基づいて順次選択することでパラレル−シリアル変換して内部回路に供給するようにしているため、送信側の主回路ブロックＣＢのクロックＣＫ０と受信側の従回路ブロックＣＢのクロックＴｃｋの位相がかなりずれていたとしても正しく受信データを取り込むことができる。
【００６９】
なお、送信側のクロックＣＫ０と受信側のクロックＴｃｋは周波数が同一である場合には、位相のずれは最大で±１８０°であり、仮に１８０°ずれていたとしても本実施例の方式によれば、正しく受信データを取り込むことができることが図８より分かる。また、受信側のクロックＴｃｋは周波数が送信側のクロックＣＫ０の周波数の１／２や３／４である場合にも、入力ラッチ回路（４４４〜４４７）の数や選択制御回路４６０で形成する選択制御信号（Ｃｔｌ０〜Ｃｔｌ３）のタイミング等を工夫することで、ブロック間でデータの送受信が可能である。
【００７０】
図１０には、上記位相調整回路４７０の具体的な回路構成例が示されている。この実施例の位相調整回路４７０は、図３に示されている位相調整回路２３０と類似の構成を有する第１のＤＬＬ（ディレイ・ロックド・ループ）回路４７０Ａとその後段に接続された第２のＤＬＬ回路４７０Ｂとにより構成されている。このうち後段の第２ＤＬＬ回路４７０Ｂは図３の回路と同一の構成を有する。すなわち、第２ＤＬＬ回路４７０Ｂは、各々図３の位相検出器２３１，カウンタ２３２，デコーダ２３３，可変遅延回路２３４と同一の構成の位相検出器４７１Ｂ，カウンタ４７２Ｂ，デコーダ４７３Ｂ，可変遅延回路４７４Ｂにより構成されている。
【００７１】
一方、前段の第１ＤＬＬ回路４７０Ａは、位相検出器４７１Ａ，カウンタ４７２Ａ，デコーダ４７３Ａと縦続接続された２段の可変遅延回路４７４Ａ１，４７４Ａ２とにより構成されている。可変遅延回路４７４Ａ１で遅延されたクロックＤｃｋｐｔは、可変遅延回路４７４Ａ２で更に遅延されて出力される。図１０からも明らかなように、可変遅延回路４７４Ａ１と可変遅延回路４７４Ａ２の遅延時間は、デコーダ４７３Ａの出力が共通に供給されて制御されるにより同じになる。可変遅延回路４７４Ａ１，４７４Ａ２，４７４Ｂを構成する遅延段回路は、図４に示されているものと同一で良い。各ＤＬＬ回路４７０Ａ，４７０Ｂの基本的な動作は図３の回路と同じであるので、重複した説明は省略し相違する点を主として説明する。
【００７２】
前段の第１ＤＬＬ回路４７０Ａは、主回路ブロックＰＢからのクロックを受信する差動入力バッファ４９３の出力クロックＤｃｋｐｔを基準入力クロックとし、２段目の可変遅延回路４７４Ａ２で遅延されたクロックＴｃｙｃｄを帰還クロックとし、位相検出器４７１ＡでクロックＤｃｋｐｔの立下がりエッジとＴｃｙｃｄの立上がりエッジの位相差を検出して、その位相差が「０」となるように動作する。
【００７３】
これとともに、第１ＤＬＬ回路４７０Ａは、１段目の可変遅延回路４７４Ａ１で遅延されたクロックＴｈｃｙｃｄを、２段目の可変遅延回路４７４Ａ２へ入力されると共に第２ＤＬＬ回路４７０Ｂへも基準入力クロックとして入力されるように構成されている。これによって、第１ＤＬＬ回路４７０Ａは、受信クロックＤｃｋｐｔから送信側クロックＣＫ０の１／２周期（Ｄｃｋｐｔの周期の１／４）だけ位相がずれたクロックを生成して第２ＤＬＬ回路４７０Ｂに供給する１／２サイクル移相回路として機能する。
【００７４】
一方、第２ＤＬＬ回路４７０Ｂは、その出力クロックＤｃｋｐｔ_ｏｕｔが図６の分配系配線網４５５により入力ラッチ回路４４４〜４４７に分配された後のクロック信号Ｄｃｋｐｔ_ｄが帰還クロックとして入力され、この帰還クロックＤｃｋｐｔ_ｄと第１ＤＬＬ回路４７０Ａからの基準クロックＴｈｃｙｃｄの位相差を検出して、その位相差が「０」となるように動作する。これによって、入力ラッチ回路４４４〜４４７に分配されるクロック信号Ｄｃｋｐｔ_ｄの位相が、主回路ブロックＰＢから従回路ブロックＣＢへ送信されるデータの変化点と変化点の中央に来るように制御される。以下、そのタイミング制御を、図１１を用いて詳しく説明する。
【００７５】
第１ＤＬＬ回路４７０Ａは、図１１（ａ），（ｂ）のようにクロックＤｃｋｐｔの立下がりエッジとＴｃｙｃｄの立上がりエッジの位相差を検出して、その位相差が「０」となるように可変遅延回路４７４Ａ，４７４ＢでクロックＤｃｋｐｔを遅延させて帰還側出力クロックＴｃｙｃｄを生成する。これによって、帰還側出力クロックＴｃｙｃｄは受信クロックＤｃｋｐｔの半周期すなわち送信側クロックＣＫ０の１周期分だけ遅れたクロックとされる。一方、このとき、可変遅延回路４７４Ａの遅延量と４７４Ｂの遅延量は同じとなるように制御されるので、可変遅延回路４７４Ａから出力されるクロックＴｈｃｙｃｄは、図１１（ｃ）のように、受信クロックＤｃｋｐｔの１／４周期すなわち送信側クロックＣＫ０の１／２周期分だけ遅れたクロックとなる。
【００７６】
そして、この可変遅延回路４７４Ａから出力されるクロックＴｈｃｙｃｄが第２ＤＬＬ回路４７０Ｂに供給されて、入力ラッチ回路４４４〜４４７に分配されるクロック信号Ｄｃｋｐｔ_ｄの位相と比較され、位相差が「０」となるように出力クロックＤｃｋｐｔ_ｏｕｔを生成する（図１１（ｃ）〜（ｅ）参照）。これによって、例えば送信されるデータのビット数が大きくて各入力ラッチ回路４４４〜４４７が多くなりクロック供給配線が長くなって、分配されるクロック信号Ｄｃｋｐｔ_ｄの遅延が無視できない大きさになるような場合においても、入力ラッチ回路４４４〜４４７に分配されるクロック信号Ｄｃｋｐｔ_ｄの立上がりエッジおよび立下がりエッジが、それぞれ受信クロックＤｃｋｐｔのハイレベル期間（送信側ブロックのクロックＣＫ０の１周期）の中央、すなわち主回路ブロックＰＢから従回路ブロックＣＢへ送信されるデータの変化点と変化点の中央に来るように制御されることとなる。
【００７７】
なお、図６に示すような実施例においては、分配系配線網４５５からクロック信号Ｄｃｋｐｔ_ｄを受ける各入力ラッチ回路４４４〜４４７までのクロック配線が等長となるように設計することにより、各入力ラッチ回路４４４〜４４７におけるラッチタイミングのずれを少なくすることができる。
【００７８】
図１２は、半導体集積回路におけるブロック間信号伝送線上に設けられるバッファ回路の具体例を示す。本発明を適用した半導体集積回路においては、図１２（Ａ）に示すように、素子の大きさすなわち駆動力の異なる複数のバッファ回路が設けられる。具体的は、図６に示されているブロック内のバッファ回路４４０やブロック間信号線群１１１ａを構成するデータ送信用信号線の途中に設けられる波形整形用のバッファ回路４０１〜４０６、出力ドライバ用バッファ回路５００等である。なお、ここで出力ドライバ用バッファ回路５００は、当該半導体集積回路の外部に信号を出力するためのバッファ回路であり、図１や図５の実施例には示されていないものである。
【００７９】
図１２（Ａ）において、各バッファ毎に付記されているＷｐ１／Ｌｐ１，Ｗｐ２／Ｌｐ２およびＷｐ３／Ｌｐ３は、それぞれ各バッファが図１２（Ｂ）のように、ｐチャネルＭＯＳＦＥＴ  ＱｐとｎチャネルＭＯＳＦＥＴ  Ｑｎとから構成されている場合に、ｐチャネルＭＯＳＦＥＴのゲート幅（Ｗｐ）とゲート長（Ｌｐ）の比である。また、Ｗｎ１／Ｌｎ１，Ｗｎ２／Ｌｎ２およびＷｎ３／Ｌｎ３は、それぞれのバッファのｎチャネルＭＯＳＦＥＴ  Ｑｎのゲート幅（Ｗｎ）とゲート長（Ｌｎ）の比である。ＩＮはバッファ回路の入力端子、ＯＵＴはバッファ回路の出力端子である。
【００８０】
ここで、ｐチャネルＭＯＳＦＥＴのゲート幅Ｗｐとゲート長ＬｐおよびｎチャネルＭＯＳＦＥＴ  Ｑｎのゲート幅Ｗｎとゲート長Ｌｎは、ｐチャネルＭＯＳＦＥＴ  ＱｐとｎチャネルＭＯＳＦＥＴ  Ｑｎのレイアウト構成を示す図１２（Ｃ）において、ｐチャネルＭＯＳＦＥＴ  Ｑｐのポリシリコンゲート電極ＰＧの幅がＬｐ、このポリシリコンゲート電極ＰＧとｐチャネルＭＯＳＦＥＴ  Ｑｐのソース・ドレイン領域としての拡散領域ＰＳＤとの交差部分の長さがＷｐとみなされる。また、図１２（Ｃ）において、ｎチャネルＭＯＳＦＥＴ  Ｑｎのポリシリコンゲート電極ＮＧの幅がＬｎ、このポリシリコンゲート電極ＮＧとｎチャネルＭＯＳＦＥＴ  Ｑｎのソース・ドレイン領域としての拡散領域ＮＳＤとの交差部分の長さがＷｎとみなされる。ＬＶＤは電源電圧ＶDDを供給する電源配線、ＬＶＳは電源電圧ＶSSを供給する電源配線である。
【００８１】
この実施例においては、
Ｗｐ１／Ｌｐ１＜Ｗｐ３／Ｌｐ３，Ｗｎ１／Ｌｎ１＜Ｗｎ／Ｌｎ３
Ｗｐ２／Ｌｐ２＜Ｗｐ３／Ｌｐ３，Ｗｎ２／Ｌｎ２＜Ｗｎ／Ｌｎ３
の関係になるように、各バッファを構成するＭＯＳＦＥＴが設計されていると共に、ブロック間クロック送信用信号線の途中に設けられる波形整形用のバッファ回路４２１〜４２６，４３１〜４３６は、上記データ送信用信号線の途中に設けられる波形整形用のバッファ回路４０１〜４０６に最も近い大きさのバッファ回路を用いて構成される。同期信号Ｓｙｎｃを送信する信号線の途中に設けられる波形整形用のバッファ回路４１１〜４１６も同様にバッファ回路４０１〜４０６に最も近い大きさのバッファ回路を用いて構成される。
【００８２】
図１３は、本発明を適用した半導体集積回路における配線構造の具体例を示す。
【００８３】
特に制限されるものでないが、この実施例の半導体集積回路においては、８つのメタル層からなる８層配線構造が採用されている。図１３において、Ｍ０は１層目のメタル層、Ｍ１は２層目のメタル層で、以下同様にしてＭ７が８層目のメタル層である。そして、各メタル層Ｍ０〜Ｍ７間はそれぞれ図示しない層間絶縁膜で絶縁分離され、この絶縁膜に形成されたスルーホールに充填された導電体Ｖｉａ０〜Ｖｉａ６によって上下のメタル層間の導通が行なわれる。上記メタル層Ｍ０〜Ｍ７および導電体Ｖｉａ０〜Ｖｉａ６は例えばタングステンや銅、アルミニウム、チタンなどの金属からなり、層間絶縁膜は例えば窒化シリコン膜や酸化シリコン膜、ＰＳＧ膜などからなる。
【００８４】
この実施例においては、メタル層Ｍ０とＭ１によりフリップフロップやラッチ回路、論理ゲート回路などのセルと呼ばれる設計単位の回路内の接続配線が形成され、メタル層Ｍ１〜Ｍ４により前記回路ブロック内の接続配線が形成され、メタル層Ｍ５，Ｍ６により回路ブロック間の接続配線が形成され、メタル層Ｍ７により電源配線が形成されている。そして、メタル層Ｍ０〜Ｍ４により形成される上記セル内および回路ブロック内の配線はプロセスで加工可能な最小幅とされる。一方、メタル層Ｍ５〜Ｍ７により形成される上記ブロック間の配線および電源配線は、上記メタル層Ｍ０〜Ｍ４の配線よりも厚くされるとともに配線幅も最小幅の約２倍とされる。また、配線同士の間隔もメタル層Ｍ０〜Ｍ４に比べてメタル層Ｍ５〜Ｍ７の配線の方が広くされる。
【００８５】
上記のように、この実施例では、メタル層Ｍ５，Ｍ６により回路ブロック間の接続配線が形成されるため、チップサイズを増大させることなく回路ブロック間送信用の信号線を形成できるとともに、メタル層Ｍ０〜Ｍ４からなるブロック内配線と干渉しないので、回路ブロック間送信用の信号線のレイアウト設計も容易となる。
【００８６】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば前記実施例における位相調整回路は、位相検出器とカウンタとデコーダおよび論理ゲートの組合せ回路を遅延段とする可変遅延回路とにより構成されているが、そのような構成に限定されるものでなく、カウンタの代わりにチャージポンプ、デコーダの代わりにバイアス電圧発生回路、組合せ回路の代わりに前記バイアス電圧で制御される電流源からの電流で動作される差動増幅回路を遅延段とする可変遅延回路とすることも可能である。
【００８７】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるプロセッサとメモリを内蔵したシステムＬＳＩに適用した場合について説明したが、本発明はそれに限定されるものでなく、１つの半導体チップ上に複数の回路ブロックが搭載され、比較的はなれた位置にある回路ブロック間でデータ信号を送信したい場合に広く利用することができる。
【００８８】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００８９】
すなわち、本発明に従うと、送信サイクルすなわちクロック周期に対するクロックスキューの割合を低減することができ、これによってＬＳＩの動作周波数を高めることができるとともに、チップ内の長距離データ送信における遅延時間を短縮し、正確なデータ送信が可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施例を適用した半導体集積回路全体のブロック構成と各ブロック間での信号の送受信のための接続関係を示すブロック図である。
【図２】図１における主回路ブロックＣＢ０と他のいずれか１つの従回路ブロックＣＢｉとの信号の送受信部を抽出してより詳細に示した回路構成図である。
【図３】図２における位相調整回路の具体例を示す回路構成図である。
【図４】図３における可変遅延回路を構成する遅延段回路の具体例を示す論理ゲート構成図である。
【図５】本発明の第２の実施例を適用した半導体集積回路全体のブロック構成と各ブロック間での信号の送受信のための接続関係を示すブロック図である。
【図６】図５における主回路ブロックＰＢと他のいずれか１つの従回路ブロックＣＢとの信号の送受信部を抽出してより詳細に示した回路構成図である。
【図７】図５における主回路ブロックＰＢから出力される信号およびクロックのタイミングの一例を示すタイミングチャートである。
【図８】図５の従回路ブロックＰＢにおけるクロックの受信部およびデータラッチタイミングを生成する回路部分の信号のタイミングの一例を示すタイミングチャートである。
【図９】図５の主回路ブロックＰＢのデータ受信部における信号のタイミングの一例を示すタイミングチャートである。
【図１０】図５における位相調整回路の具体例を示す回路構成図である。
【図１１】図１０の位相調整回路における信号のタイミングの一例を示すタイミングチャートである。
【図１２】本発明を適用した半導体集積回路におけるブロック間信号伝送線上に設けられるバッファ回路の具体例を示す回路図およびレイアウト図である。
【図１３】本発明を適用した半導体集積回路における配線構造の具体例を示す断面説明図である。
【符号の説明】
１００  半導体チップ
１１０  クロック入力端子
１１１〜１１６  ブロック間接続用信号線群
１２０  ＰＬＬ回路
２１０〜２１２  ラッチ回路
２３０  位相調整回路
２３２  カウンタ回路
２３３  デコーダ
２３４  可変遅延回路
２３４ａ〜２３４ｎ  遅延段回路
３０１〜３０４  バッファ回路
３１１，３１２  ラッチ回路
３３０  タイミングジェネレータ
Ｂ０〜Ｂ４  回路ブロック
ＰＢ１〜ＰＢ４  主回路ブロック
ＣＢ１〜ＣＢ４  従回路ブロック
Ｉ／Ｆ  インタフェース回路
Ｌ０，Ｌ１０〜Ｌ６０  ツリー状分配配線
【図１】
0003663486.tif 000002
【図２】
0003663486.tif 000003
【図３】
0003663486.tif 000004
【図４】
0003663486.tif 000005
【図５】
0003663486.tif 000006
【図６】
0003663486.tif 000007
【図７】
0003663486.tif 000008
【図８】
0003663486.tif 000009
【図９】
0003663486.tif 000010
【図１０】
0003663486.tif 000011
【図１１】
0003663486.tif 000012
【図１２】
0003663486.tif 000013
【図１３】
0003663486.tif 000014