(57)【要約】  【課題】  半導体ＬＳＩにおいて配線に起因する様々な課題のうち、クロストークや消費電力の低減やタイミング最適化およびチップの歩留まりの向上が、チップの性能やコスト力に対して必須課題となっている。  【解決手段】  配線間隔を最適化するために、配線間のバランス度を定義する。評価関数として元の配線間隔と対向する配線長の積に重み係数を備えた形で表現したものを使い、その関数値の最小化または最大化によって最適化を実現する。また、配線間隔の大きさによって欠陥密度の大きさを計る歩留まりを表現する関数も有し、これによって歩留まりが向上する配線バランスも行う。これらの技術を用いると、ＬＳＩチップのタイミング最適化やクロストークを低減するレイアウトが行える上に、歩留まりも向上できるレイアウトパターンも生成することができ、非常に有用である。【選択図】  図３
2005301799.tif 000002
【特許請求の範囲】
【請求項１】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線間容量の大きさに基づく隣接バランス度を計算する工程Ａ２と、
前記工程Ａ２によって計算された前記隣接バランス度に基づいて前記隣接する配線パターンの位置を移動する工程Ａ３と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項２】
請求項１記載の前記工程Ａ１の前に、
図形情報全てについて、任意の配線パターンを下詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ１と、
再び任意の配線パターンを上詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ２と
を含んで配線ジョグ位置候補を決めることを特徴とする半導体集積回路のレイアウト修正方法。
【請求項３】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線間容量の大きさに基づく隣接バランス度を計算する工程Ａ２と、
半導体集積回路のタイミング情報を入力して、元の配線パターンの位置関係で生じるタイミングと前記隣接バランス度を考慮したときの配線パターンの位置関係で生じるタイミングの差を計算する工程Ｃ１と、
前記工程Ａ２によって計算された前記隣接バランス度に基づいて前記隣接する配線パターンの位置を移動する工程Ａ３と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項４】
請求項２記載の工程Ｊ２の後に、請求項３記載の工程Ｃ１を行い、さらに前記工程Ａ１と前記工程Ａ２と前記工程Ａ３とを行うことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項５】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線パターン間隔をパラメータとする関数で表された欠陥密度を計算する工程Ｄ１と、
元の配線パターンの位置関係で生じる欠陥密度と隣接バランス度を考慮したときの配線パターン位置関係で生じる欠陥密度の差を計算する工程Ｄ２と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項６】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
前記パス上の全ての配線パターンの隣接バランス度を計算する工程Ｂ３と、
前記工程Ｂ３で求めた前記隣接バランス度に基づいて前記配線パターンの位置を移動する工程Ｂ４と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項７】
請求項６記載の前記工程Ｂ１の前に、
図形情報全てについて、任意の配線パターンを下詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ１と、
再び任意の配線パターンを上詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ２と
を含んで配線ジョグ位置候補を決め、さらに前記工程Ｂ２と前記工程Ｂ３と前記工程Ｂ４とを行うことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項８】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
半導体集積回路のタイミング情報を入力して、元の配線パターンの位置関係で生じるタイミングと、隣接バランス度を考慮したときの配線パターンの位置関係で生じるタイミングとの差を計算する工程Ｃ１と、
前記隣接バランス度に基づいて前記配線パターンの位置を移動する工程Ｂ４と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項９】
請求項７記載の工程Ｊ２の後に、請求項８の工程Ｃ１を行い、さらに前記工程Ｂ２と前記工程Ｂ３と前記工程Ｂ４とを行うことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１０】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
前記パス上の全ての配線パターンに対して、配線パターン間隔をパラメータとする関数で表された欠陥密度を計算する工程Ｅ１と、
元の配線パターンの位置関係で生じる欠陥密度と、隣接バランス度を考慮したときの配線パターンの位置関係で生じる欠陥密度との差を計算する工程Ｅ２と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１１】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
任意の配線パターンを隣接して挟む第１の隣接配線パターンと第２の隣接配線パターンの間で生じる配線容量を最小化することを目的として、前記配線パターンの位置を変更させて前記第１の隣接配線パターンとの配線間隔と前記第２の隣接配線パターンとの配線間隔を新たに決定するために、元の前記配線パターンと前記第１の隣接配線パターンとの間隔およびオーバーラップ長の積αと、元の前記配線パターンと前記第２の隣接配線パターンとの間隔およびオーバーラップ長の積βとに基づいて、αとβに比して前記配線パターンの位置を変更することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１２】
請求項１記載の前記工程Ａ２の隣接バランス度の計算として、請求項１１を実行することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１３】
請求項３記載の工程Ａ２の隣接バランス度の計算として、請求項１１を実行することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１４】
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
任意の配線パターンを隣接して挟む第１の隣接配線パターンと第２の隣接配線パターンの間で生じる配線容量を最大化することを目的として、前記配線パターンの位置を変更させて前記第１の隣接配線パターンとの配線間隔と前記第２の隣接配線パターンとの配線間隔を新たに決定するために、元の前記配線パターンと前記第１の隣接配線パターンとの間隔およびオーバーラップ長の積αと、元の前記配線パターンと前記第２の隣接配線パターンとの間隔およびオーバーラップ長の積βとに基づいて、１/αと１/βに比して前記配線パターンの位置を変更することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１５】
請求項１記載の前記工程Ａ２の隣接バランス度の計算として、請求項１４を実行することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１６】
請求項３記載の前記工程Ａ２の隣接バランス度の計算として、請求項１４を実行することを特徴とする半導体集積回路のレイアウト修正方法。
【請求項１７】
請求項１２、請求項１３、請求項１５または請求項１６に記載のレイアウト修正方法が適用されていることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いて半導体集積回路の設計を行う工程のうち、電子部品の配置とその間を論理的な意味を持たせて接続する配線におけるレイアウトの修正方法に関するものである。
【背景技術】
【０００２】
半導体ＬＳＩの製造技術の飛躍的な進歩により、ディープサブミクロンと呼ばれる超微細なデザインルールで１チップが構成できるようになった。集積度は格段に向上し、数百万トランジスタから１０００万トランジスタ以上も搭載することができる。デザインルールの縮小化は物理的な変化をもたらし、さらに設計の困難さを増すことになった。例えば、回路内を信号が伝達する時間、すなわち、信号遅延時間（単に、遅延時間）に占める配線遅延とゲート遅延の関係が、１ミクロン時代とは異なり、〔配線遅延〕＞〔ゲート遅延〕になり、チップ設計において配線遅延を考慮することは必須の課題となっている。これは、トランジスタデバイスの微細化に伴い、ゲート遅延が小さくなってきたにもかかわらず、配線抵抗が大きくなってきたために、配線遅延がゲート遅延に比べて小さくならないことによる。この事実によって、配線設計は今日のＬＳＩ設計の重要な位置を占めるようになった。
【０００３】
以上を背景に、まずＬＳＩ設計の中でクロストークに代表される信号保証の問題が深刻化してきている。この現象は、信号が変化するときに、配線間の容量を介して電流が流れることで発生するものであり、伝わる信号波形が他の配線上に流れる電気信号の影響を受ける。
【０００４】
クロストークを回避する基本的なアプローチは、配線間容量の低減と隣接配線間の非同時スイッチング化である。配線間容量を低減するためには配線間隔を広げると良いが、従来は、詳細配線時に広い間隔グリッドを用いてグリッド配線を行うか、配線間隔を制御しながらグリッドレス配線を行うか、のどちらかであった。前者の方法は高速かつ１００％配線が比較的容易になるが、ＬＳＩの面積制約によって起こるグリッド数制限で配線リソースの確保が難しくなり、結果として面積を拡大することになりかねない。後者は、数万以上の配線ネットに対してクロストークを回避した上で高密度にかつ１００％配線するといった技術的な困難さを有していた。いずれにせよ、配線設計を高度に制御しなければならない。
【０００５】
次に、半導体プロセスの微細化の進行によって、マスク処理が非常に困難になりつつあり、高い歩留まりが得られないことや、最悪、ＬＳＩチップができないといった問題が出始めている。この原因は、半導体マスクの図形パターンが露光で用いる光の波長よりも細かいことからくる。その結果、位相マスク処理等の高度なマスク処理技術が必要となってきている。
【０００６】
半導体ＬＳＩの歩留まりの善し悪しは、この図形パターンの配置関係でも影響を受ける。例えば、１つのＬＳＩ内のある層において図形パターンに疎密がある場合、光の焦点の合わせ加減によって、疎の部分が削れたり、密の部分が十分なパターンを抜けなかったりと、正確なパターン転写ができないことがある。特に、配線生成パターンは、ＬＳＩ設計のうちレイアウト設計工程で自動配線プログラムが用いられることが多く、高密度に配線しなければならない制約をもったアルゴリズムの性格上、どうしても配線パターンに疎密を発生させやすい。最近の多層化の背景から、できるだけ配線の図形パターンに疎密をなくすことが歩留まり向上の１つの手段といえる。
【０００７】
以上の課題を解決する方法として、配線パターンを詳細配線工程後に、パターン変更して対処する技術がある。それは、１００％配線を一旦終えた後、ＬＳＩチップ面積を維持し、設計制約を満足した上で配線同士の間隔をできるだけ均等に広げる配線パターン修正技術である。この操作は図形コンパクション（自動圧縮）と良く似たものであるが、配線パターンを均等に配置する点が異なる。均一な密度をもった配線パターンにすることは前述の理由から歩留まり向上に寄与できるとともに、元の配線パターンより配線間隔が広がることが期待できるので、クロストークの問題も解決できる。また、配線間隔を広げることで歩留まりを改善させることも可能である。
【０００８】
半導体の歩留まりについては、色々な計算式が提案されているが、基本的には離散確率分布であるポアソン分布の式で考えることが多い。式（１）で示すように、歩留まりＹは、欠陥密度Ｄ（個数／ｃｍ2）とチップ面積Ａによって求める（図１５）。
【０００９】
【数１】
2005301799.tif 000003
【００１０】
欠陥密度は様々な要因で決まるが、一般的には装置内外の微小なチリや異物、結晶の欠陥に起因することが多い。但し、新しい半導体プロセスを立ち上げるときには、これらの要因が不確定になることもある。
【００１１】
式（１）の計算式から分かるように、欠陥密度とチップ面積の積で半導体の歩留まりが決定する。そのために、チップ面積が小さければ小さい程、欠陥の影響を受けにくく、その改善の度合いが指数関数的に向上する。例えば、ウエハ１枚当たりの欠陥の総数が一定であるとするならば、１個でも欠陥のあるチップが不良とすれば、大凡欠陥の数だけ不良が発生する。逆に、チップ面積が一定であるとすると、欠陥密度を下げることによって、チップ面積の縮小化に比べると歩留まり向上率は低いが、同じく向上することが分かる（図１５参照）。
【００１２】
欠陥密度を下げるためには、微小なチリや異物によって、配線パターン間に起きる短絡や断線の起きる確率を下げることが必要である。すなわち、微小なチリや異物が隣接する配線パターンの上に落ちる確率を下げることに等しい。そのためには、配線パターン間の間隔を広げることが必要となる。
【００１３】
配線パターン間を広げる先行技術として、以下のようなものがある。
【００１４】
特許文献１や特許文献２では、配線幅に応じて一旦仮の配線幅に変更した後、コンパクション処理で設計基準を満たすようにレイアウトを変更する。次に、配線幅を元の幅に戻すことで配線間隔を広げることによって、配線間隔を広げることを達成している。
【００１５】
特許文献３では、特定の配線をその隣接配線との間隔において、配線リソースを定義している配線グリッドの整数倍で再定義することにより配線間隔を広げることを行う。
【００１６】
特許文献４では、タイミング違反した配線に対して配線間隔をより広げるように、隣接する配線を平行移動するとともに、これによって新たに配線間隔違反が発生した場合、さらに隣接配線を平行移動して配線違反を解消している。
【００１７】
特許文献５では、レイアウトの初期段階で配線密度を均一化するために、予め配線で使う領域を各層毎に割り当てし、その後に詳細配線を行う。配線密度が高そうな配線領域は配線領域を広く定義し、配線密度が低いところは狭めることを行っている。
【特許文献１】特開平７−２７１８３６号公報
【特許文献２】特開平４−３４４７号公報
【特許文献３】特開平５−３２６０号公報
【特許文献４】特開平１０−９２９４４号公報
【特許文献５】特開平９−２１３８０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかし、上記で説明した従来の技術は、配線間隔が変化するので、論理セル内遅延や配線遅延が変化するため、仮に１００％配線を終えた後でタイミングフィックスしていたとしても、この操作によってタイミング違反が生じる可能性があり、結果として、再度タイミングフィックスをやり直すことや、それを複数回以上繰り返さなければならないといった問題があった。
【００１９】
配線間隔に着目してタイミング最適化を行う方法は、特許文献４に記載されている。この方法は、配線容量の変化が配線遅延の変化へ影響することに着目し、元の配線パターンに対して遅延違反を起こしているところを見つけ出し、配線間隔を制御することによって配線遅延を削減することを示唆している。この方法では、遅延違反を起こしているところを逐次見つけ出し、その都度、改善するといった繰り返しが多く発生する。よって、タイミングフィックスに時間がかかるといった問題が発生する。
【００２０】
特許文献１や特許文献２では、配線が終わる前に配線の変化量を予測する必要がある。よって、配線を完了させた後には適用できないといった問題点を有する。
【００２１】
特許文献３も配線グリッドの定義で処理を施すことから、同様な問題点を有する。
【００２２】
さらに、特許文献５では、レイアウトの初期段階で配線密度を均一化するために、予め配線密度を予測する必要があり、配線を完了させてからでは適用できない。
【課題を解決するための手段】
【００２３】
本発明は、上記の課題を解決するために次のような手段を講じる。
【００２４】
第１の発明は、ある１つの配線パターンに着目して、その周辺の配線との間隔を制御することによって配線容量を制御する。これをチップ全体の配線パターンに対して繰り返し適用することによって、最適化を図る。
【００２５】
具体的には、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線間容量の大きさに基づく隣接バランス度を計算する工程Ａ２と、
前記工程Ａ２によって計算された前記隣接バランス度に基づいて前記隣接する配線パターンの位置を移動する工程Ａ３と
を含むことを特徴とする半導体集積回路のレイアウト修正方法である。
【００２６】
この構成によれば、選択配線パターンと隣接配線パターンとの間の配線間容量の大きさに基づく隣接バランス度に基づいて隣接配線パターンを移動し、元の配線パターンより配線間隔を広げるので、ＬＳＩチップのタイミング最適化やクロストークを低減するレイアウトを行える上に、歩留まりを向上することができる。
【００２７】
上記において好ましくは、前記工程Ａ１の前に、
図形情報全てについて、任意の配線パターンを下詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ１と、
再び任意の配線パターンを上詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ２と
を含んで配線ジョグ位置候補を決めることである。
【００２８】
これによれば、配線パターンの移動自由度を増すことが可能となる。
【００２９】
第２の発明は、第１の発明に対してタイミング情報を取り入れることにより、各配線パターンに対して配線容量を最大化するか、最小化するか決定する工程を有することにより、タイミング最適化の機能を実現するものである。
【００３０】
具体的には、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線間容量の大きさに基づく隣接バランス度を計算する工程Ａ２と、
半導体集積回路のタイミング情報を入力して、元の配線パターンの位置関係で生じるタイミングと前記隣接バランス度を考慮したときの配線パターンの位置関係で生じるタイミングの差を計算する工程Ｃ１と、
前記工程Ａ２によって計算された前記隣接バランス度に基づいて前記隣接する配線パターンの位置を移動する工程Ａ３と
を含むことを特徴とする半導体集積回路のレイアウト修正方法である。
【００３１】
この構成によれば、上記第１の発明に比べて、さらに、タイミングの改善を図ることができる。
【００３２】
上記において好ましくは、前記工程Ｊ２の後に、前記工程Ｃ１を行い、さらに前記工程Ａ１と前記工程Ａ２と前記工程Ａ３とを行うことである。
【００３３】
第３の発明は、欠陥密度を配線間隔の関数で表し、歩留まりの向上を評価することができる工程を備えて配線間隔を制御するものである。
【００３４】
具体的には、
配線パターンの集合である図形情報を入力として任意の配線パターンを選択する工程Ａ１と、
前記工程Ａ１で選択された前記配線パターンに隣接する配線パターンとの間に対して、配線パターン間隔をパラメータとする関数で表された欠陥密度を計算する工程Ｄ１と、
元の配線パターンの位置関係で生じる欠陥密度と隣接バランス度を考慮したときの配線パターン位置関係で生じる欠陥密度の差を計算する工程Ｄ２と
を含むことを特徴とする半導体集積回路のレイアウト修正方法である。
【００３５】
この構成によれば、上記第１の発明に比べて、さらに歩留まりを改善することができる。
【００３６】
第４の発明は、第１の発明が１つの配線に着目して配線間隔のバランス度を計算し、逐次的に配線を移動するのに対して、本発明は、配線パターンをグラフで表現することにより、一括で処理することが可能なものである。
【００３７】
具体的には、
基本素子とその間を接続する配線から構成される半導体集積回路のレイアウト設計において、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
前記パス上の全ての配線パターンの隣接バランス度を計算する工程Ｂ３と、
前記工程Ｂ３で求めた前記隣接バランス度に基づいて前記配線パターンの位置を移動する工程Ｂ４と
を含むことを特徴とする半導体集積回路のレイアウト修正方法である。
【００３８】
この構成によれば、有向グラフを用いるので、収束性が高いものとなり、最適化処理の時間を短縮することができる。
【００３９】
上記において好ましくは、前記工程Ｂ１の前に、
図形情報全てについて、任意の配線パターンを下詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ１と、
再び任意の配線パターンを上詰めして折り曲がった位置を前記配線パターンの分割位置とする工程Ｊ２と
を含んで配線ジョグ位置候補を決め、さらに前記工程Ｂ２と前記工程Ｂ３と前記工程Ｂ４とを行うことである。
【００４０】
これによれば、配線パターンの移動自由度を増すことが可能となる。
【００４１】
また、上記の変形の形態として、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
半導体集積回路のタイミング情報を入力して、元の配線パターンの位置関係で生じるタイミングと、隣接バランス度を考慮したときの配線パターンの位置関係で生じるタイミングとの差を計算する工程Ｃ１と、
前記隣接バランス度に基づいて前記配線パターンの位置を移動する工程Ｂ４と
を含むことを特徴とする半導体集積回路のレイアウト修正方法も有効である。
【００４２】
この構成によれば、さらに、タイミングの改善を図ることができるとともに、最適化処理の時間を短縮することができる。
【００４３】
また、上記の変形の形態として、
配線パターンの集合である図形情報を入力として配線パターンから設計制約に基づいた上下制約を表した有向グラフを作成する工程Ｂ１と、
前記工程Ｂ１で作成された前記有向グラフ上の任意のパスを選択する工程Ｂ２と、
前記パス上の全ての配線パターンに対して、配線パターン間隔をパラメータとする関数で表された欠陥密度を計算する工程Ｅ１と、
元の配線パターンの位置関係で生じる欠陥密度と、隣接バランス度を考慮したときの配線パターンの位置関係で生じる欠陥密度との差を計算する工程Ｅ２と
を含むことを特徴とする半導体集積回路のレイアウト修正方法。
【００４４】
この構成によれば、さらに歩留まりを改善することができるとともに、最適化処理の時間を短縮することができる。
【００４５】
第５の発明は、配線の間隔を決定する際、配線容量を最小化するように配線間隔のバランスを行うために、元の配線間隔と対向する配線長の積の形で表現した評価関数を用いて最適化を図る。
【００４６】
具体的には、
任意の配線パターンを隣接して挟む第１の隣接配線パターンと第２の隣接配線パターンの間で生じる配線容量を最小化することを目的として、前記配線パターンの位置を変更させて前記第１の隣接配線パターンとの配線間隔と前記第２の隣接配線パターンとの配線間隔を新たに決定するために、元の前記配線パターンと前記第１の隣接配線パターンとの間隔およびオーバーラップ長の積αと、元の前記配線パターンと前記第２の隣接配線パターンとの間隔およびオーバーラップ長の積βとに基づいて、αとβに比して前記配線パターンの位置を変更することを特徴とする半導体集積回路のレイアウト修正方法である。
【００４７】
この構成によれば、セットアップ側の最適化が可能となる。
【００４８】
第６の発明は、第５の発明とは反対に配線容量を最大化するために、元の配線間隔と対向する配線長の積の逆数を用いて評価を行い、最適化を行うものである。
【００４９】
具体的には、
任意の配線パターンを隣接して挟む第１の隣接配線パターンと第２の隣接配線パターンの間で生じる配線容量を最大化することを目的として、前記配線パターンの位置を変更させて前記第１の隣接配線パターンとの配線間隔と前記第２の隣接配線パターンとの配線間隔を新たに決定するために、元の前記配線パターンと前記第１の隣接配線パターンとの間隔およびオーバーラップ長の積αと、元の前記配線パターンと前記第２の隣接配線パターンとの間隔およびオーバーラップ長の積βとに基づいて、１/αと１/βに比して前記配線パターンの位置を変更することを特徴とする半導体集積回路のレイアウト修正方法である。
【００５０】
この構成によれば、ホールド側の最適化が可能となる。
【発明の効果】
【００５１】
本発明によれば、選択配線パターンと隣接配線パターンとの間の配線間容量の大きさに基づく隣接バランス度等に基づいて隣接配線パターンを移動し、元の配線パターンより配線間隔を広げるので、ＬＳＩチップのタイミング最適化やクロストークを低減するレイアウトを行える上に、歩留まりを向上することができる。
【発明を実施するための最良の形態】
【００５２】
以下、本発明にかかわる半導体集積回路のレイアウト修正方法の実施の形態を図面に基づいて詳細に説明する。
【００５３】
（実施の形態１）
以下、本発明に含まれる配線間隔決定の基本動作について、図１を用いて説明する。同図（ａ）で、配線パターン７１は着目する配線パターン、配線パターン７２〜７５は配線パターン７１に隣接する配線パターン群である。
【００５４】
本発明は、図２に示すように、隣接した配線との間隔が広がることによって着目配線パターンのカップリング容量値が小さくなることに着目したものである。具体的には、元のレイアウトで配置された配線パターンに対して、隣接配線間の距離に応じてカップリング容量が低減するような関数を準備し、その関数値の大きさによってカップリングの影響度を測る。それを着目配線パターンの両側に対して行い、それらの大きさの比をとり、それに合わせて着目配線パターンを平行移動するものである。
【００５５】
例えば、図１（ａ）のような配線パターンを例にとって説明する。同図（ｂ）に示すように、配線パターン７１から可視できる部分配線パターンのうち、配線パターン７１より上部にある配線パターンに対して可視できる長さ（オーバーラップ長）をＬupper、下部にあるものの長さ（オーバーラップ長）をＬlowerと定義する。さらに、各々の配線パターンとの間隔をＳupperとＳlowerと定義する。配線パターン７２は、長さＬupper1＋Ｌupper2であるが、可視できる配線長はＬupper2となる。また、間隔はＳupper2となる。同じ操作を配線パターン７３に行う。また、配線パターン７４と配線パターン７５は配線パターン７１より下部に位置するので、同じくＬlowerとＳlowerとして求めることができる。
【００５６】
次に、式（２）および式（３）でカップリング影響度を求める。配線容量を最小にしたい場合は式（２）を用い、配線容量を最大にしたい場合は式（３）を用いる。
【００５７】
【数２】
2005301799.tif 000004
【００５８】
【数３】
2005301799.tif 000005
【００５９】
式（２）は、隣接平行する配線パターンが長くなればなるほど評価値が上がるので、着目配線パターン両側で評価値の比をとると、評価値に反比例して配線位置を求めることができ、カップリング容量は最大にできる。式（３）は式（２）の逆数をとっているので、カップリング容量は最小となる。
【００６０】
具体的な数値を用いて説明したものが図１（ｃ）と（ｄ）である。配線間隔と配線長は同図のとおりとする。重みＷiは配線間隔に応じた係数であり、配線間隔が広いほどその値を小さく設定する。ここでは、配線間隔に逆比例して、Ｗ１＝１/３、Ｗ２＝１/６、Ｗ３＝１としている。
【００６１】
配線パターン７１に対して上部にある配線パターン７２の可視できる配線長はＬupper2＝１４−４＝１０、配線パターン７１−配線パターン７２の間隔は、Ｓupper2＝６である。同様にして、配線パターン７３では、Ｌupper1＝４、Ｓupper1＝３である。一方、下部にある配線パターン７４は、Ｌlower1＝１４−８＝６、Ｓlower1＝３であり、Ｌlower2＝８、Ｓlower2＝１である。
【００６２】
次に、各々の値を式（２）に代入して計算すると、カップリング影響度比α：β＝ＳＲupper:ＳＲlower＝３:１０を得る。
【００６３】
【数４】
2005301799.tif 000006
【００６４】
図１（ｄ）のように、配線パターン７１と最隣接している配線パターン７３と配線パターン７４とに対して、この比の配線間隔となるように配線パターン７１を再配置(平行移動)する。
【００６５】
以上から、配線容量の見積もりを元の配線結果による配線結果と注目配線と対向する配線長の積に重み係数を備えた評価関数を用いることにより、より現実に近い容量計算ができるだけでなく、それ使って配線間隔のバランス化を行うので精度の高い最適化を行うことができる。
【００６６】
（実施の形態２）
以下、本発明に含まれる１チップの配線間隔制御の動作について図３と図４と図５を用いて説明する。図３は制御動作を説明するフローチャート、図４（ａ）は図３の処理を行う元の配線図、図４（ｂ）はビアを除いた配線図、図５は図３の動作を示すフローチャートである。
【００６７】
図３において、Ａ１は配線パターンＲiを選択する工程、Ａ２は配線パターンＲiの隣接配線パターンとの隣接バランス度を計算する工程、Ａ３は隣接バランス度に合わせて配線パターンＲiを移動する工程である。
【００６８】
元の配線を示す図４（ａ）において、横方向配線と縦方向配線を各々別々の配線層に割り当てた２層配線であるとする。なお、本発明は層数に依存せず何層でも適用可能である。説明を簡単にするために、図４（ａ）の配線図から、ビアを除いた同図（ｂ）を使うことにする。最終的な配線パターンはビアを装着して完成する。
【００６９】
予めレイアウトが終了した１チップのデータのうち、配線に関わる図形の情報を格納したものが図形情報１である。この図形情報１は、図４（ａ）に示すものに相当する。この中から、工程Ａ１によって任意に配線パターンＲiを１つ選択する。選択の仕方は、配線長が長いものでも、クリティカルネットに含まれるものでも、任意に決めることができる。ここでは、配線パターンＲ1が選択されたものとする。
【００７０】
次に、工程Ａ２で隣接バランス度を計算する。これは、実施の形態１で説明したものを用いても良い。計算によって得られた隣接バランス度に合わせて配線パターンＲ1を平行移動する(工程Ａ３)。図５（ａ）がその結果である。
【００７１】
次に、工程Ａ１に戻って、配線パターンＲ2を選択する。移動した結果は図５（ｂ）である。
【００７２】
次に、配線パターンＲ3を選択して、図５（ｃ）が得られる。
【００７３】
以上の操作は、順に全配線パターンに対して行う。結果が図５（ｄ）である。
【００７４】
もし選択された配線の位置が変わらなかったら、そこで全ての処理が終了する。何故なら、配線の位置が変わらない状況が得られたということは、他の配線パターンも移動することがないからである。
【００７５】
以上から、１つの注目配線に対して単純に隣接配線を移動するだけの操作を繰り返すことにより、配線間隔の制御が可能であることが分かる。また、配線間隔は隣接バランス度に基づいて行うので、配線容量を最小化した配線パターンを生成することができる。
【００７６】
（実施の形態３）
以下、本発明に含まれるジョグ選択の動作について、図６と図７を用いて説明する。図６で、Ｊ１は配線パターンを下詰めして折り曲げた位置で配線パターンを分割する工程、Ｊ２は配線パターンを上詰めして折り曲げた位置で配線パターンを分割する工程である。また、図７は、先に説明した配線パターン例である図４を基にしたものである。
【００７７】
まず、工程Ｊ１で、配線パターンを上から下へ圧縮させるようにして、配線の折り曲げ箇所を求める。図７（ａ）では、配線パターンＲ6の右側に空きがあるために、上部にある配線パターンＲ5が折り曲げられる。折り曲がり位置は、設計制約条件を満たすように決められる。同図では、配線パターンＲ5が配線パターンＲ5aと配線パターンＲ5bとに分けられている。
【００７８】
さらに、工程Ｊ２において、この状態から逆に、下から上へ圧縮させる。工程Ｊ１と同様にして、幾つかの配線が折り曲げられる。同図では、配線パターンＲ1とＲ3がそれに当る。各々、配線パターンＲ1は配線パターンＲ1aと配線パターンＲ1bとに分けられ、配線パターンＲ3は配線パターンＲ3aと配線パターンＲ3bとに分けられた。これらの工程については、層が異なる水平方向配線と垂直方向配線とを別々に行う。
【００７９】
以上の工程を、図３における工程Ａ１や図８における工程Ｂ１の前に施すことにより、配線パターンの移動自由度を増すことが可能となる。また、単純な上詰めと下詰めの操作だけで、配線の折れ曲がり数が最小となる分割位置を決定することができる。具体的な効用は、次の実施の形態４で示される。
【００８０】
（実施の形態４）
以下、本発明に含まれる１チップの配線間隔制御の動作について図８と図９と図１０を用いて説明する。図８で、Ｂ１は配線パターンＲiから上下制約グラフ（ここでは有向グラフで表す）を作成する工程、Ｂ２は有向グラフのパスＰjを選択する工程、Ｂ３はパスＰj上の全ての配線パターンＲjの隣接バランス度を計算する工程、Ｂ４は隣接バランス度に合わせて配線パターンＲiを移動する工程である。さらに、図９と図１０は図８の動作を示すフローチャートである。
【００８１】
また、実施の形態２と同様にして、図４が元の配線パターンであるとする。さらに、実施の形態３のジョグ挿入工程を終えたものとする。すなわち、配線パターンＲ5がＲ5aとＲ5bに、配線パターンＲ1がＲ1aとＲ1bに、配線パターンＲ3がＲ3aとＲ3bに各々分けられたものとする。これらが図形情報１ａに格納されているものとする。この図形情報１ａは、図９（ａ）に示すものに相当する。
【００８２】
まず、工程Ｂ１によって、配線パターンの位置関係から生じる上下制約関係をグラフ化した上下制約グラフ（有向グラフ）を作成する。
【００８３】
この場合、各配線パターンに対して、ノード番号を割り当てる。例えば、図９（ｂ）において、配線パターンＲ5aと配線パターンＲ5bのノード番号は各々８と９である。
【００８４】
次に、各配線パターンの両端には垂直方向配線が存在するが、それがつながる方向を配線パターンの両端に矢印で示す。もし同じ垂直位置に矢印があるなら、これら矢印の方向は上下別々に向いている必要がある。同じ方向もしくは向かい合う方向ならば、垂直方向配線が重なり、ショートすることになる。また、配線の位置関係によって上下制約が生じる。もし、水平方向配線パターン同士の配線トポロジが保存されるなら配線の飛び越しが起きない。これを制約として表現するために、隣接配線間に有向枝を割り当てる。例えば、図９（ｂ）より下から順に探索して、隣接する配線パターン同士の間に有向枝を割り当てていくと、図のようになる。ここで、さらに配線領域の外側に便宜的にノードＴとノードＢを置く。ノードＢについて、配線領域の下から可視的な配線パターンに対して、同じく有向枝を割り当てる。同様にして、配線領域の上から可視的な配線パターンへノードＴから無向枝を割り当てる。これらノードＴとノードＢの役割は、配線領域の外側から見て、一番近い位置にある配線パターンを見つけるときに便利だからである。
【００８５】
次に、工程Ｂ２で有向グラフ上のノードＴからノードＢ（もしくはノードＢからノードＴ）に向かって、パスＰiを選択する。選択の基準に特に制約はないが、ノード数が最も多くなるように辿るパスを選んだ方が良い。何故なら、次の工程Ｂ３で全てのノードに対して位置関係を比で割り当てる必要があるので、なるべく多くのノードを処理した方が繰り返し回数が少なくなり、処理時間が短縮できるからである。
【００８６】
次に、工程Ｂ３で、全てのノード間で、実施の形態１で述べた隣接バランス度を計算する。これによって隣接するノード間の（配線間の）位置関係が比で表されることになる。全ての比の関係の絶対位置への置き換えは、２つの比間を最小公倍数を求めればよい。例えば、ノード間の枝の距離をｅiで表して、２つの比、ｅ1:ｅ2＝２:３とｅ2:ｅ3＝６:１１があった。まず、ｅ1:ｅ2＝２:３と次の比式よりｅ2＝６から、ｅ1:ｅ2＝４:６（ｅ2について３と６の最小公倍数は６）に置き換える。さらに、ｅ2:ｅ3＝６:１１より、ｅ1:ｅ2:ｅ3＝４:６:１１を導くことができる。もし元々ｅ1〜ｅ3の距離が４２ならば、比から、ｅ2は４２÷(４+６+１１)×６＝１２となる。この操作は、工程Ｂ４で行われる。図１０（ａ）はその移動結果を示している。最終結果は、ビアを割り当てて図１０（ｂ）となる。この例は配線間隔を均等化にしたものである。
【００８７】
以上から、配線間の位置関係を一度比で表すことができれば、配線間隔は一意に表現できることが分かる。その操作は、ノードＴもしくはノードＢから順にノードを辿るだけで可能である。収束性は実施の形態２と比べると良いことは明らかである。
【００８８】
なお、水平配線の飛び越しも可能である。但し、飛び越したときに元のネット接続が生成できることが必要である。
【００８９】
（実施の形態５）
以下、本発明に含まれる１チップの配線間隔制御の動作について図１１を用いて説明する。図１１で、Ｃ１は元の配線パターンの位置関係で生じるタイミングと隣接バランス度を考慮したときの配線パターン位置関係で生じるタイミングの差を計算する工程である。
【００９０】
本発明は、図３に示す第１の発明に対して、タイミング情報を取り入れることで配線パターンの最適化を変える。すなわち、対象配線パターンが属するネットがクリティカルパスに属するならば、配線遅延はなるべく小さくしなければならないので、その配線パターンの容量は最小化しなければならない。逆に、ネットが属するパスにおいてホールド違反を起こすような場合、できるだけ配線遅延を大きくとる必要があるので、配線容量は最大化しなければならない。工程Ｃ１は、タイミング情報２を取り入れて、今着目している配線パターンの容量値を最大化するか、最小化するか決める工程である。勿論、最大値と最小値の間の中間値をとることも可能である。最適化度合いを係数で表すことで実現可能であることは明白である。
【００９１】
この工程によって得られた配線容量によって生じる配線遅延によってタイミング改善するならば、工程Ａ３を行い、注目配線パターンＲiを移動させる。工程Ａ１から工程Ａ３までを繰り返し行うことで、タイミングを収束させる。
【００９２】
以上から、工程Ｃ１を備えることによって、タイミングを考慮した配線移動が可能となることが分かる。
【００９３】
なお、同様な処理は図１２の工程Ｂ４でも行うことができる。違いはグラフを用いて操作するどうかである。
【００９４】
（実施の形態６）
以下、本発明に含まれる１チップの配線間隔制御の動作について図１３を用いて説明する。配線間隔をｓiとし、欠陥密度Ｄ(ｓi)を、配線間隔ｓiの関数ｆで表すことができるとすると、
【００９５】
【数５】
2005301799.tif 000007
【００９６】
のように定義できる。式（５）は配線間隔が広いほど欠陥密度Ｄ(ｓi)が減少するものであれば任意に定義することができる関数である。Ｄ１は、配線移動前の欠陥密度Ｄ(ｓj)と配線移動後の欠陥密度Ｄ(ｓk)を計算する工程である。
【００９７】
次に、工程Ｄ２では、工程Ｄ１で求めた欠陥密度を基に、Ｄ(ｓj)とＤ(ｓk)を比較する。もし、Ｄ(ｓj)＞Ｄ(ｓk)ならば、配線の移動を行う。これは工程Ａ３で行う。
【００９８】
以上から、欠陥密度を配線間隔に依存した形で表現したとき、欠陥密度関数のコストが減少するならば、配線移動を行うことによって歩留まりを向上させることができることが分かる。
【００９９】
図１４の実施の形態も有効である。
【産業上の利用可能性】
【０１００】
本発明にかかる配線間隔の最適化には、配線間のバランス度を元の配線間隔と対向する配線長の積に重み係数を備えた形で表現した評価関数を有し、その関数値を最小化または最大化することが特徴である。また、最適化関数の中に、配線間隔の大きさによって欠陥密度の大きさを計る歩留まりの表現する関数も有し、これによって歩留まりが向上する配線バランスも行うことができる。これらの技術を用いると、ＬＳＩチップのタイミング最適化やクロストークを低減するレイアウトを行える上に、歩留まりも向上できるレイアウトパターンも生成することができ、非常に有用である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施の形態１における半導体集積回路のレイアウト修正方法の配線間隔の評価を説明するための説明図
【図２】配線間隔によって容量がどのように変化するかを示す特性図
【図３】本発明の実施の形態２における半導体集積回路のレイアウト修正方法（逐次処理ベースの配線間隔最適化）の動作を示すフローチャート
【図４】実施の形態２における半導体集積回路のレイアウト修正方法の配線パターン図
【図５】実施の形態２における半導体集積回路のレイアウト修正方法の説明図
【図６】本発明の実施の形態３における半導体集積回路のレイアウト修正方法（ジョグ）の動作を示すフローチャート
【図７】実施の形態３における半導体集積回路のレイアウト修正方法の説明図
【図８】本発明の実施の形態４における半導体集積回路のレイアウト修正方法（グラフ表現を用いた配線間隔最適化）の動作を示すフローチャート
【図９】実施の形態４における半導体集積回路のレイアウト修正方法の説明図
【図１０】実施の形態４における半導体集積回路のレイアウト修正方法の説明図（図９の続き）
【図１１】本発明の実施の形態５における半導体集積回路のレイアウト修正方法（タイミングドリブンの機能を有した逐次処理ベースの配線間隔最適化）の動作を示すフローチャート
【図１２】本発明の実施の形態５の変形の形態における半導体集積回路のレイアウト修正方法の動作を示すフローチャート
【図１３】本発明の実施の形態６における半導体集積回路のレイアウト修正方法（歩留まり評価機能を有したグラフ表現を用いた配線間隔最適化）の動作を示すフローチャート
【図１４】本発明の実施の形態６の変形の形態における半導体集積回路のレイアウト修正方法（歩留まり評価機能を有した逐次処理ベースの配線間隔最適化）の動作を示すフローチャート
【図１５】歩留まり曲線図
【符号の説明】
【０１０２】
１  図形情報
２  タイミング情報
【図１】
2005301799.tif 000008
【図２】
2005301799.tif 000009
【図３】
2005301799.tif 000010
【図４】
2005301799.tif 000011
【図５】
2005301799.tif 000012
【図６】
2005301799.tif 000013
【図７】
2005301799.tif 000014
【図８】
2005301799.tif 000015
【図９】
2005301799.tif 000016
【図１０】
2005301799.tif 000017
【図１１】
2005301799.tif 000018
【図１２】
2005301799.tif 000019
【図１３】
2005301799.tif 000020
【図１４】
2005301799.tif 000021
【図１５】
2005301799.tif 000022