(57)【要約】【課題】予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる自動配置装置を提供すること。【解決手段】セル分類手段は、配置候補位置に対象セルを配置した場合に対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置する。【選択図】      図１
2004362420.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のセル間の接続情報が定義されているネットリストと、少なくとも該ネットリストに定義されているセルを含む各セルのセル幅が定義されている配置配線用ライブラリとに基づいて、前記半導体集積回路内のセル配置可能領域に該ネットリストに定義されているセルを配置する自動配置装置において、
前記ネットリストのセルの１つを配置位置を決定する対象セルとして、前記半導体集積回路内のセル配置可能領域の中から前記対象セルを配置可能な配置可能領域を検索する配置可能領域検索手段と、
前記配置可能領域内に前記対象セルを配置する配置候補位置を決定し、該決定した配置候補位置に前記対象セルを配置した場合に、該対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索し、前記対象セルと前記近傍セルとの関係を複数のカテゴリーの中のどのカテゴリーに属するかを分類するセル分類手段と、
前記対象セルを前記配置候補位置に配置した際に、前記対象セルと前記近傍セルとの関係が、この関係を規定する複数のカテゴリーの中の製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して前記対象セルを前記配置候補位置に配置するセル配置手段と、
を備えることを特徴とする自動配置装置。
【請求項２】
前記セル分類手段は、
前記対象セルと前記近傍セルとの関係を、前記対象セルに対して前記近傍セルが存在しない第１のカテゴリーと、前記対象セルと前記近傍セルとが同一グループに属しかつ隣接配置しても製造基準違反が発生しない第２のカテゴリーと、前記対象セルと前記近傍セルとが異なるグループに属しかつ隣接配置した場合製造基準違反場発生する可能性があるが前記対象セルと前記近傍セルとの距離が所定の距離だけ離れている第３のカテゴリーと、前記対象セルと前記近傍セルとが異なるグループに属しかつ隣接配置した場合製造基準違反が発生する可能性があり前記対象セルと前記近傍セルとの距離が所定の距離未満である第４のカテゴリーとのいずれかに分類することを特徴とする請求項１に記載の自動配置装置。
【請求項３】
前記セル配置手段は、
前記対象セルと前記近傍セルとの関係が、前記第４のカテゴリーに属する場合に前記所定のセル境界処理を施すことを特徴とする請求項２に記載の自動配置装置。
【請求項４】
前記所定のセル境界処理は、
前記対象セルと前記近傍セルとが属するグループにより定められている前記対象セルと前記近傍セルとの間に全てのセルと隣接配置が可能なレイアウト形状を有する繋ぎセルを前記配置候補位置に隣接して配置することを特徴とする請求項１〜３の何れか一つに記載の自動配置装置。
【請求項５】
前記繋ぎセルを複数準備しておき、前記対象セルに対して近傍セルが位置する方向および／または距離により前記複数の繋ぎセルの中から使用する繋ぎセルを選択することを特徴とする請求項４に記載の自動配置装置。
【請求項６】
前記所定のセル境界処理は、
前記配置候補位置に前記対象セルを配置した場合に前記対象セルと前記近傍セルとの間の距離を製造基準違反が発生しない所定の距離以上になるように前記配置候補位置を移動することを特徴とする請求項１〜３の何れか一つに記載の自動配置装置。
【請求項７】
前記所定の距離は、前記対象セルに対して近傍セルが位置する方向により異なる距離とすることを特徴とする請求項６に記載の自動配置装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト時のセルの自動配置装置に関するものである。
【０００２】
【従来の技術】
従来から、セルベースなどの半導体集積回路では、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などの標準セル（以下、セルとする）を内部領域に複数配置し、それらセルをネットリストの接続情報にしたがって配線することで、所望の機能を実現してきた。配置配線では、ネットリストに定義されているセルを物理的に配置、配線しなければならない。そのため、従来技術では、セルを擬似的に大きく見せかけることにより、セル間に一定の幅の配線専用領域を設け、複数のセル間での端子集中を回避し、端子密度を緩和することで、配線の混雑、あるいは未完結配線の発生を未然に防ぐようにしている（たとえば、特許文献１参照）。
【０００３】
【特許文献１】
特開２００１−１２７１６０号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、セルサイズを実際のセルサイズよりも擬似的に大きく見せかけて設けた配線専用の領域すべてが配線に使用されるとは限らない。そのため、配線に使用されなかった領域は、無駄な領域となってしまい、半導体集積回路の集積度の低下をまねいてしまうという問題があった。
【０００５】
また、セルベース設計においては、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などのセルのゲートレベルのレイアウトの大部分が完了しており、これらのセルの情報は配置配線用ライブラリとして用意されている。配置配線用ライブラリに定義されるセルは、動作速度や駆動能力などのセルの特性を考慮して設計されているため、全てのセルが同一のトランジスタで作られているとは限らない。すなわち、配置配線用ライブラリに定義されているセルは、たとえば、セルＡとセルＢとでは異なるトランジスタで作られていることがある。このようなセルは、隣接して配置すると製造基準違反となってしまう。
【０００６】
しかしながら、配置配線用ライブラリには、レイアウト情報全てが登録されるわけではない。一般的に、配置配線用ライブラリには、接続済みの活性領域やゲートなどの情報を定義することは無く、セルサイズ、ならびに各セルを接続するために必要な端子位置など主に配線工程に関する情報が定義される。すなわち、配置配線用ライブラリには、セルのレイアウト情報の一部を抽出した情報が定義される。したがって、セルの自動配置において配置配線用ライブラリに欠落しているセルの実例アウト情報に起因する製造基準違反の発生を制御することはできない。そのため、各セルを設計する際に、隣接配置しても製造基準違反が発生しないように境界部分でのレイアウト仕様を統一する、もしくは、自動配置装置を用いてセルの配置を行う際には、隣接配置すると製造基準違反が発生する可能性があるセルを使用しないなどの制約を設けていた。
【０００７】
しかしながら、セルの境界部分でのレイアウト仕様を統一した場合には、セルの面積が大きくなってしまうという問題があった。セルの面積が大きくなると、これらのセルを用いて設計した半導体集積回路の面積も大きくなってしまう。
【０００８】
また、自動配置装置を用いる際に隣接配置すると製造基準違反が発生する可能性があるセルを使用しないようにした場合には、レイアウトしようが異なるセルに対する取り扱いが限定されることになり、セル配置の自由度が低下してしまい、結果的に半導体集積回路の面積が大きくなってしまうという問題があった。
【０００９】
半導体集積回路の面積が大きくなると、１枚のウエハから取れる半導体集積回路の数が減少する。半導体製造の多層配線技術や微細化技術が進むにつれ、１枚あたりのウエハの製造コストは高くなる傾向にあるため、半導体集積回路の面積が大きくなると、製造コストの増加を招くという問題もあった。
【００１０】
この発明は上記に鑑みてなされたもので、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる自動配置装置を得ることを目的としている。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる自動配置装置は、半導体集積回路のセル間の接続情報が定義されているネットリストと、少なくとも該ネットリストに定義されているセルを含む各セルのセル幅が定義されている配置配線用ライブラリとに基づいて、前記半導体集積回路内のセル配置可能領域に該ネットリストに定義されているセルを配置する自動配置装置において、前記ネットリストのセルの１つを配置位置を決定する対象セルとして、前記半導体集積回路内のセル配置可能領域の中から前記対象セルを配置可能な配置可能領域を検索する配置可能領域検索手段と、前記配置可能領域内に前記対象セルを配置する配置候補位置を決定し、該決定した配置候補位置に前記対象セルを配置した場合に、該対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索し、前記対象セルと前記近傍セルとの関係を複数のカテゴリーの中のどのカテゴリーに属するかを分類するセル分類手段と、前記対象セルを前記配置候補位置に配置した際に、前記対象セルと前記近傍セルとの関係が、この関係を規定する複数のカテゴリーの中の製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して前記対象セルを前記配置候補位置に配置するセル配置手段とを備えることを特徴とする。
【００１２】
この発明によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしている。
【００１３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる自動配置装置の好適な実施の形態を詳細に説明する。
【００１４】
実施の形態１．
図１〜図６を用いて本発明における実施の形態１を説明する。図１は、この発明における実施の形態１の自動配置装置１０の構成および入出力関連図である。
【００１５】
ネットリスト２０には、半導体集積回路が所望の機能を実現するためのセルを定義するセル情報と、セル間の接続を示す接続情報とを定義する。
【００１６】
配置配線用ライブラリ３０には、少なくともネットリスト２０のセル情報に定義されているセルのセルサイズ（セルの高さおよび幅）および各セルを接続するために必要な端子位置などの配線工程に関する情報を定義するとともに、制約条件４０に基づいて製造基準違反が発生する可能性のあるセル同士を隣接配置する際に、セル間に配置する繋ぎセルのセルサイズを定義する。繋ぎセルは、ナンドやオアといった論理を実現するものではなく、製造基準違反が発生する可能性のあるセル同士を隣接配置することが可能な実レイアウト構造で構成されるセルである。すなわち、繋ぎセルは、製造基準違反が発生する可能性のあるセル間に配置することで製造基準違反を回避することが可能なレイアウト構造を有したセルである。なお、繋ぎセルは、１種類でもよいし、異なるセルサイズを複数定義してもよい。また、この繋ぎセルは、必ずしも隣接配置するセル間の隙間を埋める必要があるというものでもない。
【００１７】
制約条件４０には、配置配線用ライブラリ３０に登録されている各セルのグループ情報、距離情報および隣接配置する場合に必要な繋ぎセル情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ１、グループ２、グループ３…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ１に属するセルとグループ２に属するセルとを配置する場合には距離Ｌ３、グループ１に属するセルとグループ３に属するセルとを配置する場合には距離Ｌ４というように定義する。繋ぎセル情報には、異なるグループに属するセルを隣接する場合に、距離情報に定義されている距離が保たれていない場合に使用する繋ぎセルを定義する。たとえば、グループ１に属するセルとグループ２に属するセルとを配置する場合には繋ぎセルＡを、グループ１に属するセルとグループ３に属するセルとを配置する場合には繋ぎセルＢを使用するという情報を定義する。
【００１８】
自動配置装置１０は、配置可能領域検索手段１１と、セル分類手段１２と、セル配置手段１３とを備えており、ネットリスト２０、配置配線用ライブラリ３０および制約条件に基づいて半導体集積回路内のセル配置可能領域に各セルを配置してセル配置情報５０を出力する。
【００１９】
配置可能領域検索手段１１は、ネットリスト２０に定義されている各セルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない未使用領域から対象セルを配置可能な配置可能領域を決定する。
【００２０】
セル分類手段１２は、配置可能領域内に対象セルを配置する配置候補位置を決定し、決定した配置候補位置に対象セルを配置した場合に対象セルと近傍のセルとの関係を後述するカテゴリーに分類する。
【００２１】
セル配置手段１３は、制約条件４０に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報５０を生成する。
【００２２】
図２のフローチャートおよび図３〜図６を参照して、この発明における実施の形態１の自動配置装置１０の動作を説明する。配置可能領域検索手段１１は、ネットリスト２０に定義されているセルから配置対象となる対象セルを決定する（ステップＳ１００）。そして、セル配置可能領域内でまだセルが配置されていない配置可能領域を検索する（ステップＳ１１０）。
【００２３】
図３においては、セル６０が対象セルであり、セル配置可能領域にセル６１〜６５が配置されており、セル６３とセル６４の間にセルが配置されていない配置可能領域７０が存在している。配置可能領域検索手段１１は、たとえば、ネットリスト２０に定義されているセル間の接続情報に基づいて対象セルであるセル６０と接続されているセルの近くの未使用の配置可能領域７０を検索する。
【００２４】
配置可能領域検索手段１１は、検索した配置可能領域７０が対象セルを配置可能な領域であるかを判断する（ステップＳ１２０）。具体的には、配置配線用ライブラリ３０から対象セルのセルサイズを読み出し、対象セルのセル幅と検索した未使用領域の幅とを比較する。検索した未使用領域の幅が対象セルのセル幅以上の場合、配置可能領域検索手段１１は、検索した配置可能領域に対象セルを配置可能と判断し、配置可能領域を決定する（ステップＳ１３０）。検索した未使用領域の幅が対象セルのセル幅よりも小さかった場合、配置可能領域検索手段１１は、検索した未使用領域に対象セルを配置不可能と判断し、配置可能領域から別の未使用領域を検索する動作を繰り返す（ステップＳ１１０，Ｓ１２０）。
【００２５】
図３においては、配置配線用ライブラリ３０に定義されている対象セルであるセル６０のセル幅がＸ１、配置可能領域検索手段１１が検索した配置可能領域７０の幅がＸ２である。ここで、Ｘ１≦Ｘ２が成り立っているものとすると、配置可能領域検索手段１１は、配置可能領域７０を対象セルであるセル６０の配置可能領域に決定する。
【００２６】
配置可能領域が決定すると、セル分類手段１２は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、決定した配置候補位置に対象セルを配置した場合に、対象セルと他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索する。セル分類手段１２は、制約条件４０に基づいて検索した近傍セルと対象セルとの関係が属するカテゴリーを判断する（ステップＳ１４０）。
【００２７】
第１のカテゴリーは、対象セルに対して近傍セルが存在しない場合である。図４に示すように、配置可能領域７０内に対象セルを配置する配置候補位置８０を決定したとする。配置候補位置８０の横方向（対象セルと他のセルが隣接する可能性のある各方向）には既に配置されているセルは存在していない。このような場合を第１のカテゴリーとする。
【００２８】
第２のカテゴリーは、対象セルと近傍セルとが同一グループに属する場合である。図５においては、配置候補位置８０の横方向にセル６３およびセル６４が配置されており、セル６３およびセル６４が対象セルの近傍セルである。対象セルとセル６３とセル６４とが、制約条件４０の同一グループに属している場合、第２のカテゴリーとする。
【００２９】
第３のカテゴリーは、対象セルと近傍セルとが制約条件４０の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件４０の距離情報に定義されている距離以上離れている場合である。図５において、対象セルがグループ１に、近傍セルであるセル６３がグループ２に、近傍セルである６４がグループ３にそれぞれ属しており、制約条件４０の距離情報として、グループ１とグループ２との距離情報に距離Ｌ３、グループ１とグループ３との距離情報に距離Ｌ４が定義されているとする。配置候補位置８０とセル６３との距離を距離Ｌ１とすると、距離Ｌ３≦距離Ｌ１が成り立つ場合、対象セルと近傍セルであるセル６３とは第３のカテゴリーとする。また、配置候補位置８０と近傍セルであるセル６４との距離を距離Ｌ２とすると、距離Ｌ４≦距離Ｌ２が成り立つ場合、対象セルと近傍セルであるセル６４は第３のカテゴリーとする。
【００３０】
第４のカテゴリーは、対象セルと近傍セルとが制約条件４０の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件４０の距離情報に定義されている距離よりも近い場合である。図５において、対象セルがグループ１に、近傍セルであるセル６３がグループ２に、近傍セルである６４がグループ３にそれぞれ属しており、制約条件４０の距離情報として、グループ１とグループ２との距離情報に距離Ｌ３、グループ１とグループ３との距離情報に距離Ｌ４が定義されているとする。配置候補位置８０とセル６３との距離Ｌ１とすると、距離Ｌ３＞距離Ｌ１が成り立つ場合、対象セルと近傍セルであるセル６３は第４のカテゴリーとする。また、配置候補位置８０と近傍セルであるセル６４との距離をＬ２とすると、距離Ｌ４＞距離Ｌ２が成り立つ場合、対象セルと近傍セルであるセル６４は第４のカテゴリーとする。
【００３１】
このようにセル分類手段１２は、制約条件４０に基づいて対象セルと近傍セルとの関係が属するカテゴリーを判断する。
【００３２】
セル配置手段１３は、対象セルと近傍セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する（ステップＳ１５０）。近傍セルと対象セルとの関係が第１のカテゴリーに属している場合、対象セルに対して近傍セルが存在しないので、セル分類手段１２が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段１３は、近傍セルと対象セルとの関係が第１のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【００３３】
近傍セルと対象セルとの関係が第２のカテゴリーに属している場合、対象セルと近傍セルとが制約条件４０の同一グループに属しているので、セル分類手段１２が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段１３は、近傍セルと対象セルとの関係が第２のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【００３４】
近傍セルと対象セルとの関係が３のカテゴリーに属している場合、対象セルと近傍セルとが制約条件４０の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件４０の距離情報に定義されている距離以上離れているので、セル分類手段１２が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段１３は、近傍セルと対象セルとの関係が第３のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【００３５】
近傍セルと対象セルとの関係が４のカテゴリーに属している場合、対象セルと近傍セルとが制約条件４０の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件４０の距離情報に定義されている距離よりも近いので、セル分類手段１２が決定した配置候補位置に対象セルを配置すると製造基準違反が発生する可能性がある。したがって、セル配置手段１３は、近傍セルと対象セルとの関係が第４のカテゴリーに属している場合セル境界処理を行う必要があると判断する。
【００３６】
セル境界処理が必要ないと判断すると、セル配置手段１３は、配置候補位置に対象セルを配置する（ステップＳ１６０）。すなわち、対象セルと近傍セルとの関係が、第１のカテゴリー〜第３のカテゴリーのいずれかに属する場合、セル配置手段１３は、セル分類手段１２が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報５０に出力する。
【００３７】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第４のカテゴリーに属している場合、セル配置手段１３は、セル境界処理が可能であるかを判断する（ステップＳ１７０）。具体的には、制約条件４０の繋ぎセル情報から、対象セルと近傍セルとを配置するために使用する繋ぎセルを読み出す。そして、対象セルを配置候補位置に配置し、かつ配置候補位置に隣接して対象セルと近傍セルとを配置するために使用する繋ぎセルを配置可能であるかを判断する。
【００３８】
図５の場合、対象セルの配置候補位置８０と近傍セルであるセル６３との間に対象セルとセル６３との間に必要な繋ぎセルを、対象セルの配置候補位置８０と近傍セルであるセル６４との間に対象セルとセル６４との間に必要な繋ぎセルをそれぞれ配置可能であるかを判断する。ここで、対象セルがグループ１に、近傍セルであるセル６３がグループ２に、近傍セルである６４がグループ３にそれぞれ属しており、制約条件４０の繋ぎセル情報に、グループ１に属するセルとグループ２に属するセルとを配置する場合には繋ぎセルＡを、グループ１に属するセルとグループ３に属するセルとを配置する場合には繋ぎセルＢを使用するという情報が定義されているとする。また、配置配線用ライブラリ３０には、繋ぎセルＡのセル幅がＷ１、繋ぎセルＢのセル幅がＷ２として定義されている。配置候補位置８０とセル６３との距離Ｌ１と対象セルとセル６３との間に必要な繋ぎセルＡのセル幅をＷ１との間にＷ１≦Ｌ１が、配置候補位置８０とセル６４との距離Ｌ２と対象セルとセル６４との間に必要な繋ぎセルＢのセル幅をＷ２との間にＷ２≦Ｌ２が成り立つかどうかを判断する。セル幅Ｗ１≦距離Ｌ１、かつ、セル幅Ｗ２≦距離Ｌ２が成り立つ場合、対象セルに隣接して繋ぎセルを配置するセル境界処理が可能であると判断する。
【００３９】
セル境界処理が可能であると判断すると、セル配置手段１３は、配置候補位置に対象セルを配置し、対象セルに隣接して繋ぎセルを配置する（ステップＳ１８０）。具体的には、図６に示すように、対象セルであるセル６０を配置候補位置に配置し、対象セルであるセル６０と近傍セルであるセル６３との間に繋ぎセル６５を配置し、対象セルであるセル６０と近傍セルであるセル６４との間に繋ぎセル６６を配置する。そして、配置したセル６０、繋ぎセル６５，６６のそれぞれの配置位置の情報をセル配置情報５０に出力する。
【００４０】
一方、セル境界処理ができないと判断すると（セル幅Ｗ１＞距離Ｌ１、または、セル幅Ｗ２＞距離Ｌ２の場合）、セル配置手段１３は、現在処理対象となっている未使用領域を配置不可領域として登録する（ステップＳ１９０）。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段１１に出力する。
【００４１】
検索通知を受け取ると、配置可能領域検索手段１１は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段１２は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段１３は、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す（ステップＳ１１０〜Ｓ１９０）。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報５０に出力するとともに、配置不可領域の登録をクリアする。
【００４２】
自動配置装置１０は、ネットリスト２０に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す（ステップＳ２００）。
【００４３】
上述したようにこの実施の形態１では、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【００４４】
なお、この実施の形態１では、制約条件４０の繋ぎセル情報に、グループ１に属するセルとグループ２に属するセルとを配置する場合には繋ぎセルＡを、グループ１に属するセルとグループ３に属するセルとを配置する場合には繋ぎセルＢを使用するというように、対象セルが属するグループと近傍セルが属するグループにより、１つの繋ぎセルを定義した例をあげて説明したが、制約条件４０の繋ぎセル情報はこれに限るものではない。
【００４５】
たとえば、グループ１に属する対象セル（図５の場合、配置候補位置８０に配置しようとしているセル）に対して右側の近傍セル（図５の場合、セル６４）がグループ２に属する場合には繋ぎセルＡを、グループ１に属する対象セルに対して左側の近傍セル（図５の場合、セル６３）がグループ２に属する場合には繋ぎセルＢを、グループ１に属する対象セルに対して右側の近傍セルがグループ３に属する場合には繋ぎセルＣを、グループに１属する対象セルに対して左側の近傍セルがグループ３に属する場合には繋ぎセルＤをというように定義してもよい。
【００４６】
また、グループ１に属する対象セルに対してグループ２に属する近傍セルとの距離が所定の値（ここではＬ５とする）未満の場合には繋ぎセルＥを、グループ１に属する対象セルに対してグループ２に属する近傍セルとの距離がＬ５以上離れている場合には繋ぎセルＦを、グループ１に属する対象セルに対してグループ３に属する近傍セルとの距離が所定の値（ここではＬ６とする）未満の場合には繋ぎセルＧを、グループ１に属する対象セルに対してグループ３に属する近傍セルとの距離がＬ６以上離れている場合には繋ぎセルＨを使用するというように定義してもよい。
【００４７】
さらに、対象セルの右側の近傍セルとその距離、対象セルの左側の近傍セルとその距離を組み合わせて使用する繋ぎセルを定義してもよい。
【００４８】
このように、対象セルと近傍セルとの距離や方向を考慮して繋ぎセルを決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、条件に応じた繋ぎセルを用いることができ、半導体集積回路の集積度を上げることができる。
【００４９】
実施の形態２．
図７および図８を用いて、この発明における実施の形態２を説明する。実施の形態１では、対象セルと近傍セルとが制約条件４０の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件４０の距離情報に定義されている距離よりも近い場合、制約条件４０の繋ぎセル情報に定義されている繋ぎセルを対象セルに隣接して配置するセル境界処理を行った。この実施の形態２では、繋ぎセルを用いたセル境界処理ではなく、配置候補位置を調整して対象セルを配置するセル境界処理を行うものである。
【００５０】
図７は、この発明における実施の形態２の自動配置装置１０ａの構成および入出力関連図である。この発明における実施の形態２の自動配置装置１０ａは、図１に示した実施の形態１の配置配線用ライブラリ３０の代わりに配置配線用ライブラリ３０ａが、制約条件４０の代わりに制約条件４０ａが入力されており、セル配置手段１３の変わりにセル配置手段１３ａを備えている。図１に示した実施の形態１の自動配置装置１０の構成および入出力関連図と同じ構成要素には同一符号を付し、重複する説明は省略する。
【００５１】
配置配線用ライブラリ３０ａには、ネットリスト２０で定義されているセルのセルサイズおよび各セルを接続するために必要な端子位置などの配線工程に関する情報を定義する。
【００５２】
制約条件４０ａには、配置配線用ライブラリ３０ａに登録されている各セルのグループ情報および距離情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ１、グループ２、グループ３…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ１に属するセルとグループ２に属するセルとを配置する場合には距離Ｌ３、グループ１に属するセルとグループ３に属するセルとを配置する場合には距離Ｌ４というように定義する。
【００５３】
セル配置手段１３ａは、制約条件４０に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報５０を生成する。
【００５４】
つぎに、この発明における実施の形態２の自動配置装置１０ａの動作を説明する。この実施の形態２の自動配置装置１０ａの動作は、セル配置手段１３ａのセル境界処理以外、実施の形態１の自動配置装置１０と同様となるので、ここでは配置可能領域検索手段１１およびセル分類手段１２の詳細な動作については省略する。
【００５５】
配置可能領域検索手段１１は、ネットリスト２０に定義されているセルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない配置可能領域から対象セルを配置可能な配置可能領域を決定する。
【００５６】
セル分類手段１２は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、対象セルと近傍セルとの関係が属するカテゴリーを判定する。
【００５７】
セル配置手段１３ａは、近傍セルと対象セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する。対象セルと近傍セルとの関係が第１のカテゴリー〜第３のカテゴリーのいずれかに属している場合、セル境界処理が必要ないと判断して、セル分類手段１２が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報５０に出力する。
【００５８】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第４のカテゴリーに属している場合、セル配置手段１３ａは、セル分類手段１２が決定した対象セルの配置候補位置を調整するセル境界処理を行う。
【００５９】
図５において、対象セルがグループ１に、近傍セルであるセル６３がグループ２に、近傍セルである６４がグループ３にそれぞれ属しており、配置候補位置８０とセル６３との距離を距離Ｌ１、配置候補位置８０と近傍セルであるセル６４との距離を距離Ｌ２とする。また、制約条件４０には、グループ１とグループ２との距離情報として距離Ｌ３、グループ１とグループ３との距離情報として距離Ｌ４が定義されているとする。ここで、距離Ｌ１＜距離Ｌ３、かつ、距離Ｌ４≦Ｌ２が成り立つとする。すなわち、配置候補位置８０に配置される対象セルと近傍セルであるセル６３との関係により第４のカテゴリーに分類された場合である。この場合、セル配置手段１３ａは、図８に示すように、配置候補位置８０を距離Ｌ１＋ｘ≦Ｌ３が成り立つように配置候補位置８０をｘだけ移動して対象セルの配置候補位置８１とする。これにより、対象セルと近傍セルであるセル６３との関係は制約情報の距離情報の距離Ｌ３を満足する。
【００６０】
セル配置手段１３ａは、新たな配置候補位置８１と近傍セルであるセル６４との関係を判定する。具体的には、新たな配置候補位置８１に対象セルを配置した場合の対象セルと近傍セルであるセル６４との距離が制約条件４０の距離情報を満足しているかを判定する。すなわち、距離Ｌ２−ｘ≦距離Ｌ４が成り立つかを判断する。距離Ｌ２−ｘ≦距離Ｌ４が成り立つ場合には、セル配置手段１３ａは、新たな配置候補位置８１に対象セルを配置可能であると判断して、新たな配置候補位置８１に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報５０に出力する。
【００６１】
距離Ｌ２−ｘ≦距離Ｌ４が成り立たない場合、すなわち、新たな配置候補位置８１に対象セルを配置すると制約条件４０の距離情報が満足できない場合、セル配置手段１３ａは、セル境界処理ができないと判断し、現在処理対象となっている未使用領域を配置不可領域として登録する。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段１１に出力する。
【００６２】
検索通知を受け取ると、配置可能領域検索手段１１は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段１２は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段１３ａは、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報５０に出力するとともに、配置不可領域の登録をクリアする。
【００６３】
自動配置装置１０ａは、ネットリスト２０に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す。
【００６４】
上述したようにこの実施の形態２では、セル境界処理として、配置候補位置に対象セルを配置した場合に対象セルと近傍セルとの間の距離を製造基準違反が発生しない所定の距離以上になるように配置候補位置を移動するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【００６５】
なお、この実施の形態２では、制約条件４０の距離情報に、グループ１に属するセルとグループ２に属するセルとを配置する場合には距離Ｌ３、グループ１に属するセルとグループ３に属するセルとを配置する場合には距離Ｌ４というように、対象セルが属するグループと近傍セルが属するグループにより、１つの距離を定義した例をあげて説明したが、制約条件４０の距離情報はこれに限るものではない。
【００６６】
たとえば、グループ１に属する対象セル（図５の場合、配置候補位置８０に配置しようとしているセル）に対して右側の近傍セル（図５の場合、セル６４）がグループ２に属する場合には距離ＬＡを、グループ１に属する対象セルに対して左側の近傍セル（図５の場合、セル６３）がグループ２に属する場合には距離ＬＢを、グループ１に属する対象セルに対して右側の近傍セルがグループ３に属する場合には距離ＬＣを、グループに１属する対象セルに対して左側の近傍セルがグループ３に属する場合には距離ＬＤをというように定義してもよい。
【００６７】
このように対象セルと近傍セルとの方向を考慮して対象セルと近傍セルとの間の距離を決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、半導体集積回路の集積度を上げることができる。
【００６８】
【発明の効果】
以上説明したように、この発明にかかる自動配置装置によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【図面の簡単な説明】
【図１】この発明における実施の形態１の自動配置装置の構成および入出力関連を示す図である。
【図２】この発明における実施の形態１の自動配置装置の動作を説明するためのフローチャートである。
【図３】この発明における実施の形態１の自動配置装置の動作を説明するための図である。
【図４】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図５】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図６】この発明における実施の形態１の自動配置装置が配置した対象セルの配置結果を示す図である。
【図７】この発明における実施の形態２の自動配置装置の構成および入出力関連を示す図である。
【図８】この発明における実施の形態２の自動配置装置の動作を説明するための図である。
【符号の説明】
１０，１０ａ  自動配置装置、１１、配置可能領域検索手段、１２  セル分類手段、１３  セル配置手段、２０  ネットリスト、３０  配置配線用ライブラリ、４０  制約条件、５０  セル配置情報、６０，６１，６２，６３，６４，６５，６６  セル、７０  配置可能領域、８０，８１  配置候補位置。
【図１】
2004362420.tif 000003
【図２】
2004362420.tif 000004
【図３】
2004362420.tif 000005
【図４】
2004362420.tif 000006
【図５】
2004362420.tif 000007
【図６】
2004362420.tif 000008
【図７】
2004362420.tif 000009
【図８】
2004362420.tif 000010