(57)【特許請求の範囲】
【請求項１】
複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置において、
前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、整列状態でマトリクス状に配置されると共に前記マトリクス表示領域の各グリッドと１対１に対応付けられた複数のグリッドを有し、前記マトリクス表示領域の各グリッドに対応付けて指定された回路要素の配置を対応するグリッドに表示する配置表示領域とを表示する表示手段と、
前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する整列解除指定手段と、
前記整列解除指定手段によって指定された回路要素について、前記指定された境界領域に沿う方向の整列を解除し、前記整列解除された回路要素を前記指定された境界領域に沿う一の方向に詰めることによって空間を詰める整列解除手段とを備え、
前記表示手段は、前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示することを特徴とする集積回路設計装置。
【請求項２】
前記表示手段は、前記マトリクス表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示することを特徴とする請求項１記載の集積回路設計装置。
【請求項３】
前記表示手段は、前記配置表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示することを特徴とする請求項１又は２記載の集積回路設計装置。
【請求項４】
コンピュータを、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置として機能させるプログラムにおいて、
前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、整列状態でマトリクス状に配置されると共に前記マトリクス表示領域の各グリッドと１対１に対応付けられた複数のグリッドを有し、前記マトリクス表示領域の各グリッドに対応付けて指定された回路要素の配置を対応するグリッドに表示する配置表示領域とを表示する表示手段と、
前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する整列解除指定手段と、
前記整列解除指定手段によって指定された回路要素について、前記指定された境界領域に沿う方向の整列を解除し、前記整列解除された回路要素を前記指定された境界領域に沿う一の方向に詰めることによって空間を詰める整列解除手段とを備え、
前記表示手段が前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示するようにコンピュータを機能させることを特徴とするプログラム。
【請求項５】
前記表示手段が前記マトリクス表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するようにコンピュータを機能させることを特徴とする請求項４記載のプログラム。
【請求項６】
前記表示手段が前記配置表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するようにコンピュータを機能させることを特徴とする請求項４又は５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路における回路要素データのレイアウト設計等を行う集積回路設計装置、及び、コンピュータに実行させることによって前記集積回路設計装置を構築するのに適したプログラムに関する。
【背景技術】
【０００２】
従来から、ＬＳＩ（Large Scale Integrated Circuit）等の半導体集積回路において、回路要素に相当する図形データのレイアウト設計を行うために、集積回路設計装置が利用されている（例えば、特許文献１、２参照）。
従来の集積回路設計装置は、回路要素の集まりである複数の回路要素の情報を記憶する記憶手段と、複数のグリッドに配置する回路要素を、前記グリッドに対応付けて前記複数の回路要素の中から指定する配置指定手段と、前記配置指定手段によって指定された回路要素を、対応するグリッド内に整列して配置する整列配置手段と、前記整列配置手段によって配置した回路要素の配置を表示する表示手段とを備えている。
【０００３】
前記配置指定手段は、各グリッドに配置する回路要素を前記記憶手段に記憶した回路要素の中から選択して指定する。整列配置手段は、前記配置指定手段によって指定された回路要素を、対応するグリッド内に整列して配置する。表示手段は、前記整列配置手段によって配置した回路要素の配置を表示する。
これにより、前記表示手段には、各グリッドに整列された状態の回路要素がレイアウト表示される。このとき、各回路要素は所定の間隔を置いて配列されることになるため、設計者は、設計作業中の半導体集積回路のレイアウトを視覚的に把握することが可能になる。
【０００４】
しかしながら、前記の如くして各回路要素を整列した状態でレイアウト表示すると、レイアウト表示内において、回路要素間に無駄な空間が発生する場合がある。
このような場合、従来の集積回路設計装置では、各グリッド内の回路要素を一旦整列させて表示させた後は、部分的に整列を解除することができないため、設計者が希望する領域の無駄な空間（デッドスペース）を削減してレイアウト表示させることができないという問題がある。したがって、設計した集積回路にデッドスペースが生じてしまい、高集積化した集積回路の設計が困難という問題がある。
【０００５】
【特許文献１】特開２００４−２３４４５０号公報
【特許文献２】特開２００５−０６２９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、集積回路のレイアウトに生じるデッドスペースを抑制して回路要素を配置表示することが可能な集積回路設計装置を提供することを課題としている。
また、本発明は、コンピュータを用いて前記集積回路設計装置を構築するのに好適なプログラムを提供することを課題としている。
【課題を解決するための手段】
【０００７】
本発明によれば、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置において、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する整列解除指定手段と、前記整列解除指定手段によって指定された回路要素について、前記境界領域に沿う方向の整列を解除する整列解除手段とを備え、前記表示手段は、前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示することを特徴とする集積回路設計装置が提供される。
【０００８】
整列解除指定手段は、表示手段のマトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する。整列解除手段は、前記整列解除指定手段によって指定された回路要素について、前記境界領域に沿う方向の整列を解除する。前記表示手段は、複数のグリッドをマトリクス状に表示すると共に回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを有し、前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示する。
【０００９】
また、本発明によれば、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置において、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定する整列指定手段と、前記整列指定手段によって指定された回路要素について、前記境界領域に沿う方向に整列させる整列手段とを備え、前記表示手段は、前記配置表示領域に、前記整列手段によって整列された後の状態で前記各回路要素を表示することを特徴とする集積回路設計装置が提供される。
【００１０】
整列指定手段は、表示手段のマトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定する。整列手段は、前記整列指定手段によって指定された回路要素について、前記境界領域に沿う方向に整列させる。表示手段は、複数のグリッドをマトリクス状に表示すると共に記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを有し、前記配置表示領域に、前記整列手段によって整列された後の状態で前記各回路要素を表示する。
【００１１】
ここで、前記表示手段は、前記回路要素を整列表示する場合、整列指定されたグリッドに対応付けられた回路要素の集合体のうちの前記境界領域方向に占める大きさが最も大きい集合体に整列配置して表示するように構成してもよい。
また、前記表示手段は、前記マトリクス表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するように構成してもよい。
また、前記表示手段は、前記配置表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するように構成してもよい。
【００１２】
また、本発明によれば、コンピュータを、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置として機能させるプログラムにおいて、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する整列解除指定手段と、前記整列解除指定手段によって指定された回路要素について、前記境界領域に沿う方向の整列を解除する整列解除手段として機能させ、前記表示手段は、前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示するように機能させることを特徴とするプログラムが提供される。
【００１３】
コンピュータはプログラムを実行することにより、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置として機能させるプログラムにおいて、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する整列解除指定手段と、前記整列解除指定手段によって指定された回路要素について、前記境界領域に沿う方向の整列を解除する整列解除手段として機能させ、前記表示手段は、前記配置表示領域に、前記整列解除手段によって整列解除された後の状態で前記各回路要素を表示するように機能する。
【００１４】
また、本発明によれば、コンピュータを、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置として機能させるプログラムにおいて、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定する整列指定手段と、前記整列指定手段によって指定された回路要素について、前記境界領域に沿う方向に整列させる整列手段として機能させ、前記表示手段は、前記配置表示領域に、前記整列手段によって整列された後の状態で前記各回路要素を表示するように機能させることを特徴とするプログラムが提供される。
【００１５】
コンピュータはプログラムを実行することにより、複数のグリッドに対応付けて指定された複数の回路要素を整列配置して表示する集積回路設計装置として機能させるプログラムにおいて、前記複数のグリッドをマトリクス状に表示すると共に前記回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに対応付けて指定された回路要素の配置を表示する配置表示領域とを表示する表示手段と、前記マトリクス表示領域において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定する整列指定手段と、前記整列指定手段によって指定された回路要素について、前記境界領域に沿う方向に整列させる整列手段として機能させ、前記表示手段は、前記配置表示領域に、前記整列手段によって整列された後の状態で前記各回路要素を表示するように機能する。
【００１６】
ここで、前記表示手段は、前記回路要素を整列表示する場合、整列指定されたグリッドに対応付けられた回路要素の集合体のうちの前記境界領域方向に占める大きさが最も大きい集合体に整列配置して表示するように前記プログラムを構成してもよい。
また、前記表示手段は、前記マトリクス表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するように前記プログラムを構成してもよい。
また、前記表示手段は、前記配置表示領域において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示するように前記プログラムを構成してもよい。
【発明の効果】
【００１７】
本発明に係る集積回路設計装置によれば、集積回路のレイアウトに生じるデッドスペースを抑制して回路要素を配置表示することが可能になる。
また、本発明に係るプログラムは、コンピュータを用いて前記集積回路設計装置を構築することが可能になる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の第１の実施の形態に係る集積回路設計装置のブロック図である。
図１において、集積回路設計装置は、中央処理装置（ＣＰＵ）１０１、液晶表示装置等によって構成された表示装置１０２、キーボードやマウス等によって構成された入力装置１０３、主記憶装置等を構成する半導体メモリ１０４、外部記憶装置を構成する磁気ディスク記憶装置１０５を備えている。
【００１９】
磁気ディスク記憶装置１０５内には、ネットリスト情報（結線情報）を記憶したネットリスト情報記憶部１０６、半導体集積回路を構成するデバイス（回路素子）や前記デバイスの集まりであるセル等の回路要素の形状及びその名称を対応付けて複数種類記憶した回路要素形状情報記憶部１０７、半導体集積回路を複数の領域（グリッド）に分割した場合の各グリッドに関する情報（グリッドの数に応じたグリッドの高さや幅等の情報）を記憶したグリッド情報記憶部１０８、複数のデバイスやセルによって構成されるクラスタ等の回路要素の定義や各回路要素の位置関係等の制約を表す情報である制約情報を記憶した制約情報記憶部１０９が設けられている。
【００２０】
前記制約情報には、複数のデバイスやセルによって構成される回路要素を定義した情報（例えば、クラスタ、ペア、シンメトリ）や、各回路要素の位置関係の制約（例えば、複数の回路要素の水平位置関係の制約や垂直位置関係の制約）を表す情報が含まれている。
前記ネットリスト情報、回路要素形状情報、グリッド情報、制約情報は設計情報を構成している。
【００２１】
磁気ディスク記憶装置１０５は、ＣＰＵ１０１が実行する集積回路設計用プログラムも記憶しており、ＣＰＵ１０１は前記プログラムを実行することにより、後述する処理を行う。
ここで、ＣＰＵ１０１は回路要素の整列を解除する整列解除手段を構成し、表示装置１０２は表示手段を構成し、入力装置１０３は回路要素の整列を解除するグリッドを指定する整列解除指定手段を構成している。また、メモリ１０４及び磁気ディスク記憶装置１０５は記憶手段を構成している。
【００２２】
図２及び図３は、本発明の第１の実施の形態に係る集積回路設計装置の動作を示す説明図で、表示装置１０２の表示を示している。
また、図４及び図５は、本発明の第１の実施の形態に係る集積回路設計装置の処理を示すフローチャートである。
以下、図１〜図５を用いて、本発明の第１の実施の形態に係る集積回路設計装置及び集積回路設計用プログラムについて詳細に説明する。
【００２３】
先ず、ユーザ（例えば、半導体集積回路の設計者）が入力装置１０１を操作して設計処理開始の指示を入力すると、ＣＰＵ１０１は、磁気ディスク記憶装置１０５に記憶しておいた前記集積回路設計用プログラム及び前記設計情報をメモリ１０４に読み込んで実行する。即ち、ＣＰＵ１０１は、前記集積回路設計用プログラムをメモリ１０４に読み込むと共に、ネットリスト情報記憶部１０６からネットリスト情報を、回路要素形状情報記憶部１０７から回路要素形状情報を、グリッド情報記憶部１０８からグリッド情報を、制約情報記憶部１０９から制約情報を、各々、メモリ１０４に読み込み、入力装置１０３からの入力に応じた処理を行うことができるようになる。
【００２４】
これにより、表示装置１０２には、グリッドの数を入力してグリッドを定義するためのグリッド定義表示領域２００、回路要素形状情報記憶部１０７に記憶された複数の回路要素の名称を表す一覧リストを表示するリスト表示領域（図示せず）、入力装置１０３によって定義された数の複数のグリッドをマトリクス状に表示すると共に各グリッドに対応付けて指定された回路要素の名称を当該グリッド内に表示するためのマトリクス表示領域２０１、及び、前記各グリッドに対応付けて指定された回路要素の配置を表示するための配置表示領域２０２が表示される（図４のステップＳ４０１）。
【００２５】
次に、入力装置１０１から、グリッド定義表示領域２００の行数入力欄及び列数入力欄にグリッドの数（本実施の形態では、４行×４列）を表す数値を入力して定義すると、ＣＰＵ１０１は、グリッド数が指定されたと判断し（ステップＳ４０２）、グリッド情報記憶部１０８を参照して、定義入力された数の所定大きさのグリッドを有するマトリクス表示領域２０１及び配置表示領域２０２を作成し、表示装置１０２に表示させる（ステップＳ４０３）。
図２では、３本の横方向の境界線２２１〜２２３及び３本の縦方向の境界線２２４〜２２６によってマトリクス状に区分けされることによって、１行１列目から４行４列目に配設された４×４個のグリッドが形成されている。
【００２６】
この状態で、入力装置１０１から、マトリクス表示領域２０１の各グリッドに対応付けて、前記リスト表示領域に表示された回路要素の名称を選択して入力する（ステップＳ４０４）。前記名称の入力は、前記リスト表示領域内の所望の回路要素の名称を入力装置１０１によって選択し、所望のグリッドに複写することによって行われる。
図２の例では、１行１列目のグリッドには、回路要素ＮＭ０及び回路要素ＮＭ１が対応付けて指定されている。２行３列目のグリッドには、回路要素ＮＭ２７、回路要素ＮＭ３０及び回路要素ＮＭ３１が対応付けて指定されている。同様に、４行４列目のグリッドには、回路要素Ｒ５９が対応付けて指定されている。
【００２７】
以上のようにして、各グリッド内に配置する回路要素を、各グリッドに対応付けて入力した後、入力装置１０３からレイアウトの実行指示を行う。ＣＰＵ１０１は、入力装置１０１からの前記レイアウト実行処理に応答して（ステップＳ４０５）、前記設計情報（ネットリスト情報記憶部１０６に記憶されたネットリスト情報、回路要素形状情報記憶部１０７に記憶された回路要素形状情報、グリッド情報記憶部１０８に記憶されたグリッド情報及び制約情報記憶部１０９に記憶された制約情報）を用いて、レイアウトの算出処理を実行し、表示装置１０２に集積回路のレイアウトを表示させるよう制御する（ステップＳ４０６）。
【００２８】
このとき、ＣＰＵ１０１は、入力装置１０３からの前記レイアウト実行処理に応答して、各回路要素を整列させるように初期設定（デフォルト）されているため、各回路要素は整列して配設されることになる。各グリッドは、対応付けて指定された回路要素を含んだ状態で、大きさが整列して配設されることになる。
即ち、表示装置１０２には、回路要素を整列表示する場合、同行のグリッドに対応付けて指定された回路要素は、グリッドに対応付けられた回路要素の集合体（同じグリッドに対応付けられた全ての回路要素を、配置された状態で一体にしたもの）のうちの整列指定された境界領域方向に占める大きさが最も大きい回路要素の集合体が対応付けられたグリッドの回路要素に整列配置して表示される。これは、同列のグリッドに対応付けられた回路要素についても同じであり、表示装置１０２には、回路要素を整列表示する場合、同列のグリッドに対応付けて指定された回路要素は、整列指定された境界領域方向に占める大きさが最も大きい回路要素の集合体が対応付けられたグリッドの回路要素に整列配置して表示される。
【００２９】
各グリッド内に対応付けて指定された回路要素は、対応付けられたグリッドに配設された他の回路要素との間で所定の整列関係を保ちながら当該グリッドの左端部や下端部に整列するように配置される。
このようにして、表示装置１０２の配置表示領域２０２には、図２に示すように、マトリクス表示領域２０１の各グリッド内に指定された回路要素の形状及び位置を示すレイアウトが表示される。
【００３０】
図２において、集積回路の全領域に対応する配置表示領域２０２は、縦方向境界線２１０〜２１２及び横方向境界線２１３〜２１５によってマトリクス状（前記の如くして入力装置１０２によって指定した４行４列の領域）に分割されており、前記各領域はグリッド２０３ａ〜２０６ｄを構成している。
マトリクス表示領域２０１の各グリッドと配置表示領域２０２のグリッドは、いずれもマトリクス状に配置されており、各々１対１の対応関係があるように構成されている。
【００３１】
即ち、マトリクス表示領域２０１の横方向境界線２２１〜２２３及び縦方向境界線２２４〜２２６は、各々、配置表示領域２０２の横方向境界線２１３〜２１５及び縦方向境界線２１０〜２１２に対応しており、マトリクス表示領域２０１の１行１列目のグリッド〜４行４列目のグリッドは、配置表示領域２０２のグリッド２０３ａ〜２０６ｄに対応している。
【００３２】
尚、配置表示領域２０２のグリッド２０６ａ〜２０６ｄに配置された回路要素は、各々、マトリクス表示領域２０１の４行目の１列目〜４列目のグリッドに対応して配置されたものであるが、マトリクス表示領域２０１の前記グリッドに表示される各回路要素のサイズが小さく回路要素内に文字を表示できないため、名称は表示されず、回路要素の形状のみが表示されている。
【００３３】
図２に示すように、例えば、２列目では、グリッド２０５ｂにおける回路要素ＰＭ０、ＰＭ２、ＰＭ３から成る回路要素の集合体（グリッド２０５ｂに対応付けられた全ての回路要素ＰＭ０、ＰＭ２、ＰＭ３を配置された状態で一体にしたもの）が横方向（整列指定された境界領域に沿う方向）に最も大きいため、同列の他のグリッド２０３ｂ、２０４ｂ、２０６ｂの前記横方向の大きさはグリッド２０５ｂと同じ大きさに整列される。
【００３４】
各グリッド２０３ｂ、２０４ｂ、２０５ｂ、２０６ｂに対応付けられた回路要素は、各対応付けられたグリッド内の回路要素と所定の関係を保ちながら、当該グリッドの左端側及び下側に整列配置される。
また、３列目のグリッド２０３ｃ、２０４ｃ、２０５ｃ、２０６ｃ内に対応付けて配置される各回路要素は、グリッド２０５ｂに対応付けられた回路要素の集合体（換言すれば、グリッド２０５ｂ）に左端が整列して配置される。したがって、グリッド２０３ｂ、２０４ｂ、２０６ｂに対応付けられた空白が表示されることになる。
【００３５】
３列目では、グリッド２０５ｃにおける回路要素ＰＭ４、ＰＭ５、ＮＭ４７から成る回路要素の集合体が横方向に最も大きいため、同列の他のグリッド２０３ｃ、２０４ｃ、２０６ｃの前記横方向の大きさはグリッド２０５ｃと同じ大きさに整列される。
各グリッド２０３ｃ、２０４ｃ、２０５ｃ、２０６ｃに対応付けられた回路要素は、各対応付けられたグリッド内の回路要素と所定の関係を保ちながら、当該グリッドの左端側及び下側に整列配置される。
４列目のグリッド２０３ｄ、２０４ｄ、２０５ｄ、２０６ｄ内に対応付けて配置される各回路要素は、グリッド２０５ｃに対応付けられた回路要素の集合体（換言すれば、グリッド２０５ｃ）に左端が整列して配置される。したがって、グリッド２０３ｃ、２０４ｃ、２０６ｃに対応付けられた空白が表示されることになる。
【００３６】
また、２行目では、グリッド２０４ｃに対応付けられた回路要素ＮＭ２７、ＮＭ３１、ＮＭ３０の集合体が縦方向（整列指定された境界領域に沿う方向）に最も大きいため、同行の各列グリッド２０４ａ、２０４ｂ、２０４ｄに対応付けて配置される各回路要素は、グリッド２０４ｃに対応付けられた回路要素の集合体に下端が整列して配置される。したがって、グリッド２０４ａ、２０４ｂ、２０４ｄに対応付けられた空白が表示されることになる。
【００３７】
このように、図２の整列配置状態では、特に、グリッド２０３ｂ〜２０３ｄ、２０４ｂ、２０４ｃ、２０６ａ〜２０６ｄ等に大きなデッドスペースが存在しているが、以下に説明するようにして、複数のグリッドの中の一部のグリッドの整列を解除することにより、デッドスペースを小さくすることができる。
図２の整列状態から、所望のグリッドの整列を解除することによって、当該グリッド内の所定方向の空白表示を無くして、当該グリッド内配設された回路要素を再配置し、デッドスペースを削減してレイアウト表示するときの処理を説明する。
【００３８】
グリッドに対応付けられた回路要素の整列解除を指定する場合、図２のマトリクス表示領域２０１において、前記グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定する。
即ち、マトリクス表示領域２０１において、入力装置１０３によって、整列解除を指定するグリッドとグリッドとの間の境界領域に整列解除線を設定して整列解除を指定することにより、前記境界領域（換言すれば整列解除線）に沿う方向の前記両グリッドに対応付けて配置された回路要素の整列解除を指定する。
【００３９】
例えば、１行目のグリッドと２行目のグリッドに各々対応付けられた回路要素間の整列を解除する場合には、１行目のグリッドと２行目のグリッドの境界領域である境界線２２１を、１列目から４列目まで、入力装置１０３によって指定することによって行う。これにより、１行目の１列目〜４列目のグリッドに対応付けられた回路要素と、２行目の１列目〜４列目のグリッドに対応付けられた回路要素とは、境界線２２１方向の整列解除が指定される。
【００４０】
この場合、１行目のグリッドと２行目のグリッドに対応付けられた回路要素間の整列は解除されるが、２行目から４行目のグリッドに対応付けられた回路要素間の整列は解除されない。
したがって、１行目のグリッドに対応付けられた回路要素は全てのグリッドに対応付けられた回路要素との整列が解除されるため、１行目のグリッドに対応付けられた回路要素は整列解除された状態に再配置されることになるが、２行目から４行目のグリッドに対応付けられた回路要素は相互に整列維持されることになる。
【００４１】
前記１行目の整列解除が行われると、１行目のグリッドは、グリッドのサイズよりも小さな回路要素（換言すれば、無駄な空間）を含んでいるため、１行目の各回路要素が左側方向に詰めて移動しされて再配置され、無駄な空間を詰めた状態での表示が行われる。
同様に、２行目のグリッドと３行目のグリッドの２列目から４列目に対応付けられた回路要素の整列を解除する場合には、２行目と３行目のグリッド間の境界線２２２の中の２列目から４列目までを、入力装置１０３によって指定することによって行う。
【００４２】
これにより、２行目及び３行目のグリッドの２列目から４列目に対応付けられた回路要素間の境界線２２２方向の整列解除が指定される。
また、１行目から３行目のグリッドが相互に整列解除されている状態で、３行目のグリッドと４行目に対応付けられた回路要素の整列解除の指定を行うと、３行目及び４行目の両グリッドに対応付けられた回路要素は、ともに整列指定されている回路要素が無くなるため、両グリッドに対応付けられた回路要素の整列が全て解除されることになる。
【００４３】
本第１の実施の形態では、マトリクス表示領域２０１において、１行目と２行目の境界領域である境界線２２１と、２行目と３行目の境界領域である境界線２２２と、３行目と４行目の境界領域である境界線２２３を、各々、１列目から４列目まで、入力装置１０３によって指定した例であり、全行、全列のグリッドに対応付けられた回路要素について、横方向の整列を解除する例である。
入力装置１０３から整列解除を指定すると、ＣＰＵ１０１は、整列解除の指定がなされたと判断して（ステップＳ５０１）、図３に示すように、マトリクス表示領域２０１における整列解除領域の境界線の表示を変えて整列解除線を表示する（ステップＳ５０２）。
【００４４】
図３のマトリクス表示領域２０１においては、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とが判別しやすいように、整列解除を指定していない境界領域である縦線は変更せずに破線で表示し、整列解除を指定した境界線は表示態様（異なる線種や異なる色等）を変えることによって整列解除を指定した境界線（整列解除線）であることを表示する。図３では、整列解除を指定した境界線２２１は太実線、境界線２２２は１点鎖線、境界線２２３は２点鎖線に変更して表示している。
【００４５】
このように、マトリクス表示領域２０１において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様で表示することにより、整列解除を指定した境界領域を容易に視認することが可能になる。
この状態で、入力装置１０３から整列解除の実行指示を行うと、ＣＰＵ１０１は、前記整列解除の実行指示に応答して（ステップＳ５０３）、入力装置１０３によって指定された複数のグリッドに対応付けられている回路要素の整列を、指定された境界領域に沿う方向に解除する。これにより、整列を解除されたグリッドに対応付けられた回路要素は、前記指定された境界領域に沿う一の方向（本実施の形態では左方向）に詰められる。
【００４６】
ＣＰＵ１０１は、表示装置１０２に、その配置表示領域２０２に、整列解除された後の状態で前記各回路要素を再配置して表示させる（ステップＳ５０４）。
整列解除後は図３に示すように、各グリッド２０３ａ〜２０３ｄに対応付けられた各回路要素は左側に詰めた状態で表示される。各グリッド２０３ａ〜２０３ｄ内の各回路要素は、自身の配設されているグリッド２０３ａ〜２０３ｄ内の他の回路要素と所定の位置関係を保って、当該グリッド２０３ａ〜２０３ｄ内における所定方向側（本実施の形態では左側及び下側）に整列した状態で配置される。
【００４７】
また、各グリッド２０４ａ〜２０４ｄに対応付けられた各回路要素は左側に詰めた状態で表示される。各グリッド２０４ａ〜２０４ｄ内の各回路要素は、自身の配設されているグリッド２０４ａ〜２０４ｄ内の他の回路要素と所定の位置関係を保って、当該グリッド２０４ａ〜２０４ｄ内における所定方向側（本実施の形態では左側及び下側）に整列した状態で配置される。
【００４８】
また、各グリッド２０５ａ〜２０５ｄに対応付けられた各回路要素は左側に詰めた状態で表示される。各グリッド２０５ａ〜２０５ｄ内の各回路要素は、自身の配設されているグリッド２０５ａ〜２０５ｄ内の他の回路要素と所定の位置関係を保って、当該グリッド２０５ａ〜２０５ｄ内における所定方向側（本実施の形態では左側及び下側）に整列した状態で配置される。
【００４９】
また、境界線２１５に沿った整列解除の指定により、グリッド２０６ａ〜２０６ｄもグリッド２０５ａ〜２０５ｄとの境界線２１５方向の整列が解除されると共に、いずれのグリッドとも横方向に整列指定されていないため、各グリッド２０６ａ〜２０６ｄに対応付けられた各回路要素は左側に詰めて表示される。各グリッド２０６ａ〜２０６ｄ内の各回路要素は、自身の配設されているグリッド２０６ａ〜２０６ｄ内の他の回路要素と所定の位置関係を保って、当該グリッド２０６ａ〜２０６ｄ内における所定方向側（本実施の形態では左側及び下側）に整列した状態で配置される。
【００５０】
これにより、図３に示すように、各グリッド２０３ａ〜２０６ｄに対応付けられた回路要素の整列が解除されたことによって、各グリッド２０３ａ〜２０６ｄ内の回路要素は他のグリッド２０３ａ〜２０６ｄ内の回路要素に対して、境界領域である境界線２１３、２１４、２１５に沿う方向（横方向）の整列が解除され、一方側（図３の例では左方側）に空間をつめた位置に表示される。これにより、デッドスペースを削減した状態で回路要素の配置が表示される。
縦方向（縦方向境界線２１０〜２１２に沿う方向）の整列は解除されていないため、横方向境界線２１３〜２１５は存続し、各回路要素は縦方向の整列が維持さる。
【００５１】
配置表示領域２０２において、整列解除の指定がされたグリッド間の境界領域と、整列解除の指定がされていないグリッド間の境界領域とを異なる態様（異なる線種や異なる色）で表示するように構成することにより、整列解除を指定した境界領域を容易に視認することが可能になる。図３では、マトリクス表示領域２０１と同じように、整列解除を行った境界領域である境界線２１３は太実線、境界線２１４は１点鎖線、境界線２１５は２点鎖線によって表示している。
【００５２】
次に、本発明の第２の実施の形態について説明する。
前記第１の実施の形態では、回路要素の整列処理をデフォルトに設定することにより、最初のレイアウト実行処理を行ったときに各グリッドに対応付けられた回路要素が相互に整列するように構成し、必要に応じて前記整列を解除するように構成したが、本第２の実施の形態では、回路要素の整列解除をデフォルトに設定することにより、最初のレイアウト実行処理を行ったときに各回路要素が整列しないように構成し、必要に応じて、前記回路要素の整列を指定して実行するように構成している。
【００５３】
図６及び図７は、本発明の第２の実施の形態に係る集積回路設計装置の処理を示すフローチャートであり、図４及び図５と同一処理部分には同一符号を付している。
本第２の実施の形態のブロック図は、図１と同一であるが、入力装置１０３は、回路要素を整列させるグリッドを指定する整列指定手段として機能し、表示装置１０２におけるマトリクス表示領域において、整列を指定するグリッドとグリッド間の境界領域を指定することによって前記境界領域に沿う方向の前記両グリッドに対応付けられた回路要素の整列を指定するように機能する。
【００５４】
また、ＣＰＵ１０１は、整列指定手段としての入力装置１０３によって指定されたグリッドに対応付けられた回路要素を整列させる整列手段として機能する。
また、表示装置１０２は、複数のグリッドをマトリクス状に表示すると共に回路要素を対応付けて指定された各グリッド内に表示するマトリクス表示領域と、前記各グリッドに指定された回路要素の配置を表示する配置表示領域とを有し、前記配置表示領域に、前記整列手段によって整列された後の状態で前記各回路要素を表示するように機能する。
【００５５】
以下、図１〜図３、図６及び図７を参照して、主として、前記第１の実施の形態と相違する部分についての動作を説明する。
前記第１の実施の形態における処理ステップＳ４０１〜Ｓ４０４と同様にして、各グリッド内に配置する回路要素を、各グリッドに対応付けて入力した後、入力装置１０３からレイアウトの実行指示を行うと、ＣＰＵ１０１は、入力装置１０１からの前記レイアウト実行処理に応答して（ステップＳ４０５）、前記設計情報（ネットリスト情報記憶部１０６に記憶されたネットリスト情報、回路要素形状情報記憶部１０７に記憶された回路要素形状情報、グリッド情報記憶部１０８に記憶されたグリッド情報及び制約情報記憶部１０９に記憶された制約情報）を用いて、レイアウトの算出処理を実行し、表示装置１０２に集積回路のレイアウトを表示させるよう制御する（ステップＳ６０１）。
【００５６】
このとき、ＣＰＵ１０１は、入力装置１０１からの前記レイアウト実行処理に応答して、一のグリッドに対応付けられた回路要素と他のグリッドに対応付けられた回路要素を、相互に整列させないように処理するよう初期設定（デフォルト）されているため、各回路要素は非整列状態でレイアウト表示される。表示装置１０２の配置表示領域２０２には、各グリッド２０３ａ〜２０６ｄ内に前記指定された回路要素の形状及び位置を示すレイアウトが非整列状態で表示される。
【００５７】
非整列状態から、所望のグリッド内に配設された回路要素の整列を行って、少ないデッドスペースで整列させるときの処理を説明する。
整列させる回路要素の指定を行う場合、図２のマトリクス表示領域２０１において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定する。
【００５８】
即ち、マトリクス表示領域２０１において、入力装置１０３によって、整列を指定する回路要素が対応付けられているグリッドとグリッド間の境界領域に整列指定線を設定して整列を指定することにより、前記境界領域（換言すれば整列指定線）に沿う方向の前記両グリッドに対応付けられた回路要素の整列を指定する。
入力装置１０３から整列を指定すると、ＣＰＵ１０１は、整列の指定がなされたと判断して（ステップＳ７０１）、図３の場合と同様にして、マトリクス表示領域２０１における整列指定領域の境界線の表示を変える（ステップＳ７０２）。
【００５９】
このように、マトリクス表示領域２０１において、整列の指定がされたグリッド間の境界領域と、整列の指定がされていないグリッド間の境界領域とを異なる態様で表示することにより、整列を指定した境界領域を容易に視認することが可能になる。
この状態で、入力装置１０３から整列処理の実行指示を行うと、ＣＰＵ１０１は、前記整列処理の実行指示に応答して（ステップＳ７０３）、入力装置１０３によって指定されたグリッドに対応付けられた各回路要素間の整列を、指定された境界領域に沿う方向に行う。
【００６０】
このとき、整列は、前記第１の実施の形態と同様に、整列指定されたグリッドに対応付けられた回路要素の集合体のうちの前記境界領域方向に占める大きさが最も大きい集合体に整列する。
ＣＰＵ１０１は、表示装置１０２に、その配置表示領域２０２に、整列された後の状態で前記各回路要素を表示させる（ステップＳ７０４）。
【００６１】
したがって、表示装置１０２には、回路要素を整列表示する場合、同行のグリッドに対応付けて指定された回路要素は、グリッドに対応付けられた回路要素の集合体のうちの整列指定された境界領域方向に占める大きさが最も大きい回路要素の集合体が対応付けられたグリッドの回路要素に整列配置して表示される。
また、同列のグリッドに対応付けられた回路要素についても同様に、表示装置１０２には、同列のグリッドに対応付けて指定された回路要素は、整列指定された境界領域方向に占める大きさが最も大きい回路要素の集合体が対応付けられたグリッドの回路要素に整列配置して表示される。
【００６２】
これにより、表示装置１０２の配置表示領域２０２には、整列を指定した回路要素に対応付けられたグリッド内に空白を挿入したような状態に回路要素を整列させた表示が行われ、他のグリッドの回路要素は非整列状態で表示される。これにより、デッドスペースを抑制した状態で整列表示が行われる。
尚、この場合にも、前記第１の実施の形態と同様に、表示装置１０２は、配置表示領域２０２において、整列解除の指定がされた（換言すれば、整列の指定がなされていない）グリッド間の境界領域と、整列解除の指定がされていない（換言すれば、整列の指定がなされている）グリッド間の境界領域とを異なる態様で表示するように構成することができる。
【００６３】
以上述べたように、前記第１の実施の形態に係る集積回路設計装置は、表示装置１０２のマトリクス表示領域２０１において、グリッド間の境界領域（例えば、境界線）を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列解除を指定し、ＣＰＵ１０１は、指定された回路要素について、前記境界領域に沿う方向の整列を解除し、表示装置１０３には、その配置表示領域２０２に、整列解除された後の状態で回路要素が表示されるように構成されている。
【００６４】
例えば、表示装置のマトリクス表示領域２０１において、整列解除を指定する回路要素に対応付けられたグリッドとグリッド間の境界線２２１〜２２３を指定することによって境界線２２１〜２２３（配置表示領域２０２の境界線２１３〜２１５に対応する。）に沿う方向の前記各グリッドに対応付けられた回路要素の整列解除を指定するように構成している。
【００６５】
また、前記第２の実施の形態に係る集積回路設計装置は、表示装置１０２のマトリクス表示領域２０１において、グリッド間の境界領域を指定することによって、前記指定した境界領域の両側のグリッドに対応付けられた回路要素について、前記境界領域に沿う方向の整列を指定し、ＣＰＵ１０１は、指定された回路要素について、前記境界領域に沿う方向に整列実行し、表示装置１０３には、その配置表示領域２０２に、整列した後の状態で回路要素が表示されるように構成されている。
【００６６】
ここで、表示装置１０２は、回路要素を整列表示する場合、整列指定されたグリッド内の複数の回路要素の集合体のうちの指定した境界領域方向に占める大きさが最も大きい回路要素の集合体に整列配置して表示するようにしている。
このように、表示装置１０２の表示画面上で、集積回路を構成する回路要素の整列解除又は整列指定を、グリッド単位で指定することによって、容易に回路要素の整列解除又は整列指定を行うことが可能になる。したがって、容易に回路要素の配置を変更することが可能になり又、容易にデッドスペースを削減して回路要素を配置表示することが可能になるという効果を奏する。
また、本実施の形態に係るプログラムをコンピュータが実行することにより、前記集積回路設計装置を構築することが可能になる。
【００６７】
尚、最初にレイアウト実行処理を行う場合のデフォルトを、各回路要素を整列するようにレイアウト実行処理して表示するか、あるいは、各回路要素を整列しないようにレイアウト実行処理して表示するかのいずれかに選択できるように構成することも可能である。
例えば、表示装置１０２に前記デフォルトを選択できるような表示（デフォルト選択表示）を設けておき、入力装置１０３によって、デフォルトを選択するように構成してもよい。
【００６８】
ＣＰＵ１０１は、入力装置１０３によって選択されたデフォルトになるように、最初のレイアウト実行処理を行って、その処理結果のレイアウトを表示装置１０２に表示させる。この場合、入力装置１０３はデフォルト選択手段を構成し、ＣＰＵ１０１は、前記デフォルト選択手段によって選択されたデフォルトになるように、最初のレイアウト実行処理を行う処理手段を構成することになる。
【産業上の利用可能性】
【００６９】
アナログ半導体集積回路やデジタル半導体集積回路の設計を行う集積回路設計装置に適用可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の第１の実施の形態に係る集積回路設計装置のブロック図である。
【図２】本発明の第１の実施の形態に係る集積回路設計装置の動作説明図である。
【図３】本発明の第１の実施の形態に係る集積回路設計装置の動作説明図である。
【図４】本発明の第１の実施の形態に係る集積回路設計装置の動作を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る集積回路設計装置の動作を示すフローチャートである。
【図６】本発明の第１の実施の形態に係る集積回路設計装置の動作を示すフローチャートである。
【図７】本発明の第１の実施の形態に係る集積回路設計装置の動作を示すフローチャートである。
【符号の説明】
【００７１】
１０１・・・整列解除手段、整列手段を構成するＣＰＵ
１０２・・・表示手段を構成する表示装置
１０３・・・整列解除指定手段、整列指定手段を構成する入力装置
１０４・・・記憶手段を構成するメモリ
１０５・・・記憶手段を構成する磁気ディスク記憶装置
１０６・・・ネットリスト情報記憶部
１０７・・・回路要素形状情報記憶部
１０８・・・グリッド情報記憶部
１０９・・・制約情報記憶部
２００・・・グリッド定義表示領域
２０１・・・マトリクス表示領域
２０２・・・配置表示領域
【図１】
0004771862.tif 000002
【図２】
0004771862.tif 000003
【図３】
0004771862.tif 000004
【図４】
0004771862.tif 000005
【図５】
0004771862.tif 000006
【図６】
0004771862.tif 000007
【図７】
0004771862.tif 000008