(57)【要約】【課題】集積回路設計においてセルの配置や調整を行う場合に、実装対象の選択ミスの発生を抑制し、集積回路設計作業の効率性を向上させる。【解決手段】本発明の集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法は、論理ページから範囲を指定して選択された論理グループの同一性及び類似性を判定して論理グループを分類し、各論理グループ対応する実装パターンを予め生成しておき、部類された論理グループから選択された一の論理グループに対応する実装パターンを実装図面上に配置することによって実装設計を可能とし、さらに追加配置する実装パターンが既配置の実装パターンと領域が重複する場合に、動的に実装パターンを変形させることによって、作業負担を軽減し、正確かつ効率的に集積回路設計を行うことを可能とした。【選択図】        図１５−２
2008033555.tif 000002
【特許請求の範囲】
【請求項１】
論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する処理をコンピュータに実行させる集積回路設計支援プログラムであって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手順と、
前記論理グループ作成手順によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手順と、
前記同一類似論理グループ抽出手順により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手順と
をコンピュータに実行させることを特徴とする集積回路設計支援プログラム。
【請求項２】
前記論理グループ作成手順により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手順をコンピュータにさらに実行させることを特徴とする請求項１に記載の集積回路設計支援プログラム。
【請求項３】
前記実装パターン作成手順は、前記論理グループの実装パターンを、前記セルの配置スペース及び該セル間の配線性に基づいて作成することを特徴とする請求項１又は２に記載の集積回路設計支援プログラム。
【請求項４】
前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手順をコンピュータにさらに実行させることを特徴とする請求項１、２又は３に記載の集積回路設計支援プログラム。
【請求項５】
前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手順をコンピュータにさらに実行させることを特徴とする請求項４に記載の集積回路設計支援プログラム。
【請求項６】
論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援装置であって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手段と、
前記論理グループ作成手段によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手段と、
前記同一類似論理グループ抽出手段により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手段と
を備えたことを特徴とする集積回路設計支援装置。
【請求項７】
前記論理グループ作成手段により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手段をさらに備えたことを特徴とする請求項６に記載の集積回路設計支援装置。
【請求項８】
前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手段をさらに備えたことを特徴とする請求項６又は７に記載の集積回路設計支援装置。
【請求項９】
前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手段をさらに備えたことを特徴とする請求項８に記載の集積回路設計支援装置。
【請求項１０】
論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援方法であって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成工程と、
前記論理グループ作成工程によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出工程と、
前記同一類似論理グループ抽出工程により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成工程と
を含んだことを特徴とする集積回路設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する処理をコンピュータに実行させる集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法に関し、特に、手作業でセルの配置や調整を行う場合に、実装対象の選択ミスの発生を抑制し、集積回路設計作業の効率性を向上させる集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法に関する。
【背景技術】
【０００２】
従来から、ＬＳＩ（Large Scale Integration）などの大規模かつ複雑な集積回路の設計に際して、この設計を支援する集積回路設計支援プログラムが利用されている。かかる集積回路設計支援プログラムは、集積回路を構成する論理ゲートであるセルを自動的に配置し、セル同士を自動的に結線するという自動設計により、効率的な集積回路設計を可能としている。
【０００３】
ところで、近年、ＬＳＩなどの集積回路は、より複雑な処理をより高速に行うことが要求されてきているが、このような集積回路設計支援プログラムにより自動設計された集積回路は、要求される性能を発揮できない。このために、例えば、特許文献１に示すように、自動設計した集積回路のパターンを手作業で修正することを可能とする集積回路設計支援のためのレイアウト・エディタがある。
【０００４】
このように、集積回路の設計においては、手作業による設計が依然として重要であるため、例えば、特許文献２には、かかる手作業による設計を支援するために、回路動作を把握しやすいように、通常は幾つもの階層に階層化される回路パターンを一つの平面にフラットに表示して視認性の向上を図り、併せて、同一の構造を持つセルパターンのコピーを作成して作業の冗長性を省くことが可能な集積回路設計のためのレイアウト作成方法が開示されている。
【０００５】
また、特許文献３には、手作業で作成した回路図面の一部をマクロ化し、このマクロ化されたマクロシンボルを使用して上位階層図面を作成することを可能とし、手作業で作成した回路図面の一部とこれを用いて作成した上位階層図面との不一致という人為的なミスを低減する図面エディタが開示されている。さらに、特許文献４には、予め登録されている登録ブロックの配線情報などの基板仕様と設計対象である回路ブロックの基板仕様との差異を把握し、回路ブロックが要求される基板仕様に合わせて登録ブロックの基板仕様を変換して設計対象の回路ブロックの配線情報などの基板仕様の設定に利用することが可能な基板設計支援装置が開示されている。
【０００６】
【特許文献１】特開平３−８８０７３号公報
【特許文献２】特開２００４−３０３０８号公報
【特許文献３】特開平５−１６５９０８号公報
【特許文献４】特開２００１−２５６２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１〜４に代表される従来技術では、集積回路の設計において手作業でセルの配置や調整を行う場合に、配置対象セルを一覧から選択させていた。このため、膨大なセルについて論理接続を確認することは、依然として多大な工数を発生させ、特に設計作業に何段階もの工程を必要とする場合に、下流の工程まで進んだ段階で上流の工程における作業に修正が発生すると、大きな手戻りが発生してしまうというという問題点があった。
【０００８】
具体的には、特許文献１〜４に代表される従来技術では、同一の構造を持つセルパターンのコピー又はマクロを作成してこのコピー又はマクロを利用することにより作業の冗長性を省くことは可能であっても、手作業でセルの配置や調整を行う場合に、配置対象セルを一覧から選択させるために、選択ミスが発生しかねず、作業の効率性を低下させかねなかった。
【０００９】
なお、特許文献１に代表される従来技術では、手作業でセルの配置や調整を行う場合に、論理図面を表示して論理接続を把握しながら実装対象の選択を可能としているが、表示される論理図面は１つのみであった。
【００１０】
本発明は、上記問題点（課題）を解消するためになされたものであって、ＬＳＩなどの集積回路設計において手作業でセルの配置や調整を行う場合に、複数の論理図面を表示して論理接続を把握しながら実装対象の選択を可能として実装対象の選択ミスの発生を抑制し、集積回路設計作業の効率性を向上させることができる集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した問題を解決し、目的を達成するため、本発明は、論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する処理をコンピュータに実行させる集積回路設計支援プログラムであって、前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手順と、前記論理グループ作成手順によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手順と、前記同一類似論理グループ抽出手順により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手順とをコンピュータに実行させることを特徴とする。
【００１２】
また、本発明は、上記発明において、前記論理グループ作成手順により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手順をコンピュータにさらに実行させることを特徴とする。
【００１３】
また、本発明は、上記発明において、前記実装パターン作成手順は、前記論理グループの実装パターンを、前記セルの配置スペース及び該セル間の配線性に基づいて作成することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手順をコンピュータにさらに実行させることを特徴とする。
【００１５】
また、本発明は、上記発明において、前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手順をコンピュータにさらに実行させることを特徴とする。
【００１６】
また、本発明は、論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援装置であって、前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手段と、前記論理グループ作成手段によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手段と、前記同一類似論理グループ抽出手段により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手段とを備えたことを特徴とする。
【００１７】
また、本発明は、上記発明において、前記論理グループ作成手段により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手段をさらに備えたことを特徴とする。
【００１８】
また、本発明は、上記発明において、前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手段をさらに備えたことを特徴とする。
【００１９】
また、本発明は、上記発明において、前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手段をさらに備えたことを特徴とする。
【００２０】
また、本発明は、論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援方法であって、前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成工程と、前記論理グループ作成工程によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出工程と、前記同一類似論理グループ抽出工程により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成工程とを含んだことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、論理図面からセル同士の接続関係を把握しながら実装対象を選択可能とするため、実装対象の選択ミスを防止し、集積回路設計の工数を削減することができるという効果を奏する。また、論理グループを自動で同一性又は類似性を有する同一類似論理グループに分類するため、作業負担なくして正確に論理グループを選択することができるという効果を奏する。また、論理グループの実装パターンを自動で作成するため作業負担を無くし、集積回路設計の作業効率を向上させるという効果を奏する。また、作成された実装パターンを流用することによって、効率的に集積回路設計を行うことができるという効果を奏する。
【００２２】
また、本発明によれば、同一又は類似の論理グループを一覧表示するため、容易に実装対象を認識して正確に選択可能とし、集積回路設計の効率化を図ることができるという効果を奏する。
【００２３】
また、本発明によれば、自動的に効率的な実装パターンを作成することができるという効果を奏する。
【００２４】
また、本発明によれば、元の形状を維持したままでは実装図面に配置できない実装パターンを、その形状を変形することによって、柔軟に配置可能とすることができるという効果を奏する。また、変形に際し、実装パターンの配線性を考慮するので、効率的な配線長とすることが可能となるという効果を奏する。
【００２５】
また、本発明によれば、既に配置済みの実装パターンであっても、操作によって配置位置を変化させることができ、この配置位置の変化に際して元の形状を維持したままでは実装図面に配置できない実装パターンを、その形状を変形することによって、柔軟には位置可能とすることができるという効果を奏する。また、変形に際し、実装パターンの配線性を考慮するので、効率的な配線長とすることが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照し、本発明の集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法に係る実施例を詳細に説明する。なお、以下の実施例では、集積回路をＬＳＩに適用した場合を示すこととするが、これに限られず、その他の集積回路にも適用可能である。
【００２７】
先ず、本発明に係る実施例を説明する前に、本発明の特徴について説明する。図１−１及び図１−２は、本発明の特徴を説明するための説明図である。本発明の第１の特徴は、図１−１に示すように、マクロの一種であるLatchが２行４列に配置された実装パターンＡ及びLatchが８行１列に配置された実装パターンＢなどの、複数のセル（論理ゲート）組み合わせたマクロに対応する実装パターンを予め作成しておく。本発明の集積回路設計支援装置の所定の表示部におけるＧＵＩ（Graphical User Interface）に、前述のマクロ若しくは該マクロに対応する実装パターンの視覚的な一覧が表示される。そして、該ＧＵＩの一覧表示からマクロ若しくは実装パターンを選択してインスタンス（マクロが具体的に使用される実態）を作成し、このインスタンスに対応する実装パターンを、形状を変化させず手動でそのまま実装図面に配置していくことを可能とする。
【００２８】
なお、予め作成されている実装パターンは、入力図面から選択された各論理グループが一致性又は類似性に従って分類された一致類似論理グループに含まれる各論理グループに応じて作成されたマクロの配置パターンである。
【００２９】
また、本発明の第２の特徴は、図１−２に示すように、３行４列にセル（図中では“BLK”（Blockの略）と示す。BLK1〜BLK12が存在する）が配置されたマクロを選択し、この選択されたマクロのインスタンス対応する実装パターンが、実装パターンの配置位置がマウスポインタ位置Ａである場合とマウスポインタ位置Ｂである場合とで、既配置実装パターンとの図形的重複を避ける形で形状を変化させることを可能とする。即ち、マウスポインタ位置のドラッグ又は変化に応じて、配置される実装パターンの形状がダイナミックにカスタマイズされる。
【実施例】
【００３０】
以下に図２−１〜図１５−２を参照して、本発明に係る実施例を説明する。先ず、図２−１〜図２−３を参照して、論理ページからセルが選択される概要について説明する。なお、論理ページとは、実施例の集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法における入力図面情報である論理図面を構成する、ページ単位に分かれた設計図面である。また、論理グループとは、範囲を選択して複数のセルが組にされたマクロである。
【００３１】
図２−１は、複数の論理ページの全セルを論理グループとして選択する概要を説明するための説明図である。同図に示すように、実施例の集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法では、先ず第１番目に、１階層にフラットで表現される複数の論理ページの全てを論理グループとして選択する処理を行うことになる。若しくは、複数階層で表現される複数の論理ページの全てを論理グループとして選択する処理を行うことになる。
【００３２】
なお、図２−２に示すように、単一論理ページの部分セル（単一論理ページ内の部分的なセルの組み合わせ）を論理グループとして選択することとしてもよい。また、図２−３に示すように、単一論理ページの全セルを論理グループとして選択することとしてもよい。図２−１〜図２−３に示すようにして、論理グループが選択されることとなる。
【００３３】
次に、論理図面と論理ページとの関係、及び複数の論理ページ同士が配線によって結線される概要について説明する。図３は、論理図面が複数の論理ページからなり、該複数の論理ページが結線される概要を説明するための説明図である。同図の「論理図面が複数の論理ページからなる」に示すように、論理図面は、論理ページ名：Ａ０１、論理ページ名：Ａ０２及び論理ページ名：Ａ０３の３つの論理ページからなる。
【００３４】
また、「各論理ページ間の結線イメージ」に示すように、論理図面上における位置を特定するために該論理図面上に設定されている実装図面のＸ−Ｙ平面において、各論理ページが何れの位置に配置されているか、及び各論理ページの何れのセルが、他の論理ページの何れのセルと結線されているかが判別可能となっている。ここで、各論理ページの配置位置は、一例として、実装図面のＸ−Ｙ平面に向かって各論理ページの最も左下の区画が位置するＸ−Ｙ座標によって表現されるものとする。図３によれば、論理ページ名：Ａ０１の論理ページは（１，１）に配置されており、論理ページ名：Ａ０２の論理ページは（６，１）に配置されており、論理ページ名：Ａ０１の論理ページは（６，−３）に配置されていることが分かる。また、各論理ページの各セルの結線状況は、図示するようになっている。
【００３５】
ところで、各論理図面は、それぞれ当該論理図面の属性を特定するための論理図面情報を有している。図４は、論理図面が有する論理図面情報に含まれる情報を説明するための説明図である。同図に示すように、論理図面が有する論理図面情報に含まれる情報は、“論理図面名”と、“論理ページ名”と、“ロケーション情報”と、“Ｉ／Ｏ情報”と、“インスタンス情報”と、“ピン情報”と、“ネット情報”とを含む。
【００３６】
“論理図面名”は、論理図面を特定するために該論理図面に付された名称である。“論理ページ名”は、上位の論理図面に従属する下位の論理ページを特定するための名称が列挙して格納されたものである。“ロケーション情報”は、各論理ページが前述の実装図面のＸ−Ｙ平面上で位置するＸ−Ｙ座標を示す。“Ｉ／Ｏ情報”は、対応する論理ページのインプット及びアウトプットを含む他の論理ページとの接続関係に関する情報であり、接続される論理ページを示すページ情報、該ページ情報で特定される論理ページの、実装図面のＸ−Ｙ平面上での配置位置を示すロケーション情報等を含む。
【００３７】
“インスタンス情報”は、個々のセルをユニークに管理する情報であり、インスタンスを特定するためのページ情報、個々のセルの実装図面のＸ−Ｙ平面上での配置位置を示すロケーション情報、当該インスタンスに含まれるマクロの情報を示すマクロ情報、各セルの接続ピンの個数や位置を特定するためのピン情報等を含む。
【００３８】
“ピン情報”は、当該論理ページ内に含まれるセルのうち、他の論理ページとの接続インターフェースとなるセルが有するピンの個数や位置を特定するための情報であり、ピンの名称であるピン名、接続する他の論理ページのインスタンスを特定するためのインスタンス情報、接続される他の論理ページのピンとの接続関係の情報を示す接続ネット情報等を含む。また、“ネット情報”は、接続される他の論理ページとの接続関係の情報を示す情報である。
【００３９】
このように、論理図面が有する論理図面情報に含まれる情報は、各“論理図面名”に含まれる論理ページ毎に“ロケーション情報”、“Ｉ／Ｏ情報”、“インスタンス情報”、“ピン情報”、“ネット情報”の各情報が対応付けられており、論理グループ単位に同様の情報が繰り返し記憶されるものである。
【００４０】
次に、図５−１及び図５−２を参照して、実施例の集積回路設計支援プログラム、集積回路設計支援装置及び集積回路設計支援方法で選択された各論理グループの同一性及び類似性の判定について説明する。図５−１は、同一論理グループと判定される論理グループの例を示す図である。同図に示すように、論理グループのうち代表となる代表論理グループを定め、この代表論理グループと、ロケーション、接続関係、マクロ種別、接続先が一致するか否かを判定して、同一論理グループか否かを判定する。同図に示す、代表論理グループと完全一致する論理グループと判定される論理グループは、ロケーション、接続関係、マクロ種別及び接続先が全て一致するものである。
【００４１】
また、図５−２は、類似論理グループと判定される論理グループの例を示す図である。同図に示すように、代表論理グループと、ロケーション、接続関係、マクロ種別、接続先のうちの一部が不一致であるか否かを判定して、類似論理グループか否かを判定する。同図に示すように、類似論理グループを判定される論理グループには、単一不一致のものと複合不一致のものがある。
【００４２】
代表論理グループと単一不一致である論理グループと判定される論理グループは、ロケーションのみの不一致、接続関係のみの不一致、マクロ種別のみの不一致又は接続先のみの不一致がある。
【００４３】
また、代表論理グループと複合不一致である論理グループと判定される論理グループは、ロケーション及び接続関係の不一致、ロケーション及びマクロ種別の不一致、又は、マクロ種別及び接続先の不一致がある。上記のような条件を満たすと、代表論理図面とは完全一致ではなくとも、該代表論理図面と類似性を有する類似論理グループと判定されることとなる。
【００４４】
このように、代表論理図面とは完全一致ではなくとも、一部の条件のみが異なる論理グループを類似論理グループとして代表論理グループと同一に分類することによって、論理グループのバリエーションを整理して論理グループの管理及び取り扱いを容易にすることを可能にする。
【００４５】
次に、実装パターン情報に含まれる情報について説明する。論理グループから配線性、セルの配置スペースの効率性、パターンの全体形状を考慮して、一つの論理グループに対応して少なくとも一種類の実装パターンが作成されるが、実装パターン情報は、これら作成された実装パターンの属性を示す情報である。図６は、実装パターン情報に含まれる情報を説明するための説明図である。ここで、実装パターンは、マクロを実装図面に配置する場合の実体であるインスタンスによって構成される。
【００４６】
図６に示すように、実装パターン情報に含まれる情報は、“論理グループ名称”と、“実装パターン名称”と、“配置位置”とを含む。“論理グループ名称”は、実装パターンが作成される元となった論理グループを特定するための論理グループの名称である。
【００４７】
“実装パターン名称”は、上位の当該論理グループに基づいて作成された実装パターンに付与された名称である。“配置位置”は、インスタンスの配置位置であり、配下の情報に“（インスタンスの）No.”と、“座標”と、“インスタンス名”と、“接続先インスタンスNo.”と、“セル間距離”とがある。
【００４８】
“（インスタンスの）No.”は、当該インスタンスを特定する識別情報である。“座標”は、当該インスタンスが配置される、実装図面のＸ−Ｙ平面上の座標を表す。“インスタンス名”は、配下の情報に“ページ名”と、“ロケーション名”とを有する。“ページ名”は、インスタンスに付与された、該インスタンスを特定する名称である。“ロケーション名”は、当該インスタンスが配置される位置を示す情報であり、一例としては、前述の“座標”と同一であってもよい。なお、“インスタンス名”は、“ページ名”及び“ロケーション名”の組み合わせでユニークである。
【００４９】
接続先インスタンスNo.は、当該インスタンスをドライバ側とするレシーバ側の接続先インスタンスの“No.”を示す。“セル間距離”は、前述の“接続先インスタンスNo.”で接続が特定されるインスタンスであるセル同士の間のそれぞれの中心の距離を示す。
【００５０】
このように、実装パターン情報に含まれる情報は、各“論理グループ”に含まれる実装パターン毎に“配置位置”の各情報が対応付けられており、論理グループ単位に同様の情報が繰り返し記憶されるものである。
【００５１】
次に、論理グループを構成するインスタンスの情報を説明する。図７は、論理グループを構成するインスタンスの情報を説明するための説明図である。同図に示すように、「各インスタンスの配置位置」は、実装図面のＸ−Ｙ平面における原点からの座標によって示される。この具体例は、図６を参照して説明した、各インスタンスの“配置位置”の“座標”である。
【００５２】
また、「接続関係のある論理グループ内のインスタンス間のセル間の距離情報」の具体例は、図６を参照して説明した、各インスタンスの“配置位置”の“セル間距離”である。
【００５３】
なお、本実施例では、実装パターンのインスタンスの各セルの接続関係における距離情報をセル間距離としたが、これに限らず、距離情報を各セルが有するピンのピン間距離としてもよい。このようにすると、接続関係の距離情報をピン同士の接続という、より実態に即した情報とすることができ、より正確な距離情報とすることが可能となる場合がある。
【００５４】
次に、論理グループ情報に含まれる情報について説明する。図８は、論理グループ情報に含まれる情報を説明するための説明図である。同図に示すように、論理グループ情報は、“論理グループ名称”と、“全セル数”と、“グループ内インスタンス情報”と、“ネット情報”と、“階層情報”とを含む。
【００５５】
図８に図示するように、論理グループ１０の外部のインスタンスであるインスタンス３３は、ピン（１）及び（２）を有する。論理グループ１０は、インスタンス１１、１２及び１３を有するが、インスタンス１１は接続ピン（１）及び（２）を、インスタンス１２は接続ピン（１）及び（２）を、インスタンス１３は接続ピン（１）及び（２）をそれぞれ有する。また、論理グループ１０の外部のインスタンスであるインスタンス３１は、ピン（１）及び（２）を、同様に論理グループ１０の外部のインスタンスであるインスタンス３２は、ピン（１）を有する。この論理グループ、インスタンス及びピンの状況において、図８の図表を参照する。
【００５６】
“論理グループ名称”は、論理グループに付与された当該論理グループを特定するための名称である。“全セル数”は、当該論理グループに含まれる全てのセルの数を示す情報である。“グループ内インスタンス情報”は、当該論理グループに含まれるインスタンスが列挙して格納される。“ネット情報”は、各インスタンスのピン同士の接続関係に付された識別情報である。
【００５７】
例えば、図８の図表を参照すると、「インスタンス１１」には“ネット情報”として“Ａ”が対応付けられているが、これは、インスタンス３３のピン（１）から論理グループ１０のインスタンス１１のピン（１）へ向かう接続関係「ネット情報Ａ」を指している。また、「インスタンス１２」には“ネット情報”として“Ｂ”が対応付けられているが、これは、論理グループ１０内においてインスタンス１１のピン（２）からインスタンス１２のピン（１）へ向かう接続関係「ネット情報Ｂ」を指している。
【００５８】
さらに、「インスタンス１３」には“ネット情報”として“Ｃ”が対応付けられているが、これは、論理グループ１０のインスタンス１２のピン（２）からインスタンス１３のピン（１）へ向かう接続関係「ネット情報Ｃ」を指している。なお、「ネット情報Ｃ」によれば、インスタンス１２のピン（２）からインスタンス３２のピン（１）にも接続関係が存在することが分かる。
【００５９】
“階層情報”では、当該論理グループの下位の階層に属する論理グループの名称が列挙して格納されている。
【００６０】
このように、論理グループ情報に含まれる情報は、各“論理グループ”毎に“全セル数”、“グループ内インスタンス情報”、“ネット情報”、“階層情報”の各情報が対応付けられており、論理グループ単位に同様の情報が繰り返し記憶されるものである。
【００６１】
次に、論理グループから実装パターンを生成する概要について説明する。図９は、論理グループから実装パターンを生成する概要を説明するための説明図である。同図に示すように、「論理グループ」に示すように、３行５列の区画に、図示のように各セルが配置されている。即ち、“ENOR”から“NAND”へ、該“NAND”から“Latch”へ入力があると同時に、“OR”からさらに別の“NAND”へ、該“NAND”から前述の“Latch”へ入力があり、該“Latch”からさらに別の“NAND”接続があって、外部の論理グループへ接続可能となっている。
【００６２】
上記の「論理グループ」に対して、「論理グループの表示位置に合わせて生成される実装パターン」は、論理グループにおける位置関係のみに着目して単純に各セルを配置した場合である。また、「配置スペース及び配線性を考慮して生成される実装パターン」は、各セルのセル間距離が所定値以下となる配置方法から、全セルの配置スペースが最小となる実装パターンを選択して生成される場合である。若しくは、「配置スペース及び配線性を考慮して生成される実装パターン」は、全セルの配置スペースが所定値以下となる実装パターンから各セルのセル間距離が最小となる配置方法選択して生成される場合であってもよい。
【００６３】
なお、論理グループに対応して作成された実装パターンは、実施例の後述の集積回路設計支援装置１００に接続される表示部１１０におけるＧＵＩにおいて、該実装パターンの選択のために、視覚的に一覧表示される。若しくは、表示部１１０におけるＧＵＩ（Graphical User Interface）において、該実装パターンの選択のために、対応する論理グループが視覚的に一覧表示される。
【００６４】
次に、実施例の集積回路設計支援装置の構成について説明する。図１０は、集積回路設計支援装置の構成を示す機能ブロック図である。同図に示すように、集積回路設計支援装置１００は、論理グループ作成処理部１０１と、論理グループ一致性類似性判定処理部１０２と、実装パターン作成処理部１０３と、論理グループ選択部１０４と、実装パターン配置処理部１０５と、記憶部１０６と、論理グループ情報入出力制御部１０７と、実装パターン情報入出力制御部１０８とを有する。
【００６５】
また、集積回路設計支援装置１００には、キーボードやマウスなどの入力操作を受け付けるための入力部１０９と、ディスプレイ装置など処理結果を表示するための表示部１１０とが接続されている。
【００６６】
記憶部１０６は、不揮発性の記憶装置であり、ページ図面情報ＤＢ（Data Base、以下同様）１０６ａと、論理グループ情報ＤＢ１０６ｂと、実装パターン情報ＤＢ１０６ｃと、論理グループ選択情報ＤＢ１０６ｄと、実装図面情報ＤＢ１０６ｅとをさらに有する。
【００６７】
ページ図面情報ＤＢ１０６ａは、集積回路の実装図面作成のための論理グループを選択させるための入力図面である論理図面のページ図面を予め記憶しておくＤＢである。記憶されているページ図面は、論理図面単位に分類されている。
【００６８】
論理グループ情報ＤＢ１０６ｂは、ページ図面から選択された論理グループが一致性及び類似性を判定して分類された論理グループを、分類に従って記憶するＤＢである。また、実装パターン情報ＤＢ１０６ｃは、一致性及び類似性を判定して分類された論理グループに含まれる各論理グループに基づいて、それぞれに対応して作成された実装パターンを記憶するＤＢである。
【００６９】
論理グループ選択情報ＤＢ１０６ｄは、実装図面作成のために選択された論理グループを特定する情報を記憶するＤＢである。論理グループ選択情報ＤＢ１０６ｄによって、何れの論理グループが実装図面作成のために選択されたかが記憶されることとなる。また、何れの論理グループが選択されて、互いの論理グループがどのような配置関係及び接続関係を有するかが記憶されることとなる。
【００７０】
実装図面情報ＤＢ１０６ｅは、論理グループが選択され、対応する実装パターンが配置及び互いに接続されて作成された実装図面の情報を記憶するＤＢである。即ち、実装図面情報ＤＢ１０６ｅには、実装パターンの配置及び接続によって表現される実装図面の情報が記憶されることとなる。
【００７１】
論理グループ作成処理部１０１は、入力部１０９からの操作に応じて、ページ図面情報ＤＢ１０６ａから入力図面を読み出し、セルの選択範囲を決定して論理グループの作成を行う処理部である。論理グループ作成処理部１０１によって論理グループが作成されたならば、論理グループ一致性類似性判定処理部１０２は、論理グループ作成処理部１０１によって作成された論理グループ同士の一致性若しくは類似性を判定し、一致又は類似する論理グループに分類して名称を付与し、論理グループ情報ＤＢ１０６ｂに記憶させる。
【００７２】
なお、論理グループ一致性類似性判定部１０２によって類似と判定される論理グループの定義（ロケーション、接続関係、マクロ種別、接続先）は、入力部１０９などの外部から指定可能である。
【００７３】
論理グループ一致性類似性判定部１０２によって論理グループの一致性及び類似性が判定されたならば、実装パターン作成処理部１０３は、論理グループ情報ＤＢ１０６ｂから論理グループを読み出して、対応する実装パターンを作成する処理を行う。実装パターン作成処理部１０３により作成された実装パターンは、実装パターン情報ＤＢ１０６ｃに記憶されることとなる。
【００７４】
論理グループ選択部１０４は、入力部１０９からの操作に応じて、論理グループ情報ＤＢ１０６ｂから実装図面作成のために論理グループを選択する処理を行う。そして、論理グループが選択されたことを、該選択された論理グループを特定する情報と共に実装パターン配置処理部１０５へ通知する。また、論理グループ選択部１０４によって選択された論理グループを特定する情報、選択された論理グループの配置情報及び該選択された論理グループ同士の接続情報を、論理グループ選択情報ＤＢ１０６ｄに記憶させる。
【００７５】
実装パターン配置処理部１０５は、入力部１０９からの操作に応じて、論理グループ選択情報ＤＢ１０６ｄから選択された論理グループの情報を読み出し、該論理グループに対応する実装パターンを読み出して実装図面に配置し、互いの実装パターンを接続する処理を行う。そして、実装パターン配置処理部１０５は、実装図面に配置され互いに接続された実装パターンを、配置情報及び接続情報と共に実装図面情報ＤＢ１０６ｅに記憶させることとなる。また、実装パターン配置処理部１０５は、実装パターンが配置され互いに接続された実装図面を表示部１１０に表示させる。
【００７６】
なお、入力部１０９からの操作には、マウスクリックによる新規実装パターンの配置位置選択及び決定や、マウスドラッグによる既配置実装パターンの配置位置移動位置選択及び決定などの操作がある。
【００７７】
また、実装パターン配置処理部１０５は、実装図面情報ＤＢ１０６ｅに記憶される当該処理対象の実装図面から、既に配置されている実装パターンに関する情報を配置障害物情報として取得する。この取得によって、当該処理対象の実装図面において追加して実装パターンを配置する場合に、既に配置されている実装パターンを回避して配置することが可能となる。
【００７８】
よって、実装パターン配置処理部１０５は、入力部１０９からの操作によって実装図面上で指定される実装パターン配置位置周辺の配置障害物情報に基づいて、障害物を回避するように実装パターンを配置可能に、該実装パターンの変形処理を行うことが可能である。
【００７９】
外部記憶部２００は、集積回路設計支援装置１００の外部に接続される独立の記憶装置であり、磁気ディスク装置、光磁気ディスク装置、可搬型の磁気ディスク読み書き装置、可搬型の光磁気ディスク読み書き装置又は磁気テープ装置などである。外部記憶部２００は、論理グループ情報ＤＢ２００ａ及び実装パターン情報ＤＢ２００ｂを有する。
【００８０】
論理グループ情報ＤＢ２００ａは、少なくとも論理グループ情報ＤＢ１０６ｂの記憶内容を含む。また、論理グループ情報ＤＢ２００ａの記憶内容は、論理グループ情報ＤＢ１０６ｂに複写可能である。論理グループ情報ＤＢ１０６ｂ及び論理グループ情報ＤＢ２００ａは、論理グループ情報入出力制御部１０７を介して接続され、互いに情報をやり取りすることが可能である。
【００８１】
また、実装パターン情報ＤＢ２００ｂは、少なくとも実装パターン情報ＤＢ１０６ｃの記憶内容を含む。また、実装パターン情報ＤＢ２００ｂの記憶内容は、実装パターン情報ＤＢ１０６ｃに複写可能である。実装パターン情報ＤＢ１０６ｃ及び実装パターン情報ＤＢ２００ｂは、実装パターン情報入出力制御部１０８を介して接続され、互いに情報をやり取りすることが可能である。
【００８２】
このように、論理グループ情報ＤＢ２００ａ及び実装パターン情報ＤＢ２００ｂを外部記憶に持たせることによって、論理グループ情報及び実装パターン情報を外部の集積回路設計支援装置と共有することが可能となり、論理グループ情報及び実装パターン情報の再利用性を高め、他の設計時にも流用して利用可能とし、集積回路設計支援装置の利用価値や利便性を向上させることができる。
【００８３】
次に、図１０に示した集積回路設計支援装置において実行される論理グループ一致性類似性判定処理について説明する。図１１は、図１０に示した集積回路設計支援装置において実行される論理グループ一致性類似性判定処理手順を示すフローチャートである。同図に示すように、先ず、図示しない一時記憶部に記憶される完全一致フラグをオンにする（ステップＳ１０１）。続いて、選択された論理ページのページ内セル数が等しいか否かを判定し（ステップＳ１０２）、等しいと判定される場合（ステップＳ１０２肯定）にステップＳ１０５へ移り、等しいと判定されない場合（ステップＳ１０２否定）にステップＳ１０３へ移る。
【００８４】
ステップＳ１０３では、予め設定されている設定内容に従って類似論理とするか否かを判定し、類似論理とする場合に（ステップＳ１０３肯定）完全一致フラグをオフにし（ステップＳ１０４）、ステップＳ１１７へ移る。
【００８５】
ステップＳ１０５では、選択された論理ページのセルのロケーションが一致するか否かを判定し、一致すると判定される場合（ステップＳ１０５肯定）にステップＳ１０８へ移り、一致すると判定されない場合（ステップＳ１０５否定）にステップＳ１０６へ移る。
【００８６】
ステップＳ１０６では、予め設定されている設定内容に従って類似論理とするか否かを判定し、類似論理とする場合に（ステップＳ１０６肯定）完全一致フラグをオフにし（ステップＳ１０７）、ステップＳ１１７へ移る。
【００８７】
ステップＳ１０８では、選択された論理ページのセル間の接続関係が等しいか否かを判定し、等しいと判定される場合（ステップＳ１０８肯定）にステップＳ１１１へ移り、等しいと判定されない場合（ステップＳ１０８否定）にステップＳ１０９へ移る。
【００８８】
ステップＳ１０９では、予め設定されている設定内容に従って類似論理とするか否かを判定し、類似論理とする場合に（ステップＳ１０９肯定）完全一致フラグをオフにし（ステップＳ１１０）、ステップＳ１１７へ移る。
【００８９】
ステップＳ１１１では、選択された論理ページのマクロが一致するか否かを判定し、一致すると判定される場合（ステップＳ１１１肯定）にステップＳ１１４へ移り、一致すると判定されない場合（ステップＳ１１１否定）にステップＳ１１２へ移る。
【００９０】
ステップＳ１１２では、予め設定されている設定内容に従って類似論理とするか否かを判定し、類似論理とする場合に（ステップＳ１１２肯定）完全一致フラグをオフにし（ステップＳ１１３）、ステップＳ１１７へ移る。
【００９１】
ステップＳ１１４では、選択された論理ページの外部接続先マクロが一致するか否かを判定し、一致すると判定される場合（ステップＳ１１４肯定）にステップＳ１１７へ移り、一致すると判定されない場合（ステップＳ１１４否定）にステップＳ１１５へ移る。
【００９２】
ステップＳ１１５では、予め設定されている設定内容に従って類似論理とするか否かを判定し、類似論理とする場合に（ステップＳ１１５肯定）完全一致フラグをオフにし（ステップＳ１１６）、ステップＳ１１７へ移る。
【００９３】
ステップＳ１１７では、完全一致フラグがオンか否かを判定し、オンと判定される場合に（ステップＳ１１７肯定）、比較された２つの論理グループを同一の論理ページとして論理グループ情報ＤＢ１０６ｂに登録する（ステップＳ１１８）。一方で、完全一致フラグがオンと判定されない場合に（ステップＳ１１７否定）、比較された２つの論理グループを類似論理ページとして論理グループ情報ＤＢ１０６ｂに登録する（ステップＳ１１９）。
【００９４】
ステップＳ１１８又はステップＳ１１９が終了すると、全ての論理ページをチェックしたか否かを判定し（ステップＳ１２０）、全ての論理ページをチェックしたと判定される場合に（ステップＳ１２０肯定）論理グループ一致性類似性判定処理を終了し、全ての論理ページをチェックしたと判定されない場合に（ステップＳ１２０否定）ステップＳ１０１へ移る。
【００９５】
次に、図１０に示した集積回路設計支援装置において実行される実装パターン作成処理について説明する。図１２は、図１０に示した集積回路設計支援装置において実行される実装パターン作成処理手順を示すフローチャートである。なお、実装パターン作成処理は、論理グループの一致性類似性が判定された後に自動的に実行される処理とするが、所定の操作を契機として処理を実行する手作業で実行される処理としてもよい。手作業で実装パターンを作成可能とすると、実装パターンの柔軟なカスタマイズを可能とする。
【００９６】
同図に示すように、先ず、論理グループ内セル配置順序決定処理を実行する（ステップＳ２０１）。この論理グループ内セル配置順序決定処理の詳細は、図１３を参照して後述する。続いて、全セルが配置済みか否かを判定し（ステップＳ２０２）、配置済みと判定される場合に（ステップＳ２０２肯定）ステップＳ２０７へ移り、配置済みと判定されない場合に（ステップＳ２０２否定）ステップＳ２０３へ移る。
【００９７】
ステップＳ２０３では、全セルが未配置、即ち初回のセル配置であるか否かを判定し、全セルが未配置であると判定される場合に（ステップＳ２０３肯定）セルを実装パターン生成図面のＸ−Ｙ平面上の原点に配置し（ステップＳ２０４）、ステップＳ２０２へ移る。一方で、ステップＳ２０５では、処理対象セルと既に配置済みのセルとの距離が最短となる実装パターン生成図面上の区画の空き領域を選択し、続いて、選択された位置にセルを配置し（ステップＳ２０６）、ステップＳ２０２へ移る。
【００９８】
なお、ここでいう実装パターン生成図面とは、セルを配置して論理パターンの実装パターンを生成するためのグリッド（区画）が行列に配置された平面であり、実装図面同様に、Ｘ−Ｙ平面の座標によって個々の区画の位置を特定することが可能である。
【００９９】
一方で、ステップＳ２０７では、全セルを配置完了した実装パターンを第１実装パターンとして、図示しない一時記憶部に記憶する。続いて、実装パターン生成図面のＸ−Ｙ平面上において、第１実装パターンとＸ軸に関して対称な実装パターンを生成し、これを第２実装パターンとして一時記憶する（ステップＳ２０８）。続いて、実装パターン生成図面のＸ−Ｙ平面上において、第１実装パターンとＹ軸に関して対称な実装パターンを生成し、これを第３実装パターンとして一時記憶する（ステップＳ２０９）。
【０１００】
次に、実装パターン生成図面のＸ−Ｙ平面上において、第１実装パターンを、原点を中心にして９０度回転させた実装パターンを生成し、これを第４実装パターンとして一時記憶する（ステップＳ２１０）。続いて、実装パターン生成図面のＸ−Ｙ平面上において、第１実装パターンを、原点を中心にして１８０度回転させた実装パターンを生成し、これを第５実装パターンとして一時記憶する（ステップＳ２１１）。続いて、実装パターン生成図面のＸ−Ｙ平面上において、第１実装パターンを、原点を中心にして２７０度回転させた実装パターンを生成し、これを第６実装パターンとして一時記憶する（ステップＳ２１２）。続いて、第１〜６の実装パターンを実装パターン情報ＤＢ１０６ｃに記憶する（ステップＳ２１３）。
【０１０１】
なお、上記に示した実装パターン作成処理では、セル間距離が最短となるようにセルを配置することとしている（ステップＳ２０５）。しかし、ステップＳ２０５では、セル間距離ではなく、セルが有する接続ピン同士のピン間距離が最短となるようにセルを配置するようにしてもよい。
【０１０２】
また、各セルの位置関係が第１実装パターンと類似なパターンの作成も、実装パターン全体を単位として作成することとしている（ステップＳ２０８〜Ｓ２１２）。即ち、第１実装パターン全体を単位として対称性に着目した対称な実装パターンを作成したり、第１実装パターン全体を単位として回転して実装パターンを作成したりすることとしている。しかし、これに限らず、セル単位で反転させた実装パターンを作成したり、セル単位で回転させて実装パターンを作成したりしてもよい。このようにすると、各セルが有するピン同士の接続位置関係が異なってくる場合があり、より効率的なピン同士の接続位置関係を有する実装パターンを作成することが可能となる。
【０１０３】
次に、図１２に示した論理グループ内セル配置順序決定処理について説明する。図１３は、図１２に示した論理グループ内セル配置順序決定処理手順を示すフローチャートである。同図に示すように、先ず、図示しない一時記憶部に記憶されるリストである接続順リストに未登録かつ接続されるピンの数が最少のセルを１つ選択する（ステップＳ２５１）。続いて、選択されたセルを、図示しない一時記憶部に記憶されるリストであるトレース候補リストに登録する（ステップＳ２５２）。
【０１０４】
次に、トレース候補リストに登録されるセルのトレースを実行する（ステップＳ２５３）。続いて、トレースが開始されたセルをトレース候補リストから削除する（ステップＳ２５４）。続いて、トレースが開始されたセルを接続順リストに追加する（ステップＳ２５５）。
【０１０５】
次に、接続先のセルがトレース済みであるか否かを判定し（ステップＳ２５６）、トレース済みである場合に（ステップＳ２５６肯定）ステップＳ２５８へ移り、トレース済みでない場合に（ステップＳ２５６否定）接続先のセルをトレース候補リストに追加する（ステップＳ２５７）。
【０１０６】
次に、接続先が他に存在するか否かを判定し（ステップＳ２５８）、存在すると判定される場合に（ステップＳ２５８肯定）ステップＳ２５６へ移り、存在すると判定されない場合に（ステップＳ２５８否定）ステップＳ２５９へ移る。
【０１０７】
ステップＳ２５９では、トレース候補リストが、登録が全く無い空の状態であるか否かを判定し、トレース候補リストが空であると判定される場合に（ステップＳ２５９肯定）ステップＳ２６０へ移り、トレース候補リストが空であると判定されない場合に（ステップＳ２５９否定）ステップＳ２５３へ移る。
【０１０８】
ステップＳ２６０では、接続順リストに全セルが登録済みか否かを判定し（ステップＳ２６０）、全セルが登録済みと判定される場合に（ステップＳ２６０肯定）接続順リストを出力し（ステップＳ２６１）、全セルが登録済みと判定されない場合に（ステップＳ２６０否定）ステップＳ２５１へ移る。
【０１０９】
次に、図１０に示した集積回路設計支援装置において実装パターンが実装図面に配置される処理である実装パターン配置処理について説明する。図１４は、図１０に示した集積回路設計支援装置において実装パターンが実装図面に配置される処理である実装パターン配置処理手順を示すフローチャートである。なお、本処理は、実装図面において、論理パターンを選択して対応する実装パターンを該実装図面のＸ−Ｙ平面に配置する場合の、マウスによる配置位置の仮決定から本決定までに至る処理を示すものである。
【０１１０】
先ず、全セルがパターン配置可能かチェック済みか否かを判定する（ステップＳ３０１）。チェック済みと判定される場合に（ステップＳ３０１肯定）ステップＳ３０６へ移り、チェック済みと判定されない場合に（ステップＳ３０１否定）ステップＳ３０２へ移る。
【０１１１】
ステップＳ３０２では、チェック対象のセルが配置禁止領域に重なるか否かを判定し、重なると判定される場合に（ステップＳ３０２肯定）ステップＳ３０１へ移り、重なると判定されない場合に（ステップＳ３０２否定）ステップＳ３０３へ移る。
【０１１２】
ステップＳ３０３では、チェック対象のセルが配置済みセルに重なるか否かを判定し、重なると判定される場合に（ステップＳ３０３肯定）ステップＳ３０１へ移り、重なると判定されない場合に（ステップＳ３０３否定）ステップＳ３０４へ移る。
【０１１３】
ステップＳ３０４では、チェック対象のセルがサイト（実装図面のＸ−Ｙ平面）に乗るか否かを判定し、乗ると判定される場合に（ステップＳ３０４肯定）チェック対象のセルのパターン配置可能フラグをオンにして（ステップＳ３０５）ステップＳ３０１へ移り、乗ると判定されない場合に（ステップＳ３０４否定）ステップＳ３０１へ移る。
【０１１４】
ステップＳ３０６では、全セルがパターン配置可能であるか否か（即ち、全セルがそれぞれの仮配置位置に配置可能であるか否か）を判定し、全セルがパターン配置可能であると判定される場合に（ステップＳ３０６肯定）配置パターンに従ってセルを表示し（ステップＳ３０７）、全セルがパターン配置可能であると判定されない場合に（ステップＳ３０６否定）ステップＳ３０８へ移る。
【０１１５】
ステップＳ３０８では、パターン配置可能なセルの割合は所定値（例えば、３０％）未満であるか否かを判定し、パターン配置可能なセルの割合は所定値未満であると判定される場合に（ステップＳ３０８肯定）ステップＳ３１０へ移り、パターン配置可能なセルの割合は所定値未満であると判定されない場合に（ステップＳ３１０否定）配置パターンに従ってセルが表示不可能であることを表示する（ステップＳ３０９）。
【０１１６】
ステップＳ３１０では、全セルについて仮配置位置が決定済みか否かを判定し（ステップＳ３１０）、全セルについて仮配置位置が決定済みであると判定される場合に（ステップＳ３１０肯定）ステップＳ３１５へ移り、全セルについて仮配置位置が決定済みであると判定されない場合に（ステップＳ３１０否定）ステップＳ３１１へ移る。
【０１１７】
ステップＳ３１１では、順次に選択されるセルを１つ指定して処理対象セルとし、当該セルがパターン配置可能なセルか否かを判定し、当該セルがパターン配置可能なセルであると判定される場合に（ステップＳ３１１肯定）ステップＳ３１２へ移り、当該セルがパターン配置可能なセルであると判定されない場合に（ステップＳ３１１否定）ステップＳ３１３へ移る。
【０１１８】
ステップＳ３１２では、当該セルを配置パターンに従って仮配置する。一方、ステップＳ３１３では、処理対象セルと既配置セルとの距離が最短となる実装図面のＸ−Ｙ平面上の空き領域を検索し、処理対象のセルをこの検索された位置に仮配置する（ステップＳ３１４）。ステップＳ３１２又はステップＳ３１４が終了すると、ステップＳ３１０へ移る。
【０１１９】
他方で、ステップＳ３１５では、パターン配置不可能なセルが存在するか否かを判定し、パターン配置不可能なセルが存在すると判定される場合に（ステップＳ３１５肯定）ステップＳ３１６へ移り、配置不可能なセルが存在すると判定されない場合に（ステップＳ３１５否定）ステップＳ３２２へ移る。
【０１２０】
ステップＳ３１６では、パターン配置不可能なセル同士の配置位置交換が可能か否かを判定し、パターン配置不可能なセル同士の配置位置交換が可能と判定される場合に（ステップＳ３１６肯定）ステップＳ３１９へ移る。
【０１２１】
一方、ステップＳ３１７では、近隣セル（周辺に存在するセル）のシフト移動（Ｘ方向又はＹ方向への移動）が可能か否かを判定し、可能である場合に（ステップＳ３１７肯定）シフト対象の全セルについて接続関係の線長（セル間距離）を計算し（ステップＳ３１８）ステップＳ３１９へ移る。
【０１２２】
ステップＳ３１９では、交換対象の各セルについて接続関係の線長（セル間距離）を計算し、ステップＳ３２０へ移る。ステップＳ３２０では、線長が総合的に改善されるか否かを判定し、改善されると判定される場合に（ステップＳ３２０肯定）仮配置位置を変更して（ステップＳ３２１）ステップＳ３２２へ移り、改善されると判定されない場合に（ステップＳ３２０否定）ステップＳ３２２へ移る。
【０１２３】
ステップＳ３２２では、全てのパターン配置不可能セルがチェック済みか否かを判定し、全てのパターン配置不可能セルがチェック済みであると判定される場合に（ステップＳ３２２肯定）配置パターンに従ってセルを表示し（ステップＳ３２３）、全てのパターン配置不可能セルがチェック済みであると判定されない場合に（ステップＳ３２２否定）ステップＳ３１５へ移る。
【０１２４】
次に、上記実施例の作用として、実装パターンを配置する概要を説明する。図１５−１は、図１に示した本発明の第１の特徴に対応する実装パターンを配置する概要を説明するための説明図である。同図は、予め作成されている、複数のマクロで構成された実装パターンを順次配置して行く概要を示す。図１に示したものと同様に、実装パターンＡは、Latchを２行４列に配置した実装パターンであり、実装パターンＢは、Latchを８行１列に配置した実装パターンである。
【０１２５】
図１５−１（１）に示すように、先ず、集積回路設計支援装置１００の表示部１１０のＧＵＩに視覚的に一覧表示される一致類似論理グループから論理グループを一つ選択し、これに対応する実装パターンＢが１個配置される。次に、（２）に示すように、２個目の実装パターンとして実装パターンＡを、既配置の実装パターンＢと領域が重複しないように配置する。次に、（３）に示すように、３個目の実装パターンとして実装パターンＡを、既配置の実装パターンＢ及び実装パターンＡと領域が重複しないように配置する。次に、（４）に示すように、４個目の実装パターンとして実装パターンＡを、既配置の実装パターンＢ及び実装パターンＡと領域が重複しないように配置する。
【０１２６】
このようにして、既配置の実装パターンと領域が重複しない範囲で、選択された論理グループに対応する実装パターンが、実装図面上の表示位置に併せて、予め作成された形状を変形させることなく配置されていく。このようにすることによって、セルの配置と接続関係を見ながら複数の論理パターン又は該論理パターンに対応する実装パターンを選択可能とし、選択ミスを防止し、効率的な実装図面の作成が可能となる。
【０１２７】
図１５−２は、図２に示した本発明の第２の特徴に対応する実装パターンを配置する概要を説明するための説明図である。同図に示すように、既に既存の実装パターンが配置された状態で、先ず、（１）集積回路設計支援装置１００の表示部１１０のＧＵＩに視覚的に一覧表示される一致類似論理グループから論理グループを一つ選択し、該論理グループに対応する、セルBLK1〜BLK12からなる実装パターンを１個配置する。この場合に、既存の実装パターンと領域が重複しないため、今回配置されたセルBLK1〜BLK12からなる実装パターンは原形状からの変形はない。
【０１２８】
次に、さらに（２）マウスポインタがＡの位置で、セルBLK1〜BLK12からなる実装パターンを１個配置する。この場合に、既存の実装パターンと領域が重複するため、今回配置されたセルBLK1〜BLK12からなる実装パターンは原形状から変形され、既存の実装パターンとの領域重複を回避する形状となる。
【０１２９】
次に、さらに続けて（３）２個目に配置した実装パターンの配置位置を、マウスポインタをＢへドラッグすることによって移動させる。この場合に、２個目に配置した実装パターンは、位置が移動させられるが、依然として既存の実装パターンと領域が重複する。しかし、前述の図１５−２（２）に示した場合とは重複の状況が異なるため、２個目に配置された実装パターンの形状は、既存の実装パターンとの領域重複を回避する形状へとさらに動的に変形される。
【０１３０】
このように、マウスドラッグなどによって、既に配置された実装パターンの配置位置を移動させると、移動先の配置位置において既存及び既配置の実装パターンとの領域の重複を回避するように実装パターンの形状が、配置スペース及び配線性の効率を考慮して動的に変形される。そして、クリックボタンの押下解放によってマウスドラッグを解除すると、変形が確定となる。このように、実装パターンの形状を常に確認しながら柔軟に実装パターンを配置することが可能となり、実装図面への実装パターン配置作業の作業性を向上させることができる。
【０１３１】
本実施例によれば、膨大な配置セル数を取り扱うＬＳＩなどの集積回路設計の手作業によるセルの配置調整において、作業工数を削減し、論理接続を容易に確認しながら効率的に配置作業を行うことを可能とする。
【０１３２】
なお、上記実施例で説明した各処理は、あらかじめ用意されたプログラムをパーソナルコンピュータ、サーバ又はワークステーションなどのコンピュータシステムで実行することによって実現することができる。この予め用意されたプログラムは、フレキシブルディスク、磁気ディスク又は光磁気ディスクなどの可搬の記憶媒体から読み込まれて実行されてもよいし、通信回線を介してサーバなどの集中処理装置からのプログラムロードによって実行されてもよい。
【０１３３】
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
【０１３４】
（付記１）論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する処理をコンピュータに実行させる集積回路設計支援プログラムであって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手順と、
前記論理グループ作成手順によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手順と、
前記同一類似論理グループ抽出手順により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手順と
をコンピュータに実行させることを特徴とする集積回路設計支援プログラム。
【０１３５】
（付記２）前記論理グループ作成手順によって作成された論理グループに含まれるセルを互いの接続順序を考慮して階層化する論理グループ内階層化手順をコンピュータにさらに実行させることを特徴とする付記１に記載の集積回路設計支援プログラム。
【０１３６】
（付記３）前記論理グループ作成手順により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手順をコンピュータにさらに実行させることを特徴とする付記１又は２に記載の集積回路設計支援プログラム。
【０１３７】
（付記４）前記実装パターン作成手順は、前記論理グループの実装パターンを手作業指示に基づいて作成することを特徴とする付記１、２又は３に記載の集積回路設計支援プログラム。
【０１３８】
（付記５）前記実装パターン作成手順は、前記論理グループの実装パターンを、前記セルの配置スペース及び該セル間の配線性に基づいて作成することを特徴とする付記１〜４のいずれか一つに記載の集積回路設計支援プログラム。
【０１３９】
（付記６）前記実装パターン作成手順により前記セルの配置スペース及び該セル間の配線性に基づいて作成された前記論理グループの実装パターンの変形パターンを、対称移動又は回転移動に基づいて作成することを特徴とする付記５に記載の集積回路設計支援プログラム。
【０１４０】
（付記７）前記実装パターン作成手順により前記セルの配置スペース及び該セル間の配線性に基づいて作成された前記論理グループの実装パターンの変形パターンを、該実装パターンに含まれるセル毎の対称移動又は回転移動に基づいて作成することを特徴とする付記５に記載の集積回路設計支援プログラム。
【０１４１】
（付記８）前記同一類似論理グループから選択された論理グループの実装パターンを手作業指示に基づいて前記実装図面に配置する実装パターン手作業配置手順をコンピュータにさらに実行させることを特徴とする付記１〜７のいずれか一つに記載の集積回路設計支援プログラム。
【０１４２】
（付記９）前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手順をコンピュータにさらに実行させることを特徴とする付記１〜７のいずれか一つに記載の集積回路設計支援プログラム。
【０１４３】
（付記１０）前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手順をコンピュータにさらに実行させることを特徴とする付記９に記載の集積回路設計支援プログラム。
【０１４４】
（付記１１）前記論理グループ作成手順により作成された論理グループを当該コンピュータの外部記憶に記憶させる論理グループ外部記憶手順をコンピュータにさらに実行させることを特徴とする付記１〜１０のいずれか一つに記載の集積回路設計支援プログラム。
【０１４５】
（付記１２）前記実装パターン作成手順により作成された実装パターンを当該コンピュータの外部記憶に記憶させる実装パターン外部記憶手順をコンピュータにさらに実行させることを特徴とする付記１〜１１のいずれか一つに記載の集積回路設計支援プログラム。
【０１４６】
（付記１３）論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援装置であって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成手段と、
前記論理グループ作成手段によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出手段と、
前記同一類似論理グループ抽出手段により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成手段と
を備えたことを特徴とする集積回路設計支援装置。
【０１４７】
（付記１４）前記論理グループ作成手段により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧手段をさらに備えたことを特徴とする付記１３に記載の集積回路設計支援装置。
【０１４８】
（付記１５）前記実装パターン作成手段は、前記論理グループの実装パターンを、前記セルの配置スペース及び該セル間の配線性に基づいて作成することを特徴とする付記１３又は１４に記載の集積回路設計支援装置。
【０１４９】
（付記１６）前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置手段をさらに備えたことを特徴とする付記１３、１４又は１５に記載の集積回路設計支援装置。
【０１５０】
（付記１７）前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置手段をさらに備えたことを特徴とする付記１６に記載の集積回路設計支援装置。
【０１５１】
（付記１８）論理ページ単位にセルを含んで記述された論理図面に基づいた集積回路の実装図面の設計を支援する集積回路設計支援方法であって、
前記論理ページにおいて指定された前記論理図面の選択範囲に含まれる前記セルから論理グループを作成する論理グループ作成工程と、
前記論理グループ作成工程によって作成された論理グループ同士の論理図面の同一性又は類似性を判定して同一類似論理グループを抽出する同一類似論理グループ抽出工程と、
前記同一類似論理グループ抽出工程により抽出された同一類似論理グループに含まれる論理グループの実装パターンを作成する実装パターン作成工程と
を含んだことを特徴とする集積回路設計支援方法。
【０１５２】
（付記１９）前記論理グループ作成工程により抽出された同一類似論理グループを、前記論理図面を明示して一覧表示する同一類似論理グループ一覧工程をさらに含んだことを特徴とする付記１８に記載の集積回路設計支援方法。
【０１５３】
（付記２０）前記実装パターン作成工程は、前記論理グループの実装パターンを、前記セルの配置スペース及び該セル間の配線性に基づいて作成することを特徴とする付記１８又は１９に記載の集積回路設計支援方法。
【０１５４】
（付記２１）前記同一類似論理グループから選択された論理グループの実装パターンを前記実装図面に配置する際に、配置指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該配置対象の実装パターンのパターン形状を変形して配置する実装パターン形状変形配置工程をさらに含んだことを特徴とする付記１８、１９又は２０に記載の集積回路設計支援方法。
【０１５５】
（付記２２）前記実装図面に既に配置されている論理グループの実装パターンを該実装図面内において移動配置させる際に、移動先指定位置、既に配置されている他の論理グループの実装パターンの配置位置及び配置対象の実装パターンの配線性に基づき、該移動対象の実装パターンのパターン形状を変形して移動配置させる実装パターン形状変形移動配置工程をさらに含んだことを特徴とする付記２１に記載の集積回路設計支援方法。
【産業上の利用可能性】
【０１５６】
本発明は、ＬＳＩなどの集積回路設計において手作業でセルの配置や調整を行う場合に、複数の論理図面を表示して論理接続を把握しながら実装対象の選択を可能として実装対象の選択ミスの発生を抑制し、集積回路設計作業の効率性を向上させたい場合に有用である。
【図面の簡単な説明】
【０１５７】
【図１−１】本発明の特徴を説明するための説明図である。
【図１−２】本発明の特徴を説明するための説明図である。
【図２−１】複数の論理ページの全セルを論理グループとして選択する概要を説明するための説明図である。
【図２−２】単一論理ページの部分セルを論理グループとして選択する概要を説明するための説明図である。
【図２−３】単一論理ページの全セルを論理グループとして選択する概要を説明するための説明図である。
【図３】論理図面が複数の論理ページからなり、該複数の論理ページが結線される概要を説明するための説明図である。
【図４】論理図面が有する論理図面情報に含まれる情報を説明するための説明図である。
【図５−１】同一論理グループと判定される論理グループの例を示す図である。
【図５−２】類似論理グループと判定される論理グループの例を示す図である。
【図６】実装パターン情報に含まれる情報を説明するための説明図である。
【図７】論理グループを構成するインスタンスの情報を説明するための説明図である。
【図８】論理グループ情報に含まれる情報を説明するための説明図である。
【図９】論理グループから実装パターンを生成する概要を説明するための説明図である。
【図１０】集積規回路設計支援装置の構成を示す機能ブロック図である。
【図１１】論理グループ一致性類似性判定処理手順を示すフローチャートである。
【図１２】実装パターン作成処理手順を示すフローチャートである。
【図１３】論理グループ内セル配置順序決定処理手順を示すフローチャートである。
【図１４】実装パターン配置処理手順を示すフローチャートである。
【図１５−１】実装パターンを配置する概要を説明するための説明図である。
【図１５−２】実装パターンを配置する概要を説明するための説明図である。
【符号の説明】
【０１５８】
３１、３２、３３    インスタンス
１００    集積回路設計支援装置
１０１    論理グループ作成処理部
１０２    論理グループ一致性類似性判定処理部
１０２    論理グループ一致性類似性判定部
１０３    実装パターン作成処理部
１０４    論理グループ選択部
１０５    実装パターン配置処理部
１０６    記憶部
１０７    論理グループ情報入出力制御部
１０８    実装パターン情報入出力制御部
１０９    入力部
１１０    表示部
２００    外部記憶部
１０６ａ    ページ図面情報ＤＢ
１０６ｂ    論理グループ情報ＤＢ
１０６ｃ    実装パターン情報ＤＢ
１０６ｄ    論理グループ選択情報ＤＢ
１０６ｅ    実装図面情報ＤＢ
２００ａ    論理グループ情報ＤＢ
２００ｂ    実装パターン情報ＤＢ
【図１−１】
2008033555.tif 000003
【図１−２】
2008033555.tif 000004
【図２−１】
2008033555.tif 000005
【図２−２】
2008033555.tif 000006
【図２−３】
2008033555.tif 000007
【図３】
2008033555.tif 000008
【図４】
2008033555.tif 000009
【図５−１】
2008033555.tif 000010
【図５−２】
2008033555.tif 000011
【図６】
2008033555.tif 000012
【図７】
2008033555.tif 000013
【図８】
2008033555.tif 000014
【図９】
2008033555.tif 000015
【図１０】
2008033555.tif 000016
【図１１】
2008033555.tif 000017
【図１２】
2008033555.tif 000018
【図１３】
2008033555.tif 000019
【図１４】
2008033555.tif 000020
【図１５−１】
2008033555.tif 000021
【図１５−２】
2008033555.tif 000022