(57)【特許請求の範囲】
【請求項１】
第１、第２のインバータセルを用意し、前記第１のインバータセルは第１、第２のＰ型領域と、該第１、第２のＰ型領域の間に形成された第１のゲート電極と、第１、第２のＮ型領域と、該第１、第２のＮ型領域の間に形成された第２のゲート電極と、前記第１のＰ型領域と前記第１のＮ型領域とを前記第１、第２のゲート電極をクロスオーバーしながら相互に接続している第１の導電ラインを含み、前記第２のインバータセルは第３、第４のＰ型領域と、該第３、第４のＰ型領域の間に形成された第３のゲート電極と、第３、第４のＮ型領域と、該第３、第４のＮ型領域の間に形成された第４のゲート電極と、前記第３のＰ型領域と前記第３のＮ型領域とを前記第１、第２のゲート電極をクロスオーバーせずに相互に接続している第２の導電ラインを含み、
前記第１、第２のインバータセルを、前記第１のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域が前記第２のインバータセルの前記第４のＰ型領域と前記第４のＮ型領域にそれぞれ隣接するように配置し、
前記第１のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域をそれぞれ、共有Ｐ型領域と共有Ｎ型領域を確保すべく前記第２のインバータセルの前記第４のＰ型領域と前記第４のＮ型領域と共有することを特徴とする半導体集積回路の設計方法。
【請求項２】
請求項１に記載の設計方法において、さらに、前記第１の導電ラインを前記第２のインバータセルの前記第３、第４のゲート電極に接続し、第１の電力供給ラインを前記共有Ｐ型領域に接続し、第２の電力供給ラインを前記共有Ｎ型領域に接続することを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項１に記載の設計方法において、さらに、トランスファゲートセルを用意し、該トランスファゲートセルは、第５、第６のＰ型領域と、該第５、第６のＰ型領域の間に形成された第５のゲート電極と、第５、第６のＮ型領域と、該第５、第６のＮ型領域の間に形成された第６のゲート電極と、前記第５のＰ型領域と前記第５のＮ型領域とを相互に接続する第３の導電ラインと、前記第６のＰ型領域と前記第６のＮ型領域とを相互に接続する第４の導電ラインとを含み、
前記トランスファゲートセルを、前記第２のインバータセルにおける前記第３のＰ型領域と前記第３のＮ型領域が、それぞれ、前記トランスファゲートセルの前記第５のＰ型領域と前記第５のＮ型領域に隣接するように配置し、
前記第２のインバータセルの前記第２の導電ラインと前記トランスファゲートセルの前記第３の導電ラインとを接続することを特徴とする半導体集積回路の設計方法。
【請求項４】
請求項１に記載の設計方法において、さらに、トランスファゲートセルを用意し、該トランスファゲートセルは、第５、第６のＰ型領域と、該第５、第６のＰ型領域の間に形成された第５のゲート電極と、第５、第６のＮ型領域と、該第５、第６のＮ型領域の間に形成された第６のゲート電極と、前記第５のＰ型領域と前記第５のＮ型領域とを相互に接続する第３の導電ラインと、前記第６のＰ型領域と前記第６のＮ型領域とを相互に接続する第４の導電ラインとを含み、
前記トランスファゲートセルを、前記第２のインバータセルにおける前記第３のＰ型領域と前記第３のＮ型領域が、それぞれ、前記トランスファゲートセルの前記第５のＰ型領域と前記第５のＮ型領域に隣接するように配置し、
前記第２のインバータセルの前記第３のＰ型領域、第３のＮ型領域をそれぞれ、前記トランスファゲートセルの前記第５のＰ型領域、第５のＮ型領域と共有することを特徴とする半導体集積回路の設計方法。
【請求項５】
インバータセルを含むセルライブラリを用意し、前記インバータセルは第１、第２のＰ型領域と、該第１、第２のＰ型領域の間に形成された第１のゲート電極と、第１、第２のＮ型領域と、該第１、第２のＮ型領域の間に形成された第２のゲート電極とをそれぞれ有する第１、第２のインバータセルを備え、該第１のインバータセルは、前記第１のＰ型領域と前記第１のＮ型領域とを前記第１、第２のゲート電極をクロスオーバーしながら相互に接続している第１の導電ラインを含み、該第２のインバータセルは、前記第１のＰ型領域と前記第１のＮ型領域とを前記第１、第２のゲート電極をクロスオーバーせずに相互に接続している第２の導電ラインを含み、
前記第１、第２のインバータセルを提供するために前記セルライブラリから２回前記インバータセルを読み出し、
前記第１、第２のインバータセルを、前記第１のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域が前記第２のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域にそれぞれ隣接するように配置し、
前記第１のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域をそれぞれ、第１の共有Ｐ型領域と第１の共有Ｎ型領域を確保すべく前記第２のインバータセルの前記第２のＰ型領域と前記第２のＮ型領域と共有するようにし、
前記セルライブラリはさらに、トランスファゲートセルを含み、該トランスファゲートセルは第３、第４のＰ型領域と、該第３、第４のＰ型領域の間に形成された第３のゲート電極と、第３、第４のＮ型領域と、該第３、第４のＮ型領域の間に形成された第４のゲート電極と、前記第３のＰ型領域と前記第３のＮ型領域とを相互に接続している第３の導電ラインと、前記第４のＰ型領域と前記第４のＮ型領域とを相互に接続している第４の導電ラインを含み、
該設計方法はさらに、前記トランスファゲートセルを、該トランスファゲートセルの前記第３のＰ型領域、第３のＮ型領域が前記第２のインバータセルの前記第１のＰ型領域、第１のＮ型領域にそれぞれ隣接するように配置し、
前記トランスファゲートセルの前記第３のＰ型領域、第３のＮ型領域をそれぞれ、第２の共有Ｐ型領域と第２の共有Ｎ型領域を確保すべく前記第２のインバータセルの前記第１のＰ型領域、第１のＮ型領域と共有することによって、前記第３の導電ラインは前記第２の共有Ｐ型領域と前記第２の共有Ｎ型領域とを相互に接続することを特徴とする半導体集積回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスタンダードセルを用いた半導体集積回路の設計方法及び設計装置に関し、特にスタンダードセルの一部領域を共有させることで素子配置面積を小さくできる半導体集積回路の設計方法及び設計装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路のレイアウト設計においては、レイアウト設計効率化のためにスタンダードセルを用いた自動配置、自動配線が行われている。このスタンダードセルによる設計方法は、計算機を用いて自動でセルを配置していく方式であり、短期間で設計できる利点がある。しかし、従来のスタンダードセルによる自動設計方法では、スタンダードセルが重ならないようにセルを単純に敷き詰めことから、素子配置面積が大きくなってしまうという問題がある。半導体集積回路においては、短期間設計とともに、なおかつ素子配置面積を小さくする必要がある。この素子配置面積を小さくすることが、従来のスタンダードセル方式の課題であった。
【０００３】
従来のスタンダードセルを用いた自動設計方法を説明する。例えば図７に示すような回路をスタンダードセルで設計する。スタンダードセルの回路情報には構成する回路、及び接続情報が含まれている。回路情報７０１、７０２はインバータであり、回路情報７０３はトランスファゲートである。また回路情報７０４〜７１３はその接続情報である。以下の記載においては、説明を単純にするためインバータ７０１，トランスファゲート７０３として表記する。
【０００４】
スタンダードセルを用いた設計方式においては、事前にそれぞれの基本回路（セルとも呼ばれる）に対し個別のスタンダードセルを用意する。図７の回路を構成する基本回路として、インバータと、トランスファゲートを準備する。このインバータとトランスファゲートとを、インバータ３０１、トランスファゲート３０２として図３に示す。このインバータ３０１、トランスファゲート３０２に対応するスタンダードセル４０１、４０３を図４に示す。
【０００５】
このように準備されたスタンダードセルを、図７の回路情報に従い配置する。図８に示すようにインバータ７０１は８０１、インバータ７０２は８０２、トランスファゲート７０３は８０３と、それぞれのスタンダードセルが配置される。この場合素子配置面積は最低でも配置したスタンダードセルの面積の総和であり、それ以上面積を削減することはできない。このように素子配置面積が大きいことから、素子配置面積を小さくするための工夫がなされている。素子配置面積を小さくする先行技術として下記特許文献がある。
【０００６】
特許文献１（特開２００１−３５１９８１号公報）は、スタンダードセルのエッジ部を電源電圧（ＶＤＤ，ＶＳＳ）等の変動しない電位系をソース（拡散層）で構成し、なおかつ一定の形状に設計されているセルを使用している。これらのスタンダードセルを配置し、隣接したスタンダードセルのエッジ部が同一のエッジであれば、隣接したスタンダードセルのエッジ部を共有化させる。スタンダードセルのエッジ部を電源電圧（ＶＤＤ，ＶＳＳ）系とするという限定的な条件において、エッジ部の冗長部分を削除してからセルを配置し素子配置面積を削減している。またこの発明では冗長部分を削除して配置できるかどうかの判断をスタンダードセルのエッジ部の形状情報のみでおこなっており、電位確認の仕組みを持たない。そのため、適用できるスタンダードセルの形状が限定されてしまい、ほとんどのスタンダードセルには適用が困難である。
【０００７】
例えば図１８に本発明の実施例で使用しているスタンダードセル１８０１〜１８０３及び従来の発明に適した特別な構造を持つスタンダードセル１８０４、１８０５の合計５種類のスタンダードセルについて考える。スタンダードセル１８０１〜１８０３は、１８０６のようにセルのポート(端子)部分に必ず配線パターンを入れておくことで、セル配置後の自動配線の工程で無理なく結線できることを考慮されたセル構造である。スタンダードセル１８０４、１８０５は、セルのポート部分に配線パターンが存在しないため、セル配置後の自動配線が困難になってしまうという問題を抱えている。
【０００８】
その上で、これらの全てのスタンダードセルに対して、この従来の発明（特開２００１−３５１９８１）を適用する。この場合、スタンダードセル１８０４に示すセルの１８０８の領域のように、セルのエッジ部が完全に電位が固定されているソース（拡散層）だけで構成されている場合のみ、冗長部分の削減による面積縮小の可能性がある。しかし、その他全てのスタンダードセルでは、１８０６のようにエッジ部に最低１つ以上の電位が変動する領域、すなわちソース以外の電位を持つパターンが含まれているため、この従来の発明を適用しても素子配置面積は全く小さくならないという問題が残る。
【０００９】
また、特許文献２（特開２００４−２５２７１７号公報）は、第１のセル領域を有する高速セルと、その高速セルを拡大した第２の領域を有する低リークセルを備える。同種のセルの場合には第１のセル領域とすることで効率のよいレイアウトとしている。また特許文献３（特開平０４−１４４１５３号公報）、特許文献４（特開平０１−２３９８７１号公報）は、セルの端部、辺または境界に属性を付加し、セルの端部を共有化させる技術が開示されている。しかし、これらの文献においても素子配置面積を小さくする目的に対して不十分であり、さらなる解決方法が望まれている。
【００１０】
【特許文献１】特開２００１−３５１９８１号公報
【特許文献２】特開２００４−２５２７１７号公報
【特許文献３】特開平０４−１４４１５３号公報
【特許文献４】特開平０１−２３９８７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
半導体集積回路のレイアウト設計方法の1つであるスタンダードセルによる設計方法は、自動でセルを配置していく方式なので短期間で設計できる利点がある。しかし、従来のスタンダードセルによる自動設計方法では、スタンダードセルが重ならないようにセルを単純に敷き詰めるだけであり、素子配置面積が大きくなってしまうという問題があった。この問題解決のためいくつかの特許文献があるが、その改善は不十分であり、依然として問題が残されている。
【００１２】
本発明の課題は，上記した問題に鑑み、スタンダードセル方式を用いて、素子配置面積を小さくする設計方法、設計装置を提供することにある。本発明の半導体集積回路の設計方法は、隣接して配置されるスタンダードセル同士の領域の一部が共有できるかどうかを判定するための共有化情報を持つ。自動配置をおこなう際に隣接して配置されるスタンダードセル同士の領域の一部を共有して配置できるかどうかを、スタンダードセル内の領域毎のネット名を比較して判定する。判定結果によりスタンダードセルの配置の際に隣接して配置されるスタンダードセルの領域の一部を共有して配置する仕組みを有する。
【課題を解決するための手段】
【００１３】
本発明は上記した課題を解決するため、基本的に下記に記載される技術を採用するものである。またその技術趣旨を逸脱しない範囲で種々変更できる応用技術も、本願に含まれることは言うまでもない。
【００１４】
本発明の半導体集積回路の設計方法は、スタンダードセルのレイアウトパターンの両端部の領域をさらに複数の領域に分割し、該複数の領域のそれぞれに共有化情報が付加されたセルライブラリを備えたことを特徴とする。
【００１５】
本発明の半導体集積回路の設計方法においては、前記共有化情報により、隣接するスタンダードセル同士のセル領域を共有化することを特徴とする。
【００１６】
本発明の半導体集積回路の設計方法においては、前記共有化情報に基づき、スタンダードセルの配置される方向を決定する際に隣接するセル同士においてセル領域を一番多く共有できるように配置向きを選択することを特徴とする。
【００１７】
本発明の半導体集積回路の設計方法においては、１つのスタンダードセルに対し、異なる共有化情報を有する複数のセルライブラリを備え、前記複数のセルライブラリのなかから、隣接するセル同士においてセル領域を一番多く共有できるスタンダードセルを選択することを特徴とする。
【００１８】
本発明の半導体集積回路の設計方法においては、前記複数の領域とは、前記スタンダードセルのレイアウトパターンを左領域、中央領域、右領域と分割し、さらに前記左領域及び右領域とをＰＭＯＳ領域、ＮＭＯＳ領域及びＰＮ分離領域とに分割した領域であることを特徴とする。
【００１９】
本発明の半導体集積回路の設計方法においては、前記共有化情報は、ピン名であることを特徴とする。
【００２０】
本発明の半導体集積回路の設計方法は、スタンダードセルのレイアウトパターンの両端部の領域をさらに複数の領域に分割し、該複数の領域のそれぞれに共有化情報が付加されたセルライブラリを作成するステップと、前記セルライブラリから回路情報に対応するスタンダードセルの候補を決定するステップと、前記スタンダードセルの候補の配置向きの候補を決定するステップと、前記共有化情報により隣接するセル同士の共有化可能化どうかを判定するステップと、共有化可能領域数が最大となるように、前記スタンダードセルの候補及び配置向きを決定し、配置するステップを備えたことを特徴とする。
【００２１】
本発明の半導体集積回路の設計方法においては、前記共有化可能化どうかを判定するステップは、前記スタンダードセルの候補の左側領域と、右側領域とを個別に行うことを特徴とする。
【００２２】
本発明の半導体集積回路の設計設備は、上記記載のいずれか１つに記載の半導体集積回路の設計方法を備えたことを特徴とする。
【発明の効果】
【００２３】
本発明の半導体集積回路の設計方法は、セルライブラリとしてスタンダードセルのレイアウトパターンを複数の領域に分割し、それぞれの領域にピン名を有する共有化情報を付加する。さらに１つの回路に対し、それぞれの領域に異なるピン名を有する複数のスタンダードセルを準備する。スタンダードセルの自動配置において、セルを隣接させる場合、配置候補用セルの共有化情報に従って、共有可能な方向に配置する。共有できない場合は複数のセルの中から再度は配置候補用セルを選定し、共用可能か判断し、共有可能な方向に配置する。
【００２４】
このように簡単な判定を繰り返すことで、図１７及び図１９に示すように従来法に比較し、３分の２から４分の３の素子配置面積の半導体集積回路が得られる。また共有化情報はセルの領域名と回路のピンの対応情報のみという簡単な情報であるため、他のセルと領域の一部を共有できるかどうかの判断は、簡単な情報処理を加えるだけで実現でき、計算機上では高速に処理できる。本発明によれば、素子配置面積が小さい自動配置可能な半導体集積回路の設計方法が得られる。さらにこれらの設計方法を備えた設計装置が得られる。
【発明を実施するための最良の形態】
【００２５】
本発明の最良の形態について、図１〜１９を参照して詳細に説明する。図１はスタンダードセルの配置を開始し、終了するまでのフローチャート図である。図２〜図１６は、スタンダードセル設計方法の各段階における回路情報、共有化情報、レイアウト及び自動配置図を示す。図１７〜図１９は、本発明の効果を示す図である。
【００２６】
図１は本発明の半導体集積回路の設計方法であり、１つのスタンダードセルの配置を開始し終了するまでのフローチャートである。ステップ１０１は実現すべき回路情報を読み出すステップである。この回路情報は従来の設計方法により設計したものである。ステップ１０２は回路情報に対応して配置するスタンダードセル種類の候補を決定するステップである。ステップ１０３はスタンダードセルの配置向きの候補を決定するステップである。ステップ１０４、ステップ１０５は左側に配置されるスタンダードセルの右領域と配置候補のスタンダードセルの左領域を共有して配置できるかどうかを判定するステップである。
【００２７】
ステップ１０６、ステップ１０７は同様に右側に配置されるセルと領域を共有して配置できるかどうかを判定するステップである。ステップ１０８は次の配置向きの候補を決定するステップである。ステップ１０９は次のスタンダードセル種類を決定するステップである。ステップ１１０は配置するスタンダードセルの種類、向きを決定し、実際にセルを配置するステップである。
【００２８】
本発明に用いられる設計装置は、中央制御装置（ＣＰＵ）、プログラム格納部、データ格納装置、演算部及び入出力装置から構成される。中央制御装置（ＣＰＵ）は本発明の全体フローを制御するものである。プログラム格納部にはプログラムが格納されている。データ格納装置部には、回路情報格納部、セルライブラリ格納部及び配置データ格納部等が備えられる。演算部はプログラムに従って演算処理する。入出力装置は表示及び印刷を行うものである。
【００２９】
図２は一般的なＣＭＯＳ構造のスタンダードセルにおいて、本発明の特徴である共有化情報の領域名を定義した図である。スタンダードセルを横（Ｘ軸）方向に、左（Ｌ）、中央、右（Ｒ）領域に分割する。左、右領域は隣接するスタンダードセルと共有可能な領域である。この左右領域をさらに、ＰＭＯＳ領域、ＰＮ分離領域、ＮＭＯＳ領域に分割し、領域２０１〜２０６とする。この領域２０１〜２０６に配置された素子に接続されるピン名を共有化情報とする。スタンダードセルの共有化情報で管理しているピン名に対応した回路情報のネット名を比較して共有ができるかどうかを確認するためのユニットである。
【００３０】
図３はスタンダードセルとして準備する基本回路例を示している。基本回路は素子が配置され、素子に接続される配線部分にはピン名（例えば入力Ａ、出力Ｂ、電源Ｖ、接地電位Ｇ）が付加されている。ここで、回路情報３０１はインバータの回路図であり、回路情報３０２はトランスファゲートの回路図である。回路情報３０３〜３１０はそれぞれピン名を示している。図４はスタンダードセルのレイアウトパターン例を示している。４０１、４０２は図３のインバータ３０１に対応するスタンダードセルのレイアウトであり、４０３は図３のトランスファゲート３０２に対応するスタンダードセルのレイアウトである。
【００３１】
図５はスタンダードセルの共有化情報をわかりやすく示した説明図である。５０１、５０２、５０３はそれぞれ図４の４０１、４０２、４０３のスタンダードセルが持つ共有化情報を図示している。各スタンダードセルのそれぞれ６つの領域はピン名を共有化情報とする。図６はスタンダードセルの共有化情報データそのものである。６０１、６０２、６０３は図５の５０１、５０２、５０３で図示した共有化情報の中から領域名とピン名のみを抜き出した共有化情報データである。
【００３２】
図７は本発明の実施例を示す回路情報である。回路情報にはインバータ７０１、インバータ７０２、トランスファゲート７０３のようにスタンダードセルに対応する回路が配置されている。各スタンダードセルに接続される配線部分には７０４〜７１３のようにネット名が付加されている。例えば７０４は入力ｉｎ１であり、７０５は節点ｎｅｔ１、また７０６は電源ｖｄｄである。図８は図７の回路情報をもとに従来の方法でスタンダードセルを自動配置した結果を示している。８０１、８０２、８０３はそれぞれ図７のインバータ７０１、インバータ７０２、トランスファ７０３に対応したスタンダードセルのレイアウトパターンである。
【００３３】
図９は、本発明の設計方法による図７の回路情報図を対するスタンダードセルを自動配置している途中の状態の共有化情報（１）の説明図である。ここでは図７の回路情報のうちインバータ７０１、７０２のみ検討である。図１０は、図９における共有化情報（１）に対するスタンダードセルパターンの自動配置図である。ここでは共有不可能のため、スタンダードセルが重ならないように配置される。
【００３４】
図１１は、本発明の設計方法による図７の回路情報図を対するスタンダードセルを自動配置している途中の状態の共有化情報（２）の説明図である。図９において共有不可能であったためインバータ７０２の配置向きを変更している。図１２は、図１１における共有化情報（２）に対するスタンダードセルの自動配置図である。図１３は、図１２の配置図における共有化後のスタンダードセルの自動配置図である。
【００３５】
図１４は、本発明の設計方法による図７の回路情報図を対するスタンダードセルの自動配置するための最終状態の共有化情報（３）の説明図である。いままではインバータ７０１、７０２の配置検討であったが、ここでトランスファゲート７０３の配置が検討される。図１５は、図１４における共有化情報（３）に対するスタンダードセルの自動配置図である。図１６は、図１５の配置図における共有化後のスタンダードセルの自動配置図である。
【００３６】
次に本発明の特徴である共有化情報について説明する。まず従来の方法と同様に、自動配置の開始前に設計に必要なスタンダードセルをセルライブラリ格納部に準備しておく。図３のインバータ３０１、トランスファゲート３０２がスタンダードセルの基本回路例である。図４のインバータ４０１、４０２は、その形状は異なるが両方ともインバータ３０１に対応したスタンダードセルのレイアウトパターンである。インバータ４０１、４０２は、その形状は異なることからそのピンの位置が異なることが特徴である。
【００３７】
また、トランスファゲート４０３は、トランスファゲート３０２に対応したレイアウトパターンである。本発明ではスタンダードセルの自動配置時に隣接して配置されるスタンダードセルと領域の一部を共有することにより素子配置面積を小さくすることを目的としている。そのためにスタンダードセル同士が、その領域の一部を共有できるかを判断するための情報として、スタンダードセル形状から読み取った共有化情報を登録しておく。
【００３８】
スタンダードセルの共有化情報は、レイアウトパターンを共有できる可能性のあるいくつかの領域に分け、それぞれの領域に対して回路のどのピンが対応しているかを関連付けた情報のことである。共有の可能性がある領域はスタンダードセルの構造によっても異なるが、一般的なＣＭＯＳ構造の場合は図２に示すように、共有される可能性のあるセルの左端部のＰＭＯＳ領域、ＮＭＯＳ領域、ＰＮ分離領域の３領域と、セルの右端部の同様な３領域の、合計６領域を共有できる領域として定義付ける。図２の例ではそれぞれの領域名を２０１〜２０６に示すようにＬ１、Ｌ２、Ｌ３、Ｒ１、Ｒ２、Ｒ３と定義している。
【００３９】
図２の共有化情報の定義に基づき、図４のスタンダードセルに対して共有化情報をセルライブラリ格納部に登録する。図４の４０１、４０２、４０３に対して登録する共有化情報を図でわかりやすく示したものがそれぞれ図５の５０１、５０２、５０３である。例えば、図４のインバータセル４０１のＬ１領域４０４は図３の３０４に示すピン名Ｂが対応することがわかる。この関係を、共有化情報をわかりやすく図示した図５に当てはめてみると、インバータセル５０１のＬ１領域５０４がピン名Ｂとなる。同様にＬ２領域はピン名Ａ、Ｌ３領域はピン名Ｂ、Ｒ１領域はピン名Ｖ、Ｒ２領域はピン名Ｂ、Ｒ３領域はピン名Ｇが対応する。
【００４０】
そして、図５のインバータ５０１から共有化に必要な情報のみを抽出すると、図６の６０１に示す共有化情報データになる。この情報を共有化情報データとしてセルライブラリ格納部に登録しておく。すなわち共有化情報データとは、スタンダードセルの各領域名に対応するピン名の一覧である。同様に、図４の４０２、４０３に対しても共有化情報データを登録する。それぞれの共有化情報データは、図５の５０２、５０３に対して、図６の６０２、６０３のようになる。各スタンダードセルの共有化情報データの登録が完了した時点で、回路設計を開始し、スタンダードセルの自動配置を実施することができる。
【００４１】
次に図７の回路を例にして、図１のフローチャートに従い本発明の説明をおこなう。
【００４２】
図７は、２つのインバータ７０１、７０２と、１つのトランスファ７０３から構成された回路である。回路には一般的に各スタンダードセルのピン名に対応するネット名が７０４〜７１３のように付加されている。例えば７０４は入力ｉｎ１であり、７０６は電源ｖｄｄである。図１は１つのスタンダードセルの配置を開始し終了するまでのフローである。
【００４３】
まず、図７のインバータ７０１に対応するスタンダードセルを配置する。そのためには図１のステップ１０１でスタンダードセルを配置する回路情報を読み込み、ステップ１０２で実際に配置するスタンダードセルの候補を決定する。ここで１つの回路に対して複数のスタンダードセルが登録されている場合は、まず１つ目のスタンダードセルを候補として決定する。本発明では１つの回路に複数のスタンダードセルを準備しておくことが特に有効である。複数のスタンダードセルの中から一番多くの領域を共有するスタンダードセルを最終的に配置することにより、素子配置領域を小さくすることができることが可能になる。
【００４４】
今回の例では図７のインバータ７０１に対応するスタンダードセルは２種類準備されており、図４のインバータ４０１と４０２がそれらに該当する。そこでまずはインバータ４０１が配置候補として決定される。図１のステップ１０３でスタンダードセルを配置する向きの候補を決定する。配置する向きとは、反転や回転のことを示す。配置する向きの候補が複数存在する場合は、まず１つ目の向きを候補として決定する。図１のステップ１０４〜ステップ１０７で、配置候補となったスタンダードセルが配置された場合、左右のスタンダードセルと領域の一部が共有できるかどうかを判定する。ただし１つ目のスタンダードセルを配置する時点では、周りに他のセルが置かれていないので、セルの共有判定は必要ない。
【００４５】
図１のステップ１０８では、配置候補となっているスタンダードセルに、配置向きの次の候補があれば次の候補に決定してステップ１０３に戻る。また、図１のステップ１０９では、配置候補となっている回路に他のスタンダードセルが存在する場合は、それを次のスタンダードセルの候補に決定してステップ１０２に戻る。ここでは図７のインバータ７０１に対応する別のスタンダードセル４０２が存在するため、再度スタンダードセル４０２にてステップ１０２〜ステップ１０９を繰り返す。図１のステップ１１０で、配置候補となったスタンダードセルのうち、一番多くの領域を共有できるセルを決定し、配置する。まだ他にセルが配置されていないため、スタンダードセル４０１、４０２のいずれのセルでも領域の共有はできないため、とりあえずインバータ４０１が配置され、配置が完了する。
【００４６】
次に、その右に図７のインバータ７０２に対応するスタンダードセルを配置する場合の説明をする。ここで図７のインバータ７０１と同様に配置するスタンダードセルの候補を決定する。図１のステップ１０４で、配置済のインバータ７０１に対応するスタンダードセルの右側にセル候補が配置される。そのため、配置候補のスタンダードセル４０１の左側領域と、配置済のインバータ７０１のセルの右側領域が共有できるかを判定する。判定は、左側のセルの右領域の共有化情報に登録されているピン名と、その右側に配置候補となっているセルの左領域の共有化情報に登録されているピン名とを比較する。それぞれのピン名に接続されているネット名が一致しているかどうかで、共有可能かどうかを判定する。
【００４７】
具体的には、図９の９０１が左側に配置済のセルの共有化情報を図示したものであり、９０２がその右側に配置候補となっているセルの共有化情報を図示したものである。ここで９０１の領域Ｒ１に対応するピン名Ｖのネット名と、９０２の領域Ｌ１に対応するピン名Ｂのネット名が一致しており、なおかつ同様にＲ２とＬ２、Ｒ３とＬ３のネット名が一致している場合は、共有可能と判定される。すなわち、図９の９０３、９０４、９０５のネット名が一致していた場合は共有可能という判定となる。この例ではいずれのネット名も一致していないため、これらのセルに関しては配置時に共有ができないことがわかる。このように、インバータ４０１を配置した場合は、共有化できない。従って、そのまま配置した場合には、図１０に示すようにスタンダードセル１００１と、セル１００２が、セルが重ならないように配置されるだけになってしまい、素子配置面積が小さくならない。
【００４８】
図１のステップ１０９で次のスタンダードセル種類の候補があるので、今度は図４のインバータ４０２を図７のインバータ７０２のセル候補として共有化の判定をおこなう。具体的には、図１１の１１０１が左側に配置済のセルの共有化情報を図示したものであり、１１０２がその右側に配置候補となっているセルの共有化情報を図示したものである。ここで１１０１の領域Ｒ１に対応するピン名Ｖのネット名と、１１０２の領域Ｌ１に対応するピン名Ｖのネット名が一致している。なおかつ同様にＲ２とＬ２、Ｒ３とＬ３のネット名が一致しているので、共有可能と判定される。すなわち、図１１の１１０３、１１０４、１１０５のネット名が一致するので共有可能という判定となる。
【００４９】
その結果、図１のステップ１１０でインバータ７０２はスタンダードセル４０２を配置することで、素子配置面積を小さくすることができる。図１２はインバータ７０１、７０２のスタンダードセル４０１、４０２を、それぞれ１２０１、１２０２のようにセルが重ならないように配置した状態を示している。しかし、共有化の判断ができているため、実際には図１３の１３０１、１３０２のようにセルの領域の一部を重ねて配置することができ、素子配置面積を小さくすることができる。
【００５０】
次に、その右に図７のトランスファゲート７０３に対応するスタンダードセルをさらに配置する場合の説明をする。ここで図７のインバータ７０２と同様に配置するスタンダードセル候補を決定する。図１のステップ１０４では配置済のインバータ７０２の右にセル候補が配置されるため、配置候補のトランスファゲート４０３の左側領域と、配置済のインバータ７０２のセルの右側領域が共有できるかを判定する。これらの共有化情報を図示したものが図１４になる。共有化情報から１４０２で示しているインバータ７０２のスタンダードセル４０２の右に、１４０３で示しているトランスファゲート７０３のスタンダードセル４０３を配置する。この場合は、１４０４、１４０５、１４０６のネット名が全て等しい、もしくは片側のピン名がなく共有判定が不要で共有できる領域であることが、共有可能かの判定条件となる。
【００５１】
１４０５のネット名が等しく、１４０４、１４０６においては片側のピン名がなく共有化可能である。その結果、スタンダードセル４０３をセルが重ならないように配置すると図１５の１５０２及び１５０３のようになる。しかし、共有化情報の判定によりセルを重ねて配置しても問題ないことがわかっているため、図１６の１６０１、１６０２、１６０３のように配置される。これら３つのセルが配置された状態は、図１６のようになり、全てのスタンダードセルの領域の一部が共有され、配置される。セルの領域の一部を重ねて配置することができ、素子配置面積を小さくすることができる。
【００５２】
上記した本発明における実施例での最終的な素子配置面積を図１７に示す。図１７の１７０１は、図８で示した従来方法で配置したスタンダードセルの素子配置面積を示しており、１７０２は、本発明の方法で配置したスタンダードセルの素子配置面積を示している。効果としては従来方法で設計した場合と比較して、素子配置面積が１７０３で示す領域分小さくなっており、面積では３分の２から４分の３の大きさになっていることがわかる。
【００５３】
さらに図７に示す実施例の回路を用いて、従来の発明である特開２００１−３５１９８１と、本発明でのセルの配置後の素子配置面積について比較する。使用するスタンダードセルは従来の発明である特開２００１−３５１９８１に最適なセル形状のものとし、図３のインバータ３０１の回路に対応するスタンダードセルとして図１８の１８０４、トランスファゲート３０２の回路に対応するスタンダードセルとして図１８の１８０５を用いている。
【００５４】
従来の発明でのセル配置後の結果を図１９の１９０１に示す。図７の回路に従ってセルを配置するため、インバータ１９０４、１９０５は図１８に示すスタンダードセル１８０４であり、トランスファゲート１９０６はスタンダードセル１８０５であることがわかる。ここで、スタンダードセル１８０４は右のエッジの冗長部分が削減できる可能性があるが、エッジタイプが異なることから共有化されない。セル配置後の１９０４、１９０５の状態であると、いずれも右隣のセルの左のエッジとエッジタイプが異なるため、冗長部分の削除は不可能であり、素子配置面積が削減されていないことがわかる。
【００５５】
本発明でのセル配置後の結果を図１９の１９０２に示す。ここで１９０８は１９０７と領域を共有するのに最適なセルの向き、すなわちこの例では左右反転の向きで配置されている。これは本発明の特徴である図１のステップ１０３の手段によるもので、その結果領域が共有でき、素子配置面積を小さくできたことがわかる。また、１９０９も１９０８とセルの領域の一部を共有している。これは本発明の特徴である図１のステップ１０４の手段で共有化情報を確認して領域の共有が可能となるためで、素子配置面積を小さくする効果が得られる。この結果より、１９０１と１９０２の素子配置面積を比較してみると、本発明の素子配置面積は、従来の発明である特開２００１−３５１９８１で配置した素子配置面積よりも１９０３で示す領域分小さくなっており、面積では約３分の２になっていることがわかる。
【００５６】
本発明の半導体集積回路の設計方法においては、セルライブラリとしてスタンダードセルのレイアウトパターンを複数の領域に分割し、それぞれの領域に共有化情報としてピン名を付加する。さらに１つの回路に対し、それぞれの領域に異なるピン名を有する複数のスタンダードセルを準備する。スタンダードセルの自動配置において、セルを隣接させる場合、配置候補用セルの共有化情報に従って、共有可能な方向に配置する。共有できない場合は複数のセルの中から再度は配置候補用セルを選定し、共用可能か判断し、共有可能な方向に配置する。このように共有可能な判定を繰り返すことで素子配置面積が小さい自動配置可能な半導体集積回路の設計方法が得られる。さらにこの設計方法で備えた設計装置が得られる。
【００５７】
以上、本発明の好ましい実施形態につき詳述したが、本願は上記実施形態例に限定されることなく、本発明の主旨を逸脱しない範囲で、種々変更して実施することが可能であり、これらも本発明に含まれることはいうまでもない。
【図面の簡単な説明】
【００５８】
【図１】本発明におけるスタンダードセルの配置を開始し終了するまでのフローチャート図である。
【図２】本発明における共有化情報の領域名を定義した図である。
【図３】スタンダードセルとして準備する基本回路例を示す図である。
【図４】図３の基本回路例のスタンダードセルのレイアウトパターン例を示す図である。
【図５】スタンダードセルの共有化情報の説明図である。
【図６】スタンダードセルの共有化情報データを示す図である。
【図７】本発明の実施例としての回路情報図である。
【図８】従来の設計方法による図７の回路情報図を対するスタンダードセルの自動配置図である。
【図９】本発明の設計方法による図７の回路情報図を対するスタンダードセルを自動配置している途中の状態の共有化情報（１）の説明図である。
【図１０】図９における共有化情報（１）に対するスタンダードセルの自動配置図である。
【図１１】本発明の設計方法による図７の回路情報図を対するスタンダードセルを自動配置している途中の状態の共有化情報（２）の説明図である。
【図１２】図１１における共有化情報（２）に対するスタンダードセルの自動配置図である。
【図１３】図１２の配置図における共有化後のスタンダードセルの自動配置図である。
【図１４】本発明の設計方法による図７の回路情報図を対するスタンダードセルの自動配置するための最終状態の共有化情報（３）の説明図である。
【図１５】図１４における共有化情報（３）に対するスタンダードセルの自動配置図である。
【図１６】図１５の配置図における共有化後のスタンダードセルの自動配置図である。
【図１７】本発明のセル共有化前後におけるスタンダードセルの自動配置図である。
【図１８】本発明と従来例におけるセルレイアウトパターン図である。
【図１９】本発明と従来例におけるスタンダードセルの自動配置図である。
【符号の説明】
【００５９】
１０１，１０２，１０３，１０４，１０５,１０６，１０７，１０８，１０９，１１０    設計フローのステップ
２０１，２０２，２０３，２０４，２０５，２０６    領域
３０１，３０２    スタンダードセル回路情報
４０１，４０２，４０３    スタンダードセルのレイアウトパターン
５０１，５０２，５０３    スタンダードセルの共有化情報
６０１，６０２，６０３    スタンダードセルの共有化データ
７０１、７０２，７０３    スタンダードセル回路情報
８０１，８０２，８０３    スタンダードセルのレイアウトパターン
９０１，９０２    スタンダードセルの共有化情報
１００１、１００２    スタンダードセルのレイアウトパターン
１１０１，１１０２    スタンダードセルの共有化情報
１２０１，１２０２    スタンダードセルのレイアウトパターン
１３０１，１３０２    スタンダードセルのレイアウトパターン
１４０１，１４０２，１４０３    スタンダードセルの共有化情報
１５０１，１５０２，１５０３    スタンダードセルのレイアウトパターン
１６０１，１６０２，１６０３    スタンダードセルのレイアウトパターン
１７０１，１７０２    スタンダードセルの自動配置図
１８０１，１８０２，１８０３，１８０４，１８０５    スタンダードセルのレイアウトパターン
１９０１，１９０２    スタンダードセルの自動配置図
【図１】
0005650362.tif 000002
【図２】
0005650362.tif 000003
【図３】
0005650362.tif 000004
【図４】
0005650362.tif 000005
【図５】
0005650362.tif 000006
【図６】
0005650362.tif 000007
【図７】
0005650362.tif 000008
【図８】
0005650362.tif 000009
【図９】
0005650362.tif 000010
【図１０】
0005650362.tif 000011
【図１１】
0005650362.tif 000012
【図１２】
0005650362.tif 000013
【図１３】
0005650362.tif 000014
【図１４】
0005650362.tif 000015
【図１５】
0005650362.tif 000016
【図１６】
0005650362.tif 000017
【図１７】
0005650362.tif 000018
【図１８】
0005650362.tif 000019
【図１９】
0005650362.tif 000020