(57)【特許請求の範囲】
【請求項１】
半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込むレイアウト情報取得部と、
前記レイアウト情報取得部が取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する基本ユニット選択部と、
前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する通過配線変更部と
を具備することを特徴とするレイアウト設計装置。
【請求項２】
前記通過配線変更部が、前記同一の構成を有するユニットそれぞれの通過配線の配置位置を変更する際、該通過配線を含む前記配線の配線長が短くなる配置位置を前記基本ユニットの通過配線の配置位置から選択する
ことを特徴とする請求項１に記載のレイアウト設計装置。
【請求項３】
前記通過配線変更部が、前記同一の構成を有するユニットの領域に沿って外部に配置された前記配線を該ユニットの通過配線とすると共に、該ユニットの領域内において該通過配線の配置位置を、記基本ユニットの領域内の通過配線のうちのいずれかと同じ配置位置に変更する
ことを特徴とする請求項１又は請求項２に記載のレイアウト設計装置。
【請求項４】
前記レイアウト情報が、前記配線に接続されたバッファの配置された配置位置を示す情報を含み、
前記通過配線変更部が、前記同一の構成を有するユニットの領域内に配置された前記バッファの配置位置を、前記基本ユニットの領域内に配置された前記バッファのうちのいずれかと同じ配置位置に変更する
ことを特徴とする請求項１から請求項３のいずれか１項に記載のレイアウト設計装置。
【請求項５】
レイアウト設計装置のレイアウト設計方法であって、
前記レイアウト設計装置が、半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込む過程と、
前記レイアウト設計装置が、前記レイアウト情報を記憶部から読み込む過程にて取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する過程と、
前記レイアウト設計装置が、前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する過程と
を具備することを特徴とするレイアウト設計方法。
【請求項６】
半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込むレイアウト情報取得手段、
前記レイアウト情報取得手段が取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する基本ユニット選択手段、
前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する通過配線変更手段
としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置のレイアウト設計装置、レイアウト設計方法、及びプログラムに関する。
【背景技術】
【０００２】
一般に、ＬＳＩ（Large Scale Integration；大規模集積回路）におけるトランジスタ、抵抗などの回路素子の配置、及び回路素子間の配線等のレイアウトする処理は、コンピュータを用いたＣＡＤ（Computer Aided Design；コンピュータ支援設計）システム、例えば、レイアウト設計装置によって行われている。
近年、ＬＳＩの機能及び構成が複雑化すると共に、回路規模が増大している。このため、ＬＳＩの設計は、設計を効率的に進めるために、回路を複数のユニットに分け、半導体装置における複数のユニットの配置、及びユニット間の配線をする上位の階層の設計（フロアプラン設計）と、ユニット内における回路素子の配置、及び回路素子間の配線をする下位の階層の設計（レイアウト設計）とに階層化して行われる。この階層化におけるユニットは、半導体装置の機能を複数に分割することによって定められる。
【０００３】
階層化された設計では、上位の階層の設計を行い、ＬＳＩにおける複数のユニットそれぞれの領域を示す座標と、ユニット間を接続するグローバル配線の配置する座標とを決定する。この上位の階層のレイアウト設計を行うとき、ユニット間を接続するグローバル配線（以下、通過配線）が、レイアウトされた他のユニットの領域を通過することがしばしば発生する。
上位の階層の設計の後に行う下位の階層の設計において、グローバル配線と、ユニット内の回路素子を接続する配線とが同じ配線層を用いる場合、ユニット内のレイアウト設計をする際に、ユニット内を通過するグローバル配線（通過配線）が配置される領域を考慮してレイアウト設計をする必要があり、ユニット内を通過するグローバル配線は、下位の階層のレイアウト設計において障害物（制約条件）となる。
なお、ユニット間をグローバル配線で接続する際に、他のユニットの領域を通過しないように配線を配置することは可能である。この場合、グローバル配線のための十分な配線領域をユニット間に確保することによる面積の増加と、グローバル配線が各ユニットを迂回することによる配線長の増加とを許容する必要がある。更に、グローバル配線の配線長の増加は、遅延時間の増加をまねいてしまう。
【０００４】
また、ＬＳＩの階層化された設計において、同一の構成を有するユニットが複数ある場合、同一の構成を有するユニットのうち１つのユニットのレイアウトパターンを、基本のパターンとして共用することが一般的に行われている。そのため、共用するユニットのレイアウト設計は、それぞれのユニット内を通過するグローバル配線すべてを考慮してユニット内のレイアウト設計を行わなければならない。
そこで、特許文献１に記載の技術は、機能及び論理回路が同一のユニットが複数ある場合、その複数のユニットそれぞれの通過配線が配置される領域を足し合わせるマージを行い、このマージされた領域をユニット内に埋め込む（落とし込む）処理を行う。このユニット内に通過配線が落とし込まれた落とし込み禁止領域は、ユニット内の論理回路や配線の配置に対する制約条件の１つであり、落とし込み禁止領域を避けて当該ユニット内の論理回路や配線のレイアウト設計が行われている。また、特許文献２に記載の技術は、特許文献１と同様に、通過配線が配置される領域をマージした領域をユニット内に落とし込む処理を行うが、落とし込み禁止領域を、位置の変更可能な回路の一部として扱い、ユニット内の論理回路と同様にレイアウト設計を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５-２３５８０４号公報
【特許文献２】特開２００５-３３２０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び特許文献２に記載の方法では、同一の構成を有するユニットそれぞれの通過配線の領域をマージすることにより、マージした領域が当該ユニット内の領域で大きくなる場合、ユニット内のレイアウト設計の制約条件が増加するという問題がある。
【０００７】
本発明は、上記問題を解決すべくなされたもので、その目的は、通過配線の配置によるユニット内のレイアウト設計の制約条件の増加を抑制する半導体装置のレイアウト設計装置、レイアウト設計方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明のレイアウト設計装置は、半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込むレイアウト情報取得部と、前記レイアウト情報取得部が取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する基本ユニット選択部と、前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する通過配線変更部とを具備することを特徴とする。
また、本発明のレイアウト設計方法は、レイアウト設計装置のレイアウト設計方法であって、前記レイアウト設計装置が、半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込む過程と、前記レイアウト設計装置が、前記レイアウト情報取得を記憶部から読み込む過程にて取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する過程と、前記レイアウト設計装置が、前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する過程とを具備することを特徴とする。
また、本発明のプログラムは、半導体装置を構成する複数のユニットが配置された領域を示す情報と、該複数のユニット間を接続する配線が配置された領域を示す情報とを含むレイアウト情報を記憶部から読み込むレイアウト情報取得手段、前記レイアウト情報取得手段が取得した前記レイアウト情報から、前記複数のユニットのうち同一の構成を有するユニットを検出し、検出した該ユニットのうち前記配線がユニットの領域内を通過する部分である通過配線の数が最も多いユニットを基本ユニットに選択する基本ユニット選択手段、前記同一の構成を有するユニットそれぞれの前記通過配線の配置位置を、前記基本ユニットの領域内の前記通過配線のうちのいずれかと同じ配置位置に変更し、前記レイアウト情報を更新する通過配線変更手段としてコンピュータを動作させる。
【発明の効果】
【０００９】
この発明によれば、ユニットと他のユニット間を接続するグローバル配線の通過によるユニット内のレイアウト設計の制約条件の増加を抑制することができ、ユニット内の領域がグローバル配線により分割されることにより、ユニットのレイアウト面積の増加などを防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態におけるレイアウト設計装置１の構成を示す概略ブロック図である。
【図２】本実施形態における記憶部１１に記憶されているレイアウト情報が表すレイアウトの一例を示す図である。
【図３】本実施例におけるレイアウト設計装置１の再配線処理のフローを示す図である。
【図４】本実施形態において基本ユニット選択部１３が基本ユニットに選択したＣユニット１３３の領域内の通過配線を示す図である。
【図５】図２に示すレイアウト情報に対して、ステップＳ１０３の終了後のレイアウト情報が示すレイアウトを示す図である。
【図６】図２に示したレイアウト情報に対して再配線処理を行った後のレイアウト情報が表すレイアウトを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態によるレイアウト設計装置を図面を参照して説明する。
図１は、本実施形態におけるレイアウト設計装置１の構成を示す概略ブロック図である。図示するように、レイアウト設計装置１は、記憶部１１と、レイアウト情報取得部１２と、基本ユニット選択部１３と、通過配線変更部１４とを具備している。
【００１２】
記憶部１１は、レイアウト情報を記憶している。このレイアウト情報は、半導体装置を構成する複数のユニットが半導体装置内において配置されている領域を示す座標を表す情報と、ユニット間を接続するグローバル配線の配置されている領域を示す座標を表す配置情報とを含む情報である。
【００１３】
レイアウト情報取得部１２は、記憶部１１からレイアウト情報を読み出し、読み出したレイアウト情報を基本ユニット選択部１３に出力する。基本ユニット選択部１３は、半導体装置を構成する複数のユニットに予め割り当てられた識別子、例えば、ユニット名により複数のユニットのうち同じ構成を有するユニットを検出し、検出した同じ構成を有するユニットのうちグローバル配線が当該ユニットの領域内を通過する数の最も多いユニットを基本ユニットに選択する。以下、グローバル配線のうちユニットの領域内を通過する部分を通過配線という。
【００１４】
通過配線変更部１４は、基本ユニット内の通過配線のユニット内における領域を示す座標により表される配置位置のいずれかを選択し、基本ユニットと同じ構成を有するユニットの通過配線のユニット内における配置位置を選択した配置位置に変更する。以下、配置位置は、ユニット内における通過配線の領域が配置された位置を示す。
また、通過配線変更部１４は、変更する通過配線の配置位置を選択する際、変更対象の通過配線と、基本ユニット内の選択する通過配線とが平行なこと、通過配線の配置位置を変更することによりグローバル配線の配線長が長くならないことを条件として通過配線の配置位置を選択する。なお、前述の条件を満たす通過配線が複数ある場合は、ユニット内の通過配線のうち変更する部分が少ない配置位置を選択するなどして１つの通過配線の配置位置を選択する。この場合、通過配線変更部１４は、条件を満たすユニット内の配置位置に変更したときのそれぞれのグローバル配線の配線長を算出し、算出した配線長のうち最も短い配置位置を選択する。
【００１５】
また、通過配線変更部１４は、基本ユニット選択部１３が検出した同一の構成を有するユニットの領域に沿って外部に配置されたグローバル配線を当該ユニットの通過配線にすると共に、当該ユニットの領域内における当該通過配線の配置位置を、基本ユニットの領域内における通過配線のうちのいずれかの配置位置と同じに変更する。この動作においても、通過配線変更部１４は、前記の条件と、変更に伴うグローバル配線を移動させる量が少なくなることとを適用して、基本ユニットの通過配線の配置位置を選択する。
また、通過配線変更部１４は、配置位置を変更したグローバル配線の情報を含むレイアウト情報を記憶部１１に記憶させる。
【００１６】
図２は、本実施形態における記憶部１１に記憶されているレイアウト情報が示すレイアウトの一例を示す図である。図２に示すように、半導体装置１００は、同一の構成を有する６個のＣユニット１３１〜１３６と、Ａユニット１１１と、Ｂユニット１２１と、Ｄユニット１４１と、各ユニット間を接続するグローバル配線Ｌ１０１〜Ｌ１０６、Ｌ２０１〜２０４とを具備している。Ａユニット１１１、Ｂユニット１２１、Ｃユニット１３１〜１３６と、Ｄユニット１４１とは、矩形状の領域を有し、上辺、下辺、左辺、及び右辺の境界により領域が定められている。また、Ｃユニット１３１〜１３６が配置されている領域は、同じ形状である。以下、図において、鉛直方向を上下方向といい、水平方向を左右方向という。
【００１７】
グローバル配線Ｌ１０１は、Ｃユニット１３３とＡユニット１１１とを接続している。グローバル配線Ｌ１０２は、Ｃユニット１３３の領域内を上側の境界（上辺）と下側の境界（下辺）とに交差する上下方向に通過して、Ｃユニット１３２とＡユニット１１１とを接続している。グローバル配線Ｌ１０３は、Ｃユニット１３２、１３３の領域内それぞれを上下方向に通過して、Ｃユニット１３１とＡユニット１１１とを接続している。
【００１８】
グローバル配線Ｌ１０４は、Ｃユニット１３６とＡユニット１１１とを接続している。グローバル配線Ｌ１０５は、Ｃユニット１３６の領域内を上下方向に通過して、Ｃユニット１３５とＡユニット１１１とを接続している。グローバル配線Ｌ１０６は、Ｃユニット１３５の領域を上側の境界（上辺）と右側の境界（右辺）とに交差するように通過して、Ｃユニット１３４とＡユニット１１１とを接続している。
【００１９】
グローバル配線Ｌ２０１は、Ｃユニット１３３、１３６の領域内を左側の境界（左辺）と右側の境界（右辺）とに交差する左右方向に通過して、Ａユニット１１１とＤユニット１４１とを接続している。グローバル配線Ｌ２０２は、Ｃユニット１３３、１３６の領域内を左右方向に通過して、Ｂユニット１２１とＤユニット１４１とを接続している。グローバル配線Ｌ２０３は、Ｃユニット１３２、１３５の領域内を左右方向に通過して、Ｂユニット１２１と、Ｄユニット１４１とを接続している。グローバル配線Ｌ２０４は、Ｃユニット１３１〜１３６の領域を迂回して、Ｃユニット１３１〜１３４に沿って外部に配置され、Ｂユニット１２１とＤユニット１４１とを接続している。
【００２０】
図３は、本実施例におけるレイアウト設計装置１の再配線処理のフローを示す図である。ここでは、図２に示したレイアウト情報が記憶部１１に記憶されている場合について再配線処理を説明する。
【００２１】
まず、レイアウト情報取得部１２は、記憶部１１からレイアウト情報（図２）を読み出して、読み出したレイアウト情報を基本ユニット選択部１３に出力する（ステップＳ１０１）。
基本ユニット選択部１３は、入力されたレイアウト情報に含まれるＡユニット１１１、Ｂユニット１２１、Ｃユニット１３１〜１３６、及びＤユニット１４１のうち同一の構成を有するＣユニット１３１〜１３６を検出する。そして、基本ユニット選択部１３は、検出したＣユニット１３１〜１３６のうち通過配線の数が最も多いＣユニット１３３を基本ユニットに選択する（ステップＳ１０２）。
【００２２】
図４は、本実施形態において基本ユニット選択部１３が基本ユニットに選択したＣユニット１３３の領域内の通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａを示す図である。図示するように、Ｃユニット１３３の領域内には、グローバル配線Ｌ２０１がＣユニット１３３の領域を通過する部分である通過配線Ｌ２０１ａと、グローバル配線Ｌ２０１がＣユニット１３３の領域を通過する部分である通過配線Ｌ２０２ａと、グローバル配線Ｌ１０２がＣユニット１３３の領域を通過する部分である通過配線Ｌ１０２ａと、グローバル配線Ｌ１０３がＣユニット１３３の領域を通過する部分である通過配線Ｌ１０３ａとがある。
【００２３】
図３に戻り、通過配線変更部１４は、基本ユニット選択部１３が基本ユニットに選択したＣユニット１３３の通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａの配置位置に応じて、Ｃユニット１３３と同一の構成を有するＣユニット１３１、１３２、１３４〜１３６の領域内の通過配線の配置位置を変更する。ここでは、通過配線変更部１４は、通過配線を有するＣユニット１３２、１３５、１３６を対象として通過配線の配置位置の変更処理を行う（ステップＳ１０３）。
以下、通過配線変更部１４が行う具体的な動作について図２に示したレイアウトを用いて説明する。
【００２４】
まず、通過配線変更部１４は、基本ユニット内の通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａの配置位置からいずれかを選択し、Ｃユニット１３２の領域内を通過するグローバル配線Ｌ１０３、Ｌ２０３の配置位置を変更する。このとき、通過配線変更部１４は、Ｃユニット１３２の領域内を通過するグローバル配線Ｌ１０３と平行な通過配線Ｌ１０２ａ、Ｌ１０３ａの配置位置のうち、通過配線の変更する部分が少ない通過配線Ｌ１０２ａの配置位置を選択して、Ｃユニット１３２の領域内を通過するグローバル配線Ｌ１０３の通過配線の配置位置を変更する。
また、通過配線変更部１４は、Ｃユニット１３２の領域内を通過するグローバル配線Ｌ２０３の通過配線の配置位置を通過配線Ｌ２０１ａの配置位置に変更する。
【００２５】
また、通過配線変更部１４は、Ｃユニット１３５の領域内を通過するグローバル配線Ｌ１０６の通過する方向と同一の通過配線が、基本ユニットにないので、変更を行わない。一方、通過配線変更部１４は、Ｃユニット１３５の領域内を通過するグローバル配線Ｌ２０３の通過配線の配置位置を通過配線Ｌ２０１ａの配置位置に変更する。
また、通過配線変更部１４は、Ｃユニット１３６内を通過するグローバル配線Ｌ１０３と平行な通過配線Ｌ１０２ａ、Ｌ１０３ａの配置位置のうち、通過配線Ｌ１０２ａの配置位置を選択して、Ｃユニット１３６の領域内を通過するグローバル配線Ｌ１０３の通過配線の配置位置を通過配線Ｌ１０２ａの配置位置に変更する。
【００２６】
そして、通過配線変更部１４は、Ｃユニット１３２、１３５、１３６の通過配線の配置位置を変更に応じてグローバル配線Ｌ１０３、Ｌ２０３、Ｌ１０５それぞれのユニットの領域と重ならない部分の配置する領域を変更する。このとき、通過配線変更部１４は、グローバル配線Ｌ１０３、Ｌ２０３、Ｌ１０５の配線長が増加しないように配置する領域の変更を行う。
以上の動作が、図２に示すレイアウト情報を対象とした場合、ステップＳ１０３において通過配線変更部１４の行う動作である。
【００２７】
図５は、図２に示すレイアウト情報に対して、ステップＳ１０３の終了後のレイアウト情報が示すレイアウトを示す図である。図示するように、Ｃユニット１３２、１３６の通過配線がＣユニット１３３の領域内の通過配線と同じ配置位置に変更されている。また、Ｃユニット１３５の領域内を通過するグローバル配線Ｌ２０３の配置位置が変更されている。
【００２８】
次に、通過配線変更部１４は、同一の構成を有するＣユニット１３５、１３６の領域に沿って配置されたグローバル配線Ｌ１０６をＣユニット１３５、１３６の通過配線として扱う。そして、通過配線変更部１４は、Ｃユニット１３５、１３６の領域内のグローバル配線Ｌ１０６の配置位置を、基本ユニット内の通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａのいずれかの配置位置に変更する。
また、通過配線変更部１４は、Ｃユニット１３１、１３４の領域に沿って配置されたグローバル配線Ｌ２０４を通過配線として扱う。そして、通過配線変更部１４は、Ｃユニット１３１、１３４の領域内のグローバル配線Ｌ２０４の配置位置を、基本ユニット内の通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａのいずれかの配置位置に変更をする（ステップＳ１０４）。
【００２９】
以下、通過配線変更部１４が行う具体的な動作について説明する。
通過配線変更部１４は、Ｃユニット１３１の上辺に沿って外部に配置されているグローバル配線Ｌ２０４を、Ｃユニット１３１の通過配線に変更すると共に、基本ユニットの通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａから、通過配線Ｌ２０１ａの配置位置を選択し、Ｃユニット１３１におけるグローバル配線Ｌ２０４の通過配線の配置位置を通過配線Ｌ２０１ａの配置位置に変更する。
また、通過配線変更部１４は、Ｃユニット１３４の上辺に沿って外部に配置されているグローバル配線Ｌ２０４を、Ｃユニット１３４の通過配線に変更すると共に、基本ユニットの通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａから、通過配線Ｌ２０１ａの配置位置を選択し、Ｃユニット１３４におけるグローバル配線Ｌ２０４の通過配線の配置位置を通過配線Ｌ２０１ａの配置位置に変更する。
【００３０】
更に、通過配線変更部１４は、Ｃユニット１３５の右辺に沿って外部に配置されているグローバル配線Ｌ１０６をＣユニット１３５の通過配線に変更すると共に、基本ユニットの通過配線Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０２ａから、通過配線Ｌ１０２ａの配置位置を選択して、Ｃユニット１３５におけるグローバル配線Ｌ１０６の通過配線の配置位置を通過配線Ｌ１０２ａの配置位置に変更する。
また、通過配線変更部１４は、Ｃユニット１３６の右辺に沿って外部に配置されるグローバル配線Ｌ１０６をＣユニット１３６の通過配線に変更すると共に、基本ユニットの通過配線Ｌ１０３ａの配置位置を選択して、Ｃユニット１３６におけるグローバル配線Ｌ１０６の通過配線の配置位置を通過配線Ｌ１０３ａの配置位置に変更する。
【００３１】
そして、通過配線変更部１４は、グローバル配線Ｌ１０６に対して行った配置位置の変更に応じてＣユニット１３４とＣユニット１３５との間、Ｃユニット１３５とＣユニット１３６との間、及びＣユニット１３５とＡユニット１１１との間それぞれの部分のグローバル配線Ｌ１０６、すなわち、グローバル配線Ｌ１０６の各ユニットの領域と重ならない通過配線部分以外の領域の配置を変更する。また、通過配線変更部１４は、グローバル配線Ｌ２０４に対して行った配置位置の変更に応じて、Ｂユニット１２１とＣユニット１３４との間、Ｃユニット１３４とＣユニット１３１との間、及びＣユニット１３１とＤユニット１４１との間それぞれの部分のグローバル配線Ｌ２０４の各ユニットの領域と重ならない領域の配置を変更する。
以上の動作が、図５に示すレイアウト情報を対象とした場合、ステップＳ１０４において、通過配線変更部１４の動作である。
【００３２】
次に、通過配線変更部１４は、Ｃユニット１３１〜１３６それぞれの通過配線の配置位置と、グローバル配線Ｌ１０３、Ｌ１０５、Ｌ１０６、Ｌ２０３、Ｌ２０４を配置する領域とを変更したレイアウト情報を記憶部１１に記憶させる（ステップＳ１０５）。
以上が、レイアウト設計装置１が行う再配線処理のフロー（ステップＳ１０１〜ステップＳ１０５）である。
【００３３】
図６は、図５に示したレイアウト情報に対して、ステップＳ１０４の動作の終了後のレイアウト情報、すなわち、図２に示したレイアウト情報に対して再配線処理を行った後のレイアウト情報が表すレイアウトを示す図である。図示するように、Ｃユニット１３１、１３４を迂回して配置されていたグローバル配線Ｌ２０４が、Ｃユニット１３１、１３４の通過配線として配置される領域が変更されている。また、Ｃユニット１３５、１３６の右辺に沿って配置されていたグローバル配線Ｌ１０６が、Ｃユニット１３５、１３６の通過配線として配置される領域が変更されている。
【００３４】
以上のように、レイアウト設計装置１は、同一の構成を有するＣユニット１３１〜１３６のうち、最も通過配線の数の多いＣユニット１３３を基本ユニットに選択し基本ユニットの通過配線の配置位置に合わせるように他のＣユニット１３１、１３２、１３４〜１３６の通過配線を配置位置を変更するようにした。これにより、Ｃユニット１３１〜１３６の通過配線が配置された領域をすべてマージした領域を、Ｃユニットの論理回路をレイアウトする際の制約条件とする場合に比べ、少ない領域を制約条件とすることができる。その結果、基本ユニット内の通過配線の領域を落とし込み禁止領域とした制約条件を用いることで、Ｃユニット１３１〜１３６の共通のレイアウト設計において、論理素子や配線が配置されない無駄な領域を減らすことができ、Ｃユニットの集積密度を改善し、効率的なレイアウト設計を行うことができる。
【００３５】
すなわち、レイアウト設計装置１は、同一の構成を有するユニットを検出すると、当該ユニットのうち最も通過配線の数が多いものを基本ユニットに選択し、基本ユニット内の通過配線の領域に該当する領域を、同一構成を有する各ユニットの通過配線を配置する領域とする。これにより、下位のユニットのレイアウト設計を行う際の落とし込み禁止領域（制約条件）の増加を抑制して、制約条件を減らすことで効率的なレイアウト設計を行うことができる。
【００３６】
また、レイアウト設計装置１が行う再配線処理は、１ビットごとの信号配線に対して行う場合と、複数の１ビットの信号配線からなるバス配線に対して行う場合とに違いはなく、ユニット内を通過する配置位置のみに着目して配置位置を変更することができる。
【００３７】
なお、本実施形態では、レイアウト設計装置１は、読み出したレイアウト情報に対して、ステップＳ１０３の次にステップＳ１０４を行う場合について説明したが、逆の順に行うようにしてもよい。また、ステップＳ１０４を行わずに再配線処理を終了してもよい。
また、通過配線変更部１４は、同一構成を有するユニットの通過配線を変更する配置位置を各ユニットごとに選択して決定する例を示したが、通過配線を有するユニットすべての通過配線が選択し得る配置位置の組合せすべてについて試行し、そのうち最もグローバル配線の配線長が短くなる組合せの通過配線の配置位置を選択するようにしてもよい。このとき、グローバル配線の伝搬遅延時間の総和が最小になる組合せを選択するようにしてもよい。
【００３８】
また、通過配線変更部１４は、ユニット内の通過配線の配置位置を変更する際、グローバル配線に設けられる遅延時間の制約を満たすことを配置位置を選択する条件としてもよい。
また、レイアウト情報は、グローバル配線に挿入されたバッファを含んでいてもよい。この場合、通過配線変更部１４は、ユニット内の通過配線だけではなくユニット内に配置されたバッファの配置位置も通過配線と同様に、基本ユニット内に配置されたバッファのうちのいずれかと同じ配置位置に変更する。
【００３９】
また、本実施形態では、レイアウト設計装置１は、記憶部１１を具備する構成としたが、これに限らず、外部からレイアウト情報が入力され、通過配線の配置位置を変更した後のレイアウト情報を外部に出力するようにしてもよい。この場合、レイアウト情報取得部１２は、外部からレイアウト情報を読み出し、或いは、入力される。通過配線変更部１４は、グローバル配線の配置位置を変更したレイアウト情報を外部に出力する。
【００４０】
また、本実施形態では、通過配線変更部１４は、通過配線の変更位置を選択する際に、グローバル配線が通過する方向が同一であることを条件の１つとして、上下方向と左右方向とを方向が同一であることの判定条件としたが、この方向を更に細かく定めてもよい。例えば、ユニットの右辺の上側と、上辺の左側との境界を通過する通過配線など方向を定める。これにより、ユニットの領域が大きい場合や、ユニット内の通過配線が多い場合に、選択の対象となる通過配線の配置位置を減らして、選択に要する時間を削減することにより、ターン・アラウンド・タイム（処理時間）を短くすることができる。
【００４１】
上述のレイアウト設計装置１は内部に、コンピュータシステムを有していてもよい。その場合、上述した再配線処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われることになる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【符号の説明】
【００４２】
１  レイアウト設計装置
１１  記憶部
１２  レイアウト情報取得部
１３  基本ユニット選択部
１４  通過配線変更部
１００  半導体装置
１１１  Ａユニット
１２１  Ｂユニット
１３１、１３２、１３３、１３４、１３５、１３６  Ｃユニット
１４１  Ｄユニット
Ｌ１０１、Ｌ１０２、Ｌ１０３、Ｌ１０４、Ｌ１０５、Ｌ１０６、Ｌ２０１、Ｌ２０２、Ｌ２０３、Ｌ２０４  グローバル配線
Ｌ１０２ａ、Ｌ１０３ａ、Ｌ２０１ａ、Ｌ２０２ａ  通過配線
【図１】
0005423316.tif 000002
【図２】
0005423316.tif 000003
【図３】
0005423316.tif 000004
【図４】
0005423316.tif 000005
【図５】
0005423316.tif 000006
【図６】
0005423316.tif 000007