(57)【特許請求の範囲】
【請求項１】
回路図からレイアウト図を生成する半導体レイアウト装置であって、
前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する仮座標算出処理部と、
前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する回路グループ検出処理部と、
前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する座標算出処理部と、
を有することを特徴とする半導体レイアウト装置。
【請求項２】
前記回路グループ検出処理部が、
前記回路図配置座標情報の中から、第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを選択し、該選択した第１の回路の回路図配置座標情報で示される回路の配置座標が第２の回路の回路図配置座標情報で示される回路の配置座標の近傍であるか否かを検出し、近傍であることを検出した場合に、前記第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを前記同一回路グループとして検出する、
ことを特徴とする請求項１に記載の半導体レイアウト装置。
【請求項３】
前記座標算出処理部が、
前記同一回路グループに含まれる回路の中から、第３の回路と第４の回路とを選択し、前記選択した第３の回路の仮レイアウト図配置座標情報で示される座標を基準として、前記選択した第３の回路と第４の回路とが前記レイアウト図上で接するように、前記選択した第４の回路の仮レイアウト図配置座標情報を更新することにより、前記同一回路グループに含まれる回路は前記レイアウト図上で接するように前記仮レイアウト図配置座標情報を更新する、
ことを特徴とする請求項１または請求項２に記載の半導体レイアウト装置。
【請求項４】
前記半導体レイアウト装置が、
前記回路図において同一回路グループとする領域を指定する領域情報が入力される入力部を有し、
前記回路グループ検出処理部が、
前記入力された領域情報で示される領域に、前記回路図配置座標情報で示される回路の座標が全て含まれる回路を、前記同一回路グループとして検出する、
ことを特徴とする請求項１から請求項３のうちのいずれか一に記載の半導体レイアウト装置。
【請求項５】
回路図からレイアウト図を生成する半導体レイアウト装置で用いられる半導体レイアウト方法であって、
前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出し、
前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出し、
前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する、
ことを特徴とする半導体レイアウト方法。
【請求項６】
回路図からレイアウト図を生成する半導体レイアウト装置であるコンピュータに、
前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する仮座標算出処理手順と、
前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する回路グループ検出処理手順と、
前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する座標算出処理手順と、
を実行させるための半導体レイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置のレイアウトをする技術に関する。
【背景技術】
【０００２】
従来、半導体の回路図から、半導体をレイアウトする技術が知られている。例えば、図１４（ｂ）は、図１４（ａ）に示される回路図のインスタンスの座標値を、そのまま、あるいは、一定数値を乗じて、レイアウト図上のインスタンスの座標値として配置する技術を用いて、レイアウトした場合のレイアウト図の例である。
ここで、インスタンスとは、回路図またはレイアウト図上での、回路のことである。
【０００３】
また、例えば、図１５（ｂ）は、図１５（ａ）に示されるように、回路図上のインスタンスにＡ＿Ｒ１＿１などの配置位置情報を追加し、追加した配置位置情報に基づいてレイアウト図上のインスタンスを自動配置する技術を用いて、レイアウトした場合のレイアウト図の例である。
このような技術として、例えば、特許文献１または特許文献２に示される技術が知られている。
【特許文献１】特開２００５−０２５４９９号公報
【特許文献２】特開平１１−１６８１４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、これらの従来の技術においては、次に示すような問題がある。
まず、回路図のインスタンスの座標値を、そのまま、あるいは、一定数値を乗じて、レイアウト図上のインスタンスの座標値として配置する技術においては、回路図上のインスタンスの大きさとレイアウト図上のインスタンスの大きさは一般的には異なるため、図１４（ｂ）のレイアウト図に示されるように、レイアウト図上のインスタンスとインスタンスとの間にスキマが生じたり、インスタンスとインスタンスとのＹ位置がずれてしまうという問題がある。また、インスタンス同士が重なってしまう、という問題もある。また、そのために、レイアウト配置した後に、レイアウト図上のインスタンスの位置を変更する作業が必要となり、設計期間の増大を招くという問題がある。
【０００５】
また、回路図上のインスタンスに配置位置情報を追加し、追加した配置位置情報に基づいてレイアウト図上のインスタンスを自動配置する技術においては、図１５（ｂ）のレイアウト図に示されるように、問題なくレイアウト配置は出来るものの、回路図上においてインスタンスに配置位置情報を追加することが必要となり、そのため設計期間の増大を招くという問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、その目的は、レイアウト後に位置変更する作業が必要なく、インスタンスに配置位置情報を付与する必要がなく、設計期間が短縮できる半導体レイアウト装置を提供することにある。
【課題を解決するための手段】
【０００７】
この発明は上述した課題を解決するためになされたもので、請求項１に記載の発明は、回路図からレイアウト図を生成する半導体レイアウト装置であって、前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する仮座標算出処理部と、前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する回路グループ検出処理部と、前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する座標算出処理部と、を有することを特徴とする。
【０００８】
請求項２に記載の発明は、前記回路グループ検出処理部が、前記回路図配置座標情報の中から、第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを選択し、該選択した第１の回路の回路図配置座標情報で示される回路の配置座標が第２の回路の回路図配置座標情報で示される回路の配置座標の近傍であるか否かを検出し、近傍であることを検出した場合に、前記第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを前記同一回路グループとして検出する、ことを特徴とする。
【０００９】
請求項３に記載の発明は、前記座標算出処理部が、前記同一回路グループに含まれる回路の中から、第３の回路と第４の回路とを選択し、前記選択した第３の回路の仮レイアウト図配置座標情報で示される座標を基準として、前記選択した第３の回路と第４の回路とが前記レイアウト図上で接するように、前記選択した第４の回路の仮レイアウト図配置座標情報を更新することにより、前記同一回路グループに含まれる回路は前記レイアウト図上で接するように前記仮レイアウト図配置座標情報を更新する、ことを特徴とする。
【００１０】
請求項４に記載の発明は、前記半導体レイアウト装置が、前記回路図において同一回路グループとする領域を指定する領域情報が入力される入力部を有し、前記回路グループ検出処理部が、前記入力された領域情報で示される領域に、前記回路図配置座標情報で示される回路の座標が全て含まれる回路を、前記同一回路グループとして検出する、ことを特徴とする。
【００１１】
請求項５に記載の発明は、回路図からレイアウト図を生成する半導体レイアウト装置で用いられる半導体レイアウト方法であって、前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出し、前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出し、前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する、ことを特徴とする。
【００１２】
請求項６に記載の発明は、回路図からレイアウト図を生成する半導体レイアウト装置であるコンピュータに、前記回路図全体の寸法値の情報である回路図全体寸法情報と、前記レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、前記回路図全体寸法情報と前記レイアウト図全体寸法情報との比を算出し、前記回路図における回路の配置座標の情報である回路図配置座標情報に前記算出した比を乗算することにより、前記レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する仮座標算出処理手順と、前記回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する回路グループ検出処理手順と、前記同一回路グループに含まれる回路が前記レイアウト図上で接するように、前記仮レイアウト図配置座標情報を更新することによりレイアウト図を生成する座標算出処理手順と、を実行させるための半導体レイアウトプログラムである。
【発明の効果】
【００１３】
この発明によれば、回路図上におけるインスタンス配置座標と、回路図の全体寸法と、レイアウト図の全体寸法とから、レイアウト図上のインスタンスの仮座標を算出して仮配置し、さらに回路図上のインスタンスをグループ認識し、グループに含まれるレイアウト図上のインスタンスが接するように、レイアウト図上のインスタンスの座標値を変更することにより、レイアウト後に位置変更する作業が必要なく、インスタンスに配置位置情報を付与する必要がなく、設計期間が短縮できる半導体レイアウト装置を提供することが可能となる。
【００１４】
また、この発明によれば、回路図上におけるインスタンス配置座標と、回路図の全体寸法と、レイアウト図の全体寸法とから、レイアウト図上のインスタンスの仮座標を算出して仮配置し、さらに回路図上のインスタンスをグループ認識し、グループに含まれるレイアウト図上のインスタンスが接するように、レイアウト図上のインスタンスの座標値を変更することにより、回路図上のインスタンスと同じ相対位置で、かつ、回路図でグループ認識されたインスタンスがレイアウト図上で接するようなレイアウトをすることが出来る半導体レイアウト装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明の実施形態について説明する。図１は、この発明の第１の実施形態による半導体レイアウト装置１の構成を示す概略ブロック図である。
半導体レイアウト装置１は、寸法値記憶部１１１と、配置情報記憶部１１０と、データ読み込み処理部１０１と、レイアウトインスタンス仮座標計算処理部１０２と、インスタンスグループ認識処理部１０３と、レイアウトインスタンス座標計算処理部１０４と、を有する。
【００１６】
次に、半導体レイアウト装置１の各構成について説明する。
寸法値記憶部１１１には、回路図全体の寸法値の情報である回路図全体寸法情報と、レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とが、記憶されている。ここでは、寸法値記憶部１１１には、回路図全体寸法情報とレイアウト図全体寸法情報とが、予め記憶されているものとする。
【００１７】
配置情報記憶部１１０には、回路図における回路の配置座標の情報である回路図配置座標情報と、レイアウト図上における回路の配置座標の情報であるレイアウト図配置座標情報と、後述する同一回路グループの情報とが関連付けて、配置情報テーブルＴ１として記憶されている。
また、配置情報記憶部１１０には、更に、回路図上の回路の寸法の情報である回路図上回路寸法情報と、レイアウト図上の回路の寸法の情報であるレイアウト図上回路寸法情報とが、上記の回路図配置座標情報とレイアウト図配置座標情報と同一回路グループの情報とに関連付けて、回路毎に記憶されている。
【００１８】
データ読み込み処理部１０１は、外部から入力された入力情報を、配置情報記憶部１１０の配置情報テーブルＴ１に記憶させる。この外部から入力される情報には、回路図配置座標情報と回路図上回路寸法情報とレイアウト図上寸法情報とが含まれている。
【００１９】
レイアウトインスタンス仮座標計算処理部１０２（仮座標算出処理部）は、回路図全体の寸法値の情報である回路図全体寸法情報と、レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、回路図全体寸法情報とレイアウト図全体寸法情報との比を算出する。
また、レイアウトインスタンス仮座標計算処理部１０２は、回路図における回路の配置座標の情報である回路図配置座標情報に算出した比を乗算することにより、レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する。
【００２０】
また、レイアウトインスタンス仮座標計算処理部１０２は、寸法値記憶部１１１から回路図全体寸法情報とレイアウト図全体寸法情報を読み出し、また、配置情報記憶部１１０から回路図配置座標情報を読み出す。
また、レイアウトインスタンス仮座標計算処理部１０２は、算出した仮レイアウト図配置座標情報を、レイアウト図配置座標情報として配置情報記憶部１１０に記憶させる。
【００２１】
インスタンスグループ認識処理部１０３（回路グループ検出処理部）は、回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する。
また、インスタンスグループ認識処理部１０３は、回路図配置座標情報の中から、第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを選択し、選択した第１の回路で示される回路の配置座標が第２の回路の回路図配置座標情報で示される回路の配置座標の近傍であるか否かを検出する。
また、インスタンスグループ認識処理部１０３は、近傍にあることを検出した場合に、第１の回路の回路図配置座標情報と第２の回路の回路図配置座標情報とを同一回路グループとして検出する。
また、インスタンスグループ認識処理部１０３は、配置情報記憶部１１０から回路図配置座標情報を読み出し、配置情報記憶部１１０に同一回路グループの情報を記憶させる。
【００２２】
レイアウトインスタンス座標計算処理部１０４（座標算出処理部）は、同一回路グループに含まれる回路はレイアウト図上で接するように仮レイアウト図配置座標情報を更新し、更新した仮レイアウト図配置座標情報を、レイアウト図上における回路の配置座標の情報である出力情報（レイアウト図配置座標情報）として出力する。
【００２３】
また、レイアウトインスタンス座標計算処理部１０４は、同一回路グループに含まれる回路の中から、第３の回路と第４の回路とを選択する。
また、レイアウトインスタンス座標計算処理部１０４は、選択した第３の回路の仮レイアウト図配置座標情報で示される座標を基準として、選択した第３の回路と第４の回路とがレイアウト図上で接するように、選択した第４の回路の仮レイアウト図配置座標情報を更新することにより、同一回路グループに含まれる回路がレイアウト図上で接するように仮レイアウト図配置座標情報を更新する。
【００２４】
また、レイアウトインスタンス座標計算処理部１０４は、回路図配置座標情報、仮レイアウト図配置座標情報であるレイアウト図配置座標情報、同一回路グループの情報、回路図上回路寸法情報、および、レイアウト図上回路寸法情報を、配置情報記憶部１１０から読み出す。
また、レイアウトインスタンス座標計算処理部１０４は、配置情報記憶部１１０のレイアウト図配置座標情報を更新する。
【００２５】
次に、半導体レイアウト装置１の動作概要を、図２のフローチャートを用いて説明する。まず、データ読み込み処理部１０１が、外部から入力された入力情報を読み込み（データ読み込み処理し）、配置情報記憶部１１０の配置情報テーブルＴ１に記憶させる（ステップＳ１０１）。
【００２６】
次に、レイアウトインスタンス仮座標計算処理部１０２が、回路図全体の寸法値の情報である回路図全体寸法情報と、レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とから、回路図全体寸法情報とレイアウト図全体寸法情報との比を算出し、回路図における回路の配置座標の情報である回路図配置座標情報に算出した比を乗算することにより、レイアウト図上における回路の仮の配置座標の情報である仮レイアウト図配置座標情報を算出する（レイアウトインスタンス仮座標計算処理する）（ステップＳ１０２）。
【００２７】
次に、インスタンスグループ認識処理部１０３が、回路図配置座標情報で示される回路の配置座標において近傍にある回路を、同一回路グループとして検出する（インスタンスグループ認識処理する）（ステップＳ１０３）。
【００２８】
次に、レイアウトインスタンス座標計算処理部１０４が、同一回路グループに含まれる回路はレイアウト図上で接するように仮レイアウト図配置座標情報を更新し（レイアウトインスタンス座標計算処理し）、更新した仮レイアウト図配置座標情報を、レイアウト図上における回路の配置座標の情報であるレイアウト図配置座標情報として出力する（ステップＳ１０４）。
【００２９】
以降においては、回路図またはレイアウト図上での回路をインスタンスとする。なお、この回路およびインスタンスとは、例えば、ＮＡＮＤ回路などの基本的な回路である。
また、回路図およびレイアウト図は、互いに直交するＸ軸とＹ軸との平面上にあるものとして説明する。また、Ｘ軸上で、Ｘ軸の値が小さい方向を左とし、Ｘ軸の値が大きい方向を右とし、Ｙ軸上で、Ｙ軸の値が小さい方向を下とし、Ｙ軸の値が大きい方向を上とする。
【００３０】
また、回路図全体寸法情報のＸ軸とＹ軸との値を、回路図Ｘ軸寸法SchematicSizeXと回路図Ｙ軸寸法SchematicSizeYとし、レイアウト図全体寸法情報のＸ軸とＹ軸との値を、レイアウト図Ｘ軸寸法LayoutSizeXとレイアウト図Ｙ軸寸法LayoutSizeYとして説明する。
この回路図Ｘ軸寸法SchematicSizeXと回路図Ｙ軸寸法SchematicSizeYとは、回路図全体のＸ軸とＹ軸とにおける大きさの値であり、レイアウト図Ｘ軸寸法LayoutSizeXとレイアウト図Ｙ軸寸法LayoutSizeYとは、レイアウト図全体のＸ軸とＹ軸とにおける大きさの値である（図５（ａ）および図５（ｂ）参照）。
【００３１】
また、同一回路グループをグループとし、回路図配置座標情報を回路図上のインスタンス配置座標とし、仮レイアウト図配置座標情報またはレイアウト図配置座標情報をレイアウト図上のインスタンスの配置座標として説明する。
また、回路図上回路寸法情報を回路図上のインスタンスの寸法値とし、レイアウト図上回路寸法情報をレイアウト図上のインスタンスの寸法値として説明する。
【００３２】
次に、図３を用いて、配置情報記憶部１１０に記憶される一例としての配置情報テーブルＴ１について説明する。
Noは、インスタンスを識別する管理用のシリアル番号であるインスタンス識別番号である。また、Nameは、インスタンス固有の名称である。また、SXとSYとは、回路図上のインスタンス配置座標である。また、SXminとSXmaxとSYminとSYmaxとは、回路図上のインスタンスの配置座標SXとSYとを基点とした回路図上のインスタンスの寸法値である。また、GrNoは、回路が属するグループを識別するためのグループ識別番号である。また、LXとLYとは、レイアウト図上のインスタンスの配置座標である。また、LXminとLXmaxとLYminとLYmaxとは、レイアウト図上のインスタンスの配置座標LXとLYとを基点としたレイアウト図上のインスタンスの寸法値である。
【００３３】
次に、図４を用いて、回路図上のインスタンス配置座標SXとSYと、回路図上のインスタンスの寸法値SXminとSXmaxとSYminとSYmaxとの関係について、および、レイアウト図上のインスタンスの配置座標LXとLYと、レイアウト図上のインスタンスの寸法値LXminとLXmaxとLYminとLYmaxとの関係について、説明する。
【００３４】
図４（ａ）に示すように、回路図上の１つのインスタンスＡ１０は、符号Ａ３で示される回路図上のインスタンス配置座標SXとSYとを基準として、符号Ａ１で示される回路図上のインスタンスの寸法値SXminとSYminとをＸ軸とＹ軸との最小値とし、符号Ａ２で示される回路図上のインスタンスの寸法値SXmaxとSYmaxとをＸ軸とＹ軸との最大値として、回路図上に配置される。
従って、この回路図上の１つのインスタンスＡ１０は、符号Ａ１で示される回路図上のインスタンスの寸法値SXminとSYminと、符号Ａ２で示される回路図上のインスタンスの寸法値SXmaxとSYmaxとを、長方形の対角の２点とする外形枠を有することになる。
【００３５】
また、図４（ｂ）に示すように、レイアウト図上の１つのインスタンスＢ１０も、図４（ａ）の回路図上のインスタンスＡ１０と同様に、符号Ｂ３で示されるレイアウト図上のインスタンスの配置座標LXとLYとを基点として、符号Ｂ１で示されるレイアウト図上のインスタンスの寸法値LXminとLYminとをＸ軸とＹ軸との最小値とし、符号Ｂ２で示されるレイアウト図上のインスタンスの寸法値LXmaxとLYmaxとをＸ軸とＹ軸との最大値として、レイアウト図上に配置される。
従って、このレイアウト図上の１つのインスタンスＢ１０は、符号Ｂ１で示される回路図上のインスタンスの寸法値LXminとLYminと、符号Ｂ２で示される回路図上のインスタンスの寸法値LXmaxとLYmaxとを、長方形の対角の２点とする外形枠を有することになる。
【００３６】
この回路図上のインスタンス配置座標SXとSYと、回路図上のインスタンスの寸法値SXminとSXmaxとSYminとSYmaxとは、外部からの入力情報に含まれている情報であり、データ読み込み処理部１０１により記憶されるものである。
また、このレイアウト図上のインスタンスの大きさ寸法値LXminとLXmaxとLYminとLYmaxとは、外部からの入力情報に含まれている情報であり、データ読み込み処理部１０１により記憶されるものである。
【００３７】
グループ識別番号GrNoには、初期値として、データ読み込み処理部１０１により、−1の値が記憶される。
このグループ識別番号GrNoには、インスタンスグループ認識処理部１０３により回路のグループが認識された後、グループを識別する識別番号として、１以上の整数がインスタンスグループ認識処理部１０３により記憶される。
【００３８】
なお、以降においては、図３の配置情報テーブルＴ１全体をテーブルTinstとし、テーブル全体の情報から１インスタンス分の全ての情報をTinst[i]として表記し、１インスタンス分の全ての情報Tinst[i]が有する個々の情報で、例えば、レイアウト図上のインスタンスの配置座標LXをTinst[i].LXと表記して説明する。ここで、ｉは、インスタンス識別番号である。
【００３９】
次に、レイアウトインスタンス仮座標計算処理部１０２が実行する処理を詳細に説明する。
レイアウトインスタンス仮座標計算処理部１０２は、図５（ａ）に示すような回路図の全体の大きさ（回路図Ｘ軸寸法SchematicSizeXと回路図Ｙ軸寸法SchematicSizeY）と、図５（ｂ）に示すようなレイアウト図の全体の大きさ（レイアウト図Ｘ軸寸法LayoutSizeXとレイアウト図Ｙ軸寸法LayoutSizeY）との比と、回路図上のインスタンス配置座標SXとSYとから、レイアウト図上のインスタンスの配置座標LXとLYとを、次の式１および式２により、回路毎に算出する。
【００４０】
Tinst[i].LX = Tinst[i].SX × ( LayoutSizeX / SchematicSizeX )   ・・（式１）
【００４１】
Tinst[i].LY = Tinst[i].SY × ( LayoutSizeY / SchematicSizeY )   ・・（式２）
【００４２】
次に、レイアウトインスタンス仮座標計算処理部１０２は、算出したTinst[i].LXとTinst[i].LYとを、テーブルTinstに記憶させる。
【００４３】
次に図６と図７とのフローチャートを用いて、インスタンスグループ認識処理部１０３が実行する処理を詳細に説明する。
まず、変数GroupNoを初期化し、変数GroupNoの値を、初期値１にセットする（ステップＳ２０１）。
次に、テーブルTinstの全インスタンスを処理するため、変数i=1〜(Tinstの最大数)の範囲について、変数iを１つずつインクリメントしながら、以降に説明するステップＳ２０３からステップＳ２０５の処理を繰り返す（ステップＳ２０２）。この(Tinstの最大数)とは、テーブルTinstに含まれるインスタンスの総数である。
【００４４】
次に、Tinst[i]がグループとして未検出か否かを判定する（ステップＳ２０３）。このステップＳ２０３の判定は、Tinst[i].GrNoの値が、マイナスであれば未検出（ＹＥＳ）として判定し、Tinst[i].GrNoの値が、マイナスでなければ検出済み（ＮＯ）として、判定する。
ステップＳ２０３の判定結果が、検出済み（ＮＯ）の場合は、ステップＳ２０６に進み、ステップＳ２０６でステップＳ２０２に戻され、ステップＳ２０２の処理を繰り返す。
【００４５】
一方、ステップＳ２０３の判定結果が、未検出（ＹＥＳ）の場合は、Tinst[i]の近傍にあるTinst[x]を検索し、検索したTinst[x].GrNoに変数GroupNoの値をセットする(ステップＳ２０４）。ここでxは、検索したインスタンスのインスタンス識別番号Noである。このステップＳ２０４の処理については、後に図７を用いて詳細に説明する。
【００４６】
次に、変数GroupNoの値を１つインクリメントし（ステップＳ２０５）、ステップＳ２０６でステップＳ２０２に戻され、ステップＳ２０２の処理を繰り返す。
なお、ステップＳ２０６で、ステップ２０２での処理が変数i=1〜(Tinstの最大数)の範囲について終了した場合には、図６に示される全体の処理を終了する。
【００４７】
上記図６を用いて説明したインスタンスグループ認識処理部１０３の処理が終了した時点で、共通のグループとして認識されたインスタンスは、テーブルTinstのグループ識別番号GrNoに、共通の値がセットされている。また、変数GroupNoには、検出されたグループの総数がセットされている。
【００４８】
次に、図７のフローチャートを用いて、図６のステップＳ２０４で実行される処理を詳細に説明する。
まず、テーブルTinstの全インスタンスを処理するため、変数p=1〜(Tinstの最大数)の範囲について、変数pを１つずつインクリメントしながら、以降に説明するステップＳ３０２からステップＳ３０５の処理を繰り返す（ステップＳ３０１）。この(Tinstの最大数)とは、テーブルTinstに含まれるインスタンスの総数である。
【００４９】
次に、Tinst[p]がグループ未検出か否かを判定する（ステップＳ３０２）。このステップＳ３０２での判定は、Tinst[p].GrNoの値が、マイナスであれば未検出（ＹＥＳ）として判定し、Tinst[p].GrNoの値が、マイナスでなければ検出済み（ＮＯ）として判定する。
【００５０】
ステップＳ３０２の判定結果が、検出済み（ＮＯ）の場合は、ステップＳ３０６に進み、ステップＳ３０６でステップＳ３０１に戻され、ステップＳ３０１の処理を繰り返す。
一方、ステップＳ３０２の判定結果が、未検出（ＹＥＳ）の場合は、Tinst[p]がTinst[i]の近傍であるか否かを判定する（ステップＳ３０３）。
【００５１】
ステップＳ３０３の判定結果が、近傍でない（ＮＯ）場合は、ステップＳ３０６に進み、ステップＳ３０６でステップＳ３０１に戻され、ステップＳ３０１の処理を繰り返す。
一方、ステップＳ３０３の判定結果が、近傍である（ＹＥＳ）場合は、Tinst[p].GrNoに変数GroupNoをセットする（ステップＳ３０４）。
次に、Tinst[p]の近傍にあるTinst[x]を検索し、検索したTinst[x].GrNoに変数GroupNoをセットする(ステップＳ３０５）。ここでxは、検索したインスタンスのインスタンス識別番号Noである。
【００５２】
このステップＳ３０５で、図７のステップＳ３０１からステップＳ３０６の処理を、再帰的に呼び出す。
次に、図７のステップＳ３０６でステップＳ３０１に戻され、ステップＳ３０１の処理を繰り返す。
なお、ステップＳ３０６で、ステップＳ３０１での処理が変数ｐ=1〜(Tinstの最大数) の範囲について終了した場合には、図７に示される全体の処理を終了する。
【００５３】
次に、ステップＳ３０３における、Tinst[p]がTinst[i]の近傍であるか否かを判定する一例としての方法について説明する。
まず、Tinst[i]の回路図上における外形枠を、予め定められた一定量だけ拡大し、この拡大した外形枠を、回路図上における拡大外形枠とする。次に、Tinst[i]の拡大外形枠とTinst[p]の外形枠とに、重なりがあるか否かを検出し、検出結果として、重なりがある場合には、Tinst[p]がTinst[i]の近傍にあるとして判定する。逆に、検出結果として、重なりがない場合には、Tinst[p]がTinst[i]の近傍にないとして判定する。
【００５４】
以上のようにして、Tinst[p]がTinst[i]の近傍にあるか否かを判定することにより、Tinst[p]とTinst[i]とが、重なるか否か、接するか否か、または、予め定められた一定の距離にあるか否かを、判定することが出来る。
【００５５】
次に、上記の拡大外形枠について説明する。例えば、図４（ａ）で示したように、回路図上の１つのインスタンスＡ１０は、インスタンス配置座標SXとSYとを基準として、符号Ａ１で示される回路図上のインスタンスの寸法値SXminとSYminと、符号Ａ２で示される回路図上のインスタンスの寸法値SXmaxとSYmaxとを、長方形の対角の２点とする外形枠を有している。
【００５６】
この外形枠に対して、Ｘ軸方向にＸ軸方向拡大量ｄｘだけ大きくし、Ｙ軸方向にＹ軸方向拡大量ｄｙだけ大きくした外形枠である拡大外形枠を算出する。このＸ軸方向拡大量ｄｘとＹ軸方向拡大量ｄｙとは、０より大きい値であり、予め定められた値である。
【００５７】
例えば、外形枠の長方形の対角の一方の点となる符号Ａ１で示される回路図上のインスタンスの寸法値SXminとSYminとを、SXmin-dxとSYmin-dyとし、また、他方の点となる符号Ａ２で示される回路図上のインスタンスの寸法値SXmaxとSYmaxとを、SXmax+dxとSYmax+dyとして、拡大外形枠を算出する。
【００５８】
以上のようにして、まず、Tinst[i]について、上記拡大外形枠を算出する。次に、Tinst[i]の拡大外形枠とTinst[p]の外形枠とで、重なりがあるか否かを検出する一例としての方法について説明する。
上記で算出したTinst[i]に対するSXmin-dxとSYmin-dy、および、SXmax+dxとSYmax+dyとを長方形の対角の２点とする拡大外形枠の領域が、Tinst[p]に対する外形枠のいずれかの頂点を含むか否かを検出する。
この検出した結果が、いずれかの頂点を含む場合には、重なりがあるとして検出する。逆に、いずれの頂点も含まない場合には、重なりがないとして検出する。
【００５９】
なお、上記においては、外形枠に対して予め定められた一定量を加算または減算することにより拡大外形枠を算出したが、これに限られるものではなく、外形枠に対して予め定められた一定量を乗算することにより拡大外形枠を算出してもよい。
【００６０】
次に図８のフローチャートを用いて、レイアウトインスタンス座標計算処理部１０４が実行する処理を詳細に説明する。
まず、テーブルTinstをグループ識別番号GrNoの小さい順に、かつ、グループ識別番号GrNoが等しい場合はレイアウト図上のインスタンスの配置座標LXの小さい順に、並び替える（ステップＳ４０１）。
【００６１】
次に、テーブルTinstの全インスタンスを処理するため、変数m=2〜(Tinstの最大数)の範囲について、変数mを１つずつインクリメントしながら、以降に説明するステップＳ４０３からステップＳ４０４の処理を繰り返す（ステップＳ４０２）。この(Tinstの最大数)とは、テーブルTinstに含まれるインスタンスの総数である。
【００６２】
次に、Tinst[m].GrNoの値とTinst[m-1].GrNoの値とが、等しいか否かを判定する(ステップＳ４０３）。
ステップＳ４０３の判定結果が等しくない（ＮＯ）場合は、ステップＳ４０５に進み、ステップＳ４０５でステップＳ４０２に戻され、ステップＳ４０２の処理を繰り返す。
【００６３】
一方、ステップＳ４０３の判定結果が等しい（ＹＥＳ）場合は、次に、Tinst[m]がTinst[m-1]の右側に接するように、Tinst[m].LXとTinst[m].LYとの値を更新する（ステップＳ４０４）。
このステップＳ４０４では、次の式３および式４で、Tinst[m].LXとTinst LYとの値を算出して更新する。
【００６４】
Tinst[m].LX = Tinst[m-1].LX + Tinst[m-1].LXmax - Tinst[m].LXmin・・・（式３）
【００６５】
Tinst[m].LY = Tinst[m-1].LY + Tinst[m-1].LYmin - Tinst[m].LYmin・・・（式４）
【００６６】
右辺の第一項はTinst[m-1]の配置座標、第２項はTinst[m-1]の配置座標を基準とした枠の右下への移動量、第３項はTinst[m]の枠の左下を基準とした配置座標への移動量である(図９参照）。
【００６７】
この式３の意味を、第１のインスタンスを基準として、Ｘ軸において右側になるインスタンスを第２のインスタンスとして説明する。この式３の意味は、左側になる第１のインスタンスの配置座標Tinst[m-1].LXを基準として、右側になる第２のインスタンスの配置座標Tinst[m].LXを、第１のインスタンスの右側の寸法値Tinst[m-1].LXmaxと、第２のインスタンスの左側の寸法値-Tinst[m].LXminとの合計値になるようにする、という意味である。
この式３により、第２のインスタンスは、第１のインスタンスを基準として、第１のインスタンスの右側に接するように配置される。
【００６８】
また、式４の意味は、Ｙ軸において、第１のインスタンスの配置座標Tinst[m-1].LYを基準として、第２のインスタンスの配置座標Tinst[m].LYを、第１のインスタンスの下側の寸法値Tinst[m-1].LYminと、第２のインスタンスの下側の寸法値-Tinst[m].LYminとの合計値になるようにする、という意味である。
この式４により、第２のインスタンスの下端は、第１のインスタンスを基準として、第１のインスタンスの下端と同じなるようにして配置される。
【００６９】
つまり、上記式３と式４とにより、第２のインスタンスは、第１のインスタンスを基準として、第１のインスタンスの右側に接して配置され、かつ、第２のインスタンスの下端の配置位置と第１のインスタンスの下端の配置位置とが同じになるように配置される。
よって、レイアウト図上において、第１のインスタンスと第２のインスタンスとは、Ｘ軸方向において、第１のインスタンスの外形枠と第２のインスタンスの外形枠とが互いに接するように、配置される。
【００７０】
次に、ステップＳ４０５でステップＳ４０２に戻され、ステップＳ４０２の処理を繰り返す。
なお、ステップＳ４０５で、ステップ４０２での処理が変数m=2〜(Tinstの最大数)の範囲について終了した場合には、図８に示される全体の処理を終了する。
【００７１】
レイアウトインスタンス座標計算処理部１０４は、上記に説明したステップＳ４０４の処理で、インスタンスグループ認識処理部１０３で認識されたインスタンスのグループに含まれるインスタンスついて、グループ内でレイアウト図上のインスタンスの配置座標LXが最小であるインスタンスは移動せずに配置し、その他のインスタンスは、レイアウト図上のインスタンスの配置座標LXの小さい順に、互いのインスタンスの枠が接するように、インスタンスを順に配置している。
レイアウトインスタンス座標計算処理部１０４が、ステップＳ４０４でこのようにインスタンスを配置出来る理由は、上記に説明した図８の処理において、ステップＳ４０２の処理が変数m=2から開始されており、かつ、ステップＳ４０３でTinst[m].GrNoとTinst[m-1].GrNoとが等しいか否かを判定し、このステップＳ４０３の判定結果がTinst[m].GrNoとTinst[m-1].GrNoとが等しい場合にのみ、上記のステップＳ４０４の処理が実行されるからである。
【００７２】
次に、図５を用いて、半導体レイアウト装置１が、回路図からレイアウトした場合の、一例としての回路図とレイアウト図とについて説明する。ここでは、符号C1〜C7で示される７個のインスタンスを配置する場合について説明する。
図５（ａ）には、符号Ａ８０１で示される回路図が示されている。この符号Ａ８０１で示される回路図には、符号C1〜C7で示される７個のインスタンスが、配置されている。
【００７３】
この図５（ａ）の符号Ａ８０１で示される回路図は、レイアウトインスタンス仮座標計算処理部１０２の処理により、図５（ｂ）の符号Ａ８０２で示されるレイアウト図に仮配置される。
【００７４】
次に、インスタンスグループ認識処理部１０３の処理により、グループが認識され、符号C1〜C7で示される７個のインスタンスに対応するTinst[1]〜Tinst[7]のグループ識別番号GrNoには、次のようにセットされる。
【００７５】
Tinst[1].GrNo = 1 、
Tinst[2].GrNo = 2 、
Tinst[3].GrNo = 1 、
Tinst[4].GrNo = 3 、
Tinst[5].GrNo = 2 、
Tinst[6].GrNo = 2 、
Tinst[7].GrNo = 3 
【００７６】
例えば、Tinst[1]とTinst[3]とは、図５（ａ）の符号Ａ８０１で示される回路図上で接しており、それが反映されて、同一のグループであるインスタンスのグループ識別番号GrNoは、同一の値となる。
次に、レイアウトインスタンス座標計算処理部１０４の処理で、図５（ｃ）の符号Ａ８０３で示されるレイアウト図に示されるように、グループ認識されたインスタンスが接するように、レイアウト図上のインスタンスがレイアウトされる。
【００７７】
以上に説明した第１の実施形態によれば、レイアウト図上のインスタンス配置作業の時間を短縮できる、という効果を奏する。
その第１の理由は、回路図とレイアウト図との大きさの比と、回路図上のインスタンスの座標とから、レイアウト図上のインスタンスの座標を算出し、回路図と相対的に同じ位置関係でレイアウト図上にインスタンスを配置したためである。
また、その第２の理由は、処理のための追加情報を与える必要なしに、回路図上で接しているインスタンスを、レイアウト図上でも接するように配置したためである。
【００７８】
なお、回路図上で回路が接するように配置されているということには、この互いに接する回路が機能的に同じブロックに属する、互いに接する回路の間に配線がある、また、互いに接する回路の間の配線を短くする必要がある、などの意味がある。
以上に説明した第１の実施形態によれば、上記のような意味により回路図上で接するように配置された回路を、レイアウト図上でも回路図上と同じように配置することが可能となる。
【００７９】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。第１の実施形態では回路図上でインスタンスが接していることから、インスタンスグループ認識処理部１０３がインスタンスのグループを認識していたが、第２の実施形態では、回路図でグループとしたいインスタンスを、ユーザが選択枠または領域指定枠である枠で囲って指定することにより、インスタンスグループ認識処理部１０３が、インスタンスのグループを認識する。
【００８０】
図１０は、この発明の第２の実施形態による半導体レイアウト装置２の構成を示す概略ブロック図である。同図において図１の各部に対応する部分には同一の符号を付け、その説明を省略する。
【００８１】
半導体レイアウト装置２は、表示部１２１と、入力部１２２と、枠情報記憶部１１２と、インスタンスグループ認識処理部１０５とを有する。
このインスタンスグループ認識処理部１０５は、第１の実施形態の半導体レイアウト装置１におけるインスタンスグループ認識処理部１０３に相当する構成であり、インスタンスグループ認識処理部１０３と比較して、グループを認識する処理（方法）が異なる。
【００８２】
次に、各構成について説明する。
表示部１２１は、表示装置を有しており、回路図上のインスタンス配置座標SXとSYと、回路図上のインスタンスの寸法値SXminとSXmaxとSYminとSYmaxとを、配置情報記憶部１１０から読み出し、読み出した回路図上のインスタンス配置座標SXとSYと、回路図上のインスタンスの寸法値SXminとSXmaxとSYminとSYmaxとに基づいて、図１１（ａ）に示されるような、回路図を表示装置を介してユーザに表示する。
この表示装置とはＣＲＴ(Cathode Ray Tube)や液晶表示装置等のことをいう。
【００８３】
入力部１２２は、入力装置を有しており、表示部１２１に表示された回路図において、図１１（ａ）の符号Ａ１２０４に示されるような、同一のグループとする回路を領域指定する枠の情報が、入力装置を介してユーザから入力される。つまり、この入力部１２２には、回路図においてグループ（同一回路グループ）とする領域を指定する枠の情報（領域情報）が入力される。この入力装置とはキーボード、マウス等の入力デバイスのことをいう。
また、この入力部１２２は、入力された枠の情報を、枠情報記憶部１１２の枠情報テーブルＴ２に記憶させる。
【００８４】
インスタンスグループ認識処理部１０５は、入力部１２２から入力された領域情報で示される領域に、回路図上の座標（回路図配置座標情報で示される回路の座標）が全て含まれる回路を、同一のグループ（同一回路グループ）として検出する。
【００８５】
図１２は、枠情報記憶部１１２に記憶される一例としての枠情報テーブルＴ２を例示した図である。
枠情報テーブルＴ２には、枠を識別する番号である枠識別番号Noと、枠のＸ軸における最小値Xminと、枠のＹ軸における最小値Yminと、枠のＸ軸における最大値Xmaxと、枠のＹ軸における最大値Ymaxとが、関連付けて枠毎に記憶されている。
以降において、枠情報テーブルＴ２全体をテーブルWakuと表記し、配置情報テーブルＴ１全体に対するテーブルTinstと同様の表記方法を用いて説明する。
【００８６】
次に、図１３のフローチャートを用いて、インスタンスグループ認識処理部１０５が実行する処理を詳細に説明する。
まず、枠情報記憶部１１２のテーブルWakuの情報を読み出す（ステップＳ１００１）。
次に、変数GroupNoを初期化し、変数GroupNoの値を、初期値１にセットする（ステップＳ１００２）。
【００８７】
次に、Wakuの全データについて処理するため、変数n=1〜(Wakuの最大数)の範囲について、変数nを１つずつインクリメントしながら、以降に説明するステップＳ１００４からステップＳ１００５の処理を繰り返す（ステップＳ１００３）。この(Wakuの最大数)とは、テーブルWakuに含まれる枠の総数である。
【００８８】
次に、Waku[n]の内側に含まれるある全てのインスタンスのTinst[x].GrNoに、変数GroupNoをセットする（ステップＳ１００４）。ここで、xはインスタンス識別番号Noである。このWaku[n]の内側にあるインスタンスの検出方法は、次の式５から式８が全て成立する場合に、Tinst[x]はWaku[n]の内側にあるとして検出する。
【００８９】
Waku[n].Xmin ≦ Tinst[x].SX + Tinst[x].SXmin ≦ Waku[n].Xmax ・・・（式５）
【００９０】
Waku[n].Xmin ≦ Tinst[x].SX + Tinst[x].SXmax ≦ Waku[n].Xmax ・・・（式６）
【００９１】
Waku[n].Ymin ≦ Tinst[x].SY + Tinst[x].SYmin ≦ Waku[n].Ymax ・・・（式７）
【００９２】
Waku[n].Ymin ≦ Tinst[x].SY + Tinst[x].SYmax ≦ Waku[n].Ymax ・・・（式８）
【００９３】
次に、変数GroupNoの値を１つインクリメントし（ステップＳ１００５）、ステップＳ１００６でステップＳ１００３に戻され、ステップＳ１００３の処理を繰り返す。
なお、ステップＳ１００６で、ステップＳ１００３での処理が、変数n=1〜(Wakuの最大数)の範囲について終了した場合には、図１３に示される全体の処理を終了する。
【００９４】
その他の処理は、第１の実施形態と第２の実施形態とでは、同じである。以上により、この第２の実施形態においても、図１１（ｂ）の符号Ａ１２０２で示されるレイアウト図、図１１（ｃ）の符号Ａ１２０３で示されるレイアウト図のように、第１の実施形態と同様にレイアウトされる。
【００９５】
なお、実施形態の説明においては、寸法値記憶部１１１には、回路図全体の寸法値の情報である回路図全体寸法情報と、レイアウト図全体の寸法値の情報であるレイアウト図全体寸法情報とが、予め記憶されているとして説明したが、これに限られるものではなく、図示されない入力部に、回路図全体寸法情報とレイアウト図全体寸法情報とが入力され、図示されない入力部が、入力された回路図全体寸法情報とレイアウト図全体寸法情報とを寸法値記憶部１１１に記憶させるようにしてもよい。
または、入力情報に回路図全体寸法情報とレイアウト図全体寸法情報とが含まれるようにし、データ読み込み処理部１０１が、入力情報に含まれる回路図全体寸法情報とレイアウト図全体寸法情報とを、寸法値記憶部１１１に記憶させるようにしてもよい。
【００９６】
なお、配置情報記憶部１１０、寸法値記憶部１１１、または、枠情報記憶部１１２は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００９７】
なお、この半導体レイアウト装置１または半導体レイアウト装置２は、専用のハードウェアにより実現されるものであってもよく、また、この半導体レイアウト装置１または半導体レイアウト装置２はメモリおよびＣＰＵ（中央演算装置）により構成され、半導体レイアウト装置１または半導体レイアウト装置２の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００９８】
また、図２に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、半導体レイアウト装置における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、データ読み込み処理、レイアウトインスタンス仮座標計算処理、インスタンスグループ認識処理、及び、レイアウトインスタンス座標計算処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００９９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０１００】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【０１０１】
【図１】この発明の第１の実施形態による半導体レイアウト装置の構成を示すブロック図である。
【図２】図１の半導体レイアウト装置の動作を示すフローチャートである。
【図３】一例としてのテーブルＴｉｎｓｔを例示する説明図である。
【図４】一例としての回路の外形枠を説明する説明図である。
【図５】第１の実施形態における回路図とレイアウト図を説明する説明図である。
【図６】インスタンスグループ認識処理部の動作を示す第１のフローチャートである。
【図７】インスタンスグループ認識処理部の動作を示す第２のフローチャートである。
【図８】レイアウトインスタンス座標計算処理部の動作を示す第２のフローチャートである。
【図９】レイアウトインスタンス座標計算処理部の動作を説明する説明図である。
【図１０】この発明の第２の実施形態による半導体レイアウト装置の構成を示すブロック図である。
【図１１】第２の実施形態における回路図とレイアウト図を説明する説明図である。
【図１２】一例としてのテーブルWakuを例示する説明図である。
【図１３】第２の実施形態におけるインスタンスグループ認識処理部の動作を示すフローチャートである。
【図１４】第１の従来技術によるレイアウトの一例を示す説明図である。
【図１５】第２の従来技術によるレイアウトの一例を示す説明図である。
【符号の説明】
【０１０２】
１０１  データ読み込み処理部
１０２  レイアウトインスタンス仮座標計算処理部
１０３、１０５  インスタンスグループ認識処理部
１０４  レイアウトインスタンス座標計算処理部
１１０  配置情報記憶部
１１１  寸法値記憶部
１１２  枠情報記憶部
【図１】
0005473197.tif 000002
【図２】
0005473197.tif 000003
【図３】
0005473197.tif 000004
【図４】
0005473197.tif 000005
【図５】
0005473197.tif 000006
【図６】
0005473197.tif 000007
【図７】
0005473197.tif 000008
【図８】
0005473197.tif 000009
【図９】
0005473197.tif 000010
【図１０】
0005473197.tif 000011
【図１１】
0005473197.tif 000012
【図１２】
0005473197.tif 000013
【図１３】
0005473197.tif 000014
【図１４】
0005473197.tif 000015
【図１５】
0005473197.tif 000016