(57)【要約】【課題】メッシュクロックの特徴を維持しながら、一部のメッシュ領域に対してクロック停止、周波数変更、電源遮断などの制御を可能とする。【解決手段】半導体装置は、メッシュ状の配線にクロック信号を供給するクロック信号供給部と、メッシュ状の配線の一部にクロック分離領域が設定されたとき、クロック分離領域に対するクロック信号の供給を遮断するクロック分離領域制御部と、クロック分離領域が設定されたとき、メッシュ状の配線のうちクロック分離領域以外の領域に対するクロック信号供給部の駆動能力を変化させる駆動能力制御部とを備える。一部のメッシュを分離したときに駆動能力を変化させることにより、メッシュのバランスを保つ。【選択図】図２
2013196275.tif 000002
【特許請求の範囲】
【請求項１】
メッシュ状の配線と、
前記メッシュ状の配線にクロック信号を供給するクロック信号供給部と、
前記メッシュ状の配線の一部にクロック分離領域が設定されたとき、前記クロック分離領域に対する前記クロック信号の供給を遮断するクロック分離領域制御部と、
前記クロック分離領域が設定されたとき、前記メッシュ状の配線のうち前記クロック分離領域以外の領域に対する前記クロック信号供給部の駆動能力を変化させる駆動能力制御部
とを具備する半導体装置。
【請求項２】
更に、入力されたデータに応じて前記クロック分離領域を設定するクロック分離領域設定部を具備する請求項１に記載された半導体装置。
【請求項３】
前記駆動能力制御部は、予め設定された前記半導体装置の動作モードに応じて、前記クロック分離領域の設定と前記駆動能力の変化を実行する
請求項１又は２に記載された半導体装置。
【請求項４】
前記クロック信号供給部は、複数のクロックドライバによって前記クロック信号を供給し、
前記複数のクロックドライバの各々は、前記メッシュ状の配線の複数の箇所にそれぞれ接続する複数の接続配線を具備し、
前記遮断部は、前記複数の接続配線による電気的な接続のオンオフを個別に制御するスイッチによって前記駆動能力を変化させる
請求項１から３のいずれかに記載された半導体装置。
【請求項５】
メッシュ状の配線と、
前記メッシュ状の配線にクロック信号を供給するクロック信号供給部と、
前記メッシュ状の配線の一部にクロック分離領域が設定されたとき、前記クロック分離領域に対して前記クロック信号の周波数を変更して供給するクロック分離領域制御部と、
前記クロック分離領域が設定されたとき、前記メッシュ状の配線のうち前記クロック分離領域以外の領域に対する前記クロック信号供給部の駆動能力を変化させる駆動能力制御部
とを具備する半導体装置。
【請求項６】
請求項１から４のいずれかに記載された半導体装置の設計方法であって、
前記半導体装置を形成する素子及び配線のレイアウトを示すレイアウト情報を生成する工程と、
前記半導体装置が有する複数の動作モードの各々に対応する前記クロック分離領域を示す動作モード情報を生成する工程と、
前記動作モード情報に基づいて前記クロック分離領域制御部と前記駆動能力制御部とを制御するための制御情報を生成する工程
とを具備する半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置にクロック信号を供給する技術に関する。
【背景技術】
【０００２】
近年、ＬＳＩの大規模化や高速化により、半導体装置の消費電力が急激に増大する傾向にある。ＬＳＩ設計では、如何に消費電力を抑えるかが大きな課題である。一方、微細化が進むことによりバラツキが相対的に大きくなってきているという問題もある。そのためバラツキに強い設計を行うことも課題となっている。
【０００３】
高速製品ではプロセスバラツキやＩＲ−Ｄｒｏｐなどにより、クロックスキューのばらつきの影響が大きく、単純なクロックツリー構造では性能を上げることができない。そのため、スキューのばらつきを抑えるために、クロック信号の分配にメッシュ構造を採用している。クロックが必要な領域全面にメッシュ配線が形成される。このメッシュ配線を、等間隔に配置された複数のクロックドライバで一括駆動する。このような構成により、いくつかのドライバのタイミングが遅れたとしても、その近傍のドライバでカバーし、ばらつきを補正することができる。
【０００４】
図１は、参考例としてし、特許文献１の図１を示す（ただし本発明の図面と参照番号が重複しないように修正してある）。この技術では、マクロ等があることにより均等にメッシュ配線を引くことができない場合には、ドライバ間の中心に相当する箇所でメッシュをくり抜くことにより、負荷容量バランスを壊さないように（スキューに影響が無いように）メッシュを構成する。
【０００５】
さらに、参考技術として特許文献２と非特許文献１を挙げる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−９２３５２号公報
【特許文献２】特開平１１−１７５１８４号公報
【非特許文献】
【０００７】
【非特許文献１】Restle, P.J., et. al., “The clockdistribution of the Power4 microprocessor”, Solid-State Circuits Conference,2002., San Francisco, U.S.A., ２００２年８月７日、１４４−１４５頁
【発明の概要】
【発明が解決しようとする課題】
【０００８】
最近の設計では低電力化のために、高速品といえども、セル単位、あるいはモジュール単位で、必要のない時はクロックを止める、いわゆるクロックゲーティングを使うのが一般的になっている。更に、動作モードによって、しばらくの間、動作が不要なモジュールがある場合、そのモジュールの領域のみ電源を落とす電源遮断技術もよく使われるようになってきている。しかしながら、従来のクロックメッシュの場合、全ての配線が短絡しているため、メッシュの一部の領域だけクロックを止めたり、周波数を変えたり、電源を落としたり、ということはできない。
【０００９】
メッシュクロックをいくつかの領域に分断することで、各領域に対してクロックゲーティングや電源遮断を適用することは可能である。しかしながら、異なるメッシュ間ではスキュー低減効果はなく、メッシュクロックの効果が低下してしまう。
【００１０】
メッシュクロックの特徴を維持しながら、一部のメッシュ領域に対してクロック停止、周波数変更、電源遮断などの制御を可能とする技術が望まれる。
【課題を解決するための手段】
【００１１】
本発明の一側面において、半導体装置は、メッシュ状の配線と、メッシュ状の配線にクロック信号を供給するクロック信号供給部と、メッシュ状の配線の一部にクロック分離領域が設定されたとき、クロック分離領域に対するクロック信号の供給を遮断するクロック分離領域制御部と、クロック分離領域が設定されたとき、メッシュ状の配線のうちクロック分離領域以外の領域に対するクロック信号供給部の駆動能力を変化させる駆動能力制御部とを備える。
【００１２】
このような構成によれば、クロックメッシュの一部領域を分離したときに、クロック信号供給部の駆動能力を変化させることにより、メッシュのバランスの乱れを抑えることが可能となる。
【発明の効果】
【００１３】
本発明により、メッシュクロックの特徴を維持しながら、一部のメッシュ領域に対してクロック停止、周波数変更、電源遮断などの制御を可能とする技術が提供される。
【図面の簡単な説明】
【００１４】
【図１】図１は、参考例におけるメッシュクロック供給構造を示す。
【図２】図２は、本発明の第１実施形態におけるメッシュクロック供給構造を示す。
【図３】図３は、制御回路の構成を示す。
【図４】図４は、クロックドライバとスイッチを示す。
【図５】図５は、半導体装置の設計フローを示す。
【図６】図６は、クロックドライバの変形例を示す。
【図７】図７は、本発明の第２実施形態におけるメッシュクロック構造を示す。
【図８】図８は、メッシュの格子点におけるクロック配線を示す。
【図９】図９は、図８のクロック配線におけるクロックドライバとスイッチの接続を示す。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の幾つかの実施形態を説明する。図２は、本発明の第１実施形態における半導体装置のメッシュクロック供給構造を示す。半導体装置の回路にクロック信号を供給するために、クロックメッシュ１が形成される。クロックメッシュ１は、縦方向と横方向の２次元格子状に配置され、格子の各交点で接続されたクロック配線６と、クロック配線６上に互いに等間隔に配置され、クロック信号を供給するクロックドライバ２とを備える。図２の例では、クロックドライバ２は格子状のクロック配線６の各交点に配置される。
【００１６】
クロックメッシュ１に対して、動作モードに応じてクロック信号の供給を制御するための制御回路３が設けられる。制御回路３が出力する制御信号は、制御信号線４を介して所定の領域のクロックドライバ２に伝送される。制御信号線４は、動作モードによってクロック分離領域５として指定される可能性のある全てのクロックドライバ２に接続される。オーバーヘッドはあるが、全てのクロックドライバ２を制御回路３によって制御可能としてもよい。
【００１７】
図３は、制御回路３が備える機能を示す機能ブロック図である。制御回路３は、クロック分離領域設定部１１、クロック分離領域制御部１２及び駆動能力制御部１３を備える。
【００１８】
図４は、クロックドライバ２の付近を拡大した図を示す。説明を単純にするために、一本の配線が二つの領域に分断された例を示している。クロックメッシュの一部を形成するクロック配線が２本のクロック配線６−１、６−２に分断される。これらのクロック配線６−１、６−２に対して、複数のクロックドライバＤＲ１、ＤＲ２が設けられる。制御の自由度の大きさの観点からは、互いに分断されたクロック配線６−１、６−２の領域（この例では２つ）と同じ数以上のクロックドライバＤＲ１、ＤＲ２が設けられることが好ましい。しかし制御回路３による動作モードによっては、それ以下の数のクロックドライバでもよい。
【００１９】
クロックドライバＤＲ１は、それぞれスイッチＳＷ１、ＳＷ３を介してクロック配線６−１、６−２に接続される。クロックドライバＤＲ２は、それぞれスイッチＳＷ２、ＳＷ４を介してクロック配線６−１、６−２に接続される。スイッチＳＷ１〜ＳＷ４の各々は例えばＭＯＳトランジスタによって形成され、制御回路３からの制御信号に基づいて電気的な接続のオン／オフが個別に制御される。
【００２０】
このように各クロックドライバの先に複数の領域に分かれたクロックメッシュの各々に対応するスイッチを設ける。各スイッチのオン／オフの組み合わせによって、各クロックドライバの出力経路と、各クロックメッシュ領域を駆動するドライバの数を調節することができる。
【００２１】
両方のクロック配線６−１、６−２にクロック信号を供給する動作モードの場合、制御信号に応じてスイッチＳＷ１〜ＳＷ４のすべてがオンとなる。その結果、クロックドライバＤＲ１のクロック信号がクロック配線６−１とクロック配線６−２に供給され、且つクロックドライバＤＲ２のクロック信号がクロック配線６−１とクロック配線６−２に供給される。その結果、クロック配線６−１とクロック配線６−２のいずれも、２個のクロックドライバＤＲ１、ＤＲ２によってクロック信号を供給される。
【００２２】
次に、半導体回路の一部を停止する動作モードについて説明する。この場合、動作を続ける回路に接続される領域のクロック配線６−１にのみクロック信号を供給し、動作を停止する回路に接続される領域のクロック配線６−２に対するクロック信号の供給を停止する。このとき、スイッチＳＷ１、ＳＷ２をオンにし、スイッチＳＷ３、ＳＷ４をオフにすると、２個のクロックドライバＤＲ１、ＤＲ２からのクロック信号が一方のクロック配線６−１に供給される。もし２個のクロックドライバＤＲ１、ＤＲ２が両方のクロック配線６−１、６−２に十分なクロック信号を供給する駆動能力を有しているとすると、それらのクロック信号を一方の領域のみのクロック配線６−１に供給した場合、駆動能力が過剰である。その結果、条件によっては、メッシュとしてのバランスが崩れ、スキューが悪化する可能性がある。
【００２３】
このような場合、例えばスイッチＳＷ１のみをオンにし、スイッチＳＷ２〜ＳＷ４をオフにする。この動作により、一方の領域のクロック配線６−１を一方のクロックドライバＤＲ１のみによって駆動することができる。その結果、駆動能力を適正化し、メッシュクロックのバランスを保ちながら一部領域を停止することができる。
【００２４】
制御回路３のクロック分離領域設定部１１は、外部から入力したデータに基づいて、クロック分離領域５の設定を行う。クロック分離領域制御部１２は、動作モードに応じてクロック分離領域５が設定されると、スイッチ（ＳＷ１〜ＳＷ４等）を制御して、そのクロック分離領域５に対するクロック信号の供給を遮断する。駆動能力制御部１３は、動作モードに応じてクロック分離領域５が設定されると、クロック信号供給部として機能しているクロックドライバ２の駆動能力を、クロックメッシュのバランスの乱れを抑制する方向に変化させる。例えば、クロックメッシュの一部領域に対するクロック信号の供給を停止する場合、スイッチの制御によって、クロック信号を供給するクロックドライバの数を減らす方向に駆動能力を変化させる。
【００２５】
本実施形態においては、複数のクロックドライバを組み合わせ、制御信号によりクロックが出力される経路を変更できるようにし、かつ変更された経路に最適な駆動能力に調整可能な構成のクロックドライバを、クロックメッシュ上に配置する。動作モードに合わせた適切な制御信号を与えることで、モードによってクロックメッシュの任意の領域を独立させ、一部の領域だけ止めることが可能である。その結果、バラツキに強いクロックメッシュの特徴を保ちつつ、ゲーティングクロックの特徴である、動作しない不要部分を止め電力を抑制する機能や領域の一部を電源遮断する機能を実現することができる。
【００２６】
図５は、本実施形態における半導体装置の設計フローを示す。この設計フローに示された方法は、コンピュータに格納された設計用プログラムをＣＰＵが読み出して実行することによって実現される。この方法では、フロアプラン（Ｓ１）、クロックメッシュ設計（Ｓ２）、及びチップレイアウト（Ｓ５）を含む通常の半導体装置の設計フローに対して、ステップＳ３、Ｓ４が加わる。
【００２７】
ステップＳ３において、設計用プログラムは、半導体回路のレイアウトを示すレイアウト情報Ｄ１と、半導体回路の所定領域を停止する等の動作モードを示す動作モード情報Ｄ２を記憶装置から読み出す。そのレイアウト情報Ｄ１と動作モード情報Ｄ２とから、各動作モードにおいて出力スイッチ（図４のスイッチＳＷ１〜ＳＷ４に相当）の制御が必要なクロックドライバが抽出される。抽出された各クロックドライバに接続されるクロック配線の組（図４の例では、ＤＲ１に接続されるＳＷ１とＳＷ３との組と、ＤＲ２に接続されるＳＷ２とＳＷ４との組）の各々に対してオン／オフを指令するオン／オフ情報を、各動作モードに応じて設定する。この設定は、動作モードを切り替える前後において、クロックメッシュのクロック信号が供給される領域に対するクロックドライバの駆動能力の変動を低く抑えるように行われる。
【００２８】
以上の動作によって、各動作モードにおいて、各クロックドライバの各出力スイッチのオン／オフ状態が設定される。ステップＳ４において、制御回路３が動作モードを指定されたときに、このオン／オフ状態を各出力スイッチに対して指令するように、制御回路３の設計が行われる。
【００２９】
各クロックドライバの動作モードに応じた制御方法（スイッチのオン／オフのパターン）は、論理設計時点では決まらず、レイアウト後に決定される。そのため、設計方法としては、まずフロアプラン（Ｓ１）、続いてクロックメッシュ設計（Ｓ２）を少なくとも行う。そののち、そのレイアウト情報Ｄ１（モジュールの配置領域とクロックドライバの配置座標を含む）と動作モード情報Ｄ２（どの動作モードで、どのモジュールを分離するかを示す）に基づいて、制御を行うべきクロックドライバのセルを抽出する（Ｓ３）。次いで、該当セルへの制御動作を制御回路３に追加する。クランプしてレジスタに定数を設定するなど、やり方は複数ある。配置配線まで行ってからクロックドライバの抽出と制御回路の修正を行うことも可能である。しかしながら、ステップＳ１で必要最小限なレイアウトのみ行うと、後戻りの発生を抑えることができ好ましい。
【００３０】
本実施形態によれば、制御信号によって、動的にメッシュクロックの出力経路を分断することが可能になる。その結果、メッシュクロック構成でありながらも、動作モードに合わせて、一部の領域を分離し、クロックを止めたり、該当領域の電源を遮断することができるようになる。更に、一部領域を分離したとき、例えば図４の構成の場合、ＳＷ１のみオンし、ＳＷ２〜ＳＷ４をオフすることにより、メッシュ全体を駆動する通常モードと大きくバランスが変わらないように調整することが可能となる。このように、メッシュクロックとしての低スキュークロック分配を実現しながら、クロックメッシュの動的に設定される一部領域を分離し、動作モードに応じてクロックゲーティングや電源遮断を可能にし、低電力化することが可能になる。
【００３１】
図４では、一本のクロック配線を２つの領域に分断した例を示した。図８、図９は、図２のメッシュの格子点のように２本のクロック配線が交差する点においてクロック配線を４本に分断した例を示す。図８に示すように、クロックドライバ２が配置されるメッシュ上の座標点に、クロック配線Ｌ１〜Ｌ４が接続される。図９では、接続関係を見やすくするために、クロック配線Ｌ１〜Ｌ４を平行に描いている。
【００３２】
このような位置には、例えば４個のクロックドライバＤＲ１〜ＤＲ４が設けられる。クロックドライバＤＲ１〜ＤＲ４の各々の出力に、クロック配線Ｌ１〜Ｌ４の各々との接続のオン／オフを制御するためのスイッチが設けられる。例えばクロックドライバＤＲ１には、それぞれクロック配線Ｌ１、Ｌ２、Ｌ３、Ｌ４との接続を制御するためのスイッチＳＷ１−１、ＳＷ１−２、ＳＷ１−３、ＳＷ１−４が設けられる。このような構成によって、制御回路３はクロック分離領域５を任意に設定することができる。さらに、各クロック配線Ｌ１〜Ｌ４に対して接続するクロックドライバＤＲ１〜ＤＲ４の数を制御することにより、駆動能力を制御することができる。
【００３３】
図６は、本実施形態におけるクロックドライバ２の変形例を示す。クロックドライバＤＲ１の出力は、オン／オフが制御可能なスイッチＳＷ１を介してクロック配線６−１に接続され、スイッチを介さずにクロック配線６−２に接続される。クロックドライバＤＲ２の出力は、スイッチを介さずにクロック配線６−１に接続され、オン／オフが制御可能なスイッチＳＷ２を介してクロック配線６−２に接続される。
【００３４】
通常モードにおいて、スイッチＳＷ１、ＳＷ２が共にオンされる。このモードでは、クロック配線６−１、６−２が共に２個のクロックドライバＤＲ１、ＤＲ２により駆動される。分離モードでは、スイッチＳＷ１、ＳＷ２が共にオフされる。このモードでは、クロック配線６−１はクロックドライバＤＲ１のみによって駆動され、クロック配線６−２はクロックドライバＤＲ２のみによって駆動される。図４に比べて制御の自由度は小さいが、回路のオーバーヘッドが小さく、制御信号が単純であるという利点が得られる。
【００３５】
図９の例においても、クロックドライバＤＲ１〜ＤＲ４の各々について、そのクロック配線Ｌ１〜Ｌ４に対応する複数の出力に、クロック配線Ｌ１〜Ｌ４よりも少ない数のスイッチ（例えば３個のスイッチＳＷ１−２〜ＳＷ１−４）を設けることによって、この変形例を実現することができる。
【００３６】
図７は、本発明の第２実施形態を示す。クロック信号のソースとなるルートドライバＤＲ１１からクロック信号線が分岐する。分岐の一方は、バッファとなるクロックドライバＤＲ１２を介して複数のクロックドライバＤＲ１３、ＤＲ１４に接続される。クロックドライバＤＲ１３、ＤＲ１４は、ルートドライバＤＲ１１と同じ周波数のクロック信号をクロックメッシュ１−１に供給する。分岐の他方は、分周回路７を介して複数のクロックドライバＤＲ１５、ＤＲ１６に接続される。クロックドライバＤＲ１５、ＤＲ１６は、ルートドライバＤＲ１１の周波数を１／２や１／４に変更した周波数でクロックメッシュ１−２を駆動する。クロックメッシュ１−１とクロックメッシュ１−２は、第１実施形態と同様に、スイッチの制御により、接続して１つのクロックメッシュとして用いる通常動作モードと、分離して用いる分離動作モードを取ることが可能である。
【００３７】
このような構成により、クロックメッシュの一部の領域のみ周波数を変更することができる。メッシュの最下層（駆動対象の半導体回路に最も近い階層）のクロックドライバを図４、図６等の構成によって分離し、それより上層の駆動ドライバ（分周回路７に相当）に分周機能を持たせることにより、一部の回路にのみ可変周波数のクロック信号を供給することができる。例えば、通常は同期して動くが、処理の負荷が小さい場合には、一部のモジュールにのみ周波数が１／２や１／４のクロック周波数を供給することができる。図７の例では一箇所のモジュールのみ分離されているが、任意の箇所を分離・結合することで、複雑な設定が可能である。
【符号の説明】
【００３８】
１、１−１、１−２  クロックメッシュ
２  クロックドライバ
３  制御回路
４  制御信号線
５  クロック分離領域
６、６−１、６−２  クロック配線
７  分周回路
１１  クロック分離領域設定部
１２  クロック分離領域制御部
１３  駆動能力制御部
ＤＲ１〜ＤＲ４  クロックドライバ
Ｌ１〜Ｌ４  クロック配線
ＳＷ１〜ＳＷ４  スイッチ
ＳＷ１−１〜ＳＷ４−４  スイッチ
【図１】
2013196275.tif 000003
【図２】
2013196275.tif 000004
【図３】
2013196275.tif 000005
【図４】
2013196275.tif 000006
【図５】
2013196275.tif 000007
【図６】
2013196275.tif 000008
【図７】
2013196275.tif 000009
【図８】
2013196275.tif 000010
【図９】
2013196275.tif 000011