(57)【要約】【課題】適切な配線遅延対策がなされ、、所望の特性を有する半導体集積回路を提供する。また、配線レイアウトの自由度の増大をはかり、チップ面積の低減および半導体集積回路の高性能化をはかる。修正工数の削減をはかり、レイアウトに要する時間を低減する。【解決手段】半導体集積回路に搭載する素子の配置位置を決定した後、それら素子間を接続する最短経路の距離を求め暫定的な遅延値を算出し、この暫定的遅延値と、各配線ごとの要求遅延値とを比較し、この比較結果により配線の場合分けを行い、要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求めるとともに、求められたコンタクト位置に基づいて配線パターンを生成する。【選択図】  図１
2004157663.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト設計において、回路内のセル間を接続する配線の最短経路の距離を求める工程と、
前記最短経路の距離に基づいて暫定遅延値を算出する工程と、
接続情報から当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する工程と、
前記要求遅延値と前記暫定遅延値とを比較して、この比較結果に基づき要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求める工程と、
求められたコンタクト位置に基づいて配線パターンを生成する工程とを有することを特徴とする配線パターン生成方法。
【請求項２】
前記暫定遅延値を算出する工程に先立ち、接続情報から当該回路のタイミング性を評価し、得られた評価結果に基づいて遅延に対する要求の有無を判断する工程を有することを特徴とする請求項１に記載の配線パターン生成方法。
【請求項３】
半導体集積回路のレイアウト設計において、接続情報から、セル間を接続する最短経路の距離を算出する距離算出手段と、
前記最短経路の距離に基づいて暫定遅延値を算出する遅延値算出手段と、
設計データから当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する要求遅延値算出手段と、
前記要求遅延値と前記暫定遅延値とを比較して、この比較結果に基づき要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求め、求められたコンタクト位置に基づいて配線パターンを生成するパターン生成手段とを有することを特徴とする配線パターン生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、配線パターン生成方法および配線パターン生成装置に係り、特にコンピュータを利用して設計を行う半導体集積回路のレイアウト方法に関するものであり、特にタイミング性を考慮した配線に関するものである。
【０００２】
【従来の技術】
コンピュータはいうまでもなく、携帯電話等の通信機器、一般家庭製品や玩具、自動車まで、ＬＳＩの利用範囲が拡大している。
【０００３】
このような状況下、各製品においてＬＳＩはキーデバイスとして位置付けられており、製品の競争力確保のために、ＬＳＩの大規模化・高速化が要求されている。製品サイクルが短くなる中で、これらの要求に答えるためにはＬＳＩ設計の自動化が必須であり、近年、ＬＳＩコンピュータを用いた半導体集積回路の設計が注目されている。ＬＳＩの各設計フローの中でもレイアウト時に行う配置処理、配線処理に関しては自動レイアウトツールを用いて設計を行い、人手による工数を削減することで開発期間の短縮を図っている。
【０００４】
今日行われている一般的な自動レイアウトツールを用いたフローは回路の接続情報（ネットリスト）を用いて混雑度やタイミング性を考慮しながらセルの配置処理を行い、セルの配置位置が決定した後に接続すべき端子間の配線処理を行っている。
【０００５】
通常、配線処理には概略配線処理の結果から混雑度を評価し、大まかな配線経路を求め、この段階で配線できることを確認した後、詳細配線処理で図形的なデザインルールを満たすように配線を行っている。
【０００６】
しかし配線が混雑する領域が存在する場合、その混雑を回避するため概略配線時の見積もりとは異なる配線経路をとることがある。このような迂回経路をとった場合、結果として配線の距離が長くなり、配線による抵抗値と容量値が増加し要求される遅延値を満たせないことがある。逆に遅延を付加したいようなパスが存在した場合、セル遅延で所望の遅延を得ようとするため論理的には冗長なバッファを直列的に挿入しなければならず、結果として面積の増大や電力の増大を招いていた。
【０００７】
従来、概略の配線経路を見積もり、配線性やタイミング性を評価し束縛条件に加味して再度配線する方法が提案されている（特許文献１参照）。この方法では、要求される遅延値を満足するために仮概略配線を実施し配線経路を求めることによって、注目する配線の抵抗値と容量値を抽出し暫定的な遅延値を算出して、違反がある場合には再度仮配線処理を行う。また、遅延値に対し違反の大きい配線に対しては優先順位を持たせて配線し混雑度とタイミング性を両立させ、遅延値を低減する設計する方法も提案されている。
【０００８】
【特許文献１】
特開２０００−２２３５７８号公報
【０００９】
【発明が解決しようとする課題】
ところで、配線経路内において通過するコンタクトの数は配線での遅延に大きな影響を持っている。しかしながら前記方法では、配線層乗り換え時に通過するコンタクトについては考慮されていない。
【００１０】
今日の半導体集積回路では高集積化を実現するため多層配線構造が用いられている。このため端子間を接続する配線には同一配線層を接続する配線と配線層の乗換えを行うために層間絶縁膜に形成されるコンタクト（ビア）が含まれる。
【００１１】
同一配線層を接続する配線はプロセス毎に配線幅、配線間隔が定められており、自動レイアウトツールでは縦方向（基板表面に垂直な方向）を接続する配線と横方向（基板表面に平行な方向）を接続する配線層が予め定められている。多層配線プロセスでは縦方向と横方向ごとに配線層がそれぞれ割り付けられている。
【００１２】
例えば４層配線の場合には、横方向に第１層目と第３層目の配線層を割り振り、縦方向に第２層目と第４層目とが割り振られている。そのため配線層を乗り換えること、つまり９０度曲がる場合にはコンタクトを通過しなければならない。コンタクトの形状はプロセスごとのデザインルールによって形状が異なるが、一般的に通常配線幅よりも小さく設定されているため、抵抗値は大きくなり配線遅延に影響を与える原因の一つとなっている。
【００１３】
このため、上記方法によっても、十分な配線遅延対策を行っているとはいえないという問題があった。
【００１４】
本発明は前記実情に鑑みてなされたもので、適切な配線遅延対策がなされ、所望の特性を有する半導体集積回路を提供することを目的とする。
また、配線レイアウトの自由度の増大をはかり、チップ面積の低減および半導体集積回路の高性能化をはかることを目的とする。
また、修正工数の削減をはかり、レイアウトに要する時間を低減することを目的とする。
【００１５】
【課題を解決するための手段】
そこで本発明の配線方法は、半導体集積回路に搭載する素子の配置位置を決定した後、それら素子間を接続する最短経路の距離を求め暫定的な遅延値を算出し、この暫定的遅延値と、各配線ごとの要求遅延値とを比較し、この比較結果により配線の場合分けを行うようにしている。
【００１６】
そして、要求遅延値に対して最短経路で算出した暫定的遅延値がほぼ等しい場合には、コンタクトの最大使用数および位置を決定する。その後、決定したコンタクト位置情報をもって再概略配線と再詳細配線とを行う。この処理では配線経路の内に必ず決定したコンタクトを通過するように優先配線させるようにして、算出した最短経路遅延値を維持するように配線を行う。
【００１７】
また、要求遅延時間に対して仮詳細配線経路で算出した遅延が小さい場合には、最短経路上にない（最短経路で結べないような）位置にコンタクト位置を決定し、必ずこの決定したコンタクトを通過するように優先配線を行うことによって迂回経路を取らせて配線させる。
【００１８】
さらに、遅延値に対して要求の無い配線に対してはコンタクトの数および位置を指定せず、最も低い優先度で配線を行わせ、混雑度の高い領域を迂回しながら配線させることで配線トラックを有効に使用し高集積のＬＳＩを実現させる。
【００１９】
この配線パターンの実現に際して用いられる配線パターン生成装置は、半導体集積回路のレイアウト設計において、接続情報から、セル間を接続する最短経路の距離を算出する距離算出手段と、前記最短経路の距離に基づいて暫定遅延値を算出する遅延値算出手段と、設計データから当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する要求遅延値算出手段と、前記要求遅延値と前記暫定遅延値とを比較して、多層配線を行う際のコンタクトの使用数と位置を求め、求められたコンタクト位置に基づいて配線パターンを生成するパターン生成手段とを有する。
【００２０】
この発明は以下の事実を発見し、この事実に鑑みてなされたものである。
【００２１】
すなわち、本発明者らは、半導体集積回路を構成する各配線には遅延値の観点から見て、要求される配線遅延値以下に抑えなければならない配線と、要求される配線遅延値以上の遅延を持たなければならない配線と、遅延に対する要求が無い（電気的に接続されていれば良い）配線の３種類に分割することができることを発見した。
【００２２】
この３種類のうち、要求される配線遅延値以下に抑えねばならない場合（以下ケース１と称する）としては、フリップフロップ間のデータ遷移時間がクロック周期よりも大きくなりセットアップタイミング違反を発生しているような場合や半導体チップ外部とのインターフェースの遅延値が要求されている場合などがこれに属する。このようなケースにおいては信号の配線経路は抵抗値と容量値を減少させるため最短経路で接続することが望ましい。
【００２３】
ところで、セルの配置処理後に接続すべき端子の位置が決まれば、端子間を接続する信号の最短経路の距離を算出することができる。この距離を一般的にマンハッタン距離と呼んでいる。
【００２４】
図２に示すように、端子２０１と端子２０２を接続する端子とし、それぞれの座標を（ｘ１，ｙ１）、（ｘ２，ｙ２）とすると２０３で示すマンハッタン距離Ｌは以下の式（１）で与えられる。
Ｌ＝｜  ｘ２−ｘ１  ｜  ＋  ｜  ｙ２−ｙ１  ｜・・・式（１）
即ち、マンハッタン距離は配線グリッドを用いた配線手法での最短経路の長さとなる。しかしマンハッタン距離で接続される経路は図２に示した１経路だけではない。
【００２５】
図３はマンハッタン距離で接続される経路数を説明する図である。端子３０１と端子３０２との間に配線できる通り道（以下配線トラックと呼ぶ）が、それぞれＸ方向にＭ本、Ｙ方向にＮ本存在したとすると、最短経路での通り道の数はこのＭおよびＮに応じて増えていく。この場合、どの経路でも配線の距離の総和は等しくなるが、配線を乗り換える数すなわちコンタクトの数は異なってくる。
【００２６】
さらに図４はコンタクト数が２、３、４と増加した時の配線経路を示したものである。このように、たとえ最短経路での配線を行ったとしても、コンタクトを通過することによって配線の抵抗値は大きくなり、結果として配線に起因する遅延値が大きくなり要求される遅延条件を満たせなくなることがあった。このような場合には配線経路だけでなくコンタクトの最大使用可能数を制限する必要がある。
【００２７】
また、要求される配線遅延値以上の遅延値を持たなければならない場合（以下ケース２と称する）としては、２端子以上の信号到達遅延時間のばらつき（スキュー）の抑制や、フリップフロップ間の遅延が少なすぎて後段フリップフロップのクロック到達時間よりも先にデータ信号が到達するホールドタイムエラーが発生している場合や、半導体チップ外部とのインターフェースの遅延値が要求されている場合などがある。このようなタイミング違反が発生している場合には、従来は、端子間に遅延セルなどのセルを挿入してセルの遅延値を付け加え端子間の伝播遅延を遅くすることで対応している。
しかしながら、この方法では、回路の接続情報（ネットリスト）を修正しなければならず、開発工数が増大するという問題がある。さらに遅延セルを挿入することによって挿入セル分の面積の増大と消費電力の増大という問題も発生している。この場合、配線による遅延を増加させるために、配線経路の距離を最短経路以上の距離にする必要がある。
【００２８】
また、遅延に対する要求の無い（電気的な接続があればよい）配線（以下このケースをケース３と称する）としては、例えば、時間的にクリティカルでないリセット信号やモード切り替え信号やテスト回路等が属する。これらの信号は電気的な接続のみがあればよく、必ずしも最短経路で配線する必要はない。しかし配線遅延が無制限に大きくてもいいと言うわけではなく、各セルのライブラリ規定値以上の信号伝播時間（スリュ−）制約は満たさねばならない。これらの信号は配線が混雑しているような領域でも無制限にコンタクトを通過し迂回配線を繰り返すことが許容される信号である。
このケースの場合は、前述の第１のケースや前述の第２のケースでの配線経路を避けながら配線させることで、配線に起因する面積の増大を抑えることができる。
このように、遅延に対する要求度に場合に応じて、場合わけを行い，半導体集積回路のレイアウト設計を行うようにしている。
【００２９】
【発明実施の形態】
以下本発明の実施の形態について説明する。
本実施の形態で説明する端子は全ての配線層を含んでいるものとし、縦方向と横方向の配線はそれぞれの配線層ごとに割り付けられているものとする。さらに簡略化のため配線層は縦方向と横方向それぞれ１層ずつとする。
【００３０】
この方法では、セル遅延値に対する要求が存在するか否かを検知し、この要求があった場合には、最短経路に基づいて暫定遅延値を算出するとともに、この暫定遅延値が要求遅延値を満たしているか否かを判断し、この判断結果に基づいてコンタクト位置とコンタクト数とを調整するようにしたことを特徴とする。
【００３１】
すなわち、セル遅延値に対する要求があった場合、最短経路かつコンタクト数が１つの遅延値を算出し、要求される遅延が存在する配線に対して配線遅延を維持させたい場合と、要求される遅延値に対して配線遅延を増加させたい場合の２種類に場合分けをする。
【００３２】
その後、各場合においてコンタクトの数と位置を決定し、再配線を行う際には、決定したコンタクト位置を必ず通過する制約を与えることで、意図した遅延値を得られることが可能となるため、配線経路に起因するタイミング違反を減少させることができＬＳＩの高性能化と修正工数の削減に効果がある。さらに遅延に対する要求が無い配線は迂回経路を取らせることで、仮に配線が混雑している領域が存在したとしても、その領域を迂回して配線させることによってチップサイズの増大を防ぐ事が可能となる。
【００３３】
図１に、本実施の形態における半導体集積回路のレイアウト方法の処理フローを示す。
この方法では、まず、手配置、自動配置ツール、タイミングドリブン配置ツールなどのいずれかの方法をを用いて回路中に存在するセルの配置を行う（ステップ１０１）。この時点で接続すべき端子間の座標が決定される。
【００３４】
その後、注目した配線が設計データ上の要求遅延値に対する要求を有しているか否かの判断を行う（ステップ１０２）。
前記判断ステップ１０２において、遅延値に対する要求を有している場合（前述ケース１及び前述ケース２）には、注目した配線の遅延値を最短経路に基づいて暫定的に算出する（ステップ１０３）。
【００３５】
一方、前記判断ステップ１０２で遅延値に対する要求を有していない場合（前述ケース３）には、残りの配線処理即ち最も優先度の低い配線工程に進む（ステップ１０８）。
【００３６】
なお前記ステップ１０３では、最短経路を取った時の遅延値を算出するが、このとき隣接する配線間容量を考慮にいれ、例えば、コンタクト数は１つであると仮定しておく（これを仮詳細配線とする）。
【００３７】
そして、前記ステップ１０３で算出された注目する配線の暫定遅延値と、要求遅延値とを比較する（ステップ１０４）。
前記判断ステップ１０４の結果からこの配線による暫定遅延値を維持させたい場合（前述ケース１）には、使用可能コンタクト数決定処理工程に進みコンタクト数を決定するとともに最短経路可能領域内にコンタクト位置を決定する（ステップ１０５）。
【００３８】
一方前記判断ステップ１０４で遅延値を増大させたい場合には、増大すべき遅延値に基づいて最短経路から増大すべき距離を算出し、最短経路領域外にコンタクト位置およびコンタクト数を決定する（ステップ１０６）。
【００３９】
次に、配線遅延を維持させたい処理（ケース１）について説明する。図１フローにおいて、使用可能コンタクト数と位置との決定を行うステップ１０５では注目すべき配線の最大許容コンタクト数を決定する。図５はこのコンタクト数決定処理ステップを示す図である。
【００４０】
まず、前記ステップ１０３で算出した最短経路の算出遅延値を参照する（ステップ５０１）。そして設計データから、当該回路の要求される要求遅延値を参照する（ステップ５０２）。
【００４１】
そして最短経路を通ったとしてその中で使用することのできる最大使用可能コンタクト数を算出する（ステップ５０３）。この最大使用可能コンタクト数は、要求遅延値と最短経路の暫定遅延値との差に基づいて決定される。
【００４２】
その後配線混雑度を参照し（ステップ５０４）、最短経路領域内に、決定された数の範囲内のコンタクトを配置する（ステップ５０５）。
このとき使用可能コンタクト数が少ないほど配線経路は限定される。図６、図７は、限定された配線経路を説明する図である。このケースにおいて、決定されるべきコンタクトの位置は、２頂点２０１，２０２を結ぶ直線を対角線とする長方形状のハッチングで示す領域６０３の内部であり、かつトラックが重なる部分に配置しなければならない。それは、領域６０３以外の部分にコンタクト位置を決定すると、最短経路での配線ができなくなるためである。ここでは端子間にＸ方向とＹ方向それぞれ５本の配線トラックが存在すると仮定する。例えば、使用可能コンタクト数が１に設定されている時、端子間を接続できる経路は頂点６０１もしくは頂点６０２を通過する２経路のみとなる。
【００４３】
さらに、使用コンタクト数が２に設定されている時には図２に示すように、頂点７０１と頂点７０４を同時に通過する経路と、頂点７０２と頂点７０５を同時に通過する経路と、頂点７０３と頂点７０６を同時に通過する経路と、頂点７０７と頂点７１０を同時に通過する経路と、頂点７０８と頂点７１１を同時に通過する経路と、頂点７０９と頂点７１２を同時に通過する経路の全部で６系統となる。このように使用可能コンタクト数が増加するほど、配線経路数は増え配線の自由度が増し、混雑した領域を避けて配線することが可能となる。
【００４４】
次に配線遅延を増加させたい処理（ケース２）について図８を参照しつつ説明する。まずステップ１０３で算出した暫定遅延値を参照する（ステップ８０１）。次に、要求遅延値を参照し（ステップ８０２）、この暫定遅延値と要求遅延値とを比較し、配線においてどれだけの遅延を付加するかを算出して最短経路可能領域（図９の領域９０１）からの距離を算出する（ステップ８０３）。その後配線混雑度を参照して（ステップ８０４）、混雑度の小さい領域に最短経路可能領域外にコンタクト位置を決定する（ステップ８０５）。
【００４５】
図９はこれを図式的に示したものである。例えば、図９では２点を結ぶ線を対角線とする長方形上の領域９０１の外部であってかつトラックの交差している点座標９０２にコンタクト位置を決定している。その後の配線処理を実施すると図１０のような経路を取ることになり、配線距離の増加による容量値の増加とコンタクトの増加による抵抗値の増加させ、配線の遅延値を増すことが可能となる。
【００４６】
最後に遅延値に対する要求を有していない場合（ケース３）について説明する。この場合にはどのような迂回経路を取ろうとも、コンタクト数がいくつであっても良い配線であるので、コンタクト数の指定や位置の指定などを行う必要はない。さらに配線する優先順位を低く設定し、既に配線されている領域を避けながら配線を行う。こうすることによって、配線領域の空き領域を有効に使用させ、本発明に起因する面積増加を抑制することができる。
【００４７】
本実施の形態によれば、遅延値の制御が必要な領域であるか否かを判断し、必要であるときのみ遅延値を制御するようにしているため、必要以上に制限を加える必要がなく、配線レイアウトの自由度の増大をはかるとともに、チップ面積の低減をはかることができる上、レイアウトに要する時間を低減することが可能となる。
【００４８】
また、遅延値の算出にコンタクト数やコンタクト位置を考慮し、レイアウトを決定しているため、配線経路に起因するタイミング違反を減少させることができ、より効率よく高精度のレイアウトを実現することが可能となる。
さらに、遅延値の増大の必要な部分には、コンタクト数を増加するなどの調整をしているため、チップ面積を増大することなく、設計値に近い機能をもつ半導体集積回路を提供することが可能となる。
【００４９】
なお、前記実施の形態では、遅延値の制御が必要な領域であるか否かを判断し、必要であるときのみ遅延値を制御するようにしたが、このステップ１０２は省略し、ステップ１０１から、直接最短経路の距離から暫定遅延値を算出するステップ１０３にスキップするようにしてもよい。これにより、若干自由度は減少するが配線経路に起因するタイミング違反の低減をはかることは可能となる。
【００５０】
【発明の効果】
以上説明してきたように、本発明の配線パターンの生成方法によれば、遅延値の制御が必要な領域であるか否かを判断し、この判断結果に基づいて遅延値を制御するようにしているため、必要以上に制限を加える必要がなく、配線レイアウトの自由度の増大をはかることができる。
従って、チップ面積の低減および半導体集積回路の高性能化をはかることができる上、修正工数の削減が可能となり、レイアウトに要する時間を低減することが可能となる。
また本発明の配線パターンの生成装置によれば、容易に高性能の半導体集積回路のレイアウトを行うことが可能となる。
【図面の簡単な説明】
【図１】本実施の形態のレイアウト設計方法における全体工程のフロー図である。
【図２】マンハッタン距離を説明する図面である。
【図３】２点間の配線経路数を示す図面である。
【図４】２点間を最短経路配線したとしても使用するコンタクト数が異なることを示した図面である。
【図５】配線遅延値を抑制するための工程を示すフロー図である。
【図６】配線遅延値を抑制させるために、使用コンタクト数を１とした場合の配線経路を示す図面である。
【図７】配線遅延値を抑制させるために、使用コンタクト数を２とした場合の配線経路を示す図面である。
【図８】配線遅延値を増加させるための工程を示すフロー図である。
【図９】配線遅延値を増加させるために、最短経路範囲外に使用コンタクト位置を決定した場合を示す図面である。
【図１０】配線遅延値を増加させるために、最短経路範囲外に使用コンタクト位置を決定した場合の配線経路を示す図面である。
【図１】
2004157663.tif 000003
【図２】
2004157663.tif 000004
【図３】
2004157663.tif 000005
【図４】
2004157663.tif 000006
【図５】
2004157663.tif 000007
【図６】
2004157663.tif 000008
【図７】
2004157663.tif 000009
【図８】
2004157663.tif 000010
【図９】
2004157663.tif 000011
【図１０】
2004157663.tif 000012