(57)【要約】【課題】レイアウトデータの検証を行うＬＶＳ処理やＤＲＣ処理と、ＯＰＣ処理には、プログラムの実装に重複（冗長）な処理が存在する。そこで、これらの処理を、統合することも考えられる。しかし、そのような統合を実際に行えば、プログラムの変更が大規模になり、半導体設計装置のコストを上昇させてしまう。そのため、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させた半導体設計装置が、望まれる。【解決手段】半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理部と、を備えている。【選択図】図１
2013065235.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、
前記レイアウトデータ検証部が生成するＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理部と、
を備えることを特徴とする半導体設計装置。
【請求項２】
前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理部を含み、
前記ＬＶＳ処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項１の半導体設計装置。
【請求項３】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理部を含み、
前記ＤＲＣ処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理部は、前記レイアウトパターン判定結果に基づき、前記ＯＰＣ処理を実行する際の補正方式を選択する請求項１又は２の半導体設計装置。
【請求項４】
前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理部を含み、
前記ＤＲＣ処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理部は、前記層演算済みレイアウトデータを参照し、前記ＯＰＣ処理の際の補正方式の判定及び選択を行う請求項１又は２の半導体設計装置。
【請求項５】
前記ＤＲＣ処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成する請求項３の半導体設計装置。
【請求項６】
前記ＯＰＣ処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含む請求項３乃至５のいずれか一に記載の半導体設計装置。
【請求項７】
半導体集積回路のレイアウトデータの検証を行い、ＯＰＣ処理用中間データを生成するレイアウトデータ検証工程と、
前記ＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理工程と、
を含むことを特徴とする半導体設計方法。
【請求項８】
前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理工程を含み、
前記ＬＶＳ処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項７の半導体設計方法。
【請求項９】
前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理工程を含み、
前記ＤＲＣ処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理工程は、前記レイアウトパターン判定結果に基づき、前記ＯＰＣ処理を実行する際の補正方式を選択する請求項７又は８の半導体設計方法。
【請求項１０】
前記ＤＲＣ処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成する請求項９の半導体設計方法。
【請求項１１】
半導体集積回路のレイアウトデータの検証を行い、ＯＰＣ処理用中間データを生成するレイアウトデータ検証処理と、
前記ＯＰＣ処理用中間データを用いるＯＰＣ処理と、
をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラム。
【請求項１２】
前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理を含み、
前記ＬＶＳ処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定する請求項１１のプログラム。
【請求項１３】
前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理を含み、
前記ＤＲＣ処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、
前記ＯＰＣ処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択する請求項１１又は１２のプログラム。
【請求項１４】
前記ＤＲＣ処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成する請求項１３のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計装置、半導体設計方法及びプログラムに関する。特に、半導体集積回路のマスクデータを作成する半導体設計装置、半導体設計方法及びプログラムに関する。
【背景技術】
【０００２】
年々、半導体集積回路のプロセスは微細化している。プロセスの微細化が進み、半導体集積回路の加工寸法と露光波長が近づくと、マスクパターンの形状や大きさ等の影響により、マスクパターンを忠実にウェハに露光することが難しくなる。
【０００３】
そこで、マスクパターンを忠実に再現するために、マスクデータの作成時にレイアウトパターンを補正する処理が行われる。このような処理は、ＯＰＣ（Ｏｐｔｉｃａｌ  Ｐｒｏｘｉｍｉｔｙ  Ｃｏｒｒｅｃｔｉｏｎ；光近接効果補正）処理と呼ばれる。ＯＰＣ処理には、レイアウトパターンの特徴に応じて定められた補正ルールに従って、補正を行うルールベースＯＰＣや、レジスタ等の特性をモデル化し、モデル化したデータに基づいたシミュレーションにより補正を行うモデルベースＯＰＣ、が存在する。
【０００４】
マスクデータの作成時には、補正の対象となるレイアウトパターンに最適なＯＰＣ処理を選択し、効果的かつ効率的に補正を行う必要がある。しかし、上述のように近年の半導体集積回路の微細化の進行は著しく、ＯＰＣ処理に求められる補正がより高精度なものになってきており、レイアウトパターンに最適なＯＰＣ処理を選択すること自体が複雑化してきている。即ち、半導体集積回路の微細化と共に、最適なＯＰＣ処理を選択するための処理が増加してきている。
【０００５】
ここで、特許文献１において、レイアウトパターン毎に、補正が必要な図形（形状）であるか、補正が不要な図形であるかを判断し、補正が必要な図形に限り、どのようなＯＰＣ処理が適用するかを判定する技術が開示されている。
【０００６】
さらに、特許文献２において、レイアウトデータが予め定めた設計ルールに適合するか否かの検証を行うＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋ）や、マスクパターンが設計した回路図と一致しているか否かの検証を行うＬＶＳ（Ｌａｙｏｕｔ  ｖｅｒｓｕｓ  Ｓｃｈｅｍａｔｉｃ）と、ＯＰＣ処理を統一し、さらに、個々の処理で扱うデータを同一のデータベースに蓄積・更新することで、個々の処理を最適化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１７５８９８号公報
【特許文献２】特表２００４−５０３８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【０００９】
上述のように、半導体集積回路のＯＰＣ処理の効率化に関する各種の技術が存在する。しかし、これらの技術にはいずれも問題点が存在する。
【００１０】
特許文献１で開示された技術では、半導体集積回路のプロセスが微細化すると共に、補正の要否を判断するためのルールが複雑化し、ＯＰＣ処理の処理スピードが低下してしまう。
【００１１】
特許文献２で開示された技術では、ＤＲＣ、ＬＶＳ及びＯＰＣといった処理を統合した上で、同一のデータベースを使用する構成であるが、これらの処理は独立して、コンピュータに実行させるプログラムとして存在している場合が多い。従って、これらの処理を統合し、新たなプログラムとして開発することは、既存のリソースを有効に活用できず、半導体設計装置の開発コストが上昇してしまう。
【００１２】
以上のように、ＯＰＣ処理の効率化には、解決すべき問題点が存在する。そのため、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、望まれる。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、前記レイアウトデータ検証部が生成するＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理部と、を備える半導体設計装置が提供される。
【００１４】
本発明の第２の視点によれば、半導体集積回路のレイアウトデータの検証を行い、ＯＰＣ処理用中間データを生成するレイアウトデータ検証工程と、前記ＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理工程と、を含む半導体設計方法が提供される。
【００１５】
本発明の第３の視点によれば、半導体集積回路のレイアウトデータの検証を行い、ＯＰＣ処理用中間データを生成するレイアウトデータ検証処理と、前記ＯＰＣ処理用中間データを用いるＯＰＣ処理と、をコンピュータに実行させ、前記コンピュータを半導体設計装置として動作させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１６】
本発明の各視点によれば、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させた半導体設計装置、半導体設計方法及びプログラムが、提供される。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の概要を説明するための図である。
【図２】半導体設計装置１の内部構成の一例を示す図である。
【図３】半導体設計装置１の制御部１０における処理の一例を示すフローチャートである。
【図４】図２に示す制御部１０における各処理の詳細な一例を示すフローチャートである。
【図５】設計対象となる半導体集積回路の回路図の一例を示す図である。
【図６】設計対象となる半導体集積回路のレイアウトの一例を示す図である。
【図７】ルールベースＯＰＣの適用の一例を示す図である。
【図８】モデルベースＯＰＣの適用の一例を示す図である。
【図９】本発明の第１の実施形態に係る半導体設計装置２における各処理の詳細の一例を示すフローチャートである。
【図１０】本発明の第２の実施形態に係る半導体設計装置３における各処理の詳細の一例を示すフローチャートである。
【図１１】本発明の第２の実施形態に係る半導体設計装置３における各処理の詳細の別の一例を示すフローチャートである。
【図１２】本発明の第３の実施形態に係る半導体設計装置４における各処理の詳細の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
上述のように、半導体集積回路のＯＰＣ処理の効率化に関する各種の技術が存在するが、いずれも処理スピードや既存のリソースの活用に問題がある。そのため、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させた半導体設計装置が、望まれる。
【００２０】
そこで、一例として図１に示す半導体設計装置を提供する。図１に示す半導体設計装置は、半導体集積回路のレイアウトデータの検証を行うレイアウトデータ検証部と、レイアウトデータ検証部が生成するＯＰＣ処理用中間データを用いて、ＯＰＣ処理を行うＯＰＣ処理部と、を備えている。
【００２１】
図１に示すレイアウトデータ検証部及びＯＰＣ処理部には、プログラムの実装に重複（冗長）な処理が存在する。そこで、これらの処理（レイアウトデータ検証及びＯＰＣ処理）を、特許文献２が開示するように、統合することも考えられる。しかし、そのような統合を実際に行えば、プログラムの変更が大規模になり、半導体設計装置のコストを上昇させてしまう。
【００２２】
そこで、レイアウトデータ検証部で行う処理であって、ＯＰＣ処理でも同種の処理を行うときは、ＯＰＣ処理用中間データを介して、レイアウトデータ検証部とＯＰＣ処理部を連携させる。
【００２３】
レイアウトデータ検証部では、本来のレイアウトデータ検証時に利用・検証したデータをＯＰＣ処理部で利用できるフォーマットに変更し、中間データとして出力するのみであり、その変更は小規模である。一方、ＯＰＣ処理部においても、ＯＰＣ処理用中間データを参照し、参照結果を用いてその後の処理を継続すれば良く、その変更は小規模である。
【００２４】
このように、ＬＶＳ処理とＯＰＣ処理を互いに連携させ、冗長な処理を削減することで、半導体設計装置におけるＯＰＣ処理の処理スピードを向上させる。即ち、図１に示す半導体設計装置は、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させることができる。
【００２５】
本発明において下記の形態が可能である。
【００２６】
［形態１］上記第１の視点に係る半導体設計装置のとおりである。
【００２７】
［形態２］前記レイアウトデータ検証部は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理部を含み、前記ＬＶＳ処理部は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理部は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【００２８】
［形態３］前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理部を含み、前記ＤＲＣ処理部は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理部は、前記レイアウトパターン判定結果に基づき、前記ＯＰＣ処理を実行する際の補正方式を選択することが好ましい。
【００２９】
［形態４］前記レイアウトデータ検証部は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理部を含み、前記ＤＲＣ処理部は、レイアウト層演算の実行時に層演算済みレイアウトデータを前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理部は、前記層演算済みレイアウトデータを参照し、前記ＯＰＣ処理の際の補正方式の判定及び選択を行うことが好ましい。
【００３０】
［形態５］前記ＤＲＣ処理部は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成することが好ましい。
【００３１】
［形態６］前記ＯＰＣ処理の際の補正方式には、ルールベースの補正方式、又は、モデルベースの補正方式のうち、少なくともいずれかを含むことが好ましい。
【００３２】
［形態７］上記第２の視点に係る半導体設計方法のとおりである。
【００３３】
［形態８］前記レイアウトデータ検証工程は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理工程を含み、前記ＬＶＳ処理工程は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理工程は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【００３４】
［形態９］前記レイアウトデータ検証工程は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理工程を含み、前記ＤＲＣ処理工程は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理工程は、前記レイアウトパターン判定結果に基づき、前記ＯＰＣ処理を実行する際の補正方式を選択することが好ましい。
【００３５】
［形態１０］前記ＤＲＣ処理工程は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成することが好ましい。
【００３６】
［形態１１］上記第３の視点に係るプログラムのとおりである。
【００３７】
［形態１２］前記レイアウトデータ検証処理は、レイアウトパターンと回路図とが一致するか否かのレイアウト対回路検証を行うＬＶＳ処理を含み、前記ＬＶＳ処理は、前記レイアウト対回路検証の結果、他のセルに置換する必要があるセルに関する情報を含む置換対象セルリストを前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理は、前記置換対象セルリストに基づいたレイアウトパターンの補正を実行するか否かを決定することが好ましい。
【００３８】
［形態１３］前記レイアウトデータ検証処理は、レイアウトデータが、予め定められた設計ルールに適合するか否かを検証するＤＲＣ処理を含み、前記ＤＲＣ処理は、前記設計ルールに従ってレイアウトパターン検証を行うと共に、前記ＯＰＣ処理の際の補正方式の判定結果に関する情報を含むレイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成し、前記ＯＰＣ処理は、前記レイアウトパターン判定結果に基づき、補正方式を選択することが好ましい。
【００３９】
［形態１４］前記ＤＲＣ処理は、前記置換対象セルリストに基づき、前記レイアウトパターン判定結果を前記ＯＰＣ処理用中間データとして生成することが好ましい。
【００４０】
次に、ＯＰＣ処理を実行する半導体設計装置について説明する。
【００４１】
図２は、半導体設計装置１の内部構成の一例を示す図である。
【００４２】
半導体設計装置１は、制御部１０と、メモリ２０と、記憶部３０と、操作部４０と、表示部５０から構成されている。
【００４３】
さらに、制御部１０には、ＬＶＳ処理を実現するＬＶＳ処理部１０１と、ＤＲＣ処理を実現するＤＲＣ処理部１０２と、ＯＰＣ処理を実現するＯＰＣ処理部１０３から構成されている。各処理部の動作については、後述する。
【００４４】
メモリ２０は、制御部１０における一時的な記憶領域として用いられる。
【００４５】
記憶部３０は、レイアウトデータ等の情報を記憶する。
【００４６】
操作部４０は、半導体設計装置１を使用するユーザ（設計者）の操作を受け付ける。
【００４７】
ユーザの操作に必要な情報は、表示部５０に表示する。
【００４８】
次に、半導体設計装置１の動作について説明する。
【００４９】
図３は、半導体設計装置１の制御部１０における処理の一例を示すフローチャートである。図３において、動作の主体は制御部１０である。
【００５０】
ステップＳ０１において、設計対象となる半導体集積回路のレイアウトデータを受け付ける。
【００５１】
ステップＳ０２において、ＬＶＳ処理部１０１が、ＬＶＳ処理を実行する。
【００５２】
ステップＳ０３において、ＤＲＣ処理部１０２が、ＤＲＣ処理を実行する。
【００５３】
ステップＳ０４において、ＯＰＣ処理部１０３が、ＯＰＣ処理を実行する。
【００５４】
ステップＳ０５において、ＯＰＣ処理が施されたレイアウトデータが出力される。
【００５５】
ステップＳ０６において、補正後のレイアウトデータがマスクデータに変換される。
【００５６】
ステップＳ０７において、マスクデータを出力する。
【００５７】
図４は、制御部１０における各処理の詳細な一例を示すフローチャートである。図４を用いて、ＬＶＳ処理、ＤＲＣ処理及びＯＰＣ処理の各処理を説明する。
【００５８】
初めに、ＬＶＳ処理について説明する。
【００５９】
図３のＬＶＣ処理（ステップＳ０２）は、回路情報を読み込むステップＳ２０１と、レイアウト対回路検証を行うステップＳ２０２と、を含んでいる。
【００６０】
図５は、設計対象となる半導体集積回路の回路図の一例を示す図である。図５に示す半導体集積回路の回路図には、４つの回路Ｃ０１〜Ｃ０４が含まれている。図５に示す回路図が物理的に正しくレイアウト（実装）されているか否かを確認する処理が、レイアウト対回路検証である。
【００６１】
図６は、設計対象となる半導体集積回路のレイアウトの一例を示す図である。レイアウト対回路検証では、図５に示す回路図と、図６に示すレイアウトが等価であるかを確認する。
【００６２】
ここで、半導体集積回路は、多数の機能モジュール（セル）から構成されており、特定のセルについては、別のセルに置換される。セルの置換を行う理由は様々あるが、使用が禁止されたセルであれば、使用が許可されたセルに置換される。また、後述するように、予めＯＰＣ処理が施されたセルに置換されることもある。
【００６３】
そのため、レイアウト対回路検証では、レイアウトの検証と同時に、レイアウトされているセルが置換の対象となっているか否かを確認し、置換の対象であれば、セルの置換を行う。なお、セルを置換する際には、置換の対象になるセルと置換後のセルの対応を記憶した置換対象セルデータベースを検索する。
【００６４】
続いて、ＤＲＣ処理について説明する。
【００６５】
図３のＤＲＣ処理（ステップＳ０３）は、レイアウト層演算（ステップＳ３０１）と、レイアウトパターン検証（ステップＳ３０２）と、を含んでいる。レイアウト層演算は、レイアウト層毎に図形演算を行う処理である。レイアウトパターン検証では、設計対象の半導体集積回路におけるレイアウトパターンが設計ルールに違反していないか否かを検証する。
【００６６】
続いて、ＯＰＣ処理（ステップＳ０４）について説明する。
【００６７】
ＯＰＣ処理のステップＳ４０１では、設計対象となる半導体集積回路のレイアウトに置換対象となるセルが存在するか否かを検索する。その際、上述の置換対象セルデータベースを検索する。
【００６８】
検索した結果、置換対象セルが存在するか否かを判定するのがステップＳ４０２である。置換対象セルが存在すれば、ステップＳ４０３に遷移する。置換対象セルが存在しなければ、ステップＳ４０４に遷移する。
【００６９】
ステップＳ４０３では、置換対象セルデータベースに従って、セルの置換を実行する。本ステップにおけるセルの置換では、上述のように、予めレイアウトパターン補正（ＯＰＣ処理）されたセルに置換される。
【００７０】
ステップＳ４０４では、レイアウト層演算を実行する。本ステップで実行するレイアウト層演算は、ＤＲＣ処理における同処理（ステップＳ３０１）と同一である。
【００７１】
ステップＳ４０５では、レイアウトパターンの判定を行い、設計対象となる半導体集積回路に含まれる各セルに対して、補正をしない（ステップＳ４０６）、ルールベースＯＰＣを適用する（ステップＳ４０７）、モデルベースＯＰＣを適用する（ステップＳ４０８）、のいずれかを決定する。
【００７２】
その際、ＯＰＣ処理が施されたセルに置換されたセルに対しては、ＯＰＣ処理（補正）を適用する必要はないため、ステップＳ４０６が選択される。置換されていないセルであれば、ルールベースＯＰＣ（ステップＳ４０７）かモデルベースＯＰＣ（ステップＳ４０８）のいずれかが適用される。なお、いずれのＯＰＣが適用されるかは、設計者の経験や試行錯誤に基づいて作成されたデータベースに基づいて判断される。このデータベースには、レイアウトパターン毎に最適なＯＰＣ処理が記憶されている。
【００７３】
ここで、ルールベースＯＰＣとは、ルールに従った補正をレイアウトパターンに実施する処理である。図７は、ルールベースＯＰＣの適用の一例を示す図である。図７に示すレイアウトには、パターンＬ０１とＬ０２の下部及びパターンＬ０２とＬ０３の上部において、その幅が他のパターン間よりも広い箇所がある。このような場合に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くするというルールが規定されているとする。その結果、図７の下部に示すように、各パターンは補正される（図７の灰色の領域が補正により付加される）。さらに、レイアウトパターンの角度に基づいてレイアウトを補正するルールも存在する。例えば、レイアウトパターンの角の外側にはレイアウトデータが付加され（パターンＬ２の灰色の領域）、レイアウトパターンの角の内側からはレイアウトデータは削除される（パターンＬ２の網掛けの領域）。
【００７４】
モデルベースＯＰＣとは、光学条件に基づいてシミュレーションを、対象となるレイアウトパターンに実施し、最適なマスクデータとなるような補正を行う処理である。モデルベースＯＰＣであっても、レイアウトパターンを補正する際の方向性はルールベースＯＰＣと同じであるが、補正の内容がより精細になる。図８は、モデルベースＯＰＣの適用の一例を示す図である。モデルベースＯＰＣでは、照明条件、膜圧情報を初めとしたシミュレーション条件を決定した上で、シミュレーションを行い、対象となるレイアウトパターンに対する補正を決定する。ルールベースＯＰＣと同様に、パターン間の幅が予め定めた広さを超えている場合には、それぞれのパターンを太くする方向で補正される。また、レイアウトパターンが角度を有する場合には、その角の角度に応じて、レイアウトデータの追加又は削除が行われる。図８においても、灰色の領域が補正によって追加されるレイアウトデータであり、網掛けの領域が削除されるレイアウトデータである。
【００７５】
上述のルールベースＯＰＣやモデルベースＯＰＣの処理が終了した後は、ステップＳ０５に遷移し、補正後のレイアウトデータを出力する。
【００７６】
［第１の実施形態］
次に、本発明の第１の実施形態について、図面を用いてより詳細に説明する。
【００７７】
本実施形態に係る半導体設計装置２の内部構成については、半導体設計装置１と異なる点はないので、図２に相当する説明は省略する。半導体設計装置１と半導体設計装置２との相違点は、制御部１０における各処理である。
【００７８】
図９は、本実施形態に係る半導体設計装置２における各処理の詳細の一例を示すフローチャートである。図９は、図４に相当する図面である。図９において、図４と同一の処理には同一の符号を付し、その説明を省略する。
【００７９】
図４と図９の相違点は、ＬＶＣ処理におけるレイアウト対回路検証において、本来のレイアウト対回路検証の処理に加えて、置換対象セルリストを中間データとして出力し、この中間データをＯＰＣ処理で利用する点である。
【００８０】
図９のステップＳ２０２ａでは、回路図が正しくレイアウト（実装）されているか否かを確認すると同時に、置換対象セルデータベースを検索し、セルの置換を行う。その際、置換対象となるセルを検索する毎に、置換対象のセルを置換対象セルリストとして出力する。
【００８１】
一方、ＯＰＣ処理の置換対象セルリスト参照処理（ステップＳ４０１ａ）では、ＬＶＣ処理で生成された置換対象セルリストに従って、置換対象となるセルの有無を判断（ステップＳ４０２）する。その結果、ＯＰＣ処理では、再度、置換対象セルデータベースを検索する必要がなくなる。ここで、置換対象セルリストは、置換対象セルデータベースと比較すれば、極めてサイズの小さいリストであるため、その検索時間が削減できる。
【００８２】
このように、ＬＶＳ処理のレイアウト対回路検証において、置換対象セルデータベースを検索する際に、設計対象となる半導体集積回路に置換対象となるセルが含まれれば、そのリストを中間データとして出力する。その結果、互いに独立していたＬＶＳ処理とＯＰＣ処理を、置換対象セルリストという中間データで連携させ、半導体設計装置１における冗長な処理が削減できる（半導体設計装置２の処理スピードが向上する）。
【００８３】
また、ＬＶＳ処理とＯＰＣ処理の連携も、置換対象セルという中間データ（中間ファイル）を生成し、それを参照するという最小限度に留まっており、既存のリソース（プログラム）の変更は極めて小規模である。
【００８４】
以上のように、本実施形態に係る半導体設計装置２によれば、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させることができる。
【００８５】
［第２の実施形態］
次に、本発明の第２の実施形態について、図面を用いてより詳細に説明する。
【００８６】
本実施形態に係る半導体設計装置３の内部構成については、半導体設計装置１と異なる点はないので、図２に相当する説明は省略する。半導体設計装置１と半導体設計装置３との相違点は、制御部１０における各処理である。
【００８７】
図１０は、本実施形態に係る半導体設計装置３における各処理の詳細の一例を示すフローチャートである。図１０は、図４に相当する図面である。図１０において、図４と同一の処理には同一の符号を付し、その説明を省略する。
【００８８】
図４と図１０の相違点は、レイアウトパターン検証及び判定処理（ステップＳ３０２ａ）において、レイアウトパターン判定結果を中間データとして出力し、この中間データをＯＰＣ処理で利用する点である。
【００８９】
図４のレイアウトパターン検証（ステップＳ３０２）では、レイアウトパターンが設計ルールに適合しているか否かを検証する。検証の際に、レイアウト層演算が終了したレイアウトパターンを認識（メモリ２０に読み込み）しており、認識したレイアウトパターンは、レイアウトパターン判定（図４のステップＳ４０５）と共通して利用するデータである。そこで、レイアウトパターン検証及び判定処理において、レイアウトが設計ルールに適合しているか否かを検証すると共に、各セルに対して適用するＯＰＣ処理（ルールベースＯＰＣ又はモデルベースＯＰＣ）の判定も同時に行う。そして、ＯＰＣ処理の判定結果をレイアウトパターン判定結果として出力する。
【００９０】
ＯＰＣ処理では、ステップＳ４０５ａにおいて、このレイアウトパターン判定結果に従って、適用するＯＰＣを判断する。従って、図１０のＯＰＣ処理では、図４のレイアウト層演算（ステップＳ４０４）及びレイアウトパターン判定（ステップＳ４０５）に相当する処理は不要であり、レイアウトパターン検証及び判定が出力するレイアウトパターン判定結果を参照する処理のみが必要になる。
【００９１】
その結果、本実施形態に係る半導体設計装置３によれば、既存のリソースを有効活用しつつ、ＯＰＣ処理の処理スピードを向上させることができる。
【００９２】
図１１は、本実施形態に係る半導体設計装置３における各処理の詳細の別の一例を示すフローチャートである。
【００９３】
図１１に示すように、ＤＲＣ処理のレイアウト層演算（ステップＳ３０１ａ）で層演算済みレイアウトデータを中間データとして出力することも考えられる。この場合には、ＯＰＣ処理におけるレイアウト層演算（ステップＳ４０４）に代えて、層演算済みレイアウトデータを参照する（ステップＳ４０４ａ）。その結果、ＤＲＣ処理とＯＰＣ処理において、冗長な処理となっていたレイアウト層演算を繰り返す必要がなくなり、処理スピードを向上させることができる。
【００９４】
以上のように、ＤＲＣ処理とＯＰＣ処理を連携させることで、半導体設計装置３の処理スピードを向上させることができる。
【００９５】
［第３の実施形態］
次に、本発明の第３の実施形態について、図面を用いてより詳細に説明する。
【００９６】
本実施形態に係る半導体設計装置４の内部構成については、半導体設計装置１と異なる点はないので、図２に相当する説明は省略する。半導体設計装置１と半導体設計装置４との相違点は、制御部１０における各処理である。
【００９７】
図１２は、本実施形態に係る半導体設計装置４における各処理の詳細の一例を示すフローチャートである。図１２は、図４に相当する図面である。図１２において、図４と同一の処理には同一の符号を付し、その説明を省略する。
【００９８】
第１の実施形態に係る半導体設計装置２では、ＬＶＳ処理とＯＰＣ処理を連携させ、第２の実施形態に係る半導体設計装置３では、ＤＲＣ処理とＯＰＣ処理を連携させる。本実施形態に係る半導体設計装置４では、ＬＶＳ処理、ＤＲＣ処理及びＯＰＣ処理を連携させる。
【００９９】
図１２に示すように、ＬＶＳ処理のレイアウト対回路検証（ステップＳ２０２ａ）において、置換対象セルリストを生成する。この置換対象セルリストは第１の実施形態において説明したリストと相違する点はないため、さらなる説明は省略する。
【０１００】
また、ＤＲＣ処理では、レイアウトパターン検証及び判定（ステップＳ３０２ｂ）において、置換対象セルリストを参照した上で、レイアウトパターン判定結果を生成する。より具体的には、置換対象セルリストに記載されているセルは、ＯＰＣ処理において置換されてしまうセルであるので、このようなセルについてレイアウトパターン判定を行ったとしても意味がない。即ち、ＯＰＣ処理で置換されることが明らかなセルについては、レイアウトパターン判定の対象から除外することで、レイアウトパターン検証及び判定処理の処理スピードを向上させる。レイアウトパターン判定結果は中間データとして出力され、ＯＰＣ処理のレイアウトパターン判定結果参照（ステップＳ４０５ａ）において使用される。
【０１０１】
ＯＰＣ処理では、置換対象セルリストを参照し（ステップＳ４０１ａ）、置換対象となるセルの有無を判断（ステップＳ４０２）する。その後、レイアウトパターン判定結果を参照し（ステップＳ４０５ａ）適用すべきＯＰＣ処理を決定し、レイアウトパターンの補正を実行する。従って、ＯＰＣ処理には、レイアウト層演算（ステップＳ４０４）が不要になる。
【０１０２】
このように、ＬＶＳ処理、ＤＲＣ処理及びＯＰＣ処理を連携させることで、各処理間で冗長な処理のさらなる削減が可能であり、半導体設計装置４の処理スピードを、より一層向上させることができる。
【０１０３】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１０４】
１〜４  半導体設計装置
１０  制御部
２０  メモリ
３０  記憶部
４０  操作部
５０  表示部
１０１  ＬＶＳ処理部
１０２  ＤＲＣ処理部
１０３  ＯＰＣ処理部
Ｃ０１〜Ｃ０４  回路
Ｌ０１〜Ｌ０４  パターン
【図１】
2013065235.tif 000003
【図２】
2013065235.tif 000004
【図３】
2013065235.tif 000005
【図４】
2013065235.tif 000006
【図５】
2013065235.tif 000007
【図６】
2013065235.tif 000008
【図７】
2013065235.tif 000009
【図８】
2013065235.tif 000010
【図９】
2013065235.tif 000011
【図１０】
2013065235.tif 000012
【図１１】
2013065235.tif 000013
【図１２】
2013065235.tif 000014