説明

半導体集積回路のレイアウト設計方法およびレイアウト設計プログラム

【課題】配線占有領域を削減し、冗長ビア配線ルール違反箇所を無くし又は削減することができるようにした半導体集積回路のレイアウト設計方法を提供する。
【解決手段】詳細配線(第1工程)で冗長ビア配線ルール違反が発生した場合、セルの向きを変更して冗長ビア配線ルール違反箇所を解消する配線修正を行うための準備(第2工程〜第12工程)を行い、その後、セルの向きを変更して配線修正を行い(第13〜第15工程)、経路更新を行う(第16工程)工程を用意する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概略配線(global routing)工程と詳細配線(final routing)工程とを有する半導体集積回路のレイアウト設計方法、および、概略配線工程と詳細配線工程とをコンピュータに実行させるプログラムを含む半導体集積回路のレイアウト設計プログラムに関する。
【背景技術】
【0002】
たとえば、スタンダードセル方式による半導体集積回路のレイアウト設計においては、設計ルールの範囲でセルを出来るだけ小さく作る傾向がある。このため、セル領域では、配線と接続すべきセル端子が密集し、セル端子付近では、配線用に使える空間が不足し、自動配線では、配線間ショートを解消できないという事態が生じる場合がある。
【0003】
他方で、配線形成時の信頼性や製品寿命を改善するために、占有面積が小さい標準ビアの代わりに、占有面積が大きい冗長な構造のビア(いわゆる冗長ビア)を使用して回路を作ることが一般化している。このため、セル端子付近での配線を無駄なく行い、配線占有面積を出来るだけ小さくすることが、より重要になっている。
【0004】
配線占有面積が増える原因の一つとして、同一セル内のセル端子に接続しなければならない配線が複数あるとき、それらの経路がセル端子近傍の配線領域を非効率に占有して互いに邪魔しあう格好になる事態が挙げられる。
【0005】
ここで、一般に、セル端子への配線進入経路やアクセス方向は、実際に配線する前には結線区間を形成するセル端子同士の位置関係から仮定され、セルの配置向きは、この仮定配線に基づいて行われ、詳細配線は、セルの配置向きを確定した後で行われる。そして、詳細配線後に配線間ショートが残った場合は、その周辺の配線を消去して再配線処理を実行して代替経路を探し、配線間ショートを解決しようとするのが一般的である。
【特許文献1】特開平01−292472号公報
【特許文献2】特開平04−160684号公報
【特許文献3】特開平09−319786号公報
【特許文献4】特開昭60−062136号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、詳細配線後に配線間ショートが残った場合に、その周辺の配線を消去して再配線処理を実行して代替経路を探し、配線間ショートを解決するという従来の配線間ショート解消方法では、セル端子付近の配線の占有面積を削減することができず、配線間ショートを解消するためには、標準ビアを使用せざるを得ず、冗長ビア配線を実現することが困難な場合があるという問題点があった。
【0007】
本発明は、かかる点に鑑み、配線占有領域を削減し、冗長ビア配線ルール違反箇所を無くし又は削減することができるようにした半導体集積回路のレイアウト設計方法およびレイアウト設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の半導体集積回路のレイアウト設計方法は、概略配線工程と詳細配線工程とを有するものであって、前記詳細配線工程後に、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程を有するものである。
【0009】
本発明の半導体集積回路のレイアウト設計プログラムは、概略配線工程と詳細配線工程とをコンピュータに実行させるプログラムを含むものであって、前記詳細配線工程後に、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程をコンピュータに実行させるプログラムを含むものである。
【発明の効果】
【0010】
本発明の半導体集積回路のレイアウト設計方法によれば、詳細配線工程で冗長ビア配線ルール違反が発生しても、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程を有するので、配線占有領域を削減し、冗長ビア配線ルール違反箇所を無くし又は削減することができる。
【0011】
本発明の半導体集積回路のレイアウト設計プログラムによれば、詳細配線工程で冗長ビア配線ルール違反が発生しても、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程をコンピュータに実行させるプログラムを含むので、配線占有領域を削減し、冗長ビア配線ルール違反箇所を無くし又は削減することができる。
【発明を実施するための最良の形態】
【0012】
図1は本発明の半導体集積回路のレイアウト設計方法の一実施形態を実施する半導体集積回路のレイアウト設計装置の一部分の概略的構成図、図2は本発明の半導体集積回路のレイアウト設計方法の一実施形態を示すフローチャート、図3〜図20は本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【0013】
本発明の半導体集積回路のレイアウト設計方法の一実施形態を実施する半導体集積回路のレイアウト設計装置は、図1に示すように、詳細配線手段1と、冗長ビア配線ルール違反箇所抽出手段2と、冗長ビア配線ルール違反箇所包含領域定義手段3と、配線修正未試行領域有無判定手段4と、冗長ビア配線ルール違反箇所包含領域選択手段5と、配線修正対象領域定義手段6と、接続点・交点抽出手段7と、交点抽出手段8と、第1の直線距離和計算手段9と、セル・フリップ手段10と、第2の直線距離和計算手段11と、直線距離和比較手段12と、セル向き変更手段13と、配線破棄手段14と、経路再探索手段15と、経路更新手段16を有する。
【0014】
本発明の半導体集積回路のレイアウト設計方法の一実施形態は、スタンダードセル方式によるものであり、図2に示す第1工程〜第16工程を含むものである。以下、まず、本発明の半導体集積回路のレイアウト設計方法の一実施形態について、工程ごとに説明する。
【0015】
[第1工程]
本発明の半導体集積回路のレイアウト設計方法の一実施形態においては、セル配置と、信号配線の大まかな経路を決める概略配線とが実行されたレイアウト設計対象の半導体集積回路について、まず、詳細配線手段1により、信号配線の経路パタンを決める詳細配線を行う。
【0016】
詳細配線手段1は、原則として冗長ビアを使用する冗長ビア配線ルール下で詳細配線を行うが、冗長ビアを使用することにより配線間ショートが発生する場合には、例外として標準ビアを使用することにより、配線間ショートを無くすように詳細配線を行う。
【0017】
たとえば、図3は冗長ビア配線ルール下で詳細配線を実行した場合の配線結果の一例の一部分を示しており、C1は着目セルのセル枠、20−1、20−2、20−3、21は第1配線層に設けられたセル端子、22は第2配線層の配線、23−1、23−2、23−3、24、25、26は第3配線層の配線、27〜34は冗長ビアである。
【0018】
本例では、冗長ビアとして、2個のカット(ビアホール)を縦方向(Y軸方向)又は横方向(X軸方向)に並べたダブルカットビアが使用されている。2個のカットを縦方向に並べた冗長ビアは、第3配線層の配線と第2配線層の配線とを接続するためのものであり、2個のカットを横方向に並べた冗長ビアは、第2配線層の配線と第3配線層のセル端子とを接続するためのものである。
【0019】
図4はセル枠C1、セル端子20−1、20−2、20−3、21と第3配線層の配線23−1、23−2、23−3、24、25、26のみを示しており、図5は図4に示すレイアウト図に第2配線層の配線22と冗長ビア27〜31を追加した状態を示している。そして、図3は図5に示すレイアウト図に冗長ビア32、33、34を追加した状態を示すものである。
【0020】
本例では、配線23−1はセル端子20−1に接続され、配線23−2はセル端子20−2に接続され、配線23−3はセル端子20−3に接続されるものとされている。配線24は配線25に接続されるが、これら配線24、25はセル端子20−1、20−2、20−3、21のいずれにも接続されないものとされている。配線26は、セル端子20−1、20−2、20−3、21のいずれにも接続されないものとされている。
【0021】
ここで、冗長ビア配線ルールを例外なく適用すると、図3に示すように、配線23−1は、冗長ビア27、32を介してセル端子20−1に接続させることができるが、このようにすると、冗長ビア27を介して配線23−1、23−2間にショートが発生してしまう。また、配線23−2は、冗長ビア28、33を介してセル端子20−2に接続させることができるが、このようにすると、冗長ビア28を介して配線23−1、23−2間にショートが発生してしまう。
【0022】
また、配線23−3は、冗長ビア29、34を介してセル端子20−3に接続させることができ、このようにすると、他の配線とのショートは発生しない。また、配線24は、冗長ビア30、配線22および冗長ビア31を介して配線25に接続させることができるが、このようにすると、冗長ビア30を介して配線24、23−2間にショートが発生してしまう。
【0023】
そこで、このような場合には、詳細配線手段1は、冗長ビア配線ルールに違反して、冗長ビア27、28、30の代わりに、図6に示すように、標準ビア35、36、37を使用し、配線23−1、23−2間のショートおよび配線24、23−2間のショートを無くすように詳細配線を行う。
【0024】
[第2工程]
第1工程の次に、冗長ビア配線ルール違反箇所抽出手段2により、デザイン・ルール・チェックを実施し、冗長ビア配線ルールに違反して標準ビアを使用した箇所を冗長ビア配線ルール違反箇所として抽出する。冗長ビア配線ルール違反箇所が無い場合には、第3工程以下は実施しない。
【0025】
図6に示すような場合には、標準ビア35、36、37を使用している箇所が、図7に示すように、冗長ビア配線ルール違反箇所P1、P2、P3として抽出される。図8はレイアウト領域全体を概略的に示しており、C1〜C18はセル枠、P1〜P8は冗長ビア配線ルール違反箇所であり、C1は図7に示すセル枠、P1、P2、P3は図7に示す冗長ビア配線ルール違反箇所であるが、第2工程の冗長ビア配線ルール違反箇所の抽出は、レイアウト領域全体に対して行われる。
【0026】
[第3工程]
第2工程の次に、冗長ビア配線ルール違反箇所包含領域定義手段3により、冗長ビア配線ルール違反箇所をグループ分けし、グループごとに、グループ内の冗長ビア配線ルール違反箇所を包含する矩形を冗長ビア配線ルール違反箇所包含領域と定義する。
【0027】
冗長ビア配線ルール違反箇所包含領域定義手段3は、レイアウト領域に所定間隔の縦線および横線からなるメッシュを設定し、このメッシュの縦線および横線で区分される小領域をグループ分けの単位とし、冗長ビア配線ルール違反箇所のグループ分けを行う。なお、メッシュの縦線および横線で区分される小領域のサイズは、たとえば、平均的なセルの大きさを基準とし、その1倍程度が適当であるが、配置されているセルの大きさの偏りなどを反映して不均一としても良い。
【0028】
冗長ビア配線ルール違反箇所が図8に示すような場合には、図9に示すように、冗長ビア配線ルール違反箇所P1、P2、P3を一グループとし、冗長ビア配線ルール違反箇所P1、P2、P3を包含する矩形を冗長ビア配線ルール違反箇所包含領域R1と定義する。また、冗長ビア配線ルール違反箇所P4、P5を一グループとし、冗長ビア配線ルール違反箇所P4、P5を包含する矩形を冗長ビア配線ルール違反箇所包含領域R2と定義する。
【0029】
また、冗長ビア配線ルール違反箇所P6、P7を一グループとし、冗長ビア配線ルール違反箇所P6、P7を包含する矩形を冗長ビア配線ルール違反箇所包含領域R3と定義する。また、冗長ビア配線ルール違反箇所P8を一グループとし、冗長ビア配線ルール違反箇所P8を包含する矩形を冗長ビア配線ルール違反箇所包含領域R4と定義する。図10はセル枠C1および冗長ビア配線ルール違反箇所包含領域R1の部分の拡大図である。
【0030】
[第4工程]
第3工程の次に、配線修正未試行領域有無判定手段4により、配線修正未試行の冗長ビア配線ルール違反箇所包含領域の有無を判定し、配線修正未試行の冗長ビア配線ルール違反箇所包含領域が無い場合には、本発明の半導体集積回路のレイアウト設計方法の一実施形態による処理を終了する。
【0031】
[第5工程]
第4工程において、配線修正未試行の冗長ビア配線ルール違反箇所包含領域があると判定した場合には、冗長ビア配線ルール違反箇所包含領域選択手段5により、配線修正未試行の冗長ビア配線ルール違反箇所包含領域の一つを選択する。
【0032】
[第6工程]
第5工程の次に、配線修正対象領域定義手段6により、選択した冗長ビア配線ルール違反箇所包含領域と重なりがあるセル枠の一つを選択し、選択した冗長ビア配線ルール違反箇所包含領域と、選択したセル枠とを包含する領域を配線修正対象領域と定義する。
【0033】
第6工程前に図9に示す状態となっている場合には、図11に示すように、たとえば、冗長ビア配線ルール違反箇所包含領域R1とセル枠C1とを包含する領域を配線修正対象領域A1と定義する。図12は配線修正対象領域A1の部分の拡大図である。なお、配線修正対象領域A1のサイズは、冗長ビア違反箇所包含領域R1とセル枠C1とを包含する最小サイズの領域にマージンを見込んだサイズとする。
【0034】
[第7工程]
第6工程の次に、接続点・交点抽出手段7により、配線修正対象領域内のセル端子上の接続点Tiと、接続点Tiと接続すべき配線の配線修正対象領域の境界との交点Siを抽出して記憶手段に記憶する。
【0035】
第7工程前に図12に示すようになっている場合には、図13に示すように、セル端子20−1上の接続点T1、セル端子20−2上の接続点T2、セル端子20−3上の接続点T3と、配線23−1と配線修正対象領域A1の境界との交点S1、配線23−2と配線修正対象領域A1の境界との交点S2、配線23−3と配線修正対象領域A1の境界との交点S3を抽出して記憶手段に記憶する。
【0036】
[第8工程]
第7工程の次に、交点抽出手段8により、配線修正対象領域内のセル端子と接続しない配線との交点Piと、この配線修正対象領域内のセル端子と接続しない配線と配線修正対象領域の境界との交点Qiを抽出して記憶手段に記憶する。
【0037】
第8工程前に図13に示すようになっている場合には、図14に示すように、配線24と配線修正対象領域A1の境界との交点P1と、配線25と配線修正対象領域A1の境界との交点Q1とを抽出して記憶手段に記憶する。
【0038】
[第9工程]
第8工程の次に、第1の直線距離和計算手段9により、接続点Tiと交点Siとの直線距離和Σ(SiTi間の直線距離)を第1の直線距離和Lorgとして計算する。第9工程前に図14に示すようになっている場合には、図15に示すように、直線距離和Lorg=Lorg1(S1T1間の直線距離)+Lorg2(S2T2間の直線距離)+Lorg3(S3T3間の直線距離)となる。
【0039】
[第10工程]
第9工程の次に、セル・フリップ手段10により、配線修正対象領域内のセルをフリップ、即ち、左右反転又は上下反転する。
【0040】
[第11工程]
第10工程の次に、第2の直線距離和算出手段11により、接続点Tiと交点Siとの直線距離和Σ(SiTi間の直線距離)を第2の直線距離和Lflipとして計算する。
【0041】
図16はセル枠C1内のセルを左右反転した場合の接続点T1、T2、T3および交点S1、S2、S3、P1、Q1を示しているが、この場合には、直線距離和Lflip=Lflip1(S1T1間の直線距離)+Lflip2(S2T2間の直線距離)+Lflip3(S3T3間の直線距離)となる。
【0042】
[第12工程]
第11工程の次に、直線距離和比較判定手段12により、第1の直線距離和Lorgと第2の直線距離和Lflipとを比較し、第2の直線距離和Lflip<第1の直線距離和Lorgであるか否かを判定する。ここで、第2の直線距離和Lflip<第1の直線距離和Lorgでないと判定した場合には、後述する第14工程を実行する。
【0043】
[第13工程]
第12工程において、第2の直線距離和Lflip<第1の直線距離和Lorgであると判定した場合には、セル向き変更手段13により、第10工程でフリップした状態にセルの向きを変更する。第12工程において、第2の直線距離和Lflip≧第1の直線距離和Lorgであると判定した場合は、第13工程をとばして、セル向きを変更せずに、第14工程へ進む。
【0044】
[第14工程]
第13工程の次に、又は、第12工程において、第2の直線距離和Lflip≧第1の直線距離和Lorgであると判定した場合には、第14工程に進み、配線破棄手段14により、配線修正対象領域内の配線を破棄する。
【0045】
図17は、第8工程の実行後、図14に示す状態となり、第12工程で第2の直線距離和Lflip<第1の直線距離和Lorgであると判定された場合において、セル枠C1内のセルを左右反転した状態にセルの向きを変更し、配線修正対象領域A1内の配線を破棄した状態を示している。
【0046】
[第15工程]
第14工程の次に、経路再探索手段15により、接続点Tiと交点Siとの間の経路と交点Piと交点Qiとの間の経路を順に再探索する。
【0047】
図19は、接続点T1と交点S1との間の経路、接続点T2と交点S2との間の経路、および、接続点T3と交点S3との間の経路を再探索した結果を示しており、図18は図17に示すレイアウト図に冗長ビア40、41、42を追加した状態、図19は図18に示すレイアウト図に冗長ビア43、44、45を追加した状態を示している。
【0048】
ここで、配線23−1は、冗長ビア40、43を介してセル端子20−1に接続されており、図3に示す冗長ビア27による配線23−1、23−2間のショートが解消され、図6に示すような標準ビア35も必要としていない。
【0049】
また、配線23−2は、冗長ビア41、44を介してセル端子20−2に接続されており、図3に示す冗長ビア28による配線23−1、23−2間のショートが解消され、図6に示すような標準ビア36も必要としていない。
【0050】
また、配線23−3は、冗長ビア42、45を介してセル端子20−3に接続されており、他の信号配線とのショートは発生していない。そして、この例の場合には、交点P1と交点Q1との間の経路のために冗長ビア配線を設ける領域46が創出されている。
【0051】
図20は、交点P1と交点Q1との間の経路を再探索し、図19に示すレイアウト図に冗長ビア47、48および第2配線層の配線49を追加した状態を示している。この例の場合、配線24は、冗長ビア47、配線49および冗長ビア48を介して配線25に接続されており、図3に示す信号配線24、23−2間のショートが解消され、図6に示すような標準ビア37も必要としていない。
【0052】
なお、経路の再探索の結果、冗長ビア配線ルール違反を完全に解消することができず、標準ビアを使用せざるを得ない場合も起こるが、第15工程においては、これを容認するものとする。
【0053】
[第16工程]
第15工程の次に、経路更新手段16により、経路を更新する。図6に示す具体例の場合、図20に示す経路が新たな経路として更新される。以下、配線修正未試行の冗長ビア配線ルール違反箇所包含領域がなくなるまで、第5工程〜第16工程を繰り返す。
【0054】
以上のように、本発明の半導体集積回路のレイアウト設計方法の一実施形態では、セル配置と概略配線とが実行されたレイアウト設計対象の半導体集積回路について、まず、信号配線の経路パタンを決める詳細配線が行われる(第1工程)。次に、デザイン・ルール・チェックが実施され、冗長ビア配線ルールに違反して標準ビアを使用した箇所が冗長ビア配線ルール違反箇所として抽出される(第2工程)。
【0055】
次に、冗長ビア配線ルール違反箇所がグループ分けされ、グループごとに、グループ内の冗長ビア配線ルール違反箇所を包含する矩形が冗長ビア配線ルール違反箇所包含領域と定義される(第3工程)。次に、配線修正未試行の冗長ビア配線ルール違反箇所包含領域の有無が判定され(第4工程)、配線修正未試行の冗長ビア配線ルール違反箇所包含領域が無い場合には、本発明の半導体集積回路のレイアウト設計方法の一実施形態による処理は終了とされる。
【0056】
第4工程において、配線修正未試行の冗長ビア配線ルール違反箇所包含領域があると判定した場合には、配線修正未試行の冗長ビア配線ルール違反箇所包含領域の一つが選択される(第5工程)。次に、選択された冗長ビア配線ルール違反箇所包含領域と重なりがあるセル枠の一つが選択され、選択された冗長ビア配線ルール違反箇所包含領域と、選択されたセル枠とを包含する領域が配線修正対象領域と定義される(第6工程)。
【0057】
次に、接続点Tiと、接続点Tiと接続すべき配線の配線修正対象領域の境界との交点Siが抽出されて記憶される(第7工程)。次に、配線修正対象領域内のセル端子と接続しない配線との交点Piと、この配線修正対象領域内のセル端子と接続しない配線と配線修正対象領域の境界との交点Qiが抽出されて記憶される(第8工程)。次に、接続点Tiと交点Siとの直線距離和が第1の直線距離和Lorgとして計算される(第9工程)。
【0058】
次に、配線修正対象領域内のセルがフリップされる(第10工程)。次に、接続点Tiと交点Siとの直線距離和が第2の直線距離和Lflipとして計算される(第11工程)。次に、第1の直線距離和Lorgと第2の直線距離和Lflipとが比較され、Lflip<Lorgであるか否かが判定される(第12工程)。Lflip<Lorgでない場合には、後述する第14工程が実行される。
【0059】
第12工程において、Lflip<Lorgの場合には、フリップした状態にセルの向きが変更される(第13工程)。次に、セルの向きを変更したかどうかによらず、配線修正対象領域内の配線が破棄される(第14工程)。次に、接続点Tiと交点Siとの間および交点Piと交点Qiとの間の経路の再探索が行われる(第15工程)。次に、経路が更新される(第16工程)。以下、配線修正未試行の冗長ビア配線ルール違反箇所包含領域がなくなるまで、第5工程〜第16工程が繰り返される。
【0060】
図21は図1に示す半導体集積回路のレイアウト設計装置をなすコンピュータの概念図である。図21中、51はCPU(central processing unit)、52はRAM(random access memory)からなる主メモリ、53はキーボードやマウスなどの入力装置、54はディスプレイやプリンタなどの出力装置、55は通信装置、56はハードディスク装置などの補助メモリである。補助メモリ56には、本発明の半導体集積回路のレイアウト設計プログラムの一実施形態57などが格納される。
【0061】
本発明の半導体集積回路のレイアウト設計プログラムの一実施形態57は、詳細配線プログラム58、冗長ビア配線ルール違反箇所抽出プログラム59、冗長ビア配線ルール違反箇所包含領域定義プログラム60、配線修正未試行領域有無判定プログラム61、冗長ビア配線ルール違反箇所包含領域選択プログラム62、配線修正対象領域定義プログラム63、接続点・交点抽出プログラム64、交点抽出プログラム65、第1の直線距離和計算プログラム66、セル・フリップ・プログラム67、第2の直線距離和計算プログラム68、直線距離和比較プログラム69、セル向き変更プログラム70、配線破棄プログラム71、経路再探索プログラム72、経路更新プログラム73を含むものである。
【0062】
詳細配線プログラム58は、CPU51を詳細配線手段1として機能させ、第1工程を実行させるものである。冗長ビア配線ルール違反箇所抽出プログラム59は、CPU51を冗長ビア配線ルール違反箇所抽出手段2として機能させ、第2工程を実行させるものである。冗長ビア配線ルール違反箇所包含領域定義プログラム60は、CPU51を冗長ビア配線ルール違反箇所包含領域定義手段3として機能させ、第3工程を実行させるものである。
【0063】
配線修正未試行領域有無判定プログラム61は、CPU51を配線修正未試行領域有無判定手段4として機能させ、第4工程を実行させるものである。冗長ビア配線ルール違反箇所包含領域選択プログラム62は、CPU51を冗長ビア配線ルール違反箇所包含領域選択手段5として機能させ、第5工程を実行させるものである。配線修正対象領域定義プログラム63は、CPU51を配線修正対象領域定義手段6として機能させ、第6工程を実行させるものである。
【0064】
接続点・交点抽出プログラム64は、CPU51を接続点・交点抽出手段7として機能させ、第7工程を実行させるものである。交点抽出プログラム65は、CPU51を交点抽出手段8として機能させ、第8工程を実行させるものである。第1の直線距離和計算プログラム66は、CPU51を第1の直線距離和計算手段9として機能させ、第9工程を実行させるものである。
【0065】
セル・フリップ・プログラム67は、CPU51をセル・フリップ手段10として機能させ、第10工程を実行させるものである。第2の直線距離和計算プログラム68は、CPU51を第2の直線距離和計算手段11として機能させ、第11工程を実行させるものである。直線距離和比較プログラム69は、CPU51を直線距離和比較手段12として機能させ、第12工程を実行させるものである。
【0066】
セル向き変更プログラム70は、CPU51をセル向き変更手段13として機能させ、第13工程を実行させるものである。配線破棄プログラム71は、CPU51を配線破棄手段14として機能させ、第14工程を実行させるものである。経路再探索プログラム72は、CPU51を経路再探索手段15として機能させ、第15工程を実行させるものである。経路更新プログラム73は、CPU51を経路更新手段16として機能させ、第16工程を実行させるものである。
【0067】
本発明の半導体集積回路のレイアウト設計方法の一実施形態によれば、詳細配線(第1工程)で冗長ビア配線ルール違反が発生したとしても、セルの向きを変更して冗長ビア配線ルール違反箇所を解消する配線修正を行うための準備工程(第2工程〜第12工程)と、セルの向きを変更して配線修正を行う工程と(第13〜第15工程)、経路更新を行う工程(第16工程)が用意されているので、配線占有領域を削減し、冗長ビア配線ルール違反箇所を無くし又は削減することができる。
【0068】
また、本発明の半導体集積回路のレイアウト設計プログラムの一実施形態によれば、本発明の半導体集積回路のレイアウト設計方法の一実施形態をコンピュータに実行させることができる。
【図面の簡単な説明】
【0069】
【図1】本発明の半導体集積回路のレイアウト設計方法の一実施形態を実施する半導体集積回路のレイアウト設計装置の一部分の概略的構成図である。
【図2】本発明の半導体集積回路のレイアウト設計方法の一実施形態を示すフローチャートである。
【図3】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図4】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図5】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図6】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図7】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図8】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図9】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図10】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図11】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図12】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図13】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図14】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図15】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図16】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図17】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図18】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図19】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図20】本発明の半導体集積回路のレイアウト設計方法の一実施形態の具体例を説明するためのレイアウト図である。
【図21】図1に示す半導体集積回路のレイアウト設計装置をなすコンピュータの概念図である。
【符号の説明】
【0070】
1…詳細配線手段
2…冗長ビア配線ルール違反箇所抽出手段
3…冗長ビア配線ルール違反箇所包含領域定義手段
4…配線修正未試行領域有無判定手段
5…冗長ビア配線ルール違反箇所包含領域選択手段
6…配線修正対象領域定義手段
7…接続点・交点抽出手段
8…交点抽出手段
9…第1の直線距離和計算手段
10…セル・フリップ手段
11…第2の直線距離和計算手段
12…直線距離和比較手段
13…セル向き変更手段
14…配線破棄手段
15…経路再探索手段
16…経路更新手段
C1〜C18…セル枠
20−1〜20−3、21…第1配線層に設けられたセル端子
22…第2配線層の配線
23−1〜23−3、24〜26…第3配線層の配線
27〜34…冗長ビア
35〜37…標準ビア
P1〜P8…冗長ビア配線ルール違反箇所
40〜45…冗長ビア
51…CPU
52…主メモリ
53…入力装置
54…出力装置
55…通信装置
56…補助メモリ
57…本発明の半導体集積回路のレイアウト設計プログラムの一実施形態
58…詳細配線プログラム
59…冗長ビア配線ルール違反箇所抽出プログラム
60…冗長ビア配線ルール違反箇所包含領域定義プログラム
61…配線修正未試行領域有無判定プログラム
62…冗長ビア配線ルール違反箇所包含領域選択プログラム
63…配線修正対象領域定義プログラム
64…接続点・交点抽出プログラム
65…交点抽出プログラム
66…第1の直線距離和計算プログラム
67…セル・フリップ・プログラム
68…第2の直線距離和計算プログラム
69…直線距離和比較プログラム
70…セル向き変更プログラム
71…配線破棄プログラム
72…経路再探索プログラム
73…経路更新プログラム

【特許請求の範囲】
【請求項1】
概略配線工程と詳細配線工程とを有する半導体集積回路のレイアウト設計方法であって、
前記詳細配線工程後に、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程を有することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項2】
前記配線修正工程は、
前記冗長ビア配線ルール違反箇所をグループ分けし、グループ内の冗長ビア配線ルール違反箇所を包含する領域を第1の領域と定義する工程と、
前記第1の領域と、前記第1の領域と重なりがあるセル枠の一つとを含む領域を第2の領域と定義する工程と、
前記第2の領域内のセルの向きを変更して配線修正を行う工程と
を含むことを特徴とする請求項1に記載の半導体集積回路のレイアウト設計方法。
【請求項3】
前記第2の領域内のセルの向きを変更して配線修正を行う工程は、
前記第2の領域内のセル端子上の接続点と、前記接続点と接続すべき配線の前記第2の領域の境界との交点との直線距離和を第1の直線距離和として計算する工程と、
前記第2の領域内のセルの向きをフリップし、前記接続点と前記交点との直線距離和を第2の直線距離和として計算する工程と、
前記第2の直線距離和が前記第1の直線距離和よりも小さい場合、前記第2の領域内のセルの向きをフリップした状態に変更する工程と、
前記第2の領域内の配線を破棄し、前記接続点と前記交点との間の配線経路を再探索して配線経路を更新する工程と
を含むことを特徴とする請求項2に記載の半導体集積回路のレイアウト設計方法。
【請求項4】
概略配線工程と詳細配線工程とをコンピュータに実行させるプログラムを含む半導体集積回路のレイアウト設計プログラムであって、
前記詳細配線工程後に、セルの向きを変更して冗長ビア配線ルール違反箇所を解消するための配線修正工程をコンピュータに実行させるプログラムを含むことを特徴とする半導体集積回路のレイアウト設計プログラム。
【請求項5】
前記配線修正工程は、
前記冗長ビア配線ルール違反箇所をグループ分けし、グループ内の冗長ビア配線ルール違反箇所を包含する領域を第1の領域と定義する工程と、
前記第1の領域と、前記第1の領域と重なりがあるセル枠の一つとを含む領域を第2の領域と定義する工程と、
前記第2の領域内のセルの向きを変更して配線修正を行う工程と
を含むことを特徴とする請求項4に記載の半導体集積回路のレイアウト設計プログラム。
【請求項6】
前記第2の領域内のセルの向きを変更して配線修正を行う工程は、
前記第2の領域内のセル端子上の接続点と、前記接続点と接続すべき配線の前記第2の領域の境界との交点との直線距離和を第1の直線距離和として計算する工程と、
前記第2の領域内のセルの向きをフリップし、前記接続点と前記交点との直線距離和を第2の直線距離和として計算する工程と、
前記第2の直線距離和が前記第1の直線距離和よりも小さい場合、前記第2の領域内のセルの向きをフリップした状態に変更する工程と、
前記第2の領域内の配線を破棄し、前記接続点と前記交点との間の配線経路を再探索して配線経路を更新する工程と
を含むことを特徴とする請求項5に記載の半導体集積回路のレイアウト設計プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2008−311454(P2008−311454A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−158188(P2007−158188)
【出願日】平成19年6月15日(2007.6.15)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】