半導体回路の設計方法および製造方法
【課題】所望の回路特性に合致する半導体回路のレイアウトを効率的に取得する。
【解決手段】トランジスタの構成部品の設計図形パターンの寸法または部品パラメータをシミュレーション部に入力される模擬パラメータに変換する変換工程と、複数トランジスタを複数グループにグループ分けするグループ構成工程と、複数グループからいずれかの選択グループを選択する工程と、複数グループで選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、選択グループにおいて部品パラメータの組み合わせを設定し、変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの組み合わせに対する回路特性を得るシミュレーション工程と、すでに選択グループに選択済みのグループとは別のグループを選択し、固定パラメータ設定工程からシミュレーション工程までを繰り返し実行する制御工程とを実行する。
【解決手段】トランジスタの構成部品の設計図形パターンの寸法または部品パラメータをシミュレーション部に入力される模擬パラメータに変換する変換工程と、複数トランジスタを複数グループにグループ分けするグループ構成工程と、複数グループからいずれかの選択グループを選択する工程と、複数グループで選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、選択グループにおいて部品パラメータの組み合わせを設定し、変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの組み合わせに対する回路特性を得るシミュレーション工程と、すでに選択グループに選択済みのグループとは別のグループを選択し、固定パラメータ設定工程からシミュレーション工程までを繰り返し実行する制御工程とを実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体回路の設計方法および製造方法に関する。
【背景技術】
【0002】
近年、LSIの微細化が進むにつれて、回路素子のレイアウトパターンの形状、配置位置等の物理量の精度、あるいは、製造工程でのそれら物理量のばらつきが回路特性に大きく影響するようになっている。また、これらの影響を回路特性予測に取り込み、回路特性を最適化する方法も提案されている。
【0003】
しかしながら、従来の技術では、計算量の負荷が重くなることから多数の素子と配線を含む設計対象の回路全体での回路特性の最適化が十分ではない。例えば、回路設計においては、各トランジスタの電流駆動力と負荷とのバランスを考慮してゲート寸法やゲート幅などのレイアウトが行われている。しかし、そのような設計対象の回路全体での最適なゲート寸法やゲート幅を決定する技術は実現できていない。
【特許文献1】特開2006−178907号公報
【特許文献2】米国特許第7,047,505号明細書
【特許文献3】特開平8−44775号公報
【特許文献4】特開平11−296575号公報
【特許文献5】特開2001−202394号公報
【特許文献6】特開2002−318829号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述した技術では、多数の素子を含む実際の回路の最適化のための配慮がなかった。本発明の一実施形態に係る一側面は、多数の素子を含む半導体回路の設計に適用可能な技術を提案する。本技術は、所望の回路特性に合致する半導体回路のレイアウトを効率的に取得でき、かつ、最適化された回路を製造できるようにする。
【課題を解決するための手段】
【0005】
すなわち、本発明の一実施形態に係る一側面は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法である。この側面によれば、コンピュータが、半導体回路を構成するトランジスタの構成部品の設計図形パターンの寸法またはトランジスタの設計上の物理特性から抽出される部品パラメータをシミュレーション部に入力される模擬パラメータに変換する変換工程と、半導体回路内に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、複数グループからいずれかの選択グループを選択する工程と、複数グループで選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、選択グループにおいて部品パラメータの値の組み合わせを設定し、変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、すでに選択グループに選択済みのグループとは別のグループを選択し、固定パラメータ設定工程からシミュレーション工程までを繰り返し実行する制御工程とを実行する。さらに、コンピュータが、部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、第1の写像関係を用い、部品パラメータの値の複数の組み合わせに対応する回路特性の複数の値を算出する工程と、回路特性の値、および部品パラメータを含む制限事項に基づき、回路特性
の複数の値の一部を選択する選択工程と、選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する。
【発明の効果】
【0006】
本方法によれば、所望の回路特性に合致する半導体回路のレイアウトを効率的に取得できる。
【発明を実施するための最良の形態】
【0007】
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係る設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【0008】
<システムの概要>
図1に、本実施形態に係る半導体製造工程の概要を示す。このうち、S101からS105までは、半導体装置の設計に係る工程であり、S106は、半導体装置の製造に係る工程である。
【0009】
半導体回路は、一般に多数のトランジスタで構成されている。半導体回路は、設計の最終段階では、多数の層の図形形状を定義するレイアウトパターン情報と、設計データ中の素子と素子との接続関係を記述するネットリストによって記述される。
【0010】
本実施形態の設計支援装置は、半導体回路に含まれるトランジスタのレイアウトパターン情報1およびネットリスト2から、それぞれのトランジスタの部品パラメータを抽出する。部品パラメータは、トランジスタの図形形状、すなわち、レイアウトパターンを規定するレイアウトパラメータと、トランジスタの設計上の物理特性を規定する物理特性パラメータとを含む。
【0011】
レイアウトパラメータは、例えば、トランジスタのレイアウトパターン中のゲート幅、ゲート長等のレイアウトパターンの寸法から決定される値である。物理特性パラメータは、例えば、トランジスタの設計上の閾値、トランジスタが形成される基板材料中の電子の移動度等である。
【0012】
本設計支援装置は、以上のような部品パラメータを基に製造されるそれぞれのトランジスタ特性値を算出する(S101)。トランジスタ特性値は、上記部品パラメータにしたがって設計されたトランジスタが実際に有すると予想される電流電圧特性から決定される特性値である。トランジスタ特性値は、例えば、ゲート電圧の変化量に対するドレイン電流の変化量である相互コンダクタンス、トランジスタの閾値、ゲート電圧とドレイン電圧を所定値に固定したときのドレイン電流等である。S101が第1変換工程に相当する。
【0013】
さらに、本設計支援装置は、得られたトランジスタ特性値から、回路シミュレーションに必要なシミュレーションパラメータ4を算出する(S102)。S102が第2変換工程に相当する。S101とS102とが変換工程に相当する。そして、本設計支援装置は、回路シミュレータを起動し、SPICEシミュレーションと呼ばれる回路シミュレーションを実行する(S103)。なお、図1のように、回路シミュレーションでは、ネットリスト2も参照される。S103がシミュレーション工程に相当する。回路シミュレーションの結果、消費電力、遅延時間等の回路特性が得られる。そして、得られた回路特性が、設計目標値を満足しているか否かが判定される(S104)。得られた回路特性が、設計目標値を満足している場合には、上記部品パラメータ(レイアウトパターンおよび物理特性パラメータ)にしたがって半導体マスク製造用のマスク描画用データが作成され、半
導体製造用のフォトマスクが製造される。そして、そのフォトマスクのパターンが半導体基板に転写され、半導体装置が製造される(S106)。
【0014】
しかし、回路シミュレーションの結果、設計目標値の回路特性が得られない場合、レイアウトパターン情報1、およびネットリスト2を変更する必要が生じる。そこで、レイアウトパターン情報1、およびネットリスト2が修正され(S105)、S101以下の処理が再度実行される。
【0015】
そのような製造工程のうち、設計工程を支援し、望ましいレイアウトの作成を容易にするため、本設計支援装置は、多数の部品パラメータを変更して多数回の回路シミュレーションの実行を可能としている。すなわち、本設計支援装置は、複数の部品パラメータを変更したパラメータ値の組み合わせによって半導体集積回路の回路特性をシミュレーションする。
【0016】
しかしながら、その際に、回路内のトランジスタに対し、変更されたすべての部品パラメータの組み合わせを試行する場合、一つのトランジスタに対する部品パラメータの組み合わせ数に対して回路を構成するトランジスタ数のべき乗の組み合わせが存在する。例えば、部品パラメータとしてゲート長とゲート幅を選択し、それぞれ部品パラメータの水準を中心値に対して上下に振るような3水準(3つの値の組み合わせ)とした場合、1つのトランジスタについて9通りのバリエーションがある。したがって、半導体回路を構成するトランジスタ数が100とすると9100の組み合わせが存在する。このような場合、シ
ミュレーション実行回数が回路規模とともに爆発的に増大して、事実上実行不可能になるケースが出てくる。
【0017】
本設計支援装置は、このような事態を起こさないように適正な数の部品パラメータの組み合わせを設定する機能を提供する。そして、本設計支援装置は、回路規模が大きくても部品パラメータのバリエーションをそのような適正な組み合わせ数に限定し、適正な組み合わせに基づくシミュレーションを実行する。本設計支援装置は、その組み合わせ数のシミュレーション結果を用いて従来よりも望ましい回路レイアウトを提供する。
【0018】
そのため、本設計支援装置は、半導体回路に含まれるトランジスタの部品パラメータを変更する場合に、パラメータ値が変更された部品パラメータをすべて組み合わせて回路シミュレーションを実行することはしない。そのような総当りの手順に代えて以下の手順をとる。すなわち、
(1)半導体回路内の全トランジスタから選択した複数トランジスタを含む複数グループを構成する。
(2)上記構成した複数のグループからいずれかのグループを対象グループ(選択グループに相当)として選択する。
(3)上記構成した複数のグループから、上記対象グループ以外の非選択のグループに固定のパラメータ値を設定する。
(4)対象グループにおいてレイアウトまたは物理特性パラメータを変更することに対応する、変更された部品パラメータ値の組み合わせにしたがって、その組み合わせの数だけ回路特性シミュレーションを実行する。なお、この場合、物理特性パラメータは、固定しておき、レイアウトに対応する部品パラメータ値だけを変更した組み合わせによって回路特性シミュレーションを実行してもよい。
(5)すでに対象グループに選択されたグループ以外のグループから次の対象グループを選択し、(3)および(4)の工程を繰り返し実行する。
【0019】
一般に半導体集積回路は電気信号を伝播させながら、トランジスタのオンおよびオフ状態によってその信号を反転させる。半導体回路は、そのような信号を伝搬させ、論理回路
として機能する。すなわち、あるトランジスタがオフ状態からオン状態へ、あるいはオン状態からオフ状態に変化したときに、そのトランジスタ、およびそのトランジスタが接続する電源、あるいは接地ラインを通して充放電が行われる。その結果、負荷である次段のトランジスタの入力電位が変化し、信号が伝播する。
【0020】
ここで、トランジスタがオフ状態からオン状態、あるいはオン状態からオフ状態に変化するときに流れる電流のパスに注目する。すると、そのようなパスを構成するトランジスタの駆動特性と次段のトランジスタによって形成される負荷特性とが、局所的な信号の遅延を律速していることがわかる。
【0021】
局所的な信号の遅延を律速している部分回路を構成するトランジスタについて、その部品パラメータの組み合わせ依存の影響を考慮すればある程度の回路特性を取得できる。本設計支援装置において、設計対象の半導体回路に含まれるトランジスタから選択した複数トランジスタを含む複数グループは、このような影響を考慮して設定される。すなわち、ここでは、局所的な信号の遅延を律速している部分回路毎にトランジスタをグループ分けする。そして、グループ内におけるトランジスタの部品パラメータを変更して生成される部品パラメータ値の複数の組み合わせについて、それぞれシミュレーションを実行する。しかし、グループ間を跨る部品パラメータについては、組み合わせのバリエーションは作成しない。
【0022】
ここで、上述のように、電源から接地ラインに対し直列に接続される電流パスを構成するトランジスタの集合を1つのグループとする。そして、さらに、トランジスタの両端(ソースとドレイン)がその電流パスの2点に接続されているような並列の関係にあるトランジスタも同じグループに加える。さらに、上記電流パスにゲートが接続されているトランジスタをも同じグループに加える。このような手順によって、局所的な信号の遅延を律速している部分回路を構成するトランジスタを一まとめのグループすることができる。
【0023】
さらに、部分回路の駆動部となるトランジスタが共通するグループを1つにまとめる。すなわち、部分回路の駆動部にて、共通のトランジスタを有する2つのグループを1つのグループとする。回路の駆動部が共通しているので、互いに影響を及ぼす可能性があるからである。
【0024】
以上のようなトランジスタのグループ化を実行すると、複数の部品パラメータの組み合わせに基づいた半導体集積回路の特性をシミュレーションする際に、回路規模が大きくても、設計対象の半導体回路内の部品パラメータの組み合わせ数を適正な数に抑制した上で、シミュレーションが実行できる。しかも、局所的な信号の遅延を律速している部分回路については、想定される組み合わせをほぼ網羅することになるので、最適な構成に極めて近い回路レイアウトを実現することができる。
【0025】
<システムの処理>
本設計支援装置は、例えば、LSI(Large Scale Integration)を設計するためのCAD(Computer Aided Design)システムの一機能として実現される。ここで想定するCADシステムは、一般的なコンピュータの上に実現される。コンピュータは、例えば、CPU、メモリ、外部記憶装置(例えば、ハードディスク、取り外し可能な可搬記録媒体の駆動装置等)、外部記憶装置とのインターフェース、通信インターフェース、表示装置、入出力装置(例えば、キーボード、マウス等のポインティングデバイス等)を有する。
【0026】
本設計支援装置は、このようなコンピュータで実行されるコンピュータプログラムによって実現される。このコンピュータプログラムは、通信インターフェースあるいは取り外
し可能な可搬記録媒体の駆動装置を通じて、ハードディスク上にインストールされる。CPUは、インストールされたコンピュータプログラムをメモリにロードし、実行する。これによって、設計支援装置の機能が実現される。また、コンピュータが、この設計支援装置の機能を提供することによって、本発明の設計支援方法が実行される。
【0027】
図2に、本設計支援装置の機能ブロックを示す。図2のように、本設計支援装置は、レイアウト解析部、シミュレーション部、モデル生成部、テーブル生成部、および最適回路抽出部を有している。これらの各機能は、コンピュータ上のメモリにてCPUでの実行が可能な形式に展開されるコンピュータプログラムによって実現される。
【0028】
このうち、レイアウト解析部は、半導体集積回路を構成するトランジスタの複数の特性値(以下、トランジスタ特性値)を部品パラメータでモデル化する工程と、そのようなトランジスタの動作を半導体回路シミュレーションで表現できる回路シミュレータのシミュレーションパラメータにモデル化する工程とを実行する。
【0029】
また、シミュレーション部は、トランジスタのレイアウトまたは物理特性の変更に対応する部品パラメータの複数の組を設定する。そして、レイアウト解析部が生成したモデルにしたがって、部品パラメータの複数の組み合わせをシミュレーションパラメータの複数の組み合わせに変換する。そして、シミュレーション部は、シミュレーションパラメータの複数の組み合わせを基に、半導体集積回路の動作をシミュレートする回路シミュレータを起動し、それぞれの回路特性を出力する。
【0030】
すなわち、シミュレーション部は、レイアウトなどの変更(場合によっては、設計上の移動度、閾値等、物理特性の変更)に対応する部品パラメータの複数の組み合わせを設定する。そして、シミュレーション部は、部品パラメータをシミュレーションパラメータに変換し、回路シミュレーションを実行する。その結果、複数のレイアウト(場合によっては、異なる設計上の移動度、閾値等、物理特性)に対する回路特性が得られる。ここで、回路特性とは、複数のトランジスタを含む半導体回路の消費電力、遅延時間等、その半導体回路の性能指標となるべき特性である。なお、逆に、シミュレーション部は、まず、シミュレーションパラメータの複数の組み合わせを設定して、回路シミュレーションを実行する一方、その組み合わせを複数の部品パラメータの組み合わせに変換しても同様の結果が得られる。
【0031】
モデル生成部(モデル化工程)は、複数のシミュレーション結果に基づき半導体集積回路の複数の回路特性を部品パラメータでモデル化する。ここで、モデル化とは、部品パラメータから半導体集積回路の特性への写像関係を求めることをいう。例えば、この写像関係(第1の写像関係)は、部品パラメータを変数とする多項式である。
【0032】
テーブル生成部(算出する工程)は、生成された半導体集積回路の特性を表すモデル(第1の写像関係)を使って、レイアウトの変更または物理特性パラメータの変更に基づく複数の部品パラメータの組み合わせから、回路特性を算出する。そして、その複数の部品パラメータの組み合わせと回路特性との関係をテーブル化する。すなわち、複数の部品パラメータの組み合わせと算出された回路特性とを組み合わせたテーブルがメモリに記憶される。
【0033】
半導体集積回路の特性を表すモデル(第1の写像関係)を使って回路特性を算出する場合、シミュレーションの実行と比較して短時間で多数の回路特性を算出できる。したがって、一旦、モデルを作成すれば、シミュレーションよりもはるかに多くの回路特性を得ることができる。
【0034】
そして、最適回路抽出部は、複数の制限条項に基づいて、メモリに記憶されたテーブルからその一部のレコードをスクリーニングする工程(一部を選択する工程)と、残ったレコード(部品パラメータの組み合わせ)から最適なレイアウトと設計上の物理特性を提示し、ユーザに選択させる工程(部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程)とを実行する。以下、本設計支援装置のそれぞれの機能ブロックについて説明する。
【0035】
(レイアウト解析部)
図3に、レイアウト解析部の概要を示す。本実施形態では、レイアウト解析部は、レイアウトパターン情報1およびネットリスト2からトランジスタ特性値を生成するときのモデル(多項式)を生成するトランジスタ特性モデル化部と、トランジスタ特性値をシミュレーションパラメータに変換するときのモデルを生成するシミュレーションパラメータモデル化部とを含む。
【0036】
トランジスタ特性モデル化部は、トランジスタのレイアウトパターン情報1と、ネットリスト2から、部品パラメータを抽出し、その部品パラメータから実際に製造されるトランジスタのトランジスタ特性値を算出する。ここで、トランジスタのレイアウトパターン情報1は、例えば、活性層、ゲート層、コンタクト層等の個々の素子を定義するパターン形状の情報を有する。また、ネットリスト2は、主として、素子と素子とを接続する回路接続情報を有する。さらに、ネットリスト2は、配線抵抗、容量情報、設計特性情報を有する。また、トランジスタ特性値とは、トランジスタの電流電圧特性から定められる個々のトランジスタの特性である。トランジスタ特性値については、図6にしたがって別途具体的に説明する。
【0037】
図4に、レイアウトパターン情報1から抽出される部品パラメータの例を示す。図4では、素子分離膜(例えば、STI(Shallow Trench Isolation))で区切られた素子領域10に、ソース・ドレインを形成するSi活性層11、ゲート12が形成されている。このようなトランジスタの各構成要素の図形形状がレイアウトパターン情報1である。一方、部品パラメータとは、レイアウトパターン情報1の特定部分の寸法である。ゲート長Lgは、ゲートのソース・ドレイン間方向の寸法であり、ゲート幅Wは、ゲートがソース・ドレイン領域を横切る寸法である。
【0038】
他の部品パラメータとしては、例えば、ゲートピッチ、SB(ソース・ドレイン幅、すなわち、ソース領域の幅、またはドレイン領域の幅)、SBOF(ソース・ドレインのSTIオフセット、すなわち、ソース領域の素子分離膜の領域からのオフセット距離、またはドレイン領域の素子分離膜の領域からのオフセット距離)、SBE(ソース・ドレインのSTIオフセット長さ、すなわち、オフセット領域のオフセット方向に直行する方向の寸法)等が使用される。ゲートピッチは、ゲート12、12の間隔である。SBは、1つのゲート12からソースまたはドレインの端部までの寸法である。SBOFは、ゲート12とSi活性層11との間に形成される間隙の幅であり、SBEは、その間隙の長さである。
【0039】
ただし、部品パラメータは、ネットリスト2に定義されている設計特性情報等の設計上の物理特性を規定する物理特性パラメータも含めてよい。設計特性情報は、例えば、標準ゲート酸化膜厚、設計ゲート長、設計ゲート幅、標準しきい値電圧(Vth)、標準移動度等(以下、単に標準値という)を含む。ここで、標準ゲート酸化膜厚、設計ゲート長、設計ゲート幅等は、設計段階の目標値(設計値)というべき値である。半導体製造プロセスでは、設計値通りのパターンを半導体基板に形成することは困難であり、実際の半導体プロセスで形成される値とは一致しない場合がある。そこで、設計値にしたがって回路を製作したときに、半導体基板に実際に形成される測定値という意味で、実ゲート長、実ゲ
ート幅等の用語を使用する。
【0040】
そして、正確なシミュレーション結果を得るためには、単に設計特性情報をそのまま反映してシミュレーションするのではなく、現実の製造プロセスの影響を考慮する必要がある。
【0041】
そこで、図3のトランジスタ特性モデル化部では、レイアウトパターン情報1と、ネットリスト2から部品パラメータを抽出し、実際に製造されるトランジスタのトランジスタ特性値に変換する。
【0042】
本実施形態では、事前にレイアウトパターン情報1およびネットリスト2から抽出される部品パラメータと、製造結果に基づくトランジスタ特性値との間の関係をモデル化して求めておく。この関係が、本発明の第2写像関係に相当する。このモデル化は、設計工程および製造工程とは別に、オフラインで実行される。このモデル化によって、部品パラメータからトランジスタ特性値への第2の写像関係が得られる。
【0043】
モデル化の処理は、重回帰分析によればよい。重回帰分析の具体的手順については、シミュレーションパラメータモデル化部で説明する。ここでは、部品パラメータの組、例えば、(標準酸化膜厚、設計ゲートピッチ、設計ゲート長、設計ゲート幅、標準閾値、標準移動度等)の組を複数組作成し、その部品パラメータにしたがって製作したトランジスタの特性値(Ids、Vth等)を実験的に測定しておく。そして、部品パラメータの組(標準酸化膜厚、設計ゲートピッチ、設計ゲート長、設計ゲート幅、標準閾値、標準移動度等トランジスタの特性情報)を構成するそれぞれの要素を変数とする多項式でトランジスタ特性値(Ids、Vth等)をモデル化する。
【0044】
シミュレーションパラメータモデル化部は、トランジスタ特性値の多項式でシミュレーションパラメータをモデル化する。このモデル化によって、トランジスタ特性値からシミュレーションパラメータへの第3の写像関係が得られる。そして、トランジスタ特性モデル化部で得られた第2写像関係に、第3写像関係を適用する。具体的には、第3の写像関係を構成する多項式の変数(トランジスタ特性値の変数)に、第2の写像関係の多項式を代入する。これにより、部品パラメータからシミュレーションパラメータ4への第4の写像関係が得られる。
【0045】
以下、図5から図9の図面に基づいて、シミュレーションパラメータモデル化部の詳細を説明する。
【0046】
シミュレーションパラメータモデル化部は、回路を構成するトランジスタの特性値を与えられ、そのような回路部品をシミュレートするシミュレーションプログラムのパラメータ(シミュレーションパラメータ)を求める機能を提供する。
【0047】
《シミュレーションパラメータの例》
シミュレーションパラメータは、シミュレーションプログラムによって異なる。典型的には、シミュレーションパラメータは、ロングチャネルの閾値(Vth0)、飽和速度(VSAT)、移動度(U0)、Lg(ゲート長)、W(ゲート幅)、閾値のドレイン電圧依存性、ボデ
ィ効果、ゲート下もぐり込み拡散長等である。
【0048】
なお、シミュレーションパラメータは、ロングチャネルの閾値(Vth0)、飽和速度(VSAT)、移動度(U0)、Lg(ゲート長)、W(ゲート幅)、閾値のドレイン電圧依存性、ボ
ディ効果、ゲート下もぐり込み拡散長等のパラメータのリファレンス値からの差分、あるいは比を使ってその変化量を表したものであってもよい。すなわち、標準のトランジスタ
におけるそれぞれの標準のパラメータの値からのずれ量を定義しても構わない。これらのパラメータは、シミュレーションプログラムごとに定められている。
【0049】
このうち、Lg(ゲート長)、W(ゲート幅)等は、ネットリスト中のゲート長、ゲート
幅に対応する物理量である。ただし、シミュレーションパラメータは、設計データに対応するパラメータでも、設計データをそのまま用いることが妥当でない場合がある。
【0050】
設計データを基に、成膜、フォトリソグラフィ、エッチング等を実施した場合に、基板上のパターン形状および寸法は、設計データの形状および寸法とは必ずしも一致しない。したがって、正確な回路シミュレーションの結果を得るためには、シミュレーションパラメータは、基板上に形成される物理形状を反映した値を設定する必要がある。
【0051】
また、シミュレーションパラメータの中には、ロングチャネルの閾値(Vth0)のように、設計データ、あるいは、設計値であるトランジスタ特性に対応しないパラメータもある。ロングチャネルの閾値(Vth0)とは、チャネル長が十分に長い場合の閾値をいい、現実に設計される回路のゲート長でのトランジスタ特性としては設定できないパラメータである。
【0052】
また、飽和速度(VSAT)は、本来は、電子の移動速度が移動度を比例係数として電界に比例するという法則が成立しない程度を示すパラメータである。このようなパラメータに対して、どのような値を設定すべきかを示す指針は存在しなかった(あるいは、SPICEシミュレーションだけでは十分に適切な値を設定できない場合があったとも言える)。本実施形態では、以下に説明するように、トランジスタ特性値と上述のシミュレーションパラメータとの関係をモデル化する。
【0053】
図5は、回路特性シミュレーションに基づいて、トランジスタ特性値をシミュレーションパラメータでモデル化する第1工程(図5に「シミュレーション」で示される)とシミュレーションパラメータをトランジスタ特性値でモデル化する第2工程(図5で「逆変換」で示される)を示す図である。本実施形態では、シミュレーションパラメータをトランジスタ特性値でモデル化する第2工程は、第1工程で得られたモデル式を逆に解く、あるいは逆変換してモデル化する。
【0054】
このように、回路特性シミュレーションの実行時に設定可能なシミュレーションパラメータは、極めて多数存在する。本設計支援装置は、ユーザからの設定にしたがって、多数のシミュレーションパラメータ中から、設定値を変更すべきパラメータ(図5に、変調パラメータで示す)と、固定値を設定するパラメータ(固定パラメータという)に分ける。なお、以下では、変調パラメータを単にシミュレーションパラメータという。
【0055】
そして、本設計支援装置は、複数のシミュレーションパラメータの多数組に対して、回路特性シミュレーションプログラムを実行する。これによって、それぞれのシミュレーションパラメータの組に対して、トランジスタ特性情報(信号特性ともいう)を得る。トランジスタ特性情報は、例えば、ゲート電圧を固定したときのソースとドレインとの間の電流電圧特性として得られる。また、ドレイン電圧を固定したときのゲート電圧ドレイン電流特性として得られる。これらのトランジスタ特性は、例えば、ゲート電圧、ドレイン電圧、ドレイン電流の組(Vgi,Vdi,Idi、iは整数)として得られる。一般的には、トランジスタ特性情報は、トランジスタの一の端子に入力される電流または電圧と、その端子と同一の端子またはそのトランジスタの他の端子にて測定される電流または電圧との関係を示す曲線の特性ということができる。
【0056】
そして、本設計支援装置は、得られたトランジスタ特性情報から、そのトランジスタ特
性情報を特徴付ける値(トランジスタ特性値)を抽出する。これは、例えば、ゲート電圧Vgおよびドレイン電圧Vdが所定値のときのドレイン電流である。また、例えば、線形領域での、ドレイン電圧を所定値にしたときのゲート電圧の変化量に対するドレイン電流の変化量の比として得られる相互コンダクタンスである。
【0057】
本設計支援装置は、そのようなトランジスタ特性値を複数個抽出する。そして、本設計支援装置は、シミュレーションパラメータの組と、得られたトランジスタ特性値の組との関係を記録する。そして、シミュレーションパラメータの複数の組に対して、それぞれトランジスタ特性値の組が得られたときに、シミュレーションパラメータからトランジスタ特性値への写像関係を求める。この写像関係は、例えば、シミュレーションパラメータの多項式によってトランジスタ特性値を表せばよい。このような多項式は、例えば、重回帰分析を実行することで求めることができる。
【0058】
重回帰分析は、複数の変動量を独立変数として、その独立変数の項の係数を決定することによって、求める特性値に多項式の値(目的変数ともいう)をフィットさせる解析方法である。多項式の項は、一般に1次以上であり、複数の変数の積が含まれてもよい。通常は、所定の独立変数の定義域にて、目的の特性値と多項式の値とが、最もエラーが少なくなるように、係数が決定される。なお、1つの目的変数を、1つの独立変数で予測する式を求める場合は、単回帰分析といい、最小二乗法で求めることができる。周知のように、最小二乗法は、目的変数と、実測値との誤差の二乗和を最小にするように式の係数を決定する。重回帰分析は、これを複数の変数に拡張したものである。
【0059】
例えば、多項式がY=F(x1,x2,...,xn)、ここで、F(x1,x2,...,xn)がx1,x2,...,xnの多項式である場合を例に説明する。例えば、F(x1,x2,...,xn)=a0+a1・x1+,...,+am・x1・...・Xnである。
【0060】
この場合、独立変数x1,x2,...,xn、目的変数Yの実測値の組(Yi,x1i、x2i,...,xni,iは整数)に対して、
ERROR=(Yi−F(x1,x1i、x2i,...,xni))2によって誤差が
定義され、誤差が最小になるように、係数a0,...,amが決定される。
【0061】
この誤差は、一般的には、それぞれの係数a0,...,amに偏微分され、最小値が判定される。誤差は、係数a0,...,amの2次の式であるので、偏微分されて1次の式となる。したがって、誤差最小を求めることは、連立方程式を解くことに帰着される。コンピュータ上での連立1次方程式の解法は、周知であるので、その説明を省略する。
【0062】
このような重回帰分析を処理するプログラムの実行によって、シミュレーションパラメータとトランジスタ特性値の関係が得られることになる。
【0063】
一旦、トランジスタ特性値が、シミュレーションパラメータの多項式で表されると、本設計支援装置は、シミュレーションパラメータをトランジスタ特性値の多項式に逆変換する。これは、シミュレーションパラメータの多項式で表された複数のトランジスタ特性値の組からなる連立方程式を解く処理である。その結果、本設計支援装置では、トランジスタ特性値が得られれば、直ちに、シミュレーションパラメータを得ることができる。したがって、直ちに、回路のシミュレーションが実行可能となる。
【0064】
《トランジスタ特性値》
図6に、トランジスタ特性値の例を示す。この例では、ゲート電圧Vgを固定したドレイン電圧Vdとドレイン電流Idとの関係と、ドレイン電圧Vdを固定したゲート電圧V
gとドレイン電流Idとの関係がトランジスタ特性情報として示されている。
【0065】
図6では、1つのトランジスタの電流電圧特性が連続した曲線で示されている。しかし、実際にシミュレーションで得られるのは、(ゲート電圧Vg,ドレイン電圧Vd,ドレイン電流Id)の離散値の組である。トランジスタ特性値は、1つのトランジスタの電流電圧特性を特徴付ける値であり、電流電圧特性の特定の点での値そのもの、傾き、切片、接線等によって規定される。以下、本設計支援装置が使用する特性値を例示する。
【0066】
(1)ゲート電圧Vgを固定したときの、特定のドレイン電圧Vdにおけるドレイン電流値Idが例示できる。例えば、Vg=Vddに固定したときの(Vd0,Idst)(Vd2、Ids)、Vg=中間値(図6ではmedium)に固定したときの(Vd1,Idsr1)、(Vd2,Idsr2)がトランジスタ特性値として使用される。
【0067】
(2)ドレイン電圧を固定したときの、飽和領域での相互コンダクタンスが例示される。例えば、Vd=Vddに固定したときの飽和領域でのΔId=Ids−Idsr2に対するΔVg=Vg2−Vg1の比が、飽和領域の相互コンダクタンスとして算出される。
【0068】
(3)トランジスタの閾値が例示できる。例えば、トランジスタ特性値は、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=
一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値を例示できる。閾
値は、図6に示すように、ドレイン電圧を固定したときのゲート電圧ドレイン電流特性曲線でのゲート電圧の微小変化量に対するドレイン電流の微小増加量(傾きを示す接線)が最大となるVg1における接線と、横軸(Vg軸)との交点Vthとして算出できる。また、例えば、Vd=lowのときの、点(Vg1、Idsr4)における接線のVg軸との交点が、閾値Vthとして算出されている。
【0069】
(4)飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)のドレイン電流を例示できる。すなわち、同一のゲート電圧ドレイン電流特性曲線上の(Vg1,Ids2)、(Vg2,Ids)として定義できる。この場合に、ドレイン電圧を電源電圧Vddとし、ゲート電圧が電源電圧Vddであり、他の少なくとも1つはゲート電圧が電源電圧Vddと閾値の和の1/2かそれ以下としてもよい。
【0070】
(5)飽和領域条件下の同一のゲート電圧で少なくとも2種のドレイン電圧印加条件時(ただし Vbs=0)のドレイン電流であってもよい。その場合に、ゲート電圧が、電源電圧Vddと閾値の和の1/2かそれ以下に設定してもよい。
【0071】
(6)以上のうち、(3)から(5)の電圧の条件において、ボディ電圧Vds(基板バイアスともいう)に所定値を設定したときのドレイン電流を用いてもよい。
【0072】
(7)以上のうち、(3)(4)の特性値の組み合わせを用いてもよい。すなわち、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値と飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)のドレイン電流との組み合わせを特性値としてもよい。
【0073】
また、(3)(4)(5)の組み合わせを用いてもよい。すなわち、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値と飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)の
ドレイン電流と飽和領域条件下の同一のゲート電圧で少なくとも2種のドレイン電圧印加条件時(ただし Vbs=0)のドレイン電流との組み合わせを特性値としてもよい。
【0074】
また、(3)(4)(5)(6)の組み合わせを用いてもよい。すなわち、以上の組み合わせに、さらに、基板バイアスVbs=0の場合と、基板バイアスが0でない場合のそ
れぞれの値を組み合わせてもよい。
【0075】
(8)以上の他、特性値として、線形領域の相互コンダクタンス(Gmlin)、閾値のド
レイン電圧依存(Δth)、およびボディ効果を用いてもよい。このうち、閾値のドレイン電圧依存(Δth)は、例えば、Vd=Vddに固定したときのゲート電圧Vg1のときのド
レイン電流Idsg1と、ゲート電圧Vg2のときのドレイン電流Idsg2の差、および、Vg=中間値(図6ではmedium)に固定したときのドレイン電圧Vd1のときのドレイン電流Idsr1と、ドレイン電圧Vd2のときのドレイン電流Idsr2の差の比、Δth=(Idsr2−Idsr1)/(Idsg2−Idsg1)として定義できる。
【0076】
また、ボディ効果は、ボディ電圧Vbsを変更したときの閾値の変化率=(Vth1−Vth2)/(Vbs1−Vbs2)として定義できる。この場合、Vdは、所定値とする。なお、ボディ効果として、閾値に代えて、相互コンダクタンスの変化を用いてもよい。
【0077】
これらの特性値は、本設計支援装置で実行されるコンピュータプログラムが算出する。
【0078】
図7は、回路シミュレーションに基づいて、トランジスタ特性値とシミュレーションパラメータとをモデル化する処理を例示するフローチャートである。
【0079】
始めに、SP1ではトランジスタ特性情報から抽出すべき特性値の種類を選択する。ここでは、上記特性値として、例示した(1)〜(8)を含む多数の特性値のうち、ユーザ所望の特性値が選択される。トランジスタの特性値の数は、変更可能なシミュレーションパラメータの数となるべく同じ程度が好ましい。また、予想される物理変動量に対するトランジスタ特性値の変化の仕方がなるべく独立に変化する特性値を選ぶことが好ましい。
【0080】
例えば、チャネル不純物濃度とゲート長の変化に対して、Vg=中間値(図6ではmedium)、ドレイン電圧=中間値(図6ではmedium)に固定したときのドレイン電流Idsr1は、比較的独立に変化する。一方、線形領域の相互コンダクタンスは電子の移動度と相関が高い。
【0081】
次にSP2では、回路シミュレーションの中で用いられるシミュレーションパラメータ(すなわち、変調パラメータ)を選択する。これらのパラメータは、シミュレーションプログラムごとに定められている。
【0082】
ここでは、多数のシミュレーションパラメータのうち、トランジスタ特性値と関連づけてモデル化すべきシミュレーションパラメータ(すなわち、値を変更すべき変調パラメータ)を選択する。これによって、トランジスタ特性値の変更にともなって変化するシミュレーションパラメータが決定されることになる。
【0083】
次にSP3では、これらのシミュレーションパラメータに設定する値の組み合わせを選択する。本設計支援装置は、選択したシミュレーションパラメータのそれぞれ変化しうる最大変動量領域(最小値と最大値で指定される)、およびシミュレーションする際の刻みを決め、それらを基にシミュレーションパラメータの組み合わせを選択する。このとき、
すべてのシミュレーションパラメータの総当りの組み合わせを設定してもよいし、実験計画法に基づいて直交表による必要最低限の最適な組み合わせを設定してもよい。直交表とは,任意の2因子(ここでは、シミュレーションパラメータの種類)について、そのシミュレーションパラメータの設定値(水準)のすべての組み合わせが同数回ずつ現れるという性質をもつ実験のための割付表をいう。無秩序に設定値を決定した場合、少なくともシミュレーションパラメータの設定値の組み合わせ数の積の回数だけ実験数が必要になる。したがって、シミュレーションパラメータ数が多くなると実験回数は膨大な数になってしまう。しかし、実験計画法で周知の直交法によって、依存関係の少ないパラメータを選択することで、組み合わせ数を低減できる。
【0084】
次に、設計支援装置は、上記組み合わせ毎に、シミュレーション部12により、回路シミュレーションを実行する(SP4)。例えば、SPICEシミュレーションが実行される。シミュレーション部12によるシミュレーションの結果、ユーザ指定のシミュレーションパラメータに対してゲート電圧Vg、ドレイン電圧Vd、およびドレイン電流Idの組(Vgi,Vdi,Idi,iは整数)が得られる。
【0085】
次に、設計支援装置は、シミュレーション部12によって得られたトランジスタ特性情報から、SP1で選択したトランジスタ特性値を抽出する(SP5)。 図8および図9に、トランジスタ特性値を求める処理の例を示す。図8は、ゲート電圧を所定値に固定したときのドレイン電圧Vd1に対するドレイン電流を求める処理を例示するフローチャートである。この処理では、設計支援装置は、シミュレーション結果から、まず、ゲート電圧が所定値Vg1である組を探索する。より具体的には、設計支援装置は、(Vgi,Vdi,Idi、iは整数)の組から、ゲート電圧Vgと所定値Vg1とのずれが許容値ΔVg以下である組(Vg1,Vdi,Idi,i=1,..,N)を求める(SP51)。
【0086】
次に、設計支援装置は、SP51で求めた組(Vg1,Vdi,Idi,i=1,..,N)から、ドレイン電圧Vdが所定値Vd1のものを探索する(SP52)。より具体的には、設計支援装置は、上記組から、ドレイン電圧Vdと所定値Vd1とのずれが許容値ΔVd以下である組(Vg1,Vd1,Id1)を求める。複数個探索された場合には、ドレイン電圧VdがVd1に最も近いものを選択する。
【0087】
そして、得られた(Vg1,Vd1,Id1)から、ドレイン電流値Id1を決定する(SP53)。
【0088】
図9は、閾値Vthの抽出工程を例示する図である。ここでは、本設計支援装置は、まず、ドレイン電圧Vdが所定値Vd1である組(Vg1,Vd1,Idi,i=1,..,M)を探索する(SP55)。
【0089】
次に、本設計支援装置は、ゲート電圧Vgが所定値Vg1である組(Vg1,Vd1,Id1)を探索する(SP56)。そして、ドレイン電流Idを決定する(SP57)。さらに、本設計支援装置は、同一のドレイン電圧Vd1にて、Vg1を微小量変化させたゲート電圧Vg2の組(Vg2,Vd1,Id2)を求める。これによって、本設計支援装置は、接線の傾きa=(Id2−Id1)/(Vg2−Vg1)を求める。この操作を様々なVgに対して実行し、その接線の傾きの最大値でのVg0、およびId0を探索する。そして、本設計支援装置は、点(Vg0,Id0)にて、接線の方程式Id−Id0=a・(Vg−Vg0)を設定する(SP58)。そして、本設計支援装置は、Id=0を設定することによって、接線がVg軸と交差すると点のVgの値から、Vthを求める(SP59)。
【0090】
以上のような手順にしたがって、本設計支援装置は、シミュレーションパラメータの組み合わせに対する複数のトランジスタ特性値のテーブルを作成する(図7のSP6)。以下、図7に戻って説明する。
【0091】
次にSP7では、このテーブルを基に重回帰分析を行い、複数のトランジスタ特性値を複数のシミュレーションパラメータを変数とする多項式(本発明の第2の写像関係に相当)でモデル化する。例えばトランジスタ特性値であるVthはVth0、 VSAT 、U0、Lgという
4つのシミュレーションパラメータを使って次の数1のように表すことができる。ここでは、本設計支援装置は、重回帰分析の手順を実行し、数1の値が、シミュレーションで求めた特性値のテーブルの値と最もフィットする係数a、ai(iは整数)を決定する。
(数1)
Vth=a+a0*Vth0 +a1*VSAT+a2*U0 +a3*Lg +a4*Vth0*Vth0
+a5*VSAT*VSAT +a6*U0*U0 +a7*Lg*Lg
+a8*Vth0*VSAT +a9*Vth0*U0 +a10*Vth0* Lg
+a11*VSAT*U0 +a12*VSAT*Lg
+a13*U0*Lg
また、Idsも同様にVth0、 VSAT 、U0、Lgを使って次の数2のように表すことができる
。
(数2)
Ids=b+b0*Vth0+b1*VSAT +b2*U0 +b3*Lg +b4*Vth0*Vth0
+b5*VSAT*VSAT +b6*U0*U0 +b7*Lg*Lg
+b8*Vth0*VSAT +b9*Vth0*U0 +b10*Vth0*Lg
+b11*VSAT*U0 +b12*VSAT*Lg
+b13*U0*Lg
Idsr1, Idsr2, Idstについても同様である。また、トランジスタ特性として、他の特性値、例えば、相互コンダクタンス、閾値のドレイン電圧依存Δth、ボディ効果等が指定された場合も同様に求めることができる。
【0092】
次のSP8のステップでは、シミュレーションパラメータであるVth0、 VSAT 、U0、Lgを、トランジスタ特性値であるIds, Idsr1, Idsr2, Idst, Vthを変数とする多項式として記述する。すなわち、SP7で得られたシミュレーションパラメータの多項式をトランジスタ特性値の多項式に変換する。このとき、シミュレーションパラメータの数とトランジスタ特性値の数が同じならば、連立方程式を解くことでシミュレーションパラメータの多項式をトランジスタ特性値の多項式に変換することができる。
【0093】
また、例えば、SP6で作成したテーブルを再び使って重回帰分析を行い、それぞれのシミュレーションパラメータを複数のトランジスタ特性値の多項式でモデル化してもよい。また、SP6で作成されたテーブルにおけるIds, Idsr1, Idsr2, Idst, Vth等の組み合わせに偏りがある場合は、SP7でモデル化した多項式を使って新たに、シミュレーションパラメータの組み合わせによるトランジスタ特性値を算出してもよい。そして、それらの結果を加えて、重回帰分析を行い、シミュレーションパラメータを複数のトランジスタ特性値でモデル化してもよい。例えばシミュレーションパラメータ;Vth0は、Ids, Idsr1, Idsr2, Idst, Vthという5つのトランジスタ特性値を使って次の数3のように表すことができる。
(数3)
Vth0=d+d0*Ids+d1*Idsr1+d2*Idsr2+d3*Idst+d4*Vth
+d5*Ids*Ids+d6*Idsr1*Idsr1+d7*Idsr2*Idsr2+d8*Idst*Idst+d9*Vth*Vth
+d10*Ids*Idsr1+d11*Ids*Idsr2+d12*Ids*Idst+d13*Ids*Vth
+d14Idsr1*Idsr2+d15Idsr1*Idst+d16*Idsr1*Vth
+d17Idsr2*Idst+d18*Idsr2*Vth
+d19*Idst*Vth
また、UoはVth0同様にIds, Idsr1, Idsr2, Idst, Vthを使って次の数4のように表すことができる。
(数4)
U0=e+d0*Ids+e1*Idsr1+e2*Idsr2+e3*Idst+d4*Vth
+e5*Ids*Ids+e6*Idsr1*Idsr1+e7*Idsr2*Idsr2+e8*Idst*Idst+e9*Vth*Vth
+e10*Ids*Idsr1+e11*Ids*Idsr2+e12*Ids*Idst+e13*Ids*Vth
+e14Idsr1*Idsr2+e15Idsr1*Idst+e16*Idsr1*Vth
+e17Idsr2*Idst+e18*Idsr2*Vth
+e19*Idst*Vth
シミュレーションパラメータとして他のパラメータ、例えば、ゲート幅W、ゲート長L、ゲート下もぐり込み拡散長、ボディ効果等が選択された場合も、重回帰分析の手順は同様である。以上のステップにより、シミュレーションパラメータをトランジスタ特性値でモデル化することが可能になる。
【0094】
上記SP7の処理では、複数のトランジスタ特性値を複数のシミュレーションパラメータの多項式でモデル化した。このような多項式に代えて、シミュレーションパラメータとトランジスタ特性値との関係をニューロ学習分析による重み付けしたシグモイド関数で表すことも可能である。ニューロ学習は、ニューロンと呼ばれる素子を複数組み合わせて、入力信号から出力信号への写像関係を形成する。この場合の写像関係は、それぞれの入力信号を重み付け加算した非線形関数によって出力信号を形成する。この場合の非線形関数としてシグモイド関数が使用される。
【0095】
ニューロ学習分析は、例えば、トランジスタ特性値の組をニューラルネットワークの入力に接続する。そして、シミュレーションパラメータの値の組を、教師信号とする。教師信号とは、ニューラルネットワークの出力信号として望ましい信号である。そして、ニューラルネットワークの出力信号と、教師信号との二乗誤差が最小となるように重み付け加算の重みが決定される。この重みを決定する手順がニューロ学習と呼ばれる。ニューロ学習は、通常、出力側の入力側にさかのぼる方向に重み係数が決定される。ニューロ学習法およびそのネットワークを実現する回路の例は、例えば、特許3110434に提案されている。
【0096】
(シミュレーション部)
図10は、シミュレーション部の処理を例示する図である。ここでは、複数の部品パラメータの組み合わせに基づいた半導体集積回路の特性をシミュレーションする際の部品パラメータの組み合わせ方法と、シミュレーションの実行方法を示す。
【0097】
ここでは、設計支援装置は、まず、設計対象の回路内のトランジスタから選択した複数トランジスタからなる複数グループを構成する(SS1)。SS1がグループ分けする工程に相当する。次に、設計支援装置は、それぞれのグループごとにトランジスタの部品パラメータを要素とするテーブルを生成する(SS2)。
【0098】
次に、設計支援装置は、複数のグループから任意の1グループを選択する(SS3)。SS3が選択する工程に相当する。この選択されたグループが、シミュレーションにおいて、部品パラメータが変更されるトランジスタを構成する。このグループを対象グループと呼ぶ。
【0099】
次に、設計支援装置は、対象グループ以外の非選択のグループに特定のパラメータ値を設定する(SS4)。ここで、特定のパラメータ値を設定するとは、シミュレーション実行に際して、変更されない固定のパラメータ値を設定することをいう。SS4が固定パラ
メータ設定工程に相当する。
【0100】
そして、設計支援装置は、対象グループにおいて部品パラメータの組み合わせに基づいて回路特性シミュレーションを実行する(SS5)。SS5がシミュレーション工程に相当する。回路特性シミュレーションでは、シミュレーションパラメータを回路シミュレータに入力して、複数のトランジスタを含む回路全体の回路特性(回路の遅延時間、消費電力、リーク電流等)が算出される。回路特性シミュレーション(例えば、SPICEシミュレーション)自体の周知であるので、その説明を省略する。
【0101】
ただし、本設計支援装置は、まず、部品パラメータの組み合わせをシミュレーションパラメータの組み合わせに変換した後に、回路特性シミュレーションを実行する。そこで、部品パラメータの複数の組み合わせが、トランジスタ特性モデル化部によって生成された多項式(第2の写像関係)によって、実際に製造されるトランジスタのトランジスタ特性値の複数の組に変換される。さらに、トランジスタ特性値の複数の組は、シミュレーションパラメータモデル化部によって生成された多項式(第3の写像関係)によって、シミュレーションパラメータの複数の組に変換される。
【0102】
ただし、第2の写像関係を第3の写像関係に適用することによって、部品パラメータからシミュレーションパラメータを算出する第4の写像関係を求めておいてもよい。その場合には、第4の写像関係にしたがって、部品パラメータの複数の組から直ちに、シミュレーションパラメータの複数の組を得ることができる。そして、設計支援装置は、得られたシミュレーションパラメータの複数の組によって、回路シミュレーションを実行する。この第4の写像関係にしたがって、部品パラメータの複数の組から、シミュレーションパラメータの複数の組を得る処理が、変換工程にも相当する。
【0103】
さらに、設計支援装置は、すでに対象グループとされたグループ以外のグループを選択し、SS4とSS5の工程を繰り返し実行する。このようにして、対象グループを順次変更して回路シミュレーションを実行する。このような手順により、回路内のトランジスタのレイアウトの組み合わせの極端な増加を抑制した上で、レイアウトパターン情報1の組み合わせに対するシミュレーションを実行できる。もちろん必要な部品パラメータの組み合わせを予めすべて設定し、SS5のシミュレーションをまとめて実行しても構わない。SS5からSS3に戻して、選択された対象グループの数だけ繰り返し実行する工程が制御工程に相当する。シミュレーションの結果、多数のトランジスタを含む回路の電流電圧特性、消費電力、遅延時間等が算出される。
【0104】
図11に、複数のトランジスタからなる複数グループを構成する手順(図10のSS1)の詳細を例示する。この処理では、設計支援装置は、ネットリストから、電源を順次探索する(SS11)。そして、設計支援装置は、ネットリストのすべての電源を処理した否かを判定する(SS12)。
【0105】
そして、まだ、未処理の電源がある場合、設計支援装置は、未処理の電源について、ネットリストにて、その電源(以下、開始点の電源という)からアースに至るまでのトランジスタのパスを探索し、その素子名を記録する(SS13)。ここで、トランジスタのパスは、ソースとドレインで接続され、トランジスタがオン状態のときに、電流が流れるパスである。このパスを電流パスという。また、このトランジスタは、電流パスにおいて、駆動部となるトランジスタである。
【0106】
次に、設計支援装置は、ネットリストにて、電流パスから分岐した電流パスを探索する(SS14)。ここで、分岐した電流パスとは、電流パスの分岐点からアース、開始点の電源以外の他の電源、および現在のパス上の他の分岐点のうちのいずれかに至るトランジ
スタのパスをいう。また、分岐した電流パスには、一旦分岐点から分岐し、1以上のトランジスタのドレインおよびドレインを通り、元の電流パス上の分岐点以外の点に戻るパスも含まれる。このような電流パスも、ソースとドレインで接続され、トランジスタがオン状態のときに、電流が流れるパスである。
【0107】
次に、設計支援装置は、パスからの分岐を探索し、その分岐にゲートが接続されたトランジスタを探索し、パスに追加する(SS15)。このゲートが接続されたトランジスタは、電流パスにおいて、負荷となるトランジスタである。
【0108】
次に、現在探索中の電流パスと、すでに探索され、記録済み電流パスとで、駆動部となるトランジスタを共通に含む電流パスが存在するか否かを判定する(SS16)。駆動部となるトランジスタを共通に含む電流パスがすでに、記録済みの場合、現在探索中のパスとその記録済みのパスとを合成し、トランジスタのグループとする(SS17)。
【0109】
一方、駆動部となるトランジスタを共通に含む電流パスが存在しない場合、現在探索中のパスに含まれるトランジスタを新たに探索されたグループとして記録する(SS18)。その後、設計支援装置は、制御をSS11に戻す。そして、すべての電源に対する処理が終了すると、設計支援装置は、複数トランジスタからなる複数グループを構成する処理を終了する。
【0110】
(モデル生成部)
モデル作成部の処理では、設計支援装置は、部品パラメータを変数とし、シミュレーションで得られた回路の遅延時間、スタンバイ消費電力、トータル消費電力、リーク電流等の回路特性を関数値とする多項式(第1の写像関係)が重回帰分析によって求められる。この処理は、シミュレーションパラメータモデル化部での処理(シミュレーションパラメータからトランジスタ特性値への写像関係の多項式を求める処理、あるいは、トランジスタ特性値からシミュレーションパラメータへの写像関係の多項式を求める処理)と同様である。
【0111】
ただし、この場合に、それぞれのグループに固有のトランジスタの部品パラメータについては、パラメータ間の交互作用を含む多項式で表す。一方、複数グループに共通していないトランジスタのパラメータについては、他のトランジスタとの交互作用を含めない多項式となる。
【0112】
以下に生成された特性値の式の例を示す。ここでは、トランジスタT1、T2、およびT3が1つのグループに含まれる場合を仮定する。また、トランジスタT4、T5、およびT6が他の1つのグループに含まれる場合を仮定する。また、トランジスタT1のゲート長をLgT1,ゲート幅をWgT1の変数で表す。他のトランジスタT2−T6についても同様
である。
(数5)
回路特性=F1(LgT1,LgT2,LgT3,WgT1,WgT2,WgT3)
+F2(LgT4,LgT5,LgT6,WgT4,WgT5,WgT6)+・・・
F1=Σaijklmn(LgT1)i×(LgT2)j×(LgT3)k×(WgT1)l×(WgT2)m×(WgT3)n
ここで、i,j,k,l,m,nは0から最大次数までの整数である。また、aijkは、重回帰分析
によって決定される係数である。したがって、数5の回路特性で示される項の和F1には、トランジスタT1、T2、およびT3のグループに含まれるそれぞれのゲート長およびゲート幅に対応する部品パラメータの変数の積の項が存在する。同様に、項の和F2には、トランジスタT4、T5、およびT6のグループに含まれるそれぞれのゲート長およびゲート幅に対応する部品パラメータの変数の積の項が存在する。
【0113】
なお、数5では、6つの変数の積を含む項を例示したが、項に含まれる変数の種類は、6つに限定されるわけではない。また、数5で、例えば、k=l=m=n=0の場合には、当然に、2つの変数のLgT1とLgT2を含む項を表すことになる。
【0114】
一方、上記数5の回路特性には、共通のトランジスタが存在しない異なるグループに属する2以上のトランジスタ、例えば、トランジスタT1とT4の部品パラメータに対応する変数の積は、存在しない。
【0115】
この理由は以下の通りである。すなわち、本設計支援装置のトランジスタの部品パラメータのすべての組み合わせを考慮せず、局所的な信号の遅延を律速している部分のトランジスタの組み合わせついて、部品パラメータを変更してシミュレーション部によるシミュレーションを実行している。したがって、得られたシミュレーション結果(回路特性)も、一つのグループを構成するトランジスタ群について、それぞれのトランジスタ群の部品パラメータの複数の組み合わせに基づくものとなる。その結果、特定のグループのトランジスタ群の部品パラメータの組み合わせについて、他のグループのトランジスタ群の部品パラメータは、固定値となる。したがって、複数グループ間での部品パラメータの組み合わせは1通りとなり、シミュレーションの結果である回路特性は1通りに限定される。
【0116】
例えば、上記で、トランジスタT1と、T2については、それぞれ一方の部品パラメータだけを変更した組み合わせだけがシミュレーションされる。したがって、シミュレーション結果として得られるサンプル数は、同一のグループのトランジスタ群の部品パラメータを変化させたものに比べて、複数グループ間での部品パラメータの組み合わせに対するものは極めて少なくなる。したがって、このような複数グループ間での部品パラメータの変数の積の項では、係数を最初から0に設定した方が、誤差が少ない。
【0117】
また、物理的には、異なるグループのトランジスタ同士は、駆動部と負荷で構成される部分回路に含まれないため、互いに干渉することが少ないと考えられる。このため、このような部品パラメータと、得られた回路特性との重回帰分析を実行した場合、複数グループ間に跨る部品パラメータの組み合わせに相当する変数の積の項では、係数の値は、ほぼ0となる。したがって、重回帰分析によって得られる多項式は、数5のように、同一のグループに属し、多数の組み合わせに対してシミュレーションが実行された複数のトランジスタの部品パラメータの積の係数だけが有意な値をとることが予想される。このため、すべての項の係数を網羅的に求めるよりも、複数グループ間に跨る部品パラメータの組み合わせに相当する変数の積の項について、係数を0に設定した方が正確な値を効率的に求めることができる。
【0118】
(テーブル作成部)
テーブル作成部では、本設計支援装置は、部品パラメータの組み合わせを設定して、多項式の値(特性値)を求める。そして、得られた変数値と特性値との組み合わせをテーブル化する。テーブルは、それぞれのトランジスタの部品パラメータと、その部品パラメータから得られる回路特性の組として得られる。
【0119】
そして、本設計支援装置は、所定の制限事項に基づいて、テーブルの一部をスクリーニングする。すなわち、その制限事項を充足するテーブルのレコードをだけを選別、そのレコードに含まれる変数の値を保持する。ここで、所定の制限事項とは、例えば、設計ルールから制限すべき部品パラメータの制限事項である。制限事項としては、図4に示したレイアウトパターン情報1、あるいは、図1に示した設計特性情報の制限値等である。
【0120】
(最適回路抽出部)
最適回路抽出部では、設計支援装置は、求めた回路特性が、設計目標値を満足している
か否かを判定する。そして、回路特性が設計目標値を達成している場合には、その回路特性に対応する部品パラメータをユーザに提示する。ユーザは、設計目標値を達成する部品パラメータ、レイアウト、あるいは、設計上の物理特性を提示され、設計を進めることができる。
【0121】
さらに、このような設計結果により得られるゲート長、ゲート幅、しきい値電圧、移動度等を反映した半導体回路のレイアウトを作成し、フォトマスクを作成し、半導体回路の製造工程の製造パラメータを決定する。そして、その製造パラメータにしたがって、露光、現像、エッチング、不純物注入、熱処理、酸化膜形成、金属膜形成、平坦化、保護膜形成等の製造工程を経て、半導体回路を製造する。
【0122】
<半導体装置の製造工程>
図22に、本実施形態の設計支援装置にてレイアウトおよびネットリストを基に半導体装置の設計データを作成し、半導体装置を製造する製造工程(図1のS106の詳細)を示す。上記設計支援装置での処理は、例えば、半導体装置に組み込まれるマクロデータ、あるいは、セルデータの設計支援に有効である。すなわち、本設計支援装置によれば、マクロデータ、あるいは、セルデータが、設計目標の性能を達成する条件下で、マクロデータ、あるいは、セルデータ中のトランジスタのゲート長、ゲート幅等が最適化される。
【0123】
次に、そのようにして、最適化されたマクロデータ、あるいは、セルデータを基に、半導体装置全体のデータが設計される。そして、半導体装置の設計データの各層のデータから、マスクデータが生成される(M1)。マスクデータとは、マスク製造装置の入力データ形式のデータをいう。マスクデータは、マスクデータ作成用のコンピュータプログラムを実行するコンピュータの処理により作成される。
【0124】
次に、マスク製造装置は、電子ビーム、レーザ等を利用し、透明なガラス基板上に、クロム等の遮光材料によってパターンを形成する(M2)。すなわち、遮光材料で被覆されたガラス基板に、レジストを塗布し、電子ビーム、レーザ等で設計データに対応するパターンを露光する。そして、現像、エッチングの工程を経て、ガラス基板上に転写パターンが生成される。したがって、本実施形態の設計によって確定された寸法で、各層のマスク上にパターンが形成される。例えば、本設計支援装置の処理で確定したゲート長、ゲート幅等を基に、ゲート層のマスクパターンが形成される。
【0125】
そして、半導体基板上に、マスクパターンを転写することによって、設計データにしたがった半導体素子、例えば、トランジスタのパターンが形成される(M3)。トランジスタは、半導体基板上へのレジスト塗布工程、転写装置(ステッパ等)によるマスクパターンのフォトレジストへの転写工程(フォトリソグラフィ工程ともいう)、フォトレジストの現像工程、不純物ドーピング工程、絶縁膜形成(窒化膜、酸化膜形成)、エッチング工程、多結晶シリコン膜形成等を繰り返すことで形成される。
【0126】
不純物注入ドーピング工程では、通常、イオン打ち込み装置によるイオン注入が適用される。ただし、気相拡散、熱処理による固相拡散を適用してもよい。
【0127】
窒化膜としては、例えば、窒化シリコン膜(Si3N4)が形成される。窒化膜は、例えば
、直接熱窒化法、CVD(Chemical Vapor Deposition)技術による堆積法等が利用可能
である。また、直接熱窒化法としては、RTN(Rapid Thermal Nitridation)が適用可
能である。酸化膜としては、酸化シリコン(SiO2)、酸化タンタル(Ta2O5)、酸化アル
ミニウム(Al2O3)、チタン酸ストロンチウム膜等が形成される。酸化膜形成は、熱酸化
法、陽極酸化法、プラズマ酸化法、CVD技術を利用した堆積法、ヘトロエピタキシャル成長法、張り合わせ法、イオン注入によるSIMOX(Separation by Implanted Oxygen
)法などの適用が可能である。
【0128】
また、エッチング工程では、ドライエッチング装置、あるいは、ウェットエッチング装置が使用され、半導体基板表面の材料が除去される。例えば、ゲート電極は、レジストで被覆された部分が残され、レジストで被覆されていない部分の多結晶シリコンが除去されて形成される。
【0129】
ここで、本設計支援装置で確定したゲート長、ゲート幅等を目標値としてゲートパターンが、マスクパターンの転写によって半導体基板に形成される。その場合、ゲート酸化膜上に形成された多結晶シリコン膜上に、フォトレジストを塗布し、マスク上のゲートパターンを転写、現像、エッチング工程を経て、半導体基板上のゲートパターンが形成される。さらに、酸化膜生成とエッチングにより、ゲートパターンのサイドウォールが形成される。さらに、フォトリソグラフィと不純物注入より、P型トランジスタへの不純物注入、N型トランジスタへの不純物注入が行われ、ソースとドレインが形成される。半導体装置の特性は、半導体装置に含まれるトランジスタ、特に、ゲート長とゲート幅の影響を大きく受ける。したがって、本実施形態の製造方法により、例えば、適切なゲート長とゲート幅を設定することにょり、目標性能を満足した上で、半導体装置の製造工程上無理のないゲート長とゲート幅にて、半導体装置を製造できることになる。その結果、例えば、プロセス条件上の余裕が生じ、歩留まり向上の効果も見込むことができる。なお、本実施形態の製造方法によれば、ゲート長とゲート幅に限られず、図4に例示した様々なレイアウトパラメータとして適切な値を設定できるのはいうまでもない。
【0130】
その後、トランジスタの上層に絶縁膜、コンタクトホール(プラグ層)、1以上の配線層が作成される(M4)。この工程においても、絶縁膜形成、金属膜形成、マスクパターンの転写、エッチング等の工程が繰り返される。
【0131】
さらに、保護膜およびパットが形成される(M5)。そして、ダイシング、ボンディング、およびパッケージ封止工程(M6)を経て、半導体装置が製造される。
【0132】
以上述べたように、本実施形態の設計支援装置による設計工程(図1のS101−S105)を経て、適切な寸法に設定された設計データに基づき、マスクが形成される。そして、そのマスク上のパターンを半導体基板に転写することにより、目標性能を適切な条件で達成するトランジスタが形成され、半導体装置が製造される。
【0133】
<実施例>
図12は、回路内の全トランジスタから選択した複数トランジスタからなる複数グループを構成する工程を例示する図である。ここでは、2入力AND回路を例に処理を説明する。電源にソースまたはドレインが接続されるPチャネルトランジスタ、Nチャネルトランジスタ、およびそれらのトランジスタにさらにソースまたはドレインが接続されるトランジスタを検索する。図12では、そのようにして検索されたトランジスタをオン状態にしたときに電源ラインから接地ラインに直列に接続される電流パス、およびそれらの電流パスから分岐したパスが実線で示されている。ここで、分岐したパスとは、トランジスタの両端(ソースとドレイン)が、その電流パスに接続されている電流パスをいい、分岐されるパスに対して並列の関係で接続される電流パスである。
【0134】
本設計支援装置は、このような電流パスを構成するトランジスタTr1,Tr2,Tr3,Tr4を同じグループにまとめる。具体的には、図12において、Tr1,Tr3,Tr4 を順にONにすると電源から接地に向かって電流パスが形成され、この電流パス
を構成するTrをグループ化する。トランジスタの両端(a点とb点)が電流パスに接続
されている(Tr1に対して並列に接続されている)Tr2 をグループに加える。さら
にこの電流パスにゲートが接続されているトランジスタTr5,Tr6も同じグループに加える。
【0135】
図12では、電流パスからゲートへの接続は、点線で示されている。このようにして、局所的な信号遅延を律速している部分回路を構成するトランジスタをまとめてグループ化することができる。
【0136】
図13Aは、インバータとEXOR(排他論理和)の組み合わせ回路の例である。図13Bに、図13Aの回路をトランジスタの組み合わせで実現した回路構成例を示す。図14から図16により、グループ化する工程の処理例を説明する。電源Vdd(a)に接続する電流パス上にはTr1,Tr2,Tr9,Tr10,Tr4が接続されている。電源Vdd(b)に接続する電流パス上にはTr3,Tr4,Tr10,Tr9,Tr2が接続されている。Tr4,Tr9,Tr10が共通であるため、2つの電源Vdd(a)とVdd(b)とにそれぞれ接続される2つのトランジスタ群について、一つの電流パス(図14の太い実線)が定義できる。そして、このパスを構成するTr1,Tr2,Tr9,Tr10,Tr3,Tr4をまとめて一つのグループとする。さらにこの電流パスにゲートが接続されている(図14の太い点線)トランジスタTr7,Tr8を同一グループに加える。このようにして、Tr1,Tr2,Tr9,Tr10,Tr3,Tr4,Tr7,Tr8の8個のTrをグループ(a)/(b)とする。
【0137】
同様に電源Vdd(c)に接続されるグループ(c)には、Tr5,Tr6,Tr7,Tr8,Tr9,Tr10の6個のTrがまとめられる(図15)。
【0138】
同様に電源Vdd(d)に接続されるグループ(d)には、Tr11,Tr12,Tr13,Tr14の4個のTrがまとめられる(図16)。また、同様に電源Vdd(e)に接続されるグループ(e)には、Tr13,Tr14の2個のTrがまとめられる(図16)。以上から、図13Bの回路は、以下のようにそれぞれの電源のグループにグループ分けされる。
【0139】
Vdd(a)(b):Tr1,Tr2,Tr9,Tr10,Tr3,Tr4
Vdd(c):Tr5,Tr6,Tr7,Tr8,Tr9,Tr10
Vdd(d):Tr11,Tr12,Tr13,Tr14
Vdd(e):Tr13,Tr14
Tr9,Tr10は、グループVdd(a)(b)と、グループVdd(c)に共通に含まれる。しかし、駆動部として含まれるトランジスタと、負荷として含まれるトランジスタが共通の場合であっても、グループをまとめることはしない。
【0140】
図17A、図17BはインバータとNANDを組み合わせた別の回路の例である。図18は、図17Bの回路でトランジスタをグループ分けした結果である。この場合のグループは、以下の通りである。図18では、トランジスタの近傍にグループを示す記号(丸、三角、四角等)が付されている。
【0141】
Vdd(a):Tr1,Tr2,Tr5,Tr4
Vdd(b/c):Tr5,Tr3,Tr4,Tr6,Tr7,Tr8,Tr9,Tr10
Vdd(d):Tr7,Tr8
Vdd(e):Tr9,Tr10,Tr11,Tr12
Vdd(f):Tr11,Tr12
この例では、Tr4とTr5とは、電源Vdd(a)のグループと、電源Vdd(b/c)のグループの両方に含まれる。また、Tr7とTr8とは、Vdd(b/c)のグル
ープと、電源Vdd(d)のグループに含まれる。また、Tr9とTr10とは、Vdd(b/c)のグループと、電源Vdd(e)のグループに含まれる。また、Tr11とTr12とは、電源Vdd(e)のグループと、電源Vdd(f)のグループの両方に含まれる。この例では、複数のグループに共通なTrが存在する。なお、ここで、複数のグループに含まれるトランジスタは、一方にグループについては、ソースとドレインが電流パスに接続される回路駆動用のトランジスタとして含まれている。また、他方のグループには、ゲートが電流パスに含まれる回路の負荷として含まれている。
【0142】
<効果>
次に、本設計支援装置により、グループ毎にレイアウトの組み合わせを設定することによる効果を説明する。例えば、部品パラメータをゲート長とゲート幅の2つとし、その水準を3とする。すなわちTr1のゲート長については、Lg1a,Lg1b,Lg1c、ゲート幅についてはW1a,W1b,W1cというパラメータが設定される。
【0143】
同様にTr2についても、Lg2a,Lg2b,Lg2c、ゲート幅についてはW2a,W2b,W2c・・・・のように設定される。Tr毎のパラメータの組み合わせを総当りで設定すると、Lg1a/ W1a,Lg1a/W1b,Lg1a/W1c,Lg1b/W1a,Lg1b/W1b,Lg1b/W1c,Lg1c/W1a,Lg1c/W1b,Lg1c/W1cという9通りの組み合わせになる。図18のグループ(b/c)には、8個のTrがあるので、グループ内でのパラメータの組み合わせは、98通りになる。
【0144】
実験計画法、あるいは直交割付表を用いてTr毎の組み合わせの数を合理的に減らすことが可能である。例えば、Lg1a/W1a,Lg1a/W1c,Lg1b/W1b,Lg1c/W1a,Lg1c/W1cというように5通りに減らすことも可能である。図19のグループ1に、1つのトランジスタについて、ゲート長とゲート幅を3水準で組み合わせたときのパラメータの組み合わせと、実験計画法、あるいは直交割付表を用いた合理的組み合わせの概念を例示する。すなわち、ゲート長とゲート幅の値をそれぞれ上、中、下の3水準で示した場合、9通りの組み合わせ中から、(ゲート長,ゲート幅)=(上,上)(中,中)(下,下)(上,下)(下,上)の5通りの組み合わせを選択する。
【0145】
図18のグループ(b)の場合は、グループ内でのパラメータの組み合わせの数は58
通りになる。同様に図18のグループ(a)の組み合わせ数は54通り、グループ(e)
の組み合わせ数は54通りとなる。もちろん、ゲート長やゲート幅という部品パラメータ
以外にTrの閾値(Vth)等のトランジスタ特性を表す別のパラメータをトランジスタ毎のパラメータの組み合わせの中に組み込んでも構わない。パラメータ数が多くなった場合には、実験計画法、あるいは直交割付表を使うことでより効率的な組み合わせを作ることが可能である。例えば、ゲート長、ゲート幅、トランジスタの閾値(Vth)の3パラメータで3水準に振るケースでは、総当りの組み合わせ数が27通りに対して、13通りの組み合わせで十分である。この場合には、ゲート長、ゲート幅、トランジスタの閾値(Vth)の3次元のパラメータに対して、図19と同様の組み合わせを求めることになる。
【0146】
例えば、ゲート長、ゲート幅、トランジスタの閾値をそれぞれ、X軸、Y軸、およびZ軸方向の変数として、上中下の3水準の組み合わせを想定する。この場合、すべても組み合わせを考慮すると、3次元空間中の27個の格子点に相当する組み合わせ数が得られる。ここで、27個の格子点をすべて選択する代わりに、Z=下の場合、およびZ=上の場合に、(X,Y)について、(中,上)(中,下)(上,中)(下,中)の4点を選択する。また、Z=中について、(上,上)(上,下)(下,上)(下,下)(中,中)の5点を選択する。このような実験計画法の手順によって、組み合わせ数を13通りに削減できる。
【0147】
図19に、回路全体に対してパラメータを設定する手順を説明する。回路内のトランジスタに対し、すべてのパラメータの組み合わせを総当りで試行する場合、一つのトランジスタに対するパラメータの組み合わせ数に対して回路を構成するトランジスタ数のべき乗の組み合わせが存在する。
【0148】
本設計支援装置による回路レイアウトの最適化には、回路を構成するトランジスタのパラメータのすべての組み合わせを考慮する必要はなく、局所的な信号の遅延を律速している部分を考慮すればよい。すなわち、複数のグループのうち、一つのグループを構成するトランジスタ群についてのみ、そのレイアウトの組み合わせ依存の影響を考慮すればよい。したがって、グループ間に跨るレイアウトの組み合わせ依存は考慮しなくともよい。その結果、回路全体に対してレイアウトのパラメータを設定する工程で、選択したグループにおける部品パラメータの組み合わせを設定する際に、非選択グループのトランジスタのパラメータはある特定の値を設定すればよい。
【0149】
例えば、図19に示すように対象グループ(図19のグループ1)は5通りの値を設定する。一方、非選択グループ(図19のグループ2と3)は、中心値に設定するのが一般的である。このようにすると図13Bに示した回路例では、(a/b)(c)(d)および(e)の4つのグループに分かれ、それぞれ6個、4個、2個、および2個のトランジスタが含まれている。したがって、56+54+52+52=16300通り(数値を変更しました)の組み合わせをシミュレーションすればよいことがわかる。本設計支援装置の処理によらず回路内のすべてのトランジスタのレイアウトの組み合わせを行う場合は、514=7103515625通りの組み合わせとなり、本発明の効果が非常に大きいことがわかる。
【0150】
一般に、ある回路がn個のグループに分けられたとし、グループ内のトランジスタの数がmi個であったとする。トランジスタ毎の部品パラメータの組み合わせを5通りとする
とその回路の最適化に必要な部品パラメータの組み合わせの数は以下のように、各グループの組み合わせの数(5mi)の総和として計算され、爆発的に大きくならないことがわかる。
【0151】
n
Σ5mi
i=1
このように、回路規模が大きくなるとその効果が極めて大きなことは容易に推測できる。
【0152】
本設計支援装置によれば、レイアウトの組み合わせに対応する部品パラメータの複数の組み合わせによる複数のシミュレーション結果に基づき半導体集積回路の複数の特性を部品パラメータでモデル化する。さらに、複数の部品パラメータの組み合わせと回路特性をテーブル化し、その部品パラメータの複数の組み合わせから最適な組み合わせが選択される。最終的には、その部品パラメータの組み合わせに対応するトランジスタのレイアウトが選択されることになり、半導体集積回路のレイアウト最適化が支援される。
【0153】
このようなモデル化工程において、以下の制限を設けることが好ましい。すなわち、複数のシミュレーション結果に基づき、半導体集積回路の複数の特性を部品パラメータの多項式でモデル化する際に、各グループ内のトランジスタのパラメータについては交互作用(変数の積)を含む多項式で表し、共通のトランジスタが存在しない複数グループのトランジスタのパラメータについてはその交互作用を含めない多項式とする。
【0154】
この理由は以下である。すなわち、本設計支援装置による回路レイアウトの最適化には
、回路を構成するトランジスタのレイアウトのすべての組み合わせを考慮せず、局所的な信号の遅延を律速している部分だけを考慮する。すなわち、複数のグループのうち、一つのグループを構成するトランジスタ群についてのみ、そのレイアウトの組み合わせ依存の影響を考慮するため、複数のグループ間に跨る部品パラメータの組み合わせによるシミュレーションを行っていない。このため、たとえ、モデル化工程において、回路特性を表す多項式中に、複数のグループ間に跨る部品パラメータ相互の積を含む項を設けたとしても、有意なサンプル数が得られない。物理的には、グループ間のパラメータ値の組み合わせにおいて、そのパラメータ値を変更したことによる回路特性への影響が小さく、その係数の値は、重回帰分析によってほぼ0に近い値となると推定できるからである。
【0155】
<変形例>
上記実施形態では、レイアウトパターン情報1と、ネットリスト2とから、レイアウトパターン情報1が抽出され、回路シミュレーションが実行された。この場合のレイアウトパターン情報1は、実際のプロセス上の特性を反映していない、設計上の値である。しかし、実際の半導体プロセスで形成されるパターンの寸法は、設計上の寸法とは異なる場合がある。
【0156】
実際の値が標準値からずれるのは、例えば、半導体製造プロセスの特性によって、寸法が変動するからである。半導体製造プロセスの特性とは、露光、現像、エッチング、成膜、拡散、酸化等を行ったときの特性をいう。このような変動は、例えば、光近接効果、選択比、非等方性の程度、現像、エッチングの進行等が、パターン密度、あるいは、パターン寸法によって変動することによると考えられる。
【0157】
そこで、レイアウトパターン情報1からシミュレーションパラメータ4に変換する前に、プロセス上の変動を反映してネットリストを変更する処理を実行してもよい。図20に、その場合の処理を示す。ここでは、プロセス感度テーブル3にって、設計値であるネットリストから修正ネットリストが生成されている。
【0158】
プロセス感度テーブル3は、素子の周辺のレイアウトパターン情報1に応じた標準値から実際の値、すなわち、実ゲート酸化膜厚(Gox)、実ゲート長(Lg)、実ゲート幅(W)、実閾値電圧(Vth)、実移動度(μ)への変換規則を含む。ここで、実際の値とは、標準値による設計パターンにて半導体基板に回路を作成したときに、実際に形成される回路寸法という意味であり、経験値、実験値、あるいは、シミュレーション値である。
【0159】
このようなプロセス感度テーブルは、例えば、図4に示したレイアウトパターン情報1の部品パラメータを用いて記述される。図21に、この場合のプロセス感度テーブルの例を示す。プロセス感度テーブルは、部品パラメータに対する標準値と実際の値との対応関係を含む。すなわち、プロセス感度テーブルの各行は、ゲートピッチ、SB、SBOF、SBE等の値に対して、標準ゲート酸化膜厚と実ゲート酸化膜厚(Gox)、設計ゲート長と実ゲート長(Lg)、設計ゲート幅と実ゲート幅(W)、標準しきい値電圧と実しきい値電圧(Vth)、標準移動度と実移動度(μ)との対応関係を定義している。
【0160】
ネットリスト修正工程で作成される新しいネットリスト2Aには、このような実際の値の組み合わせが、多数登録される。このようなネットリスト2Aに対して、1実施形態と同様の処理を実行してもよい。
【0161】
<その他>
本実施形態は、さらに、以下の側面(付記という)も、開示する。
(付記1) コンピュータ上に実現される、模擬パラメータによってトランジスタの動作
を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法であって、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
半導体回路内に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の複数の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、複数の前記部品パラメータに対応する前記回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、複数の前記回路特性の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する半導体回路の設計方法。
(付記2) 前記変換工程は、
前記部品パラメータから、その部品パラメータにしたがって製造されたトランジスタの信号特性と他のトランジスタの信号特性とを識別するトランジスタ特性情報に変換する第1変換工程と、
前記トランジスタ特性情報から模擬パラメータに変換する第2変換工程と、を有する付記1に記載の半導体回路の設計方法。
(付記3) 前記部品パラメータを基に製造されたトランジスタから測定されたトランジスタ特性情報と、そのときの部品パラメータとの組み合わせによって、前記部品パラメータから前記トランジスタ特性情報への第2の写像関係を生成する工程と、 前記模擬パラメータに第一の値を設定してシミュレーションを実行することによって生成されたトランジスタの信号特性と、前記模擬パラメータに第一の値とは異なる第二の値を設定してシミュレーションを実行することによって生成されたトランジスタの信号特性とを識別するトランジスタ特性情報を、前記信号特性から抽出するトランジスタ特性情報抽出工程と、
前記模擬パラメータに複数の設定値を設定することによってそれぞれ得られた前記トランジスタ特性情報と前記設定値との組み合わせによって、前記トランジスタ特性情報から前記模擬パラメータへの第3の写像関係を決定する模擬パラメータ決定工程と、を含む付記2に記載の半導体回路の設計方法。
(付記4) 前記第2の写像関係に、第3の写像関係を適用することによって前記部品パラメータから前記模擬パラメータへの第4の写像関係を得る工程と、を含む付記3に記載の半導体回路の設計方法。
(付記5) 部品パラメータには、ゲート長、およびゲート幅が含まれる付記1から4のいずれかに記載の半導体回路の設計方法。
(付記6) 前記信号特性は、トランジスタの一の端子に入力される電流または電圧と、その端子と同一の端子またはそのトランジスタの他の端子にて測定される電流または電圧との関係を示す曲線の特性であり、前記トランジスタ特性情報は、その曲線上の特定の点
の信号値、曲線の接線の傾き、および前記接線といずれかの座標軸との交点の1以上によって決定される付記1から5のいずれかに記載の半導体回路の設計方法。
(付記7) 前記グループ構成工程は、半導体回路内において局所的な信号の遅延を律速している部分毎にグループを構成する付記1から6のいずれかに記載の半導体回路の設計方法。
(付記8) 前記局所的な信号の遅延を律速している部分は、半導体回路内において負荷に信号を供給する駆動部となるトランジスタと、前記駆動部からの信号によって駆動される負荷となるトランジスタとを含む、付記7に記載の半導体回路の設計方法。
(付記9) 前記グループ構成工程は、半導体回路に電力を供給する電源から接地電位に至る経路に直列に接続されるトランジスタと経路上の2点間に並列に接続されるトランジスタと前記経路にゲートが接続されているトランジスタとを前記選択グループとする付記1から8のいずれかに記載の半導体回路の設計方法。
(付記10) 前記グループ構成工程は、経路に直列または並列に接続されているいずれかのトランジスタが共通に含まれる複数グループを同一のグループとする付記9に記載の半導体回路の設計方法。
(付記11) 前記モデル化工程は、複数のシミュレーション結果に基づき、半導体回路の複数の回路特性を部品パラメータでモデル化する際に、前記部品パラメータを変数とする多項式によって前記回路特性を近似する付記1から10のいずれかに記載の半導体回路の設計方法。
(付記12) 前記多項式は、各グループ内のトランジスタの部品パラメータの変数については異なる変数の積を含み、異なるグループ間の部品パラメータの変数についてはグループ間の変数の積を含まない付記11に記載の半導体回路の設計方法。
(付記13) 前記回路特性は、複数の入力変化の組み合わせによる複数の出力変化の遅延時間、その遅延時間ばらつき、または、複数の入力状態におけるスタンバイ消費電力である付記1から12のいずれかに記載の半導体回路の設計方法。
(付記14) 前記制限条項は、ゲート長、ゲート幅、ゲート・ゲート間スペース、ゲート・コンタクト間スペースの少なくとも1つに対するデザインルール、および回路面積を指標とする制限条項を含む付記1から13のいずれかに記載の半導体回路の設計方法。
(付記15) 前記部品パラメータの少なくとも1つは、基準値と基準値からの偏差とを含み、前記変数は、前記偏差の変数であり、前記回路特性は基準値からの偏差によって定義される付記1から14のいずれかに記載の半導体回路の設計方法。
(付記16) 半導体回路の設計支援工程を含む半導体回路の製造方法であって、
前記半導体回路の設計支援工程は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いて、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求
めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得ることによって半導体回路の設計データを得る工程と、を実行する半導体回路の設計支援工程であり、さらに、
半導体回路の設計支援工程で得られた半導体回路の設計データに基づいて、フォトマスクを製造する工程と、
前記フォトマスクを用いて半導体回路を製造する工程と、を含む半導体回路の製造方法。
【図面の簡単な説明】
【0162】
【図1】半導体製造工程の概要を例示する図である。
【図2】設計支援装置の機能ブロックを例示する図である。
【図3】レイアウト解析部の概要を示す図である。
【図4】部品パラメータの例を示す図である。
【図5】回路特性シミュレーションに基づいて、トランジスタ特性値をシミュレーションパラメータでモデル化する第1工程を示す図である。
【図6】トランジスタ特性値の例を示す図である。
【図7】トランジスタ特性値とシミュレーションパラメータとをモデル化する処理を例示するフローチャートである。
【図8】ゲート電圧を所定値に固定したときのドレイン電圧に対するドレイン電流を求める処理を例示するフローチャートである。
【図9】閾値の抽出工程を例示する図である。
【図10】シミュレーション部の処理を例示する図である。
【図11】複数のトランジスタからなる複数グループを構成する手順の詳細を例示する図である。
【図12】回路内の全トランジスタから選択した複数トランジスタからなる複数グループを構成する工程を例示する図である。
【図13A】インバータとEXOR(排他論理和)の組み合わせ回路の例である。
【図13B】図13Aの回路をトランジスタの組み合わせで実現した回路構成例を示す図である。
【図14】グループ化する工程の処理例である。
【図15】グループ化する工程の処理例である。
【図16】グループ化する工程の処理例である。
【図17A】インバータとNANDを組み合わせた回路の例である。
【図17B】図17Aの回路をトランジスタの組み合わせで実現した回路構成例を示す図である。
【図18】トランジスタをグループ分けした結果である。
【図19】回路全体に対してパラメータを設定する手順を説明する図である。
【図20】変形例の処理を例示する図である。
【図21】プロセス感度テーブルの例を示す図である。
【図22】半導体装置の製造工程を例示する図である。
【符号の説明】
【0163】
1 レイアウトパターン情報
2 ネットリスト
3 プロセス感度テーブル
4 シミュレーションパラメータ
11 Si活性層
12 ゲート
【技術分野】
【0001】
本発明は、半導体回路の設計方法および製造方法に関する。
【背景技術】
【0002】
近年、LSIの微細化が進むにつれて、回路素子のレイアウトパターンの形状、配置位置等の物理量の精度、あるいは、製造工程でのそれら物理量のばらつきが回路特性に大きく影響するようになっている。また、これらの影響を回路特性予測に取り込み、回路特性を最適化する方法も提案されている。
【0003】
しかしながら、従来の技術では、計算量の負荷が重くなることから多数の素子と配線を含む設計対象の回路全体での回路特性の最適化が十分ではない。例えば、回路設計においては、各トランジスタの電流駆動力と負荷とのバランスを考慮してゲート寸法やゲート幅などのレイアウトが行われている。しかし、そのような設計対象の回路全体での最適なゲート寸法やゲート幅を決定する技術は実現できていない。
【特許文献1】特開2006−178907号公報
【特許文献2】米国特許第7,047,505号明細書
【特許文献3】特開平8−44775号公報
【特許文献4】特開平11−296575号公報
【特許文献5】特開2001−202394号公報
【特許文献6】特開2002−318829号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述した技術では、多数の素子を含む実際の回路の最適化のための配慮がなかった。本発明の一実施形態に係る一側面は、多数の素子を含む半導体回路の設計に適用可能な技術を提案する。本技術は、所望の回路特性に合致する半導体回路のレイアウトを効率的に取得でき、かつ、最適化された回路を製造できるようにする。
【課題を解決するための手段】
【0005】
すなわち、本発明の一実施形態に係る一側面は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法である。この側面によれば、コンピュータが、半導体回路を構成するトランジスタの構成部品の設計図形パターンの寸法またはトランジスタの設計上の物理特性から抽出される部品パラメータをシミュレーション部に入力される模擬パラメータに変換する変換工程と、半導体回路内に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、複数グループからいずれかの選択グループを選択する工程と、複数グループで選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、選択グループにおいて部品パラメータの値の組み合わせを設定し、変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、すでに選択グループに選択済みのグループとは別のグループを選択し、固定パラメータ設定工程からシミュレーション工程までを繰り返し実行する制御工程とを実行する。さらに、コンピュータが、部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、第1の写像関係を用い、部品パラメータの値の複数の組み合わせに対応する回路特性の複数の値を算出する工程と、回路特性の値、および部品パラメータを含む制限事項に基づき、回路特性
の複数の値の一部を選択する選択工程と、選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する。
【発明の効果】
【0006】
本方法によれば、所望の回路特性に合致する半導体回路のレイアウトを効率的に取得できる。
【発明を実施するための最良の形態】
【0007】
以下、図面を参照して本発明を実施するための最良の形態(以下、実施形態という)に係る設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【0008】
<システムの概要>
図1に、本実施形態に係る半導体製造工程の概要を示す。このうち、S101からS105までは、半導体装置の設計に係る工程であり、S106は、半導体装置の製造に係る工程である。
【0009】
半導体回路は、一般に多数のトランジスタで構成されている。半導体回路は、設計の最終段階では、多数の層の図形形状を定義するレイアウトパターン情報と、設計データ中の素子と素子との接続関係を記述するネットリストによって記述される。
【0010】
本実施形態の設計支援装置は、半導体回路に含まれるトランジスタのレイアウトパターン情報1およびネットリスト2から、それぞれのトランジスタの部品パラメータを抽出する。部品パラメータは、トランジスタの図形形状、すなわち、レイアウトパターンを規定するレイアウトパラメータと、トランジスタの設計上の物理特性を規定する物理特性パラメータとを含む。
【0011】
レイアウトパラメータは、例えば、トランジスタのレイアウトパターン中のゲート幅、ゲート長等のレイアウトパターンの寸法から決定される値である。物理特性パラメータは、例えば、トランジスタの設計上の閾値、トランジスタが形成される基板材料中の電子の移動度等である。
【0012】
本設計支援装置は、以上のような部品パラメータを基に製造されるそれぞれのトランジスタ特性値を算出する(S101)。トランジスタ特性値は、上記部品パラメータにしたがって設計されたトランジスタが実際に有すると予想される電流電圧特性から決定される特性値である。トランジスタ特性値は、例えば、ゲート電圧の変化量に対するドレイン電流の変化量である相互コンダクタンス、トランジスタの閾値、ゲート電圧とドレイン電圧を所定値に固定したときのドレイン電流等である。S101が第1変換工程に相当する。
【0013】
さらに、本設計支援装置は、得られたトランジスタ特性値から、回路シミュレーションに必要なシミュレーションパラメータ4を算出する(S102)。S102が第2変換工程に相当する。S101とS102とが変換工程に相当する。そして、本設計支援装置は、回路シミュレータを起動し、SPICEシミュレーションと呼ばれる回路シミュレーションを実行する(S103)。なお、図1のように、回路シミュレーションでは、ネットリスト2も参照される。S103がシミュレーション工程に相当する。回路シミュレーションの結果、消費電力、遅延時間等の回路特性が得られる。そして、得られた回路特性が、設計目標値を満足しているか否かが判定される(S104)。得られた回路特性が、設計目標値を満足している場合には、上記部品パラメータ(レイアウトパターンおよび物理特性パラメータ)にしたがって半導体マスク製造用のマスク描画用データが作成され、半
導体製造用のフォトマスクが製造される。そして、そのフォトマスクのパターンが半導体基板に転写され、半導体装置が製造される(S106)。
【0014】
しかし、回路シミュレーションの結果、設計目標値の回路特性が得られない場合、レイアウトパターン情報1、およびネットリスト2を変更する必要が生じる。そこで、レイアウトパターン情報1、およびネットリスト2が修正され(S105)、S101以下の処理が再度実行される。
【0015】
そのような製造工程のうち、設計工程を支援し、望ましいレイアウトの作成を容易にするため、本設計支援装置は、多数の部品パラメータを変更して多数回の回路シミュレーションの実行を可能としている。すなわち、本設計支援装置は、複数の部品パラメータを変更したパラメータ値の組み合わせによって半導体集積回路の回路特性をシミュレーションする。
【0016】
しかしながら、その際に、回路内のトランジスタに対し、変更されたすべての部品パラメータの組み合わせを試行する場合、一つのトランジスタに対する部品パラメータの組み合わせ数に対して回路を構成するトランジスタ数のべき乗の組み合わせが存在する。例えば、部品パラメータとしてゲート長とゲート幅を選択し、それぞれ部品パラメータの水準を中心値に対して上下に振るような3水準(3つの値の組み合わせ)とした場合、1つのトランジスタについて9通りのバリエーションがある。したがって、半導体回路を構成するトランジスタ数が100とすると9100の組み合わせが存在する。このような場合、シ
ミュレーション実行回数が回路規模とともに爆発的に増大して、事実上実行不可能になるケースが出てくる。
【0017】
本設計支援装置は、このような事態を起こさないように適正な数の部品パラメータの組み合わせを設定する機能を提供する。そして、本設計支援装置は、回路規模が大きくても部品パラメータのバリエーションをそのような適正な組み合わせ数に限定し、適正な組み合わせに基づくシミュレーションを実行する。本設計支援装置は、その組み合わせ数のシミュレーション結果を用いて従来よりも望ましい回路レイアウトを提供する。
【0018】
そのため、本設計支援装置は、半導体回路に含まれるトランジスタの部品パラメータを変更する場合に、パラメータ値が変更された部品パラメータをすべて組み合わせて回路シミュレーションを実行することはしない。そのような総当りの手順に代えて以下の手順をとる。すなわち、
(1)半導体回路内の全トランジスタから選択した複数トランジスタを含む複数グループを構成する。
(2)上記構成した複数のグループからいずれかのグループを対象グループ(選択グループに相当)として選択する。
(3)上記構成した複数のグループから、上記対象グループ以外の非選択のグループに固定のパラメータ値を設定する。
(4)対象グループにおいてレイアウトまたは物理特性パラメータを変更することに対応する、変更された部品パラメータ値の組み合わせにしたがって、その組み合わせの数だけ回路特性シミュレーションを実行する。なお、この場合、物理特性パラメータは、固定しておき、レイアウトに対応する部品パラメータ値だけを変更した組み合わせによって回路特性シミュレーションを実行してもよい。
(5)すでに対象グループに選択されたグループ以外のグループから次の対象グループを選択し、(3)および(4)の工程を繰り返し実行する。
【0019】
一般に半導体集積回路は電気信号を伝播させながら、トランジスタのオンおよびオフ状態によってその信号を反転させる。半導体回路は、そのような信号を伝搬させ、論理回路
として機能する。すなわち、あるトランジスタがオフ状態からオン状態へ、あるいはオン状態からオフ状態に変化したときに、そのトランジスタ、およびそのトランジスタが接続する電源、あるいは接地ラインを通して充放電が行われる。その結果、負荷である次段のトランジスタの入力電位が変化し、信号が伝播する。
【0020】
ここで、トランジスタがオフ状態からオン状態、あるいはオン状態からオフ状態に変化するときに流れる電流のパスに注目する。すると、そのようなパスを構成するトランジスタの駆動特性と次段のトランジスタによって形成される負荷特性とが、局所的な信号の遅延を律速していることがわかる。
【0021】
局所的な信号の遅延を律速している部分回路を構成するトランジスタについて、その部品パラメータの組み合わせ依存の影響を考慮すればある程度の回路特性を取得できる。本設計支援装置において、設計対象の半導体回路に含まれるトランジスタから選択した複数トランジスタを含む複数グループは、このような影響を考慮して設定される。すなわち、ここでは、局所的な信号の遅延を律速している部分回路毎にトランジスタをグループ分けする。そして、グループ内におけるトランジスタの部品パラメータを変更して生成される部品パラメータ値の複数の組み合わせについて、それぞれシミュレーションを実行する。しかし、グループ間を跨る部品パラメータについては、組み合わせのバリエーションは作成しない。
【0022】
ここで、上述のように、電源から接地ラインに対し直列に接続される電流パスを構成するトランジスタの集合を1つのグループとする。そして、さらに、トランジスタの両端(ソースとドレイン)がその電流パスの2点に接続されているような並列の関係にあるトランジスタも同じグループに加える。さらに、上記電流パスにゲートが接続されているトランジスタをも同じグループに加える。このような手順によって、局所的な信号の遅延を律速している部分回路を構成するトランジスタを一まとめのグループすることができる。
【0023】
さらに、部分回路の駆動部となるトランジスタが共通するグループを1つにまとめる。すなわち、部分回路の駆動部にて、共通のトランジスタを有する2つのグループを1つのグループとする。回路の駆動部が共通しているので、互いに影響を及ぼす可能性があるからである。
【0024】
以上のようなトランジスタのグループ化を実行すると、複数の部品パラメータの組み合わせに基づいた半導体集積回路の特性をシミュレーションする際に、回路規模が大きくても、設計対象の半導体回路内の部品パラメータの組み合わせ数を適正な数に抑制した上で、シミュレーションが実行できる。しかも、局所的な信号の遅延を律速している部分回路については、想定される組み合わせをほぼ網羅することになるので、最適な構成に極めて近い回路レイアウトを実現することができる。
【0025】
<システムの処理>
本設計支援装置は、例えば、LSI(Large Scale Integration)を設計するためのCAD(Computer Aided Design)システムの一機能として実現される。ここで想定するCADシステムは、一般的なコンピュータの上に実現される。コンピュータは、例えば、CPU、メモリ、外部記憶装置(例えば、ハードディスク、取り外し可能な可搬記録媒体の駆動装置等)、外部記憶装置とのインターフェース、通信インターフェース、表示装置、入出力装置(例えば、キーボード、マウス等のポインティングデバイス等)を有する。
【0026】
本設計支援装置は、このようなコンピュータで実行されるコンピュータプログラムによって実現される。このコンピュータプログラムは、通信インターフェースあるいは取り外
し可能な可搬記録媒体の駆動装置を通じて、ハードディスク上にインストールされる。CPUは、インストールされたコンピュータプログラムをメモリにロードし、実行する。これによって、設計支援装置の機能が実現される。また、コンピュータが、この設計支援装置の機能を提供することによって、本発明の設計支援方法が実行される。
【0027】
図2に、本設計支援装置の機能ブロックを示す。図2のように、本設計支援装置は、レイアウト解析部、シミュレーション部、モデル生成部、テーブル生成部、および最適回路抽出部を有している。これらの各機能は、コンピュータ上のメモリにてCPUでの実行が可能な形式に展開されるコンピュータプログラムによって実現される。
【0028】
このうち、レイアウト解析部は、半導体集積回路を構成するトランジスタの複数の特性値(以下、トランジスタ特性値)を部品パラメータでモデル化する工程と、そのようなトランジスタの動作を半導体回路シミュレーションで表現できる回路シミュレータのシミュレーションパラメータにモデル化する工程とを実行する。
【0029】
また、シミュレーション部は、トランジスタのレイアウトまたは物理特性の変更に対応する部品パラメータの複数の組を設定する。そして、レイアウト解析部が生成したモデルにしたがって、部品パラメータの複数の組み合わせをシミュレーションパラメータの複数の組み合わせに変換する。そして、シミュレーション部は、シミュレーションパラメータの複数の組み合わせを基に、半導体集積回路の動作をシミュレートする回路シミュレータを起動し、それぞれの回路特性を出力する。
【0030】
すなわち、シミュレーション部は、レイアウトなどの変更(場合によっては、設計上の移動度、閾値等、物理特性の変更)に対応する部品パラメータの複数の組み合わせを設定する。そして、シミュレーション部は、部品パラメータをシミュレーションパラメータに変換し、回路シミュレーションを実行する。その結果、複数のレイアウト(場合によっては、異なる設計上の移動度、閾値等、物理特性)に対する回路特性が得られる。ここで、回路特性とは、複数のトランジスタを含む半導体回路の消費電力、遅延時間等、その半導体回路の性能指標となるべき特性である。なお、逆に、シミュレーション部は、まず、シミュレーションパラメータの複数の組み合わせを設定して、回路シミュレーションを実行する一方、その組み合わせを複数の部品パラメータの組み合わせに変換しても同様の結果が得られる。
【0031】
モデル生成部(モデル化工程)は、複数のシミュレーション結果に基づき半導体集積回路の複数の回路特性を部品パラメータでモデル化する。ここで、モデル化とは、部品パラメータから半導体集積回路の特性への写像関係を求めることをいう。例えば、この写像関係(第1の写像関係)は、部品パラメータを変数とする多項式である。
【0032】
テーブル生成部(算出する工程)は、生成された半導体集積回路の特性を表すモデル(第1の写像関係)を使って、レイアウトの変更または物理特性パラメータの変更に基づく複数の部品パラメータの組み合わせから、回路特性を算出する。そして、その複数の部品パラメータの組み合わせと回路特性との関係をテーブル化する。すなわち、複数の部品パラメータの組み合わせと算出された回路特性とを組み合わせたテーブルがメモリに記憶される。
【0033】
半導体集積回路の特性を表すモデル(第1の写像関係)を使って回路特性を算出する場合、シミュレーションの実行と比較して短時間で多数の回路特性を算出できる。したがって、一旦、モデルを作成すれば、シミュレーションよりもはるかに多くの回路特性を得ることができる。
【0034】
そして、最適回路抽出部は、複数の制限条項に基づいて、メモリに記憶されたテーブルからその一部のレコードをスクリーニングする工程(一部を選択する工程)と、残ったレコード(部品パラメータの組み合わせ)から最適なレイアウトと設計上の物理特性を提示し、ユーザに選択させる工程(部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程)とを実行する。以下、本設計支援装置のそれぞれの機能ブロックについて説明する。
【0035】
(レイアウト解析部)
図3に、レイアウト解析部の概要を示す。本実施形態では、レイアウト解析部は、レイアウトパターン情報1およびネットリスト2からトランジスタ特性値を生成するときのモデル(多項式)を生成するトランジスタ特性モデル化部と、トランジスタ特性値をシミュレーションパラメータに変換するときのモデルを生成するシミュレーションパラメータモデル化部とを含む。
【0036】
トランジスタ特性モデル化部は、トランジスタのレイアウトパターン情報1と、ネットリスト2から、部品パラメータを抽出し、その部品パラメータから実際に製造されるトランジスタのトランジスタ特性値を算出する。ここで、トランジスタのレイアウトパターン情報1は、例えば、活性層、ゲート層、コンタクト層等の個々の素子を定義するパターン形状の情報を有する。また、ネットリスト2は、主として、素子と素子とを接続する回路接続情報を有する。さらに、ネットリスト2は、配線抵抗、容量情報、設計特性情報を有する。また、トランジスタ特性値とは、トランジスタの電流電圧特性から定められる個々のトランジスタの特性である。トランジスタ特性値については、図6にしたがって別途具体的に説明する。
【0037】
図4に、レイアウトパターン情報1から抽出される部品パラメータの例を示す。図4では、素子分離膜(例えば、STI(Shallow Trench Isolation))で区切られた素子領域10に、ソース・ドレインを形成するSi活性層11、ゲート12が形成されている。このようなトランジスタの各構成要素の図形形状がレイアウトパターン情報1である。一方、部品パラメータとは、レイアウトパターン情報1の特定部分の寸法である。ゲート長Lgは、ゲートのソース・ドレイン間方向の寸法であり、ゲート幅Wは、ゲートがソース・ドレイン領域を横切る寸法である。
【0038】
他の部品パラメータとしては、例えば、ゲートピッチ、SB(ソース・ドレイン幅、すなわち、ソース領域の幅、またはドレイン領域の幅)、SBOF(ソース・ドレインのSTIオフセット、すなわち、ソース領域の素子分離膜の領域からのオフセット距離、またはドレイン領域の素子分離膜の領域からのオフセット距離)、SBE(ソース・ドレインのSTIオフセット長さ、すなわち、オフセット領域のオフセット方向に直行する方向の寸法)等が使用される。ゲートピッチは、ゲート12、12の間隔である。SBは、1つのゲート12からソースまたはドレインの端部までの寸法である。SBOFは、ゲート12とSi活性層11との間に形成される間隙の幅であり、SBEは、その間隙の長さである。
【0039】
ただし、部品パラメータは、ネットリスト2に定義されている設計特性情報等の設計上の物理特性を規定する物理特性パラメータも含めてよい。設計特性情報は、例えば、標準ゲート酸化膜厚、設計ゲート長、設計ゲート幅、標準しきい値電圧(Vth)、標準移動度等(以下、単に標準値という)を含む。ここで、標準ゲート酸化膜厚、設計ゲート長、設計ゲート幅等は、設計段階の目標値(設計値)というべき値である。半導体製造プロセスでは、設計値通りのパターンを半導体基板に形成することは困難であり、実際の半導体プロセスで形成される値とは一致しない場合がある。そこで、設計値にしたがって回路を製作したときに、半導体基板に実際に形成される測定値という意味で、実ゲート長、実ゲ
ート幅等の用語を使用する。
【0040】
そして、正確なシミュレーション結果を得るためには、単に設計特性情報をそのまま反映してシミュレーションするのではなく、現実の製造プロセスの影響を考慮する必要がある。
【0041】
そこで、図3のトランジスタ特性モデル化部では、レイアウトパターン情報1と、ネットリスト2から部品パラメータを抽出し、実際に製造されるトランジスタのトランジスタ特性値に変換する。
【0042】
本実施形態では、事前にレイアウトパターン情報1およびネットリスト2から抽出される部品パラメータと、製造結果に基づくトランジスタ特性値との間の関係をモデル化して求めておく。この関係が、本発明の第2写像関係に相当する。このモデル化は、設計工程および製造工程とは別に、オフラインで実行される。このモデル化によって、部品パラメータからトランジスタ特性値への第2の写像関係が得られる。
【0043】
モデル化の処理は、重回帰分析によればよい。重回帰分析の具体的手順については、シミュレーションパラメータモデル化部で説明する。ここでは、部品パラメータの組、例えば、(標準酸化膜厚、設計ゲートピッチ、設計ゲート長、設計ゲート幅、標準閾値、標準移動度等)の組を複数組作成し、その部品パラメータにしたがって製作したトランジスタの特性値(Ids、Vth等)を実験的に測定しておく。そして、部品パラメータの組(標準酸化膜厚、設計ゲートピッチ、設計ゲート長、設計ゲート幅、標準閾値、標準移動度等トランジスタの特性情報)を構成するそれぞれの要素を変数とする多項式でトランジスタ特性値(Ids、Vth等)をモデル化する。
【0044】
シミュレーションパラメータモデル化部は、トランジスタ特性値の多項式でシミュレーションパラメータをモデル化する。このモデル化によって、トランジスタ特性値からシミュレーションパラメータへの第3の写像関係が得られる。そして、トランジスタ特性モデル化部で得られた第2写像関係に、第3写像関係を適用する。具体的には、第3の写像関係を構成する多項式の変数(トランジスタ特性値の変数)に、第2の写像関係の多項式を代入する。これにより、部品パラメータからシミュレーションパラメータ4への第4の写像関係が得られる。
【0045】
以下、図5から図9の図面に基づいて、シミュレーションパラメータモデル化部の詳細を説明する。
【0046】
シミュレーションパラメータモデル化部は、回路を構成するトランジスタの特性値を与えられ、そのような回路部品をシミュレートするシミュレーションプログラムのパラメータ(シミュレーションパラメータ)を求める機能を提供する。
【0047】
《シミュレーションパラメータの例》
シミュレーションパラメータは、シミュレーションプログラムによって異なる。典型的には、シミュレーションパラメータは、ロングチャネルの閾値(Vth0)、飽和速度(VSAT)、移動度(U0)、Lg(ゲート長)、W(ゲート幅)、閾値のドレイン電圧依存性、ボデ
ィ効果、ゲート下もぐり込み拡散長等である。
【0048】
なお、シミュレーションパラメータは、ロングチャネルの閾値(Vth0)、飽和速度(VSAT)、移動度(U0)、Lg(ゲート長)、W(ゲート幅)、閾値のドレイン電圧依存性、ボ
ディ効果、ゲート下もぐり込み拡散長等のパラメータのリファレンス値からの差分、あるいは比を使ってその変化量を表したものであってもよい。すなわち、標準のトランジスタ
におけるそれぞれの標準のパラメータの値からのずれ量を定義しても構わない。これらのパラメータは、シミュレーションプログラムごとに定められている。
【0049】
このうち、Lg(ゲート長)、W(ゲート幅)等は、ネットリスト中のゲート長、ゲート
幅に対応する物理量である。ただし、シミュレーションパラメータは、設計データに対応するパラメータでも、設計データをそのまま用いることが妥当でない場合がある。
【0050】
設計データを基に、成膜、フォトリソグラフィ、エッチング等を実施した場合に、基板上のパターン形状および寸法は、設計データの形状および寸法とは必ずしも一致しない。したがって、正確な回路シミュレーションの結果を得るためには、シミュレーションパラメータは、基板上に形成される物理形状を反映した値を設定する必要がある。
【0051】
また、シミュレーションパラメータの中には、ロングチャネルの閾値(Vth0)のように、設計データ、あるいは、設計値であるトランジスタ特性に対応しないパラメータもある。ロングチャネルの閾値(Vth0)とは、チャネル長が十分に長い場合の閾値をいい、現実に設計される回路のゲート長でのトランジスタ特性としては設定できないパラメータである。
【0052】
また、飽和速度(VSAT)は、本来は、電子の移動速度が移動度を比例係数として電界に比例するという法則が成立しない程度を示すパラメータである。このようなパラメータに対して、どのような値を設定すべきかを示す指針は存在しなかった(あるいは、SPICEシミュレーションだけでは十分に適切な値を設定できない場合があったとも言える)。本実施形態では、以下に説明するように、トランジスタ特性値と上述のシミュレーションパラメータとの関係をモデル化する。
【0053】
図5は、回路特性シミュレーションに基づいて、トランジスタ特性値をシミュレーションパラメータでモデル化する第1工程(図5に「シミュレーション」で示される)とシミュレーションパラメータをトランジスタ特性値でモデル化する第2工程(図5で「逆変換」で示される)を示す図である。本実施形態では、シミュレーションパラメータをトランジスタ特性値でモデル化する第2工程は、第1工程で得られたモデル式を逆に解く、あるいは逆変換してモデル化する。
【0054】
このように、回路特性シミュレーションの実行時に設定可能なシミュレーションパラメータは、極めて多数存在する。本設計支援装置は、ユーザからの設定にしたがって、多数のシミュレーションパラメータ中から、設定値を変更すべきパラメータ(図5に、変調パラメータで示す)と、固定値を設定するパラメータ(固定パラメータという)に分ける。なお、以下では、変調パラメータを単にシミュレーションパラメータという。
【0055】
そして、本設計支援装置は、複数のシミュレーションパラメータの多数組に対して、回路特性シミュレーションプログラムを実行する。これによって、それぞれのシミュレーションパラメータの組に対して、トランジスタ特性情報(信号特性ともいう)を得る。トランジスタ特性情報は、例えば、ゲート電圧を固定したときのソースとドレインとの間の電流電圧特性として得られる。また、ドレイン電圧を固定したときのゲート電圧ドレイン電流特性として得られる。これらのトランジスタ特性は、例えば、ゲート電圧、ドレイン電圧、ドレイン電流の組(Vgi,Vdi,Idi、iは整数)として得られる。一般的には、トランジスタ特性情報は、トランジスタの一の端子に入力される電流または電圧と、その端子と同一の端子またはそのトランジスタの他の端子にて測定される電流または電圧との関係を示す曲線の特性ということができる。
【0056】
そして、本設計支援装置は、得られたトランジスタ特性情報から、そのトランジスタ特
性情報を特徴付ける値(トランジスタ特性値)を抽出する。これは、例えば、ゲート電圧Vgおよびドレイン電圧Vdが所定値のときのドレイン電流である。また、例えば、線形領域での、ドレイン電圧を所定値にしたときのゲート電圧の変化量に対するドレイン電流の変化量の比として得られる相互コンダクタンスである。
【0057】
本設計支援装置は、そのようなトランジスタ特性値を複数個抽出する。そして、本設計支援装置は、シミュレーションパラメータの組と、得られたトランジスタ特性値の組との関係を記録する。そして、シミュレーションパラメータの複数の組に対して、それぞれトランジスタ特性値の組が得られたときに、シミュレーションパラメータからトランジスタ特性値への写像関係を求める。この写像関係は、例えば、シミュレーションパラメータの多項式によってトランジスタ特性値を表せばよい。このような多項式は、例えば、重回帰分析を実行することで求めることができる。
【0058】
重回帰分析は、複数の変動量を独立変数として、その独立変数の項の係数を決定することによって、求める特性値に多項式の値(目的変数ともいう)をフィットさせる解析方法である。多項式の項は、一般に1次以上であり、複数の変数の積が含まれてもよい。通常は、所定の独立変数の定義域にて、目的の特性値と多項式の値とが、最もエラーが少なくなるように、係数が決定される。なお、1つの目的変数を、1つの独立変数で予測する式を求める場合は、単回帰分析といい、最小二乗法で求めることができる。周知のように、最小二乗法は、目的変数と、実測値との誤差の二乗和を最小にするように式の係数を決定する。重回帰分析は、これを複数の変数に拡張したものである。
【0059】
例えば、多項式がY=F(x1,x2,...,xn)、ここで、F(x1,x2,...,xn)がx1,x2,...,xnの多項式である場合を例に説明する。例えば、F(x1,x2,...,xn)=a0+a1・x1+,...,+am・x1・...・Xnである。
【0060】
この場合、独立変数x1,x2,...,xn、目的変数Yの実測値の組(Yi,x1i、x2i,...,xni,iは整数)に対して、
ERROR=(Yi−F(x1,x1i、x2i,...,xni))2によって誤差が
定義され、誤差が最小になるように、係数a0,...,amが決定される。
【0061】
この誤差は、一般的には、それぞれの係数a0,...,amに偏微分され、最小値が判定される。誤差は、係数a0,...,amの2次の式であるので、偏微分されて1次の式となる。したがって、誤差最小を求めることは、連立方程式を解くことに帰着される。コンピュータ上での連立1次方程式の解法は、周知であるので、その説明を省略する。
【0062】
このような重回帰分析を処理するプログラムの実行によって、シミュレーションパラメータとトランジスタ特性値の関係が得られることになる。
【0063】
一旦、トランジスタ特性値が、シミュレーションパラメータの多項式で表されると、本設計支援装置は、シミュレーションパラメータをトランジスタ特性値の多項式に逆変換する。これは、シミュレーションパラメータの多項式で表された複数のトランジスタ特性値の組からなる連立方程式を解く処理である。その結果、本設計支援装置では、トランジスタ特性値が得られれば、直ちに、シミュレーションパラメータを得ることができる。したがって、直ちに、回路のシミュレーションが実行可能となる。
【0064】
《トランジスタ特性値》
図6に、トランジスタ特性値の例を示す。この例では、ゲート電圧Vgを固定したドレイン電圧Vdとドレイン電流Idとの関係と、ドレイン電圧Vdを固定したゲート電圧V
gとドレイン電流Idとの関係がトランジスタ特性情報として示されている。
【0065】
図6では、1つのトランジスタの電流電圧特性が連続した曲線で示されている。しかし、実際にシミュレーションで得られるのは、(ゲート電圧Vg,ドレイン電圧Vd,ドレイン電流Id)の離散値の組である。トランジスタ特性値は、1つのトランジスタの電流電圧特性を特徴付ける値であり、電流電圧特性の特定の点での値そのもの、傾き、切片、接線等によって規定される。以下、本設計支援装置が使用する特性値を例示する。
【0066】
(1)ゲート電圧Vgを固定したときの、特定のドレイン電圧Vdにおけるドレイン電流値Idが例示できる。例えば、Vg=Vddに固定したときの(Vd0,Idst)(Vd2、Ids)、Vg=中間値(図6ではmedium)に固定したときの(Vd1,Idsr1)、(Vd2,Idsr2)がトランジスタ特性値として使用される。
【0067】
(2)ドレイン電圧を固定したときの、飽和領域での相互コンダクタンスが例示される。例えば、Vd=Vddに固定したときの飽和領域でのΔId=Ids−Idsr2に対するΔVg=Vg2−Vg1の比が、飽和領域の相互コンダクタンスとして算出される。
【0068】
(3)トランジスタの閾値が例示できる。例えば、トランジスタ特性値は、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=
一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値を例示できる。閾
値は、図6に示すように、ドレイン電圧を固定したときのゲート電圧ドレイン電流特性曲線でのゲート電圧の微小変化量に対するドレイン電流の微小増加量(傾きを示す接線)が最大となるVg1における接線と、横軸(Vg軸)との交点Vthとして算出できる。また、例えば、Vd=lowのときの、点(Vg1、Idsr4)における接線のVg軸との交点が、閾値Vthとして算出されている。
【0069】
(4)飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)のドレイン電流を例示できる。すなわち、同一のゲート電圧ドレイン電流特性曲線上の(Vg1,Ids2)、(Vg2,Ids)として定義できる。この場合に、ドレイン電圧を電源電圧Vddとし、ゲート電圧が電源電圧Vddであり、他の少なくとも1つはゲート電圧が電源電圧Vddと閾値の和の1/2かそれ以下としてもよい。
【0070】
(5)飽和領域条件下の同一のゲート電圧で少なくとも2種のドレイン電圧印加条件時(ただし Vbs=0)のドレイン電流であってもよい。その場合に、ゲート電圧が、電源電圧Vddと閾値の和の1/2かそれ以下に設定してもよい。
【0071】
(6)以上のうち、(3)から(5)の電圧の条件において、ボディ電圧Vds(基板バイアスともいう)に所定値を設定したときのドレイン電流を用いてもよい。
【0072】
(7)以上のうち、(3)(4)の特性値の組み合わせを用いてもよい。すなわち、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値と飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)のドレイン電流との組み合わせを特性値としてもよい。
【0073】
また、(3)(4)(5)の組み合わせを用いてもよい。すなわち、線形領域条件下の少なくとも1つのゲート電圧(Vgs)印加条件時(ただし ソース・ドレイン電圧Vds=一定、基板バイアスVbs=0)のドレイン電流と本線形領域条件下の閾値と飽和領域条件下の同一のドレイン電圧で少なくとも2種のゲート電圧印加条件時(ただし Vbs=0)の
ドレイン電流と飽和領域条件下の同一のゲート電圧で少なくとも2種のドレイン電圧印加条件時(ただし Vbs=0)のドレイン電流との組み合わせを特性値としてもよい。
【0074】
また、(3)(4)(5)(6)の組み合わせを用いてもよい。すなわち、以上の組み合わせに、さらに、基板バイアスVbs=0の場合と、基板バイアスが0でない場合のそ
れぞれの値を組み合わせてもよい。
【0075】
(8)以上の他、特性値として、線形領域の相互コンダクタンス(Gmlin)、閾値のド
レイン電圧依存(Δth)、およびボディ効果を用いてもよい。このうち、閾値のドレイン電圧依存(Δth)は、例えば、Vd=Vddに固定したときのゲート電圧Vg1のときのド
レイン電流Idsg1と、ゲート電圧Vg2のときのドレイン電流Idsg2の差、および、Vg=中間値(図6ではmedium)に固定したときのドレイン電圧Vd1のときのドレイン電流Idsr1と、ドレイン電圧Vd2のときのドレイン電流Idsr2の差の比、Δth=(Idsr2−Idsr1)/(Idsg2−Idsg1)として定義できる。
【0076】
また、ボディ効果は、ボディ電圧Vbsを変更したときの閾値の変化率=(Vth1−Vth2)/(Vbs1−Vbs2)として定義できる。この場合、Vdは、所定値とする。なお、ボディ効果として、閾値に代えて、相互コンダクタンスの変化を用いてもよい。
【0077】
これらの特性値は、本設計支援装置で実行されるコンピュータプログラムが算出する。
【0078】
図7は、回路シミュレーションに基づいて、トランジスタ特性値とシミュレーションパラメータとをモデル化する処理を例示するフローチャートである。
【0079】
始めに、SP1ではトランジスタ特性情報から抽出すべき特性値の種類を選択する。ここでは、上記特性値として、例示した(1)〜(8)を含む多数の特性値のうち、ユーザ所望の特性値が選択される。トランジスタの特性値の数は、変更可能なシミュレーションパラメータの数となるべく同じ程度が好ましい。また、予想される物理変動量に対するトランジスタ特性値の変化の仕方がなるべく独立に変化する特性値を選ぶことが好ましい。
【0080】
例えば、チャネル不純物濃度とゲート長の変化に対して、Vg=中間値(図6ではmedium)、ドレイン電圧=中間値(図6ではmedium)に固定したときのドレイン電流Idsr1は、比較的独立に変化する。一方、線形領域の相互コンダクタンスは電子の移動度と相関が高い。
【0081】
次にSP2では、回路シミュレーションの中で用いられるシミュレーションパラメータ(すなわち、変調パラメータ)を選択する。これらのパラメータは、シミュレーションプログラムごとに定められている。
【0082】
ここでは、多数のシミュレーションパラメータのうち、トランジスタ特性値と関連づけてモデル化すべきシミュレーションパラメータ(すなわち、値を変更すべき変調パラメータ)を選択する。これによって、トランジスタ特性値の変更にともなって変化するシミュレーションパラメータが決定されることになる。
【0083】
次にSP3では、これらのシミュレーションパラメータに設定する値の組み合わせを選択する。本設計支援装置は、選択したシミュレーションパラメータのそれぞれ変化しうる最大変動量領域(最小値と最大値で指定される)、およびシミュレーションする際の刻みを決め、それらを基にシミュレーションパラメータの組み合わせを選択する。このとき、
すべてのシミュレーションパラメータの総当りの組み合わせを設定してもよいし、実験計画法に基づいて直交表による必要最低限の最適な組み合わせを設定してもよい。直交表とは,任意の2因子(ここでは、シミュレーションパラメータの種類)について、そのシミュレーションパラメータの設定値(水準)のすべての組み合わせが同数回ずつ現れるという性質をもつ実験のための割付表をいう。無秩序に設定値を決定した場合、少なくともシミュレーションパラメータの設定値の組み合わせ数の積の回数だけ実験数が必要になる。したがって、シミュレーションパラメータ数が多くなると実験回数は膨大な数になってしまう。しかし、実験計画法で周知の直交法によって、依存関係の少ないパラメータを選択することで、組み合わせ数を低減できる。
【0084】
次に、設計支援装置は、上記組み合わせ毎に、シミュレーション部12により、回路シミュレーションを実行する(SP4)。例えば、SPICEシミュレーションが実行される。シミュレーション部12によるシミュレーションの結果、ユーザ指定のシミュレーションパラメータに対してゲート電圧Vg、ドレイン電圧Vd、およびドレイン電流Idの組(Vgi,Vdi,Idi,iは整数)が得られる。
【0085】
次に、設計支援装置は、シミュレーション部12によって得られたトランジスタ特性情報から、SP1で選択したトランジスタ特性値を抽出する(SP5)。 図8および図9に、トランジスタ特性値を求める処理の例を示す。図8は、ゲート電圧を所定値に固定したときのドレイン電圧Vd1に対するドレイン電流を求める処理を例示するフローチャートである。この処理では、設計支援装置は、シミュレーション結果から、まず、ゲート電圧が所定値Vg1である組を探索する。より具体的には、設計支援装置は、(Vgi,Vdi,Idi、iは整数)の組から、ゲート電圧Vgと所定値Vg1とのずれが許容値ΔVg以下である組(Vg1,Vdi,Idi,i=1,..,N)を求める(SP51)。
【0086】
次に、設計支援装置は、SP51で求めた組(Vg1,Vdi,Idi,i=1,..,N)から、ドレイン電圧Vdが所定値Vd1のものを探索する(SP52)。より具体的には、設計支援装置は、上記組から、ドレイン電圧Vdと所定値Vd1とのずれが許容値ΔVd以下である組(Vg1,Vd1,Id1)を求める。複数個探索された場合には、ドレイン電圧VdがVd1に最も近いものを選択する。
【0087】
そして、得られた(Vg1,Vd1,Id1)から、ドレイン電流値Id1を決定する(SP53)。
【0088】
図9は、閾値Vthの抽出工程を例示する図である。ここでは、本設計支援装置は、まず、ドレイン電圧Vdが所定値Vd1である組(Vg1,Vd1,Idi,i=1,..,M)を探索する(SP55)。
【0089】
次に、本設計支援装置は、ゲート電圧Vgが所定値Vg1である組(Vg1,Vd1,Id1)を探索する(SP56)。そして、ドレイン電流Idを決定する(SP57)。さらに、本設計支援装置は、同一のドレイン電圧Vd1にて、Vg1を微小量変化させたゲート電圧Vg2の組(Vg2,Vd1,Id2)を求める。これによって、本設計支援装置は、接線の傾きa=(Id2−Id1)/(Vg2−Vg1)を求める。この操作を様々なVgに対して実行し、その接線の傾きの最大値でのVg0、およびId0を探索する。そして、本設計支援装置は、点(Vg0,Id0)にて、接線の方程式Id−Id0=a・(Vg−Vg0)を設定する(SP58)。そして、本設計支援装置は、Id=0を設定することによって、接線がVg軸と交差すると点のVgの値から、Vthを求める(SP59)。
【0090】
以上のような手順にしたがって、本設計支援装置は、シミュレーションパラメータの組み合わせに対する複数のトランジスタ特性値のテーブルを作成する(図7のSP6)。以下、図7に戻って説明する。
【0091】
次にSP7では、このテーブルを基に重回帰分析を行い、複数のトランジスタ特性値を複数のシミュレーションパラメータを変数とする多項式(本発明の第2の写像関係に相当)でモデル化する。例えばトランジスタ特性値であるVthはVth0、 VSAT 、U0、Lgという
4つのシミュレーションパラメータを使って次の数1のように表すことができる。ここでは、本設計支援装置は、重回帰分析の手順を実行し、数1の値が、シミュレーションで求めた特性値のテーブルの値と最もフィットする係数a、ai(iは整数)を決定する。
(数1)
Vth=a+a0*Vth0 +a1*VSAT+a2*U0 +a3*Lg +a4*Vth0*Vth0
+a5*VSAT*VSAT +a6*U0*U0 +a7*Lg*Lg
+a8*Vth0*VSAT +a9*Vth0*U0 +a10*Vth0* Lg
+a11*VSAT*U0 +a12*VSAT*Lg
+a13*U0*Lg
また、Idsも同様にVth0、 VSAT 、U0、Lgを使って次の数2のように表すことができる
。
(数2)
Ids=b+b0*Vth0+b1*VSAT +b2*U0 +b3*Lg +b4*Vth0*Vth0
+b5*VSAT*VSAT +b6*U0*U0 +b7*Lg*Lg
+b8*Vth0*VSAT +b9*Vth0*U0 +b10*Vth0*Lg
+b11*VSAT*U0 +b12*VSAT*Lg
+b13*U0*Lg
Idsr1, Idsr2, Idstについても同様である。また、トランジスタ特性として、他の特性値、例えば、相互コンダクタンス、閾値のドレイン電圧依存Δth、ボディ効果等が指定された場合も同様に求めることができる。
【0092】
次のSP8のステップでは、シミュレーションパラメータであるVth0、 VSAT 、U0、Lgを、トランジスタ特性値であるIds, Idsr1, Idsr2, Idst, Vthを変数とする多項式として記述する。すなわち、SP7で得られたシミュレーションパラメータの多項式をトランジスタ特性値の多項式に変換する。このとき、シミュレーションパラメータの数とトランジスタ特性値の数が同じならば、連立方程式を解くことでシミュレーションパラメータの多項式をトランジスタ特性値の多項式に変換することができる。
【0093】
また、例えば、SP6で作成したテーブルを再び使って重回帰分析を行い、それぞれのシミュレーションパラメータを複数のトランジスタ特性値の多項式でモデル化してもよい。また、SP6で作成されたテーブルにおけるIds, Idsr1, Idsr2, Idst, Vth等の組み合わせに偏りがある場合は、SP7でモデル化した多項式を使って新たに、シミュレーションパラメータの組み合わせによるトランジスタ特性値を算出してもよい。そして、それらの結果を加えて、重回帰分析を行い、シミュレーションパラメータを複数のトランジスタ特性値でモデル化してもよい。例えばシミュレーションパラメータ;Vth0は、Ids, Idsr1, Idsr2, Idst, Vthという5つのトランジスタ特性値を使って次の数3のように表すことができる。
(数3)
Vth0=d+d0*Ids+d1*Idsr1+d2*Idsr2+d3*Idst+d4*Vth
+d5*Ids*Ids+d6*Idsr1*Idsr1+d7*Idsr2*Idsr2+d8*Idst*Idst+d9*Vth*Vth
+d10*Ids*Idsr1+d11*Ids*Idsr2+d12*Ids*Idst+d13*Ids*Vth
+d14Idsr1*Idsr2+d15Idsr1*Idst+d16*Idsr1*Vth
+d17Idsr2*Idst+d18*Idsr2*Vth
+d19*Idst*Vth
また、UoはVth0同様にIds, Idsr1, Idsr2, Idst, Vthを使って次の数4のように表すことができる。
(数4)
U0=e+d0*Ids+e1*Idsr1+e2*Idsr2+e3*Idst+d4*Vth
+e5*Ids*Ids+e6*Idsr1*Idsr1+e7*Idsr2*Idsr2+e8*Idst*Idst+e9*Vth*Vth
+e10*Ids*Idsr1+e11*Ids*Idsr2+e12*Ids*Idst+e13*Ids*Vth
+e14Idsr1*Idsr2+e15Idsr1*Idst+e16*Idsr1*Vth
+e17Idsr2*Idst+e18*Idsr2*Vth
+e19*Idst*Vth
シミュレーションパラメータとして他のパラメータ、例えば、ゲート幅W、ゲート長L、ゲート下もぐり込み拡散長、ボディ効果等が選択された場合も、重回帰分析の手順は同様である。以上のステップにより、シミュレーションパラメータをトランジスタ特性値でモデル化することが可能になる。
【0094】
上記SP7の処理では、複数のトランジスタ特性値を複数のシミュレーションパラメータの多項式でモデル化した。このような多項式に代えて、シミュレーションパラメータとトランジスタ特性値との関係をニューロ学習分析による重み付けしたシグモイド関数で表すことも可能である。ニューロ学習は、ニューロンと呼ばれる素子を複数組み合わせて、入力信号から出力信号への写像関係を形成する。この場合の写像関係は、それぞれの入力信号を重み付け加算した非線形関数によって出力信号を形成する。この場合の非線形関数としてシグモイド関数が使用される。
【0095】
ニューロ学習分析は、例えば、トランジスタ特性値の組をニューラルネットワークの入力に接続する。そして、シミュレーションパラメータの値の組を、教師信号とする。教師信号とは、ニューラルネットワークの出力信号として望ましい信号である。そして、ニューラルネットワークの出力信号と、教師信号との二乗誤差が最小となるように重み付け加算の重みが決定される。この重みを決定する手順がニューロ学習と呼ばれる。ニューロ学習は、通常、出力側の入力側にさかのぼる方向に重み係数が決定される。ニューロ学習法およびそのネットワークを実現する回路の例は、例えば、特許3110434に提案されている。
【0096】
(シミュレーション部)
図10は、シミュレーション部の処理を例示する図である。ここでは、複数の部品パラメータの組み合わせに基づいた半導体集積回路の特性をシミュレーションする際の部品パラメータの組み合わせ方法と、シミュレーションの実行方法を示す。
【0097】
ここでは、設計支援装置は、まず、設計対象の回路内のトランジスタから選択した複数トランジスタからなる複数グループを構成する(SS1)。SS1がグループ分けする工程に相当する。次に、設計支援装置は、それぞれのグループごとにトランジスタの部品パラメータを要素とするテーブルを生成する(SS2)。
【0098】
次に、設計支援装置は、複数のグループから任意の1グループを選択する(SS3)。SS3が選択する工程に相当する。この選択されたグループが、シミュレーションにおいて、部品パラメータが変更されるトランジスタを構成する。このグループを対象グループと呼ぶ。
【0099】
次に、設計支援装置は、対象グループ以外の非選択のグループに特定のパラメータ値を設定する(SS4)。ここで、特定のパラメータ値を設定するとは、シミュレーション実行に際して、変更されない固定のパラメータ値を設定することをいう。SS4が固定パラ
メータ設定工程に相当する。
【0100】
そして、設計支援装置は、対象グループにおいて部品パラメータの組み合わせに基づいて回路特性シミュレーションを実行する(SS5)。SS5がシミュレーション工程に相当する。回路特性シミュレーションでは、シミュレーションパラメータを回路シミュレータに入力して、複数のトランジスタを含む回路全体の回路特性(回路の遅延時間、消費電力、リーク電流等)が算出される。回路特性シミュレーション(例えば、SPICEシミュレーション)自体の周知であるので、その説明を省略する。
【0101】
ただし、本設計支援装置は、まず、部品パラメータの組み合わせをシミュレーションパラメータの組み合わせに変換した後に、回路特性シミュレーションを実行する。そこで、部品パラメータの複数の組み合わせが、トランジスタ特性モデル化部によって生成された多項式(第2の写像関係)によって、実際に製造されるトランジスタのトランジスタ特性値の複数の組に変換される。さらに、トランジスタ特性値の複数の組は、シミュレーションパラメータモデル化部によって生成された多項式(第3の写像関係)によって、シミュレーションパラメータの複数の組に変換される。
【0102】
ただし、第2の写像関係を第3の写像関係に適用することによって、部品パラメータからシミュレーションパラメータを算出する第4の写像関係を求めておいてもよい。その場合には、第4の写像関係にしたがって、部品パラメータの複数の組から直ちに、シミュレーションパラメータの複数の組を得ることができる。そして、設計支援装置は、得られたシミュレーションパラメータの複数の組によって、回路シミュレーションを実行する。この第4の写像関係にしたがって、部品パラメータの複数の組から、シミュレーションパラメータの複数の組を得る処理が、変換工程にも相当する。
【0103】
さらに、設計支援装置は、すでに対象グループとされたグループ以外のグループを選択し、SS4とSS5の工程を繰り返し実行する。このようにして、対象グループを順次変更して回路シミュレーションを実行する。このような手順により、回路内のトランジスタのレイアウトの組み合わせの極端な増加を抑制した上で、レイアウトパターン情報1の組み合わせに対するシミュレーションを実行できる。もちろん必要な部品パラメータの組み合わせを予めすべて設定し、SS5のシミュレーションをまとめて実行しても構わない。SS5からSS3に戻して、選択された対象グループの数だけ繰り返し実行する工程が制御工程に相当する。シミュレーションの結果、多数のトランジスタを含む回路の電流電圧特性、消費電力、遅延時間等が算出される。
【0104】
図11に、複数のトランジスタからなる複数グループを構成する手順(図10のSS1)の詳細を例示する。この処理では、設計支援装置は、ネットリストから、電源を順次探索する(SS11)。そして、設計支援装置は、ネットリストのすべての電源を処理した否かを判定する(SS12)。
【0105】
そして、まだ、未処理の電源がある場合、設計支援装置は、未処理の電源について、ネットリストにて、その電源(以下、開始点の電源という)からアースに至るまでのトランジスタのパスを探索し、その素子名を記録する(SS13)。ここで、トランジスタのパスは、ソースとドレインで接続され、トランジスタがオン状態のときに、電流が流れるパスである。このパスを電流パスという。また、このトランジスタは、電流パスにおいて、駆動部となるトランジスタである。
【0106】
次に、設計支援装置は、ネットリストにて、電流パスから分岐した電流パスを探索する(SS14)。ここで、分岐した電流パスとは、電流パスの分岐点からアース、開始点の電源以外の他の電源、および現在のパス上の他の分岐点のうちのいずれかに至るトランジ
スタのパスをいう。また、分岐した電流パスには、一旦分岐点から分岐し、1以上のトランジスタのドレインおよびドレインを通り、元の電流パス上の分岐点以外の点に戻るパスも含まれる。このような電流パスも、ソースとドレインで接続され、トランジスタがオン状態のときに、電流が流れるパスである。
【0107】
次に、設計支援装置は、パスからの分岐を探索し、その分岐にゲートが接続されたトランジスタを探索し、パスに追加する(SS15)。このゲートが接続されたトランジスタは、電流パスにおいて、負荷となるトランジスタである。
【0108】
次に、現在探索中の電流パスと、すでに探索され、記録済み電流パスとで、駆動部となるトランジスタを共通に含む電流パスが存在するか否かを判定する(SS16)。駆動部となるトランジスタを共通に含む電流パスがすでに、記録済みの場合、現在探索中のパスとその記録済みのパスとを合成し、トランジスタのグループとする(SS17)。
【0109】
一方、駆動部となるトランジスタを共通に含む電流パスが存在しない場合、現在探索中のパスに含まれるトランジスタを新たに探索されたグループとして記録する(SS18)。その後、設計支援装置は、制御をSS11に戻す。そして、すべての電源に対する処理が終了すると、設計支援装置は、複数トランジスタからなる複数グループを構成する処理を終了する。
【0110】
(モデル生成部)
モデル作成部の処理では、設計支援装置は、部品パラメータを変数とし、シミュレーションで得られた回路の遅延時間、スタンバイ消費電力、トータル消費電力、リーク電流等の回路特性を関数値とする多項式(第1の写像関係)が重回帰分析によって求められる。この処理は、シミュレーションパラメータモデル化部での処理(シミュレーションパラメータからトランジスタ特性値への写像関係の多項式を求める処理、あるいは、トランジスタ特性値からシミュレーションパラメータへの写像関係の多項式を求める処理)と同様である。
【0111】
ただし、この場合に、それぞれのグループに固有のトランジスタの部品パラメータについては、パラメータ間の交互作用を含む多項式で表す。一方、複数グループに共通していないトランジスタのパラメータについては、他のトランジスタとの交互作用を含めない多項式となる。
【0112】
以下に生成された特性値の式の例を示す。ここでは、トランジスタT1、T2、およびT3が1つのグループに含まれる場合を仮定する。また、トランジスタT4、T5、およびT6が他の1つのグループに含まれる場合を仮定する。また、トランジスタT1のゲート長をLgT1,ゲート幅をWgT1の変数で表す。他のトランジスタT2−T6についても同様
である。
(数5)
回路特性=F1(LgT1,LgT2,LgT3,WgT1,WgT2,WgT3)
+F2(LgT4,LgT5,LgT6,WgT4,WgT5,WgT6)+・・・
F1=Σaijklmn(LgT1)i×(LgT2)j×(LgT3)k×(WgT1)l×(WgT2)m×(WgT3)n
ここで、i,j,k,l,m,nは0から最大次数までの整数である。また、aijkは、重回帰分析
によって決定される係数である。したがって、数5の回路特性で示される項の和F1には、トランジスタT1、T2、およびT3のグループに含まれるそれぞれのゲート長およびゲート幅に対応する部品パラメータの変数の積の項が存在する。同様に、項の和F2には、トランジスタT4、T5、およびT6のグループに含まれるそれぞれのゲート長およびゲート幅に対応する部品パラメータの変数の積の項が存在する。
【0113】
なお、数5では、6つの変数の積を含む項を例示したが、項に含まれる変数の種類は、6つに限定されるわけではない。また、数5で、例えば、k=l=m=n=0の場合には、当然に、2つの変数のLgT1とLgT2を含む項を表すことになる。
【0114】
一方、上記数5の回路特性には、共通のトランジスタが存在しない異なるグループに属する2以上のトランジスタ、例えば、トランジスタT1とT4の部品パラメータに対応する変数の積は、存在しない。
【0115】
この理由は以下の通りである。すなわち、本設計支援装置のトランジスタの部品パラメータのすべての組み合わせを考慮せず、局所的な信号の遅延を律速している部分のトランジスタの組み合わせついて、部品パラメータを変更してシミュレーション部によるシミュレーションを実行している。したがって、得られたシミュレーション結果(回路特性)も、一つのグループを構成するトランジスタ群について、それぞれのトランジスタ群の部品パラメータの複数の組み合わせに基づくものとなる。その結果、特定のグループのトランジスタ群の部品パラメータの組み合わせについて、他のグループのトランジスタ群の部品パラメータは、固定値となる。したがって、複数グループ間での部品パラメータの組み合わせは1通りとなり、シミュレーションの結果である回路特性は1通りに限定される。
【0116】
例えば、上記で、トランジスタT1と、T2については、それぞれ一方の部品パラメータだけを変更した組み合わせだけがシミュレーションされる。したがって、シミュレーション結果として得られるサンプル数は、同一のグループのトランジスタ群の部品パラメータを変化させたものに比べて、複数グループ間での部品パラメータの組み合わせに対するものは極めて少なくなる。したがって、このような複数グループ間での部品パラメータの変数の積の項では、係数を最初から0に設定した方が、誤差が少ない。
【0117】
また、物理的には、異なるグループのトランジスタ同士は、駆動部と負荷で構成される部分回路に含まれないため、互いに干渉することが少ないと考えられる。このため、このような部品パラメータと、得られた回路特性との重回帰分析を実行した場合、複数グループ間に跨る部品パラメータの組み合わせに相当する変数の積の項では、係数の値は、ほぼ0となる。したがって、重回帰分析によって得られる多項式は、数5のように、同一のグループに属し、多数の組み合わせに対してシミュレーションが実行された複数のトランジスタの部品パラメータの積の係数だけが有意な値をとることが予想される。このため、すべての項の係数を網羅的に求めるよりも、複数グループ間に跨る部品パラメータの組み合わせに相当する変数の積の項について、係数を0に設定した方が正確な値を効率的に求めることができる。
【0118】
(テーブル作成部)
テーブル作成部では、本設計支援装置は、部品パラメータの組み合わせを設定して、多項式の値(特性値)を求める。そして、得られた変数値と特性値との組み合わせをテーブル化する。テーブルは、それぞれのトランジスタの部品パラメータと、その部品パラメータから得られる回路特性の組として得られる。
【0119】
そして、本設計支援装置は、所定の制限事項に基づいて、テーブルの一部をスクリーニングする。すなわち、その制限事項を充足するテーブルのレコードをだけを選別、そのレコードに含まれる変数の値を保持する。ここで、所定の制限事項とは、例えば、設計ルールから制限すべき部品パラメータの制限事項である。制限事項としては、図4に示したレイアウトパターン情報1、あるいは、図1に示した設計特性情報の制限値等である。
【0120】
(最適回路抽出部)
最適回路抽出部では、設計支援装置は、求めた回路特性が、設計目標値を満足している
か否かを判定する。そして、回路特性が設計目標値を達成している場合には、その回路特性に対応する部品パラメータをユーザに提示する。ユーザは、設計目標値を達成する部品パラメータ、レイアウト、あるいは、設計上の物理特性を提示され、設計を進めることができる。
【0121】
さらに、このような設計結果により得られるゲート長、ゲート幅、しきい値電圧、移動度等を反映した半導体回路のレイアウトを作成し、フォトマスクを作成し、半導体回路の製造工程の製造パラメータを決定する。そして、その製造パラメータにしたがって、露光、現像、エッチング、不純物注入、熱処理、酸化膜形成、金属膜形成、平坦化、保護膜形成等の製造工程を経て、半導体回路を製造する。
【0122】
<半導体装置の製造工程>
図22に、本実施形態の設計支援装置にてレイアウトおよびネットリストを基に半導体装置の設計データを作成し、半導体装置を製造する製造工程(図1のS106の詳細)を示す。上記設計支援装置での処理は、例えば、半導体装置に組み込まれるマクロデータ、あるいは、セルデータの設計支援に有効である。すなわち、本設計支援装置によれば、マクロデータ、あるいは、セルデータが、設計目標の性能を達成する条件下で、マクロデータ、あるいは、セルデータ中のトランジスタのゲート長、ゲート幅等が最適化される。
【0123】
次に、そのようにして、最適化されたマクロデータ、あるいは、セルデータを基に、半導体装置全体のデータが設計される。そして、半導体装置の設計データの各層のデータから、マスクデータが生成される(M1)。マスクデータとは、マスク製造装置の入力データ形式のデータをいう。マスクデータは、マスクデータ作成用のコンピュータプログラムを実行するコンピュータの処理により作成される。
【0124】
次に、マスク製造装置は、電子ビーム、レーザ等を利用し、透明なガラス基板上に、クロム等の遮光材料によってパターンを形成する(M2)。すなわち、遮光材料で被覆されたガラス基板に、レジストを塗布し、電子ビーム、レーザ等で設計データに対応するパターンを露光する。そして、現像、エッチングの工程を経て、ガラス基板上に転写パターンが生成される。したがって、本実施形態の設計によって確定された寸法で、各層のマスク上にパターンが形成される。例えば、本設計支援装置の処理で確定したゲート長、ゲート幅等を基に、ゲート層のマスクパターンが形成される。
【0125】
そして、半導体基板上に、マスクパターンを転写することによって、設計データにしたがった半導体素子、例えば、トランジスタのパターンが形成される(M3)。トランジスタは、半導体基板上へのレジスト塗布工程、転写装置(ステッパ等)によるマスクパターンのフォトレジストへの転写工程(フォトリソグラフィ工程ともいう)、フォトレジストの現像工程、不純物ドーピング工程、絶縁膜形成(窒化膜、酸化膜形成)、エッチング工程、多結晶シリコン膜形成等を繰り返すことで形成される。
【0126】
不純物注入ドーピング工程では、通常、イオン打ち込み装置によるイオン注入が適用される。ただし、気相拡散、熱処理による固相拡散を適用してもよい。
【0127】
窒化膜としては、例えば、窒化シリコン膜(Si3N4)が形成される。窒化膜は、例えば
、直接熱窒化法、CVD(Chemical Vapor Deposition)技術による堆積法等が利用可能
である。また、直接熱窒化法としては、RTN(Rapid Thermal Nitridation)が適用可
能である。酸化膜としては、酸化シリコン(SiO2)、酸化タンタル(Ta2O5)、酸化アル
ミニウム(Al2O3)、チタン酸ストロンチウム膜等が形成される。酸化膜形成は、熱酸化
法、陽極酸化法、プラズマ酸化法、CVD技術を利用した堆積法、ヘトロエピタキシャル成長法、張り合わせ法、イオン注入によるSIMOX(Separation by Implanted Oxygen
)法などの適用が可能である。
【0128】
また、エッチング工程では、ドライエッチング装置、あるいは、ウェットエッチング装置が使用され、半導体基板表面の材料が除去される。例えば、ゲート電極は、レジストで被覆された部分が残され、レジストで被覆されていない部分の多結晶シリコンが除去されて形成される。
【0129】
ここで、本設計支援装置で確定したゲート長、ゲート幅等を目標値としてゲートパターンが、マスクパターンの転写によって半導体基板に形成される。その場合、ゲート酸化膜上に形成された多結晶シリコン膜上に、フォトレジストを塗布し、マスク上のゲートパターンを転写、現像、エッチング工程を経て、半導体基板上のゲートパターンが形成される。さらに、酸化膜生成とエッチングにより、ゲートパターンのサイドウォールが形成される。さらに、フォトリソグラフィと不純物注入より、P型トランジスタへの不純物注入、N型トランジスタへの不純物注入が行われ、ソースとドレインが形成される。半導体装置の特性は、半導体装置に含まれるトランジスタ、特に、ゲート長とゲート幅の影響を大きく受ける。したがって、本実施形態の製造方法により、例えば、適切なゲート長とゲート幅を設定することにょり、目標性能を満足した上で、半導体装置の製造工程上無理のないゲート長とゲート幅にて、半導体装置を製造できることになる。その結果、例えば、プロセス条件上の余裕が生じ、歩留まり向上の効果も見込むことができる。なお、本実施形態の製造方法によれば、ゲート長とゲート幅に限られず、図4に例示した様々なレイアウトパラメータとして適切な値を設定できるのはいうまでもない。
【0130】
その後、トランジスタの上層に絶縁膜、コンタクトホール(プラグ層)、1以上の配線層が作成される(M4)。この工程においても、絶縁膜形成、金属膜形成、マスクパターンの転写、エッチング等の工程が繰り返される。
【0131】
さらに、保護膜およびパットが形成される(M5)。そして、ダイシング、ボンディング、およびパッケージ封止工程(M6)を経て、半導体装置が製造される。
【0132】
以上述べたように、本実施形態の設計支援装置による設計工程(図1のS101−S105)を経て、適切な寸法に設定された設計データに基づき、マスクが形成される。そして、そのマスク上のパターンを半導体基板に転写することにより、目標性能を適切な条件で達成するトランジスタが形成され、半導体装置が製造される。
【0133】
<実施例>
図12は、回路内の全トランジスタから選択した複数トランジスタからなる複数グループを構成する工程を例示する図である。ここでは、2入力AND回路を例に処理を説明する。電源にソースまたはドレインが接続されるPチャネルトランジスタ、Nチャネルトランジスタ、およびそれらのトランジスタにさらにソースまたはドレインが接続されるトランジスタを検索する。図12では、そのようにして検索されたトランジスタをオン状態にしたときに電源ラインから接地ラインに直列に接続される電流パス、およびそれらの電流パスから分岐したパスが実線で示されている。ここで、分岐したパスとは、トランジスタの両端(ソースとドレイン)が、その電流パスに接続されている電流パスをいい、分岐されるパスに対して並列の関係で接続される電流パスである。
【0134】
本設計支援装置は、このような電流パスを構成するトランジスタTr1,Tr2,Tr3,Tr4を同じグループにまとめる。具体的には、図12において、Tr1,Tr3,Tr4 を順にONにすると電源から接地に向かって電流パスが形成され、この電流パス
を構成するTrをグループ化する。トランジスタの両端(a点とb点)が電流パスに接続
されている(Tr1に対して並列に接続されている)Tr2 をグループに加える。さら
にこの電流パスにゲートが接続されているトランジスタTr5,Tr6も同じグループに加える。
【0135】
図12では、電流パスからゲートへの接続は、点線で示されている。このようにして、局所的な信号遅延を律速している部分回路を構成するトランジスタをまとめてグループ化することができる。
【0136】
図13Aは、インバータとEXOR(排他論理和)の組み合わせ回路の例である。図13Bに、図13Aの回路をトランジスタの組み合わせで実現した回路構成例を示す。図14から図16により、グループ化する工程の処理例を説明する。電源Vdd(a)に接続する電流パス上にはTr1,Tr2,Tr9,Tr10,Tr4が接続されている。電源Vdd(b)に接続する電流パス上にはTr3,Tr4,Tr10,Tr9,Tr2が接続されている。Tr4,Tr9,Tr10が共通であるため、2つの電源Vdd(a)とVdd(b)とにそれぞれ接続される2つのトランジスタ群について、一つの電流パス(図14の太い実線)が定義できる。そして、このパスを構成するTr1,Tr2,Tr9,Tr10,Tr3,Tr4をまとめて一つのグループとする。さらにこの電流パスにゲートが接続されている(図14の太い点線)トランジスタTr7,Tr8を同一グループに加える。このようにして、Tr1,Tr2,Tr9,Tr10,Tr3,Tr4,Tr7,Tr8の8個のTrをグループ(a)/(b)とする。
【0137】
同様に電源Vdd(c)に接続されるグループ(c)には、Tr5,Tr6,Tr7,Tr8,Tr9,Tr10の6個のTrがまとめられる(図15)。
【0138】
同様に電源Vdd(d)に接続されるグループ(d)には、Tr11,Tr12,Tr13,Tr14の4個のTrがまとめられる(図16)。また、同様に電源Vdd(e)に接続されるグループ(e)には、Tr13,Tr14の2個のTrがまとめられる(図16)。以上から、図13Bの回路は、以下のようにそれぞれの電源のグループにグループ分けされる。
【0139】
Vdd(a)(b):Tr1,Tr2,Tr9,Tr10,Tr3,Tr4
Vdd(c):Tr5,Tr6,Tr7,Tr8,Tr9,Tr10
Vdd(d):Tr11,Tr12,Tr13,Tr14
Vdd(e):Tr13,Tr14
Tr9,Tr10は、グループVdd(a)(b)と、グループVdd(c)に共通に含まれる。しかし、駆動部として含まれるトランジスタと、負荷として含まれるトランジスタが共通の場合であっても、グループをまとめることはしない。
【0140】
図17A、図17BはインバータとNANDを組み合わせた別の回路の例である。図18は、図17Bの回路でトランジスタをグループ分けした結果である。この場合のグループは、以下の通りである。図18では、トランジスタの近傍にグループを示す記号(丸、三角、四角等)が付されている。
【0141】
Vdd(a):Tr1,Tr2,Tr5,Tr4
Vdd(b/c):Tr5,Tr3,Tr4,Tr6,Tr7,Tr8,Tr9,Tr10
Vdd(d):Tr7,Tr8
Vdd(e):Tr9,Tr10,Tr11,Tr12
Vdd(f):Tr11,Tr12
この例では、Tr4とTr5とは、電源Vdd(a)のグループと、電源Vdd(b/c)のグループの両方に含まれる。また、Tr7とTr8とは、Vdd(b/c)のグル
ープと、電源Vdd(d)のグループに含まれる。また、Tr9とTr10とは、Vdd(b/c)のグループと、電源Vdd(e)のグループに含まれる。また、Tr11とTr12とは、電源Vdd(e)のグループと、電源Vdd(f)のグループの両方に含まれる。この例では、複数のグループに共通なTrが存在する。なお、ここで、複数のグループに含まれるトランジスタは、一方にグループについては、ソースとドレインが電流パスに接続される回路駆動用のトランジスタとして含まれている。また、他方のグループには、ゲートが電流パスに含まれる回路の負荷として含まれている。
【0142】
<効果>
次に、本設計支援装置により、グループ毎にレイアウトの組み合わせを設定することによる効果を説明する。例えば、部品パラメータをゲート長とゲート幅の2つとし、その水準を3とする。すなわちTr1のゲート長については、Lg1a,Lg1b,Lg1c、ゲート幅についてはW1a,W1b,W1cというパラメータが設定される。
【0143】
同様にTr2についても、Lg2a,Lg2b,Lg2c、ゲート幅についてはW2a,W2b,W2c・・・・のように設定される。Tr毎のパラメータの組み合わせを総当りで設定すると、Lg1a/ W1a,Lg1a/W1b,Lg1a/W1c,Lg1b/W1a,Lg1b/W1b,Lg1b/W1c,Lg1c/W1a,Lg1c/W1b,Lg1c/W1cという9通りの組み合わせになる。図18のグループ(b/c)には、8個のTrがあるので、グループ内でのパラメータの組み合わせは、98通りになる。
【0144】
実験計画法、あるいは直交割付表を用いてTr毎の組み合わせの数を合理的に減らすことが可能である。例えば、Lg1a/W1a,Lg1a/W1c,Lg1b/W1b,Lg1c/W1a,Lg1c/W1cというように5通りに減らすことも可能である。図19のグループ1に、1つのトランジスタについて、ゲート長とゲート幅を3水準で組み合わせたときのパラメータの組み合わせと、実験計画法、あるいは直交割付表を用いた合理的組み合わせの概念を例示する。すなわち、ゲート長とゲート幅の値をそれぞれ上、中、下の3水準で示した場合、9通りの組み合わせ中から、(ゲート長,ゲート幅)=(上,上)(中,中)(下,下)(上,下)(下,上)の5通りの組み合わせを選択する。
【0145】
図18のグループ(b)の場合は、グループ内でのパラメータの組み合わせの数は58
通りになる。同様に図18のグループ(a)の組み合わせ数は54通り、グループ(e)
の組み合わせ数は54通りとなる。もちろん、ゲート長やゲート幅という部品パラメータ
以外にTrの閾値(Vth)等のトランジスタ特性を表す別のパラメータをトランジスタ毎のパラメータの組み合わせの中に組み込んでも構わない。パラメータ数が多くなった場合には、実験計画法、あるいは直交割付表を使うことでより効率的な組み合わせを作ることが可能である。例えば、ゲート長、ゲート幅、トランジスタの閾値(Vth)の3パラメータで3水準に振るケースでは、総当りの組み合わせ数が27通りに対して、13通りの組み合わせで十分である。この場合には、ゲート長、ゲート幅、トランジスタの閾値(Vth)の3次元のパラメータに対して、図19と同様の組み合わせを求めることになる。
【0146】
例えば、ゲート長、ゲート幅、トランジスタの閾値をそれぞれ、X軸、Y軸、およびZ軸方向の変数として、上中下の3水準の組み合わせを想定する。この場合、すべても組み合わせを考慮すると、3次元空間中の27個の格子点に相当する組み合わせ数が得られる。ここで、27個の格子点をすべて選択する代わりに、Z=下の場合、およびZ=上の場合に、(X,Y)について、(中,上)(中,下)(上,中)(下,中)の4点を選択する。また、Z=中について、(上,上)(上,下)(下,上)(下,下)(中,中)の5点を選択する。このような実験計画法の手順によって、組み合わせ数を13通りに削減できる。
【0147】
図19に、回路全体に対してパラメータを設定する手順を説明する。回路内のトランジスタに対し、すべてのパラメータの組み合わせを総当りで試行する場合、一つのトランジスタに対するパラメータの組み合わせ数に対して回路を構成するトランジスタ数のべき乗の組み合わせが存在する。
【0148】
本設計支援装置による回路レイアウトの最適化には、回路を構成するトランジスタのパラメータのすべての組み合わせを考慮する必要はなく、局所的な信号の遅延を律速している部分を考慮すればよい。すなわち、複数のグループのうち、一つのグループを構成するトランジスタ群についてのみ、そのレイアウトの組み合わせ依存の影響を考慮すればよい。したがって、グループ間に跨るレイアウトの組み合わせ依存は考慮しなくともよい。その結果、回路全体に対してレイアウトのパラメータを設定する工程で、選択したグループにおける部品パラメータの組み合わせを設定する際に、非選択グループのトランジスタのパラメータはある特定の値を設定すればよい。
【0149】
例えば、図19に示すように対象グループ(図19のグループ1)は5通りの値を設定する。一方、非選択グループ(図19のグループ2と3)は、中心値に設定するのが一般的である。このようにすると図13Bに示した回路例では、(a/b)(c)(d)および(e)の4つのグループに分かれ、それぞれ6個、4個、2個、および2個のトランジスタが含まれている。したがって、56+54+52+52=16300通り(数値を変更しました)の組み合わせをシミュレーションすればよいことがわかる。本設計支援装置の処理によらず回路内のすべてのトランジスタのレイアウトの組み合わせを行う場合は、514=7103515625通りの組み合わせとなり、本発明の効果が非常に大きいことがわかる。
【0150】
一般に、ある回路がn個のグループに分けられたとし、グループ内のトランジスタの数がmi個であったとする。トランジスタ毎の部品パラメータの組み合わせを5通りとする
とその回路の最適化に必要な部品パラメータの組み合わせの数は以下のように、各グループの組み合わせの数(5mi)の総和として計算され、爆発的に大きくならないことがわかる。
【0151】
n
Σ5mi
i=1
このように、回路規模が大きくなるとその効果が極めて大きなことは容易に推測できる。
【0152】
本設計支援装置によれば、レイアウトの組み合わせに対応する部品パラメータの複数の組み合わせによる複数のシミュレーション結果に基づき半導体集積回路の複数の特性を部品パラメータでモデル化する。さらに、複数の部品パラメータの組み合わせと回路特性をテーブル化し、その部品パラメータの複数の組み合わせから最適な組み合わせが選択される。最終的には、その部品パラメータの組み合わせに対応するトランジスタのレイアウトが選択されることになり、半導体集積回路のレイアウト最適化が支援される。
【0153】
このようなモデル化工程において、以下の制限を設けることが好ましい。すなわち、複数のシミュレーション結果に基づき、半導体集積回路の複数の特性を部品パラメータの多項式でモデル化する際に、各グループ内のトランジスタのパラメータについては交互作用(変数の積)を含む多項式で表し、共通のトランジスタが存在しない複数グループのトランジスタのパラメータについてはその交互作用を含めない多項式とする。
【0154】
この理由は以下である。すなわち、本設計支援装置による回路レイアウトの最適化には
、回路を構成するトランジスタのレイアウトのすべての組み合わせを考慮せず、局所的な信号の遅延を律速している部分だけを考慮する。すなわち、複数のグループのうち、一つのグループを構成するトランジスタ群についてのみ、そのレイアウトの組み合わせ依存の影響を考慮するため、複数のグループ間に跨る部品パラメータの組み合わせによるシミュレーションを行っていない。このため、たとえ、モデル化工程において、回路特性を表す多項式中に、複数のグループ間に跨る部品パラメータ相互の積を含む項を設けたとしても、有意なサンプル数が得られない。物理的には、グループ間のパラメータ値の組み合わせにおいて、そのパラメータ値を変更したことによる回路特性への影響が小さく、その係数の値は、重回帰分析によってほぼ0に近い値となると推定できるからである。
【0155】
<変形例>
上記実施形態では、レイアウトパターン情報1と、ネットリスト2とから、レイアウトパターン情報1が抽出され、回路シミュレーションが実行された。この場合のレイアウトパターン情報1は、実際のプロセス上の特性を反映していない、設計上の値である。しかし、実際の半導体プロセスで形成されるパターンの寸法は、設計上の寸法とは異なる場合がある。
【0156】
実際の値が標準値からずれるのは、例えば、半導体製造プロセスの特性によって、寸法が変動するからである。半導体製造プロセスの特性とは、露光、現像、エッチング、成膜、拡散、酸化等を行ったときの特性をいう。このような変動は、例えば、光近接効果、選択比、非等方性の程度、現像、エッチングの進行等が、パターン密度、あるいは、パターン寸法によって変動することによると考えられる。
【0157】
そこで、レイアウトパターン情報1からシミュレーションパラメータ4に変換する前に、プロセス上の変動を反映してネットリストを変更する処理を実行してもよい。図20に、その場合の処理を示す。ここでは、プロセス感度テーブル3にって、設計値であるネットリストから修正ネットリストが生成されている。
【0158】
プロセス感度テーブル3は、素子の周辺のレイアウトパターン情報1に応じた標準値から実際の値、すなわち、実ゲート酸化膜厚(Gox)、実ゲート長(Lg)、実ゲート幅(W)、実閾値電圧(Vth)、実移動度(μ)への変換規則を含む。ここで、実際の値とは、標準値による設計パターンにて半導体基板に回路を作成したときに、実際に形成される回路寸法という意味であり、経験値、実験値、あるいは、シミュレーション値である。
【0159】
このようなプロセス感度テーブルは、例えば、図4に示したレイアウトパターン情報1の部品パラメータを用いて記述される。図21に、この場合のプロセス感度テーブルの例を示す。プロセス感度テーブルは、部品パラメータに対する標準値と実際の値との対応関係を含む。すなわち、プロセス感度テーブルの各行は、ゲートピッチ、SB、SBOF、SBE等の値に対して、標準ゲート酸化膜厚と実ゲート酸化膜厚(Gox)、設計ゲート長と実ゲート長(Lg)、設計ゲート幅と実ゲート幅(W)、標準しきい値電圧と実しきい値電圧(Vth)、標準移動度と実移動度(μ)との対応関係を定義している。
【0160】
ネットリスト修正工程で作成される新しいネットリスト2Aには、このような実際の値の組み合わせが、多数登録される。このようなネットリスト2Aに対して、1実施形態と同様の処理を実行してもよい。
【0161】
<その他>
本実施形態は、さらに、以下の側面(付記という)も、開示する。
(付記1) コンピュータ上に実現される、模擬パラメータによってトランジスタの動作
を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法であって、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
半導体回路内に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の複数の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、複数の前記部品パラメータに対応する前記回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、複数の前記回路特性の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する半導体回路の設計方法。
(付記2) 前記変換工程は、
前記部品パラメータから、その部品パラメータにしたがって製造されたトランジスタの信号特性と他のトランジスタの信号特性とを識別するトランジスタ特性情報に変換する第1変換工程と、
前記トランジスタ特性情報から模擬パラメータに変換する第2変換工程と、を有する付記1に記載の半導体回路の設計方法。
(付記3) 前記部品パラメータを基に製造されたトランジスタから測定されたトランジスタ特性情報と、そのときの部品パラメータとの組み合わせによって、前記部品パラメータから前記トランジスタ特性情報への第2の写像関係を生成する工程と、 前記模擬パラメータに第一の値を設定してシミュレーションを実行することによって生成されたトランジスタの信号特性と、前記模擬パラメータに第一の値とは異なる第二の値を設定してシミュレーションを実行することによって生成されたトランジスタの信号特性とを識別するトランジスタ特性情報を、前記信号特性から抽出するトランジスタ特性情報抽出工程と、
前記模擬パラメータに複数の設定値を設定することによってそれぞれ得られた前記トランジスタ特性情報と前記設定値との組み合わせによって、前記トランジスタ特性情報から前記模擬パラメータへの第3の写像関係を決定する模擬パラメータ決定工程と、を含む付記2に記載の半導体回路の設計方法。
(付記4) 前記第2の写像関係に、第3の写像関係を適用することによって前記部品パラメータから前記模擬パラメータへの第4の写像関係を得る工程と、を含む付記3に記載の半導体回路の設計方法。
(付記5) 部品パラメータには、ゲート長、およびゲート幅が含まれる付記1から4のいずれかに記載の半導体回路の設計方法。
(付記6) 前記信号特性は、トランジスタの一の端子に入力される電流または電圧と、その端子と同一の端子またはそのトランジスタの他の端子にて測定される電流または電圧との関係を示す曲線の特性であり、前記トランジスタ特性情報は、その曲線上の特定の点
の信号値、曲線の接線の傾き、および前記接線といずれかの座標軸との交点の1以上によって決定される付記1から5のいずれかに記載の半導体回路の設計方法。
(付記7) 前記グループ構成工程は、半導体回路内において局所的な信号の遅延を律速している部分毎にグループを構成する付記1から6のいずれかに記載の半導体回路の設計方法。
(付記8) 前記局所的な信号の遅延を律速している部分は、半導体回路内において負荷に信号を供給する駆動部となるトランジスタと、前記駆動部からの信号によって駆動される負荷となるトランジスタとを含む、付記7に記載の半導体回路の設計方法。
(付記9) 前記グループ構成工程は、半導体回路に電力を供給する電源から接地電位に至る経路に直列に接続されるトランジスタと経路上の2点間に並列に接続されるトランジスタと前記経路にゲートが接続されているトランジスタとを前記選択グループとする付記1から8のいずれかに記載の半導体回路の設計方法。
(付記10) 前記グループ構成工程は、経路に直列または並列に接続されているいずれかのトランジスタが共通に含まれる複数グループを同一のグループとする付記9に記載の半導体回路の設計方法。
(付記11) 前記モデル化工程は、複数のシミュレーション結果に基づき、半導体回路の複数の回路特性を部品パラメータでモデル化する際に、前記部品パラメータを変数とする多項式によって前記回路特性を近似する付記1から10のいずれかに記載の半導体回路の設計方法。
(付記12) 前記多項式は、各グループ内のトランジスタの部品パラメータの変数については異なる変数の積を含み、異なるグループ間の部品パラメータの変数についてはグループ間の変数の積を含まない付記11に記載の半導体回路の設計方法。
(付記13) 前記回路特性は、複数の入力変化の組み合わせによる複数の出力変化の遅延時間、その遅延時間ばらつき、または、複数の入力状態におけるスタンバイ消費電力である付記1から12のいずれかに記載の半導体回路の設計方法。
(付記14) 前記制限条項は、ゲート長、ゲート幅、ゲート・ゲート間スペース、ゲート・コンタクト間スペースの少なくとも1つに対するデザインルール、および回路面積を指標とする制限条項を含む付記1から13のいずれかに記載の半導体回路の設計方法。
(付記15) 前記部品パラメータの少なくとも1つは、基準値と基準値からの偏差とを含み、前記変数は、前記偏差の変数であり、前記回路特性は基準値からの偏差によって定義される付記1から14のいずれかに記載の半導体回路の設計方法。
(付記16) 半導体回路の設計支援工程を含む半導体回路の製造方法であって、
前記半導体回路の設計支援工程は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いて、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求
めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得ることによって半導体回路の設計データを得る工程と、を実行する半導体回路の設計支援工程であり、さらに、
半導体回路の設計支援工程で得られた半導体回路の設計データに基づいて、フォトマスクを製造する工程と、
前記フォトマスクを用いて半導体回路を製造する工程と、を含む半導体回路の製造方法。
【図面の簡単な説明】
【0162】
【図1】半導体製造工程の概要を例示する図である。
【図2】設計支援装置の機能ブロックを例示する図である。
【図3】レイアウト解析部の概要を示す図である。
【図4】部品パラメータの例を示す図である。
【図5】回路特性シミュレーションに基づいて、トランジスタ特性値をシミュレーションパラメータでモデル化する第1工程を示す図である。
【図6】トランジスタ特性値の例を示す図である。
【図7】トランジスタ特性値とシミュレーションパラメータとをモデル化する処理を例示するフローチャートである。
【図8】ゲート電圧を所定値に固定したときのドレイン電圧に対するドレイン電流を求める処理を例示するフローチャートである。
【図9】閾値の抽出工程を例示する図である。
【図10】シミュレーション部の処理を例示する図である。
【図11】複数のトランジスタからなる複数グループを構成する手順の詳細を例示する図である。
【図12】回路内の全トランジスタから選択した複数トランジスタからなる複数グループを構成する工程を例示する図である。
【図13A】インバータとEXOR(排他論理和)の組み合わせ回路の例である。
【図13B】図13Aの回路をトランジスタの組み合わせで実現した回路構成例を示す図である。
【図14】グループ化する工程の処理例である。
【図15】グループ化する工程の処理例である。
【図16】グループ化する工程の処理例である。
【図17A】インバータとNANDを組み合わせた回路の例である。
【図17B】図17Aの回路をトランジスタの組み合わせで実現した回路構成例を示す図である。
【図18】トランジスタをグループ分けした結果である。
【図19】回路全体に対してパラメータを設定する手順を説明する図である。
【図20】変形例の処理を例示する図である。
【図21】プロセス感度テーブルの例を示す図である。
【図22】半導体装置の製造工程を例示する図である。
【符号の説明】
【0163】
1 レイアウトパターン情報
2 ネットリスト
3 プロセス感度テーブル
4 シミュレーションパラメータ
11 Si活性層
12 ゲート
【特許請求の範囲】
【請求項1】
コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法であって、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する半導体回路の設計方法。
【請求項2】
前記グループ構成工程は、半導体回路内において局所的な信号の遅延を律速している部分毎にグループを構成する請求項1に記載の半導体回路の設計方法。
【請求項3】
前記局所的な信号の遅延を律速している部分は、半導体回路内において負荷に信号を供給する駆動部となるトランジスタと、前記駆動部からの信号によって駆動される負荷となるトランジスタとを含む、請求項2に記載の半導体回路の設計方法。
【請求項4】
前記グループ構成工程は、前記半導体回路に電力を供給する電源から接地電位に至る経路に直列に接続されるトランジスタと前記経路上の2点間に並列に接続されるトランジスタと前記経路にゲートが接続されているトランジスタとを前記選択グループとする請求項1から3のいずれかに記載の半導体回路の設計方法。
【請求項5】
前記グループ構成工程は、前記経路に直列または並列に接続されているいずれかのトランジスタが共通に含まれる複数グループを同一のグループとする請求項4に記載の半導体回路の設計方法。
【請求項6】
前記第1の写像関係は前記部品パラメータを変数とする多項式近似によって定義される請求項1から5のいずれかに記載の半導体回路の設計方法。
【請求項7】
前記多項式は、各グループ内のトランジスタの部品パラメータの変数については異なる変数の積を含み、異なるグループ間の部品パラメータの変数についてはグループ間の変数
の積を含まない請求項6に記載の半導体回路の設計方法。
【請求項8】
半導体回路の設計支援工程を含む半導体回路の製造方法であって、
前記半導体回路の設計支援工程は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いて、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得ることによって半導体回路の設計データを得る工程と、を実行する半導体回路の設計支援工程であり、さらに、
半導体回路の設計支援工程で得られた半導体回路の設計データに基づいて、フォトマスクを製造する工程と、
前記フォトマスクを用いて半導体回路を製造する工程と、を含む半導体回路の製造方法。
【請求項1】
コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いた半導体回路の設計方法であって、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得る工程と、を実行する半導体回路の設計方法。
【請求項2】
前記グループ構成工程は、半導体回路内において局所的な信号の遅延を律速している部分毎にグループを構成する請求項1に記載の半導体回路の設計方法。
【請求項3】
前記局所的な信号の遅延を律速している部分は、半導体回路内において負荷に信号を供給する駆動部となるトランジスタと、前記駆動部からの信号によって駆動される負荷となるトランジスタとを含む、請求項2に記載の半導体回路の設計方法。
【請求項4】
前記グループ構成工程は、前記半導体回路に電力を供給する電源から接地電位に至る経路に直列に接続されるトランジスタと前記経路上の2点間に並列に接続されるトランジスタと前記経路にゲートが接続されているトランジスタとを前記選択グループとする請求項1から3のいずれかに記載の半導体回路の設計方法。
【請求項5】
前記グループ構成工程は、前記経路に直列または並列に接続されているいずれかのトランジスタが共通に含まれる複数グループを同一のグループとする請求項4に記載の半導体回路の設計方法。
【請求項6】
前記第1の写像関係は前記部品パラメータを変数とする多項式近似によって定義される請求項1から5のいずれかに記載の半導体回路の設計方法。
【請求項7】
前記多項式は、各グループ内のトランジスタの部品パラメータの変数については異なる変数の積を含み、異なるグループ間の部品パラメータの変数についてはグループ間の変数
の積を含まない請求項6に記載の半導体回路の設計方法。
【請求項8】
半導体回路の設計支援工程を含む半導体回路の製造方法であって、
前記半導体回路の設計支援工程は、コンピュータ上に実現される、模擬パラメータによってトランジスタの動作を模擬し、前記トランジスタを含む半導体回路の回路特性を生成するシミュレーション部を用いて、前記コンピュータが、
半導体回路を構成する前記トランジスタの構成部品の設計図形パターンの寸法または前記トランジスタの設計上の物理特性から抽出される部品パラメータを前記シミュレーション部に入力される模擬パラメータに変換する変換工程と、
前記半導体回路に含まれる複数トランジスタを複数グループにグループ分けするグループ構成工程と、
前記複数グループからいずれかの選択グループを選択する工程と、
前記複数グループで前記選択グループ以外の非選択グループの部品パラメータとして固定のパラメータ値を設定する固定パラメータ設定工程と、
前記選択グループにおいて部品パラメータの値の組み合わせを設定し、前記変換工程を通じてシミュレーションを実行し、それぞれの部品パラメータの値の組み合わせに対する回路特性を得るシミュレーション工程と、
すでに選択グループに選択済みのグループとは別のグループを選択し、前記固定パラメータ設定工程から前記シミュレーション工程までを繰り返し実行する制御工程と、
前記部品パラメータの値の複数の組み合わせを基に実行された複数のシミュレーション結果に基づき半導体回路の回路特性と部品パラメータとの関係を示す第1の写像関係を求めるモデル化工程と、
前記第1の写像関係を用い、前記部品パラメータの値の複数の組み合わせに対応する複数の回路特性の値を算出する工程と、
前記回路特性の値、および前記部品パラメータを含む制限事項に基づき、前記回路特性の複数の値の一部を選択する選択工程と、
前記選択された回路特性の値に対応する部品パラメータ、その部品パラメータに対応する設計図形パターンまたはトランジスタの設計上の物理特性を得ることによって半導体回路の設計データを得る工程と、を実行する半導体回路の設計支援工程であり、さらに、
半導体回路の設計支援工程で得られた半導体回路の設計データに基づいて、フォトマスクを製造する工程と、
前記フォトマスクを用いて半導体回路を製造する工程と、を含む半導体回路の製造方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14】
【図15】
【図16】
【図17A】
【図17B】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2009−238163(P2009−238163A)
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願番号】特願2008−86738(P2008−86738)
【出願日】平成20年3月28日(2008.3.28)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
【公開日】平成21年10月15日(2009.10.15)
【国際特許分類】
【出願日】平成20年3月28日(2008.3.28)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]