(57)【特許請求の範囲】
【請求項１】
受信した受信クロックに基づいて、複数の対象毎に最適な位相に調整された複数のクロックを発生するクロック発生回路であって、
前記受信クロックを遅延させる遅延量を段階的に調整することにより、前記受信クロックの位相を調整して粗調整クロックを出力する第１ＤＬＬ回路と、
前記複数の対象毎に設けられ、前記粗調整クロックを遅延させる遅延量を段階的に調整することにより前記粗調整クロックの位相を調整して前記複数のクロックを出力する複数の第２ＤＬＬ回路とを備え、
前記第１ＤＬＬ回路は、前記複数のクロックの内の少なくとも１つのクロックが最適な位相に対して所定の位相差範囲内であるか、該所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させ、
各第２ＤＬＬ回路は、前記複数のクロックがそれぞれ最適な位相に対して進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させることを特徴とするクロック発生回路。
【請求項２】
請求項１に記載のクロック発生回路であって、
前記第１ＤＬＬ回路の１段の遅延量は、前記複数の第２ＤＬＬ回路の１段の遅延量より大きいクロック発生回路。
【請求項３】
請求項１又は２に記載のクロック発生回路であって、
前記第１ＤＬＬ回路は、前記遅延量が独立に調整された複数の粗調整クロックを出力することが可能であり、前記複数のクロックのすべてがそれぞれ最適な位相に対して所定の位相差範囲内であるか、該所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて、各第２ＤＬＬ回路毎に遅延量が独立に調整された粗調整クロックを出力するクロック発生回路。
【請求項４】
請求項３に記載のクロック発生回路であって、
前記第１ＤＬＬ回路は、
前記受信クロックを段階的に遅延させるディレイ回路と、
該ディレイ回路の各段の出力を、各第２ＤＬＬ回路に出力するかしないかを切り換えるスイッチ列とを備え、
前記複数のクロックのすべてに対する判定結果の基づいて、前記スイッチ列において導通させるスイッチを選択するクロック発生回路。
【請求項５】
請求項１から４のいずれか１項に記載のクロック発生回路であって、
前記第１ＤＬＬ回路及び前記第２ＤＬＬ回路は、調整された遅延量を保持するラッチ機能を有するクロック発生回路。
【請求項６】
外部から入力される受信クロックに基づいて発生された内部クロックを分配するクロック分配回路と、
該クロック分配回路から供給される前記内部クロックから、複数のローカルクロックを発生するローカルクロック発生回路とを備える半導体装置であって、
前記ローカルクロック発生回路は、
前記内部クロックを遅延させる遅延量を段階的に調整することにより、前記内部クロックの位相を調整して粗調整クロックを出力する第１ＤＬＬ回路と、
前記粗調整クロックを遅延させる遅延量を段階的に調整することにより前記粗調整クロックの位相を調整して前記複数のローカルクロックを出力する複数の第２ＤＬＬ回路とを備え、
前記第１ＤＬＬ回路は、前記複数のローカルクロックの内の少なくとも１つのローカルクロックが最適な位相に対して所定の位相差範囲内であるか、該所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させ、
各第２ＤＬＬ回路は、前記複数のクロックがそれぞれ最適な位相に対して進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させることを特徴とする半導体装置。
【請求項７】
請求項６に記載の半導体装置であって、
前記第１ＤＬＬ回路は、前記遅延量が独立に調整された複数の粗調整クロックを出力することが可能であり、前記複数のクロックのすべてがそれぞれ最適な位相に対して所定の位相差範囲内であるか、該所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて、各第２ＤＬＬ回路毎に遅延量が独立に調整された粗調整クロックを出力する半導体装置。
【請求項８】
請求項６に記載の半導体装置であって、
当該半導体装置は、入力される入力データを前記複数のローカルクロックのエッジに同期してそれぞれ取り込む半導体装置。
【請求項９】
請求項８に記載の半導体装置であって、
前記複数のローカルクロックのエッジに同期してそれぞれ取り込まれた前記入力データを共通の再同期クロックで再同期化する再同期回路を備える半導体装置。
【請求項１０】
請求項６に記載の半導体装置であって、
前記クロック分配回路は、前記内部クロックの分配先までの配線距離と負荷が等しいＨツリー状配線を有する半導体装置。
【請求項１１】
請求項６に記載の半導体装置であって、
前記クロック分配回路は、
前記内部クロックを往復して伝達する往復配線と、
該往復配線に沿って設けられ、往復する前記内部クロックを受信して往復する前記内部クロックの中間の位相の補正内部クロックを発生するローカルクロックバッファとを備える半導体装置。
【請求項１２】
請求項６に記載の半導体装置であって、
前記第１ＤＬＬ回路の１段の遅延量は、前記複数の第２ＤＬＬ回路の１段の遅延量より大きい半導体装置。
【請求項１３】
請求項６に記載の半導体装置であって、
前記第１ＤＬＬ回路は、前記遅延量が独立に調整された複数の粗調整クロックを出力することが可能であり、前記複数のクロックのすべてがそれぞれ最適な位相に対して所定の位相差範囲内であるか、該所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて、各第２ＤＬＬ回路毎に遅延量が独立に調整された粗調整クロックを出力する半導体装置。
【請求項１４】
請求項１３に記載の半導体装置であって、
前記第１ＤＬＬ回路は、
前記受信クロックを段階的に遅延させるディレイ回路と、
該ディレイ回路の各段の出力を、各第２ＤＬＬ回路に出力するかしないかを切り換えるスイッチ列とを備え、
前記複数のクロックのすべてに対する判定結果の基づいて、前記スイッチ列において導通させるスイッチを選択する半導体装置。
【請求項１５】
請求項６に記載の半導体装置であって、
前記第１ＤＬＬ回路及び前記第２ＤＬＬ回路は、調整された遅延量を保持するラッチ機能を有する半導体装置。
【請求項１６】
請求項１５に記載の半導体装置であって、
当該半導体装置は、前記第１及び第２ＤＬＬ回路の遅延量を調整するキャリブレーションモードを備え、
該キャリブレーションモード終了後には、前記第１及び第２ＤＬＬ回路は、前記キャリブレーションモード終了時の遅延量を保持する半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、受信した外部クロックから複数の独立に位相調整されたクロックを発生するクロック発生回路、及び内部にこのようなクロック発生回路を有する半導体装置に関し、特に外部クロックのデータ取込みエッジに対する各入力データのばらつき補正を行う半導体装置に関する。
【０００２】
【従来の技術】
半導体装置を使用したコンピュータ等の大規模な半導体装置システムでは、システムの各部分がクロックに同期して動作するように構成されており、データ信号やアドレス信号などの信号の入出力はクロック信号に同期して行われる。図１は、このような半導体装置システムの基本構成とその動作を示す図である。図１の（１）に示すように、このシステムは、信号を送出する駆動側半導体装置１０１と、信号を受ける受信側半導体装置１０２とで構成される。駆動側半導体装置１０１からはクロック信号ＣＬＫと共に、クロック信号ＣＬＫに同期して出力信号Ｄ０〜Ｄｎが出力され、受信側半導体装置１０２は受信したクロックＣＬＫに同期して駆動側半導体装置１０１から送られた信号を入力信号Ｑ０〜Ｑｎとして取り込む。図１では、受信側半導体装置１０２が１個であるが、複数の受信側半導体装置１０２が存在する場合もある。また、半導体装置システムを構成する半導体装置は、他の半導体装置との間で信号の送受信を行うことが多く、そのような場合には動作に応じて駆動側になったり受信側になる。
【０００３】
図１の（２）は、（１）の半導体装置システムにおけるクロックＣＬＫと、バス上の信号を示す図であり、上側に駆動側から出力される時のクロックＣＬＫと出力信号Ｄ０〜Ｄｎを、下側にこれらの信号を受信側でクロックＣＬＫと入力信号Ｑ０〜Ｑｎとして取り込む時の状態を示している。駆動側半導体装置１０１は、クロックＣＬＫの立ち下がりに同期して出力信号Ｄ０〜Ｄｎを変化させる。受信側半導体装置１０２は取り込んだクロック信号ＣＬＫの立ち上がりに同期して信号Ｄ０〜Ｄｎを入力信号Ｑ０〜Ｑｎとして取り込む。
【０００４】
なお、図１の（２）ではクロックＣＬＫの立ち下がりに同期して出力信号が変化し、クロックＣＬＫの立ち上がりに同期して入力信号として取り込まれるとしたが、クロックＣＬＫの立ち下がりや立ち上がりからずれた位相で出力信号が変化し、半導体装置内に取り込む場合もある。以下の例では、説明を簡単にするために、入力信号はクロックＣＬＫの立ち下がりに同期して変化し、クロックＣＬＫの立ち上がりに同期して取り込まれるものとして説明するが、本発明はこれに限られるものではない。
【０００５】
図１の（２）に示すように、駆動側半導体装置１０１は、出力するクロックＣＬＫの立ち下がりに同期して出力信号Ｄ０〜Ｄｎを変化させるが、実際には出力回路の特性の差や出力タイミング信号の位相差などのために、各出力信号の変化エッジはクロックＣＬＫの立ち下がりに対して図示のようにばらつく。駆動側半導体装置１０１から受信側半導体装置１０２への信号配線は、配線の長さが異なったり、配線に接続される負荷が異なるため、信号間で駆動側半導体装置１０１から受信側半導体装置１０２への伝達時間に差が生じる。そのため、受信側半導体装置１０２が受信する入力信号の変化エッジのクロックＣＬＫの立ち下がりエッジに対するばらつきは、図示のように、更に大きくなる。このばらつき期間はすべての入力信号が確定していないため、入力信号の取込みが行えない不確定期間である。このような信号間の位相のばらつきをスキューと呼んでいる。スキューは信号配線の長さや負荷などで生じるため、これを全くゼロにすることはできない。
【０００６】
半導体装置がラッチ回路により入力信号を取り込む場合、ラッチ回路には動作の関係から必然的に必要なセットアップ時間ｔＳＩとホールド時間ｔＨＩがあり、クロックＣＬＫの立ち上がりエッジの前後で入力信号が確定している必要のある時間が定められている。従って、受信側半導体装置１０２が受信する入力信号にスキューがあってもクロックＣＬＫの立ち上がりエッジの前後では、セットアップ時間ｔＳＩとホールド時間ｔＨＩの間、入力信号が確定している必要がある。クロック周期から入力信号の不確定期間を差し引いた期間が入力信号の確定期間である。低速のシステムでは、上記のような入力信号の不確定期間はクロック周期に比べて相対的に小さくあまり問題にならないが、高速のシステムではクロック周期が非常に短くなるので、入力信号の不確定期間がクロック周期に占める割合が相対的に大きくなり、その分確定期間が減少するので大きな問題になる。そのため、スキューが半導体装置の動作速度を規定するといった事態も生じている。
【０００７】
本出願人は、特願平８−３３４２０８号で、このような問題を解決するための技術を開示している。図２は、特願平８−３３４２０８号に開示された、入力信号のスキュー対策を行う従来例の構成を示す図である。図２に示すように、各入力信号Ｄ０〜Ｄｎ毎に入力信号取込みタイミング調整回路１２−０〜１２−ｎを設ける。各入力信号取込みタイミング調整回路は、入力バッファ１３と、入力ラッチ回路１４と、ＤＬＬ（delay locked loop)回路１５とで構成されている。ＤＬＬ回路１５は、クロックバッファ１１の出力するクロックを遅延させ、その遅延量が段階的に変えられるディレイ回路と、遅延させたクロックが入力バッファ１３から出力される入力信号を取り込むのに最適な位相であるかを判定する位相比較回路で構成され、最適な位相になるまで遅延量を調整する回路である。これにより、ＤＬＬ回路１５からは入力信号を取り込むのに最適な位相のクロックが出力されるので、このクロックに従って入力ラッチ１４で入力バッファ１３から出力される入力信号をラッチする。図示のように、このような入力信号取込みタイミング調整回路が各入力信号毎に設けられているので、各入力信号はスキューにかかわらず最適なタイミングで取り込まれる。
【０００８】
各入力ラッチ１４の取込みタイミングは独立に調整されているため、上記のようにして取り込まれた各入力信号は位相がずれており、内部で同時に処理する場合に問題がある。そこで、再同期ラッチ１６−０〜１６−ｎを設けて、各入力ラッチ１４から出力される位相の異なる入力信号の位相を揃える。このような構成により、各入力信号を最適なタイミングで取り込むと共に、位相の揃った入力信号として出力されることになる。
【０００９】
【発明が解決しようとする課題】
図２のＤＬＬ回路を構成するディレイ回路は、１段分の遅延量を生じる多数のディレイ要素を直列に接続したディレイラインを有する。そのため、１段当りの遅延量を小さくして精密な位相調整を可能にする場合、想定されるスキュー以上に位相調整が行える必要があり、非常に段数が大きくなる。そのため、ディレイ回路の回路規模は大きい。しかも、このようなディレイ回路を各入力信号毎に設ける必要があり、図２に示す入力信号のスキュー対策を行う回路全体は、非常に大きな回路規模になり、チップ面積に大きな影響を及ぼし、チップ面積を増大させる一因になる。
【００１０】
本発明は、このような問題を解決するためのもので、スキュー対策回路の占有面積を小さくすることを目的とする。しかし、本発明はスキュー対策回路に限らず、ＤＬＬ回路を有する回路であればどのような回路にも適用可能である。
【００１１】
【課題を解決するための手段】
図３は、本発明のクロック発生回路の原理構成図である。図３に示すように、本発明のクロック発生回路は、ＤＬＬ回路を階層化構造とし、親階層である第１ＤＬＬ回路２１は共通に使用し、子階層である第２ＤＬＬ回路２２−０〜２２−ｎは各入力信号毎に設ける。これにより、第１ＤＬＬ回路２１は共通に使用できるので、回路規模を低減できる。階層化しても各入力毎に個々に回路を用意しては面積が大きく効果がないので、親階層を共通化する必要がある。
【００１２】
すなわち、本発明のクロック発生回路は、受信した受信クロックＣＬＫに基づいて、複数の対象毎に最適な位相に調整された複数のクロックＦＣＬＫ０〜ＦＣＬＫｎを発生するクロック発生回路であって、受信クロックＣＬＫを遅延させる遅延量を段階的に調整することにより、受信クロックの位相を調整して粗調整クロックＲＣＬＫを出力する第１ＤＬＬ回路２１と、複数の対象毎に設けられ、粗調整クロックＲＣＬＫを遅延させる遅延量を段階的に調整することにより粗調整クロックＲＣＬＫの位相を調整して複数のクロックＦＣＬＫ０〜ＦＣＬＫｎを出力する複数の第２ＤＬＬ回路２２−０〜２２−ｎとを備え、第１ＤＬＬ回路２１は、複数のクロックの内の少なくとも１つのクロックが最適な位相に対して所定の位相差範囲内であるか、所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させ、各第２ＤＬＬ回路２２−０〜２２−ｎは、複数のクロックＦＣＬＫ０〜ＦＣＬＫｎがそれぞれ最適な位相に対して進んでいるか遅れているかを判定し、その判定結果に基づいて位相調整量を変化させることを特徴とする。
【００１３】
第１ＤＬＬ回路の１段の遅延量を、第２ＤＬＬ回路の１段の遅延量より大きくすることが望ましい。前述のように、ディレイ回路の１段分の遅延量を大きくすると回路規模は小さくできるが精密な位相調整が行えないが、このような構成にすることにより、回路規模を小さくして精密な調整が行える。
上記の構成は、クロックＣＬＫと入力信号群の信号経路などの差により、クロックＣＬＫと入力信号群の間に入力信号間のスキューより大きなスキューがある場合に適用でき、クロックＣＬＫと入力信号群の間のスキューを第１ＤＬＬ回路で調整し、入力信号間のスキューを第２ＤＬＬ回路で調整する。
【００１４】
ディレイ回路を共通化するには、ディレイラインは同一とし、対象毎にディレイラインの各段から選択的にクロックを取り出せるようにすることもできる。この考えを上記の構成に適用して、第１ＤＬＬ回路２１を遅延量が独立に調整された複数の粗調整クロックを出力することを可能にし、複数のクロックのすべてがそれぞれ最適な位相に対して所定の位相差範囲内であるか、所定の位相差範囲内でない時には進んでいるか遅れているかを判定し、その判定結果に基づいて、各第２ＤＬＬ回路毎に遅延量が独立に調整された粗調整クロックを出力するようにする。これであれば、対象毎の受信クロックに対する調整範囲は、第１ＤＬＬ回路２１と第２ＤＬＬ回路の調整範囲を加えた範囲であり、しかもこれらの調整範囲は対象毎に独立である。従って、対象間のスキューが第１ＤＬＬ回路２１と第２ＤＬＬ回路の調整範囲を加えた範囲であれば調整可能である。
【００１５】
そのためには、第１ＤＬＬ回路を、受信クロックを段階的に遅延させるディレイ回路と、このディレイ回路の各段の出力を、各第２ＤＬＬ回路に出力するかしないかを切り換えるスイッチ列とで構成し、各クロックに対する判定結果の基づいて、前記スイッチ列において導通させるスイッチを選択する。
クロック発生回路において、第１及び第２ＤＬＬ回路で最適な位相であるかを判定するためには、対象をそのような判定動作を行うのに適した状態とすることが望ましい。しかし、対象をそのような状態にしたのでは通常の動作が行えないので、第１及び第２ＤＬＬ回路の遅延量を調整するキャリブレーションモードを設け、キャリブレーションモード終了後には、第１及び第２ＤＬＬ回路は、キャリブレーションモード終了時の遅延量を保持できることが望ましい。そのためには、第１及び第２ＤＬＬ回路は、調整された遅延量を保持するラッチ機能を有することが望ましい。
【００１６】
更に、外部から入力される受信クロックに基づいて発生された内部クロックを分配するクロック分配回路と、クロック分配回路から供給される内部クロックから、複数のローカルクロックを発生するローカルクロック発生回路とを備える半導体装置が知られているが、このローカルクロック発生回路に、本発明のクロック発生回路を適用することにより、ローカルクロック発生回路の回路規模を低減できる。特に、本発明は、半導体装置に入力される入力データを取り込むためのクロック信号を発生させるローカルクロック発生回路に適用することが望ましい。これは、入力信号間、及びローカルクロックと入力信号群の間にスキューがあり、それが高速化の上での問題であったためである。
【００１７】
また、このようにして発生された複数のローカルクロックに同期して取り込んだ入力信号間にはスキューがあるため、複数のローカルクロックのエッジに同期してそれぞれ取り込まれた前記入力データを共通の再同期クロックで再同期化する再同期回路を設けることが望ましい。
各ローカルクロック発生回路まで内部クロックを分配するクロック分配回路は、分配する内部クロックにスキューが生じないようにすることが望ましく、分配先までの配線距離と負荷が等しいＨツリー状配線で構成するクロック分配回路か、内部クロックを往復して伝達する往復配線と、往復配線に沿って設けられ、往復する内部クロックを受信して往復する内部クロックの中間の位相の補正内部クロックを発生するローカルクロックバッファとを備えるクロック分配回路とする。
【００１８】
【発明の実施の形態】
以下、本発明をシンクロナス・ダイナミック・ランダムアクセス・メモリ（ＳＤＲＡＭ）の入力信号の取込み部分に適用した実施例を説明するが、本発明はこれに限られるものではなく、例えば、ＳＤＲＡＭの出力信号をクロックに同期させて出力する出力部分など、各信号毎に最適な位相のクロック信号を発生させるためＤＬＬ回路を使用する装置であればどのようなものにも適用可能である。
【００１９】
図４は、本発明の第１実施例のＳＤＲＡＭの全体構成を示す図である。図示のように、チップの長辺に沿ってセルアレイ／センスアンプなどで構成されるメモリコア３０が配置され、中央部にはアドレスバッファ／デコーダなどで構成される周辺回路部が配置されている。周辺回路部の中央部にはパッド３１から３５が一列に配置され、その両側に周辺回路が配置される。パッドは、両側に配置されるデータ信号用パッド３１と３４と、コントロール信号用パッド３２と、アドレス信号用パッド３３のグループに分けられ、クロック用パッド３５はコントロール信号用パッド３２の中に設けられている。クロック用パッド３５に入力された外部クロックは、クロックバッファ３６に入力されてチップ内に取り込まれる。クロックバッファ３６の出力する内部クロックは、クロック分配回路によりチップ全体に供給される。
【００２０】
クロック分配回路は、チップ内の各部に同じ位相の内部クロックＣＬＫを供給することが望ましい。このようなクロック分配回路としては、後述するＨツリー状クロック分配回路が知られているが、本出願人は、特願平９−８３０５０号で、新しいクロック分配回路を提案しており、第１実施例ではこれを使用している。図示のように、このクロック分配回路は、クロックドライバ３７からチップ内を走るように往路用クロック信号線を設け、終端にディレイ回路３８を設ける。そしてディレイ回路３８から往路用クロック信号線に平行に復路用クロック信号線を設け、往路用クロック信号線からディレイ回路３８に供給されたクロックを一定量遅延させた上で、復路用クロック信号線に印加する。ここでは、更に往路用と復路用クロック信号線に平行に主クロック信号線を設ける。これらのクロック信号線に沿ってローカルＣＬＫバッファ３９を配置し、ここからその周辺の領域に内部クロックを供給する。往路用クロック信号線を伝達する往路クロックと復路用クロック信号線を伝達する復路クロックの中間の位相は、クロック信号線に沿ったいずれの地点でも同じである。従って、各ローカルＣＬＫバッファ３９は、それぞれ主クロック信号線から供給される内部クロックを、往路クロックと復路クロックの位相差の１／２だけ遅延させて内部クロックＣＬＫを発生して出力する。ディレイ回路３８は、このディレイ回路３８がないと終端付近においては往路クロックと復路クロックの位相差が小さく、それを正確に検出して補正するのが難しいため、このディレイ回路３８によりある程度の位相差が生じるようにするためである。また、内部クロックは非常に高周波数であるため、配線距離が長くなると比較する位相を判別するのが難しくなる。そこで、往路用クロック信号線と復路用クロック信号線では位相差を検出するための長い周期のクロックを伝達し、主クロック信号線で内部クロックを伝達する。
【００２１】
上記のようにして、左右のクロック信号線にそれぞれ接続される各ローカルＣＬＫバッファ３９は同じ位相の内部クロックＣＬＫを発生するが、左右のクロック信号線の長さや負荷が異なると左右のローカルＣＬＫバッファ３９が発生する内部クロックＣＬＫは同じ位相になるとは限らない。そこで、クロックドライバ３７の部分に位相比較回路９０を設け、この回路で復路用クロック信号線を伝達する復路クロックの位相を比較し、左右の復路クロックの位相が一致するように、一方のディレイ（ここでは左側のディレイ）３８の遅延量を調整している。これにより、左右のローカルＣＬＫバッファ３９が発生する内部クロックＣＬＫは同じ位相になる。
【００２２】
以上説明したように、第１実施例では、各ローカルＣＬＫバッファ３９からは、位置にかかわらず同じ位相の内部クロックＣＬＫが出力されることになる。ローカルＣＬＫバッファ３９の出力する内部クロックＣＬＫは、ばらつき補正入力回路４０に供給される。第１実施例では、ばらつき補正入力回路４０は、入力信号を取り込むラッチ回路を有し、そこに供給される取込みのタイミングを規定するローカルクロックを発生させる。また、ローカルＣＬＫバッファ３９からチップ内部に直接内部クロックが供給される部分もある。
【００２３】
前述のように、入力信号はクロックに対してスキューを有すると共に、入力信号間にもスキューがある。内部クロックは上記のようにして分配されるため、各ローカルＣＬＫバッファが出力する内部クロックＣＬＫは同じ位相であるが、クロック用パッドからクロックバッファ３６を経由してクロックドライバ３７まで至る信号経路と、他の入力信号の経路は大きく異なるため、一般に入力信号群と内部クロックのスキューは、入力信号間のスキューより大きい。このような入力信号をチップ内に取り込むには、各入力信号を取り込むラッチ回路に供給するローカルクロックを、各入力信号の位相に対して最適な位相になるようにする必要があり、ばらつき補正入力回路４０は、内部クロックＣＬＫから各入力信号を取り込むのに最適なローカルクロックを発生させる。
【００２４】
図５は、ばらつき補正入力回路４０の構成を示すブロック図である。図示のように、ばらつき補正入力回路４０は、ローカルＣＬＫバッファ３９から供給される内部クロックＣＬＫを選択された遅延量分遅延させる粗ディレイ回路４１と、粗ディレイ回路４１から出力された粗ディレイクロックを選択された遅延量分遅延させる精密ディレイ回路４２と、入力バッファ４８から入力され、分周回路４７で分周された各入力信号と精密ディレイ回路４２から出力されるローカルクロックの位相を比較し、最適な位相であるかを判定する粗比較回路４３と精密比較回路４４と、精密ディレイ回路４２から出力されるローカルクロックに応じて、入力バッファ４８から出力される入力信号をラッチして取り込む入力ラッチ４５と、入力ラッチ４５の出力を再度内部クロックＣＬＫに応じてラッチし、各入力信号の位相を内部クロックＣＬＫに同期させる再同期ラッチ４６とを有する。分周回路は、比較動作が正確に行えるように設けられるものである。図５に示すように、精密ディレイ回路４２、粗比較回路４３、精密比較回路４４、入力ラッチ４５、再同期ラッチ４６、分周回路４７、及び入力バッファ４８は、それぞれ入力信号の個数分設けられているが、粗ディレイ回路４１は１個であり、各入力信号で共用している。粗ディレイ回路４１と粗比較回路４３が粗ＤＬＬ回路を、精密ディレイ回路４２と精密比較回路４４が精密ＤＬＬ回路を構成する。図２と比較して明らかなように、本実施例の回路は、図２の従来例と類似の構成を有しており、従来例と異なるのは、ＤＬＬ回路が粗ＤＬＬ回路と精密ＤＬＬ回路で構成している点である。以下、従来例と異なる、これらの部分と分周回路について説明する。
【００２５】
粗ディレイ回路４１と精密ディレイ回路４２は、共に図６に示すような基本構成を有し、それぞれディレイライン５１とディレイ制御回路５２で構成されている。上記のように、これらに位相比較回路を組み合わせることにより、ＤＬＬ回路が構成される。ＤＬＬ回路について簡単に説明する。ディレイライン５１は、同一の遅延要素を直列に接続し、どの段から出力を取り出すかを選択することにより遅延量が選択できるようにしたもので、ディレイ制御回路５２からの制御信号で出力を取り出す段が決定される。位相比較回路は、ディレイライン５１の出力する遅延されたクロックと入力信号の位相を比較し、位相差が所定の範囲内にあるか、所定の範囲内にない場合には、クロックが入力信号に対して進んでいるか遅れているかを判定する。ディレイ制御回路５２は、その判定結果に基づいて、ディレイライン５１の遅延量を維持するか、増加又は減少させる。このような操作を繰り返せば、クロックと入力信号の位相差は所定の範囲内に集束する。
【００２６】
図７は、粗ディレイ回路４１と精密ディレイ回路４２のディレイ制御回路の構成を、図８は粗ディレイ回路４１のディレイラインの構成を、図９は精密ディレイ回路４２のディレイラインの構成を、図１０は粗比較回路４３の構成を、図１１は精密比較回路４４の構成を、図１２は分周回路４７の構成を示す図である。これらの回路の基本的な動作については、前述の特願平８−３３４２０８号及び特願平９−８３０５０号に詳しく説明されているので、ここでは異なる点を中心として簡単に説明する。
【００２７】
図７のディレイ制御回路は、その一部のみが示され、制御信号としてＰ０〜Ｐ５が出力されるのみであるが、実際にはディレイラインの段数分の制御信号が出力できる分だけ同じような回路が接続されている。ディレイ制御回路は、出力する制御信号のうち１つのみを「高（Ｈ）」とし、他の出力を「低（Ｌ）」とし、「Ｈ」となる出力位置でディレイラインの遅延量の選択位置が決定される。ディレイ制御回路は、位相比較回路からの判定結果Ａ〜Ｄに応じて「Ｈ」となる出力位置を移動させる。ＡとＢが交互に「高（Ｈ）」レベルになる時には、「Ｈ」となる出力位置を右にシフトさせ、ＣとＤが交互に「高（Ｈ）」レベルになる時には、「Ｈ」となる出力位置を左にシフトさせる。リセット信号を入力すると、初段の出力が「Ｈ」となる。このようなディレイ制御回路が、粗ディレイ回路４１と精密ディレイ回路４２にそれぞれ入力信号の個数分設けられている。ここではこれ以上の説明は省略する。なお、図７に示したディレイ制御回路では、判定結果Ａ〜Ｄが遅延量を保持するとの判定結果である時には制御信号は変化しないので、後述する分周回路を停止させるなどして位相比較を行わないようにすれば、ディレイ制御回路が出力する制御信号は保持される。また、出力される制御信号を保持するためには、通常は制御信号を通過させ、停止状態に変化する時に、その時点の制御信号をラッチして保持するラッチゲートを設けるなどの方法もある。
【００２８】
図８に示すように、粗ディレイ回路４１のディレイラインでは、インバータとＮＡＮＤゲートを１段とする遅延要素が多数直列に接続されており、各段のインバータの出力をトランスファーゲートから取り出すように構成されている。いずれの段から取り出すかにより、遅延量が異なる。トランスファーゲートは、各段のインバータの出力毎に、入力信号の個数分設けられており、各入力信号に対応する全段のトランスファーゲートの出力は共通に接続され、精密ディレイ回路４２の対応するディレイラインに入力される。各入力信号に対応する全段のトランスファーゲートは、対応する制御回路の出力信号ＲＰ００、ＲＰ０ｎ、…、ＲＰｍ０、ＲＰｍｎなどで制御される。上記のように、制御回路の出力信号のうち１つだけが「Ｈ」になるので、それが印加されるトランスファーゲートが導通し、その段から粗遅延クロックＲＣＬＫが出力される。このように、第１実施例の粗ＤＬＬ回路４１のディレイラインの部分を共用しているため、入力信号が複数であってもディレイラインは１つであり、その分回路規模が低減できる。例えば、図８の回路では、１段当り２素子減少させることができ、更に一部の素子を共用できるので、素子数は更に少なくなる。
【００２９】
図９に示すように、各精密ディレイ回路４２のディレイラインでは、インバータとＮＡＮＤゲートを１段とする遅延要素を多数直列に接続したディレイラインが２列設けられ、その間に各段毎に中間ＮＡＮＤゲートが設けられ、上側のインバータの出力がこの中間ＮＡＮＤゲートに入力され、その出力が下側のＮＡＮＤゲートの入力になっている。中間ＮＡＮＤゲートの他方の入力には、精密ＤＬＬ回路のＤＬＬ制御回路の出力が入力され、１つの中間ＮＡＮＤゲートのみが上側のインバータから出力されるクロックを下側に伝達し、それ以外の中間ＮＡＮＤゲートの出力は「Ｈ」に固定される。すなわち、上側を伝達されているクロックは、ＤＬＬ制御回路の出力が「Ｈ」になる中間ＮＡＮＤゲートの部分で、下側に伝達され、そのまま下側を伝達し、ローカルクロックＦＣＬＫになる。上側ではインバータの出力が次段のＮＡＮＤゲートに入力されると共に、中間ＮＡＮＤゲートにも入力されるが、下側ではインバータの出力が次段のＮＡＮＤゲートに入力されるだけであり、下側の方がインバータの負荷が小さいため、クロックを伝達する速度が下側の方が微少量速い。すなわち、このディレイラインはこの上側と下側の伝達速度の差を１段の遅延量とする。精密ディレイラインでは、１段当りの遅延量を非常に微少な量とする必要があり、このような回路構成を使用する。
【００３０】
図１０に示す各粗比較回路４３は、精密ディレイ回路４２のディレイラインの出力するローカルクロックＦＣＬＫと、分周回路４７で分周された信号ＤＳの位相を比較する。この回路は、ローカルクロックＦＣＬＫが立ち上がった時点で信号ＤＳが既に立ち上がっている時、すなわち、ローカルクロックＦＣＬＫが信号ＤＳより遅れている場合には、出力ＲＡとＲＢが交互に「Ｈ」になり、ローカルクロックＦＣＬＫが立ち上がった時点から第１の所定時間以上たってから信号ＤＳが既に立ち上がる時、すなわち、ローカルクロックＦＣＬＫが信号ＤＳより進んでおり、その位相差が第１の所定量以上の時には、出力ＲＣとＲＤが交互に「Ｈ」になり、ローカルクロックＦＣＬＫが立ち上がった時点から第１の所定時間内に信号ＤＳが既に立ち上がる時、すなわち、ローカルクロックＦＣＬＫが信号ＤＳより進んでおり、その位相差が第１の所定量以内の時には、出力ＲＡ、ＲＢ、ＲＣ、及びＲＤがすべて「Ｌ」になる。図示のように、信号ＤＳは、ＮＡＮＤゲートで構成される入力部の２個のフリップフロップへそのまま入力されるが、ローカルクロックＦＣＬＫは、一方にはＮＡＮＤゲートとインバータの分遅れて入力されるようになっている。このＮＡＮＤゲートとインバータでの遅延量が上記の第１の所定量を規定する。各粗比較回路４３の判定結果は、粗ＤＬＬ回路の図７に示したディレイ制御回路のＡ、Ｂ、Ｃ、Ｄとして印加される。
【００３１】
図１１に示す各精密比較回路４４は、図１０に示す粗比較回路４３とほぼ同一の構成を有するが、信号ＤＳとローカルクロックＦＣＬＫが共にＮＡＮＤゲートとインバータで遅延されて入力部のフリップフロップの一方に入力されている。しかもインバータの駆動するゲート数に差があるため、出力ＦＡ、ＦＢ、ＦＣ、及びＦＤがすべて「Ｌ」になる状態を規定する第２の遅延量の差が小さくなる。これにより、信号ＤＳとローカルクロックＦＣＬＫの位相差が、図１０の粗比較回路４３で所定量範囲内と判定された場合にも、更に精密な比較を行い、ローカルクロックＦＣＬＫが信号ＤＳより進んでいるか、遅れているか、又は第２の所定量以内であるかを判定し、その判定結果を出力する。同様に、各精密比較回路４４の判定結果は、精密ＤＬＬ回路の図７に示したディレイ制御回路のＡ、Ｂ、Ｃ、Ｄとして印加される。
【００３２】
図１２に示す分周回路４７は、入力信号を８分周する。ここで、入力信号を分周する必要性について説明する。半導体装置は、所定のクロック周波数範囲で動作することが要求される。そのため、これまで説明したＤＬＬ回路は、これらの周波数範囲で動作することが要求される。クロックが非常に高周波数になると、各ゲートの出力は一方の状態へ十分に変化しないうちに次の状態に変化することになる。そのため、クロック周波数が高い場合と低い場合で、比較結果などに差が生じ、所望の位相合わせが行えないという問題が生じる。このような問題を解決するため、入力信号を分周して、位相比較やその判定結果に基づくフィードバック制御を行う周期を長くしている。なお、分周回路４７の入力部には、入力信号Ｓと停止信号を入力とするＮＡＮＤゲートが設けられており、停止信号を「Ｌ」にすることにより、分周回路４７への入力信号Ｓの入力を停止できるようになっている。これにより、分周回路４７の出力は固定され、位相比較動作は停止し、ディレイ制御回路の制御値が保持される。
【００３３】
図５の入力ラッチ４５と再同期ラッチ４６は、従来から広く使用されているラッチ回路であり、ここでは説明を省略する。
以上説明したように、第１実施例では、ローカルクロックバッファ３９から出力される内部クロックＣＬＫを、各入力信号を取り込む最適なタイミングのローカルクロックＦＣＬＫになるように位相調整し、それを入力ラッチ４５に供給して最適なタイミングでチップ内に取り込む。しかし、このようにして取り込まれた各入力信号は位相にばらつきがあるので、再同期ラッチ４６で内部クロックＣＬＫに同期する信号に変える。
【００３４】
以上説明した第１実施例の回路は、ディレイ制御回路の制御値が安定するまで時間が必要であり、電源が投入されてから所定時間を位相調整のためのキャリブレーション期間とし、その間に位相調整が終了するようにする。位相調整が終了するまでの時間は、最初の位相差で異なるため、キャリブレーション期間は、最初にどのような位相差であっても位相調整が終了する時間に設定する。また、位相調整を行うには、クロックと入力信号が変化することが必要であり、キャリブレーション期間中は、入力信号が所定の周期で変化するように、駆動側ＬＳＩチップからこのような信号を出力する必要がある。
【００３５】
通常の動作においては、クロックは一定の周期で変化する信号であるが、入力信号の変化は一定せず、長期間同じ状態である場合も起こる。そのような場合には、位相比較が行えないことになる。第１実施例の回路は、入力信号が変化しない場合にはそれまでの状態を維持するように指示する位相判定結果を出力するため、通常の動作中もそのままフィードバック制御が行える。一般に半導体装置は温度などで信号の変化特性が変化するので、第１実施例の回路を通常の動作中もそのまま動作させれば、常時最適なタイミングで入力信号が取り込まれるように制御されることになる。
【００３６】
しかし、一部の入力信号は変化してフィードバック制御が行われ、他の入力信号については長期間変化しないためにフィードバック制御が行われなかった場合、一部の入力信号については最適な入力タイミングになるように制御されるが、他の入力信号については最適な入力タイミングから大きく外れた状態になることがあり得る。そのようなことは好ましくないので、定期的にキャリブレーション期間を設けるようにしてもよい。その場合、図１３に示すように、位相調整はキャリブレーション期間にのみ行い、キャリブレーション期間終了後は、図７に示した粗ディレイ回路４１と精密ディレイ回路４２のディレイ制御回路の制御信号を維持するようにする。
【００３７】
上記の第１実施例では、粗ディレイ回路４１は、ディレイラインを共用するが、ディレイラインの各段の出力を選択する多数のトランスファーゲートを設けることにより、各入力信号に対応する粗遅延クロックをそれぞれ取り出せるようにしている。これにより、内部クロックと各入力信号の位相調整を全調整範囲について独立に行うことができる。しかし、そのために入力信号の個数分のトランスファーゲートを各段毎に設けており、その回路規模が大きいという問題がある。前述のように、内部クロックＣＬＫと入力信号群は、信号経路などの差により、クロックＣＬＫと入力信号群の間に入力信号間のスキューより大きなスキューがある場合が一般的である。そこで、第２実施例では、内部クロックＣＬＫと入力信号群の間のスキューを第１ＤＬＬ回路で調整し、入力信号間のスキューを第２ＤＬＬ回路で調整する。
【００３８】
図１４は、第２実施例のばらつき補正回路の構成を示すブロック図である。図示のように、第２実施例のばらつき補正回路は、第１実施例のばらつき補正回路とほぼ同様の構成を有するが、新たに個数判定回路６９が設けられている点と、粗ディレイ回路６１のディレイラインの構成が異なる。以下、これらの部分について説明する。
【００３９】
図１５は、第２実施例の粗ディレイ回路６１のディレイラインの構成を示す図である。図示のように、ＮＡＮＤゲートとインバータを１段とする遅延要素を多数直列に接続し、最終段から粗遅延クロックＲＣＬＫが取り出される。いずれの段に内部クロックＣＬＫを入力するかがディレイ制御回路の出力信号ＲＰ０、…、ＲＰｍで制御され、いずれの段に内部クロックＣＬＫを入力するかにより遅延量が異なる。従って、第２実施例の粗ディレイ回路６１から出力される粗遅延クロックＲＣＬＫは１つであり、これが各精密ディレイ回路６２に供給される。
【００４０】
このような調整を行うために、第２実施例では、図１６に示すように、位相調整を行うキャリブレーションモードを２つの期間に分割し、前半では粗ＤＬＬ回路の調整を行い、後半では精密ＤＬＬ回路の調整を行う。前半の粗ＤＬＬ回路の調整を行っている間は、精密ＤＬＬ回路はフィードバック制御を行わず、精密ディレイ回路のディレイラインの遅延量は初期値に保持される。粗ＤＬＬ回路の調整が終了した後は、粗ディレイ回路６１のディレイ制御回路の制御信号は保持される。粗ＤＬＬ回路の調整が終了すると同時に、各精密ＤＬＬ回路の調整が開始され、各精密ＤＬＬ回路の調整が終了した後は、同様にその時点の精密ディレイ回路６２のディレイ制御回路の制御信号が保持される。なお、上記のように、精密ＤＬＬ回路は、通常の動作中もフィードバック制御が行えるので、精密ＤＬＬ回路のみ、通常動作時にも常時調整動作が行われるようにしてもよい。
【００４１】
粗ディレイ回路６１での遅延量は、複数の入力信号の中間の位相とクロックの位相が一致するように調整される。図１４に示すように、粗比較回路６３は入力信号の個数分設けられており、各粗比較回路６３の判定結果は、個数判定回路６９に入力される。個数判定回路６９では、各粗比較回路６３の判定結果を集計し、ローカルクロックＦＣＬＫが信号ＤＳに対して遅れていると判定した粗比較回路６３の個数が進んでいると判定した粗比較回路６３の個数より多い場合には、ディレイラインの遅延量を増加させ、ローカルクロックＦＣＬＫが信号ＤＳに対して進んでいると判定した粗比較回路６３の個数が遅れていると判定した粗比較回路６３の個数より多い場合には、ディレイラインの遅延量を減少させるような判定結果を出力する。そして、ローカルクロックＦＣＬＫがすべての信号ＤＳに対して所定量の位相差内になるか、又は進んでいると判定した粗比較回路６３の個数と遅れていると判定した粗比較回路６３の個数の差が１個以内になった場合に、その判定結果を保持する。
【００４２】
なお、第２実施例の変形例として、粗比較回路６３を代表的な１つの入力信号についてのみ設け、その判定結果を粗ディレイ回路６１に供給するようにしてもよい。この場合には、個数判定回路６９は必要ない。これにより、回路規模を大幅に低減できる。
第１実施例では、クロック分配回路として、特願平９−８３０５０号に開示されている回路を使用したが、この代わりにＨツリー状クロック分配回路を使用することもできる。図１７は、Ｈツリー状クロック分配回路の基本構成を示す図である。クロックドライバ７１から出力された内部クロックは、図１７に示すような経路で末端のクロックバッファ７２まで伝達されるが、途中の信号経路及び負荷はすべて等しくなるように構成される。従って、すべてのクロックバッファ７２に伝達された内部クロックは位相が一致している。
【００４３】
図１８は、第３実施例のＳＤＲＡＭの全体構成を示す図であり、特願平９−８３０５０号に開示されクロック分配回路の代わりにＨツリー状クロック分配回路を使用している点を除けば第１実施例と同じである。従って、これ以上の説明は省略する。
以上、本発明をＳＤＲＡＭの入力信号の取込み部分に適用した実施例について説明したが、本発明はこれに限られるものでなく、ＳＤＲＡＭにおいて複数の出力信号について精密に出力タイミングを調整する場合や、ＳＤＲＡＭ以外の他のＬＳＩチップなどにも適用可能である。また、粗調整と精密調整の２段階の例を説明したが、３段階以上とすることも可能である。
【００４４】
【発明の効果】
以上説明したように、本発明によれば、１つのクロックから微少量の調整単位でそれぞれ精密に調整したクロックを発生させる場合に、調整単位は同じで回路規模を低減でき、チップの小型化や低コスト化が図れる。
【図面の簡単な説明】
【図１】クロック同期システムの基本構成及び動作を示す図である。
【図２】入力信号のスキュー対策を行う従来例の構成を示す図である。
【図３】本発明の原理構成図である。
【図４】第１実施例のＳＤＲＡＭの全体構成を示す図である。
【図５】第１実施例のばらつき補正入力回路の構成を示すブロック図である。
【図６】ディレイ回路の構成を示すブロック図である。
【図７】第１実施例のディレイ制御回路の構成を示す図である。
【図８】第１実施例の粗ＤＬＬ回路のディレイラインを示す図である。
【図９】第１実施例の精密ＤＬＬ回路のディレイラインを示す図である。
【図１０】第１実施例の粗比較回路を示す図である。
【図１１】第１実施例の精密比較回路を示す図である。
【図１２】第１実施例の分周回路を示す図である。
【図１３】第１実施例の動作モードを示す図である。
【図１４】第２実施例のばらつき補正入力回路の構成を示すブロック図である。
【図１５】第２実施例の粗ＤＬＬ回路のディレイラインを示す図である。
【図１６】第２実施例の動作モードを示す図である。
【図１７】Ｈツリー状クロック分配回路の構成を示す図である。
【図１８】第３実施例のＳＤＲＡＭの全体構成を示す図である。
【符号の説明】
２１…第１ＤＬＬ回路
２２−０〜２２−ｎ…第２ＤＬＬ回路
３５…クロック入力パッド
３６…クロックバッファ
３７…クロックドライバ
３８…ディレイ
３９…ローカルＣＬＫバッファ
４０…ばらつき補正入力回路
４１…粗ディレイ回路
４２…精密ディレイ回路
４３…粗比較回路
４４…精密比較回路
４５…入力ラッチ
４６…再同期ラッチ
４７…分周回路
４８…入力バッファ
【図１】
0003690899.tif 000002
【図２】
0003690899.tif 000003
【図３】
0003690899.tif 000004
【図４】
0003690899.tif 000005
【図５】
0003690899.tif 000006
【図６】
0003690899.tif 000007
【図７】
0003690899.tif 000008
【図８】
0003690899.tif 000009
【図９】
0003690899.tif 000010
【図１０】
0003690899.tif 000011
【図１１】
0003690899.tif 000012
【図１２】
0003690899.tif 000013
【図１３】
0003690899.tif 000014
【図１４】
0003690899.tif 000015
【図１５】
0003690899.tif 000016
【図１６】
0003690899.tif 000017
【図１７】
0003690899.tif 000018
【図１８】
0003690899.tif 000019