(57)【要約】  【課題】  ＴＡＴを短縮することができる半導体集積回路の設計装置等を提供する。  【解決手段】  この半導体集積回路の設計装置１は、ネットリストを記録するネットリスト記録部４と、セルライブラリを記録するためのセルライブラリ記録部５と、ネットリスト及びセルライブラリを用いてレイアウトを行うレイアウト処理部６と、複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行う長配線再レイアウト処理部７と、長配線再レイアウト処理部７によって得られた回路に対して検証を行う検証処理部８とを具備する。【選択図】  図１
2007080986.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計を行うためにコンピュータが実行する方法であって、
複数のセル及び複数の配線のレイアウトを行うステップ（ａ）と、
前記複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行うステップ（ｂ）と、
ステップ（ｂ）にて得られた回路に対して検証を行うステップ（ｃ）と、
を具備する半導体集積回路の設計方法。
【請求項２】
ステップ（ｂ）が、
前記複数の配線の各々について、許容される最大長を算出するステップ（ｂ１）と、
前記複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出するステップ（ｂ２）と、
ステップ（ｂ２）にて抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行うステップ（ｂ３）と、
を含む、請求項１記載の半導体集積回路の設計方法。
【請求項３】
ステップ（ｂ１）が、
前記複数の配線の各々について、当該配線によって接続される一方のセルと他方のセルとの位置関係に基づいて当該配線に許容される最大長を算出するステップである、請求項２記載の半導体集積回路の設計方法。
【請求項４】
ステップ（ｂ１）が、
前記複数の配線の各々について、当該配線によって接続される一方のセルと他方のセルとの間の第１の方向における第１の距離と第２の方向における第２の距離とを用いて当該配線に許容される最大長を算出するステップである、請求項３記載の半導体集積回路の設計方法。
【請求項５】
ステップ（ｂ１）が、
前記複数の配線の各々について、前記第１の距離と前記第２の距離との和に所定の係数を乗じることにより当該配線に許容される最大長を算出するステップである、請求項４記載の半導体集積回路の設計方法。
【請求項６】
ステップ（ｂ１）が、
前記複数の配線の各々について、前記第１の距離と前記第２の距離との和に前記一方又は他方のセルの内の出力側のセルの出力信号駆動能力に応じた係数を乗じることにより当該配線に許容される最大長を算出するステップである、請求項４記載の半導体集積回路の設計方法。
【請求項７】
ステップ（ｂ３）が、
配線が通過する位置を指定する入力を受け付け、前記位置を通過するように、ステップ（ｂ２）にて抽出された配線のレイアウトを再度行うステップである、請求項２〜６のいずれか１項に記載の半導体集積回路の設計方法。
【請求項８】
請求項１〜７のいずれか１項に記載の半導体集積回路の設計方法によって設計されたことを特徴とする半導体集積回路。
【請求項９】
半導体集積回路の設計を行うための装置であって、
設計対象である半導体集積回路のネットリスト及びセルライブラリを記録する記録手段と、
前記ネットリスト及び前記セルライブラリを用いて、複数のセル及び複数の配線のレイアウトを行う第１の手段と、
前記複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行う第２の手段と、
前記第２の手段によって得られた回路に対して検証を行う第３の手段と、
を具備する半導体集積回路の設計装置。
【請求項１０】
半導体集積回路の設計を行うためのプログラムであって、
複数のセル及び複数の配線のレイアウトを行う手順（ａ）と、
前記複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行う手順（ｂ）と、
手順（ｂ）にて得られた回路に対して検証を行う手順（ｃ）と、
をＣＰＵに実行させるための半導体集積回路の設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法及びそのような半導体集積回路の設計方法によって設計された半導体集積回路に関する。さらに、本発明は、そのような半導体集積回路の設計方法を用いた半導体集積回路の設計装置及び半導体集積回路の設計を行うためのプログラムに関する。
【背景技術】
【０００２】
従来の半導体集積回路の設計方法について、図５（Ａ）のフローチャートを参照しながら説明する。図５（Ａ）に示すように、従来の半導体集積回路の設計方法において、まず、タイミング制約に基づいた複数のセル及び複数の配線のレイアウトを行う（ステップＳ２１）。次に、ステップＳ２１にて得られた回路の検証を行う（ステップＳ２２）。
【０００３】
図５（Ｂ）は、検証の詳細を示すフローチャートである。図５（Ｂ）に示すように、まず、回路の各部のタイミング遅れや波形なまりを得るためのシミュレーションを実行する（ステップＳ３１）。
【０００４】
次に、回路内にタイミング遅れや波形なまりの問題を有する箇所があるか否かをチェックする（ステップＳ３２）。タイミング遅れや波形なまりの問題を有する箇所が無い場合には設計終了となる。一方、問題箇所がある場合には、問題箇所の改善、具体的には、問題箇所のセル、配線のレイアウトを再度行い（ステップＳ３３）、問題箇所が無くなるまで、ステップＳ３１〜Ｓ３３を繰り返す。
【０００５】
このような従来の半導体集積回路の設計方法においては、問題箇所が無くなるまでステップＳ３１〜Ｓ３３を何回か繰り返し実行する必要があり、ＴＡＴ（turn around time）が長くなってしまうという課題があった。
【０００６】
なお、タイミング遅れや波形なまりの問題は、一般に、配線長、配線容量等の種々の要因によって生ずるものである。配線長を考慮して半導体集積回路の設計を行う技術として、下記特許文献１には、セルライブラリを用いて設計された半導体集積回路において、各セルの駆動能力に応じた最大配線長Ｍを定義する手段と、各セルの配線以外の負荷容量を配線長Ｌに換算するステップと、（Ｍ−Ｌ）を計算し各セルの配線長Ｎとして登録するステップと、各セルに登録されている配線長Ｎの小さいセル１とセル１の出力に接続されているセル群２を配線長Ｎ以内で配線できる位置に優先的に配置するステップと、配置されたセル間を登録されている配線長Ｎ以内で配線するステップとを有した半導体集積回路の自動配置配線方法が掲載されている。
【０００７】
また、下記特許文献２には、半導体集積回路において、その内部部品に対する配置および配線のレイアウトを、入力された配線の接続情報からなるネットリストに基づいて、自動的に設計する自動レイアウト装置であって、ネットリストに対応して入力され、各ネット毎に少なくとも配線幅、配線ピッチ、配線長、シールド情報からなる物理的制約条件が記述された制約情報ファイルを用い、制約情報ファイル内の物理的制約条件に応じた配線を自動的にレイアウトするよう構成したことを特徴とする自動レイアウト装置が掲載されている。
【０００８】
【特許文献１】特開平６−３０２６９６号公報（第１頁、図１）
【特許文献２】特開２０００−３２２４６２号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、上記の点に鑑み、本発明は、ＴＡＴを短縮することができる半導体集積回路の設計方法を提供することを第１の目的とする。また、本発明はそのような半導体集積回路の設計方法によって設計された半導体集積回路を提供することを第２の目的とする。また、本発明は、そのような半導体集積回路の設計方法を用いた半導体集積回路の設計装置を提供することを第３の目的とする。また、本発明は、半導体集積回路の設計を行うためのプログラムを提供することを第４の目的とする。
【課題を解決するための手段】
【００１０】
以上の課題を解決するため、本発明に係る半導体集積回路の設計方法は、半導体集積回路の設計を行うためにコンピュータが実行する方法であって、複数のセル及び複数の配線のレイアウトを行うステップ（ａ）と、複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行うステップ（ｂ）と、ステップ（ｂ）にて得られた回路に対して検証を行うステップ（ｃ）とを具備する。
【００１１】
この半導体集積回路の設計方法において、ステップ（ｂ）が、複数の配線の各々について、許容される最大長を算出するステップ（ｂ１）と、複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出するステップ（ｂ２）と、ステップ（ｂ２）にて抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行うステップ（ｂ３）とを含むようにしても良い。
【００１２】
また、ステップ（ｂ１）が、複数の配線の各々について、当該配線によって接続される一方のセルと他方のセルとの位置関係に基づいて当該配線に許容される最大長を算出するステップであっても良い。
【００１３】
また、ステップ（ｂ１）が、複数の配線の各々について、当該配線によって接続される一方のセルと他方のセルとの間の第１の方向における第１の距離と第２の方向における第２の距離とを用いて当該配線に許容される最大長を算出するステップであっても良い。
【００１４】
また、ステップ（ｂ１）が、複数の配線の各々について、第１の距離と第２の距離との和に所定の係数を乗じることにより当該配線に許容される最大長を算出するステップであっても良い。
【００１５】
また、ステップ（ｂ１）が、複数の配線の各々について、第１の距離と第２の距離との和に一方又は他方のセルの内の出力側のセルの出力信号駆動能力に応じた係数を乗じることにより当該配線に許容される最大長を算出するステップであっても良い。
【００１６】
また、ステップ（ｂ３）が、配線が通過する位置を指定する入力を受け付け、位置を通過するように、ステップ（ｂ２）にて抽出された配線のレイアウトを再度行うステップであっても良い。
【００１７】
また、本発明に係る半導体集積回路は、本発明に係る半導体集積回路の設計方法によって設計されたことを特徴とする。
【００１８】
また、本発明に係る半導体集積回路の設計装置は、半導体集積回路の設計を行うための装置であって、設計対象である半導体集積回路のネットリスト及びセルライブラリを記録する記録手段と、ネットリスト及びセルライブラリを用いて、複数のセル及び複数の配線のレイアウトを行う第１の手段と、複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行う第２の手段と、第２の手段によって得られた回路に対して検証を行う第３の手段とを具備する。
【００１９】
また、本発明に係る半導体集積回路の設計プログラムは、半導体集積回路の設計を行うためのプログラムであって、複数のセル及び複数の配線のレイアウトを行う手順（ａ）と、複数の配線の中から、各々の配線に許容される最大長より長い配線を抽出し、抽出された配線が当該配線に許容される最大長より短くなるようにレイアウトを再度行う手順（ｂ）と、手順（ｂ）にて得られた回路に対して検証を行う手順（ｃ）とをＣＰＵに実行させる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図１は、本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図である。
【００２１】
図１に示すように、この半導体集積回路の設計装置１は、入力部２と、表示部３と、ネットリスト記録部４と、セルライブラリ記録部５と、レイアウト処理部６と、長配線再レイアウト処理部７と、検証処理部８とを具備する。
入力部２は、ユーザ（半導体集積回路の設計技術者）が入力を行うためのキーボード等であり、表示部３は、半導体集積回路の設計結果等を表示するためのＣＲＴ、ＬＣＤ等である。
【００２２】
ネットリスト記録部４は、設計対象である半導体集積回路の回路設計情報であるネットリストを記録する。
セルライブラリ記録部５は、設計に用いられるセルを含むセルライブラリを記録する。
【００２３】
レイアウト処理部６は、ネットリスト記録部４に記録されているネットリスト及びセルライブラリ記録部５に記録されているセルライブラリに基づいてレイアウトを行う。
【００２４】
長配線再レイアウト処理部７は、レイアウト処理部６によってレイアウトされた複数の配線の中から、各々の配線に許容される最大長（以下、「許容配線長」ともいう）より長い配線（以下、「長配線」ともいう）を抽出し、長配線が許容配線長より短くなるように再レイアウトを行う。
検証処理部８は、長配線再レイアウト処理部７によって得られた回路に対して検証を行う。
【００２５】
図１に示すレイアウト処理部６、長配線再レイアウト処理部７、及び、検証処理部８は、ＣＰＵとソフトウェア（プログラム）で構成することができる。このプログラムと、ネットリスト及びセルライブラリは、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ、ＣＤ−ＲＯＭ、又は、ＤＶＤ−ＲＯＭ等の記録媒体に記録することができる。
【００２６】
図２（Ａ）は、半導体集積回路の設計装置１の半導体集積回路の設計処理を示すフローチャートである。以下、図２（Ａ）を参照しながら、半導体集積回路の設計装置１の半導体集積回路設計処理について説明する。
【００２７】
まず、ユーザ（半導体集積回路の設計技術者）が、半導体集積回路の設計処理の開始指示を入力部２から入力すると、レイアウト処理部６が、ネットリスト及びセルライブラリを参照し、タイミング制約に基づいたレイアウトを行う（ステップＳ１）。
【００２８】
次に、長配線再レイアウト処理部７が、レイアウト処理部６によってレイアウトされた複数の配線の中から、長配線を抽出し、長配線が許容配線長より短くなるように再レイアウトを行う（ステップＳ２）。
【００２９】
図２（Ｂ）は、長配線再レイアウト処理部７が行う長配線の再レイアウト処理の詳細を示すフローチャートである。まず、長配線再レイアウト処理部７は、レイアウト処理部６によってレイアウトされた複数の配線の各々について、許容配線長を算出する（ステップＳ１１）。
【００３０】
ここで、許容配線長について、図３（Ａ）、（Ｂ）を参照しながら説明する。図３（Ａ）に示すように、チップ領域１０内に２つのセル１１、１２が配置されており、セル１１とセル１２との間に障害物（他のセル、他の配線等）が存在しない場合には、セル１１とセル１２との間を接続する配線１３は、セル１１とセル１２によって定まる矩形領域１４内に収まる。このとき、配線１３の長さをＬ１、矩形領域の長辺の長さをａ１、短辺の長さをｂ１とすると、
Ｌ１＝ａ１＋ｂ１    …（１）
となる。
【００３１】
しかし、図３（Ｂ）に示すように、セル１１とセル１２との間に障害物（ここでは、ＲＡＭマクロセル１５）が存在する場合には、セル１１とセル１２との間を接続する配線１６がセル１１とセル１２によって定まる矩形領域１４内に収まらないことがある。このとき、配線１６の長さをＬ２とすると、
Ｌ２＝ｋ１（ａ１＋ｂ１）    …（２）
となる。ここで、ｋ１＞１である。実際上は、ｋ１が２程度であれば、タイミング遅れや波形なまりは小さい。しかし、ｋ１が３〜４程度になると、タイミング遅れや波形なまりが大きくなる。
【００３２】
本実施形態においては、１つのセルと他のセルとの間を接続する配線の許容配線長Ｌを
Ｌ＝ｋ（ａ＋ｂ）    …（３）
で算出する。ここで、ａ、ｂは、１つのセルと他のセルによって定まる矩形領域の長辺及び短辺の長さであり、ｋ≧１である。ｋの値として、チップ全体として１つの値を用いるようにしても良いし、各セルの出力信号駆動能力に応じて各配線毎に異なる値を用いるようにしても良い。先に説明したようにタイミング遅れや波形なまりが大きくなることを考慮し、ｋの値を３〜４程度とすると好適である。
【００３３】
再び図２（Ｂ）を参照すると、長配線再レイアウト処理部７は、レイアウト処理部６によってレイアウトされた複数の配線の中から、長配線を抽出する（ステップＳ１２）。そして、長配線再レイアウト処理部７は、長配線が許容配線長より短くなるように再レイアウトを行う（ステップＳ１３）。なお、このとき、ユーザが、配線が通過する位置を指定し、長配線再レイアウト処理部７が、指定された位置を通過するように長配線の再レイアウトを行うようにしても良い。例えば、レイアウト処理部６によって図３（Ｂ）に示すようなレイアウトが得られた場合において、ユーザが、図４に示すように仮想的なセル１７を配置し、長配線再レイアウト処理部７が、仮想的なセル１７を通過するように長配線の再レイアウトを行うようにしても良い。
【００３４】
再び図２（Ａ）を参照すると、検証処理部８が、長配線の再レイアウトが施された後の回路に対して検証を行う（ステップＳ３）。なお、検証は、先に説明した図５（Ｂ）と同様に、シミュレーションの実行（図５（Ｂ）のステップＳ３１参照）、問題箇所の抽出（図５（Ｂ）のステップＳ３２参照）、問題箇所の改善（図５（Ｂ）のステップＳ３３参照）を繰り返すことで実現可能である。
【００３５】
実際の半導体集積回路の設計において、長配線の再レイアウトを行った後に検証を行うようにしたところ、検証にかかる時間を短くすることができた。このことから、検証においては、長配線の存在がネックとなっていることが推測される。
【００３６】
以上説明したように、半導体集積回路の設計装置１によれば、検証にかかる時間を短くすることができる。これにより、ＴＡＴを短縮することが可能となる。
【産業上の利用可能性】
【００３７】
本発明は、半導体集積回路、半導体集積回路の設計方法及び設計装置、並びに半導体集積回路の設計プログラムにおいて利用可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係る半導体集積回路の設計装置の概要を示す図。
【図２】図１の半導体集積回路の設計装置１の動作を示すフローチャート。
【図３】半導体集積回路のレイアウトの一例を示す図。
【図４】半導体集積回路のレイアウトの一例を示す図。
【図５】従来の半導体集積回路の設計方法を示すフローチャート。
【符号の説明】
【００３９】
１  半導体集積回路の設計装置、  ２  入力部、  ３  表示部、  ４  ネットリスト記録部、  ５  セルライブラリ記録部、  ６  レイアウト処理部、  ７  長配線再レイアウト処理部、  ８  検証処理部
【図１】
2007080986.tif 000003
【図２】
2007080986.tif 000004
【図３】
2007080986.tif 000005
【図４】
2007080986.tif 000006
【図５】
2007080986.tif 000007