(57)【要約】【課題】  チップサイズが冗長に大きくなることを抑えながら、半導体集積回路のレイアウトにおける配線修正作業を減らし、回路の設計を効率化する。【解決手段】  半導体集積回路の基板上に配置されるセルの内で、同一論理で駆動能力の近いセルを、同一寸法のセル枠内で、同一位置の端子を持つ形式にする。またこのような形式のセルの内で、駆動能力の小さいセルのセル枠内の冗長な領域に他のセルを配置する。【選択図】図１
2006260299.tif 000002
【特許請求の範囲】
【請求項１】
基板上にセルが配置される半導体集積回路のレイアウト方法であって、
同一論理で、同一寸法のセル枠と同一位置の端子を有し、駆動能力が近い複数のセルを含むセルレイアウト情報に基づいて該基板上に該セルを配置するとともに、配置されたセル間を接続する配線を生成する配置・配線工程と、
前記配置・配線工程において得られた配線レイアウト情報に基づいて、前記セル間パスの配線抵抗及び／又は配線間容量を抽出する抽出工程と、
前記配線抵抗及び／又は配線間容量の値に基づいて前記セル間パスのタイミング検証を行うタイミング検証工程と、
前記タイミング検証工程においてエラーと判定されたパスに対応するセルを、同一論理で、同一寸法のセル枠と同一位置の端子を有し駆動能力が異なる別のセルに置き換えるセル置換工程と
を有することを特徴とする半導体集積回路のレイアウト方法。
【請求項２】
前記駆動能力の近い複数のセルが、前記半導体集積回路に搭載される同一論理のセルを、駆動能力に対応して複数のグループにグループ化した結果の１つのグループ内のセルであることを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項３】
前記同一論理で駆動能力の近い複数のセルの内で、駆動能力の小さいセルのセル枠内の冗長な領域に他のセルが配置されることを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項４】
前記他のセルが、電源間静電容量を形成するためのセルであることを特徴とする請求項５記載の半導体集積回路のレイアウト方法。
【請求項５】
前記他のセルが、セル配置後の修正のために使用されるバルクセルであることを特徴とする請求項５記載の半導体集積回路のレイアウト方法。
【請求項６】
前記同一論理で駆動能力が近い複数のセルが、セル枠が同一寸法であり、端子の位置が同一であることを示すセル名を持つことを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項７】
前記同一論理で駆動能力の近い複数のセルが、該駆動能力の近い複数のセルの中で最大のセル枠寸法を持つセルと同一のセル枠を持つことを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項８】
前記同一論理で駆動能力の近い複数のセルが、該駆動能力の近い各セルの端子形状の重なる位置を前記同一端子位置として持つことを特徴とする請求項１記載の半導体集積回路のレイアウト方法。
【請求項９】
半導体集積回路の基板上に配置されるセルのセル枠共通化処理を実行する計算機によって使用されるプログラムであって、
セルの内で、同一論理で駆動能力の近い各セルのレイアウト情報を読み込む手順と、
該各セルの中で最大のセルのセル枠寸法にあわせて共通のセル枠を作成する手順と、
該各セルの端子形状が重なる位置を共通の端子位置として出力する手順とを計算機に実行させることを特徴とするセル枠共通化プログラム。
【請求項１０】
半導体集積回路の基板上に配置されるセルのセル枠共通化処理を実行する計算機によって使用される記憶媒体であって、
セルの内で、同一論理で駆動能力の近い各セルのレイアウト情報を読み込むステップと、
該各セルの中で最大のセルのセル枠寸法にあわせて共通のセル枠を作成するステップと、
該各セルの端子形状が重なる位置を共通の端子位置として出力するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体基板上にセルが配置され、セルに対する配線が行われる半導体集積回路に係り、さらに詳しくはセルのレイアウト後に配置されたセルを、同一論理であって駆動能力の異なるセルに置き換える作業を減らすことができる半導体集積回路、セルライブラリ、およびセル枠共通化プログラムに関する。
【背景技術】
【０００２】
本発明が対象とする半導体集積回路の設計においては、半導体基板上に複数のセルの配置、すなわちレイアウトが行われて、半導体集積回路としてのチップが作成される。このチップ上にセルをレイアウトする作業においては、まず最初にタイミングエラーが発生しないような見積りを行ないながらセルが配置され、セル間の配線が行なわれる。
【０００３】
その後、チップ上の配線間容量や配線抵抗の抽出が行なわれ、信号の遅延量が計算され、タイミングエラーの検証が行われる。タイミングエラーが検出された場合には、レイアウト修正のために、配置されたセルを同一論理で駆動能力が異なるセルに置き換える作業が行なわれる。
【０００４】
駆動能力が異なるセルについては、同一論理であっても、セルのサイズや端子の位置が同じになるように作られてはいない。そのため駆動能力が大きいセル、すなわち一般的にセルサイズが大きいセルへの置き換えを行なう場合には、セルの移動を行なう必要があることが多い。セルを移動させた場合や、移動させなくともセルの端子位置が異なる場合には、端子に接続されていた配線の修正を行なう必要がある。配線を修正した場合には、配線間容量と配線抵抗を再抽出する作業が必要となる。配線の修正と、配線抵抗などの再抽出の作業には多くの時間がかかり、タイミングエラーの修正のための作業量が大きくなるという問題点があった。
このような半導体集積回路の設計や、そのレイアウトに関する従来技術として、次の文献がある。
【特許文献１】特開平８−１８１２１６号「ライブラリ群及びそれを用いた半導体集積回路」
【特許文献２】特開２００３−２８２７１１号「半導体集積回路とその設計手法」
【０００５】
特許文献１には、チャネル幅が小さいトランジスタによって基本セルを構成し、論理機能が同じで負荷駆動能力が異なる論理ゲートや、機能ブロックのサイズと入出力端子位置を同一とすることによって、論理ゲートなどの配置、配線のやり直しや修正を伴わずに設計を行なうことが可能な論理ゲートや、機能ブロックのライブラリ群を提供する技術が開示されている。
【０００６】
特許文献２には、機能セルをバッファとインバータセルで構成し、その配置にあたりセルサイズを擬似的に大きく見せかけて配置し、実際のセルサイズとの差分領域に配線禁止領域などを設け、同一の論理機能セルであれば駆動能力の高低に関わらず、同一サイズで、かつ同一の入出力端子位置を持つ構成を有する半導体集積回路が開示されている。
【０００７】
このような従来技術では、配線の修正や配線抵抗などの再抽出の作業を減らすために、駆動能力が異なるセルでも同一論理機能を持つセルについては、セルサイズと端子位置を同じにする方法が取られている。しかしながら同一論理でのセルの駆動能力の範囲は一般に広く、その範囲内の同一論理のセルの全てに対してセルサイズと端子位置を同じにする場合には、結果的にセルサイズが非常に大きくなり、チップサイズが冗長に大きくなってしまうという問題点を解決することはできない。チップサイズが大きくなると製造コストが上がってしまい、その点からも同一論理のセルの全てのセルサイズや端子位置を同じにすることは問題である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の課題は、上述の問題点に鑑み、同一論理で駆動能力の近いセルの間で、セルのサイズと端子の位置を同一にすることによって、チップサイズが冗長に大きくなることを抑えながら、半導体集積回路のレイアウトにおける配線の修正作業を減らし、半導体集積回路の設計を効率化することである。
【課題を解決するための手段】
【０００９】
図１は、本発明の半導体集積回路におけるセルの基本説明図である。本発明の半導体集積回路は、基板上にセルが配置される半導体集積回路であり、その基板上に配置されるセルの内で、同一論理で駆動能力の近いセルが、同一寸法のセル枠内で同一位置の端子を持つような半導体集積回路である。
【００１０】
図１には（ａ）、（ｂ）にそれぞれ同一のセル枠内で駆動能力の異なるセルが示されている。すなわち、セル枠１のサイズは同一であり、２つの電源端子４の間にはさまれる形式で、入力端子２と出力端子３とを持つセルが示されている。同図（ａ）と（ｂ）とでは、入力端子２はほぼ同一の形状を持ち、これに対して出力端子３は（ｂ）ではＨ型の構造となっているが、（ａ）の出力端子３と同一位置にある部分を含んでおり、この部分に対して配線を行なうことにすれば、（ａ）と（ｂ）のセルとは配線を修正することなく置き換えが可能である。
【００１１】
本発明のセルライブラリは、半導体集積回路の基板上に配置されるセルのライブラリであり、同一論理で駆動能力の近いセルに対しては、そのセルが同一寸法のセル枠内で端子の位置が同一であることを示すデータを格納するセルライブラリである。
【００１２】
また本発明のセルライブラリは、同一寸法のセル枠内で端子の位置が同一であり、同一論理で駆動能力の近いセルの中で、そのセル枠内に冗長な領域を持つセルに対して、その冗長領域に埋め込まれた他のセルを示すデータを格納するものである。
【００１３】
次に本発明のセル枠共通化プログラムは、半導体集積回路の基板上に配置されるセルのセル枠共通化プログラムであり、セルの内で同一論理で駆動能力の近い各セルのレイアウト情報を読み込む手順と、そのセルの中で最大のセルの寸法にあわせて共通のセル枠を作成する手順と、各セルの端子形状が重なる位置を共通の端子位置として出力する手順とを計算機に実行させるためのものであり、また記憶媒体として、このセル枠共通化プログラムを格納した計算機読出し可能可搬型記憶媒体が用いられる。
【００１４】
以上のように本発明によれば、半導体集積回路の基板上に配置されるべきセルの内で、同一論理で駆動能力の近いセルに対しては、それらのセルが同一寸法の枠内で同一位置の端子を持つように配置が可能となる。
【発明の効果】
【００１５】
本発明によれば、同一論理で駆動能力の近いセル、すなわち駆動能力がある範囲内に収まるようなセルのセルサイズと端子の位置を同じにすることによって、半導体集積回路のセルのレイアウトにおける配線の修正や、配線間容量と配線抵抗の再抽出作業を減らすことができ、チップサイズが冗長に大きくなることも防止され、半導体集積回路の設計効率向上に寄与するところが大きい。
【発明を実施するための最良の形態】
【００１６】
本発明は、同一論理で駆動能力が異なるセルの間でセルのサイズと端子の位置を同じにすることにより、セルのレイアウトにおける配線の修正や配線抵抗などの再抽出の作業を減らすものである。しかし、セルの駆動能力は一般にその範囲が広く、駆動能力が大きくなるとともにセルサイズが大きくなり、駆動能力に全く無関係にセルサイズを同一にすると、チップサイズが非常に冗長に大きくなってしまう。そこでこの問題点を避けるために、本実施形態では駆動能力が近いセルの間でのみ、セルのサイズと端子の位置とを合わせることにする。
【００１７】
ここで基本となる駆動能力、例えば最小の駆動能力を持つセルをｘ１で表し、このセルに対して同一論理でｎ倍の駆動能力を持つセルをｘｎで表すことにする。図２は、この基本となる駆動能力を持つセルｘ１の例を示す。
【００１８】
セルの駆動能力のラインナップとしてｘ１、ｘ２、ｘ４、ｘ８、ｘ１２、ｘ１６、およびｘ３２のラインナップがあるものとする。各駆動能力のセルの高さ、すなわち縦寸法は同じで、セルの幅、すなわち横寸法は駆動能力ｘ１、ｘ２のセルでは２μｍ、ｘ４のセルでは４μｍ、ｘ８のセルでは８μｍ、ｘ１２のセルでは１２μｍ、ｘ１６のセルでは１６μｍ、ｘ３２のセルでは３２μｍとなっているものとする。駆動能力ｘ１のセルと駆動能力ｘ３２のセルではセルの幅は大きく異なり、その２つのセルサイズを同一にする場合には、駆動能力ｘ１のセルには冗長な領域が大きくできてしまうことになる。
【００１９】
そこで本実施形態では、同一論理で駆動能力が近いセルの間でセルサイズと端子位置を同じにすることによって、セルサイズがあまり冗長に大きくなることを抑えるものとする。図３は、同一のセル幅を持つセルの駆動能力のラインナップの第１の例の説明図である。この第１の例では、ある駆動能力のセルは複数の幅で作られる。例えば駆動能力ｘ１のセルは２μｍと４μｍの２つの幅、ｘ２の駆動能力のセルは２μｍ、４μｍ、および８μｍの３つの幅で作られることになる。
【００２０】
図４は、セルの幅に対する駆動能力のラインナップの第２の例を示す。この第２の例では、ある駆動能力のセルは１つの幅のみで作られるものとし、ｘ１からｘ８までの駆動能力のセルの幅は８μｍ、ｘ１２からｘ３２までの駆動能力のセルの幅は３２μｍとされる。
【００２１】
図５は、セルの幅と駆動能力のラインナップの第３の例である。この第３の例では、各セルはセルサイズを合わせるための幅、または最小幅となるように作られる。例えばｘ１の駆動能力のセルは２μｍと８μｍの幅で、またｘ８の駆動能力のセルは最小幅８μｍのみで作られる。
【００２２】
このように本実施形態では、駆動能力の近いセルの間でセルサイズ、すなわちセルの幅を共通にするものとする。実際のセルのレイアウトにおいて、最小の駆動能力ｘ１のセルを最大の駆動能力ｘ３２のセルに置き換えることはほとんどなく、駆動能力毎に作成されるセルの幅を制限しても、レイアウトの修正効率が大きく落ちることはない。また冗長な領域がチップ内にあることが不適切な場合には、例えば図５の第３の例のように、冗長な幅を持つセルと合わせて冗長な幅を持たないセルを準備することによって、レイアウトの自由度を上げることもできる。各セルの駆動能力がほぼ決まった段階で、冗長な領域を持たないセルへの置き換えを行なうこともできる。この場合端子の位置は合っているものとする。
【００２３】
一般に駆動能力が大きなセルのサイズに駆動能力が小さなセルのサイズを合わせると、当然駆動能力が小さなセルの中に図１（ａ）に示したような冗長な領域が形成される。このようにセル内に形成された冗長な領域に他のセルを挿入することによって、冗長な領域の有効活用が可能となる。図６は、そのような冗長領域へ電源間静電容量が挿入されたセルの例である。同図において冗長な領域に電源間静電容量が他のセル６として挿入されている。
【００２４】
このように冗長な領域に挿入されるセルとしては、電源間静電容量の他に、例えばレイアウトの修正にあたって利用可能なバルクセルを挿入することもできる。そのようなバルクセルをここではエンジニアリング・チェンジ（ＥＣ）用バルクと呼ぶことにする。さらに冗長な領域に対しては、ＥＣ用バルクに転用することができる電源間静電容量セルを入れることも可能である。このようなＥＣ用バルクセルを挿入した場合、レイアウトの修正の目的で、そのセルを利用するためには、ＥＣ用バルクセルが挿入された論理セルから論理セルとＥＣ用バルクセルとの分離を行なうためのセル名の分離などを行なう必要があるが、この分離については後述する。
【００２５】
本実施形態において、同一論理で駆動能力が近いセルの間でセルのサイズと端子の位置を同じにするためには、全く新しくそのようなセルを作成することもできるが、既存のセルを利用して冗長なセルを作ることも可能である。既存のセルの駆動能力の範囲をグループ分けし、グループ内で最も大きなセルのサイズに合わせてセルの枠を作成し、全てのセルの各端子についてその共通部分を抽出する、例えば入力端子について全てのセルにおける共通部分を抽出することによって置き換え可能なセルを作ることができる。このように全ての端子の共通部分を抽出することをここではアンドをとると呼ぶことにする。図７は、例えば図２のセルと図１（ｂ）のセルとの各端子についてアンドをとった結果を示す。なおこのアンドをとった結果としては、各端子の全てに共通な部分だけでなく、一部のセルにしかない部分を含んでも良いことは当然である。
【００２６】
このようにグループ内で最も大きなセルサイズに合わせたセル枠を作成し、全ての端子についてアンドをとる場合には、アンドをとりやすいように既存のセルの端子の形状を大きくしたり、長くしたりした後に、その結果についてアンドをとることも可能である。図８は、このような端子形状変更の説明図である。同図において１番上に示される端子の形状を長く、あるいは幅を広くした結果に対してアンドをとることによって、最下部に示すように共通部分としての端子形状を抽出することが可能となる。
【００２７】
次に本実施形態においては、このような端子形状や端子の位置をピンスタイルとして示すことにする。図９はこのピンスタイル（のフラグ）と端子形状との関係の説明図である。同図は、例えば出力端子の端子形状とその位置（左詰め）を示すフラグとしてのピンスタイルの説明図である。左側と右側のセルのセルサイズは異なるが、その出力端子の形状と位置（左詰め）は同一の“ピンスタイルＡ”によって表される。中央のセルにおける出力端子は、ピンスタイルＡとは形状が異なるために“ピンスタイルＢ”によって表されている。
【００２８】
次にこのように駆動能力の近いセルの間でセルのサイズと端子形状を同一にする場合におけるセル名の実施例と、そのような同一のセルサイズと端子形状とを持つことを示すセルライブラリについて説明する。まずセル名については、セルサイズを含めてどの端子形状を持つかの情報を持たせる例として、新しいセル名を次のように表現することにする。
【００２９】
｛元セル名１｝＋｛ＰＡ｝、ただしＰＡは“ピンスタイルＡ”の略。
このように新しいセル名として、基本のセルの名称としての元セル名と、ピンスタイルのデータを持たせることによって、どの端子形状で、どの位置にあるかという端子についての情報を持たせることもできる。図９とは異なって、ピンスタイルＡにセル枠（セルサイズ）の情報も持たせるものとすれば、元セル名１＋ピンスタイルＡというセル名を新しいセル名として持たせることによって、どの既存セルが、どのセルサイズでどのような端子形状と位置を持つ新しいセルとして利用できるかが明らかとなる。
【００３０】
図１０から図１２は、このように新しいセルの情報を持たせたライブラリの説明図である。図１０では、“新セル名１”は既存の元セル名とは無関係な名称であり、前述のグループ内で最も大きなセル幅に対応するサイズ“ＸＸＸ  ＹＹＹ”、そのセル枠内でのピンスタイル、すなわち各端子の形状と、例えば左詰めでの位置を示す“ピンスタイルＡ”、入力端子、出力端子、電源端子の各端子の名称と座標とがライブラリのデータとして格納されている。ここで“ピンスタイルＡ”は１つのセル内の各端子ごとに定義してもよく、全ての端子形状と、前述のようにセルサイズもまとめて１つのピンスタイルで定義することもできる。なお“ピンスタイルＡ”によって端子の位置が表現される場合には各入力端子の座標は不要となる。
【００３１】
図１１は、セルライブラリの異なる表現法である。このライブラリでは、新しいセルの名称とそのサイズに加えて、各端子の名称と座標が格納されている。このライブラリではセルの端子、形状などをあらわすピンスタイルのデータは別のリストに記述されるものとする。
【００３２】
図１２は、図１１に対応してピンスタイルのデータを格納する端子形状対応表の説明図である。この対応表には、新しいセルの各セル名に対応して、そのセルの端子の形状や位置などを示すピンスタイルのデータが格納されている。
【００３３】
次に前述のように、冗長な領域に電極間容量セルやＥＣ用バルクセルが挿入された場合の、その挿入セルを示すセル名や、ライブラリの表現について説明する。まずセル名については、グループ内の最も大きなサイズのセルに合わせて作成されたセル枠内に、どの元セル、すなわち既存セルと、例えばどのＥＣ用バルクセルが入っているかの情報が、次の例のようにセル名内に表現される。
【００３４】
｛元セル名１｝＋｛ＢＡ｝、ただしＢＡは“バルクセルＡ”の略。
すなわちこの新しいセルのセル名には、このセルに既存セルとしての元セル名１のセルと、ＥＣ用バルクセルＡが入っていることになる。
【００３５】
図１３は、冗長な領域に他のセルが挿入されていることを示すセルライブラリの例である。この例では、図１０と比較すると、セルサイズの後にこの新しいセルがどのような２つのセルに分離されるかを示すＤＩＶＣＥＬＬのデータが格納されている。すなわちこのセルを分離することにより、元セル名１のセルと、ＥＣ用バルクセルＡとに置き換えることが可能なことが示され、分離した場合の各セルの座標が示されている。セル枠内でセルを左詰めに配置するものとすれば、配置座標を省略することができる。また元セル名１が前述のように新しいセル名に含まれる場合には、ＤＩＶＣＥＬＬに対応するデータとして、元セル名１とその座標を省略し、バルクセルＡとその座標だけを示すことも可能である。
【００３６】
図１４は、セルライブラリの異なる表現法の説明図である。この図は、セル分離情報としてのＤＩＶＣＥＬＬのデータが、セルライブラリではなく、別の対応表に格納される場合のライブラリの内容を示す。
【００３７】
図１５は、図１４に対応するセル分離情報としての分離後のセルの対応表の例である。それぞれの新しいセルの名称に対して、そのセルを分離した場合の元セルの名称と、例えばＥＣ用バルクセルの名称とが、対応する形式で格納されている。
【００３８】
図１０〜１５についての以上の説明では、セル名やセルライブラリとしてセルサイズや端子形状、位置を示す表現法と、冗長な領域に挿入されたセルのデータの表現法を別々に説明したが、セルサイズや端子形状、位置のデータと挿入セルのデータとの両方を示す場合には、これら２つの表現法を組み合わせれば良いことは当然である。
【００３９】
続いて本実施形態において、セルサイズと端子形状などを同一にするための、例えばＣＡＤによる処理などについて説明する。図１６は、セル枠共通化処理のフローチャートである。この処理では、前述の１つのグループに対応してセルサイズと端子形状、および端子位置の共通化の処理が行われる。
【００４０】
図１６において処理が開始されると、まずステップＳ１で前述のグループ内の複数のセルの情報、例えばレイアウト情報が読み込まれ、ステップＳ２で各セル内の領域に余裕があれば、前述のように端子形状のアンドを取りやすくするために端子の大きさが大きくされ、ステップＳ３で全てのセルサイズの中で最大のセルサイズに合わせたセル枠の作成が行なわれる。ここで最も大きいサイズに合わせることを、全てのセルサイズのオアをとると表現することにする。
【００４１】
そしてステップＳ４で、図７や図８で説明したように端子のアンドがとられ、共通の端子形状やその位置が出力される。この場合、図１７に示すようにステップＳ３で作成されたセル枠内でセルを移動させることによって、端子位置のアンドを取ることも可能である。この場合は、例えば前述のライブラリにおいて端子位置の座標が必要となることは当然である。
【００４２】
続いてステップＳ５で、端子形状や位置のアンドが取れたか否かが判定され、取れない場合には直ちに処理を終了する。全てのセルに対して端子の形状や位置のアンドが取れた場合には、ステップＳ６でステップＳ２において大きくされていた端子の部分で必要のない部分が除かれて端子が小さくされ、ステップＳ７で空き領域（冗長領域）に他のセル、例えばＥＣ用バルクセルが挿入され、ステップＳ８で新しいセルの情報、例えば前述のセル名やセルライブラリの情報が出力されて処理を終了する。なおステップＳ６の処理は省略可能であり、またステップＳ５でグループ内の全てのセルの端子形状と端子位置についてアンドが取れない場合にも、取れるセルを対象としてステップＳ６からステップＳ８の処理を実行することも可能である。
【００４３】
図１８は、セルレイアウトにおけるセル置き換え処理のフローチャートである。同図において処理が開始されると、まずステップＳ１１でレイアウト終了後、すなわちセルが配置され、配線されたデータが読み込まれ、ステップＳ１２で配線抵抗や配線間容量の抽出が実行され、ステップＳ１３でタイミングの検証や波形のなまりの検証が実行され、このような検証の結果、問題がなければ当然ここで処理を終了する。なおステップＳ１２の配線抵抗などの抽出処理は省略することが可能である。
【００４４】
ステップＳ１３での検証の結果、エラーが検出された場合には、ステップＳ１４でエラーが検出されたパスのセルがリストアップされ、ステップＳ１５でエラー解消が見込まれる置き換え可能なセル、一般に駆動能力が大きいセルがリストアップされ、ステップＳ１６でセルの置き換えが行なわれ、処理を終了する。なおこのような処理は基本的には従来と同様であるが、従来においてはセル置き換え後にも配線の修正が行なわれるために、ステップＳ１２以降の処理の繰返しが必要となる。
【００４５】
図１９は、セル分離処理のフローチャートである。この処理では、前述のように冗長な領域に挿入されたＥＣ用バルクセルや、電源間静電容量セルを実際に使用するために、このようなセルを分離した後の新しいセル情報を出力する処理が行なわれる。
【００４６】
図１９において処理が開始されると、ステップＳ２１でセルを含む画面の表示が行なわれる。なおここではグラフィカル・ユーザ・インターフェース（ＧＵＩ）を使用するものとして処理を説明する。ステップＳ２１の結果として、図２０の一番上に示す画面が表示される。この画面はセルを含んでいる。
【００４７】
続いてステップＳ２２で、図２０の中央に示すように、画面上で分離したいセルの選択が行なわれ、分離したいセルが複数ある場合にはセルのリストが作成され、その後このリスト内のセルのそれぞれに対して、ステップＳ２３からＳ２８の処理が行なわれる。
【００４８】
ステップＳ２３ではセルのリストから１つのセルが読み込まれ、ステップＳ２４でセル名やライブラリのデータから、そのセルの分離の可否が判定され、ステップＳ２５で分離不可の場合にはステップＳ２３以降の処理が繰り返される。
【００４９】
ステップＳ２５で分離可と判定されると、ステップＳ２６で分離後のセル情報が出力され、ステップＳ２７で図２０の下に示すように分離結果が表示され、ステップＳ２８で分離したいセルのリストが終わりであるか否かが判定され、終わりでない場合にはステップＳ２３以降の処理が繰り返され、リストが終わりと判定された時点で処理を終了する。
【００５０】
以上において本発明のセル枠共通化プログラムなどの処理についてその詳細を説明したが、このプログラムの実行を含むＣＡＤの処理は当然一般的なコンピュータシステムによって実行することが可能である。図２１はそのようなコンピュータシステム、すなわちハードウェア環境の構成ブロック図である。
【００５１】
図２１においてコンピュータシステムは中央処理装置（ＣＰＵ）１０、リードオンリメモリ（ＲＯＭ）１１、ランダムアクセスメモリ（ＲＡＭ）１２、通信インタフェース１３、記憶装置１４、入出力装置１５、可搬型記憶媒体の読取り装置１６、およびこれらの全てが接続されたバス１７によって構成されている。
【００５２】
記憶装置１４としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができ、このような記憶装置１４、またはＲＯＭ１１に図１６、図１８、図１９などのフローチャートに示されたプログラムや、本発明の特許請求の範囲の請求項９のプログラムなどが格納され、そのようなプログラムがＣＰＵ１０によって実行されることにより、本実施形態におけるセル枠共通化処理、セル置き換え処理、セル分離処理が可能となる。
【００５３】
このようなプログラムは、プログラム提供者１８からネットワーク１９、および通信インタフェース１３を介して、例えば記憶装置１４に格納されることも、また市販され、流通している可搬型記憶媒体２０に格納され、読取り装置１６にセットされて、ＣＰＵ１０によって実行されることも可能である。可搬型記憶媒体２０としてはＣＤ−ＲＯＭ、フレキシブルディスク、光ディスク、光磁気ディスク、ＤＶＤなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読取り装置１６によって読取られることにより、本実施形態におけるセル枠共通化処理などが可能となる。
【００５４】
（付記１）  基板上にセルが配置される半導体集積回路のレイアウト方法であって、
同一論理で、同一寸法のセル枠と同一位置の端子を有し、駆動能力が近い複数のセルを含むセルレイアウト情報に基づいて該基板上に該セルを配置するとともに、配置されたセル間を接続する配線を生成する配置・配線工程と、
前記配置・配線工程において得られた配線レイアウト情報に基づいて、前記セル間パスの配線抵抗及び／又は配線間容量を抽出する抽出工程と、
前記配線抵抗及び／又は配線間容量の値に基づいて前記セル間パスのタイミング検証を行うタイミング検証工程と、
前記タイミング検証工程においてエラーと判定されたパスに対応するセルを、同一論理で、同一寸法のセル枠と同一位置の端子を有し駆動能力が異なる別のセルに置き換えるセル置換工程と
を有することを特徴とする半導体集積回路のレイアウト方法。
（付記２）  前記駆動能力の近い複数のセルが、１つのセル、該１つのセルの次に駆動能力の小さいセル、および該１つのセルの次に駆動能力の大きいセルの３つであることを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記３）  前記駆動能力の近い複数のセルが、前記半導体集積回路に搭載される同一論理のセルを、駆動能力に対応して複数のグループにグループ化した結果の１つのグループ内のセルであることを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記４）  前記基板上に配置されるセルとして、前記駆動能力の近いセルとしての同一サイズのセル枠内で同一端子位置を持つセルの他に、各駆動能力のセルとして最小のセル枠を持つセルを使用可能とすることを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記５）  前記同一論理で駆動能力の近い複数のセルの内で、駆動能力の小さいセルのセル枠内の冗長な領域に他のセルが配置されることを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記６）  前記他のセルが、電源間静電容量を形成するためのセルであることを特徴とする付記５記載の半導体集積回路のレイアウト方法。
（付記７）  前記他のセルが、セル配置後の修正のために使用されるバルクセルであることを特徴とする付記５記載の半導体集積回路のレイアウト方法。
（付記８）  前記同一論理で駆動能力が近い複数のセルが、セル枠が同一寸法であり、端子の位置が同一であることを示すセル名を持つことを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記９）  前記同一論理で駆動能力の近い複数のセルが、該駆動能力の近い複数のセルの中で最大のセル枠寸法を持つセルと同一のセル枠を持つことを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記１０）  前記同一論理で駆動能力の近い複数のセルが、該駆動能力の近い各セルの端子形状の重なる位置を前記同一端子位置として持つことを特徴とする付記１記載の半導体集積回路のレイアウト方法。
（付記１１）  前記同一論理で駆動能力の近い複数のセルが、前記各セルの端子形状の重なる面積を大きくするために、冗長なサイズの端子形状を持つことを特徴とする付記１０記載の半導体集積回路のレイアウト方法。
（付記１２）  半導体集積回路の基板上に配置されるセルのセル枠共通化処理を実行する計算機によって使用されるプログラムであって、
セルの内で、同一論理で駆動能力の近い各セルのレイアウト情報を読み込む手順と、
該各セルの中で最大のセルのセル枠寸法にあわせて共通のセル枠を作成する手順と、
該各セルの端子形状が重なる位置を共通の端子位置として出力する手順とを計算機に実行させることを特徴とするセル枠共通化プログラム。
（付記１３）  前記レイアウト情報読込み手順の後に、
前記各セルのセル領域内で、端子の寸法を大きくする手順をさらに計算機に実行させることを特徴とする付記１２記載のセル枠共通化プログラム。
（付記１４）  前記端子位置出力手順の後に、
前記各セルの前記共通セル枠内の空き領域に他のセルを挿入する手順をさらに計算機に実行させることを特徴とする付記１２記載のセル枠共通化プログラム。
（付記１５）  半導体集積回路の基板上に配置されるセルのセル枠共通化処理を実行する計算機によって使用される記憶媒体であって、
セルの内で、同一論理で駆動能力の近い各セルのレイアウト情報を読み込むステップと、
該各セルの中で最大のセルのセル枠寸法にあわせて共通のセル枠を作成するステップと、
該各セルの端子形状が重なる位置を共通の端子位置として出力するステップとを計算機に実行させるためのプログラムを格納した計算機読出し可能可搬型記憶媒体。
【図面の簡単な説明】
【００５５】
【図１】本発明において同一寸法のセル枠内で同一位置の端子を持つセルの具体例の説明図である。
【図２】駆動能力が最も小さいセルの具体例を示す図である。
【図３】各セル幅に対する駆動能力ラインナップの第１の例の説明図である。
【図４】各セル幅に対する駆動能力ラインナップの第２の例の説明図である。
【図５】各セル幅に対する駆動能力ラインナップの第３の例の説明図である。
【図６】冗長な領域への他のセルの挿入例の説明図である。
【図７】端子位置のアンドを取った例の説明図である。
【図８】端子位置のアンドを取るための端子形状の拡大例の説明図である。
【図９】セルの端子形状を示すピンスタイルの説明図である。
【図１０】端子形状のデータを含む新しいセルライブラリの説明図である。
【図１１】新しいセルライブラリの異なる例の説明図である。
【図１２】図１１のセルライブラリに関連する端子形状対応表の例である。
【図１３】冗長な領域に挿入されたセルのデータを含む新しいセルライブラリの例である。
【図１４】冗長な領域に挿入されたセルのデータを含む新しいセルライブラリの異なる例の説明図である。
【図１５】図１４のセルライブラリに関連する分離後のセルの対応表の例である。
【図１６】セル枠共通化処理のフローチャートである。
【図１７】セル枠内でのセルの移動による端子座標共通化の説明図である。
【図１８】セル置き換え処理のフローチャートである。
【図１９】セル分離処理のフローチャートである。
【図２０】セル分離処理における画面表示の説明図である。
【図２１】本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。
【符号の説明】
【００５６】
１  セル枠
２  入力端子
３  出力端子
４  電源端子
５  ウエル
６  冗長領域に挿入された他のセル
１０  中央処理装置（ＣＰＵ）
１１  リードオンリメモリ（ＲＯＭ）
１２  ランダムアクセスメモリ（ＲＡＭ）
１３  通信インターフェース
１４  記憶装置
１５  入出力装置
１６  読取り装置
１７  バス
１８  プログラム提供者
１９  ネットワーク
２０  可搬型記憶媒体
【図３】
2006260299.tif 000003
【図４】
2006260299.tif 000004
【図５】
2006260299.tif 000005
【図１０】
2006260299.tif 000006
【図１１】
2006260299.tif 000007
【図１２】
2006260299.tif 000008
【図１３】
2006260299.tif 000009
【図１４】
2006260299.tif 000010
【図１５】
2006260299.tif 000011
【図１６】
2006260299.tif 000012
【図１８】
2006260299.tif 000013
【図１９】
2006260299.tif 000014
【図２０】
2006260299.tif 000015
【図２１】
2006260299.tif 000016
【図１】
2006260299.tif 000017
【図２】
2006260299.tif 000018
【図６】
2006260299.tif 000019
【図７】
2006260299.tif 000020
【図８】
2006260299.tif 000021
【図９】
2006260299.tif 000022
【図１７】
2006260299.tif 000023