(57)【要約】【課題】複数の基準セルを含むブロックについて無駄な面積を削減することを可能にした、半導体集積回路の設計支援装置を提供する。【解決手段】第１および第２の素子、ならびに第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の基準セルを含むブロックに関して予め設計された回路の情報とを記憶する記憶部と、回路の情報に基づいて基準セル毎に第１および第２の素子のパターンを決定し、ブロックにおいて所定の方向に引かれる配線の数であるトラック数を回路の情報に基づいて見積もり、見積もったトラック数の配線が複数の基準セルのトラック領域で配線可能な様に複数の基準セルの第１および第２の素子のパターンを移動させてトラック領域を伸縮させる制御部と、を有する。【選択図】図１
2014089634.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の素子の仮のレイアウト、ならびに該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを記憶する記憶部と、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定し、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、該見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させる制御部と、
を有する、半導体集積回路の設計支援装置。
【請求項２】
請求項１記載の半導体集積回路の設計支援装置において、
前記制御部は、
前記見積もったトラック数の配線を前記複数の基準セルのトラック領域に配線可能か否かを判定し、前記見積もったトラック数の配線ができない場合、前記複数の基準セルの前記第１および第２の素子のパターンを前記所定の方向に直交する方向に移動させて前記トラック領域を広げ、前記トラック数よりも多い数の配線ができる場合、前記複数の基準セルの前記第１および第２の素子のパターンを前記所定の方向に直交する方向に移動させて前記トラック領域を狭くする、半導体集積回路の設計支援装置。
【請求項３】
請求項１または２記載の半導体集積回路の設計支援装置において、
前記第１の素子がＰチャネルＭＯＳトランジスタであり、前記第２の素子がＮチャネルＭＯＳトランジスタであり、該第１および第２の素子のパラメータとして前記回路の情報にゲート幅の情報が含まれており、
前記制御部は、
前記第１および第２の素子のパターンを決定する際、前記ゲート幅について前記記憶部が記憶する基準セルの情報に予め含まれる基準値よりも小さくしたとき、該第１および第２の素子のそれぞれのパターンを前記所定の方向に直交する方向であって前記基準セルの外側方向に移動させる、半導体集積回路の設計支援装置。
【請求項４】
請求項１から３のいずれか１項記載の半導体集積回路の設計支援装置において、
前記制御部は、
レイアウト専用のパラメータとして前記見積もったトラック数とは異なるトラック数が入力されると、該入力されたトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記トラック領域を伸縮させる、半導体集積回路の設計支援装置。
【請求項５】
設計支援装置による半導体集積回路の設計方法であって、
第１および第２の素子の仮のレイアウトと、該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを予め記憶し、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定し、
前記第１および第２の素子のパターンを決定した後、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、
前記見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させる、半導体集積回路の設計方法。
【請求項６】
コンピュータに、
第１および第２の素子の仮のレイアウトと、該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを記憶する手順と、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定する手順と、
前記第１および第２の素子のパターンを決定した後、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、
前記見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させる手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計支援装置および設計方法、ならびにその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
カスタムＬＳＩ（Large Scale Integrated Circuit）の設計方法として、ベーシックセルと呼ばれる基本回路を予め準備し、複数のベーシックセルの配置および配線をユーザの仕様に合わせて行う設計方法が知られている（特許文献１参照）。以下では、この設計方法をセルベースレイアウト設計方法と称する。
【０００３】
セルベースレイアウト設計方法の一例を説明する。
【０００４】
ベーシックセルでは、基本回路を構成する複数の素子と、これら複数の素子の間に配線するための領域であるトラック領域のレイアウトが予め決められている。これらのレイアウトが固定されているため、複数の素子がトラック領域を挟んで配置される方向のセルの長さを「セルの高さ」とすると、セルの高さも固定されている。セルベースレイアウト設計方法では、このような固定レイアウトのベーシックセルを複数並べて配置したブロックに組み上げた後、配線を行う。
【０００５】
上記のように、ベーシックセルのレイアウトが設計の前段階で固定されているため、ブロックに組み上げた後の配線段階でセル間配線が破綻しないように、充分な広さのトラック領域を確保したセルを準備しておく必要がある。「セル間配線が破綻」とは、例えば、ベーシックセルのトラック領域を、ブロック内のセルの中で最も少ない配線数に合わせて設定してしまうと、トラック領域で配線しきれないセルがブロック内に生じ、セル間で配線を接続できなくなってしまうことである。
【０００６】
セルベースレイアウト設計方法は、設計者の負担軽減および設計効率の向上のために、ＣＡＤ（Computer Aided Design）等の自動配置・配線ツールで、ベーシックセルを基にブロックレイアウトまで組み上げさせるというのが慣例である。自動配置・配線ツールが配線を行う際、上記のセル間配線の破綻が起きないように、トラック領域の配線密度が最も大きいセルに合わせて、ブロック内の全てのセルのトラック領域を設定している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−８５０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のセルベースレイアウト設計方法では、配線密度の小さいトラック領域のセルにとってはトラック領域の面積が過剰に確保されることになり、ブロックレベルになると、無駄な面積がより拡大してしまう。自動配置・配線ツールに配線を行わせている以上、最大の配線密度に合わせたベーシックセルを用いなければならないという制約は、セル高固定レイアウトのセルを用いて設計する限り、避けられない。
【０００９】
特許文献１に開示されたセルベースレイアウト設計方法では、トラック領域を可変にしている。しかし、特許文献１に開示された方法では、トラック領域を広げるために標準セル（ベーシックセルに相当）に含まれるＭＯＳ（Metal Oxide Semiconductor）のゲート幅も変えており、ＭＯＳの駆動能力の特性が変化してしまうという問題がある。
【課題を解決するための手段】
【００１０】
本発明の半導体集積回路の設計支援装置は、
第１および第２の素子の仮のレイアウト、ならびに該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを記憶する記憶部と、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定し、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、該見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させる制御部と、
を有する構成である。
【００１１】
本発明によれば、必要なトラック数に対応してブロック内の全ての基準セルのトラック領域を伸縮することで、ブロック内のトラック領域が最適な広さに設定される。
【００１２】
また、本発明の半導体集積回路の設計方法は、設計支援装置による半導体集積回路の設計方法であって、
第１および第２の素子の仮のレイアウトと、該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを予め記憶し、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定し、
前記第１および第２の素子のパターンを決定した後、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、
前記見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させるものである。
【００１３】
さらに、本発明のプログラムは、コンピュータに、
第１および第２の素子の仮のレイアウトと、該第１および第２の素子の間に配線するための領域であるトラック領域の仮のレイアウトが設定された基準セルの情報と、複数の該基準セルが所定の方向に配置されたブロックに関して予め設計された回路の情報とを記憶する手順と、
前記回路の情報に基づいて前記基準セル毎に前記第１および第２の素子のパターンを決定する手順と、
前記第１および第２の素子のパターンを決定した後、前記ブロックにおいて前記所定の方向に引かれる配線の数であるトラック数を前記回路の情報に基づいて見積もり、
前記見積もったトラック数の配線が前記複数の基準セルのトラック領域で配線可能な様に該複数の基準セルの前記第１および第２の素子のパターンを移動させて前記トラック領域を伸縮させる手順を実行させるものである。
【発明の効果】
【００１４】
本発明によれば、ブロックの配線後に生じていたデッドスペースを削減でき、ブロックの回路が占める面積を削減できる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における設計支援装置の一構成例を示すブロック図である。
【図２】本実施形態で用いられる基準セルのレイアウトの一例を示す図である。
【図３】図１に示した制御部の構成を説明するための図である。
【図４】本実施形態の設計支援装置による設計方法の動作手順を示すフローチャートである。
【図５】本実施形態における基準セルの具体例を示す図である。
【図６】図４に示したステップ１０２における「ＭＯＳ部品の生成」処理についてのフローチャートである。
【図７】図６に示すフローを説明するための基準セルのレイアウト図である。
【図８】図４に示したステップ１０２における「セルの生成」処理についてのフローチャートである。
【図９】図８に示すフローを説明するための基準セルのレイアウト図である。
【図１０Ａ】図８に示すステップ３０４の処理をＰＭＯＳ側に注目して説明するための図である。
【図１０Ｂ】図８に示すステップ３０４の処理をＰＭＯＳ側に注目して説明するための図である。
【図１１】本実施形態の設計方法において、トラック数をパラメータとして設定した場合を説明するための図である。
【図１２】本実施形態の設計方法によるブロックレイアウトの一例を示す図である。
【図１３】本実施形態による設計方法を、半導体メモリの周辺回路に適用した場合を説明するための図である。
【図１４】複数のブロックを配列する場合において、本実施形態の設計方法によるエリア削減効果を説明するための図である。
【発明を実施するための形態】
【００１６】
本発明の一実施形態の設計方法を説明する。本実施形態は、本発明の設計方法をカスタムレイアウト設計に適用する場合である。
【００１７】
本実施形態の設計方法を実行する設計支援装置の構成を説明する。図１は本実施形態における設計支援装置の一構成例を示すブロック図である。
【００１８】
図１に示すように、設計支援装置１０は、記憶部１２と、ブロックレイアウトを表示する表示部１３と、設計者が指示を入力するための操作部１４と、制御部１５とを有する。
【００１９】
記憶部１２には、基準セルとブロック回路の情報が予め登録されている。制御部１５は、プログラムにしたがって処理を実行するＣＰＵ（Central Processing Unit）（不図示）と、プログラムを記憶するメモリ（不図示）とを有する。
【００２０】
ＮＯＴ、ＡＮＤおよびＯＲ等の論理ゲートの種類に対応して、基準セルの情報がライブラリとして記憶部１２に格納されている。基準セルの情報には、論理ゲートを構成する複数の素子の種類と、これら複数の素子およびトラック領域の仮のレイアウトの情報が含まれている。
【００２１】
ブロック回路の情報は、設計対象の半導体集積回路の機能仕様に基づいて予め設計された回路の情報である。本実施形態では、ブロック回路は、ＤＲＡＭ（Dynamic Random Access Memory）等の半導体メモリの周辺回路であるものとする。ブロック回路の情報には、具体的には、ブロック回路に含まれる複数の基準セルのレイアウトと、複数の基準セルのそれぞれに含まれる論理ゲートと、論理ゲートに含まれる素子のパラメータと、基準セル間を接続する複数の配線と、各配線の接続に関する情報が含まれる。
【００２２】
例えば、基準セルの論理ゲートがＮＯＴ（インバータ）である場合、素子のパラメータの情報はＭＯＳのゲート幅およびゲート長などであり、各配線の接続に関する情報は、どのインバータの出力端子がどのインバータの入力端子に接続されるかという情報である。ブロック回路の情報は、専用のプログラミング言語で書かれていてもよく、制御部１５がそれらの情報を読み取り可能であれば回路図のデータであってもよい。
【００２３】
ここで、本実施形態の設計方法で用いられる基準セルについて詳しく説明する。
【００２４】
大手ＥＤＡ（Electronic Design Automation）ベンダーのレイアウトツールにはパラメタライズドセルという機能を備えているものがある。パラメタライズドセルとは、設計者がレイアウトツールを操作して、与えられたパラメータ値に応じてレイアウト形状の生成が可能な「可変レイアウト」の機能である。例えば、パラメータがＭＯＳのゲート幅であるとすると、ゲート幅の可変機能がパラメタライズドセルに盛り込まれている。通常、パラメタライズドセルの可変部分はレイアウトツールに備えられたプログラミング言語によって実装される。
【００２５】
通常の固定レイアウトとは異なり、セルが配置された後からでもパラメタライズドセルが持つパラメータ値を、プロパティフォームを介して変更することでパラメタライズドセルに予め実装されている種々の形状変更処理をその場で適用し、レイアウトに反映させることができる。
【００２６】
このようなパラメタライズドセルにより実装された可変のプリミティブセルを、本実施形態の設計方法で活用する。
【００２７】
さらに、本実施形態では、上記のパラメタライズドセルには実装されていなかったトラック領域の本数制御機能を追加している。つまり、本実施形態のパラメタライズドセルでは、ゲート幅等のパラメータ可変の処理の他に、トラック数可変の処理も可能にしている。
【００２８】
このような、パラメタライズドセルの実装機能拡張によって、より面積効率を高めたレイアウトを実現することが可能となる。カスタムレイアウトツールで生成したセルをカスタムマクロにより自動配置・配線させるという活用方法に展開することも可能である。
【００２９】
以下では、説明を簡単にするために、本実施形態の設計方法で用いられる基準セルがインバータの場合で説明する。また、ブロック回路の情報で決定される、素子のパラメータがゲート幅であるものとする。
【００３０】
図２は本実施形態で用いられる基準セルのレイアウトの一例を示す図である。図２の左右方向をＸ軸方向とし、図２の上下方向をＹ軸方向とする。基準セルが含まれる他の図においても、Ｘ軸およびＹ軸の方向は、図２と同様であるものとする。
【００３１】
図２に示す基準セルを参照すると、セルの上端および下端には、Ｘ軸方向に平行に電源配線５１および接地配線５２が引かれている。セル内に、ＰチャネルＭＯＳ（以下では、ＰＭＯＳと表記する）トランジスタ６１と、ＮチャネルＭＯＳ（以下では、ＮＭＯＳと表記する）トランジスタ６２とが設けられている。
【００３２】
電源配線５１の近傍にＰＭＯＳトランジスタ６１が配置され、ＰＭＯＳトランジスタ６１のソース電極が電源配線５１とコンタクト７１および配線７２を介して接続されている。接地配線５２の近傍にＮＭＯＳトランジスタ６２が配置され、ＮＭＯＳトランジスタ６２のソース電極が接地配線５２とコンタクト７１および配線７４を介して接続されている。ＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２のそれぞれのゲート電極が入力配線７５を介して接続され、それぞれのドレイン電極がコンタクト７１および出力配線７６を介して接続されている。
【００３３】
なお、実際には入力配線７５もゲートコンタクトを介してＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２のそれぞれのゲート電極と接続されているが、その接続構成を図に示すことを省略している。
【００３４】
ＰＭＯＳトランジスタ６１のゲート幅をＷｐと表し、ＮＭＯＳトランジスタ６２のゲート幅をＷｎと表す。本実施形態では、上述したようにゲート幅Ｗｐ、Ｗｎは固定されておらず可変であるが、記憶部１２に格納されている基準セルでは、ゲート幅Ｗｐ、Ｗｎは仮のゲート幅として基準値が設定されている。
【００３５】
ＰＭＯＳトランジスタ６１とＮＭＯＳトランジスタ６２の間には、長手方向がＸ軸方向と平行になるように配線が引かれるトラック領域ＴＡが設けられている。トラック領域ＴＡに引かれる配線は、コンタクト（不図示）を介して入力配線７５または出力配線７６と接続され、同じブロック内の他のセルの出力配線７６または入力配線７５とそれぞれ接続される。
【００３６】
トラック領域ＴＡに引かれる配線の数であるトラック数は、トラック領域ＴＡの範囲がＰＭＯＳ側とＮＭＯＳ側に２つに分割され、それぞれの範囲で設定される。図２には、トラック領域ＴＡをＰＭＯＳ側およびＮＭＯＳ側に２つに分割するＰＮ境界ＫＬを破線で示す。
【００３７】
トラック領域ＴＡに引かれる配線は、例えば、電源配線５１および接地配線５２と同一配線層、またはこれらの配線よりも上層に形成され、ＰＭＯＳトランジスタ６１、ＮＭＯＳトランジスタ６２、入力配線７５および出力配線７６のパターンと干渉することはない。
【００３８】
次に、図１に示した制御部１５の構成を、図３を参照して説明する。図３は制御部の構成を説明するための図である。
【００３９】
基準セルの情報およびブロック回路の情報が対応づけられるようになっており、制御部１５は、それぞれの情報を対応づけて、基準セルのＭＯＳ部品を生成する。そして、制御部１５は、ブロック回路と基準セルとの間で共通のパラメータであるゲート幅の情報をブロック回路の情報から取得すると、生成したＭＯＳ部品に適用し、ＭＯＳのパターンを確定した基準セルを生成する。
【００４０】
なお、ゲート幅はブロックに含まれる基準セル毎に設定されるので、ブロック内の複数の基準セルのＭＯＳトランジスタのゲート幅が必ずしも一致していなくもよい。そのため、ブロック内のセル間でＭＯＳ部品のゲート幅が異なっている場合、制御部１５は、ゲート幅の異なる基準セルを生成する。ここで、同じブロック内の基準セル間でＭＯＳ部品のゲート幅が異なっても、ブロック内で電源配線５１および接地配線５２のＹ軸方向の位置を統一させるため、制御部１５は、ブロック内の基準セルの高さが一致するようにしている。
【００４１】
また、制御部１５は、生成した基準セルをブロック回路の情報に対応して配置し、セル間の配線を行う。その際、制御部１５は、ブロック回路の情報から見積もったトラック数で配線可能か否かの判定を、予め決められた設計基準にしたがって行う。設計基準には、例えば、絶縁性を確保するための配線間の距離が決められていてもよく、許容される配線密度の範囲（許容される配線密度の最小値および最大値の閾値）が決められていてもよい。設計基準は制御部１５内のメモリ（不図示）に格納されていてもよく、記憶部１２に格納されていてもよい。
【００４２】
制御部１５は、ブロック回路の情報から見積もったトラック数で配線できない場合、またはそのトラック数よりも多い数の配線が引けてしまう場合、ブロック内の全ての基準セルに対して、ＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２をそのパターンを維持したままＹ軸方向に移動させ、セルの高さ（セルのＹ軸方向の長さ）を伸縮してブロック全体でトラック領域を最適な広さにする。
【００４３】
ブロック全体のトラック領域の広さ（トラック領域のＹ軸方向の長さ）は、ブロックに含まれる複数の基準セルのうち、最も配線が混雑する基準セルで配線が破綻しないように充分なトラック数を予め見積もり、それに応じて決定するのが望ましい。
【００４４】
このようにして、制御部１５は、配線結果に応じて、配線密度が小さく、トラック領域を無駄に確保しているブロックのセル高を一律に縮小し、再度配線することで無駄な領域を省くことが可能になる。
【００４５】
上記のようにしてブロックの仮のレイアウト実装が完了すると、ブロック検証（レイアウト検証およびレイアウト対回路検証等を含む）が行われ、全ての接続配線の抵抗や容量を抽出してのタイミングシミュレーションで実際のレイアウト実装によるタイミングへの影響が詳細に解析され、問題がなければ、ブロックレイアウトが完成する。
【００４６】
次に、本実施形態の設計支援装置による設計方法の手順を説明する。
【００４７】
図４は本実施形態の設計支援装置による設計方法の動作手順を示すフローチャートである。
【００４８】
操作部１４を介して対象となるブロックとそのレイアウト生成の指示が入力されると、制御部１５は、指定されたブロックの回路の情報と基準セルの情報を記憶部１２から読み出し、それらの情報を対応づけ（ステップ１０１）、ステップ１０２に進む。ステップ１０２は、「ＭＯＳ部品の生成」、「セルの生成」および「ブロックに展開」からなる。ステップ１０２に示すように、制御部１５は、はじめに基準セルのＭＯＳ部品を生成する。続いて、制御部１５は、ブロック回路と基準セルとの間で共通のパラメータであるゲート幅の情報をブロック回路の情報から取得すると、生成したＭＯＳ部品にゲート幅を適用してＭＯＳのパターンを確定し、基準セルを生成する。その後、制御部１５は、ブロック内の全ての基準セルに対してセルの生成を展開する。
【００４９】
次に、制御部１５は、ステップ１０２で生成した基準セルをブロック回路の情報に対応して配置し、セル間の配線の接続に関する情報をブロック回路の情報から読み出し、その情報に基づいてセル間の配線を行う（ステップ１０３）。さらに、制御部１５は、トラック領域でセル間を接続する配線に必要なトラック数を見積もり、見積もったトラック数の配線をトラック領域に配線可能か否かの判定を行う（ステップ１０４）。
【００５０】
ステップ１０４の判定の結果、制御部１５は、見積もったトラック数の配線を仮に設定されたトラック領域に配線できない場合、ブロック内の全ての基準セルに対して、ＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２のパターンを維持したままセルの外側方向に移動させ、トラック領域を広げてセルの高さを伸ばす（ステップ１０５）。
【００５１】
一方、ステップ１０４の判定の結果、制御部１５は、見積もったトラック数よりも多い配線を仮に設定されたトラック領域に配線できてしまう場合、ブロック内の全ての基準セルに対して、ＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２のパターンを維持したままセルの内側方向に移動させ、トラック領域を狭めてセルの高さを縮める（ステップ１０５）。ここでは、１つの基準セルに注目して説明したが、制御部１５は、ブロック内の全ての基準セルに対してセル高さ伸縮の処理を行う。これにより、ブロック全体でトラック領域およびセル高がトラック数に応じて最適な広さに設定される。
【００５２】
図５は本実施形態における基準セルのレイアウトの具体例を示す図である。
【００５３】
図５（ａ）は初期値のトラック数が設定された場合のレイアウトである。図５（ｂ）および図５（ｃ）は図４に示したステップ１０４の判定により、ステップ１０５の処理で、トラック数に対応してトラック領域を変更した場合のレイアウトである。
【００５４】
図５（ａ）に示す基準セルでは、トラック数が５本である。以下では、トラック数がＳ本のトラック領域を「Ｓトラック」と称する。図５（ａ）の場合は５トラックとなる。ＰＮ境界ＫＬよりＰＭＯＳ側が３トラックであり、ＮＭＯＳ側が２トラックである。
【００５５】
図５（ｂ）に示す基準セルは、図５（ａ）に示すレイアウトからＰＭＯＳトランジスタ６１および電源配線５１をＹ軸の正の方向に移動させ、ＮＭＯＳトランジスタ６２および接地配線５２をＹ軸の負の方向に移動させたものである。図５（ｂ）に示す基準セルは７トラックである。ＰＮ境界ＫＬよりＰＭＯＳ側が４トラックであり、ＮＭＯＳ側が３トラックである。図５（ｂ）には、トラック領域の配線の一例として、ＰＭＯＳ側から３番目のトラックに、出力配線７６に接続された配線７８を示す。
【００５６】
図５（ｃ）に示す基準セルは、図５（ｂ）に示すレイアウトからＰＭＯＳトランジスタ６１および電源配線５１をＹ軸の負の方向に移動させ、ＮＭＯＳトランジスタ６２および接地配線５２をＹ軸の正の方向に移動させたものである。図５（ｃ）に示す基準セルは４トラックである。ＰＮ境界ＫＬよりＰＭＯＳ側が２トラックであり、ＮＭＯＳ側が２トラックである。
【００５７】
図５（ａ）から図５（ｃ）に示すレイアウト間において、ＰＭＯＳトランジスタ６１のゲート幅ＷｐおよびＮＭＯＳトランジスタ６２のゲート幅Ｗｎのそれぞれは差がなく、同等である。
【００５８】
次に、図４に示したステップ１０２の処理について詳しく説明する。はじめに、「ＭＯＳ部品の生成」処理について説明する。
【００５９】
図６は図４に示したステップ１０２における「ＭＯＳ部品の生成」処理についてのフローチャートである。図７は図６に示すフローを説明するための基準セルのレイアウト図である。
【００６０】
ここでは、図２に示した入力配線７５および出力配線７６を第１金属配線層で形成し、電源配線５１および接地配線５２を第２金属配線層で形成するものとする。電源配線５１および接地配線５２を電源幹線と称する。また、図７に示す基準セルの仮のレイアウトでは、トラック数の初期値は、ＰＮ境界ＫＬのＰＭＯＳ側が４トラックであり、ＮＭＯＳ側が３トラックである。
【００６１】
図６に示すように、制御部１５は、ブロック回路の情報から読み出したゲート幅Ｗｐ、Ｗｎに応じたサイズ（Ｘ軸方向およびＹ軸方向の長さ）の拡散層をもつＰＭＯＳおよびＮＭＯＳのそれぞれのトランジスタを生成する（ステップ２０１）。図７に示すように、制御部１５は、各ＭＯＳトランジスタをセル枠Ｓにはめ込む。
【００６２】
制御部１５は、各ＭＯＳトランジスタのゲート幅Ｗｐ、Ｗｎが外側可変か否かを判定する（ステップ２０２）。ステップ２０２の判定の結果、各ＭＯＳトランジスタのゲート幅Ｗｐ、Ｗｎが外側可変でない場合、制御部１５は、電源幹線との接続は各ＭＯＳトランジスタとの最小間隔で確保する（ステップ２０３）。
【００６３】
一方、ステップ２０２の判定の結果、各ＭＯＳトランジスタのゲート幅Ｗｐ、Ｗｎが外側可変である場合、電源幹線との接続は各ＭＯＳトランジスタの最大ゲート幅Ｗｐｍａｘ、Ｗｎｍａｘのときの間隔で行う（ステップ２０４）。
【００６４】
次に、ステップ１０２における「セルの生成」処理について説明する。
【００６５】
図８は図４に示したステップ１０２における「セルの生成」処理についてのフローチャートである。図９は図８に示すフローを説明するための基準セルのレイアウト図である。
【００６６】
ここでは、ＰＭＯＳトランジスタ６１およびＮＭＯＳトランジスタ６２のゲート電極が不純物ドープされたポリシリコン配線（ＰＯＬＹ接続線と称する）で接続されているものとする。図９に示すように、それらのＭＯＳトランジスタのゲート電極は、ＰＯＬＹ接続線８１およびＰＯＬＹ接続コンタクト８２を介して入力配線７５と接続されている。
【００６７】
図８に示すように、制御部１５は、ＰＭＯＳ側とＮＭＯＳ側に個別に設定されたトラック数から必要なトラック領域を求める（ステップ３０１）。
【００６８】
制御部１５は、セル枠のＹ軸方向のサイズである縦サイズを、各ＭＯＳトランジスタの最大ゲート幅ＷのときのＭＯＳ領域の縦サイズ、トラック領域の縦サイズ、および各電源幹線の幅を合計したサイズとして、セル枠を生成する（ステップ３０２）。
【００６９】
制御部１５は、図６を参照して説明したフローで生成したＭＯＳ部品を、セル枠の外側端に合わせて電源幹線を挟んで配置する（ステップ３０３）。
【００７０】
制御部１５は、入出力配線の上下端およびＰＯＬＹ接続線とそのコンタクトを各ＭＯＳ部品のセル中央端に接続できるようにトポロジーを保ちつつ伸縮、追従させる（ステップ３０４）。
【００７１】
図１０Ａおよび図１０Ｂは、図８に示すステップ３０４の処理をＰＭＯＳ側に注目して説明するための図である。図１０Ａおよび図１０Ｂに示すレイアウトはいずれも、ＰＭＯＳトランジスタ６１のゲート幅ＷｐをＷｐ１からＷｐ２（Ｗｐ２<Ｗｐ１）に小さくする場合の具体例である。
【００７２】
ＰＭＯＳトランジスタ６１のパターンが外側可変の場合、図１０Ａに示すように、ゲート幅Ｗｐ１のＰＭＯＳトランジスタ６１のパターンをゲート幅Ｗｐ２になるようにセル枠の内側方向に縮める。このような形状変更があっても、配線７２は、ゲート幅Ｗｐ２になったＭＯＳトランジスタ６１のソース電極とコンタクト（不図示）を介して接続された状態を維持する。
【００７３】
ＰＭＯＳトランジスタ６１のパターンが内側可変の場合、図１０Ｂに示すように、ゲート幅Ｗｐ１のＰＭＯＳトランジスタ６１のパターンをゲート幅Ｗｐ２になるようにセル枠の外側方向に縮める。入力配線７５および出力配線７６を、ＰＭＯＳトランジスタ６１のパターン変更に追従してセル枠の外側方向に伸ばす。このようにして、ＰＭＯＳトランジスタ６１に形状変更があっても、入力配線７５および出力配線７６のそれぞれは、ゲート幅Ｗｐ２になったＭＯＳトランジスタ６１のゲート電極およびドレイン電極のそれぞれと接続された状態を維持する。また、図１０Ｂに示す場合、２つのＭＯＳトランジスタのパターンをセル枠の外側方向に移動させているので、セル枠の大きさを維持したまま、トラック領域を広げることが可能となる。
【００７４】
上述したように、本実施形態のパラメタライズドセルでは、ＰＭＯＳ側、ＮＭＯＳ側それぞれのトラック数を確保しつつ、トラック領域のサイズ変化に応じて移動または形状変化が必要となる各ＭＯＳトランジスタの縦方向（Ｙ軸方向）の位置、および入出力配線となるＭＯＳトランジスタ同士の接続配線部分を初期レイアウトのトポロジーを保ちつつ追従移動・伸縮させる機能を盛り込んでいる。この機能拡張により、場合に応じたトラック数増減の制御が可能となり、より面積効率を高めたセル間配線を実現することができる。
【００７５】
本実施形態では、制御部１５がブロック回路の情報からブロックに必要なトラック数を見積もる場合で説明したが、パラメタライズドセルのパラメータとして、回路とは無関係のレイアウト専用のパラメータとして「トラック数」を設定してもよい。この場合、トラック数はレイアウト構造を規定するためのレイアウト固有のパラメータとなる。また、トラック数は予め設定された初期値を持っており、明示的に値を変えない限りは初期値が適用され、それに応じたセルレイアウトを発生する。
【００７６】
この方法は、運用上、回路設計とレイアウト設計を切り分けて、レイアウト設計側のみで考慮が必要な設定を回路設計から分離させる場合に有効である。パラメータの１つであるゲート幅は回路特性に強く影響を受けるものであり、回路設計側で考慮が必要なため、回路図にパラメータとして設定されている。一方、別のパラメータであるトラック数は上位ブロック実装時の配線のためにどれだけのスペースを予め確保するかを決めるものであり、レイアウト実装上の固有の設定となる。通常、回路設計の段階では、論理実装およびラフなタイミング確認が主な作業となるため、ブロック実装時の配線まで考慮して設計しないので、ブロック実装時に変更が生じる可能性のあるパラメータを可変に設定しておいた方が都合がよい。
【００７７】
図１１はトラック数をパラメータとして設定した場合を説明するための図である。
【００７８】
図１１（ａ）は初期値として、ＰＭＯＳ側のトラック数が４に設定され、ＮＭＯＳ側のトラック数が３に設定された場合の基準セルのレイアウトである。図１１（ｂ）は図１１（ａ）に示す基準セルに対して、初期値を変更した場合を示す。
【００７９】
図１１（ｂ）に示す基準セルでは、初期値として、ＰＭＯＳ側のトラック数が３に設定され、ＮＭＯＳ側のトラック数が２に設定されている。さらに、ブロック回路の情報に対応してブロック内に含まれる複数の基準セルを配置した後に、ＰＭＯＳ側およびＮＭＯＳ側のそれぞれのトラック数を変更することが可能である。図１１（ｃ）は配置済みのセルインスタンスについて、ＰＭＯＳ側のトラック数を３に設定し、ＮＭＯＳ側のトラック数を２に設定した状態を示す。
【００８０】
このようにして、パラメタライズドセルのパラメータの初期値設定を変えることで、デフォルトで発生するセルの形態をそれに合わせて変えることができる。また、既に発生済みのインスタンスについても個々のパラメータ設定値を変えることでセルの形状を変更することができる。いずれの場合も、回路情報に影響を及ぼさないので、各ＭＯＳトランジスタのゲート幅Ｗが変更することはない。
【００８１】
背景技術で説明した、セル高固定レイアウトの基準セルを用いる設計方法では、上位ブロックで配線性が破綻しないように、最も配線が混雑する領域をカバーできる充分なトラック数を確保したセルを予め用意し、セル高を一律に固定していた。しかし、このような設計方法では、見積もりに反して上位設計にて配線性に破綻をきたした場合、セル内配線のトラック数を増やすためにセルを全て手作業で作成し直す必要があった。
【００８２】
これに対して、本実施形態の設計方法では、基準セルのトラック数のパラメータの初期値をリセットするだけで済み、セルの作り直し工数不要で対応できるという利点がある。
以下に、本実施形態の設計方法によるブロックレイアウトの具体例を説明する。
【００８３】
図１２は本実施形態の設計方法によるブロックレイアウトの一例を示す図である。図１２（ａ）は１０トラックのブロックであり、図１２（ｂ）は６トラックのブロックである。
【００８４】
図１２（ａ）に示すブロックは１０トラック分のトラック領域が必要な場合である。図１２（ｂ）に示すブロックのトラック領域は、１０トラック分は不要で、６トラック分あれば十分なので、図１２（ａ）に比べて、ブロックの高さを低くすることが可能となる。
【００８５】
次に、本実施形態の設計方法をＤＲＡＭ等の半導体メモリの周辺回路に適用した場合の具体例を説明する。
【００８６】
図１３は本実施形態による設計方法を、半導体メモリの周辺回路に適用した場合を説明するための図である。
【００８７】
図１３の上側に示すブロックでは、配線リミット部に必要なトラック数が７であるにも関わらず、１１トラックの領域が確保されている様子を示す。１１トラック分確保されているトラック領域を必要最低限の７トラックに縮小した場合を図１３の下側に示す。電源線はブロックの縮小に合わせて上下端に配置する。図１３の上側と下側の２つのブロックを見比べると、ブロック内の回路を変更していないにもかかわらず、ブロックの高さを小さくできることがわかる。
【００８８】
図１４は複数のブロックを配列する場合において、本実施形態の設計方法によるエリア削減効果を説明するための図である。
【００８９】
図１４は、ブロック内に含まれる複数の基準セルの配置方向に対して直交する方向である縦方向に７つのブロックを積み重ねて配置する場合である。これらのブロックを縦方向に積み重ねたものを積層ブロックと称する。そして、７つのブロックで最も配線密度の大きいトラック領域に必要なトラック数が１１であるものとする。
【００９０】
図１４の左側に示す積層ブロックでは、１１トラック分のトラック領域を確保した基準セルを７つのブロックの全てに一律に適用している。これに対して、図１４の右側に示す積層ブロックでは、ブロック毎に最も配線密度の大きいトラック領域に合わせて基準セルを設定している。具体的には、７つのブロックのうち、トラック領域が７トラックのブロックが２つ、トラック領域が８トラックのブロックが１つ、トラック領域が９トラックのブロックが１つ、トラック領域が１０トラックのブロックが１つ、トラック領域が１１トラックのブロックが２つである。
【００９１】
図１４の左側に示す積層ブロックのトラック領域の高さが７７トラック（＝１１トラック×７）であるのに対し、図１４の右側に示す積層ブロックのトラック領域の高さは、６３トラック（＝７×２＋８×１＋９×１＋１０×１＋１１×２）トラックである。これにより、１４トラック（＝７７−６３）分のエリア削減効果があることがわかる。
【００９２】
本実施形態によれば、パラメタライズドセルの機能を拡張し、ＭＯＳの形状およびその接続部分のトポロジーを維持したまま縦方向への移動・伸縮処理を可能にすることにより、ＭＯＳに挟まれたトラック領域のトラック数を制御することができる。その結果、ブロックの配線後に生じていたデッドスペースを削減することが可能となり、ブロック回路が占める面積を削減することができる。
【００９３】
また、場所に応じた、トラック領域のサイズの適用が可能となり、配線密度が小さい領域で生じていた無駄なトラック領域（デッドスペース）の削減が可能となる。よって、ブロックレイアウトの面積を削減することができる。
【００９４】
また、ブロックに必要なトラック数をレイアウト専用のパラメータとして規定すれば、セル構造（トラック数）の途中変更が必要になった場合にもセルレイアウトを作り直す必要がなく、パラメータ値（デフォルトまたはインスタンス）の一括変更で対応できる。
【００９５】
なお、本発明の設計方法をコンピュータに実行させるために、その方法をコンピュータが読み取り可能に記述したプログラムを準備し、そのプログラムをコンピュータが読み取り可能な記録媒体に記録してもよい。
【符号の説明】
【００９６】
１０    設計支援装置
１２    記憶部
１３    表示部
１４    操作部
１５    制御部
【図１】
2014089634.tif 000003
【図２】
2014089634.tif 000004
【図３】
2014089634.tif 000005
【図４】
2014089634.tif 000006
【図５】
2014089634.tif 000007
【図６】
2014089634.tif 000008
【図７】
2014089634.tif 000009
【図８】
2014089634.tif 000010
【図９】
2014089634.tif 000011
【図１０Ａ】
2014089634.tif 000012
【図１０Ｂ】
2014089634.tif 000013
【図１１】
2014089634.tif 000014
【図１２】
2014089634.tif 000015
【図１３】
2014089634.tif 000016
【図１４】
2014089634.tif 000017