(57)【特許請求の範囲】
【請求項１】
ルートバッファを介して供給されるクロック信号を、少なくとも２つのリーフセルに分配するためのクロックツリーを合成するツールであって、
クロック信号の遅延時間を調整するために、前記少なくとも２つのリーフセルの中から少なくとも１つのリーフセルを指定し、
この少なくとも１つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルにクロック信号を供給する第１のクロックツリーを合成し、
前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように、前記指定された少なくとも１つのリーフセルにクロック信号を供給する第２のクロックツリーを合成する機能を備えていることを特徴とするクロックツリー合成ツール。
【請求項２】
前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中で最小のクロック信号の遅延時間よりも一定の時間だけ早く、または、最大のクロック信号の遅延時間よりも一定の時間だけ遅くするように、前記第２のクロックツリーを合成する機能を備えていることを特徴とする請求項１に記載のクロックツリー合成ツール。
【請求項３】
ルートバッファを介して供給されるクロック信号を、少なくとも２つのリーフセルに分配するためのクロックツリーを合成する方法であって、
前記少なくとも２つのリーフセルの中から、クロック信号の遅延時間を調整しようとする少なくとも１つのリーフセルを指定し、
この少なくとも１つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルにクロック信号を供給する第１のクロックツリーを合成し、
前記指定された少なくとも１つのリーフセルにクロック信号を供給する第２のクロックツリーの合成条件として、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように指定し、
前記合成条件を満足するように、前記第２のクロックツリーを合成することを特徴とするクロックツリー合成方法。
【請求項４】
前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中で最小のクロック信号の遅延時間よりも一定の時間だけ早く、または、最大のクロック信号の遅延時間よりも一定の時間だけ遅くするように、前記第２のクロックツリーを合成する機能を備えていることを特徴とする請求項３に記載のクロックツリー合成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ルートバッファから複数のリーフセルに対してクロック信号を分配するためのクロックツリーを合成するクロックツリー合成ツールおよび合成方法に関するものである。
【０００２】
【従来の技術】
クロックツリー合成ツールは、図４に示すように、半導体装置の設計において、外部からルートバッファ１０を介して供給されるクロック信号を、複数のリーフセル１２ａ，１２ｂ，…に分配するためのツリー状のバッファ１６（クロックツリー）を合成するものである。クロックツリー合成ツールでは、ルートバッファ１０から各リーフセル１２ａ，１２ｂ，…に供給されるクロック信号の遅延時間を調整し、クロック信号間に大きなスキューが発生しないようにクロックツリーの合成が行われる。
【０００３】
ここで、ルートバッファ１０とは、例えば外部から半導体装置に供給されるクロック信号をバッファリングして各リーフセル１２ａ，１２ｂ，…に供給するための大元のバッファである。また、リーフセル１２ａ，１２ｂ，…とは、クロックツリーを構成するバッファ１６を通して供給されるクロック信号を使用するセルのことであり、代表的には、例えばフリップフロップやラッチを一例として挙げることができるが、これに限定されず、例えば各種の論理セル等も含まれる。
【０００４】
【発明が解決しようとする課題】
ところで、従来のクロックツリー合成ツールでは、全てのリーフセル１２ａ，１２ｂ，…に対して共通にクロック信号の遅延時間の最小値または最大値を指定したり、あるいは、全てのリーフセル１２ａ，１２ｂ，…間のスキューを指定することはできる。しかし、特定のリーフセルだけを指定して、指定されたリーフセルに供給されるクロック信号の遅延時間を最小値または最大値にしたり、あるいは、指定された複数のリーフセルに供給されるクロック信号間のスキューを抑える機能は備えていない。
【０００５】
例えば、ＰＬＬ回路（位相同期回路）では、内部回路の動作性能を向上させるために、内部回路に供給されるクロック信号の遅延時間よりも、ＰＬＬ回路自身へフィードバックされる信号の遅延時間の方を大きく（最大に）したいという要求がある。また、特定の複数の出力信号だけを同一タイミングで外部へ出力したい場合もあるし、高速動作を行う回路ブロックでは、各リーフセルへ供給されるクロック信号間のスキューを極力抑えたいという要求もある。
【０００６】
これに対し、従来は、クロックツリー合成ツールを使用してクロックツリーを合成した後、特定のリーフセルに対する要求を満足するように手作業でクロックツリーを修正することにより対応していた。しかし、手作業では作業効率が悪いだけでなく、修正ミスが発生する場合があるという問題があった。
【０００７】
本発明の目的は、前記従来技術に基づく問題点を解消し、特定のリーフセルを指定して、クロック信号の遅延時間やスキューを効率よく調整することができるクロックツリー合成ツールおよび合成方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ルートバッファを介して供給されるクロック信号を、少なくとも２つのリーフセルに分配するためのクロックツリーを合成するツールであって、
クロック信号の遅延時間を調整するために、前記少なくとも２つのリーフセルの中から少なくとも１つのリーフセルを指定し、
この少なくとも１つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルにクロック信号を供給する第１のクロックツリーを合成し、
前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように、前記指定された少なくとも１つのリーフセルにクロック信号を供給する第２のクロックツリーを合成する機能を備えていることを特徴とするクロックツリー合成ツールを提供するものである。
【０００９】
また、本発明は、ルートバッファを介して供給されるクロック信号を、少なくとも２つのリーフセルに分配するためのクロックツリーを合成する方法であって、
前記少なくとも２つのリーフセルの中から、クロック信号の遅延時間を調整しようとする少なくとも１つのリーフセルを指定し、
この少なくとも１つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルにクロック信号を供給する第１のクロックツリーを合成し、
前記指定された少なくとも１つのリーフセルにクロック信号を供給する第２のクロックツリーの合成条件として、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように指定し、
前記合成条件を満足するように、前記第２のクロックツリーを合成することを特徴とするクロックツリー合成方法を提供する。
【００１０】
ここで、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記第１のクロックツリーにより供給されるクロック信号の中で最小のクロック信号の遅延時間よりも一定の時間だけ早く、または、最大のクロック信号の遅延時間よりも一定の時間だけ遅くするように、前記第２のクロックツリーを合成する機能を備えているのが好ましい。
また、前記指定された少なくとも２つのリーフセルにそれぞれ供給されるクロック信号間のスキューを抑制する場合、さらに、このスキューを抑制しようとするそれぞれのクロック信号の遅延時間を、前記少なくとも２つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルに供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように指定するのが好ましい。
【００１１】
また、前記少なくとも１つまたは２つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルに供給されるクロック信号の中から選択される１つのクロック信号は、最大または最小の遅延時間のクロック信号であるのが好ましい。
【００１２】
例えば、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記少なくとも１つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルに供給されるクロック信号の中で最小のクロック信号の遅延時間よりも一定の時間だけ早くするように指定し、
前記ルートバッファを介して供給されるクロック信号を、前記他の少なくとも１つのリーフセルに分配するための第１のクロックツリーを合成し、当該第１のクロックツリーは、前記指定された少なくとも１つのリーフセルにクロック信号を分配するためのクロックバッファを含み、
前記第１のクロックツリーにおいて、前記他の少なくとも１つのリーフセルに供給されるクロック信号の中で最小のクロック信号の遅延時間を検出し、
この検出された最小のクロック信号の遅延時間よりも、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間が前記指定された早くする時間だけ短くなるように、前記クロックバッファから、前記指定された少なくとも１つのリーフセルまでの第２のクロックツリーを合成するのが好ましい。
【００１３】
また、例えば前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間を、前記少なくとも１つまたは２つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルに供給されるクロック信号の中で最大のクロック信号の遅延時間よりも一定の時間だけ遅くするように指定し、
前記指定された少なくとも１つのリーフセルに供給されるクロック信号を、前記指定された遅くする時間だけ遅延させるための第１のクロックツリー、および、前記ルートバッファを介して供給されるクロック信号を、前記他の少なくとも１つのリーフセルに分配するための第２のクロックツリーを合成し、当該第２のクロックツリーは、前記指定された少なくとも１つのリーフセルにクロック信号を分配するためのクロックバッファを含み、
前記第２のクロックツリーにおいて、前記他の少なくとも１つのリーフセルに供給されるクロック信号の中で最大のクロック信号の遅延時間を検出し、
この検出された最大のクロック信号の遅延時間よりも、前記指定された少なくとも１つのリーフセルに供給されるクロック信号の遅延時間が前記指定された遅くする時間だけ長くなるように、前記クロックバッファから前記第１のクロックツリーまでの第３のクロックツリーを合成するのが好ましい。
【００１４】
また、例えば前記指定された少なくとも２つのリーフセルにそれぞれ供給されるクロック信号間のスキューを抑えるように指定し、
前記指定された少なくとも２つのリーフセルにそれぞれ供給されるクロック信号間のスキューを抑え、略同一の遅延時間とするための第１のクロックツリーを合成し、
この第１のクロックツリーにおいて、前記指定された少なくとも２つのリーフセルにそれぞれ供給されるクロック信号の略同一の遅延時間を検出し、
前記第１のクロックツリーにおけるそれぞれのクロック信号の略同一の遅延時間を含めて、全てのリーフセルに供給されるクロック信号の遅延時間が略同一となるように、前記ルートバッファを介して供給されるクロック信号を、前記第１のクロックツリーおよび前記少なくとも２つのリーフセルが指定された時に指定されなかった他の少なくとも１つのリーフセルに分配するための第２のクロックツリーを合成するのが好ましい。
【００１５】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明のクロックツリー合成ツールおよび合成方法を詳細に説明する。
【００１６】
本発明のクロックツリー合成方法は、ルートバッファを介して供給されるクロック信号を、複数のリーフセルに分配するためのクロックツリーを合成する方法である。
【００１７】
本発明のクロックツリー合成方法では、まず、複数のリーフセルの中から、クロック信号の遅延時間を調整しようとするリーフセル、もしくはクロック信号間のスキューを調整しようとするリーフセル群を指定する。
【００１８】
続いて、クロックツリーの合成条件として、指定されたリーフセルに供給されるクロック信号の遅延時間を、このリーフセルが指定された時に指定されなかった他のリーフセルに供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように指定するか、もしくは指定されたリーフセル群にそれぞれ供給されるクロック信号間のスキューを抑制するよう指定する。
【００１９】
リーフセルまたはリーフセル群、および、クロックツリーの合成条件の指定が完了した後、このクロックツリーの合成条件を満足するように、指定されたリーフセルまたはリーフセル群を優先してクロックツリーを合成する。
【００２０】
また、本発明のクロックツリー合成ツールは、本発明のクロックツリー合成方法に従って、指定されたリーフセルを優先してクロックツリーを合成する機能を備えるものであり、例えばコンピュータ上で動作するソフトウエアプログラムによって実現可能である。なお、指定されたリーフセルを優先してクロックツリーを合成する具体的な方法の詳細の一例について以下に詳述するが、本発明は、この具体例だけに限定されるものはない。
【００２１】
以下、本発明のクロックツリー合成ツールを用い、本発明のクロックツリー合成方法に従って、指定されたリーフセルを優先してクロックツリーを合成する場合の具体例を説明する。
【００２２】
図１は、本発明のクロックツリー合成ツールを用い、本発明のクロックツリー合成方法に従って、指定されたリーフセルに供給されるクロック信号の遅延時間を、このリーフセルが指定された時に指定されなかった他のリーフセルに供給されるクロック信号の中で最小のクロック信号の遅延時間よりも指定された一定の時間だけ早くする場合の工程を概念的に示したものである。この図では、左側にルートバッファ１０が配置され、右側に、リーフセルとして複数のフリップフロップ１２ａ，１２ｂ，１２ｃ，…が配置されている。
【００２３】
まず、本発明のクロックツリー合成ツールの使用者により、クロック信号の遅延時間を早くしたいフリップフロップと、その遅延時間が指定される（図１（ａ））。ここでは、複数のフリップフロップの中から最上部のフリップフロップ１２ａが指定され、指定されたフリップフロップ１２ａに供給されるクロック信号の遅延時間を、指定されなかった他のフリップフロップに供給されるクロック信号の中で最小のクロック信号の遅延時間よりも０．２ｎｓだけ早くするように指定されたとする。
【００２４】
続いて、本発明のクロックツリー合成ツールにより、ルートバッファ１０を介して供給されるクロック信号を、指定されなかった他のフリップフロップに分配するための第１のクロックツリーが合成される（図１（ｂ））。
【００２５】
なお、第１のクロックツリーには、ルートバッファ１０の出力端子の容量値が変化しないように、指定されたフリップフロップ１２ａにクロック信号を分配するためのクロックバッファ１４があらかじめ追加される。このクロックバッファ１４は、本実施例の場合にはルートバッファ１０の出力端子に接続されているが、指定された遅延時間を満足することができるのであれば、第１のクロックツリーを構成するどのバッファ１６の出力端子に接続してもよい。
【００２６】
続いて、第１のクロックツリーにおいて、指定されなかった他のフリップフロップに供給されるクロック信号の中で最小のクロック信号の遅延時間が検出される。ここでは、この最小のクロック信号の遅延時間が３ｎｓであるとする。
【００２７】
その後、検出された最小のクロック信号の遅延時間である３ｎｓよりも、指定されたフリップフロップ１２ａに供給されるクロック信号の遅延時間が、指定された０．２ｎｓだけ短い２．８ｎｓとなるように、クロックバッファ１４から、指定されたフリップフロップ１２ａまでの第２のクロックツリーが合成される（図１（ｃ））。本実施例の場合、第２のクロックツリーとして、クロックバッファ１４と指定されたフリップフロップ１２ａが直接接続される。
【００２８】
これにより、指定されたフリップフロップ１２ａには、指定されなかった他のフリップフロップに供給されるどのクロック信号よりも、指定された０．２ｎｓだけ早いクロック信号が供給されることになる。
【００２９】
なお、本実施例の場合、指定されたフリップフロップ１２ａが１つだけなので、図１（ｃ）に示すように、第２のクロックツリーとして、指定された遅延時間を満足するように、クロックバッファ１４と指定されたフリップフロップ１２ａが直接接続されているが、指定されるフリップフロップが２つ以上の場合には、クロックバッファ１４を介して供給されるクロック信号を、指定された複数のフリップフロップに分配するためのクロックツリーがツリー状に合成される。
【００３０】
次に、図２を参照して、指定されたリーフセルに供給されるクロック信号の遅延時間を、指定されなかった他のリーフセルに供給されるクロック信号の中で最大のクロック信号の遅延時間よりも指定された一定の時間だけ遅くする場合について説明する。
【００３１】
この場合も、まず、本発明のクロックツリー合成ツールの使用者により、クロック信号の遅延時間を遅くしたいフリップフロップと、その遅延時間が指定される（図２（ａ））。同じく、図中最上部のフリップフロップ１２ａが指定され、このフリップフロップ１２ａに供給されるクロック信号の遅延時間を、指定されなかった他のフリップフロップに供給されるクロック信号の中で最大のクロック信号の遅延時間よりも０．２ｎｓだけ遅くするように指定されたとする。
【００３２】
続いて、本発明のクロックツリー合成ツールにより、指定されたフリップフロップ１２ａに供給されるクロック信号を、指定された遅くする時間だけ遅延させるための第１のクロックツリーが合成される（図２（ｂ））。本実施例の場合、クロックツリーとして、指定されたフリップフロップ１２ａのクロック入力端子に１つのバッファ１８が接続される。これにより、クロック信号は、このバッファ１８により０．２ｎｓだけ遅延されて指定されたフリップフロップ１２ａに供給される。
【００３３】
なお、複数のフリップフロップが指定された場合、クロックツリーとして、例えば指定されたそれぞれのフリップフロップのクロック入力端子にそれぞれバッファを接続してもよいし、あるいは、指定された複数のフリップフロップに対して、指定された複数のフリップフロップに供給されるクロック信号を、指定された遅くする時間だけ遅延させるためのクロックツリーをツリー状に合成してもよい。
【００３４】
続いて、ルートバッファ１０を介して供給されるクロック信号を、指定されなかった他のフリップフロップに分配するための第２のクロックツリーが合成される（図２（ｂ））。
【００３５】
この場合、第２のクロックツリーにも、ルートバッファ１０の出力端子の容量値が変化しないように、指定されたフリップフロップ１２ａにクロック信号を分配するためのクロックバッファ１４があらかじめ追加される（図２（ｂ））。このクロックバッファ１４もルートバッファ１０の出力端子に接続されているが、指定された遅延時間を満足することができるのであれば、第２のクロックツリーを構成するどのバッファ１６の出力端子に接続してもよい。
【００３６】
なお、第１のクロックツリーと第２のクロックツリーのどちらを先に合成してもよいし、同時に合成してもよい。
【００３７】
続いて、第２のクロックツリーにおいて、指定されなかった他のフリップフロップに供給されるクロック信号の中で最大のクロック信号の遅延時間が検出される。ここでは、この最大のクロック信号の遅延時間が３ｎｓであるとする。
【００３８】
その後、検出されたクロック信号の最大の遅延時間である３ｎｓよりも、指定されたフリップフロップ１２ａに供給されるクロック信号の遅延時間が指定された０．２ｎｓだけ長い３．２ｎｓとなるように、クロックバッファ１４から、指定されたフリップフロップ１２ａまでの第３のクロックツリーが合成される（図２（ｃ））。本実施例の場合、第３のクロックツリーとして、クロックバッファ１４と第１のクロックツリーのバッファ１８が直接接続される。
【００３９】
これにより、指定されたフリップフロップ１２ａには、指定されなかった他のフリップフロップに供給されるどのクロック信号よりも、指定された０．２ｎｓだけ遅いクロック信号が供給されることになる。
【００４０】
なお、上記実施例の場合、指定されたフリップフロップ１２ａが１つだけなので、図２（ｃ）に示すように、第３のクロックツリーとして、指定された遅延時間を満足するように、クロックバッファ１４と第１のクロックツリーのバッファ１８が直接接続されているが、指定されるフリップフロップが２つ以上かつ、指定されたそれぞれのフリップフロップのクロック入力端子にそれぞれバッファを接続した場合には、クロックバッファ１４を介して供給されるクロック信号を、指定された複数のフリップフロップに分配するためのクロックツリーがツリー状に合成される。
【００４１】
次に、図３を参照して、指定された複数のフリップフロップにそれぞれ供給されるクロック信号間のスキューを抑える場合について説明する。
【００４２】
同じく、まず、本発明のクロックツリー合成ツールの使用者により、クロック信号間のスキューを抑えたいフリップフロップ群が指定され、指定されたフリップフロップにそれぞれ供給されるクロック信号間のスキューを抑えるように指定される（図３（ａ））。本実施例では、図中上側の２つのフリップフロップ１２ａ，１２ｂが指定され、これらのフリップフロップ１２ａ，１２ｂにそれぞれ供給されるクロック信号間のスキューを抑えるように指定されたとする。
【００４３】
続いて、指定された２つのフリップフロップ１２ａ，１２ｂに供給されるクロック信号間のスキューを抑え、ほぼ同一の遅延時間とするための第１のクロックツリーが合成される  （図３（ｂ））。本実施例では、例えばＨ−Ｔｒｅｅ（Ｈツリー）等の方法により、指定された２つのフリップフロップ１２ａ，１２ｂのレイアウト上の中間位置に１つのバッファ２０が配置され、このバッファ２０の出力端子から、指定された２つのフリップフロップ１２ａ，１２ｂのクロック入力端子までの配線距離がほぼ同一となるように接続される。
【００４４】
これにより、第１のクロックツリーのバッファ２０から、指定された２つのフリップフロップ１２ａ，１２ｂまでの間のクロック信号間のスキューはほとんどないように調整される。
【００４５】
なお、本実施例の場合、指定されたフリップフロップ１２ａ，１２ｂが２つだけなので、図３（ｂ）に示すように、第１のクロックツリーとして、バッファ２０と指定された２つのフリップフロップ１２ａ，１２ｂとが直接接続されているが、指定されるフリップフロップが多い場合には、クロック信号を、指定された複数のフリップフロップに分配するためのクロックツリーがツリー状に合成される。
【００４６】
その後、第１のクロックツリーにおいて、指定されたフリップフロップに供給されるクロック信号のほぼ同一の遅延時間が検出される。本実施例では、バッファ２０から、指定された２つのフリップフロップ１２ａ，１２ｂに供給されるクロック信号の間にはほとんどスキューはなく、その遅延時間は共に１ｎｓであるとする。
【００４７】
続いて、第１のクロックツリーによるクロック信号の遅延時間１ｎｓを含めて、全てのフリップフロップ１２ａ，１２ｂ，１２ｃ，…に供給されるクロック信号の遅延時間がほぼ同一になるように、ルートバッファ１０を介して供給されるクロック信号を、第１のクロックツリーおよびフリップフロップ１２ａ，１２ｂが指定された時に指定されなかった他のフリップフロップに分配するための第２のクロックツリーが合成される（図３（ｃ））。
【００４８】
本実施例の場合、第２のクロックツリーとして、指定された２つのフリップフロップ１２ａ，１２ｂに係る部分には、ルートバッファ１０と第１のクロックツリーのバッファ２０との間に１つのバッファ２２が追加される。
【００４９】
これにより、指定された２つのフリップフロップ１２ａ，１２ｂには、指定されなかった他のフリップフロップに供給されるクロック信号と遅延時間がほぼ同一で、なおかつ両者の間にほとんどスキューのないクロック信号が供給されることになる。
【００５０】
なお、上記実施例では、指定されなかった他のリーフセルに供給されるクロック信号の中から選択される１つのクロック信号として、指定されなかった他のリーフセルの中で最小または最大の遅延時間のクロック信号を例に挙げて説明したが、本発明はこれに限定されず、指定されなかった他のリーフセルに供給されるクロック信号の中から任意に１つのクロック信号を選択してもよいし、あるいは特定のクロック信号を選択するようにしてもよい。
【００５１】
また、上記実施例では、指定されなかった他のリーフセルの中で最小のクロック信号の遅延時間よりも一定の時間だけ早くするよう指定したり、最大のクロック信号の遅延時間よりも一定の時間だけ遅くするよう指定しているが、これも何ら限定されず、指定されなかった他のリーフセルの中から選択される任意あるいは特定のクロック信号の遅延時間よりも一定の時間だけ早くするよう指定したり、逆に遅くするよう指定してもよい。
【００５２】
また、指定されたリーフセル群にそれぞれ供給されるクロック信号間のスキューを抑制するよう指定した場合、さらに、このスキューを抑制しようとするリーフセル群にそれぞれ供給されるクロック信号の遅延時間を、指定されなかった他のリーフセルに供給されるクロック信号の中から選択される任意あるいは特定の１つのクロック信号の遅延時間よりも、一定の時間だけ早くするよう指定したり、逆に遅くするよう指定してもよい。
【００５３】
本発明のクロックツリー合成ツールおよび合成方法は、基本的に以上のようなものである。
以上、本発明のクロックツリー合成ツールおよび合成方法について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００５４】
【発明の効果】
以上詳細に説明した様に、本発明は、クロック信号の遅延時間を調整しようとするリーフセル、もしくはクロック信号間のスキューを調整しようとするリーフセル群を指定し、クロックツリーの合成条件として、指定されたリーフセルに供給されるクロック信号の遅延時間を、指定されなかった他のリーフセルに供給されるクロック信号の中から選択される１つのクロック信号の遅延時間よりも、一定の時間だけ早くまたは遅くするように指定するか、もしくは指定された２つのリーフセルにそれぞれ供給されるクロック信号間のスキューを抑制するよう指定し、クロックツリーの合成条件を満足するように、指定されたリーフセルまたはリーフセル群を優先してクロックツリーを合成するようにしたものである。
これにより、本発明によれば、指定した特定のリーフセルに供給されるクロック信号の遅延時間やスキューを効率よく調整することができる。また、本発明のクロックツリー合成ツールを用いることにより、特定のリーフセルを優先してクロックツリーを合成する際のミスも防止することができる。
【図面の簡単な説明】
【図１】  （ａ）、（ｂ）および（ｃ）は、本発明のクロックツリー合成方法に従ってクロックツリーを合成する場合の各工程を表す一実施例の構成回路図である。
【図２】  （ａ）、（ｂ）および（ｃ）は、本発明のクロックツリー合成方法に従ってクロックツリーを合成する場合の各工程を表す一実施例の構成回路図である。
【図３】  （ａ）、（ｂ）および（ｃ）は、本発明のクロックツリー合成方法に従ってクロックツリーを合成する場合の各工程を表す一実施例の構成回路図である。
【図４】  従来方法に従って合成されたクロックツリーを表す一例の構成概念図である。
【符号の説明】
１０  ルートバッファ
１２ａ，１２ｂ，１２ｃ，…  リーフセル
１４  クロックバッファ
１６，１８，２０，２２  バッファ
【図１】
0004004788.tif 000002
【図２】
0004004788.tif 000003
【図３】
0004004788.tif 000004
【図４】
0004004788.tif 000005