(57)【要約】【課題】歩留り率等の値を改善させるのに効果的なツールを適切に選択する。【解決手段】Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、Ｎ種類の半導体チップのうち半導体チップｉの実パラメータ値と、各半導体チップｉについてのデータから算出されるパラメータ見積値との差ε（ｉ）を算出し、各半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各ツールｊの影響度Ｘtool（ｊ）を算出し、影響度Ｘtool（ｊ）が最も大きいツールｊを特定する。【選択図】図１２
2011081753.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出するステップと、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定するステップと、
をコンピュータに実行させるためのツール特定プログラム。
【請求項２】
前記ツールからの出力が、修正後のレイアウトデータであり、
前記係数生成ステップが、
前記Ｎ種類の半導体チップのレイアウトデータを格納するレイアウトデータ格納部に格納されている前記半導体チップｉのレイアウトデータと、前記半導体チップｉに対する前記ツールｊからの前記修正後のレイアウトデータとの差分面積を用いて前記係数Ａtool（ｊ，ｉ）を算出するステップ
を含む請求項１記載のツール特定プログラム。
【請求項３】
前記ツールからの出力が、前記半導体チップについての所定の物理量の見積り値又は改善値を含む
請求項１記載のツール特定プログラム。
【請求項４】
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出するステップと、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定するステップと、
を含み、コンピュータに実行されるツール特定方法。
【請求項５】
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成部と、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出する影響度算出処理部と、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定する出力部と、
を有するツール特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、半導体チップの設計支援技術に関する。
【背景技術】
【０００２】
例えば歩留り、消費電力、遅延時間などのパラメータについてある値を想定して設計を行った上で、当該設計に従って実際の製品が製造される。しかしながら、実際の製品について上記パラメータの値を測定してみると、上記想定値を実現できていない場合がある。
【０００３】
このような事態を避けるため、例えば以下のような手法が採用されている。すなわち、製造前に、設計の改善を行うための各種ツールを設計データに対して適用する。そして、図１に示すように、適用後の設計データ（ここではレイアウトデータ）についてモデル上で上記パラメータの値を計算して、上記パラメータの値の改善度合いを各ツールについて比較し、適切と思われるツールを採用する。例えば、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）をモデルとして用いて、消費電力、遅延などのパラメータを算出する。また、他のモデルを用いて、レイアウトデータに対する歩留り等も計算できる。このようなモデルは、通常製造結果とできるだけ一致するように作られているが、計算時間の都合上、無視される要因があるため、完全に一致させることは難しいという側面を有する。
【０００４】
しかしながら、モデルと製造結果の誤差が問題ないほど小さい場合にはよいが、誤差が大きくなると上記のような手法は採用できない。また、最近の微細加工の進展により、製造結果のばらつきが大きくなっており、モデルの誤差が問題となるケースが増大しており、上記の手法が意味をなさない場合が増えている。
【０００５】
また、よく知られているモデル上で効果を計ることができるようなツールについては、既によく検討されており、他社との差別化においては、大きな意味がないという問題もある。
【０００６】
一方、以下に示すようなモデル誤差解析技術も存在している。具体的には、（１）複数の半導体チップに対して、設計時におけるパラメータの見積値Ｔdesignと、製造後の実測値Ｔproductとを用意する。そうすると、チップＮ（又は部分回路Ｎ）に対して、誤差ε（Ｎ）とすると、Ｔproduct（Ｎ）＝Ｔdesign（Ｎ）＋ε（Ｎ）が成り立つ。（２）また、誤差の原因になっていそうな要因（例えば、ノイズ、電圧降下など）の影響度を、Ｘ（１）、Ｘ（２）、Ｘ（３）．．．とする。（３）チップＮに対する要因Ｍの影響度ａ（Ｍ，Ｎ）を求める。（４）誤差ε（Ｎ）を、誤差の原因となっていそうな要因Ｍの影響度Ｘ（Ｍ）とチップＮに対する要因Ｍの影響度ａ（Ｍ，Ｎ）とを一次式で近似する。すなわち、以下のような式で表される。
ε（Ｎ）＝ａ（１，Ｎ）＊Ｘ（１）＋ａ（２，Ｎ）＊Ｘ（２）＋・・・
このような一次式近似では、変化は線形とみなして２次以上の項は無視している。さらに、複数の要因が重なり合うことによる影響も大きくないものとみなして、無視している。
【０００７】
そして、（５）上記式を満たすＸ（ｉ）を、例えばSupport Vector Machineなどの周知技術を用いて算出する。このようにして得られた影響度Ｘ（ｉ）が大きい場合には、当該影響が大きい要因ということが分かる。従って、（６）影響が大きい要因に対応するツールを選択して、当該ツールを適用してみる。
【０００８】
しかしながら、（６）で選択したツールにおいて実施される処理は、（３）の影響度ａ（Ｍ，Ｎ）の算出方法とは異なる場合が多いため、効果が出ない場合が多いという問題がある。特に、歩留り率のような問題の場合、上記のような問題が発生する場合が多い。
【０００９】
より具体的に、図２に示すように、第１のＦＦ（左端のFlip Flop）から第２のＦＦ（右端のＦＦ）までの信号伝播時間ｔについて解析することを考える。そうすると、第１のパスについて、設計時の伝播時間と製造後の伝播時間との差ε（１）＝５０ｐｓ、第２のパスについて、設計時の伝播時間と製造後の伝播時間との差ε（２）＝２０ｐｓ、第３のパスについて、設計時の伝播時間と製造後の伝播時間との差ε（３）＝４０ｐｓといったように算出する。
【００１０】
また、誤差の原因になっていそうな要因については、ライブラリの誤差、電圧降下、隣接配線からのノイズといったものを採用する。そして、それぞれの要因ＭによるパスＮに対する影響度ａ（Ｍ，Ｎ）を算出する。そして、各パスについてε（Ｎ）＝Σａ（Ｍ，Ｎ）＊Ｘ（Ｎ）の式を生成する。
パス１：５０ｐｓ＝0.1＊Ｘ（１）＋0.3＊Ｘ（２）＋0.05＊Ｘ（３）・・・
パス２：２０ｐｓ＝0.3＊Ｘ（１）＋0.01＊Ｘ（２）＋0.15＊Ｘ（３）・・・
パス３：４０ｐｓ＝0.01＊Ｘ（１）＋0.2＊Ｘ（２）＋0.1＊Ｘ（３）・・・
【００１１】
このような連立方程式を、上でも述べたようにSupport Vector Machineのような周知技術で解き、影響度Ｘ（Ｍ）を得る。そうすると、例えばＸ（１）＝５０、Ｘ（２）＝１０、Ｘ（３）＝２．．．といった結果が得られたものとする。そうすると、最も値の大きいＸ（１）の要因が最も影響を及ぼしていることが分かる。従って、Ｘ（１）の要因に注目してレイアウトの修正を行うツールを採用するものである。
【００１２】
上では、誤差の原因になっていそうな要因についての影響度ａ（Ｍ，Ｎ）を計算することができるという前提で説明したが、この計算を行うプログラムなどを作成するのは非常に手間がかかる。
【００１３】
また、例えば誤差の原因になっていそうな要因が、非冗長ビアであるとする。冗長ビアとは、図３（ａ）に示すように、下側の層の配線１００１と、上側の層の配線１００２とをつなぐためのビアが、ビア１００３及び１００４といったように二重化されているものである。これによって、１つのビアに不良が発生しても、冗長化されているので、もう一つのビアによって断線することを防止することができる。一方、図３（ｂ）に示すように、下側の層の配線１００１と、上側の層の配線１００２とをつなぐためのビアが、ビア１００５のみである非冗長ビアであれば、断線してしまう可能性が冗長ビアの場合に比して高くなる。このような非冗長ビアの数は、レイアウトデータを解析すれば正確に把握することができ、この非冗長ビアの数をａ（Ｍ，Ｎ）として用いても、特に問題はない。
【００１４】
しかしながら、このように非冗長ビアの数のようにその影響度を正確に把握できる要因は多くない。例えば、光近接効果（Optical Proximity Effect）によるホットスポットの数や、ＣＭＰ (Chemical Mechanical Planarization)による平坦度といったものについては、正確に計算することが困難である。すなわち、完全に計算機上で物理現象を再現するのは難しいので、無視する部分が生ずる。この無視する部分の選択は自由度が高いため、この要因に注目してレイアウトの修正を行うツールと、要因の影響度ａ（Ｍ，Ｎ）の計算処理とにおいて、無視する部分や計算の具体的なやり方を一致させることは困難である。特に、ツールについては、具体的にどのような手法や変数値を採用しているのかは不明である場合が多い。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Bastani, et.al, “Statistical Diagnosis of Unmodeled Systematic Timing Effects”, DAC’08
【非特許文献２】P. Bastani, K. Killpack et al., “Speedpath Prediction Based on Learning from a Small Set of Examples”, DAC ’08
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上で述べたように、従来技術では、歩留り率、消費電力、遅延時間などのパラメータの値を改善する上で、設計を改善する多数のツールのうちいずれを採用すべきかについて適切な方法が存在しなかった。
【００１７】
従って、本技術の目的は、歩留り率、消費電力、遅延時間などのパラメータの値を改善させるのに効果的なツールを適切に選択するための技術を提供することである。
【課題を解決するための手段】
【００１８】
本ツール特定方法は、Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている半導体チップｉの実パラメータ値と、Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各ツールｊの影響度Ｘtool（ｊ）を算出するステップと、影響度Ｘtool（ｊ）が最も大きいツールｊを特定するステップとを含む。
【発明の効果】
【００１９】
歩留り率、消費電力、遅延時間などのパラメータの値を改善させるのに効果的なツールを適切に選択できるようになる。
【図面の簡単な説明】
【００２０】
【図１】図１は、モデルを説明するための図である。
【図２】図２は、信号の伝播遅延を説明するための図である。
【図３】図３（ａ）は、冗長ビアを説明するための図であり、図３（ｂ）は、非冗長ビアを説明するための図である。
【図４】図４は、ＯＰＣ処理について説明するための図である。
【図５】図５は、ＯＰＣ処理について説明するための図である。
【図６】図６は、半導体チップの配線密度について説明するための図である。
【図７】図７は、ＣＭＰシミュレータについて説明するための図である。
【図８】図８は、ダミーメタル挿入パターンを説明するための図である。
【図９】図９は、クリティカルエリアを説明するための図である。
【図１０】図１０は、クリティカルエリアを説明するための図である。
【図１１】図１１は、クリティカルエリアを説明するための図である。
【図１２】図１２は、本技術の実施の形態の機能ブロック図である。
【図１３】図１３は、本実施の形態の処理フローを示す図である。
【図１４】図１４（ａ）乃至（ｃ）は、係数Ａtoolの計算例を示す図である。
【図１５】図１５は、誤差ε（Ｎ）の計算例を示す図である。
【図１６】図１６は、本実施の形態の処理フローのを示す図である。
【図１７】図１７は、コンピュータの機能ブロック図である。
【図１８】図１８は、ツール特定装置の機能ブロック図である。
【発明を実施するための形態】
【００２１】
［本技術の実施の形態における考え方］
本技術の実施の形態では、従来技術の欄で述べたε（Ｎ）＝Σａ（Ｍ，Ｎ）＊Ｘ（Ｎ）という形式の算式を採用する点と、当該算式の解であるＸ（Ｍ）のうち最大となるＸ（Ｍ）を特定する点とについては、そのまま採用する。
【００２２】
すなわち、半導体チップＮについて、注目するパラメータの実測値と所定のモデルに従って算出される見積値（モデル値とも呼ぶ）との差ε（Ｎ）は、同じである。一方、誤差の原因になっていそうな要因についての影響度Ｘ（Ｍ）を用いるのではなく、ツールの影響度を直接見積もることとする。すなわち、ツールの効果を表す数値を、Ｘtool（１）、Ｘtool（２）、．．．といったように用いる。また、半導体チップＮに対するツールＭの効果を現す係数をＡtool（Ｍ，Ｎ）とする。そして、Ａtool（Ｍ，Ｎ）を、ツールの出力を用いて算出するものとする。例えば、ツール入力前のレイアウトデータと、ツールから出力されたレイアウトデータとの差分の面積を算出して、Ａtool（Ｍ，Ｎ）として用いる。
【００２３】
そして、複数の半導体チップＮについてε（Ｎ）＝ΣＡtool（Ｍ，Ｎ）＊Ｘtool（Ｍ）を満たすＸtool（Ｍ）を算出し、その最大値Ｘtool（Ｍ）に係るツールが、改善したい半導体チップに大きな影響を与えるツールであり、効果的なツールとして特定する。
【００２４】
このようにツールの出力を用いて上記の算式の解を求めるので、ツールとａ（Ｍ，Ｎ）の計算方法の不一致から発生する問題を回避できるようになる。
【００２５】
［本実施の形態の前提］
Ａ．設計を改善するツール
１．ホットスポットについてのレイアウト修正ツール
露光に用いる光の波長より短い範囲では、光近接効果（ＯＰＥ）により、マスクパターンが変形して露光される。光近接効果補正（ＯＰＣ：Optical Proximity Correction）処理とは、予めこのような変形を予期してマスクを生成する処理である。例えば、図４の左に示すような形状を半導体チップ上に形成しようとして、ＯＰＣ処理なしでマスクを生成し、ステッパーで露光して、エッチングを行うと、図４の右に模式的に示すようにハッチング付きの変形した形状が形成されるようになる。これに対して、図５の左に示すように、図４と同じ形状を半導体チップ上に形成しようとする場合、ＯＰＣ処理を実施すると、図５中央の太実線で示すような形状の変形が行われる。図５中央の点線は図５左の形状を表している。そして、マスクを生成してステッパーで露光してエッチングするというプロセスを実施すると、図５右でハッチング付きの部分のような形状が形成される。図５右においてハッチング付きの部分の形状は、ほぼ図５左に示した形状と同じとなっている。
【００２６】
ＯＰＣ処理だけでは歩留り改善には十分ではなく、さらなる歩留り改善のためには、ＯＰＣ処理以上の処理を実施する必要がある。例えば、レイアウトによっては、ＯＰＣ処理では解決が難しいホットスポット（パターン不良箇所）ができてしまう。ホットスポットは、隣接する形状の相互関係から決まってくるが、このようなホットスポットを抽出してレイアウト修正を行うのは多大な作業量が必要となる。しかしながら、ホットスポットを抽出してレイアウトを修正するツールが既に提供されている。このようなホットスポットを抽出してレイアウトを修正するツールは、歩留り率というパラメータをターゲットとする場合には、選択肢の１つとなる。
【００２７】
２．半導体チップの平坦度についての処理ツール
多層配線を採用する場合、半導体チップ表面が平坦でないと結線不良を生じやすくなるため歩留り率が落ちる。そこで、通常はＣＭＰにより半導体チップの表面を平坦化する。ＣＭＰシミュレータは、図６に示すように、半導体チップのレイアウトデータから、当該半導体チップをメッシュに区切ってメッシュ要素毎に配線密度の分布を算出する。基本的には、配線密度が急激に変化する部分が存在すると歩留り率に影響が及ぶことになる。例えば図６で配線密度の数字が丸で囲まれている部分は、配線密度２０％のメッシュ要素と８０％のメッシュ要素が隣接しており、このような部分が問題となる。
【００２８】
ＣＭＰシミュレータは、様々な出力を行うことが想定されており、例えば図７に示すように、（１）平坦性指標の見積値を出力する場合、（２）平坦性を改善するために必要な修正を実施した後の修正後レイアウトデータを出力する場合、（３）平坦性を改善するために必要なダミーメタルをどのように挿入するかを表すダミーメタル挿入パターンと当該ダミーメタル挿入パターンを使用した場合における平坦性指標の改善値とを出力する場合がある。（１）の場合には、このデータを基に、人手で平坦性を改善する処置を実施する。（２）の場合には、そのまま修正後レイアウトデータを用いることができる。（３）の場合には、平坦性指標の改善度合いを把握した上で、ダミーメタル挿入パターンを使用するかを判断することができる。
【００２９】
なお、ダミーメタルは、配線密度が大きくばらつく場合に、配線密度を均一にするために挿入するもので、平坦性の改善に役立つものである。例えば、配線密度が疎の部分が存在する場合には、その部分にダミーメタルを挿入するようなダミーメタル挿入パターンが決定される。ダミーメタルには、高密度にメタルを挿入するための挿入パターン、比較的低い密度でメタルを挿入するための挿入パターン、配線間にメタルを挿入するための細長いパターンなどが用意されており、例えば半導体チップ内の領域毎にいずれかのパターンを選択する。例えば、図８に示すように、半導体チップの領域１１０１には、配線密度が疎なので、密度高くメタルを挿入するパターン１を用い、領域１１０２には、配線密度が比較的密なので、密度低くメタルを挿入するパターン２を用いる。図７（３）では、図８に示すようなデータが、ダミーメタル挿入パターンとして、平坦性指標の改善値と共に、出力される。なお、図８のようなダミーメタル挿入パターンを、入力のレイアウトデータに対して実施した後の修正後レイアウトデータを生成するようにしても良い。
【００３０】
なお、ＣＭＰシミュレータでは、メッシュの大きさ、原点の位置、配線密度についての危険性判断の閾値といった点で任意性があるため、従来技術のようにａ（Ｍ，Ｎ）をこれらの条件について推測した上で算出しても、結果が一致するとは限らない。
【００３１】
３．その他
非冗長ビアの数を計数して見積値として出力し、非冗長ビアを冗長ビアに変更できる場合には冗長ビアに変更し、当該変更数を改善値として出力するツールなどを用いても良い。さらに、変更後のレイアウトデータを出力するようにしても良い。
【００３２】
その他、様々なツールを検討対象として用いることができる。
【００３３】
Ｂ．モデルについて
１．歩留り率について
ε（Ｎ）は、半導体チップＮについて、注目するパラメータの実測値と所定のモデルに従って算出される見積値との差である。従って、所定のモデルに従って注目パラメータの見積値を算出する必要がある。注目パラメータが歩留り率である場合には、以下のような処理にて歩留り率を算出する。
【００３４】
具体的には、レイアウトデータからクリティカルエリアＣＡを算出して、予め定められている係数ｇを用いて、（１−ｇ＊ＣＡ）を歩留り率として算出する。
【００３５】
例えば、図９において、配線１３０１乃至１３０３には、デフェクトｄ１０１乃至ｄ１０５が発生して、デフェクトｄ１０２により配線１３０１が断線したり、デフェクトｄ１０３により配線１３０２及び１３０３が短絡したりする。一方、デフェクトｄ１０５は、特に配線１３０１乃至１３０３にかかっていないので、故障を引き起こすデフェクトではない。
【００３６】
クリティカルエリアは、故障の起きやすさを表す指標であり、図１０に示すように、例えば配線１３０４と配線１３０５との間で故障を引き起こすデフェクトの中心が配置される領域を故障領域面積Ａ（ｒ）とし、デフェクトの半径ｒに対して当該デフェクトの発生確率をＤ（ｒ）とすると、以下のように表される。
【００３７】
【数１】
2011081753.tif 000003
例えば、デフェクトの半径ｒと当該デフェクトの発生確率Ｄ（ｒ）との関係の一例を図１１に示す。図１１の例では、半径ｒ0までは、発生確率は上昇するが、その後は減少するような関数となっている。
【００３８】
クリティカルエリアの算出については、松岡,本間,大塚,澁谷, “クリティカルエリア削減による歩留り向上再配線手法”, 電子情報通信学会技術研究報告  Vol.104,No.115,CAS2004-19, pp55-60,2004年6月18日や、日本特許第４０７１５３７号などに開示されているので、これ以上述べない。
【００３９】
２．消費電力及び遅延時間
消費電力については、例えばＳＰＩＣＥをモデルとして用い、例えば回路中に設けた電力計等からの出力から算出することができる。また、遅延時間についても、ＳＰＩＣＥをモデルとして用い、注目する回路の信号波形などから算出することができる。
【００４０】
［実施の形態の具体的内容］
本実施の形態に係るツール特定装置の機能ブロック図を図１２に示す。図１２に示すツール特定装置は、入力部１と、入力部１から入力された実パラメータ値を格納する実パラメータ値格納部２と、入力部１を介して入力された、処理に係る半導体チップの回路データやレイアウトデータを格納する回路及びレイアウトデータ格納部３と、回路及びレイアウトデータ格納部３に格納されているデータを用いてパラメータ見積値を算出するパラメータ見積値算出部４と、パラメータ見積値算出部４により算出されたパラメータ見積値を格納するパラメータ見積値格納部５と、検討対象のツールから修正レイアウトデータを取得する修正レイアウトデータ取得部７と、修正レイアウトデータ取得部７により取得された修正レイアウトデータを格納する修正レイアウトデータ格納部８と、回路及びレイアウトデータ格納部３と修正レイアウトデータ格納部８とに格納されているデータを用いてレイアウトデータの差分面積を算出して係数Ａtool（Ｍ，Ｎ）を算出する係数算出処理部９と、検討対象のツールから見積値や改善値を取得するツール出力取得部１１と、係数算出処理部９やツール出力取得部１１からの出力を格納する係数格納部１０と、実パラメータ値格納部２とパラメータ見積値格納部５と係数格納部１０とに格納されているデータを用いて検討対象のツールの影響度を算出する影響度算出処理部６と、影響度算出処理部６の出力を格納する影響度格納部１２と、影響度格納部１２に格納されているデータを用いて最も適切なツールの識別データを出力する出力部１３とを有する。
【００４１】
次に、図１３乃至図１６を用いて、ツール特定装置の処理内容について説明する。最初に、設計者は、半導体チップ１乃至Ｎの実パラメータ値（例えば、実歩留り率、実遅延時間、実消費電力など）を測定して、ツール特定装置の入力部１に入力する。また、半導体チップ１乃至Ｎの回路データ又はレイアウトデータも、入力部１に入力する。又は、例えばファイル名などを指定して、取得するように入力部１に指示する。
【００４２】
入力部１は、半導体チップ１乃至Ｎの実パラメータ値を取得して実パラメータ値格納部２に格納すると共に、半導体チップ１乃至Ｎの回路データ又はレイアウトデータを取得して回路及びレイアウトデータ格納部３に格納する（ステップＳ１）。次に、パラメータ見積値算出部４は、回路及びレイアウトデータ格納部３に格納されている、半導体チップ１乃至Ｎのレイアウトデータ又は回路データから、半導体チップ１乃至Ｎのパラメータ見積値を算出し、パラメータ見積値格納部５に格納する（ステップＳ３）。実歩留り率を改善する場合には、歩留り率の見積値を周知技術により例えばレイアウトデータから算出する。遅延時間や消費電力を改善する場合には、それらの見積値を周知技術により例えば回路データから算出する。
【００４３】
そして、検討対象のツール１乃至Ｍがレイアウトデータを出力する場合（ステップＳ５：Ｙｅｓルート）、ステップＳ７以降の処理を実施する。一方、検討対象のツール１乃至Ｍが見積値又は改善値を出力する場合には（ステップＳ５：Ｎｏルート）、端子Ａ以降の処理を実施する。
【００４４】
なお、ツール１乃至Ｍは、回路及びレイアウトデータ格納部３に格納されている、各半導体チップのレイアウトデータを用いて修正レイアウトデータを生成し、出力する。
【００４５】
最初に、検討対象のツール１乃至Ｍがレイアウトデータを出力する場合について説明する。修正レイアウトデータ取得部７は、半導体チップ１乃至Ｎの各々について、各ツールの出力修正レイアウトデータを取得し、修正レイアウトデータ格納部８に格納する（ステップＳ７）。ツールがＭ個で、半導体チップがＮ個であるので、Ｍ×Ｎ通りのレイアウトデータが取得される。
【００４６】
そして、係数算出処理部９は、回路及びレイアウトデータ格納部３に格納されている、半導体チップ１乃至Ｎのレイアウトデータと、各ツールの対応する出力修正レイアウトデータとの差分領域の面積を算出し、係数Ａtool（Ｍ，Ｎ）として係数格納部１０に格納する（ステップＳ９）。同じ半導体チップｉについて、修正前のレイアウトデータと、ツールｊによる修正レイアウトデータとの差分領域を抽出し、当該差分領域の面積を算出して、当該差分領域の面積を用いて係数Ａtool（ｊ，ｉ）を設定する。なお、ツールによっては、算出される面積が大幅にばらつく可能性があり、その場合には最終的に求められるＸ（Ｍ）に影響が出る。従って、１つのツールにつき、半導体チップがＮ個あるので、例えばこれらの分散を用いて値域を例えば［０，１］になるように正規化する。
【００４７】
図１４（ａ）に、半導体チップＡについて、ツール１乃至６を適用した際に算出されたＡtool（１，Ａ）乃至Ａtool（６，Ａ）を示す。図１４（ａ）の例では、半導体チップＡについては、ツール１の影響が大きいことが分かる。同様に、図１４（ｂ）に、半導体チップＢについて、ツール１乃至６を適用した際に算出されたＡtool（１，Ｂ）乃至Ａtool（６，Ｂ）を示す。図１４（Ｂ）の例では、半導体チップＢについては、ツール３の影響が大きいことが分かる。さらに、図１４（ｃ）に、半導体チップＣについて、ツール１乃至６を適用した際に算出されたＡtool（１，Ｃ）乃至Ａtool（６，Ｃ）を示す。図１４（ｃ）の例では、半導体チップＣについては、ツール６の影響が大きいことが分かる。
【００４８】
そして、影響度算出処理部６は、実パラメータ値格納部２に格納されている半導体チップ１乃至Ｎの実パラメータ値と、パラメータ見積値格納部５に格納されているパラメータ見積値との差ε（１）乃至ε（Ｎ）を算出し、全ての半導体チップ１乃至Ｎとツール１乃至Ｍとでε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）という算式を最も満たす影響度Ｘtool（１）乃至Ｘtool（Ｍ）を算出し、影響度格納部１２に格納する（ステップＳ１１）。上でも述べたが、この処理には周知のSupport Vector Machine等の技術を用いる。
【００４９】
例えば、図１５に示すように、ε（Ａ）、ε（Ｂ）及びε（Ｃ）のうちε（Ｂ）の値が相対的に大きい場合には、半導体チップＢについての係数Ａtoolの値が大きいツールの影響度も大きくなる。従って、図１４（ｂ）の例からすると、Ｘ（３）が大きな値となる。
【００５０】
そうすると、出力部１３は、影響度格納部１２に格納されている各ツールの影響度Ｘ（ｊ）を比較して、最も値の大きいツールを、効果のあるツールとして特定し、表示装置や印刷装置などの出力装置、場合によってはネットワークに接続されている他の装置に対して出力する（ステップＳ１３）。上で述べた例では、影響度Ｘ（３）が最も大きくなるのでツール３が選択されて、当該ツール３の識別情報が出力される。
【００５１】
以上のような処理を実施することによって、既にある半導体チップの製造結果を用いて試作なしで、最も効果的なツールを特定することができるようになる。また、モデルの誤差となっている要因について特定できるわけではないが、当該要因を総合的に考慮した上で効果的なツールが特定できるようになる。なお、ツールの出力をベースに処理しているので、意図しない結果となるような問題が発生しなくなる。
【００５２】
次に、端子Ａ以降の処理について、図１６を用いて説明する。
【００５３】
なお、ツール１乃至Ｍは、回路及びレイアウトデータ格納部３に格納されている、各半導体チップのレイアウトデータなどを用いて所定の物理量等の見積値又は改善値を算出し、出力する。
【００５４】
ツール１乃至Ｍが見積値を出力する場合（ステップＳ１５：Ｙｅｓルート）、ツール出力取得部１１は、半導体チップ１乃至Ｎの各々について、各ツールの見積値を取得し、当該見積値を用いて半導体チップｉ及びツールｊの組み合わせについて係数Ａtool（ｊ，ｉ）を算出して係数格納部１０に格納する（ステップＳ１７）。見積値についても、正規化する。但し、見積値をそのまま係数Ａtoolに用いる場合もある。また、影響度算出処理部６は、実パラメータ値格納部２に格納されている半導体チップ１乃至Ｎの実パラメータ値と、パラメータ見積値格納部５に格納されているパラメータ見積値との差ε（１）乃至ε（Ｎ）を算出し、全ての半導体チップ１乃至Ｎとツール１乃至Ｍとでε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）という算式を最も満たす影響度Ｘtool（１）乃至Ｘtool（Ｍ）を算出し、影響度格納部１２に格納する（ステップＳ１９）。そして端子ＢからステップＳ１１に戻る。
【００５５】
一方、ツール１乃至Ｍが見積値を出力する場合（ステップＳ１５：Ｎｏルート）、ツール出力取得部１１は、半導体チップ１乃至Ｎの各々について、各ツールの改善値を取得し、当該改善値を用いて半導体チップｉ及びツールｊの組み合わせについて係数Ａtool（ｊ，ｉ）を算出して係数格納部１０に格納する（ステップＳ２１）。改善値についても、正規化する。但し、改善値をそのままＡtoolに用いるようにしても良い。また、影響度算出処理部６は、実パラメータ値格納部２に格納されている半導体チップ１乃至Ｎの実パラメータ値と、パラメータ見積値格納部５に格納されているパラメータ見積値との差ε（１）乃至ε（Ｎ）を算出し、全ての半導体チップ１乃至Ｎとツール１乃至Ｍとでε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）という算式を最も満たす影響度Ｘtool（１）乃至Ｘtool（Ｍ）を算出し、影響度格納部１２に格納する（ステップＳ２３）。そして端子ＢからステップＳ１１に戻る。
【００５６】
なお、改善値や見積値については、必要に応じてさらに加工を行う場合もある。
【００５７】
このような処理を実施することによって、レイアウトデータではなく見積値又は改善値を出力するようなツールについても取り扱うことができるようになる。
【００５８】
以上のような処理を実施することによって、取り扱っている半導体チップについて統計的に効果的なツールを特定することができるようになる。
【００５９】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図１２に示したツール特定装置の機能ブロック構成は一例であって、必ずしも実際のプログラム構成とは一致しない。また、ツール１乃至Ｍについては、ツール特定装置とは別装置で実施される場合もあれば、同じ装置で実施される場合もある。さらに、ツール特定装置の幾つかの機能については、別装置にて実施され、協働して処理結果を導出するような場合もある。
【００６０】
さらに、上で述べた例では、検討対象の全ツールからの出力が、レイアウトデータ、見積値又は改善値のいずれかである例を示したが、場合によっては出力データのタイプが異なるツールを１度に用いる場合もある。
【００６１】
なお、上で述べたツール特定装置などは、コンピュータ装置であって、図１７に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６２】
以上述べた本実施の形態をまとめると、以下のようになる。
【００６３】
本ツール特定方法は、Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている半導体チップｉの実パラメータ値と、Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各ツールｊの影響度Ｘtool（ｊ）を算出するステップと、影響度Ｘtool（ｊ）が最も大きいツールｊを特定するステップとを含む。
【００６４】
このようにすれば、ツールの出力を直接的に処理して歩留り率などのパラメータ値に対するツールの影響度を精度良く算出できるので、最も効果的なツールを採用することができるようになる。
【００６５】
上で述べたツールからの出力が、修正後のレイアウトデータである場合もある。この場合、上で述べた係数生成ステップが、Ｎ種類の半導体チップのレイアウトデータを格納するレイアウトデータ格納部に格納されている半導体チップｉのレイアウトデータと、半導体チップｉに対するツールｊからの修正後のレイアウトデータとの差分面積を用いて係数Ａtool（ｊ，ｉ）を算出するステップを含むようにしてもよい。
【００６６】
このようにレイアウト変更が大きいほど、改善したいチップに対して大きな影響を与えるツールと考えて、当該ツールを選択すれば、チップの歩留り率などのパラメータ値が改善すると期待される。
【００６７】
また、上で述べたツールからの出力が、半導体チップについての所定の物理量の見積り値又は改善値を含むようにしてもよい。レイアウト変更だけではなく、それ以外にも例えば半導体チップの平坦性見積値や、平坦性改善値などを用いても良い。
【００６８】
さらに、本ツール特定装置（図１８）は、Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置（図１８の５００２）に格納する係数生成部（図１８の５００１）と、Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部（図１８の５００３）に格納されている半導体チップｉの実パラメータ値と、Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部（図１８の５００４）に格納されている半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各ツールｊの影響度Ｘtool（ｊ）を算出する影響度算出処理部（図１８の５００５）と、影響度Ｘtool（ｊ）が最も大きいツールｊを特定する出力部（図１８の５００６）とを有する。
【００６９】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【００７０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７１】
（付記１）
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出するステップと、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定するステップと、
をコンピュータに実行させるためのツール特定プログラム。
【００７２】
（付記２）
前記ツールからの出力が、修正後のレイアウトデータであり、
前記係数生成ステップが、
前記Ｎ種類の半導体チップのレイアウトデータを格納するレイアウトデータ格納部に格納されている前記半導体チップｉのレイアウトデータと、前記半導体チップｉに対する前記ツールｊからの前記修正後のレイアウトデータとの差分面積を用いて前記係数Ａtool（ｊ，ｉ）を算出するステップ
を含む付記１記載のツール特定プログラム。
【００７３】
（付記３）
前記ツールからの出力が、前記半導体チップについての所定の物理量の見積り値又は改善値を含む
付記１記載のツール特定プログラム。
【００７４】
（付記４）
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成ステップと、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出するステップと、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定するステップと、
を含み、コンピュータに実行されるツール特定方法。
【００７５】
（付記５）
Ｎ種類の半導体チップのレイアウトデータに対して当該半導体チップの設計支援のための処理を実施するＭ種類のツールからの出力を用いて、半導体チップｉに対するツールｊの効果を表す係数Ａtool（ｊ，ｉ）を生成し、記憶装置に格納する係数生成部と、
前記Ｎ種類の半導体チップの各々について実際のパラメータ値を格納する実パラメータ値格納部に格納されている前記半導体チップｉの実パラメータ値と、前記Ｎ種類の半導体チップの各々について当該半導体チップについてのデータから算出されるパラメータ値の見積り値であるパラメータ見積値を格納するパラメータ見積値格納部に格納されている前記半導体チップｉのパラメータ見積値との差ε（ｉ）を算出し、各前記半導体チップｉについて、ε（ｉ）＝ΣＡtool（ｊ，ｉ）＊Ｘtool（ｊ）を満たす、各前記ツールｊの影響度Ｘtool（ｊ）を算出する影響度算出処理部と、
前記影響度Ｘtool（ｊ）が最も大きい前記ツールｊを特定する出力部と、
を有するツール特定装置。
【符号の説明】
【００７６】
１  入力部    ２  実パラメータ値格納部
３  回路及びレイアウトデータ格納部    ４  パラメータ見積値算出部
５  パラメータ見積値格納部    ６  影響度算出処理部
７  修正レイアウトデータ取得部    ８  修正レイアウトデータ格納部
９  係数算出処理部    １０  係数格納部    １１  ツール出力取得部
１２  影響度格納部    １３  出力部
【図１】
2011081753.tif 000004
【図２】
2011081753.tif 000005
【図３】
2011081753.tif 000006
【図４】
2011081753.tif 000007
【図５】
2011081753.tif 000008
【図６】
2011081753.tif 000009
【図７】
2011081753.tif 000010
【図８】
2011081753.tif 000011
【図９】
2011081753.tif 000012
【図１０】
2011081753.tif 000013
【図１１】
2011081753.tif 000014
【図１２】
2011081753.tif 000015
【図１３】
2011081753.tif 000016
【図１４】
2011081753.tif 000017
【図１５】
2011081753.tif 000018
【図１６】
2011081753.tif 000019
【図１７】
2011081753.tif 000020
【図１８】
2011081753.tif 000021