(57)【要約】【課題】ＯＣＶがあっても、フリップフロップ間のデータ伝達に対するタイミングマージンの変動を少なくすることのできるクロック配線方法を提供する。【解決手段】セル配置の終了したレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出し、そのタイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成する。その後、それぞれのフリップフロップ対のフリップフロップ間に部分的クロック配線を配線し、その部分的クロック配線上において、その接続先の２個のフリップフロップへの等遅延点を求め、その等遅延点を最終分岐点とするクロックツリーを生成する。【選択図】図１
2010211302.tif 000002
【特許請求の範囲】
【請求項１】
セル配置の終了したレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出し、
前記タイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成し、
それぞれのフリップフロップ対のフリップフロップ間に部分的クロック配線を配線し、
前記部分的クロック配線上の前記２個のフリップフロップへの等遅延点を最終分岐点としてクロックツリーを生成する
ことを特徴とするクロック配線方法。
【請求項２】
前記タイミングマージンの、遅延時間のチップ面内バラツキに対する余裕を算出し、前記余裕のないフリップフロップ対にのみ前記部分的クロック配線を配線する
ことを特徴とする請求項１に記載のクロック配線方法。
【請求項３】
あるフリップフロップ対の終点のフリップフロップと他のフリップフロップ対の始点のフリップフロップとの間にデータパスがあるときは、前記クロックツリーを生成時にその２つのフリップフロップ対の前記部分的クロック配線の前記等遅延点どうしを接続する配線を発生させる
ことを特徴とする請求項１または２に記載のクロック配線方法。
【請求項４】
隣接する２本の前記部分的クロック配線が平行に長い距離を配線されるときは、前記２本の部分的クロック配線間を接続する仮配線を配線した後、前記２本の部分的クロック配線および前記仮配線をＨ−フリップさせて、前記２本の部分的クロック配線を１本にまとめる
ことを特徴とする請求項１乃至３のいずれか１項に記載のクロック配線方法。
【請求項５】
セル配置およびＣＴＳ手法によるクロック配線の終了したレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出し、
前記タイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成し、
前記フリップフロップ対のそれぞれのフリップフロップのクロック配線の最終分岐点が異なるときは、遅延時間のチップ面内バラツキに対する前記タイミングマージンの余裕を算出し、
前記タイミングマージンの余裕がないときは、前記フリップフロップ対のそれぞれのフリップフロップのクロック配線の最終分岐点からの配線を削除して、そのフリップフロップ間を直接結ぶ部分的クロック配線を配線し、
前記部分的クロック配線上の前記２個のフリップフロップへの等遅延点を前記最終分岐点のいずれかへ接続する
ことを特徴とするクロック配線方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック配線方法に関する。
【背景技術】
【０００２】
従来、同期設計された半導体集積回路のチップ内のクロックスキューの低減方法として、ＣＴＳ（Clock  Tree  Synthesis）手法が用いられている。ＣＴＳ手法では、クロック配線網内にクロックバッファをツリー状に展開し、その展開されたバッファ間を等遅延配線することで、クロックスキューの低減を図っている（例えば、特許文献１参照。）。
【０００３】
このような従来のＣＴＳ手法によるクロック配線では、クロック配線の配線長を短くするため、レイアウト上で近隣に配置されたフリップフロップを1つのグループにまとめ、このグループのフリップフロップを最終段のクロックバッファにより共通に駆動することが行われる。
【０００４】
そのため、同じデータパス系に属する複数のフリップフロップであっても、レイアウト上、離れて配置されていると、それぞれのフリップフロップが、異なるクロックバッファにより駆動されることがある。この場合、クロックツリーの分岐を遡った共通のクロックバッファからそれぞれのフリップフロップに至るまで、異なるクロック配線経路をたどることが多く、それぞれの経路のクロック配線長が長くなりがちである。
【０００５】
それぞれのクロック配線の配線長が長くなっても、このフリップフロップ間の設計上のクロックスキューは小さい。ところが、実際に半導体集積回路を製造すると、このフリップフロップ間に、大きなクロックスキューを生じることがある。これは、経路の異なる長い配線に、ＯＣＶ（On-Chip  Variation）と称される、チップ内のローカルな加工バラツキが生じ、経路の異なる配線間に大きな遅延時間の違いが生じるためである。
【０００６】
近年、半導体集積回路の微細化、高速化が進み、このＯＣＶによるタイミングの変動の影響が大きくなっている。ところが、従来のＣＴＳ手法では、ＯＣＶが考慮されていないため、上述のように、同じデータパス系に属するフリップフロップが、異なるクロックバッファで駆動されるようなクロックツリーが生成されることがある。そのような場合、フリップフロップの動作に、ＯＣＶによるタイミングマージンの減少が発生し、最悪の場合、フリップフロップ間にクリティカルパスが発生する、という問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−８４２７９号公報  （第６−７ページ、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明の目的は、ＯＣＶがあっても、フリップフロップ間のデータ伝達に対するタイミングマージンの変動を少なくすることのできるクロック配線方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、セル配置の終了したレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出し、前記タイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成し、それぞれのフリップフロップ対のフリップフロップ間に部分的クロック配線を配線し、前記部分的クロック配線上の前記２個のフリップフロップへの等遅延点を最終分岐点としてクロックツリーを生成することを特徴とするクロック配線方法が提供される。
【００１０】
また、本発明の別の一態様によれば、セル配置およびＣＴＳ手法によるクロック配線の終了したレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出し、前記タイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成し、前記フリップフロップ対のそれぞれのフリップフロップのクロック配線の最終分岐点が異なるときは、遅延時間のチップ面内バラツキに対する前記タイミングマージンの余裕を算出し、前記タイミングマージンの余裕がないときは、前記フリップフロップ対のそれぞれのフリップフロップのクロック配線の最終分岐点からの配線を削除して、そのフリップフロップ間を直接結ぶ部分的クロック配線を配線し、前記部分的クロック配線上の前記２個のフリップフロップへの等遅延点を前記最終分岐点のいずれかへ接続することを特徴とするクロック配線方法が提供される。
【発明の効果】
【００１１】
本発明によれば、ＯＣＶがあっても、フリップフロップ間のデータ伝達に対するタイミングマージンの変動を少なくすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１に係るクロック配線方法の処理の手順の例を示すフロー図。
【図２】本発明の実施例におけるフリップフロップ対生成の説明図。
【図３】本発明の実施例におけるフリップフロップ対生成の説明図。
【図４】実施例１におけるフリップフロップ対生成の例を示す図。
【図５】実施例１における部分的クロック配線の例を示す図。
【図６】実施例１におけるクロックツリー生成の例を示す図。
【図７】２つのフリップフロップ対の間にデータパスがあるときの処理の例を示す図。
【図８】２つのフリップフロップ対の間にデータパスがあるときのクロックツリー生成の例を示す図。
【図９】２つのフリップフロップ対の部分的クロック配線が平行に長く配線された例を示す図。
【図１０】図９に示した配線に対するＨ−フリップ処理の例を示す図。
【図１１】本発明の実施例２に係るクロック配線方法の処理の手順の例を示すフロー図。
【図１２】実施例２におけるクロック配線修正の例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００１４】
図１は、本発明の実施例１に係るクロック配線方法の処理の手順の例を示すフロー図である。
【００１５】
本実施例の方法によるクロック配線を行うときは、まず、セル配置終了後のレイアウトデータにもとづいて、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出する（ステップＳ０１）。
【００１６】
続いて、算出されたタイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成する（ステップＳ０２）。
【００１７】
次に、それぞれのフリップフロップ対のフリップフロップ間に部分的クロック配線を配線する（ステップＳ０３）。
【００１８】
最後に、上述の部分的クロック配線上において、その接続先の２個のフリップフロップへの等遅延点を求め、その等遅延点を最終分岐点とするクロックツリーを生成する（ステップＳ０４）。
【００１９】
このフローの処理について、図２〜図６を用いて、さらに詳しく説明する。
【００２０】
図２は、上述のフローのステップＳ０２におけるフリップフロップ対生成についての説明図である。
【００２１】
図２（ａ）は、あるデータパスに含まれる３個のフリップフロップＦＦ１〜ＦＦ３の例を示している。なお、ここでは、図の煩雑さを避けるため、フリップフロップ間に組み合わせゲートが接続されていても、その表記を省略している。以降の各図においても同様の表記を行う。
【００２２】
ここで、フリップフロップＦＦ１からフリップフロップＦＦ２へのデータ伝達時間をｔ１、フリップフロップＦＦ２からフリップフロップＦＦ３へのデータ伝達時間をｔ２とする。また、上述のフローのステップＳ０２におけるタイミングマージンの算出が、フリップフロップ間のデータ伝達におけるセットアップ時間について行われるものとする。
【００２３】
セットアップ時間に対するタイミングマージンは、フリップフロップ間のデータ伝達時間が大きいほど少なくなる。
【００２４】
したがって、上述のデータ伝達時間ｔ１とｔ２に関し、ｔ１＞ｔ２であるときは、フリップフロップＦＦ１からフリップフロップＦＦ２へのデータ伝達の方が、フリップフロップＦＦ２からフリップフロップＦＦ３へのデータ伝達よりも、クロック信号に対するタイミングマージンが少ない。
【００２５】
そこで、この場合、図２（ｂ）に示すように、フリップフロップＦＦ１とフリップフロップＦＦ２によりフリップフリップ対が形成される。
【００２６】
一方、ｔ２＞ｔ１であるときは、フリップフロップＦＦ２からフリップフロップＦＦ３へのデータ伝達の方がクロック信号に対するタイミングマージンが少ない。この場合、図２（ｃ）に示すように、フリップフロップＦＦ２とフリップフロップＦＦ３によりフリップフリップ対が形成される。
【００２７】
次に、始点のフリップフロップを共有する２つのデータパスがあったときの、フリップフロップ対生成について説明する。
【００２８】
図３（ａ）は、フリップフロップＦＦ１１をともに始点とする、フリップフロップＦＦ１２へ到るデータパスと、フリップフロップＦＦ１３へ到るデータパスとが、ある例である。
【００２９】
この場合も、フリップフロップＦＦ１１からフリップフロップＦＦ１２へのデータ伝達時間をｔ１１、フリップフロップＦＦ１２からフリップフロップＦＦ１３へのデータ伝達時間をｔ１２として、図１のステップＳ０１にてセットアップ時間に対するタイミングマージンの算出が行われる。
【００３０】
その結果、ｔ１１＞ｔ１２であるときは、図３（ｂ）に示すように、フリップフロップＦＦ１１とフリップフロップＦＦ１２によるフリップフリップ対が形成される。
【００３１】
一方、ｔ１２＞ｔ１１であるときは、図３（ｃ）に示すように、フリップフロップＦＦ１１とフリップフロップＦＦ１３によるフリップフリップ対が形成される。
【００３２】
図４に、１つのデータパスに含まれるフリップフロップＦＦ１〜フリップフロップＦＦ８に対して、上述した処理により、４つのフリップフリップ対Ｇ１〜Ｇ４が形成された例を示す。
【００３３】
このフリップフリップ対Ｇ１〜Ｇ４において、図１のフローのステップＳ０３にて、各フリップフロップ対のフリップフロップ間に、図５に示すような、部分的クロック配線ｍ１、ｍ２、ｍ３、ｍ４が、配線される。
【００３４】
この部分的クロック配線ｍ１、ｍ２、ｍ３、ｍ４に対して、図１のフローのステップＳ０４にて、接続先の２個のフリップフロップへの等遅延点が求められ、その等遅延点を最終分岐点とするクロックツリーが生成される。
【００３５】
図６に、そのクロックツリー生成結果の例を示す。
【００３６】
図６では、部分的クロック配線ｍ１、ｍ２、ｍ３、ｍ４上の等遅延点のそれぞれを、Ｃ１、Ｃ２、Ｃ３、Ｃ４と、表す。
【００３７】
ここで、等遅延点Ｃ１は、その点からフリップフロップＦＦ１までのクロック遅延時間と、フリップフロップＦＦ２までのクロック遅延時間が等しくｄ１である点である。
【００３８】
同様に、等遅延点Ｃ２からフリップフロップＦＦ３、ＦＦ４までのクロック遅延時間は等しくｄ２であり、等遅延点Ｃ３からフリップフロップＦＦ５、ＦＦ６までのクロック遅延時間は等しくｄ３であり、等遅延点Ｃ４からフリップフロップＦＦ７、ＦＦ８までのクロック遅延時間は等しくｄ４である。
【００３９】
本実施例では、この等遅延点Ｃ１Ｃ２、Ｃ３、Ｃ４をそれぞれ最終分岐点とするクロックツリーが生成される。すなわち、等遅延点Ｃ１Ｃ２、Ｃ３、Ｃ４に、クロックツリーの分岐配線ｍ１１、ｍ１２、ｍ１３、ｍ１４が、それぞれ接続される。
【００４０】
このように、本実施例では、データ伝達のタイミングマージンの少ない順にフリップフロップ対を形成し、そのフリップフロップ対の２つのフリップフロップ間の部分的クロック配線の等遅延点を最終分岐点とするクロックツリーを生成する。
【００４１】
なお、総てのフリップフロップ対で部分的クロック配線を行うと配線量が増大する懸念がある場合は、遅延時間のＯＣＶに対するタイミングマージンの余裕を算出し、その余裕のないフリップフロップ対にのみ、部分的クロック配線を配線するようにすればよい。
【００４２】
次に、図７〜図８を用いて、２つのデータパスのフリップフロップ対の間に、始点のフリップフロップを共有するフリップフロップ対が存在するときのクロックツリー生成について説明する。
【００４３】
図７に示す例では、フリップフロップＦＦ２１〜ＦＦ２４が含まれるデータパス系において、フリップフロップＦＦ２１、ＦＦ２２によるフリップフロップ対Ｇ２１が形成され、フリップフロップＦＦ２３、ＦＦ２４によるフリップフロップ対Ｇ２２が形成されている。また、フリップフロップＦＦ３１〜ＦＦ３４が含まれるデータパス系において、フリップフロップＦＦ３１、ＦＦ３２によるフリップフロップ対３１が形成され、フリップフロップＦＦ３３、ＦＦ３４によるフリップフロップ対Ｇ３２が形成されている。
【００４４】
このようなフリップフロップ対の構成に対して、フリップフロップ対Ｇ２１とフリップフロップ対Ｇ３１の間には、フリップフロップＦＦ２１を始点とし、フリップフロップＦＦ３２を終点とするデータパスがあり、フリップフロップ対Ｇ３２とフリップフロップ対Ｇ２２の間には、フリップフロップＦＦ３３を始点とし、フリップフロップＦＦ２４を終点とするデータパスがあるものとする。
【００４５】
このような場合、クロックツリーを生成するときに、まず、図７に示すように、フリップフロップ対Ｇ２１の部分的クロック配線ｍ２１の等遅延点Ｃ２１とフリップフロップ対Ｇ３１の部分的クロック配線ｍ３１の等遅延点Ｃ３１とを接続する配線ｍ４１と、フリップフロップ対Ｇ２２の部分的クロック配線ｍ２２の等遅延点Ｃ２２とフリップフロップ対Ｇ３２の部分的クロック配線ｍ３２の等遅延点Ｃ３２とを接続する配線ｍ４２と、を生成する。
【００４６】
その後、図８に示すように、配線ｍ４１の等遅延点Ｃ４１と配線ｍ４２の等遅延点Ｃ４２とを接続する配線ｍ４３を生成し、さらに、配線ｍ４３に接続する配線ｍ４４を生成する。
【００４７】
このようなクロックツリーを形成することにより、始点のフリップフロップを共有する別系統のデータパスのフリップフロップ対のフリップフロップへ、等遅延でクロックを供給することができる。
【００４８】
次に、図９〜図１０を用いて、隣接する２本の部分的クロック配線が平行に長い距離を配線されたときに、２本の長い配線を１本にまとめてクロックツリーを生成する手法について説明する。
【００４９】
一般に、フリップフロップが離れて配置されているほど、そのデータ伝達のタイミングマージンは厳しくなる。したがって、本実施例の方法でフリップフロップ対を生成した場合、その部分的クロック配線の配線長が長くなる傾向になる。
【００５０】
そのような長い配線が多数生じると、チップの配線効率が低下する。そこで、その対策として、Ｈ−フリップ処理を行い、２本の長い配線を１本にまとめるようにする。
【００５１】
図９は、配線長の長い部分的クロック配線が、平行に２本隣接して配線された例を示す。
【００５２】
ここでは、距離が離れて配置されたフリップフロップＦＦ５１、ＦＦ５２からなるフリップフロップ対５１と、同じく、距離が離れて配置されたフリップフロップＦＦ６１、ＦＦ６２からなるフリップフロップ対６１が隣接されて配置されており、それぞれの部分的クロック配線ｍ５１、ｍ６１が、平行に隣接して配線されているものとする。
【００５３】
図１０に、この部分的クロック配線ｍ５１、ｍ６１に対するＨ−フリップ処理の例を示す。
【００５４】
Ｈ−フリップ処理を行う場合、まず、部分的クロック配線ｍ５１、ｍ６１とを接続する仮配線を配線する。これにより、部分的クロック配線ｍ５１、ｍ６１と仮配線により、“工”状の配線が形成される。この“工”状の配線を９０°回転させて“Ｈ”状とするＨ−フリップ処理を行うと、部分的クロック配線ｍ５１、ｍ６１は、１本の配線ｍ５６にまとまる。
【００５５】
本実施例では、上述したような各種の処理を行いながら、全体のクロックツリー配線を完成させる。
【００５６】
このような本実施例によれば、データ伝達のタイミングマージンの少ない順にフリップフロップ対を形成し、そのフリップフロップ対の２つのフリップフロップ間の部分的クロック配線の等遅延点を最終分岐点とするクロックツリーを生成する。これにより、タイミングマージンの少ない２つのフリップフロップに、共通の最終分岐点から等遅延でクロック信号を供給することができる。そのため、遅延時間にＯＣＶがあっても、フリップフロップ間のデータ伝達のタイミングマージンの変動を少なくすることができる。
【実施例２】
【００５７】
実施例１では、セル配置後のレイアウトデータに対して、部分的クロック配線を生成する例を示したが、本実施例では、通常のＣＴＳ手法によるクロックツリー生成後、ＯＣＶに対する余裕の改善を目的として、部分的クロック配線生成によるクロック配線の修正を行う例を示す。
【００５８】
図１１は、本発明の実施例２に係るクロック配線方法の処理の手順の例を示すフロー図である。
【００５９】
本実施例の方法によるクロック配線を行うときは、セル配置後に行われたＣＴＳ手法によるクロック配線が終了したレイアウトデータにもとづいて、まず、データパスを有するフリップフロップ間のデータ伝達のクロック信号に対するタイミングマージンを算出する（ステップＳ１１）。
【００６０】
続いて、算出されたタイミングマージンの少ない順にフリップフロップを２個ずつ組み合わせてフリップフロップ対を生成する（ステップＳ１２）。
【００６１】
次に、生成したフリップフロップ対の中から、フリップフロップ対を構成するそれぞれのフリップフロップへのクロック配線の最終分岐点が異なるフリップフロップ対を抽出する（ステップＳ１３）。
【００６２】
続いて、抽出したフリップフロップ対について、遅延時間のＯＣＶに対するタイミングマージンの余裕を算出する（ステップＳ１４）。
【００６３】
このとき、その余裕をＳとして、例えば、セットアップ時間に対するタイミングマージンのＯＣＶに対する余裕を算出するときは、次の式により算出する。
【００６４】
Ｓ＝Ｔ−Ｄ−Ａ−Ｋ×Ｂ
ここで、Ｔはクロック周期、Ｄはフリップフロップ間のデータ伝達時間、Ａはクロックスキュー、ＫはＯＣＶ係数、Ｂは共通分岐点から各フリップフロップまでのクロック信号の遅延時間の合計、である。
【００６５】
このうち、Ａ、Ｂについては、クロック配線の共通分岐点からデータパス始点のフリップフロップまでのクロック信号の遅延時間をｔｃ１、クロック配線の共通分岐点からデータパス終点のフリップフロップまでのクロック信号の遅延時間をｔｃ２と表すと、
Ａ＝ｔｃ１−ｔｃ２
Ｂ＝ｔｃ１＋ｔｃ２
により算出される。
【００６６】
上式より、タイミングマージンのＯＣＶに対する余裕Ｓは、クロック配線の共通分岐点からの遅延時間ｔｃ１、ｔｃ２が大きいほど、すなわち、クロック配線の共通分岐点からデータパスの始点および終点のフリップフロップまでの配線長が長いほど、少なくなることがわかる。
【００６７】
そこで、本実施例では、上述の算出結果から、タイミングマージンの余裕がないフリップフロップ対については、共通分岐点からの配線長が短くなるように、クロック配線の分岐を変更する。
【００６８】
そのために、まず、タイミングマージンのＯＣＶに対する余裕がないフリップフロップ対のそれぞれのフリップフロップへ配線されている、それぞれの最終分岐点からのクロック配線を削除する（ステップＳ１５）。
【００６９】
続いて、そのフリップフロップ間を直接結ぶ部分的クロック配線を配線する（ステップＳ１６）。
【００７０】
最後に、この部分的クロック配線上において、接続先の２個のフリップフロップへの等遅延点をもとめ、その等遅延点を、その２個のフリップフロップへのクロック配線の最終分岐点のいずれかへ接続する（ステップＳ１７）。
【００７１】
図１２に、本実施例におけるクロック配線の修正例を示す。
【００７２】
図１２（ａ）は、修正前のクロックツリー構成の例を示している。この例では、フリップフロップ対Ｇ７１へのクロック配線は、共通分岐点Ｐ０から別系統に分岐され、データパス始点のフリップフロップＦＦ７１へは最終分岐点Ｐ１から配線され、データパス終点のフリップフロップＦＦ７２へは最終分岐点Ｐ２から配線されている。
【００７３】
このようなクロック配線において、共通分岐点Ｐ０からフリップフロップＦＦ７１へのクロック信号の遅延時間ｔｃ１と、共通分岐点Ｐ０からフリップフロップＦＦ７２へのクロック信号の遅延時間ｔｃ２とを算出し、上述のフローのステップＳ１４に示した算出式により、フリップフロップ対Ｇ７１のタイミングマージンのＯＣＶに対する余裕Ｓが算出される。その結果、余裕Ｓの値がある一定以下の値のときは、上述のフローのステップＳ１５以降の、クロック配線修正処理が行われる。
【００７４】
図１２（ｂ）は、そのようなクロック配線修正処理が行われたときの例を示す。
【００７５】
この例では、最終分岐点Ｐ１からフリップフロップＦＦ７１へのクロック配線、および最終分岐点Ｐ２からフリップフロップＦＦ７２へのクロック配線が削除され、その代わりに、フリップフロップＦＦ７１とフリップフロップＦＦ７２の間に部分的クロック配線ｍ７１が配線されている。この部分的クロック配線ｍ７１の等遅延点Ｃ７１は、最終分岐点Ｐ１へ接続されている。なお、等遅延点Ｃ７１の接続先は、最終分岐点Ｐ２であってもよい。
【００７６】
このような配線修正により、フリップフロップＦＦ７１とフリップフロップＦＦ７２へのクロック配線は、同一系統から配線されるようになり、部分的クロック配線ｍ７１上の等遅延点Ｃ７１が、フリップフロップＦＦ７１とフリップフロップＦＦ７２の新たな共通分岐点となる。この新たな共通分岐点である等遅延点Ｃ７１からフリップフロップＦＦ７１、フリップフロップＦＦ７２へのクロック信号の遅延時間ｔｃ１´、ｔｃ２´は、クロック配線の修正前の遅延時間ｔｃ１、ｔｃ２に比べると、格段に小さくなる。その結果、フリップフロップ対Ｇ７１のタイミングマージンのＯＣＶに対する余裕Ｓは、大きく改善される。
【００７７】
このような本実施例によれば、通常のＣＴＳ手法によりクロックツリーが形成されたクロック配線に対して、ＯＣＶに対するタイミングマージンの余裕を改善するように、クロック配線を修正することができる。
【符号の説明】
【００７８】
ＦＦ１〜ＦＦ８、ＦＦ１１〜ＦＦ１３、ＦＦ２１〜ＦＦ２４、ＦＦ３１〜ＦＦ３４、
ＦＦ５１〜ＦＦ５２、ＦＦ６１〜ＦＦ６２、ＦＦ７１〜ＦＦ７２  フリップフロップ
Ｇ１〜Ｇ４、Ｇ２１〜Ｇ２２、Ｇ３１〜Ｇ３２、Ｇ５１、Ｇ６１、Ｇ７１  フリップフロップ対
ｍ１〜ｍ４、ｍ２１〜ｍ２２、ｍ３１〜ｍ３２、ｍ５１、ｍ６１、ｍ７１  部分的クロック配線
Ｃ１〜Ｃ４、Ｃ２１〜Ｃ２２、Ｃ３１〜Ｃ３２、Ｃ７１  等遅延点
【図１】
2010211302.tif 000003
【図２】
2010211302.tif 000004
【図３】
2010211302.tif 000005
【図４】
2010211302.tif 000006
【図５】
2010211302.tif 000007
【図６】
2010211302.tif 000008
【図７】
2010211302.tif 000009
【図８】
2010211302.tif 000010
【図９】
2010211302.tif 000011
【図１０】
2010211302.tif 000012
【図１１】
2010211302.tif 000013
【図１２】
2010211302.tif 000014