(57)【特許請求の範囲】
【請求項１】
配置配線手段と、
パス遅延制約値を入力し、配置配線後の半導体装置の回路のパス遅延値を計算し前記パス遅延制約値を満足するかを検証するタイミング検証を行うとともにパス遅延を含むタイミング検証結果を出力するタイミング検証手段と、
前記タイミング検証結果にタイミングエラーとなったパスが存在する場合には、半導体装置の回路を構成する各ブロックの入力容量、ゲート遅延値及び遅延係数の情報を少なくとも備えたライブラリと、前記タイミング検証結果と、前記タイミングエラーとなったパスに対する回路修正情報とを基に、
前記タイミング検証結果から得られた回路修正前のパス遅延と、
前記タイミングエラーとなったパスに対する回路修正情報に含まれる回路修正前後のブロックと、
前記ライブラリから得られた当該ブロックのゲート遅延時間、遅延係数、及び入力容量の情報と
から、回路修正後のブロックの負荷容量を見積もって、前記タイミングエラーとなったパスのパス遅延値の再計算を行う再計算手段と、
前記再計算手段により再計算された結果、タイミング調整のための前記回路修正情報が妥当である場合には、当該回路修正情報にしたがって、実際の回路を修正する回路修正手段とを備え、
前記回路修正手段によって修正を行った修正部分のみに対して前記配置配線手段によって配置配線を行う
ことを特徴とするレイアウト設計変更装置。
【請求項２】
前記再計算手段の再計算の結果が前記パス遅延制約値を満足しない場合は、新たな回路修正情報を前記再計算手段に入力し、前記タイミング検証結果に対してパス遅延値の再計算を行い、当該パス遅延制約値を満足するまで繰り返す繰り返し手段を有することを特徴とする請求項１に記載のレイアウト設計変更装置。
【請求項３】
前記再計算手段は、再計算結果を前記タイミング検証結果の出力書式にあわせて出力することを特徴とする請求項１又は２に記載のレイアウト設計変更装置。
【請求項４】
設計者が回路修正案を作成する前に実際の回路を修正してしまった場合、修正前の回路情報及び修正後の回路情報の差分を抽出する抽出手段と、を有し、
前記抽出手段により前記回路修正情報を作成することを特徴とする請求項１乃至３のいずれか一項に記載のレイアウト設計変更装置。
【請求項５】
前記回路修正情報は、動作スピードや駆動能力の異なるブロックへの置き換え、バッファの追加及び削除のデータを含むことを特徴とする請求項１乃至４のいずれか一項に記載のレイアウト設計変更装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置のレイアウト設計変更技術に係り、特に再配置配線の回数を極力減らすとともに、短ＴＡＴにてタイミング調整を行えるようにしたレイアウト設計変更装置に関する。
【０００２】
【従来の技術】
従来のタイミング調整のための再配置配線フローを図１０を参照して説明する。図１０を参照すると、従来技術では、まず、配置配線を行い（ステップＳ１０１）、その結果、タイミングエラーがある場合は（ステップＳ１０２のＹ）、または回路修正が完了していない場合（ステップＳ１０８のＮ）、ブロックの置き換えの判定を実行し（ステップＳ１０３）、ブロックの置き換えが必要と判断した場合（ステップＳ１０３のＹ）、タイミングエラーを起こしている通過パス上のブロックに対して回路修正を行うために、動作スピードや駆動能力の異なるブロックへの置き換えの処理（ステップＳ１０４）、タイミングエラーを起こしている通過パス上のブロックの削除（例えば、無駄なバッファの削除）の処理（ステップＳ１０７）を実行し、ステップＳ１０８の判定に戻ることで、回路を修正し、タイミング調整を行う。
【０００３】
ブロックの置き換えが不要と判断した場合（ステップＳ１０３のＮ）、ブロックの追加の判定を実行し（ステップＳ１０５）、ブロックの追加が必要と判断した場合（ステップＳ１０５のＹ）、ブロックの追加（例えば、高駆動バッファの挿入やディレイブロックの挿入等）の処理（ステップＳ１０６）を実行し、タイミングエラーを起こしている通過パス上のブロックの削除（例えば、無駄なバッファの削除）の処理（ステップＳ１０７）を実行し、ステップＳ１０８の判定に戻ることで、回路を修正し、タイミング調整を行う。
【０００４】
また、ブロックの追加が不要と判断した場合（ステップＳ１０５のＮ）、タイミングエラーを起こしている通過パス上のブロックの削除（例えば、無駄なバッファの削除）の処理（ステップＳ１０７）を実行し、ステップＳ１０８の判定に戻ることで、回路を修正し、タイミング調整を行う。
【０００５】
回路修正が完了した場合（ステップＳ１０８のＹ）は、ステップＳ１０１→ステップＳ１０２の処理を行う。タイミングエラーがない場合は（ステップＳ１０２のＮ）、処理は終了となる。
【０００６】
例えば、まず、配置配線の結果（ステップＳ１０１）、ステップＳ１０２にてタイミングエラーがあると判断された場合は、ステップＳ１０３及びステップＳ１０４にて動作スピードや駆動能力の異なるブロックへの置き換え、またはステップＳ１０５及びステップＳ１０６にて高駆動バッファの挿入を行い、タイミングエラーを起こしている通過パス上のブロックの削除（例えば、無駄なバッファの削除）の処理（ステップＳ１０７）を実行し、ステップＳ１０１に戻り変更箇所のみの再配置配線を行う。それでもタイミングエラーが残る場合は、ステップＳ１０５、ステップＳ１０６にてさらに高駆動バッファの挿入を行い、タイミングエラーを起こしている通過パス上のブロックの削除（例えば、無駄なバッファの削除）の処理（ステップＳ１０７）を実行し、再び、ステップＳ１０１に戻り、再配置配線を行う。その結果、バッファを挿入してもタイミング的に良い効果を得ることができず、反対に悪影響を及ぼすような場合は、ステップＳ１０７にて無駄なバッファの削除を行い、再びステップＳ１０１にて再配置配線を行う。以降、タイミングエラーが無くなるまでステップＳ１０３〜ステップＳ１０７での回路修正とステップＳ１０１の配置配線を繰り返す。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来のタイミング調整のための再配置配線の処理は、タイミング調整の妥当性判断が、配置配線を行わないとできないため、回路修正の精度が悪いと何度も配置配線を繰り返すことになり、多大なＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ：ＬＳＩの仕様決定から製品化までに要する時間）がかかってしまうという問題点があった。
【０００８】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、再配置配線の回数を極力減らすとともに、短ＴＡＴにてタイミング調整を行えるようにしたレイアウト設計変更装置を提供する点にある。
【０００９】
【課題を解決するための手段】
本発明のレイアウト設計変更装置は、配置配線手段と、パス遅延制約値を入力し、配置配線後の半導体装置の回路のパス遅延値を計算し前記パス遅延制約値を満足するかを検証するタイミング検証を行うとともにパス遅延を含むタイミング検証結果を出力するタイミング検証手段と、前記タイミング検証結果にタイミングエラーとなったパスが存在する場合には、半導体装置の回路を構成する各ブロックの入力容量、ゲート遅延値及び遅延係数の情報を少なくとも備えたライブラリと、前記タイミング検証結果と、前記タイミングエラーとなったパスに対する回路修正情報とを基に、前記タイミング検証結果から得られた回路修正前のパス遅延と、前記タイミングエラーとなったパスに対する回路修正情報に含まれる回路修正前後のブロックと、前記ライブラリから得られた当該ブロックのゲート遅延時間、遅延係数、及び入力容量の情報とから、回路修正後のブロックの負荷容量を見積もって、前記タイミングエラーとなったパスのパス遅延値の再計算を行う再計算手段と、前記再計算手段により再計算された結果、タイミング調整のための前記回路修正情報が妥当である場合には、当該回路修正情報にしたがって、実際の回路を修正する回路修正手段とを備え、前記回路修正手段によって修正を行った修正部分のみに対して前記配置配線手段によって配置配線を行うことを特徴とする。
また、前記再計算手段の再計算の結果が前記パス遅延制約値を満足しない場合は、新たな回路修正情報を前記再計算手段に入力し、前記タイミング検証結果に対してパス遅延値の再計算を行い、当該パス遅延制約値を満足するまで繰り返す繰り返し手段を有するようにすることができる。
また、前記再計算手段は、再計算結果を前記タイミング検証結果の出力書式にあわせて出力するようにすることができる。
また、設計者が回路修正案を作成する前に実際の回路を修正してしまった場合、修正前の回路情報及び修正後の回路情報の差分を抽出する抽出手段と、を有し、前記抽出手段により前記回路修正情報を作成するようにすることができる。
また、前記回路修正情報は、動作スピードや駆動能力の異なるブロックへの置き換え、バッファの追加及び削除のデータを含むようにすることができる。
【００１０】
【発明の実施の形態】
本発明は、ＡＳＩＣ（特定顧客向けの専用ＬＳＩ）の特にタイミングエラー発生時の再配置配線処理フローにおいて、タイミング調整のための回路修正内容を元のタイミング検証結果に直接反映させる手段を設けた点に特徴を有している。
【００１１】
これにより、タイミング調整のための回路修正情報と元のタイミング検証結果からパス遅延を再計算し、再配置配線前にタイミング調整のための回路修正案の妥当性を確認することができるようになるので、再配置配線の回数を極力減らすことができるとともに、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ：ＬＳＩの仕様決定から製品化までに要する時間）を短縮することができるようになるといった効果を奏する。以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１２】
（第１の実施の形態）
以下、本発明の第１の実施の形態を図面に基づいて詳細に説明する。図１は、本発明の第１の実施の形態に係るレイアウト設計変更方法のタイミング調整のための再配置配線フローの説明図である。
【００１３】
図１を参照すると、本実施の形態では、まず、ステップＳ１１において配置配線を行う。ステップＳ１２を実行し、入力するパス遅延制約値を基にタイミング検証を行う。その後に、タイミングエラーが発生しているかどうかを判定する（ステップＳ１３）。
【００１４】
ステップＳ１３において、タイミングエラーが発生したと判定した場合（ステップＳ１３のＹ）、ステップＳ１４（回路修正案入力の処理）を実行し、ステップＳ１２において得られたタイミング検証結果とタイミング調整のための回路修正案を入力し、ステップＳ１２から入力されるパス遅延制約値を記憶する。ステップＳ１３において、タイミングエラーが発生していないと判定した場合（ステップＳ１３のＮ）は処理を終了する。
【００１５】
ここで、回路修正案は、動作スピードや駆動能力の異なるブロックへの置き換え、バッファの追加及び削除のデータを含み、設計者側にて作成するものとする。
【００１６】
続いて、ステップＳ１５（回路修正案に基づきライブラリを参照してパス遅延値を再計算する処理）を実行し、上記回路修正案を基に、ステップＳ１２から得られたタイミング検証結果に対してパス遅延値の再計算を行う。このとき、ステップＳ１５では各ブロックに関するライブラリを参照する。このライブラリには、各ブロックの入力容量、ゲート遅延値及び遅延係数が記されている。ステップＳ１５に関しての詳細は図２を用いて後述することにして説明を進める。
【００１７】
ステップＳ１５の再計算の結果がパス遅延制約値を満足しない、すなわち、タイミング調整のための回路修正案が妥当でない場合は（ステップＳ１６のＮ）、再びステップＳ１４に戻って、パス遅延制約値を満足するまでステップＳ１４→ステップＳ１６の一連のループ処理を繰り返す。
【００１８】
そして、パス遅延制約値を満足したところで、タイミング調整のための回路修正案が妥当であると判断し（ステップＳ１６のＹ）、上記回路修正案にしたがって、実際の回路を修正し（ステップＳ１７：再配置配線用回路修正の処理）、その後に、修正部分のみの配置配線（ステップＳ１１）を再び行い、ステップＳ１２、ステップＳ１３の処理を経て本動作が完了となる（ステップＳ１１→ステップＳ１２→ステップＳ１３のＮ→終わり）。
【００１９】
図２は、図１に示すステップＳ１５の詳細なフローの説明図である。また、図３乃至図６は、ゲート間遅延の具体例である。図２を参照すると、本実施の形態のステップＳ１５（回路修正案に基づきライブラリを参照してパス遅延値を再計算する処理）では、遅延値の再計算は、動作スピードや駆動能力の異なるブロックへの置き換え、ブロックの追加及び削除等の各処理によって多少異なるが、基本的に元の配線経路（配線容量）は変わらないことを前提とする。また、ステップＳ１５の処理にて行う計算は、すべて以下の一般的な簡易遅延計算式を用いている。
【００２０】
例えば、図３のゲートＡとゲートＢとの間の遅延値ｔＡＢは以下のようになる。
【００２１】
遅延値ｔＡＢ＝ゲートＡのゲート遅延値＋ゲートＡの負荷容量×ゲートＡの遅延係数
ゲートＡの付加容量＝配線容量＋ゲートＡがドライブする全てのブロックの入力容量（＝ゲートＢの入力容量）
【００２２】
ステップＳ２１でブロックの置き換えであると判定された場合（ステップＳ２１のＹ）に実行されるステップＳ２２（置換遅延値再計算の処理）はブロックの置き換え時の再計算処理である。例えば図４（ａ）に示すゲートＢを図４（ｂ）に示すゲートＢ’に置き換える場合は、上記簡易計算式よりゲートＢの入力容量をゲートＢ’の入力容量に置き換え、ゲートＢの遅延値ｔＡＢ、遅延値ｔＢＣ、配線長ＬＡＢ、配線長ＬＢＣ、遅延係数を、ゲートＢ’の遅延値ｔＡＢ’、遅延値ｔＢ’Ｃ、配線長ＬＡＢ’、配線長ＬＢ’Ｃ、遅延係数と置き換えて再計算する。
【００２３】
ステップＳ２１でブロックの置き換えでなく（ステップＳ２１のＮ）、かつステップＳ２３でブロックの削除であると判定された場合（ステップＳ２３のＹ）に実行されるステップＳ２４（削除遅延値再計算の処理）は、ブロックの削除時の再計算処理である。例えば図５に示すゲートＢを削除する際は、図５（ａ）に示すように、遅延値ｔＡＢを基に、配線容量＋ゲートＢの入力容量の値を抽出し、遅延値ｔＢＣを基に、配線容量＋Ｃの入力容量の値を抽出し、両者の和からゲートＢの入力容量を引いた値を用いて、図５（ｂ）に示す遅延値ｔＡＣを再計算する。
【００２４】
ステップＳ２３でブロックの削除でないと判定され（ステップＳ２３のＮ）、かつ前段直後にゲートが追加されたと判断された場合（ステップＳ２５のＹ）に実行されるステップＳ２６（１回目の追加遅延値再計算の処理）、ステップＳ２３でブロックの削除でないと判定され（ステップＳ２３のＮ）、かつ後段直前にゲートが追加されたと判断された場合（ステップＳ２７のＹ）に実行されるステップＳ２８（２回目の追加遅延値再計算の処理）、ステップＳ２３でブロックの削除でないと判定され（ステップＳ２３のＮ）、前段直後にゲートが追加されていないと判断され（ステップＳ２５のＮ）、かつ後段直前にゲートが追加されていないと判断された場合（ステップＳ２７のＮ）に実行されるステップＳ２９（３回目の追加遅延値再計算の処理）は、それぞれ、ブロックの追加時の再計算処理である。例えば図６（ａ）に示すゲートＡとゲートＢの間に、図６（ｂ）に示すゲートＸを追加する際は、ゲートＸを追加する位置によって遅延値が異なる。
【００２５】
具体的には、ゲートＸをゲートＡの直後に追加する場合は、配線長ＬＡＸ＝０、配線長ＬＸＢ＝配線長ＬＡＢとして再計算する。また、ゲートＢの直前に追加するならば、配線長ＬＡＸ＝配線長ＬＡＢ、配線長ＬＸＢ＝０として再計算する。また、図６（ｂ）に示すように、ゲートＡ、ゲートＢの中間に追加するならば、配線長ＬＡＸ＝配線長ＬＸＢ＝配線長ＬＡＢ/２として再計算する。
【００２６】
ステップＳ３０で全ての回路修正案について再計算したと判定された場合（ステップＳ３０のＹ）に実行されるステップＳ３１（パス遅延再計算の処理）では、上記回路修正案に含まれる全てのブロックの遅延値再計算が終了したところで、パスの再計算を行う。全ての回路修正案について再計算していないと判断された場合（ステップＳ３０のＮ）は、ステップＳ２１に戻る。
【００２７】
次に、図２のパス遅延再計算の動作を図７に示すタイミング検証結果と図８に示す回路修正案を使用して説明する。図７に示すタイミング検証結果の各パラメータを説明すると、ＳＴＥＰはＦＦ（フリップフロップ）間のパスに存在するブロックの段数、ＴＯＴＡＬは始点から各ブロックまでの遅延値、ＩＰＩＮ（例えば、Ｈ０３Ｆ）はブロックの入力ピン、ＯＰＩＮ（例えば、Ｎ０１Ｆ）はブロックの出力ピン、ＩＮＴＲＣＯＮ，ＩＯＰＡＴＨはブロック間遅延成分、ＢＬＫ（例えば、ＳＥＬ６１１ＮＷやＦ４３４ＮＣ）はブロック名、ＩＮＳＴＡＮＣＥ（例えば、Ａ）はブロックのインスタンス名である。
【００２８】
本実施の形態では、ブロック間遅延は、ブロック間遅延成分ＩＮＴＲＣＯＮ、ブロック間遅延成分ＩＯＰＡＴＨという成分に分けて記述してあり、両者の和をブロック間遅延として再計算を行う。なお、ここで示したタイミング検証結果はあくまでも一例であり、この書式に限定するものではない。
【００２９】
いま、図１に示すステップＳ１４において、図７に示すタイミング検証結果が入力され、パス遅延制約値が１２ｎｓであると仮定する。また、上記パス遅延制約値を満たすため、図８に示すインバータＦ１０１を高駆動インバータＦ１４５に置き換えるという回路修正案（図８）が設計者によって作成され、同様に図１に示すステップＳ１４に入力されたと仮定する。上記回路修正案はどのブロックをどのように変更するかという内容を知るためのものであり、ここで示した書式に限定するものではない。
【００３０】
次に、図１に示すステップＳ１５を実行し、上記入力された回路修正案にしたがって上記タイミング検証結果に対してブロック間及びパスの遅延値を再計算する。ステップＳ１５では、上記回路修正案はブロックの置き換えであることから、ステップＳ２２にてブロック遅延の再計算を行う。
【００３１】
上記回路修正案に示すインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）のブロックタイプを置き換えることで、インスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）からインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の遅延値とインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）からインスタンス名Ｆ（ＩＮＳＴＡＮＣＥ  Ｆ）の遅延値に影響を与えるため、各々のブロック間の遅延値を再計算する必要がある。
【００３２】
インスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）からインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の遅延値を再計算する場合、まず、ライブラリよりインスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）のゲート遅延値（＝０．２ｎｓ）、遅延係数（＝０．６）を抽出するとともに、上記タイミング検証結果よりインスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）からＥの遅延値（＝０．２２ｎｓ）を抽出し、上記一般的な簡易遅延計算式よりインスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）の負荷容量（＝０．０３ｐＦ）を抽出する。
【００３３】
インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）を置き換える際に、インスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）からインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の遅延値に対して影響を及ぼすのは、インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の入力容量のみであるので、次に、上記ライブラリからインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の置き換え前後の入力容量（＝インバータＦ１０１：０．０２ｐＦ、高駆動インバータＦ１４５：０．１０ｐＦ）を抽出し、インスタンス名Ｄ（ＩＮＳＴＡＮＣＥ  Ｄ）の負荷容量（＝０．１１ｐＦ）に対して差し替えを行う。ここで得られた負荷容量を用いて上記簡易遅延計算式を用いて再計算を行うと、０．２７ｎｓという遅延値が得られる。
【００３４】
また、インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）からインスタンス名Ｆ（ＩＮＳＴＡＮＣＥ  Ｆ）の遅延値を再計算する場合、まず、ライブラリより変更前のインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）のゲート遅延値（＝０．０４ｎｓ）、遅延係数（＝１．５）を抽出するとともに、上記タイミング検証結果よりインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）からインスタンス名Ｆ（ＩＮＳＴＡＮＣＥ  Ｆ）の遅延値（＝３．２９ｎｓ）を抽出し、上記簡易遅延計算式を用いてインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）の負荷容量（＝２．１７ｐＦ）を抽出する。
【００３５】
インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）を置き換える際に、インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）からインスタンス名Ｆ（ＩＮＳＴＡＮＣＥ  Ｆ）の遅延値に対して影響を及ぼすのは、インスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）のゲート遅延値と遅延係数であるので、次に上記ライブラリよりインスタンス名Ｅ（ＩＮＳＴＡＮＣＥ  Ｅ）を置き換えるブロック高駆動インバータＦ１４５のゲート遅延値（＝０．０５ｎｓ）と遅延係数（＝０．１０）を抽出し、これらを用いて上記簡易遅延計算式を用いて再計算を行うと、０．２７ｎｓという遅延値が得られる。
【００３６】
再計算を行った遅延値について、実際に再配置配線を行って得られる遅延値との間には当然のことながら多少の誤差を生じる。しかしながら、元の配線経路は変わらないという前提のもと、実配線結果の配線容量を用いて再計算を行うことにより、比較的精度の高い計算結果を得ることが可能となる。
【００３７】
図９は、図２のステップＳ３１によりパス遅延の再計算を行った結果を示す図表である。上記回路修正案に記述されている全てのブロックの遅延値再計算が終了したことにより、ステップＳ１１によりパス遅延の再計算を行う。その結果を図９に示す。図９において、総遅延値（＝ＴＯＴＡＬ遅延）が１１．５３ｎｓとなり、パス遅延制約値（＝１２ｎｓ）を満足していることから、上記回路修正案は妥当と判断される。
【００３８】
以上説明したように、本実施の形態は、タイミング調整のための再配置配線処理に関して、再配置配線実行前に、タイミングエラーが発生したタイミング検証結果と、実配線容量を基に、設計者が作成する回路修正案に準じた遅延値を比較的高い精度で再計算し、あらかじめ回路修正案の妥当性を確認することによって、極力、再配置配線の回数を削減することができ、大幅なＴＡＴ短縮が可能となるといった効果を奏する。
【００３９】
（第２の実施の形態）
以下、本発明の第２の実施の形態を図面に基づいて詳細に説明する。なお、上記実施の形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。図１１は、本発明の第２の実施の形態に係るレイアウト設計変更方法のタイミング調整のための再配置配線フローの説明図である。
【００４０】
本発明の第２の実施の形態は、その基本的構成は上記第１の実施の形態の通りであるが、図１に示すステップＳ１４（回路修正案入力の処理）についてさらに工夫している。
【００４１】
すなわち、本実施の形態では、図１に示すステップＳ１４と同様に設計者側にて作成する上記回路修正案を入力するが、もし、設計者が回路修正案を作成する前に実際の回路を修正してしまった場合（ステップＳ１１４：回路修正の処理）、修正前の回路情報（ネットリスト）及び修正後の回路情報（ネットリスト）の差分を抽出し（ステップＳ１１５）、これを基に前述のステップＳ１４乃至ステップＳ１７の各処理を実行し、上記回路修正案を自動作成することを可能としている。
【００４２】
（第３の実施の形態）
以下、本発明の第３の実施の形態を図面に基づいて詳細に説明する。なお、上記実施の形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。図１２乃至図１４は、ゲート間遅延の具体例である。
【００４３】
図１２に示すように、ゲートＡのピンペアが複数で、かつ、ゲートＡが駆動している後段のブロックの配置位置がお互いに離れている場合がある。このような場合、一般的に、図１３に示すように、ゲートＡの負荷を軽減するため、複数ピンペアのパスごとにバッファを追加してアイソレーションすることで遅延の改善を行う。しかしながら、図１４に示すように、ゲートＡとゲートＣが極めて近傍に配置されている場合、アイソレーション手法によって両者（ゲートＡとゲートＣ）の間にバッファを追加しても、ゲートＡからゲートＣのパス遅延値は必ずしも改善できるとは限らず、無駄なバッファが挿入されてしまう場合がある。
【００４４】
本実施の形態では、このようなアイソレーション手法にも対応でき、図１４に示すようにゲートＡがドライブする後段のブロック群の配置位置までは判断できず、図１４に示すゲートＡとゲートＣの間に無駄なバッファを挿入した際の遅延値再計算の結果に大きな誤差を生じる場合に、図１４に示すようにゲートＡ−ゲートＢ間の遅延、ゲートＡ−ゲートＣ間の遅延を分岐点Ｐで分ける手段を設けている点に特徴を有している。
【００４５】
これにより、精度の高い遅延見積もりが可能となり、その結果、回路修正妥当性判断の精度も向上するといった効果を奏する。
【００４６】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、上記各実施の形態は適宜変更され得ることは明らかである。また上記構成部材の数、位置、形状等は上記各実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。また、各図において、同一構成要素には同一符号を付している。
【００４７】
【発明の効果】
本発明は、以上説明したように、タイミング調整のための再配置配線処理に関して、再配置配線実行前に、タイミングエラーが発生したタイミング検証結果と、実配線容量を基に、設計者が作成する回路修正案に準じた遅延値を比較的高い精度で再計算し、あらかじめ回路修正案の妥当性を確認することによって、極力再配置配線の回数を削減することができ、大幅なＴＡＴ短縮が可能となるといった効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るレイアウト設計変更方法のタイミング調整のための再配置配線フローの説明図である。
【図２】図１に示すステップＳ１５の詳細なフローの説明図である。
【図３】ゲート間遅延の具体例である。
【図４】ゲート間遅延の具体例である。
【図５】ゲート間遅延の具体例である。
【図６】ゲート間遅延の具体例である。
【図７】タイミング検証結果例を示す図表である。
【図８】回路修正案を示す図表である。
【図９】図２のステップＳ３１によりパス遅延の再計算を行った結果を示す図表である。
【図１０】従来のタイミング調整のための再配置配線フロー図である。
【図１１】本発明の第２の実施の形態に係るレイアウト設計変更方法のタイミング調整のための再配置配線フローの説明図である。
【図１２】ゲート間遅延の具体例である。
【図１３】ゲート間遅延の具体例である。
【図１４】ゲート間遅延の具体例である。
【符号の説明】
Ａ，Ｂ，Ｂ’，Ｃ，Ｘ…ゲート
ＢＬＫ…ブロック名
Ｅ…インスタンス名
Ｆ１０１…インバータ
Ｆ１４５…高駆動インバータ
ＩＮＳＴＡＮＣＥ…ブロックのインスタンス名
ＩＮＴＲＣＯＮ…ブロック間遅延成分
ＩＯＰＡＴＨ…ブロック間遅延成分
ＩＰＩＮ…ブロックの入力ピン
ＬＡＢ，ＬＡＢ’，ＬＡＸ，ＬＢＣ，ＬＢ’Ｃ，ＬＸＢ…配線長
ＯＰＩＮ…ブロックの出力ピン
Ｐ…分岐点
ＳＴＥＰ…ＦＦ間のパスに存在するブロックの段数
ｔＡＢ，ｔＡＢ’，ｔＡＣ，ｔＢＣ，ｔＢ’Ｃ…遅延値
ＴＯＴＡＬ…始点から各ブロックまでの遅延値
【図１】
0003722692.tif 000002
【図２】
0003722692.tif 000003
【図３】
0003722692.tif 000004
【図４】
0003722692.tif 000005
【図５】
0003722692.tif 000006
【図６】
0003722692.tif 000007
【図７】
0003722692.tif 000008
【図８】
0003722692.tif 000009
【図９】
0003722692.tif 000010
【図１０】
0003722692.tif 000011
【図１１】
0003722692.tif 000012
【図１２】
0003722692.tif 000013
【図１３】
0003722692.tif 000014
【図１４】
0003722692.tif 000015