(57)【要約】【課題】  複数あるコアのうちの一部のコアの電源電圧を変化させた場合に発生するクロックスキューを抑制する。【解決手段】  半導体集積回路は、クロック生成回路２と、電源電圧供給回路２０と、コアＡと、コアＢとを備えて構成されている。コアＢには１．２５Ｖの電源電圧が供給されるとともに、コアＡには電源電圧供給回路２０から１．２５Ｖ又は１．００Ｖの電源電圧が供給される。コアＡに１．００Ｖの電源電圧が供給される場合には、ＰＬＬ回路１０から直接入力されたクロック信号を出力するようにセレクタＣ２２を切り替えることにより、コアＡとコアＢとの間のクロックスキューを低減できる。【選択図】  図１
2005100269.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を実現する、第１のコアと、
所定の機能を実現する、前記第１のコアとは別の第２のコアと、
前記第１のコアに、前記第２のコアと異なる電源電圧を供給可能な、電源電圧供給回路と、
前記第１のコアと前記第２のコアとにクロック信号を供給する、クロック生成回路であって、前記第１のコアにおけるクロック信号と前記第２のコアにおけるクロック信号との間に発生するクロックスキューを削減するクロックスキュー削減回路を有する、クロック生成回路と、
を備えることを特徴とする半導体集積回路。
【請求項２】
前記電源電圧供給回路が前記第１のコアに供給する電源電圧は段階的に切り替わる、ことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記クロック生成回路は、基本クロック信号を生成する、基本クロック信号生成回路を備えているとともに、
前記クロックスキュー削減回路は、前記基本クロック信号から生成された異なる伝搬遅延の複数のクロック信号が入力され、前記電源電圧の切り替わりに応じて、選択的に１つのクロック信号を前記第１のコアに出力する、セレクタを、備えることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記セレクタに入力される複数のクロック信号は、それぞれ、前記電源電圧供給回路が供給する各電源電圧で前記第１のコアが動作する場合に、前記第１のコアに供給されたクロック信号と、前記第２のコアに供給されたクロック信号との間のクロックスキューが抑制されるように、伝搬遅延が設定されている、ことを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記セレクタが最も小さい遅延時間のクロック信号を選択した場合に、前記第１のコアに到達するクロック信号に合わせて、前記第２のコアに出力されるクロック信号の遅延時間が設定されている、ことを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
前記電源電圧供給回路が前記第１のコアに供給する電源電圧は任意に設定可能である、ことを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
前記クロックスキュー削減回路には、前記第１のコアに到達したクロック信号が第１のフィードバッククロック信号として入力され、前記第２のコアに到達したクロック信号が第２のフィードバッククロック信号として入力されて、これら第１のフィードバッククロック信号と第２のフィードバッククロック信号とのエッジを自動的に調整して、前記第１のコアにクロック信号が出力される、ことを特徴とする請求項６に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、内部多電源時のクロックスキューを低減するクロック供給システムを採用した半導体集積回路に関する。
【背景技術】
【０００２】
従来、１つの半導体チップ内部の順序回路及び組み合わせ回路の電源電圧は、一定であった。しかし、消費電力低減のために、あるブロック（以下、コアと呼ぶ）の電源電圧を低くすることが考えられる。しかも、このコアで実行するアプリケーションによって、コアの電源電圧を変化させることもあり得る。コアの電源電圧を変化させた場合、コアに供給されているクロックの伝搬遅延も変化し、１つの半導体チップ全体でのクロックスキューが増加する。
【０００３】
図１は、半導体チップ内における従来の半導体集積回路の接続関係をブロックで示す図である。この図１の例では、半導体集積回路は、クロック生成回路１と、コアＡと、コアＢとを備えて構成されている。クロック生成回路１は、クロック信号を生成し、コアＡとコアＢとに供給する。
【０００４】
コアＡやコアＢは、順序回路や組み合わせ回路により構成されており、コアＡとコアＢの間でデータの受け渡しがあると仮定する。すなわち、コアとは、所定の機能を実現するための構成単位を示しているものとする。
【０００５】
図２は、クロック生成回路１の内部構成を示すブロック図であり、図３は、コアＡ内部のクロック供給系統を示すブロック図であり、図４は、コアＢ内部のクロック供給系統を示すブロック図である。
【０００６】
図２のクロック生成回路１に含まれているＰＬＬ回路１０からクロック信号が発振され、このクロック信号が、バッファＡ１〜Ａ５を通って、コアＡのフリップフロップ回路Ａ１１、Ａ１２に供給され、バッファＣ１、Ｂ１〜Ｂ５を通って、コアＢのフリップフロップ回路Ｂ１１、Ｂ１２に供給される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
これら図１乃至図４から分かるように、従来は、電源電圧が半導体チップ内で一定であるため、ＰＬＬ回路１０から順序回路であるフリップフロップ回路Ａ１１、Ａ１２、Ｂ１１、Ｂ１２までのクロック信号の伝搬遅延も一定であった。言い換えると、クロック系統に含まれている遅延素子であるバッファＡ１〜Ａ５、Ｂ１〜Ｂ５の遅延値が一定であることから、ＰＬＬ回路１０から順序回路であるフリップフロップ回路Ａ１１、Ａ１２、Ｂ１１、Ｂ１２までのクロック信号の伝搬遅延を加味した上で、クロック信号の供給系統を設計することにより、クロックスキューの低減を図っていた。
【０００８】
しかし、コアＡの電源電圧を可変にする場合、バッファＡ１〜Ａ５の遅延値が変化してしまうため、順序回路であるフリップフロップ回路Ａ１１、Ａ１２までのクロック信号の伝搬遅延が変化してしまう。このため、フリップフロップ回路Ａ１１、Ａ１２に対するクロック信号の伝搬遅延と、フリップフロップ回路Ｂ１１、Ｂ１２に対するクロック信号の伝搬遅延とを、合わせることができなくなるという問題が生じる。
【０００９】
そこで本発明は、前記課題に鑑みてなされたものであり、一部のコアの電源電圧を変化させた場合に発生するクロックスキューを抑制することのできる半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明に係る半導体集積回路は、
所定の機能を実現する、第１のコアと、
所定の機能を実現する、前記第１のコアとは別の第２のコアと、
前記第１のコアに、前記第２のコアと異なる電源電圧を供給可能な、電源電圧供給回路と、
前記第１のコアと前記第２のコアとにクロック信号を供給する、クロック生成回路であって、前記第１のコアにおけるクロック信号と前記第２のコアにおけるクロック信号との間に発生するクロックスキューを削減するクロックスキュー削減回路を有する、クロック生成回路と、
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、一部のコアの電源電圧を変化させた場合に発生するクロックスキューを抑制することができる。
【発明を実施するための最良の形態】
【００１２】
〔第１実施形態〕
本実施形態に係る半導体集積回路は、一部のコアの電源電圧を切り替える場合に、クロック信号の伝搬遅延もあわせて切り替えることにより、電源電圧を切り替えたコアと、電源電圧を切り替えなかったコアとの間のクロックスキューを低減するようにしたものである。より詳しくを、以下に説明する。
【００１３】
図５は、本実施形態に係る半導体集積回路の構成を示すブロック図である。この図５の例では、半導体集積回路は、クロック生成回路２と、電源電圧供給回路２０と、コアＡと、コアＢとを備えて構成されている。これらコアＡとコアＢは、所定の機能を実現する構成単位である。この図５では、２つの別々のコアを示しているが、これよりも多くの複数のコアが設けられていてもよい。
【００１４】
クロック生成回路２は、クロック信号を生成して、コアＡとコアＢに供給する回路である。すなわち、クロック生成回路２の入力端子ＩＮＣＬＫには例えば水晶発振器から高周波信号が入力される一方、出力端子ＡＣＬＫからは、クロック信号が出力され、コアＡの入力端子Ａ１ＣＬＫに入力される。また、クロック生成回路２の出力端子ＢＣＬＫからも、クロック信号が出力され、コアＢの入力端子Ｂ１ＣＬＫに入力される。なお、ここでは、コアＡとコアＢの内部構成は、上述した図３及び図４と同様であるものとする。
【００１５】
コアＡの出力端子ＯＵＴＡは、コアＢの入力端子ＩＮＢに接続されており、コアＢの出力端子ＯＵＴＢは、コアＡの入力端子ＩＮＡに接続されている。これにより、コアＡとコアＢとの間で、データの受け渡しが行われる。
【００１６】
この半導体集積回路には、例えば外部から、電源電圧ＰＷが供給されており、この電源電圧は、そのままクロック生成回路２と、電源電圧供給回路２０と、コアＢとに供給されている。電源電圧供給回路２０では、この電源電圧ＰＷをそのままの電圧でコアＡに供給するか、それとも電源電圧ＰＷを変圧して、コアＡに供給するかを切り替えることができるようになっている。この切り替えは、入力端子ＡＣＴＮＬ２に入力される制御信号ＣＴＬにより行われる。電源電圧供給回路２０からの電源電圧は、出力端子ＡＶＤＤを介して、コアＡに供給される。
【００１７】
本実施形態では、電源電圧ＰＷが１．２５Ｖであり、電源電圧供給回路２０で変圧された電源電圧が１．００Ｖであるものとする。このことから分かるように、コアＢは１．２５Ｖで動作するが、コアＡは１．２５Ｖ又は１．００Ｖのいずれかで動作する。いずれの電源電圧を電源電圧供給回路２０からコアＡに供給するかは、電源電圧供給回路２０の入力端子ＡＣＮＴＬ２に入力される制御信号ＣＴＬにより制御されるものとする。  図６は、クロック生成回路２の内部構成を示すブロック図である。この図６に示すように、本実施形態に係るクロック生成回路２は、ＰＬＬ（Phase Locked Loop）回路１０と、バッファＣ２０、Ｃ２１と、セレクタＣ２２とを備えて構成されている。これらのうち、バッファＣ２０、Ｃ２１とセレクタＣ２２とにより、本実施形態におけるクロックスキュー削減回路が構成される。
【００１８】
ＰＬＬ回路１０から出力されたクロック信号は、そのままセレクタＣ２２に入力されるとともに、バッファＣ２０を介しても、セレクタＣ２２に入力される。また、このセレクタＣ２２には、入力端子ＡＣＮＴＬを介して制御信号ＣＴＬが入力されている。このため、制御信号ＣＴＬが「０」であるか「１」であるかに応じて、セレクタＣ２２からは、そのまま入力されたクロック信号、又は、バッファＣ２０を介して入力されたクロック信号のいずれかが、出力される。セレクタＣ２２から出力されたクロック信号は、出力端子ＡＣＬＫを介して、コアＡに供給される。一方、ＰＬＬ回路１０から出力されたクロック信号は、バッファＣ２１を介して、出力端子ＢＣＬＫから、コアＢにも供給される。
【００１９】
このように構成された半導体集積回路においては、次のような動作がなされる。例えば、コアＡを１．００Ｖで動作させる場合、制御信号ＣＴＬを「０」にする。この場合、セレクタＣ２２は、ＰＬＬ回路１０から直接出力されたクロック信号を出力することとなる。そこで、ＰＬＬ回路１０からセレクタＣ２２を通り、フリップフロップ回路Ａ１１、Ａ１２に到達するまでのクロック信号の伝搬遅延と、ＰＬＬ回路１０からバッファＣ２１を通り、フリップフロップ回路Ｂ１１、Ｂ１２に到達するまでのクロック信号の遅延時間とが、互いに等しくなるようにクロック信号系統を設計する。
【００２０】
これに対して、コアＡを１．２５Ｖで動作させる場合、制御信号ＣＴＬを「１」にする。この場合、セレクタＣ２２は、バッファＣ２０から出力されたクロック信号を出力することとなる。そこで、ＰＬＬ回路１０からバッファＣ２０とセレクタＣ２２を通り、フリップフロップ回路Ａ１１、Ａ１２に到達するまでのクロック信号の伝搬遅延と、ＰＬＬ回路１０からバッファＣ２１を通り、フリップフロップ回路Ｂ１１、Ｂ１２に到達するまでのクロック信号の遅延時間とが、互いに等しくなるようにクロック信号系統を設計する。
【００２１】
すなわち、コアＡの電源電圧が１．００Ｖから１．２５Ｖに変化した場合のクロック信号の伝搬遅延の差と、バッファＣ２０の遅延値とが、同じになるように設計する。換言すれば、セレクタＣ２２に到達するまでの遅延時間が最も小さいクロック信号を選択した場合におけるコアＡでのクロック信号の伝搬遅延と、バッファＣ２１を通ってコアＢまで到達した場合におけるクロック信号の伝搬遅延とが、一致するように、バッファＣ２１を設定する。
【００２２】
このように設計することにより、コアＡに１．２５Ｖの電源電圧を供給しても、１．００Ｖの電源電圧を供給しても、制御信号ＣＴＬを切り替えることにより、フリップフロップ回路Ａ１１、Ａ１２と、フリップフロップ回路Ｂ１１、Ｂ１２との間におけるクロックスキューの発生を、抑制することができるようになる。
【００２３】
この結果、消費電力を低減するために、半導体集積回路内の一部のコアに供給する電源電圧を低くした場合でも、クロックスキューが発生するのを抑制することができる。またこれにより、低電圧化したコアと低電圧化をしていないコアとの間に発生するsetup time/hold time違反を削減することができる。
【００２４】
〔第２実施形態〕
上述した第１実施形態においては、コアＡは１．２５Ｖ又は１．００Ｖのいずれかで動作すると二者択一的に設計されていた。しかし、コアＡに供給する電源電圧が多数存在する場合や、電源電圧が設計時に決定できない場合も考えられる。そこで、本実施形態では、クロック生成回路にＤＬＬ回路を設け、コアＡのクロック信号のエッジとコアＢのクロック信号のエッジとの差を、自動的に調整することにより、半導体集積回路の設計時に電源電圧を決定しなくともすむようにしたものである。より詳しくを、以下に説明する。
【００２５】
図７は、本実施形態に係る半導体集積回路の構成を示すブロック図である。この図７の例では、半導体集積回路は、クロック生成回路３と、電源電圧供給回路３０と、コアＡと、コアＢとを備えて構成されている。
【００２６】
クロック生成回路３は、クロック信号を生成して、コアＡとコアＢに供給する回路である。すなわち、クロック生成回路３の入力端子ＩＮＣＬＫには例えば水晶発振器から高周波信号が入力される一方、出力端子ＡＣＬＫからは、クロック信号が出力され、コアＡの入力端子Ａ１ＣＬＫに入力される。また、クロック生成回路３の出力端子ＢＣＬＫからも、クロック信号が出力され、コアＢの入力端子Ｂ１ＣＬＫに入力される。
【００２７】
コアＡの出力端子ＯＵＴＡは、コアＢの入力端子ＩＮＢに接続されており、コアＢの出力端子ＯＵＴＢは、コアＡの入力端子ＩＮＡに接続されている。これにより、コアＡとコアＢとの間で、データの受け渡しが行われる。
【００２８】
さらに、コアＡの出力端子Ｇ１ＣＬＫからは、コアＡのフィードバッククロック信号が出力され、クロック生成回路３の入力端子ＧＣＬＫに入力される。また、コアＢの出力端子Ｆ１ＣＬＫからは、コアＢのフィードバッククロック信号が出力され、クロック生成回路３の入力端子ＦＣＬＫに入力される。
【００２９】
この半導体集積回路には、例えば外部から、電源電圧ＰＷが供給されており、この電源電圧は、そのままクロック生成回路３と、電源電圧供給回路３０と、コアＢとに供給されている。電源電圧供給回路３０の入力端子ＡＣＮＴＬ３には、制御信号ＣＴＬが入力されている。この制御信号ＣＴＬは、コアＡに供給する電源電圧の値を制御する信号であり、本実施形態では、この制御信号ＣＴＬにより、電源電圧供給回路３０がコアＡに供給する電源電圧の値が無段階に変化する。換言すれば、電源電圧供給回路３０を用いることにより、制御信号ＣＴＬに応じて、任意の電源電圧をコアＡに供給することが可能になる。
【００３０】
図８は、クロック生成回路３の内部構成を示すブロック図であり、図９は、コアＡ内部のクロック供給系統を示すブロック図であり、図１０は、コアＢ内部のクロック供給系統を示すブロック図である。
【００３１】
図８に示すように、本実施形態に係るクロック生成回路３は、ＰＬＬ（Phase Locked Loop）回路１０と、バッファＣ３０と、ＤＬＬ（Delay Locked Loop）回路３２とを備えて構成されている。これらのうち、ＤＬＬ回路３２により本実施形態におけるクロックスキュー削減回路が構成される。
【００３２】
図９に示すように、入力端子Ａ１ＣＬＫから入力されたクロック信号は、バッファＡ１、Ａ２、Ａ４を介して、フリップフロップ回路Ａ１１に入力されるとともに、バッファＡ１、Ａ３、Ａ５を介して、フリップフロップ回路Ａ１２に入力される。また、フリップフロップ回路Ａ１２に入力される直前のクロック信号は、フィードバッククロック信号として、出力端子Ｇ１ＣＬＫから出力され、図８におけるクロック生成回路３の入力端子ＧＣＬＫに入力される。
【００３３】
図１０に示すように、入力端子Ｂ１ＣＬＫから入力されたクロック信号は、バッファＢ１、Ｂ２、Ｂ４を介して、フリップフロップ回路Ｂ１１に入力されるとともに、バッファＢ１、Ｂ３、Ｂ５を介して、フリップフロップ回路Ｂ１２に入力される。また、フリップフロップ回路Ｂ１２に入力される直前のクロック信号は、フィードバッククロック信号として、出力端子Ｆ１ＣＬＫから出力され、図８におけるクロック生成回路３の入力端子ＦＣＬＫに入力される。
【００３４】
この図８に示すように、入力端子ＦＣＬＫと入力端子ＧＣＬＫから入力されたフィードバッククロック信号は、ともにＤＬＬ回路３２に入力される。ＤＬＬ回路３２では、これら２つのフィードバッククロック信号のエッジを自動的に調整する。すなわち、ＰＬＬ回路１０からバッファＣ３０を介して出力され、フリップフロップ回路Ｂ１２に到達するクロック信号と、ＤＬＬ回路３２から出力され、フリップフロップ回路Ａ１２に到達するクロック信号とのエッジが同期するように、ＤＬＬ回路３２から出力されるクロック信号を調整する。このため、電源電圧供給回路３０からコアＡに供給する電源電圧がどのような値に変化しても、ＤＬＬ回路３２が自動的にコアＡとコアＢとの間のクロックスキューを削減することとなる。
【００３５】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した第１実施形態においては、電源電圧供給回路２０は、２種類の電源電圧を生成し、コアＡに供給することとしたが、これよりも多くの種類の電源電圧を供給して供給するようにしてもよい。すなわち、電源電圧供給回路２０は、予め設定された電源電圧を段階的に切り替えて供給するようにしてもよい。
【００３６】
この場合、セレクタＣ２２は、電源電圧供給回路２０の切り替わりに応じて、複数のクロック信号の中から、１つのクロック信号を選択して出力すればよい。そのためには、このセレクタＣ２２には、伝搬遅延の異なる複数のクロック信号が入力される必要がある。そして、セレクタＣ２２に入力されるまでのクロック信号の遅延時間は、コアＡとコアＢとの間でクロックスキューが削減されるように、適宜設計される必要がある。
【００３７】
また、上述した各実施形態で用いたバッファは、クロック信号に対する遅延素子の一例であり、同等の機能を有する他の素子により実現することもできる。
【図面の簡単な説明】
【００３８】
【図１】従来の半導体集積回路における回路構成を説明するブロック図。
【図２】従来の半導体集積回路におけるクロック生成回路の構成を説明するブロック図。
【図３】従来の半導体集積回路における１つのコア内部のクロック供給系統を説明するブロック図。
【図４】従来の半導体集積回路における別のコア内部のクロック供給系統を説明するブロック図。
【図５】第１実施形態に係る半導体集積回路の構成を説明するブロック図。
【図６】図５の半導体集積回路におけるクロック生成回路の構成を説明するブロック図。
【図７】第２実施形態に係る半導体集積回路の構成を説明するブロック図。
【図８】図７の半導体集積回路におけるクロック生成回路の構成を説明するブロック図。
【図９】図７の半導体集積回路におけるあるコア内部のクロック供給系統を説明するブロック図。
【図１０】図７の半導体集積回路における別のコア内部のクロック供給系統を説明するブロック図。
【符号の説明】
【００３９】
２、３  クロック生成回路
１０  ＰＬＬ回路
２０  電源電圧供給回路
３２  ＤＬＬ回路
Ａ、Ｂ  コア
Ｃ２０、Ｃ２１  バッファ
Ｃ２２  セレクタ
ＣＴＬ  制御信号
Ｃ３０  バッファ
【図１】
2005100269.tif 000003
【図２】
2005100269.tif 000004
【図３】
2005100269.tif 000005
【図４】
2005100269.tif 000006
【図５】
2005100269.tif 000007
【図６】
2005100269.tif 000008
【図７】
2005100269.tif 000009
【図８】
2005100269.tif 000010
【図９】
2005100269.tif 000011
【図１０】
2005100269.tif 000012