(57)【要約】【課題】タイミング調整工数を削減することができる半導体集積回路設計装置を提供する。【解決手段】半導体集積回路設計装置は、第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、回路バグを修正するために設けられた第１ダミーセルを検索するダミーセル検索手段と、前記違反セル特定手段によって特定された前記違反セルと前記違反セルによって駆動される前記第１被駆動セルと前記ダミーセル検索手段によって検索された前記第１ダミーセルとの組み合わせによる論理一致処理を実行する論理一致手段と、前記違反セルと前記第１被駆動セルとに前記第１ダミーセルを加えて再配線する再配線手段とを具備することを特徴とする。【選択図】　図２
2004086772.tif 000002
【特許請求の範囲】
【請求項１】
第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、
回路バグを修正するために設けられた第１ダミーセルを検索するダミーセル検索手段と、
前記違反セル特定手段によって特定された前記違反セルと前記違反セルによって駆動される前記第１被駆動セルと前記ダミーセル検索手段によって検索された前記第１ダミーセルとの組み合わせによる論理一致処理を実行する論理一致手段と、
前記違反セルと前記第１被駆動セルとに前記第１ダミーセルを加えて再配線する再配線手段とを具備することを特徴とする半導体集積回路設計装置。
【請求項２】
前記ダミーセル検索手段は、前記違反セルと前記第１被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第１矩形領域内において前記第１ダミーセルを検索する、請求項１記載の半導体集積回路設計装置。
【請求項３】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１矩形領域を囲むように配置された第２矩形領域内において前記第１ダミーセルを検索する、請求項２記載の半導体集積回路設計装置。
【請求項４】
前記第２矩形領域内において前記第１ダミーセルが存在しなかったときに、前記第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに前記違反セルを置き換える置換手段をさらに備える、請求項３記載の半導体集積回路設計装置。
【請求項５】
前記違反セルと前記第１被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、
前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第１ダミーセルの検索を開始する、請求項１記載の半導体集積回路設計装置。
【請求項６】
前記違反セルは、入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい第２被駆動セルをさらに駆動しており、
前記ダミーセル検索手段は、前記回路バグを修正するために設けられた第２ダミーセルを検索し、
前記論理一致手段は、前記違反セルと前記第２被駆動セルと前記第２ダミーセルとの組み合わせによる論理一致処理を実行し、
前記再配線手段は、前記違反セルと前記第２被駆動セルとに前記第２ダミーセルを加えて再配線する、請求項１記載の半導体集積回路設計装置。
【請求項７】
前記ダミーセル検索手段は、前記違反セルと前記第２被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第３矩形領域内において前記第２ダミーセルを検索する、請求項６記載の半導体集積回路設計装置。
【請求項８】
前記ダミーセル検索手段は、前記第３矩形領域内において前記第２ダミーセルが存在しなかったときは、前記第３矩形領域を囲むように配置された第４矩形領域内において前記第２ダミーセルを検索する、請求項７記載の半導体集積回路設計装置。
【請求項９】
前記第２および前記第４矩形領域内において前記第１および前記第２ダミーセルがそれぞれ存在しなかったときは、前記第１被駆動セルを駆動するための第１分割駆動セルと前記第２被駆動セルを駆動するための第２分割駆動セルとに前記違反セルを置き換えることによって前記第１および前記第２被駆動セルへの配線を分割する分割手段をさらに備える、請求項８記載の半導体集積回路設計装置。
【請求項１０】
前記第２および前記第４矩形領域内において前記第１および前記第２ダミーセルがそれぞれ存在しなかったときは、前記第１および前記第２被駆動セルと前記違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する挿入手段をさらに備える、請求項８記載の半導体集積回路設計装置。
【請求項１１】
前記違反セルと前記第２被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、
前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第２ダミーセルの検索を開始する、請求項６記載の半導体集積回路設計装置。
【請求項１２】
駆動セルの駆動能力と接続数との間の関係を定義した駆動セルテーブルと、前記駆動セルの前記駆動能力と各駆動セル間の仮想配線長とに基づく所定の演算結果を基準とした遅延分布が格納された遅延統計データベースとに基づいて、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして推定する違反セル推定手段と、
前記違反セル推定手段によって推定された前記違反セルによって駆動される第１被駆動セルと前記違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義したタイミングリペアセルテーブルに基づいて、前記タイミングリペアセルの種別および段数を決定する決定手段と、
前記決定手段によって決定された種別および段数を有する第１タイミングリペアセルを、前記違反セルと前記第１被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第１矩形領域に挿入する挿入手段とを具備することを特徴とする半導体集積回路設計装置。
【請求項１３】
前記挿入手段によって前記第１タイミングリペアセルが挿入された後に第１機能リペアセルを配置する機能リペアセル配置手段と、
各セル間の配線を実行する配線手段と、
前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、
違反セル特定手段によって特定された前記違反セルを、前記ＳＬＥＷが所定値以下となる程度に駆動能力の高い駆動セルに置き換える置換手段とをさらに具備する、請求項１２記載の半導体集積回路設計装置。
【請求項１４】
前記違反セル推定手段によって推定された前記違反セルは、ＳＬＥＷが所定値よりも大きい第２被駆動セルをさらに駆動しており、
前記決定手段は、前記違反セルによって駆動される前記第２被駆動セルと前記違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義した前記タイミングリペアセルテーブルに基づいて、前記タイミングリペアセルの種別および段数を決定し、
前記挿入手段は、前記決定手段によって決定された種別および段数を有する第２タイミングリペアセルを、前記違反セルと前記第２被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第２矩形領域に挿入する、請求項１２記載の半導体集積回路設計装置。
【請求項１５】
前記挿入手段によって前記第２タイミングリペアセルが挿入された後に第２機能リペアセルを配置する機能リペアセル配置手段と、
各セル間の配線を実行する配線手段と、
前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、
違反セル特定手段によって特定された前記違反セルを、前記第１被駆動セルを駆動するための第１分割駆動セルと前記第２被駆動セルを駆動するための第２分割駆動セルとに置き換えることによって前記第１および前記第２被駆動セルへの配線を分割する分割手段をさらに備える、請求項１４記載の半導体集積回路設計装置。
【請求項１６】
前記挿入手段によって前記第２タイミングリペアセルが挿入された後に第２機能リペアセルを配置する機能リペアセル配置手段と、
各セル間の配線を実行する配線手段と、
前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、
前記第１および前記第２被駆動セルと前記違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する挿入手段をさらに備える、請求項１４記載の半導体集積回路設計装置。
【請求項１７】
前記機能リペアセル配置手段は、前記機能リペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義した機能リペアセルテーブルに基づいて前記第２機能リペアセルを配置する、請求項１６記載の半導体集積回路設計装置。
【請求項１８】
前記機能リペアセル配置手段は、前記挿入手段によって前記第１および前記第２タイミングリペアセルが挿入された後に前記第２機能リペアセルを配置する、請求項１６記載の半導体集積回路設計装置。
【請求項１９】
前記挿入手段によって前記第１タイミングリペアセルが挿入された後に第１機能リペアセルを配置する機能リペアセル配置手段と、
各セル間の配線を実行する配線手段と、
前記配線手段によって各セル間の配線が実行された後に、第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、
回路バグを修正するために設けられた第１ダミーセルを検索するダミーセル検索手段と、
前記違反セル特定手段によって特定された前記違反セルと前記違反セルによって駆動される前記第１被駆動セルと前記ダミーセル検索手段によって検索された前記第１ダミーセルとの組み合わせによる論理一致処理を実行する論理一致手段と、
前記違反セルと前記第１被駆動セルとに前記第１ダミーセルを加えて再配線する再配線手段とをさらに具備する、請求項１２記載の半導体集積回路設計装置。
【請求項２０】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルを検索する、請求項１９記載の半導体集積回路設計装置。
【請求項２１】
前記違反セルと前記第１被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、
前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第１ダミーセルの検索を開始する、請求項１９記載の半導体集積回路設計装置。
【請求項２２】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１矩形領域を囲むように配置された第３矩形領域内において前記第１ダミーセルを検索する、請求項１９記載の半導体集積回路設計装置。
【請求項２３】
前記第３矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに前記違反セルを置き換える置換手段をさらに備える、請求項１９記載の半導体集積回路設計装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路設計装置に関し、特に、スタンダードセル方式の半導体集積回路のタイミングを調整するための半導体集積回路設計装置に関する。
【０００２】
【従来の技術】
近年の急激なプロセスの微細化及びＬＳＩにおける動作速度の向上に伴い、高精度ライブラリを用いてタイミングを高精度に設計し、及び検証することが必要となってきた。高精度ライブラリを用いると実デバイスの特性を忠実に再現するため、従来一定であったセルの遅延値は、入力波形の傾き（以後、ＳＬＥＷと呼ぶ）と出力負荷容量の大きさに依存して変化する。すなわち、同じセルでも入力ＳＬＥＷと出力負荷容量の大きさによってセルの遅延値が変化する。他方、入力波形のＳＬＥＷが大きいとデバイスの劣化が加速するおそれがあるため、入力波形のＳＬＥＷには制限が設けられ、セルの入力波形のＳＬＥＷが制限内に収まらない場合は、制限内に収まるように回路もしくはレイアウトを修正する必要がある。
【０００３】
一方、プロセスの微細化に従いマスク枚数が増加し、回路バグが発生した際に発生する修正にかかる工数も増大する傾向にある。そのため、現在の半導体集積回路の設計に際しては回路バグ発生時の修正工数を最小限に抑えるため、基本セルで構成された機能リペアセルという機能修正用のセルが回路内に挿入されている。
【０００４】
図１８は、従来の半導体集積回路設計装置９０の構成を示すブロック図である。半導体集積回路設計装置９０は、違反セル特定器９４を備えている。違反セル特定器９４は、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する。半導体集積回路設計装置９０には、置換器９５が設けられている。置換器９５は、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに違反セルを置き換える。半導体集積回路設計装置９０は、分割器９７を備えている。分割器９７は、第１被駆動セルを駆動するための第１分割駆動セルと第２被駆動セルを駆動するための第２分割駆動セルとに違反セルを置き換えることによって第１および第２被駆動セルへの配線を分割する。半導体集積回路設計装置９０には、挿入器９８が設けられている。挿入器９８は、第１および第２被駆動セルと違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する。
【０００５】
図１９は従来の半導体集積回路設計装置９０の動作を示すフローチャートであり、図２０は従来の半導体集積回路設計装置９０に設けられた置換器９５の動作を説明するための図であり、図２１は従来の半導体集積回路設計装置９０に設けられた分割器９７の動作を説明するための図であり、図２２は従来の半導体集積回路設計装置９０に設けられた挿入器９８の動作を説明するための図である。
【０００６】
まず、通常セルを配置する（ステップＳ９１）。そして、回路バグが発生したときの修正工数を抑えるための機能リペアセルを配置する（ステップＳ９２）。次にステップＳ９１において配置した通常セル同士を配線する（ステップＳ９３）。その後、各通常セルの遅延情報を抽出する（ステップＳ９４）。
【０００７】
そして、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいか否かを判断する（ステップＳ９７）。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きくないときは（ステップＳ９７においてＹＥＳ）、処理を終了する。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいときは（ステップＳ９７においてＮＯ）、被駆動セルと駆動セルとによって構成される回路を検討する（ステップＳ９５）。
【０００８】
入力ＳＬＥＷが大きくなる原因は、駆動セルの駆動能力が低い場合と出力負荷容量が大きい場合とに大別することができる。そこで、前述したＳＬＥＷの制限値に対する改善施策として、以下のような対策が一般的に講じられている。
【０００９】
・駆動するセルの駆動能力が低い場合
図２０（ａ）および図２０（ｂ）に示すように、駆動セルを駆動能力の高いセルに変更する。図２０（ａ）および図２０（ｂ）に示す例では、被駆動セル８６を駆動する駆動セル８５を、駆動セル８５よりも高い駆動能力を有する駆動セル７１に置き換える。
【００１０】
・出力負荷容量が大きい場合
以下の２つの対策に分類することができる。
【００１１】
第１の対策では、駆動セルに対して複数のセルが接続されている状況において、図２１（ａ）および図２１（ｂ）に示すように配線の分割によって出力負荷容量を軽減する。図２１（ａ）および図２１（ｂ）に示す例では、被駆動セル８６Ａ、８６Ｂおよび８６Ｃを駆動する駆動セル８５を、被駆動セル８６Ａおよび８６Ｂを駆動する駆動セル７９と被駆動セル８６Ｃを駆動する駆動セル８０とに分割し、再配線する。
【００１２】
第２の対策では、複数の被駆動セルに対して１つの駆動セルのみが接続されている状況において、図２２（ａ）および図２２（ｂ）に示すように駆動セルと被駆動セルとの間にセルを挿入することによって配線容量と配線抵抗とを軽減する。図２２（ａ）および図２２（ｂ）に示す例では、駆動セル８５と被駆動セル８６Ａとの間にセル７１を挿入し、駆動セル８５と被駆動セル８６Ｂとの間にセル７２を挿入する。
【００１３】
このように、高駆動能力セルへの置換、配線の分割、駆動セルと被駆動セルとの間へのセル（このセルはバッファに相当する機能を有している。以後リピータセルと呼ぶ）の挿入を個別に適用する。あるいは、いずれかを複合的に使用して対処する場合も有る。
【００１４】
【発明が解決しようとする課題】
しかしながら、配置・配線を実施した後での配置・配線結果から遅延情報を抽出し、ＳＬＥＷを算出することによってＳＬＥＷの制限値を越えている箇所を特定し、さらにその後で、上述の３種類の対策を講じているため、この対策実施に際して機能リペアセルをＳＬＥＷ対策用に使用することは皆無であった。更に、配線前に所定の遅延時間推定処理を実施した上でタイミングリペアセルを挿入することは皆無であった。
【００１５】
前述した従来のＳＬＥＷ制約違反箇所に対する対策方法（高駆動能力セルへの置換、リピータセルの挿入、配線の分割）の全てを実施してもＳＬＥＷがどれだけ改善されるかという予測が困難であり、対策後においてもＳＬＥＷ制約違反が残り、また前記対策自体が、セル数及び配線数を増加させることにより、他のセル配置および配線へ影響を与え、配置配線―遅延情報抽出―解析―対策の４状態を際限無く繰り返す現象（イタレーション）を引き起こし、工数・面積の増大要因となっていた。
【００１６】
また、ＳＬＥＷ対策によるセル数及び配線数の増加に伴う面積増大を避けようとすると、優先的に配線を実施していたクロック等の配線にも影響を及ぼすこととなり、タイミング調整工数が一層増加する要因ともなっている。
【００１７】
本発明は係る問題を解決するためになされたものであり、その目的は、タイミング調整工数を削減することができる半導体集積回路設計装置を提供することにある。
【００１８】
【課題を解決するための手段】
係る目的を達成するために本発明に係る半導体集積回路設計装置は、第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、回路バグを修正するために設けられた第１ダミーセルを検索するダミーセル検索手段と、前記違反セル特定手段によって特定された前記違反セルと前記違反セルによって駆動される前記第１被駆動セルと前記ダミーセル検索手段によって検索された前記第１ダミーセルとの組み合わせによる論理一致処理を実行する論理一致手段と、前記違反セルと前記第１被駆動セルとに前記第１ダミーセルを加えて再配線する再配線手段とを具備することを特徴とする。
【００１９】
本発明に係る他の半導体集積回路設計装置は、駆動セルの駆動能力と接続数との間の関係を定義した駆動セルテーブルと、前記駆動セルの前記駆動能力と各駆動セル間の仮想配線長とに基づく所定の演算結果を基準とした遅延分布が格納された遅延統計データベースとに基づいて、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして推定する違反セル推定手段と、前記違反セル推定手段によって推定された前記違反セルによって駆動される第１被駆動セルと前記違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義したタイミングリペアセルテーブルに基づいて、前記タイミングリペアセルの種別および段数を決定する決定手段と、前記決定手段によって決定された種別および段数を有する第１タイミングリペアセルを、前記違反セルと前記第１被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第１矩形領域に挿入する挿入手段とを具備することを特徴とする。
【００２０】
【発明の実施の形態】
本実施の形態に係る半導体集積回路設計装置においては、第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい違反セルと違反セルによって駆動される第１被駆動セルとに、回路バグを修正するために設けられた第１ダミーセルを加えて再配線がなされる。このため、すでに回路内に配置されているダミーセルを使用してＳＬＥＷ対策を行うことができる。その結果、セル面積および配線面積を極力増加させることなくＳＬＥＷ対策を実施することができる。
【００２１】
前記ダミーセル検索手段は、前記違反セルと前記第１被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第１矩形領域内において前記第１ダミーセルを検索することが好ましい。
【００２２】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１矩形領域を囲むように配置された第２矩形領域内において前記第１ダミーセルを検索することが好ましい。
【００２３】
前記第２矩形領域内において前記第１ダミーセルが存在しなかったときに、前記第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに前記違反セルを置き換える置換手段をさらに備えることが好ましい。
【００２４】
前記違反セルと前記第１被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第１ダミーセルの検索を開始することが好ましい。
【００２５】
前記違反セルは、入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい第２被駆動セルをさらに駆動しており、前記ダミーセル検索手段は、前記回路バグを修正するために設けられた第２ダミーセルを検索し、前記論理一致手段は、前記違反セルと前記第２被駆動セルと前記第２ダミーセルとの組み合わせによる論理一致処理を実行し、前記再配線手段は、前記違反セルと前記第２被駆動セルとに前記第２ダミーセルを加えて再配線することが好ましい。
【００２６】
前記ダミーセル検索手段は、前記違反セルと前記第２被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第３矩形領域内において前記第２ダミーセルを検索することが好ましい。
【００２７】
前記ダミーセル検索手段は、前記第３矩形領域内において前記第２ダミーセルが存在しなかったときは、前記第３矩形領域を囲むように配置された第４矩形領域内において前記第２ダミーセルを検索することが好ましい。
【００２８】
前記第２および前記第４矩形領域内において前記第１および前記第２ダミーセルがそれぞれ存在しなかったときは、前記第１被駆動セルを駆動するための第１分割駆動セルと前記第２被駆動セルを駆動するための第２分割駆動セルとに前記違反セルを置き換えることによって前記第１および前記第２被駆動セルへの配線を分割する分割手段をさらに備えることが好ましい。
【００２９】
前記第２および前記第４矩形領域内において前記第１および前記第２ダミーセルがそれぞれ存在しなかったときは、前記第１および前記第２被駆動セルと前記違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する挿入手段をさらに備えることが好ましい。
【００３０】
前記違反セルと前記第２被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第２ダミーセルの検索を開始することが好ましい。
【００３１】
本実施の形態に係る他の半導体集積回路設計装置においては、タイミングリペアセルテーブルに基づいて種別および段数が決定された第１タイミングリペアセルが、違反セルと第１被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第１矩形領域に挿入される。このため、従来技術のようにＳＬＥＷ違反個所ごとに設計者がＳＬＥＷ対策を考える必要が無い。その結果、ＳＬＥＷ対策に必要な工数を削減することができる。
【００３２】
前記挿入手段によって前記第１タイミングリペアセルが挿入された後に第１機能リペアセルを配置する機能リペアセル配置手段と、各セル間の配線を実行する配線手段と、前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、違反セル特定手段によって特定された前記違反セルを、前記ＳＬＥＷが所定値以下となる程度に駆動能力の高い駆動セルに置き換える置換手段とをさらに具備することが好ましい。
【００３３】
前記違反セル推定手段によって推定された前記違反セルは、ＳＬＥＷが所定値よりも大きい第２被駆動セルをさらに駆動しており、前記決定手段は、前記違反セルによって駆動される前記第２被駆動セルと前記違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義した前記タイミングリペアセルテーブルに基づいて、前記タイミングリペアセルの種別および段数を決定し、前記挿入手段は、前記決定手段によって決定された種別および段数を有する第２タイミングリペアセルを、前記違反セルと前記第２被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる第２矩形領域に挿入することが好ましい。
【００３４】
前記挿入手段によって前記第２タイミングリペアセルが挿入された後に第２機能リペアセルを配置する機能リペアセル配置手段と、各セル間の配線を実行する配線手段と、前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、違反セル特定手段によって特定された前記違反セルを、前記第１被駆動セルを駆動するための第１分割駆動セルと前記第２被駆動セルを駆動するための第２分割駆動セルとに置き換えることによって前記第１および前記第２被駆動セルへの配線を分割する分割手段をさらに備えることが好ましい。
【００３５】
前記挿入手段によって前記第２タイミングリペアセルが挿入された後に第２機能リペアセルを配置する機能リペアセル配置手段と、各セル間の配線を実行する配線手段と、前記配線手段によって各セル間の配線が実行された後に、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、前記第１および前記第２被駆動セルと前記違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する挿入手段をさらに備えることが好ましい。
【００３６】
前記機能リペアセル配置手段は、前記機能リペアセルの種別および段数と、前記遅延統計データベースに格納された前記遅延分布との間の関係を定義した機能リペアセルテーブルに基づいて前記第２機能リペアセルを配置することが好ましい。
【００３７】
前記機能リペアセル配置手段は、前記挿入手段によって前記第１および前記第２タイミングリペアセルが挿入された後に前記第２機能リペアセルを配置することが好ましい。
【００３８】
前記挿入手段によって前記第１タイミングリペアセルが挿入された後に第１機能リペアセルを配置する機能リペアセル配置手段と、各セル間の配線を実行する配線手段と、前記配線手段によって各セル間の配線が実行された後に、第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する違反セル特定手段と、回路バグを修正するために設けられた第１ダミーセルを検索するダミーセル検索手段と、前記違反セル特定手段によって特定された前記違反セルと前記違反セルによって駆動される前記第１被駆動セルと前記ダミーセル検索手段によって検索された前記第１ダミーセルとの組み合わせによる論理一致処理を実行する論理一致手段と、前記違反セルと前記第１被駆動セルとに前記第１ダミーセルを加えて再配線する再配線手段とをさらに具備することが好ましい。
【００３９】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルを検索することが好ましい。
【００４０】
前記違反セルと前記第１被駆動セルとを結ぶ線分の中点を算出する中点算出手段をさらに具備しており、前記ダミーセル検索手段は、前記中点算出手段によって算出された前記中点から前記第１ダミーセルの検索を開始することが好ましい。
【００４１】
前記ダミーセル検索手段は、前記第１矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１矩形領域を囲むように配置された第３矩形領域内において前記第１ダミーセルを検索することが好ましい。
【００４２】
前記第３矩形領域内において前記第１ダミーセルが存在しなかったときは、前記第１被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに前記違反セルを置き換える置換手段をさらに備えることが好ましい。
【００４３】
以下、図面を参照して本実施の形態を説明する。
【００４４】
（実施の形態１）
図１は、実施の形態１に係る半導体集積回路設計装置１００の構成を示すブロック図である。半導体集積回路設計装置１００は、違反セル特定器４を備えている。違反セル特定器４は、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい駆動セルを違反セルとして特定する。
【００４５】
半導体集積回路設計装置１００には、ダミーセル検索器１が設けられている。ダミーセル検索器１は、回路バグを修正するために設けられたダミーセルを検索する。
【００４６】
半導体集積回路設計装置１００は、論理一致器２を備えている。論理一致器２は、違反セル特定器４によって特定された違反セルと違反セルによって駆動される第１被駆動セルとダミーセル検索器１によって検索された第１ダミーセルとの組み合わせによる論理一致処理を実行する。
【００４７】
半導体集積回路設計装置１００には、再配線器３が設けられている。再配線器３は、違反セルと第１被駆動セルとに第１ダミーセルを加えて再配線する。
【００４８】
半導体集積回路設計装置１００は、中点算出器１６を備えている。中点算出器１６は、違反セルと第１被駆動セルとを結ぶ線分の中点を算出する。
【００４９】
半導体集積回路設計装置１００には、置換器１５が設けられている。置換器１５は、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値以下となる程度に駆動能力の高い駆動セルに違反セルを置き換える。半導体集積回路設計装置１００は、分割器１７を備えている。分割器１７は、第１被駆動セルを駆動するための第１分割駆動セルと第２被駆動セルを駆動するための第２分割駆動セルとに違反セルを置き換えることによって第１および第２被駆動セルへの配線を分割する。半導体集積回路設計装置１００には、挿入器１８が設けられている。挿入器１８は、第１および第２被駆動セルと違反セルとの間に第１および第２挿入駆動セルをそれぞれ挿入する。
【００５０】
図２は、半導体集積回路設計装置１００の動作を示すフローチャートである。まず、通常セルを配置する（ステップＳ１）。そして、回路バグが発生したときの修正工数を抑えるための機能リペアセルを配置する（ステップＳ２）。次にステップＳ１において配置した通常セル同士を配線する（ステップＳ３）。その後、各通常セルの遅延情報を抽出する（ステップＳ４）。
【００５１】
そして、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいか否かを判断する（ステップＳ５）。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きくないときは（ステップＳ５においてＹＥＳ）、処理を終了する。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいときは（ステップＳ５においてＮＯ）、ＳＬＥＷが所定値よりも大きい駆動セルとＳＬＥＷが所定値よりも大きい駆動セルによって駆動される被駆動セルとが１対１であるか否かを判断する（ステップＳ６）。
【００５２】
図３は、半導体集積回路設計装置１００においてダミーセルを検索する方法を説明する図である。ＳＬＥＷが所定値よりも大きい駆動セルと被駆動セルとが１対１であると判断されたときは（ステップＳ６においてＹＥＳ）、駆動セルと被駆動セルとの間の中間点の座標を算出する（ステップＳ７）。図３に示す例では、駆動セル５と被駆動セル６との間の中間点１４の座標を算出する。
【００５３】
そして、駆動セル５と被駆動セル６とを結ぶ線を対角線１１とする矩形領域１２の中において中間点１４から駆動セル５と被駆動セル６とに向って機能リペアセル７を検索する（ステップＳ８）。
【００５４】
矩形領域１２の中において機能リペアセル７が存在しなかったときは（ステップＳ９においてＮＯ）、矩形領域１２を任意の倍率によって拡大して、矩形領域１２を囲むように配置された矩形領域１３において機能リペアセル１０を検索する（ステップＳ１０）。
【００５５】
矩形領域１２の中において機能リペアセル７が存在したとき（ステップＳ９においてＹＥＳ）、または矩形領域１３の中において機能リペアセル１０が存在したとき（ステップＳ１１においてＹＥＳ）は、論理一致器２は、駆動セル５と被駆動セル６とダミーセル検索器１によって検索された機能リペアセル７または機能リペアセル１０との組み合わせによる論理一致処理を実行する（ステップＳ１２）。
【００５６】
そして、再配線器３は、駆動セル５と被駆動セル６とに機能リペアセル７または機能リペアセル１０を加えて再配線し（ステップＳ１３）、ステップＳ４へ戻る。
【００５７】
図５（ａ）は、駆動セル５と駆動セル５によって駆動される被駆動セル６とを示す図であり、図５（ｂ）は、駆動セル５を置換した駆動セル４１と被駆動セル６とを示す図である。
【００５８】
矩形領域１３の中において機能リペアセル１０が存在しなかったときは（ステップＳ１１においてＮＯ）、被駆動セル６を駆動する駆動セル５を、駆動セル５よりも高い駆動能力を有する駆動セル４１に置き換える置換処理を実行し（ステップＳ１４）、その後ステップＳ４へ戻る。
【００５９】
図４は半導体集積回路設計装置１００においてダミーセルを検索する他の方法を説明する図であり、図６（ａ）は駆動セル５と駆動セル５によって駆動される被駆動セル６および９とを示す図であり、図６（ｂ）は分割駆動セル１９および２０と被駆動セル６および９とを示す図である。図７（ａ）は駆動セル５と駆動セル５によって駆動される被駆動セル６および９とを示す図であり、図７（ｂ）は、駆動セル５と被駆動セル６および９との間にそれぞれ挿入された挿入駆動セル２２および２１を示す図である。
【００６０】
ＳＬＥＷが所定値よりも大きい駆動セルと被駆動セルとが１対１でないと判断されたときは（ステップＳ６においてＮＯ）、駆動セル５と被駆動セル６および被駆動セル９とを、駆動セル５と被駆動セル６とによって構成される１対１のエリアと駆動セル５と被駆動セル９とによって構成される１対１のエリアとに分割する。そして分割した１対１の各エリアごとに前述したステップＳ７ないしステップＳ１４に示す処理を実行する。
【００６１】
この場合、ステップＳ１４においては、被駆動セル６および９を駆動する駆動セル５を、被駆動セル６を駆動する駆動セル２０と被駆動セル９を駆動する駆動セル１９とに分割し、再配線する分割処理、および、駆動セル５と被駆動セル６との間にセル２２を挿入し、駆動セル５と被駆動セル９との間にセル２１を挿入する挿入処理のいずれかを実行してもよい。
【００６２】
以上のように実施の形態１によれば、被駆動セル６へ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きい違反セル５と違反セル５によって駆動される被駆動セル６とに、回路バグを修正するために設けられたダミーセル７または１０を加えて再配線がなされる。このため、すでに回路内に配置されているダミーセル７または１０を使用してＳＬＥＷ対策を行うことができる。その結果、セル面積および配線面積を極力増加させることなくＳＬＥＷ対策を実施することができる。
【００６３】
実施の形態１においては、従来技術のように全てのＳＬＥＷ違反箇所に対しセルの高駆動化、ネット分岐、バッファ挿入等の対策をすることなく、既に回路内に存在し、配置されている状態の機能リペアセルを使用してＳＬＥＷ対策を行うことが出来る。このため、セル面積及び配線面積を極力増加させることなくＳＬＥＷ対策を実施することができる。また、セル面積及び配線面積の増加が少ないため、既存の配置及び配線情報を損ねることなくＳＬＥＷ対策後にも配置配線を実施することが出来る。また、ＳＬＥＷ対策に使用可能な機能リペアセルを自動的に検索し配線を再接続するため、従来技術のようにＳＬＥＷ違反箇所毎に設計者が対策を考える必要が無いため工数を削減することができる。
【００６４】
（実施の形態２）
図８は実施の形態２に係る半導体集積回路設計装置１００Ａの構成を示すブロック図であり、図９は駆動セルテーブル２８の構成を説明するための図であり、図１０は遅延統計データベース２９に格納された遅延分布を示すグラフであり、図１１はタイミングリペアセルテーブル３５の構成を説明するための図である。実施の形態１において前述した半導体集積回路設計装置１００の構成要素と同一の構成要素には、同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００６５】
半導体集積回路設計装置１００Ａは、違反セル推定器２３を備えている。違反セル推定器２３は、駆動セルの駆動能力と接続数との間の関係を定義した駆動セルテーブル２８と、駆動セルの駆動能力と各駆動セル間の仮想配線長とに基づく所定の演算結果を基準とした遅延分布が格納された遅延統計データベース２９とに基づいて、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして推定する。
【００６６】
図９には駆動セルテーブル２８の一例が示されており、図９に示す例では、駆動能力１を有する駆動セルの接続数は１であり、駆動能力２を有する駆動セルの接続数は４であり、駆動能力３を有する駆動セルの接続数は６であり、駆動能力５を有する駆動セルの接続数は１０であることが示されている。
【００６７】
半導体集積回路設計装置１００Ａには、タイミングリペアセル決定器２４が設けられている。タイミングリペアセル決定器２４は、違反セル推定器２３によって推定された違反セルによって駆動される第１被駆動セルと違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、遅延統計データベース２９に格納された遅延分布との間の関係を定義したタイミングリペアセルテーブル３５とに基づいて、タイミングリペアセルの種別および段数を決定する。
【００６８】
図１１には、タイミングリペアセルテーブル３５の一例が示されている。図１１に示す例では、図１０に示す遅延統計データベース２９のａ％の分布に対しては駆動能力５のタイミングリペアセルを４段挿入し、ｂ％の分布に対しては駆動能力３のタイミングリペアセルを２段挿入することを示している。
【００６９】
半導体集積回路設計装置１００Ａは、タイミングリペアセル挿入器２５を備えている。タイミングリペアセル挿入器２５は、タイミングリペアセル決定器２４によって決定された種別および段数のタイミングリペアセルを、違反セルと被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる矩形領域に挿入する。
【００７０】
半導体集積回路設計装置１００Ａには、機能リペアセル配置器２６が設けられている。機能リペアセル配置器２６は、タイミングリペアセル挿入器２５によってタイミングリペアセルが挿入された後に機能リペアセルを配置する。半導体集積回路設計装置１００Ａは、配線器２７を備えている。配線器２７は、各セル間の配線を実行する。
【００７１】
図１２はＳＬＥＷ対策を実施する前の配置および配線の状態を示す平面図であり、図１３はＳＬＥＷ対策を実施したことにより、既存の配線情報が崩れてしまった状態の一例を示す平面図である。実配線を実施する前にＳＬＥＷ値の違反を判定する目的は、図１２および図１３に示すように、タイミングリペアセルが挿入されたことによる優先配線の配線経路のダメージを低減させるためである。図１２はタイミングリペアセル挿入前の優先配線１８と駆動セル１４と被駆動セル１５と駆動セル１４、被駆動セル１５の間の配線１７とを示す。図１３においてはタイミングリペアセル２１が挿入された後の優先配線２２の経路変更を示す。
【００７２】
図１４は、実施の形態２に係る半導体集積回路設計装置１００Ａの動作を示すフローチャートである。まず、通常セルを配置する（ステップＳ２１）。そして、違反セル推定器２３は、駆動セルの駆動能力と接続数との間の関係を定義した駆動セルテーブル２８と、駆動セルの駆動能力と各駆動セル間の仮想配線長とに基づく所定の演算結果を基準とした遅延分布が格納された遅延統計データベース２９とに基づいて、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして推定する（ステップＳ２２）。
【００７３】
その後、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいか否かを判断する（ステップＳ２３）。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいときは（ステップＳ２３においてＮＯ）、ＳＬＥＷが所定値よりも大きい駆動セルとＳＬＥＷが所定値よりも大きい駆動セルによって駆動される被駆動セルとが１対１であるか否かを判断する（ステップＳ２４）。
【００７４】
次に、ＳＬＥＷが所定値よりも大きい駆動セルと被駆動セルとが１対１であると判断されたときは（ステップＳ２４においてＹＥＳ）、タイミングリペアセル決定器２４は、違反セル推定器２３によって推定された違反セルによって駆動される第１被駆動セルと違反セルとの間に挿入すべきタイミングリペアセルの種別および段数と、遅延統計データベース２９に格納された遅延分布との間の関係を定義したタイミングリペアセルテーブル３５とに基づいて、タイミングリペアセルの種別および段数を決定する（ステップＳ２５）。
【００７５】
そして、タイミングリペアセル挿入器２５は、タイミングリペアセル決定器２４によって決定された種別および段数のタイミングリペアセルを、違反セルと被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる矩形領域に挿入する（ステップＳ２６）。
【００７６】
被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きくないとき（ステップＳ２３においてＹＥＳ）、または、タイミングリペアセル挿入器２５がタイミングリペアセルを挿入したときは（ステップＳ２６）、機能リペアセル配置器２６は、機能リペアセルを配置する。そして、配線器２７は、各セル間の配線を実行する（ステップＳ２９）。次に、各セルの遅延情報を抽出する（ステップＳ３０）。その後、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいか否かを判断する（ステップＳ３１）。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きくないときは（ステップＳ３１においてＹＥＳ）、処理を終了する。
【００７７】
被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいときは（ステップＳ３１においてＮＯ）、被駆動セル６を駆動する駆動セル５を、駆動セル５よりも高い駆動能力を有する駆動セル４１に置き換える置換処理を実行する（ステップＳ３２）。次に、セルを再配置して配線し（ステップＳ３３）、ステップＳ３０へ戻る。
【００７８】
ＳＬＥＷが所定値よりも大きい駆動セルと被駆動セルとが１対１でないと判断されたときは（ステップＳ２４においてＮＯ）、前述した実施の形態１と同様に、駆動セル５と被駆動セル６および被駆動セル９とを、駆動セル５と被駆動セル６とによって構成される１対１のエリアと駆動セル５と被駆動セル９とによって構成される１対１のエリアとに分割する。そして分割した１対１の各エリアごとに前述したステップＳ２５ないしステップＳ３３に示す処理を実行する。この場合、ステップＳ３２においては、被駆動セル６および９を駆動する駆動セル５を、被駆動セル６を駆動する駆動セル２０と被駆動セル９を駆動する駆動セル１９とに分割し、再配線する分割処理、および、駆動セル５と被駆動セル６との間にセル２２を挿入し、駆動セル５と被駆動セル９との間にセル２１を挿入する挿入処理のいずれかを実行してもよい。
【００７９】
このように、タイミングリペアセルを配置した後、機能リペアセルを配置する。そして、実配線を実行し半導体装置遅延情報を抽出した後、配線ＳＬＥＷ違反を検証する。この時点でＳＬＥＷ違反が残った場合はＳＬＥＷ対策（セル高駆動化、ネット分岐、バッファ挿入等）を実施する。
【００８０】
以上のように実施の形態２によれば、タイミングリペアセルテーブル３５に基づいて種別および段数が決定されたタイミングリペアセルが、違反セルと被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる矩形領域に挿入される。このため、従来技術のようにＳＬＥＷ違反個所ごとに設計者がＳＬＥＷ対策を考える必要が無い。その結果、ＳＬＥＷ対策に必要な工数を削減することができる。
【００８１】
実施の形態２においては、セル配置が終了した段階でＳＬＥＷ違反の検証を実施しタイミングリペアセルを挿入するため、ＳＬＥＷ違反箇所があった場合でも既存の配線情報が崩されることによるタイミングへの影響が少ない。また、従来のようにＳＬＥＷ対策をする度に配置及び配線をする必要がないので工数を大幅に削減することが出来る。また、従来技術のように全てのＳＬＥＷ違反箇所に対しセルの高駆動化、ネット分岐、バッファ挿入等の対策をすることなくＳＬＥＷ対策を行うことが出来る。このため、セル面積及び配線面積を極力増加させることなくＳＬＥＷ対策を実施することができる。また、セル面積及び配線面積の増加が少ないため、既存の配置及び配線情報を損ねることなくＳＬＥＷ対策後にも配置配線を実施することが出来る。
【００８２】
また、ＳＬＥＷ対策に必要となるタイミングリペアセルをテーブルから自動的に検索し配置及び配線を実施するため、従来技術のようにＳＬＥＷ違反箇所毎に設計者が対策を考える必要が無いため工数を削減することができる。
【００８３】
図１５は、実施の形態２に係る半導体集積回路設計装置１００Ａの他の動作を示すフローチャートである。図１４を参照して前述したフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００８４】
ステップＳ２１ないしステップＳ２７は、前述した図１４と同一である。そして、違反セル推定器２３は、機能リペアセルの駆動能力と接続数との間の関係を定義した機能リペアセルテーブル４２と、駆動セルの駆動能力と各駆動セル間の仮想配線長とに基づく所定の演算結果を基準とした遅延分布が格納された遅延統計データベース２９Ａとに基づいて、ＳＬＥＷが所定値よりも大きい駆動セルを違反セルとして推定する（ステップＳ４１）。
【００８５】
その後、被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいか否かを判断する（ステップＳ４２）。被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きいときは（ステップＳ４２においてＮＯ）、ＳＬＥＷが所定値よりも大きい駆動セルとＳＬＥＷが所定値よりも大きい駆動セルによって駆動される被駆動セルとが１対１であるか否かを判断する（ステップＳ４３）。
【００８６】
次に、ＳＬＥＷが所定値よりも大きい駆動セルと被駆動セルとが１対１であると判断されたときは（ステップＳ４３においてＹＥＳ）、機能リペアセル決定器２４Ａは、違反セル推定器２３によって推定された違反セルによって駆動される第１被駆動セルと違反セルとの間に挿入すべき機能リペアセルの種別および段数と、遅延統計データベース２９Ａに格納された遅延分布との間の関係を定義した機能リペアセルテーブル３９とに基づいて、機能リペアセルの種別および段数を決定する（ステップＳ４４）。
【００８７】
そして、機能リペアセル挿入器２５Ａは、機能リペアセル決定器２４Ａによって決定された種別および段数の機能リペアセルを、違反セルと被駆動セルとを結ぶ線分を対角線とする矩形によって囲まれる矩形領域に挿入する（ステップＳ４６）。
【００８８】
被駆動セルへ入力される入力波形の傾き（ＳＬＥＷ）が所定値よりも大きくないとき（ステップＳ４２においてＹＥＳ）、または、機能リペアセル挿入器２５Ａが機能リペアセルを挿入したときは（ステップＳ４６）、配線器２７は、各セル間の配線を実行する（ステップＳ４７）。ステップＳ３０ないしステップＳ３３は、前述した図１４を参照して説明したステップＳ３０ないしステップＳ３３と同一である。従って、これらのステップの説明は省略する。
【００８９】
図１５に示す実施の形態２に係る半導体集積回路設計装置１００Ａの他の動作によれば、セル配置が終了した段階でＳＬＥＷ違反の検証を実施し機能リペアセルを再接続してＳＬＥＷ対策を行うため、ＳＬＥＷ違反箇所があった場合でも既存の配線情報が崩されることによるタイミングへの影響が少ない。更に、機能リペアセルを再接続した後でＳＬＥＷ違反の検証を行い、ＳＬＥＷ違反箇所に対してはタイミングリペアセルを挿入するため、配線後のＳＬＥＷ違反の検証にてＳＬＥＷ違反箇所が残る可能性が低く、残った場合でもＳＬＥＷ違反箇所数は少ないため既存の配線情報が崩されることによるタイミングへの影響が少ない。
【００９０】
また、従来のようにＳＬＥＷ対策をする度に配置及び配線をする必要がないので工数を大幅に削減することが出来る。また、従来技術のように全てのＳＬＥＷ違反箇所に対しセルの高駆動化、ネット分岐、バッファ挿入等の対策をすることなく、既に回路内に存在し、配置されている状態の機能リペアセル及びタイミングリペアセルを使用してＳＬＥＷ対策を行うことが出来る。
【００９１】
このため、セル面積及び配線面積を極力増加させることなくＳＬＥＷ対策を実施することができる。また、セル面積及び配線面積の増加が少ないため、既存の配置及び配線情報を損ねることなくＳＬＥＷ対策後にも配置配線を実施することが出来る。
【００９２】
また、ＳＬＥＷ対策に必要となる機能リペアセル及びタイミングリペアセルをテーブルから自動的に検索し配置及び配線を実施するため、従来技術のようにＳＬＥＷ違反箇所毎に設計者が対策を考える必要が無いため工数を削減することができる。
【００９３】
図１６は、実施の形態２に係る半導体集積回路設計装置１００Ａのさらに他の動作を示すフローチャートである。実施の形態１に係る図２および実施の形態２に係る図１４をそれぞれ参照して前述したフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００９４】
図１６に示すステップＳ２１ないしステップＳ３０は、図１４を参照して前述したステップＳ２１ないしステップＳ３０と同一である。図１６に示すステップＳ５ないしステップＳ１５は、図２を参照して前述したステップＳ５ないしステップＳ１５と同一である。
【００９５】
図１７は、実施の形態２に係る半導体集積回路設計装置１００Ａのさらに他の動作を示すフローチャートである。実施の形態１に係る図２および実施の形態２に係る図１５をそれぞれ参照して前述したフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
【００９６】
図１７に示すステップＳ２１ないしステップＳ２７、ステップＳ４１ないしステップＳ４７およびステップＳ３０は、図１５を参照して前述したこれらのステップと同一である。図１７に示すステップＳ５ないしステップＳ１５は、図２を参照して前述したステップＳ５ないしステップＳ１５と同一である。
【００９７】
図１６および図１７に示す半導体集積回路設計装置１００Ａのさらに他の動作によれば、タイミングリペアセルおよび機能リペアセルの遅延時間推定により前略的にセル挿入し、かつ、実配線後のリペアセル検索による、自動セル選別、論理等価工程、再配線処理、実配線抽出により、工数を一層削減することができる効果を期待することができる。
【００９８】
【発明の効果】
以上のように本発明によれば、タイミング調整工数を削減することができる半導体集積回路設計装置を提供することができる。
【図面の簡単な説明】
【図１】実施の形態１に係る半導体集積回路設計装置の構成を示すブロック図である。
【図２】実施の形態１に係る半導体集積回路設計装置の動作を示すフローチャートである。
【図３】実施の形態１に係る半導体集積回路設計装置においてダミーセルを検索する方法を説明する図
【図４】実施の形態１に係る半導体集積回路設計装置においてダミーセルを検索する他の方法を説明する図
【図５】（ａ）は、違反セルと違反セルによって駆動される被駆動セルとを示す図であり、
（ｂ）は、違反セルを置換した駆動セルと被駆動セルとを示す図である。
【図６】（ａ）は、違反セルと違反セルによって駆動される複数の被駆動セルとを示す図であり、
（ｂ）は、複数の分割駆動セルと複数の被駆動セルとを示す図である。
【図７】（ａ）は、違反セルと違反セルによって駆動される複数の被駆動セルとを示す図であり、
（ｂ）は、違反セルと複数の駆動セルとの間にそれぞれ挿入された挿入駆動セルを示す図である。
【図８】実施の形態２に係る半導体集積回路設計装置の構成を示すブロック図である。
【図９】実施の形態２に係る半導体集積回路設計装置に設けられた駆動セルテーブルの構成を説明するための図である。
【図１０】実施の形態２に係る半導体集積回路設計装置に設けられた遅延統計データベースに格納された遅延分布を示すグラフである。
【図１１】実施の形態２に係る半導体集積回路設計装置に設けられたタイミングリペアセルテーブルの構成を説明するための図である。
【図１２】ＳＬＥＷ対策を実施する前の配置および配線の状態を示す平面図である。
【図１３】ＳＬＥＷ対策を実施したことにより、既存の配線情報が崩れてしまった状態の一例を示す平面図である。
【図１４】実施の形態２に係る半導体集積回路設計装置の動作を示すフローチャートである。
【図１５】実施の形態２に係る半導体集積回路設計装置の他の動作を示すフローチャートである。
【図１６】実施の形態２に係る半導体集積回路設計装置のさらに他の動作を示すフローチャートである。
【図１７】実施の形態２に係る半導体集積回路設計装置のさらに他の動作を示すフローチャートである。
【図１８】従来の半導体集積回路設計装置の構成を示すブロック図である。
【図１９】従来の半導体集積回路設計装置の動作を示すフローチャートである。
【図２０】従来の半導体集積回路設計装置に設けられた置換器の動作を説明するための図である。
【図２１】従来の半導体集積回路設計装置に設けられた分割器の動作を説明するための図である。
【図２２】従来の半導体集積回路設計装置に設けられた挿入器の動作を説明するための図である。
【符号の説明】
１　ダミーセル検索器
２　論理一致器
３　再配線器
４　違反セル特定器
５　駆動セル
６　被駆動セル
７　ダミーセル
８　駆動セル
９　被駆動セル
１０　ダミーセル
１１　対角線
１２、１３　矩形領域
１４　中点
１５　置換器
１６　中点算出器
１７　分割器
１８　挿入器
１９、２０　分割駆動セル
２１、２２　挿入駆動セル
２３　違反セル推定器
２４　タイミングリペアセル決定器
２５　タイミングリペアセル挿入器
２６　機能リペアセル配置器
２７　配線器
２８　駆動セルテーブル
２９　遅延統計データベース
３０　駆動セル
３１、３２　被駆動セル
３３、３４　タイミングリペアセル
３５　タイミングリペアセルテーブル
３６　矩形領域
３７、３８　機能リペアセル
４１　駆動セル
３９、４２　機能リペアセルテーブル
１００　半導体集積回路設計装置
【図１】
2004086772.tif 000003
【図２】
2004086772.tif 000004
【図３】
2004086772.tif 000005
【図４】
2004086772.tif 000006
【図５】
2004086772.tif 000007
【図６】
2004086772.tif 000008
【図７】
2004086772.tif 000009
【図８】
2004086772.tif 000010
【図９】
2004086772.tif 000011
【図１０】
2004086772.tif 000012
【図１１】
2004086772.tif 000013
【図１２】
2004086772.tif 000014
【図１３】
2004086772.tif 000015
【図１４】
2004086772.tif 000016
【図１５】
2004086772.tif 000017
【図１６】
2004086772.tif 000018
【図１７】
2004086772.tif 000019
【図１８】
2004086772.tif 000020
【図１９】
2004086772.tif 000021
【図２０】
2004086772.tif 000022
【図２１】
2004086772.tif 000023
【図２２】
2004086772.tif 000024