WO2004102657A1 - 回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体 - Google Patents

回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体 Download PDF

Info

Publication number
WO2004102657A1
WO2004102657A1 PCT/JP1999/000205 JP9900205W WO2004102657A1 WO 2004102657 A1 WO2004102657 A1 WO 2004102657A1 JP 9900205 W JP9900205 W JP 9900205W WO 2004102657 A1 WO2004102657 A1 WO 2004102657A1
Authority
WO
WIPO (PCT)
Prior art keywords
evaluation value
buffer
clock
circuit
pair
Prior art date
Application number
PCT/JP1999/000205
Other languages
English (en)
French (fr)
Inventor
Masahiro Sano
Toshiaki Sugioka
Original Assignee
Masahiro Sano
Toshiaki Sugioka
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
Priority claimed from JP01254598A external-priority patent/JP3337412B2/ja
Priority claimed from JP25140098A external-priority patent/JP3614306B2/ja
Application filed by Masahiro Sano, Toshiaki Sugioka filed Critical Masahiro Sano
Priority to US09/600,144 priority Critical patent/US6651224B1/en
Priority to US10/634,815 priority patent/US7032198B2/en
Publication of WO2004102657A1 publication Critical patent/WO2004102657A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Description

明 細 書 回路内信号線の最適化方法, 最適化装置 および最適化プロダラムを格納した記憶媒体 並びに回路設計方法および回路設計用プログラムを格納した記憶媒体 技術分野
本発明は、 回路中の信号供給源 (例えばクロック信号供給源) とこの 信号供給源から信号を供給される複数の素子 (例えばフリ ップフロップ セル) とを有する回路を設計する際に用いられる技術に関する。
特に、 本発明は、 信号供給源と各素子との間を結ぶ信号線 (ネッ ト) を自動的に合成するに際し、 例えば V L S I等の集積回路上におけるク ロック系ネッ ト (信号線) のバッフアリ ング手法を改善することにより、 信号供給源から各素子への信号の遅延ゃスキューを最適化するための、 回路内信号線の最適化方法, 最適化装置および最適化プログラムを格納 した記憶媒体に関する。
また、 本発明は、 例えば L S I等の集積回路におけるクロックパスの 実装設計に用いて好適の回路設計方法および回路設計用プログラムを格 納した記憶媒体に関する。 背景技術 ' 一般に、 V L S I等の集積回路上には、 クロック信号により同期的に 駆動されるべき多数の被駆動素子 〔例えばフリップフロップセル (F F という場合もある) 〕 が配置され、 これらの被駆動素子には、 クロック 供給源 (ソース) からクロック信号線を介してクロック信号が供給され る このとき、 図 4 7に示すように数万個にも及ぶ F F 5 0 2の全てを一 つのクロック供給源 5 0 1により直接的に駆動することはファンァゥト 制約から不可能である。 ここで、 ファンアウ ト制約とは、 駆動素子 (ク ロック供給源 5 0 1 ) がその出力側に接続された被駆動素子 (F F 5 0 2 ) を駆動するための条件であり、 具体的には駆動素子の駆動能力が下 式を満たさなければ被駆動素子を駆動できないという制約である。 '
〔駆動素子の駆動能力〕 > 〔駆動素子から次段の被駆動素子までの配 線容量〕 + 〔次段の被駆動素子の負荷〕
前述のように数万個にも及ぶ F F 5 0 2の全てを一つのクロック供給 源 1により直接的に駆動する場合、 配線容量や F F 5 0 2の負荷の総和 は極めて大きくなる。 このため、 通常、 図 4 8 Aに示すごとく立ち上が るクロック信号は、 クロック供給源 5 0 1から各 F F 5 0 2に到達した 時には、 そのクロック信号の波形は図 4 8 Bに示すごとく鈍ってしまい、 各 F F 5 0 2を駆動することができなくなる。
そこで、 一般に、 図 4 9に示すように、 クロック供給源 5 0 1と F F 5 0 2との間のクロック信号線をッリ一状に配線し (クロックツリーを 合成し) 、 そのクロック信号線に複数段 (図 4 9では 2段) のバッファ 素子 (バッファセルという場合もある) 5 0 3を挿入 ·配置するバッフ ァリングが行なわれる。 このようなバッファリングを行なうことにより、 クロック供給源 5 0 1から複数段のバッファ素子 5 0 3を介して F F 5 0 2に至るまでの各段で、 ファンァゥト制約を満足させることができる c また、' ファンァゥト制約を満足させるために、 ク口ック系に組み込ま れる各種セルの駆動能力を変更調整するバッフアサイジングも行なわれ ている。 このバッファサイジングの対象となる各種セルとしては、 論理 ゲ一トやセレクタのほか、 前述のごとくノ ッファリングによりクロック 信号線に組み込まれたバッファ素子がある。 なお、 セレクタは、 設計対 象の回路上で複数種類のクロック信号を用いる場合に、 ク口ック信号を 選択するために用いられる。 ·
従来、 回路設計時にクロック系ネッ ト (クロック信号線, クロックッ リー) を合成する際には、 論理設計により得られたネッ トリストに基づ いて、 初期論理を一度配置してから、 その配置結果の中でファンアウ ト 制約を満足していない部分に対して、 ファンァゥト制約を満足するよう にバッファリングゃバッフアサイジングを行なつている。 なお、 初期論 理を配置した結果、 最初からファンァゥト制約を満足している部分に対 しては、 バッファリングゃバッフアサイジングを行なっていない。
このような設計手法については、 例えば、 Lalgudi N. Kannan, Peter
R. Suaris, Hong-Gee Fang による Proceeding, of the 31st ACM/ IEEE De sign Automation Conferenceの第 327 頁〜第 332 頁の "A Methodology and Algorithms for Post-Placement Delay Optimization" に開示され ている。
ところで、 近年、 製造技術の進歩に伴って V L S I等の集積回路の大 規模化や複雑化が進み、 その集積回路上でク口ック信号が供給される素 子の数が増加しており、 クロック論理の設計が困難になりつつある。 また、 ゲ一トの微細化に伴って処理のさらなる高速化の要求も高くな つているため、 スキューの低減をはかったクロックッリ一を合成できる ようにすることが望まれている。 つまり、 クロック信号は、 クロック供 給源から全ての被駆動素子 (F F等) へほぼ同時 (理想的には全く同 時) に到達することが望まれる。 クロック信号がクロック供給源から各 被駆動素子へ到達するまでの時間 (遅延) のばらつきをクロックスキュ 一と呼ぶが、 前述のごとく近年の高速化要求に対応してク口ック周波数 が高まるにつれ、 そのクロックスキューをほぼゼロとすることが要求さ れている。 しかし、 上述した通り、 従来、 バッファリングは、 単にファンァゥト 制約を満足するように行なわれているため、 クロックッリ一のバランス をとつてスキューの低減をはかるということは考慮されていない。 つま り、 バッファリングを行なうことにより、 被駆動素子 (F F等) は一つ のバッファ素子で駆動可能なグループに分割されるが、 そのグループ分 割は、 従来、 単にファンアウト制約を満足することのみを条件にして行 なわれており、 各グループにおける被駆動素子の数や負荷容量は考慮さ れていない。 グループ毎の素子数や負荷容量のバラツキが大きいと、 最 終段のバッファ素子から各グループの被駆動素子への配線長のバラツキ も大きくなり、 クロックスキューの調整が極めて困難になる。 従って、 近年の高速化要求に対応してクロックスキューを低減させるベく、 ダル —プ毎の素子数や負荷容量のバラツキを小さく してク口ック分配をグル —プ間でバランスさせることが望まれている。
また、 従来、 バッファリングがレイアウト情報 (物理情報) とリンク して行なわれていないため、 レイアウトの結果、 物理的に離れた複数の フリップフロップを 1つのバッファ素子で駆動しなければならなくなる 場合があり、 レイアウ トにおいてスキュ一調整が困難になったり、 クロ ック信号線の配線長が長くなつたりして、 回路品質の低下を招くおそれ ねめる。 '
本発明は、 このような課題に鑑み創案されたもので、 信号供給源から 各素子への信号の遅延を最適化してスキューを確実に低減できるように し、 高速化要求に対応可能な回路の設計を実現した、 回路内信号線の最 適化方法, 最適化装置および最適化プログラムを格納した記憶媒体を提 供することを第 1の目的とする。
さて、 前述したごとく、 L S I等の集積回路は多数のフリップフロッ プセルとこれらを駆動するバッファセルとを含んでおり、 一般に 1個の バッファセルで多数のフリップフ口ップセルをク口ック信号線を介して 駆動する。 このような L S I内の回路素子およびクロック信号線のレイ アウトにお ては、 高密度化, 信号伝播遅延時間の短縮および配線の混 雑の緩和のためにクロック配線長を短くすることが要求される。 また、 クロック信号を必要とする回路素子に対して時間差 (クロックスキュー という) を抑制するための最適な回路素子配置が要求されている。
以下に、 図 5 0〜図 6 5を参照しながらが、 従来の L S I レイアウト 方法 (回路設計方法) について詳細に説明する。
図 5 0は従来の L S I レイアウト方法 (回路設計方法) を説明するた めのフローチャートである。 この図 5 0に示すように、 L S I レイァゥ トは、 論理設計段階 S 2 7と、 クロックレイァゥ卜段階 S 2 8と、 クロ ック信号線以外の通常ネッ 卜の配線段階 S 2 9とからなる。
論理設計段階 S 2 7は、 論理合成のステップ S 2 7 1とクロックッリ —生成のステップ S 2 7 2とからなっている。
5冊理合成のステップ S 2 7 1では、 L S Iを構成する素子のレジスタ
• トランスファ · レベル (R T L ) で記述されたハードウェア記述言語 (H D L ) を、 レイアウト可能な論理に合成して、 モジュールで構成さ れる第 1のネッ トリスト ( 1 ) を作成する。 クロックツリー生成ステツ プ S 2 7 2では、 この第 1のネッ トリスト ( 1 ) に基づいて L S Iのバ ッファセル導入前のクロックッリ一を作成する。
図 5 1は L S Iのモジュール内における、 ノ ッファセル導入前のクロ ックツリーの一例を示す図である。 この図 5 1において、 2 8 1はモジ ユール、 2 8 2 〜 2 8 4は小モジュール、 2 8 5はクロック信号源であ るクロックソース、 2 8 6 〜 2 8 8はフリップフロップセルである。 こ の段階では未だバッファセルは導入されていないので、 クロックソース 2 8 5がフリップフ口ップセル 2 8 6 〜 2 8 8を直接駆動する回路にな つている。
次に第 1のネッ トリスト ( 1 ) に対してバッファリング処理を行なつ てクロックツリーにバッファセルを導入することにより、 第 2のネッ ト リスト (2 ) を作成する。
図 5 2は L S Iのモジュール内における、 バッファセルが導入された クロックッリ一を示す図である。 この図 5 2に示すように、 図 5 1のク ロックツリーにバッファセル 2 9 1〜 2 9 6が導入されている。 各モジ ユール内のバッファセル数は、 駆動されるフリップフロップセルの数に 応じて決定される。 図 5 2においては、 小モジュール 2 8 2および 2 8 3内のフリップフ口ップセル 2 δ 6および 2 8 7の数は少ないので、 そ れぞれ 1個のバッファセル 2 9 2および 2 9 3により駆動されるように ノ ッファセルを配置しているが、 小モジュール 2 8 4内のフリップフ口 ップセル 2 8 8の数が他の小モジュール 2 8 2 , 2 8 3内のフリップフ 口ップ数よりも多いので、 ッリ一構造にして 3つのバッファセル 2 9 4, 2 9 5 , 2 9 6で駆動するようになっている。
図 5 0に戻り、 第 2のネッ トリス十 ( 2 ) の内容はクロックレイァゥ ト段階 S 2 8に引き渡される。
クロックレイアウト段階 S 2 8は、 ステップ S 2 8 1〜S 2 8 7から なっている。
ステップ S 2 8 1ではフロアプランを取得する。 フロアプランとは、 L S Iの設計者自身から得られるレイァゥト情報である。
ステップ S 2 8 2では、 そのフロアプランに基づいてク口ック配線長 ができるだけ短くなるようにバッファセルおよびフリップフロップセル を図 5 3に示すように初期配置する。 図 5 3は L S Iのモジュール内に おけるバッファセルおよびフリ ップフロップセルの初期配置結果を示す 図である。 この図 5 3において、 ノ ッファセル 3 0 1とそれが駆動する 6個のフリ ップフロップ得る 3 1 0〜 3 1 5の間を線で結んで、 結線関 係があることを表している。
ステップ S 2 8 3では、 クロックバッファのボトムアップ配置を行な う。 ボトムアップ配置とは、 クロックソースから最も離れたフリ ップフ ロップセルから順番に配置することをいう。 これは、 フリツ、プフロップ セルの配置情報に基づいて、 バッファセル 3 0 1とそれにより駆動され るフリップフロップセル 3 1 0〜 3 1 5との間の距離ができる限り等距 離になるように、 ク口ックバス上のバッファセルをボトムアツプに配置 する処理である。 ボトムアップの手法としては、 バッファセルをそのバ ッファセルが駆動するフリップフ口ップセルの配置範囲の中心に配置す る手法や、 ノ ッファセルをそのバッファセルが駆動するフリ ップフロッ プセルの重心に配置する手法などがある。
図 5 4は L S Iのモジュール内においてバッファセル 3 0 1をそのバ ッファセル 3 0 1が駆動するフリ ップフロップセル 3 1 0〜 3 1 5の配 置範囲の中心に配置した例を示す図である。
次に、 ステップ S 2 8 4で、 ノ ッファセルからフリップフロップセル までの配線長を制限するために、 フリ ップフロップセルの配置制限領域 を生成する。 この配置制限領域は、 フリップフロップセルを駆動するバ ッファセルを中心とした、 菱形の領域である。 図 5 5はバッファセル 3 2 1を中心にして配置制限領域 3 2 2を設定した例を示す図である。 次 に、 配置制限領域 3 2 2を考慮した再配置処理を行なう。 ここでは、 ス テツプ S 2 8 3でボトムアップ配置したバッファセル 3 2 1の配置を固 定にし、 ステップ S 2 8 4で生成した配置制限領域 3 2 1をフリップフ 口ップセルの配置制約にし、 クロックバッファ以外のセルを再配置する ( 図 5 6および図 5 7はセルを再配置した結果を示す図である。 これらの 図 5 6および図 5 7に示すように、 配置制限領域 3 2 2の中央部にバッ ファセル 3 2 1が配置されており、 フリ ップフ口ップセル 3 3 1〜 3 3 6は配置制限領域 3 2 2の内部に配置されることを示している。 なお、 図 5 7中の矩形はフリップフ口ップセルを示す。
次に、 ステップ S 2 8 6で、 クロックツリー最終段ネ、ソ 卜の特殊配線 を行なう。 ここでは、 図 5 8〜図 6 0に示す 3つの処理を行なう。 即ち、 図 5 8は、 クラスタ用バ一情報 3 5 1〜 3 5 7の設定を示している。 図 5 9は、 各フリップフロップセルとクラスタ用バーとを結ぶ支線 3 6 1 の配線を示している。 図 6 0は、 駆動用バッファセル 3 2 1からクラス タ用バ一へのル一ト配線を示している。
次に、 バッファ間ネッ トの特殊配線を行なう。 ここでは、 図 6 1に示 すように、 ノくッファセル 3 8 1が駆動する 4つのバッファセル 3 8 2〜 3 8 5まで、 スター状に特殊配線を行なう。 上述したステップ S 2 8 2 〜S 2 8 7の処理を行なうことにより、 クロックソースからフリップフ 口ップまでの信号伝播遅延時間値およびスキュ一値を抑えるようにクロ ックッリ一の配置配線を行なつた後、 ステップ S 2 9で通常ネッ トの配 線処理を行なっている。
上記従来の L S I レイァゥト方法は、 主に A S I C (Application Sp ecific Integrated Circuit)のゲ一トアレイ, ェンべデッ ドアレイで使 用されている手法であって、 論理設計以降は、 ネッ トリストを変更する ことなくクロックレイアウトおよび L S I実装設計を行なう方法である c この従来方法では、 クロックツリー論理は変更しないで、 ユーザ所望の クロック信号伝播遅延時間およびスキュ一値による制約に従うようにク 口ック信号線をレイァゥトする。
しかしながら、 ステップ S 2 7 1の論理合成 (論理設計) およびステ ップ S 2 7 2のクロックッリ一生成の段階では、 フリップフロップセル の配置位置およびク口ック信号線の配線経路を考慮しないで論理設計す るため、 その論理情報に対しクロック制約条件を満たすようにクロック レイアウトを行なうと、 配線の混雑を招き、 クロック配線、 およびその 後の信号配線を行なえなくなるという課題がある。
以下に問題点の詳細について説明する。
ステップ S 2 7 2におけるクロックツリー生成では、 フロアプラン、 およびフリップフ口ップの配置を考慮していないので、 バッファセルを 配置した結果、 図 6 2に示すように、 半導体チップ 3 9. 1上のフロアプ ランブロック 3 9 2と 3 9 5、 またはフロアプランブロック 3 9 3と 3 9 4のように離れたフロアプランブロックをバッファセル 3 9 6または 3 9 7がそれぞれ駆動する場合がある。 この場合、 離れたフロアプラン ブロックを駆動するネッ トワーク (以下、 ネッ トという) の配線 3 9 8 〜4 0 1の長さが長くなり、 結果的にグロック信号伝播遅延時間が長く なるという問題や、 配線の混雑を招くという問題がある (第 1の問題) c 図 5 0のステップ S 2 8 5の配置制限領域を考慮したフリップフロッ プセルの再配置において、 図 6 3に示すように、 配置制限領域 4 3 0お よび 4 3 1が重なってしまった場合に、 フリップフ.ロップセルを再配置 した結果、 図 6 4に示すように、 2つの配置制限領域 4 3 0および 4 3 1の共通領域内にフリップフロップセルが集中し、 その結果、 配線が混 雑してしまうという問題がある (第 2の問題) 。 図 6 3および図 6 4に おいて、 4 1 0および 4 2 0はバッファセル、 4 1 1〜4 1 6はバッフ ァセル 4 1 0により駆動されるフリップフ口ップセル、 4 2 1〜4 2 6 はバッファセル 4 2 0により駆動されるフリップフ口ップセル、 4 3 0 および 4 3 1はそれぞれバッファセル 4 1 0および 4 2 0についての配 置制限領域である。 図 6 4には、 配置制限領域 4 3 0内にフリップフロ ップセル 4 1 1〜 4 1 6を移動させ、 配置制限領域 4 3 1内にフリップ フロップセル 4 2 1〜4 2 6を移動させた例が示されている。 また、 フリップフロップセルを初期配置の位置から配置制限領域内に 引き込むことによって、 フリップフロップセルにつながるクロック以外 のネッ 卜の配線長を長く してしまい、 クロック以外の配線についても混 雑させてしまうという問題がある (第 3の問題) 。 例えば、 図 6 4の配 線 4 4 1〜4 4 5のように配線が長くなる。
また、 図 6 1に示すように、 1つのバッファセルにより複数のバッフ ァセルが駆動される場合のバッファセル間の配線では、 バッファセルか らバッファセルまでの配線での混雑が起きるという問題がある (第 4の 問題) 。 図 6 1では、 バッファセル 3 8 1'により複数のバッファセル 3 8 2〜 3 8 5が駆動される構成において、 ノ ッ フ ァセル 3 8 1 とノ 、ッ フ ァセル 3 8 2および 3 8 3との間の配線が混雑している様子を示してい る
配線混雑以外の問題として、 信号伝播遅延時間のスキュー値の問題が ある (第 5の問題) 。 即ち、 図 5 0のステップ S 2 8 5で、 フリップフ ロップセルの配置制限を行ないながら再配置処理を行ない、 フリップフ ロップセルを集め、 スキュー値を抑える手法を採っているが、 図 6 0に 示すフリップフ口ップセル 3 7 1のように、 フリップフ口ップセルがク ラスタから離れて配置されてしまう場合がある。 この場合、 その離れた フリップフロップセルまでの配線が長くなることにより、 そのセルまで の信号伝播遅延時間が長くなり、 結果的にスキューが大きくなるという 問題がある。
また、 図 5 0のステップ S 2 7 2のクロックッリ一生成処理では、 ノ 、 ッファセルのファンァゥト制約を満たすようにバッラァセルを配置した 結果、 図 5 2のモジュール 2 8 2または 2 8 3とモジュール 2 8 4とで、 クロックソース 2 8 5からフリ ップフロップセルまでのバッファ段数が 異なる部分ができる。 この場合、 バッファ段数 2段と 3段のクロックパ スでは、 信号伝播遅延時間が異なり、 スキューが大きくなるという問題 がある (第 6の問題) 。
さらに、 図 5 0のステップ S 2 8 2の初期配置においては、 従来は、 図 6 5に示すように、 フリップフ口ップセル 4 5 1 〜 4 5 4の配置を、 クロックノ ッファセル 4 5 5および 4 5 6からのクロックパス 4 5 7お よび 4 5 8を無視しないで行なっていたので、 フリップフロップセルを 接続するデータパス 3 5 9の配線経路が交差して混み合うという問題も ある。 また、 データパス 4 5 9やクロックパス 4 5 7および 4 5 8の経 路が長くなり、 タイミ ングエラーの原因となるという問題もある (第 7 の問題) 。
上記第 1の問題は、 クロックッリ一を生成する時にレイァゥト情報を 考慮していないことが障害になって生じていた。
また、 上記の第 2および第 3の問題は、 配置制限領域が重なってしま うこと、 および、 重なった配置制限領域内に被駆動セルを無理やり引き つけて再配置することが障害となって生じていた。
上記第 4の問題は、 駆動用のバッファセルから各被駆動側バッファま でのバッファセル間の配線を単純なスター状の配線としたことが障害と なって生じていた。
上記第 5の問題は、 フリップフロップセルを単純に配置制限領域内に 再配置するという手法を採っていることが障害となって生じていた。 上記第 6の問題は、 バッファ段数が異なるパスがクロックスキューを 大きく していることが障害となって生じていた。
上記第 7の問題は、 初期配置時にクロックパスを無視しないでフリッ プフ口ップセルの配置を行なつていることにより生じていた。
そこで、 本発明は、 クロック信号線およびそれ以外の信号線の配線長 が短く、 且つ、 配線の混雑の程度が低く、 信号伝播遅延時間が短く、 且 つ、 信号伝播遅延時間のバラツキが少ない回路を設計するための回路設 計方法および回路設計用プ口グラムを格納した記録媒体を提供すること を第 2の目的とする。 発明の開示
上記目的を達成するために、 本発明の回路内信号線の最適化方法は、 信号供給源とこの信号供給源から信号を供給される複数の素子とを有す る回路を設計するに際し、 信号供給源と複数の素子との間を結ぶ信号線 による信号分配を最適化するための方法であって、 信号供給源が被駆動 素子である複数の素子の全てに対し信号を直接的に供給するとファンァ ゥト制約を満足するか否かを判断する判断ステップと、 前記判断ステツ プで信号供給源がファンァゥト制約を満足しないと判断された場合、 被 駆動素子を、 ファンアウト制約を満足するように、 且つ、 負荷容量が同 一もしくは略同一になるように、 複数のグループに分割する分割ステツ プと、 前記分割ステップで分割されたグループ毎に、 ファンアウ ト制約 を満足するサイズのバッファ素子を揷入するバッファ揷入ステツプとを 順次実行し、 前記判断ステップにおいて、 前記バッファ挿入ステップで 挿入されたバッファ素子を被駆動素子として扱い、 信号供給源がその被 駆動素子の全てに対し信号を直接的に供給するとファンァゥト制約を満 足するか否かを判断し、 前記判断ステップで信号供給源がファンァゥ 卜 制約を満足すると判断されるまで、 分割ステップおよびバッファ挿入ス テツプを繰り返し実行することを特徵としている。
なお、 前記判断ステップで信号供給源がファンァゥト制約を満足する と判断された場合、 信号供給源から複数の素子に至るまでの遅延を解析 し、 バッファ素子の挿入/削除やバッファサイズ変更や前記グループに 属する被駆動素子の変更によって信号線による信号分配を最適化する最 適化ステツプを実行してもよい。
また、 前記判断ステップで信号供給源がファンァゥト制約を満足しな いと判断された場合、 被駆動素子の全ペアについて、 回路品質の向上要 因に基づいて評価値をそれぞれ算出する評価値算出ステップを実行し、 前記分割ステップにおいて、 ファンアウ ト制約を満足するペアのうち、 前記評価値算出ステップで算出された評価値が最大であるペアから順に 同一グループに所属させるように、 被駆動素子を分割してもよい。 このとき、 前記評価値算出ステップにおいて、 以下の項目①〜⑥の手 法により評価値を算出することができる。
①各ペアを成す被駆動素子間の回路を解析し、 当該ペアのホールドエ ラ一発生可能性が高い程大きくなるホールドエラ一評価値を、 当該ペア についての前記評価値として算出する。
②各ペアを成す被駆動素子間の回路を解析し、 当該ペアのセッ トアツ プエラ一発生可能性が高い程大きくなるセッ トアップエラ一評価値を、 当該ペアについての前記評価値として算出する。
③各ペアを成す被駆動素子間の回路を解析し、 当該ペアのホールドエ ラ一発生可能性が高い程大きくなるホールドエラ一評価値と、 当該ペア のセッ トアツプエラ一発生可能性が高い程大きくなるセッ トアップエラ —評価値とを算出し、 これらのホールドエラ一評価値とセッ トアップェ ラ一評価値との加算値を、 当該ペアについての前記評価値として算出す る o
④各ペアを成す被駆動素子間の物理的距離および回路を解析し、 当該 ペアの物理的距離が近い程大きくなる距離評価値と、 当該ペアのホール ドエラ一発生可能性が高い程大きくなるホールドエラ一評価値とを算出 し、 これらの距離評価値とホールドエラ一評価値との加算値を、 当該べ ァについての前記評価値として算出する。 . ⑤各ペアを成す被躯動素子間の物理的距離および回路を解析し、 当該 ペアの物理的距離が近い程大きくなる距離評価値と、 当該ペアのセッ ト アップエラ一発生可能性が高い程大きくなるセッ トアップエラ一評価値 とを算出し、 これらの距離評価値とセッ トアップエラ一評価値との加算 値を、 当該ペアについての前記評価値として算出する。
⑥各ペアを成す被駆動素子間の物理的距離および回路を解析し、 当該 ペアの物理的距離が近い程大きくなる距離評価値と、 当該ペアのホール ドエラ一発生可能性が高い程大きくなるホールドエラ一評価値と、 当該 ペアのセッ トアップエラ一発生可能性が高い程大きくなるセッ トアップ エラ一評価値とを算出し、 これらの距離評価値とホールドエラ一評価値 とセッ トアップエラー評価値との加算値を、 当該ペアについての前記評 価値として算出する。 、
さらに、 信号供給源から複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整ステ ップを実行してもよい。
一方、 本発明の回路内信号線の最適化装置は、 信号供給源とこの信号 供給源から信号を供給される複数の素子とを有する回路を設計するに際 し、 信号供給源と複数の素子との間を結ぶ信号線による信号分配を最適 化するための装置であって、 信号供給^が被駆動素子である複数の素子 の全てに対し信号を直接的に供給するとファンァゥト制約を満足するか 否かを判断する判断部と、 この判断部により信号供給源がファンァゥト 制約を満足しないと判断された場合、 被駆動素子を、 ファンアウ ト制約 を満足するように、 且つ、 負荷容量が同一もしくは略同一になるように、 複数のグループに分割する分割部と、 この分割部により分割されたダル ープ毎に、 ファンアウ ト制約を満足するサイズのバッファ素子を挿入す るバッファ挿入部とをそなえ、 判断部が、 バッファ挿入部で挿入された バッファ素子を被駆動素子として扱い、 信号供給源がその被駆動素子の 全てに対し信号を直接的に供給するとファンァゥ卜制約を満足するか否 かを判断し、 判断部により信号供給源がファンァゥ ト制約を満足すると 判断されるまで、 分割部およびバッファ揷入部による処理を繰り返すこ とを特徴としている。
このとき、 '判断部により信号供給源がファンァゥト制約を満足すると 判断された場合、 信号供給源から複数の素子に至るまでの遅延を解析し、 バッファ素子の挿入ノ削除ゃバッファサイズ変更や前記グループに属す る被駆動素子の変更によつて信号線による信号分配を最適化する最適化 部をそなえてもよい。
また、 判断部により信号供給源がファンァゥト制約を満足しないと判 断された場合、 被駆動素子の全ペアについて、 回路品質の向上要因に基 づいて評価値を算出する評価値算出部をそなえ、 分割部が、 ファンァゥ ト制約を満足するペアのうち、 評価値算出部で算出された評価値が最大 であるペアから順に同一グループに所属させるように、 被駆動素子を分 割してもよい。
さらに、 信号供給源から複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整部を そなえてもよい。
そして、 本発明の最適化プログラムを格納した記憶媒体は、 信号供給 源と信号供給源から信号を供給される複数の素子とを有する回路を設計 するに際し、 信号供給源と複数の素子との間を結ぶ信号線による信号分 配をコンピュータにより最適化するための最適化プ口.グラムを格納した ものであって、 その最適化プログラムが、 信号供給源が被駆動素子であ る複数の素子の全てに対し信号を直接的に供給するとファンァゥト制約 を満足するか否かを判断する判断手順と、 この判断手順で信号供給源が ファンアウ ト制約を満足しないと判断された場合、 被駆動素子を、 ファ ンアウト制約を満足するように、 且つ、 負荷容量が同一もしくは略同一 になるように、 複数のグループに分割する分割手順と、 この分割手順で 分割されたグループ毎に、 ファンァゥト制約を満足するサイズのバッフ ァ素子を挿入するバッファ挿入手順とを、 順次、 コンピュータに実行さ せ、 前記判断手順において、 前記バッファ挿入手順で挿入されたバッフ ァ素子を被駆動素子として扱い、 信号供給源が被駆動素子の全てに対し 信号を直接的に供給するとファンァゥト制約を満足するか否かを判断さ せ、 前記判断手順で信号供給源がファンァゥト制約を満足すると判断さ れるまで、 前記の分割手順およびバッファ挿入手順をコンピュータに繰 り返し実行させることを特徴としている。
このとき、 最適化プログラムが、 前記判断手順で信号供給源がファン ァゥト制約を満足すると判断された場合、 信号供給源から複数の素子に 至るまでの遅延を解析し、 バッファ素子の揷入 Z削除ゃバッファサイズ 変更や前記グループに属する被駆動素子の変更によって信号線による信 号分配を最適化する最適化手順を、 コンピュータに実行させてもよい。
また、 最適化プログラムが、 前記判断手順で信号供給源がファンァゥ ト制約を満足しないと判断された場合、 被駆動素子の全ペアについて、 回路品質の向上要因に基づいて評価値をそれぞれ算出する評価値算出手 川頁を、 コンピュータに実行させるとともに、 前記分割手順において、 フ ァンァゥト制約を満足するペアのうち、 前記評価値算出手順で算出され た評価値が最大であるペアから順に同一グループに所属させるように、 被駆動素子を分割させてもよい。
さらに、 最適化プログラムが、 信号供給源から複数の素子までの全て の経路上におけるセル段数が等しくなるようにバッファ素子を挿入する ッファ段数調整手順を、 コンピュータに実行させてもよい。 上述した本発明の回路内信号線の最適化方法, 最適化装置および最適 化プログラムを格納した記憶媒体では、 複数の素子や被駆動素子 (バッ ファ素子) 力 グループ (部分集合) 間で負荷容量が同一もしくは略同 一になるように分割されるので、 ツリー状信号線による信号分配は、 こ れらのグループ間でうまくバランスされることになる。
なお、 上述のごとくバランスのとれたッリ一状信号線を生成した後に、 信号線による信号分配の最適化を行なうことにより、 スキューの小さい ッリ一状信号線を確実かつ容易に構成することができる。
また、 ファンァゥト制約を満足するペアのうち評価値が最大であるべ ァから順に同一グループに所属させるように、 被駆動素子を分割するこ とにより、 単にファンアウト制約を満足するだけでなく回路品質を考慮 しながら、 被駆動素子の分割 (バッファリング) を行なうことができる このとき、 ホールドエラ一ゃセッ トアップエラ一を回避するようにッリ —状信号線を合成することができるほか、 フロアブラン情報または配置 情報 (レイアウト情報, 物理情報) を考慮することにより、 レイアウ ト でスキューを確実かつ容易に収束させるとともに、 配線長を短縮させる こともできる。 .
さらに、 信号供給源から複数の素子までの全経路上におけるセル段数 が等しくなるようにバッファ素子を挿入することにより、 複数の素子で のスキューをより確実に低減させることができる。
このように、 本発明の回路内信号線の最適化方法, 最適化装置および 回路内信号線の最適化プログラムを格納した記憶媒体によれば、 以下の ような効果ないし利点を得ることができる。
( 1 ) ツリー状信号線による信号分配は、 これらのグループ間でうま くバランスされるので、 信号供給源から各素子への信号の遅延を最適化 してスキュ一を確実に低減でき、 高速化要求に対応可能な回路の設計を 実現することができる。
( 2 ) バランスのとれたツリー状信号線を生成した後に、 信号線によ る信号分配の最適化を行なうことにより、 スキューの小さいツリー状信 号線を確実かつ容易に構成できるので、 信号供給源から各素子への信号 の遅延をより確実に最適化して、 スキューをより確実に低減することが できる。
( 3 ) 単にファンアウ ト制約を満足するだけでなく回路品質を考慮し ながら、 被駆動素子を分割できるので、 ホールドエラ一ゃセッ トアップ エラーの発生を確実に抑えた信号線を生成でき、 回路品質を大幅に向上 させることができる。 加えて、 フロアプラン情報または配置情報を考慮 することにより、 レイァゥ卜でスキューを確実かつ容易に収束させるこ とができるとともに、 配線長を短縮でき、 信号配分をより確実に最適化 することができる。
( 4 ) 信号供給源から複数の素子までの全経路上におけるセル段数が 等しくなるようにバッファ素子を揷入することにより、 複数の素子での スキューをより確実に低減でき、 信号配分をより確実に最適化すること ができる。
一方、 本発明の回路設計方法および回路設計用プログラムを格納した 記憶媒体では、 R T L (レジスタ転送レベル) で記述された回路の設計 内容を論理合成後の第 1のネッ トリストに対してフロアプランを実行し、 得られたフロアブラン情報に基づいて、 クロック信号に応じて動作する バッファセルを配置し、 一度バッファセルを配置した結果に対し、 バッ ファ段数を調べ、 クロックソースから各フリップフ口ップセルまでのバ ッファ段数が等しくなるように、 調整を行なう。
これにより、 フロアプラン情報を考慮してクロックバッファセルを配 置するので、 離れたフロアプランブロックをバッフアリングすることが 無くなり、 その結果、 クロックパスの配線長を抑えることが可能になり、 ひいてはク口ック信号伝播遅延時間を抑えることが可能になる。 また、 ノ ッファ段数を調整するため、 クロック キュ一も抑えることができる このとき、 初期配置のステップにおいて、 ネッ トリストとフロアブラ ン情報とに基づいて、 クロックツリー上のネッ トを無視してセルの配置 処理を行ない、 次いで前記クロックッリ一に結線されるべきフリップフ 口ップセルの配置位置を決定するというステップをそなえる。
これにより、 クロック信号線のネッ ト (以下、 クロックネッ トとい う) 以外に接続されるセルとフリップフロップセルとを最適な位置に初 期配置し、 その配置結果をもとにクロックネッ 卜の再構成を行なってい るので、 ク口ックパス以外のパスを無理に接近させないようにするので、 配線の混雑を緩和でき、 クロックネッ トおよびその他のネッ 卜の配線効 率を最適にしたセルの配置が可能になり、 その後の配線処理時間が短縮 される。 また、 フリップフロップセル間のデータバスの経路も最適に配 置されるので、 セルのレイアウト後のタイミ ングエラーを抑えることが できる。
また、 バッファ段数を調整するステップの後に、 フリップフロップセ ルの初期配置からクロックツリーの最終段ネッ トを抽出し、 抽出された 最終段ネッ 卜のネッ ト範囲を調べ、 そのネッ 卜範囲が重なる複数のネッ トをマージし、 マージしたネッ トをネッ ト範囲が重ならないネッ 卜に分 割し、 分割されたネッ トにバッファセルを割り当てることによりネッ ト 範囲が重ならないようにネッ トの再構成処理を行なう、 というステップ をそなえる。
これにより、 クロック最終段ネッ 卜のクロックスキューを抑え、 配線 混綞度の緩和が可能になる。
さらに、 クロックレイアウトを行なぅステツプは、 クロックッリ一上 のネッ 卜を無視してセルの配置処理を行なうステップによるフリ ップフ 口ップの配置結果に基づいて、 クロックッリ一上のバッファセルの配置 位置をボトムアツプに決定し、 クロックッリ一の最終段バッファ毎に、 ノ ッファが駆動するフリ ップフロップセルの配置情報から、 フリ ップフ ロップセルのクラスタ情報を作成し、 バッファセルの各々を中心にした 配置制限領域情報を作成し、 次にバッファセル以外のセルについて再配 置制限領域情報およびクラスタ情報を制約値として再配置処理を行なう、 というステップをさらにそなえる。
これにより、 フリ ップフロップセルは配置制限領域内で、 且つ、 クラ スタダル一プ毎にフリ ップフロップセルがかたまるように配置されるこ とになるので、 クロックパスの信号伝播遅延時間を短縮し、 スキュ一値 を抑えることができ、 レイアウ ト後のタイミ ング調整作業工数の短縮が 可能である。
またさらに、 バッファセル以外のセルについて再配置制限領域情報お よびクラスタ情報を制約値として再配置処理を行なぅステツプの次に、 クロックツリーのネッ ト毎に、 被駆動セルの配置位置からクラスタ情報 を作成し、 作成したクラスタ毎に、 クラスタされた被駆動セル間をクラ スタ配線し、 駆動セルから各クラスタまでの配線をスター状にルート配 線する、 というステップをさらにそなえる。
これにより、 クロックスキュ一を抑えたクロック配線が可能である。 また、 バッファセル間のネッ トの配線混雑度を緩和することも可能であ る ο
さらにまた、 クロックツリー上のバッファセルの配置処理をボトムァ ップに決定するステツプの次に、 クロックッリ一の再構成を行なうステ ップをそなえ、 このクロックツリーの再構成のステップで、 クロック論 理の変更時に論理変更コマンドをネッ トリストファイルに出力し、 その 論理変更コマンドに基づいて第 2のネッ トリストを変更することにより、 レイァゥ卜データベース上のクロック論理と一致したクロック論理を含 む第 3のネッ トリストを作成するステツプをさらにそなえる。
これにより、 レイァゥトデータべ一ス上の論理と、 ネッ トリストの 理の一致性を保持することができるので、 論理変更後の論理一致性を保 証するためのフォーマルベリフィケ一ション等を利用できる。
このように、 本発明の回路設計方法および回路設計用プログラムを格 納した記憶媒体によれば、 全体の配線効率がよくなり、 処理時間を短縮 することが可能である。
また、 クロックの信号伝播遅延時間とスキューとを抑えることができ るため、 レイアウト後のタイミングエラ一を削減し、 タイミング調整作 業にかかる処理時間が短縮される。
さらに、 配線混雑度を抑えることにより配線密度に余裕ができるため、 その余裕部分を高密度にすることにより、 チップサイズの縮小も可能で める。
またさらに、 レイァゥト後の論理検証にフォーマルべリファイャ一等 の高速検証ツールを利用できるため、 L S I等の回路実装設計時間を 5短5 A冊 縮することが可能である。 図面の簡単な説明
図 1は本発明の第 1実施形態としての回路内信号線の最適化装置の機 能構成を示すプロック図である。
図 2は本発明の第 1実施形態としての回路内信号線の最適化方法の手 順を説明するためのフローチヤ一トである。
図 3 A〜図 3 Eは第 1実施形態によるクロックッリ一合成処理の手順 を説明するための図である。 図 4は第 1実施形態における評価値算出処理の手順を説明するための フローチャートである。
図 5 A〜図 5 Cはホールドエラ一について説明するための図である。 図 6 A〜図 6 Eはホールドエラ一について説明するためのタイムチヤ —トである。
図 7は第 1実施形態における評価値算出処理の第 1変形例を説明する ためのフローチヤ一トである。
図 8 A〜図 8 Cはセッ トアップエラ一について説明するための図であ な
図 9 A〜図 9 Eはセッ トアップエラ一について説明するためのタイム チヤ一トである。
図 1 0は第 1実施形態における評価値算出処理の第 2変形例を説明す るためのフローチャートである。
図 1 1は第 1実施形態における評価値算出処理の第 3変形例を説明す るためのフローチャートである。
図 1 2 Aおよび図 1 2 Bはそれぞれ被駆動素子間の物理的距離を考慮 しない場合と考慮した場合のバッファリング結果を示す図である。 図 1 3は第 1実施形態における評価値算出処理の第 4変形例を説明す るためのフローチヤ一トである。
図 1 4は第 1実施形態における評価値算出処理の第 5変形例を説明す るためのフローチャートである。
図 1 5は本発明の第 2実施形態としての回路内信号線の最適化装置の 機能構成を示すブロック図である。
図 1 6は本発明の第 2実施形態'としての回路内信号線の最適化方法の 手順を説明するためのフローチヤ一トである。
図 1 7 Aおよび図 1 7 Bは第 2実施形態によるバッファ段数調整を行 なった具体例を示す図である。
図 1 8は本発明の第 3実施形態としての回路内信号線の最適化装置の 機能構成を示すプロック図である。
図 1 9は本発明の第 3実施形態としての回路内信号線の最適化方法の 手順を説明するためのフローチヤ一トである。
図 2 0 Aおよび図 2 0 Bは第 3実施形態においてィンバ一タバッファ 素子を用いたバッファリングを行なった具体例を示す図である。
図 2 1は本発明の第 4実施形態としての回路設計方法 (L S I レイァ ゥ卜方法) の概略を説明するためのフローチャートである。
図 2 2は図 2 1におけるステップ S 1 1 3の処理内容の詳細を説明す るためのフローチヤ一トである。
図 2 3はフロアブラン情報を考慮したバッフアリングを行なつた後の クロックッリ一を示す図である。
図 2 4は図 2 2のステップ S 2 4によるバッファ段数の調整結果を説 明するための図である。
図 2 5は図 2 1のステップ S 1 2 4の詳細を説明するためのフローチ ャ一トである。
図 2 6は図 2 5のステップ S 5 4の判断で重なるネッ トがある場合の 最終段ネッ 卜のネッ ト範囲を示す図である。
図 2 7は図 2 6に示したネッ ト範囲のクロックネッ 卜の論理を説明す るための図である。
図 2 8は図 2 5のステップ S 5 6のネッ 卜のマージを示す図である。 図 2 9は図 2 8に示したネッ ト範囲のクロックネッ 卜の論理を説明す るための図である。
図 3 0および図 3 1はいずれも図 2 5のステップ S 5 7のネッ トの分 割処理を説明するための図である。 図 3 2は図 2 5のステップ S 5 8のバッファ割当を説明するための図 である。
図 3 3は図 3 2に示したようにバッファセルを割り当てた後のクロッ クネッ 卜の論理を説明するための図である。
図 3 4は図 2 5のステップ S 5 9のバッファセルの仮想配置を示す図 である。
図 3 5は図 2 1のステップ S 1 2 6の配置制限領域生成を説明するた めの図である。
図 3 6は図 2 1のステップ S 1 2 8の再配置処理の詳細を説明するた めのフローチャートである。
図 3 7は図 3 6のステップ S 1 6 2で設定されたフリップフロップセ ルの配置制限領域情報を説明するための図である。
図 3 8は図 3 6のステップ S 1 6 3で作成された仮想ネッ トを示す図 ある。
図 3 9は図 3 6のステップ S 1 6 7における仮想ネッ 卜の再配置処理 を説明するための図である。
図 4 0は図 3 9に示したクラスタの再配置後に図 2 1のステップ S 1 2 9によりセル間の接近度をさらに大きく して生成した第 2のクラスタ 情報を説明するための図である。
図 4 1は図 2 1のステップ S 1 3 0におけるクロックネッ 卜の特殊配 線処理の詳細を説明するためのフローチャートである。
図 4 2は図 4 1のステップ S 2 1 3のクラスタ内配線処理を説明する ための図である。
図 4 3は図 4 1のステップ S 2 1 4のルート配線処理を説明するため の図である。
図 4 4はバッファ間ネッ 卜のクラスタ配線とルート配線の結果を示す 図である。
図 4 5は図 2 1のステップ S 1 2 2において、 クロックネッ トを無視 しながらフリップフロップセルの初期配置を行なう場合について説明す るための図である。 .
図 4 6は本発明の第 4実施形態による方法を実施するためのコンビュ
—タシステムの構成を示すプロック図である。
図 4 7はファンァゥト制約を説明するための図である。
図 4 8 Aおよび図 4 8 Bはそれぞれ通常のクロック信号の波形とファ ンァゥト制約を満たさない場合のクロック信号の波形とを示す図である 図 4 9は一般的なバッファリングを施されたクロックッリ一の例を示 す図である。
図 5 0は従来の L S I レイアウト方法 (回路設計方法) を説明するた めのフローチャートである。
図 5 1は従来の方法において、 L S Iのモジュール内での、 バッファ セル導入前のクロックッリ一の一例を示す図である。
図 5 2は従来の方法において、 L S Iのモジュール内での、 ノ ッファ セルが導入されたクロックッリ一を示す図である。
図 5 3は従来の方法において、 L S Iのモジュール内でのバッファセ ルおよびフリップフロップセルの初期配置結果を示す図である。
図 5 4は従来の方法において、 L S Iのモジュール内でバッファセル をそのバッファセルが駆動するフリップフロップセルの配置範囲の中心 に配置した例を示す図である。
図 5 5は従来の方法において、 バッファセルを中心にして配置制限領 域を設定した例を示す図である。
図 5 6および図 5 7はいずれも従来の方法において、 セルを再配置し た結果を示す図である。 図 5 8は従来の方法における、 クラスタ用バー情報の設定例を示す図 である。
図 5 9は従来の方法における、 各フリ ップフロップセルとクラスタ用 バーとを結ぶ支線の配線例を示す図である。
図 6 0は従来の方法における、 駆動用バッファセルからクラスタ用バ —へのルート配線の例を示す図である。
図 6 1は従来の方法における、 バッファ間ネッ 卜の特殊配線を説明す るための図である。
図 6 2は従来の方法における、 フロアブランブロックとクロックッリ —を示す図である。
図 6 3は配線制限領域の重なりを示す図である。
図 6 4は従来の方法における配線の混雑伏態を説明するための図であ る。
図 6 5は従来の方法において行なわれる、 クロックネッ トを無視しな い配置処理を説明するための図である。 発明を実施するための最良の形態
以下、 図面を参照して本発明の実施の形態を説明する。 ' 本発明の回路内信号線の最適化方法, 最適化装置および最適化プログ ラムを格納した記憶媒体は、 主にクロック系ネッ 卜のようなツリー構造 に適用されるもので、 第 1〜第 3実施形態では、 クロックツリーの合成 について説明する。 ただし、 本発明は、 クロック系ネッ トのようなッリ 一構造に限定されるものではなく、 回路全般に応用可能である。
〔1〕 第 1実施形態の説明
図 1は本発明の第 1実施形態としての回路内.信号線の最適化装置の機 能構成を示すブロック図であり、 この図 1に示すように、 本実施形態の 最適化装置は、 クロック供給素子 (クロック供給源) とこのクロック供 給素子から信号を供給される多数の素子 (被駆動素子; ここでは F F ) とを有する回路 (例えば V L S I ) を設計するに際し、 クロック供給素 子と多数の F Fとの間を結ぶクロック信号線 (クロック系ネッ ト) によ るクロック分配を最適化するための装置であって、 ディスプレイ 5 1 0 , 表示制御部 5 1 1 , 入力部 5 2 0, 記憶部 5 3 0 , C P U 5 4 0などを 有する一般的な処理装置 (プロセッサ, コンピュータ) によって構成さ れている。
本実施形態において、 ディスプレイ 5 1 0は、 クロックッリ一合成の ために必要な各種情報やクロック分配の最適化の状況などを表示するも のである。 表示制御部 5 1 1は、 ディスプレイ 5 1 0における表示状態 を制御するものであ 、 C P U 5 4 0からの指示や入力部 5 2 0からの 指示に応じて、 各種表示制御動作を行なってディスプレイ 5 1 0での表 示状態を制御する。
入力部 5 2 0は、 例えばキ一ボ一ドゃマウスを有して構成され、 オペ レ一タ (回路設計者) によって操作され、 ディスプレイ 5 1 0上の表示 データに対する応答情報や、 クロックッリ一合成のために必要な各種情 報などを入力するためのものである。 従って、 オペレータは、 ディスプ レイ 1 0における表示を参照しながら、 入力部 5 2 0を操作して各種情 報を入力することにより、 会話形式でクロック分配の最適化を行なえる ようになつている。
記憶部 5 3 0は、 実際には、 通常の処理装置内にそなえられる R A M や R O Mのほか、 処理装置に接続されるディスク装置等の外部記憶装置 などを含み、 本実施形態の最適化装置に必要な各種情報を記憶する部分 を総称している。 この記憶部 5 3 0には、 本実施形態での処理 (バッフ ァリングゃ最適化) に必要な情報、 例えば、 設計対象の回路上に配置さ れる F F間の論理情報や物理情報 (フロアプラン情報, 配置情報, レイ ァゥ卜情報) が記憶されている。 また、 記憶部 5 3 0には、 外部からィ ンストールされた、 回路内信号線の最適化プログラム (後述) も格納さ れている。
C P U 5 4 0は、 本実施形態の最適化装置を統括管理するほか、 各種 処理を実行するもので、 特に、 本実施形態では、 判断部 5 4 1, 評価値 算出部 5 4 2 , 分割部 5 4 3 , バッファ挿入部 5 4 4 , バッファサイズ 変更部 5 4 5および最適化部 5 4 6としての機能を果たす。
これらの判断部 5 4 1, 評価値算出部 5 4 2 , 分割部 5 4 3, バッフ ァ揷入部 5 4 4 , ノ ソ フ ァサイズ変更部 5 4 5および最適化部 5 4 6と しての機能は、 実際には、 ハードディスク, 磁気テープ, フロッピディ スク, 光ディスク, 光磁気ディスク, C D— R O M等の記憶媒体から処 理装置 (記憶部 5 3 0 ) にインストールされた最適化プログラムを R A M等に読み出し、 そのプログラムを C P U 5 4 0で実行することにより、 C P U 5 4 0の動作として実現される。 ここで、 本実施形態の最適化プ 口グラムは、 ク口ック供給素子と多数の F Fとの間を結ぶク口ック信号 線によるクロック分配を C P U (コンピュータ) 5 4 0に最適化させる ベく、 図 1に符号 5 4 1〜 5 4 6を付して示す各構成要素として C P U 5 4 0を機能させるものである。
判断部 5 4 1は、 クロック供給素子が被駆動素子 (最初は F F , 2回 目以降はバッファ素子) の全てに対しクロック信号を直接的に供給する とファンアウ ト制約を満足するか否かを判断するものである。 また、 本 実施形態の判断部 5 4 1は、 クロック系ネッ 卜に組み込まれている論理 ゲ一ト, セレクタゃバッファ素子に対してバッフアサイジングを行なう だけで (バッファリングを行なうことなく) クロック供給素子がファン ァゥト制約を満足するか否かを判断する機能も有している。 評価値算出部 5 4 2は、 判断部 5 4 1により、 クロック供給素子がフ アンアウト制約を満足しないと判断され、 且つ、 ノ ソファサイジングを 行なつただけではクロック供給素子がファンアウ ト制約を満足しないと 判断された場合、 被駆動素子の全ペアについて回路品質の向上要因に基 づいて評価値を算出するものである。
また、 本実施形態の評価値算出部 5 4 2は、 図 4により後述するごと く、 各ペアを成す被駆動素子間の回路を論理情報に基づいて解析し、 当 該ペアのホールドエラ一発生可能性が高い程大きくなるホールドエラ一 評価値を当該ペアについての評価値として算出している。 なお、 ホール ドエラ一については図 5 A〜図 5 Cおよび図 6 A〜図 6 Eを参照しなが ら後述する。
分割部 5 4 3は、 判断部 5 4 1により、 クロック供給素子がファンァ ゥ ト制約を満足しないと判断され、 且つ、 バッファサイジングを行なつ ただけではクロック供給素子がファンァゥ ト制約を満足しないと判断さ れた場合、 被駆動素子を、 ファンァゥト制約を満足するように、 且つ、 素子数および負荷容量が同一もしくは略同一になるように、 複数のグル ープに分割するものである。 . また、 本実施形態の分割部 5 4 3は、 ファンアウ ト制約を満足するべ ァのうち、 評価値算出部 5 4 2で算出された評価値が最大であるペアか ら順に同一グループに所属 (マージ) させるように、 被駆動素子を分割 している。 なお、 具体的な被駆動素子の分割手順 (クロックツリー合成 処理の手順) については図 3 A〜図 3 Eを参照しながら後述する。 バッファ揷入部 5 4 4は、 分割部 5 4 3により分割されたグループ毎 に、 ファンァゥ卜制約を満足するサイズのバッファ素子を挿入するもの である。
バッファサイズ変更部 5 4 5は、 判断部 5 4 1により、 クロック供給 素子がファンァゥト制約を満足しないと判断され、 旦っ、 バッフアサイ ジングを行なうだけでクロック供給素子がフアンアウト制約を満足する と判断された場合、 クロック系ネッ 卜に組み込まれているセル (論理ゲ —ト, セレクタやバッファ素子等) のうち適当なものの駆動能力を変更 調整する、 つまり、 セルのサイズ変更 (バッファサイジング) を行なう ものである。
そして、 本実施形態では、 判断部 5 4 1が、 バッファ揷入部 5 4 4で 挿入されたバッファ素子を被駆動素子として扱い (もしくはバッフアサ ィズ変更部 5 4 5による変更結果を受けて) 、 クロック供給素子が被駆 動素子の全てに対しクロック信号を直接的に供給するとファンァゥト制 約を満足するか否かを判断し、 この判断部 5 4 1によりクロック供給素 子がファンアウ ト制約を満足すると判断されるまで、 評価値算出部 5 4 2, 分割部 5 4 3, バッファ挿入部 5 4 4およびバッフアサイズ変更部 5 4 5による処理が繰り返し実行されるように構成されている。
最適化部 5 4 6は、 判断部 5 1によりクロック供給素子がファンァ ゥト制約を満足すると判断された場合、 クロック供給素子から全ての F Fに至るまでの遅延を解析し、 バッファ素子の挿入 Z削除ゃバッフアサ ィズ変更や分割されたグループに属する F Fの変更によってクロック系 ネッ 卜によるクロック分配 (遅延やクロックスキュー) を最適化するも のである。
次に、 上述のごとく構成された第 1実施形態の最適化装置による最適 化手順 (クロックツリー合成処理の手順) を、 図 2に示すフローチヤ一 ト (ステップ S 5 1 1〜S 5 1 8 ) に従うとともに図 3 A〜図 3 Eを参 照しながら説明する。 .なお、 図 3 A〜図 3 Eでは、 1つのクロック供給 素子 (CLOCK)に対して 6個 (a〜f ) の被駆動素子 (F F ) が存在する 例が図示されている。 本実施形態の最適化装置では、 クロック供給素子および被駆動素子で ある F Fについての論理情報や物理情報が入力されると 〔図 3 A参照〕 、 判断部 5 4 1において、 クロック供給素子が被駆動素子 (F F ) の全て に対しクロック信号を直接的に供給するとファンァゥト制約を満足する か否かを判断する (判断ステップ S 5 1 1 ) 。
クロック供給素子がファンアウト制約を満足しないと判断された場合 (ステップ S 5 1 1の N 0ル一ト) 、 判断部 5 4 1においては、 さらに、 クロック系ネッ 卜に組み込まれている論理ゲ一ト, セレクタやバッファ 素子に対してバッフアサイジングを行なうだけで、 バッフアリングを行 なうことなくクロック供給素子がファンァゥ ト制約を満足するか否かを 判断する (ステップ S 5 1 2 ) 。
バッフアサイジングを行なっただけではク口ック供給素子がファンァ ゥト制約を満足しないと判断された場合 (ステップ S 5 1 2の N Oルー ト) 、 評価値算出部 5 4 2により、 被駆動素子 (最初は F F ) の全ペア について回路品質の向上要因に基づいて評価値が算出される 〔評価値算 出ステップ S 5 1 3 ;図 3 B参照〕 。 本実施形態の評価値算出部 5 4 2 による処理手順については、 図 4を参照しながら後述する。
そして、 分割部 5 4 3において、 ファンァゥト制約を満足するペアの うち、 評価値算出部 5 4 2で算出された評価値が最大のペアから順に同 一グループに所属 (マージ) させるように、 被駆動素子を複数のグルー プ (部分集合) に分割する 〔図 3。参照〕 。 このとき、 あるペアを同じ グループにすることによって、 後で挿入されるバッファ素子のファンァ ゥト制約を違反しないならば、 そのペアを同一グループにマージし、 違 反する場合には次に評価値の大きなペアについてマージを行なう。 この ような処理を、 ファンアウト制約によってどのグループもマージ処理を 行なうことができなくなるまで繰り返す。 また、 上述した.被駆動素子の ペアのマージ処理は、 生成されるグループ間で素子数および負荷容量が 同一もしくは略同一になるように、 バランスをとりながら行なわれる。 このようにして被駆動素子が複数のグループに分割される 〔図 3 D参 照;分割ステップ S 5 1 4 〕 。
グループ分割を完了した後、 バッファ挿入部 5 4 4において、 分割部 5 4 3で分割されたグループ毎にファンアウト制約を満足するサイズの ノ ッファ素子を挿入した後 〔バツフアリ ング, ノ ッファ揷入ステツプ S 5 1 5 ;図 3 E参照〕 、 新たに挿入されたバッファ素子を被駆動素子に 置き換え、 ステップ S 5 1 1に戻る。
一方、 ステップ S 5 1 2においてバッファサイジングを行なうだけで クロック供給素子がファンァゥト制約を満足すると判断された場合 (Y E Sル一ト) 、 ノ ッファサイズ変更部 5 4 5において、 クロック系ネッ 卜に組み込まれているセル (論理ゲート, セレクタやバッファ素子等) のうち適当なもののバッファサイジングを行なってから (ステップ S 5 1 7 ) 、 ステップ S 5 1 1に戻る。
上述したステップ S 5 1 2 〜 S 5 1 7の処理は、 ステップ S 5 1 1に おいてク口ック供給素子がフアンァゥト制約を満足すると判断されるま で、 繰り返し実行される。
そして、 ステップ S 5 1 1においてク口ック供給素子がフアンアウト 制約を満足すると判断された場合 (Y E Sルー ト) 、 クロック供給素子 から全ての F Fに至るまでの遅延を解析し、 バッファ素子の揷入/削除 ゃバッファサイズ変更や分割されたグループに属する F Fの変更によつ て、 クロック供給素子から F Fまでの遅延や、 F F間のクロックスキュ —を最適化し、 クロック系ネッ トによるクロック分配を最適化する (最 適化ステップ S 5 1 8 ) 。
このように、 本実施形態では、 新たに挿入されたバッファを被駆動素 子に置き換え、 同様の処理 (ステップ S 5 1 1〜S 5 1 7) を再帰的に ボトムアツプしながら行なうことにより、 クロック供給素子から F Fま でのクロックツリーが形成される。 そして、 形成されたクロックツリー に対し、 クロック供給素子から F Fまでの遅延を最適化し F F間のクロ ックスキューを低減させるための処理 (ステップ S 5 1 8) が施される c さて、 次に、 評価値算出ステップ S 5 1 3 (評価値算出部 4 2) で行 なわれる評価値算出処理の手順について、 図 4に示すフローチヤ一ト (ステップ A 1〜A 3) に従って説明する。
本実施形態では、 ホールドエラ一を防止するように数値化した評価値 を用いている。 '
ここで、 図 5 Aに示すように、 相互に接続される 2つの F F 5 0 2 A, 5 0 2 Bに対してクロック供給素子 5 0 1からクロック信号 C Kを供給 する場合に発生しうるホールドエラ一について説明する。 図 6 A〜図 6 Eに示すように、 F F 5 0 2 Aは、 クロック端子 C K 1に供給されるク ロック信号の立ち上がりに応じて、 出力端子 Qからデータを出力する。 そして、 F F 5 0 2 Bは、 クロック端子 CK 2に供給されるクロック信 号の立ち上がりに応じて、 データ端子 から、 F F 5 0 2 Aからのデ一 タをホ一ルドする。 このとき、 クロック端子 CK 2に供給されるクロッ ク信号が立ち上がった後、 F F 5 0 2 Aからデータが出力されている期 間 TH が、 所定時間以上でない場合、 F F 5 0 2 Bで F F 5 0 2 Aから のデータをホールドすることができなくなる。 このようなエラ一をホー ルドエラ一と呼ぶ。 ホールドエラ一は、 F F 5 0 2 A, 5 0 2 B間のパ ス遅延が小さいほど、 発生しやすくなる。
ホールドエラ一が発生する可能性が高い場合、 図 5 Bに示すように F F 5 0 2 A, 5 0 2 Bを別々のバッファ素子 5 0 3 , 5 0 3により駆動 すると、 ホールドエラ一の発生を防止することができないが、 図 5 Cに 示すように、 F F 5 0 2 A, 5 0 2 Bを同一のグループにマージして同 一のバッファ素子 5 0 3により駆動すると、 ホールドエラ一の発生を防 止することができる。
そこで、 本実施形態では、 図 4に示すように、 ペアを成す被駆動素子 間のパス (回路) を論理情報に基づいて解析し (ステップ A 2) 、 パス 遅延が小さい程、 即ちホールドエラー発生可能性が高い程、 高い評価値 (ホールドエラー評価値) を算出し、 そのペアに与えている (ステップ A 3 ) 。 このような算出処理は、 全てのペアに対して行なわれる (ステ ップ A 1で YE S判定) 。
これにより、 高い評価値を付与されたペア (即ちホールドエラー発生 可能性が高いペア) は、 同一グループに属しやすくなるので、 ホールド 'ェラ一の発生防止につながる。
このように、 本発明の第 1実施形態によれば、 被駆動素子である F F 5 0 2, 5 0 2 A, 5 0 2 Bやバッファ素子 5 0 3力 グループ間で素 子数や負荷容量が同一もしくは略同一になるように分割されるので、 ク ロックツリー (ツリー状信号線) によるクロック分配は、 これらのグノレ —プ間でうまくバランスされ、 クロック供給素子 5 0 1から F F 5 0 2, 5 0 2 A, 5 0 2 Bへの信号の遅延を最適化してク口ックスキューを確 実に低減でき、 高速化要求に対応可能な回路の設計を実現することがで さる。
また、 上述のごとくバランスのとれたクロックッリ一を生成した後に、 クロック分配の最適化を行なうことにより、 クロックスキューの小さい クロックッリ一を確実かつ容易に構成できるので、 クロック供給素子 5 0 1から F F 5 0 2 , 5 0 2 A, 5 0 2 Bへの信号の遅延をより確実に 最適化して、 クロックスキュ一をより確実に低減することができる。 さらに、 本実施形態では、 ファンアウ ト制約を満足するペアのうちホ —ルドエラ一評価値が最大であるペアから順に同一グループに所属させ るように、 被駆動素子を分割することにより、 単にファンァゥ卜制約を 満足するだけでなくホールドエラ一の発生可能性を考慮しながら、 被駆 動素子の分割 (バッファリング) を行なうことができるので、 ホールド エラーの発生を確実に防止したクロックツリーを生成でき、 回路品質を 大幅に向上させることができる。
なお、 上述した第 1実施形態では、 ホールドエラ一を防止するように 数値化したものを評価値として用いているが、 評価値としては、 下記の 第 1〜第 5変形例として説明するものを用いることもできる。
〔 1 一 1〕 第 1実施形態の第 1変形例の説明
評価値算出ステップ S 5 1 3 (評価値算出部 5 4 2 ) で行なわれる評 価値算出処理の第 1変形例について、 図 7に示すフローチャート (ステ ップ A 1 1〜A 1 3 ) に従って説明する。
第 1実施形態の第 1変形例では、 セッ 卜アップエラ一を防止するよう に数値化した評価値を用いている。
ここで、 図 8 Aに示すように、 相互に接続される 2つの F F 5 0 2 A , 5 0 2 Bに対してクロック供給素子 5 0 1からクロック信号 C Kを供給 する場合に発生しうるセッ トアップエラーについて説明する。 図 9 A〜 図 9 Eに示すように、 F F 5 0 2 Aは、 クロック端子 C K 1に供給され るクロック信号の立ち上がりに応じて、 出力端子 Qからデータを出力す る。 'そして、 F F 5 0 2 Bは、 クロック端子 C K 2に供給されるクロッ ク信号の立ち上がりに応じて、 データ端子 Dから、 F F 5 0 2 Aからの データをホールドする。 このとき、 F F 5 0 2 Aからデータが出力され た後、 クロック端子 C K 2に供給されるクロック信号が立ち上がるまで の期間 T s 力 所定時間以上でない場合、 F F 5 0 2 Bで F F 5 0 2 A からのデータをホールドすることができない。 このようなエラ一をセッ トアップエラ一と呼ぶ。 セッ トアップエラーは、 F F 5 0 2 A , 5 0 2 B間のパス遅延が大きいほど、 発生しやすくなる。
セッ トアップエラーが発生する可能性が高い場合、 図 8 Bに示すよう に F F 5 0 2 A , 5 0 2 Bを別々のバッファ素子 5 0 3, 5 0 3により 駆動すると、 セッ トアップエラ一の発生を防止することができないが、 図 8 Cに示すように、 F F 5 0 2 A , 5 0 2 Bを同一のグループにマー ジして同一のバッファ素子 5 0 3により駆動すると、 セッ トアツプエラ 一の発生を防止することができる。
そこで、 第 1変形例では、 図 7に示すように、 ペアを成す被駆動素子 間のパス (回路) を論理情報に基づいて解析し (ステップ A 1 2 ) 、 パ ス遅延が大きい程、 即ちセッ トアップエラー発生可能性が高い程、 高い 評価値 (セッ 卜アップエラ一評価値) を算出し、 そのペアに与えている (ステップ A 1 3 ) 。 このような算出処理は、 全てのペアに対して行な われる (ステップ A 1 1で Y E S判定) 。
これにより、 高い評価値を付与されたペア (即ちセッ トアップエラ一 発生可能性が高いペア) は、 同一グループに属しやすくなるので、 セッ トアップエラーの発生防止につながる。 従って、 セッ トアップエラ一の 発生を確実に防止したクロックッリ一を生成でき、 回路品質を大幅に向 上させることができる。
〔 1 一 2〕 第 1実施形態の第 2変形例の説明
評価値算出ステップ S 5 1 3 (評価値算出部 5 4 2 ) で行なわれる評 価値算出処理の第 2変形例について、 図 1 0に示すフローチャート (ス テツプ A 2 1〜A 2 5 ) に従って説明する。
第 1実施形態の第 2変形例では、 ホールドエラ一およびセッ トアップ エラーを防止するように数値化した評価値を用いている。
つまり、 図 1 0に示すように、 ペアを成す被駆動素子間のパス (回 路) を論理情報に基づいて解析し (ステップ A 2 2 ) 、 パス遅延が小さ い程、 即ちホールドエラ一発生可能性が高い程、 高い評価値 (ホールド エラ一評価値) を算出するとともに (ステップ A 2 3 ) 、 パス遅延が大 きい程、 即ちセッ トアップエラー発生可能性が高い程、 高い評価値 (セ ッ トアップエラ一評価値) を算出する (ステップ A 2 4 ) 。 そして、 こ れら 2つの評価値を加算した値を、 そのペアの評価値として算出する
(ステップ A 2 5 ) 。 このような算出処理は、 全てのペアに対して行な われる (ステップ A 2 1で Y E S判定) 。
これにより、 高い評価値を付与されたペア (即ちホールドエラ一もし くはセッ トアップエラ一の発生可能性が高いペア) は、 同一グループに 属しやすくなるので、 ホールドエラ一およびセッ トアップエラ一の発生 防止につながる。 従って、 ホールドエラ一およびセッ トアップエラ一の 発生を確実に防止したクロックッリ一を生成でき、 回路品質を大幅に向 上させることができる。
〔 1 一 3〕 第 1実施形態の第 3変形例の説明
評価値算出ステップ S 5 1 3 (評価値算出部 5 4 2 ) で行なわれる評 価値算出処理の第 3変形例について、 図 1 1に示すフローチャート (ス テツプ A 3 1〜A 3 6 ) に従って説明する。
第 1実施形態の第 3変形例では、 ホールドエラ一を防止するとともに 配線長を低減するように数値化した評価値を用いている。
つまり、 図 1 1に示すように、 まず、 ペアを成す被駆動素子間のパス (回路) を論理情報に基づいて解析し (ステップ A 3 2 ) 、 パス遅延が 小さい程、 即ちホールドエラー発生可能性が高い程、 高い評価値 (ホ一 ルドエラ一評価値) を算出する (ステップ A 3 3 ) 。
ついで、 ペアを成す被駆動素子間の物理的距離を、 フロアプラン情報 または配置情報 (レイアウト情報, 物理情報) に基づいて解析し (ステ ップ A 3 4 ) 、 その物理的距離が近い程、 高い評価値 (距離評価値) を 算出する (ステップ A 3 5 ) 。
そして、 これら 2つの評価値を加算した値を、 そのペアの評価値とし て算出する (ステップ A 3 6 ) 。 このような算出処理は、 全てのペアに 対して行なわれる (ステップ A 3 1で Y E S判定)
これにより、 高い評価値を付与されたペア (即ち、 ホールドエラー発 生可能性が高いペアや物理的距離の近いペア) は、 同一グループに属し やすくなるので、 ホールドエラ一の発生防止および配線長の低減につな がる。
物理的距離を考慮しない場合、 例えば図 1 2 Aに示すように、 クロッ ク供給端子 5 0 1から F F 5 0 2へ至るクロックツリーは F F 5 0 2の 位置に関係なく形成されるため、 ク口ック信号線の配線長が極めて長く なる。 これに対し、 上述のごとく物理的距離を考慮した場合、 例えば図 1 2 Bに示すように、 近い位置に配置される F F 5 0 2を同一グループ として取り扱いながらクロックツリーが形成されるので、 クロック信号 線の配線長を低減することができる。
従って、 ホールドエラ一の発生を確実に抑えたクロックッリ一を生成 でき、 回路品質を大幅に向上させることができるほか、 レイアウトでク 口ックスキューを確実かつ容易に収束できるとともに、 配線長を短縮で き、 信号配分をより確実に最適化することができる。
〔 1一 4〕 第 1実施形態の第 4変形例の説明
評価値算出ステップ S 5 1 3 (評価値算出部 5 4 2 ) で行なわれる評 価値算出処理の第 4変形例について、 図 1 3に示すフローチャート (ス テツプ A 4 1〜A 4 6 ) に従って説明する。
第 1実施形態の第 4変形例では、 セッ トアップエラーを防止するとと もに配線長を低減するように数値化した評価値を用いている。 つまり、 図 1 3に示すように、 まず、 ペアを成す被駆動素子間のパス (回路) を論理情報に基づいて解析し (ステップ A 4 2 ) 、 パス遅延が 大きい程、 即ちセッ トアップエラ—発生可能性が高い程、 高い評価値 (セッ 卜アップエラ一評価値) を算出する (ステップ A 4 3 ) 。
ついで、 ペアを成す被駆動素子間の物理的距離を、 フロアプラン情報 または配置情報 (レイアウト情報, 物理情報) に基づいて解析し (ステ ップ A 4 4 ) 、 その物理的距離が近い程、 高い評価値 (距離評価値) を 算出する (ステップ A 4 5 ) 。
そして、 これら 2つの評価値を加算した値を、 そのペアの評価値とし て算出する (ステップ A 4 6 ) 。 このような算出処理は、 全てのペアに 対して行なわれる (ステップ A 4 1で Y E S判定) 。
これにより、 高い評価値を付与されたペア (即ち、 セッ トアップエラ 一発生可能性が高いペアや物理的距離の近いペア) は、 同一グループに 属しやすくなるので、 セッ 卜アップエラーの発生防止および配線長の低 減につながる。
従って、 セッ トアップエラーの発生を確実に抑えたクロックツリーを 生成でき、 回路品質を大幅に向上させることができるほか、 レイアウ ト でクロックスキューを確実かつ容易に収束できるとともに、 配線長を短 縮でき、 信号配分をより確実に最適化することができる。
〔 1 一 5〕 第 1実施形態の第 5変形例の説明
評価値算出ステップ S 5 1 3 (評価値算出部 5 4 2 ) で行なわれる評 価値算出処理の第 5変形例について、 図 1 4に示すフローチャート (ス テツプ A 5 1〜A 5 7 ) に従って説明する。
第 1実施形態の第 5変形例では、 ホールドエラーおよびセッ 卜アップ エラ一を防止するとともに配線長を低減するように数値化した評価値を 用いている。 つまり、 図 1 4に示すように、 まず、 ペアを成す被駆動素子間のパス (回路) を論理情報に基づいて解析し (ステップ A 5 2 ) 、 パス遅延が 小さい程、 即ちホールドエラー発生可能性が高い程、 高い評価値 (ホー ゾレドエラ一評価値) を算出するとともに (ステツプ A 5 3 ) 、 パス遅延 が大きい程、 即ちセッ トアップエラ—発生可能性が高い程、 高い評価値 (セッ トアップエラ一評価値) を算出する (ステップ A 5 4 ) 。
ついで、 ペアを成す被駆動素子間の物理的距離を、 フロアプラン情報 または配置情報 (レイアウト情報, 物理情報) に基づいて解析し (ステ ップ A 5 5 ) 、 その物理的距離が近い程、 高い評価値 (距離評価値) を 算出する (ステップ A 5 6 ) 。
そして、 これら 3つの評価値を加算した値を、 そのペアの評価値とし て算出する (ステップ A 5 7 ) 。 このような算出処理は、 全てのペアに 対して行なわれる (ステップ A 5 1で Y E S判定) 。
これにより、 高い評価値を付与されたペア (即ち、 ホールドエラーも しくはセッ トアップエラ一の発生可能性が高いペアや物理的距離の近い ペア) は、'同一グループに属しやすくなるので、 ホールドエラ一ゃセッ トアップエラーの発生防止につながるとともに、 配線長の低減につなが る。
従って、 ホールドエラ一ゃセッ トアップエラ一の発生を確実に抑えた クロックツリーを生成でき、 回路品質を大幅に向上させることができる ほか、 レイァゥトでクロックスキュ一を確実かつ容易に収束できるとと もに、 配線長を短縮でき、 信号配分をより確実に最適化することができ る
〔2〕 第 2実施形態の説明
図 1 5は本発明の第 2実施形態としての回路内信号線の最適化装置の 機能構成を示すブロック図であり、 この図 1 5に示すように、 第 2実施 形態の最適化装置も図 1に示した第 1実施形態の装置と同様に構成され ているが、 この第 2実施形態では、 C PU 5 4 0に、 バッファ段数調整 部 4 7としての機能が新たに追加されている。
このバッファ段数調整部 5 4 7は、 クロック供給素子 5 0 1から F F 5 0 2までの全ての経路上におけるセル段数が等しくなるようにバッフ ァ素子 5 0 3を挿入するものである。 ここで、 セルとしては、 ノ ッファ 素子 5 0 3のほか、 クロック系ネッ 卜に組み込まれる論理ゲートゃセレ クタなどが含まれる。
なお、 バッファ段数調整部 5 4 7としての機能は、 ハ一ドディスク, 磁気テープ, フロッピディスク, 光ディスク, 光磁気ディスク, C D— ROM等の記憶媒体から処理装置 (記憶部 5 3 0 ) にインストールされ た最適化プログラムを RAM等に読み出し、 そのプログラムを C P U 5 4 0で実行することにより、 C P U 5 4 0の動作として実現される。 次に、 上述のごとく構成された第 2実施形態の最適化装置による最適 化手順を図 1 6に示すフローチヤ一ト (ステップ S 5 1 1〜S 5 1 8 , S 5 2 1および S 5 2 2) に従って説明する。
図 1 6に示すように、 第 2実施形態では、 図 2に示したステップ S 5 1 1の前段にステップ S 5 2 1 , S 5 2 2が新たに追加されており、 ス テツプ S 5 1 6, S 5 1 7からステップ S 5 2 1に戻るようになつてい る。 ここでは、 新たに追加されたステップ S 5 2 1, S 5 2 2について のみ説明する。
つまり、 第 2実施形態では、 まず、 バッファ段数調整部 5 4 7におい て、 クロック供給素子 5 0 1から F F 5 0 2までの全ての経路上におけ るセル段数が等しいか否かを判断し (ステップ S 5 2 1 ) 、 等しい場合 (YE Sルート) には、 ステップ S 5 1 1へ移行して第 1実施形態と同 様の処理を行なう。 一方、 等しくない場合 (NOルート) には、 クロッ ク供給素子 5 0 1から F F 5 0 2までの全ての経路上におけるセル段数 が等しくなるようにバッファ素子 5 0 3を挿入した後 (バッファ段数調 整ステップ S 5 2 2 ) 、 ステップ S 5 1 1へ移行して第 1実施形態と同 様の処理を行なう。
例えば図 1 Ί Aに示すように、 論理ゲ一トゃセレクタ等のセル 5 0 4 が組み込まれるためにクロック供給素子 5 0 1から F F 5 0 2までの経 路上におけるセル段数が等しくない場合、 上述したステップ S 5 2 1 , S 5 2 2の処理を追加して行なうことにより、 図 1 7 Bに示すごとく、 バッファ素子 3が挿入され、 クロック供給素子 5 0 1から F F 5 0 2ま での全経路上でのセル段数を等しくすることができる。
このように、 本発明の第 2実施形態によれば、 第 1実施形態と同様の' 作用効果が得られるほか、 クロック供給素子 5 0 1から F F 5 0 2まで の全経路上におけるセル段数が等しくなるため、 F F 5 0 2でのクロッ クスキューをより確実に低減でき、 クロック配分をより確実に最適化す ることができる。 · 〔3〕 第 3実施形態の説明 '
図 1 8は本発明の第 3実施形態としての回路内信号線の最適化装置の 機能構成を示すブロック図であり、 この図 1 8に示すように、 第 3実施 形態の最適化装置も図 1に示した第 1実施形態の装置と同様に構成され ているが、 この第 3実施形態では、 C P U 5 4 0に、 挿入バッファ見積 り部 5 4 8および挿入バッファ選定部 5 4 9としての機能が新たに追加 されている。
挿入バッファ見積り部 5 4 8は、 判断部 5 4 1により、 クロック供給 素子がファンアウト制約を満足しないと判断され、 且つ、 バッファサイ ジングを行なっただけではクロック供給素子がフアンァゥ ト制約を満足 しないと判断された場合、 負荷容量や被駆動素子数に基づいて、 揷入す べきバッファ素子の段数を見積もるものである。
また、 挿入バッファ選定部 5 4 9は、 挿入バッファ見積り部 5 4 8に より 2段以上のバッファ素子の挿入が必要であると見積もられた場合に、 図 2 0 Bに示すごとく、 バッファ揷入部 5 4 5により挿入するバッファ 素子としてインバー夕バッファ素子 5 0 5を選定し、 偶数段連続でイン バ―タバッファ素子 5 0 5を挿入するように指示するものである。
なお、 これらの揷入バッファ見積り部 5 4 8および挿入バッファ選定 部 5 4 9としての機能も、 ハ一ドディスク, 磁気テープ, フロッビディ スク, 光ディスク, 光磁気ディスク, C D— R O M等の記憶媒体から処 理装置 (記憶部 5 3 0 ) にインストールされた最適化プログラムを R A M等に読み出し、 そのプログラムを C P U 5 4 0で実行することにより、 C P U 5 4 0の動作として実現される。
次に、 上述のごとく構成された第 3実施形態の最適化装置による最適 化手順を図 1 9に示すフローチヤ一ト (ステップ S 5 1 1〜S 5 1 8, S 5 3 1および S 5 3 2 ) に従って説明する。
図 1 9に示すように、 第 3実施形態では、 図 2に示したステップ S 5 1 2とステップ S 5 1 3との間にステップ S 5 3 1 , S 5 3 2が新たに 追加されている。 ここでは、 新たに追加されたステップ S 5 3 1 , S 5 3 2についてのみ説明する。
つまり、 第 3実施形態では、 クロック供給素子 5 0 1がファンァゥト 制約を満足しないと判断され (ステップ S 5 1 1の N Oルート) 、 且つ、 ノ ッフアサイジングを行なっただけではクロック供給素子 5 0 1がファ ンァゥト制約を満足しないと判断された場合 (ステップ S 5 1 2の N O ルート) 、 挿入バッファ見積り部 5 4 8により、 負荷容量や被駆動素子 数に基づいて、 挿入すべきバッファ素子の段数を見積もる (ステップ S 5 3 1 ) そして、 挿入バッファ見積り部 5 4 8により 2段以上のバッファ素子 の挿入が必要であると見積もられた場合には、 挿入バッファ選定部 5 4 9により、 バッファ揷入部 5 4 5で挿入すべきバッファ素子としてィン バータバッファ素子 5 0 5を選定し、 偶数段連続でインバータバッファ 素子 5 0 5を挿入するように指示する (ステップ S 5 3 2 ) 。 なお、 奇 数段のバッファ素子の挿入が必要であると見積もられた場合には、 1段 だけ通常の TRUEバッファ素子 5 0 3を選定して揷入する。 この後、 ステ ップ S 5 1 3へ移行して第 1実施形態と同様の処理を行なう。
例えば図 2 0 Aに示すような回路に対し、 上述したステップ S 5 3 1 , S 5 3 2の処理を追加して行なった場合、 図 2 0 Bに示すごとく、 2段 以上のバッファ素子を揷入すべき部分では、 2段連続してィンバ一タバ ッファ素子 5 0 5が揷^される。
このように、 本発明の第 3実施形態によれば、 第 1実施形態と同様の 作用効果が得られるほか、 第 2実施形態と同様、 クロック供給素子 5 0 1から F F 5 0 2までの全経路上でのセル段数を等しくすることができ るほか、 インバ一タバッファ素子 5 0 5の方が、 通常の TRUEバッファ素 子 5 0 3よりもクロック信号の立ち上がりがより明確になる傾向を有し ているため、 通常の TRUEバッファ素子 5 0 3のみを用いてバッフアリン グを行なった場合よりも、 クロック信号による回路動作の信頼性をより 高めることができる。
〔4〕 第 4実施形態の説明
図 2 1は本発明の第 4実施形態としての L S I レイァゥト方法 (回路 設計方法) の概略を説明するためのフローチヤ一トである。 図 5 0に示 した従来例と同様に、 本発明の実施形態においても、 L S I レイアウト は、 論理設計段階 S 1 1と、 クロックレイァゥト段階 S 1 2と、 クロッ ク信号線以外の通常ネッ 卜の配線段階 S 1 3とから成る。 論理設計段階 S 1 1は、 論理合成のステップ S 1 1 1と、 本発明によ り導入されたフロアプランを利用するステップ S 1 1 2 と、 クロックッ リ一生成のステップ S 1 1 3とから成る。
論理合成のステップ S 1 1 1では、 従来と同様に、 L S Iを構成する 素子のレジスタ · トランスファ · レベル (R T L ) で記述されたハ一ド ウェア記述言語 (H D L ) を、 レイアウ ト可能な論理に合成して、 各々 が複数のフリ ップフロップセルからなる複数のモジュールを配置した第 1のネッ トリスト ( 1 ) を作成する。
フロアプランの利用ステップ S 1 1 2では、 第 1のネッ トリスト ( 1 ) 上のモジュールをフロアプランに従って配線長が短くなるようにォ ペレ一夕が再配置し、 その結果をフロアプラン情報ファイル 1 0に格納
"9 Ό o
次に、 ステップ S 1 1 3にて、 フロアブラン情報ファイル 1 0に格納 されているフロアブラン情報に基づいて、 フロアブランを考慮し且つク ロックソースから末端のフリップフ口ップセルまでの間のバッファ段数 を最高のバッファ段数に調整したクロックッリ一生成を行なつて第 2の ネッ トリスト (2 ) を作成する。 第 2のネッ トリスト (2 ) にはクロッ クツリーに接続されたモジュール (フロアプランブロックともいう) と ノ ッファセルとが含まれている。 第 2のネッ トリスト (2 ) に基づいて クロックツリーに接続されるセルの接続関係の論理をデータべ一ス 2 6 7 (図 4 6参照) に格納しておく。
次に、 第 2のネッ トリスト ( 2 ) とフロアブラン情報とをクロックレ ィァゥ ト段階 S 1 2で用いる。
クロックレイアウ ト段階 S 1 2では、 まず、 ステップ S 1 2 1で第 2 のネッ トリスト (2 ) からクロックパスを抽出する。
次に、 ステップ S 1 2 2にて、 フロアブラン情報を用いて、 且つ、 ス テツプ S 1 2 1で抽出したクロックパスを無視して、 データ線に接続さ れるフリップフロップセルのみの初期配置を行なう。
次に、 ステップ S 1 2 3にて、 クロック信号を入出力するバッファセ ル (以下、 クロックバッファセルともいう) のボトムアップ配置を、 図 5 0のステップ S 2 8 3で示した従来手法と同様にして行なう。
次に、.ステップ S 1 2 4にて、 図 2 5〜図 3 5を用いて後述するクロ ックッリ一最終段ネッ トの再構成処理を行なう。
次に、 ステップ S 1 2 5にて、 クロックバッファセルをもう一度ボト ムアツプ酉己置し、 ステップ S 1 2 6にて、 そのバッファセルの配置から フリップフロップセルの配置制限領域 (図 3 8参照) を生成し、 生成さ れた配置制御領域を配置制限領域情報ファイル 1 2に出力する。
次に、 ステップ S 1 2 7にて、 フリップフロップセルのかたまりに関 するクラスタ情報を作成し (図 3 9参照) 、 作成されたクラスタ情報を 第 1のクラスタ情報ファイル 1 4に出力する。
次に、 ステップ S 1 2 8にて、 先に作成したフリップフ口ップの配置 制限領域情報と、 クラスタ情報とをコンピュータに入力し、 バッファセ ル以外のセルの再配置処理を行なう (図 4 0参照) 。
次に、 ステップ S 1 2 9にて、 ステップ S 1 2 8における再配置の結 果に基づいて、 フリップフロップセルと各バッファセルについてクラス タ情報を生成し (図 4 1参照) 、 生成されたクラスタ情報を第 2のクラ スタ情報ファイル 1 6に出力する。
次に、 ステップ S 1 3 0にて、 第 2のクラスタ情報ファイルの内容を コンピュータに入力し、 クロックネッ 卜の特殊配線、 即ち、 クラスタ内 配線 (図 4 3参照) と、 ルート配線 (図 4 4参照) を行なう。 ここまで の処理で、 全てのセルの配置処理、 およびクロックパスの配線が完了し ている。 次に、 ステップ S 1 3で、 残った通常ネッ 卜の配線を行ないレイァゥ トを完了し、 最終的に得られたレイァゥト結果をレイァゥト結果フアイ ル 2 0に出力する。
なお、 ステップ S 1 2 4におけるクロックッリ一最終段ネッ トの再構 成により、 レイアウトデータベースの論理は変更しているので、 ステツ プ S 1 3 1にて、 先に作成しておいた論理変更コマンドファイル 1 8の 内容に基づいて第 2のネッ トリスト (2 ) の内容の変更処理を行ない、 データベース 2 6 7上の論理と一致する論理をもつ第 3のネッ トリスト
' ( 3 ) を作成している。
図 2 2は、 図 2 1におけるステップ S 1 1 3の処理内容の詳細を説明 するためのフローチヤ一トである。
この図 2 2において、 ステップ S 2 1でフロアプラン情報ファイル 1
0の内容をコンピュー夕に入力し、 ステップ S 2 2にて、 第 1のネッ ト リスト (1 ) に対してこのフロアプラン情報を考慮したバッファリング を行なう (図 2 3参照) 。
次いで、 ステップ S 2 3で、 バッファセルが配置された第 1のネッ ト リス卜内の最大のモジュール内の、 クロックソースと末端のフリップフ 口ップとの間のバッファ段数の中で最大のバッファ段数を調べる。 そし て、 ステップ S 2 4で、 最大バッファ段数よりも小さいバッファ段数を 含むクロックパス上のバッファセルの数が最大バッファ段数に等しくな るようにバッファセルを配置して、 バッファ段数の調整処理を行なう (図 2 4参照) 。 これにより、 クロックソースから末端のフリップフロ ップの全てに至る信号伝播遅延時間が等しくなるので、 クロックスキュ
—を抑えることができる。
図 2 3はフロアプラン情報を考慮したバッファリ ングを行なった後の クロックツリーを示しており、 3 1は半導体チップ、 3 2— 1〜 3 2— 5は、 それぞれ、 1個のバッファセルにより駆動されるモジュール (フ ロアプランブロックともいう) であり、 それぞれのモジュールは複数の フリップフ口ップセル (図 2 3においては図示を省略してある) を含ん でいる。 図 2 3において、 各モジュール内のバッファセル 3 3 - 1— 3 3 — 4は、 モジュール内のフリップフロップセルを駆動するバッファセ ルを代表して示されている。 図 2 2におけるステップ S 2 2のバッファ リングにより、 接近したモジュ一ルを共通のクロックバッファで駆動す るようにしている。 図 2 3においては、 接近している 2つのモジュール 3 2 — 1と 3 2 — 2を共通に駆動するようにバッファセル 3 4を配置し、 同様に接近している 2つのモジュール 3 3 — 3と 3 3 — 4を共通に駆動 するようにバッファセル 3 5を配置している。 この結果、 図 6 2に示し た従来例と比較してフロアプランブロックを駆動するネッ ト 3 6が短く なる。
図 2 4は図 2 2のステップ S 2 4によるバッファ段数の調整結果を説 明するための図である。 この図 2 4において、 4 1は大モジュール、 4 2〜 4 4は小モジュール、 4 5はクロックソース、 4 6〜 4 8はフリツ プフロップセル、 4 9〜5 5はバッファセルである。 ステップ S 2 4に より、 ノ ッファセル 5 0が追加されている。 これにより、 クロックソ一 ス 4 5と末端のフリップフロップセル 4 6との間のバッファ段数、 クロ ックソース 4 5と末端のフリップフ口ップセル 4 7との間のバッファ段 数、 およびクロックソース 4 5と末端のフリップフロップセル 4 8との 間のバッファ段数が等しくなり、 従って、 その間の信号遅延時間は等し くなる。
図 2 5は図 2 1のステップ S 1 2 4の詳細を説明するためのフローチ ヤートであり、 この図 2 5において、 まず、 ステップ S 5 1にて、 図 2 1にステップ S 1 2 3でクロックバッファのボトムアップ配置を終了し たネッ トリストからクロックッリ一最終段ネッ トを抽出し、 次に、 ステ ップ S 5 2にて抽出したネッ トのネッ ト範囲を調べる。 そして、 ステツ プ S 5 3でネッ ト範囲領域が重なっているネッ トを検索し、 重なってい るネッ 卜がなければ (ステップ S 5 4の N Oルート) 、 処理を終了して 図 2 1のステップ S 1 2 5に進む。 重なっているネッ トがあれば (ステ ップ S 5 4の Y E Sルート ;図 2 6参照) 、 ステップ S 5 6で重なつて いるネッ トどうしをマージ (併合) する (図 2 8参照) 。 次いで、 ステ ップ S 5 7で、 併合したネッ トをネッ ト範囲が重ならないように分割し (図 3 1参照) ステップ S 5 8で、 分割されたネッ 卜の各々にバッフ ァセルを割り当て (図 3 2参照) 、 ステップ S 5 9で、 割り当てたバッ ファセルをそれぞれのネッ 卜の中心に仮配置する (図 3 4参照) 。 これ をバッファの仮想配置という。 次いで、 ステップ S 6 0で論理変更情報 を論理変更コマンドとして論理変更コマンドファイル 1 8に出力する。 次に、 再び、 ステップ S 5 2のネッ ト範囲を調べる処理に戻り、 ネッ ト 範囲の重なりが無くなるまで処理を続ける。
図 2 6ほ図 2 5のステップ S 5 4の判断で重なるネッ 卜がある場合の 最終段ネッ 卜のネッ ト範囲を示す図である。 この図 2 6において、 6 1 はバッファセル B u f 1が駆動するネッ トの範囲を示し、 6 2はバッフ ァセル B u f 2が駆動するネッ 卜の範囲を示す。 ネッ ト範囲 6 1と 6 2 とは図示のように重なっている部分がある。 図示例では、 ネッ ト範囲 6 1内にはフリ ップフロップセル 1 6が存在しており、 ネッ ト範囲 6 2 内にはフリップフ口ップセル 7 1 2が存在している。
図 2 7は図 2 6に示したネッ ト範囲のクロックネッ トの論理を説明す るための図である。 この図 2 7に示すように、 クロックツリーの再構成 前では、 ッファセル B u f 1によってフリップフ口ップセル 1 6力 駆動され、 ッファセル B u f 2によってフリ ップフロップセル?〜 1 2が駆動される。
図 2 8は図 2 5のステップ S 5 6のネッ 卜のマージを示す図である。 この図 2 8に示すように、 図 2 6に示したネッ 卜範囲 6 1および 6 2が 併合されてフリップフ口ップセル 1 1 2とバッファセル B u f 1およ び B u f 2の全てが、 1つのネッ ト範囲 8 1内に収容されている。
図 2 9は図 2 8に示したネッ ト範囲のクロックネッ トの論理を説明す るための図である。 この図 2 9に示すように、 ネッ ト範囲のマージ後は フリップフロップセル 1 1 2を駆動するバッファセルが B u f 1およ び B u f 2のいずれであるかが不定となっている。
図 3 0および図 3 1は図 2 5のステップ S 5 7のネッ 卜の分割処理を 説明するための図である。 これらの図 3 0および図 3 1に示すように、 図 2 8の併合ネッ ト 8 1は、 ネッ 卜範囲が重ならないネッ ト 1 0 1と 1 0 2とに分割され、 ネッ ト 1 0 1にはフリップフロップ 1 2 3 7 8 9が含まれるとともに、 ネッ ト 1 0 2にはフリップフロップ 4 5 6 1 0 , 1 1 1 2が含まれている。 そして、 ネッ ト 1 0 1はバッフ ァセル B u f 1により駆動され、 ネッ ト 1 0 2はバッファセル B u f 2 により駆動される。
図 3 2は図 2 5のステップ S 5 8のバッファ割当を説明するための図 である。 この図 3 2に示すように、 ッファセル B u d f 1はネッ ト 1 0 1を駆動するように割り当てられており、 バッファセル B u f 2はネ ッ ト 1 0 2を駆動するように割り当てられている。
図 3 3は図 3 2に示したようにバッファセルを割り当てた後のクロッ クネッ 卜の論理を説明するための図である。 この図 3 3に示すように、 ッファセル B u f 1はネッ ト 1 0 1内のフリップフロップ 1 , 2 , 3 , 7 , 8 , 9に接続されてこれらを駆動し、 バッファ B u f 2はネッ ト 1 0 2内のフリップフロップ 4 , 5 , 6 1 0 , 1 1 , 1 2に接続されて これらを駆動する。 なお、 このようにクロックツリーの論理を変更して もよいバッファセルは、 " 0 " の入力に応じて " 0 " を出力し、 " 1 " の入力に応じて " 1 " を出力するトウル一系のバッファセルである。' 図 3 4は図 2 5のステップ S 5 9のバッファセルの仮想配置を示す図 である。 この図 3 4に示すように、 ノ ッファセル B u f 1はネッ ト 1 0 1の中央部に配置されており、 ノ ソファセル B u f 2はネッ ト 1 0 2の 中央部に配置されている。
図 3 5は図 2 1のステップ S 1 2 6の配置制限領域生成を説明するた めの図である。 この図 3 5に示すように、 図 3 4に示したネッ ト 1 0 1 内のバッファセル B u f 1を中心としてネッ ト 1 0 1内のフリップフ口 ップセルができるだけ多く入る菱形の配置制限領域 1 5 1が生成され、 同様に、 ネッ ト 1 0 2内のバッファセル B u f 2を中心としてネッ ト 1 0 2内のフリップフロップセルができるだけ多く入る菱形の配置制限領 域 1 5 2が生成される。 配置制限領域の大きさは中心から辺までの距離 が設計対象の L S Iの設計上で規定されたル一ト長の範囲にあればよい c こうして形成された配置制限領域の情報は配置制限領域情報ファイル 1 2 (図 2 1参照) に格納される。
図 3 6は図 2 1のステップ S 1 2 8の再配置処理の詳細を説明するた めのフローチャートである。 この図 3 6において、 まず、 ステップ S 1 6 1でクロックツリーの最終段ネッ トを 1つ抽出する。
次いで、 ステップ S 1 6 ' 2で、 配置制限領域情報ファイル 1 2 (図 2 1参照) の内容を読み込み、 フリップフロップセルに対する配置制限領 域 (図 3 7の菱形領域) を設定する。
次に、 ステップ S 1 6 3で、 第 1のクラスタ情報ファイル 1 4を読み 込み、 クラスタでグループ化したフリップフロップ間に仮想ネッ トを作 成する (図 3 8参照) 。 次に、 ステップ S 1 6 4で、 作成した仮想ネッ ト情報に対し、 通常ネ ッ 卜内のセル間接近度よりも大きいセル間接近度を設定する。 即ち、 配 置制限領域内に仮想ネッ 卜を閉じ込める。
ステップ S 1 6 1〜ステップ S 1 6 4の処理を、 全てのクロックッリ 一最終段ネッ トについて行ない (ステップ S 1 6 5の N Oル一卜からス テツプ S 1 6 6を経由してステップ S .1 6 1へ戻る) 、 全ての最終段ネ ッ 卜についての処理が終了すると (ステップ S 1 6 5の Y E Sル一ト) 、 ステップ S 1 6 7で配置制限領域とセル間接近度とを制約としてフリツ プフ口ップセルの再配置処理を実行することにより再配置処理を終了す る。
図 3 7は図 3 6のステップ S 1 6 2で設定されたフリップフ口ップセ ルの配置制限領域情報を説明するための図である。 この図 3 7において、 1 7 1はバッファセル、 1 7 2はバッファセル 1 7 1により駆動される 多数のフリップフ口ップセル、 1 7 3はフリップフ口ップセルの配置制 限領域である。 この配置制限領域は図 3 5に示したものと同じである。 図 3 8は図 3 6のステップ S 1 6 3で作成された仮想ネッ トを示す図 である。 この図 3 8に示すように、 クラスタ情報に基づいて図 3 7に示 したフリップフロップセル 1 7 2を複数のクラスタ C L 1〜C L 6にグ ループ化し、 各グループにおいてセル間を仮想的に接続して仮想ネッ ト が作成される。
図 3 9は図 3 6のステップ S 1 6 7における仮想ネッ 卜の再配置処理 を説明するための図である。 この図 3 9に示すように、 クラスタ C L 1 〜C L 6は配置制限領域 1 7 3内に閉じ込められている。
図 4 0は図 3 9に示したクラスタの再配置後に図 2 1のステップ S 1 2 9によりセ,ル間の接近度をさらに大きく して生成した第 2のクラスタ 情報を説明するための図である。 この図 4 0に示すように、 第 2のクラ スタ情報は、 図 3 9に示した再配置されたクラスタ C L 1〜C L 6内の フリップフロップセル間の配線長がさらに短くなるようにクラスタ C L 1〜C L 6を再生成することにより得られる。 この第 2のクラスタ情報 は第 2のクラスタ情報ファイル 1 6に格納しておく。
図 4 1は図 2 1のステップ S 1 3 0におけるクロックネッ 卜の特殊配 線処理の詳細を説明するためのフローチャートである。 この図 4 1にお いて、 ステップ S 2 1 1では、 1クロックネッ トを抽出し、 ステップ S 2 1 2では第 2のクラスタ情報ファイル 1 6の内容を読み込み、 ステツ プ S 2 1 3では、 入力したクラスタ情報に基づいて、 クラスタ内配線を 行なう。 ステップ S 2 1 4ではバッファセルからクラスタ配線までのル ―ト配線を行なう。 ステップ S 2 1 5では、 全てのクロックネッ トにつ いて処理が終了しているか否かを判断し、 終了していない場合はステツ プ S 2 1 6で次のクロックネッ トについてステップ S 2 1 1〜S 2 1 4 を繰り返す。 ステップ S 2 1 5で全てのクロックネッ 卜について処理が 終了している場合には、 この特殊配線の処理を終了する。
図 4 2は図 4 1のステップ S 2 1 3のクラスタ内配線処理を説明する ための図である。 この図 4 2に示すように、 図 4 0に示した第 2のクラ スタ情報に基づいて、 クラスタ C L 1〜C L 6のそれぞれの内部に、 図 5 8にて説明した従来の横方向に延びるクラスタバーを用いることなく、 配線 2 2 1〜2 2 6が自動的に施されている。 この段階では、 バッファ セル 2 2 7には配線が施されている。
図 4 3は図 4 1のステップ S 2 1 4のル一ト配線処理を説明するため の図である。 この図 4 3に示すように、 図 4 2のクラスタ配線 2 2 1〜 2 2 6とノヽソファセル 2 2 7とが、 ル一卜配線 2 3 1〜2 3 6によりそ れぞれ接続されている。
以上の説明では、 フリップフロップセルのバッファセルとの接続方法 を説明してきたが、 同様の手法をバッファセルどうしの接続にも適用す る
図 4 4はバッファ間ネッ 卜のクラスタ配線とルート配線の結果を示す 図である。 この図 4 4において、 C L l a C L 2 a , C L 3 aはそれ ぞれ複数のバッファセルを含むクラスタであり、 クラスタ C L l a内の ッファセル 2 4 1 , クラスタ C L 2 a内のバッファセル 2 .4 2 2 4 3 , およびクラスタ C L 3 a内のバッファセル 2 4 4は、 ッファセル 2 4 5により駆動される。 バッファセル 2 4 5と、 各クラスタ C L 1 a , C L 2 a , C L 3 aとはそれぞれ 1本のルート配線 2 4 6 2 4 7 , 2 4 8で接続されている。 この結果、 クラスタ内にバッファセル 2 4 5に より駆動されるべき複数のバッファセルが存在していても、 図 6 1に示 した従来例のような複数の配線による配線の混雑という問題を回避する ことができる。
以上のステツプ S 2 1 1 S 2 1 4の配線処理を全てのクロックネッ 卜について行ない、 クロックネッ 卜の配線処理を完了させる。 図 2 1の ステップ S 1 3 0までの処理により、 全てのセル配置とクロックツリー の配線が完了し、 最後にクロックネッ ト以外の通常ネッ ト配線を行ない、 レイアウトを完了する。
図 4 5は、 図 2 1のステップ S 1 2 2において、 クロックネッ トを無 視しながらフリップフ口ップセルの初期配置を行なう場合について説明 するための図である。 この図 4 5において、 2 5 1 2 5 4はフリップ フロップ、 2 5 5および 2 5 6はクロックバッファセル、 2 5 7はクロ ックバッファセルとフリップフロップセルとを接続するクロックネッ ト、 2 5 8はフリップフロップセルを接続するデータパスネッ トである。 フ リップフロップの初期配置において、 本発明の実施形態により、 クロッ クネッ トを無視し、 データパスネッ トのみに着目してフリップフロップ セルを配置することにより、 図 6 5に示した従来技術における問題を回 避して、 データパスネッ 卜の経路を短く し、 且つ、 配線混雑度を下げる ことができる。 なお、 この場合は、 クロックネッ トは、 図 2 1のステツ プ S 1 2 4におけるクロックッリ一の再構成の処理において、 配線混雑 度を緩和することができる。
図 4 6は本発明による方法を実施するためのコンピュータシステムの 構成を示すブロック図である。 この図 4 6において、 バス 2 6 0に中央 処理装置 (C P U ) 2 6 1 , C D— R O Mドライブ 2 6 2 , キーボード 2 6 3, ディスプレイ 2 6 4 , ノヽ一ドディスク 2 6 5 , メモリ 2 6 6 , データベース 2 6 7が接続されている。 図 2 1に示したフローチヤ一ト を含む本発明による L S I レイァゥト用プログラムは、 ハ一ドディスク に予め格納しておいても、 C D— R O Mに図 2 1に示したフローチヤ一 トを含む L S I レイァゥト用プログラムを格納し、 そのプログラムを C D - R O Mドライブ 2 6 2からハ一ドディスク 2 6 5にィンストールす るようにしてもよい メモリ 2 6 6には、 図 2 1のフローチャートで説 明したフロアプラン情報, 配置制限領域情報, 第 1のクラスタ情報, '第 2のクラスタ情報, 第 1〜第 3のネッ トリストが格納される。
オペレータは、 ディスプレイ 2 6 4上の画面を見ながら、 キ一ボード 2 6 3を操作することにより、 図 2 1のフローチャートに従って L S I レイアウトを行なう。
〔5〕 その他
なお、 本発明は上述した実施形態に限定されるものではなく、 本発明 の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、 上述した第 1〜第 3実施形態では、 ツリー状のクロック系ネ y トを生成する場合について説明したが、 本発明は、 これに限定される ものではなく、 回路全般に応用可能である。 また、 第 1〜第 4実施形態で説明した全ての機能をあわせもつように、 もしくは、 第 1〜第 4実施形態で説明した機能のうちの少なくとも 2つ をあわせもつように、 装置を構成してもよく、 いずれの場合も、 各実施 形態において上述した作用効果を得ることができる。 産業上の利用可能性
以上のように、 本発明によれば、 複数の素子や被駆動素子が、 グルー プ間で素子数や負荷容量が同一もしくは略同一になるように分割される ので、 ツリー状信号線による信号分配は、 これらのグループ間でうまく バランスされることになる。 これにより、 信号供給源から各素子への信 号の遅延を最適化してスキューを確実に低減でき、 高速化要求に対応可 能な回路の設計を実現することができる。
従って、 本発明は、 V L S I等の集積回路を設計するに際し、 信号供 給源から各素子への信号の遅延やスキュ一を最適化するために用いて好 適であり、 その有用性は極めて高いものと考えられる。

Claims

請 求 の 範 囲
1 . 信号供給源と該信号供給源から信号を供給される複数の素子とを有 する回路を設計するに際し、 該信号供給源と該複数の素子との間を結ぶ 信号線による信号分配を最適化するための方法であって、
該信号供給源が、 被駆動素子である該複数の素子の全てに対し信号を 直接的に供給するとファンァゥト制約を満足するか否かを判断する判断 ステップ (S 5 1 1 ) と、
前記判断ステップ (S 5 1 1 ) で該信号供給源がファンァゥト制約を 満足しないと判断された場合、 該被駆動素子を、 ファンアウ ト制約を満 足するように、 且つ、 負荷容量が同一もしくは略同一になるように、 複 数のグループに分割する分割ステップ (S 5 1 4 ) と、
前記分割ステップ (S 5 1 4 ) で分割されたグループ毎に、 ファンァ ゥト制約を満足するサイズのバッファ素子を挿入するバッファ揷入ステ ップ (S 5 1 5 ) とを順次実行し、
前記判断ステップ (S 5 1 1 ) において、 前記バッファ挿入ステップ ( S 5 1 5 ) で挿入された該バッファ素子を被駆動素子として扱い、 該 信号供給源が該被駆動素子の全てに対し信号を直接的に供給するとファ ンァゥト制約を満足するか否かを判断し、
前記判断ステップ (S 5 1 1 ) で該信号供給源がファンァゥト制約を 満足すると判断されるまで、 前記の分割ステップ (S 5 1 4 ) およびバ ッファ挿入ステップ (S 5 1 5 ) を繰り返し実行することを特徵とする、 回路内信号線の最適化方法。
2 . 前記判断ステップ (S 5 1 1 ) で該信号供給源がファンァゥト制約 を満足すると判断された場合、 該信号供給源から該複数の素子に至るま での遅延を解析し、 バッファ素子の揷入ノ削除ゃバッファサイズ変更や 前記グループに属する被駆動素子の変更によって該信号線による信号分 配を最適化する最適化ステップ (S 5 1 8 ) を実行することを特徵とす る、 請求の範囲第 1項記載の回路内信号線の最適化方法。
3 . 前記判断ステップ (S 5 1 1 ) で該信号供給源がファンアウ ト制約 を満足しないと判断された場合、 該被駆動素子の全ペアについて、 回路 品質の向上要因に基づいて評価値をそれぞれ算出する評価値算出ステツ プ (S 5 1 3 ) を実行し、
前記分割ステップ (S 5 1 4 ) において、 ファンァゥ ト制約を満足す るペアのうち、 前記評価値算出ステップ (S 5 1 3 ) で算出された評価 値が最大であるペアから順に同一グループに所属させるように、 該被駆 動素子を分割することを特徴とする、 請求の範囲第 1項記載の回路内信 号線の最適化方法。
4 . 前記判断ステップ (S 5 1 1 ) で該信号供給源がファンァゥ ト制約 を満足しないと判断された場合、 該被駆動素子の全ペアについて、 回路 品質の向上要因に基づいて評価値をそれぞれ算出する評価値算出ステツ プ (S 5 1 3 ) を実行し、
前記分割ステップ (S 5 1 4 ) において、 ファンアウ ト制約を満足す るペアのうち、 前記評価値算出ステップ (S 5 1 3 ) で算出された評価 値が最大であるペアから順に同一グループに所属させるように、 該被駆 動素子を分割することを特徵とする、 請求の範囲第 2項記載の回路内信 号線の最適化方法。
5 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被駆 動素子間の回路を解析し、 当該ペアのホールドエラ一発生可能性が高い 程大きくなるホールドエラ一評価値を、 当該ペアについての前記評価値 として算出す έことを特徴とする、 請求の範囲第 3項記載の回路内信号 線の最適化方法。
6 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被駆 動素子間の回路を解析し、 当該ペアのホールドエラ一発生可能性が高い 程大きくなるホールドエラ一評価値を、 当該ペアについての前記評価値 として算出することを特徴とする、 請求の範囲第 4項記載の回路内信号 線の最適化方法。
7 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被駆 動素子間の回路を解析し、 当該ペアのセッ トアップエラ一発生可能性が 高い程大きくなるセッ トアップエラー評価値を、 当該ペアについての前 記評価値として算出することを特徵とする、 請求の範囲第 3項記載の回 路内信号線の最適化方法。
8 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被駆 動素子間の回路を解析し、 当該ペアのセッ トアップエラー発生可能性が 高い程大きくなるセッ トアップエラ一評価値を、 当該ペアについての前 記評価値として算出することを特徵とする、 請求の範囲第 4項記載の回 路内信号線の最適化方法。
9 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被駆 動素子間の回路を解析し、 当該ペアのホールドエラ一発生可能性が高い 程大きくなるホールドエラ一評価値と、 当該ペアのセッ小アップエラ一 発生可能性が高い程大きくなるセッ 卜アップエラー評価値とを算出し、 前記のホールドエラ一評価値とセッ トアップエラ一評価値との加算値を、 当該ペアについての前記評価値として算出することを特徵とする、 請求 の範囲第 3項記載の回路内信号線の最適化方法。
1 0 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の回路を解析し、 当該ペアのホールドエラ一発生可能性が高 い程大きくなるホールドエラ一評価値と、 当該ペアのセッ トアップエラ —発生可能性が高い程大きくなるセッ トアップエラ一評価値とを算出し、 前記のホールドエラ一評価値とセッ トアップエラ一評価値との加算値を、 当該ペアについての前記評価値として算出することを特徵とする、 請求 の範囲第 4項記載の回路内信号線の最適化方法。
1 1 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、'当該ペアのホールドエラ一発生可能性 が高い程大きくなるホールドエラ一評価値とを算出し、 前記の距離評価 値とホールドエラ一評価値との加算値を、 当該ペアについての前記評価 値として算出することを特徵とする、 請求の範囲第 3項記載の回路内信 号線の最適化方法。
1 2 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、 当該ペアのホールドエラ一発生可能性 が高い程大きくなるホールドエラ一評価値とを算出し、 前記の距離評価 値とホールドエラ一評価値との加算値を、 当該ペアについての前記評価 値として算出することを特徴とする、 請求の範囲第 4項記載の回路内信 号線の最適化方法。 '
1 3 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、 当該ペアのセッ トアップエラ一発生可 能性が高い程大きくなるセッ トアップエラー評価値とを算出し、 前記の 距離評価値とセッ トアップエラ 評価値との加算値を、 当該ペアについ ての前記評価値として算出することを特徴とする、 請求の範囲第 3項記 載の回路内信号線の最適化方法。
1 4 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、 当該ペアのセッ トアップエラ一発生可 能性が高い程大きくなるセッ トアップエラー評価値とを算出し、 前記の 距離評価値とセッ トアップエラ一評価値との加算値を、 当該ペアについ ての前記評価値として算出することを特徵とする、 請求の範囲第 4項記 載の回路内信号線の最適化方法。
1 5 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、 当該ペアのホールドエラ一発生可能性 が高い程大きくなるホールドエラ一評価値と、 当該ペアのセッ トアップ エラー発生可能性が高い程大きくなるセッ 卜アップエラ一評価値とを算 出し、 前記の距離評価値とホールドエラ一評価値とセッ 卜アップエラ一 評価値との加算値を、 当該ペアについての前記評価値として算出するこ とを特徵とする、 請求の範囲第 3項記載の回路内信号線の最適化方法。
1 6 . 前記評価値算出ステップ (S 5 1 3 ) において、 各ペアを成す被 駆動素子間の物理的距離および回路を解析し、 当該ペアの物理的距離が 近い程大きくなる距離評価値と、 当該ペアのホールドエラ一発生可能性 が高い程大きくな^)ホールドエラ一評価値と、 当該ペアのセッ トアップ エラ一発生可能性が高い程大きくなるセッ トアップエラ一評価値とを算 出し、 前記の距離評価値とホールドエラ一評価値とセッ トアップエラ一 評価値との加算値を、 当該ペアについての前記評価値として算出するこ とを特徴とする、 請求の範囲第 4項記載の回路内信号線の最適化方法。
1 7 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を揷入するバッファ段数調整ステ ップ (S 5 2 2 ) を実行することを特徵とする、 請求の範囲第 1項記載 の回路内信号線の最適化方法。
1 8 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を揷入するバッファ段数調整ステ ップ (S 5 2 2 ) を実行することを特徵とする、 請求の範囲第 2項記載 の回路内信号線の最適化方法。
1 9 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整ステ ップ (S 5 2 2 ) を実行することを特徴とする、 請求の範囲第 3項記載 の回路内信号線の最適化方法。
2 0 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整ステ ップ (S 5 2 2 ) を実行することを特徴とする、 請求の範囲第 4項記載 の回路内信号線の最適化方法。
2 1 . 信号供給源と該信号供給源から信号を供給される複数の素子とを 有する回路を設計するに際し、 該信号 ^給源と該複数の素子との間を結 ぶ信号線による信号分配を最適化するための装置であつて、
該信号供給源が、 被駆動素子である該複数の素子の全てに対し信号を 直接的に供給するとファンァゥト制約を満足するか否かを判断する判断 部 (5 4 1 ) と、
該判断部 (5 4 1 ) により該信号供給源がファンアウ ト制約を満足し ないと判断された場合、 該被駆動素子を、 ファンアウ ト制約を満足する ように、 且つ、 負荷容量が同一もしくは略同一になるように、 複数のグ ループに分割する分割部 ( 5 4 3 ) と、
該分割部 ( 5 4 3 ) により分割されたグループ毎に、 'ファンァゥト制 約を満足するサイズのバッファ素子を挿入するバッファ揷入部 (5 4 4 ) とをそなえ、
該判断部 (5 4 1 ) が、 前記バッファ揷入部 ( 5 4 4 ) で挿入された 該バッファ素子を被駆動素子として扱い、 該信号供給源が該被駆動素子 の全てに対し信号を直接的に供給するとファンァゥト制約を満足するか 否かを判断し、
該判断部 (5 4 1 ) により該信号供給源がファンァゥト制約を満足す ると判断されるまで、 該分割部 ( 5 4 3 ) および該バッファ揷入部 (5 4 4 ) による処理を繰り返すことを特徴とする、 回路内信号線の最適化
2 2 . 該判断部 (5 4 1 ) により該信号供給源がファンアウト制約を満 足すると判断された場合、 該信号供給源から該複数の素子に至るまでの 遅延を解析し、 バッファ素子の挿入/削除ゃバッフアサイズ変更や前記 グループに属する被駆動素子の変更によって該信号線による信号分配を 最適化する最適化部 ( 5 4 6 ) をそなえたことを特徴とする、 請求の範 囲第 2 1項記載の回路内信号線の最適化装置。
2 3 . 該判断部 (5 4 1 ) により該信号供給源がファンアウト制約を満 足しないと判断された場合、 該被駆動素子の全ペアについて、 回路品質 の向上要因に基づいて評価値をそれぞれ算出する評価値算出部 (5 4 2 ) をそなえ、
該分割部 ( 5 4 3 ) が、 ファンァゥ卜制約を満足するペアのうち、 該 評価値算出部 ( 5 4 2 ) で算出された評価値が最大であるペアから順に 同一グループに所属させるように、 該被駆動素子を分割することを特徴 とする、 請求の範囲第 2 1項記載の回路内信号線の最適化装置。
2 4 . 該判断部 (5 4 1 ) ,により該信号供給源がファンアウト制約を満 足しないと判断された場合、 該被駆動素子の全ペアについて、 回路品質 の向上要因に基づいて評価値をそれぞれ算出する評価値算出部 (5 4 2 ) をそなえ、
該分割部 ( 5 4 3 ) 、 ファンァゥト制約を満足するペアのうち、 該 評価値算出部 ( 5 4 2 ) で算出された評価値が最大であるペアから順に 同一グループに所属させるように、 該被駆動素子を分割することを特徴 とする、 請求の範囲第 2 2項記載の回路内信号線の最適化装置。
2 5 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整部
( 5 4 7 ) をそなえたことを特徴とする、 請求の範囲第 2 1項記載の回 路内信号線の最適化装置。
2 6 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整部
( 5 4 7 ) をそなえたことを特徴とする、 請求の範囲第 2 2項記載の回 路内信号線の最適化装置。
2 7 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段錄が等しくなるようにバッファ素子を挿入するバッファ段数調整部
( 5 4 7 ) をそなえたことを特徵とする、 請求の範囲第 2 3項記載の回 路内信号線の最適化装置。
2 8 . 該信号供給源から該複数の素子までの全ての経路上におけるセル 段数が等しくなるようにバッファ素子を挿入するバッファ段数調整部
( 5 4 7 ) をそなえたことを特徴とする、 請求の範囲第 2 4項記載の回 路内信号線の最適化装置。
2 9 . 信号供給源と該信号供給源から信号を供給される複数の素子とを ' 有する回路を設計するに際し、 該信号供給源と該複数の素子との間を結 ぶ信号線による信号分配をコンピュータ (5 4 0 ) により最適化するた めの最適化プログラムを格納した記憶媒体であつて、
該最適化プログラムが、
該信号供給源が、 被駆動素子である該複数の素子の全てに対し信号を 直接的に供給するとファンアウ ト制約を満足するか否かを判断する判断 手順と、
前記判断手順で該信号供給源がファンァゥト制約を満足しないと判断 された場合、 該被駆動素子を、 ファンアウト制約を満足するように、 且 つ、 負荷容量が同一もしくは略同一になるように、 複数のグループに分 割する分割手順と、
前記分割手順で分割されたグループ毎に、 ファンァゥト制約を満足す るサイズのバッファ素子を挿入するバッファ挿入手順とを、 順次、 該コ ンピュ一タ ( 5 4 0 ) に実行させ、
前記判断手順において、 前記バッファ揷入手順で挿入された該バッフ ァ素子を被駆動素子として扱い、 該信号供給源が該被駆動素子の全てに 対し信号を直接的に供給するとファンァゥト制約を満足するか否かを判 断させ、
前記判断手順で該信号供給源がフアンァゥ卜制約を満足すると判断さ れるまで、 前記の分割手順およびバッファ挿入手順を該コンピュータ
( 5 4 0 ) に繰り返し実行させることを特徴とする、 回路内信号線の最 適化プログラムを格納した記憶媒体。
3 0 . 該最適化プログラムが、
前記判断手順で該信号供給源がフアンァゥト制約を満足すると判断さ ' れた場合、 該信号供給源から該複数の素子に至るまでの遅延を解析し、 バッファ素子の挿入 Z削除ゃバッファサイズ変更や前記グループに属す る被駆動素子の変更によつて該信号線による信号分配を最適化する最適 化手順を、 該コンピュータ (5 4 0 ) に実行させることを特徴とする、 請求の範囲第 2 9項記載の回路内信号線の最適化プログラムを格納した 記憶媒体。 -
3 1 . 該最適化プログラムが、
前記判断手順で該信号供給源がファンァゥト制約を満足しないと判断 された場合、 該被駆動素子の全ペアについて、 回路品質の向上要因に基 づいて評価値をそれぞれ算出する評価値算出手順を、 該コンピュータ ( 5 4 0 ) に実行させるとともに、
前記分割手順において、 ファ ンアウ ト制約を満足するペアのうち、 前 記評価値算出手順で算出された評価値が最大であるペアから順に同一グ ループに所属させるように、 該被駆動素子を分割させることを特徴とす る、 請求の範囲第 2 9項記載の回路内信号線の最適化プログラムを格納 した記憶媒体。
3 2 . 該最適化プログラムが、
前記判断手順で該信号供給源がファンアウ ト制約を満足しないと判断 された場合、 該被駆 «)素子の全ペアについて、 回路品質の向上要因に基 づいて評価値をそれぞれ算出する評価値算出手順を、 該コンピュー夕 ( 5 4 0 ) に実行させるとともに、
前記分割手順において、 ファンアウト制約を満足するペアのうち、 前 記評価値算出手順で算出された評価値が最大であるペアから順に同一グ ループに所属させるように、 該被駆動素子を分割させることを特徵とす る、 請求の範囲第 3 0項記載の回路内信号線の最適化プログラムを格納 した記憶媒体。
3 3 . 該最適化プログラムが、
該信号供給源から該複数の素子までの全ての経路上におけるセル段数 が等しくなるようにバッファ素子を挿入するバッファ段数調整手順を、 該コンピュータ (5 4 0 ) に実行させることを特徵とする、 請求の範囲 第 2. 9項記載の回路内信号線の最適化プログラムを格納した記憶媒体。
3 4 . 該最適化プログラムが、
該信号供給源から該複数の素子までの全ての経路上におけるセル段数 が等しくなるようにバッファ素子を挿入するバッファ段数調整手順を、 該コンピュータ (5 4 0 ) に実行させることを特徵とする、 請求の範囲 第 3 0項記載の回路内信号線の最適化プログラムを格納した記憶媒体。
3 5 . 該最適化プログラムが、
該信号供給源から該複数の素子までの全ての経路上におけるセル段数 が等しくなるようにバッファ素子を挿入するバッファ段数調整手順を、 該コンピュータ (5 4 0 ) に実行させることを特徵とする、 請求の範囲 第 3 1項記載の回路内信号線の最適化プログラムを格納した記憶媒体。
3 6 . 該最適化プログラムが、
該信号供給源から該複数の素子までの全ての経路上におけるセル段数 が等しくなるようにバッファ素子を挿入するバッファ段数調整手順を、 該コンピュータ (5 4 0 ) に実行させることを特徵とする、 請求の範囲 第 3 2項記載の回路内信号線の最適化プログラムを格納した記憶媒体。
3 7 . クロック信号供給源と該クロック信号供給源からクロック信号を 供給される複数のフリップフロップセルとを有する回路を設計するため の方法であって、
レジスタ転送レベルで記述された回路設計内容を論理合成することに より、 設計対象回路を構成するフリップフロップセルの間の接続関係を 規定する第 1のネッ トリス卜を生成するステップ (S 1 1 1 ) と、 前記第 1のネッ トリストを用いてフロアブランを実行することにより、 前記設計対象回路のクロックッリ一を生成し、 このクロックツリーに基 づいて、 前記フリップフ口ップセルを駆動するためのバッファセルを含 む第 2のネッ トリストを作成するステップ (S 1 1 2, S 1 1 3 ) と、 前記フロアプランの実行により得られたフロアプラン情報と前記第 2 のネッ トリストとに基づいて、 前記バッファセルと、 前記フリ ップフ口 ップセルと、 前記バッファセルと前記フリップフロップセルとを接続す るクロック信号線との初期配置を含む、 前記設計対象回路のクロックレ ィァゥトを行なうステップ (S 1 2 2 ) と、 '
前記クロックレイァゥト後にクロック信号線以外の通常ネッ 卜の配線 を行なうステップ ( S 1 3 ) とをそなえ、
前記初期配置に際し、 前記クロック信号供給源から各フリップフロッ プまでのバッファセルの段数が等しくなるようにバッファ段数を調整す ることを特徴とする、 回路設計方法。
3 8 . 前記初期配置に際し、 前記第 2のネッ トリス卜と前記フロアブラ ン情報とに基づいて、 前記クロックツリー上のネッ トを無視してセルの 配置処理を行ない、 次いで前記クロックッリ一に結線されるべきフリッ プフロップセルの配置位置を決定することを特徴とする、 請求の範囲第 3 7項記載の回路設計方法。
3 9 . 前記バッファ段数を調整した後に、 前記フリップフロップセルの 初期配置から前記クロックツリーの最終段ネ'ッ トを抽出し、 抽出された 最終段ネッ 卜のネッ ト範囲を調べ、.該ネッ ト範囲が重なる複数のネッ 卜 をマージし、 該マージされたネッ 卜をネッ ト範囲が重ならないネッ 卜に 分割し、 分割されたネッ 卜にバッファセルを割り当てることによりネッ ト範囲が重ならないようにネッ 卜の再構成処理を行なうことを特徴とす る、 請求の範囲第 3 7項記載の回路設計方法。
4 0 . 前記クロックレイアウトに際し、 前記クロックッリ一上のネッ ト . を無視してセルの配置処理を行なって得られた前記フリップフ口ップの 配置結果に基づいて、 前記クロックッリ一上のバッファセルの配置位置 をボトムアップに決定し、 クロックツリーの最終段バッファ毎に、 ノ ッ ファが駆動するフリップフロップセルの配置情報から、 フリップフロッ プセルのクラスタ情報を作成し、 前記バッファセルの各々を中心にして 配置制限領域情報を作成し、 次に前記バッファセル以外のセルについて 再配置制限領域情報およびクラスタ情報を制約値として再配置処理を行 なうことを特徴とする、 請求の範囲第 3 .8項記載の回路設計方法。
4 1 . 前記再配置処理に次いで、 前記クロックツリーのネッ ト毎に、 被 駆動セルの配置位置からクラスタ情報を作成し、 作成したクラスタ毎に、 クラスタされた被駆動セル間をクラスタ配線し、 駆動セルから各クラス 夕までの配線をスター状にルート配線することを特徴とする、 請求の範 囲第 4 0項記載の回路設計方法。
4 2 . 前記クロックツリー上のバッファセルの配置処理をボトムアップ に決定した後に、 前記クロックツリーの再構成処理を行ない、 該再構成 処理に際し、 クロック論理を変更した時には論理変更コマンドをネッ ト リストファイルに出力し、 該論理変更コマンドに基づいて前記第 2のネ ッ トリストを変更することにより、 レイァゥトデータベース上のクロッ ク論理と一致したクロック論理を含む第 3のネッ トリストを作成するこ とを特徴とする、 請求の範囲第 3 9項記載の回路設計方法。
4 3 . クロック信号供給源と該クロック信号供給源からクロック信号を 供給される複数のフリップフロップセルとを有する回路を、 コンビュ一 タにより設計するための回路設計用プロダラムを格納した記憶媒体であ つて、
該回路設計用プログラムが、
レジスタ転送レベルで記述された回路設計内容を論理合成することに より、 設計対象回路を構成するフリップフロップセルの間の接続関係を 規定する第 1のネッ トリストを生成するステップ (S 1 1 1 ) と、 前記第 1のネッ トリストを用いてフロアブランを実行することにより、 前記設計対象回路のクロックツリーを生成し、 このクロックツリーに基 づいて、 前記フリ ップフロップセルを駆動するためのバッファセルを含 む第 2のネッ トリストを作成するステップ (S 1 1 2 , S 1 1 3 ) と、 前記フロアブランの実行により得られたフロアブラン情報と前記第 2 のネッ トリス卜とに基づいて、 前記バッファセルと、 前記フリップフ口 ップセルと、 前記バッファセルと前記フリップフ口ップセルとを接続す るクロック信号線との初期配置を含む、 前記設計対象回路のクロックレ ィァゥトを行なうステップ (S 1 2 2 ) と、
前記クロックレイアウト後にクロック信号線以外の通常ネッ トの配線 を行なうステップ (S 1 3 ) とを、 順次、 前記コンピュータに実行させ、 前記初期配置に際し、 前記クロック信号供給源から各フリップフロッ プまでのバッファセルの段数が等しくなるように、 前記コンピュータに バッファ段数を調整させることを特徴とする、 回路設計用プログラムを 格納した記憶媒体。
4 4 . 前記回路設計用プログラムが、 前記初期配置に際し、 前記コンビ ユー夕に、 前記第 2のネッ トリス卜と前記フロアプラン情報とに基づい て、 前記クロックツリー上のネッ トを無視してセルの配置処理を行なわ せ、 次いで前記クロックッリ一に結線されるべきフリップフロップセル の配置位置を決定させることを特徴とする、 請求の範囲第 4 3項記載の 回路設計用プログラムを格納した記憶媒体。
4 5 . 前記回路設計用プログラムが、 前記バッファ段数を調整した後に. 前記コンピュータに、 前記フリップフロップセルの初期配置から前記ク ロックッリ一の最終段ネッ 卜を抽出させ、 抽出された最終段'ネッ トのネ ッ ト範囲を調べさせ、 該ネッ ト範囲が重なる複数のネッ トをマージさせ 、 該マージされたネッ トをネッ ト範囲が重ならないネッ 卜に分割させ、 分割されたネッ 卜にバッファセルを割り当てることによりネッ ト範囲が 重ならないようにネッ 卜の再構成処理を行なわせることを特徵とする、 請求の範囲第 4 3項記載の回路設計用プログラムを格納した記憶媒体。
4 6 . 前記回路設計用プログラムが、 前記クロックレイァゥ卜に際し、 前記コンピュータに、 前記クロックッリ一上のネッ トを無視してセルの 配置処理を行なって得られた前記フリップフ口ップの配置結果に基づい て、 前記クロックツリー上のバッファセルの配置位置をボトムアップに 決定させ、 クロックッリ一の最終段バッファ毎に、 バッファが駆動する フリ ップフロップセルの配置情報から、 フリップフロップセルのクラス タ情報を作成させ、 前記バッファセルの各々を中心にして配置制限領域 情報を作成させ、 次に前記バッファセル以外のセルについて再配置制限 領域情報およびクラスタ情報を制約値として再配置処理を行なわせるこ とを特徴とする、 請求の範囲第 4 4項記載の回路設計用プログラムを格 納した記憶媒体。
4 7 . 前記回路設計用プログラムが、 前記再配置処理に次いで、 前記コ ンピュー夕に、 前記クロックッリ一のネッ ト毎に、 被駆動セルの配置位 置からクラスタ情報を作成させ、 作成したクラスタ毎に、 クラスタされ た被駆動セル間をクラスタ配線させ、 駆動セルから各クラスタまでの配 線をスター状にルート配線させることを特徴とする、 請求の範囲第 4 6 項記載の回路設計用プログラムを格納した記憶媒体。
4 8 . 前記回路設計用プログラムが、 前記クロックツリー上のバッファ セルの配置処理をボトムアツプに決定させた後に、 前記クロックツリー の再構成処理を行なわせ、 該再構成処理に際し、 クロック論理を変更し た時には論理変更コマンドをネッ トリストファイルに出力し、 該論理変 更コマンドに基づいて前記第 2のネッ トリストを変更させることにより、 レイァゥトデータべ一ス上のクロック論理と一致したクロック論理を含 む第 3のネッ トリストを作成させることを特徵とする、 請求の範囲第 4
5項記載の回路設計用プログラムを格納した記憶媒体。
PCT/JP1999/000205 1998-01-26 1999-01-21 回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体 WO2004102657A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/600,144 US6651224B1 (en) 1998-01-26 1999-01-21 Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
US10/634,815 US7032198B2 (en) 1998-01-26 2003-08-06 Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP10/12545 1998-01-26
JP01254598A JP3337412B2 (ja) 1998-01-26 1998-01-26 回路内信号線の最適化方法および装置並びに回路内信号線の最適化プログラムを格納した記憶媒体
JP10/251400 1998-09-04
JP25140098A JP3614306B2 (ja) 1998-09-04 1998-09-04 Lsiレイアウト方法及びlsiレイアウト用プログラムを格納した記録媒体

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US09/600,144 A-371-Of-International US6651224B1 (en) 1998-01-26 1999-01-21 Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
US09600144 A-371-Of-International 1999-01-21
US10/634,815 Division US7032198B2 (en) 1998-01-26 2003-08-06 Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit

Publications (1)

Publication Number Publication Date
WO2004102657A1 true WO2004102657A1 (ja) 2004-11-25

Family

ID=29422263

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/000205 WO2004102657A1 (ja) 1998-01-26 1999-01-21 回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体

Country Status (2)

Country Link
US (2) US6651224B1 (ja)
WO (1) WO2004102657A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036103B2 (en) * 1999-10-14 2006-04-25 Synopsys, Inc. Detailed placer for optimizing high density cell placement in a linear runtime
JP4971557B2 (ja) * 2001-07-03 2012-07-11 パナソニック株式会社 半導体集積回路
JP2004102703A (ja) * 2002-09-10 2004-04-02 Matsushita Electric Ind Co Ltd レジスタ転送レベル設計支援装置
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
US7089519B1 (en) * 2002-12-31 2006-08-08 Cadence Design System, Inc. Method and system for performing placement on non Manhattan semiconductor integrated circuits
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7191416B2 (en) * 2003-01-27 2007-03-13 Stmicroelectronics Limited System and method for modifying integrated circuit hold times
US7237214B1 (en) * 2003-03-04 2007-06-26 Synplicity, Inc. Method and apparatus for circuit partitioning and trace assignment in circuit design
US20040196081A1 (en) * 2003-04-01 2004-10-07 Sandeep Srinivasan Minimization of clock skew and clock phase delay in integrated circuits
US7823112B1 (en) * 2003-05-30 2010-10-26 Golden Gate Technology, Inc. Method, software and system for ensuring timing between clocked components in a circuit
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
US7017132B2 (en) * 2003-11-12 2006-03-21 Taiwan Semiconductor Manufacturing Company Methodology to optimize hierarchical clock skew by clock delay compensation
JP4053969B2 (ja) * 2003-11-28 2008-02-27 沖電気工業株式会社 半導体集積回路の設計装置および半導体集積回路の設計方法
US20050125758A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation Positioning of inverting buffers in a netlist
US7162706B2 (en) * 2004-03-05 2007-01-09 Picocraft Design Systems, Inc. Method for analyzing and validating clock integration properties in circuit systems
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
US7278126B2 (en) * 2004-05-28 2007-10-02 Qualcomm Incorporated Method and apparatus for fixing hold time violations in a circuit design
US7260802B2 (en) * 2004-11-08 2007-08-21 Synopsys, Inc. Method and apparatus for partitioning an integrated circuit chip
JP4784510B2 (ja) * 2004-12-17 2011-10-05 ブラザー工業株式会社 キャピラリーエレクトロウェッティング現象を用いたバルブ及びアクチュエータ
US7225421B2 (en) * 2005-01-28 2007-05-29 International Business Machines Corporation Clock tree distribution generation by determining allowed placement regions for clocked elements
US7818705B1 (en) * 2005-04-08 2010-10-19 Altera Corporation Method and apparatus for implementing a field programmable gate array architecture with programmable clock skew
JP2007027841A (ja) * 2005-07-12 2007-02-01 Nec Electronics Corp 半導体集積回路の設計装置と方法並びにプログラム
US20070136699A1 (en) * 2005-12-08 2007-06-14 International Business Machines Corporation Dependency matrices and methods of using the same for testing or analyzing an integrated circuit
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
US8634006B2 (en) * 2007-12-19 2014-01-21 Microsoft International Holdings B.V. Image sensor and a configuration for improved skew time
JP5326471B2 (ja) * 2008-09-30 2013-10-30 富士通株式会社 クロック信号供給回路の設計方法、情報処理装置およびプログラム
US8572418B2 (en) * 2009-03-12 2013-10-29 Qualcomm Incorporated Moving clock gating cell closer to clock source based on enable signal propagation time to clocked storage element
US8225262B1 (en) * 2009-03-18 2012-07-17 Xilinx, Inc. Method of and system for placing clock circuits in an integrated circuit
US9602971B2 (en) * 2010-04-14 2017-03-21 Nokia Technologies Oy Controlling dynamically-changing traffic load of whitespace devices for database access
US20130205266A1 (en) * 2012-02-03 2013-08-08 Taiwan Semiconductor Manufacturing Co.,Ltd. Coloring/grouping patterns for multi-patterning
JP5883676B2 (ja) * 2012-02-22 2016-03-15 ルネサスエレクトロニクス株式会社 Lsi設計方法
US9117043B1 (en) 2012-06-14 2015-08-25 Xilinx, Inc. Net sensitivity ranges for detection of simulation events
US9495501B1 (en) * 2016-01-29 2016-11-15 International Business Machines Corporation Large cluster persistence during placement optimization of integrated circuit designs
US10558775B2 (en) * 2017-12-20 2020-02-11 International Business Machines Corporation Memory element graph-based placement in integrated circuit design
US10565339B2 (en) * 2018-07-18 2020-02-18 Mellanox Technologies, Ltd. Timing-adaptive, configurable logic architecture
US10769345B1 (en) * 2018-12-20 2020-09-08 Cadence Design Systems, Inc. Clock tree optimization by moving instances toward core route
US11030367B2 (en) 2019-09-11 2021-06-08 International Business Machines Corporation Out-of-context feedback hierarchical large block synthesis (HLBS) optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554100A (ja) * 1991-06-10 1993-03-05 Toshiba Corp クロツク信号の分配方法
JPH0945783A (ja) * 1995-08-03 1997-02-14 Mitsubishi Electric Corp セルの自動配線方法およびその装置
JPH09218888A (ja) * 1996-02-09 1997-08-19 Nec Corp ホールドタイムエラー除去方式
JPH1011494A (ja) * 1996-06-21 1998-01-16 Nec Corp クロック分配方法及びクロック分配回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6416120A (en) 1987-07-10 1989-01-19 Toshiba Corp Fan out adjusting system
JP3070754B2 (ja) 1990-05-14 2000-07-31 株式会社日立製作所 半導体集積回路及びその配置配線方法
JP2952085B2 (ja) 1991-08-19 1999-09-20 株式会社東芝 クロック信号分配配線用のクラスタ生成方法
JPH086976A (ja) 1994-06-22 1996-01-12 Fujitsu Ltd ファンアウト調整方式
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
JPH0963291A (ja) 1995-08-17 1997-03-07 Sony Corp クロツク分配方法
JPH0963292A (ja) 1995-08-19 1997-03-07 Sony Corp クロツク分配方法
JPH118314A (ja) * 1997-04-25 1999-01-12 Toshiba Corp クロック信号配線のツリー深さ最適化方法および装置
US6044209A (en) * 1997-09-15 2000-03-28 International Business Machines Corporation Method and system for segmenting wires prior to buffer insertion
US6272667B1 (en) * 1997-10-09 2001-08-07 Kabushiki Kaisha Toshiba Method and apparatus for clock gated logic circuits to reduce electric power consumption
US6148432A (en) * 1997-11-17 2000-11-14 Micron Technology, Inc. Inserting buffers between modules to limit changes to inter-module signals during ASIC design and synthesis
US6305001B1 (en) * 1998-06-18 2001-10-16 Lsi Logic Corporation Clock distribution network planning and method therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554100A (ja) * 1991-06-10 1993-03-05 Toshiba Corp クロツク信号の分配方法
JPH0945783A (ja) * 1995-08-03 1997-02-14 Mitsubishi Electric Corp セルの自動配線方法およびその装置
JPH09218888A (ja) * 1996-02-09 1997-08-19 Nec Corp ホールドタイムエラー除去方式
JPH1011494A (ja) * 1996-06-21 1998-01-16 Nec Corp クロック分配方法及びクロック分配回路

Also Published As

Publication number Publication date
US7032198B2 (en) 2006-04-18
US20040107408A1 (en) 2004-06-03
US6651224B1 (en) 2003-11-18

Similar Documents

Publication Publication Date Title
WO2004102657A1 (ja) 回路内信号線の最適化方法、最適化装置および最適化プログラムを格納した記憶媒体並びに回路設計方法および回路設計用プログラムを格納した記憶媒体
JP3891599B2 (ja) 集積回路レイアウト内への標準セルの自動挿入装置
CN104077427B (zh) 跨时钟域的时钟树构建方法和系统、集成电路及制造方法
US8782591B1 (en) Physically aware logic synthesis of integrated circuit designs
JP2609799B2 (ja) 順序回路の再設計方法
US20030135836A1 (en) Gated clock tree synthesis
JPH09212533A (ja) 論理回路の最適化装置及びその方法
US6651237B2 (en) System and method for H-Tree clocking layout
Papa et al. Physical synthesis with clock-network optimization for large systems on chips
US20060053395A1 (en) Clock tree synthesis for low power consumption and low clock skew
US6480996B1 (en) System and method for transposing wires in a circuit design
JP3420195B2 (ja) クロック配線の設計方法
US20030229871A1 (en) Method of generating timing constraint model of logic circuit, program for generating timing constraint model of logic circuit, and timing-driven layout method of using the timing constraint model
US6763513B1 (en) Clock tree synthesizer for balancing reconvergent and crossover clock trees
US6192508B1 (en) Method for logic optimization for improving timing and congestion during placement in integrated circuit design
JP2005123537A (ja) 半導体装置及び製造方法
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
US7117472B2 (en) Placement of a clock signal supply network during design of integrated circuits
US7496870B2 (en) Method of selecting cells in logic restructuring
JP3337412B2 (ja) 回路内信号線の最適化方法および装置並びに回路内信号線の最適化プログラムを格納した記憶媒体
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
US7149994B1 (en) Integrated clock and input output placer
JP3614306B2 (ja) Lsiレイアウト方法及びlsiレイアウト用プログラムを格納した記録媒体
US7111262B1 (en) Circuit clustering during placement
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 09600144

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)