(57)【要約】【課題】  ばらつきによるクロックスキューの増大を抑止する装置、方法の提供。            【解決手段】  クロックツリーの分岐がツリー末端側に近く位置するように、クロックツリーの構成を変更する。【選択図】            図２
2007027841.tif 000002
【特許請求の範囲】
【請求項１】
クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロック伝搬経路（「クロックツリー」という）を有する半導体集積回路の設計装置であって、
前記クロックツリーの構成情報を入力する手段と、
前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する手段と、
を備えている、ことを特徴とする半導体集積回路の設計装置。
【請求項２】
前記ツリー端部のクロック供給先がフリップフロップよりなり、
分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識する手段と、
データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する手段と、
を備えている、ことを特徴とする請求項１記載の半導体集積回路の設計装置。
【請求項３】
前記ツリー端部のクロック供給先がフリップフロップよりなり、
前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識する手段と、
前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する手段と、
を備えている、ことを特徴とする請求項１記載の半導体集積回路の設計装置。
【請求項４】
前記フリップフロップのグループは、前記フリップフロップの配置位置に基づきグループ化されたものである、ことを特徴とする請求項３記載の半導体集積回路の設計装置。
【請求項５】
クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロック伝搬経路（「クロックツリー」という）を有する半導体集積回路の設計方法であって、
前記クロックツリーの構成情報を格納した記憶手段より、前記クロックツリーの構成情報を入力する工程と、
前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する工程と、
を含む、ことを特徴とする半導体集積回路の設計方法。
【請求項６】
前記ツリー端部のクロック供給先がフリップフロップよりなり、
分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識する工程と、
データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する工程と、
を含む、ことを特徴とする請求項５記載の半導体集積回路の設計方法。
【請求項７】
前記ツリー端部のクロック供給先がフリップフロップよりなり、
前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識する工程と、
前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する工程と、
を含む、ことを特徴とする請求項５記載の半導体集積回路の設計方法。
【請求項８】
前記フリップフロップのグループは、配置位置に基づきグループ化されたものである、ことを特徴とする請求項７記載の半導体集積回路の設計方法。
【請求項９】
クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロック伝搬経路（「クロックツリー」という）を有する半導体集積回路の設計装置を構成するコンピュータに、
前記クロックツリーの構成情報を格納した記憶手段より前記クロックツリーの構成情報を入力する処理と、
前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する処理と、
を実行させるプログラム。
【請求項１０】
請求項９記載のプログラムにおいて、
前記ツリー端部のクロック供給先がフリップフロップよりなり、
分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識する処理と、
データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する処理と、
を前記コンピュータに実行させるプログラム。
【請求項１１】
請求項９記載のプログラムにおいて、
前記ツリー端部のクロック供給先がフリップフロップよりなり、
前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識する処理と、
前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する処理と、
を前記コンピュータに実行させるプログラム。
【請求項１２】
請求項１１記載のプログラムにおいて、
前記フリップフロップのグループは、配置位置に基づきグループ化されたものである、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路の設計装置と方法並びにプログラムに関する。
【背景技術】
【０００２】
高集積化、高速化の進展著しい半導体集積回路（LSI）のレイアウト設計においてクロック供給先でのクロックのばらつきを低減するための設計手法として、従来より、クロックツリーシンセシス（ＣＴＳ）法が用いられている。クロックツリーシンセシス法は、回路の接続情報、配置情報等に基づき、クロック供給源（クロックソース）から複数のクロック系統に分岐させ、該クロックソースから分岐先の各ツリー端部までのクロックの遅延を等しくさせるようにバッファ（「ＣＴＳバッファ」ともいう）を挿入する等してクロックスキューを低減させるものである。
【０００３】
図７に、従来のクロックツリーシンセシス法により合成されたクロックツリーの一例を示す。クロックソースをなすルートバッファ１０からのクロックはバッファ１１を介して２分岐され、分岐されたクロックは、バッファ１２、１３を介してフリップフロップ２１と２２のグループＡ、フリップフロップ２３〜２５のグループＢに供給される。図７において、１、２、３、４は、ネットである。
【０００４】
半導体集積回路（LSI）の自動レイアウトにおいて、半導体集積回路内の複数のフリップフロップは、その配置位置に基づき、グループ化される。一般に、配置位置が近いもの同士をまとめて同一のグループとし、同一系統のクロック（分岐クロック）で駆動される。図７において、グループＡの端部のフリップフロップ２２とグループＢの端部フリップフロップ２３は、配置位置が離間しているものとする（距離がある）。そして、図７の例では、グループＡのフリップフロップ２２とグループＢのフリップフロップ２３間には、信号パス（データパス）３１が設けられており、フリップフロップ２２と２３では、この信号パス３１上の図示されない組合わせ回路等を介してデータの受け渡しが行われる。すなわち、一方のフリップフロップのクロック信号に同期して出力されたデータ出力信号が、図示されない組合わせ回路等を介して他方のフリップフロップのデータ入力信号としてクロック信号に同期してサンプルされる。フリップフロップ２２とフリップフロップ２３の間では、分岐したクロックスキューを小さくする必要がある。
【０００５】
半導体集積回路（LSI）のレイアウトにおいて、配置位置を考慮してフリップフロップのグループが形成されている場合、グループが異なると異なった系統のクロックで駆動され、データの受け渡しのあるフリップフロップ同士が物理的に離れている場合、それぞれを駆動する別系統のクロックの分岐位置は、ツリーのリーフ側でなく、よりルートバッファ側（クロック供給源側）に位置することになる。これは、クロックツリーのレイアウトにおいて、異なるグループの２つのフリップフロップの配置位置に距離がある場合には、２つのフリップフロップの配置位置が近い場合よりも、ルート側で分岐させる必要があるためである。このため、クロック分岐点からツリーのリーフポイントまでの遅延値が大となり、電源、温度によるばらつきを考慮した場合、クロックスキューが大きくなる。
【０００６】
なお、クロックツリーの再構成法として、特許文献１には、クロックの温度と電圧の変動によるばらつきを抑制し、挿入するＣＴＳバッファの削減による消費電力の増大を抑止するための設計方法として、クロック供給源をなすクロックソースからクロック供給先であるリーフポイントまでの接続部を、物理的距離に基づいてゲートで接続するゲート遅延と、配線で接続する配線遅延とに分けて、クロックツリーを形成し、各クロック系統でゲート遅延と配線遅延の遅延比率を求め、この遅延比率と遅延時間が各クロック系統で一定となるように再分配するようにした設計方法が開示されている。しかしながら、特許文献１に記載の方法は、ＬＳＩチップ全体に一様に生じる温度や電圧のばらつきから生じるクロックスキューの低減を図るものである。このため、ＬＳＩチップ上で場所によって異なるばらつきが起こった場合、局所的に生じたばらつきに有効に対応できない。
【０００７】
【特許文献１】特開２００４−２４１６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上説明したように、フリップフロップを配置に基づいてグループ化し、クロックツリーを構成した場合、異なるグループのフリップフロップ間で、データの受け渡しがある場合、該フリップフロップに供給されるクロックのスキューが大となるという課題を有している。
また特許文献１記載の設計方法の場合、LSIチップ上で場所によって異なるばらつきが起こった場合、局所的に生じたばらつきに有効に対応できない。
【課題を解決するための手段】
【０００９】
本願で開示される発明は、上記課題を解決するため、概略以下のように構成される。
【００１０】
本発明の１つのアスペクト（側面）に係る装置は、クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロックツリーを有する半導体集積回路の設計装置であって、前記クロックツリーの構成情報を入力し、前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する手段を備えている。
【００１１】
本発明に係る装置において、前記ツリー端部のクロック供給先がフリップフロップよりなり、分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識する手段と、データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する手段と、を備えている。
【００１２】
本発明に係る装置において、前記ツリー端部のクロック供給先がフリップフロップよりなり、前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識する手段と、前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する手段と、を備えている。
【００１３】
本発明の他のアスペクトに係る方法は、クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロックツリーを有する半導体集積回路の設計方法であって、
前記クロックツリーの構成情報を格納した記憶手段より、前記クロックツリーの構成情報を入力する工程と、
前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する工程と、を含む。
【００１４】
本発明に係る方法は、前記ツリー端部のクロック供給先がフリップフロップよりなり、
分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識し、データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する、ようにしてもよい。あるいは、本発明に係る方法においては、前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識し、前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する、ようにしてもよい。
【００１５】
本発明の他のアスペクトに係るコンピュータプログラムは、クロック供給源から複数の系統にツリー状に分岐しツリー端部のクロック供給先に到るクロックツリーを有する半導体集積回路の設計装置を構成するコンピュータに、前記クロックツリーの構成情報を記憶手段より入力する処理と、前記クロックツリーの分岐箇所がツリー末端側により近く位置するように、前記クロックツリーの構成を変更する処理と、を実行させるプログラムよりなる。
【００１６】
本発明に係るプログラムにおいては、前記ツリー端部のクロック供給先がフリップフロップよりなり、分岐した異なる系統のクロックでそれぞれ駆動され、データの受け渡しが行われる複数のフリップフロップを、前記クロックツリーの構成情報から認識し、データの受け渡しが行われる前記複数のフリップフロップを駆動するクロックの分岐箇所を、よりツリー末端側に位置するように、前記クロックツリーの構成を変更する処理を前記コンピュータに実行させるようにしてもよい。あるいは、本発明に係るプログラムにおいては、前記クロックツリーにおいて分岐したパスの第１、第２のクロックでそれぞれ駆動されるフリップフロップ群よりなる第１、第２のグループに属し、データの受け渡しが行われる２つのフリップフロップを、前記クロックツリーの構成情報から認識し、前記２つのフリップフロップについて、一方のグループのフリップフロップを他方のグループに変更したときの遅延と、変更しない場合のもとの遅延とを比較し、変更した場合の方が分岐位置からフリップフロップまでの遅延が短縮する場合には、前記一方のグループのフリップフロップを前記他方のグループに変更する処理を前記コンピュータに実行させるようにしてもよい。
【発明の効果】
【００１７】
本発明によれば、クロックツリーにおいて、クロック分岐位置を、クロック供給源側から、クロック供給先であるリーフポイント側により近く位置するように、クロックツリーの構成を変更することで、異なる系統のクロック間でのばらつきから生じるクロックスキューを低減することができる。
【００１８】
本発明によれば、クロックソースから分岐点までの共通のクロックパスを相対的に長くしたことにより、共通のクロックパスにおけるばらつき要因は、分岐後のクロックに共通の影響を及ぼすことになり、ＬＳＩチップ内での局所的なばらつき等に対して有効に対処することができる。
【発明を実施するための最良の形態】
【００１９】
本発明についてさらに詳細に説述すべく、添付図面を参照して説明する。はじめに本発明の原理を説明する。図１及び図２は、本発明を説明するための図であり、図１は、クロックツリーシンセシス法で合成されたクロックツリーのレイアウトを模式的に示す図である。図２は、図１の構成を変更したクロックツリーのレイアウトを模式的に示す図である。図１及び図２において、フリップフロップ２２、２３は、信号パス３１を介してデータの受け渡しのあるフリップフロップであり、分岐したクロックでそれぞれ駆動される。
【００２０】
図１に示すように、２つの系統のクロックの分岐位置を、ルート側とした場合、フリップフロップ２２、２３に供給される２系統のクロックは、電源、温度等のばらつきによるスキューが大きくなる。これは、各系統のバッファ（ＣＴＳバッファ）は４段であり、各バッファの伝搬遅延時間等のばらつきにより、バッファの段数、配線が長くなるほど、伝搬遅延のばらつきも大となるためである。
【００２１】
これに対して、本発明によれば、図２に示すように、フリップフロップ２２、２３のクロック端子には、バッファ１個分、手前で分岐したクロックが供給される。図２のレイアウト構成の場合、クロックソース１０から分岐点２０’までの共通のクロックパス（ネット１、バッファ１１、ネット２、バッファ１２、ネット３、バッファ１３）の長さ（あるいは伝搬遅延時間）を、分岐点２０’からバッファ１４、１５を介しフリップフロップ２２、２３のクロック端子に到るまでのパスの長さ（あるいは伝搬遅延時間）よりも長くしている。この場合、共通のクロックパスにおけるばらつき要因は、分岐先のクロックに共通の影響を及ぼすことになり、フリップフロップ２２、２３のクロック端子において共通のクロックパス上でのばらつきは相殺され、分岐点２０’からフリップフロップ２２、２３までのパスのばらつきのみがクロックスキューの要因となる。
【００２２】
このように、本発明によれば、ＬＳＩチップ内での局所的なばらつき（共通のクロックパスに影響を及ぼす局所的なばらつき）を、共通のばらつきとして分岐先に供給する構成としたことにより、ＬＳＩチップ内での局所的なばらつきに対して有効に対処することができる。一方、図１のレイアウト構成では、分岐２０からフリップフロップ２２、２３のクロック端子に到るパスにおけるばらつきがそのまま、クロックスキューの要因となる。以下実施例に即して説明する。
【実施例】
【００２３】
図３は、本発明の一実施例を説明するための図である。グループＡ、Ｂのフリップフロップ（Ａ）２２、フリップフロップ（Ｂ）２３間でデータの受け渡しがあり、クロックは、分岐点で分岐されている。
【００２４】
図４は、図３のクロックツリーのレイアウト構成を本発明にしたがって変更した結果を示す図である。データの受け渡しが行われるフリップフロップ（Ａ）２２、フリップフロップ（Ｂ）２３は、クロック系統に関して同一のグループＡに属し、クロックの分岐点２０’は、図３の構成よりも、一段リーフポイント側の位置（バッファの出力）で分岐される。
【００２５】
図３の構成において、フリップフロップ２２、２３は２つのグループＡ、Ｂに属しているが、フリップフロップ２２、２３はほんのわずかに離れているだけであるにもかかわらず、自動配置等で異なったグループにグループ化されている場合等において、本実施例では、フリップフロップ２３の属するクループをグループＢからＡに変え、クロックをバッファ１２から出力されるクロックに切り替える。なお、このレイアウトの変更によるバッファの駆動能力等の調整を、適宜行うようにしてもよい。図３では、バッファ１２は２つのフリップフロップ２１、２２を駆動しているが、図４では、３つのフリップフロップ２１、２２、２３を駆動しているため、この変更に伴い、バッファ１２を３つのフリップフロップの駆動に対応したバッファに変更してもよい。また、図３では、バッファ１３は３つのフリップフロップを駆動しているが、図４の構成の変更に伴い、バッファ１３を２つのフリップフロップの駆動に対応したバッファに変更してもよい。さらに、図４において、グループＡの３つのフリップフロップ２１、２２、２３にクロックを供給する分岐位置２０’をネット３上において左右対称の中間に位置するようにしてもよいことは勿論である。
【００２６】
本実施例において、クロックの遅延のばらつきによる変動を、クロックパスのパス遅延に変動係数を乗することで表すと、クロックツリーのルートバッファ１０を基準としたフリップフロップ（Ａ）２２、フリップフロップ（Ｂ）２３までの遅延の差、フリップフロップ２２、２３間のスキューSkew（A）_(B)は、次式（１）で与えられる。
【００２７】
Skew（A）_(B)＝Delay_branchTO(A)−Delay_branchTO(B)＊α        …(1)
ただし、
Delay_branchTO(A)は、分岐点からフリップフロップ（Ａ）２２までの遅延値、
Delay_branchTO(B)は、分岐点からフリップフロップ（Ｂ）２３までの遅延値である。
【００２８】
Skew（A）_(B）を小とするには、図１、図３の構成の代わりに、それぞれ図２、図４に示したように、クロック分岐位置がリーフポイント側に近く位置するように構成する。
【００２９】
クロックスキューを小さくする必要のある箇所（例えばクリティカルセクション）は、データの受け渡しがあるフリップフロップである。このため、本実施例では、クロックツリーのレイアウト情報(例えば図３のように、従来手法で作成されたクロックツリー)から、異なったクループに属しデータの受け渡しがあるフリップフロップを認識し、これらのフリップフロップに供給するクロックの分岐が末端側に位置するように、グループの変更を行う。
【００３０】
その際、クロックツリー構成の変更後の上式（１）のDelay_branchTO(A)またはDelay_branchTO(B)が、クロックツリー構成を変更しない場合よりも小さな値となる場合に、グループの変更を行う。
【００３１】
図５は、本発明の一実施例の処理手順を説明するための図である。図５を参照して、本実施例の処理手順を説明する。
【００３２】
既存のクロックツリーシンセシス法（レイアウト装置の既存のクロックツリーシンセシスツールを用いる）にしたがって、クロックツリー（「初期Ｔｒｅｅ」ともいう）を作成する（ステップＳ１１）。
【００３３】
信号受け渡し線の接続を考慮し、グループ分けを変更した際に、所属するグループを変更したフリップフロップに関して、分岐点からフリップフロップまでの遅延時間Delay_branchTO(A)について、
Delay_branchTO(A)変更前＞Delay_branchTO(A)変更後
となるグループ分けが存在する場合、該フリップフロップのグループの変更を行う（ステップＳ１２）。
【００３４】
ネット上のフリップフロップについて、
Delay_branchTO(A)変更前＞Delay_branchTO(A)変更後
となるグループ分けが存在しない場合、結果を出力して終了する（ステップＳ１３）。
【００３５】
一般に、クロックツリーシンセシスでは、
Delay_branchTO(A)≒Delay_branchTO(B)                  …(2)
となるように、ツリーが構成される。
【００３６】
この場合、上式（１）は、次式（３）で近似される。
Skew（A）_(B) ≒Delay_branchTO(A)＊（１−α）
≒Delay_branchTO(B)＊（１−α）      …(3)
【００３７】
上式（３）から、クロックスキューSkew（A）_(B)を小さくするには、（１−α）を定数として、Delay_branchTO(A)（Delay_branchTO(B)）を小さくすればよい。そして、これを実現するには、図１よりも、図２に示したように、分岐位置がツリーのリーフポイント側に近くなるようにすればよい。これが、本発明の構成原理である。
【００３８】
図６は、本発明の一実施例の設計装置のシステム構成を示す図である。本実施例の装置１００は、クロックツリーシンセシスツールで自動合成されたクロックツリーのツリー構成の最適化を図る装置であり、コンピュータ（データ処理装置）上に実装される。あるいは、自動配置配線等を行う自動レイアウト装置等に組み込んでもよい。図６を参照すると、本実施例の装置１００は、クロックツリーシンセシスツールで合成されたクロックツリー情報（レイアウト情報）を入力するクロックツリー入力部１０１と、ツリー構成変更部１０２と、変更した（最適化した）クロックツリーを出力するクロックツリー出力部１０３とを備えている。なお、変更済みの（最適化した）クロックツリーを記憶する記憶部１０５と、もとのクロックツリーの情報を記憶する記憶部１０４とは同一の記憶部を用いてもよいことは勿論である。ツリー構成変更部１０２は、入力されたクロックツリーのネットリスト情報から、データの受け渡しのあるフリップフロップであって、互いに異なるクロック系統で駆動されるフリップフロップを探索し、該フリップフロップが存在した場合、一のグループのフリップフロップを他のグループの系統のクロックで駆動されるように、クロック分岐をリーフポイントに近い側から変更できるか試行し、変更できた場合、分岐位置から当該フリップフロップまでの遅延が、変更前の分岐位置から当該フリップフロップまでの遅延よりも短縮されている場合、ツリー構成の変更を行う。すなわち、図３に示した手順の処理を実行する。クロックツリー入力部１０１と、ツリー構成変更部１０２、クロックツリー出力部１０３の処理は、コンピュータで実行されるプログラムによりその機能を実現するようにしてもよい。
【００３９】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００４０】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の一実施例を説明するための図である。
【図４】本発明の一実施例を説明するための図である。
【図５】本発明の一実施例の処理手順を説明するための流れ図である。
【図６】本発明の一実施例のシステム構成を示す図である。
【図７】従来のクロックツリーを説明するための図である。
【符号の説明】
【００４１】
１〜９  ネット
１０  クロックソース（ルートバッファ）
１１〜１９  バッファ
２０、２０’  分岐点
２１〜２５  フリップフロップ
３１  信号パス（データパス）
【図１】
2007027841.tif 000003
【図２】
2007027841.tif 000004
【図３】
2007027841.tif 000005
【図４】
2007027841.tif 000006
【図５】
2007027841.tif 000007
【図６】
2007027841.tif 000008
【図７】
2007027841.tif 000009