JPH10163330A - レイアウト考慮遅延最適化装置および方法 - Google Patents

レイアウト考慮遅延最適化装置および方法

Info

Publication number
JPH10163330A
JPH10163330A JP8323108A JP32310896A JPH10163330A JP H10163330 A JPH10163330 A JP H10163330A JP 8323108 A JP8323108 A JP 8323108A JP 32310896 A JP32310896 A JP 32310896A JP H10163330 A JPH10163330 A JP H10163330A
Authority
JP
Japan
Prior art keywords
circuit
wiring
delay
optimization
layout
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
Application number
JP8323108A
Other languages
English (en)
Inventor
Koichi Sato
光一 佐藤
Hideyuki Emura
秀之 江村
Naotaka Maeda
直孝 前田
Masamichi Kawarabayashi
政道 河原林
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 JP8323108A priority Critical patent/JPH10163330A/ja
Priority to US08/866,682 priority patent/US6009248A/en
Publication of JPH10163330A publication Critical patent/JPH10163330A/ja
Pending legal-status Critical Current

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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】初期レイアウト後の回路に対し、回路の最適化
と再レイアウト処理を繰り返し行う処理において、論理
合成装置で簡単な配線情報だけを用いての最適化を行
い、レイアウト装置に新規ゲートの挿入位置を与えて配
線形状を保つようにレイアウトさせることで誤差を少な
くし、繰り返し回数を削減する。 【解決手段】集積回路やプリント基板の回路設計におい
て、初期レイアウト設計完了後の回路設計最適化に際し
て、回路の初期レイアウト結果から回路の配線セグメン
トの接続関係およびセグメントごとの容量・抵抗値であ
る配線情報を求め、配線情報を参照して初期レイアウト
の最適化を行い回路変更情報と挿入バッファのセグメン
ト上の配置位置比率を表す挿入バッファ配線上位置情報
とを求め、このときに回路の変更される部分のみの遅延
改善を繰り返し求めて最も遅延改善度の高い挿入バッフ
ァ配線上位置情報をレイアウト制約として回路の再レイ
アウトを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、レイアウト考慮遅
延最適化装置及び方法に関し、特に、簡素な配線情報を
用いて回路を遅延最適化し、その予測遅延どおりに回路
変更結果を正しくレイアウトに反映させるために、レイ
アウト装置へ制約を与える論理合成方法に関する。
【0002】
【従来の技術】レイアウト装置により配置、配線された
回路に対して、論理合成装置による局所的な回路変更に
より、回路遅延の最適化および回路規模を削減するなど
の手法が行われている。この場合、論理合成装置にはレ
イアウト結果からゲートの配置位置、配線形状、配線
長、配線容量、配線抵抗などのパラメータが入力され、
これらの情報をもとに正確な遅延や消費電力などを計算
しながら、回路の最適化を行う。
【0003】以下に、レイアウト情報を使用する最適化
のうち、遅延最適化を行う従来技術について説明する。
【0004】従来技術1。図9は一つの従来の技術を示
す図である。901では回路の初期論理合成を行い、9
02では初期合成された回路に対してゲートの初期配置
を行う。903ではゲートの初期配置結果をもとに、回
路の遅延制約を満足させるような回路最適化を行う。9
04では最適化処理903により変更のあった部分に対
してのみゲートの再配置処理を行う。制約違反判定90
5で遅延制約(要求時刻)が満足されていない場合は再
び903の処理に戻り、満足すれば終了する。すべての
制約が満足された場合は906の処理でゲート間の配線
を行う。910は902で作成されたゲートの配置位置
座標などのレイアウト情報であり、903,904,9
06の各処理で参照される。また、904,906では
更新もされる。911は最適化処理で変更された回路の
接続変更情報であり903で作成されて904で参照さ
れる。912は最適化処理から与えられるゲートの配置
制約情報であり903で作成されて904で参照され
る。
【0005】次に903および904の処理について詳
述する。ここでは回路の遅延制約などを満足させるため
にバッファ挿入や、ゲートリサイジングなどの局所的な
回路の変更処理が行われる。
【0006】バッファ挿入においては、この時点では回
路の配線が行われていない為に、ゲートの配置位置を元
に最小被覆木を作成し、その分岐点または葉の近くにバ
ッファを配置している。最小被覆木とはすべての端子を
接続する木であり、枝の途中からの分岐を許さず、木全
体の長さが最小になるような木である。配線遅延はこの
最小被覆木を実際の配線とみなして計算している。図3
に示した最適化前の回路を元に図10に配置済みのゲー
トに対する最小被覆木を示す。1001〜1005のゲ
ートが301〜305のゲートに対応する。
【0007】バッファを挿入する位置は最小被覆木の分
岐点または葉のみに限定されており、挿入されたバッフ
ァの位置は904に対して制約として与えられ、904
では挿入バッファを可能な限り制約として与えられた位
置に配置しようとする。
【0008】従来技術2。図11はゲートリサイジング
や簡単なバッファ挿入による従来技術の遅延最適化を示
す図である。1101では回路の初期論理合成を行い、
1102では初期合成された回路に対して初期レイアウ
トを行う。1103では初期レイアウト結果をもとに、
回路の遅延制約を満足させるような回路最適化を行う。
1104では最適化処理1103により変更のあった部
分に対してのみレイアウトを行う。制約違反判定110
5で遅延制約が満足されていない場合は再び1103の
処理に戻り、満足すれば終了する。1110は配線容
量、配線遅延のレイアウト情報であり1102で作成さ
れ1103の処理で参照される。1111は最適化処理
で変更された回路の接続変更情報であり1103で作成
されて1104で参照される。
【0009】1103および1104の処理を詳述する
と、1103では回路の遅延制約などを満足させるため
にゲートリサイジング、簡単なバッファ挿入による局所
的な回路の変更処理が行われる。ゲートリサイジングは
同じ論理でドライブ能力の違うゲートに置き換えること
により遅延などの最適化を行う手法である。これは要求
時刻を満足しないゲートに対して置き換え処理を行う。
バッファ挿入はゲートのファンアウト数が1になるよう
にゲートの直後にバッファをおいてファンアウト先をド
ライブする能力をあげることで要求時刻を満足するよう
にする。ただし、バッファはゲートのファンアウト配線
の形状が変化しないようにゲートの直後にしかバッファ
をおけないようにしている。再レイアウト1104は回
路変更があった部分のみ再レイアウトする。再レイアウ
ト1104ではゲートの直後にバッファをおくことでフ
ァンアウト配線がほとんど変化しないため配線遅延は変
わらない。またゲートリサイジングしたものは再レイア
ウト1104で置き換え前のゲートがおかれていた位置
に置き直す。これにより、論理合成装置中で見積もる遅
延どおりのレイアウトを可能としている。
【0010】従来技術3。図12は別のバッファ挿入に
よる従来技術を示す図である。初期回路合成1201の
後、初期レイアウト1202で初期回路のレイアウトを
行う。次に初期レイアウト1202で初期レイアウトを
おこなった回路から得られたゲート配置情報1210を
論理合成装置に戻し、最適化処理1203ではその配置
情報をもとに作成したスタイナー木の構造を壊さずに配
線のセグメント上にバッファ挿入することにより回路の
遅延最適化処理を行う。セグメントは以下配線の分岐
点、端子間の配線の一部として説明していくが、実際に
はビア(配線層が変わる場所)、分岐点、端子間の配線
の一部などをセグメントとしてもよい。次に最適化後得
られた回路変更情報1211をもとに1204で再レイ
アウトを行う。制約違反判定1205で遅延制約が満足
されていない場合は再び1203の処理に戻り、満足す
れば終了する。
【0011】次に1203の処理について詳述する。こ
の最適化ではRC遅延を比較的正確に計算できるような
最適化をすることも特徴の一つである。遅延は一般に遅
延=ゲートの固有遅延+ゲートの伝搬遅延+配線のRC
遅延で表現される。ゲートの固有遅延とはゲート内部の
入力端子、出力端子間の遅延である。ゲートの伝搬遅延
とはゲート間の配線容量から算出される配線の形状に依
存しない信号の伝搬にかかる遅延である。配線のRC遅
延とは配線の形状に依存する信号の伝搬にかかる遅延で
ある。RC遅延の計算方法は数種類存在し遅延精度が異
なるが、その代表としてElmore遅延計算について
説明する。
【0012】ソース側の端子をni 、シンク側の端子を
j とすると、ni ,nj 間のRC遅延tpdRCi,j
式(1)〜(4)のように計算される。
【0013】
【数1】
【0014】
【数2】
【0015】
【数3】
【0016】
【数4】
【0017】ni は配線分岐点や端子を表すものとす
る。iは1≦i≦Nであり、Nは配線につながる全端子
数と分岐点数である。Si,j はni ,nj 間のセグメン
トである。Ri,j はSi,j 間の抵抗である。Ci,j はS
i,j 間の容量である。Cijはnj がゲート端子の場合n
j の端子容量、それ以外では0である。riseは立上
り信号の場合、fallは立ち下がり信号の場合であ
る。P(i,j)はni ,nj 間のセグメントの集合で
ある。TFO(k,l)はSk,l のtransitiv
e fanout方向のセグメントをさす。trans
itive fanoutとはある部分からのファンア
ウト方向上のセグメントである。transitive
faninはファンイン方向上のセグメントをさす。
図7を具体例としてあげた場合、n1 ,n5 のRC遅延
は以下のようになる。Vddは電源電圧、Vt5 はn5
における入力閾値電圧である。
【0018】
【数5】
【0019】
【数6】
【0020】
【数7】
【0021】このようにRC遅延を見積もるためには配
線の木構造とセグメント毎の抵抗、容量をレイアウトシ
ステムから得る必要がある。Elmore以外のRC遅
延計算方法もこの点に関しては同様である。
【0022】従来技術3では、配線をスタイナー木とし
て表現することで、木構造がわかるため遅延成分のうち
のRC遅延を比較的正確に計算することが可能になる。
スタイナー木とは、すべての端子を接続する木である
が、枝の途中で分岐を許す木をいう。バッファ挿入など
の最適化において適当な位置にバッファを挿入した場
合、レイアウトではどの程度変化するか分からない。そ
のため、RC遅延を正確に見積りながら最適化を行うの
は大変重要なことである。従来技術3ではRC遅延を正
確に考慮するために、スタイナー木を作成し、その木上
にバッファをおく。配線セグメントの抵抗、容量は、
【0023】
【数8】
【0024】
【数9】
【0025】の式で表される。rは単位面積あたりの抵
抗、cは単位長あたりの容量で、r,cとも定数であ
る。Lは配線長、Wは配線幅である。抵抗、容量は配線
長に比例した値であるため、配線長に比例させて抵抗、
容量の割り振りを行う。
【0026】
【発明が解決しようとする課題】従来技術1では、最適
化処理903迄には実際の配線を行っておらず配線遅延
を計算する場合は前述の最小被覆木を実際の配線とみな
していた。しかし、一般に実配線は最小被覆木による形
よりはスタイナー木の形をとるうえ、迂回配線の場合を
考慮していない。その結果、最適化時の遅延の見積もり
結果と配線後の遅延値が異なり、期待された結果が得ら
れない事がある。さらに、RC遅延に関しても考慮して
いない。
【0027】従来技術2では、最適化処理1103でゲ
ートリサイジングと簡単なバッファ挿入を行う。簡単な
バッファ挿入とはゲートのファンアウト数が1になるよ
うにゲート直後にレイアウト上隣接してバッファを配置
するバッファ挿入であり、ゲートの直後にしかおけない
のは論理合成中で見積もる遅延を正確なものとするため
の制限である。そのため、大きく遅延最適化ができな
い。
【0028】従来技術3では、3つの問題点がある。第
一に、最適化処理における回路の変更は配線の形状を論
理合成装置にもどし、スタイナー木を論理合成装置中で
作成し、その木構造を崩さないようにしている。しか
し、論理合成装置中で見積もる木構造が実際のレイアウ
トの木構造と一致していないため、あくまで予測の遅延
であり、実際の遅延値との誤差は大きい。結果的に、与
えられた制約を満たす回路を得るための最適化処理が適
切にできないためレイアウト処理のくり返し処理回数が
増大し短期間で設計を完了させることが困難である。
【0029】第二に、バッファ挿入を行うに際して配線
セグメントのどのあたりに挿入すべきかの計算は困難で
あり、その手法は存在していない。
【0030】第三にスタイナー木を作成するために使用
する情報はゲートの配置位置情報だけであり、配線情報
を使用していない。論理合成中では、スタイナー木は配
線混雑度を考えずに作成されることとなるため、実際に
レイアウトで行われる迂回配線の考慮は不可能であり、
遅延誤差が生まれやすいという問題がある。
【0031】
【課題を解決するための手段】本発明は、集積回路やプ
リント基板の回路設計において、初期レイアウト設計完
了後の回路設計最適化に際して、回路の初期レイアウト
結果から回路の配線セグメントの接続関係およびセグメ
ントごとの容量・抵抗値である配線情報を求める手段
と、配線情報を参照して初期レイアウトの最適化を行い
回路変更情報を出力する回路最適化手段と、回路変更情
報に基づき回路の再レイアウトを行う再レイアウト手段
とを備えたレイアウト考慮遅延最適化装置であり、特
に、回路最適化手段が、挿入バッファのセグメント上の
配置位置比率を表す挿入バッファ配線上位置情報を求め
る手段を有することを特徴とするものである。
【0032】回路設計最適化においては、回路中の最適
化対象パスの存在を判定し、最適化処理の実行を判定す
るステップと、最適化対象パスの存在判定に基づき最適
化対象配線を選択するステップと、最適化対象配線のセ
グメントの最適化順序を決定するステップと、挿入バッ
ファ,インバータの種類および位置を計算するステップ
と、当該計算結果により回路変更を行うステップとを含
み、特に、挿入バッファ,インバータの種類および位置
を計算するステップは、回路中において前述の計算結果
により変更される部分の遅延計算を行い、最も遅延が改
善される計算結果を出力することを特徴とする。また、
最適化処理の実行を判定するステップは、回路中の最大
違反パス上の配線に対してバッファ挿入を行い、当該バ
ッファ挿入による遅延改善結果により最適化処理の実行
を判定するものである。
【0033】さらに、前述の回路設計最適化において
は、最適化処理の実行を判定するステップにおいて回路
中の全てのセグメントについて最適化対象パスの存在を
判定したことを判定するステップと、挿入バッファ,イ
ンバータの種類および位置の計算結果に基づく回路全体
のタイミング解析を行うステップを含むものでもある。
【0034】
【発明の実施の形態】以下に図1のブロック図を用いて
第1の実施の形態を説明する。
【0035】101では与えられた回路仕様に対して初
期合成を行う。102では初期回路に対してレイアウト
処理を行い、以降の最適化処理103、再レイアウト処
理104で利用する為の配線情報110を作成する。こ
こでいう配線情報とは、配線セグメントの接続状態(配
線形状)、セグメント毎の容量、抵抗などである。配線
は概略配線後の配線でも、詳細配線後の配線でもよい。
詳細配線後の配線の方が概略配線より精度が高いが、レ
イアウト装置で詳細配線まで行うと処理時間がかかる。
どちらの配線を利用するかは処理時間と遅延精度で考慮
する。
【0036】最適化処理103ではレイアウトされた回
路が与えられた遅延や消費電力、面積などの制約を満た
していない場合に回路の最適化を行う。このとき配線情
報110(セグメントの接続関係(配線形状)、セグメ
ントの抵抗、容量)を用いて、回路の変更がレイアウト
にどのように影響するかを考慮しながら制約を満足させ
るように最適化を行い回路変更情報111を出力する。
但し、ここでは遅延最適化に限定して説明する。さらに
最適化処理で行った変更が再レイアウト処理104で再
び悪化しないように再レイアウト処理に対してレイアウ
ト制約として挿入バッファのセグメント上の位置を表す
挿入バッファ配線上位置情報112を出力する。
【0037】再レイアウト104では変更された回路に
対して再レイアウト処理を行う。ここで行われるレイア
ウト処理は、初期レイアウト102の結果をベースに最
適化処理で変更が行われた部分のみに対して行われる。
さらに挿入バッファ配線上位置情報112よりバッファ
/インバータ、挿入位置が指定されている場合にはその
制約を満たすようにレイアウトを行う。
【0038】以下に最適化処理103と再レイアウト処
理104について詳述する。図3に最適化対象となる初
期レイアウト後の回路の例を示す。図2は本バッファ挿
入のフロー図である。最適化実行判定201で最適化対
象となる配線が存在するかを判定する。最適化処理する
場合は違反パスが存在し、まだ最適化する余地があると
思われる場合のみ最適化処理にはいる。違反パスはスラ
ック(要求時刻−到着時刻)が負の値となるゲートを通
るパス、最大違反パスはそのスラックが最小の負の値と
なるパスである。つまり、一度最大違反パス上の配線に
対してバッファ挿入を試みるが、遅延改善することがで
きなければ最適化する余地がないということで終了する
という意味である。
【0039】次に対象配線選択202で最適化を行う配
線を決める。セグメント最適化順計算203ではバッフ
ァ挿入を行う配線のセグメントの処理順序を決定する。
この順序の決定方法には様々な方法が考えられる。配線
容量の大きい順、信号のソース側のゲートとつながるセ
グメントから信号が流れる先のシンク側のゲートにつな
がるセグメントへの幅優先探索順の処理、その反対の順
などである。
【0040】対象セグメント存在判定204で最適化を
試みていないセグメントが存在する場合は最適化のため
の処理に移り、セグメントを全て試した後は再び最適化
対象配線を探すため最適化実行判定201に移る。
【0041】挿入バッファ、挿入位置計算205では選
択したセグメントに対してバッファ挿入を試みる。これ
は図3のセグメント312などに相当する。このとき、
挿入すべきバッファ、挿入位置の計算をする。ここでは
2種類の方法を説明する。一つは一回のセグメントに対
する最適化で単一バッファしか挿入しないことを前提
に、バッファ,挿入位置を計算する方法、もう一つはセ
グメント上に複数のバッファを等間隔で挿入する方法で
ある。
【0042】単一バッファ挿入についてはここでは図
5、図6の2種類の挿入方法の例を使用して説明する。
【0043】一つは、最大違反パス上のソース側ゲート
とシンク側ゲート間の配線長が短くその他の配線が長い
時、最大違反パスを孤立させるように図5のバッファ5
01を挿入する方法(Isolation)、もう一つ
は図6のバッファ601を最大違反パス上のセグメント
にバッファ挿入することで、配線の最大違反パス上のソ
ース側ゲートとシンク側ゲートの配線を分割する方法
(Partition)である。
【0044】Isolationは、バッファを挿入す
るセグメントが最大違反パス上のセグメントでないとき
である。そのため、単一でバッファ挿入する場合、バッ
ファを挿入するセグメントにおいてソース側の分岐点の
座標を0、シンク側の分岐点の座標を1とした時、図5
のように0の位置に挿入するのが最良と考える。これは
最大違反パスは最適化後もそのパスが最大違反パスであ
ると仮定してのことである。バッファ挿入後のセグメン
トの抵抗,容量はそのバッファがおかれたセグメント上
の位置によって分割を行う。
【0045】Partitionの場合は、最大違反パ
ス上のセグメントにバッファを挿入する時である。例え
ば、図3のセグメント312の0.3の位置にバッファ
601を挿入した場合、もとのセグメント312の抵抗
がR、容量がCのとき分岐点602、バッファ601間
の抵抗は0.3R、容量は0.3C、バッファ601、
分岐点603間の抵抗は0.7R、容量は0.7Cとす
る。
【0046】挿入位置は式(10)の計算式を用いて計
算する。αが挿入位置である。
【0047】
【数10】
【0048】
【数11】
【0049】挿入対象配線のソースゲートをg、挿入バ
ッファをBUF、最大違反パス上のBUFのファンアウ
トゲートをoutとする。
【0050】CLO(i)はni と接続するシンク側配
線セグメントの総容量である。
【0051】kg =(α=0のときのgの伝搬遅延)−
(α=1のときのgの伝搬遅延) kBUF =(α=0のときのBUFの伝搬遅延)−(α=
1のときのBUFのファンアウトの伝搬遅延) kout =(α=0のときのoutの伝搬遅延)−(α=
1のときのoutのファンアウトの伝搬遅延) k=kg +kBUF +kout とする。TFI(i,j)は、Si,j のtransit
ive fanin方向にある分岐点、端子などであ
る。
【0052】この式は挿入位置αをもちいて計算したス
ラック(要求時刻−到着時刻)からαの偏微分関数を求
め、その式が0になるようなαを計算したものである。
このときαによるスラックの最大値となり、αはバッフ
ァ挿入をするのに最適な位置となる。但し、0≦α≦1
なので、α≦0ならα=0、1≦αならα=1とする。
βは式(2)で計算される係数である。
【0053】次に、複数挿入の一手法について説明す
る。この手法はバッファをあるセグメント上に等間隔に
おき、最も遅延改善するパターンを最適化候補として残
す。このとき、バッファ毎の最小間隔のみユーザが定義
し、その範囲内でバッファを挿入を試みる。複数個を挿
入する場合にはインバータも挿入ゲートとすることがで
きる。例えば、セグメントの配線長が3mmとする。こ
こで最小バッファ間隔を1mmとすれば、2〜3個まで
バッファ挿入、2個のインバータ挿入をためす。
【0054】以上のようにして適切な挿入位置を高速に
計算できる。
【0055】上記単一バッファ挿入、複数バッファ挿入
はライブラリ中に用意された全てのバッファ/インバー
タに対して計算し、もしくは限定指定する場合には限定
したバッファ/インバータに対して挿入位置を計算す
る。それぞれのバッファ、挿入位置で遅延短縮した中で
最も遅延改善度合が大きいものを最適化候補として残
す。このとき、回路の変化があった部分だけ遅延計算す
ることで遅延改善度合を確認し、回路全体のタイミング
解析をする必要はない。
【0056】次に採用判定206では挿入バッファ、挿
入位置計算205で得られたバッファ挿入パターンを実
際の回路に対して行い、全体回路のタイミング解析を行
う。このとき、最大遅延が改善されるようであれば、こ
の挿入パターンを採用し、回路変更207を行う。この
とき挿入位置、バッファ種類などを挿入バッファ配線上
位置情報112として出力する。挿入位置は座標情報を
用いず、図6でいえばセグメント312の0.3の位置
という形で表現する。遅延改善されない場合は、この挿
入パターンを不採用とする。
【0057】以上がバッファ挿入方法であるが、一度挿
入したバッファを取り止めて再び複数挿入する手法も考
えられる。
【0058】最適化103ではゲートリサイジングのあ
と、バッファ挿入をするなど、組み合わせて使用する場
合も考えられる。図4はゲートリサイジングのみ使用し
た場合の最適化の実施の形態である。ここでは最適化処
理103においてゲート301の駆動する負荷が大きい
為に301をゲートリサイジングする事により遅延を改
善する事を考える。ゲートリサイジングの候補となるゲ
ートは、そのゲートが回路の違反パス上に存在し、その
ゲート自身の遅延が大きい場合、そのゲートの出力側配
線の配線容量,配線抵抗,配線遅延が大きい場合に一定
の判定基準を設けて遅延改善の効果が大きいと予想され
るものから順に選択する。
【0059】図4は301を、等価な論理であり、より
駆動能力の大きいゲート401に置き換えたものであ
る。ここでゲートを置き換えた場合新しいゲートは再レ
イアウト処理において元のゲートの位置にそのまま配置
できる可能性が高いと考えられるので、このゲートに接
続する配線の形状、位置もほとんど変わらないとみな
す。そこでゲート301をゲート401に置き換えた場
合の遅延計算は元の回路の配線310と311の配線容
量や配線抵抗などのレイアウト情報をそのまま用いて行
う。
【0060】ゲート301と論理的に等価なゲートが複
数存在する場合は、それらの全てのゲートに対して置き
換えを試みて、遅延改善の大きさや面積の増減などから
最適な置き換えであるものを選択する。適切なゲートの
置き換え候補が見つからなかった場合、およびゲート置
き換え後も回路に違反パスが残っている場合は引続き別
のゲートに対してゲートリサイジングを試みる。
【0061】再レイアウト処理104では初期レイアウ
ト処理102の結果をベースに最適化処理で変更が行わ
れた部分のみに対して、再レイアウト処理を行う。
【0062】バッファ挿入の場合、論理合成装置で計算
した相対的な挿入バッファ位置を制約としてレイアウト
装置に渡す。レイアウト装置ではこの位置情報をもと
に、バッファ配置、再レイアウトを行う。再レイアウト
の一手法としてはECO(Engineering C
hange Order)とよばれる手法があり、回路
変更があった部分のみの部分レイアウトを行う。バッフ
ァ配置後、最適化前の既配線とほぼ一致するように再配
線が行なわれる。
【0063】ゲート501挿入後の配線は311が50
1の部分で510と511に分割された以外は301の
形状を引き継ぐものと考える。バッファBUFによって
分割された配線510と511は、セグメント312の
0.3:0.7の位置にバッファをおいて分割するよう
に論理合成装置で計算したのであれば、レイアウト装置
でも同様に0.3:0.7の位置に配置されるようにバ
ッファをおく。この時、使用される挿入バッファ配線上
位置情報112はバッファ種類,バッファの位置0.
3,挿入すべき配線のセグメント312といった情報で
ある。そして配線は一致するように再配線がおこなわれ
る。挿入バッファをおく位置に既にゲートなど障害物が
存在する場合は、その位置の近傍の空いているスペース
にバッファを配置する。配線も一致するように再配線さ
れる。ゲートリサイジングの場合は、ゲートリサイジン
グする前にゲートがおかれていた位置にゲートを配置
し、配線は一致するように再配線する。しかし、ゲート
リサイジングにより、ゲートが大きくなった場合はその
近くの位置で空いているスペースにゲートを再配置し、
ほぼ元の配線と一致するように再配線を行う。
【0064】最後に制約違反判定105で遅延制約(要
求時刻)を満たせば終了、満たさなければ再び最適化1
03を実行する。
【0065】次に、本発明の第2の実施の形態について
説明する。本実施の形態は、基本的な構成については図
1と同様であるが、配線情報(抵抗、容量、形状)11
0のほかに配線の混雑度を扱うという点について第1の
実施の形態とは異なる。また、処理においては図2と同
様だが、セグメント最適化順計算203において配線混
雑度の高い場所を通るセグメントは最適化対象となるセ
グメントとして列挙しないようにする方法が一例として
あげられる。配線混雑度が高い部分にバッファを挿入し
ようとしても、最終的にバッファを目的の位置におけ
ず、その目的の場所から多少離れた位置に配置すること
になるため、論理合成における遅延見積もりは不正確な
ものとなる。そこでそのような位置にはバッファを挿入
しないようにするなどの手法が考えられる。
【0066】階層を保持したデータを扱う場合には論理
階層をまたぐゲート間接続が通る切口と実際の配線が論
理階層をまたぐときの切口が一致しない場合がある。図
8を例にあげると、論理階層803上の接続関係801
のような場合、レイアウト装置で扱う場合、配線802
のように論理階層をまたぐゲート間の切口と実際の配線
が論理階層をまたぐときの切口が一致しない。そのた
め、例えばバッファ804を挿入した時には論理階層と
の対応が取れなくなってしまう。論理階層のままバッフ
ァ挿入による最適化を行う場合、レイアウト装置で階層
的にレイアウトをおこなうことができればこの問題は解
決できる。つまり、階層ごとにレイアウトを行い、論理
階層をまたがる配線は論理階層における切口と同じ場所
を通るように配線する。
【0067】
【発明の効果】本発明のレイアウト考慮回路最適化装置
及び方法では、初期レイアウト情報を用いて、レイアウ
トを考慮した回路最適化を行うことにより、遅延値や消
費電力を正確に計算する事が出来る。さらに、再レイア
ウト処理に対してレイアウト制約を与える事により、回
路最適化を行った時に想定したレイアウト情報に近くな
るように再レイアウト処理を行い、最適化時の見積り結
果と再レイアウト後の結果の誤差を最小限に押え、回路
最適化処理の繰り返し処理回数を低減し、短期間で回路
設計を終える事ができる。
【0068】本発明の効果を評価するために第1の実施
例についての実験を行った。データはRC遅延の全遅延
に占める割合が大きくなってくるといわれる配線幅0.
35μmの設計をおこなったと想定した3種類の回路で
ある。初期合成を行った回路はレイアウト時に遅延制約
を考慮した配置配線は行っていない。遅延制約はパスの
終点に最大遅延の1/2を要求時刻として設定してい
る。使用データは表1のとおりである。表1はゲート数
とチップのゲート使用率を表す。
【0069】
【表1】
【0070】このデータに最適化をかけた実験結果を表
2に示す。表2は、最適化前、最適化後レイアウト前、
最適化後レイアウト後の最大違反遅延である。( )は
最適化前の最大違反遅延との遅延比率を表しており約1
5−20%の最大遅延最適化が可能なことを示してい
る。また、レイアウト前後の遅延誤差が小さいことから
本発明の最適化は遅延を正確に見積もる手法であること
を示している。
【0071】
【表2】
【図面の簡単な説明】
【図1】本発明による遅延最適化装置の説明図。
【図2】本発明による遅延最適化方法の説明図。
【図3】初期レイアウト後の最適化前の回路例。
【図4】本発明の第1の実施列の動作例。
【図5】本発明の第1の実施例の動作例。
【図6】本発明の第1の実施例の動作例。
【図7】Elmore遅延計算例。
【図8】本発明における制限の説明図。
【図9】従来技術1の説明図。
【図10】従来技術1の動作例。
【図11】従来技術2の説明図。
【図12】従来技術3の説明図。
【符号の説明】
101 初期合成処理 102 初期レイアウト処理 103 レイアウト後の回路最適化処理 104 再レイアウト処理 105 制約判定処理 110 配線情報(抵抗、容量、形状) 111 回路変更情報 112 挿入バッファ配線上位置情報 201 最適化実行判定 202 対象配線選択 203 セグメント最適化順計算 204 対象セグメント存在判定 205 挿入バッファ、挿入位置計算 206 採用判定 207 回路変更 301〜305 ゲート 310,311 配線 312 最適化対象セグメント 401 ゲートリサイジングしたゲート 501 挿入バッファ 510,511 セグメント311分割後の配線 601 挿入バッファ 602,603 分岐点 701,703,705,706 端子 702,704 分岐点 801 論理階層間接続 802 配線 803 論理階層 804 バッファ 901 初期合成処理 902 ゲート初期配置 903 最適化 904 ゲート再配置 905 制約判定処理 906 配線 910 レイアウト情報 911 回路変更情報 912 ゲート配置制約情報 1001〜1005 ゲート 1101 初期合成処理 1102 初期レイアウト 1103 最適化 1104 再レイアウト 1105 制約判定処理 1110 レイアウト情報(配線容量、配線遅延) 1111 回路変更情報 1201 初期合成処理 1202 初期レイアウト 1203 最適化 1204 再レイアウト 1205 制約判定処理 1210 ゲート配置座標情報 1211 回路変更情報
───────────────────────────────────────────────────── フロントページの続き (72)発明者 河原林 政道 東京都港区芝五丁目7番1号 日本電気株 式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 回路設計最適化において、回路の初期レ
    イアウト結果から前記回路の配線セグメントの接続関係
    およびセグメントごとの容量・抵抗値である配線情報を
    求める手段と、前記配線情報を参照して前記初期レイア
    ウトの最適化を行い回路変更情報を出力する回路最適化
    手段と、前記回路変更情報に基づき前記回路の再レイア
    ウトを行う再レイアウト手段とを備えたレイアウト考慮
    遅延最適化装置において、前記回路最適化手段が、挿入
    バッファのセグメント上の配置位置比率を表す挿入バッ
    ファ配線上位置情報を求める手段を有することを特徴と
    するレイアウト考慮遅延最適化装置。
  2. 【請求項2】 回路設計最適化において、回路中の最適
    化対象パスの存在を判定し、最適化処理の実行を判定す
    るステップと、前記最適化対象パスの存在判定に基づき
    最適化対象配線を選択するステップと、前記最適化対象
    配線のセグメントの最適化順序を決定するステップと、
    挿入バッファ,インバータの種類および位置を計算する
    ステップと、前記挿入バッファ,インバータの種類およ
    び位置の計算結果により回路変更を行うステップとを含
    むことを特徴とするレイアウト考慮遅延最適化方法。
  3. 【請求項3】 前記挿入バッファ,インバータの種類お
    よび位置を計算するステップは、前記回路中において当
    該計算結果により変更される部分の遅延計算を行い、最
    も遅延が改善される計算結果を出力することを特徴とす
    る請求項2記載のレイアウト考慮遅延最適化方法。
  4. 【請求項4】 前記最適化処理の実行を判定するステッ
    プは、前記回路中の最大違反パス上の配線に対してバッ
    ファ挿入を行い、当該バッファ挿入による遅延改善結果
    により最適化処理の実行を判定することを特徴とする請
    求項2記載のレイアウト考慮遅延最適化方法。
  5. 【請求項5】 前記回路設計最適化において、前記最適
    化処理の実行を判定するステップにおいて前記回路中の
    全てのセグメントについて前記最適化対象パスの存在を
    判定したことを判定するステップと、前記挿入バッフ
    ァ,インバータの種類および位置の計算結果に基づく回
    路全体のタイミング解析を行うステップをさらに含むこ
    とを特徴とする請求項2記載のレイアウト考慮遅延最適
    化方法。
JP8323108A 1996-12-03 1996-12-03 レイアウト考慮遅延最適化装置および方法 Pending JPH10163330A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8323108A JPH10163330A (ja) 1996-12-03 1996-12-03 レイアウト考慮遅延最適化装置および方法
US08/866,682 US6009248A (en) 1996-12-03 1997-05-30 Delay optimization system to conduct optimization for satisfying delay constraints on the circuit and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8323108A JPH10163330A (ja) 1996-12-03 1996-12-03 レイアウト考慮遅延最適化装置および方法

Publications (1)

Publication Number Publication Date
JPH10163330A true JPH10163330A (ja) 1998-06-19

Family

ID=18151176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8323108A Pending JPH10163330A (ja) 1996-12-03 1996-12-03 レイアウト考慮遅延最適化装置および方法

Country Status (2)

Country Link
US (1) US6009248A (ja)
JP (1) JPH10163330A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272687A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd 半導体集積回路のタイミング検証方法及びタイミング検証装置
JP2007329361A (ja) * 2006-06-09 2007-12-20 Fujitsu Ltd 設計支援プログラム、該プログラムを記録した記録媒体、設計支援方法、および設計支援装置
JP2010146047A (ja) * 2008-12-16 2010-07-01 Renesas Electronics Corp バッファ回路挿入方法、バッファ回路挿入装置及びバッファ回路挿入プログラム

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2877083B2 (ja) * 1996-06-27 1999-03-31 日本電気株式会社 回路設計の最適化装置
DE19736043A1 (de) * 1997-08-20 1999-03-04 Comcad Gmbh Analog Design Supp Automatisches Verfahren zur technischen Realisierung physikalischer Systeme
JP3777768B2 (ja) * 1997-12-26 2006-05-24 株式会社日立製作所 半導体集積回路装置およびセルライブラリを記憶した記憶媒体および半導体集積回路の設計方法
US6286128B1 (en) * 1998-02-11 2001-09-04 Monterey Design Systems, Inc. Method for design optimization using logical and physical information
JP3530025B2 (ja) * 1998-06-16 2004-05-24 富士通株式会社 概略配線決定方法及び記憶媒体
US6230302B1 (en) * 1998-07-20 2001-05-08 International Business Machines Corporation Method and system for performing timing analysis on an integrated circuit design
US6510542B1 (en) * 1998-10-08 2003-01-21 Kabushiki Kaisha Toshiba Method of placing a repeater cell in an electricalcircuit
US6256766B1 (en) * 1998-11-03 2001-07-03 Lucent Technologies, Inc. Method and apparatus for reducing clock skew
US6327693B1 (en) * 1999-04-08 2001-12-04 Chung-Kuan Cheng Interconnect delay driven placement and routing of an integrated circuit design
US6606587B1 (en) * 1999-04-14 2003-08-12 Hewlett-Packard Development Company, L.P. Method and apparatus for estimating elmore delays within circuit designs
US6412101B1 (en) * 1999-06-08 2002-06-25 Hewlett-Packard Company Simultaneous path optimization (SPO) system and method
US6460165B1 (en) * 1999-06-17 2002-10-01 University Of Rochester Model for simulating tree structured VLSI interconnect
US6389581B1 (en) * 1999-07-16 2002-05-14 Silicone Graphics Inc. Optimizing repeaters positioning along interconnects
JP2001273341A (ja) * 2000-03-27 2001-10-05 Toshiba Corp 回路設計装置、回路設計方法、回路設計プログラムを格納したコンピュータ読取り可能な記録媒体および回路製造方法
JP2002134619A (ja) * 2000-10-26 2002-05-10 Sony Corp 集積回路の設計方法、その設計装置、および記録媒体
US7010767B2 (en) * 2000-11-01 2006-03-07 Cadence Design Systems, Inc. Insertion of repeaters without timing constraints
JP4031905B2 (ja) * 2000-11-09 2008-01-09 富士通株式会社 回路設計装置及び回路設計方法
US6546539B1 (en) 2000-12-14 2003-04-08 Lsi Logic Corporation Netlist resynthesis program using structure co-factoring
US6557144B1 (en) 2000-12-14 2003-04-29 Lsi Logic Corporation Netlist resynthesis program based on physical delay calculation
US6996512B2 (en) * 2001-04-19 2006-02-07 International Business Machines Corporation Practical methodology for early buffer and wire resource allocation
US6523156B2 (en) 2001-06-08 2003-02-18 Library Technologies, Inc. Apparatus and methods for wire load independent logic synthesis and timing closure with constant replacement delay cell libraries
JP3992947B2 (ja) * 2001-06-22 2007-10-17 富士通株式会社 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム
US6711719B2 (en) * 2001-08-13 2004-03-23 International Business Machines Corporation Method and apparatus for reducing power consumption in VLSI circuit designs
US7243323B2 (en) * 2001-08-29 2007-07-10 Infineon Technologies Ag Integrated circuit chip design
US7007247B1 (en) * 2002-05-24 2006-02-28 Cadence Design Systems, Inc. Method and mechanism for RTL power optimization
US6886152B1 (en) * 2002-08-09 2005-04-26 Xilinx, Inc. Delay optimization in signal routing
US6915496B2 (en) * 2002-09-26 2005-07-05 International Business Machines Corporation Apparatus and method for incorporating driver sizing into buffer insertion using a delay penalty estimation technique
US7191416B2 (en) * 2003-01-27 2007-03-13 Stmicroelectronics Limited System and method for modifying integrated circuit hold times
US7007248B2 (en) * 2003-05-15 2006-02-28 Lsi Logic Corporation Method and apparatus for implementing engineering change orders
US7178118B2 (en) 2003-05-30 2007-02-13 Synplicity, Inc. Method and apparatus for automated circuit design
US7251800B2 (en) * 2003-05-30 2007-07-31 Synplicity, Inc. Method and apparatus for automated circuit design
US7243312B1 (en) * 2003-10-24 2007-07-10 Xilinx, Inc. Method and apparatus for power optimization during an integrated circuit design process
US7356784B1 (en) * 2003-12-05 2008-04-08 Cadence Design Systems, Inc. Integrated synthesis placement and routing for integrated circuits
US7100140B2 (en) * 2003-12-23 2006-08-29 International Business Machines Corporation Generation of graphical congestion data during placement driven synthesis optimization
US20050229142A1 (en) * 2004-04-09 2005-10-13 Zenasis Technologies, Inc. System and method for automated accurate pre-layout estimation of standard cell characteristics
US7441211B1 (en) 2005-05-06 2008-10-21 Blaze Dfm, Inc. Gate-length biasing for digital circuit optimization
US8490043B2 (en) 2005-05-06 2013-07-16 Tela Innovations, Inc. Standard cells having transistors annotated for gate-length biasing
US7331029B2 (en) * 2005-09-22 2008-02-12 International Business Machines Corporation Method and system for enhancing circuit design process
US20070283301A1 (en) * 2006-06-05 2007-12-06 Karandikar Arvind K System and Method of Eliminating Electrical Violations
US7958467B2 (en) * 2006-06-20 2011-06-07 Adtran, Inc. Deterministic system and method for generating wiring layouts for integrated circuits
US8201011B1 (en) 2007-09-26 2012-06-12 Oracle America, Inc. Timing optimization for paths in a processor
JP5034933B2 (ja) * 2007-12-26 2012-09-26 富士通セミコンダクター株式会社 半導体装置の製造方法
JP4938696B2 (ja) * 2008-01-24 2012-05-23 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
US7913213B2 (en) * 2008-04-10 2011-03-22 Oracle America, Inc. Tool and method for automatically identifying minimum timing violation corrections in an integrated circuit design
US8255196B2 (en) * 2008-08-25 2012-08-28 Fujitsu Limited Constructing a replica-based clock tree
DE102010019115A1 (de) * 2010-04-30 2011-11-03 Gottfried Wilhelm Leibniz Universität Hannover Verfahren zum Einfügen von Repeatern in einem integrierten Schaltkreis
US8984464B1 (en) * 2011-11-21 2015-03-17 Tabula, Inc. Detailed placement with search and repair
US8621405B2 (en) * 2012-05-31 2013-12-31 Synopsys, Inc. Incremental elmore delay calculation
CN103777677B (zh) * 2012-10-22 2017-02-08 英业达科技有限公司 印刷电路板与其信号时序控制方法
CN103777528B (zh) * 2012-10-22 2016-08-24 英业达科技有限公司 印刷电路板与其信号时序控制方法
JP2015053001A (ja) * 2013-09-09 2015-03-19 株式会社東芝 半導体集積回路のレイアウト方法、及び、半導体集積回路のレイアウトプログラム
US9405880B2 (en) * 2014-05-16 2016-08-02 Taiwan Semiconductor Manufacturing Company Limited Semiconductor arrangement formation
US10223489B2 (en) * 2016-11-30 2019-03-05 International Business Machines Corporation Placement clustering-based white space reservation
CN110377922B (zh) * 2018-04-12 2023-06-30 龙芯中科技术股份有限公司 保持时间违例修复方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
JP3243033B2 (ja) * 1993-02-19 2002-01-07 株式会社日立製作所 半導体集積回路及びその素子配置配線方法
US5727187A (en) * 1995-08-31 1998-03-10 Unisys Corporation Method of using logical names in post-synthesis electronic design automation systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272687A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd 半導体集積回路のタイミング検証方法及びタイミング検証装置
JP2007329361A (ja) * 2006-06-09 2007-12-20 Fujitsu Ltd 設計支援プログラム、該プログラムを記録した記録媒体、設計支援方法、および設計支援装置
US8732643B2 (en) 2006-06-09 2014-05-20 Fujitsu Limited Support method, design support apparatus, computer product using combination pattern is prepared in advance
JP2010146047A (ja) * 2008-12-16 2010-07-01 Renesas Electronics Corp バッファ回路挿入方法、バッファ回路挿入装置及びバッファ回路挿入プログラム

Also Published As

Publication number Publication date
US6009248A (en) 1999-12-28

Similar Documents

Publication Publication Date Title
JPH10163330A (ja) レイアウト考慮遅延最適化装置および方法
US7251800B2 (en) Method and apparatus for automated circuit design
US8990743B2 (en) Automated circuit design
JP3737104B2 (ja) プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法
US8732645B2 (en) Placement and routing cells on integrated circuit chips
US6711729B1 (en) Methods and apparatuses for designing integrated circuits using automatic reallocation techniques
US6701505B1 (en) Circuit optimization for minimum path timing violations
US6543041B1 (en) Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement
US9208281B2 (en) Optimizing designs of integrated circuits
US8607178B2 (en) Integrated circuit chip with repeater flops and methods for automated design of same
US7519933B2 (en) Converging repeater methodology for channel-limited SOC microprocessors
US20040049753A1 (en) System for estimating performance of integrated circuit in register transfer level
US10831971B1 (en) Net layer promotion with swap capability in electronic design
US6532583B1 (en) Global routing determination method and storage medium
JP3107207B2 (ja) 論理回路改善方法および論理回路改善方式
Chen et al. Buffered routing tree construction under buffer placement blockages
JP2000231583A (ja) 論理合成方法及び装置
JP2000294646A (ja) 半導体集積回路および設計方法
JPH11260927A (ja) Lsi内信号分配方式とlsi内信号分配方法
JPH11224903A (ja) レイアウト設計システムおよびレイアウト設計方法
JP2000250962A (ja) 半導体集積回路の遅延低減配置処理装置および遅延低減配置処理方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001010