JP4015807B2 - タイミングドリブンレイアウト手法 - Google Patents

タイミングドリブンレイアウト手法 Download PDF

Info

Publication number
JP4015807B2
JP4015807B2 JP2000361276A JP2000361276A JP4015807B2 JP 4015807 B2 JP4015807 B2 JP 4015807B2 JP 2000361276 A JP2000361276 A JP 2000361276A JP 2000361276 A JP2000361276 A JP 2000361276A JP 4015807 B2 JP4015807 B2 JP 4015807B2
Authority
JP
Japan
Prior art keywords
block
limit value
timing
value
circuit
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.)
Expired - Fee Related
Application number
JP2000361276A
Other languages
English (en)
Other versions
JP2002163314A (ja
Inventor
和幸 入江
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 Electronics Corp
Original Assignee
NEC Electronics 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 Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2000361276A priority Critical patent/JP4015807B2/ja
Priority to US09/995,518 priority patent/US6584607B2/en
Publication of JP2002163314A publication Critical patent/JP2002163314A/ja
Priority to US10/404,339 priority patent/US6901567B2/en
Application granted granted Critical
Publication of JP4015807B2 publication Critical patent/JP4015807B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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

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)

Description

【0001】
【発明の属する技術分野】
本発明は半導体集積回路の自動レイアウト手法に関し、特にファンアウト容量制限値を設けたタイミングドリブンレイアウト手法に関する。
【0002】
【従来の技術】
現在の半導体集積回路は、大規模化及び高速化が急激に進み、配置配線されたレイアウトによるタイミングエラーを人手によって限りなくゼロにタイミング収束することが非常に困難になりつつある。その解決策として、タイミングドリブンレイアウトと呼ばれるタイミング収束の自動化が図られるようになってきた。
【0003】
しかしながら、従来のタイミングドリブンレイアウト手法では、図7に示すように、タイミング制約ファイルといったタイミングエラー収束用改善箇所を特定するのに用いるデータが必要であり、従来のタイミングドリブンレイアウト手法は、そのデータの記述如何によって回路最適化箇所の特定及び最適化内容が大幅に影響されてしまうという問題があった。
【0004】
更に、従来技術ではタイミングドリブンレイアウトツール内で配線長を予測し、予測遅延値を算出して回路最適化箇所の特定及び最適化内容を決定していたため、従来技術は、実際の実配線遅延値と予測遅延値との誤差が生じ、正確に最適化できない状況であった。
【0005】
そのため、従来技術は、配置配線終了後に配線修正をしてしまうので、予測した配線長が実際の実配線とで異なってしまい、結果的にタイミングエラーが収束されない事態に陥る可能性があった。
【0006】
【発明が解決しようとする課題】
本発明の目的は、LSIを構成する機能ブロックのファンアウト容量制限値を設け、高速化動作をしていない箇所を特定して、回路の高速化を最大限まで最適化し、回路面積の縮小化と配線性効率化の向上が得られるタイミングドリブンレイアウト手法を提供することである。
【0007】
本発明の他の目的は、回路変更箇所を極限して、クリティカルな箇所のみの回路変更とし、タイミング収束効果の向上が得られるタイミングドリブンレイアウト手法を提供することである。
【0008】
また、本発明の他の目的は、実配線での配線容量値によりファンアウト容量制限確認をして、正確に配線容量値大の箇所を特定し、正確な回路の最適化が得られるタイミングドリブンレイアウト手法を提供することである。
【0009】
【課題を解決するための手段】
本発明は、タイミングドリブンレイアウト手法におけるタイミングエラー発生原因をタイミング制約ファイルを必要とせずにタイミングエラーを限りなくゼロに収束可能とし、かつ、自動レイアウトツール内部で概略配線遅延値を計算するという概念を無くしたことで、実配線遅延値との遅延値誤差を無くすということを特徴としている。
【0010】
本発明のタイミングドリブンレイアウト手法は、LSIを構成する各機能ブロック毎の最高速化となるファンアウト容量制限値を、高速化用ファンアウト容量制限値ライブラリーとしてメモリに格納し、
配置配線されたレイアウト結果を使用して前記各ブロック毎の配線容量値を抽出し、
前記各ブロック毎の配線容量値と各ブロックに対応する前記ファンアウト容量制限値とを照合し、
前記ファンアウト容量制限値を満足しないブロックをタイミングエラー発生原因回路箇所と判断し、
前記タイミングエラー発生原因回路箇所を前記ファンアウト容量制限値を満足する回路に回路変更して高速化させ、前記タイミングエラー発生原因回路箇所によるタイミングエラーをエラーのない状態に収束させる。
【0011】
この場合、前記高速化用ファンアウト容量制限値ライブラリーは、同一機能を有するブロックの中であらかじめ遅延の小さい値となるように回路素子の組み合わせをライブラリー化したものであり、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最小構成を選択できるようにしたライブラリーであるとしてもよい。
【0012】
また、前記回路変更は、ブロックタイプを低駆動能力タイプに変更し、その後段かつ近傍に前記低駆動能力タイプのファンアウト容量制限値を超えないように高駆動能力ブロックを挿入することを含むこととしてもよい。
【0013】
また、前記回路変更が、前記ライブラリーの高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる回路素子の最適化構成を選択することとしてもよい。
【0014】
また、前記回路変更は、前記ブロックタイプを高駆動能力タイプに変更することにより前記ファンアウト容量制限値を満足できる場合には、高駆動能力タイプへの変更を行い、前記ブロックタイプの変更によって前記ファンアウト容量制限値を満足できない場合には、ブロックタイプを低駆動能力化させ、後段の近傍配置位置に高駆動能力ブロックを挿入することとしてもよい。
【0015】
また、前記回路変更が、より低駆動能力のブロックに置き換えてもファンアウト容量制限値を満足する場合には、より、低駆動能力のブロックに置き換えることを含むこととしてもよい。
【0016】
また、前記回路変更が、最適化構成として、複数個の高駆動能力ブロックを挿入する最小遅延値となる回路素子の最適化構成を選択することとしてもよい。
【0017】
また、前記回路変更が、最小遅延値となる回路素子の最適化構成を配置するとしてもよい。
【0018】
また、前記最小遅延値となる回路素子の最適化構成の配置が、複数の挿入ブロックで構成される場合、2段目以降の挿入ブロックを均等距離に配置するとしてもよい。
【0019】
また、前記最小遅延値となる回路素子の最適化構成の配置、低駆動能力ブロックの後段に接続されている高駆動能力ブロック、低駆動能力ブロックの近傍位置に配置するとしてもよい
【0020】
また、前記回路変更が、高周波数の回路箇所であれば最高速化し、低周波数の回路箇所であれば高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施すとしてもよい
【0021】
また、前記回路変更が、最高速化の回路変更をする際に、パス毎に目標とする遅延値が決っていた場合、パス毎に遅延計算を行なった結果タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を中止するとしてもよい。
【0022】
さらに、初期レイアウト結果でのタイミングエラーリストが存在するか否かを判定し、前記タイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なすとしてもよい。
【0023】
また、前記タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合、不足しているホールドエラー遅延分を満たすようにディレイブロックを追加するとしてもよい。
【0024】
さらに、タイミングエラーリストとの照合を実施する際にタイミングエラーリスト以外の回路箇所であってもタイミングエラーリスト以外の回路箇所のファンアウト容量制限値をより緩いファンアウト容量制限値に置き換え最適化させるとしてもよい
【0025】
さらに、最適化を施した回路変更後に回路接続情報としてネットリストを作成し、前記ネットリストの回路接続情報により自動的にレイアウト変更を実施するか、もしくは、最適化を施した回路変更後の回路接続情報に基き直接レイアウト上で変更を実施するとしてもよい。
【0026】
また、前記初期レイアウトのレイアウト変更が、ブロックタイプが変更されたブロックを元の配置位置に配置し、挿入されたブロックの1段目を前段の近傍に配置するとしてもよい
【0027】
さらに、配線が終了した段階で、遅延値データファイルを作成し、前記遅延値データファイルを用いてタイミング検証し、タイミング検証結果タイミングエラーが収束しなかった場合には、前記ファンアウト容量制限値により回路変更して高速化を繰り返すとしてもよい。
【0028】
また、前記配置配線された前記各ブロック毎の配線容量値が、前記各ブロック毎の予測配線容量値であるとしてもよい。
【0030】
図1は本発明のフローチャートであり、図2は更に詳細に説明した本発明のフローチャートである。
【0031】
図1に示すフローのように、本発明のタイミングドリブンレイアウト手法は、最高速化となるLSIを構成する機能ブロックのファンアウト容量制限値を各ブロックのライブラリーとしてメモリに格納し、高速化ファンアウト容量制限値を満足しなかった回路箇所をタイミングエラー発生原因回路箇所と判断する。つまり、本発明のタイミングドリブンレイアウト手法は、この高速化用ファンアウト容量制限値のエラー発生箇所を高速化させることでタイミングエラーを限りなくゼロに収束させる機能を有する。これは、まだ高速化可能である可能性を持っている回路箇所を最大限まで高速化させるこをによって本発明の目的を達成するためである。
【0032】
また、高速化させる際に適用されるブロックの最適化構成は、図3に示すように、あらかじめ遅延の小さい順となるような回路素子の組み合せをライブラリー化しておき、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最適化構成を選択する。
【0033】
図3は、遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。図3の例で説明すると、例えば、配線容量値+ファンイン容量値が0.8pFであった場合、選択される組み合せは図3の(3)の論理逆転タイプとなる。なお、図3の(3)または(4)の例のように1つのブロックを挿入したとしても、高速化用ファンアウト容量制限値を満足できない場合、本手法は、最も早い組み合せに対して、複数個のブロック挿入を実施する。
【0034】
図3の例で説明すると、本手法は、遅延値の小さい図3の(3)に対して、続けてブロックを挿入していくこととなる。なお、この場合、挿入される2個目以降のブロックは均等距離に配置される前提で、最も高速化となる組み合せを探索し、挿入必要個数及び挿入ブロックタイプを選択する。
【0035】
また、本手法は、タイミングエラーパスに含まれるブロック名とインスタンス名が記述されているタイミングエラーリストが存在すれば、このタイミングエラーリストと高速化用ファンアウト容量制限値違反箇所とで照合し、合致する箇所のみ最適化対象とすることで、クリティカルな箇所のみ限定した最適化が可能となる。
【0036】
また、本手法は、図6に示すように、低駆動能力ブロックの後段に高駆動能力ブロックが接続される場合で、かつ、これらの配置位置間隔が離れている箇所が存在した場合、高駆動能力ブロックを前段の低駆動能力ブロックの直後の配置位置に移動する処置も施す。これは、低駆動能力ブロックで賄いきれない配線容量値を後段の高駆動能力ブロックに任せることで無駄に高駆動能力ブロックの追加を防ぐことができ、配線効率を向上させるという効果が得られるためである。
【0037】
【発明の実施の形態】
次に本発明の実施例について図面を参照して詳細に説明する。図1は本実施例のフローチャートであり、図2は本実施例の更に詳細に説明したフローチャートである。図3はLSIを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値を遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。なお、本動作は配置配線が完了した後に行うものである。
【0038】
ファンアウト容量制限値は、ファンアウトエラー制限値が1/3程度までの中でブロックと配線の遅延値とブロック単体遅延値の差がほぼ最小となるファンアウト容量値のことである。図4にアンド回路とバッファ回路を例にファンアウト容量制限値を示す。
【0039】
図4によれば、機能ブロックがアンド回路の場合、ブロックの配線容量値と接続先のファンイン容量値はファンアウトエラー制限値100%に相当する1pFからファンアウトエラー制限値30%に相当する0.3pFであり、ブロックと配線による遅延値も1nSから0.5nSに分布している。 ブロック単体遅延値(Tpd0値)を0.4nSとするとブロックと配線による遅延値とTpd0値の差0.1nsが最大のファンアウトエラー%値となり、ファンアウト容量制限値は0.4pFとなる。同じように、機能ブロックがバッファ回路の場合、 Tpd0値を0.3nSとするとブロックと配線による遅延値とTpd0値の差0.1nsが最大のファンアウトエラー%値となり、ファンアウト容量制限値は2pFとなる。
【0040】
本実施例による手法の動作フローは、まず、完了した配置配線結果からLSIを構成する機能ブロックの出力端における配線容量値を配置配線が完了したレイアウト結果を使用して出力させる(図1の1)。次に各ブロックの出力端子毎に決められた最も高速化となる高速化用ファンアウト容量制限値を各ブロック毎にライブラリーとしてメモリに記憶しておき、LSIを構成する機能ブロックの出力端における配線容量値が各ブロックの出力端子毎に決められた最も高速化となる高速化用ファンアウト容量制限値を満たしているか否かの確認を実施する(図1の2)。このファンアウト容量制限値とは、高速動作を維持できる限界の配線容量値を本値と設定する。
【0041】
次に高速化用ファンアウト容量制限値を満たさなかった回路箇所の対処について説明する。ファンアウト容量制限値を満たさなかった回路箇所は、ファンアウト容量制限値を満たすように回路変更を施す(図1の3)。その手法の詳細は、図3に示すように、まず 対象ブロックと同等機能になる構成を遅延値が小さい順にテーブル化された高速化用ファンアウト容量制限値から最も高速化となる高速化用ファンアウト容量制限値からファンアウト容量制限値を満たす最小遅延構成になるように回路変更を行うというものである。
【0042】
本手法は、最適化構成として、ブロックタイプを高駆動能力タイプへの変更もしくは、ブロックタイプを低駆動能力化させ、近傍配置位置に高駆動能力ブロックを挿入するといった方法で最適化構成を選択して行う。なお、本手法は、高駆動能力ブロック1つを挿入しても高速化用ファンアウト容量制限値を満足できない場合、挿入する高駆動能力ブロックの高速化用ファンアウト容量制限値を満たす条件で、複数個の高駆動能力ブロックを挿入する。その場合で、本手法は、最も高速遅延値となる高駆動能力ブロックタイプ構成を選択する。
【0043】
また、過剰に高駆動能力なブロックを使用している回路箇所は、ブロックの削除 及びブロックタイプの面積最小化変更を実施し、ブロック総面積の縮小化も合せて行う。
【0044】
この場合の過剰な高駆動能力と判断するのは、ファンアウト容量制限値を満たしている箇所で かつ ブロックタイプの面積を縮小化 または ブロック削除してもファンアウト容量制限値を満たしている場合を指す。なお、低駆動能力タイプにブロックタイプ変更されたとしても、近傍配置挿入される高駆動能力ブロックのファンイン容量値を高速動作維持できる状態で駆動できることを前提に最適化順序のテーブル化が行なわれているものとする。
【0045】
また、本手法は、既に初期レイアウト結果でのタイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なす(図1の0)。
【0046】
なお、本手法は、タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合は、逆にその箇所は高速化させずに不足しているホールドエラー遅延分を満たすようにディレイブロックを追加させる。
【0047】
次に本手法は、最適化を施した回路変更後ネットリストにて初期レイアウトのレイアウト変更を実施するか、もしくは、最適化を施した回路変更後の回路接続情報に直接レイアウト上で変更実施する(図1の4)。図5に示すように、前記、ブロックタイプ変更されたブロックは元の配置位置に配置し、挿入されたブロックの1段目は前段に近傍配置させる。
【0048】
複数の挿入ブロックが存在した場合、残りの2段目以降の挿入ブロックは、図5に示すように、均等距離に配置させる。更に、低駆動能力ブロックの後段に接続されている高駆動能力ブロックは、図6に示すように、必ず低駆動能力ブロックの近傍位置に配置されるよう配置位置を移動させる。この場合、近傍位置に配置移動されたブロックは元々自身が負担していた配線容量値に前段の低駆動能力ブロックが負担していた配線容量値を加えた容量値を負担している。そのため、本手法は、この近傍配置位置変更後の容量値で再度ファンアウト容量制限値を満足しているか否かを確認し、満足しなかった場合は前記と同様の処置で配置移動したブロックも最適化回路変更を施す。全ての配置が終了した時点で、本実施例の最適化手法は終了する。
【0049】
なお、本手法は、配線が終了し、作成された遅延値データファイルを用いたタイミング検証でもタイミングエラーが収束しなかった場合、図1の1の項目に戻り図1の2から図1の4と同様の処置を繰返す。
【0050】
次に、実施例の詳しい動作につき図2を用いて説明する。まず、本手法は、初期の配置配線を完了させ、実配線での各ブロックの配線容量値として配線容量値データファイルを配置配線が完了したレイアウト結果を使用して出力させる(図2の1)。
【0051】
次に、本手法は、あらかじめ、LSIを構成する各機能ブロックの出力端子毎に定義した最高速化となるファンアウト容量の制限値をライブラリーとして設けておき、本制限値を満たしているか否かの判定を、実配線でのブロックの配線容量値とそのブロックに対応する機能ブロックの最高速化となるファンアウト容量の制限値とを照合して、実施する。なお、通常のファンアウトの制限とは配線なまり等の影響によりブロックが正常に動作しなくなる制限値を指すものであり、今回の最高速となる制限値とは意を異にする。
【0052】
具体的な数値例として、最高速化となるファンアウト容量制限値は、通常ファンアウト容量制限が0.1pFで100%だと仮定した場合、最高速となるファンアウト容量制限値が0.04pFだったとした場合、通常ファンアウト容量の制限で例えると通常ファンアウト制限値エラーでの40%値が最高速となる(図2の2)。
【0053】
次に、本手法は、最高速化となるファンアウト容量制限値を違反したブロックを制限値を満たすようにブロックタイプ変更、ブロック挿入、ブロック削除といった回路変更を施す(図2の3)。更に、本手法は、初期レイアウト結果におけるタイミングエラーのリストが存在していた場合には、本タイミングエラーリスト箇所と高速化用ファンアウト容量制限値違反箇所とで照合を行い、合致箇所のみ最適化回路変更を施す(図2の4)。
【0054】
なぜならば、本手法は、タイミングエラー箇所のみ回路変更を施すことで最小限のレイアウト変更にとどめることができ、レイアウト変更後による配線性効率を上げることが可能になるからである。また、低駆動能力の後段に接続されてある高駆動能力ブロックは、低駆動能力ブロックの出力側に近傍移動させたという認識で最高速化用ファンアウト容量制限値を満足するか確認し、満足しなかった場合は前記と同様処置で最適化となる回路変更を施す。
【0055】
次に本手法は、最適化回路変更が必要と判断された箇所の回路変更を施したネットリストを作成するか もしくは、直接レイアウト上の回路接続情報を最適化後の回路変更後のものに変更する(図2の5)。この時点では、本手法は、まだネットリスト上 もしくはレイアウト上での回路変更が完了しただけの状態である。次に最適化配置を実施する(図2の6)。図4に示すように挿入された初段の高駆動能力ブロックは前段に近傍配置させ、2段目以降の挿入高駆動能力ブロックは均等距離に配置させていく。更に、低駆動能力ブロックの後段に接続されている高駆動能力ブロックは低駆動能力の出力に近傍配置位置移動させる。全ての配置が完了した後、本手法は、配線を実施し、その後、最適化後の遅延値データを用いてタイミング検証を実施する。本手法は、上記ステップ(図2の2)から ステップ(図2の7)までをタイミングエラーが限りなくゼロに収束するまで繰り返し、本動作が完了する。
【0056】
次に、本発明の他の実施例として、その基本的構成は上記の通りであるが、初期の配置配線を実施せずとも予測配線容量値を用いての本発明の実施か可能である。本実施例の手法は、単に予測配線容量値を用いて、高速化用ファンアウト容量制限値確認を実施し、違反している箇所を上記の通り最適化回路変更 及び 最適化配置を施す構成で最適化が可能である。なお、本手法の場合、あくまでも予測配線容量であるため、その効果は予測配線容量値の予測精度に依存する。
【0057】
また、本発明では配線容量値を用いて最高速化の判定が行われているが、他の手法として、配線容量値を遅延値といった他の単位での値を用いて最高速化の判定を行っても良い。この手法は、遅延値を用いることで直接どの程度の早さにすべきかという具体的な調整が可能となる。例えば、1pFが1nsという単位に置換え可能であれば、ns単位に換算しても最適化が可能である。
【0058】
また、本手法は、最高速化の回路変更をする際に、高速化させる度合を調整することで過剰に高速化させたことによる面積増加を防ぐことが可能である。例えば、高周波数の回路箇所であれば最高速化する必要があるが、低周波数の回路箇所までも最高速化させる必要がないため、その箇所は高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施す。
【0059】
さらに、本手法は、タイミングエラーリストとの照合を実施した際、タイミングエラーリスト以外の回路箇所であっても通常のファンアウト容量制限値を満足させるようにすることが可能である。例えば、その手法は、通常のファンアウト容量制限値を満足させたい場合は、タイミングエラーリスト以外の回路箇所の最高速化となるファンアウト容量制限値を最高速化とは異なる通常のファンアウト容量制限値に置換えることで緩い制限値として最適化させるものである。
【0060】
また、最高速化の回路変更をする際に、目標とする遅延値が決っていた場合、タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を止めるということも可能である。その場合、最適化された回路変更後の回路接続情報にて新たに遅延値を算出する必要があるが、その効果は算出する遅延値計算精度に依存する。
【0061】
更に、本発明は、エレクロトロンマイグレーション(electron migration:EM)やクロストークと言ったシグナルインティグリティエラー(signal integrity error:SIエラー)発生回路箇所が記述されているエラーリストを読みこませることで、高速化ファンアウト容量制限値違反箇所に含ませ、 SIエラーを収束することも可能となる。また、EMエラー箇所は、配線長大とならないように、ブロックタイプ変更よりは、ブロック挿入手法を主として最高速化の最適化を施す。例えば、最高駆動ブロック1個の挿入ではなく、中駆動ブロック2個の挿入といった処置で最適化を施す。なお、既に最高速化されてあった場合は、バッファを最低でも1つ追加するようにさせる。これは、EMエラー収束手法としては、高速化手法とは異なり、配線長の短縮化という手法の方が効果的であるからである。
【0062】
また、クロストークエラー箇所に関しては、最高速化させるのはもとより、更にSIエラーが発生している回路箇所の配線を隣接配線禁止させるようにする。これは、いくら回路を最高速化させても隣接している配線の影響によりクロストークエラーが発生してしまうことによる。なお、その場合、新たにブロック挿入したネットに関しても、同様に隣接配線禁止処置を施す。
【0063】
【発明の効果】
本発明によれば、LSIを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値をライブラリーとして設けることで、本来の高速化動作をしていない回路箇所の特定ができ、更に無駄に高駆動能力ブロックを使用している回路箇所の特定までも可能となる効果がある。回路の高速化を最大限まで最適化するのは勿論、回路面積の縮小化までも可能となり、配線性効率化の向上にもなる効果がある。よって、本発明によれば、タイミング制約ファイルに依存していた回路の最適化必要箇所の特定が、タイミング制約ファイルを必要とせずに容易に特定が可能という効果が得られる。
【0064】
更に、本発明によれば、初期レイアウトでのタイミングエラーリストとの照合により回路変更箇所を縮小することができ、クリティカルな箇所のみの回路変更となるため、タイミング収束にも効果が得られる。
【0065】
また、本発明によれば、実配線での配線容量値によってファンアウト容量制限確認をしていることにより、配線遅延計算誤差を生じることなく、正確に配線容量値大の箇所の特定ができ、正確に回路の最適化が可能となる効果が得られる。
【図面の簡単な説明】
【図1】本発明のタイミングドリブンレイアウト手法における一実施例のフローチャートである。
【図2】図1の一実施例を更に詳細に説明したフローチャートである。
【図3】LSIを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値を遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。
【図4】アンド回路とバッファ回路におけるファンアウト容量制限値を示す図である。
【図5】複数の挿入ブロックが存在した場合、残りの2段目以降の挿入ブロックを均等距離に配置させた図である。
【図6】低駆動能力ブロックの後段に接続されている高駆動能力ブロックを必ず低駆動能力ブロックの近傍位置に配置されるように配置位置を移動させた図である。
【図7】従来のタイミングドリブンレイアウト手法における一実施例のフローチャートである。

Claims (10)

  1. LSIを構成する各機能ブロック毎の最高速化となるファンアウト容量制限値を、高速化用ファンアウト容量制限値ライブラリーとしてメモリに格納し、
    複数のブロックを含んで配置配線されたレイアウト結果を使用して前記各ブロック毎の配線容量値とその接続先のファンイン容量値とを抽出し、
    前記各ブロック毎の配線容量値とその接続先のファンイン容量値とを合算した値と各ブロックに対応する前記ファンアウト容量制限値とを照合し、
    前記ファンアウト容量制限値を満足しないブロックをタイミングエラー発生原因回路箇所と判断し、
    前記タイミングエラー発生原因回路箇所を前記ファンアウト容量制限値を満足する回路に回路変更して高速化させ、前記タイミングエラー発生原因回路箇所によるタイミングエラーをエラーのない状態に収束させるタイミングドリブンレイアウト手法であって、
    前記回路変更が、前記ライブラリーの高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となるよう、ブロックタイプを高駆動能力タイプに変更することにより前記ファンアウト容量制限値を満足できる場合には、高駆動能力タイプへの変更を行い、前記ブロックタイプの変更によって前記ファンアウト容量制限値を満足できない場合には、ブロックタイプを低駆動能力タイプに変更し元の配置位置に配置し、その後段かつ近傍に前記低駆動能力タイプのファンアウト容量制限値を超えないように高駆動能力ブロックを挿入する変更と、
    高駆動能力ブロック1つを挿入しても高速化用ファンアウト容量制限値を満足できない場合に、挿入する高駆動能力ブロックの高速化用ファンアウト容量制限値を満たす条件で複数個の高駆動能力ブロックを挿入する変更と、
    低駆動能力ブロックの後段に高駆動能力ブロックが接続される場合で、かつ、これらの配置位置間隔が離れている箇所が存在した場合、高駆動能力ブロックを前段の低駆動能力ブロックの直後の配置位置に移動する変更と、
    を含むタイミングドリブンレイアウト手法。
  2. 前記高速化用ファンアウト容量制限値ライブラリーは、同一機能を有するブロックの中であらかじめ遅延の小さい値となるように回路素子の組み合わせをライブラリー化したものであり、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最小構成を選択できるようにしたライブラリーである請求項1記載のタイミングドリブンレイアウト手法。
  3. 前記回路変更が、より低駆動能力のブロックに置き換えてもファンアウト容量制限値を満足する場合には、より、低駆動能力のブロックに置き換えることを含む請求項1または2に記載のタイミングドリブンレイアウト手法。
  4. 前記回路変更が、高周波数の回路箇所であれば最高速化し、低周波数の回路箇所であれば高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施す請求項1または2に記載のタイミングドリブンレイアウト手法。
  5. 前記回路変更が、最高速化の回路変更をする際に、パス毎に目標とする遅延値が決っていた場合、パス毎に遅延計算を行なった結果タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を中止することを特徴とする請求項1または2に記載のタイミングドリブンレイアウト手法。
  6. さらに、初期レイアウト結果でのタイミングエラーリストが存在するか否かを判定し、前記タイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なす請求項1記載のタイミングドリブンレイアウト手法。
  7. 前記タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合、不足しているホールドエラー遅延分を満たすようにディレイブロックを追加する請求項記載のタイミングドリブンレイアウト手法。
  8. さらに、タイミングエラーリストとの照合を実施する際にタイミングエラーリスト以外の回路箇所であってもタイミングエラーリスト以外の回路箇所のファンアウト容量制限値をより緩いファンアウト容量制限値に置き換え最適化させる請求項記載のタイミングドリブンレイアウト手法。
  9. さらに、配線が終了した段階で、遅延値データファイルを作成し、前記遅延値データファイルを用いてタイミング検証し、タイミング検証結果タイミングエラーが収束しなかった場合には、前記ファンアウト容量制限値により回路変更して高速化を繰り返すことを特徴とする請求項1記載のタイミングドリブンレイアウト手法。
  10. 前記配置配線された前記各ブロック毎の配線容量値が、前記各ブロック毎の予測配線容量値である請求項1記載のタイミングドリブンレイアウト手法。
JP2000361276A 2000-11-28 2000-11-28 タイミングドリブンレイアウト手法 Expired - Fee Related JP4015807B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000361276A JP4015807B2 (ja) 2000-11-28 2000-11-28 タイミングドリブンレイアウト手法
US09/995,518 US6584607B2 (en) 2000-11-28 2001-11-28 Method of performing timing-driven layout
US10/404,339 US6901567B2 (en) 2000-11-28 2003-04-01 Method of performing timing-driven layout

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000361276A JP4015807B2 (ja) 2000-11-28 2000-11-28 タイミングドリブンレイアウト手法

Publications (2)

Publication Number Publication Date
JP2002163314A JP2002163314A (ja) 2002-06-07
JP4015807B2 true JP4015807B2 (ja) 2007-11-28

Family

ID=18832733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000361276A Expired - Fee Related JP4015807B2 (ja) 2000-11-28 2000-11-28 タイミングドリブンレイアウト手法

Country Status (2)

Country Link
US (2) US6584607B2 (ja)
JP (1) JP4015807B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584907B2 (en) * 2000-03-17 2003-07-01 Ensign-Bickford Aerospace & Defense Company Ordnance firing system
JP4015807B2 (ja) * 2000-11-28 2007-11-28 Necエレクトロニクス株式会社 タイミングドリブンレイアウト手法
US6766500B1 (en) * 2001-12-06 2004-07-20 Synopsys, Inc. Multiple pass optimization for automatic electronic circuit placement
JP2004172373A (ja) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd クロストーク修正方法
US7076758B1 (en) * 2003-08-07 2006-07-11 Xilinx, Inc. Using router feedback for placement improvements for logic design
US20050229142A1 (en) * 2004-04-09 2005-10-13 Zenasis Technologies, Inc. System and method for automated accurate pre-layout estimation of standard cell characteristics
JP4473163B2 (ja) * 2005-03-18 2010-06-02 富士通マイクロエレクトロニクス株式会社 スキャンチェーンのホールドエラー解消方法
WO2007002799A1 (en) * 2005-06-29 2007-01-04 Lightspeed Logic, Inc. Methods and systems for placement
US7752588B2 (en) * 2005-06-29 2010-07-06 Subhasis Bose Timing driven force directed placement flow
US7644383B2 (en) * 2005-06-30 2010-01-05 Texas Instruments Incorporated Method and system for correcting signal integrity crosstalk violations
US8332793B2 (en) * 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4694403A (en) * 1983-08-25 1987-09-15 Nec Corporation Equalized capacitance wiring method for LSI circuits
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
JP2856121B2 (ja) * 1995-09-29 1999-02-10 日本電気株式会社 回路遅延最適化方法及びその装置
JP4037944B2 (ja) * 1998-01-13 2008-01-23 松下電器産業株式会社 配線経路決定方法および遅延推定方法
JP2000133718A (ja) * 1998-10-23 2000-05-12 Mitsubishi Electric Corp 配線容量改善支援装置、配線容量改善支援方法および配線容量改善支援プログラムを記録した媒体
US6496965B1 (en) * 1999-09-20 2002-12-17 Magma Design Automation, Inc. Automated design of parallel drive standard cells
US6507938B1 (en) * 1999-11-12 2003-01-14 Intel Corporation Methods for improving the performance of VLSI layouts designed by a timing driven physical design tool
JP4015807B2 (ja) * 2000-11-28 2007-11-28 Necエレクトロニクス株式会社 タイミングドリブンレイアウト手法
JP4550268B2 (ja) * 2000-12-20 2010-09-22 古河電気工業株式会社 光・電気複合コネクタ
US6665830B2 (en) * 2001-01-31 2003-12-16 Hewlett-Packard Development Company, L.P. System and method for building a checksum
US6487705B1 (en) * 2001-09-05 2002-11-26 Nec Electronics, Inc. Timing optimization and timing closure for integrated circuit models

Also Published As

Publication number Publication date
US20030204827A1 (en) 2003-10-30
JP2002163314A (ja) 2002-06-07
US6901567B2 (en) 2005-05-31
US20020104066A1 (en) 2002-08-01
US6584607B2 (en) 2003-06-24

Similar Documents

Publication Publication Date Title
JP4237434B2 (ja) 集積回路のホールドタイムエラー修正方法及びその修正プログラム
US6701505B1 (en) Circuit optimization for minimum path timing violations
US6557145B2 (en) Method for design optimization using logical and physical information
US6496965B1 (en) Automated design of parallel drive standard cells
US7010763B2 (en) Method of optimizing and analyzing selected portions of a digital integrated circuit
US6662349B2 (en) Method of repeater insertion for hierarchical integrated circuit design
US5726903A (en) Method and apparatus for resolving conflicts between cell substitution recommendations provided by a drive strength adjust tool
JP4015807B2 (ja) タイミングドリブンレイアウト手法
US8316339B2 (en) Zone-based leakage power optimization
JP5883676B2 (ja) Lsi設計方法
US8392861B2 (en) Method of semiconductor integrated circuit device using library for estimating timing/area to place cells
JPH0997842A (ja) 論理回路のレイアウト方法
US6145116A (en) Layout design apparatus
US6651232B1 (en) Method and system for progressive clock tree or mesh construction concurrently with physical design
US20030066041A1 (en) Adaptive power routing and shield sharing to reduce shield count
US7895539B2 (en) System for improving a logic circuit and associated methods
US7526743B2 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
US7148135B2 (en) Method of designing low-power semiconductor integrated circuit
US6564353B2 (en) Method and apparatus for designing a clock distributing circuit, and computer readable storage medium storing a design program
US7380231B2 (en) Wire spreading through geotopological layout
JP3230234B2 (ja) 半導体集積回路の遅延調整方法、遅延調整用回路ブロックおよび記録媒体。
JP2001267429A (ja) レイアウト設計装置およびレイアウト設計方法
US20160154056A1 (en) Circuit division method for test pattern generation and circuit division device for test pattern generation
JP3116915B2 (ja) クロックネットのレイアウト設計変更方式
JP2002313916A (ja) 半導体集積回路のレイアウト設計装置及びレイアウト設計方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041119

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050525

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050725

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050729

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050819

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070914

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees