(57)【要約】【課題】設計開発期間が短い集積回路設計方法を提供すること。【解決手段】集積回路設計方法は、動作記述及び機能記述のコードから論理セルをマッピングする論理設計ステップと、論理セルを配置するセル配置ステップと、論理セルの配置情報及び論理セルに接続される入出力ピンの本数に基づいて、配線が混雑する箇所を推定する配線混雑推定ステップと、配線の経路を決定する配線ステップと、を有し、配線混雑推定ステップを配線ステップの前に行う。【選択図】図１
2008071109.tif 000002
【特許請求の範囲】
【請求項１】
動作記述及び機能記述のコードから論理セルをマッピングする論理設計ステップと、
論理セルを配置するセル配置ステップと、
前記論理セルの配置情報及び前記論理セルに接続される入出力ピンの本数に基づいて、配線が混雑する箇所を推定する配線混雑推定ステップと、
配線の経路を決定する配線ステップと、を有し、
前記配線混雑推定ステップを前記配線ステップの前に行うことを特徴とする集積回路設計方法。
【請求項２】
請求項１に記載の集積回路設計方法であって、
前記配線混雑推定ステップは、
セル配置領域を格子状に区分けするステップと、
格子状の１つの領域に存在する論理セルに接続される入出力ピンの本数を格子状の領域毎にカウントするステップと、
格子状の領域毎に、カウントした数をしきい値と比較して、前記カウントした数が前記しきい値以上であった格子状の領域に対しては配線混雑対策処理を行うと判断するステップと、
を含むことを特徴とする集積回路設計方法。
【請求項３】
請求項１に記載の集積回路設計方法であって、
格子状の領域毎の前記カウントした値をグラデーション又は色分けして表示することを特徴とする集積回路設計方法。
【請求項４】
請求項１に記載の集積回路設計方法であって、
前記配線混雑推定ステップは、
セル配置領域を格子状に区分けするステップと、
格子状の１つの領域に存在し特定の条件を満たす論理セルの数をカウントするステップと、
格子状の領域毎に、カウントした論理セルの数をしきい値と比較して、前記カウントした数が前記しきい値以上である格子状の領域に対しては配線混雑対策処理を行うと判断するステップと、
を含むことを特徴とする集積回路設計方法。
【請求項５】
請求項４に記載の集積回路設計方法であって、
前記特定の条件は、格子状の１つの領域に存在する論理セルの面積に対する当該論理セルに接続される入出力ピンの本数を論理セル毎にカウントして、カウントした値がしきい値以上であることを特徴とする集積回路設計方法。
【請求項６】
請求項４に記載の集積回路設計方法であって、
格子状の領域毎の前記カウントした数をグラデーション又は色分けして表示することを特徴とする集積回路設計方法。
【請求項７】
請求項２又は４に記載の集積回路設計方法であって、
前記配線混雑対策処理では、配線が混雑する要因の論理セルを特定し、当該特定した論理セルの使用を制限し、
前記配線混雑対策処理を行った後、前記論理設計ステップを行うことを特徴とする集積回路設計方法。
【請求項８】
請求項２又は４に記載の集積回路設計方法であって、
前記配線混雑対策処理では、配線が混雑する要因の論理セルを特定し、当該特定した論理セル内の仕様を制限し、
前記配線混雑対策処理を行った後、前記配線ステップを行うことを特徴とする集積回路設計方法。
【請求項９】
請求項８に記載の集積回路設計方法であって、
前記特定した論理セル内の仕様の制限では、電源配線幅を制限し、配線層及び配線ビアの使用を制限することを特徴とする集積回路設計方法。
【請求項１０】
請求項１に記載の集積回路設計方法であって、
前記配線混雑推定ステップを行った後、
前記配線混雑推定ステップで推定された配線が混雑する箇所への配線の制限情報を生成し、
クロック信号を論理セルに入力するための配線を優先的に決定することを特徴とする集積回路設計方法。
【請求項１１】
請求項１に記載の集積回路設計方法であって、
前記配線混雑推定ステップを行った後、
前記配線混雑推定ステップで推定された配線が混雑する箇所に存在する論理セルを別の論理セルに変換することを特徴とする集積回路設計方法。
【請求項１２】
請求項１に記載の集積回路設計方法であって、
前記配線混雑推定ステップで推定された配線混雑箇所に関する情報と、前記配線ステップで決定された配線に関する情報とに基づいて、配線の混雑の要因を特定することを特徴とする集積回路設計方法。
【請求項１３】
請求項２又は４に記載の集積回路設計方法であって、
前記論理設計ステップを行った後、
前記論理設計ステップでマッピングされた論理セルの構成を確認し、前記配線混雑推定ステップで得られたパラメータを評価して、混雑が発生しそうな構成のモジュールに対しては論理セルの敷き詰め率を制約することを特徴とする集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の設計開発期間が短い集積回路設計方法に関する。
【背景技術】
【０００２】
特開平９−０４５７７６号公報が開示するＬＳＩの設計方法では、図１１に示すように、ネットリスト１及びライブラリ２に基づいて仮のセル配置処理４を行い、各セルを半導体チップに対応する領域に配置する。次に、概略配線処理を行った後、配線の混雑度を予測する配線混雑度予測処理５を行う。次に、配線の混雑度を緩和する配線混雑度緩和処理６を行う。配線混雑度緩和処理６では、例えば、セル列の位置を移動することにより配線チャネルの幅を再設定したり、混雑度の高い箇所に配線リソースセル（ダミーセル）を挿入する。配線混雑度緩和処理６が終了後、図１１に示す配線処理７に進み、概略配線処理を再度行って、配線混雑度が許容値以下であれば詳細配線処理を行う。
【０００３】
【特許文献１】特開平９−０４５７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記説明した設計方法では、セルの配置処理及び概略の配線処理を行った後、配線混雑度を予測している。この場合、混雑緩和のためのイタレーションの度に概略配線処理を行う必要がある。しかし、大規模な論理回路の設計では、概略の配線処理を行うだけでも膨大な工数を必要とするため、設計開発期間が長期化してしまう可能性がある。また、概略の配線処理を行った後に予測された配線の混雑度から混雑の根本的な原因を特定することは困難である。このため、混雑の原因を特定するための解析を行い、解析結果に応じた混雑緩和のためのイタレーションを行う必要がある。その結果、設計開発期間が長期化してしまう可能性がある。
【０００５】
本発明の目的は、設計開発期間が短い集積回路設計方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、動作記述及び機能記述のコードから論理セルをマッピングする論理設計ステップと、論理セルを配置するセル配置ステップと、前記論理セルの配置情報及び前記論理セルに接続される入出力ピンの本数に基づいて、配線が混雑する箇所を推定する配線混雑推定ステップと、配線の経路を決定する配線ステップと、を有し、前記配線混雑推定ステップを前記配線ステップの前に行う集積回路設計方法を提供する。
【０００７】
上記集積回路設計方法では、前記配線混雑推定ステップは、セル配置領域を格子状に区分けするステップと、格子状の１つの領域に存在する論理セルに接続される入出力ピンの本数を格子状の領域毎にカウントするステップと、格子状の領域毎に、カウントした数をしきい値と比較して、前記カウントした数が前記しきい値以上であった格子状の領域に対しては配線混雑対策処理を行うと判断するステップと、を含む。
【０００８】
上記集積回路設計方法では、格子状の領域毎の前記カウントした値をグラデーション又は色分けして表示する。
【０００９】
上記集積回路設計方法では、前記配線混雑推定ステップは、セル配置領域を格子状に区分けするステップと、格子状の１つの領域に存在し特定の条件を満たす論理セルの数をカウントするステップと、格子状の領域毎に、カウントした論理セルの数をしきい値と比較して、前記カウントした数が前記しきい値以上である格子状の領域に対しては配線混雑対策処理を行うと判断するステップと、を含む。
【００１０】
上記集積回路設計方法では、前記特定の条件は、格子状の１つの領域に存在する論理セルの面積に対する当該論理セルに接続される入出力ピンの本数を論理セル毎にカウントして、カウントした値がしきい値以上である。
【００１１】
上記集積回路設計方法では、格子状の領域毎の前記カウントした数をグラデーション又は色分けして表示する。
【００１２】
上記集積回路設計方法では、前記配線混雑対策処理では、配線が混雑する要因の論理セルを特定し、当該特定した論理セルの使用を制限し、前記配線混雑対策処理を行った後、前記論理設計ステップを行う。
【００１３】
上記集積回路設計方法では、前記配線混雑対策処理では、配線が混雑する要因の論理セルを特定し、当該特定した論理セル内の仕様を制限し、前記配線混雑対策処理を行った後、前記配線ステップを行う。
【００１４】
上記集積回路設計方法では、前記特定した論理セル内の仕様の制限では、電源配線幅を制限し、配線層及び配線ビアの使用を制限する。
【００１５】
上記集積回路設計方法では、前記配線混雑推定ステップを行った後、前記配線混雑推定ステップで推定された配線が混雑する箇所への配線の制限情報を生成し、クロック信号を論理セルに入力するための配線を優先的に決定する。
【００１６】
上記集積回路設計方法では、前記配線混雑推定ステップを行った後、前記配線混雑推定ステップで推定された配線が混雑する箇所に存在する論理セルを別の論理セルに変換する。
【００１７】
上記集積回路設計方法では、前記配線混雑推定ステップで推定された配線混雑箇所に関する情報と、前記配線ステップで決定された配線に関する情報とに基づいて、配線の混雑の要因を特定する。
【００１８】
上記集積回路設計方法では、前記論理設計ステップを行った後、前記論理設計ステップでマッピングされた論理セルの構成を確認し、前記配線混雑推定ステップで得られたパラメータを評価して、混雑が発生しそうな構成のモジュールに対しては論理セルの敷き詰め率を制約する。
【発明の効果】
【００１９】
本発明に係る集積回路設計方法によれば、集積回路の設計開発期間を短くすることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について、図面を参照して説明する。以下説明する実施形態の集積回路設計方法は、記録媒体に格納されたプログラムをコンピュータが実行することによって行われる。なお、コンピュータには表示装置が接続され、集積回路設計方法を実行して得られた途中経過情報等がこの表示装置に表示されても良い。
【００２１】
（第１の実施形態）
図１は、第１の実施形態の集積回路設計方法を示すフローチャートである。第１の実施形態の集積回路設計方法では、図１に示すように、コンピュータ等が、論理設計Ｓ１００を行い、セル配置Ｓ１０１を行い、配線混雑推定処理Ｓ１０２を行い、概略配線Ｓ１０３を行い、詳細配線Ｓ１０４を行い、マスク設計Ｓ１０５を行う。
【００２２】
論理設計Ｓ１００では、動作記述及び機能記述のコードから論理セルをマッピングする。セル配置Ｓ１０１では、タイミング又は配線性（Routability）に重点をおきながら論理セルを配置する。セル配置Ｓ１０１が行われた後に行われる配線混雑推定処理Ｓ１０２では、配線が混雑する箇所を推定する。配線混雑推定処理Ｓ１０２についての詳細は後述する。概略配線Ｓ１０３では、配線のおおまかな経路を決定する。詳細配線Ｓ１０４では、配線の詳細な経路を決定する。マスク設計Ｓ１０５では、セル配置Ｓ１０１で配置された論理セル及びステップＳ１０４で決定された配線経路に基づいて、マスクデータを作成する。
【００２３】
以下、配線混雑推定処理Ｓ１０２について、図２を参照して詳細に説明する。図２は、第１の実施形態で行われる配線混雑推定処理Ｓ１０２を示すフローチャートである。図２に示すように、配線混雑推定処理Ｓ１０２は、ステップＳ１５１〜Ｓ１５３の３つのステップを有する。ステップＳ１５１では、セル配置領域を格子状に区分けする。ステップＳ１５２では、格子状の１つの領域に存在するセルに接続される入出力ピンの本数を、パラメータＡとして格子状の領域毎にカウントする。
【００２４】
図３は、ステップＳ１５２でパラメータＡをカウントする工程の一例を示す図である。図３に示すように、セル配置領域３００が複数の格子状の領域に分割された後、格子状の領域毎に、領域内に存在するセルに接続される入出力ピンの本数をカウントする。図３に示す領域３０１では１８本とカウントされるため、領域３０１のパラメータＡは１８である。なお、図３に示すような表示形態で、ステップＳ１５２でカウントされたパラメータＡを表示装置が表示しても良い。この場合、パラメータＡの数値に応じてグラデーションや色を変えて表示しても良い。
【００２５】
ステップＳ１５３では、パラメータＡとしきい値とを比較して、パラメータＡがしきい値以上である格子状の領域に対しては配線混雑対策処理に進み、パラメータＡがしきい値未満である格子状の領域に対しては概略配線Ｓ１０３に進む。なお、ステップＳ１５３では、パラメータＡをしきい値と比較せずに、パラメータＡの分布に基づいて、セル配置領域内の上位何割かの格子状の領域に対して配線混雑対策処理を行っても良い。
【００２６】
配線混雑対策処理の一例として、図４に示すように、配線混雑対策処理Ｓ３０１では、配線が混雑する要因のセルを特定し、この特定したセル（混雑要因セル）の使用を制限する。配線混雑対策処理Ｓ３０１が行われた後、混雑要因セルの使用が制限されたネットリストが作成され、再度、セル配置Ｓ１０１が行われる。配線混雑対策処理Ｓ３０１によって配線混雑が緩和された状態で概略配線Ｓ１０４が行われるため、概略配線Ｓ１０４及び詳細配線Ｓ１０５での配線混雑回避処理の工数を削減することができる。
【００２７】
また、配線混雑対策処理の他の例として、図５に示すように、配線混雑対策処理Ｓ３０２では、配線が混雑する要因のセルを特定し、混雑要因セル内の電源配線の幅を制限し、配線層及び配線ビアの使用を制限する。この制限によって、混雑が予想されるセルの電源配線による配線リソースが削減されるため、通常の信号配線のリソースが確保される。配線混雑対策処理Ｓ３０２が行われた後、概略配線Ｓ１０４が行われる。配線混雑対策処理Ｓ３０２によって通常の信号配線のリソースが確保されているため、配線混雑が発生することなく配線の経路を決定することができる。
【００２８】
本実施形態の集積回路設計方法によれば、配線混雑推定処理は概略配線処理が行われる前に行われ、配線の混雑度はセル配置情報とセルのピンへの接続情報に基づいて推定されるため、短時間で配線の混雑度を推定することができる。その結果、設計開発期間を短くすることができる。
【００２９】
（第２の実施形態）
第２の実施形態の集積回路設計方法では、第１の実施形態の集積回路設計方法が行う配線混雑推定処理Ｓ１０２の代わりに配線混雑推定処理Ｓ２０２をコンピュータが行う。この点以外は第１の実施形態と同様であり、図６において、図１と共通する構成要素には同じ参照符号が付されている。図６は、第２の実施形態で行われる配線混雑推定処理Ｓ２０２を示すフローチャートである。
【００３０】
以下、配線混雑推定処理Ｓ２０２について、図６を参照して詳細に説明する。図６に示すように、配線混雑推定処理Ｓ２０２は、ステップＳ１５１並びにステップＳ２５２及びＳ２５３の３つのステップを有する。ステップＳ１５１では、第１の実施形態で説明したように、セル配置領域を格子状に区分けする。ステップＳ２５２では、格子状の１つの領域に存在するセルの面積に対する、当該セルに接続する入出力ピンの本数（入出力ピン本数／セル面積）をパラメータＢとしてセル毎にカウントし、パラメータＢがしきい値以上のセル数をパラメータＣとしてカウントする。
【００３１】
ステップＳ２５３では、パラメータＣとしきい値とを比較して、パラメータＣがしきい値以上である格子状の領域に対しては第１の実施形態で説明した配線混雑対策処理に進み、パラメータＣがしきい値未満である格子状の領域に対しては概略配線Ｓ１０３に進む。なお、ステップＳ２５３では、パラメータＣをしきい値と比較せずに、パラメータＣの分布に基づいて、セル配置領域内の上位何割かの格子状の領域に対して配線混雑対策処理を行っても良い。
【００３２】
本実施形態の集積回路設計方法によれば、第１の実施形態と同様に、配線混雑推定処理は概略配線処理が行われる前に行われ、配線の混雑度はセル配置情報とセルのピンへの接続情報に基づいて推定されるため、短時間で配線の混雑度を推定することができる。その結果、設計開発期間を短くすることができる。なお、ステップＳ２５２でカウントされたパラメータＣを表示装置が表示しても良い。この場合、パラメータＣの数値に応じてグラデーションや色を変えて表示しても良い。
【００３３】
（第３の実施形態）
第３の実施形態の集積回路設計方法では、第１の実施形態の集積回路設計方法が有するステップＳ１０２とステップＳ１０３の間に、コンピュータがステップＳ４０１及びＳ４０２を行う。この点以外は第１の実施形態と同様であり、図７において、図１と共通する構成要素には同じ参照符号が付されている。図７は、第３の実施形態の集積回路設計方法を示すフローチャートである。
【００３４】
ステップＳ４０１では、ステップＳ１０２で推定された配線混雑箇所への配線を禁止する制限情報を生成する。次に、ステップＳ４０２では、クロック信号をセルに入力するための配線を優先的に決定する。ステップＳ４０２の後、ステップＳ１０３に進む。
【００３５】
本実施形態の集積回路設計方法によれば、配線倍幅や配線倍ピッチ等の特別な配線制限を行ったり、配線の混雑が予想される箇所を迂回してクロック配線を優先的に決定することにより、配線の混雑を予防できる。また、迂回して配線されたクロック配線の周辺には通常の配線があまりないことが予想されるため、クロック配線によるクロストークを予防することができる。
【００３６】
（第４の実施形態）
第４の実施形態の集積回路設計方法では、第１の実施形態の集積回路設計方法が有するステップＳ１０２とステップＳ１０３の間に、コンピュータがステップＳ５０１を行う。この点以外は第１の実施形態と同様であり、図８において、図１と共通する構成要素には同じ参照符号が付されている。図８は、第４の実施形態の集積回路設計方法を示すフローチャートである。
【００３７】
ステップＳ５０１では、ステップＳ１０２で推定された配線混雑箇所に存在するセルを、図示しないセル対応表を用いて、別のセルに変換する。セル対応表は、セルのドライブ強度を変更するためのデータベースや、第２の実施形態で説明したパラメータＢから特定したセルに対応したデータベース等の複数種類のデータベースを含み、選択的に用いられる。
【００３８】
本実施形態の集積回路設計方法によれば、配線処理の前に、配線混雑箇所にあるセルを変更するため、配線だけでなくセル配置も最適な状態で集積回路を設計することができる。
【００３９】
（第５の実施形態）
第５の実施形態の集積回路設計方法では、配線混雑推定処理Ｓ１０２で得られた混雑パラメータと、概略配線Ｓ１０３で得られた概略配線後の混雑パラメータとに基づいて、双方の混雑パラメータを合成することによって、配線の混雑の要因を特定するステップＳ６０１を行う。この点以外は第１の実施形態と同様であり、図９において、図１と共通する構成要素には同じ参照符号が付されている。図９は、第５の実施形態の集積回路設計方法を示すフローチャートである。
【００４０】
ステップＳ６０１を行うことによって、混雑箇所が一致しなかった場合、混雑の要因が区分けした格子状の領域外の上空配線が多いためであると推定できる。この結果、上空配線を緩和するようにセル配置処理にフィードバックがかかり、混雑対策を行うことができる。
【００４１】
（第６の実施形態）
第６の実施形態の集積回路設計方法では、第１の実施形態の集積回路設計方法が有するステップＳ１００とステップＳ１０１の間に、コンピュータがステップＳ７０１を行う。また、配線混雑推定処理Ｓ１０２は行わない。この点以外は第１の実施形態と同様であり、図１０において、図１と共通する構成要素には同じ参照符号が付されている。図１０は、第６の実施形態の集積回路設計方法を示すフローチャートである。
【００４２】
ステップＳ７０１では、論理設計Ｓ１００で生成されたネットリストに基づいてセル構成を確認し、第２の実施形態で説明したパラメータＢを評価することにより、混雑が発生しそうな構成のモジュールに対してはセルの敷き詰め率を制約する。当該制約では、混雑が発生しそうな構成のモジュールには敷き詰め率を低くし、混雑が発生しそうにない構成のモジュールには敷き詰め率を高くする。このステップＳ７０１を行った後にセル配置Ｓ１０１を行うことにより、配線混雑が発生する確率の低いセルの配置を実現することができる。そのため、本実施形態では、第１の実施形態で行っていた配線混雑推定処理Ｓ１０２を行う必要がない。
【産業上の利用可能性】
【００４３】
本発明に係る集積回路設計方法は、集積回路の設計方法等として有用である。
【図面の簡単な説明】
【００４４】
【図１】第１の実施形態の集積回路設計方法を示すフローチャート
【図２】第１の実施形態で行われる配線混雑推定処理Ｓ１０２を示すフローチャート
【図３】図２に示すステップＳ１５２でパラメータＡをカウントする工程の一例を示す図
【図４】配線混雑対策処理Ｓ３０１を含む集積回路設計方法を示すフローチャート
【図５】配線混雑対策処理Ｓ３０２を含む集積回路設計方法を示すフローチャート
【図６】第２の実施形態で行われる配線混雑推定処理Ｓ２０２を示すフローチャート
【図７】第３の実施形態の集積回路設計方法を示すフローチャート
【図８】第４の実施形態の集積回路設計方法を示すフローチャート
【図９】第５の実施形態の集積回路設計方法を示すフローチャート
【図１０】第６の実施形態の集積回路設計方法を示すフローチャート
【図１１】特開平９−０４５７７６号公報が開示するＬＳＩの設計方法を示すフローチャート
【符号の説明】
【００４５】
Ｓ１００  論理設計
Ｓ１０１  セル配置
Ｓ１０２  配線混雑推定処理
Ｓ１０３  概略配線
Ｓ１０４  詳細配線
Ｓ１０５  マスク設計
【図１】
2008071109.tif 000003
【図２】
2008071109.tif 000004
【図３】
2008071109.tif 000005
【図４】
2008071109.tif 000006
【図５】
2008071109.tif 000007
【図６】
2008071109.tif 000008
【図７】
2008071109.tif 000009
【図８】
2008071109.tif 000010
【図９】
2008071109.tif 000011
【図１０】
2008071109.tif 000012
【図１１】
2008071109.tif 000013