JP2010211737A - メッシュクロック構造を生成するための装置及び構造 - Google Patents

メッシュクロック構造を生成するための装置及び構造 Download PDF

Info

Publication number
JP2010211737A
JP2010211737A JP2009059831A JP2009059831A JP2010211737A JP 2010211737 A JP2010211737 A JP 2010211737A JP 2009059831 A JP2009059831 A JP 2009059831A JP 2009059831 A JP2009059831 A JP 2009059831A JP 2010211737 A JP2010211737 A JP 2010211737A
Authority
JP
Japan
Prior art keywords
mesh
clock
candidates
clock structure
generating
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.)
Withdrawn
Application number
JP2009059831A
Other languages
English (en)
Inventor
Yoshihiro Ono
芳弘 小野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009059831A priority Critical patent/JP2010211737A/ja
Publication of JP2010211737A publication Critical patent/JP2010211737A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】クロックスキューの低減と消費電力の低減を実現できるメッシュクロック構造を生成する。
【解決手段】メッシュクロック構造生成装置は、複数のノードを生成するノード生成部と、各々が複数のノードにクロック信号を供給するメッシュ構造のクロック配線を示す複数のメッシュクロック構造候補を生成するメッシュドライバ構造生成部とを備える。メッシュドライバ構造生成部は、複数のメッシュクロック構造候補の各々について消費電力の評価値を算出する消費電力評価部と、複数のメッシュクロック構造候補の各々についてクロック信号の遅延時間差の評価値を算出する遅延解析部とを備える。
【選択図】図10

Description

本発明はLSIのクロック構造を設計する技術に関する。本発明は特に、メッシュ構造を用いたクロック構造を設計する技術に関する。
CTS(Clock Tree Synthesis)の工程において、クロック信号を分配する方法の一つとして、クロックソースが生成したクロック信号をメッシュ構造の配線に供給し、そのメッシュ構造の配線から各素子にクロック信号を供給するメッシュクロック構造を用いる方法が用いられている。
図1は、本発明を説明するための参考例におけるメッシュクロック構造を示す。非特許文献1には、図1に近い構造が記載されている。クロックソース100はクロック信号を生成する。クロック信号はバッファ102を介してH−tree+spine構造配線104の先端に配置されたメッシュドライバ108に分配される。クロック信号は、バッファ102とH−tree+spine構造配線104とにより、複数のメッシュドライバ108に概ね遅延時間差無く分配される。メッシュドライバ108はメッシュ状配線106にクロック信号を供給する。このメッシュ状配線106によって、LSI上の複数のノードにクロック信号が供給される。一方、LSI上に形成される多数のFF(フリップフロップ回路)112からなるフリップフロップ素子群は、複数のクラスタ114にまとめられる。各々のクラスタ114に属するFF112には、同一のクラスタバッファ110を介してクロック信号が供給される。各々のクラスタバッファ110は、メッシュ状配線106の比較的近い位置のノードに接続される。
図1に示したようなメッシュクロック構造を自動設計するシステムは知られていない。本願発明者の考えによれば、図2に示すメッシュクロック構造生成装置115によって図1に示したメッシュクロック構造を自動的に設計することができる。メッシュクロック構造生成装置115は、クラスタリング部116、メッシュドライバ数決定部118及び規則構造生成部120を備える。
メッシュクロック構造生成装置115は以下のように動作する。まず入力データとして、LSI上の与えられた配置を有するフリップフロップ素子群についてのデータが提供される。図3は、この入力データが含んでいる情報を示す。複数のFF124、126について、LSI上の位置を示す情報が与えられる。一部のFF126はクロックソース100に直接接続される(「接続される」とは、設計データにおいて接続する配線についての情報が設定されるという意味である。以下の説明における「生成」等の表現も同様)。他のFF124はRTL(Register Transfer Level)設計時に挿入されたゲート122に接続される。ゲート122はバッファとして機能する。FF124、126は図1のメッシュクロック構造におけるFF112に対応する。
図4は、クラスタリング部116が生成する設計データの例を示す。クラスタリング部116は、フリップフロップ素子群に対して複数のクラスタバッファ110と呼ばれるセルを生成してクラスタリング処理を行う。各々のクラスタバッファ110には複数のFF112が接続される。クラスタリング部116は、全てのFF112がいずれかのクラスタ114に含まれるようにクラスタリング処理を行う。クラスタバッファ110は、クロックソース100またはRTL設計時に挿入されたゲート122に接続される。このクラスタリング処理により、図4に示したような配線構造の設計データが作成される。
図5は、メッシュドライバ数決定部118が作成する設計データの例を示す。メッシュドライバ数決定部118は、図5に示したように、ある数のメッシュドライバ108(図5の例では4×4=16個)が生成されている。更に、各メッシュドライバ108の出力端子が碁盤目状の配線であるメッシュ状配線106によって結線される。メッシュ状配線106とそれに接続されたメッシュドライバ108とを合わせてメッシュネット107と呼ぶ。
メッシュドライバ数決定部118は最適なメッシュドライバ数を次のように決定する。図6Aは2×2のメッシュドライバを、図6Bは4×4のメッシュドライバを生成する例である。図6Cは3×3のメッシュドライバの上面図である。メッシュドライバ数決定部118は、メッシュドライバ数を決めてメッシュドライバを配置し、メッシュドライバ間を碁盤目状に結線する。この配線をtrunk128と呼ぶ。さらにクラスタバッファ110とtrunk128を最短距離で結線する。この配線をstub130と呼ぶ。一般的にメッシュドライバ数が多いほどtrunk128の配線長は大きくなりstub130の配線長は小さくなる。そのため、trunk128とstub130の合計の配線長は適当なメッシュドライバ数で最小値を取る。図6Dは、メッシュドライバ数と、trunk128、stub130、及びその合計の配線長との関係を示す。メッシュドライバ数決定部118は、複数のメッシュドライバ数候補についてtrunk128、stub130を生成して合計配線長が最短となる候補をメッシュドライバ数の設計値として選択する。
次に図7を参照して、規則構造生成部120の動作を説明する。メッシュドライバ数決定部118によってメッシュドライバ108の数が決定されると、規則構造生成部120は、クロックソース100が生成するクロック信号をメッシュドライバ108に伝達するための配線を生成し、その配線に適宜バッファ102を挿入する。このとき生成される配線は、H−treeと呼ばれる構造とSpineと呼ばれる構造を利用したH−tree+spine構造配線104である。この構造により、クロックソース100が発信するクロック信号は全てのメッシュドライバ108に同時に入力する。メッシュクロック構造生成装置115は、以上のような動作によりメッシュクロック構造を自動的に設計することができる。
ところで本願発明者は、以上のような方法で作成されるメッシュクロック構造には、更に低消費電力化を図る余地があることに着目した。その根拠は次の通りである。上記の方法ではメッシュネットの配線長または配線の寄生容量の最適化だけを目的としており、クロックソースからメッシュネットまでの配線容量とバッファ数を考慮に入れていない。またメッシュドライバ数も考慮に入れていない。これらの要因により、消費電力が最適化されていないメッシュクロック構造が作成される可能性がある。
図9A〜図9Cを参照してより具体的に説明する。図9Aは、ある範囲に4×4のメッシュドライバとH−treeを生成した例を示す。図9Bは、同じ範囲に3×4のメッシュドライバとH−treeを生成した例を示す。図9Bのような場合、H−tree+spine構造配線104を与えられた範囲に直接作成することはできない。そのため図9Cに示すように、与えられた領域をダミー領域134を加えることによって拡張する。拡張された領域にH−tree+spine構造配線104が作成される。その後、ダミー領域134に形成された部分のH−tree+spine構造配線104が与えられた領域内に折り返される。最後にダミー領域134を消去することにより、図9Bに示されるような3×4のメッシュドライバが形成される。
図9Aにおいて、H−tree+spine構造配線104の配線長は18であり、trunk128の配線長は24である。図9Bにおいて、H−tree+spine構造配線104の配線長は21であり、trunk128の配線長は21である。すなわち、図9Aのtrunk配線長は図9Bのtrunk配線長より大きいが、trunk配線長とH−tree+spine配線長の和を比較した場合、図9Aと図9Bは同じ配線長を有する。このようにメッシュネットの配線長だけを考慮する方法では消費電力の最適化が難しい。
本発明の目的は、クロックスキューの低減と消費電力の低減を実現できるメッシュクロック構造を生成する装置及び方法を提供することにある。
本発明の一実施形態におけるメッシュクロック構造生成装置は、複数のノードを生成するノード生成部と、各々が複数のノードにクロック信号を供給するメッシュ構造のクロック配線を示す複数のメッシュクロック構造候補を生成するメッシュドライバ構造生成部とを備える。メッシュドライバ構造生成部は、複数のメッシュクロック構造候補の各々について消費電力の評価値を算出する消費電力評価部と、複数のメッシュクロック構造候補の各々についてクロック信号の遅延時間差の評価値を算出する遅延解析部とを備える。
本発明によるメッシュクロック構造生成方法は、複数のノードを生成する工程と、各々が複数のノードにクロック信号を供給するメッシュ構造のクロック配線を示す複数のメッシュクロック構造候補を生成する工程とを備える。複数のメッシュクロック構造候補を生成する工程は、複数のメッシュクロック構造候補の各々について消費電力の評価値を算出する工程と、複数のメッシュクロック構造候補の各々についてクロック信号の遅延時間差の評価値を算出する工程とを備える。
本発明により、伝達遅延誤差の小さいメッシュクロック構造を低消費電力で実現できる。
図1は、参考例におけるメッシュクロック構造を示す。 図2は、メッシュクロック構造生成装置の例を示す。 図3は、メッシュクロック構造生成装置の入力データを示す。 図4は、クラスタリング部が生成する設計データを示す。 図5は、メッシュドライバ数決定部が作成する設計データの例を示す。 図6Aは、メッシュドライバの例を示す。 図6Bは、メッシュドライバの例を示す。 図6Cは、メッシュドライバの上面図である。 図6Dは、メッシュドライバ数と配線長との関係を示す。 図7は、規則構造生成部が生成する設計データを示す。 図8Aは、ダミー領域を用いた規則構造の生成方法の説明図である。 図8Bは、ダミー領域を用いた規則構造の生成方法の説明図である。 図8Cは、ダミー領域を用いた規則構造の生成方法の説明図である。 図9Aは、規則構造を示す。 図9Bは、ダミー領域を用いた規則構造の生成方法を示す。 図9Cは、ダミー領域を用いて作成された規則構造を示す。 図10は、メッシュクロック構造生成装置の構成を示す。 図11は、メッシュクロック構造生成装置の入力データを示す。
次に、本発明の実施形態について図面を参照して詳細に説明する。図10を参照すると、本発明の第1の実施形態におけるメッシュクロック構造生成装置は、クラスタリング部10とメッシュドライバ数決定部20とから構成されている。メッシュドライバ数決定部20はメッシュネット生成部21と規則構造生成部22と消費電力評価部23と遅延解析部24とを含む。これら各部は、コンピュータによって実行されるプログラムによって実現される機能ブロックである。
本実施形態においては、メッシュドライバ数決定部20が複数のメッシュクロック構造候補を生成するメッシュドライバ構造生成部の機能を有する。メッシュドライバ数決定部20は、それらの候補の消費電力と遅延時間の評価の結果に基づいてメッシュドライバ数を決定する。
より詳細には、メッシュドライバ数決定部20は、メッシュクロック構造を規定する複数のパラメタ(例えばメッシュドライバ数、メッシュドライバ108として使用されるセル種類、メッシュ状配線の配線幅、メッシュ状配線の配線層、規則構造(spine+treeなど)の配線幅、規則構造の配線層、バッファ102、110として使用するセル種別)を記憶する。メッシュドライバ数決定部20は、それら複数のパラメタのそれぞれについての設定値候補を生成する。各パラメタの設定値候補の組に基づいて、メッシュクロック構造候補が生成される。パラメタとその設定値候補としては、例えば以下のようなものが例示される。
メッシュドライバとして使用するセル種類・・・10通り
メッシュ配線幅・・・通常幅、二倍幅、三倍幅、四倍幅の四通り
メッシュ配線層・・・高々8通り程度
規則構造の配線幅・・・通常幅、二倍幅、三倍幅、四倍幅の四通り
規則構造の配線層・・・高々8通り程度
バッファとして使用するセル種別・・・10通り
メッシュドライバ数決定部20は、以上の設定値候補の全組み合わせ約10万通りについてメッシュクロック構造候補を生成する。
メッシュクロック構造候補は、以下の方法により決定することもできる。複数の設定値候補の組10万通りの中から、各パラメタをランダムに選択した複数の組み合わせを設定値候補をとして決定する。そのように決定された例えば1000組の設定値候補に基づいて、1000通りのメッシュクロック構造候補を生成する。その中で、後述する評価方法により結果の良い方から100通りについて、各設定値の平均値を求める。その平均値に最も近い設定値が、最適な設定値であると推定される。例えば結果の良かった100通りの組み合わせについて、メッシュ配線幅が通常幅の1.8倍であれば、通常幅の2倍がメッシュ配線幅の最適候補値として選択される。このようにして各パラメタの最適候補値を決定し、それに近い値を設定値候補として設定することにより、複数のメッシュクロック構造候補が設定される。このような方法によって得られたメッシュクロック構造候補を用いることにより、以下の処理において、総当たりによる方法よりも大幅に少ない試行回数でメッシュドライバ数の選択を含むメッシュクロック構造を決定することができる。
クラスタリング部10は、図4を参照して説明した構造の設計データを作成する。すなわちクラスタリング部10は、フリップフロップ素子群のLSI状の配置を示す入力データに基づいて、各々が少なくとも一つのFF112を含む複数のクラスタ114を生成する。クラスタリング部10は更に、クラスタ114ごとに一つのクラスタバッファ110を生成し、同一のクラスタ114に属するクラスタバッファ110とFF112の各々とを一本の配線で接続するネットを生成する。クラスタリング部10の入力データにおいては、図3に示したようにFF124はクロックソース100またはRTL設計で挿入したゲート122に接続されている。また、セルの配置位置は決定済みである。
本実施形態において、クラスタリング部10は、各クラスタ114の容量が等しくなるようにクラスタリング処理を行う。容量とは、クラスタ114内の配線の容量とFF112の端子容量との和である。具体的には、フリップフロップ素子群について、所定の手順により複数のクラスタの候補が作成される。複数のクラスタの候補のうち、各々のクラスタの容量の差の最大値が最も小さいクラスタ候補を、クラスタリング処理の結果として採用する。
各クラスタ114に含まれるFF112の数が等しくなるようにクラスタリングを行う方法に比べて、各クラスタ114の容量が等しくなるようにクラスタリングを行うことにより、クラスタバッファ110からFF112までの信号伝達遅延の誤差が小さくなる効果がある。以上のクラスタリング処理により、図4に示したような構成を示すデータが得られる。この処理の結果、LSI上の各クラスタバッファ110の配置が決定される。
メッシュドライバ数決定部20は、生成された複数のメッシュクロック構造候補について、メッシュネット生成部21と規則構造生成部22と消費電力評価部23と遅延解析部24を動作させる。メッシュドライバ数決定部20は、各メッシュクロック構造候補について、こうして得られた消費電力や遅延などの情報をディスプレイに表示する。ユーザはその表示を参照して最良と思われるメッシュドライバ数を選択して入力操作により指定する。またはメッシュドライバ数決定部20がメッシュクロック構造候補の中から所定の基準に基づいて最良のものをメッシュクロック構造として決定する。
メッシュネット生成部21は、9×6のように<横に並べる数>×<縦に並べる数>で与えられた数のメッシュドライバ108が配列されたメッシュ状配線106を生成する。メッシュ状配線上のメッシュドライバ108は、クラスタバッファ110の分布範囲全体に均等な間隔で配置される。メッシュネット生成部21は、メッシュドライバ108の出力端子同士を碁盤目状に結線する。メッシュネット生成部21は更に、図6Bに例示されるように、各クラスタバッファ110とその碁盤目状配線とを最短距離で結線する。以上のメッシュネット生成処理により、図5に例示される構成を示すデータが作成される。
規則構造生成部22はクロックソース100からメッシュドライバ108までをH−treeやSpine構造などの対称的な構造を用いて結線する。このH−tree+spine構造配線104により、全てのメッシュドライバ108にクロック信号が同時に伝達される。
H−tree+spine構造配線104を形成する方法の詳細は、例えば特願2008−169099号公報「データ処理装置、データ処理方法およびプログラム」に記載されている。以下にその方法の概略を説明する。一般にH−treeとSpine構造による対称構造は末端数が32×16のように2のべき乗である必要がある。2のべき乗でないメッシュドライバ数が与えられた場合、本来メッシュネットが配置される配置領域にダミー領域を追加することにより、メッシュドライバ数を仮に2のべき乗にする。ダミー領域は、配置領域とダミー領域を合わせた領域において、メッシュドライバの横に並べる数と縦に並べる数がそれぞれ与えられた数より小さくない最も小さい整数になるように追加される。
図8A〜図8Cを参照して、3×4のメッシュドライバ数が与えられた場合の例を示す。この場合、図8Aに示すようにダミー領域134を追加することにより、4×4のメッシュドライバ数が与えられたものとして配線を生成する。次に、図8Bに示すように、ダミー領域134に配置された配線の規則構造をもともと与えられた配置領域132に折り返して折り返された規則構造136を生成する。次に適宜バッファ102を挿入する。信号が伝達されるセルを持たない領域のネットは削除する(図8C)。もともと与えられた配置領域132にはメッシュドライバ108が信号伝達対象として存在するため、削除されることはないが、ダミー領域134への配線は削除される。
消費電力評価部23は、各々のメッシュクロック構造候補について、上記の処理によって生成されたメッシュ状配線106、メッシュドライバ108、H−tree+spine構造配線104に基づいて、配線とバッファの消費電力の評価値を算出する。この消費電力の評価は、一般的な技術によって実現される。
遅延解析部24は、各々のメッシュクロック構造候補について、上記の処理によって生成されたメッシュ状配線106、メッシュドライバ108、H−tree+spine構造配線に基づいて、一般的な手法によって信号の伝達遅延時間を見積もり、遅延時間差の評価値を算出する。この処理にはElmore法のような一般的な手法を用いて行ってもよい。特に、特願2008−039905号公報「遅延解析システム」に記載された技術を利用することが望ましい。
次に、図10のブロック図を参照して本実施形態の全体の動作について詳細に説明する。まず、クラスタリング部10は、クラスタ114を生成する。次に、メッシュドライバ数決定部20はメッシュ構造に関するさまざまなパラメタの組み合わせを生成する。このパラメタにはメッシュドライバ数、メッシュドライバとして使用するセル種類、メッシュ配線幅、メッシュ配線層、規則構造の配線幅と配線層とバッファとして使用するセル種別、などが含まれる。パラメタの組み合わせはユーザが与えても良い。これらのパラメタの組み合わせによって規定されるメッシュクロック構造候補について、メッシュネット生成部21が動作し、次いで規則構造生成部22が動作する。次に消費電力評価部23と遅延解析部24による処理を任意の順番で、または並列で実行する。
各メッシュクロック構造候補について、消費電力評価部23が算出した消費電力の評価値と、遅延解析部24が算出したクロック信号の遅延時間差の評価値(遅延時間差の最大値や平均値)とがディスプレイに表示される。ユーザはその表示を参照して、最良と思われるメッシュクロック構造(メッシュドライバ数の選択を含む)を決定する。最後に、メッシュドライバ数決定部20が備えるクラスタ遅延調整部がクラスタバッファ110の配置位置を調整することでクロックソース100からFF112へのクロック信号伝達遅延誤差の低減を行う。
ユーザによる選択に替えて、メッシュドライバ数決定部20が何らかの評価基準に基づいて最良と推測されるメッシュクロック構造(メッシュドライバ数の選択を含む)を自動的に決定してもよい。その評価基準の一例を以下に示す。メッシュドライバ数決定部20が生成したパラメタの設定値候補の組のそれぞれについて、消費電力の評価値aと遅延時間差の評価値bのそれぞれに所定の係数を掛けて足した値(a+k*b、kは重み付け係数であり正数)を算出する。その値が最も小さい設定値候補の組を、パラメタの設定値として採用する。その設定値に基づいて生成されるメッシュクロック構造が最良の候補として決定される。
次に、本実施形態の効果について説明する。本実施形態では、メッシュ状配線106を生成し、クロックソース100からメッシュドライバ108に等遅延でクロック信号を伝達するための規則構造を生成し、その後で消費電力を評価するため、消費電力の最適化を図ることができる。また、規則構造生成には任意のメッシュドライバ数に対して適用できる技術を利用するため、最適と思われたメッシュドライバ数を実装できないという事態を避けることができる。
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。図11は、メッシュクロック構造生成装置の入力データの一例を示す。この例に示されるように、RTL設計時に挿入されたゲート34の他に、レイアウト時にゲート38を挿入することがある。この場合、一般的にそのゲート38に接続されるFF36の数は少ないため、ゲート38とそこに接続されるFF36との組を既存クラスタとして扱うことができる。このような場合、クラスタリング部10は、既存クラスタの容量(容量とは配線容量とFFの端子容量の和)を求める。クラスタリング部10は、図4を参照して説明したように新たにクラスタ114を生成する際に、そのクラスタ114の容量と既存クラスタの容量の差が所定の基準以下となるようにする。
以上に説明した方法により、設計データが以下のような手順で作成される。まず回路の物理設計を行い、すべてのセルを配置し、その結果を入力回路データとして保存する。次に入力回路データに対し、本実施形態で説明したようにクロック構造を生成し、その結果を出力回路データとして保存する。出力回路データに対し、残りの設計を行う。このようにしてLSIのレイアウト設計のような回路設計が行われる。
10 クラスタリング部
20 メッシュドライバ数決定部
21 メッシュネット生成部
22 規則構造生成部
23 消費電力評価部
24 遅延解析部
30 クロックソース
32 FF
34 ゲート
36 FF
38 ゲート
100 クロックソース
102 バッファ
104 H−tree+spine構造配線
106 メッシュ状配線
107 メッシュネット
108 メッシュドライバ
110 クラスタバッファ
112 FF
114 クラスタ
115 メッシュクロック構造生成装置
116 クラスタリング部
118 メッシュドライバ数決定部
120 規則構造生成部
122 ゲート
124 FF
126 FF
128 trunk
130 stub
132 配置領域
134 ダミー領域
136 規則構造

Claims (15)

  1. 複数のノードを生成するノード生成部と、
    各々が前記複数のノードにクロック信号を供給するメッシュ構造のクロック配線を示す複数のメッシュクロック構造候補を生成するメッシュドライバ構造生成部とを具備し、
    前記メッシュドライバ構造生成部は、
    前記複数のメッシュクロック構造候補の各々について消費電力の評価値を算出する消費電力評価部と、
    前記複数のメッシュクロック構造候補の各々について前記クロック信号の遅延時間差の評価値を算出する遅延解析部とを備える
    メッシュクロック構造生成装置。
  2. 請求項1に記載されたメッシュクロック構造生成装置であって、
    前記複数のメッシュクロック構造候補の各々には、クロックソースが生成する前記クロック信号を前記メッシュ構造の複数の箇所に均一化された遅延時間で供給するメッシュドライバの数が含まれる
    メッシュクロック構造生成装置。
  3. 請求項1又は2に記載されたメッシュクロック構造生成装置であって、
    前記メッシュドライバ構造生成部は、前記メッシュ構造のクロック配線を規定する複数のパラメタを記憶し、前記複数のパラメタのそれぞれの設定値候補の組を複数生成することによって前記複数のメッシュクロック構造候補を生成する
    メッシュクロック構造生成装置。
  4. 請求項3に記載されたメッシュクロック構造生成装置であって、
    前記メッシュドライバ構造生成部は、前記複数の設定値候補の組の中からランダムに選択した複数の組について前記複数の設定値候補の組を生成することによって前記複数のメッシュクロック構造候補を生成する
    メッシュクロック構造生成装置。
  5. 請求項3又は4に記載されたメッシュクロック構造生成装置であって、
    前記メッシュドライバ構造生成部は、前記設定値候補の組のそれぞれについて、前記消費電力の評価値と前記遅延時間差の評価値のそれぞれに所定の係数を掛けて足した値が最も小さい組の前記メッシュ構造のクロック配線を、最も有力なメッシュクロック構造として出力する
    メッシュクロック構造生成装置。
  6. 請求項1から5のいずれかに記載されたメッシュクロック構造生成装置であって、
    更に、与えられた配置を有するフリップフロップ素子群について複数のクラスタを形成するクラスタリング部を具備し、
    前記複数のクラスタの各々は、
    複数のフリップフロップ素子と、
    前記メッシュ構造のクロック配線から供給される前記クロック信号を前記複数のフリップフロップ素子に伝達するゲートとを備え、
    前記複数のノードは、前記複数のクラスタにそれぞれ対応する
    メッシュクロック構造生成装置。
  7. 請求項6に記載されたメッシュクロック構造生成装置であって、
    前記クラスタリング部は、前記フリップフロップ素子群について前記複数のクラスタの候補を生成し、前記複数のクラスタ候補のうち、各々のクラスタの容量の差の最大値が最も小さいクラスタ候補を前記複数のクラスタとして選択する
    メッシュクロック構造生成装置。
  8. 複数のノードを生成する工程と、
    各々が前記複数のノードにクロック信号を供給するメッシュ構造のクロック配線を示す複数のメッシュクロック構造候補を生成する工程とを具備し、
    前記複数のメッシュクロック構造候補を生成する工程は、
    前記複数のメッシュクロック構造候補の各々について消費電力の評価値を算出する工程と、
    前記複数のメッシュクロック構造候補の各々について前記クロック信号の遅延時間差の評価値を算出する工程とを備える
    メッシュクロック構造生成方法。
  9. 請求項8に記載されたメッシュクロック構造生成方法であって、更に、前記消費電力の評価値と前記遅延時間差の評価値とに基づいて、前記複数のメッシュクロック構造候補の中から採用するメッシュクロック構造を決定する工程を具備する
    メッシュクロック構造生成方法。
  10. 請求項8又は9に記載されたメッシュクロック構造生成方法であって、
    前記複数のメッシュクロック構造候補の各々には、クロックソースが生成する前記クロック信号を前記メッシュ構造の複数の箇所に均一化された遅延時間で供給するメッシュドライバの数が含まれる
    メッシュクロック構造生成方法。
  11. 請求項8から10のいずれかに記載されたメッシュクロック構造生成方法であって、
    前記複数のメッシュクロック構造候補を生成する工程は、
    前記メッシュ構造のクロック配線を規定する複数のパラメタを記憶する工程と、
    前記複数のパラメタのそれぞれの設定値候補の組を複数生成することによって前記複数のメッシュクロック構造候補を生成する工程
    とを具備するメッシュクロック構造生成方法。
  12. 請求項11に記載されたメッシュクロック構造生成方法であって、
    前記複数のメッシュクロック構造候補を生成する工程において、前記複数のメッシュクロック構造候補は、前記複数の設定値候補の組の中からランダムに選択した複数の組について前記複数の設定値候補の組を生成することによって生成される
    メッシュクロック構造生成方法。
  13. 請求項11又は12に記載されたメッシュクロック構造生成方法であって、
    前記複数のメッシュクロック構造候補を生成する工程は、前記設定値候補の組のそれぞれについて、前記消費電力の評価値と前記遅延時間差の評価値のそれぞれに所定の係数を掛けて足した値が最も小さい組の前記メッシュ構造のクロック配線を、最も有力なメッシュクロック構造として出力する工程を備える
    メッシュクロック構造生成方法。
  14. 請求項8から13のいずれかに記載されたメッシュクロック構造生成方法であって、
    更に、与えられた配置を有するフリップフロップ素子群について複数のクラスタを形成する工程を具備し、
    前記複数のクラスタの各々は、
    複数のフリップフロップ素子と、
    前記メッシュ構造のクロック配線から供給される前記クロック信号を前記複数のフリップフロップ素子に伝達するゲートとを備え、
    前記複数のノードは、前記複数のクラスタにそれぞれ対応する
    メッシュクロック構造生成方法。
  15. 請求項14に記載されたメッシュクロック構造生成方法であって、
    前記複数のクラスタを形成する工程は、
    前記フリップフロップ素子群について前記複数のクラスタの候補を生成する工程と、
    前記複数のクラスタ候補のうち、各々のクラスタの容量の差の最大値が最も小さいクラスタ候補を前記複数のクラスタとして選択する工程とを備える
    メッシュクロック構造生成方法。
JP2009059831A 2009-03-12 2009-03-12 メッシュクロック構造を生成するための装置及び構造 Withdrawn JP2010211737A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009059831A JP2010211737A (ja) 2009-03-12 2009-03-12 メッシュクロック構造を生成するための装置及び構造

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009059831A JP2010211737A (ja) 2009-03-12 2009-03-12 メッシュクロック構造を生成するための装置及び構造

Publications (1)

Publication Number Publication Date
JP2010211737A true JP2010211737A (ja) 2010-09-24

Family

ID=42971786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059831A Withdrawn JP2010211737A (ja) 2009-03-12 2009-03-12 メッシュクロック構造を生成するための装置及び構造

Country Status (1)

Country Link
JP (1) JP2010211737A (ja)

Similar Documents

Publication Publication Date Title
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
US9275176B2 (en) Register clustering for clock network topology generation
US20080059931A1 (en) Apparatus and Methods for Congestion Estimation and Optimization for Computer-Aided Design Software
Ozdal et al. A length-matching routing algorithm for high-performance printed circuit boards
TWI579988B (zh) 多階主幹繞線
US9785740B2 (en) Computer implemented system and method for modifying a layout of standard cells defining a circuit component
JP2004139181A (ja) レイアウト装置及びプログラム
JPH08221451A (ja) データパス回路のレイアウト設計方法
Xu et al. MGR: Multi-level global router
Huang et al. Application-specific network-on-chip synthesis with topology-aware floorplanning
JP2017123010A (ja) 半導体設計支援装置及び半導体設計支援方法
US8191024B2 (en) Customizable H-tree synthesis tool
US6941532B2 (en) Clock skew verification methodology for grid-based design
Wang et al. Top-level activity-driven clock tree synthesis with clock skew variation considered
Zhong et al. Floorplanning driven Network-on-Chip synthesis for 3-D SoCs
JP2010233018A (ja) クロック分配回路及びクロックスキュー調整方法
JP2010211737A (ja) メッシュクロック構造を生成するための装置及び構造
Ranjan et al. Fast hierarchical floorplanning with congestion and timing control
JP4966838B2 (ja) クロック配線処理装置、クロック配線処理方法、及びプログラム
JP2011238011A (ja) 半導体集積回路設計装置、半導体集積回路設計方法及びプログラム
JP4987787B2 (ja) 配置検証装置
US20030074175A1 (en) Simulation by parts method for grid-based clock distribution design
Zhu et al. Energy and switch area optimizations for FPGA global routing architectures
US20030074643A1 (en) Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design
de Paulo et al. A framework for 2.5 D NoC exploration using homogeneous networks over heterogeneous floorplans

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605