JP2004362420A - 自動配置装置 - Google Patents
自動配置装置 Download PDFInfo
- Publication number
- JP2004362420A JP2004362420A JP2003162199A JP2003162199A JP2004362420A JP 2004362420 A JP2004362420 A JP 2004362420A JP 2003162199 A JP2003162199 A JP 2003162199A JP 2003162199 A JP2003162199 A JP 2003162199A JP 2004362420 A JP2004362420 A JP 2004362420A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- target cell
- neighboring
- target
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる自動配置装置を提供すること。
【解決手段】セル分類手段は、配置候補位置に対象セルを配置した場合に対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置する。
【選択図】 図1
【解決手段】セル分類手段は、配置候補位置に対象セルを配置した場合に対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト時のセルの自動配置装置に関するものである。
【0002】
【従来の技術】
従来から、セルベースなどの半導体集積回路では、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などの標準セル(以下、セルとする)を内部領域に複数配置し、それらセルをネットリストの接続情報にしたがって配線することで、所望の機能を実現してきた。配置配線では、ネットリストに定義されているセルを物理的に配置、配線しなければならない。そのため、従来技術では、セルを擬似的に大きく見せかけることにより、セル間に一定の幅の配線専用領域を設け、複数のセル間での端子集中を回避し、端子密度を緩和することで、配線の混雑、あるいは未完結配線の発生を未然に防ぐようにしている(たとえば、特許文献1参照)。
【0003】
【特許文献1】
特開2001−127160号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、セルサイズを実際のセルサイズよりも擬似的に大きく見せかけて設けた配線専用の領域すべてが配線に使用されるとは限らない。そのため、配線に使用されなかった領域は、無駄な領域となってしまい、半導体集積回路の集積度の低下をまねいてしまうという問題があった。
【0005】
また、セルベース設計においては、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などのセルのゲートレベルのレイアウトの大部分が完了しており、これらのセルの情報は配置配線用ライブラリとして用意されている。配置配線用ライブラリに定義されるセルは、動作速度や駆動能力などのセルの特性を考慮して設計されているため、全てのセルが同一のトランジスタで作られているとは限らない。すなわち、配置配線用ライブラリに定義されているセルは、たとえば、セルAとセルBとでは異なるトランジスタで作られていることがある。このようなセルは、隣接して配置すると製造基準違反となってしまう。
【0006】
しかしながら、配置配線用ライブラリには、レイアウト情報全てが登録されるわけではない。一般的に、配置配線用ライブラリには、接続済みの活性領域やゲートなどの情報を定義することは無く、セルサイズ、ならびに各セルを接続するために必要な端子位置など主に配線工程に関する情報が定義される。すなわち、配置配線用ライブラリには、セルのレイアウト情報の一部を抽出した情報が定義される。したがって、セルの自動配置において配置配線用ライブラリに欠落しているセルの実例アウト情報に起因する製造基準違反の発生を制御することはできない。そのため、各セルを設計する際に、隣接配置しても製造基準違反が発生しないように境界部分でのレイアウト仕様を統一する、もしくは、自動配置装置を用いてセルの配置を行う際には、隣接配置すると製造基準違反が発生する可能性があるセルを使用しないなどの制約を設けていた。
【0007】
しかしながら、セルの境界部分でのレイアウト仕様を統一した場合には、セルの面積が大きくなってしまうという問題があった。セルの面積が大きくなると、これらのセルを用いて設計した半導体集積回路の面積も大きくなってしまう。
【0008】
また、自動配置装置を用いる際に隣接配置すると製造基準違反が発生する可能性があるセルを使用しないようにした場合には、レイアウトしようが異なるセルに対する取り扱いが限定されることになり、セル配置の自由度が低下してしまい、結果的に半導体集積回路の面積が大きくなってしまうという問題があった。
【0009】
半導体集積回路の面積が大きくなると、1枚のウエハから取れる半導体集積回路の数が減少する。半導体製造の多層配線技術や微細化技術が進むにつれ、1枚あたりのウエハの製造コストは高くなる傾向にあるため、半導体集積回路の面積が大きくなると、製造コストの増加を招くという問題もあった。
【0010】
この発明は上記に鑑みてなされたもので、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる自動配置装置を得ることを目的としている。
【0011】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる自動配置装置は、半導体集積回路のセル間の接続情報が定義されているネットリストと、少なくとも該ネットリストに定義されているセルを含む各セルのセル幅が定義されている配置配線用ライブラリとに基づいて、前記半導体集積回路内のセル配置可能領域に該ネットリストに定義されているセルを配置する自動配置装置において、前記ネットリストのセルの1つを配置位置を決定する対象セルとして、前記半導体集積回路内のセル配置可能領域の中から前記対象セルを配置可能な配置可能領域を検索する配置可能領域検索手段と、前記配置可能領域内に前記対象セルを配置する配置候補位置を決定し、該決定した配置候補位置に前記対象セルを配置した場合に、該対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索し、前記対象セルと前記近傍セルとの関係を複数のカテゴリーの中のどのカテゴリーに属するかを分類するセル分類手段と、前記対象セルを前記配置候補位置に配置した際に、前記対象セルと前記近傍セルとの関係が、この関係を規定する複数のカテゴリーの中の製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して前記対象セルを前記配置候補位置に配置するセル配置手段とを備えることを特徴とする。
【0012】
この発明によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしている。
【0013】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる自動配置装置の好適な実施の形態を詳細に説明する。
【0014】
実施の形態1.
図1〜図6を用いて本発明における実施の形態1を説明する。図1は、この発明における実施の形態1の自動配置装置10の構成および入出力関連図である。
【0015】
ネットリスト20には、半導体集積回路が所望の機能を実現するためのセルを定義するセル情報と、セル間の接続を示す接続情報とを定義する。
【0016】
配置配線用ライブラリ30には、少なくともネットリスト20のセル情報に定義されているセルのセルサイズ(セルの高さおよび幅)および各セルを接続するために必要な端子位置などの配線工程に関する情報を定義するとともに、制約条件40に基づいて製造基準違反が発生する可能性のあるセル同士を隣接配置する際に、セル間に配置する繋ぎセルのセルサイズを定義する。繋ぎセルは、ナンドやオアといった論理を実現するものではなく、製造基準違反が発生する可能性のあるセル同士を隣接配置することが可能な実レイアウト構造で構成されるセルである。すなわち、繋ぎセルは、製造基準違反が発生する可能性のあるセル間に配置することで製造基準違反を回避することが可能なレイアウト構造を有したセルである。なお、繋ぎセルは、1種類でもよいし、異なるセルサイズを複数定義してもよい。また、この繋ぎセルは、必ずしも隣接配置するセル間の隙間を埋める必要があるというものでもない。
【0017】
制約条件40には、配置配線用ライブラリ30に登録されている各セルのグループ情報、距離情報および隣接配置する場合に必要な繋ぎセル情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ1、グループ2、グループ3…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように定義する。繋ぎセル情報には、異なるグループに属するセルを隣接する場合に、距離情報に定義されている距離が保たれていない場合に使用する繋ぎセルを定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するという情報を定義する。
【0018】
自動配置装置10は、配置可能領域検索手段11と、セル分類手段12と、セル配置手段13とを備えており、ネットリスト20、配置配線用ライブラリ30および制約条件に基づいて半導体集積回路内のセル配置可能領域に各セルを配置してセル配置情報50を出力する。
【0019】
配置可能領域検索手段11は、ネットリスト20に定義されている各セルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない未使用領域から対象セルを配置可能な配置可能領域を決定する。
【0020】
セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定し、決定した配置候補位置に対象セルを配置した場合に対象セルと近傍のセルとの関係を後述するカテゴリーに分類する。
【0021】
セル配置手段13は、制約条件40に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報50を生成する。
【0022】
図2のフローチャートおよび図3〜図6を参照して、この発明における実施の形態1の自動配置装置10の動作を説明する。配置可能領域検索手段11は、ネットリスト20に定義されているセルから配置対象となる対象セルを決定する(ステップS100)。そして、セル配置可能領域内でまだセルが配置されていない配置可能領域を検索する(ステップS110)。
【0023】
図3においては、セル60が対象セルであり、セル配置可能領域にセル61〜65が配置されており、セル63とセル64の間にセルが配置されていない配置可能領域70が存在している。配置可能領域検索手段11は、たとえば、ネットリスト20に定義されているセル間の接続情報に基づいて対象セルであるセル60と接続されているセルの近くの未使用の配置可能領域70を検索する。
【0024】
配置可能領域検索手段11は、検索した配置可能領域70が対象セルを配置可能な領域であるかを判断する(ステップS120)。具体的には、配置配線用ライブラリ30から対象セルのセルサイズを読み出し、対象セルのセル幅と検索した未使用領域の幅とを比較する。検索した未使用領域の幅が対象セルのセル幅以上の場合、配置可能領域検索手段11は、検索した配置可能領域に対象セルを配置可能と判断し、配置可能領域を決定する(ステップS130)。検索した未使用領域の幅が対象セルのセル幅よりも小さかった場合、配置可能領域検索手段11は、検索した未使用領域に対象セルを配置不可能と判断し、配置可能領域から別の未使用領域を検索する動作を繰り返す(ステップS110,S120)。
【0025】
図3においては、配置配線用ライブラリ30に定義されている対象セルであるセル60のセル幅がX1、配置可能領域検索手段11が検索した配置可能領域70の幅がX2である。ここで、X1≦X2が成り立っているものとすると、配置可能領域検索手段11は、配置可能領域70を対象セルであるセル60の配置可能領域に決定する。
【0026】
配置可能領域が決定すると、セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、決定した配置候補位置に対象セルを配置した場合に、対象セルと他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索する。セル分類手段12は、制約条件40に基づいて検索した近傍セルと対象セルとの関係が属するカテゴリーを判断する(ステップS140)。
【0027】
第1のカテゴリーは、対象セルに対して近傍セルが存在しない場合である。図4に示すように、配置可能領域70内に対象セルを配置する配置候補位置80を決定したとする。配置候補位置80の横方向(対象セルと他のセルが隣接する可能性のある各方向)には既に配置されているセルは存在していない。このような場合を第1のカテゴリーとする。
【0028】
第2のカテゴリーは、対象セルと近傍セルとが同一グループに属する場合である。図5においては、配置候補位置80の横方向にセル63およびセル64が配置されており、セル63およびセル64が対象セルの近傍セルである。対象セルとセル63とセル64とが、制約条件40の同一グループに属している場合、第2のカテゴリーとする。
【0029】
第3のカテゴリーは、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離以上離れている場合である。図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の距離情報として、グループ1とグループ2との距離情報に距離L3、グループ1とグループ3との距離情報に距離L4が定義されているとする。配置候補位置80とセル63との距離を距離L1とすると、距離L3≦距離L1が成り立つ場合、対象セルと近傍セルであるセル63とは第3のカテゴリーとする。また、配置候補位置80と近傍セルであるセル64との距離を距離L2とすると、距離L4≦距離L2が成り立つ場合、対象セルと近傍セルであるセル64は第3のカテゴリーとする。
【0030】
第4のカテゴリーは、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近い場合である。図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の距離情報として、グループ1とグループ2との距離情報に距離L3、グループ1とグループ3との距離情報に距離L4が定義されているとする。配置候補位置80とセル63との距離L1とすると、距離L3>距離L1が成り立つ場合、対象セルと近傍セルであるセル63は第4のカテゴリーとする。また、配置候補位置80と近傍セルであるセル64との距離をL2とすると、距離L4>距離L2が成り立つ場合、対象セルと近傍セルであるセル64は第4のカテゴリーとする。
【0031】
このようにセル分類手段12は、制約条件40に基づいて対象セルと近傍セルとの関係が属するカテゴリーを判断する。
【0032】
セル配置手段13は、対象セルと近傍セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する(ステップS150)。近傍セルと対象セルとの関係が第1のカテゴリーに属している場合、対象セルに対して近傍セルが存在しないので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第1のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0033】
近傍セルと対象セルとの関係が第2のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の同一グループに属しているので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第2のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0034】
近傍セルと対象セルとの関係が3のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離以上離れているので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第3のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0035】
近傍セルと対象セルとの関係が4のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近いので、セル分類手段12が決定した配置候補位置に対象セルを配置すると製造基準違反が発生する可能性がある。したがって、セル配置手段13は、近傍セルと対象セルとの関係が第4のカテゴリーに属している場合セル境界処理を行う必要があると判断する。
【0036】
セル境界処理が必要ないと判断すると、セル配置手段13は、配置候補位置に対象セルを配置する(ステップS160)。すなわち、対象セルと近傍セルとの関係が、第1のカテゴリー〜第3のカテゴリーのいずれかに属する場合、セル配置手段13は、セル分類手段12が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0037】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第4のカテゴリーに属している場合、セル配置手段13は、セル境界処理が可能であるかを判断する(ステップS170)。具体的には、制約条件40の繋ぎセル情報から、対象セルと近傍セルとを配置するために使用する繋ぎセルを読み出す。そして、対象セルを配置候補位置に配置し、かつ配置候補位置に隣接して対象セルと近傍セルとを配置するために使用する繋ぎセルを配置可能であるかを判断する。
【0038】
図5の場合、対象セルの配置候補位置80と近傍セルであるセル63との間に対象セルとセル63との間に必要な繋ぎセルを、対象セルの配置候補位置80と近傍セルであるセル64との間に対象セルとセル64との間に必要な繋ぎセルをそれぞれ配置可能であるかを判断する。ここで、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の繋ぎセル情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するという情報が定義されているとする。また、配置配線用ライブラリ30には、繋ぎセルAのセル幅がW1、繋ぎセルBのセル幅がW2として定義されている。配置候補位置80とセル63との距離L1と対象セルとセル63との間に必要な繋ぎセルAのセル幅をW1との間にW1≦L1が、配置候補位置80とセル64との距離L2と対象セルとセル64との間に必要な繋ぎセルBのセル幅をW2との間にW2≦L2が成り立つかどうかを判断する。セル幅W1≦距離L1、かつ、セル幅W2≦距離L2が成り立つ場合、対象セルに隣接して繋ぎセルを配置するセル境界処理が可能であると判断する。
【0039】
セル境界処理が可能であると判断すると、セル配置手段13は、配置候補位置に対象セルを配置し、対象セルに隣接して繋ぎセルを配置する(ステップS180)。具体的には、図6に示すように、対象セルであるセル60を配置候補位置に配置し、対象セルであるセル60と近傍セルであるセル63との間に繋ぎセル65を配置し、対象セルであるセル60と近傍セルであるセル64との間に繋ぎセル66を配置する。そして、配置したセル60、繋ぎセル65,66のそれぞれの配置位置の情報をセル配置情報50に出力する。
【0040】
一方、セル境界処理ができないと判断すると(セル幅W1>距離L1、または、セル幅W2>距離L2の場合)、セル配置手段13は、現在処理対象となっている未使用領域を配置不可領域として登録する(ステップS190)。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段11に出力する。
【0041】
検索通知を受け取ると、配置可能領域検索手段11は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段12は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段13は、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す(ステップS110〜S190)。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報50に出力するとともに、配置不可領域の登録をクリアする。
【0042】
自動配置装置10は、ネットリスト20に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す(ステップS200)。
【0043】
上述したようにこの実施の形態1では、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【0044】
なお、この実施の形態1では、制約条件40の繋ぎセル情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するというように、対象セルが属するグループと近傍セルが属するグループにより、1つの繋ぎセルを定義した例をあげて説明したが、制約条件40の繋ぎセル情報はこれに限るものではない。
【0045】
たとえば、グループ1に属する対象セル(図5の場合、配置候補位置80に配置しようとしているセル)に対して右側の近傍セル(図5の場合、セル64)がグループ2に属する場合には繋ぎセルAを、グループ1に属する対象セルに対して左側の近傍セル(図5の場合、セル63)がグループ2に属する場合には繋ぎセルBを、グループ1に属する対象セルに対して右側の近傍セルがグループ3に属する場合には繋ぎセルCを、グループに1属する対象セルに対して左側の近傍セルがグループ3に属する場合には繋ぎセルDをというように定義してもよい。
【0046】
また、グループ1に属する対象セルに対してグループ2に属する近傍セルとの距離が所定の値(ここではL5とする)未満の場合には繋ぎセルEを、グループ1に属する対象セルに対してグループ2に属する近傍セルとの距離がL5以上離れている場合には繋ぎセルFを、グループ1に属する対象セルに対してグループ3に属する近傍セルとの距離が所定の値(ここではL6とする)未満の場合には繋ぎセルGを、グループ1に属する対象セルに対してグループ3に属する近傍セルとの距離がL6以上離れている場合には繋ぎセルHを使用するというように定義してもよい。
【0047】
さらに、対象セルの右側の近傍セルとその距離、対象セルの左側の近傍セルとその距離を組み合わせて使用する繋ぎセルを定義してもよい。
【0048】
このように、対象セルと近傍セルとの距離や方向を考慮して繋ぎセルを決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、条件に応じた繋ぎセルを用いることができ、半導体集積回路の集積度を上げることができる。
【0049】
実施の形態2.
図7および図8を用いて、この発明における実施の形態2を説明する。実施の形態1では、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近い場合、制約条件40の繋ぎセル情報に定義されている繋ぎセルを対象セルに隣接して配置するセル境界処理を行った。この実施の形態2では、繋ぎセルを用いたセル境界処理ではなく、配置候補位置を調整して対象セルを配置するセル境界処理を行うものである。
【0050】
図7は、この発明における実施の形態2の自動配置装置10aの構成および入出力関連図である。この発明における実施の形態2の自動配置装置10aは、図1に示した実施の形態1の配置配線用ライブラリ30の代わりに配置配線用ライブラリ30aが、制約条件40の代わりに制約条件40aが入力されており、セル配置手段13の変わりにセル配置手段13aを備えている。図1に示した実施の形態1の自動配置装置10の構成および入出力関連図と同じ構成要素には同一符号を付し、重複する説明は省略する。
【0051】
配置配線用ライブラリ30aには、ネットリスト20で定義されているセルのセルサイズおよび各セルを接続するために必要な端子位置などの配線工程に関する情報を定義する。
【0052】
制約条件40aには、配置配線用ライブラリ30aに登録されている各セルのグループ情報および距離情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ1、グループ2、グループ3…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように定義する。
【0053】
セル配置手段13aは、制約条件40に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報50を生成する。
【0054】
つぎに、この発明における実施の形態2の自動配置装置10aの動作を説明する。この実施の形態2の自動配置装置10aの動作は、セル配置手段13aのセル境界処理以外、実施の形態1の自動配置装置10と同様となるので、ここでは配置可能領域検索手段11およびセル分類手段12の詳細な動作については省略する。
【0055】
配置可能領域検索手段11は、ネットリスト20に定義されているセルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない配置可能領域から対象セルを配置可能な配置可能領域を決定する。
【0056】
セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、対象セルと近傍セルとの関係が属するカテゴリーを判定する。
【0057】
セル配置手段13aは、近傍セルと対象セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する。対象セルと近傍セルとの関係が第1のカテゴリー〜第3のカテゴリーのいずれかに属している場合、セル境界処理が必要ないと判断して、セル分類手段12が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0058】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第4のカテゴリーに属している場合、セル配置手段13aは、セル分類手段12が決定した対象セルの配置候補位置を調整するセル境界処理を行う。
【0059】
図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、配置候補位置80とセル63との距離を距離L1、配置候補位置80と近傍セルであるセル64との距離を距離L2とする。また、制約条件40には、グループ1とグループ2との距離情報として距離L3、グループ1とグループ3との距離情報として距離L4が定義されているとする。ここで、距離L1<距離L3、かつ、距離L4≦L2が成り立つとする。すなわち、配置候補位置80に配置される対象セルと近傍セルであるセル63との関係により第4のカテゴリーに分類された場合である。この場合、セル配置手段13aは、図8に示すように、配置候補位置80を距離L1+x≦L3が成り立つように配置候補位置80をxだけ移動して対象セルの配置候補位置81とする。これにより、対象セルと近傍セルであるセル63との関係は制約情報の距離情報の距離L3を満足する。
【0060】
セル配置手段13aは、新たな配置候補位置81と近傍セルであるセル64との関係を判定する。具体的には、新たな配置候補位置81に対象セルを配置した場合の対象セルと近傍セルであるセル64との距離が制約条件40の距離情報を満足しているかを判定する。すなわち、距離L2−x≦距離L4が成り立つかを判断する。距離L2−x≦距離L4が成り立つ場合には、セル配置手段13aは、新たな配置候補位置81に対象セルを配置可能であると判断して、新たな配置候補位置81に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0061】
距離L2−x≦距離L4が成り立たない場合、すなわち、新たな配置候補位置81に対象セルを配置すると制約条件40の距離情報が満足できない場合、セル配置手段13aは、セル境界処理ができないと判断し、現在処理対象となっている未使用領域を配置不可領域として登録する。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段11に出力する。
【0062】
検索通知を受け取ると、配置可能領域検索手段11は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段12は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段13aは、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報50に出力するとともに、配置不可領域の登録をクリアする。
【0063】
自動配置装置10aは、ネットリスト20に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す。
【0064】
上述したようにこの実施の形態2では、セル境界処理として、配置候補位置に対象セルを配置した場合に対象セルと近傍セルとの間の距離を製造基準違反が発生しない所定の距離以上になるように配置候補位置を移動するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【0065】
なお、この実施の形態2では、制約条件40の距離情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように、対象セルが属するグループと近傍セルが属するグループにより、1つの距離を定義した例をあげて説明したが、制約条件40の距離情報はこれに限るものではない。
【0066】
たとえば、グループ1に属する対象セル(図5の場合、配置候補位置80に配置しようとしているセル)に対して右側の近傍セル(図5の場合、セル64)がグループ2に属する場合には距離LAを、グループ1に属する対象セルに対して左側の近傍セル(図5の場合、セル63)がグループ2に属する場合には距離LBを、グループ1に属する対象セルに対して右側の近傍セルがグループ3に属する場合には距離LCを、グループに1属する対象セルに対して左側の近傍セルがグループ3に属する場合には距離LDをというように定義してもよい。
【0067】
このように対象セルと近傍セルとの方向を考慮して対象セルと近傍セルとの間の距離を決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、半導体集積回路の集積度を上げることができる。
【0068】
【発明の効果】
以上説明したように、この発明にかかる自動配置装置によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【図面の簡単な説明】
【図1】この発明における実施の形態1の自動配置装置の構成および入出力関連を示す図である。
【図2】この発明における実施の形態1の自動配置装置の動作を説明するためのフローチャートである。
【図3】この発明における実施の形態1の自動配置装置の動作を説明するための図である。
【図4】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図5】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図6】この発明における実施の形態1の自動配置装置が配置した対象セルの配置結果を示す図である。
【図7】この発明における実施の形態2の自動配置装置の構成および入出力関連を示す図である。
【図8】この発明における実施の形態2の自動配置装置の動作を説明するための図である。
【符号の説明】
10,10a 自動配置装置、11、配置可能領域検索手段、12 セル分類手段、13 セル配置手段、20 ネットリスト、30 配置配線用ライブラリ、40 制約条件、50 セル配置情報、60,61,62,63,64,65,66 セル、70 配置可能領域、80,81 配置候補位置。
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウト時のセルの自動配置装置に関するものである。
【0002】
【従来の技術】
従来から、セルベースなどの半導体集積回路では、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などの標準セル(以下、セルとする)を内部領域に複数配置し、それらセルをネットリストの接続情報にしたがって配線することで、所望の機能を実現してきた。配置配線では、ネットリストに定義されているセルを物理的に配置、配線しなければならない。そのため、従来技術では、セルを擬似的に大きく見せかけることにより、セル間に一定の幅の配線専用領域を設け、複数のセル間での端子集中を回避し、端子密度を緩和することで、配線の混雑、あるいは未完結配線の発生を未然に防ぐようにしている(たとえば、特許文献1参照)。
【0003】
【特許文献1】
特開2001−127160号公報
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、セルサイズを実際のセルサイズよりも擬似的に大きく見せかけて設けた配線専用の領域すべてが配線に使用されるとは限らない。そのため、配線に使用されなかった領域は、無駄な領域となってしまい、半導体集積回路の集積度の低下をまねいてしまうという問題があった。
【0005】
また、セルベース設計においては、アンド回路やオア回路などの論理回路、フリップフロップやラッチ回路などの状態保持回路などのセルのゲートレベルのレイアウトの大部分が完了しており、これらのセルの情報は配置配線用ライブラリとして用意されている。配置配線用ライブラリに定義されるセルは、動作速度や駆動能力などのセルの特性を考慮して設計されているため、全てのセルが同一のトランジスタで作られているとは限らない。すなわち、配置配線用ライブラリに定義されているセルは、たとえば、セルAとセルBとでは異なるトランジスタで作られていることがある。このようなセルは、隣接して配置すると製造基準違反となってしまう。
【0006】
しかしながら、配置配線用ライブラリには、レイアウト情報全てが登録されるわけではない。一般的に、配置配線用ライブラリには、接続済みの活性領域やゲートなどの情報を定義することは無く、セルサイズ、ならびに各セルを接続するために必要な端子位置など主に配線工程に関する情報が定義される。すなわち、配置配線用ライブラリには、セルのレイアウト情報の一部を抽出した情報が定義される。したがって、セルの自動配置において配置配線用ライブラリに欠落しているセルの実例アウト情報に起因する製造基準違反の発生を制御することはできない。そのため、各セルを設計する際に、隣接配置しても製造基準違反が発生しないように境界部分でのレイアウト仕様を統一する、もしくは、自動配置装置を用いてセルの配置を行う際には、隣接配置すると製造基準違反が発生する可能性があるセルを使用しないなどの制約を設けていた。
【0007】
しかしながら、セルの境界部分でのレイアウト仕様を統一した場合には、セルの面積が大きくなってしまうという問題があった。セルの面積が大きくなると、これらのセルを用いて設計した半導体集積回路の面積も大きくなってしまう。
【0008】
また、自動配置装置を用いる際に隣接配置すると製造基準違反が発生する可能性があるセルを使用しないようにした場合には、レイアウトしようが異なるセルに対する取り扱いが限定されることになり、セル配置の自由度が低下してしまい、結果的に半導体集積回路の面積が大きくなってしまうという問題があった。
【0009】
半導体集積回路の面積が大きくなると、1枚のウエハから取れる半導体集積回路の数が減少する。半導体製造の多層配線技術や微細化技術が進むにつれ、1枚あたりのウエハの製造コストは高くなる傾向にあるため、半導体集積回路の面積が大きくなると、製造コストの増加を招くという問題もあった。
【0010】
この発明は上記に鑑みてなされたもので、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる自動配置装置を得ることを目的としている。
【0011】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる自動配置装置は、半導体集積回路のセル間の接続情報が定義されているネットリストと、少なくとも該ネットリストに定義されているセルを含む各セルのセル幅が定義されている配置配線用ライブラリとに基づいて、前記半導体集積回路内のセル配置可能領域に該ネットリストに定義されているセルを配置する自動配置装置において、前記ネットリストのセルの1つを配置位置を決定する対象セルとして、前記半導体集積回路内のセル配置可能領域の中から前記対象セルを配置可能な配置可能領域を検索する配置可能領域検索手段と、前記配置可能領域内に前記対象セルを配置する配置候補位置を決定し、該決定した配置候補位置に前記対象セルを配置した場合に、該対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索し、前記対象セルと前記近傍セルとの関係を複数のカテゴリーの中のどのカテゴリーに属するかを分類するセル分類手段と、前記対象セルを前記配置候補位置に配置した際に、前記対象セルと前記近傍セルとの関係が、この関係を規定する複数のカテゴリーの中の製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して前記対象セルを前記配置候補位置に配置するセル配置手段とを備えることを特徴とする。
【0012】
この発明によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリーのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしている。
【0013】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる自動配置装置の好適な実施の形態を詳細に説明する。
【0014】
実施の形態1.
図1〜図6を用いて本発明における実施の形態1を説明する。図1は、この発明における実施の形態1の自動配置装置10の構成および入出力関連図である。
【0015】
ネットリスト20には、半導体集積回路が所望の機能を実現するためのセルを定義するセル情報と、セル間の接続を示す接続情報とを定義する。
【0016】
配置配線用ライブラリ30には、少なくともネットリスト20のセル情報に定義されているセルのセルサイズ(セルの高さおよび幅)および各セルを接続するために必要な端子位置などの配線工程に関する情報を定義するとともに、制約条件40に基づいて製造基準違反が発生する可能性のあるセル同士を隣接配置する際に、セル間に配置する繋ぎセルのセルサイズを定義する。繋ぎセルは、ナンドやオアといった論理を実現するものではなく、製造基準違反が発生する可能性のあるセル同士を隣接配置することが可能な実レイアウト構造で構成されるセルである。すなわち、繋ぎセルは、製造基準違反が発生する可能性のあるセル間に配置することで製造基準違反を回避することが可能なレイアウト構造を有したセルである。なお、繋ぎセルは、1種類でもよいし、異なるセルサイズを複数定義してもよい。また、この繋ぎセルは、必ずしも隣接配置するセル間の隙間を埋める必要があるというものでもない。
【0017】
制約条件40には、配置配線用ライブラリ30に登録されている各セルのグループ情報、距離情報および隣接配置する場合に必要な繋ぎセル情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ1、グループ2、グループ3…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように定義する。繋ぎセル情報には、異なるグループに属するセルを隣接する場合に、距離情報に定義されている距離が保たれていない場合に使用する繋ぎセルを定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するという情報を定義する。
【0018】
自動配置装置10は、配置可能領域検索手段11と、セル分類手段12と、セル配置手段13とを備えており、ネットリスト20、配置配線用ライブラリ30および制約条件に基づいて半導体集積回路内のセル配置可能領域に各セルを配置してセル配置情報50を出力する。
【0019】
配置可能領域検索手段11は、ネットリスト20に定義されている各セルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない未使用領域から対象セルを配置可能な配置可能領域を決定する。
【0020】
セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定し、決定した配置候補位置に対象セルを配置した場合に対象セルと近傍のセルとの関係を後述するカテゴリーに分類する。
【0021】
セル配置手段13は、制約条件40に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報50を生成する。
【0022】
図2のフローチャートおよび図3〜図6を参照して、この発明における実施の形態1の自動配置装置10の動作を説明する。配置可能領域検索手段11は、ネットリスト20に定義されているセルから配置対象となる対象セルを決定する(ステップS100)。そして、セル配置可能領域内でまだセルが配置されていない配置可能領域を検索する(ステップS110)。
【0023】
図3においては、セル60が対象セルであり、セル配置可能領域にセル61〜65が配置されており、セル63とセル64の間にセルが配置されていない配置可能領域70が存在している。配置可能領域検索手段11は、たとえば、ネットリスト20に定義されているセル間の接続情報に基づいて対象セルであるセル60と接続されているセルの近くの未使用の配置可能領域70を検索する。
【0024】
配置可能領域検索手段11は、検索した配置可能領域70が対象セルを配置可能な領域であるかを判断する(ステップS120)。具体的には、配置配線用ライブラリ30から対象セルのセルサイズを読み出し、対象セルのセル幅と検索した未使用領域の幅とを比較する。検索した未使用領域の幅が対象セルのセル幅以上の場合、配置可能領域検索手段11は、検索した配置可能領域に対象セルを配置可能と判断し、配置可能領域を決定する(ステップS130)。検索した未使用領域の幅が対象セルのセル幅よりも小さかった場合、配置可能領域検索手段11は、検索した未使用領域に対象セルを配置不可能と判断し、配置可能領域から別の未使用領域を検索する動作を繰り返す(ステップS110,S120)。
【0025】
図3においては、配置配線用ライブラリ30に定義されている対象セルであるセル60のセル幅がX1、配置可能領域検索手段11が検索した配置可能領域70の幅がX2である。ここで、X1≦X2が成り立っているものとすると、配置可能領域検索手段11は、配置可能領域70を対象セルであるセル60の配置可能領域に決定する。
【0026】
配置可能領域が決定すると、セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、決定した配置候補位置に対象セルを配置した場合に、対象セルと他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索する。セル分類手段12は、制約条件40に基づいて検索した近傍セルと対象セルとの関係が属するカテゴリーを判断する(ステップS140)。
【0027】
第1のカテゴリーは、対象セルに対して近傍セルが存在しない場合である。図4に示すように、配置可能領域70内に対象セルを配置する配置候補位置80を決定したとする。配置候補位置80の横方向(対象セルと他のセルが隣接する可能性のある各方向)には既に配置されているセルは存在していない。このような場合を第1のカテゴリーとする。
【0028】
第2のカテゴリーは、対象セルと近傍セルとが同一グループに属する場合である。図5においては、配置候補位置80の横方向にセル63およびセル64が配置されており、セル63およびセル64が対象セルの近傍セルである。対象セルとセル63とセル64とが、制約条件40の同一グループに属している場合、第2のカテゴリーとする。
【0029】
第3のカテゴリーは、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離以上離れている場合である。図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の距離情報として、グループ1とグループ2との距離情報に距離L3、グループ1とグループ3との距離情報に距離L4が定義されているとする。配置候補位置80とセル63との距離を距離L1とすると、距離L3≦距離L1が成り立つ場合、対象セルと近傍セルであるセル63とは第3のカテゴリーとする。また、配置候補位置80と近傍セルであるセル64との距離を距離L2とすると、距離L4≦距離L2が成り立つ場合、対象セルと近傍セルであるセル64は第3のカテゴリーとする。
【0030】
第4のカテゴリーは、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近い場合である。図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の距離情報として、グループ1とグループ2との距離情報に距離L3、グループ1とグループ3との距離情報に距離L4が定義されているとする。配置候補位置80とセル63との距離L1とすると、距離L3>距離L1が成り立つ場合、対象セルと近傍セルであるセル63は第4のカテゴリーとする。また、配置候補位置80と近傍セルであるセル64との距離をL2とすると、距離L4>距離L2が成り立つ場合、対象セルと近傍セルであるセル64は第4のカテゴリーとする。
【0031】
このようにセル分類手段12は、制約条件40に基づいて対象セルと近傍セルとの関係が属するカテゴリーを判断する。
【0032】
セル配置手段13は、対象セルと近傍セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する(ステップS150)。近傍セルと対象セルとの関係が第1のカテゴリーに属している場合、対象セルに対して近傍セルが存在しないので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第1のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0033】
近傍セルと対象セルとの関係が第2のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の同一グループに属しているので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第2のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0034】
近傍セルと対象セルとの関係が3のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離以上離れているので、セル分類手段12が決定した配置候補位置に対象セルを配置しても製造基準違反が発生する可能性がない。しがたって、セル配置手段13は、近傍セルと対象セルとの関係が第3のカテゴリーに属している場合セル境界処理は必要ないと判断する。
【0035】
近傍セルと対象セルとの関係が4のカテゴリーに属している場合、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近いので、セル分類手段12が決定した配置候補位置に対象セルを配置すると製造基準違反が発生する可能性がある。したがって、セル配置手段13は、近傍セルと対象セルとの関係が第4のカテゴリーに属している場合セル境界処理を行う必要があると判断する。
【0036】
セル境界処理が必要ないと判断すると、セル配置手段13は、配置候補位置に対象セルを配置する(ステップS160)。すなわち、対象セルと近傍セルとの関係が、第1のカテゴリー〜第3のカテゴリーのいずれかに属する場合、セル配置手段13は、セル分類手段12が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0037】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第4のカテゴリーに属している場合、セル配置手段13は、セル境界処理が可能であるかを判断する(ステップS170)。具体的には、制約条件40の繋ぎセル情報から、対象セルと近傍セルとを配置するために使用する繋ぎセルを読み出す。そして、対象セルを配置候補位置に配置し、かつ配置候補位置に隣接して対象セルと近傍セルとを配置するために使用する繋ぎセルを配置可能であるかを判断する。
【0038】
図5の場合、対象セルの配置候補位置80と近傍セルであるセル63との間に対象セルとセル63との間に必要な繋ぎセルを、対象セルの配置候補位置80と近傍セルであるセル64との間に対象セルとセル64との間に必要な繋ぎセルをそれぞれ配置可能であるかを判断する。ここで、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、制約条件40の繋ぎセル情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するという情報が定義されているとする。また、配置配線用ライブラリ30には、繋ぎセルAのセル幅がW1、繋ぎセルBのセル幅がW2として定義されている。配置候補位置80とセル63との距離L1と対象セルとセル63との間に必要な繋ぎセルAのセル幅をW1との間にW1≦L1が、配置候補位置80とセル64との距離L2と対象セルとセル64との間に必要な繋ぎセルBのセル幅をW2との間にW2≦L2が成り立つかどうかを判断する。セル幅W1≦距離L1、かつ、セル幅W2≦距離L2が成り立つ場合、対象セルに隣接して繋ぎセルを配置するセル境界処理が可能であると判断する。
【0039】
セル境界処理が可能であると判断すると、セル配置手段13は、配置候補位置に対象セルを配置し、対象セルに隣接して繋ぎセルを配置する(ステップS180)。具体的には、図6に示すように、対象セルであるセル60を配置候補位置に配置し、対象セルであるセル60と近傍セルであるセル63との間に繋ぎセル65を配置し、対象セルであるセル60と近傍セルであるセル64との間に繋ぎセル66を配置する。そして、配置したセル60、繋ぎセル65,66のそれぞれの配置位置の情報をセル配置情報50に出力する。
【0040】
一方、セル境界処理ができないと判断すると(セル幅W1>距離L1、または、セル幅W2>距離L2の場合)、セル配置手段13は、現在処理対象となっている未使用領域を配置不可領域として登録する(ステップS190)。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段11に出力する。
【0041】
検索通知を受け取ると、配置可能領域検索手段11は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段12は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段13は、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す(ステップS110〜S190)。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報50に出力するとともに、配置不可領域の登録をクリアする。
【0042】
自動配置装置10は、ネットリスト20に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す(ステップS200)。
【0043】
上述したようにこの実施の形態1では、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルと近傍セルとの関係が対象セルを配置候補位置に配置した際に製造基準違反が発生するカテゴリーに属している場合、配置候補位置に隣接して全てのセルと隣接配置が可能なレイアウト構造を有する繋ぎセルを配置するセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【0044】
なお、この実施の形態1では、制約条件40の繋ぎセル情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には繋ぎセルAを、グループ1に属するセルとグループ3に属するセルとを配置する場合には繋ぎセルBを使用するというように、対象セルが属するグループと近傍セルが属するグループにより、1つの繋ぎセルを定義した例をあげて説明したが、制約条件40の繋ぎセル情報はこれに限るものではない。
【0045】
たとえば、グループ1に属する対象セル(図5の場合、配置候補位置80に配置しようとしているセル)に対して右側の近傍セル(図5の場合、セル64)がグループ2に属する場合には繋ぎセルAを、グループ1に属する対象セルに対して左側の近傍セル(図5の場合、セル63)がグループ2に属する場合には繋ぎセルBを、グループ1に属する対象セルに対して右側の近傍セルがグループ3に属する場合には繋ぎセルCを、グループに1属する対象セルに対して左側の近傍セルがグループ3に属する場合には繋ぎセルDをというように定義してもよい。
【0046】
また、グループ1に属する対象セルに対してグループ2に属する近傍セルとの距離が所定の値(ここではL5とする)未満の場合には繋ぎセルEを、グループ1に属する対象セルに対してグループ2に属する近傍セルとの距離がL5以上離れている場合には繋ぎセルFを、グループ1に属する対象セルに対してグループ3に属する近傍セルとの距離が所定の値(ここではL6とする)未満の場合には繋ぎセルGを、グループ1に属する対象セルに対してグループ3に属する近傍セルとの距離がL6以上離れている場合には繋ぎセルHを使用するというように定義してもよい。
【0047】
さらに、対象セルの右側の近傍セルとその距離、対象セルの左側の近傍セルとその距離を組み合わせて使用する繋ぎセルを定義してもよい。
【0048】
このように、対象セルと近傍セルとの距離や方向を考慮して繋ぎセルを決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、条件に応じた繋ぎセルを用いることができ、半導体集積回路の集積度を上げることができる。
【0049】
実施の形態2.
図7および図8を用いて、この発明における実施の形態2を説明する。実施の形態1では、対象セルと近傍セルとが制約条件40の異なるグループに属しており、かつ、対象セルと近傍セルとの距離が制約条件40の距離情報に定義されている距離よりも近い場合、制約条件40の繋ぎセル情報に定義されている繋ぎセルを対象セルに隣接して配置するセル境界処理を行った。この実施の形態2では、繋ぎセルを用いたセル境界処理ではなく、配置候補位置を調整して対象セルを配置するセル境界処理を行うものである。
【0050】
図7は、この発明における実施の形態2の自動配置装置10aの構成および入出力関連図である。この発明における実施の形態2の自動配置装置10aは、図1に示した実施の形態1の配置配線用ライブラリ30の代わりに配置配線用ライブラリ30aが、制約条件40の代わりに制約条件40aが入力されており、セル配置手段13の変わりにセル配置手段13aを備えている。図1に示した実施の形態1の自動配置装置10の構成および入出力関連図と同じ構成要素には同一符号を付し、重複する説明は省略する。
【0051】
配置配線用ライブラリ30aには、ネットリスト20で定義されているセルのセルサイズおよび各セルを接続するために必要な端子位置などの配線工程に関する情報を定義する。
【0052】
制約条件40aには、配置配線用ライブラリ30aに登録されている各セルのグループ情報および距離情報を定義する。グループ情報には、レイアウト形状により隣接配置が可能なセルを、たとえば、グループ1、グループ2、グループ3…というようにグループ分けしておき、そのセルがどのグループに属するかを定義する。距離情報には、異なるグループに属するセルを隣接配置する場合に必要な距離の情報を定義する。たとえば、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように定義する。
【0053】
セル配置手段13aは、制約条件40に基づいてセル配置可能位置に対象セルを配置可能であるかを判断し、セル間処理が必要な場合には、セル間処理を施して対象セルの配置位置を決定してセル配置情報50を生成する。
【0054】
つぎに、この発明における実施の形態2の自動配置装置10aの動作を説明する。この実施の形態2の自動配置装置10aの動作は、セル配置手段13aのセル境界処理以外、実施の形態1の自動配置装置10と同様となるので、ここでは配置可能領域検索手段11およびセル分類手段12の詳細な動作については省略する。
【0055】
配置可能領域検索手段11は、ネットリスト20に定義されているセルから配置対象となる対象セルを決定し、セル配置可能領域内でまだセルが配置されていない配置可能領域から対象セルを配置可能な配置可能領域を決定する。
【0056】
セル分類手段12は、配置可能領域内に対象セルを配置する配置候補位置を決定する。そして、対象セルと近傍セルとの関係が属するカテゴリーを判定する。
【0057】
セル配置手段13aは、近傍セルと対象セルとの関係が属するカテゴリーに基づいて、セル境界処理が必要であるか否かを判定する。対象セルと近傍セルとの関係が第1のカテゴリー〜第3のカテゴリーのいずれかに属している場合、セル境界処理が必要ないと判断して、セル分類手段12が決定した配置候補位置に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0058】
セル境界処理が必要であると判断した場合、すなわち、対象セルと近傍セルとの関係が第4のカテゴリーに属している場合、セル配置手段13aは、セル分類手段12が決定した対象セルの配置候補位置を調整するセル境界処理を行う。
【0059】
図5において、対象セルがグループ1に、近傍セルであるセル63がグループ2に、近傍セルである64がグループ3にそれぞれ属しており、配置候補位置80とセル63との距離を距離L1、配置候補位置80と近傍セルであるセル64との距離を距離L2とする。また、制約条件40には、グループ1とグループ2との距離情報として距離L3、グループ1とグループ3との距離情報として距離L4が定義されているとする。ここで、距離L1<距離L3、かつ、距離L4≦L2が成り立つとする。すなわち、配置候補位置80に配置される対象セルと近傍セルであるセル63との関係により第4のカテゴリーに分類された場合である。この場合、セル配置手段13aは、図8に示すように、配置候補位置80を距離L1+x≦L3が成り立つように配置候補位置80をxだけ移動して対象セルの配置候補位置81とする。これにより、対象セルと近傍セルであるセル63との関係は制約情報の距離情報の距離L3を満足する。
【0060】
セル配置手段13aは、新たな配置候補位置81と近傍セルであるセル64との関係を判定する。具体的には、新たな配置候補位置81に対象セルを配置した場合の対象セルと近傍セルであるセル64との距離が制約条件40の距離情報を満足しているかを判定する。すなわち、距離L2−x≦距離L4が成り立つかを判断する。距離L2−x≦距離L4が成り立つ場合には、セル配置手段13aは、新たな配置候補位置81に対象セルを配置可能であると判断して、新たな配置候補位置81に対象セルを配置する。そして、対象セルの配置位置の情報をセル配置情報50に出力する。
【0061】
距離L2−x≦距離L4が成り立たない場合、すなわち、新たな配置候補位置81に対象セルを配置すると制約条件40の距離情報が満足できない場合、セル配置手段13aは、セル境界処理ができないと判断し、現在処理対象となっている未使用領域を配置不可領域として登録する。そして、対象セルを配置するために、他の未使用領域を検索するための検索通知を配置可能領域検索手段11に出力する。
【0062】
検索通知を受け取ると、配置可能領域検索手段11は、配置不可領域に登録されている未使用領域を検索対象外として、対象セルが配置可能な未使用領域を検索し、セル分類手段12は、対象セルと近傍セルとの関係が属するカテゴリーを判定し、セル配置手段13aは、対象セルを配置候補位置に配置可能であるかを判断する動作を対象セルが配置できるまで繰り返す。そして、対象セルおよび繋ぎセルの配置位置が決定すると、決定した対象セルおよび繋ぎセルの配置位置の情報をセル配置情報50に出力するとともに、配置不可領域の登録をクリアする。
【0063】
自動配置装置10aは、ネットリスト20に定義されているセル全ての配置位置が決定するまで、このような動作を繰り返す。
【0064】
上述したようにこの実施の形態2では、セル境界処理として、配置候補位置に対象セルを配置した場合に対象セルと近傍セルとの間の距離を製造基準違反が発生しない所定の距離以上になるように配置候補位置を移動するようにしているため、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【0065】
なお、この実施の形態2では、制約条件40の距離情報に、グループ1に属するセルとグループ2に属するセルとを配置する場合には距離L3、グループ1に属するセルとグループ3に属するセルとを配置する場合には距離L4というように、対象セルが属するグループと近傍セルが属するグループにより、1つの距離を定義した例をあげて説明したが、制約条件40の距離情報はこれに限るものではない。
【0066】
たとえば、グループ1に属する対象セル(図5の場合、配置候補位置80に配置しようとしているセル)に対して右側の近傍セル(図5の場合、セル64)がグループ2に属する場合には距離LAを、グループ1に属する対象セルに対して左側の近傍セル(図5の場合、セル63)がグループ2に属する場合には距離LBを、グループ1に属する対象セルに対して右側の近傍セルがグループ3に属する場合には距離LCを、グループに1属する対象セルに対して左側の近傍セルがグループ3に属する場合には距離LDをというように定義してもよい。
【0067】
このように対象セルと近傍セルとの方向を考慮して対象セルと近傍セルとの間の距離を決定するようにすれば、製造基準違反を発生させることなくすべてのセルを自動配置することができるとともに、半導体集積回路の集積度を上げることができる。
【0068】
【発明の効果】
以上説明したように、この発明にかかる自動配置装置によれば、セル分類手段は、配置処理の対象となる対象セルを配置する配置候補位置を決定し、配置候補位置に対象セルを配置した場合に、対象セルと、対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルとの関係を複数のカテゴリのどのカテゴリーに属するかを分類し、セル配置手段は、対象セルを配置候補位置に配置した際に、対象セルと近傍セルとの関係が製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して対象セルを配置候補位置に配置するようにしているため、予め準備されている各セルのレイアウト形状により隣接配置することができないセルがある場合でも、製造基準違反を発生させることなくすべてのセルを自動配置することができる。
【図面の簡単な説明】
【図1】この発明における実施の形態1の自動配置装置の構成および入出力関連を示す図である。
【図2】この発明における実施の形態1の自動配置装置の動作を説明するためのフローチャートである。
【図3】この発明における実施の形態1の自動配置装置の動作を説明するための図である。
【図4】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図5】対象セルと近傍セルとの関係を示すカテゴリーを説明するための図である。
【図6】この発明における実施の形態1の自動配置装置が配置した対象セルの配置結果を示す図である。
【図7】この発明における実施の形態2の自動配置装置の構成および入出力関連を示す図である。
【図8】この発明における実施の形態2の自動配置装置の動作を説明するための図である。
【符号の説明】
10,10a 自動配置装置、11、配置可能領域検索手段、12 セル分類手段、13 セル配置手段、20 ネットリスト、30 配置配線用ライブラリ、40 制約条件、50 セル配置情報、60,61,62,63,64,65,66 セル、70 配置可能領域、80,81 配置候補位置。
Claims (7)
- 半導体集積回路のセル間の接続情報が定義されているネットリストと、少なくとも該ネットリストに定義されているセルを含む各セルのセル幅が定義されている配置配線用ライブラリとに基づいて、前記半導体集積回路内のセル配置可能領域に該ネットリストに定義されているセルを配置する自動配置装置において、
前記ネットリストのセルの1つを配置位置を決定する対象セルとして、前記半導体集積回路内のセル配置可能領域の中から前記対象セルを配置可能な配置可能領域を検索する配置可能領域検索手段と、
前記配置可能領域内に前記対象セルを配置する配置候補位置を決定し、該決定した配置候補位置に前記対象セルを配置した場合に、該対象セルに対して他のセルが隣接する可能性のある各方向に対してそれぞれ最も近くに配置されているセルである近傍セルを検索し、前記対象セルと前記近傍セルとの関係を複数のカテゴリーの中のどのカテゴリーに属するかを分類するセル分類手段と、
前記対象セルを前記配置候補位置に配置した際に、前記対象セルと前記近傍セルとの関係が、この関係を規定する複数のカテゴリーの中の製造基準違反が発生するカテゴリーに属している場合、所定のセル境界処理を施して前記対象セルを前記配置候補位置に配置するセル配置手段と、
を備えることを特徴とする自動配置装置。 - 前記セル分類手段は、
前記対象セルと前記近傍セルとの関係を、前記対象セルに対して前記近傍セルが存在しない第1のカテゴリーと、前記対象セルと前記近傍セルとが同一グループに属しかつ隣接配置しても製造基準違反が発生しない第2のカテゴリーと、前記対象セルと前記近傍セルとが異なるグループに属しかつ隣接配置した場合製造基準違反場発生する可能性があるが前記対象セルと前記近傍セルとの距離が所定の距離だけ離れている第3のカテゴリーと、前記対象セルと前記近傍セルとが異なるグループに属しかつ隣接配置した場合製造基準違反が発生する可能性があり前記対象セルと前記近傍セルとの距離が所定の距離未満である第4のカテゴリーとのいずれかに分類することを特徴とする請求項1に記載の自動配置装置。 - 前記セル配置手段は、
前記対象セルと前記近傍セルとの関係が、前記第4のカテゴリーに属する場合に前記所定のセル境界処理を施すことを特徴とする請求項2に記載の自動配置装置。 - 前記所定のセル境界処理は、
前記対象セルと前記近傍セルとが属するグループにより定められている前記対象セルと前記近傍セルとの間に全てのセルと隣接配置が可能なレイアウト形状を有する繋ぎセルを前記配置候補位置に隣接して配置することを特徴とする請求項1〜3の何れか一つに記載の自動配置装置。 - 前記繋ぎセルを複数準備しておき、前記対象セルに対して近傍セルが位置する方向および/または距離により前記複数の繋ぎセルの中から使用する繋ぎセルを選択することを特徴とする請求項4に記載の自動配置装置。
- 前記所定のセル境界処理は、
前記配置候補位置に前記対象セルを配置した場合に前記対象セルと前記近傍セルとの間の距離を製造基準違反が発生しない所定の距離以上になるように前記配置候補位置を移動することを特徴とする請求項1〜3の何れか一つに記載の自動配置装置。 - 前記所定の距離は、前記対象セルに対して近傍セルが位置する方向により異なる距離とすることを特徴とする請求項6に記載の自動配置装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162199A JP2004362420A (ja) | 2003-06-06 | 2003-06-06 | 自動配置装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162199A JP2004362420A (ja) | 2003-06-06 | 2003-06-06 | 自動配置装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004362420A true JP2004362420A (ja) | 2004-12-24 |
Family
ID=34054417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003162199A Pending JP2004362420A (ja) | 2003-06-06 | 2003-06-06 | 自動配置装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004362420A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150035405A (ko) * | 2013-09-27 | 2015-04-06 | 에이알엠 리미티드 | 집적회로 레이아웃을 생성하는 방법 |
EP4068358A2 (en) | 2021-03-30 | 2022-10-05 | Renesas Electronics Corporation | Semiconductor integrated circuit |
-
2003
- 2003-06-06 JP JP2003162199A patent/JP2004362420A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150035405A (ko) * | 2013-09-27 | 2015-04-06 | 에이알엠 리미티드 | 집적회로 레이아웃을 생성하는 방법 |
KR102407458B1 (ko) | 2013-09-27 | 2022-06-10 | 에이알엠 리미티드 | 집적회로 레이아웃을 생성하는 방법 |
EP4068358A2 (en) | 2021-03-30 | 2022-10-05 | Renesas Electronics Corporation | Semiconductor integrated circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170152B2 (en) | Integrated circuit and layout method for standard cell structures | |
US6006024A (en) | Method of routing an integrated circuit | |
US5987086A (en) | Automatic layout standard cell routing | |
US5984510A (en) | Automatic synthesis of standard cell layouts | |
US6209123B1 (en) | Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors | |
US7137094B2 (en) | Method for reducing layers revision in engineering change order | |
Khatkhate et al. | Recursive bisection based mixed block placement | |
US8516428B2 (en) | Methods, systems, and media to improve manufacturability of semiconductor devices | |
US11031385B2 (en) | Standard cell for removing routing interference between adjacent pins and device including the same | |
US4701778A (en) | Semiconductor integrated circuit having overlapping circuit cells and method for designing circuit pattern therefor | |
US6857107B2 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
EP1065721A2 (en) | Standard cells and method for placing and routing thereof | |
US6410972B1 (en) | Standard cell having a special region and semiconductor integrated circuit containing the standard cells | |
WO1991006061A1 (en) | Improved routing system and method for integrated circuits | |
US6560753B2 (en) | Integrated circuit having tap cells and a method for positioning tap cells in an integrated circuit | |
US4786613A (en) | Method of combining gate array and standard cell circuits on a common semiconductor chip | |
US7178122B2 (en) | Semiconductor integrated circuit, method of designing semiconductor integrated circuit, and device for designing the same | |
US5369595A (en) | Method of combining gate array and standard cell circuits on a common semiconductor chip | |
Agnihotri et al. | Mixed block placement via fractional cut recursive bisection | |
US6075934A (en) | Method for optimizing contact pin placement in an integrated circuit | |
US7062739B2 (en) | Gate reuse methodology for diffused cell-based IP blocks in platform-based silicon products | |
US6938232B2 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
JP2004362420A (ja) | 自動配置装置 | |
US11636249B2 (en) | Integrated circuit and layout method for standard cell structures | |
CN110895647A (zh) | 一种增加集成电路逆向工程难度的方法及芯片 |