(57)【要約】本発明は、幾何学的オブジェクトを有するレイアウトに関し、より詳細には、レイアウトを同時に二次元で圧縮する方法に関する。実施の形態において、本発明のシステム及び方法は、ＩＣレイアウトに適用される。本発明は、分岐限定法等の高価な方法に依存することなく、レイアウトを一度に二次元で圧縮する。結果として、実施の形態において、本発明は、従来の一次元圧縮システム及び方法とほとんど同じ方法で、大きなレイアウトに適用されることが可能である。また、本発明は、階層レイアウトを、完全な階層を保持する一方、一度に二次元で圧縮する。
2004531840.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される二次元圧縮方法であって、
複数のレイアウト要素を受け取る受け取りステップと、
複数の前記レイアウト要素の各々に１以上の位置変数を決定し、かつ割り当てる割り当てステップと、
前記位置変数を用いて、制約の線形システムを作成する作成ステップと、
割り当てられた前記位置変数の重み付けされた和である、二次元圧縮の一部として最適化される線形目的関数を構築する構築ステップと、
前記制約の線形システムを解いて、同時に二次元で圧縮し、かつ最適化する圧縮最適化ステップと
を備え、
前記位置変数が、複数の前記レイアウトのエッジ又は点の位置を決定し、前記レイアウトを更新するために使用され、
前記制約が、複数の前記レイアウト要素のエッジ又は点間の関係を説明する方法。
【請求項２】
さらに、経験則を適用するかどうか決定する決定ステップを含み、
もし、経験則が適用されないなら、前記レイアウトを更新し、
もし、経験則が適用されるなら、二次元経験則を用いて線形制約を再考し、前記線形システムを再び追加的に解き、前記レイアウトを更新する請求項１に記載の二次元圧縮方法。
【請求項３】
前記レイアウトが、単一レベルで組織される請求項１に記載の二次元圧縮方法。
【請求項４】
前記レイアウトが、複数のセルマスタ、並びに、複数のセルインスタンス及び／又はアレイインスタンスを含む階層構造で組織される請求項１に記載の二次元圧縮方法。
【請求項５】
前記作成ステップが、対象となるＩＣ技術に従う請求項１に記載の二次元圧縮方法。
【請求項６】
前記作成ステップが、デザインルール、及び回路要件に従う請求項１に記載の二次元圧縮方法。
【請求項７】
前記構築ステップが、レイアウト総面積を最小化し、及び／又は、レイアウト面積を最小化若しくは最大化する重み係数を受け取るステップを含む請求項１に記載の二次元圧縮方法。
【請求項８】
前記重み係数が、前記レイアウトの、幾何学的、電気的、又は他の測定可能なメトリクスを決定する請求項７に記載の二次元圧縮方法。
【請求項９】
前記圧縮最適化ステップが、線形プログラム、グラフベースプログラム、又は線形プログラムとグラフベースプログラムの組み合わせの使用を含む請求項１に記載の二次元圧縮方法。
【請求項１０】
コンピュータで実行される二次元圧縮方法であって、
複数のレイアウト要素を受け取る受け取りステップと、
複数の前記レイアウト要素の各々に１以上の変数を割り当てる割り当てステップと、
前記変数を用いて制約の線形システムを作成する作成ステップと、
前記変数を用いて線形目的関数を構築する構築ステップと、
前記制約の線形システムに従って前記線形目的関数を解き、二次元で最適化する最適化ステップと
を備え、
前記制約は、複数の前記レイアウト要素の関係を説明する方法。
【請求項１１】
さらに、経験則を適用するかどうか決定する決定ステップを含み、
もし、経験則が適用されないなら、前記レイアウトを更新し、
もし、経験則が適用されるなら、二次元経験則を用いて線形制約を再考し、前記線形システムを再び追加的に解き、前記レイアウトを更新する請求項１０に記載の二次元圧縮方法。
【請求項１２】
前記レイアウトが、単一レベルで組織される請求項１０に記載の二次元圧縮方法。
【請求項１３】
前記レイアウトが、複数のセルマスタ、並びに、複数のセルインスタンス及び／又はアレイインスタンスを含む階層構造で組織される請求項１０に記載の二次元圧縮方法。
【請求項１４】
前記作成ステップが、対象となるＩＣ技術に従う請求項１０に記載の二次元圧縮方法。
【請求項１５】
前記作成ステップが、デザインルール、及び回路要件に従う請求項１０に記載の二次元圧縮方法。
【請求項１６】
前記構築ステップが、レイアウト総面積を最小化し、及び／又は、レイアウト面積を最小化若しくは最大化する重み係数を受け取るステップを含む請求項１０に記載の二次元圧縮方法。
【請求項１７】
前記重み係数が、前記レイアウトの、幾何学的、電気的、又は他の測定可能なメトリクスを決定する請求項１６に記載の二次元圧縮方法。
【請求項１８】
前記圧縮最適化ステップが、線形プログラム、グラフベースプログラム、又は線形プログラムとグラフベースプログラムの組み合わせの使用を含む請求項１０に記載の二次元圧縮方法。
【請求項１９】
少なくとも１つのエッジが、もう１つのエッジに対して非直行である請求項１に記載の二次元圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２００１年６月２９日に出願された米国仮出願番号６０  ／  ３０１，９９４号に対して利益を主張し、引用により仮出願の主題全体を組み込む。本発明は、多角形、線、及び点等の幾何学的オブジェクトから成るレイアウトに関し、より詳細には、集積回路におけるレイアウトのために、デザインルールを実行し、かつ幾何学的オブジェクトを最適化するシステム、及び方法に関する。
【背景技術】
【０００２】
集積回路（ＩＣ）の製造のために必要なマスクを作り出す前に、すべてのＩＣレイアウトは、ＩＣ製造技術に特有の複雑なデザインルールを満たさなければならない。これらのデザインルールは、通常、幾何学的であって、ＩＣレイアウトについての、例えば、最小面積、幅、間隔、重なり、及び／又は囲いこみ条件を含んでもよい。そのルールは、一般に、ＩＣレイアウトのすべての領域に適用され、１以上の層を含む二次元空間の全体に適用される。ＩＣレイアウトは、所定のＩＣ技術のための全てのデザインルールと、接続性、配線幅、及びデバイスサイズ等のＩＣ設計の全ての回路要件とに従うことにより、機能的かつ製造可能なチップを生産する。
【０００３】
ＩＣレイアウトは、一般的に、セルマスタを含む階層構造に分割される。それにより、セルマスタが１以上のセルインスタンスによって参照され、それぞれのセルマスタは、順に、レイアウトオブジェクト、及び／又は、他のセルインスタンスを含んでもよい。ＩＣレイアウトの階層組織は、効率的に繰り返された構造を示し、かつ、大きくて複雑な複数のＩＣ、又はＩＣの複数の構成要素を管理することが必要とされる。非常に規則的なレイアウトのために、アレイ構造が使用され、繰り返されたセルインスタンスの行、及び／又は列を示す。
【０００４】
ほとんどのＩＣレイアウトに関して、レイアウト設計者は、幾何学的なレイアウトエディタを用いて、レイアウトを構成するセルを手動で生成する。セルは、一旦描画されると、デザインルールと回路検証プログラムとを用いて検証され、違反を修正するために変化させられる。これは、退屈で、費用のかかる工程であり、しばしば、セルを含むチップの製造に使用される全てのＩＣ技術に対して繰り返される必要がある。あるＩＣ技術のデザインルールに従う現存のレイアウトを、異なるＩＣ技術のデザインルールに従う新しいレイアウトに変更する工程は、レイアウトマイグレーションと呼ばれる。レイアウトマイグレーションは、ＩＣレイアウトの初期作成よりも容易であるが、それは、自動化がとても困難であるので、レイアウト設計者により手動でなされる。
【０００５】
現在のＩＣレイアウトを、対象となるＩＣ技術のデザインルールに従う新しいレイアウトに変更するという問題に適用される主要な自動化方法は、今日まで、圧縮である。圧縮は、所定のＩＣレイアウトを、デザインルール制約の集合に従って最適化するために使用される方法である。そのレイアウトは、配線の長さや他のレイアウトオブジェクトの面積と同様に、全体のレイアウト面積を最小化することによって最適化される。レイアウトオブジェクトは、デザインルールの相互関係、回路の接続性、及びパラメータ要件によって制限され、そのような制限に違反することなく位置されなければならない。ほとんど全ての圧縮方法は、一度に一次元で実施され、しばしば、一度に１つのセルで実施される。これは、圧縮の問題を、その問題が効率のよい解決アルゴリズムによって解くことができる程度まで簡素化するためになされる。レイアウトを二次元で完全に圧縮するために、圧縮は、垂直方向、又はデカルト座標におけるＹ軸方向で実施され、その後、水平方向、又はデカルト座標におけるＸ軸方向で実施されなければならない。また、レイアウトは、垂直方向の圧縮の前に、まず、水平方向で圧縮されてもよい。
【０００６】
圧縮が実施されるごとに、４つのステップが実行されなければならない。第１のステップは、レイアウトオブジェクト、又はレイアウトオブジェクトエッジを、位置変数でモデル化し、位置変数の加重和である目的関数を決定することである。次のステップは、対象となるＩＣ技術のデザインルール、及び対象となるＩＣ設計の回路要件に基づいて、レイアウトオブジェクト、若しくはレイアウトエッジ間の制約を作成することである。その制約は、２以上の位置変数を含む線形の数学的な関係としてモデル化される。第３のステップは、既知の線形プログラム解決アルゴリズムを用いて、線形の制約関係に従って、目的関数を最小限にするという数学定問題を解くことである。最後のステップは、レイアウトオブジェクトを、その解決アルゴリズムからの結果を用いて更新することである。
【０００７】
圧縮が、単一のセルにおいて一次元で実施されるとき、圧縮モデルは、デフォルトの制限グラフ問題になる。ここで、グラフにおけるノードは、位置変数を示し、グラフにおける円弧は、線形制約を示す。結果として起こる問題は、実際に非常に効率のよいネットワークフローシンプレックスアルゴリズムを用いて解かれてもよい。制約グラフを用いてモデル化された圧縮に関する更なる詳細は、１９８８年６月に、カリフォルニア州、アナハイムで開催された、第２５回設計自動化会議（Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ）における第３９６−４０２頁の「４５°レイアウトに対する効果的な圧縮器（Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｃｏｍｐａｃｔｏｒ  ｆｏｒ  ４５°  Ｌａｙｏｕｔ）」に見られる。圧縮が、階層的なレイアウトにおいて一次元で実施され、その階層性が維持されるとき、その圧縮モデルは、改定シンプレックスアルゴリズムのわずかな実施によって解くことができる一般的な線形プログラムである。線形プログラムを用いて設計された圧縮についての更なる詳細は、１９８０年６月に、フロリダ州、オーランドで開催された、第２７回設計自動化会議（Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ）における第３７５―３８１頁の「階層を維持する階層圧縮器（Ａ  Ｈｉｅｒａｒｃｈｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｃｏｍｐａｃｔｏｒ）」に見られる。圧縮機に関する追加の詳細が、１９９７年、ノーウェルマサチューセッツのＫｌｕｗｅＡｃａｄｅｍｉｃ出版社におけるＣｙｒｕｓ  ＢａｍｊｉとＲａｖｉ  Ｖａｒａｄａｒａｊａｎによる「リーフセル、及び階層圧縮技術（Ｌｅａｆ  Ｃｅｌｌ  ａｎｄ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｃｏｍｐａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ）」に見られる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
レイアウトを一度に一次元で圧縮することは、必ずしも、最良の結果を生むとは限らない。また、その結果は、第１の圧縮がどの方向に実施されるかに応じて変化する。図１（ａ）に示されるレイアウトの一例を考えて下さい。このレイアウトは、４つのレイアウトオブジェクトＡ，Ｂ，Ｃ，Ｄを含む。それらは、全て、同じ層に割り当てられ、最小空間デザインルールによって、離れて位置されなければならない。もし、このレイアウトが、垂直方向のみで圧縮され、その後、水平方向のみで圧縮されるなら、結果として、図１（ｃ）に示されるレイアウトが得られる。もし、図１（ａ）におけるレイアウトが、水平方向のみで圧縮され、その後、垂直方向のみで圧縮されるなら、結果として、図１（ｂ）で示されるレイアウトが得られる。可能な最良の結果は、図１（ｄ）に示される。それは、一度に一次元で圧縮することによっては容易に生成できない。図１（ｂ）、図１（ｃ）、及び図１（ｄ）におけるレイアウトは、全て、対象となるＩＣ技術の最小空間デザインルールに従うが、図１（ｄ）のレイアウトのみが、製造費用が最も安い最小の面積を占有する。
【０００９】
レイアウトを同時に両方の次元で圧縮することは、大抵、一度に一次元で圧縮することよりも良い結果を生成する。一度に二次元で圧縮することによって、図１（ａ）におけるレイアウトは、図１（ｄ）のレイアウトに変換できる。しかし、二次元圧縮方法の困難性の１つは、角と角の相互関係である。そのような相互関係の例は、図１（ａ）に見られる。すなわち、レイアウトオブジェクトＡの底辺の右角と、レイアウトオブジェクトＢの上辺の左角、レイアウトオブジェクトＣの上辺の右角と、レイアウトオブジェクトＢの底辺の右角、及びレイアウトオブジェクトＢの底辺の右角と、レイアウトオブジェクトＤの上辺の左角である。今日まで、二次元圧縮方法は、角と角の相互関係を、分岐限定、又は他の高価なアルゴリズムで処理する。そのアルゴリズムは、レイアウトの大きさに応じて、指数関数的に増加する実行時間を有する。これらの方法は、良好な結果を生成するけれども、単一セル等の小さなレイアウトに適用できるだけである。二次元圧縮方法に関するさらなる詳細は、“ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ”  １９９６年９月、第１５巻、第９番、第１１１９−１１２６頁の「二次元マスク圧縮のための効率的な対角線制約生成（Ｅｆｆｉｃｉｅｎｔ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｄｉａｇｏｎａｌ  Ｃｏｎｓｔｒａｉｎｔｓ  ｆｏｒ  ２−Ｄ  Ｍａｓｋ  Ｃｏｍｐａｃｔｉｏｎ）」、及び“ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ”  １９８８年８月、第２４３９−２４４３頁の「擬似アニ−ルによる二次元レイアウト圧縮（Ｔｗｏ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｌａｙｏｕｔ  Ｃｏｍｐａｃｔｉｏｎ  ｂｙ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ）」に見られる。
【００１０】
それ故、大きなＩＣレイアウトを効率的に操作し、さらに良質の結果を生むことができる二次元圧縮方法の必要性が存在する。また、いくらかの規則性、又は繰り返されるセルインスタンスを用いてずっと大きなレイアウトを操作するために、階層的レイアウトを操作し、レイアウト階層性を維持する二次元圧縮方法の必要性が存在する。階層性を用いたやや規則的なレイアウトに対して、そのような方法は、レイアウトマイグレーション、及び圧縮に対して、追加の効果を提供する。階層性を有する、又は有しない大きなレイアウトの二次元圧縮方法の別の効果は、ユーザが一次元圧縮方法では必要とされる開始方向を選択する必要がないので、圧縮技術の使用法を簡略化することである。
【課題を解決するための手段】
【００１１】
本発明は、幾何学的オブジェクトを有するレイアウトに関し、より詳細には、レイアウトを同時に二次元で圧縮するシステム及び方法に関する。特定の有用な実施の形態において、本発明のシステム及び方法は、ＩＣレイアウトに適用される。本発明は、分岐限定等の高価な方法に依存することなく、レイアウトを一度に二次元で圧縮する効率的な方法を提供する。結果として、本発明は、従来の一次元圧縮システム及び圧縮方法とほぼ同じような方法で、大きなレイアウトに適用できる。
【００１２】
また、本発明は、階層レイアウトを、完全な階層性を保つ一方で、一度に二次元で圧縮する効率的な方法を提供する。また、本発明は、階層性を、同じセルマスタの、互いに対角方向にある複数のセルインスタンスで維持するという課題を解決する。その課題は、大抵、時に入出力バッファと呼ばれるチップボンディングパッド回路で発生する。
【００１３】
また、本発明は、任意の角度のエッジを有するレイアウトオブジェクトを操作し、全てのエッジの長さを二次元圧縮の一部として変化させる。本発明の特に有用な実施の形態において、エッジは、圧縮の間、伸張又は縮小する４５°の複数の角度に限られる。また、本発明は、二次元の関数であるデバイスサイズを含む一般的な回路要件を操作する。本発明は、階層性レイアウトの一般的な二次元圧縮に対して、的確な解を提供するだけでなく、良質の解を、瞬時に、かつ手動の手助け又は対話を用いずに見つける。
【発明を実施するための最良の形態】
【００１４】
この開示のために、レイアウトは、多角形、線、若しくは点、又は割り当てられた層を有する他の二次元オブジェクトを含む。階層的なレイアウトは、階層の最上層を除いて、２以上のセルマスタ、又は、各々のマスタの１以上のセルインスタンスを含む。レイアウトエッジは、多角形、若しくは線のエッジであり、レイアウト点は、多角形の角、線の終点、又は点である。レイアウトエッジは、トランジスタ、バイアス、若しくは配線等のレイアウトオブジェクトの境界を形成する。テキストラベルは、関連したフォーマット済みのテキストを有するレイアウト点である。アレイインスタンスは、同じセルマスタのセルインスタンスの行、列、若しくは行列等の、規則的なパターンにおける一次元、若しくは二次元で配列されたセルインスタンスである。
【００１５】
デカルト座標における所定の垂直エッジｅｉの位置は、位置変数ｘｉで表され、デカルト座標における所定の水平エッジｅｊの位置は、位置変数ｙｊによって表される。例として図２（ａ）を参照すると、レイアウトオブジェクトＥの右上端は、位置変数ｘ１とｙ１によってそれぞれ表され、レイアウトオブジェクトＦの左下端は、位置変数ｘ２とｙ２によってそれぞれ表される。レイアウトオブジェクトＦは、オブジェクトＥとＦの間の最小空間デザインルール距離に対応した間隔ｄだけ、レイアウトオブジェクトＥの上方及び／又は右にとどまる。オブジェクトＦをＥの右にとどめることは、線形制約ｘ２−ｘ１＞ｄで表され、オブジェクトＦをＥの上方に保持することは、線形制約  ｙ２−ｙ１＞ｄで表され、オブジェクトＦをＥの右上にとどめることは、線形制約ｘ２＞ｘ１とｙ２＞ｙ１に加えて、非線形制約（ｘ２−ｘ１）２＋（ｙ２−ｙ１）２＞ｄ２  によって表される。非線形制約は、数学的なプログラミングにおいて実施することが一層難しいので、代わりに、この制約への線形近似が使用される。これは、ＥからＦへの最も近い可能な間隔において、わずかな劣化を伴う。ＦをＥの右上に保持することは、代わりに、単一の線形制約
【数１】
2004531840.tif 000003
で表される。ＦをＥの上方、Ｅの右、若しくはＥの斜め向かいに保持するという選択は、制約が生成される前になされ、線形プログラム方法によって解かれる。もし、解いた後、間違った選択がなされたなら、経験則が適用され、この選択を変更する。実際には、変更の必要がほとんどなく、分岐限定方法を用いることなく良好な結果が得られる。
【００１６】
図２（ｂ）は、ソースレイアウトにおけるＥとＦの開始位置に基づいて、制約ＥからＦへの初期選択がどのようになされたかを示す。もし、Ｆの底部エッジが領域Ｉに重なるなら、初期の制約は、ｙ２−ｙ１＞ｄとなる。もし、Ｆの右のエッジが領域IIIに重なるなら、初期の制約は、ｘ２−ｘ１＞ｄとなる。もし、Ｆの右下の角が領域IIに存在するなら、初期の制約は、
【数２】
2004531840.tif 000004
となる。本発明の好ましい実施の形態は、角と角の相互関係のために、３つの領域を考慮することであるが、その方法は、Ｆが、距離ｄだけ、厳密にＥの上方、若しくは右にある場合に２つの領域にも適用される。又は、その方法は、各領域に対して類似した線形制約を有する４以上の領域に対して適用される。
【００１７】
任意の隣りあった、又は相互に関係しているレイアウトオブジェクト対や、エッジ対に関する手法を一般化するために、デザインルールを、水平方向にｘｉ−ｘｊ＞ｄｉｊの形式の線形制約で、垂直方向にｙｊ−ｙｉ＞ｄｉｊの形式の線形制約で、又は対角方向に、
【数３】
2004531840.tif 000005
若しくは
【数４】
2004531840.tif 000006
の形式の線形制約を用いて施行する制約が生成される。それぞれの場合について、制約の選択は、相互に関係するオブジェクト、又はエッジの初期の位置に依存する。共通のｙ座標を有する並行した垂直のエッジは、水平方向に制約され、共通のｘ座標を有する並行した水平のエッジは、垂直方向に制約され、４５度の傾斜をもつ並行した斜線エッジは、
【数５】
2004531840.tif 000007
として、対角方向に制約され、１３５度の傾斜を持つ並行した斜線エッジは、
【数６】
2004531840.tif 000008
として、対角方向に制約される。
角対斜線エッジの相互関係は、斜めに制約される。図２に示すように、角対角の相互関係は、相互に関係する角の間に形成された、我々が０度から１８０度の間と仮定する角度ａｉｊに基づいて制約される。これらの角は、もし、ａｉｊが２２．５度未満、若しくは１４７．５度以上の場合、水平方向にｘｊ−ｘｉ＞ｄｉｊとして制約され、もし、ａｉｊが６７．５度と、１１２．５度の間にある場合、垂直方法にｙｊ−ｙｉ＞ｄｉｊとして制約され、もし、ａｉｊが２２．５度から、６７．５度の間にある場合には、対角方向に、式（５）として対角方向に制約され、ａｉｊが１１２．５度から１５７．５度の間にある場合、対角方向に、式（６）として制約される。
【００１８】
所定の斜線エッジｅｋの位置は、エッジのいずれかの終端の位置変数によって表される。一般に、レイアウトオブジェクトの、各々の水平エッジ、又は垂直エッジに、１つの位置変数が割り当てられ、レイアウトオブジェクトの各々の斜線エッジに、２つの位置変数が割り当てられる。全ての斜線エッジの角度が、式ｘｊ−ｘｉ＝ｙｊ−ｙｉ、又は式ｘｊ−ｘｉ＝ｙｉ−ｙｊの線形制約によって、同じ角度で維持されるように制約される。ここで、下方の終端の点を（ｘｉ，ｙｉ）、上方の終端を（ｘｊ，ｙｊ）としたとき、前者の制約は４５度の傾斜を強制し、後者の制約は１３５度の傾斜を強制する。この方法は、どんな角度の斜線エッジに対しても一般化が可能であり、その角度は、圧縮の間不変である。例として、図３は、１３５度の傾斜をもつレイアウトオブジェクトＧ上の斜線エッジを示す。Ｇの上部エッジは、位置変数ｙ４で表され、右のエッジは、位置変数ｘ３で表される。その後、追加の位置変数ｘ４とｙ３は、完全に、Ｇの斜線エッジの位置を定義する。Ｇの斜線エッジを１３５度の傾斜で維持するために、線形制約ｘ３−ｘ４＝ｙ４−ｙ３が、この発明の一部として生成される。
【００１９】
ＩＣレイアウトの回路要件は、接続性、配線幅、及びデバイスのサイズの要件を含む線形制約として、モデル化することが可能である。接続性と配線幅の要件は、デザインルールの相互関係に類似しており、デザインルール制約と同じ形式の線形制約を用いて、レイアウトのエッジ対、若しくはオブジェクト対の間でモデル化される。また、デバイスサイズの要件は、レイアウトエッジ、若しくはレイアウトオブジェクト間で線形制約としてモデル化されてもよく、又はデバイスに沿って隣り合ったエッジの長さの最小和、および／または最大和を示す線形制約である最小周囲形式の制約を必要としてもよい。（レイアウト）デバイスオブジェクトＯに対する最小デバイスサイズ制約の例として図４を考慮して下さい。最小デバイスサイズ要件を満たすために、Ｏの側部周囲が、少なくともｗｏで一定でなければならないと仮定する。この場合、線形制約は、（ｙ１３−ｙ１５）＋（ｘ１４−ｘ１３）＋（ｙ１５−ｙ１４）＞ｗｏであり、それはｙ１３−ｙ１４＋ｘ１４−ｘ１３＞ｗｏに簡略化される。
【００２０】
階層レイアウトのために、セルマスタは、エッジ、若しくは点を持つレイアウトオブジェクト、及び／又は、他のセルマスタを参照するセルインスタンスを含んでもよい。セルマスタに含まれる全てのセルインスタンスｃｉの位置は、位置変数ｘｉとｙｉによって表される。点（ｘｉ，ｙｉ）は、セルインスタンスの原点を表し、このセルに含まれる全てのレイアウトオブジェクト、またはレイアウトエッジは、この原点とセルインスタンスの幾何学的配置に関して変換される。セルインスタンスは、図５に示される可能な８つの幾何学的配置の１つを有していてもよい。図５に示された幾何学的配置のそれぞれは、セルインスタンスの境界ボックス（ｂｏｕｎｄｉｎｇ  ｂｏｘ）を、黒太の長方形として示し、セルインスタンスの原点を、大きな黒い点として示し、セルインスタンスの幾何学的配置を、斜線として示す。標準幾何学的配置（Ｎｏｒｍａｌ  Ｏｒｉｅｎｔａｔｉｏｎ）は、セルインスタンスが、如何なる回転も反転もなしにセルマスタを参照することを意味する。ミラーＹの幾何学的配置は、セルインスタンスが、横に反転させたセルマスタを参照することを意味し、ミラーＸの幾何学的配置は、上下に反転させたセルマスタを参照することを意味する。ミラーＸＹの幾何学的配置は、セルインスタンスが、横と上下の両方に反転（１８０度回転と同一）されたセルマスタを参照することを意味する。回転９０の幾何学的配置は、セルインスタンスが、時計回りに９０度回転したセルマスタを参照することを意味し、回転２７０の幾何学的配置は、セルインスタンスが、時計回りに２７０度回転した（反時計回りに９０度回転と同一）セルマスタを参照することを意味する。回転９０、及びミラーＹの幾何学的配置は、セルインスタンスが、最初に９０度時計回りに回転し、次に、横に反転されたセルマスタを参照することを意味し、回転９０、及びミラーＸの幾何学的配置は、セルインスタンスが、最初に９０度反時計回りに回転し、それから、上下に反転されたセルマスタを参照することを意味する。一般的に、他のセルインスタンスの幾何学的配置が可能であるが、好ましい実施の形態は、ただ８通りの可能な直行する幾何学的配置をサポートするだけである。
【００２１】
複雑なレイアウト階層においてインスタンス化されたレイアウトオブジェクトの絶対位置が、どのように示されるかを例示するために、図６を参照して下さい。図６の階層のトップレベルは、２つのセルインスタンスＨとＫを含んでいる。セルインスタンスＨは、セルインスタンスＩを含むセルマスタを参照する。次に、セルインスタンスＩは、レイアウトオブジェクトＪを含むもう一つのセルマスタを参照する。セルインスタンスＨは、標準幾何学的配置を有し、その原点は（ｘ５、ｙ５）に位置される。また、セルインスタンスＩは、標準幾何学的配置を有し、セルインスタンスＨのマスタの座標系に関連した原点は、（ｘ６、ｙ６）である。レイアウトオブジェクトＪの右上の角は、セルインスタンスＩのマスタの座標系に関連して（ｘ７、ｙ７）に位置される。インスタンスＨのインスタンスＩのインスタンスＪの右上の角の絶対位置は、（ｘ５＋ｘ６＋ｘ７、ｙ５＋ｙ６＋ｙ７）である。セルインスタンスＫは、セルインスタンスＬを含むセルマスタを参照する。セルインスタンスＬは、次に、レイアウトオブジェクトＭを含むもう一つのセルマスタを参照する。セルインスタンスＫは、ミラーＸＹの幾何学的配置を有し、その原点は、（ｘ８、ｙ８）に位置される。セルインスタンスＬは、回転９０の幾何学的配置を有し、セルインスタンスＫのマスタの座標系に関する原点は、（ｘ９、ｙ９）に位置される。レイアウトオブジェクトＭの角は、セルインスタンスＬのマスタの座標系に関して、（ｘ１０、ｙ１０）に位置される。インスタンスＫのインスタンスＬのインスタンスＭの角の絶対位置は、インスタンスＫとＬの非標準幾何学的配置を考慮に入れて、（ｘ８−ｘ９＋ｙ１０、ｙ８−ｙ９−ｘ１０）となる。オブジェクトＫのオブジェクトＩのオブジェクトＪは、図２（ａ）に示されたオブジェクトＥからオブジェクトＦへのデザインルールの間隔に類似した、オブジェクトＫのオブジェクトＬのオブジェクトＭに対するデザインルールの間隔ｄを必要とすると仮定する。オブジェクトＫのＬのＭを、オブジェクトＨのＩのＪの上方に維持するために、線形制約（ｙ８−ｙ９−ｘ１０）−（ｙ５＋ｙ６＋ｙ７）＞ｄが必要となる。オブジェクトＫのＬのＭを、オブジェクトＨのＩのＪの右に維持するために、（ｘ８−ｘ９＋ｙ１０）−（ｘ５＋ｘ６＋ｘ７）＞ｄが必要となる。最後に、オブジェクトＫのＬのＭを、オブジェクトＨのＩのＪの斜め右上に維持するためには、以下の線形制約
【数７】
2004531840.tif 000009
が必要となる。
【００２２】
一般的に、本発明は、最も複雑な階層レイアウトを考慮に入れても、全てのデザインルールの相互関係を一般的な線形制約として二次元でモデル化する。デザインルールは、以下の式（８）において水平方向に強制される。
【数８】
2004531840.tif 000010
ここで、ｘｉ又はｘｊは、セルインスタンス又はレイアウトエッジのｘ又はｙの位置変数を示し、ｔｉ又はｔｊは、階層における各々のレベルに対する変換係数（±１）を示す。デザインルールは、以下の式（９）において垂直方向に強制される。
【数９】
2004531840.tif 000011
ここで、ｙｉ又はｙｊは、セルインスタンス又はレイアウトエッジのｘ又はｙの位置変数を示し、ｔｉ又はｔｊは、階層における各々のレベルに対する変換係数（±１）を示す。
【数１０】
2004531840.tif 000012
ここで、ｘｉ，ｘｊ，ｙｉ又はｙｊは、セルインスタンス又はレイアウトエッジのｘ又はｙの位置変数を示し、ｔｉ又はｔｊは、階層における各々のレベルに対する変換係数（±１）を示す。接続性、配線幅、及びデバイスサイズ等の回路要件は、上述のデザインルール制約モデルに類似した一般的な方法でモデル化される。
【００２３】
階層性レイアウトのセルマスタは、規則正しいパターンで配列された他のセルマスタを参照するアレイインスタンスを含んでもよい。セルインスタンスと同様に、セルマスタに含まれる全てのアレイインスタンスａｉは、位置変数ｘｉ，ｙｉによって示される。ここで、点（ｘｉ，ｙｉ）は、アレイインスタンスにおける第１のセルの原点を示す。複数の列を含むアレイインスタンスの列間の空間は、（相対的な）位置変数ｙａによって示され、複数のコラムを含むアレイインスタンスのコラム間の空間は、（相対的な）位置変数ｘａによって示される。アレイの間隔変数は、セルインスタンス及びラベルエッジの変数と同様に、変換係数ｔｉ、又はｔｊが整数の係数である場合を除いて、デザインルールを強制する線形制約において生じる。いずれにしても、本発明は、アレイインスタンスの有無に関わらず、線形制約システムとして、如何なる複雑な階層をも二次元でモデル化する。
【００２４】
近年、多くのＩＣ技術が、割り当てられた層上のレイアウトオブジェクト、若しくは、関連する重なったオブジェクトの集合の全面積が最小量でなければならないことを意味する最小面積デザインルールを必要としている。一般に、面積は、例えば、高さｈ、幅ｗの長方形の面積が、ｈｗであるので、線形関数として正確にモデル化できない。線形の近似として、本発明は、最小面積デザインルールを最小周囲デザインルールとして扱う。ここで、最小周囲量は、最小面積デザインルール量と最小幅デザインルール量とから導き出される。最小周囲は、線形制約を用いて実施され、従って、線形制約システムを使用してモデル化された二次元圧縮システムを一貫して維持する。一般に、最小周囲制約は、最小面積制約よりも一層保守的（ｃｏｎｓｅｒｖａｔｉｖｅ）であり、正方形の面積について、最大の相違が発生する。しかし、実際には、本発明を適用後、正方形の面積はめったに生じず、最小幅を１つの次元とする長方形が、頻繁に結果として生成される。結果として、最小周囲制約として最小面積制約を近似すると、最適、又はほとんど最適な結果につながる。
【００２５】
所定の層をＩとすると、最小面積デザインルール量はａＩ、最小幅デザインルール量はｗＩである。層Ｉの最小周囲は、以下の式（１１）で示される。
【数１１】
2004531840.tif 000013
【００２６】
例として、図７の長方形のレイアウトオブジェクトＮを考える。もし、Ｎが、割り当てられた層Ｉであるならば、Ｎの最小面積制約は、２（ｙ１２−ｙ１１＋ｘ１２−ｘ１１）＞ｐＩとなる。ここで、ｐＩは、定数として扱われる。
【００２７】
本発明の好ましい実施の形態は、線形制約として、デザインルールの相互関係、回路要件、及び他の制約をモデル化し、また、位置変数の線形関数として、階層の有無に関わらず二次元の圧縮オブジェクトをモデル化する。一般に、完全な圧縮オブジェクトは、位置変数の重み付けされた和である。ここで、重み、又は係数は、線形関数としてモデル化できる２次的なオブジェクトと同様に、レイアウトの全体面積を最小化するために選択される。レイアウト階層のトップレベル、又は、もし階層でないならそのレイアウト自身は、レイアウトの全てのオブジェクト、セル、そして、アレイインスタンスを含む境界ボックスにより境界が定められる。レイアウトの全面積は、境界ボックスの面積を減じることによって最小化される。この面積を線形目的関数としてモデル化するために、その面積は、境界ボックスのエッジを表している位置変数の重み付けされた和として近似されることが可能である。例えば、図７の境界ボックス２は、レイアウトオブジェクトＮを含むレイアウトの境界ボックスである。境界ボックスの左側と右側は、それぞれ、位置変数ｘｓと、ｘｔで表され、下側と上側は、位置変数ｙｓと、ｙｔで表される。一般に、ｘｓとｙｓは、ゼロ、又は、ユーザの与える位置等の定数でありうる。この境界ボックスの圧縮前の幅と高さは、ｗとｈであり、それらは、境界ボックス面積の目的関数の近似において一定の重みとして使用される。本発明の好ましい実施の形態に対して、図７のレイアウトの面積を最小化するために使用される目的関数は、ｗ（ｙｔ−ｙｓ）＋ｈ（ｘｔ−ｘｓ）である。境界ボックス２の内側にレイアウトオブジェクトＮを維持しておくために、線形制約は、以下のようになることが必要とされる。
【数１２】
2004531840.tif 000014
【００２８】
一般的な場合について、レイアウトの境界ボックスに隣接した全てのレイアウトオブジェクト、セル、及びアレイインスタンスに線形制約が必要とされる。レイアウト全体の面積を、境界ボックス面積の目的関数を使用して最小化する主要な目的に加えて、第２の目的が、二次元圧縮目的関数に追加されてもよい。第２の目的の例は、レイアウトで使用される各々の層の面積を最小化することである。図７におけるレイアウトオブジェクトＮを考慮すると、第２の目的は、Ｎの面積を最小化することである。境界ボックス２と同様に、Ｎの面積は、ｗＮ（ｙ１２−ｙ１１）＋ｈＮ（ｘ１２−ｘ１１）として近似される。ここで、ｗＮとｈＮは、圧縮前の境界ボックスの幅と高さであり、定数として扱われる。この線形関数は、境界ボックス面積近似に加えられることが可能であり、追加の定数の係数ｚ１とｚ２により、それぞれ、以下のように重み付けされる。
【数１３】
2004531840.tif 000015
【００２９】
一般に、圧縮の目的関数は、複雑であり、多くの基準に対してレイアウトを最適化するために使用できる。本発明は、レイアウト面積、および／または、層面積を減じる目的関数に限定されないが、どんな分析的な目的関数であってもよい。本発明の好ましい実施の形態は、全てのオブジェクトの和を表す線形目的関数である。
【００３０】
本発明の好ましい実施の形態は、階層の有無に関係なく、任意のレイアウトの二次元圧縮に対して、以下の形式の線形プログラムを生成する。
【数１４】
2004531840.tif 000016
ここで、ｘは、全てのレイアウト要素に対する位置変数のベクトルであり、ｃは、二次元圧縮オブジェクトのための係数のベクトルであり（ｃＴは、ｃの転置である）、Ａは、線形制約の係数の行列であり、ｂは、ベクトル、又は線形制約距離である。ベクトルｃ、ｂ、及び行列Ａは、一定であり、目的は、変数であるベクトルｘに対して最適解を見つけることである。一般に、行列Ａは、ほとんど全てのデザインルール相互関係及び回路要件が、レイアウトの非常に小さな面積に限定されるという事実により、非常に疎（ｓｐａｒｓｅ）である。結果として、上述の線形プログラムは、改定シンプレックスアルゴリズム、又はインテリアポイント法の疎実行（ｓｐａｒｓｅ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）を含む、線形プログラム法の疎実行を用いて効率的に解くことができる。両方の方法は、ＩＬＯＧ社のＣＰＬＥＸ、ＳｔａｎｄａｒｄＢｕｓｉｎｅｓｓＳｏｆｔｗａｒｅ社のＭＩＮＯＳ、及びＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ（ＩＢＭ）社のＯＳＬを含む、多くの供給メーカから購入することが可能である。これらの供給メーカは、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ  Ｗｏｒｋｓｔａｔｉｏｎｓ、又はＩｎｔｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒｓ等の全ての一般的なコンピュータに対して、実行可能な機械コードを与える。上述の線形プログラムが一旦解かれると、ｘの値は、目的関数ｃＴｘに従って最適化された、全てのレイアウト要素の圧縮された位置を示す。その後、そのレイアウトは、これらの値を用いて更新され、圧縮方法が完了する。
【００３１】
上述の圧縮方法の結果を改善するために、角対角のデザインルール相互関係に関連した制約のいくつかが、再び取り上げられることが必要であってよい。任意の経験則が、解を改善するために使用されるが、本発明の好ましい実施の形態は、線形プログラムを解くことに起因する制約の費用に基づいて、グリーディ経験則（ｇｒｅｅｄｙ  ｈｅｕｒｉｓｔｉｃ）を使用する。最適値ｘに加えて、全ての線形プログラム方法は、線形プログラムにおける全ての制約に対して、費用値λを生成する。レイアウト面積に影響を与えそうな最も重要な制約は費用が最も高く、重要でなくかつ低費用の制約の前に考慮される。経験則は、制約領域の選択が間違っている、角対角の相互関係に相当する費用が最も高い制約を選択する（図２（ｂ）を参照）。その制約は、線形プログラムから除去され、現在の領域に一致する新しい制約が追加され、その後、その線形プログラムが、再び解かれる。時間を節約するために、線形プログラムは、最後に知られた解から始めて、追加の解法を用いて再び解かれる。制約を変化させ、線形プログラムを再び解く工程は、全ての制約領域が最適になるまで、又は、費用が、ユーザが特定したしきい値を超えるという制約に達するまで繰り返される。本発明では、この経験則に対して多くの変数が使用されるが、ここで述べられる経験則は、実際には、非常にうまくいく。本発明は、この経験則に限られず、また、角対エッジ、又はエッジ対エッジの相互関係等の他の相互関係を再考するために経験則を適用することに限られない。
【００３２】
本発明のブロック図、又はフロー図が、図８に示される。図８に示される要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせの種々の形式で実施されうる。好ましくは、これらの要素は、プロセッサ、メモリ、及び入出力インタフェースを有する適切にプログラムされた１以上の汎用コンピュータのソフトウェアで実行される。複数のレイアウトオブジェクトを有し、複数のセルマスタ、並びに、セルインスタンス及び／又はアレイインスタンスである単一のレベル又は階層構造に組織化されたレイアウトは、少なくとも１つの層に対して初期位置を有し、しばしば、複数の層が、ブロック１００からブロック１０２に入力される。ブロック１０２において、全てのレイアウトオブジェクト、セルインスタンス、アレイインスタンス、及び境界ボックスに対して、位置変数が決定され、かつ割り当てられる。変数は、圧縮中、全てのレイアウト要素の位置を決定し、レイアウトを更新するために使用される。デザインルール、及び回路要件は、ブロック１０６からブロック１０４に入力される。
【００３３】
ブロック１０４では、デザインルール、レイアウト階層構造、もしあればレイアウト技術、及び他のユーザが提供した、若しくは自動的に生成された制約に基づいた、同じ又は異なる層上のレイアウトエッジ又はレイアウト点間の分離、又は配置を説明する線形制約のシステムが形成され、解かれる。制約の一例は、ｘｊ−ｘｉ＞ｄｉｊである。線形制約のシステムは、レイアウト１００を、決定変数なしに二次元で十分制約するために必要とされる全ての制約を含む。レイアウト角間の制約に関連した決定が、角の初期位置に基づいてなされ、後に改定され、経験則によって変えられる。
【００３４】
ブロック１１０において、二次元圧縮の一部として最適化される線形目的関数が形成される。その目的関数は、ブロック１０２において割り当てられた位置変数の重み付けされた和である。その重み係数１１２は、１１０に入力され、レイアウト総面積を最小化し、レイアウト面積、若しくは他の線形関数を最小化／最大化するという関連する目的、又は最終的な目的関数を作成するために集計される必要のある他の線形関数を構築するために使用される。重み係数１１２は、形はどうであれ、レイアウト要素と関連付けられ、レイアウトの幾何学的、電気的、又は他の測定可能なメトリクスを含む複雑な関数でありうる。
【００３５】
ブロック１１４では、制約の線形システムが、レイアウトを二次元で同時に圧縮かつ最適化するために解かれる。線形プログラム、又は、線形プログラム若しくは他の数学的プログラム技術に基づいたグラフの任意の組み合わせが、システムを解くために使用できる。もし、目的関数が無限である、又は線形制約システムが実行不可能であるために、線形システムを解くことができないなら、その方法は終了し、無限の変数、若しくは実行できない制約が報告される。もし、二次元経験則を適用する決定１１６が肯定的でないなら、通常、線形システムは解かれ、レイアウトは、ブロック１２２で更新できる。もし、決定１１６がイエスなら、ブロック１１８で、より良い二次元圧縮結果を達成するために、制約が再考される。ブロック１１８は、線形システムにおいて１以上の制約を変更し、そのシステムは、ブロック１２０で解かれる。ブロック１１８とブロック１２０は、十分良い結果が得られるまで反復して繰り返され、ブロック１２２で、レイアウトが更新できる。そのレイアウトは、線形システムの解を実行することによって、ブロック１２２で修正され、レイアウトにおける全ての要素の位置に対して新しい位置選定を提供する。ブロック１２２において、デザインルール、レイアウト階層、若しくは、線形制約のシステムに組み込まれた他の制約に従って、そのレイアウトに対して修正が行われる。もし望まれるなら、圧縮法全体が再び実行されてもよいが、一般に、対象となる技術のデザインルールに従う二次元圧縮されたレイアウトを達成する必要はない。
【００３６】
本発明のシステム２００のブロック図、又はフロー図が、図９に示される。システム２００は、メモリ装置２０４にアクセスする処理装置２０２を含む。メモリ装置２０４は、本発明を実行するためのアプリケーションソフトウェアパッケージ２０６を記憶する。ユーザは、入力装置２０８を通して、処理装置２０２とインタフェースで接続してもよい。その入力装置２０８は、キーボード、マウス、トラックボール、タッチスクリーンモニタ、音声認識システム、又は他の既知の入力装置を含んでもよい。ディスプレイ装置２１０は、結果、プロンプト、ユーザ入力、グラフィック、その他を表示する。また、ネットワーク２１２は、局所領域、又は広域領域に渡って、他の処理装置又はネットワークに接続するために含まれる。
【００３７】
新規な二次元圧縮システム及び方法の好ましい実施の形態（それらは、説明のためのものであって、それらに限定されない）を説明したが、この開示を参照して当業者によって修正及び変形がなされうる。本発明の範囲及び精神の範囲内で開示される本発明の特定の実施の形態において変化が可能である。
【図面の簡単な説明】
【００３８】
【図１（ａ）】４つのレイアウトオブジェクトを有するソースレイアウトの例を示す図である。
【図１（ｂ）】水平方向のみで圧縮された後、垂直方向のみで圧縮された図１（ａ）のレイアウトを示す図である。
【図１（ｃ）】垂直方向のみで圧縮された後、水平方向のみで圧縮された図１（ａ）のレイアウトを示す図である。
【図１（ｄ）】同時に両方の次元で圧縮された図１（ａ）のレイアウトを示す図である。
【図２（ａ）】角と角のデザインルールの相互関係を有する２つのレイアウトオブジェクトを示す図である。
【図２（ｂ）】レイアウトオブジェクトの角の周囲の制約の分類が考慮された領域を示す図である。
【図３】斜めのエッジを有するレイアウトオブジェクトの例を示す図である。
【図４】階層レイアウトの全ての可能なセルインスタンスの幾何学的配置の一例を示す図である。
【図５】相互に関係するレイアウトオブジェクトを有する複雑なレイアウト階層の一例を示す図である。
【図６】囲む境界ボックスと共にレイアウトオブジェクトを示す図である。
【図７】二次元圧縮方法のブロック／フロー図である。
【図８】二次元圧縮方法のためのシステムのブロック／フロー図である。
【符号の説明】
【００３９】
１０２  位置変数割り当てステップ
１０４  制約作成ステップ
１１０  目的関数構築ステップ
１１４  線形システムを解くステップ
１１８  制約再考ステップ
１２２  レイアウト更新ステップ
【図１（ａ）】
2004531840.tif 000017
【図１（ｂ）】
2004531840.tif 000018
【図１（ｃ）】
2004531840.tif 000019
【図１（ｄ）】
2004531840.tif 000020
【図２（ｂ）】
2004531840.tif 000021
【図５】
2004531840.tif 000022
【図８】
2004531840.tif 000023
【図９】
2004531840.tif 000024
【国際公開パンフレット】
2004531840.tif 000025
2004531840.tif 000026
2004531840.tif 000027
2004531840.tif 000028
2004531840.tif 000029
2004531840.tif 000030
2004531840.tif 000031
2004531840.tif 000032
2004531840.tif 000033
2004531840.tif 000034
2004531840.tif 000035
2004531840.tif 000036
2004531840.tif 000037
2004531840.tif 000038
2004531840.tif 000039
2004531840.tif 000040
2004531840.tif 000041
2004531840.tif 000042
2004531840.tif 000043
2004531840.tif 000044
2004531840.tif 000045
2004531840.tif 000046
2004531840.tif 000047
2004531840.tif 000048
2004531840.tif 000049
2004531840.tif 000050
2004531840.tif 000051
2004531840.tif 000052
2004531840.tif 000053
2004531840.tif 000054
2004531840.tif 000055
2004531840.tif 000056
2004531840.tif 000057
【国際公開パンフレット（コレクトバージョン）】
2004531840.tif 000058
【国際調査報告】
2004531840.tif 000059