JP2005513626A - 混在する領域クロック用のクロックツリーシンセシス - Google Patents
混在する領域クロック用のクロックツリーシンセシス Download PDFInfo
- Publication number
- JP2005513626A JP2005513626A JP2003553461A JP2003553461A JP2005513626A JP 2005513626 A JP2005513626 A JP 2005513626A JP 2003553461 A JP2003553461 A JP 2003553461A JP 2003553461 A JP2003553461 A JP 2003553461A JP 2005513626 A JP2005513626 A JP 2005513626A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- clock tree
- path delay
- tree
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
クロックツリーシンセシス(CTS)ツールが、所定の最大グループスキューを有して、個々のクロック信号をIC内の各クロックシンクに運ぶためにIC設計に組み込まれるべき一群のクロックツリー(30)を設計する(36)。
Description
発明の背景
発明の技術分野
本発明は、一般的には、集積回路(IC)レイアウトを生成するためのコンピュータ支援設計(CAD)ツールに関するが、より詳細には、ICレイアウトCADツールによって実行される混在する領域クロックツリーを論理合成する(synthesize)方法に関する。
発明の技術分野
本発明は、一般的には、集積回路(IC)レイアウトを生成するためのコンピュータ支援設計(CAD)ツールに関するが、より詳細には、ICレイアウトCADツールによって実行される混在する領域クロックツリーを論理合成する(synthesize)方法に関する。
関連技術の記載
典型的なデジタルICは、クロック信号パルスに応答してステートを変更する、フリップフロップやレジスタやラッチのような、クロック制御されるデバイス(クロックシンク又はシンク)を非常に多く有し、そして、そのICは、同じクロック信号によって一群のシンクをクロック制御することによってそれらにおけるステート変更の同期を取る。そのICは、クロックツリーや分岐ネットワークやバッファを採用して、そのクロック信号によってクロック制御される全てのシンクに対してその入力端子のうちの一つに到着したクロック信号を展開する。ICレイアウト内に各シンクの位置が与えられているとすると、クロックツリーシンセシス(CTS)ツールが、クロック信号を各シンクに配信するためのクロックツリーを自動的に設計する。典型的なCTSツールは、まず、外部源からクロック信号を受信するIC入力端子から各シンクへクロック信号が移動しなければならない距離を均等にするような方法で、クロックツリーを構成する導体をレイアウトする。CTSツールは、必要に応じたサイズでバッファ(増幅器)をツリーの分岐点に配置して、該分岐点の川下側のバッファ又はシンクの全てを駆動する。クロックツリーの各分岐における信号通路の遅延の推定に基づいて、CTSツールは、そして、クロックツリーの選択された分岐に別途バッファを挿入してこれらの分岐内の通路遅延を調整することで、クロックツリーの「バランスを取り」、クロックツリーが各クロック信号パルスを全てのシンクにほとんど同じ時間に配信することを確実にする。クロックツリーをこのようにしてバランスを取ることは、その差異(何れか2つのシンクにおいて各クロックパルスの到着時間の間の「スキュー」)を最小にすることに役立つ。
典型的なデジタルICは、クロック信号パルスに応答してステートを変更する、フリップフロップやレジスタやラッチのような、クロック制御されるデバイス(クロックシンク又はシンク)を非常に多く有し、そして、そのICは、同じクロック信号によって一群のシンクをクロック制御することによってそれらにおけるステート変更の同期を取る。そのICは、クロックツリーや分岐ネットワークやバッファを採用して、そのクロック信号によってクロック制御される全てのシンクに対してその入力端子のうちの一つに到着したクロック信号を展開する。ICレイアウト内に各シンクの位置が与えられているとすると、クロックツリーシンセシス(CTS)ツールが、クロック信号を各シンクに配信するためのクロックツリーを自動的に設計する。典型的なCTSツールは、まず、外部源からクロック信号を受信するIC入力端子から各シンクへクロック信号が移動しなければならない距離を均等にするような方法で、クロックツリーを構成する導体をレイアウトする。CTSツールは、必要に応じたサイズでバッファ(増幅器)をツリーの分岐点に配置して、該分岐点の川下側のバッファ又はシンクの全てを駆動する。クロックツリーの各分岐における信号通路の遅延の推定に基づいて、CTSツールは、そして、クロックツリーの選択された分岐に別途バッファを挿入してこれらの分岐内の通路遅延を調整することで、クロックツリーの「バランスを取り」、クロックツリーが各クロック信号パルスを全てのシンクにほとんど同じ時間に配信することを確実にする。クロックツリーをこのようにしてバランスを取ることは、その差異(何れか2つのシンクにおいて各クロックパルスの到着時間の間の「スキュー」)を最小にすることに役立つ。
クロックツリーにバッファを挿入することで、クロックツリーを通じた信号通路遅延を増やすか又は減らすことができる。各バッファは、固有の遅延を有しており、それがクロックツリーを介して通路遅延に加わることがある。しかし、大出力電流を生じる大きなバッファは、バッファの川下のクロックツリーの導体の容量が充電される割合を大きくすることで、通路遅延を減らすことができる。このように、クロックツリー内に挿入されたバッファのサイズとバッファに依存して、バッファはクロックツリーを通じた信号通路遅延を増やすか又は減らすことができる。したがって、CTSツールは、クロックツリーの各分岐に挿入するバッファの数とサイズと位置を適宜選択することで、クロックツリーをバランスよくすることができる。決められた範囲のバッファサイズのみが有効なので、CTSツールは、通常、クロック信号スキューを完全に消去するためにバッファをサイズ決めしたり、配置したりすることはできないが、しかし、クロック信号スキューをある特定の許容可能な限度内に維持することは可能である。
「混在する領域」を有するICにおいて、各群のシンクは、異なるクロック信号によって個別にクロック制御されている。図1は、ICピン12においてN個のクロック信号入力CLK(1)−CLK(N)を有し、そのクロック信号の領域に属する一組のシンク16に各クロック信号を配信する個々のクロックツリー14(1)−14(N)を提供する、先行技術に関する混在する領域を有するIC10を示している。かつて、IC設計者は、各クロック領域内のシンクの各エッジの到着時間の間の最大許容スキューを決めていた。そして、CTSツールは、各クロック領域内のクロックスキューをその領域にとって決められた最大値に制限するように、各クロックツリー14内の各バッファ18のサイズと配置を決定する。したがって、CTSツールは、それぞれバランスのとれたクロックツリー14を独立して設計することが可能であった。なぜならば、同じクロック領域内のシンク16への通路にとっては最大スキューの制約のみを満足すればよいからである。異なるクロック領域に存在するシンク16への通路間のタイミングスキューは、関連するものではない。
近年、IC設計者は、2又はそれ以上の個別のクロック信号を同じ「クロック群」に割り振って、同じクロック群のクロックツリーを設計し、同じクロック郡内のクロック信号のエッジ間のスキュー(即ち、グループスキュー)が決められた最大値に制限されるようにすることを始めた。たとえば、設計者は、図1のクロックCLK(1)とCLK(2)を同じクロック群に割り当て、クロックツリー14(1)を介して入力ピン12(1)からその領域内の何れか所定のシンク16へ移動するクロック信号CLK(1)のエッジの通路遅延と、クロックツリー14(2)を介して入力ピン12(2)から何れか所定のシンク16へ移動するクロック信号CLK(2)のエッジの通路遅延の間の差異を、ある所定の最大許容グループスキューに制限したいときがあるかもしれない。このような制約の下では、クロックツリーを設計するCTSツールは、もはや独立してそれらのバランスを取ることができない。
図2に示すように、グループスキューの制約を満たそうとするために、先行技術のCTSツールは、グループ内のクロックのうちの最初の一つにとってバランスのとれたクロックツリーを論理合成して、そのクロック信号の領域内のスキューを最小にする(工程20)。そして、CTSツールはその最初のクロック信号を受信したICピンとその最初のクロック信号のエッジを受信した全てのシンクの間の平均的な通路遅延を計算し、そして、論理合成されるべき群の次のクロックツリーのためのターゲット通路遅延としてその平均的な通路遅延を確立する(工程22)。そのクロック群にクロックツリーがまだ論理合成されていない他のクロック信号が含まれている場合(工程24)、CTSツールはそのクロック信号のためのクロックツリーを論理合成し、その分岐内の通路遅延を調整して、そのクロック信号の入力端子とその領域内の各シンクの間の全通過時間がターゲット通路遅延にできるだけ合致するようにする。2つの論理合成されたクロックツリーの領域内の全てのシンクに対する平均的な通路遅延が、次いで、計算され(工程22)、工程26で、論理合成されるべきその群の次のクロックツリーのためのターゲット通路遅延として確立する。CTSツールがその郡内の全てのクロック信号のためのクロックツリーを論理合成するまでこのプロセスは続行する。
グループスキューを許容限度内に維持するこの先行技術のやり方の蓋然性は、CTSツールがクロックツリーを論理合成する順番に大きく依存するものである。たとえば、論理合成されるべき、最初のクロックツリーの平均通路遅延があまりにも短い場合、論理合成されるべき最初のクロックツリーのそれと非常に接近している平均通路遅延を有するその郡内の次のクロックツリーを論理合成することはできないかも知れない。この方法を実行するCTSツールが図2のシンセシス方法を幾度か繰り返す必要があるかも知れないが、その場合には、許容可能なグループスキューとなる順番を発見するまで、異なる順番を選択して各繰り返し又はその方法中にクロックツリーを論理合成することとなる。
必要なのは、クロックツリーが論理合成される順番に依存しないで成功するようなやり方で、許容可能な限度のグループスキューを有する、バランスのとれた一群のクロックツリーを論理合成するためのより迅速な方法である。
発明の要約
本発明は、同じクロック群に割り当てられた2又はそれ以上の個々のクロックツリーを論理合成し、そして、バランスのとれたものにし、グループクロックスキューを所定の最大限度内に維持する方法に関する。本発明に関連して、クロックツリーシンセシス(CTS)ツールは、まず、各クロックツリーを特定する、独立してバランスのとれた第1の個別のクロックツリーの設計をする。そして、CTSツールは、各クロックツリー毎にその第1のクロックツリーの設計を処理して、搬送されるべきクロック信号がクロックツリーを経由して該クロック信号を受信する各シンクに至るときに該クロック信号が経験するであろう平均的な遅延を推定する。そして、CTSツールは、ターゲットの通路遅延として、全てのクロックツリーに対して計算された遅延平均値から最大の遅延平均値を選択する。その後、CTSツールは、各クロックツリーに対して個別の第2のクロックツリーの設計をするが、それはバランスのとれたものであり、ターゲットの通路遅延と各シンクに対する推定遅延との間の差をグループクロックスキューが所定の最大限度のグループスキュー内に存在することを確実にするような値に制限する。
本発明は、同じクロック群に割り当てられた2又はそれ以上の個々のクロックツリーを論理合成し、そして、バランスのとれたものにし、グループクロックスキューを所定の最大限度内に維持する方法に関する。本発明に関連して、クロックツリーシンセシス(CTS)ツールは、まず、各クロックツリーを特定する、独立してバランスのとれた第1の個別のクロックツリーの設計をする。そして、CTSツールは、各クロックツリー毎にその第1のクロックツリーの設計を処理して、搬送されるべきクロック信号がクロックツリーを経由して該クロック信号を受信する各シンクに至るときに該クロック信号が経験するであろう平均的な遅延を推定する。そして、CTSツールは、ターゲットの通路遅延として、全てのクロックツリーに対して計算された遅延平均値から最大の遅延平均値を選択する。その後、CTSツールは、各クロックツリーに対して個別の第2のクロックツリーの設計をするが、それはバランスのとれたものであり、ターゲットの通路遅延と各シンクに対する推定遅延との間の差をグループクロックスキューが所定の最大限度のグループスキュー内に存在することを確実にするような値に制限する。
本明細書に添付の特許請求の範囲は、本発明の主題を特に指摘している共に明確に権利請求している。しかし、そこでは同じ引用符号が同一の部材に付けられている添付の図面に関連して本明細書の残りの部分を読むことによって、業界で通常の知識を有する者は、出願人が本発明の最良の実施の形態と考えているものの機構と動作方法の両方を、本発明の更なる利点と目的と共に最もよく理解する。
発明の詳細な説明
図1は、混在する領域を有する集積回路(IC)10内に形成されたN個の一群のクロックツリー14(1)−14(N)を示す略図であるが、それぞれのクロックツリーは、個々のICピン12(1)−12(N)に到達した、対応するクロック信号CLK(1)−CLK(N)を、たとえば、フリップフロップやレジスタやラッチのような、個々の、クロック制御されるデバイス(クロックシンク又はシンク)群に配信するものである。各クロックツリー14(1)−14(N)は、導体の分岐ネットワークとバッファ18で構成されている。IC設計者は、ときに、通路遅延(グループスキュー)のいかなる変動をもある種の決められたグループスキュー限度内に納めた状態で、その郡内のN個のクロックツリー14(1)−14(N)の全てをそれらに対応する入力ピン12(1)−12(N)とシンク16の全てのものと間で実質的に同じ通路遅延を有するようにしたいときがある。
図1は、混在する領域を有する集積回路(IC)10内に形成されたN個の一群のクロックツリー14(1)−14(N)を示す略図であるが、それぞれのクロックツリーは、個々のICピン12(1)−12(N)に到達した、対応するクロック信号CLK(1)−CLK(N)を、たとえば、フリップフロップやレジスタやラッチのような、個々の、クロック制御されるデバイス(クロックシンク又はシンク)群に配信するものである。各クロックツリー14(1)−14(N)は、導体の分岐ネットワークとバッファ18で構成されている。IC設計者は、ときに、通路遅延(グループスキュー)のいかなる変動をもある種の決められたグループスキュー限度内に納めた状態で、その郡内のN個のクロックツリー14(1)−14(N)の全てをそれらに対応する入力ピン12(1)−12(N)とシンク16の全てのものと間で実質的に同じ通路遅延を有するようにしたいときがある。
本発明は、グループスキューを決められた限度内に維持するようなやり方で、IC用の一群のクロックツリーを論理合成するクロックツリーシンセシス(CTS)ツールに用いられる方法に関する。この方法は、従来のコンピュータによって読み込まれ実行されるときにそのコンピュータをクロックツリーシンセシス(CTS)ツールとして作動させる、コンピュータによって判読可能なメディアに格納されるソフトウェアに適切に組み込まれる。デバッグ命令を格納した適切なコンピュータによって判読可能なメディアには、コンパクトディスクと、フロッピー(登録商標)ディスクと、ハードディスクと、ランダムアクセスメモリ又はリードオンリーメモリが含まれているが、これらに限定されるものではない。
本発明のCTSツールは、クロックツリーの選択された分岐にバッファを挿入することで、クロックツリーのバランスを取って、それらの分岐内の通路遅延を調整しクロックツリーが各クロック信号パルスを全てのシンクに可能な限り同じ遅延を有して配信することを確実にする。
クロックツリーにバッファを挿入することで、クロックツリーを通じた信号通路遅延を増やすか又は減らすことができる。各バッファは、固有の遅延を有しており、それがクロックツリーを介して通路遅延に加わることがある。しかし、大出力電流を生じる大きなバッファは、バッファの川下のクロックツリーの導体の容量を充電する割合を大きくすることで、通路遅延を減らすことができる。このように、クロックツリー内に挿入されたバッファのサイズと位置に依存して、バッファはクロックツリーを通じた信号通路遅延を増やすか又は減らすことができる。したがって、CTSツールは、もしあれば、クロックツリーの各分岐に挿入するバッファの数とサイズと位置を適宜選択することで、クロックツリーをバランスよくすることができる。
図3は、ICレイアウト内に含まれた一群のクロックツリーを論理合成する本発明の方法を図示しているが、そこでは、クロックツリー内の通路遅延がグループクロックスキューを所定の最大限度内に維持するように調整される。まず、全てのクロックツリーは、適切な従来のクロックツリーシンセシス方法を用いて独立して論理合成され、各クロックツリーにとって独立してバランスのとれた最初の設計を生成する(工程30)。CTSツールは、それがクロックツリー内のクロックスキューを最小にするようにそのクロックツリーを設計するという意味で、それぞれの最初のクロックツリー設計を「独立的に」バランスが取れるようにするが、しかし、クロックツリーを設計するときにはまだグループスキューを考慮に入れてはいない。
CTSツールは、クロック信号を受信したICクロック入力ピンから各クロックツリー内の各シンクへの平均的なクロック信号通路遅延を計算し(工程32)、そして、その後、「ターゲットの通路遅延」として、全てのクロックツリーのうちから最大の平均通路遅延を選択する(工程34)。そして、全てのクロックツリーは、各クロック信号の入力端子から各クロックシンクへのクロック信号通路遅延を調節して十分にターゲットの通路遅延に近くなるようにして、クロックツリーがバランスのとれた状態で再び論理合成される(工程36)。
図4は、図3の工程36を詳細に示したものである。工程36を実行するCTSツールは、まず、一つのバッファサイズを選択し(工程40)、ツリーの選択された通路に沿って、均等に離間された、選択されたサイズのバッファを適切な数挿入することによって、各シンクへの通路遅延をできるだけターゲット遅延に近いものに設定する(工程42)。そして、CTSツールは、クロック入力端子とその端子に連結された各シンクの間の通路遅延が、ターゲット通路遅延に許容可能なほどに近いか否かを判定する。たとえば、ターゲット遅延と通路遅延の差が最大許容グループスキューの1/2以下であるか否かを判定する(工程44)。ツリー内の全てのシンクに対する通路遅延がターゲット通路遅延に許容可能なほど近い場合には、工程44の後でこのクロックツリーバランシング方法は終了する。
しかしながら、少なくとも一つのシンクへの通路遅延がターゲット通路遅延に許容可能なほどに近いものではないときには、CTSツールは、各通路において2つまでのバッファのサイズ及び/又はその配置をインクリメントしながら修正することで、許容可能なバランシングソリューションを探す(工程46)。ツリー内の全てのシンクに対する通路遅延がターゲット通路遅延に許容可能なほど近いソリューションをCTSツールが見つけた場合(工程48)には、このクロックツリーバランシング方法は終了する。しかし、所定のツリーの少なくとも一つのシンクへの通路遅延がターゲット通路遅延に許容可能なほどに近いものにまだなっていないときには、CTSツールは次のバッファサイズを選択し(工程50)、工程42で始まる方法を繰り返す。工程44又は48においてすべての通路遅延がターゲット通路遅延に許容可能なほど近いことを見出すまで、CTSツールがバッファのサイズとその位置の各種組み合わせを試みながら、引き続き工程42−50のループの処理を行う。
全てのクロックツリーがこのような方法で論理合成されたとき、ターゲット通路遅延とそれぞれのクロック入力端子−シンクの通路に対して計算された通路遅延の間の差異の絶対値は、最大許容グループスキューの1/2以内となる。したがって、グループスキューは、最大許容グループスキューと同じか又はそれ未満である。
上記明細書と図面は本発明の最良の実施の形態を例示すると共に、その最良の実施の形態の構成要素と工程は、特許請求の範囲に記載された発明の構成要素と工程を例示するものである。しかしながら、特許請求の範囲の記載は、明細書と図面に記載された発明の実施の形態に例示された構成要素又は工程と機能的に均等である構成要素又は工程を含み、その特許請求の範囲のいずれかの請求項に記載された構成要素又は工程の組み合わせからなる発明の実施の形態にも適用されることを意図するものである。
Claims (14)
- 集積回路(IC)の設計に組み込まれるべき複数のクロックツリーを設計する方法であって、各クロックツリーが対応するクロック信号をIC設計に含まれるシンクに運ぶものであり、それらのクロックツリーが所定の最大のグループスキューの限度を有しており、
各クロックツリーを特定する、独立してバランスのとれた、第1の個別のクロックツリー設計を生成する工程aと、
各クロックツリーに対して前記第1のクロックツリー設計を処理して、搬送されるクロック信号が前記クロックツリーを経由して該クロック信号を受信する各シンクに至るときに該クロック信号が経験するであろう平均的な遅延を推定する工程bと、
ターゲットの通路遅延として、工程bにおいて全てのクロックツリーに対して計算された遅延平均値から最大の遅延平均値を選択する工程cと、そして、
各クロックツリーを特定する個別の第2のクロックツリーの設計をする工程dであって、ターゲットの通路遅延と、前記クロック信号が前記クロックツリーを通って各シンクに至るときに前記クロックツリーが運ぶクロック信号推定された遅延との差をグループクロックスキューが前記所定の最大のグループスキュー限度内に存在することを確実にするような値に制限して、各第2のクロックツリーの設計がバランスのとれたものにされる工程とからなる方法。 - 前記工程dが、
バッファサイズを選択するサブ工程d1と、
複数の分岐を有するように各クロックツリーを特定する個々の第2のクロックツリーの設計を生成し、選択されたバッファサイズのバッファが前記クロックツリーの選択された分岐内の選択された位置に含まれており、それぞれの選択された分岐にアサートされるバッファの数が、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を最小にするように選択されるサブ工程d2と、
からなることを特徴とする請求項1に記載の方法。 - 更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファの位置を調節する工程d3を具備することを特徴とする請求項2に記載の方法。
- 更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファのサイズを調節する工程d3を具備することを特徴とする請求項2に記載の方法。
- 更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファの位置を調節する工程d4を具備することを特徴とする請求項4に記載の方法。
- 少なくとも一つの第2のクロックツリー設計によって特定されたクロックツリーの選択された分岐内のバッファのサイズが、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を所定の最大値に抑制するように、調整されることを特徴とする請求項5に記載の方法。
- 少なくとも一つの第2のクロックツリー設計によって特定されたクロックツリーの選択された分岐内のバッファのサイズと位置が、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を所定の最大値に抑制するように、調整されることを特徴とする請求項5に記載の方法。
- コンピュータによって読み出されて実行されたときに、コンピュータに集積回路(IC)の設計に組み込まれるべき複数のクロックツリーを設計する方法を実行させる、コンピュータによって判読可能なメディアであって、各クロックツリーが対応するクロック信号をIC設計に含まれるシンクに運ぶものであり、そのクロックツリーが所定の最大のグループスキューの限度内のグループスキューを有しており、
各クロックツリーを特定する、独立してバランスのとれた、第1の個別のクロックツリー設計を生成する工程aと、
各クロックツリーに対して前記第1のクロックツリー設計を処理して、搬送されるクロック信号が前記クロックツリーを経由して該クロック信号を受信する各シンクに至るときに該クロック信号が経験するであろう平均的な遅延を推定する工程bと、
ターゲットの通路遅延として、工程bにおいて全てのクロックツリーに対して計算された遅延平均値から最大の遅延平均値を選択する工程cと、そして、
各クロックツリーを特定する個別の第2のクロックツリーの設計をする工程dであって、ターゲットの通路遅延と、クロック信号が前記クロックツリーを通って各シンクに至るときに前記クロックツリーが運ぶクロック信号推定された遅延との差を、グループクロックスキューが前記所定の最大のグループスキュー限度内に存在することを確実にするような値に制限して、各第2のクロックツリーの設計がバランスのとれたものにされる工程とからなるメディア。 - 前記工程dが、
バッファサイズを選択するサブ工程d1と、
複数の分岐を有するように各クロックツリーを特定する個々の第2のクロックツリーの設計を生成し、選択されたバッファサイズのバッファが前記クロックツリーの選択された分岐内の選択された位置に含まれており、それぞれの選択された分岐にアサートされるバッファの数が、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定された遅延との間の差異を最小にするように選択されるサブ工程d2と、
からなることを特徴とする請求項8に記載のコンピュータによって判読可能なメディア。 - 前記方法が、更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファの位置を調節する工程d3を具備にすることを特徴とする請求項9に記載のコンピュータによって判読可能なメディア。
- 前記方法が、更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファのサイズを調節する工程d3を具備することを特徴とする請求項9に記載のコンピュータによって判読可能なメディア。
- 更に、少なくとも一つの第2のクロックツリー設計を修正して、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を少なくするように、それが特定するクロックツリーの選択された分岐内のバッファの位置を調節する工程d4を具備することを特徴とする請求項11に記載のコンピュータによって判読可能なメディア。
- 少なくとも一つの第2のクロックツリー設計によって特定されたクロックツリーの選択された分岐内のバッファのサイズが、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を所定の最大値に抑制するように、調整されることを特徴とする請求項11に記載の方法。
- 少なくとも一つの第2のクロックツリー設計によって特定されたクロックツリーの選択された分岐内のバッファのサイズと位置が、ターゲットの通路遅延とクロックツリーによって運ばれるクロック信号の推定通路遅延との間の差異を所定の最大値に抑制するように、調整されることを特徴とする請求項12に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34200801P | 2001-12-18 | 2001-12-18 | |
US10/231,532 US6782519B2 (en) | 2001-12-18 | 2002-08-29 | Clock tree synthesis for mixed domain clocks |
PCT/US2002/039843 WO2003052643A1 (en) | 2001-12-18 | 2002-12-13 | Clock tree synthesis for mixed domain clocks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005513626A true JP2005513626A (ja) | 2005-05-12 |
Family
ID=26925195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003553461A Pending JP2005513626A (ja) | 2001-12-18 | 2002-12-13 | 混在する領域クロック用のクロックツリーシンセシス |
Country Status (5)
Country | Link |
---|---|
US (1) | US6782519B2 (ja) |
EP (1) | EP1456784A4 (ja) |
JP (1) | JP2005513626A (ja) |
AU (1) | AU2002357188A1 (ja) |
WO (1) | WO2003052643A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302657B2 (en) * | 2001-10-29 | 2007-11-27 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization of the design of a synchronous digital circuit |
US7207024B2 (en) * | 2002-09-13 | 2007-04-17 | Cadence Design Sytems, Inc. | Automatic insertion of clocked elements into an electronic design to improve system performance |
US6941533B2 (en) * | 2002-10-21 | 2005-09-06 | Lsi Logic Corporation | Clock tree synthesis with skew for memory devices |
US6981233B2 (en) * | 2003-02-24 | 2005-12-27 | Cadence Design Systems, Inc. | Method for analyzing path delays in an IC clock tree |
US7042269B2 (en) * | 2004-07-06 | 2006-05-09 | Princeton Technology Corporation | Method for dynamic balancing of a clock tree |
US7216322B2 (en) * | 2004-09-07 | 2007-05-08 | Chang Gung University | Clock tree synthesis for low power consumption and low clock skew |
US7810061B2 (en) * | 2004-09-17 | 2010-10-05 | Cadence Design Systems, Inc. | Method and system for creating a useful skew for an electronic circuit |
US7328416B1 (en) * | 2005-01-24 | 2008-02-05 | Sun Microsystems, Inc. | Method and system for timing modeling for custom circuit blocks |
JP4630718B2 (ja) * | 2005-04-13 | 2011-02-09 | 株式会社東芝 | クロック配線装置及びクロック配線方法 |
US20070033557A1 (en) * | 2005-08-08 | 2007-02-08 | Byrn Jonathan W | Method for creating constraints for integrated circuit design closure |
US7853911B1 (en) * | 2005-11-04 | 2010-12-14 | Altera Corporation | Method and apparatus for performing path-level skew optimization and analysis for a logic design |
EP2040381A4 (en) * | 2006-11-10 | 2010-08-04 | Panasonic Corp | INTEGRATED HOLDING SWITCHING AND LAYOUT TECHNOLOGY THEREOF |
US8205182B1 (en) * | 2007-08-22 | 2012-06-19 | Cadence Design Systems, Inc. | Automatic synthesis of clock distribution networks |
US7917882B2 (en) * | 2007-10-26 | 2011-03-29 | Mips Technologies, Inc. | Automated digital circuit design tool that reduces or eliminates adverse timing constraints due to an inherent clock signal skew, and applications thereof |
US9310831B2 (en) | 2008-02-06 | 2016-04-12 | Mentor Graphics Corporation | Multi-mode multi-corner clocktree synthesis |
US20090199143A1 (en) * | 2008-02-06 | 2009-08-06 | Mentor Graphics, Corp. | Clock tree synthesis graphical user interface |
US20090217225A1 (en) * | 2008-02-22 | 2009-08-27 | Mentor Graphics, Corp. | Multi-mode multi-corner clocktree synthesis |
US8352896B2 (en) | 2011-02-28 | 2013-01-08 | Avago Technologies Enterprise IP (Singapore) Pte. Ltd. | System and method for distribution analysis of stacked-die integrated circuits |
CN102955869B (zh) * | 2011-08-30 | 2015-04-08 | 国际商业机器公司 | 评估时钟偏移的方法和装置 |
US9135375B1 (en) | 2012-11-30 | 2015-09-15 | Cadence Design Systems, Inc. | Methods for construction and optimization of a clock tree plan for reduced power consumption |
US8635579B1 (en) * | 2012-12-31 | 2014-01-21 | Synopsys, Inc. | Local clock skew optimization |
US9660626B2 (en) | 2013-03-14 | 2017-05-23 | Medtronic, Inc. | Implantable medical device having clock tree network with reduced power consumption |
US8839178B1 (en) | 2013-03-14 | 2014-09-16 | Medtronic, Inc. | Tool for evaluating clock tree timing and clocked component selection |
CN104077427B (zh) | 2013-03-28 | 2017-03-22 | 国际商业机器公司 | 跨时钟域的时钟树构建方法和系统、集成电路及制造方法 |
US9135389B2 (en) | 2013-09-25 | 2015-09-15 | United Microelectronics Corporation | Clock skew adjusting method and structure |
US10318683B2 (en) * | 2016-05-20 | 2019-06-11 | International Business Machines Corporation | Clock domain-independent abstracts |
US10073944B2 (en) * | 2016-06-08 | 2018-09-11 | Synopsys, Inc. | Clock tree synthesis based on computing critical clock latency probabilities |
US10614261B1 (en) * | 2019-02-05 | 2020-04-07 | Cadence Design Systems, Inc. | Honoring pin insertion delay during clock tree synthesis |
US11620428B1 (en) * | 2021-05-07 | 2023-04-04 | Cadence Design Systems, Inc. | Post-CTS clock tree restructuring |
US12061857B1 (en) * | 2022-05-31 | 2024-08-13 | Cadence Design Systems, Inc. | Post-CTS insertion delay and skew target reformulation of clock tree |
US11836000B1 (en) * | 2022-09-29 | 2023-12-05 | Synopsys, Inc. | Automatic global clock tree synthesis |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2695078B2 (ja) * | 1991-06-10 | 1997-12-24 | 株式会社東芝 | データ処理装置クロック信号の分配方法 |
US5638291A (en) * | 1994-10-14 | 1997-06-10 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew |
KR100247477B1 (ko) * | 1997-06-30 | 2000-03-15 | 김영환 | 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치 |
US6204713B1 (en) * | 1999-01-04 | 2001-03-20 | International Business Machines Corporation | Method and apparatus for routing low-skew clock networks |
JP2001125937A (ja) * | 1999-10-25 | 2001-05-11 | Fujitsu Ltd | 半導体集積回路装置のレイアウト設計システム、半導体集積回路装置のレイアウト設計方法、およびそのシステムにおける各手段をもしくはその方法における各工程をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3317948B2 (ja) * | 2000-01-20 | 2002-08-26 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路のレイアウト設計方法及び半導体集積回路 |
US6502222B1 (en) * | 2000-09-28 | 2002-12-31 | Lsi Logic Corporation | Method of clock buffer partitioning to minimize clock skew for an integrated circuit design |
US6442737B1 (en) * | 2001-06-06 | 2002-08-27 | Lsi Logic Corporation | Method of generating an optimal clock buffer set for minimizing clock skew in balanced clock trees |
-
2002
- 2002-08-29 US US10/231,532 patent/US6782519B2/en not_active Expired - Lifetime
- 2002-12-13 EP EP02805120A patent/EP1456784A4/en not_active Withdrawn
- 2002-12-13 WO PCT/US2002/039843 patent/WO2003052643A1/en active Application Filing
- 2002-12-13 AU AU2002357188A patent/AU2002357188A1/en not_active Abandoned
- 2002-12-13 JP JP2003553461A patent/JP2005513626A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1456784A4 (en) | 2008-02-06 |
EP1456784A1 (en) | 2004-09-15 |
US20030182634A1 (en) | 2003-09-25 |
WO2003052643A1 (en) | 2003-06-26 |
US6782519B2 (en) | 2004-08-24 |
AU2002357188A1 (en) | 2003-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005513626A (ja) | 混在する領域クロック用のクロックツリーシンセシス | |
US6367060B1 (en) | Method and apparatus for clock tree solution synthesis based on design constraints | |
US8887110B1 (en) | Methods for designing intergrated circuits with automatically synthesized clock distribution networks | |
US6981233B2 (en) | Method for analyzing path delays in an IC clock tree | |
US6581199B2 (en) | Engineering-change method of semiconductor circuit | |
US6148432A (en) | Inserting buffers between modules to limit changes to inter-module signals during ASIC design and synthesis | |
US6574781B1 (en) | Design methodology for inserting RAM clock delays | |
JP2008140821A (ja) | 半導体装置および半導体装置の設計方法 | |
US6763513B1 (en) | Clock tree synthesizer for balancing reconvergent and crossover clock trees | |
US6260175B1 (en) | Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees | |
US20070220466A1 (en) | Methods and apparatus for reducing timing skew | |
JP2002245109A (ja) | 半導体集積回路の設計方法及び設計システム | |
US20090271747A1 (en) | Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit | |
US7382170B2 (en) | Programmable delay circuit having reduced insertion delay | |
US20030210603A1 (en) | Method and apparatus for performing signal synchronization | |
US6925622B2 (en) | System and method for correlated clock networks | |
US20030212972A1 (en) | Unconventional clocked circuit components having multiple timing models | |
JP2002366254A (ja) | ゲーティッドクロック生成回路及び回路修正方法 | |
US7707529B2 (en) | Method for the computer-aided ascertainment of a clock tree structure, and integrated semiconductor circuit | |
JP2003216271A (ja) | 半導体集積回路 | |
US7284217B2 (en) | Method of LSI designing and a computer program for designing LSIS | |
JP2001034647A (ja) | クロック分配回路、クロック分配回路の設計方法及び半導体集積回路 | |
JP2000294737A (ja) | 半導体集積回路およびその製造方法 | |
US7683659B1 (en) | Integrated circuits with jitter-reducing balancing logic | |
JP2004334271A (ja) | 半導体装置及びその設計方法 |