(57)【要約】【課題】フォトマスクパターンのＯＰＣ処理にかかる時間が短くすること。【解決手段】集積回路のレイアウトパターンから機能ブロックに対応する機能ブロック領域を検出する工程と、前記機能ブロック領域のパターン密度に基づいて、前記機能ブロック領域を分割するサイズを決定する工程と、前記機能ブロック領域を、決定された前記サイズに分割して単位エリアを生成する工程と、前記単位エリアをコンピュータにＯＰＣ処理させる工程とを有すること。【選択図】図１６
2014092655.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のレイアウトパターンから機能ブロックに対応する機能ブロック領域を検出する工程と、
前記機能ブロック領域のパターン密度に基づいて、前記機能ブロック領域を分割するサイズを決定する工程と、
前記機能ブロック領域を、決定された前記サイズに分割して単位エリアを生成する工程と、
前記単位エリアをコンピュータにＯＰＣ処理させる工程と
を有するレイアウトパターンの補正方法。
【請求項２】
請求項１に記載のレイアウトパターンの補正方法において、
前記パターン密度は、前記機能ブロック領域に含まれるパターンの最小線幅に基づいて決定されることを特徴とするレイアウトパターンの補正方法。
【請求項３】
請求項１又は２に記載のレイアウトパターンの補正方法において、さらに、
前記コンピュータに前記ＯＰＣ処理させる工程の前に、複数の前記単位エリアから複数のエリアを選択し、選択された前記複数のエリアそれぞれにおけるＯＰＣ処理のメモリ使用量を測定する工程を有し、
前記コンピュータに前記ＯＰＣ処理させる工程では、前記ＯＰＣ処理が開始されていない前記単位エリアから一または複数の単位エリアを選択し、選択された前記各単位エリアを含む処理エリアを前記コンピュータにＯＰＣ処理させ、
前記処理エリアに含まれる前記単位エリアの数は、前記各コンピュータのＯＰＣ処理に使用可能なメモリ容量を測定された前記メモリ使用量のうちの最大のメモリ使用量で割り算して得られる同時処理数であることを
特徴とするレイアウトパターンの補正方法。
【請求項４】
請求項３に記載のレイアウトパターンの補正方法において、
前記コンピュータに前記ＯＰＣ処理させる工程では、複数の前記処理エリアを複数の前記コンピュータに並列してＯＰＣ処理させ、
前記各処理エリアに含まる前記単位エリアの数は、
前記ＯＰＣ処理が開始されていない前記単位エリアが一定数より多く存在する場合に、前記各処理エリアを前記ＯＰＣ処理する前記コンピュータが処理可能な最も大きい数であり、
前記ＯＰＣ処理が開始されていない前記単位エリアが前記一定数以下の場合には、１であることを
特徴とするレイアウトパターンの補正方法。
【請求項５】
請求項４に記載のレイアウトパターンの補正方法において、
前記一定数は、前記各処理エリアをＯＰＣ処理する前記コンピュータごとに得られる前記同時処理数のうち最も大きい値に前記コンピュータの数を乗じた数であることを
特徴とするレイアウトパターンの補正方法。
【請求項６】
請求項３に記載のレイアウトパターンの補正方法において、
前記第４工程では、前記複数のエリアの少なくても一部を、前記機能ブロック領域の中央部から選択することを
特徴とするレイアウトパターンの補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトパターンの補正方法に関する。
【背景技術】
【０００２】
フォトマスク上に数十ｎｍ間隔で配置されたパターンをレジスト膜に転写すると、フォトマスク上のパターンとは異なった形状を有するレジストパターンが形成される。このようなパターン形状の変形は、フォトマスク上のパターンを光近接効果補正（Optical Proximity Correction; 以下ＯＰＣ処理と呼ぶ）することで抑制される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２１２４８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＯＰＣ処理は、コンピュータにより行われる。しかしコンピュータが一度にＯＰＣ処理できるパターン数は、コンピュータのメモリ容量によって制限される。そこでフォトマスクのパターンは複数の領域（以下、ＯＰＣエリアと呼ぶ）に分割され、複数のコンピュータが並列してそれぞれのＯＰＣエリアをＯＰＣ処理する。
【０００５】
集積回路が微細化すると、フォトマスクのパターン密度は増加する。するとＯＰＣエリア内のパターン数が増加し、ＯＰＣ処理に使用されるメモリ量が増加する。その結果、メモリ不足によりＯＰＣ処理に障害をきたし易くなる。
【０００６】
そこで集積回路が微細化すると、フォトマスクパターンの分割数を増やしてＯＰＣ処理が行われる。フォトマスクパターンの分割数が増加する、ＯＰＣエリアが小さくなる。するとＯＰＣエリア内のパターン数が減少し、ＯＰＣ処理に使用されるメモリ量が抑制される。このため、ＯＰＣ処理に障害をきたし難くなる。
【０００７】
しかしＯＰＣエリアの処理時間は、分割数に反比例して減少しない。分割数がＮ倍になった時の一ＯＰＣエリア当たりの処理時間は、分割前の処理時間の１／Ｎより長い。このためフォトマスクパターンの分割数が増加すると、フォトマスク全体のＯＰＣ処理時間が長くなる。
【課題を解決するための手段】
【０００８】
上記の問題を解決するために、本方法の一観点によれば、集積回路のレイアウトパターンから機能ブロックに対応する機能ブロック領域を検出する工程と、前記機能ブロック領域のパターン密度に基づいて、前記機能ブロック領域を分割するサイズを決定する工程と、前記機能ブロック領域を、決定された前記サイズに分割して単位エリアを生成する工程と、前記単位エリアをコンピュータにＯＰＣ処理させる工程とを有するレイアウトパターンの補正方法レイアウトパターンの補正方法が提供される。 
【発明の効果】
【０００９】
開示の方法によれば、フォトマスクパターンのＯＰＣ処理にかかる時間が短くなる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態のパターン補正方法を実行するパターン補正装置の構成図である。
【図２】図２は、マスターマシンの構成図である。
【図３】実施の形態のレイアウトパターン補正方法のフローチャートの一例である。
【図４】実施の形態のレイアウトパターン補正方法のフローチャートの一例である。
【図５】実施の形態のレイアウトパターン補正方法のフローチャートの一例である。
【図６】図６は、集積回路のレイアウトパターンを説明する図である。
【図７】図７は、ネットリストの構成を示す図である。
【図８】図８は、ネーミングルールを説明する図である。
【図９】機能ブロックの位置データを説明するテーブルである。
【図１０】図１０は、レイアウトパターンの分割工程を説明する図である。
【図１１】図１１は、レイアウトパターンの分割工程を説明する図である。
【図１２】図１２は、レイアウトパターンの分割工程を説明する図である。
【図１３】図１３は、レイアウトパターンの分割工程を説明する図である。
【図１４】図１４は、同時処理数の決定工程を説明する図である。
【図１５】図１５は、同時処理数の決定工程を説明する図である。
【図１６】図１６は、処理エリアの決定方法を説明する図である。
【図１７】図１７は、ＯＰＣエリアが小さい場合の問題を説明する図である。
【図１８】図１８は、平準化処理を説明する図である。
【図１９】図１９は、平準化処理を説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。尚、図面が異なっても対応する部分には同一の符号を付し、その説明を省略する。
【００１２】
（１）パターン補正装置
図１は、実施の形態のパターン補正方法を実行するパターン補正装置２の構成図である。
【００１３】
パターン補正装置２は図１に示すように、マスターマシン４と、マスターマシン４の命令に従ってＯＰＣ処理を実行するスレーブマシン６と、マスターマシン４とスレーブマシン６を接続するネットワーク８とを有する。マスターマシン４およびスレーブマシン６は、コンピュータである。
【００１４】
パターン補正装置２は、マスターマシン４によりレイアウトパターン（フォトマスク全体のパターン）を複数の領域に分割し、分割された領域をスレーブマシン６に並列処理させる。
【００１５】
―マスターマシン―
図２は、マスターマシン４の構成図である。
【００１６】
マスターマシン４は、例えばＣＰＵ（Central Processing Unit）１０と、ＲＯＭ（Read Only Memory）１２と、ＲＡＭ（Random Access Memory）１４と、ハードディスクを有するＨＤＤ（Hard Disk Drive）１６とを有する。ＨＤＤ１６は、コンピュータにより読取可能な記録媒体である。
【００１７】
さらにマスターマシン４は、ネットワークインターフェース１８と、キーボードやマウスなどの入力機器２０と、表示装置２２と、バス２４とを有する。バス２４には、上記各装置（ＣＰＵ等）が接続される。
【００１８】
ＲＡＭ１４は、ＣＰＵ１０が直接アクセスできる主記憶装置（メインメモリ）である。ＨＤＤ１６は、補助記憶装置である。マスターマシン４は、ＤＶＤＤ（Digital Versatile Disc Driver）などの他の補助記憶装置を有してもよい。ＤＶＤＤには、ＤＶＤ−Ｒ（Digital Versatile Disk Recordable）などの記録媒体が装着される。
【００１９】
ＣＰＵ１０はＨＤＤ１６を制御するとともに、ＨＤＤ１６に記録されたプログラムをＲＡＭ１４にロードし、ロードされたプログラムを実行する。ＲＡＭ１４にはプログラム以外にも、ＣＰＵ１０がプログラムを実行する際の途中データが一時的に記録される。
【００２０】
ＲＯＭ１２には、ＣＰＵ１０が実行する基本的なプログラム等が記録されている。
【００２１】
ＨＤＤ１６には、実施の形態のパターン補正方法をＣＰＵ１０に実行させるレイアウトパターン補正プログラム２６が記録されている。レイアウトパターン補正プログラムは、ＣＰＵ１０が実行可能なプログラムである。
【００２２】
―スレーブマシン―
スレーブマシン６の構成は、図２に示すマスターマシン４の構成と略同じである。ただしスレーブマシン６のＨＤＤには、マスターマシン４の命令に応答してＯＰＣ処理を実行するＯＰＣプログラムが記録されている。
【００２３】
マスターマシン４とスレーブマシン６を有するコンピュータ群は、マスターマシン４のＣＰＵ１０がレイアウトパターン補正プログラム２６を実行するとともにスレーブマシンのＣＰＵがＯＰＣプログラムを実行することで、パターン補正装置になる。
【００２４】
（２）パターン補正方法
図３〜５は、実施の形態のレイアウトパターン補正方法のフローチャートの一例である。
【００２５】
（i）前工程（Ｓ２〜Ｓ４）
マスターマシン４は、まずフォトマスクのパターン（以下、レイアウトパターンと呼ぶ）を取得する。取得されるレイアウトパターンは、集積回路の形成に用いられる複数のフォトマスクそれぞれのパターンを有している。
【００２６】
具体的にはマスターマシン４は図３に示すように、ネットワーク８を介して集積回路の形成に用いられるフォトマスクの図形データ（以下、レイアウトデータと呼ぶ）を取得する（Ｓ２）。取得されたレイアウトデータは、例えばＨＤＤ１６に記録される。
【００２７】
レイアウトデータは、例えばフォトマスクに含まれる各パターンの「形状」を表す形状情報と各パターンの「座標」と各パターンが含まれる「レイヤー」を表すレイヤー情報とを有する。「レイヤー」は、集積回路の形成に用いられる複数のフォトマスクを識別する識別子である。
【００２８】
「形状」は例えば、多角形である。「座標」は例えば、各パターンの頂点座標である。レイヤーの識別子は例えば、層番号と型番号である。レイアウトデータのフォーマットは例えば、GDS II（Graphic Design System II）またはOASIS(Open Artwork System Interchange Standard)である。
【００２９】
マスターマシン４はさらに、ネットワーク８を介して該レイアウトデータに対応するネットリストを取得する（Ｓ２）。取得されたネットリストは、例えばＨＤＤ１６に記録される。
【００３０】
マスターマシン４はさらに、ネットワーク８を介して上記レイアウトデータに対応するネーミングルールを取得する（Ｓ２）。取得されたネーミングルールは、例えばＨＤＤ１６に記録される。
【００３１】
マスターマシン４はさらに、ＯＰＣ処理するレイヤーの識別情報を取得する（Ｓ２）。具体的には例えばレイヤー名（例えば、「第１金属層」）がマスクパターンの設計者により、入力機器２０によりマスターマシン４に入力される。入力された識別情報は、例えば上記識別子に変換されＨＤＤ１６に記録される。
【００３２】
以後「レイアウトパターン」とは、取得されたレイヤー識別情報に対応するフォトマスク全体のパターンを意味する。「レイアウトデータ」とは、このレイアウトパターンのデータである。
【００３３】
さらにマスターマシン４は図３に示すように、ネットワーク８に接続された各コンピュータに問い合わせてＯＰＣ処理の実行が可能な装置の識別情報（ホスト名など）を取得する（Ｓ４）。取得された識別情報は例えば、ＨＤＤ１６に記録される。ＯＰＣ処理の実行が可能なコンピュータの識別情報は、予めＨＤＤ１６に記録されていてもよい。取得された識別情報に対応するコンピュータは、スレーブマシン６として利用される。
【００３４】
（ii）機能ブロック領域の検出（Ｓ６）
図６は、集積回路のレイアウトパターン２８を説明する図である。
【００３５】
ＡＳＩＣ（Application Specific Integrated Circuit）など集積回路は、一定の機能を有する機能ブロック（例えば、ＳＲＡＭ（Static Random Access Memory）やＣＰＵなど）を含んでいる。このような集積回路のレイアウトパターン２８は図６に示すように、機能ブロックに対応する機能ブロック領域３０を含んでいる。
【００３６】
マスターマシン４は、集積回路のレイアウトパターン２８から機能ブロックに対応する機能ブロック領域３０を検出する（Ｓ６）。
【００３７】
具体的には例えばマスターマシン４はまず、レイアウトパターン２８に対応するネットリスト（結線情報）からセル名を検出する。
【００３８】
図７は、ネットリストの構成を示す図である。集積回路は、集積回路に含まれる各ゲート（論理ゲートやバッファなど）の端子（ピン）がどうように接続されているかを示す結線情報により表される。
【００３９】
ネットリストには図７に示すように、各機能ブロックの結線情報３２が記録されている。ネットリストはさらに、ネット名３４とセル名３６とを有している。ネット名３４は、機能ブロックの整理番号である。セル名３６は、機能ブロックのネットリスト上の名称である。ネット名３４およびセル名３６は、結線情報３２に対応している。
【００４０】
機能ブロック領域３０(図６参照)内の各パターンのデータ（形状情報、座標、レイヤー情報；以後、パターンデータと呼ぶ）は、ネットリストのセル名３６が対応付けられている。
【００４１】
マスターマシン４はまず、ステップＳ２で取得したネットリストからセル名３６を検出する。マスターマシン４はネットリストから検出したセル名３６をキーとして、ステップＳ２で取得したレイアウトデータを検索して、各機能ブロック領域３０内のパターンに対応するパターンデータを検出する。マスターマシン４は検出したパターンデータに基づいて、各機能ブロック領域３０の位置座標（例えば、対角する頂点の座標）を算出する。
【００４２】
図８は、ネーミングルール３８を説明する図である。ネーミングルール３８は、セル名３６とデバイスパターン４０の対応関係を示すデータである。デバイスパターン３８は、機能ブロックの名称（以下、機能ブロック名と呼ぶ）である。デバイスパターン４０から、機能ブロックの機能や最小線幅などを知ることができる。
【００４３】
マスターマシン４はステップＳ２で取得したネーミングルール３８を検索して、ネットリストから検出したセル名３６に対応するデバイスパターン４０を検出する。
【００４４】
マスターマシン４は、算出した機能ブロック領域３０の位置座標と検出したデバイスパターン４０とを有する機能ブロック領域３０の位置データを生成する。図９は、機能ブロック領域３０の位置データ４２を説明するテーブルである。
【００４５】
機能ブロック領域３０の位置データ４２は例えば図９に示すように、機能ブロック名４４（すなわち、デバイスパターン４０）を有する複数のデータ（例えば、レコード）を有する。該データはそれぞれ、機能ブロック名４４と、機能ブロック名４４に対応する機能ブロック領域３０の左下頂点の位置座標４６と、該機能ブロック名４４に対応する機能ブロック領域３０の右上頂点の位置座標４８とを有する。座標の単位は、例えばμｍである。
【００４６】
機能ブロック領域３０の位置データ４２を参照することで、機能ブロック領域３０の位置と機能ブロック３０の最小線幅などを知ることができる。
【００４７】
（iii）分割工程（Ｓ８〜Ｓ１２）
図１０〜１３は、レイアウトパターンの分割工程を説明する図である。
【００４８】
図６に示すように、集積回路のレイアウトパターン２８は多くの場合、複数の機能ブロック領域３０を有している。第１機能ブロック領域３０ａ〜第３機能ブロック領域３０ｃは、例えばＳＲＡＭに対応する領域である。第４機能ブロック領域３０ｄは、例えばロジック回路に対応する領域である。第５機能ブロック領域３０ｅは、例えば入出力回路に対応する領域である。
【００４９】
図１０（ａ）には、第１機能ブロック領域３０ａ内の一部分が示されている。図１０（ｂ）には、第５機能ブロック領域３０ｅ内の一部分が示されている。図１０（ａ）及び（ｂ）に示すように、第１機能ブロック領域３０ａ内のパターン５０の線幅と第５機能ブロック領域３０ｅのパターン５２の線幅は異なる。第２機能ブロック領域３０ｂ〜第４機能ブロック領域３０ｄ内のパターンの線幅も、他のブロック内の線幅とは異なる。
【００５０】
―単位サイズの決定（Ｓ８）―
機能ブロックの最小線幅は、その機能および世代（例えば、６５ｎｍ世代）に応じて固有の値を有する。マスターマシン４は、機能ブロック領域３０を分割する単位エリアのサイズを、機能ブロック領域３０ごとに決定する（Ｓ８）。マスターマシン４はさらに、機能ブロック領域３０の外側の領域（以下、機能ブロック外領域と呼ぶ）を分割する単位エリアのサイズを決定する（Ｓ８）。最小線幅に基づいて単位エリアのサイズを決定することにより、単位エリアに含まれるパターンのデータ量を概ねねらい値に揃えることができる。それにより、コンピュータでＯＰＣ処理する際に必要となるメモリ量がある程度予測することができ、後述する再測定（Ｓ２０）および単位サイズの再設定の手間を抑制することができる。
【００５１】
単位エリアは、一定のサイズを有する領域である。単位エリアのサイズとは例えば、単位エリアが矩形領域の場合、各辺の一定の長さである。単位エリアのサイズは以後、単位サイズと呼ばれる。
【００５２】
単位サイズは例えば、各機能ブロック（機能ブロック領域３０に対応する機能ブロック）の最小線幅の数倍（例えば、４〜１０倍）の辺長である。マスターマシン４は、決定した単位サイズを有する単位サイズデータを生成する。図１１は、単位サイズデータ５４を説明するテーブルである。
【００５３】
単位サイズデータ５４は図１１に示すように、機能ブロック名４４または機能ブロック外領域の名称５６に対応するブロック名５８と該ブロック名５８に対応する領域の単位サイズ６０とをそれぞれ有する複数のデータ（例えば、レコード）を有する。単位サイズの単位は、例えばμｍである。例えば「ＳＲＡＭ１」の単位サイズは、縦６．５μｍ、横６．５μｍである。
【００５４】
各機能ブロック領域の最小線幅は、例えば入力機器２０からマスターマシン４に入力される。具体的には例えばマスターマシン４は、ステップＳ６で検出した機能ブロック名４４を表示装置２２に表示する。するとマスクパターンの設計者は、機能ブロック名４４から判明する各機能ブロックの最小線幅をマスターマシン４に入力する。
【００５５】
―処理対象ブロックの決定（Ｓ１０）―
マスターマシン４は単位サイズデータ５４（図１１）を参照して例えば、ＯＰＣ処理が行われていない機能ブロック領域３０のうち単位サイズ６０が最も小さいものを、ＯＰＣ処理を行うブロック（以下、処理対処ブロックと呼ぶ）に決定する（Ｓ１０）。図１１に示す例では、マスターマシン４はブロック名「ＳＲＡＭ１」に対応する第１機能ブロック３０ａ（図６）を選択する。
【００５６】
単位サイズ６０が最も小さい機能ブロック領域を処理対象ブロックに選択することで、メモリ不足によりＯＰＣ処理に障害をきたさないかを早期に検知することができる。
【００５７】
―機能ブロックの分割（Ｓ１２）―
次にマスターマシン４は図１２に示すように、選択された機能ブロック領域３０を単位エリア６２に分割する（Ｓ１２）。単位エリア６２は上述したように、単位サイズ６０を有する領域である。
【００５８】
さらにマスターマシン４は、分割された単位エリア６２の位置などを表すデータ６４（以下、単位エリアデータと呼ぶ）を生成する。図１３は、単位エリアデータ６４を説明するテーブルである。図１３に示すように単位エリアデータ６４は例えば、単位エリア６２の対角する頂点の座標６６と処理状況６８とメモリ使用量７０とをそれぞれ有する複数のデータ（例えば、レコード）を有している。
【００５９】
頂点座標６６は例えば、単位エリア６２の左下の頂点座標と単位エリア６２の右上の頂点座標である。処理状況６８は、各単位エリア６２のＯＰＣ処理が開始済み（すなわち、各単位エリア６２のＯＰＣ処理をスレーブマシン６に命令済み）であるか否かを示す。ＯＰＣ処理が終了している場合も、「ＯＰＣ処理は開始済み」である。
【００６０】
処理状況６８の初期値は、未処理である。メモリ使用量７０は、各単位エリア６２のＯＰＣ処理に使われるメモリ量である。メモリ使用量７０の初期値は、ヌル・データである。
【００６１】
（iv）同時処理数の決定工程（Ｓ１４〜Ｓ２６）
図１４及び１５は、同時処理数の決定工程を説明する図である。
【００６２】
―メモリ使用量の測定（Ｓ１４）―
マスターマシン４は図１４に示すように、機能ブロック領域３０から分割された複数の単位エリア６２から、複数のエリア７２（以下、サンプルエリアと呼ぶ）を選択する。サンプルエリア７２の数は例えば、ステップＳ４で識別子を取得したスレーブマシン６と同数である。サンプルエリア７２の数は、スレーブマシン６の数より少なくてもよい。
【００６３】
マスターマシン４は、ステップＳ４で取得した識別子に対応するスレーブマシン６それぞれに、サンプルエリア７２のＯＰＣ処理を行わせる。各スレーブマシン６は、異なるサンプルエリア７２をＯＰＣ処理する。尚、あるエリア（領域）をＯＰＣ処理するとは、該エリア内のパターンをＯＰＣ処理することを意味する。
【００６４】
各スレーブマシン６は、ＯＰＣ処理に使用されたメモリ使用量をマスターマシン４に送信する。メモリ使用量は、例えば各スレーブマシン６のＯＳ（Operating System）により検出される。各スレーブマシン６はさらに、ＯＰＣ処理されたサンプルエリア７２のパターンデータをマスターマシン４に送信する。
【００６５】
各スレーブマシン６のＯＰＣ処理プログラムは、略同じものである。したがって各スレーブマシン６のメモリ使用量は、処理対象ブロックが同じであれば略同じである。
【００６６】
マスターマシン４は各サンプルエリア７２のメモリ使用量を受信すると、単位エリアデータ６４（図１３参照）のメモリ使用量７０を受信したメモリ使用量で書き換える。具体的にはマスターマシン４は、ＯＰＣ処理された各サンプルエリア７２の頂点座標６６に対応するメモリ使用量７０の初期値（ヌルデータ）を、該各サンプルエリア７２をＯＰＣ処理したスレーブマシン６のメモリ使用量で置き換える。
【００６７】
マスターマシン４はさらに、図１５に示すように、単位エリアデータ６４の処理状況６８を変更する。具体的にはマスターマシン４は、（ＯＰＣ処理が行われた）各サンプルエリア７２に対応する処理状況７０を、ＯＰＣ処理の開始済みを意味する「完了」に変更する。
【００６８】
マスターマシン４はさらに、ＯＰＣ処理された各サンプルエリア７２のパターンデータを有するレイアウトデータ（以下、ＯＰＣデータと呼ぶ）を生成する。ＯＰＣデータのフォーマットは例えば、GDS IIまたはOASISである。ＯＰＣデータのフォーマットは、GDS IIまたはOASISへの変換が可能な他のフォーマットであってもよい。
【００６９】
このような手順によりマスターマシン４は、選択された複数のエリア（サンプルエリア７２）それぞれにおけるＯＰＣ処理のメモリ使用量（主記憶装置におけるメモリ使用量）を測定する（Ｓ１４）。なお後述するように、マスターマシン４は単位サイズが縮小して、メモリ使用量を再測定することがある。
【００７０】
サンプルエリア７２の一部（例えば、半数）は、パターン密度が高くなり易い機能ブロック領域３０の中央部から選択されることが好ましい。
【００７１】
メモリ使用量は、全てのサンプルエリア７２について測定されることが好ましい。しかし所定の時間内に全ての測定が終了しない場合には、マスターマシン４は全サンプルエリアのうちの一定数（例えば、７〜８割）の測定が終了した時点で、ステップ１４を終了してもよい。
【００７２】
―最大メモリ使用量の検出（Ｓ１６）―
マスターマシン４は、ステップＳ１４でメモリ使用量が記録された単位エリアデータ６４（図１５）を参照して、ステップＳ１４で測定されたメモリ使用量のうち最大のメモリ使用量（以下、最大メモリ使用量と呼ぶ）を検出する（Ｓ１６）。
【００７３】
―判断（Ｓ１８）―
マスターマシン４は、各スレーブマシン６のＯＰＣ処理に使用可能なメモリ容量（以下、使用可能メモリ量と呼ぶ）が最大メモリ使用量以上であるか判断する（Ｓ１８）。
【００７４】
使用可能メモリ量は例えば、スレーブマシン６の空きメモリ量に一定の係数（例えば、０．８）を掛け算して得られるメモリ量である。空きメモリ量とは、アプリケーションプログラムを実行していないスレーブマシン６で使用されていないメモリの量である。使用可能メモリ量は、予測値である。
【００７５】
―再測定（Ｓ２０）―
各スレーブマシン６の使用可能メモリ量にステップＳ１６で検出した最大メモリ使用量より小さいものが存在する場合、マスターマシン４は単位サイズ６０（図１１）を縮小する（Ｓ２０）。その後マスターマシン４はステップＳ１２に戻り、メモリ使用量を再測定する（Ｓ１２〜Ｓ１６）。
【００７６】
―処理命令先マシンの決定（Ｓ２２）―
各スレーブマシン６の使用可能メモリ量が全て最大メモリ使用量以上の場合、マスターマシン４は、各スレーブマシン６にＯＰＣ処理の実行が可能か問い合わせる。
【００７７】
スレーブマシン６はＯＰＣ処理の実行が可能な場合、ＯＰＣ処理の実行が可能であることをマスターマシン４に回答する。スレーブマシン６はさらに、回答時点での空きメモリ量をマスターマシン４に報告する。スレーブマシン６は、先に命令されたＯＰＣ処理の実行中などの理由で新たなＯＰＣ処理の実行が困難な場合、新たなＯＰＣ処理の実行が困難であることをマスターマシン４に回答する。
【００７８】
マスターマシン４は例えば、ＯＰＣ処理の実行が可能であると最初に回答したスレーブマシン６を、ＯＰＣ処理の命令先に決定する（Ｓ２２）。マスターマシン４はさらに、ＯＰＣ処理の実行が可能と回答したスレーブマシンの数（以下、並列数と呼ぶ）をカウントし記録する。
【００７９】
―同時処理数の算出（Ｓ２４）―
マスターマシン４は、ＯＰＣ処理の実行が可能と回答した各スレーブマシン６が報告した空きメモリ量から、該報告時点での該スレーブマシン６の使用可能メモリ量Ｍ１（ステップＳ１８参照）を算出する。マスターマシン４はさらに、算出した使用可能メモリ量Ｍ１をステップＳ１６で検出した最大メモリ使用量Ｍ２で割り算して、各スレーブマシン６の同時処理数Ｃ（＝Ｍ１／Ｍ２）を算出する（Ｓ２４）。割り算の結果が整数でない場合には、少数点以下は切り捨てられる。スレーブマシン６が多コアマシンの場合、同時処理数Ｃは、使用可能メモリ量Ｍ１を最大メモリ使用量Ｍ２とコア数で割り算した数である。
【００８０】
算出された同時処理数Ｃは、各スレーブマシン６がメモリ不足を起こさずに同時にＯＰＣ処理できる単位エリア６２の最大数である。
【００８１】
―同時処理数の検査（Ｓ２６）―
同時処理数Ｃが１以上の場合、同時処理数と同数の単位エリア６２を有する領域（以下、処理エリアと呼ぶ）をスレーブマシン６がＯＰＣ処理しても、メモリ不足が起きる可能性は低い。しかし同時処理数が１より小さい場合には、メモリ不足が起きる可能性が高い。そこでマスターマシン４は、ステップＳ２２で処理命令先に決定したスレーブマシン６の同時使用量が１以上か否かを判断する（Ｓ２６）。
【００８２】
同時使用量が１より小さい場合には、マスターマシン４はステップＳ２２に戻り、別の処理命令先を決定する。同時使用量が１以上の場合には、マスターマシン４はステップＳ２８に進む。
【００８３】
（v）ＯＰＣ処理（Ｓ２８、Ｓ３０、Ｓ３４）
―処理エリアの決定（Ｓ２８、Ｓ３０）―
マスターマシン４は、ＯＰＣ処理が開始されていない単位エリア６２の数がステップ２４で算出した同時処理数Ｃのうちの最も大きい値Ｃmaxに並列数ｎを掛け算して得られる数値（＝Ｃmax×ｎ；以下、最大並列処理数と呼ぶ）より多いか判断する（Ｓ２８）。ＯＰＣ処理は、マスターマシン４がスレーブマシン６にＯＰＣ処理を命令した時点で開始する。
【００８４】
この時マスターマシン４は、単位エリアデータ６４（図１５）を参照して、ＯＰＣ処理が開始していない単位エリア６２（処理状況５８が「未処理」の単位エリア）の数を検出する。
【００８５】
ＯＰＣ処理が開始していない単位エリア６２の数が最大並列処理数（＝Ｃｍａｘ×ｎ）より多いと判断した場合、マスターマシン４はスレーブマシン６にＯＰＣ処理させる処理エリアを決定する。図１６は、処理エリアの決定方法を説明する図である。
【００８６】
図１６には、単位エリア６２に分割された機能ブロック領域３０が示されている。ハッチングされている単位エリア６２は、ＯＰＣ処理が開始済みである。ハッチングされていない単位エリア６２は、ＯＰＣ処理が開始されていない。
【００８７】
マスターマシン４は図１６に示すように、ＯＰＣ処理が開始されていない単位エリア（ＯＰＣ処理済みのものも含む）から一または複数のエリアを選択し、選択された単位エリア６２を有する領域を処理エリア７４に決定する（Ｓ３０）。この時マスターマシン４は、単位エリアデータ６４（図１５参照）の処理状況６８を参照して、ＯＰＣ処理が開始されていない単位エリア（処理状況５８が「未処理」の単位エリア）の一部または全部を処理エリア７４に含める領域に決定する。
【００８８】
処理エリア７４に含まる単位エリア６２の数は、ステップＳ２２でＯＰＣ処理の命令先を決定したスレーブマシン６の同時処理数Ｃである。同時処理数Ｃは多くの場合、２以上である。
【００８９】
ＯＰＣ処理されていない単位エリア６２の数が同時処理数Ｃより少ない場合、処理エリア７４に含まれる単位エリア６２の数は同時処理数Ｃより小さくする。
【００９０】
すなわち処理エリア７４に含まれる単位エリア６２の数は、同時処理数Ｃ以下に制限される。一方、処理エリア７４の形状は一定の形状に制限されない。例えば、処理エリア７４の形状はＬ字形であってもよい。
【００９１】
尚、ステップ３２は後述する「（vi）平準化処理」で説明する。
【００９２】
―ＯＰＣ処理（Ｓ３４）―
マスターマシン４は、ステップＳ２２で処理命令先に決定されたスレーブマシン６に、ステップＳ３０で決定した処理エリア７４のＯＰＣ処理を命令する。
【００９３】
マスターマシン４はＯＰＣ処理を命令すると、単位エリアデータ６４（図１５参照）のうち上記処理エリア７４に含まれる単位エリア６２の処理状況６８を「未処理」から「完了」に変更する。
【００９４】
ＯＰＣ処理を命令されたスレーブマシン６は、上記処理エリア７４のＯＰＣ処理を行う。スレーブマシン６はＯＰＣ処理が終わると、ＯＰＣ処理の結果をマスターマシン４に送信する。マスターマシン４に送信される「ＯＰＣ処理の結果」は、ＯＰＣ処理されたパターンのパターンデータ（以下、ＯＰＣ処理されたパターンデータと呼ぶ）である。
【００９５】
マスターマシン４はＯＰＣ処理されたパターンデータを受信すると、受信したパターンデータをＯＰＣデータに追加する。ＯＰＣデータは、ステップＳ１４で説明したように、ＯＰＣ処理されたパターンデータを有するレイアウトデータである。
【００９６】
―未処理エリアのＯＰＣ処理（Ｓ３６）―
マスターマシン４はステップＳ３４でスレーブマシン６にＯＰＣ処理を命令するとＯＰＣ処理の結果を待たずに、ステップＳ１０で選択した機能ブロック３０にＯＰＣ処理が開始されてない単位エリア６２が存在するか判断する。この時マスターマシン４は、単位エリアデータ６４の処理状況６８（図１５）を参照する。
【００９７】
ＯＰＣ処理が開始していない単位エリア６２が存在すると判断した場合、マスターマシン４はステップＳ２２に戻って、ステップＳ２２〜ステップＳ３６を再度実行する。これにより、複数の処理エリア７４がそれぞれ、複数のスレーブマシン６により並列してＯＰＣ処理させる。
【００９８】
マスターマシン４はステップＳ３６で、複数のスレーブマシン６のうちＯＰＣ処理を実行していない（すなわち、実行中でない）第１スレーブマシン６にＯＰＣを命令した後にＯＰＣ処理が開始されていない単位エリアが存在するか否か判断する。マスターマシン４は、ＯＰＣ処理が開始されていない単位エリアが存在すると判断するとステップＳ２２に戻って、複数のコンピュータ６のうちＯＰＣ処理を実行していない第２コンピュータにＯＰＣ処理が開始されていない単位エリアのＯＰＣを命令する。
【００９９】
（vi）平準化処理（Ｓ３２）
ステップＳ２８においてＯＰＣ処理が開始されていない単位エリア６２の数が最大並列処理数（＝Ｃｍａｘ×ｎ）以下と判断した場合、処理エリア７４に含まれる単位エリア６２の数を１に決定する。すなわち単位エリア６２を、ＯＰＣの処理対象に決定する。
【０１００】
これにより後述するように、各スレーブマシン６で処理される単位エリア６２の数が平準化される。
【０１０１】
（vii）未処理ブロックのＯＰＣ処理（Ｓ３８）
ステップＳ３６でＯＰＣ処理が開始されていない単位エリア６２が存在しないと判断した場合、マスターマシン４は全てのＯＰＣ処理が終了するまで待機する。
【０１０２】
全てのＯＰＣ処理が終了すると、マスターマシン４はＯＰＣ処理が済んだ機能ブロック領域３０のブロック名５８を記録する。マスターマシン４はさらに、ＯＰＣ処理が済んでいない機能ブロック３０が存在するか判断する（Ｓ３８）。
【０１０３】
ＯＰＣ処理が済んでいない機能ブロック３０が存在すると判断した場合には、マスターマシン４はステップＳ１０に戻って、ＯＰＣ処理が済んでいない機能ブロック３０に対してステップＳ１０〜ステップＳ３６を再度実行する。
【０１０４】
（viii）機能ブロック外領域のＯＰＣ処理（Ｓ４０）
ＯＰＣ処理が済んでいない機能ブロック３０が存在しないと判断した場合、マスターマシン４はさらに、機能ブロック外領域のＯＰＣ処理が終わっているか判断する（Ｓ４０）。
【０１０５】
機能ブロック外領域のＯＰＣ処理が終わっていないと判断した場合、マスターマシン４はステップＳ１０に戻って、機能ブロック外領域に対してステップＳ１０〜ステップＳ３８を再度実行する。この時マスターマシン４およびスレーブマシン６は、機能ブロック外領域を機能ブロック領域とみなして各ステップを実行する。
【０１０６】
（ix）後処理（Ｓ４２）
機能ブロック外領域のＯＰＣ処理が終わっていると判断した場合、マスターマシン４は、ＯＰＣ処理されたパターンを合成する（Ｓ４２）。これにより、ＯＰＣ処理されたマスクパターンが形成される。具体的には例えばマスターマシン４は、ＯＰＣデータに含まれるパターンデータをＯＲ処理により合成する。
【０１０７】
マスターマシン４はさらに、ＯＰＣ処理されたマスクパターンを出力する。出力されるマスクパターンのフォーマッチは、例えばGDS IIまたはOASISである。
【０１０８】
（３）単位エリアごとのＯＰＣ処理
スレーブマシン６が一度にＯＰＣ処理できるパターン数は、コンピュータのメモリ容量によって制限される。そこでマスターマシン４は機能ブロック領域および機能ブロック外領域を単位エリア６２に分割し、該単位エリア６２を有する処理エリア７４（図１６）をＯＰＣ処理する。
【０１０９】
単位エリア６２は、全てのスレーブマシン６がメモリ不足を起こさずにＯＰＣ処理できる領域である。単位エリア６２は、ブロック領域（機能ブロック領域および機能ブロック外領域）ごとに異なる。
【０１１０】
そこで各ブロック領域の単位エリア６２のうち最も小さい単位エリア６２でレイアウトパターンを分割し、該分割により得られる領域（ＯＰＣエリア）内のパターンをＯＰＣ処理することも考えられる。この場合ＯＰＣエリアが予め決定されていれば、Ｓ６〜Ｓ３２は省略される。しかし、ＯＰＣエリアの決定は容易ではない。さらに上記のように最も小さいＯＰＣエリアをＯＰＣ処理する方法には、レイアウトパターン全体のＯＰＣ処理時間が長くなるという問題がある。
【０１１１】
図１７は、ＯＰＣエリア７６が小さい場合の問題を説明する図である。ＯＰＣ処理では、ＯＰＣエリア７６内のマスクパターン７８の像が近接するマスクパターン８０から受ける影響が補正される。このためＯＰＣ処理は、ＯＰＣエリア７６より広い領域８２内の全てのパターンに対して行われる。しかしＯＰＣ処理されたパターンのうちＯＰＣエリア７６内のパターンだけが利用され、ＯＰＣエリア７６の外側でＯＰＣ処理されたパターンのデータは捨てられる。
【０１１２】
したがってレイアウトパターン全体のＯＰＣ処理にかかる時間（以下、全ＯＰＣ処理時間と呼ぶ）は、ＯＰＣエリア７６が小さくなりレイアウトパターンの分割数が増えるほど増加する。このためＯＰＣエリア７６が小さくなるほど、全ＯＰＣ処理時間は長くなる。
【０１１３】
さらに分割された領域がマスターマシン４とスレーブマシン６の間で送受信される回数も、ＯＰＣエリア７６が小さくなりレイアウトパターンの分割数が増えるほど多くなる。このため、全ＯＰＣ処理時間はさらに長くなる。
【０１１４】
一方図３〜１６を参照して説明したレイアウトパターンの補正方法によれば、各スレーブマシン６によりＯＰＣ処理される領域（処理エリア７４）が広くなるので、全ＯＰＣ処理時間は短くなる。さらに分割された領域がマスターマシン４とスレーブマシン６の間で送受信される回数が少なくなるので、全ＯＰＣ処理時間はさらに短くなる。
【０１１５】
（４）平準化処理
図１８及び１９は、平準化処理（Ｓ３２）を説明する図である。
【０１１６】
図１８には、ステップＳ２２〜３６により処理エリア７４が順次ＯＰＣ処理される過程が示されている。横軸は、各スレーブマシン６の名称である。縦軸は、各スレーブマシンＳＬ１〜ＳＬ５により処理される単位エリア６２の数（処理数）である。
【０１１７】
今、スレーブマシンＳＬ１の同時処理数を１とする。スレーブマシンＳＬ２の同時処理数を２とする。スレーブマシンＳＬ３の同時処理数を３とする。スレーブマシンＳＬ４の同時処理数を４とする。スレーブマシンＳＬ５の同時処理数を５とする。単位エリア６２の総数は２５とする。
【０１１８】
ステップＳ２２〜Ｓ３６により処理エリア７４が順次スレーブマシンＳＬ１〜ＳＬ５に割り当てられ、複数のスレーブマシン６が複数の処理エリア７４を並列してＯＰＣ処理する。図１８に示す例では、一巡目の割り当て（処理命令）により各スレーブマシンＳＬ１〜ＳＬ５が処理する単位エリア６２の数８４は、各スレーブマシンＳＬ１〜ＳＬ５の同時処理数である。
【０１１９】
二巡目の割り当てにより各スレーブマシンＳＬ１〜ＳＬ５が処理する単位エリア６２の数８６は、スレーブマシンＳＬ１では同時処理数（＝１）である。スレーブマシンＳＬ２〜スレーブマシンＳＬ５では零である。これは、スレーブマシンＳＬ１に処理エリア７４が割り当てられる時点で、スレーブマシンＳＬ２〜スレーブマシンＳＬ５は一巡目で割り当てられたＯＰＣ処理が済んでいないためである（Ｓ２２）。
【０１２０】
三巡目の割り当てにより各スレーブマシンＳＬ１〜ＳＬ５が処理する単位エリア６２の数８８は、スレーブマシンＳＬ１とスレーブマシンＳＬ２では同時処理数である。スレーブマシンＳＬ３〜スレーブマシンＳＬ５では零である。
【０１２１】
この時の最大同時処理数Ｃｍａｘは、スレーブマシンＳＬ１の同時処理数（＝１）とスレーブマシンＳＬ２の同時処理数Ｃ（＝２）のうち最も大きい同時処理数（＝２）である。並列数ｎは２である。したがって最大並列処理数（＝Ｃｍａｘ×ｎ）は、４（＝２×２）である。ＯＰＣ処理が開始されていない単位エリア６２の数は、９である。
【０１２２】
故に、ＯＰＣ処理が開始されていない単位エリア６２の数（＝９）は、最大並列処理数（＝４）より大きい。このためスレーブマシンＳＬ１とスレーブマシンＳＬ２には、同時処理数と同数の単位エリア６２を含む処理エリア７４が割り当てられる（Ｓ３０）。
【０１２３】
四順目の割り当てでは、スレーブマシンＳＬ１とスレーブマシンＳＬ３に単位エリア６２が割り当てられる。この時の最大同時処理数Ｃｍａｘは、スレーブマシンＳＬ１の同時処理数Ｃ（＝１）とスレーブマシンＳＬ３の同時処理数Ｃ（＝３）のうち最も大きい同時処理数Ｃｍａｘ（＝３）である。並列数ｎは２である。したがって最大並列処理数（＝Ｃｍａｘ×ｎ）は、６（＝３×２）である。ＯＰＣ処理が開始されていない単位エリア６２の数は、６である。
【０１２４】
故に、ＯＰＣ処理が開始されていない単位エリア６２の数（＝６）は、最大並列処理数（＝６）以下である。このためスレーブマシンＳＬ１とスレーブマシンＳＬ３には、単位エリアが割り当てられる（Ｓ３２）。
【０１２５】
四順目の割り当てでも、ＯＰＣ処理が開始されていない単位エリア６２の数は、最大並列処理数以下になる。したがってスレーブマシンＳＬ１〜ＳＬ４に、単位エリアが割り当てられる。このため図１８に示すように、各スレーブマシンＳＬ１〜ＳＬ５の処理数は平準化される。各スレーブマシン６の同時処理数および単位エリア６２の総数は、図１８の例と同じである。
【０１２６】
図１９には、平準化処理（Ｓ３２）が行われない場合の例が示されている。横軸は、各スレーブマシン６の名称である。縦軸は、各スレーブマシン６により処理される単位エリア６２の数（処理数）である。
【０１２７】
三順目の割り当てまでは各スレーブマシンの処理数は、平準化処理を行う場合と同じである。しかし図１９に示す例では、四順目以降も各スレーブマシンの処理数は同時処理数と同数である。このため図１９に示すように、各スレーブマシンの処理数にバラつきが生じる。その結果、全ＯＰＣ処理時間が長くなる。
【０１２８】
各割り当てサイクルでＯＰＣ処理が開始（命令）される単位エリア６２の数は最大でも、最大並列処理数（＝Ｃｍａｘ×ｎ）である。したがって図１８に示すように、ＯＰＣ処理が開始（命令）されていない単位エリア６２の数が最大並列処理数以下になった時点でＯＰＣ処理する領域を単位エリアにすれば、各スレーブマシンの処理数に生じるバラつきは小さくなる。
【０１２９】
以上の例では、ＯＰＣ処理が開始されていない単位エリア６２の数が最大並列処理数（＝Ｃｍａｘ×ｎ）以下の場合に、平準化処理が行われる。しかしＯＰＣ処理が開始されていない単位エリア６２の数が最大並列処理数以外の一定数以下の場合に、平準化処理が行われてもよい。
【０１３０】
例えば、ＯＰＣ処理が開始されていない単位エリア６２の数が同時処理数のうち２番に大きい同時処理数に並列数ｎをかけた数以下の場合に、平準化処理が行われてもよい。この場合でも、スレーブマシンの処理数に生じるバラつきは、平準化処理を行わない場合より小さくなる。
【０１３１】
以上の例ではマスターマシン４は、ＯＰＣ処理を行わない。しかしマスターマシン４が、スレーブマシン６とともにＯＰＣ処理を行ってもよい。
【０１３２】
以上の実施の形態に関し、更に以下の付記を開示する。
【０１３３】
（付記１）
集積回路のレイアウトパターンから機能ブロックに対応する機能ブロック領域を検出する工程と、
前記機能ブロック領域のパターン密度に基づいて、前記機能ブロック領域を分割するサイズを決定する工程と、
前記機能ブロック領域を、決定された前記サイズに分割して単位エリアを生成する工程と、
前記単位エリアをコンピュータにＯＰＣ処理させる工程と
を有するレイアウトパターンの補正方法。
【０１３４】
（付記２）
付記１に記載のレイアウトパターンの補正方法において、
前記パターン密度は、前記機能ブロック領域に含まれるパターンの最小線幅に基づいて決定されることを特徴とするレイアウトパターンの補正方法。
【０１３５】
（付記３）
付記１に記載のレイアウトパターンの補正方法において、
前記コンピュータに前記ＯＰＣ処理させる工程では前記コンピュータを複数用意し、前記複数のコンピュータのうち前記ＯＰＣ処理を実行していない第１コンピュータに前記ＯＰＣを命令した後に前記ＯＰＣ処理が開始されていない前記単位エリアが存在する場合には、前記複数のコンピュータのうち前記ＯＰＣ処理を実行していない第２コンピュータに前記ＯＰＣ処理が開始されていない前記単位エリアの前記ＯＰＣを命令する
ことを特徴とするレイアウトパターンの補正方法。
【０１３６】
（付記４）
付記１乃至３いずれか一項に記載のレイアウトパターンの補正方法において、さらに、
前記コンピュータに前記ＯＰＣ処理させる工程の前に、複数の前記単位エリアから複数のエリアを選択し、選択された前記複数のエリアそれぞれにおけるＯＰＣ処理のメモリ使用量を測定する工程を有し、
前記コンピュータに前記ＯＰＣ処理させる工程では、前記ＯＰＣ処理が開始されていない前記単位エリアから一または複数の単位エリアを選択し、選択された前記各単位エリアを含む処理エリアを前記コンピュータにＯＰＣ処理させ、
前記処理エリアに含まれる前記単位エリアの数は、前記各コンピュータのＯＰＣ処理に使用可能なメモリ容量を測定された前記メモリ使用量のうちの最大のメモリ使用量で割り算して得られる同時処理数であることを
特徴とするレイアウトパターンの補正方法。
【０１３７】
（付記５）
付記４のいずれか１項に記載のレイアウトパターンの補正方法において、
前記コンピュータに前記ＯＰＣ処理させる工程では、複数の前記処理エリアを複数の前記コンピュータに並列してＯＰＣ処理させ、
前記各処理エリアに含まる前記単位エリアの数は、
前記ＯＰＣ処理が開始されていない前記単位エリアが一定数より多く存在する場合に、前記各処理エリアを前記ＯＰＣ処理する前記コンピュータが処理可能な最も大きい数であり、
前記ＯＰＣ処理が開始されていない前記単位エリアが前記一定数以下の場合には、１であることを
特徴とするレイアウトパターンの補正方法。
【０１３８】
（付記６）
付記５に記載のレイアウトパターンの補正方法において、
前記一定数は、前記各処理エリアをＯＰＣ処理する前記コンピュータごとに得られる前記同時処理数のうち最も大きい値に前記コンピュータの数を乗じた数であることを
特徴とするレイアウトパターンの補正方法。
【０１３９】
（付記７）
付記４に記載のレイアウトパターンの補正方法において、
前記第４工程では、前記複数のエリアの少なくても一部を、前記機能ブロック領域の中央部から選択することを
特徴とするレイアウトパターンの補正方法。
【符号の説明】
【０１４０】
２・・・パターン補正装置
４・・・マスターマシン
６・・・スレーブマシン
３０・・・機能ブロック領域
５４・・・単位サイズデータ
６２・・・単位エリア
７４・・・処理エリア
【図１】
2014092655.tif 000003
【図２】
2014092655.tif 000004
【図３】
2014092655.tif 000005
【図４】
2014092655.tif 000006
【図５】
2014092655.tif 000007
【図６】
2014092655.tif 000008
【図７】
2014092655.tif 000009
【図８】
2014092655.tif 000010
【図９】
2014092655.tif 000011
【図１０】
2014092655.tif 000012
【図１１】
2014092655.tif 000013
【図１２】
2014092655.tif 000014
【図１３】
2014092655.tif 000015
【図１４】
2014092655.tif 000016
【図１５】
2014092655.tif 000017
【図１６】
2014092655.tif 000018
【図１７】
2014092655.tif 000019
【図１８】
2014092655.tif 000020
【図１９】
2014092655.tif 000021