半導体設計装置、半導体設計方法及びプログラム
【課題】レイアウトデータの検証を行うLVS処理やDRC処理と、OPC処理には、プログラムの実装に重複(冗長)な処理が存在する。そこで、これらの処理を、統合することも考えられる。しかし、そのような統合を実際に行えば、プログラムの変更が大規模になり、半導体設計装置のコストを上昇させてしまう。そのため、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置が、望まれる。
【解決手段】半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備えている。
【解決手段】半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体設計装置、半導体設計方法及びプログラムに関する。特に、半導体集積回路のマスクデータを作成する半導体設計装置、半導体設計方法及びプログラムに関する。
【背景技術】
【0002】
年々、半導体集積回路のプロセスは微細化している。プロセスの微細化が進み、半導体集積回路の加工寸法と露光波長が近づくと、マスクパターンの形状や大きさ等の影響により、マスクパターンを忠実にウェハに露光することが難しくなる。
【0003】
そこで、マスクパターンを忠実に再現するために、マスクデータの作成時にレイアウトパターンを補正する処理が行われる。このような処理は、OPC(Optical Proximity Correction;光近接効果補正)処理と呼ばれる。OPC処理には、レイアウトパターンの特徴に応じて定められた補正ルールに従って、補正を行うルールベースOPCや、レジスタ等の特性をモデル化し、モデル化したデータに基づいたシミュレーションにより補正を行うモデルベースOPC、が存在する。
【0004】
マスクデータの作成時には、補正の対象となるレイアウトパターンに最適なOPC処理を選択し、効果的かつ効率的に補正を行う必要がある。しかし、上述のように近年の半導体集積回路の微細化の進行は著しく、OPC処理に求められる補正がより高精度なものになってきており、レイアウトパターンに最適なOPC処理を選択すること自体が複雑化してきている。即ち、半導体集積回路の微細化と共に、最適なOPC処理を選択するための処理が増加してきている。
【0005】
ここで、特許文献1において、レイアウトパターン毎に、補正が必要な図形(形状)であるか、補正が不要な図形であるかを判断し、補正が必要な図形に限り、どのようなOPC処理が適用するかを判定する技術が開示されている。
【0006】
さらに、特許文献2において、レイアウトデータが予め定めた設計ルールに適合するか否かの検証を行うDRC(Design Rule Check)や、マスクパターンが設計した回路図と一致しているか否かの検証を行うLVS(Layout versus Schematic)と、OPC処理を統一し、さらに、個々の処理で扱うデータを同一のデータベースに蓄積・更新することで、個々の処理を最適化する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−175898号公報
【特許文献2】特表2004−503879号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【0009】
上述のように、半導体集積回路のOPC処理の効率化に関する各種の技術が存在する。しかし、これらの技術にはいずれも問題点が存在する。
【0010】
特許文献1で開示された技術では、半導体集積回路のプロセスが微細化すると共に、補正の要否を判断するためのルールが複雑化し、OPC処理の処理スピードが低下してしまう。
【0011】
特許文献2で開示された技術では、DRC、LVS及びOPCといった処理を統合した上で、同一のデータベースを使用する構成であるが、これらの処理は独立して、コンピュータに実行させるプログラムとして存在している場合が多い。従って、これらの処理を統合し、新たなプログラムとして開発することは、既存のリソースを有効に活用できず、半導体設計装置の開発コストが上昇してしまう。
【0012】
以上のように、OPC処理の効率化には、解決すべき問題点が存在する。そのため、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、望まれる。
【課題を解決するための手段】
【0013】
本発明の第1の視点によれば、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、前記レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備える半導体設計装置が提供される。
【0014】
本発明の第2の視点によれば、半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証工程と、前記OPC処理用中間データを用いて、OPC処理を行うOPC処理工程と、を含む半導体設計方法が提供される。
【0015】
本発明の第3の視点によれば、半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証処理と、前記OPC処理用中間データを用いるOPC処理と、をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0016】
本発明の各視点によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、提供される。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態の概要を説明するための図である。
【図2】半導体設計装置1の内部構成の一例を示す図である。
【図3】半導体設計装置1の制御部10における処理の一例を示すフローチャートである。
【図4】図2に示す制御部10における各処理の詳細な一例を示すフローチャートである。
【図5】設計対象となる半導体集積回路の回路図の一例を示す図である。
【図6】設計対象となる半導体集積回路のレイアウトの一例を示す図である。
【図7】ルールベースOPCの適用の一例を示す図である。
【図8】モデルベースOPCの適用の一例を示す図である。
【図9】本発明の第1の実施形態に係る半導体設計装置2における各処理の詳細の一例を示すフローチャートである。
【図10】本発明の第2の実施形態に係る半導体設計装置3における各処理の詳細の一例を示すフローチャートである。
【図11】本発明の第2の実施形態に係る半導体設計装置3における各処理の詳細の別の一例を示すフローチャートである。
【図12】本発明の第3の実施形態に係る半導体設計装置4における各処理の詳細の一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0019】
上述のように、半導体集積回路のOPC処理の効率化に関する各種の技術が存在するが、いずれも処理スピードや既存のリソースの活用に問題がある。そのため、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置が、望まれる。
【0020】
そこで、一例として図1に示す半導体設計装置を提供する。図1に示す半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備えている。
【0021】
図1に示すレイアウトデータ検証部及びOPC処理部には、プログラムの実装に重複(冗長)な処理が存在する。そこで、これらの処理(レイアウトデータ検証及びOPC処理)を、特許文献2が開示するように、統合することも考えられる。しかし、そのような統合を実際に行えば、プログラムの変更が大規模になり、半導体設計装置のコストを上昇させてしまう。
【0022】
そこで、レイアウトデータ検証部で行う処理であって、OPC処理でも同種の処理を行うときは、OPC処理用中間データを介して、レイアウトデータ検証部とOPC処理部を連携させる。
【0023】
レイアウトデータ検証部では、本来のレイアウトデータ検証時に利用・検証したデータをOPC処理部で利用できるフォーマットに変更し、中間データとして出力するのみであり、その変更は小規模である。一方、OPC処理部においても、OPC処理用中間データを参照し、参照結果を用いてその後の処理を継続すれば良く、その変更は小規模である。
【0024】
このように、LVS処理とOPC処理を互いに連携させ、冗長な処理を削減することで、半導体設計装置におけるOPC処理の処理スピードを向上させる。即ち、図1に示す半導体設計装置は、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0025】
本発明において下記の形態が可能である。
【0026】
[形態1]上記第1の視点に係る半導体設計装置のとおりである。
【0027】
[形態2]前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理部を含み、前記LVS処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0028】
[形態3]前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、前記DRC処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理部は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択することが好ましい。
【0029】
[形態4]前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、前記DRC処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記OPC処理用中間データとして生成し、前記OPC処理部は、前記層演算済みレイアウトデータを参照し、前記OPC処理の際の補正方式の判定及び選択を行うことが好ましい。
【0030】
[形態5]前記DRC処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0031】
[形態6]前記OPC処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含むことが好ましい。
【0032】
[形態7]上記第2の視点に係る半導体設計方法のとおりである。
【0033】
[形態8]前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理工程を含み、前記LVS処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0034】
[形態9]前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理工程を含み、前記DRC処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理工程は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択することが好ましい。
【0035】
[形態10]前記DRC処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0036】
[形態11]上記第3の視点に係るプログラムのとおりである。
【0037】
[形態12]前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理を含み、前記LVS処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0038】
[形態13]前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理を含み、前記DRC処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択することが好ましい。
【0039】
[形態14]前記DRC処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0040】
次に、OPC処理を実行する半導体設計装置について説明する。
【0041】
図2は、半導体設計装置1の内部構成の一例を示す図である。
【0042】
半導体設計装置1は、制御部10と、メモリ20と、記憶部30と、操作部40と、表示部50から構成されている。
【0043】
さらに、制御部10には、LVS処理を実現するLVS処理部101と、DRC処理を実現するDRC処理部102と、OPC処理を実現するOPC処理部103から構成されている。各処理部の動作については、後述する。
【0044】
メモリ20は、制御部10における一時的な記憶領域として用いられる。
【0045】
記憶部30は、レイアウトデータ等の情報を記憶する。
【0046】
操作部40は、半導体設計装置1を使用するユーザ(設計者)の操作を受け付ける。
【0047】
ユーザの操作に必要な情報は、表示部50に表示する。
【0048】
次に、半導体設計装置1の動作について説明する。
【0049】
図3は、半導体設計装置1の制御部10における処理の一例を示すフローチャートである。図3において、動作の主体は制御部10である。
【0050】
ステップS01において、設計対象となる半導体集積回路のレイアウトデータを受け付ける。
【0051】
ステップS02において、LVS処理部101が、LVS処理を実行する。
【0052】
ステップS03において、DRC処理部102が、DRC処理を実行する。
【0053】
ステップS04において、OPC処理部103が、OPC処理を実行する。
【0054】
ステップS05において、OPC処理が施されたレイアウトデータが出力される。
【0055】
ステップS06において、補正後のレイアウトデータがマスクデータに変換される。
【0056】
ステップS07において、マスクデータを出力する。
【0057】
図4は、制御部10における各処理の詳細な一例を示すフローチャートである。図4を用いて、LVS処理、DRC処理及びOPC処理の各処理を説明する。
【0058】
初めに、LVS処理について説明する。
【0059】
図3のLVC処理(ステップS02)は、回路情報を読み込むステップS201と、レイアウト対回路検証を行うステップS202と、を含んでいる。
【0060】
図5は、設計対象となる半導体集積回路の回路図の一例を示す図である。図5に示す半導体集積回路の回路図には、4つの回路C01〜C04が含まれている。図5に示す回路図が物理的に正しくレイアウト(実装)されているか否かを確認する処理が、レイアウト対回路検証である。
【0061】
図6は、設計対象となる半導体集積回路のレイアウトの一例を示す図である。レイアウト対回路検証では、図5に示す回路図と、図6に示すレイアウトが等価であるかを確認する。
【0062】
ここで、半導体集積回路は、多数の機能モジュール(セル)から構成されており、特定のセルについては、別のセルに置換される。セルの置換を行う理由は様々あるが、使用が禁止されたセルであれば、使用が許可されたセルに置換される。また、後述するように、予めOPC処理が施されたセルに置換されることもある。
【0063】
そのため、レイアウト対回路検証では、レイアウトの検証と同時に、レイアウトされているセルが置換の対象となっているか否かを確認し、置換の対象であれば、セルの置換を行う。なお、セルを置換する際には、置換の対象になるセルと置換後のセルの対応を記憶した置換対象セルデータベースを検索する。
【0064】
続いて、DRC処理について説明する。
【0065】
図3のDRC処理(ステップS03)は、レイアウト層演算(ステップS301)と、レイアウトパターン検証(ステップS302)と、を含んでいる。レイアウト層演算は、レイアウト層毎に図形演算を行う処理である。レイアウトパターン検証では、設計対象の半導体集積回路におけるレイアウトパターンが設計ルールに違反していないか否かを検証する。
【0066】
続いて、OPC処理(ステップS04)について説明する。
【0067】
OPC処理のステップS401では、設計対象となる半導体集積回路のレイアウトに置換対象となるセルが存在するか否かを検索する。その際、上述の置換対象セルデータベースを検索する。
【0068】
検索した結果、置換対象セルが存在するか否かを判定するのがステップS402である。置換対象セルが存在すれば、ステップS403に遷移する。置換対象セルが存在しなければ、ステップS404に遷移する。
【0069】
ステップS403では、置換対象セルデータベースに従って、セルの置換を実行する。本ステップにおけるセルの置換では、上述のように、予めレイアウトパターン補正(OPC処理)されたセルに置換される。
【0070】
ステップS404では、レイアウト層演算を実行する。本ステップで実行するレイアウト層演算は、DRC処理における同処理(ステップS301)と同一である。
【0071】
ステップS405では、レイアウトパターンの判定を行い、設計対象となる半導体集積回路に含まれる各セルに対して、補正をしない(ステップS406)、ルールベースOPCを適用する(ステップS407)、モデルベースOPCを適用する(ステップS408)、のいずれかを決定する。
【0072】
その際、OPC処理が施されたセルに置換されたセルに対しては、OPC処理(補正)を適用する必要はないため、ステップS406が選択される。置換されていないセルであれば、ルールベースOPC(ステップS407)かモデルベースOPC(ステップS408)のいずれかが適用される。なお、いずれのOPCが適用されるかは、設計者の経験や試行錯誤に基づいて作成されたデータベースに基づいて判断される。このデータベースには、レイアウトパターン毎に最適なOPC処理が記憶されている。
【0073】
ここで、ルールベースOPCとは、ルールに従った補正をレイアウトパターンに実施する処理である。図7は、ルールベースOPCの適用の一例を示す図である。図7に示すレイアウトには、パターンL01とL02の下部及びパターンL02とL03の上部において、その幅が他のパターン間よりも広い箇所がある。このような場合に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くするというルールが規定されているとする。その結果、図7の下部に示すように、各パターンは補正される(図7の灰色の領域が補正により付加される)。さらに、レイアウトパターンの角度に基づいてレイアウトを補正するルールも存在する。例えば、レイアウトパターンの角の外側にはレイアウトデータが付加され(パターンL2の灰色の領域)、レイアウトパターンの角の内側からはレイアウトデータは削除される(パターンL2の網掛けの領域)。
【0074】
モデルベースOPCとは、光学条件に基づいてシミュレーションを、対象となるレイアウトパターンに実施し、最適なマスクデータとなるような補正を行う処理である。モデルベースOPCであっても、レイアウトパターンを補正する際の方向性はルールベースOPCと同じであるが、補正の内容がより精細になる。図8は、モデルベースOPCの適用の一例を示す図である。モデルベースOPCでは、照明条件、膜圧情報を初めとしたシミュレーション条件を決定した上で、シミュレーションを行い、対象となるレイアウトパターンに対する補正を決定する。ルールベースOPCと同様に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くする方向で補正される。また、レイアウトパターンが角度を有する場合には、その角の角度に応じて、レイアウトデータの追加又は削除が行われる。図8においても、灰色の領域が補正によって追加されるレイアウトデータであり、網掛けの領域が削除されるレイアウトデータである。
【0075】
上述のルールベースOPCやモデルベースOPCの処理が終了した後は、ステップS05に遷移し、補正後のレイアウトデータを出力する。
【0076】
[第1の実施形態]
次に、本発明の第1の実施形態について、図面を用いてより詳細に説明する。
【0077】
本実施形態に係る半導体設計装置2の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置2との相違点は、制御部10における各処理である。
【0078】
図9は、本実施形態に係る半導体設計装置2における各処理の詳細の一例を示すフローチャートである。図9は、図4に相当する図面である。図9において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0079】
図4と図9の相違点は、LVC処理におけるレイアウト対回路検証において、本来のレイアウト対回路検証の処理に加えて、置換対象セルリストを中間データとして出力し、この中間データをOPC処理で利用する点である。
【0080】
図9のステップS202aでは、回路図が正しくレイアウト(実装)されているか否かを確認すると同時に、置換対象セルデータベースを検索し、セルの置換を行う。その際、置換対象となるセルを検索する毎に、置換対象のセルを置換対象セルリストとして出力する。
【0081】
一方、OPC処理の置換対象セルリスト参照処理(ステップS401a)では、LVC処理で生成された置換対象セルリストに従って、置換対象となるセルの有無を判断(ステップS402)する。その結果、OPC処理では、再度、置換対象セルデータベースを検索する必要がなくなる。ここで、置換対象セルリストは、置換対象セルデータベースと比較すれば、極めてサイズの小さいリストであるため、その検索時間が削減できる。
【0082】
このように、LVS処理のレイアウト対回路検証において、置換対象セルデータベースを検索する際に、設計対象となる半導体集積回路に置換対象となるセルが含まれれば、そのリストを中間データとして出力する。その結果、互いに独立していたLVS処理とOPC処理を、置換対象セルリストという中間データで連携させ、半導体設計装置1における冗長な処理が削減できる(半導体設計装置2の処理スピードが向上する)。
【0083】
また、LVS処理とOPC処理の連携も、置換対象セルという中間データ(中間ファイル)を生成し、それを参照するという最小限度に留まっており、既存のリソース(プログラム)の変更は極めて小規模である。
【0084】
以上のように、本実施形態に係る半導体設計装置2によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0085】
[第2の実施形態]
次に、本発明の第2の実施形態について、図面を用いてより詳細に説明する。
【0086】
本実施形態に係る半導体設計装置3の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置3との相違点は、制御部10における各処理である。
【0087】
図10は、本実施形態に係る半導体設計装置3における各処理の詳細の一例を示すフローチャートである。図10は、図4に相当する図面である。図10において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0088】
図4と図10の相違点は、レイアウトパターン検証及び判定処理(ステップS302a)において、レイアウトパターン判定結果を中間データとして出力し、この中間データをOPC処理で利用する点である。
【0089】
図4のレイアウトパターン検証(ステップS302)では、レイアウトパターンが設計ルールに適合しているか否かを検証する。検証の際に、レイアウト層演算が終了したレイアウトパターンを認識(メモリ20に読み込み)しており、認識したレイアウトパターンは、レイアウトパターン判定(図4のステップS405)と共通して利用するデータである。そこで、レイアウトパターン検証及び判定処理において、レイアウトが設計ルールに適合しているか否かを検証すると共に、各セルに対して適用するOPC処理(ルールベースOPC又はモデルベースOPC)の判定も同時に行う。そして、OPC処理の判定結果をレイアウトパターン判定結果として出力する。
【0090】
OPC処理では、ステップS405aにおいて、このレイアウトパターン判定結果に従って、適用するOPCを判断する。従って、図10のOPC処理では、図4のレイアウト層演算(ステップS404)及びレイアウトパターン判定(ステップS405)に相当する処理は不要であり、レイアウトパターン検証及び判定が出力するレイアウトパターン判定結果を参照する処理のみが必要になる。
【0091】
その結果、本実施形態に係る半導体設計装置3によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0092】
図11は、本実施形態に係る半導体設計装置3における各処理の詳細の別の一例を示すフローチャートである。
【0093】
図11に示すように、DRC処理のレイアウト層演算(ステップS301a)で層演算済みレイアウトデータを中間データとして出力することも考えられる。この場合には、OPC処理におけるレイアウト層演算(ステップS404)に代えて、層演算済みレイアウトデータを参照する(ステップS404a)。その結果、DRC処理とOPC処理において、冗長な処理となっていたレイアウト層演算を繰り返す必要がなくなり、処理スピードを向上させることができる。
【0094】
以上のように、DRC処理とOPC処理を連携させることで、半導体設計装置3の処理スピードを向上させることができる。
【0095】
[第3の実施形態]
次に、本発明の第3の実施形態について、図面を用いてより詳細に説明する。
【0096】
本実施形態に係る半導体設計装置4の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置4との相違点は、制御部10における各処理である。
【0097】
図12は、本実施形態に係る半導体設計装置4における各処理の詳細の一例を示すフローチャートである。図12は、図4に相当する図面である。図12において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0098】
第1の実施形態に係る半導体設計装置2では、LVS処理とOPC処理を連携させ、第2の実施形態に係る半導体設計装置3では、DRC処理とOPC処理を連携させる。本実施形態に係る半導体設計装置4では、LVS処理、DRC処理及びOPC処理を連携させる。
【0099】
図12に示すように、LVS処理のレイアウト対回路検証(ステップS202a)において、置換対象セルリストを生成する。この置換対象セルリストは第1の実施形態において説明したリストと相違する点はないため、さらなる説明は省略する。
【0100】
また、DRC処理では、レイアウトパターン検証及び判定(ステップS302b)において、置換対象セルリストを参照した上で、レイアウトパターン判定結果を生成する。より具体的には、置換対象セルリストに記載されているセルは、OPC処理において置換されてしまうセルであるので、このようなセルについてレイアウトパターン判定を行ったとしても意味がない。即ち、OPC処理で置換されることが明らかなセルについては、レイアウトパターン判定の対象から除外することで、レイアウトパターン検証及び判定処理の処理スピードを向上させる。レイアウトパターン判定結果は中間データとして出力され、OPC処理のレイアウトパターン判定結果参照(ステップS405a)において使用される。
【0101】
OPC処理では、置換対象セルリストを参照し(ステップS401a)、置換対象となるセルの有無を判断(ステップS402)する。その後、レイアウトパターン判定結果を参照し(ステップS405a)適用すべきOPC処理を決定し、レイアウトパターンの補正を実行する。従って、OPC処理には、レイアウト層演算(ステップS404)が不要になる。
【0102】
このように、LVS処理、DRC処理及びOPC処理を連携させることで、各処理間で冗長な処理のさらなる削減が可能であり、半導体設計装置4の処理スピードを、より一層向上させることができる。
【0103】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0104】
1〜4 半導体設計装置
10 制御部
20 メモリ
30 記憶部
40 操作部
50 表示部
101 LVS処理部
102 DRC処理部
103 OPC処理部
C01〜C04 回路
L01〜L04 パターン
【技術分野】
【0001】
本発明は、半導体設計装置、半導体設計方法及びプログラムに関する。特に、半導体集積回路のマスクデータを作成する半導体設計装置、半導体設計方法及びプログラムに関する。
【背景技術】
【0002】
年々、半導体集積回路のプロセスは微細化している。プロセスの微細化が進み、半導体集積回路の加工寸法と露光波長が近づくと、マスクパターンの形状や大きさ等の影響により、マスクパターンを忠実にウェハに露光することが難しくなる。
【0003】
そこで、マスクパターンを忠実に再現するために、マスクデータの作成時にレイアウトパターンを補正する処理が行われる。このような処理は、OPC(Optical Proximity Correction;光近接効果補正)処理と呼ばれる。OPC処理には、レイアウトパターンの特徴に応じて定められた補正ルールに従って、補正を行うルールベースOPCや、レジスタ等の特性をモデル化し、モデル化したデータに基づいたシミュレーションにより補正を行うモデルベースOPC、が存在する。
【0004】
マスクデータの作成時には、補正の対象となるレイアウトパターンに最適なOPC処理を選択し、効果的かつ効率的に補正を行う必要がある。しかし、上述のように近年の半導体集積回路の微細化の進行は著しく、OPC処理に求められる補正がより高精度なものになってきており、レイアウトパターンに最適なOPC処理を選択すること自体が複雑化してきている。即ち、半導体集積回路の微細化と共に、最適なOPC処理を選択するための処理が増加してきている。
【0005】
ここで、特許文献1において、レイアウトパターン毎に、補正が必要な図形(形状)であるか、補正が不要な図形であるかを判断し、補正が必要な図形に限り、どのようなOPC処理が適用するかを判定する技術が開示されている。
【0006】
さらに、特許文献2において、レイアウトデータが予め定めた設計ルールに適合するか否かの検証を行うDRC(Design Rule Check)や、マスクパターンが設計した回路図と一致しているか否かの検証を行うLVS(Layout versus Schematic)と、OPC処理を統一し、さらに、個々の処理で扱うデータを同一のデータベースに蓄積・更新することで、個々の処理を最適化する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−175898号公報
【特許文献2】特表2004−503879号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【0009】
上述のように、半導体集積回路のOPC処理の効率化に関する各種の技術が存在する。しかし、これらの技術にはいずれも問題点が存在する。
【0010】
特許文献1で開示された技術では、半導体集積回路のプロセスが微細化すると共に、補正の要否を判断するためのルールが複雑化し、OPC処理の処理スピードが低下してしまう。
【0011】
特許文献2で開示された技術では、DRC、LVS及びOPCといった処理を統合した上で、同一のデータベースを使用する構成であるが、これらの処理は独立して、コンピュータに実行させるプログラムとして存在している場合が多い。従って、これらの処理を統合し、新たなプログラムとして開発することは、既存のリソースを有効に活用できず、半導体設計装置の開発コストが上昇してしまう。
【0012】
以上のように、OPC処理の効率化には、解決すべき問題点が存在する。そのため、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、望まれる。
【課題を解決するための手段】
【0013】
本発明の第1の視点によれば、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、前記レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備える半導体設計装置が提供される。
【0014】
本発明の第2の視点によれば、半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証工程と、前記OPC処理用中間データを用いて、OPC処理を行うOPC処理工程と、を含む半導体設計方法が提供される。
【0015】
本発明の第3の視点によれば、半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証処理と、前記OPC処理用中間データを用いるOPC処理と、をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0016】
本発明の各視点によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、提供される。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態の概要を説明するための図である。
【図2】半導体設計装置1の内部構成の一例を示す図である。
【図3】半導体設計装置1の制御部10における処理の一例を示すフローチャートである。
【図4】図2に示す制御部10における各処理の詳細な一例を示すフローチャートである。
【図5】設計対象となる半導体集積回路の回路図の一例を示す図である。
【図6】設計対象となる半導体集積回路のレイアウトの一例を示す図である。
【図7】ルールベースOPCの適用の一例を示す図である。
【図8】モデルベースOPCの適用の一例を示す図である。
【図9】本発明の第1の実施形態に係る半導体設計装置2における各処理の詳細の一例を示すフローチャートである。
【図10】本発明の第2の実施形態に係る半導体設計装置3における各処理の詳細の一例を示すフローチャートである。
【図11】本発明の第2の実施形態に係る半導体設計装置3における各処理の詳細の別の一例を示すフローチャートである。
【図12】本発明の第3の実施形態に係る半導体設計装置4における各処理の詳細の一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【0019】
上述のように、半導体集積回路のOPC処理の効率化に関する各種の技術が存在するが、いずれも処理スピードや既存のリソースの活用に問題がある。そのため、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させた半導体設計装置が、望まれる。
【0020】
そこで、一例として図1に示す半導体設計装置を提供する。図1に示す半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、を備えている。
【0021】
図1に示すレイアウトデータ検証部及びOPC処理部には、プログラムの実装に重複(冗長)な処理が存在する。そこで、これらの処理(レイアウトデータ検証及びOPC処理)を、特許文献2が開示するように、統合することも考えられる。しかし、そのような統合を実際に行えば、プログラムの変更が大規模になり、半導体設計装置のコストを上昇させてしまう。
【0022】
そこで、レイアウトデータ検証部で行う処理であって、OPC処理でも同種の処理を行うときは、OPC処理用中間データを介して、レイアウトデータ検証部とOPC処理部を連携させる。
【0023】
レイアウトデータ検証部では、本来のレイアウトデータ検証時に利用・検証したデータをOPC処理部で利用できるフォーマットに変更し、中間データとして出力するのみであり、その変更は小規模である。一方、OPC処理部においても、OPC処理用中間データを参照し、参照結果を用いてその後の処理を継続すれば良く、その変更は小規模である。
【0024】
このように、LVS処理とOPC処理を互いに連携させ、冗長な処理を削減することで、半導体設計装置におけるOPC処理の処理スピードを向上させる。即ち、図1に示す半導体設計装置は、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0025】
本発明において下記の形態が可能である。
【0026】
[形態1]上記第1の視点に係る半導体設計装置のとおりである。
【0027】
[形態2]前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理部を含み、前記LVS処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0028】
[形態3]前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、前記DRC処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理部は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択することが好ましい。
【0029】
[形態4]前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、前記DRC処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記OPC処理用中間データとして生成し、前記OPC処理部は、前記層演算済みレイアウトデータを参照し、前記OPC処理の際の補正方式の判定及び選択を行うことが好ましい。
【0030】
[形態5]前記DRC処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0031】
[形態6]前記OPC処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含むことが好ましい。
【0032】
[形態7]上記第2の視点に係る半導体設計方法のとおりである。
【0033】
[形態8]前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理工程を含み、前記LVS処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0034】
[形態9]前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理工程を含み、前記DRC処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理工程は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択することが好ましい。
【0035】
[形態10]前記DRC処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0036】
[形態11]上記第3の視点に係るプログラムのとおりである。
【0037】
[形態12]前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理を含み、前記LVS処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、前記OPC処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【0038】
[形態13]前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理を含み、前記DRC処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、前記OPC処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択することが好ましい。
【0039】
[形態14]前記DRC処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成することが好ましい。
【0040】
次に、OPC処理を実行する半導体設計装置について説明する。
【0041】
図2は、半導体設計装置1の内部構成の一例を示す図である。
【0042】
半導体設計装置1は、制御部10と、メモリ20と、記憶部30と、操作部40と、表示部50から構成されている。
【0043】
さらに、制御部10には、LVS処理を実現するLVS処理部101と、DRC処理を実現するDRC処理部102と、OPC処理を実現するOPC処理部103から構成されている。各処理部の動作については、後述する。
【0044】
メモリ20は、制御部10における一時的な記憶領域として用いられる。
【0045】
記憶部30は、レイアウトデータ等の情報を記憶する。
【0046】
操作部40は、半導体設計装置1を使用するユーザ(設計者)の操作を受け付ける。
【0047】
ユーザの操作に必要な情報は、表示部50に表示する。
【0048】
次に、半導体設計装置1の動作について説明する。
【0049】
図3は、半導体設計装置1の制御部10における処理の一例を示すフローチャートである。図3において、動作の主体は制御部10である。
【0050】
ステップS01において、設計対象となる半導体集積回路のレイアウトデータを受け付ける。
【0051】
ステップS02において、LVS処理部101が、LVS処理を実行する。
【0052】
ステップS03において、DRC処理部102が、DRC処理を実行する。
【0053】
ステップS04において、OPC処理部103が、OPC処理を実行する。
【0054】
ステップS05において、OPC処理が施されたレイアウトデータが出力される。
【0055】
ステップS06において、補正後のレイアウトデータがマスクデータに変換される。
【0056】
ステップS07において、マスクデータを出力する。
【0057】
図4は、制御部10における各処理の詳細な一例を示すフローチャートである。図4を用いて、LVS処理、DRC処理及びOPC処理の各処理を説明する。
【0058】
初めに、LVS処理について説明する。
【0059】
図3のLVC処理(ステップS02)は、回路情報を読み込むステップS201と、レイアウト対回路検証を行うステップS202と、を含んでいる。
【0060】
図5は、設計対象となる半導体集積回路の回路図の一例を示す図である。図5に示す半導体集積回路の回路図には、4つの回路C01〜C04が含まれている。図5に示す回路図が物理的に正しくレイアウト(実装)されているか否かを確認する処理が、レイアウト対回路検証である。
【0061】
図6は、設計対象となる半導体集積回路のレイアウトの一例を示す図である。レイアウト対回路検証では、図5に示す回路図と、図6に示すレイアウトが等価であるかを確認する。
【0062】
ここで、半導体集積回路は、多数の機能モジュール(セル)から構成されており、特定のセルについては、別のセルに置換される。セルの置換を行う理由は様々あるが、使用が禁止されたセルであれば、使用が許可されたセルに置換される。また、後述するように、予めOPC処理が施されたセルに置換されることもある。
【0063】
そのため、レイアウト対回路検証では、レイアウトの検証と同時に、レイアウトされているセルが置換の対象となっているか否かを確認し、置換の対象であれば、セルの置換を行う。なお、セルを置換する際には、置換の対象になるセルと置換後のセルの対応を記憶した置換対象セルデータベースを検索する。
【0064】
続いて、DRC処理について説明する。
【0065】
図3のDRC処理(ステップS03)は、レイアウト層演算(ステップS301)と、レイアウトパターン検証(ステップS302)と、を含んでいる。レイアウト層演算は、レイアウト層毎に図形演算を行う処理である。レイアウトパターン検証では、設計対象の半導体集積回路におけるレイアウトパターンが設計ルールに違反していないか否かを検証する。
【0066】
続いて、OPC処理(ステップS04)について説明する。
【0067】
OPC処理のステップS401では、設計対象となる半導体集積回路のレイアウトに置換対象となるセルが存在するか否かを検索する。その際、上述の置換対象セルデータベースを検索する。
【0068】
検索した結果、置換対象セルが存在するか否かを判定するのがステップS402である。置換対象セルが存在すれば、ステップS403に遷移する。置換対象セルが存在しなければ、ステップS404に遷移する。
【0069】
ステップS403では、置換対象セルデータベースに従って、セルの置換を実行する。本ステップにおけるセルの置換では、上述のように、予めレイアウトパターン補正(OPC処理)されたセルに置換される。
【0070】
ステップS404では、レイアウト層演算を実行する。本ステップで実行するレイアウト層演算は、DRC処理における同処理(ステップS301)と同一である。
【0071】
ステップS405では、レイアウトパターンの判定を行い、設計対象となる半導体集積回路に含まれる各セルに対して、補正をしない(ステップS406)、ルールベースOPCを適用する(ステップS407)、モデルベースOPCを適用する(ステップS408)、のいずれかを決定する。
【0072】
その際、OPC処理が施されたセルに置換されたセルに対しては、OPC処理(補正)を適用する必要はないため、ステップS406が選択される。置換されていないセルであれば、ルールベースOPC(ステップS407)かモデルベースOPC(ステップS408)のいずれかが適用される。なお、いずれのOPCが適用されるかは、設計者の経験や試行錯誤に基づいて作成されたデータベースに基づいて判断される。このデータベースには、レイアウトパターン毎に最適なOPC処理が記憶されている。
【0073】
ここで、ルールベースOPCとは、ルールに従った補正をレイアウトパターンに実施する処理である。図7は、ルールベースOPCの適用の一例を示す図である。図7に示すレイアウトには、パターンL01とL02の下部及びパターンL02とL03の上部において、その幅が他のパターン間よりも広い箇所がある。このような場合に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くするというルールが規定されているとする。その結果、図7の下部に示すように、各パターンは補正される(図7の灰色の領域が補正により付加される)。さらに、レイアウトパターンの角度に基づいてレイアウトを補正するルールも存在する。例えば、レイアウトパターンの角の外側にはレイアウトデータが付加され(パターンL2の灰色の領域)、レイアウトパターンの角の内側からはレイアウトデータは削除される(パターンL2の網掛けの領域)。
【0074】
モデルベースOPCとは、光学条件に基づいてシミュレーションを、対象となるレイアウトパターンに実施し、最適なマスクデータとなるような補正を行う処理である。モデルベースOPCであっても、レイアウトパターンを補正する際の方向性はルールベースOPCと同じであるが、補正の内容がより精細になる。図8は、モデルベースOPCの適用の一例を示す図である。モデルベースOPCでは、照明条件、膜圧情報を初めとしたシミュレーション条件を決定した上で、シミュレーションを行い、対象となるレイアウトパターンに対する補正を決定する。ルールベースOPCと同様に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くする方向で補正される。また、レイアウトパターンが角度を有する場合には、その角の角度に応じて、レイアウトデータの追加又は削除が行われる。図8においても、灰色の領域が補正によって追加されるレイアウトデータであり、網掛けの領域が削除されるレイアウトデータである。
【0075】
上述のルールベースOPCやモデルベースOPCの処理が終了した後は、ステップS05に遷移し、補正後のレイアウトデータを出力する。
【0076】
[第1の実施形態]
次に、本発明の第1の実施形態について、図面を用いてより詳細に説明する。
【0077】
本実施形態に係る半導体設計装置2の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置2との相違点は、制御部10における各処理である。
【0078】
図9は、本実施形態に係る半導体設計装置2における各処理の詳細の一例を示すフローチャートである。図9は、図4に相当する図面である。図9において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0079】
図4と図9の相違点は、LVC処理におけるレイアウト対回路検証において、本来のレイアウト対回路検証の処理に加えて、置換対象セルリストを中間データとして出力し、この中間データをOPC処理で利用する点である。
【0080】
図9のステップS202aでは、回路図が正しくレイアウト(実装)されているか否かを確認すると同時に、置換対象セルデータベースを検索し、セルの置換を行う。その際、置換対象となるセルを検索する毎に、置換対象のセルを置換対象セルリストとして出力する。
【0081】
一方、OPC処理の置換対象セルリスト参照処理(ステップS401a)では、LVC処理で生成された置換対象セルリストに従って、置換対象となるセルの有無を判断(ステップS402)する。その結果、OPC処理では、再度、置換対象セルデータベースを検索する必要がなくなる。ここで、置換対象セルリストは、置換対象セルデータベースと比較すれば、極めてサイズの小さいリストであるため、その検索時間が削減できる。
【0082】
このように、LVS処理のレイアウト対回路検証において、置換対象セルデータベースを検索する際に、設計対象となる半導体集積回路に置換対象となるセルが含まれれば、そのリストを中間データとして出力する。その結果、互いに独立していたLVS処理とOPC処理を、置換対象セルリストという中間データで連携させ、半導体設計装置1における冗長な処理が削減できる(半導体設計装置2の処理スピードが向上する)。
【0083】
また、LVS処理とOPC処理の連携も、置換対象セルという中間データ(中間ファイル)を生成し、それを参照するという最小限度に留まっており、既存のリソース(プログラム)の変更は極めて小規模である。
【0084】
以上のように、本実施形態に係る半導体設計装置2によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0085】
[第2の実施形態]
次に、本発明の第2の実施形態について、図面を用いてより詳細に説明する。
【0086】
本実施形態に係る半導体設計装置3の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置3との相違点は、制御部10における各処理である。
【0087】
図10は、本実施形態に係る半導体設計装置3における各処理の詳細の一例を示すフローチャートである。図10は、図4に相当する図面である。図10において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0088】
図4と図10の相違点は、レイアウトパターン検証及び判定処理(ステップS302a)において、レイアウトパターン判定結果を中間データとして出力し、この中間データをOPC処理で利用する点である。
【0089】
図4のレイアウトパターン検証(ステップS302)では、レイアウトパターンが設計ルールに適合しているか否かを検証する。検証の際に、レイアウト層演算が終了したレイアウトパターンを認識(メモリ20に読み込み)しており、認識したレイアウトパターンは、レイアウトパターン判定(図4のステップS405)と共通して利用するデータである。そこで、レイアウトパターン検証及び判定処理において、レイアウトが設計ルールに適合しているか否かを検証すると共に、各セルに対して適用するOPC処理(ルールベースOPC又はモデルベースOPC)の判定も同時に行う。そして、OPC処理の判定結果をレイアウトパターン判定結果として出力する。
【0090】
OPC処理では、ステップS405aにおいて、このレイアウトパターン判定結果に従って、適用するOPCを判断する。従って、図10のOPC処理では、図4のレイアウト層演算(ステップS404)及びレイアウトパターン判定(ステップS405)に相当する処理は不要であり、レイアウトパターン検証及び判定が出力するレイアウトパターン判定結果を参照する処理のみが必要になる。
【0091】
その結果、本実施形態に係る半導体設計装置3によれば、既存のリソースを有効活用しつつ、OPC処理の処理スピードを向上させることができる。
【0092】
図11は、本実施形態に係る半導体設計装置3における各処理の詳細の別の一例を示すフローチャートである。
【0093】
図11に示すように、DRC処理のレイアウト層演算(ステップS301a)で層演算済みレイアウトデータを中間データとして出力することも考えられる。この場合には、OPC処理におけるレイアウト層演算(ステップS404)に代えて、層演算済みレイアウトデータを参照する(ステップS404a)。その結果、DRC処理とOPC処理において、冗長な処理となっていたレイアウト層演算を繰り返す必要がなくなり、処理スピードを向上させることができる。
【0094】
以上のように、DRC処理とOPC処理を連携させることで、半導体設計装置3の処理スピードを向上させることができる。
【0095】
[第3の実施形態]
次に、本発明の第3の実施形態について、図面を用いてより詳細に説明する。
【0096】
本実施形態に係る半導体設計装置4の内部構成については、半導体設計装置1と異なる点はないので、図2に相当する説明は省略する。半導体設計装置1と半導体設計装置4との相違点は、制御部10における各処理である。
【0097】
図12は、本実施形態に係る半導体設計装置4における各処理の詳細の一例を示すフローチャートである。図12は、図4に相当する図面である。図12において、図4と同一の処理には同一の符号を付し、その説明を省略する。
【0098】
第1の実施形態に係る半導体設計装置2では、LVS処理とOPC処理を連携させ、第2の実施形態に係る半導体設計装置3では、DRC処理とOPC処理を連携させる。本実施形態に係る半導体設計装置4では、LVS処理、DRC処理及びOPC処理を連携させる。
【0099】
図12に示すように、LVS処理のレイアウト対回路検証(ステップS202a)において、置換対象セルリストを生成する。この置換対象セルリストは第1の実施形態において説明したリストと相違する点はないため、さらなる説明は省略する。
【0100】
また、DRC処理では、レイアウトパターン検証及び判定(ステップS302b)において、置換対象セルリストを参照した上で、レイアウトパターン判定結果を生成する。より具体的には、置換対象セルリストに記載されているセルは、OPC処理において置換されてしまうセルであるので、このようなセルについてレイアウトパターン判定を行ったとしても意味がない。即ち、OPC処理で置換されることが明らかなセルについては、レイアウトパターン判定の対象から除外することで、レイアウトパターン検証及び判定処理の処理スピードを向上させる。レイアウトパターン判定結果は中間データとして出力され、OPC処理のレイアウトパターン判定結果参照(ステップS405a)において使用される。
【0101】
OPC処理では、置換対象セルリストを参照し(ステップS401a)、置換対象となるセルの有無を判断(ステップS402)する。その後、レイアウトパターン判定結果を参照し(ステップS405a)適用すべきOPC処理を決定し、レイアウトパターンの補正を実行する。従って、OPC処理には、レイアウト層演算(ステップS404)が不要になる。
【0102】
このように、LVS処理、DRC処理及びOPC処理を連携させることで、各処理間で冗長な処理のさらなる削減が可能であり、半導体設計装置4の処理スピードを、より一層向上させることができる。
【0103】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0104】
1〜4 半導体設計装置
10 制御部
20 メモリ
30 記憶部
40 操作部
50 表示部
101 LVS処理部
102 DRC処理部
103 OPC処理部
C01〜C04 回路
L01〜L04 パターン
【特許請求の範囲】
【請求項1】
半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、
前記レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、
を備えることを特徴とする半導体設計装置。
【請求項2】
前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理部を含み、
前記LVS処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項1の半導体設計装置。
【請求項3】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、
前記DRC処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択する請求項1又は2の半導体設計装置。
【請求項4】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、
前記DRC処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記層演算済みレイアウトデータを参照し、前記OPC処理の際の補正方式の判定及び選択を行う請求項1又は2の半導体設計装置。
【請求項5】
前記DRC処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項3の半導体設計装置。
【請求項6】
前記OPC処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含む請求項3乃至5のいずれか一に記載の半導体設計装置。
【請求項7】
半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証工程と、
前記OPC処理用中間データを用いて、OPC処理を行うOPC処理工程と、
を含むことを特徴とする半導体設計方法。
【請求項8】
前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理工程を含み、
前記LVS処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項7の半導体設計方法。
【請求項9】
前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理工程を含み、
前記DRC処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理工程は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択する請求項7又は8の半導体設計方法。
【請求項10】
前記DRC処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項9の半導体設計方法。
【請求項11】
半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証処理と、
前記OPC処理用中間データを用いるOPC処理と、
をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラム。
【請求項12】
前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理を含み、
前記LVS処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項11のプログラム。
【請求項13】
前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理を含み、
前記DRC処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択する請求項11又は12のプログラム。
【請求項14】
前記DRC処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項13のプログラム。
【請求項1】
半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、
前記レイアウトデータ検証部が生成するOPC処理用中間データを用いて、OPC処理を行うOPC処理部と、
を備えることを特徴とする半導体設計装置。
【請求項2】
前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理部を含み、
前記LVS処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項1の半導体設計装置。
【請求項3】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、
前記DRC処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択する請求項1又は2の半導体設計装置。
【請求項4】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理部を含み、
前記DRC処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記OPC処理用中間データとして生成し、
前記OPC処理部は、前記層演算済みレイアウトデータを参照し、前記OPC処理の際の補正方式の判定及び選択を行う請求項1又は2の半導体設計装置。
【請求項5】
前記DRC処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項3の半導体設計装置。
【請求項6】
前記OPC処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含む請求項3乃至5のいずれか一に記載の半導体設計装置。
【請求項7】
半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証工程と、
前記OPC処理用中間データを用いて、OPC処理を行うOPC処理工程と、
を含むことを特徴とする半導体設計方法。
【請求項8】
前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理工程を含み、
前記LVS処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項7の半導体設計方法。
【請求項9】
前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理工程を含み、
前記DRC処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理工程は、前記レイアウトパターン判定結果に基づき、前記OPC処理を実行する際の補正方式を選択する請求項7又は8の半導体設計方法。
【請求項10】
前記DRC処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項9の半導体設計方法。
【請求項11】
半導体集積回路のレイアウトデータの検証を行い、OPC処理用中間データを生成するレイアウトデータ検証処理と、
前記OPC処理用中間データを用いるOPC処理と、
をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラム。
【請求項12】
前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うLVS処理を含み、
前記LVS処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記OPC処理用中間データとして生成し、
前記OPC処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項11のプログラム。
【請求項13】
前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するDRC処理を含み、
前記DRC処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記OPC処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記OPC処理用中間データとして生成し、
前記OPC処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択する請求項11又は12のプログラム。
【請求項14】
前記DRC処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記OPC処理用中間データとして生成する請求項13のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−65235(P2013−65235A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−204301(P2011−204301)
【出願日】平成23年9月20日(2011.9.20)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月20日(2011.9.20)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]