(57)【要約】【課題】従来のレイアウト設計方法では、素子セルを生成するために座標データの入力が必要であり、作業が煩雑であった。【解決手段】容量素子の最大容量値ＣＭＡＸ及びトリミング容量値Ｃを規定するパラメータを取得する工程Ｓ１０及びＳ１２と、最大容量値ＣＭＡＸを規定するパラメータに基づいて容量素子の基本構成を定め、トリミング容量値Ｃを規定するパラメータに基づいて基本構成の電極の有効面積を変更して容量素子のレイアウトを行う工程Ｓ１４を実行することで上記課題を解決できる。【選択図】        図２
2004171076.tif 000002
【特許請求の範囲】
【請求項１】
容量素子のレイアウトを行うためのレイアウト設計方法であって、
容量素子の最大容量値及びトリミング容量値を規定するパラメータを取得する工程と、
前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記トリミング容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項２】
容量素子のレイアウトを行うためのレイアウト設計装置であって、
容量素子の最大容量値及び補正容量値を規定するパラメータを取得するパラメータ取得手段と、
前記パラメータ取得手段で取得された前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記パラメータ取得手段で取得された前記補正容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う素子セル生成手段と、
を含むことを特徴とするレイアウト設計装置。
【請求項３】
容量素子のレイアウトを行うためのレイアウト設計プログラムであって、
コンピュータに、
容量素子の最大容量値及び補正容量値を規定するパラメータを取得する工程と、
前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記補正容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う工程と、
を含む処理を実行させることを特徴とするレイアウト設計プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、素子のレイアウトを行うためのレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラムに関する。
【０００２】
【従来の技術】
半導体集積回路のレイアウト設計においては、その半導体集積回路に含まれる半導体素子を素子セルとして作成し、回路図に従ってその素子セルを含むブロックセルを作成することにより、半導体集積回路のレイアウトが行われる。
【０００３】
図１６に、典型的な半導体集積回路の設計のフローチャートを示す。ステップＳ１００のシステム設計工程では、回路仕様、プロセス及びチップサイズ等のシステムの基本コンセプトが決定される。ステップＳ１０２の回路設計工程では、具体的な回路構成、各種定数の決定が行われる。ステップＳ１０４のブロックセルレイアウト設計工程では、回路に使用される素子毎に素子セルのレイアウトが行われ、その後、それらの素子セルを組み合わせてブロックセルのレイアウトが行われる。ステップＳ１０６の全体レイアウト設計では、ブロックセルを適切に配置することによって集積回路全体のレイアウトが行われる。ステップＳ１０８のマスク生成工程では、集積回路のレイアウトに基づいて、プロセスに応じたマスクが作成される。ステップＳ１１０の製造工程では、マスクを用いて実際のプロセスが実行され、半導体集積素子が製造される。
【０００４】
上記ブロックセルレイアウト工程Ｓ１０４では、レイアウト設計者は、回路設計工程Ｓ１０２で得られた回路図を参照しながら、ＣＡＤ等の図面入力支援装置を用いて、素子を構成する電極、絶縁層、ドーピング領域等の座標を入力すること事によって素子セルのレイアウトを行う。
【０００５】
このとき、レイアウト設計者の負担を軽減するために、スタンダード方式と呼ばれる設計方法が利用されている。スタンダード方式では、頻繁に用いられる標準的な素子セルのレイアウトをライブラリとして記憶装置に保持しておき、必要に応じてライブラリの中からの素子セルを選択することによってブロックセルのレイアウトを可能とする（例えば、特開平５−２１８２０２号公報）。
【０００６】
【特許文献１】特開平５−２１８２０２号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、カスタム化された素子が多いアナログ集積回路等では、使用される素子の構成要素の大きさ、形状及び配置の変更が多く、素子セルのレイアウトを標準化することができず、セルライブラリを利用することが困難である。従って、素子セルの各構成要素に対して、逐一座標データを入力して素子セルのレイアウトを行う必要がある。
【０００８】
また、素子セルを組み合わせてブロックセルのレイアウトを行う際に、素子セルのレイアウト自体を変更する必要が生ずる場合がある。さらに、回路設計の見直し等によって素子セルを変更する必要が生ずることもある。このとき、レイアウト設計者は素子セルの各構成要素に対して座標データを再入力する必要があり、レイアウト作業が益々煩雑になる問題がある。さらに、座標データの入力ミスを生ずる恐れも高くなる。
【０００９】
また、容量素子や抵抗素子の素子セルを含む集積回路では、レイアウト設計後にも集積回路の全体の遅延時間を調整するために容量値又は抵抗値を微調整する必要があることが多く、容量素子又は抵抗素子の各構成要素の座標を再入力する必要がある。この場合にも、レイアウト設計者に負担が掛かり、開発時間が長くなる問題がある。
【００１０】
また、容量値や抵抗値の微調整に伴って容量素子や抵抗素子の構成を変更した場合、製造プロセスで用いられるほとんどのマスクを作り直す必要が生じ、製造プロセスへの影響が大きく、製造コストの増大を招いている。
【００１１】
さらに、素子セルの調整に伴って回路のレイアウト全体が影響を受け、レイアウト作業を再度最初から行う必要が生ずる場合も多い。
【００１２】
さらに、レイアウト設計後において、回路設計者やシステム設計者がその結果の適否を容易に確認できない。そのため、回路設計者とレイアウト設計者との間で、設計の擦り合わせが難しく、開発時間を遅延させる原因となっている。
【００１３】
本発明は、上記従来技術の問題を鑑みて、上記課題の少なくとも１つを解決するべく、素子のレイアウト作業の負担を軽減できるレイアウト設計装置、レイアウト設計方法及びレイアウト設計プログラムを提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記課題を解決するための本発明は、容量素子のレイアウトを行うためのレイアウト設計方法であって、容量素子の最大容量値及びトリミング容量値を規定するパラメータを取得する工程と、前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記トリミング容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う工程とを含むことを特徴とする。
【００１５】
上記課題を解決するための本発明の別の形態は、容量素子のレイアウトを行うためのレイアウト設計装置であって、容量素子の最大容量値及び補正容量値を規定するパラメータを取得するパラメータ取得手段と、前記パラメータ取得手段で取得された前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記パラメータ取得手段で取得された前記補正容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う素子セル生成手段とを含むことを特徴とする。
【００１６】
上記課題を解決するための本発明の別の形態は、容量素子のレイアウトを行うためのレイアウト設計プログラムであって、コンピュータに、容量素子の最大容量値及び補正容量値を規定するパラメータを取得する工程と、前記最大容量値を規定するパラメータに基づいて容量素子の基本構成を定め、前記補正容量値を規定するパラメータに基づいて前記基本構成の電極の有効面積を変更して容量素子のレイアウトを行う工程とを含む処理を実行させることを特徴とする。
【００１７】
【発明の実施の形態】
本発明の実施の形態におけるレイアウト設計装置は、図１のように、制御部１０、入力部１２、出力部１４、記憶部１６及びバス１８から基本的に構成される。制御部１０、入力部１２、出力部１４及び記憶部１６は、バス１８を介して、情報伝達可能に接続される。
【００１８】
また、レイアウト設計装置は、インターフェース部２０を含むことも好適である。インターフェース部２０を介して、外部のネットワーク２２と情報伝達可能に接続することによって、レイアウト設計に必要なパラメータ等のデータを装置外部から受け取り、又は、レイアウト設計の結果を装置外部のコンピュータに出力することができる。
【００１９】
制御部１０は、記憶部１６に保持されているレイアウト設計プログラムを実行することによって、入力部１２又はインターフェース部２０からレイアウト設計のためのパラメータを取得し、素子セル内のレイアウト設計処理を行う。
【００２０】
入力部１２は、レイアウト設計に必要なデータを入力するために用いられる。入力されたデータは、バス１８を介して、制御部１０又は記憶部１６に転送される。入力部１２としては、例えば、キーボード等の文字入力装置やマウス、ライトペン、トラックボール等のポインティングデバイスを適宜選択して用いることが好適である。
【００２１】
出力部１４は、レイアウト結果や入力部１２から取得したパラメータ等を表示する。出力部１４としては、例えば、ディスプレイ、プリンタ等の出力装置を適宜選択して用いることが好適である。
【００２２】
記憶部１６は、制御部１０で実行されるレイアウト設計プログラムや入力部１２から入力されたパラメータ値を格納及び保持するために用いられる。記憶部１６の記憶内容は、制御部１０によって適宜参照することができる。記憶部１６としては、例えば、半導体メモリ、ハードディスク、フレキシブルディスク、光磁気ディスク又は磁気テープ等を適宜選択して用いることができる。
【００２３】
以下、本実施の形態におけるレイアウト設計方法を、図２のフローチャートを参照して、詳細に説明する。本実施の形態におけるレイアウト設計方法では、集積回路に含まれる素子を素子セルとして自動生成し、その素子セルを組み合わせてブロックセルのレイアウトを行う。
【００２４】
レイアウト設計方法の各工程は、コンピュータによって実行可能なプログラムに変換されて記憶部１６に保存される。プログラムは、制御部１０によって読み出されて実行される。
【００２５】
あらかじめステップＳ１００のシステム設計及びステップＳ１０２の回路設計工程（図１６参照）で設計された回路情報が、バス１８に接続された外部データベースから呼び出される。
【００２６】
ステップＳ１０では、制御部１０は、呼び出された回路情報に含まれる各素子のタイプとステップＳ１００で指定されたプロセスルールの種別データを取得する。レイアウト設計者は、入力部１２から回路図の設計個所を指定する。設計個所の指定を受けた制御部１０は、設計個所の素子のタイプを判別し、記憶部１６に予め保存されている基本構成データベースを参照して、指定された素子の基本構成のデータを読み出す。
【００２７】
例えば、集積回路にＮＰＮ型のバイポーラトランジスタ３０が含まれる場合には、図３のように、エミッタ電極３２、ベース電極３４、コレクタ電極３６、エミッタドーピング領域３１、ベースドーピング領域３３及びコレクタドーピング領域３５等の形状、大きさ及び配置についてのデフォルト値（基準値）が読み出される。トランジスタ３０を取り囲む素子分離領域ＩＳＯ３７に関しても適宜デフォルト値を読み出すことが可能である。他の素子タイプが入力された場合も同様に処理することができる。
【００２８】
これらの基本構成は、最小線幅、設計耐圧、設計性能等を決めるデザインルール（プロセスルール）の種別毎にあらかじめ準備される。軽微な修正が反映された等、近似した複数のプロセスの場合は、共通部分を保存しておき、両者間の相違点の部分だけをデザインルールに応じて適宜変更し出力するようにしてもよい。
【００２９】
ステップＳ１２では、制御部１０は、素子セルを自動生成するために必要なパラメータを取得する。制御部１０は、記憶部１６に予め保存されているパラメータデータベースを参照して、レイアウトに必要なパラメータのタイプ及びデフォルト値を読み出して出力部１４に表示させ、レイアウト設計者にパラメータ値の変更を促す。レイアウト設計者は、出力部１４に表示されたパラメータ値を変更する必要がある場合には、入力部１２を用いてパラメータ値を変更する。
【００３０】
ここで、パラメータとは、素子セルに含まれる素子の基本構成を変更するために用いられるものをいう。また、パラメータは、容量値や抵抗値の調整（トリミング）に用いるものを含むことも好適である。トリミングに関するパラメータについては後述する。
【００３１】
例えば、回路においてバイポーラトランジスタ３０が使用される場合には、図４のように、（ａ）基準部分の長さ（Ｅ＿ＬＥＮＧＴＨ：エミッタ長さ）、（ｂ）素子セルすなわち素子分離領域ＩＳＯ３７で囲まれた領域内に並列に配置する素子の数（Ｅ＿ＭＵＬＴＩ：並列素子数）、（ｃ）コレクタ電極の有無（Ｃ＿ＯＦＦ）、（ｄ）エミッタ電極の数（Ｅ＿ＮＵＭ）、（ｅ）コレクタ電極の位置（Ｃ＿ＰＯＳＩＴＩＯＮ）、（ｆ）電極の繰返しパターン（エミッタ本数Ｅ＿ＲＯＷ、ベース本数Ｂ＿ＲＯＷ，及び電極順）の変更が行われる。
【００３２】
ここで、（ａ）エミッタ長さＥ＿ＬＥＮＧＴＨは、基準部分となるエミッタ電極の長さを示すパラメータであり、デザインルールで決まっている最小値以上の値が設定される。（ｂ）並列素子数Ｅ＿ＭＵＬＴＩは、セル内において並列に配置される素子の数を示すパラメータであり、１以上の整数が設定される。（ｃ）コレクタ電極の有無Ｃ＿ＯＦＦは、コレクタ電極を設けるか否かを示すパラメータであり、コレクタ電極を設ける場合には“ＯＮ”が設定され、コレクタ電極を設けない場合には“ＯＦＦ”が択一的に設定される。（ｄ）エミッタ電極の数Ｅ＿ＮＵＭは、エミッタ電極の数を示すパラメータであり、１以上の整数が設定される。（ｅ）コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮは、コレクタ電極をベース電極側、エミッタ電極側又は両方のいずれに設けるかを示すパラメータであり、ベース電極側に設ける場合には“ＴＯＰ”、エミッタ電極側に設ける場合には“ＢＯＴＴＯＭ”又は両方に設ける場合には“ＢＯＴＨ”が択一的に設定される。（ｆ）電極の繰返しパターンは、素子を直列に配置する場合に電極の配置パターンを示すパラメータであり、エミッタ電極の直列方向への数（エミッタ本数Ｅ＿ＲＯＷ）、ベース電極の直列方向への数（ベース本数Ｂ＿ＲＯＷ）及び電極順を含む。エミッタ電極の直列方向への数Ｅ＿ＲＯＷ及びベース電極の直列方向への数Ｂ＿ＲＯＷには１以上の整数が設定される。電極順には“Ｅ／Ｂ”又は“Ｂ／Ｅ”が択一的に設定される。
【００３３】
ステップＳ１４では、入力されたパラメータ値及びデザインルールに基づいて、制御部１０は、素子の電極やドーピング領域の形状、大きさ及び配置等の基本構成を変更して素子セルを自動生成する。
【００３４】
例えば、バイポーラトランジスタでは、（ａ）エミッタ長さＥ＿ＬＥＮＧＴＨ、（ｂ）並列素子数Ｅ＿ＭＵＬＴＩ、（ｃ）コレクタ電極の有無Ｃ＿ＯＦＦ、（ｄ）エミッタ電極の数Ｅ＿ＮＵＭ、（ｅ）コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮ及び（ｆ）電極の繰返しパターン（エミッタ本数Ｅ＿ＲＯＷ、ベース本数Ｂ＿ＲＯＷ、及び電極順）の設定に基づいて素子の基本構成が変更されて素子セルが生成される。
【００３５】
（ａ）エミッタ長さＥ＿ＬＥＮＧＴＨの値に基づいて、エミッタ電極３２の長さｄが変更される。例えば図４のように、エミッタ長さＥ＿ＬＥＮＧＴＨ＝４．６μｍと設定されていれば、図５（ａ）のように、エミッタ電極３２の長さｄが４．６μｍとされる。また、変更に応じて、他の電極及びドーピング領域のサイズも変更される。尚、本例においては、金属電極がエミッタドーピング領域３１とオーミック接触するコンタクトホールの部分をエミッタ電極３２としており、エミッタ電極３２の形状と大きさがそのままエミッタドーピング領域の形状と大きさに反映される場合を示している。制御すべきは、エミッタドーピング領域３１の形状と大きさと配置、金属電極とオーミック接触する為のコンタクトホールの形状と大きさと配置であり、両者が個々に制御される必要のあるプロセスでは、その旨パラメータが適宜変更される。
【００３６】
（ｂ）並列素子数Ｅ＿ＭＵＬＴＩの値に基づいて、セル内に並列に配置される基本構成３０の数が変更される。例えば図４のように、並列素子数Ｅ＿ＭＵＬＴＩ＝２回と設定された場合には、図５（ｂ）のように、同一の素子分離領域ＩＳＯ３７で囲まれた領域内にトランジスタを２つ並列に並べた配置とする。このとき、エミッタ長さＥ＿ＬＥＮＧＴＨと並列素子数Ｅ＿ＭＵＬＴＩを共に変更して、素子のサイズ及び並列配置数を同時に変更することも可能である。
【００３７】
（ｃ）コレクタ電極の有無Ｃ＿ＯＦＦの設定に基づいて、コレクタ電極３６を削除するか否かが決定される。例えば、コレクタ電極の有無Ｃ＿ＯＦＦが“ＯＮ”である場合には、図５（ｃ）のように、コレクタ電極３６を備えた素子の構成となる。一方、コレクタ電極の有無Ｃ＿ＯＦＦが“ＯＦＦ”である場合には、図５（ｄ）のように、コレクタ電極３６が削除された構成となる。このとき、コレクタ電極３６と共にコレクタのドーピング領域３５も削除される。
【００３８】
（ｄ）エミッタ電極の数Ｅ＿ＮＵＭの設定に基づいて、エミッタ電極３２の数が決定される。エミッタ電極の数Ｅ＿ＮＵＭが２である場合には、図５（ｅ）のように、図示ｘ方向にエミッタ電極３２を２つにした構成、即ち共通のベースドーピング領域３３に対してエミッタドーピング領域３１を２つ形成した構成に変更される。同様に、コレクタ電極３６やベース電極３４に対してもパラメータを設定可能とし、電極数を変更させることもできる。
【００３９】
（ｅ）コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮの設定に基づいて、コレクタ電極３６の位置が変更される。コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮが“ＴＯＰ”である場合には、図６（ａ）のように、コレクタ電極３６がベース電極３４側に配置される。コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮが“ＢＯＴＴＯＭ”である場合には、図６（ｂ）のように、コレクタ電極３６がエミッタ電極３２側に配置される。また、コレクタ電極の位置Ｃ＿ＰＯＳＩＴＩＯＮが“ＢＯＴＨ”である場合には、図６（ｃ）のように、コレクタ電極３６がベース電極３４及びエミッタ電極３２の両方の側に配置される。このとき、コレクタ電極３６と共に付随するコレクタのドーピング領域３５の位置も変更される。
【００４０】
（ｆ）電極の繰返しパターン（エミッタ本数Ｅ＿ＲＯＷ、ベース本数Ｂ＿ＲＯＷ及び電極順）に基づいて、コレクタ電極３６、ベース電極３４及びエミッタ電極３２の直列方向への配置パターンが決定される。例えば、エミッタ本数Ｅ＿ＲＯＷ＝２、ベース本数Ｂ＿ＲＯＷ＝２及び電極順＝“Ｂ／Ｅ”である場合には、図７（ａ）のように、コレクタ電極３６、第１のベース電極３４ａ、第１のエミッタ電極３２ａ、第２のベース電極３４ｂ及び第２のエミッタ電極３２ｂの順に電極が配置される。電極順＝“Ｅ／Ｂ”であった場合には、図７（ｂ）にように、コレクタ電極３６、第１のエミッタ電極３２ａ、第１のベース電極３４ａ、第２のエミッタ電極３２ｂ及び第２のベース電極３４ｂの順に電極が配置される。エミッタ本数Ｅ＿ＲＯＷベース本数Ｂ＿ＲＯＷの値が等しくない場合、例えば、エミッタ本数Ｅ＿ＲＯＷ＝２及びベース本数Ｂ＿ＲＯＷ＝３である場合には、図７（ｃ）のように、コレクタ電極３６、第１のベース電極３４ａ、第１のエミッタ電極３２ａ、第２のベース電極３４ｂ、第２のエミッタ電極３２ｂ、第３のベース電極３４ｃの順に配置される。逆に、エミッタ本数Ｅ＿ＲＯＷ＝３及びベース本数Ｂ＿ＲＯＷ＝２である場合には、図７（ｄ）のように、コレクタ電極３６、第１のエミッタ電極３２ａ、第１のベース電極３４ａ、第２のエミッタ電極３２ｂ、第２のベース電極３４ｂ、第３のエミッタ電極３２ｃの順に配置される。このとき、各電極のパターン変更と共に、各電極に付随するドーピング領域３１ａ，３１ｂ，３１ｃ，３３のパターンも変更される。
【００４１】
ここでは、バイポーラトランジスタを例にとって説明を行ったが、他の素子タイプにおいても同様にパラメータの設定値に応じて予め定められた素子の基本構成を変更して素子セルを自動生成することができる。
【００４２】
ステップＳ１６では、制御部１０は、自動生成された素子セルを出力部１４に表示してレイアウト設計者に確認を促し、レイアウト設計者からの確認情報の入力を受けて、素子セルに問題があればステップＳ１２に戻り、問題が無ければステップＳ１８に処理を移行させる。
【００４３】
ここで、図８のように、素子セルの生成結果と併せて、デザインルール及び各パラメータ値を表示することも好適である。これによって、レイアウト設計者のみならず、システム設計者や回路設計者も素子セルの生成に用いられたデザインルール及び各パラメータ値の整合性や妥当性を容易に確認することができる。
【００４４】
また、デザインルール及び各パラメータ値を確認画面上で変更可能とし、その変更によって素子セルを再生成して表示させることが好ましい。これによって、デザインルール及び各パラメータ値の変更と素子セルの生成との関係を容易に確認できるようになり、素子セルの生成を迅速に行うことができる。
【００４５】
ステップＳ１８では、制御部１０は、既存のＣＡＤ等の編集ツールを利用して、レイアウト設計者にブロックセル内に素子セルを手動又は自動でレイアウトさせる。例えば、デジタイザ等を用いた既存の編集ツールを利用することができる。
【００４６】
ステップＳ２０では、制御部１０は、ブロックセルのレイアウト結果を出力部１４に表示して、レイアウト設計者に素子セルの変更が必要か否かの確認情報の入力を促す。レイアウト設計者が素子セルの変更が必要とした場合にはステップＳ１２に処理を戻し、変更が不要であるとした場合にはステップＳ２２に処理を移行する。
【００４７】
ステップＳ２２では、制御部１０は、レイアウト設計者にブロックセル内の素子間の配線を行わせる。例えば、コンパクションツールを備えた既存の配線支援ツールを用いることができる。また、自動配線ツールを用いても良い。
【００４８】
ステップＳ２４では、制御部１０は、ブロックセルのレイアウト及び配線の結果に対して既存のデザイン・ルール・チェック（ＤＲＣ）と自動照合検証（ＬＶＳ）方法を適用して、ブロックセルがデザインルールに適合しているか否かを判断する。デザインルールに適合していなければステップＳ１８に処理を戻し、デザインルールに適合していればブロックセルのレイアウト設計を終了する。
【００４９】
集積回路に複数のブロックセルが含まれる場合には、レイアウト方法を繰返し実行することによって必要なブロックセルのレイアウトを行う。
【００５０】
以上のように、本実施の形態によれば、デザインルール及びパラメータに基づいて予め定められた素子の基本構成を変更することによって、素子の構成要素の座標データを逐一入力すること無く素子セルを自動生成することができる。従って、レイアウト設計者が入力しなければならないデータ量を低減でき、レイアウト設計の負担を軽減することができる。特に、カスタムＩＣが多いアナログ集積回路のようにセルの標準化が困難であって、セルライブラリの利用ができない集積回路のレイアウト設計において有効である。
【００５１】
また、素子セルの生成結果と併せてデザインルール及び各パラメータ値とを比較可能な態様で表示するため、レイアウト設計の専門家でないシステム設計者や回路設計者もレイアウト設計の結果を容易に確認することができ、システム設計や回路設計へのフィードバックが容易となる。
【００５２】
＜変形例１＞
本発明の実施の形態における変形例１として、図９を参照して、容量素子４０を含む素子セルの自動生成について説明する。
【００５３】
以下の説明では、容量値の微調整を行うパラメータを中心に説明を行い、上記実施の形態と同様の処理を行う工程については説明を省略する。
【００５４】
ステップＳ１０では、レイアウト設計者は素子タイプとして容量素子４０を指定する。ここでは、金属−シリコン窒化膜−ポリシリコン電極の構造を有するＭＯＳ容量素子とする。下地のポリシリコン電極の上に設けられた絶縁膜にポリシリコン電極表面を露出する開口部分が設けられ、開口部分をシリコン窒化膜が被覆し、さらにシリコン窒化膜の上に金属電極が被覆する構成を持つ。容量値は前記開口部分の面積とシリコン窒化膜の膜厚で決定される。従って前記開口部分の面積が容量の有効面積となる。
【００５５】
制御部１０は、容量素子４０である旨の指定を受けて、基本構成データベースから容量素子４０の基本構成のデフォルト値を読み出す。
【００５６】
ステップＳ１２では、素子タイプが容量素子４０であることを受けて、制御部１０は、パラメータデータベースから最大容量値（ＣＭＡＸ）、最大電極幅（ＷＭＡＸ）、最大電極長さ（ＬＭＡＸ）、トリミング容量値（Ｃ）、トリミング電極幅（Ｗ）及びトリミング電極長さ（Ｌ）のデフォルト値を読み出して出力部１４に表示させ、レイアウト設計者にパラメータ値の変更を促す。
【００５７】
ここで、関係式（１）及び（２）を用いて、最大容量値ＣＭＡＸ、最大電極幅ＷＭＡＸ及び最大電極長さＬＭＡＸのいずれか２つの値、並びにトリミング容量値Ｃ、トリミング電極幅Ｗ及びトリミング電極長さＬのいずれか２つの値を入力させることによって、残りのパラメータ値を自動的に算出することが好適である。
【００５８】
【数１】
2004171076.tif 000003
【００５９】
例えば、ＭＯＳ容量素子に対して、最大容量値ＣＭＡＸ＝１３．８ｐＦ、最大電極幅ＷＭＡＸ＝１０μｍ、トリミング容量値Ｃ＝６．９ｐＦ及びトリミング電極幅Ｗ＝１０μｍが入力された場合には、最大電極長さＬＭＡＸ＝１０μｍ及びトリミング電極長さＬ＝５μｍとなる。尚、上記の最大電極長さＬＭＡＸと最大電極幅ＷＭＡＸは、上記の容量の有効面積の部分の寸法を意味する。
【００６０】
関係式（１）及び（２）は、容量素子が平行電極の構造を有するときに有効であり、トレンチ型等の複雑な構成を有するときには経験式からパラメータを算出することが好ましい。
【００６１】
ステップＳ１４では、パラメータ値に基づいて、容量素子の素子セルが自動生成される。マルチ等の一般的なパラメータに基づく素子セルの自動生成については説明を省略し、容量素子に特有のパラメータに基づく素子セルの生成について詳細に説明する。
【００６２】
トリミング容量値Ｃと最大容量値ＣＭＡＸが等しい場合には、図１０（ａ）のように、素子の基本構成各部のサイズ及び配置を最大容量値ＣＭＡＸとなるように変更する。すなわち、シリコン酸化膜上部電極の開口部分４２の大きさを最大電極幅ＷＭＡＸ及び最大電極長さＬＭＡＸとし、他の基本構成は最大電極幅ＷＭＡＸ及び最大電極長さＬＭＡＸに合わせて変更する。
【００６３】
一方、トリミング容量値Ｃと最大容量値ＣＭＡＸとが等しくない場合には、図１０（ｂ）のように、容量素子がトリミング容量値Ｃとなるように開口部分４２ａのサイズのみを変更する。すなわち、開口部分４２ａをトリミング電極幅Ｗ及びトリミング電極長さＬとする。容量素子の容量値はシリコン酸化膜の開口部分の有効面積で決定されるので、開口部分以外の構成は最大容量値ＣＭＡＸに対するものから変更しない。
【００６４】
本変形例では、ＭＯＳ構造の容量素子について説明を行ったが、他の構成を有する容量素子についても同様に処理することができる。
【００６５】
以上のように、トリミング容量値、トリミング電極幅及びトリミング電極長さをパラメータとして入力することによって、開口部分のサイズのみを変更して所望の容量値を有する素子セルを生成することができる。従って、回路設計の変更に伴って容量値が変更された場合でも、レイアウト全体への影響を最小限に抑制しつつ必要な容量値を得ることができる。また、製造プロセスの最終段階で用いられる金属電極に対する開口部分のマスクパターンの修正のみでレイアウト設計の変更に対応できる。
【００６６】
＜変形例２＞
本発明の実施の形態における変形例２として、図１１を参照して、抵抗要素を含む素子セルの自動生成について説明する。
【００６７】
以下の説明では、抵抗素子のレイアウトに固有のパラメータを中心に説明を行い、上記実施の形態と同様の処理を行う工程については説明を省略する。
【００６８】
ステップＳ１０では、レイアウト設計者は素子タイプとして抵抗素子を指定する。制御部１０は、抵抗素子である旨の指定を受けて、基本構成データベースから抵抗素子の基本構成のデフォルト値を読み出す。
【００６９】
ステップＳ１２では、素子タイプが抵抗素子であることを受けて、制御部１０は、パラメータデータベースから総抵抗値（Ｒ）、ユニット抵抗値（ＲＵＮＩＴ）、接続タイプ（ＲＣＯＮＮ）、並列配置数（ＰＡＲＡ＿Ｎ）、直列配置数（ＳＥＲＩ＿Ｎ）、配線パターンの変更（ＥＣＯ）及び静電破壊対策の有無（ＥＳＤ）のデフォルト値を読み出して出力部１４に表示させ、レイアウト設計者にパラメータ値の変更を促す。また、上記実施の形態と同様に基準部分の長さ、並列配置数、電極の繰返しパターン等のパラメータの設定を行っても良い。
【００７０】
総抵抗値Ｒは、素子セルに含まれる抵抗素子の総抵抗値を示すパラメータであり、０以上の値が入力される。この値は、回路図における１つの抵抗素子の値として認識できる。ユニット抵抗値ＲＵＮＩＴは、素子セルに含まれる抵抗素子を分割したユニット抵抗５２の１本あたりの抵抗値を示すパラメータである。接続タイプＲＣＯＮＮは、素子セル内におけるユニット抵抗５２の接続関係を示すパラメータであり、“ＰＡＲＡＬＬＥＬ”、“ＰＡＲＡＬＬＥＬ＿ＳＥＲＩＡＬ”、“ＺＩＧＺＡＧ”又は“ＳＥＲＩＡＬ”のいずれか１つが択一的に設定される。並列配置数ＰＡＲＡ＿Ｎは、素子セル内において並列に配置するユニット抵抗５２の数を示すパラメータであり、１以上の整数が設定される。直列配置数ＳＥＲＩ＿Ｎは、素子セル内において直列に配置するユニット抵抗５２の数を示すパラメータであり、１以上の整数が設定される。配線パターンの変更ＥＣＯは、接続タイプＲＣＯＮＮによって決定された素子セルの構成を変更して抵抗値を調整したい場合に設定されるパラメータであり、調整を行う場合には“ＯＮ”が設定され、調整を行わない場合には“ＯＦＦ”が設定される。この配線パターンの変更ＥＣＯに“ＯＮ”が設定された場合には、新たなパラメータを設定する必要があり、これについては後述する。静電破壊対策の有無ＥＳＤは、通常の抵抗要素５４又は絶縁耐性の高い抵抗要素５４を選択するために用いられるパラメータであり、高絶縁耐性の抵抗要素５４とする場合には“ＯＮ”が設定され、通常の抵抗要素５４とする場合には“ＯＦＦ”が設定される。
【００７１】
上記において、配線パターンの変更ＥＣＯが“ＯＮ”である場合には、さらにトリミング並列配置数（ＥＣＯ＿ＰＡＲＡ＿Ｎ）、トリミング直列配置数（ＥＣＯ＿ＳＥＲＩ＿Ｎ）、トリミング接続タイプ（ＥＣＯ＿ＲＣＯＮＮ）の入力が促される。
【００７２】
これらのパラメータは、一端設定されたユニット抵抗５２の接続関係を変更する場合に用いられる。トリミング並列配置数ＥＣＯ＿ＰＡＲＡ＿Ｎは、配線パターンを変更する場合にユニット抵抗５２を並列接続する数を指定するパラメータであり、１以上の整数が設定される。トリミング直列配置数ＥＣＯ＿ＳＥＲＩ＿Ｎは、配線パターンを変更する場合にユニット抵抗５２を直列接続する数を指定するパラメータであり、１以上の整数が設定される。トリミング接続タイプＥＣＯ＿Ｒ＿ＣＯＮＮは、セル内におけるユニット抵抗５２の接続を示すパラメータであって、“ＰＡＲＡＬＬＥＬ”、“ＰＡＲＡＬＬＥＬ＿ＳＥＲＩＡＬ”、“ＺＩＧＺＡＧ”又は“ＳＥＲＩＡＬ”のいずれか１つが択一的に設定される。
【００７３】
ステップＳ１４では、パラメータ値に基づいて、抵抗素子の素子セルが自動生成される。マルチ等の一般的なパラメータに基づく素子セルの自動生成については説明を省略し、抵抗素子に特有のパラメータに基づく素子セルの生成について詳細に説明する。
【００７４】
たとえば、デフォルト値で総抵抗値Ｒとユニット抵抗値ＲＵＮＩＴとの値が同じである場合、ユニット抵抗５２の電極５０間の距離ｄが決定され、図１１に示したような１本のユニット抵抗５２からなる素子セルが生成される。
【００７５】
距離ｄは、数式（３）から導き出すことができる。シート抵抗値ｒｓ及びドーピング層の幅Ｗは対象とする集積回路の特性等から定めることができる。
【００７６】
【数２】
2004171076.tif 000004
【００７７】
ユニット抵抗値ＲＵＮＩＴが総抵抗値Ｒよりも小さい場合、又は、並列配置数ＰＡＲＡ＿Ｎや直列並列数ＳＥＲＩ＿Ｎが指定された場合には、指定されたパラメータに従って複数個のユニット抵抗５２が生成され、それらの配置及び配線の接続関係が定められる。
【００７８】
例えば、接続タイプＲＣＯＮＮ＝“ＰＡＲＡＬＬＥＬ＿ＳＥＲＩＡＬ”、並列配置数ＰＡＲＡ＿Ｎ＝３及び直列配置数ＳＥＲＩ＿Ｎ＝２である場合には、図１２（ａ）のように、ユニット抵抗５２を３つ並列に配置して並列接続し、さらにユニット抵抗５２を２つ直列に接続した構成とする。
【００７９】
ここで、例えば、接続タイプＲＣＯＮＮ＝“ＰＡＲＡＬＬＥＬ”、並列配置数ＰＡＲＡ＿Ｎ＝３であったなら、図１２（ｂ）のように、ユニット抵抗５２を３つ並列に配置して並列接続した構成となる。また、接続タイプＲＣＯＮＮ＝“ＺＩＧＺＡＧ”、直列配置数ＳＥＲＩ＿Ｎ＝３であったなら、図１２（ｃ）のように、ユニット抵抗５２を３つ並列に配置してジグザクに直列接続した構成となる。また、接続タイプＲＣＯＮＮ＝“ＳＥＲＩＡＬ”、直列配置数ＳＥＲＩ＿Ｎ＝２であったなら、図１２（ｄ）のように、ユニット抵抗５２を２つ直列に配置して直列接続した構成となる。同様に、接続タイプＲＣＯＮＮ、並列配置数ＰＡＲＡ＿Ｎ及び直列配置数ＳＥＲＩ＿Ｎの値を変更することによって、素子セル内におけるユニット抵抗の接続を適宜変更することができる。
【００８０】
また、静電破壊対策の有無の設定に基づいて、ユニット抵抗５２の電極５０のサイズが変更される。静電破壊対策の有無ＥＳＤ＝“ＯＮ”の場合には、図１３のように、一方の電極５０を所定のサイズにまで大きくして電界集中を緩和する構成に変更する。このとき、デザインルールを満たすように、通常の抵抗要素同士、静電破壊対策された抵抗要素同士及び通常の抵抗と静電破壊対策された抵抗要素同士の間隔を自動調整することが好適である。
【００８１】
さらに、配線パターンの変更ＥＣＯが“ＯＮ”に設定されていれば、総抵抗値Ｒの修正を目的とした素子セル５４のトリミングが行われる。まず、トリミング接続タイプＥＣＯ＿ＲＣＯＮＮ、トリミング並列配置数ＥＣＯ＿ＰＡＲＡ＿Ｎ及びトリミング直列配置数ＥＣＯ＿ＳＥＲＩ＿Ｎの設定に基づいて、ユニット抵抗５２同士の接続が変更される。すなわち、ユニット抵抗５２の基本的な配置は接続タイプＲＣＯＮＮ、並列配置数ＰＡＲＡ＿Ｎ及び直列配置数ＳＥＲＩ＿Ｎによって決められ、その配置を保ったままトリミング接続タイプＥＣＯ＿ＲＣＯＮＮ、トリミング並列配置数ＥＣＯ＿ＰＡＲＡ＿Ｎ及びトリミング直列配置数ＥＣＯ＿ＳＥＲＩ＿Ｎに基づいてユニット抵抗５２の接続関係のみが変更される。
【００８２】
例えば、接続タイプＲＣＯＮＮが“ＰＡＲＡＬＬＥＬ”、並列配置数ＰＡＲＡ＿Ｎが５であり、図１４（ａ）のように、５つのユニット抵抗５２が全て並列接続された素子セル５４が生成されているものとする。トリミング接続タイプＥＣＯ＿ＲＣＯＮＮに“ＰＡＲＡＬＬＥＬ＿ＳＥＲＩＡＬ”、トリミング並列配置数ＥＣＯ＿ＰＡＲＡ＿Ｎに２及びトリミング直列配置数ＥＣＯ＿ＳＥＲＩ＿Ｎに２が設定された場合、図１４（ｂ）のように、２つのユニット抵抗５２が並列接続され、さらに２つのユニット抵抗５２が直列接続された素子セル５４に変更される。図１４（ｂ）の例では、５本のうち１本のユニット抵抗５２ａが接続されないことになり、総抵抗値Ｒに対して４／５までの抵抗値を実現できる。ユニット抵抗５２の本数すなわち総抵抗値Ｒの分割数を増大すれば、調整可能な抵抗値の値を小さくできる。これらと直列／並列との組み合わせを駆使することで、回路定数を調整するための抵抗値トリミングが達成できる。しかも、素子セル５４の面積自体を変更するものではないので、周辺のパターンは固定したままでの抵抗値の修正が可能であり、更には接続されないユニット抵抗５２ａがパターン図上に存在しても、全ユニット抵抗５２をグループ化することで電子データ上は１個の抵抗素子として取り扱うことが可能である。
【００８３】
上記に加えて、１本のユニット抵抗５２の抵抗値自体を修正可能なパラメータを持たせることも可能である。これは、ユニット抵抗５２の大きさを固定し、電極５０間の距離ｄを修正することにより達成できる。
【００８４】
まず、上記のパラメータに加えて、電極５０間の距離の修正を許可するか否かのスイッチＣＭＲ＿ＵＳＥ、ユニット抵抗５２のパターンを固定するためのユニット抵抗最大値ＲＵＮＩＴ＿ＭＡＸをパラメータとして持たせる。
【００８５】
ユニット抵抗最大値ＲＵＮＩＴ＿ＭＡＸがユニット抵抗値ＲＵＮＩＴと同じ場合には、電極５０間の距離ｄの調整は行われない。ユニット抵抗値ＲＵＮＩＴがユニット抵抗最大値ＲＵＮＩＴ＿ＭＡＸより小さい場合には、電極５０間の距離ｄを新たに数式（４）から導き出した値としたユニット抵抗５２を用いてレイアウトが行われる。このとき、電極５０間の距離ｄとそれに連なる電極パターン以外の構成は変更されない。
【００８６】
【数３】
2004171076.tif 000005
【００８７】
例えば、ユニット抵抗最大値ＲＵＮＩＴ＿ＭＡＸ＝６０Ω及びユニット抵抗値ＲＵＮＩＴ＝５０Ωと設定された場合、図１５のように、電極５０間の距離ｄ２が元の距離ｄ１の５／６に短縮されてユニット抵抗５２が配置される。ユニット抵抗５２の面積は固定してあるので、抵抗値修正（トリミング）に伴う、周辺パターンへの影響は無い。
【００８８】
以上のように、パラメータに基づいて電極間の接続を定めることによって、座標データを逐一入力することなく、抵抗素子を含む素子セルを自動生成することができる。
【００８９】
また、トリミングに関するパラメータを設定可能とすることによって、電極間の接続、電極間隔の長さを変更して、抵抗値を変更した素子セルを自動生成することができる。従って、回路設計の変更に伴って抵抗値が変更された場合でも、レイアウト全体への影響を最小限に抑制しつつ必要な抵抗値を得ることができる。また、製造プロセスの最終段階で用いられる金属電極のマスクパターンの修正のみでレイアウト設計の変更に対応できる。
【００９０】
【発明の効果】
本発明によれば、半導体集積回路のレイアウト設計において、煩雑な座標データの入力を行うことなく、素子のレイアウトを自動で行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるレイアウト設計装置の構成のブロック図である。
【図２】本発明の実施の形態におけるレイアウト設計方法のフローチャートを示す図である。
【図３】本発明の実施の形態におけるトランジスタの基本構成の例を示す図である。
【図４】本発明の実施の形態におけるパラメータの設定入力画面を示す図である。
【図５】本発明の実施の形態における素子セルの自動生成を説明する図である。
【図６】本発明の実施の形態における素子セルの自動生成を説明する図である。
【図７】本発明の実施の形態における素子セルの自動生成を説明する図である。
【図８】本発明の実施の形態における素子セルの生成結果の表示画面を示す図である。
【図９】本発明の変形例１における容量素子の基本構成の例を示す図である。
【図１０】本発明の変形例１における容量素子の素子セルの自動生成を説明する図である。
【図１１】本発明の変形例２における抵抗素子の基本構成の例を示す図である。
【図１２】本発明の変形例２における抵抗素子の素子セルの自動生成を説明する図である。
【図１３】本発明の変形例２における抵抗素子の素子セルの自動生成を説明する図である。
【図１４】本発明の変形例２における抵抗素子の素子セルの自動生成を説明する図である。
【図１５】本発明の変形例２における抵抗素子の素子セルの自動生成を説明する図である。
【図１６】集積回路のレイアウト設計のフローチャートを示す図である。
【符号の説明】
１０  制御部、１２  入力部、１４  出力部、１６  記憶部、１８  バス、２０  インターフェース部、２２  ネットワーク、３０  トランジスタの基本構成、３１，３１ａ，３１ｂ，３１ｃ  エミッタドーピング領域、３２，３２ａ，３２ｂ，３２ｃ  エミッタ電極、３３  ベースドーピング領域、３４，３４ａ，３４ｂ，３４ｃ  ベース電極、３５  コレクタドーピング領域、３６  コレクタ電極、４０  容量素子、４２，４２ａ  上部電極、５０  電極、５２，５２ａ  ユニット抵抗、５４  抵抗素子。
【図１】
2004171076.tif 000006
【図２】
2004171076.tif 000007
【図３】
2004171076.tif 000008
【図４】
2004171076.tif 000009
【図５】
2004171076.tif 000010
【図６】
2004171076.tif 000011
【図７】
2004171076.tif 000012
【図８】
2004171076.tif 000013
【図９】
2004171076.tif 000014
【図１０】
2004171076.tif 000015
【図１１】
2004171076.tif 000016
【図１２】
2004171076.tif 000017
【図１３】
2004171076.tif 000018
【図１４】
2004171076.tif 000019
【図１５】
2004171076.tif 000020
【図１６】
2004171076.tif 000021