(57)【特許請求の範囲】
【請求項１】
集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、
ａ．前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及び
ｂ．配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及び
ｃ．前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減して前記ｂ及び前記ｃの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定することを特徴とする集積回路の設計方法。
【請求項２】
集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、
ａ．前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及び
ｂ．配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及び
ｃ．前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値のうちの少なくとも１つを増加して前記ｂ及び前記ｃの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定することを特徴とする集積回路の設計方法。
【請求項３】
前記上限値は、アナログ素子を含む回路であるアナログマクロへの入力配線、及び順序回路への入力配線、及びメモリへの入力配線の少なくとも１つに対して、当該集積回路の他の部分とは別に定められる請求項１又は２記載の集積回路の設計方法。
【請求項４】
前記クロストークノイズを加味して行われる動作周波数の解析は、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出される遅延変動量に基づいて行われる請求項１〜３のいずれかに記載の集積回路の設計方法。
【請求項５】
前記遅延変動量は、前記隣接する配線間での電位遷移のタイミングの重複度合いを考慮して算出される請求項４記載の集積回路の設計方法。
【請求項６】
請求項１〜５のいずれかに記載の集積回路の設計方法において、
前記クロストークノイズを加味して行われる動作周波数の解析に先立ち、同クロストークノイズを加味しない動作周波数の解析を行い、この解析の結果、解析された動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないときには、前記ａの工程の上流工程である当該集積回路の回路設計及び同回路の配置のいずれかの工程から前記各工程を再実行することを特徴とする集積回路の設計方法。
【請求項７】
請求項１〜６のいずれかに記載の集積回路の設計方法において、
前記配置の終了した集積回路について、予め設定された配線間隔及び前記確定されたクロストークノイズの上限値を用いて自動配線ツールにて配線を行う工程と、
前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを更に備え、
前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することを特徴とする集積回路の設計方法。 
【請求項８】
集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、
前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることを特徴とする集積回路の設計支援装置。
【請求項９】
集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、
前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した前記集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値の少なくとも１つを増加させると共にその増加前の上限値を保持しておき、前記動作周波数の差が許容範囲にないと判断されるとき、前記保持した増加直前の値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることを特徴とする集積回路の設計支援装置。 
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路の設計方法及び同設計を支援する集積回路の設計支援装置に関する。
【０００２】
【従来の技術】
近年、集積回路、特に半導体集積回路にあっては、その微細加工技術の進展により、半導体集積回路内の配線幅や隣接する配線間の間隔は縮小される傾向にある。これに対し、同半導体集積回路内の配線の膜厚については、配線抵抗の増加抑制やエレクトロマイグレーション等に起因する断線の防止を図る必要があることから、上記配線幅や隣接する配線間の間隔ほどには縮小が図られない。このため、集積回路の微細化につれて、絶縁層を介して配線と基板との間に形成される静電容量（カップリング容量）よりも、絶縁物を介して隣接する配線間に形成される静電容量（カップリング容量）の影響が大きなものとなりつつある。
【０００３】
この隣接配線間に形成される静電容量の影響としては、一方の配線の電位変化が他方の配線の電位を変化させるクロストークノイズがある。そしてこのクロストークノイズの影響が大きくなると半導体集積回路が誤動作を起こす可能性が増大する。すなわち、グリッチ（ひげ）と呼ばれるノイズの発生によって順序回路の出力論理信号が論理反転を引き起こしたり、信号伝播速度の変化である遅延変動が生じることに起因して実際の動作速度が所望の動作速度からずれたものとなったりする。
【０００４】
ところで、このクロストークノイズは、狭い配線間隔で長距離に渡って隣接している同層配線のうち、それを駆動するドライバの駆動能力が小さかったり、あるいは電荷保持能力が弱い配線について特に生じやすい。よって、半導体集積回路の配置配線を実施するときには、問題箇所を抽出して対策することが不可欠となる。
【０００５】
そこで従来は、セルの配置及び配線を所定間隔のグリッドを用いて行う汎用の自動配置配線ツールにおいても、こうしたクロストークノイズの対策として、
（１）設計者側でクロストークノイズの上限値を設定する。
（２）カップリング容量及び配線の抵抗を自動抽出する。
（３）全配線についてクロストークノイズを算出する。
（４）上記算出されたノイズが上記設定された上限値を超える場合に違反と判定する。
（５）違反と判定された箇所の両側の配線をグリッド所定間隔の２倍若しくはそれ以上に引き離して配線する。
といった手順による設計手法がよく用いられている。
【０００６】
ちなみに、クロストークノイズ対策としてはこの他にも、上記（５）の工程に代えて、
（６）配線の電位保持能力を上げるために、ドライバの駆動能力を上げたり中継バッファを挿入したりする（例えば特開平１０−２７１９４号公報参照）。
あるいは
（７）クロストークノイズによる遅延変動を相殺できるように、中継インバータを挿入して、一方の配線の電位変化と他方の配線の電位変化とが同相及び逆相を繰り返すようにする（特開平２００１−１４８４２６号公報参照）。
といった手法が用いられることもある。
【０００７】
【発明が解決しようとする課題】
ところで、上記自動配置配線ツールを用いた設計手法における上記（１）の工程においては、半導体集積回路に生じる誤動作の原因について詳しく解析されることなく、クロストークノイズの上限値が一律に設定されるのが常であった。すなわち、
（ａ）クロストークノイズに起因するグリッチによって順序回路の出力信号が論理反転してしまう等、クロストークノイズそのものによる集積回路の誤動作。
（ｂ）クロストークノイズに起因した配線の信号遷移時間の変動（遅延変動）によって、集積回路の実際の動作速度が所望の動作速度からずれることによる誤動作。
といった２つのいずれの要因に起因する誤動作をも回避し得るようにノイズの上限値が一律に設定されていた。
【０００８】
しかし、このようにノイズの上限値が一律に設定されてクロストークノイズ対策が施されると、対象となる集積回路によっては、必ずしも適切な対策が施されないことがある。すなわち、例えばノイズの影響を過大に評価してしまうことがある。そしてこの場合には、過剰にバッファを挿入したり、配線同士の間隔を過剰に大きくしたりすることによる半導体集積回路としての回路面積の増大等も避けられないものとなる。
【０００９】
一方、こうしたノイズの影響についての過大な評価を回避するためには、上記ノイズの上限値の設定を集積回路を構成する各箇所毎に個別に行うことも考えられる。そして実際に、このようなかたちで上記設計が行われることもある。しかしこれでは、ノイズ上限値の設定作業に膨大な時間を要するのみならず、設計担当者自身の相当の熟練を必要ともする。
【００１０】
また、たとえ上記ノイズ上限値の設定が一律になされる場合であれ、該設定された上限値に基づく上記（６）〜（７）のクロストークノイズ対策は通常、熟練者によって行われている。ただし、たとえ熟練者とはいえ、違反と判定される箇所毎に適切な対策を施すことは容易ではなく、そのために費やす時間も膨大なものとなっている。特に、セル配置や配線経路の予想できるバス配線やセミカスタムの度合いの大きなレイアウト設計手法以外では、たとえ熟練者といえども、上記違反箇所に対して適切な対処を施すことは難しい。
【００１１】
本発明はこうした実情に鑑みてなされたものであり、その目的は、各種集積回路の設計に際して、より適切なクロストークノイズ対策をより容易に行うことのできる集積回路の設計方法及び同設計を支援する設計支援装置を提供することにある。
【００１２】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１記載の発明は、集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、ａ．前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及びｂ．配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及びｃ．前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減して前記ｂ及び前記ｃの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定することをその要旨とする。
【００１３】
上記設計方法では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することが可能となり、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【００１４】
更に、上記設計方法によれば、工程ａ〜ｃを経た後、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないと判断される箇所についてその上限値を低減して前記ｂ及びｃの工程が繰り返される。このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の変更がなされつつ工程ｂ及びｃが繰り返されることで、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【００１５】
なお、工程ａにおいて、クロストークノイズの上限値を定める際には、その上限値を大きめな値に、換言すればクロストークノイズを許容する側の値に定めることが望ましい。これにより、上限値を低減しつつ工程ｂ及びｃを繰り返すことで、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【００１６】
請求項２記載の発明は、集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、ａ．前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及びｂ．配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及びｃ．前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値のうちの少なくとも１つを増加して前記ｂ及び前記ｃの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定することをその要旨とする。
【００１７】
上記設計方法では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することが可能となり、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【００１８】
更に、上記設計方法によれば、工程ａ〜ｃを経た後、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあると判断された場合に、定められた上限値のうちの少なくとも１つを増大させて前記ｂ及びｃの工程が繰り返される。そして、各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定する。このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値が増加されつつ工程ｂ及びｃが繰り返されることで、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【００１９】
なお、工程ａにおいて、クロストークノイズの上限値を定める際には、その上限値を小さめの値に、換言すればクロストークノイズを許容しない側の値に定めることが望ましい。これにより、上限値を変更しつつ工程ｂ及びｃを繰り返すことで、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【００２０】
請求項３記載の発明は、前記上限値は、アナログ素子を含む回路であるアナログマクロへの入力配線、及び順序回路への入力配線、及びメモリへの入力配線の少なくとも１つに対して、当該集積回路の他の部分とは別に定められることをその要旨とする。
【００２１】
例えばＤ／ＡコンバータやＡ／Ｄコンバータ等、アナログ素子を含んで構成されるアナログマクロでは、その入力信号のわずかな変動によって誤動作が引き起こされる。また、フリップフロップ等の順序回路では、上述したグリッチによって論理反転する等、その出力信号がノイズに応答して非可逆的に変化し、誤動作が引き起こされる。更に、高速メモリ等のメモリの入力配線にグリッチが生じると、これに起因して例えばメモリのクロックが反転したときのようにメモリの動作が切り替えられる等、メモリの動作が非可逆的に変化し、誤動作が生じる。
【００２２】
このように、アナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線については、配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるようになる。
【００２３】
この点、上記設計方法によれば、これらの少なくとも１つに対して集積回路の他の部分と別に上限値を設定することで、これらの少なくとも1つと、集積回路の他の部分とでクロストークノイズの上限値を異ならしめることが可能となる。したがって、自動抽出されるクロストークノイズの上限値をより適切な値とすることができるようになる。
【００２４】
なお、アナログマクロへの入力配線や、順序回路への入力配線、メモリへのクロック入力配線については、通常、グリッチによる誤動作を起こさないノイズ上限値が規定されている。したがって、請求項１又は２の上記ａの工程において、これら規定されているノイズ上限値を用いるようにしてもよい。この際、この組み合わせ論理回路の上限値は、アナログマクロへの入力配線や、順序回路への入力配線、メモリへのクロック入力配線について規定されている上記上限値よりも大きな値に定めるのが望ましい。これは、組み合わせ論理回路部分の入力配線にグリッチが生じた場合、その出力信号は、ノイズに対して可逆的な変化をするため、すなわち、上記グリッチに応じたノイズを含むのみであるため、この組み合わせ論理回路部分に対しては、遅延変動量のみを加味すればよいためである。
【００２５】
請求項４記載の発明は、請求項１〜３のいずれかに記載の発明において、前記クロストークノイズを加味して行われる動作周波数の解析は、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出される遅延変動量に基づいて行われることをその要旨とする。
【００２６】
隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が短くなる。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が長くなる。
【００２７】
ここで、上記設計方法では、クロストークノイズがない場合からの信号遷移時間の変動量（遅延変動量）を、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出する。このため、隣接する配線の一方と他方との様々な電位遷移によって生じる遅延変動を反映して動作周波数の解析を行うことができるようになる。
【００２８】
請求項５記載の発明は、請求項４記載の発明において、前記遅延変動量は、前記隣接する配線間での電位遷移のタイミングの重複度合いを考慮して算出されることをその要旨とする。
【００２９】
実際の集積回路においては、隣接する配線の一方と他方との電位が互いに同一方向又は反対方向に同時期に遷移するとは限らない。
この点、上記設計方法では、レイアウト設計対象の集積回路において、隣接する配線間での電位遷移のタイミングの重複度合いを考慮して遅延変動量が算出される。このため、上記集積回路内で実際に生じ得る遅延変動量についてより正確に算出することができ、ひいては、同集積回路についてより正確な動作周波数の解析を行うことができる。
【００３０】
請求項６記載の発明は、請求項１〜５のいずれかに記載の発明において、前記クロストークノイズを加味して行われる動作周波数の解析に先立ち、同クロストークノイズを加味しない動作周波数の解析を行い、この解析の結果、解析された動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないときには、前記ａの工程の上流工程である当該集積回路の回路設計及び同回路の配置のいずれかの工程から前記各工程を再実行することをその要旨とする。
【００３１】
集積回路が所望の動作周波数を満たせない要因としては、クロストークノイズに限らず、回路設計そのものに問題がある場合に加え、回路間の距離が過剰に離間されて配置されることによるものなどがある。
【００３２】
ここで、上記設計方法では、クロストークノイズを加味しない動作周波数の解析に基づき、集積回路の回路設計及び同回路の配置のいずれかの工程からやり直しが行われる。これにより、回路設計や回路の配置に起因して所望とする動作周波数を得ることが困難な場合には、この要因を解消した後、クロストークノイズについての上限値が設定されることとなる。したがって、所望の動作周波数を満たすためのクロストークノイズの上限値をより適切に設定することができる。
【００３３】
請求項７記載の発明は、請求項１〜６のいずれかに記載の発明において、前記配置の終了した集積回路について、予め設定された配線間隔及び前記確定されたクロストークノイズの上限値を用いて自動配線ツールにて配線を行う工程と、前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを更に備え、前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することをその要旨とする。
【００３４】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【００３５】
この点、上記設計方法では、請求項１〜６のいずれかに記載の発明によって設定された上限値と予め設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大するようにする。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【００３６】
なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線間隔の最小値に設定しておくことが望ましい。
請求項８記載の発明は、配置の終了した集積回路に対し自動配線ツールを用いて配線を行うに、前記配線の終了した集積回路について、予め設定された配線間隔及びクロストークノイズの上限値を用いて自動配線ツールにて配線を行う配線工程と、前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを備え、前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することをその要旨とする。
【００３７】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【００３８】
この点、上記設計方法では、設定された上限値と設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大するようにする。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【００３９】
なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線間隔の最小値に設定しておくことが望ましい。
請求項９記載の発明は、請求項７又は８記載の発明において、前記自動配線ツールによる配線工程に先立ち、この配線工程による自動配線よりも配線にかかる演算処理量の小さい仮の配線を行う概略配線工程と、この概略配線工程によっては前記配線間隔及び前記上限値を用いた自動配線の完了が困難であると判断されると前記配線間隔を段階的に拡大させる工程とを更に備えることをその要旨とする。
【００４０】
与えられた条件下での自動配線ツールによる配線によっては、配線混雑度が大きくなるなどして、同ツールによる配線処理が長期化することがある。
この点、上記設計方法では、自動配線ツールにて配線を行う工程に先立ち、この工程における配線よりも配線にかかる演算処理量の小さな仮の配線を行う概略配線工程を備える。そして、この概略配線工程によって前記配線間隔及び上限値を用いた配線の完了が困難であると判断されると前記配線間隔を段階的に拡大させる。このように配線の完了が困難であると判断される場合に配線間隔を段階的に拡大することで、この後に行われる自動配線ツールによる配線にかかる処理時間を低減することができる。
【００４１】
なお、この配線の完了が困難であるとの判断は、概略配線を行ったのち、未結線箇所等の違反箇所が所定数を超えるか否かによって行ってもよい。
なお、上記各請求項１〜９記載の発明は、請求項１０記載の発明によるように、前記自動配線ツールは、配線形成可能な領域として予め定められたグリッドを用いて前記自動配線を行うようにしてもよい。これにより、自動配線ツールによる配線処理にかかる演算負荷を低減することができるようになる。
【００４２】
請求項１１記載の発明は、集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることをその要旨とする。
【００４３】
上記構成では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することができ、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【００４４】
また、上記構成では、自動配線ツールにて仮配線が行われた後、タイミング解析部によって、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かが判断される。そして、タイミング解析部で許容範囲にないと判断された箇所については、上限値設定部にて、この箇所の上限値を低減する。また、上記タイミング解析部にて前記許容範囲にあると判断された箇所については、上限値設定部にて、その上限値がクロストークノイズの上限値として確定される。
【００４５】
このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の低減がなされつつ仮配線及びタイミング解析が繰り返されることで、集積回路の各箇所毎に適切な上限値が自動的に抽出されるようになる。
【００４６】
なお、クロストークノイズの上限値を定める際には、その上限値を大きめの値に、換言すればクロストークノイズを許容する側の値に定めることが望ましい。請求項１２記載の発明によれば、集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した前記集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値の少なくとも１つを増加させると共にその増加前の上限値を保持しておき、前記動作周波数の差が許容範囲にないと判断されるとき、前記保持した増加直前の値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることをその要旨とする。
【００４７】
上記構成では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することができ、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【００４８】
また、上記構成では、自動配線ツールにて仮配線が行われた後、タイミング解析部によって、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かが判断される。そして、タイミング解析部で許容範囲にないと判断された場合には、上限値設定部にて、上限値の少なくとも１つを増大する。また、上記タイミング解析部にて前記許容範囲にないと判断されたときには、上限値設定部にて、その直前に許容範囲にあると判断されたときに用いられた上限値がクロストークノイズの上限値として確定される。
【００４９】
このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の低減がなされつつ仮配線及びタイミング解析が繰り返されることで、集積回路の各箇所毎に適切な上限値が自動的に抽出されるようになる。
【００５０】
なお、クロストークノイズの上限値を定める際には、その上限値を小さめの値に、換言すればクロストークノイズを許容しない側の値に定めることが望ましい。
【００５１】
請求項１３記載の発明は、配置の終了した集積回路に対する自動配線を支援する集積回路の設計支援装置であって、前記配置の終了した集積回路について、予め設定された配線間隔及びクロストークノイズの上限値を用いて自動配線を行う自動配線ツールと、前記予め設定された配線間隔による自動配線では前記自動配線ツールによる配線が完了しないと判断されるとき、前記設定された配線間隔を適宜に拡大する配線間隔設定手段とを備えることをその要旨とする。
【００５２】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【００５３】
この点、上記構成では、自動配線ツールにて集積回路について、設定された配線間隔及び予め設定されたクロストークノイズの上限値を用いて配線が行われ、配線間隔設定手段にて集積回路の配線が完了しないと判断される毎に、設定された配線間隔が拡大される。
【００５４】
このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線の線幅の最小値に設定しておくことが望ましい。
【００５５】
【発明の実施の形態】
（第１の実施形態）
以下、本発明にかかる集積回路の設計方法及び設計支援装置をスタンダードセル方式の半導体集積回路の設計方法及び設計支援装置に適用した第１の実施形態について、図面を参照しつつ説明する。
【００５６】
図１は、本実施形態にかかる設計支援装置の構成を示すブロック図である。なお、この支援装置はスタンダードセル方式の設計を支援する装置として構成されている。
【００５７】
はじめに、同支援装置を構成する各部の機能について説明する。
まず、設計仕様格納部１０は、例えばハードウェア記述言語（ＨＤＬ）で記述された半導体集積回路の機能及び構造に関する情報が格納される部分であり、ハードディスク装置等の記憶装置によって構成されている。
【００５８】
また、ライブラリ１２は、半導体集積回路を構成すべき各種機能セルのセル情報や、それら機能セルの遅延情報、セットアップ及びホールドタイムに関する制約情報等、それら機能セルの性能情報が格納される部分である。このライブラリ１２も、ハードディスク装置等の記憶装置によって構成されている。なお、上記各種機能セルは、論理演算子（論理積、論理和、排他的論理和、排他的論理積、否定等）やフリップフロップ回路等又はそれらを用いて形成される回路である。
【００５９】
一方、レイアウト１４は、上記各機能セルの面積情報等、同機能セルのレイアウトに関する情報が格納される部分であり、これについてもハードディスク装置等の記憶装置によって構成されている。
【００６０】
また、プロセスパラメータ１６は、指定されたデザインルール（素子サイズや最小配線間隔等を規定するルール）に応じた素子特性や、材質毎の配線特性等に関する情報が格納される部分であり、これについてもハードディスク装置等の記憶装置によって構成されている。
【００６１】
また、論理合成部２０は、設計仕様格納部１０に格納されている回路情報に基づいてゲートレベルの回路を生成する（回路設計）部分である。ここで、上記回路情報に基づくゲートレベルの回路の生成は、上記ライブラリ１２に登録されている機能セルを用いて行なわれる。
【００６２】
これに対し、自動配置部２２及び自動配線部２４は、生成した回路に対応してレイアウト設計を行う部分である。すなわち、自動配置部２２は、生成された回路に対応し上記機能セルの自動配置を行う部分であり、自動配線部２４は、それら配置された機能セル間の配線を行う部分である。これら上記機能セルの自動配置、及びそれら配置された機能セル間の配線は、上記回路設計に用いられた機能セルに対応する上記レイアウト１４の有するレイアウトデータを用いて行なわれる。なお、上記自動配線部２４は、ハードディスク装置、あるいはＲＯＭやＲＡＭ等の半導体メモリに配線実行手順に関するプログラムが記録された記憶装置によって構成されている。
【００６３】
この自動配置部２２及び自動配線部２４で生成された回路のネットリストが次のタイミング解析部３０に供給される。このネットリストは、階層構造を保持しており、各機能セルから構成される機能ブロック内のネットリストと機能ブロック間のネットリストとからなる。
【００６４】
タイミング解析部３０は、上記ネットリストに表される全ての論理回路の構造（ネットリスト情報）と各論理回路間の全ての接続情報（ファンアウト数）とを解析して、当該回路各部のタイミング解析を行う部分である。このタイミング解析に際しては、上記プロセスパラメータ１６の有する情報も用いられる。このタイミング解析部３０は、ハードディスク装置、あるいはＲＯＭやＲＡＭ等の半導体メモリに解析実行手順に関するプログラムが記録された記憶装置によって構成されている。
【００６５】
また、クロストークノイズ上限値設定部（以下、上限値設定部）４０は、上記タイミング解析部３０の解析結果に基づいてクロストークノイズの上限値を設定する部分である。本実施形態では、この上限値を、一例として、対象となる半導体集積回路におけるディジタル信号の高電位側の電位に対するパーセンテージで定義する。この上限値設定部４０も、ハードディスク装置、あるいはＲＯＭやＲＡＭ等の半導体メモリに設定実行手順に関するプログラムが記録された記憶装置によって構成されている。
【００６６】
その他、入力部５０は、タッチペンやキーボード、マウス等の入力装置からなって、回路設計のための各種情報や命令を入力する部分である。また、フロア表示部６０は、上記入力情報や設計、あるいは設計変更された回路のレイアウト図等を可視表示する部分である。一方、制御部７０は、このフロア表示部６０をはじめ、上述した設計仕様格納部１０、ライブラリ１２、レイアウト１４、プロセスパラメータ１６、論理合成部２０、自動配置部２２、自動配線部２４、タイミング解析部３０、及び上限値設定部４０の動作を統轄する部分である。
【００６７】
上記構成を有する設計支援装置を用いて、半導体集積回路の設計が行われる。特に、本実施形態では、レイアウト設計に際してクロストークノイズの上限値を設定する。
【００６８】
ここで、こうした設計支援装置を用いて行われる本実施形態にかかるクロストークノイズの上限値の設定方法について説明する。
図２に、本実施形態におけるクロストークノイズの上限値の設定手順を示す。同図２に示すように、この一連の手順においては、論理合成部２０にて回路設計が行われた集積回路に関するデータ（回路図情報）が、まずステップ１００にて自動配置部２２に入力される。これに対し、自動配置部２２では、この入力されたデータに対応する集積回路の自動配置が行われる（ステップ１１０）。
【００６９】
こうして配置された集積回路に対して仮配線を行うための条件として、クロストークノイズの上限値の設定が行われる。すなわち、上述した要因（ａ）に当たるクロストークノイズそのものによって集積回路に誤動作が生じるおそれのあるところについて予め上限値を設定する（ステップ１２０）。具体的には、本実施形態では、例えばＤ／ＡコンバータやＡ／Ｄコンバータ等、アナログ素子を含んで構成されるアナログマクロへの入力配線や、フリップフロップ等の順序回路への入力配線、メモリへの入力配線について、予め上限値を設定する。
【００７０】
すなわち、Ｄ／ＡコンバータやＡ／Ｄコンバータ等、アナログ素子を含んで構成されるアナログマクロでは、その入力信号のわずかな変動によって誤動作が引き起こされる。また、フリップフロップ等の順序回路では、上述したグリッチによって保持されている信号が論理反転する等、その出力信号がノイズに応答して非可逆的に変化し、誤動作が引き起こされる。更に、高速メモリ等のメモリの入力配線にグリッチが生じると、これに起因して例えばメモリのクロックが反転したときのようにメモリの動作が切り替えられる等、メモリの動作が非可逆的に変化し、誤動作が生じる。
【００７１】
このように、アナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線については、配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるようになる。そこで、本実施形態では、これらについてはグリッチに起因する誤動作を生じないような上限値を予め各別に設定しておく。なお、これら各上限値については、上記上限値設定部４０が備える構成としてもよく、上記入力部５０から入力される構成としてもよい。
【００７２】
次に、上記上限値の設定されなかった部分について、クロストークノイズの上限値を仮に設定する（ステップ１３０）。この上限値の仮設定については、これまでの半導体集積回路の設計時等に得た経験値等に基づき行うことが望ましい。なお、これら各上限値についても、上記上限値設定部４０が備える構成としてもよく、上記入力部５０から入力される構成としてもよい。
【００７３】
図３に、こうした各上限値の設定及び仮設定について例示する。同図３では、アナログマクロＡＮＡの入力配線についてはノイズ上限値を「ａ％」に、また、順序回路としてのフリップフロップＦＦの入力配線についてはノイズ上限値を「ｂ％」に、それ以外の配線についてはノイズ上限値を「ｃ％」にそれぞれ設定されている。ここで、「ｃ」は、「ａ」以上であり且つ「ｂ」以上とする。なお、上記「ｃ」は、同様に、メモリの入力配線に対するノイズ上限値以上の値とする。
【００７４】
このように、ノイズ上限値の設定及び仮設定がなされた後、これに基づいて自動配線部２４によって仮配線が行われる（ステップ１４０）。この自動配線部２４による仮配線は、配線可能な領域を予め設定するグリッドを用いて行う。本実施形態では、半導体集積回路を多層配線構造にて形成する場合を想定しているため、図４（ａ）に破線にて例示するように、平行に走る配線可能領域であるグリッドが各層毎に互いに直行するように設定されている。こうしたグリッドを用いることで、自動配線部２４では、図４（ｂ）に例示するように、配線を行うことができる（図中、実線部が配線）。
【００７５】
なお、この仮配線は、未結線箇所や、複数の配線が同一のグリッド上に形成されるショートが、必ずしも全てなくなるようなものでなくてもよい。例えば配線同士がショートすることを許容したり、未結線箇所を許容したりするようにするなら、ノイズの上限値の設定にかかるこの一連の処理を迅速に行うことができる。
【００７６】
そして、この仮配線の終了した半導体集積回路について、タイミング解析部３０では、隣接する配線間のカップリング容量や配線及び基板間のカップリング容量、更には配線抵抗を抽出する（ステップ１５０）。ここでは、自動配置部２２及び自動配線部２４によってレイアウトの行われた半導体集積回路のデータに加えて、上記プロセスパラメータ１６の有するデータを用いて上記カップリング容量及び配線抵抗の抽出を行う。なお、このプロセスパラメータ１６の有する情報については、例えば設計対象となる半導体集積回路毎に、デザインルールや、配線の材質等が入力部５０を介して指定されることで特定の情報が選択されて用いられるようにすればよい。
【００７７】
こうしてカップリング容量や配線抵抗の抽出がなされると、タイミング解析部３０では、まずクロストークノイズを考慮しないでタイミング解析を行う（ステップ１６０）。これは、レイアウト設計の終了した上記半導体集積回路が、回路設計や回路の配置段階で既に所望とする動作周波数を得ることが困難なものとなっているか否かを判定するためのものである。この要因として例えば、回路設計そのものに問題がある場合に加え、回路間の距離が過剰に離間されて配置されることなどによる。
【００７８】
そして、クロストークノイズを加味せずに行われるタイミング解析に基づき、当該集積回路の動作周波数と所望とする動作周波数との差が許容範囲を超える場合には、半導体集積回路の回路配置工程からやり直しが行われる。なお、これに代えて、図２に破線で示すように、回路設計からやり直しを行うようにしてもよい。このタイミング解析は、例えば、設計対象となる半導体集積回路内の各順序回路間の信号の遷移時間を算出し、この遷移時間が上記許容範囲に対応する所定の期間内に収まるか否かを判断するなどして行うことができる。
【００７９】
ちなみに、このタイミング解析は、例えば図５に例示するように対象となる配線に等価容量Ｃeffを設定して行えばよい。すなわち、図５に模式的に示すように、対象となる配線及び基板間のカップリング容量をＣ0、上記対象となる配線及びこれに隣接する配線間のカップリング容量をＣmとすると、対象となる配線の等価容量Ｃeffは、対象となる配線の電位遷移のみを考慮すればよいことから、Ｃ0＋Ｃmとなる。
【００８０】
そして、このクロストークノイズを加味せずに行われるタイミング解析に基づき、当該集積回路の動作周波数と所望とする動作周波数との差が許容範囲内にあると判断されると、タイミング解析部３０では、クロストークノイズを考慮したタイミング解析を行う（ステップ１７０）。このタイミング解析も、基本的には、設計対象となる半導体集積回路内の各順序回路間の信号の遷移時間を算出し、この遷移時間が上記許容範囲に対応する所定の期間内に収まるか否かを判断するなどして行うことができる。以下、これについて更に詳述する。
【００８１】
このタイミング解析は、基本的には隣接する配線の一方と他方とでの電位遷移について、それらが互いに同一方向であるときと反対方向にあるときとの双方にて算出される遅延変動量に基づいて行う。すなわち、隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が短くなる。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が長くなる。そこで、隣接する配線の一方と他方とでの様々な電位遷移によって生じる遅延変動を反映させるために、上記双方にて算出される遅延変動量に基づいてタイミング解析を行うようにする。
【００８２】
具体的には、隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、図６（ａ）に模式的に示すようにして対象となる配線の等価容量ＣeffをＣ0とすることでタイミング解析を行う。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、図６（ｂ）に模式的に示すようにして対象となる配線の等価容量ＣeffをＣ0＋２Ｃmとすることでタイミング解析を行う。
【００８３】
なお、上述したように仮配線時には、配線同士のショートを許容する設定とすることもある。この場合、ショートしている配線同士の配線間隔を、自動配線部２４の配線において用いられる最小の配線間隔（最小グリッド幅）であると仮定して、先の図５や図６に示したカップリング容量Ｃmの設定を行うなどすればよい。
【００８４】
そして、隣接する配線の一方と他方とでの電位遷移が互いに同一方向及び逆方向の双方について、こうして設定された等価容量を用いることで、図７に示すように、対象となる配線の一端から入力される信号が他端に到達するまでの経過時間を算出する。この図７では、隣接する配線の一方と他方とでの電位遷移が互いに同一方向のときの経過時間をＴｍｉｎで、また、隣接する配線の一方と他方とでの電位遷移が互いに逆方向のときの経過時間をＴｍａｘで、それぞれ示してある。そして、クロストークノイズに起因する遅延変動量を考慮した場合の上記経過時間は、これら経過時間Ｔｍａｘ及び経過時間Ｔｍｉｎ間にあるとして動作周波数を算出することができる。
【００８５】
更に、本実施形態では、互いに同一方向であるときと反対方向にあるときとの双方にて遅延変動量を算出する際、隣接する配線間での電位遷移のタイミングの重複度合いを考慮する。これは、実際の半導体集積回路においては、隣接する配線の一方と他方とでの電位が互いに同一方向又は反対方向に同時期に変化するとは限らないためである。
【００８６】
図８に、本実施形態における電位遷移のタイミングの重複度合いの考慮の仕方について例示する。この図８では、隣接する配線の一方と他方とでの電位遷移が互いに同一方向のときを例示してある。図８（ａ）示されるように、配線１には、フリップフロップＦＦ１〜ＦＦ３の出力信号が入力される。また、この図８（ａ）に示されるように、配線２には、フリップフロップＦＦ４〜ＦＦ６の出力信号が入力される。
【００８７】
一方、図８（ｂ）には、各フリップフロップＦＦ１〜ＦＦ６から出力される立ち上がり信号が配線１又は配線２に入力されるタイミングを示す。
ここで、フリップフロップＦＦ１〜ＦＦ３から出力される立ち上がり信号の配線２への入力は、同フリップフロップＦＦ１〜ＦＦ３からの信号の出力タイミングを基準とすると、次の期間に行われるようになる。すなわち、これら各フリップフロップＦＦ１〜ＦＦ３からの立ち上がり信号が配線２に入力される時間のうち、最小値と最大値との間の期間に行われる。
【００８８】
これに対し、フリップフロップＦＦ４〜ＦＦ６から出力される立ち上がり信号の配線１への入力は、同フリップフロップＦＦ４〜ＦＦ６からの信号の出力タイミングを基準とすると、次の期間に行われるようになる。すなわち、これら各フリップフロップＦＦ４〜ＦＦ６からの立ち上がり信号が配線１に入力される時間のうち、最小値と最大値との間の期間に行われる。
【００８９】
図７（ｂ）に、これらフリップフロップＦＦ１〜ＦＦ３から出力される立ち上がり信号が配線２へ入力されるまでの期間と、フリップフロップＦＦ４〜ＦＦ６から出力される立ち上がり信号が配線１へ入力されるまでの期間との重複期間を示す。この電位遷移タイミングの重複期間が配線１及び配線２にある場合には、クロストークノイズを考慮したタイミング解析を行う。
【００９０】
こうしてクロストークノイズを考慮して行われるタイミング解析の結果、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲にない場合には、上記上限値設定部４０では、上記仮設定したノイズ上限値を削減する（ステップ１８０）。すなわち、ここでは上記ステップ１３０で仮設定したノイズ上限値では、クロストークノイズに起因する遅延変動によって所望の動作周波数を満たすことができないとして、仮設定したノイズ上限値を低減する。
【００９１】
そして、この再度仮設定されたノイズ上限値に基づいて、上記ステップ１４０と同様にして仮配線を行う（ステップ１９０）。そして、この仮配線の終了された半導体集積回路について、上記ステップ２００同様、カップリング容量及び配線抵抗を抽出する（ステップ２００）。そして、これら抽出されたカップリング容量や配線抵抗を用いて、再度クロストークノイズを考慮したタイミング解析を行う（ステップ１７０）。これらステップ１７０〜ステップ２００までの処理は、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲に収まるまで繰り返される。
【００９２】
そして、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲に収まると、上記上限値設定部４０では、このときに用いられた仮のノイズ上限値を、ノイズの上限値として確定する（ステップ２１０）。
【００９３】
このようにして確定されたノイズ上限値は、所望とする動作周波数を満たしつつも極力大きな値に設定することができる。よって、ノイズ上限値を過剰に小さな値とした場合に生じるクロストークノイズの過剰な対策を回避することができる。すなわち、このノイズ上限値は、動作周波数の相当値として先の図７に示す経過時間（遷移時間）を用いた場合、
・図９（ａ）に示す、隣接する配線の一方と他方とで互いに逆方向に電位が遷移する場合のノイズ上限値と遷移時間（遅延変動量が最大となる遷移時間）の関係（概略図）において、同遷移時間が許容範囲内となる極力大きなノイズ上限値
・図９（ｂ）に示す、隣接する配線の一方と他方とで互いに同一方向に電位が遷移する場合のノイズ上限値と遷移時間（遅延変動量が最小となる遷移時間）の関係（概略図）において、同遷移時間が許容範囲内となる極力大きなノイズ上限値の２つのノイズ上限値のうちの小さい方の値とされる。
【００９４】
以上説明した本実施形態によれば、以下の効果が得られるようになる。
（１）配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるアナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線について、グリッチに起因する誤動作を回避する上限値を各別に予め設定した。これにより、グリッチに起因する誤動作を的確に回避することができるようになる。
【００９５】
（２）上記予め上限値が設定される箇所以外の箇所について、上限値を仮設定しこれに基づいて仮配線を行った。そして、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないと判断された場合に仮設定された上限値を段階的に低減した。このため、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【００９６】
（３）クロストークノイズがない場合からの信号遷移時間の変動量（遅延変動量）を、隣接する配線の一方と他方とでの電位遷移についてそれらが互いに同一方向であるときと反対方向であるときとの双方について算出した。このため、隣接する配線の一方と他方とでの様々な電位遷移によって生じる遅延変動を反映して動作周波数の解析を行うことができるようになる。
【００９７】
（４）レイアウト設計対象の半導体集積回路において、隣接する配線間での電位遷移のタイミングの重複度合いを考慮して遅延変動量を算出した。このため、上記半導体集積回路内で実際に生じ得る遅延変動量についてより正確に算出することができ、ひいては、同半導体集積回路についてより正確な動作周波数の解析を行うことができる。
【００９８】
（５）クロストークノイズを加味した動作周波数の解析に先立ち、クロストークノイズを加味しない動作周波数の解析に基づき、半導体集積回路の回路設計及び同回路の配置のいずれかの工程からやり直しを行った。これにより、回路設計や回路の配置に起因して所望とする動作周波数を得ることが困難な場合には、この要因を解消した後、クロストークノイズについての上限値が設定されることとなる。したがって、所望の動作周波数を満たすためのクロストークノイズの上限値をより適切に設定することができる。
【００９９】
（６）配線形成可能な領域として予め定められたグリッドを用いて配線を行った。これにより、自動配線ツールによる配線処理にかかる演算負荷を低減することができるようになる。
【０１００】
（第２の実施形態）
以下、本発明にかかる集積回路の設計方法及び設計支援装置の第２の実施形態について、上記第１の実施形態との相違点を中心として図面を参照しつつ説明する。
【０１０１】
上記第１の実施形態では、レイアウト設計に際し、仮配線を行いつつ配線間で発生するクロストークノイズの上限値を設定した。勿論、この仮配線について、未結線やショートを許容しないようにするなら、先の図２のステップ２１０でノイズ上限値が確定した際には、このノイズ上限値を満たすような配線が完了したことになる。ただし、このように未結線やショートを許容しないかたちで全ての配線を行いつつノイズ上限値を設定するには膨大な時間がかかる。
【０１０２】
そこで、本実施形態では、未結線やショートを許容しつつ先の図２の一連の処理によってノイズ上限値を確定した後、これと最小のグリッド幅を配線間隔とすることを条件として自動配線を行う。そして、これによって配線が完了しないと判断される毎に用いる配線間隔を段階的に拡大するようにする。このように用いる配線間隔を段階的に拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を自動的に行うことができるようになる。
【０１０３】
図１０は、こうして自動配線を行う本実施形態にかかる半導体集積回路の設計支援装置の構成を示すブロック図である。この支援装置もスタンダードセル方式の設計を支援する装置として構成されている。なお、この設計支援装置において、先の図１に示した部材と同一の部材については同一の符号を付し、これについての説明は割愛することとする。
【０１０４】
図１０に示すように、この設計支援装置は、先の図２の一連の処理によって確定されたノイズ上限値や、先の図２のステップ１２０によって設定されたノイズ上限値が適宜の記憶装置に記憶されている（図中、クロストークノイズ上限値１８）。また、自動配線部２４によって設計対象となる半導体集積回路に配線を行う際に、配線間隔として許容される値を設定するグリッド幅設定部８０を備えている。このグリッド幅設定部８０は、ハードディスク装置、あるいはＲＯＭやＲＡＭ等の半導体メモリに設定実行手順に関するプログラムが記録された記憶装置によって構成されている。そして、制御部７０ｂでは、フロア表示部６０をはじめ、設計仕様格納部１０、ライブラリ１２、レイアウト１４、プロセスパラメータ１６、論理合成部２０、自動配置部２２、自動配線部２４、タイミング解析部３０に加えて、クロストークノイズ上限値１８、グリッド幅設定部８０の動作を統轄する。
【０１０５】
ここで、こうした設計支援装置を用いて行われる本実施形態にかかる自動配線手順について、図１１に基づいて説明する。図１１は、上記自動配線手順を示すフローチャートである。
【０１０６】
この一連の処理においては、自動配置部２２にて配置の終了した半導体集積回路についての情報を自動配線部２４に入力する（ステップ３００）。また、自動配線部２４には、先の図２に示した処理によって確定したノイズ上限値や、先の図２のステップ１２０によって設定されたノイズ上限値が、クロストークノイズ上限値１８から取り込まれる（ステップ３１０）。更に、自動配線部２４は、配線間隔として許容される値の上限値がグリッド幅設定部８０によって指定される（ステップ３２０）。このグリッド幅設定部８０では、ステップ３２０において、最小のグリッド幅を、配線間隔として許容される値の上限値として指定する。
【０１０７】
これに対し、自動配線部２４では、ステップ３１０において取り込まれたノイズ上限値と、ステップ３２０にて指定された配線間隔を条件として概略配線を行う（ステップ３３０）。この概略配線は、指定された配線間隔とノイズ上限値とに基づいて結線ポイント間を最短で結線する簡易的な配線処理である。この概略配線では、複数の配線に同一のグリッドが重複して用いられるショートや、ノイズ上限値を満たさない等のために配線しない未結線箇所を許容する。なお、上記自動配線部２４では、必ずしもこの概略配線という特別の処理機能を有していなくてもよい。この場合であっても、自動配線部２４がトライアンドエラーを繰り返しつつ配線を行う演算装置であるなら、トライアンドエラーの初期の段階を概略配線と定義して、例えば所定時間の経過をもって概略配線の終了とすればよい。
【０１０８】
そして、この概略配線が終了すると、上記グリッド幅設定部８０では、この概略配線の結果、ショートや未結線等の違反箇所がカウントされ、同違反箇所が所定の閾値以内であるか否かを判断する（ステップ３４０）。
【０１０９】
すなわち、これらステップ３３０及びステップ３４０の処理では、指定された配線間隔では配線混雑度が大きいなどの理由によって配線を完了することが困難であるか否かを判断する。したがって、上記所定の閾値は、配線を完了することが困難であると判断できる値に設定される。そして、ステップ３４０において、違反箇所が所定の閾値以内にないと判断されると、グリッド幅設定部８０では許容される配線間隔の上限値を拡大して、その旨自動配線部２４に通知する（ステップ３５０）。これらステップ３３０〜ステップ３５０にかかる処理は、ステップ３３０の概略配線の結果、違反箇所が所定の閾値以内となるまで繰り返される。
【０１１０】
そして、ステップ３４０において、違反箇所が所定の閾値以内となったと判断されると、ステップ３１０において取り込まれたノイズ上限値と、ステップ３４０にて違反箇所が所定の閾値以内となったと判断された時点の許容される配線間隔の上限値を条件として配線を行う（ステップ３６０）。このステップ３６０における配線にかかる処理は、自動配線部２４における処理としては、必ずしも上記概略配線にかかる処理と異なる演算プログラムを用いなくてもよい。要は、概略配線におけるトライアンドエラーにかかる演算処理量がこのステップ３６０の配線のトライアンドエラーにかかる演算処理量よりも小さければよい。
【０１１１】
そして、ステップ３６０の配線後、上記グリッド幅設定部８０では、ステップ３７０において、未結線やショートがなくなったか否かを判断する（ステップ３７０）。そして、未結線やショートがあると判断されると、上記ステップ３５０に戻る。これらステップ３３０〜ステップ３７０にかかる処理は、未結線やショートがなくなるまで繰り返される。
【０１１２】
そして、ステップ３７０において未結線やショートがなくなったと判断されると、上記タイミング解析部３０にて最終的なタイミング解析が行われる（ステップ３８０）。そして、こうして配線の終了された半導体集積回路の動作周波数と所望とする動作周波数との差が許容範囲内にない等、問題箇所が残っていれば、バッファやリピータの挿入や、セルの局所的な配置変更等、局所変更を行う（ステップ３９０）。こうしてステップ３８０にて最終的なタイミング解析によって問題箇所がないと判断されるとこの一連の処理を終了する。
【０１１３】
以上説明した本実施形態によれば、先の第１の実施形態の上記（１）〜（６）の効果に加えて、更に以下の効果が得られるようになる。
（７）先の図２の処理によって確定された上限値と予め設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大した。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【０１１４】
（８）ステップ３６０の配線に先立ち、これよりも演算処理量の小さな仮の配線を行う概略配線工程をステップ３３０として備えた。そして、この概略配線工程によって前記配線間隔及び上限値を用いた配線の完了が困難であると判断されると配線間隔を段階的に拡大させた。このように配線の完了が困難であると判断される場合に配線間隔を段階的に拡大し、配線の完了が困難でないと判断された後にステップ３６０に移行するために、このステップ３６０にかかる処理時間を低減することができる。
【０１１５】
なお、上記各実施形態は、以下のように変更して実施してもよい。
・図２のステップ１６０については、必ずしもこの処理を行わなくても、ノイズ上限値の自動抽出を行うことはできる。
【０１１６】
・ステップ１２０において設定される上限値によって、ステップ１７０におけるタイミング解析で不都合が生じたなら、これを更に低減するなどしてもよい。・ステップ１３０におけるノイズ上限値の仮設定に関しても、半導体集積回路を複数の箇所に分類し、これら各箇所毎にノイズ上限値を仮設定するようにしてもよい。これにより、ステップ２１０において確定されるノイズ上限値を、回路の正常な動作を可能とする範囲でいっそう大きな値とすることができる。
【０１１７】
・先の図２のステップ１７０及びステップ１８０において、実際の動作周波数と所望の動作周波数との差が許容範囲にあるときに、仮設定されたノイズ上限値を増加させるようにしてもよい。この場合、上記許容範囲にないと判断されたときに、その直前に用いたノイズ上限値を上限値として確定する。この際、ノイズ上限値を小さめの値に仮設定しておくことで、一連の処理によって、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【０１１８】
・隣接する配線の一方と他方とでの電位遷移のタイミングについての重複度合いの考慮の仕方は、図７（ｂ）に例示したものに限らない。特に、図７（ｂ）において、たとえ配線１及び配線２間に電位遷移タイミングの重複期間があったとしても、配線１及び配線２での電位が遷移するタイミングが重ならず、クロストークノイズの影響が顕著とならないことがある。したがって、例えば、各フリップフロップＦＦ１〜ＦＦ３の出力信号の配線２への各入力タイミングと、各フリップフロップＦＦ４〜ＦＦ６の出力信号の配線１への各入力タイミングとについて、個別に重複するか否かを考慮するなどしてもよい。
【０１１９】
・自動配線部２４は、必ずしもグリッドを用いて配線を行うものでなくてもよい。
・自動配線部２４、タイミング解析部３０、クロストークノイズ上限値設定部４０、グリッド幅設定部８０を、ハードウェアやミドルウェアにて構成してもよい。
【０１２０】
・半導体集積回路の設計手法として、例えばゲートアレイ等、スタンダードセル方式以外の方式を用いてもよい。
【図面の簡単な説明】
【図１】本発明にかかる集積回路の設計支援装置をスタンダードセル方式の設計支援装置に適用した第１の実施形態について、その全体構成を示すブロック図。
【図２】同実施形態におけるクロストークノイズの上限値の設定手順を示すフローチャート。
【図３】同実施形態におけるノイズ上限値の設定態様を例示する回路図。
【図４】同実施形態におけるグリッドを用いた自動配線を例示する図。
【図５】同実施形態においてクロストークノイズを考慮しないタイミング解析を説明する図。
【図６】同実施形態においてクロストークノイズを考慮したタイミング解析を説明する図。
【図７】同実施形態においてクロストークノイズを考慮した配線の信号遷移を例示する図。
【図８】同実施形態において隣接する配線間での信号の遷移タイミングの重複度合いの考慮の仕方を説明する図。
【図９】同実施形態においてクロストークノイズの上限値の設定態様を例示する図。
【図１０】本発明にかかる集積回路の設計支援装置をスタンダードセル方式の設計支援装置に適用した第２の実施形態について、その全体構成を示すブロック図。
【図１１】同実施形態における自動配線手順を示すフローチャート。
【符号の説明】
１０…設計仕様格納部、１２…ライブラリ、１４…レイアウト、１６…プロセスパラメータ、２０…論理合成部、２２…自動配置部、２４…自動配線部、３０…タイミング解析部、４０…クロストークノイズ上限値設定部、５０…入力部、６０…フロア表示部、７０、７０ｂ…制御部、８０…グリッド幅設定部。
【図１】
0004059668.tif 000002
【図２】
0004059668.tif 000003
【図３】
0004059668.tif 000004
【図４】
0004059668.tif 000005
【図５】
0004059668.tif 000006
【図６】
0004059668.tif 000007
【図７】
0004059668.tif 000008
【図８】
0004059668.tif 000009
【図９】
0004059668.tif 000010
【図１０】
0004059668.tif 000011
【図１１】
0004059668.tif 000012