(57)【要約】【課題】過剰なセットアップエラー修正を防止し、レイアウトへの影響を低減することができるセットアップエラー修正方法および装置を提供する。【解決手段】改善度見積もり部１０６において、修正方法決定部１０５で決定された修正方法に基づいて改善される遅延値の見積もりを算出し、改善度判定部１０７へ処理を進める。改善度判定部１０７において、改善度見積もり部１０６で見積もった改善度とフリップフロップ間の遅延時間から改善後の予想遅延時間を算出する。改善後の予想遅延時間が要求遅延時間を満たしていない場合、修正箇所選択部１０４へ戻り、セットアップエラーパスの修正処理を継続する。改善後の予想遅延時間が要求遅延時間を満たすか、修正対象箇所がなくなるまでセットアップエラーパスの修正処理を繰り返す。【選択図】 図１
2008009860.tif 000002
【特許請求の範囲】
【請求項１】
半導体回路の接続情報であるネットリストのセットアップエラーを修正するセットアップエラー修正方法であって、
修正方法に応じて改善される遅延値の見積もりを算出する改善度見積もりステップを有することを特徴とするセットアップエラー修正方法。
【請求項２】
請求項１に記載のセットアップエラー修正方法であって、
静的タイミング解析によってタイミング情報を得るタイミング解析ステップと、
前記タイミング解析ステップで得られたタイミング情報のフリップフロップ間のパスの遅延情報を抽出するパス解析ステップと、
前記パス解析ステップで抽出したパスの遅延情報から遅延の改善が可能なセルまたは配線を選択する修正箇所選択ステップと、
前記修正箇所選択ステップで選択された修正箇所についてセルの置換を行う修正方法または配線にセルを挿入する修正方法を選択する修正方法決定ステップと、
決定した修正方法に基づいて回路変更情報を出力する出力ステップとを有することを特徴とするセットアップエラー修正方法。
【請求項３】
請求項２に記載のセットアップエラー修正方法であって、
前記パス解析ステップは、セル遅延と配線遅延とを分離して抽出することを特徴とするセットアップエラー修正方法。
【請求項４】
請求項２に記載のセットアップエラー修正方法であって、
前記修正箇所選択ステップは、セットアップエラーのあるパスで、セル遅延または配線遅延が大きな箇所から修正箇所の対象とすることを特徴とするセットアップエラー修正方法。
【請求項５】
請求項２に記載のセットアップエラー修正方法であって、
前記修正方法決定ステップは、セル遅延が大きい場合は駆動能力の高いセルへの置換を、配線遅延が大きい場合は配線にセルを挿入する修正方法を選択することを特徴とするセットアップエラー修正方法。
【請求項６】
請求項２に記載のセットアップエラー修正方法であって、
前記修正方法決定ステップは、修正対象セルを置換する場合、修正対象セルを駆動するセルの駆動能力が小さいとき、修正対象セルを駆動するセルの置換を実施することを特徴とするセットアップエラー修正方法。
【請求項７】
請求項２に記載のセットアップエラー修正方法であって、
前記修正方法決定ステップは、修正対象配線にセルを挿入する場合、修正対象配線のファンアウト数に応じたセル数により配線を分割することを特徴とするセットアップエラー修正方法。
【請求項８】
請求項１に記載のセットアップエラー修正方法であって、
前記改善度見積もりステップは、修正方法がセル置換の場合、置換前のセルの駆動能力と置換後のセルの駆動能力との差から改善される遅延値の見積もりを計算することを特徴とするセットアップエラー修正方法。
【請求項９】
請求項１に記載のセットアップエラー修正方法であって、
前記改善度見積もりステップは、修正方法がセル挿入の場合、ある一定の遅延値が改善されたと見積もることを特徴とするセットアップエラー修正方法。
【請求項１０】
請求項１に記載のセットアップエラー修正方法であって、
前記改善度見積もりステップは、見積もった改善度とフリップフロップ間の遅延時間から改善後の予想遅延時間を算出して、要求遅延時間を満たした場合に過剰な改善を終了することを特徴とするセットアップエラー修正方法。
【請求項１１】
請求項１に記載のセットアップエラー修正方法であって、
前記改善度見積もりステップは、配線のファンアウト数に応じた改善度の表を作成し、前記改善度の表に基づいて改善値を見積もることを特徴とするセットアップエラー修正方法。
【請求項１２】
請求項２に記載のセットアップエラー修正方法であって、
前記修正方法決定ステップは、レイアウト情報から配線に接続するセルの配置情報を抽出し、前記配置情報に基づいて修正対象配線にセルを挿入することを特徴とするセットアップエラー修正方法。
【請求項１３】
半導体回路の接続情報であるネットリストのセットアップエラーを修正するセットアップエラー修正装置であって、
修正方法に応じて改善される遅延値の見積もりを算出する改善度見積もり部を備えることを特徴とするセットアップエラー修正装置。
【請求項１４】
請求項１３に記載のセットアップエラー修正装置であって、
静的タイミング解析によってタイミング情報を得るタイミング解析部と、
前記タイミング解析部で得られたタイミング情報のフリップフロップ間のパスの遅延情報を抽出するパス解析部と、
前記パス解析部で抽出したパスの遅延情報から遅延の改善が可能なセルまたは配線を選択する修正箇所選択部と、
前記修正箇所選択部で選択された修正箇所についてセルの置換を行う修正方法または配線にセルを挿入する修正方法を選択する修正方法決定部と、
決定した修正方法に基づいて回路変更情報を出力する出力部とを備えることを特徴とするセットアップエラー修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路のセットアップエラー修正方法および装置に関するものである。
【背景技術】
【０００２】
半導体集積回路設計において、セットアップエラーの修正方法としては、配線にセルを挿入し配線負荷を分散させることで遅延を改善する方法と、駆動能力の低いセルを駆動能力の高いセルに置換することにより遅延を改善する方法が知られている（例えば、特許文献１参照）。
【０００３】
図９は、従来のセットアップエラー修正方法を示す図であり、タイミング解析部８００と、エラー判定部８０２と、パス解析部８０３と、修正箇所選択部８０４と、修正方法決定部８０５と、修正箇所判定部８０６と、出力部８０７から構成されている。
【０００４】
以上のように構成されたセットアップエラー修正方法について、以下にその動作を説明する。
【０００５】
まず、タイミング解析部８００において、半導体集積回路について静的タイミング解析を行い、タイミング情報８０１を取得する。タイミング情報８０１には各フリップフロップ間のパスの遅延時間と、要求遅延時間などの情報が出力される。
【０００６】
次に、エラー判定部８０２において、タイミング情報８０１から各パスの遅延時間が要求遅延時間を満たすことが出来ないセットアップエラーパスが存在するかを判定する。
【０００７】
セットアップエラーパスが存在していた場合、パス解析部８０３において、タイミング情報８０１からセットアップエラーパスについての情報を抽出する。抽出する情報は、セットアップエラーパスの遅延時間と、要求遅延時間と、パスに含まれるセルの駆動能力である。ここで、セルとセルの出力に接続している配線を１つの段として，セル遅延と配線遅延の合計をその段の遅延とし，パス中に含まれる全ての段の合計遅延時間をパスの遅延時間として抽出する。
【０００８】
修正箇所選択部８０４において、パス解析部８０３で抽出した各段の遅延値が一定のしきい値より大きな段を修正箇所として選択する。
【０００９】
修正方法決定部８０５において、修正箇所選択部８０４により選択された修正対象箇所とパス解析部８０３により抽出されたパス情報を用いて遅延値の修正方法を決定する。修正は修正対象箇所のセルをより高い駆動能力を持つセルへ置換することにより行う。
【００１０】
修正方法が決定されたらエラー判定部８０２に戻り、修正したパス以外のセットアップエラーパスが存在するかを再度判定する。以上を繰り返し、全てのセットアップエラーパスについて修正方法を決定する。
【００１１】
修正箇所判定部８０６において、修正方法決定部８０５により回路の修正箇所と修正方法が決定されている場合、出力部８０７にて修正方法に基づいた回路変更情報８０８を出力してセットアップエラー修正処理を終了する。回路の修正箇所が存在しない場合は、そのままセットアップエラー修正処理を終了する。
【特許文献１】特開平１０−１６３３３０号公報（第２−４項）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記のセットアップエラー修正方法は、0.18μm以上のプロセスでは修正効果を得ることができた。しかしながら近年はプロセスの微細化に伴ってセル遅延に対して配線遅延が支配的になってきている。
【００１３】
配線負荷容量が大きいためにセル遅延よりも配線遅延が支配的になっている段については、より駆動能力の高いセルへの置換を行ったとしても、そのセルに接続している配線負荷が大きいため遅延の改善効果は低い。一般的に駆動能力の高いセルは駆動能力の低いセルよりも面積が大きいため、配線遅延が支配的な箇所でのセルの置換は無駄な面積増加を引き起こす。
【００１４】
また、セットアップエラーパスの要求遅延時間を満たすようにパスの遅延を修正するが、前記セットアップエラー修正方法では各段の遅延値が一定のしきい値を超える箇所について全てセル置換により対策しているため、過剰に遅延を改善している場合がある。
【００１５】
前記のように駆動能力の高いセルへの置換は面積増加を引き起こすため、過剰なセル置換によりセルを配置できる面積が少なくなり、駆動能力を上げたセルが周囲のセルと重なる場合がある。
【００１６】
重なったセルについて再配置を実施するが置換したセルの周囲に配置する面積が少なくなっているため、現在配置されている場所から離れた場所に再配置されることにより配線の迂回が発生し、配線遅延が大きくなってパスの遅延が改善されない、または悪化する場合がある。
【００１７】
また、配線にセルを挿入して配線遅延改善を行う場合、過剰なセル置換による面積増加はセルを挿入する面積も減少するため、十分な配線遅延改善を行えない。
【００１８】
本発明は上記事情に鑑みてなされたもので、過剰なセットアップエラー修正を防止し、レイアウトへの影響を低減することにより、効果的にセットアップエラーを修正することができるセットアップエラー修正方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、本発明は半導体回路の接続情報であるネットリストのセットアップエラー修正方法であって、静的タイミング解析によってタイミング情報を得るタイミング解析部と、前記タイミング解析部で得られたタイミング情報のフリップフロップ間のパスの遅延情報を抽出するパス解析部と、前記パス解析部で抽出したパスの遅延情報から遅延の改善が可能なセルまたは配線を選択する修正箇所選択部と、前記修正箇所選択部で選択された修正箇所についてセルの置換を行う修正方法または配線にセルを挿入する修正方法を選択する修正方法決定部と、前記修正方法決定部で決定された修正方法に応じて改善される遅延値の見積もりを算出する改善度見積もり部と、決定した修正方法に基づいて回路変更情報を出力する出力部とから構成されている。
【００２０】
また、本発明は、上記パス解析部において、セル遅延と配線遅延とを分離して抽出する。また、上記修正箇所選択部において、セットアップエラーのあるパスで、セル遅延または配線遅延が大きな箇所から修正箇所の対象とする。
【００２１】
上記構成によれば、セル遅延が大きい場合は駆動能力の高いセルへの置換を、配線遅延が大きい場合は配線にセルを挿入する修正方法を選択することにより、配線遅延の改善を行うことが可能となる。
【００２２】
また、本発明では、上記修正方法決定部において、修正対象セルを置換する場合、修正対象セルを駆動するセルの駆動能力が小さいとき、修正対象セルを駆動するセルの置換も実施することにより、修正対象セルの置換によって修正対象セルを駆動するセルの遅延が悪化することを防止することが可能となる。
【００２３】
また、本発明では、上記修正方法決定部において、修正対象配線にセルを挿入する場合、修正対象配線のファンアウト数に応じたセル数により配線を分割することにより、十分な配線負荷分散を行うことが可能となる。
【００２４】
また、本発明は、上記改善度見積もり部において、修正方法がセル置換の場合、置換前のセルの駆動能力と置換後のセルの駆動能力との差から改善される遅延値の見積もりを計算する。また、上記改善度見積もり部において、修正方法がセル挿入の場合、ある一定の遅延値が改善されたと見積もる。
【００２５】
上記構成によれば、見積もった改善度とフリップフロップ間の遅延時間から改善後の予想遅延時間を算出して、要求遅延時間を満たした場合に処理を終了することで、過剰な改善の防止が可能となる。
【発明の効果】
【００２６】
以上説明したように、本発明にかかるセットアップエラー修正方法および装置によれば、半導体集積回路におけるタイミング修正方法として、セルの置換と配線にセルを挿入する修正方法とを選択し、修正方法により遅延改善度を見積もって過剰な改善を防止することにより、従来のセットアップエラー修正方法と比較し、レイアウトへの影響を小さくし修正の影響による遅延悪化を抑えて、効果的な修正することが可能となる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２８】
（実施の形態１）
図１は本発明の実施の形態１におけるセットアップエラー修正方法を示すフローチャートである。セットアップエラー修正方法はタイミング解析部１００、エラー判定部１０２、パス解析部１０３、修正箇所選択部１０４、修正方法決定部１０５、改善度見積もり部１０６、改善度判定部１０７、修正箇所判定部１０８、出力部１０９より構成される。
【００２９】
タイミング解析部１００において静的タイミング解析を実施して、半導体集積回路のタイミング情報１０１を抽出する。タイミング情報１０１には各フリップフロップ間のパスの遅延時間と、要求遅延時間と、パスに含まれる各セルの遅延時間と駆動能力、パスに含まれる各配線の遅延時間とファンアウト数とが含まれる。
【００３０】
エラー判定部１０２において、タイミング情報１０１から各パスの遅延時間が要求遅延時間を満たすことが出来ないセットアップエラーパスが存在するかを判定する。セットアップエラーパスが存在する場合はパス解析部１０３へ、セットアップエラーパスが存在しない場合は修正箇所判定部１０８へ処理を進める。
【００３１】
パス解析部１０３において、タイミング情報１０１からセットアップエラーパスについての情報を抽出する。抽出する情報は、セットアップエラーパスの遅延時間と、要求遅延時間と、パスに含まれる各セルの遅延時間と駆動能力、パスに含まれる各配線の遅延時間とファンアウト数である。セットアップエラーパスの情報を抽出後、修正箇所選択部１０４へ処理を進める。
【００３２】
修正箇所選択部１０４において、セットアップエラーパスに含まれるセル遅延と配線遅延について遅延が改善可能な修正対象箇所を抽出し、修正方法決定部１０５へ処理を進める。
【００３３】
修正方法決定部１０５において、修正箇所選択部１０４で選択された修正対象箇所の修正方法を決定し、改善度見積もり部１０６へ処理を進める。
【００３４】
改善度見積もり部１０６において、修正方法決定部１０５で決定された修正方法に基づいて改善される遅延値の見積もりを算出し、改善度判定部１０７へ処理を進める。
【００３５】
改善度判定部１０７において、改善度見積もり部１０６で見積もった改善度とフリップフロップ間の遅延時間から改善後の予想遅延時間を算出する。改善後の予想遅延時間が要求遅延時間を満たしていない場合、修正箇所選択部１０４へ戻り、セットアップエラーパスの修正処理を継続する。改善後の予想遅延時間が要求遅延時間を満たすか、修正対象箇所がなくなるまでセットアップエラーパスの修正処理を繰り返す。
【００３６】
改善度判定部１０７において、改善後の予想遅延時間が要求遅延時間を満たした場合、修正対象のセットアップエラーパスの処理は終了し、エラー判定部１０２へ戻る。エラー判定部１０２において、修正したセットアップエラーパス以外のセットアップエラーパスが存在するか判定する。セットアップエラーパスが存在する場合はパス解析部１０３の処理を進め、セットアップエラーパスが存在しなくなるまで処理を繰り返す。セットアップエラーパスが存在しなくなった場合は修正箇所判定部１０８に処理を進める。
【００３７】
修正箇所判定部１０８において、修正方法決定部１０５により、回路の修正箇所と修正方法が決定されている場合、出力部１０９へ処理を進める。回路の修正箇所が存在しない場合はセットアップエラー修正処理を終了する。
【００３８】
出力部１０９において、修正方法決定部１０５で決定した修正方法に基づいて回路変更情報１１０を出力して、セットアップエラー修正処理を終了する。
【００３９】
以上のように本実施例によれば、セットアップエラーパスにおいて、修正対象箇所の修正方法が決定されるごとに改善度見積もりを算出することで、タイミングエラーパスの遅延時間と見積もった改善度から、要求遅延時間を満たしたかどうかを判断することができ、過剰な修正を防止することができる。
【００４０】
ここで、パス解析部１０３におけるセットアップエラーパスの情報の抽出方法と、修正箇所選択部１０４における修正対象箇所の選択方法について具体的に説明する。図２は実施の形態１における修正対象箇所の選択方法の具体例を説明する図である。
【００４１】
図２において、パス解析部で抽出されたセットアップエラーパスの具体例であり、セットアップエラーパスが、フリップフロップ２００を始点とし、バッファ２０２、ＯＲゲート２０４、ＡＮＤゲート２０６、インバータ２０８を通過して、フリップフロップ２１０を終点とし、これらのセルが配線２０１、２０３、２０５、２０７、２０９で接続された構成を持つとする。
【００４２】
また、図３は図２のパスにおいて、パス解析部１０３で抽出する情報を示している。セットアップエラーパスについて、パスの遅延時間と要求遅延時間とを抽出する。例えば、ＡＮＤ２０６において、ＡＮＤ２０６のセル遅延は0.3nsであり、フリップフロップ２００からＡＮＤ２０６を通過するまでに必要となる遅延時間は2.3nsである。このセットアップエラーパスにおいて、フリップフロップ２００からフリップフロップ２１０までの遅延時間は2.6nsであり、要求遅延時間は2.0nsであるため、0.6nsの遅延を改善する必要がある。
【００４３】
パス解析部１０３において、図３に示したようにセットアップエラーパスの遅延値を配線遅延とセル遅延とを分離して抽出し、修正箇所選択部１０４へ処理を進める。
【００４４】
修正箇所選択部１０４において、各セル遅延と配線遅延が大きな箇所から修正対象箇所に決定していく。図３において、最も遅延値が大きな箇所はＯＲ２０４でありセル遅延は0.8nsである。修正方法決定部１０５においてＯＲ２０４について修正方法を決定し、改善度見積もり部１０６で見積もられた改善度が0.6nsに満たない場合、次に遅延値の大きい箇所である配線２０５を修正対象箇所として修正処理を継続する。上記のように、図２のセットアップエラーパスにおいて、図３の修正順で示された順番で修正を行っていく。
【００４５】
以上のように、遅延値の大きな箇所から修正を行うことで、最も改善効果の大きな箇所から修正することができるため、少ない修正箇所で大きな遅延改善効果を得ることができる。
【００４６】
ここで、修正方法決定部１０５における修正方法の決定について具体的に説明する。図４は修正方法決定部１０５の具体例を示すフローチャートである。図４において、修正方法決定部１０５は修正対象判定部４０１と、駆動能力判定部４０２と、駆動セル置換部４０３と、対象セル置換部４０４と、ファンアウト判定部４０５と、セル挿入部４０６とからなる。
【００４７】
まず修正対象判定部４０１において修正箇所選択部１０４で選択された修正対象情報４００より、修正対象箇所がセルなのか配線なのかを判断する。修正対象箇所がセルであれば駆動能力判定部４０２に処理を進める。修正対象が配線であればファンアウト判定部４０５へ処理を進める。
【００４８】
駆動能力判定部４０２において、タイミング情報１０１から修正対象セルの駆動能力と、修正対象セルを駆動するセルの駆動能力とを抽出する。修正対象セルの駆動能力と修正対象セルを駆動するセルの駆動能力を比較して、修正対象セルを駆動するセルの駆動能力が小さい場合、駆動セル置換部４０３へ、修正対象セルを駆動するセルの駆動能力が大きい場合、対象セル置換部４０４へ処理を進める。
【００４９】
駆動セル置換部４０３において、修正対象セルを駆動するセルの置換を行う。置換対象セルを置換対象のセルと同じ論理構造を持ちより駆動能力の高いセルに置換する。どのセルに置換するか決定したら修正方法情報４０７を出力し、対象セル置換部４０４へ処理を進める。
【００５０】
対象セル置換部４０４において、修正対象セルの置換を行う。前記駆動セル置換部４０３と同様、置換対象セルを置換対象セルと同じ論理構造を持ち、より駆動能力の高いセルに置換する。どのセルに置換するか決定したら修正方法情報４０７を出力し修正方法決定部１０５を終了する。
【００５１】
修正対象判定部４０１において修正対象が配線だった場合、ファンアウト判定部４０５で修正対象配線のファンアウト数が１かどうかを判定する。ファンアウト数が１の時は配線にセルを挿入するためにセル挿入部４０６へ処理を進める。ファンアウト数が１より大きい場合、配線に接続しているセルの位置情報を用いてセルを挿入する必要があり、タイミング情報からだけではどのようにセルを挿入すればよいか判断できないためセルの挿入は行わず、配置情報を用いてセル挿入が必要であることを修正方法情報４０７に出力し、修正方法決定部１０５は終了する。
【００５２】
セル挿入部４０６において、修正対象配線に接続している駆動セルの駆動能力に応じたセルを配線に挿入する。また、挿入セルは論理を変更しないバッファもしくはインバータペアを挿入する。どのセルを挿入するか決定したら修正方法情報４０７を出力し修正方法決定部１０５は終了する。
【００５３】
以上のように、セル遅延が大きい場合にセルの置換による遅延修正方法を、配線遅延が大きい場合に配線へのセル挿入による遅延修正方法を選択することにより、配線遅延が支配的な箇所のセル置換は行わずにセルの挿入による効果的な遅延改善を行うことができる。またセル置換を行う場合、修正対象セルを駆動するセルの駆動能力が小さい場合は駆動セルについてもセル置換を行うことにより、修正対象セルの駆動能力が上がることで、修正対象セルを駆動するセルの駆動能力が不足し遅延が悪化することを防止することができる。
【００５４】
ここで、改善度見積もり部１０６における改善度の見積もり方法について具体的に説明する。図５は改善度見積もり部１０６の具体例を示すフローチャートである。図５において、改善度見積もり部は修正方法判定部５０１と、セル置換改善度見積もり部５０２と、セル挿入改善度見積もり部５０３とからなる。
【００５５】
まず修正方法判定部５０１において、修正方法決定部１０５にて決定された修正方法情報５００より、修正方法が駆動能力の高いセルへの置換なのか、配線へのセル挿入なのかを判断する。修正方法がセル置換であれば、セル置換改善度見積もり部５０２へ処理を進める。修正方法がセル挿入であれば、セル挿入改善度見積もり部６０３へ処理を進める。
【００５６】
セル置換改善度見積もり部５０２において、修正方法情報５００より置換前の駆動能力と置換後の駆動能力の差に応じて、遅延の改善度の見積もりを算出する。改善度の見積もり値を改善度情報５０４に出力して改善度見積もり部１０６の処理を終了する。
【００５７】
セル挿入改善度見積もり部５０３において、配線にセルを挿入した場合はある一定の遅延値が改善したと見積もる。改善度の見積もり値を改善度情報５０４に出力して改善度見積もり部１０６の処理を終了する。
【００５８】
以上のように、修正方法により改善度の見積もりを算出することにより、要求遅延時間を満たすことができる修正箇所を限定することができるため、過剰な修正を防止することができる。
【００５９】
ここで、セル挿入改善度見積もり部５０３における配線にセルを挿入した場合の改善度の決定方法について、具体的に説明する。図６は、セル挿入改善度見積もり部５０３において見積もられる改善値の算出するための具体例を説明する図である。図６(a)はバッファ６００とバッファ６０２、バッファを接続する配線６０１からなる。
【００６０】
まず、あらかじめ図６(a)のような簡単な回路を用意してレイアウトする。ここで、バッファ６００と配線６０１の段において、配線遅延が支配的になるように、バッファ６００とバッファ６０２を十分離して配置し、配線６０１の配線長が長くなるようにする。
【００６１】
次に、図６(b)のように、図６(a)にバッファ６０３を挿入する。図６(a)の回路と、図６(b)の回路についてタイミング検証を行い、図６(a)の配線６０１の配線遅延と、図６(b)の配線６０１の配線遅延とバッファ６０３のセル遅延と配線６０４の配線遅延の和とを比較して、配線のファンアウト数が１の時の改善度を算出する。
【００６２】
同様に、配線のファンアウト数が２の場合、３の場合と簡単な回路を用意してレイアウトを行い、ファンアウト数に応じた改善度の表を作成する。
【００６３】
以上のように、あらかじめ簡単な回路から改善される遅延値を算出して、ファンアウト数に応じた改善度の表を用意することで、セル挿入において見積もられる改善度の精度を上げることができる。
【００６４】
（実施の形態２）
修正方法決定部１０５において、修正対象情報４００だけでなく、レイアウトの配置情報を用いることも可能である。図７は本発明の実施の形態２における、レイアウト情報を用いた場合の修正方法決定部１０５のフローチャート図である。図７において、修正方法決定部１０５は、修正対象判定部７０２と、駆動能力判定部７０３と、駆動セル置換部７０４と、対象セル置換部７０５と、セル挿入部７０６とからなる。
【００６５】
まず修正対象判定部７０２において修正箇所選択部１０４で選択された修正対象情報７００より、修正対象箇所がセルか配線かを判断する。修正対象箇所がセルであれば駆動能力判定部７０３へ処理を進める。修正対象箇所が配線であればセル挿入部７０６へ処理を進める。
【００６６】
駆動能力判定部７０３において、図４の駆動能力判定部４０２と同様に、修正対象セルの駆動能力と修正対象セルを駆動するセルの駆動能力を比較し、修正対象セルを駆動するセルの駆動能力が小さい場合、駆動セル置換部７０４へ、修正対象セルを駆動するセルの駆動能力が大きい場合、対象セル置換部７０５へ処理を進める。
【００６７】
駆動セル置換部７０４において、図４の駆動セル置換部４０３と同様に、修正対象セルを駆動するセルの置換を行い、修正方法情報７０７を出力し、対象セル置換部７０５へ処理を進める。
【００６８】
対象セル置換部７０５において、図４の対象セル置換部４０４と同様に、修正対象セルの置換を行い、修正方法情報７０７を出力し、修正方法決定部１０５を終了する。
【００６９】
修正対象判定部７０２において修正対象が配線だった場合、セル挿入部７０６で配線にセルを挿入する。レイアウトツールより出力したレイアウト情報７０１から、配線に接続するセルの配置位置情報を抽出する。配置位置情報を用いることでファンアウトが１より大きい配線についてもセルを挿入することができる。例えば、ファンアウトが１より大きな配線については、ある一定の距離内に存在するセル同士を１つのセルで駆動するようにセルを挿入する。配線へのセルの挿入方法が決定したら、修正方法情報７０７を出力し修正方法決定部１０５を終了する。
【００７０】
以上のように、配線にセルを挿入する修正方法においてレイアウト情報を用いることにより、ファンアウトが１より大きい配線に対してもセルを挿入することにより、効果的な配線遅延の改善を行うことができる。
【００７１】
（実施の形態３）
図８は、本発明の実施の形態３におけるセットアップエラー修正装置を説明するための概略構成図である。本実施形態のセットアップエラー修正装置は、半導体回路の接続情報であるネットリストのセットアップエラーを修正するセットアップエラー修正装置であって、静的タイミング解析によってタイミング情報を得るタイミング解析部１００と、各フリップフロップ間のパスの遅延時間と、要求遅延時間と、パスに含まれる各セルの遅延時間と駆動能力、パスに含まれる各配線の遅延時間とファンアウト数とを含むタイミング情報を格納するタイミング情報格納部１０１と、前記タイミング解析部１００で得られたタイミング情報のフリップフロップ間のパスの遅延情報を抽出するパス解析部１０３と、前記パス解析部１０３で抽出したパスの遅延情報から遅延の改善が可能なセルまたは配線を選択する修正箇所選択部１０４と、前記修正箇所選択部１０４で選択された修正箇所についてセルの置換を行う修正方法または配線にセルを挿入する修正方法を選択する修正方法決定部１０５と、修正方法に応じて改善される遅延値の見積もりを算出する改善度見積もり部１０６と、決定した修正方法に基づいて回路変更情報を出力する出力部１０９と、出力部１０９から出力される回路変更情報を格納する回路変更情報格納部１１０とを備える。
【００７２】
本実施形態のセットアップエラー修正装置によれば、セットアップエラーパスにおいて、修正対象箇所の修正方法が決定されるごとに改善度見積もりを算出することで、タイミングエラーパスの遅延時間と見積もった改善度から、要求遅延時間を満たしたかどうかを判断することができ、過剰な修正を防止することができる。
【産業上の利用可能性】
【００７３】
本発明にかかる半導体集積回路のセットアップエラー修正方法および装置は、セットアップエラー修正において、駆動能力の低いセルを駆動能力の高いセルへ置換する修正方法と、配線にセルを挿入する修正方法を選択することで効果的な修正を行い、修正方法に基づいた改善度を見積もることで過剰な修正を防止し、レイアウトへの影響を低減することで効果的なセットアップエラー修正を行うことができるため、半導体集積回路のセットアップエラー修正方法および装置について有用である。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態１におけるセットアップエラー修正方法のフローチャート
【図２】本発明の実施の形態１における修正対象箇所の選択方法の具体例を説明する図
【図３】本発明の実施の形態１におけるパス解析の具体例を説明する図
【図４】本発明の実施の形態１における修正方法決定のフローチャート
【図５】本発明の実施の形態１における改善度見積もり方法のフローチャート
【図６】本発明の実施の形態１におけるセル挿入改善度見積もり方法の具体例を説明する図
【図７】本発明の実施の形態２における修正方法決定のフローチャート
【図８】本発明の実施の形態３におけるセットアップエラー修正装置を説明するための概略構成図
【図９】従来のセットアップエラー修正方法のフローチャート
【符号の説明】
【００７５】
１００、８００  タイミング解析部
１０１、８０１  タイミング情報
１０２、８０２  エラー判定部
１０３、８０３  パス解析部
１０４、８０４  修正箇所選択部
１０５、８０５  修正方法決定部
１０６  改善度見積もり部
１０７  改善度判定部
１０８、８０６  修正箇所判定部
１０９、８０７  出力部
１１０、８０８  回路変更情報
４００、７００  修正対象情報
４０１、７０２  修正対象判定部
４０２、７０３  駆動能力判定部
４０３、７０４  駆動セル置換部
４０４、７０５  対象セル置換部
４０５  ファンアウト判定部
４０６、７０６  セル挿入部
４０７、５００、７０７  修正方法情報
５０１  修正方法判定部
５０２  セル置換改善度見積もり部
５０３  セル挿入改善度見積もり部
５０４  改善度情報
７０１  レイアウト情報
【図１】
2008009860.tif 000003
【図２】
2008009860.tif 000004
【図３】
2008009860.tif 000005
【図４】
2008009860.tif 000006
【図５】
2008009860.tif 000007
【図６】
2008009860.tif 000008
【図７】
2008009860.tif 000009
【図８】
2008009860.tif 000010
【図９】
2008009860.tif 000011