(57)【特許請求の範囲】
【請求項１】
ＬＳＩを構成する各機能ブロック毎の最高速化となるファンアウト容量制限値を、高速化用ファンアウト容量制限値ライブラリーとしてメモリに格納し、
複数のブロックを含んで配置配線されたレイアウト結果を使用して前記各ブロック毎の配線容量値とその接続先のファンイン容量値とを抽出し、
前記各ブロック毎の配線容量値とその接続先のファンイン容量値とを合算した値と各ブロックに対応する前記ファンアウト容量制限値とを照合し、
前記ファンアウト容量制限値を満足しないブロックをタイミングエラー発生原因回路箇所と判断し、
前記タイミングエラー発生原因回路箇所を前記ファンアウト容量制限値を満足する回路に回路変更して高速化させ、前記タイミングエラー発生原因回路箇所によるタイミングエラーをエラーのない状態に収束させるタイミングドリブンレイアウト手法であって、
前記回路変更が、前記ライブラリーの高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となるよう、ブロックタイプを高駆動能力タイプに変更することにより前記ファンアウト容量制限値を満足できる場合には、高駆動能力タイプへの変更を行い、前記ブロックタイプの変更によって前記ファンアウト容量制限値を満足できない場合には、ブロックタイプを低駆動能力タイプに変更し元の配置位置に配置し、その後段かつ近傍に前記低駆動能力タイプのファンアウト容量制限値を超えないように高駆動能力ブロックを挿入する変更と、
高駆動能力ブロック１つを挿入しても高速化用ファンアウト容量制限値を満足できない場合に、挿入する高駆動能力ブロックの高速化用ファンアウト容量制限値を満たす条件で複数個の高駆動能力ブロックを挿入する変更と、
低駆動能力ブロックの後段に高駆動能力ブロックが接続される場合で、かつ、これらの配置位置間隔が離れている箇所が存在した場合、高駆動能力ブロックを前段の低駆動能力ブロックの直後の配置位置に移動する変更と、
を含むタイミングドリブンレイアウト手法。
【請求項２】
前記高速化用ファンアウト容量制限値ライブラリーは、同一機能を有するブロックの中であらかじめ遅延の小さい値となるように回路素子の組み合わせをライブラリー化したものであり、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最小構成を選択できるようにしたライブラリーである請求項１記載のタイミングドリブンレイアウト手法。
【請求項３】
前記回路変更が、より低駆動能力のブロックに置き換えてもファンアウト容量制限値を満足する場合には、より、低駆動能力のブロックに置き換えることを含む請求項１または２に記載のタイミングドリブンレイアウト手法。
【請求項４】
前記回路変更が、高周波数の回路箇所であれば最高速化し、低周波数の回路箇所であれば高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施す請求項１または２に記載のタイミングドリブンレイアウト手法。
【請求項５】
前記回路変更が、最高速化の回路変更をする際に、パス毎に目標とする遅延値が決っていた場合、パス毎に遅延計算を行なった結果タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を中止することを特徴とする請求項１または２に記載のタイミングドリブンレイアウト手法。
【請求項６】
さらに、初期レイアウト結果でのタイミングエラーリストが存在するか否かを判定し、前記タイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なす請求項１記載のタイミングドリブンレイアウト手法。
【請求項７】
前記タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合、不足しているホールドエラー遅延分を満たすようにディレイブロックを追加する請求項６記載のタイミングドリブンレイアウト手法。
【請求項８】
さらに、タイミングエラーリストとの照合を実施する際にタイミングエラーリスト以外の回路箇所であってもタイミングエラーリスト以外の回路箇所のファンアウト容量制限値をより緩いファンアウト容量制限値に置き換え最適化させる請求項６記載のタイミングドリブンレイアウト手法。
【請求項９】
さらに、配線が終了した段階で、遅延値データファイルを作成し、前記遅延値データファイルを用いてタイミング検証し、タイミング検証結果タイミングエラーが収束しなかった場合には、前記ファンアウト容量制限値により回路変更して高速化を繰り返すことを特徴とする請求項１記載のタイミングドリブンレイアウト手法。
【請求項１０】
前記配置配線された前記各ブロック毎の配線容量値が、前記各ブロック毎の予測配線容量値である請求項１記載のタイミングドリブンレイアウト手法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路の自動レイアウト手法に関し、特にファンアウト容量制限値を設けたタイミングドリブンレイアウト手法に関する。
【０００２】
【従来の技術】
現在の半導体集積回路は、大規模化及び高速化が急激に進み、配置配線されたレイアウトによるタイミングエラーを人手によって限りなくゼロにタイミング収束することが非常に困難になりつつある。その解決策として、タイミングドリブンレイアウトと呼ばれるタイミング収束の自動化が図られるようになってきた。
【０００３】
しかしながら、従来のタイミングドリブンレイアウト手法では、図７に示すように、タイミング制約ファイルといったタイミングエラー収束用改善箇所を特定するのに用いるデータが必要であり、従来のタイミングドリブンレイアウト手法は、そのデータの記述如何によって回路最適化箇所の特定及び最適化内容が大幅に影響されてしまうという問題があった。
【０００４】
更に、従来技術ではタイミングドリブンレイアウトツール内で配線長を予測し、予測遅延値を算出して回路最適化箇所の特定及び最適化内容を決定していたため、従来技術は、実際の実配線遅延値と予測遅延値との誤差が生じ、正確に最適化できない状況であった。
【０００５】
そのため、従来技術は、配置配線終了後に配線修正をしてしまうので、予測した配線長が実際の実配線とで異なってしまい、結果的にタイミングエラーが収束されない事態に陥る可能性があった。
【０００６】
【発明が解決しようとする課題】
本発明の目的は、ＬＳＩを構成する機能ブロックのファンアウト容量制限値を設け、高速化動作をしていない箇所を特定して、回路の高速化を最大限まで最適化し、回路面積の縮小化と配線性効率化の向上が得られるタイミングドリブンレイアウト手法を提供することである。
【０００７】
本発明の他の目的は、回路変更箇所を極限して、クリティカルな箇所のみの回路変更とし、タイミング収束効果の向上が得られるタイミングドリブンレイアウト手法を提供することである。
【０００８】
また、本発明の他の目的は、実配線での配線容量値によりファンアウト容量制限確認をして、正確に配線容量値大の箇所を特定し、正確な回路の最適化が得られるタイミングドリブンレイアウト手法を提供することである。
【０００９】
【課題を解決するための手段】
本発明は、タイミングドリブンレイアウト手法におけるタイミングエラー発生原因をタイミング制約ファイルを必要とせずにタイミングエラーを限りなくゼロに収束可能とし、かつ、自動レイアウトツール内部で概略配線遅延値を計算するという概念を無くしたことで、実配線遅延値との遅延値誤差を無くすということを特徴としている。
【００１０】
本発明のタイミングドリブンレイアウト手法は、ＬＳＩを構成する各機能ブロック毎の最高速化となるファンアウト容量制限値を、高速化用ファンアウト容量制限値ライブラリーとしてメモリに格納し、
配置配線されたレイアウト結果を使用して前記各ブロック毎の配線容量値を抽出し、
前記各ブロック毎の配線容量値と各ブロックに対応する前記ファンアウト容量制限値とを照合し、
前記ファンアウト容量制限値を満足しないブロックをタイミングエラー発生原因回路箇所と判断し、
前記タイミングエラー発生原因回路箇所を前記ファンアウト容量制限値を満足する回路に回路変更して高速化させ、前記タイミングエラー発生原因回路箇所によるタイミングエラーをエラーのない状態に収束させる。
【００１１】
この場合、前記高速化用ファンアウト容量制限値ライブラリーは、同一機能を有するブロックの中であらかじめ遅延の小さい値となるように回路素子の組み合わせをライブラリー化したものであり、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最小構成を選択できるようにしたライブラリーであるとしてもよい。
【００１２】
また、前記回路変更は、ブロックタイプを低駆動能力タイプに変更し、その後段かつ近傍に前記低駆動能力タイプのファンアウト容量制限値を超えないように高駆動能力ブロックを挿入することを含むこととしてもよい。
【００１３】
また、前記回路変更が、前記ライブラリーの高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる回路素子の最適化構成を選択することとしてもよい。
【００１４】
また、前記回路変更は、前記ブロックタイプを高駆動能力タイプに変更することにより前記ファンアウト容量制限値を満足できる場合には、高駆動能力タイプへの変更を行い、前記ブロックタイプの変更によって前記ファンアウト容量制限値を満足できない場合には、ブロックタイプを低駆動能力化させ、後段の近傍配置位置に高駆動能力ブロックを挿入することとしてもよい。
【００１５】
また、前記回路変更が、より低駆動能力のブロックに置き換えてもファンアウト容量制限値を満足する場合には、より、低駆動能力のブロックに置き換えることを含むこととしてもよい。
【００１６】
また、前記回路変更が、最適化構成として、複数個の高駆動能力ブロックを挿入する最小遅延値となる回路素子の最適化構成を選択することとしてもよい。
【００１７】
また、前記回路変更が、最小遅延値となる回路素子の最適化構成を配置するとしてもよい。
【００１８】
また、前記最小遅延値となる回路素子の最適化構成の配置が、複数の挿入ブロックで構成される場合、２段目以降の挿入ブロックを均等距離に配置するとしてもよい。
【００１９】
また、前記最小遅延値となる回路素子の最適化構成の配置が、低駆動能力ブロックの後段に接続されている高駆動能力ブロックを、低駆動能力ブロックの近傍位置に配置するとしてもよい。
【００２０】
また、前記回路変更が、高周波数の回路箇所であれば最高速化し、低周波数の回路箇所であれば高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施すとしてもよい。
【００２１】
また、前記回路変更が、最高速化の回路変更をする際に、パス毎に目標とする遅延値が決っていた場合、パス毎に遅延計算を行なった結果タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を中止するとしてもよい。
【００２２】
さらに、初期レイアウト結果でのタイミングエラーリストが存在するか否かを判定し、前記タイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なすとしてもよい。
【００２３】
また、前記タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合、不足しているホールドエラー遅延分を満たすようにディレイブロックを追加するとしてもよい。
【００２４】
さらに、タイミングエラーリストとの照合を実施する際にタイミングエラーリスト以外の回路箇所であってもタイミングエラーリスト以外の回路箇所のファンアウト容量制限値をより緩いファンアウト容量制限値に置き換え最適化させるとしてもよい。
【００２５】
さらに、最適化を施した回路変更後に回路接続情報としてネットリストを作成し、前記ネットリストの回路接続情報により自動的にレイアウト変更を実施するか、もしくは、最適化を施した回路変更後の回路接続情報に基き直接レイアウト上で変更を実施するとしてもよい。
【００２６】
また、前記初期レイアウトのレイアウト変更が、ブロックタイプが変更されたブロックを元の配置位置に配置し、挿入されたブロックの１段目を前段の近傍に配置するとしてもよい。
【００２７】
さらに、配線が終了した段階で、遅延値データファイルを作成し、前記遅延値データファイルを用いてタイミング検証し、タイミング検証結果タイミングエラーが収束しなかった場合には、前記ファンアウト容量制限値により回路変更して高速化を繰り返すとしてもよい。
【００２８】
また、前記配置配線された前記各ブロック毎の配線容量値が、前記各ブロック毎の予測配線容量値であるとしてもよい。
【００３０】
図１は本発明のフローチャートであり、図２は更に詳細に説明した本発明のフローチャートである。
【００３１】
図１に示すフローのように、本発明のタイミングドリブンレイアウト手法は、最高速化となるＬＳＩを構成する機能ブロックのファンアウト容量制限値を各ブロックのライブラリーとしてメモリに格納し、高速化ファンアウト容量制限値を満足しなかった回路箇所をタイミングエラー発生原因回路箇所と判断する。つまり、本発明のタイミングドリブンレイアウト手法は、この高速化用ファンアウト容量制限値のエラー発生箇所を高速化させることでタイミングエラーを限りなくゼロに収束させる機能を有する。これは、まだ高速化可能である可能性を持っている回路箇所を最大限まで高速化させるこをによって本発明の目的を達成するためである。
【００３２】
また、高速化させる際に適用されるブロックの最適化構成は、図３に示すように、あらかじめ遅延の小さい順となるような回路素子の組み合せをライブラリー化しておき、高速化に際し高速化用ファンアウト容量制限値を満足する構成の中で最小遅延値となる最適化構成を選択する。
【００３３】
図３は、遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。図３の例で説明すると、例えば、配線容量値＋ファンイン容量値が０．８ｐＦであった場合、選択される組み合せは図３の（３）の論理逆転タイプとなる。なお、図３の（３）または（４）の例のように１つのブロックを挿入したとしても、高速化用ファンアウト容量制限値を満足できない場合、本手法は、最も早い組み合せに対して、複数個のブロック挿入を実施する。
【００３４】
図３の例で説明すると、本手法は、遅延値の小さい図３の（３）に対して、続けてブロックを挿入していくこととなる。なお、この場合、挿入される２個目以降のブロックは均等距離に配置される前提で、最も高速化となる組み合せを探索し、挿入必要個数及び挿入ブロックタイプを選択する。
【００３５】
また、本手法は、タイミングエラーパスに含まれるブロック名とインスタンス名が記述されているタイミングエラーリストが存在すれば、このタイミングエラーリストと高速化用ファンアウト容量制限値違反箇所とで照合し、合致する箇所のみ最適化対象とすることで、クリティカルな箇所のみ限定した最適化が可能となる。
【００３６】
また、本手法は、図６に示すように、低駆動能力ブロックの後段に高駆動能力ブロックが接続される場合で、かつ、これらの配置位置間隔が離れている箇所が存在した場合、高駆動能力ブロックを前段の低駆動能力ブロックの直後の配置位置に移動する処置も施す。これは、低駆動能力ブロックで賄いきれない配線容量値を後段の高駆動能力ブロックに任せることで無駄に高駆動能力ブロックの追加を防ぐことができ、配線効率を向上させるという効果が得られるためである。
【００３７】
【発明の実施の形態】
次に本発明の実施例について図面を参照して詳細に説明する。図１は本実施例のフローチャートであり、図２は本実施例の更に詳細に説明したフローチャートである。図３はＬＳＩを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値を遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。なお、本動作は配置配線が完了した後に行うものである。
【００３８】
ファンアウト容量制限値は、ファンアウトエラー制限値が１／３程度までの中でブロックと配線の遅延値とブロック単体遅延値の差がほぼ最小となるファンアウト容量値のことである。図４にアンド回路とバッファ回路を例にファンアウト容量制限値を示す。
【００３９】
図４によれば、機能ブロックがアンド回路の場合、ブロックの配線容量値と接続先のファンイン容量値はファンアウトエラー制限値１００％に相当する１ｐＦからファンアウトエラー制限値３０％に相当する０．３ｐＦであり、ブロックと配線による遅延値も１ｎＳから０．５ｎＳに分布している。 ブロック単体遅延値（Ｔｐｄ０値）を０．４ｎＳとするとブロックと配線による遅延値とＴｐｄ０値の差０．１ｎｓが最大のファンアウトエラー％値となり、ファンアウト容量制限値は０．４ｐＦとなる。同じように、機能ブロックがバッファ回路の場合、 Ｔｐｄ０値を０．３ｎＳとするとブロックと配線による遅延値とＴｐｄ０値の差０．１ｎｓが最大のファンアウトエラー％値となり、ファンアウト容量制限値は２ｐＦとなる。
【００４０】
本実施例による手法の動作フローは、まず、完了した配置配線結果からＬＳＩを構成する機能ブロックの出力端における配線容量値を配置配線が完了したレイアウト結果を使用して出力させる（図１の１)。次に各ブロックの出力端子毎に決められた最も高速化となる高速化用ファンアウト容量制限値を各ブロック毎にライブラリーとしてメモリに記憶しておき、ＬＳＩを構成する機能ブロックの出力端における配線容量値が各ブロックの出力端子毎に決められた最も高速化となる高速化用ファンアウト容量制限値を満たしているか否かの確認を実施する（図１の２）。このファンアウト容量制限値とは、高速動作を維持できる限界の配線容量値を本値と設定する。
【００４１】
次に高速化用ファンアウト容量制限値を満たさなかった回路箇所の対処について説明する。ファンアウト容量制限値を満たさなかった回路箇所は、ファンアウト容量制限値を満たすように回路変更を施す（図１の３）。その手法の詳細は、図３に示すように、まず 対象ブロックと同等機能になる構成を遅延値が小さい順にテーブル化された高速化用ファンアウト容量制限値から最も高速化となる高速化用ファンアウト容量制限値からファンアウト容量制限値を満たす最小遅延構成になるように回路変更を行うというものである。
【００４２】
本手法は、最適化構成として、ブロックタイプを高駆動能力タイプへの変更もしくは、ブロックタイプを低駆動能力化させ、近傍配置位置に高駆動能力ブロックを挿入するといった方法で最適化構成を選択して行う。なお、本手法は、高駆動能力ブロック１つを挿入しても高速化用ファンアウト容量制限値を満足できない場合、挿入する高駆動能力ブロックの高速化用ファンアウト容量制限値を満たす条件で、複数個の高駆動能力ブロックを挿入する。その場合で、本手法は、最も高速遅延値となる高駆動能力ブロックタイプ構成を選択する。
【００４３】
また、過剰に高駆動能力なブロックを使用している回路箇所は、ブロックの削除 及びブロックタイプの面積最小化変更を実施し、ブロック総面積の縮小化も合せて行う。
【００４４】
この場合の過剰な高駆動能力と判断するのは、ファンアウト容量制限値を満たしている箇所で かつ ブロックタイプの面積を縮小化 または ブロック削除してもファンアウト容量制限値を満たしている場合を指す。なお、低駆動能力タイプにブロックタイプ変更されたとしても、近傍配置挿入される高駆動能力ブロックのファンイン容量値を高速動作維持できる状態で駆動できることを前提に最適化順序のテーブル化が行なわれているものとする。
【００４５】
また、本手法は、既に初期レイアウト結果でのタイミングエラーリストが存在する場合、ファンアウト容量制限値違反箇所とタイミングエラーリストとを照合し、合致した箇所のみファンアウト容量制限値違反箇所と見なす（図１の０）。
【００４６】
なお、本手法は、タイミングエラーリスト内にホールドタイミングエラーが含まれていた場合は、逆にその箇所は高速化させずに不足しているホールドエラー遅延分を満たすようにディレイブロックを追加させる。
【００４７】
次に本手法は、最適化を施した回路変更後ネットリストにて初期レイアウトのレイアウト変更を実施するか、もしくは、最適化を施した回路変更後の回路接続情報に直接レイアウト上で変更実施する（図１の４）。図５に示すように、前記、ブロックタイプ変更されたブロックは元の配置位置に配置し、挿入されたブロックの１段目は前段に近傍配置させる。
【００４８】
複数の挿入ブロックが存在した場合、残りの２段目以降の挿入ブロックは、図５に示すように、均等距離に配置させる。更に、低駆動能力ブロックの後段に接続されている高駆動能力ブロックは、図６に示すように、必ず低駆動能力ブロックの近傍位置に配置されるよう配置位置を移動させる。この場合、近傍位置に配置移動されたブロックは元々自身が負担していた配線容量値に前段の低駆動能力ブロックが負担していた配線容量値を加えた容量値を負担している。そのため、本手法は、この近傍配置位置変更後の容量値で再度ファンアウト容量制限値を満足しているか否かを確認し、満足しなかった場合は前記と同様の処置で配置移動したブロックも最適化回路変更を施す。全ての配置が終了した時点で、本実施例の最適化手法は終了する。
【００４９】
なお、本手法は、配線が終了し、作成された遅延値データファイルを用いたタイミング検証でもタイミングエラーが収束しなかった場合、図１の１の項目に戻り図１の２から図１の４と同様の処置を繰返す。
【００５０】
次に、実施例の詳しい動作につき図２を用いて説明する。まず、本手法は、初期の配置配線を完了させ、実配線での各ブロックの配線容量値として配線容量値データファイルを配置配線が完了したレイアウト結果を使用して出力させる（図２の１）。
【００５１】
次に、本手法は、あらかじめ、ＬＳＩを構成する各機能ブロックの出力端子毎に定義した最高速化となるファンアウト容量の制限値をライブラリーとして設けておき、本制限値を満たしているか否かの判定を、実配線でのブロックの配線容量値とそのブロックに対応する機能ブロックの最高速化となるファンアウト容量の制限値とを照合して、実施する。なお、通常のファンアウトの制限とは配線なまり等の影響によりブロックが正常に動作しなくなる制限値を指すものであり、今回の最高速となる制限値とは意を異にする。
【００５２】
具体的な数値例として、最高速化となるファンアウト容量制限値は、通常ファンアウト容量制限が０.１ｐＦで１００％だと仮定した場合、最高速となるファンアウト容量制限値が０.０４ｐＦだったとした場合、通常ファンアウト容量の制限で例えると通常ファンアウト制限値エラーでの４０％値が最高速となる(図２の２)。
【００５３】
次に、本手法は、最高速化となるファンアウト容量制限値を違反したブロックを制限値を満たすようにブロックタイプ変更、ブロック挿入、ブロック削除といった回路変更を施す（図２の３）。更に、本手法は、初期レイアウト結果におけるタイミングエラーのリストが存在していた場合には、本タイミングエラーリスト箇所と高速化用ファンアウト容量制限値違反箇所とで照合を行い、合致箇所のみ最適化回路変更を施す（図２の４）。
【００５４】
なぜならば、本手法は、タイミングエラー箇所のみ回路変更を施すことで最小限のレイアウト変更にとどめることができ、レイアウト変更後による配線性効率を上げることが可能になるからである。また、低駆動能力の後段に接続されてある高駆動能力ブロックは、低駆動能力ブロックの出力側に近傍移動させたという認識で最高速化用ファンアウト容量制限値を満足するか確認し、満足しなかった場合は前記と同様処置で最適化となる回路変更を施す。
【００５５】
次に本手法は、最適化回路変更が必要と判断された箇所の回路変更を施したネットリストを作成するか もしくは、直接レイアウト上の回路接続情報を最適化後の回路変更後のものに変更する(図２の５）。この時点では、本手法は、まだネットリスト上 もしくはレイアウト上での回路変更が完了しただけの状態である。次に最適化配置を実施する（図２の６）。図４に示すように挿入された初段の高駆動能力ブロックは前段に近傍配置させ、２段目以降の挿入高駆動能力ブロックは均等距離に配置させていく。更に、低駆動能力ブロックの後段に接続されている高駆動能力ブロックは低駆動能力の出力に近傍配置位置移動させる。全ての配置が完了した後、本手法は、配線を実施し、その後、最適化後の遅延値データを用いてタイミング検証を実施する。本手法は、上記ステップ（図２の２）から ステップ(図２の７)までをタイミングエラーが限りなくゼロに収束するまで繰り返し、本動作が完了する。
【００５６】
次に、本発明の他の実施例として、その基本的構成は上記の通りであるが、初期の配置配線を実施せずとも予測配線容量値を用いての本発明の実施か可能である。本実施例の手法は、単に予測配線容量値を用いて、高速化用ファンアウト容量制限値確認を実施し、違反している箇所を上記の通り最適化回路変更 及び 最適化配置を施す構成で最適化が可能である。なお、本手法の場合、あくまでも予測配線容量であるため、その効果は予測配線容量値の予測精度に依存する。
【００５７】
また、本発明では配線容量値を用いて最高速化の判定が行われているが、他の手法として、配線容量値を遅延値といった他の単位での値を用いて最高速化の判定を行っても良い。この手法は、遅延値を用いることで直接どの程度の早さにすべきかという具体的な調整が可能となる。例えば、１ｐＦが１ｎｓという単位に置換え可能であれば、ｎｓ単位に換算しても最適化が可能である。
【００５８】
また、本手法は、最高速化の回路変更をする際に、高速化させる度合を調整することで過剰に高速化させたことによる面積増加を防ぐことが可能である。例えば、高周波数の回路箇所であれば最高速化する必要があるが、低周波数の回路箇所までも最高速化させる必要がないため、その箇所は高速化用ファンアウト容量制限値ライブラリーを緩い値に置換えて回路変更を施す。
【００５９】
さらに、本手法は、タイミングエラーリストとの照合を実施した際、タイミングエラーリスト以外の回路箇所であっても通常のファンアウト容量制限値を満足させるようにすることが可能である。例えば、その手法は、通常のファンアウト容量制限値を満足させたい場合は、タイミングエラーリスト以外の回路箇所の最高速化となるファンアウト容量制限値を最高速化とは異なる通常のファンアウト容量制限値に置換えることで緩い制限値として最適化させるものである。
【００６０】
また、最高速化の回路変更をする際に、目標とする遅延値が決っていた場合、タイミングエラーとなっているパス内の各ブロックを過剰に最高速化させるのではなく、目標とする遅延値を満足した段階で該当するタイミングエラーのパス内の最適化を止めるということも可能である。その場合、最適化された回路変更後の回路接続情報にて新たに遅延値を算出する必要があるが、その効果は算出する遅延値計算精度に依存する。
【００６１】
更に、本発明は、エレクロトロンマイグレーション(electron migration:ＥＭ)やクロストークと言ったシグナルインティグリティエラー（signal integrity error：ＳＩエラー）発生回路箇所が記述されているエラーリストを読みこませることで、高速化ファンアウト容量制限値違反箇所に含ませ、 ＳＩエラーを収束することも可能となる。また、ＥＭエラー箇所は、配線長大とならないように、ブロックタイプ変更よりは、ブロック挿入手法を主として最高速化の最適化を施す。例えば、最高駆動ブロック１個の挿入ではなく、中駆動ブロック２個の挿入といった処置で最適化を施す。なお、既に最高速化されてあった場合は、バッファを最低でも１つ追加するようにさせる。これは、ＥＭエラー収束手法としては、高速化手法とは異なり、配線長の短縮化という手法の方が効果的であるからである。
【００６２】
また、クロストークエラー箇所に関しては、最高速化させるのはもとより、更にＳＩエラーが発生している回路箇所の配線を隣接配線禁止させるようにする。これは、いくら回路を最高速化させても隣接している配線の影響によりクロストークエラーが発生してしまうことによる。なお、その場合、新たにブロック挿入したネットに関しても、同様に隣接配線禁止処置を施す。
【００６３】
【発明の効果】
本発明によれば、ＬＳＩを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値をライブラリーとして設けることで、本来の高速化動作をしていない回路箇所の特定ができ、更に無駄に高駆動能力ブロックを使用している回路箇所の特定までも可能となる効果がある。回路の高速化を最大限まで最適化するのは勿論、回路面積の縮小化までも可能となり、配線性効率化の向上にもなる効果がある。よって、本発明によれば、タイミング制約ファイルに依存していた回路の最適化必要箇所の特定が、タイミング制約ファイルを必要とせずに容易に特定が可能という効果が得られる。
【００６４】
更に、本発明によれば、初期レイアウトでのタイミングエラーリストとの照合により回路変更箇所を縮小することができ、クリティカルな箇所のみの回路変更となるため、タイミング収束にも効果が得られる。
【００６５】
また、本発明によれば、実配線での配線容量値によってファンアウト容量制限確認をしていることにより、配線遅延計算誤差を生じることなく、正確に配線容量値大の箇所の特定ができ、正確に回路の最適化が可能となる効果が得られる。
【図面の簡単な説明】
【図１】本発明のタイミングドリブンレイアウト手法における一実施例のフローチャートである。
【図２】図１の一実施例を更に詳細に説明したフローチャートである。
【図３】ＬＳＩを構成する機能ブロックの最高速化という定義でのファンアウト容量制限値を遅延値の小さい順にテーブル化されたライブラリーの最適化構成の例である。
【図４】アンド回路とバッファ回路におけるファンアウト容量制限値を示す図である。
【図５】複数の挿入ブロックが存在した場合、残りの２段目以降の挿入ブロックを均等距離に配置させた図である。
【図６】低駆動能力ブロックの後段に接続されている高駆動能力ブロックを必ず低駆動能力ブロックの近傍位置に配置されるように配置位置を移動させた図である。
【図７】従来のタイミングドリブンレイアウト手法における一実施例のフローチャートである。
【図１】
0004015807.tif 000002
【図２】
0004015807.tif 000003
【図３】
0004015807.tif 000004
【図４】
0004015807.tif 000005
【図５】
0004015807.tif 000006
【図６】
0004015807.tif 000007
【図７】
0004015807.tif 000008