JP4059668B2 - 集積回路の設計方法及び集積回路の設計支援装置 - Google Patents

集積回路の設計方法及び集積回路の設計支援装置 Download PDF

Info

Publication number
JP4059668B2
JP4059668B2 JP2001383993A JP2001383993A JP4059668B2 JP 4059668 B2 JP4059668 B2 JP 4059668B2 JP 2001383993 A JP2001383993 A JP 2001383993A JP 2001383993 A JP2001383993 A JP 2001383993A JP 4059668 B2 JP4059668 B2 JP 4059668B2
Authority
JP
Japan
Prior art keywords
wiring
upper limit
integrated circuit
limit value
crosstalk noise
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001383993A
Other languages
English (en)
Other versions
JP2003186934A (ja
Inventor
篤 坂井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2001383993A priority Critical patent/JP4059668B2/ja
Publication of JP2003186934A publication Critical patent/JP2003186934A/ja
Application granted granted Critical
Publication of JP4059668B2 publication Critical patent/JP4059668B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、集積回路の設計方法及び同設計を支援する集積回路の設計支援装置に関する。
【0002】
【従来の技術】
近年、集積回路、特に半導体集積回路にあっては、その微細加工技術の進展により、半導体集積回路内の配線幅や隣接する配線間の間隔は縮小される傾向にある。これに対し、同半導体集積回路内の配線の膜厚については、配線抵抗の増加抑制やエレクトロマイグレーション等に起因する断線の防止を図る必要があることから、上記配線幅や隣接する配線間の間隔ほどには縮小が図られない。このため、集積回路の微細化につれて、絶縁層を介して配線と基板との間に形成される静電容量(カップリング容量)よりも、絶縁物を介して隣接する配線間に形成される静電容量(カップリング容量)の影響が大きなものとなりつつある。
【0003】
この隣接配線間に形成される静電容量の影響としては、一方の配線の電位変化が他方の配線の電位を変化させるクロストークノイズがある。そしてこのクロストークノイズの影響が大きくなると半導体集積回路が誤動作を起こす可能性が増大する。すなわち、グリッチ(ひげ)と呼ばれるノイズの発生によって順序回路の出力論理信号が論理反転を引き起こしたり、信号伝播速度の変化である遅延変動が生じることに起因して実際の動作速度が所望の動作速度からずれたものとなったりする。
【0004】
ところで、このクロストークノイズは、狭い配線間隔で長距離に渡って隣接している同層配線のうち、それを駆動するドライバの駆動能力が小さかったり、あるいは電荷保持能力が弱い配線について特に生じやすい。よって、半導体集積回路の配置配線を実施するときには、問題箇所を抽出して対策することが不可欠となる。
【0005】
そこで従来は、セルの配置及び配線を所定間隔のグリッドを用いて行う汎用の自動配置配線ツールにおいても、こうしたクロストークノイズの対策として、
(1)設計者側でクロストークノイズの上限値を設定する。
(2)カップリング容量及び配線の抵抗を自動抽出する。
(3)全配線についてクロストークノイズを算出する。
(4)上記算出されたノイズが上記設定された上限値を超える場合に違反と判定する。
(5)違反と判定された箇所の両側の配線をグリッド所定間隔の2倍若しくはそれ以上に引き離して配線する。
といった手順による設計手法がよく用いられている。
【0006】
ちなみに、クロストークノイズ対策としてはこの他にも、上記(5)の工程に代えて、
(6)配線の電位保持能力を上げるために、ドライバの駆動能力を上げたり中継バッファを挿入したりする(例えば特開平10−27194号公報参照)。
あるいは
(7)クロストークノイズによる遅延変動を相殺できるように、中継インバータを挿入して、一方の配線の電位変化と他方の配線の電位変化とが同相及び逆相を繰り返すようにする(特開平2001−148426号公報参照)。
といった手法が用いられることもある。
【0007】
【発明が解決しようとする課題】
ところで、上記自動配置配線ツールを用いた設計手法における上記(1)の工程においては、半導体集積回路に生じる誤動作の原因について詳しく解析されることなく、クロストークノイズの上限値が一律に設定されるのが常であった。すなわち、
(a)クロストークノイズに起因するグリッチによって順序回路の出力信号が論理反転してしまう等、クロストークノイズそのものによる集積回路の誤動作。
(b)クロストークノイズに起因した配線の信号遷移時間の変動(遅延変動)によって、集積回路の実際の動作速度が所望の動作速度からずれることによる誤動作。
といった2つのいずれの要因に起因する誤動作をも回避し得るようにノイズの上限値が一律に設定されていた。
【0008】
しかし、このようにノイズの上限値が一律に設定されてクロストークノイズ対策が施されると、対象となる集積回路によっては、必ずしも適切な対策が施されないことがある。すなわち、例えばノイズの影響を過大に評価してしまうことがある。そしてこの場合には、過剰にバッファを挿入したり、配線同士の間隔を過剰に大きくしたりすることによる半導体集積回路としての回路面積の増大等も避けられないものとなる。
【0009】
一方、こうしたノイズの影響についての過大な評価を回避するためには、上記ノイズの上限値の設定を集積回路を構成する各箇所毎に個別に行うことも考えられる。そして実際に、このようなかたちで上記設計が行われることもある。しかしこれでは、ノイズ上限値の設定作業に膨大な時間を要するのみならず、設計担当者自身の相当の熟練を必要ともする。
【0010】
また、たとえ上記ノイズ上限値の設定が一律になされる場合であれ、該設定された上限値に基づく上記(6)〜(7)のクロストークノイズ対策は通常、熟練者によって行われている。ただし、たとえ熟練者とはいえ、違反と判定される箇所毎に適切な対策を施すことは容易ではなく、そのために費やす時間も膨大なものとなっている。特に、セル配置や配線経路の予想できるバス配線やセミカスタムの度合いの大きなレイアウト設計手法以外では、たとえ熟練者といえども、上記違反箇所に対して適切な対処を施すことは難しい。
【0011】
本発明はこうした実情に鑑みてなされたものであり、その目的は、各種集積回路の設計に際して、より適切なクロストークノイズ対策をより容易に行うことのできる集積回路の設計方法及び同設計を支援する設計支援装置を提供することにある。
【0012】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項1記載の発明は、集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、a.前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及びb.配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及びc.前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減して前記b及び前記cの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定することをその要旨とする。
【0013】
上記設計方法では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することが可能となり、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【0014】
更に、上記設計方法によれば、工程a〜cを経た後、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないと判断される箇所についてその上限値を低減して前記b及びcの工程が繰り返される。このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の変更がなされつつ工程b及びcが繰り返されることで、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【0015】
なお、工程aにおいて、クロストークノイズの上限値を定める際には、その上限値を大きめな値に、換言すればクロストークノイズを許容する側の値に定めることが望ましい。これにより、上限値を低減しつつ工程b及びcを繰り返すことで、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【0016】
請求項2記載の発明は、集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、a.前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及びb.配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及びc.前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値のうちの少なくとも1つを増加して前記b及び前記cの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定することをその要旨とする。
【0017】
上記設計方法では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することが可能となり、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【0018】
更に、上記設計方法によれば、工程a〜cを経た後、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあると判断された場合に、定められた上限値のうちの少なくとも1つを増大させて前記b及びcの工程が繰り返される。そして、各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定する。このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値が増加されつつ工程b及びcが繰り返されることで、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【0019】
なお、工程aにおいて、クロストークノイズの上限値を定める際には、その上限値を小さめの値に、換言すればクロストークノイズを許容しない側の値に定めることが望ましい。これにより、上限値を変更しつつ工程b及びcを繰り返すことで、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【0020】
請求項3記載の発明は、前記上限値は、アナログ素子を含む回路であるアナログマクロへの入力配線、及び順序回路への入力配線、及びメモリへの入力配線の少なくとも1つに対して、当該集積回路の他の部分とは別に定められることをその要旨とする。
【0021】
例えばD/AコンバータやA/Dコンバータ等、アナログ素子を含んで構成されるアナログマクロでは、その入力信号のわずかな変動によって誤動作が引き起こされる。また、フリップフロップ等の順序回路では、上述したグリッチによって論理反転する等、その出力信号がノイズに応答して非可逆的に変化し、誤動作が引き起こされる。更に、高速メモリ等のメモリの入力配線にグリッチが生じると、これに起因して例えばメモリのクロックが反転したときのようにメモリの動作が切り替えられる等、メモリの動作が非可逆的に変化し、誤動作が生じる。
【0022】
このように、アナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線については、配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるようになる。
【0023】
この点、上記設計方法によれば、これらの少なくとも1つに対して集積回路の他の部分と別に上限値を設定することで、これらの少なくとも1つと、集積回路の他の部分とでクロストークノイズの上限値を異ならしめることが可能となる。したがって、自動抽出されるクロストークノイズの上限値をより適切な値とすることができるようになる。
【0024】
なお、アナログマクロへの入力配線や、順序回路への入力配線、メモリへのクロック入力配線については、通常、グリッチによる誤動作を起こさないノイズ上限値が規定されている。したがって、請求項1又は2の上記aの工程において、これら規定されているノイズ上限値を用いるようにしてもよい。この際、この組み合わせ論理回路の上限値は、アナログマクロへの入力配線や、順序回路への入力配線、メモリへのクロック入力配線について規定されている上記上限値よりも大きな値に定めるのが望ましい。これは、組み合わせ論理回路部分の入力配線にグリッチが生じた場合、その出力信号は、ノイズに対して可逆的な変化をするため、すなわち、上記グリッチに応じたノイズを含むのみであるため、この組み合わせ論理回路部分に対しては、遅延変動量のみを加味すればよいためである。
【0025】
請求項4記載の発明は、請求項1〜3のいずれかに記載の発明において、前記クロストークノイズを加味して行われる動作周波数の解析は、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出される遅延変動量に基づいて行われることをその要旨とする。
【0026】
隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が短くなる。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が長くなる。
【0027】
ここで、上記設計方法では、クロストークノイズがない場合からの信号遷移時間の変動量(遅延変動量)を、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出する。このため、隣接する配線の一方と他方との様々な電位遷移によって生じる遅延変動を反映して動作周波数の解析を行うことができるようになる。
【0028】
請求項5記載の発明は、請求項4記載の発明において、前記遅延変動量は、前記隣接する配線間での電位遷移のタイミングの重複度合いを考慮して算出されることをその要旨とする。
【0029】
実際の集積回路においては、隣接する配線の一方と他方との電位が互いに同一方向又は反対方向に同時期に遷移するとは限らない。
この点、上記設計方法では、レイアウト設計対象の集積回路において、隣接する配線間での電位遷移のタイミングの重複度合いを考慮して遅延変動量が算出される。このため、上記集積回路内で実際に生じ得る遅延変動量についてより正確に算出することができ、ひいては、同集積回路についてより正確な動作周波数の解析を行うことができる。
【0030】
請求項6記載の発明は、請求項1〜5のいずれかに記載の発明において、前記クロストークノイズを加味して行われる動作周波数の解析に先立ち、同クロストークノイズを加味しない動作周波数の解析を行い、この解析の結果、解析された動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないときには、前記aの工程の上流工程である当該集積回路の回路設計及び同回路の配置のいずれかの工程から前記各工程を再実行することをその要旨とする。
【0031】
集積回路が所望の動作周波数を満たせない要因としては、クロストークノイズに限らず、回路設計そのものに問題がある場合に加え、回路間の距離が過剰に離間されて配置されることによるものなどがある。
【0032】
ここで、上記設計方法では、クロストークノイズを加味しない動作周波数の解析に基づき、集積回路の回路設計及び同回路の配置のいずれかの工程からやり直しが行われる。これにより、回路設計や回路の配置に起因して所望とする動作周波数を得ることが困難な場合には、この要因を解消した後、クロストークノイズについての上限値が設定されることとなる。したがって、所望の動作周波数を満たすためのクロストークノイズの上限値をより適切に設定することができる。
【0033】
請求項7記載の発明は、請求項1〜6のいずれかに記載の発明において、前記配置の終了した集積回路について、予め設定された配線間隔及び前記確定されたクロストークノイズの上限値を用いて自動配線ツールにて配線を行う工程と、前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを更に備え、前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することをその要旨とする。
【0034】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【0035】
この点、上記設計方法では、請求項1〜6のいずれかに記載の発明によって設定された上限値と予め設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大するようにする。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【0036】
なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線間隔の最小値に設定しておくことが望ましい。
請求項8記載の発明は、配置の終了した集積回路に対し自動配線ツールを用いて配線を行うに、前記配線の終了した集積回路について、予め設定された配線間隔及びクロストークノイズの上限値を用いて自動配線ツールにて配線を行う配線工程と、前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを備え、前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することをその要旨とする。
【0037】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【0038】
この点、上記設計方法では、設定された上限値と設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大するようにする。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【0039】
なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線間隔の最小値に設定しておくことが望ましい。
請求項9記載の発明は、請求項7又は8記載の発明において、前記自動配線ツールによる配線工程に先立ち、この配線工程による自動配線よりも配線にかかる演算処理量の小さい仮の配線を行う概略配線工程と、この概略配線工程によっては前記配線間隔及び前記上限値を用いた自動配線の完了が困難であると判断されると前記配線間隔を段階的に拡大させる工程とを更に備えることをその要旨とする。
【0040】
与えられた条件下での自動配線ツールによる配線によっては、配線混雑度が大きくなるなどして、同ツールによる配線処理が長期化することがある。
この点、上記設計方法では、自動配線ツールにて配線を行う工程に先立ち、この工程における配線よりも配線にかかる演算処理量の小さな仮の配線を行う概略配線工程を備える。そして、この概略配線工程によって前記配線間隔及び上限値を用いた配線の完了が困難であると判断されると前記配線間隔を段階的に拡大させる。このように配線の完了が困難であると判断される場合に配線間隔を段階的に拡大することで、この後に行われる自動配線ツールによる配線にかかる処理時間を低減することができる。
【0041】
なお、この配線の完了が困難であるとの判断は、概略配線を行ったのち、未結線箇所等の違反箇所が所定数を超えるか否かによって行ってもよい。
なお、上記各請求項1〜9記載の発明は、請求項10記載の発明によるように、前記自動配線ツールは、配線形成可能な領域として予め定められたグリッドを用いて前記自動配線を行うようにしてもよい。これにより、自動配線ツールによる配線処理にかかる演算負荷を低減することができるようになる。
【0042】
請求項11記載の発明は、集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることをその要旨とする。
【0043】
上記構成では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することができ、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【0044】
また、上記構成では、自動配線ツールにて仮配線が行われた後、タイミング解析部によって、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かが判断される。そして、タイミング解析部で許容範囲にないと判断された箇所については、上限値設定部にて、この箇所の上限値を低減する。また、上記タイミング解析部にて前記許容範囲にあると判断された箇所については、上限値設定部にて、その上限値がクロストークノイズの上限値として確定される。
【0045】
このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の低減がなされつつ仮配線及びタイミング解析が繰り返されることで、集積回路の各箇所毎に適切な上限値が自動的に抽出されるようになる。
【0046】
なお、クロストークノイズの上限値を定める際には、その上限値を大きめの値に、換言すればクロストークノイズを許容する側の値に定めることが望ましい。請求項12記載の発明によれば、集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した前記集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値の少なくとも1つを増加させると共にその増加前の上限値を保持しておき、前記動作周波数の差が許容範囲にないと判断されるとき、前記保持した増加直前の値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることをその要旨とする。
【0047】
上記構成では、集積回路の予め分類された複数の箇所のそれぞれについてクロストークノイズの上限値が設定される。このため、集積回路が誤動作を起こす各別の要因毎に上記上限値を設定することができ、ひいては、これら個別の要因毎に適切なクロストークノイズ対策を施すことができるようになる。したがって、各種集積回路の設計に際し、より適切な上限値を設定することができるようになる。
【0048】
また、上記構成では、自動配線ツールにて仮配線が行われた後、タイミング解析部によって、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かが判断される。そして、タイミング解析部で許容範囲にないと判断された場合には、上限値設定部にて、上限値の少なくとも1つを増大する。また、上記タイミング解析部にて前記許容範囲にないと判断されたときには、上限値設定部にて、その直前に許容範囲にあると判断されたときに用いられた上限値がクロストークノイズの上限値として確定される。
【0049】
このため、定められたクロストークノイズの上限値が所望とする動作周波数にとって適切なものでない場合であれ、上限値の低減がなされつつ仮配線及びタイミング解析が繰り返されることで、集積回路の各箇所毎に適切な上限値が自動的に抽出されるようになる。
【0050】
なお、クロストークノイズの上限値を定める際には、その上限値を小さめの値に、換言すればクロストークノイズを許容しない側の値に定めることが望ましい。
【0051】
請求項13記載の発明は、配置の終了した集積回路に対する自動配線を支援する集積回路の設計支援装置であって、前記配置の終了した集積回路について、予め設定された配線間隔及びクロストークノイズの上限値を用いて自動配線を行う自動配線ツールと、前記予め設定された配線間隔による自動配線では前記自動配線ツールによる配線が完了しないと判断されるとき、前記設定された配線間隔を適宜に拡大する配線間隔設定手段とを備えることをその要旨とする。
【0052】
自動配線に際しては、配線間隔が狭い方が未結線箇所が残る可能性が減少する。この反面、配線間隔が狭いほどクロストークノイズが大きくなりやすく、同ノイズの上限値を超えやすい。
【0053】
この点、上記構成では、自動配線ツールにて集積回路について、設定された配線間隔及び予め設定されたクロストークノイズの上限値を用いて配線が行われ、配線間隔設定手段にて集積回路の配線が完了しないと判断される毎に、設定された配線間隔が拡大される。
【0054】
このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。なお、予め設定される配線間隔は、自動配線ツールによって行うことのできる配線の線幅の最小値に設定しておくことが望ましい。
【0055】
【発明の実施の形態】
(第1の実施形態)
以下、本発明にかかる集積回路の設計方法及び設計支援装置をスタンダードセル方式の半導体集積回路の設計方法及び設計支援装置に適用した第1の実施形態について、図面を参照しつつ説明する。
【0056】
図1は、本実施形態にかかる設計支援装置の構成を示すブロック図である。なお、この支援装置はスタンダードセル方式の設計を支援する装置として構成されている。
【0057】
はじめに、同支援装置を構成する各部の機能について説明する。
まず、設計仕様格納部10は、例えばハードウェア記述言語(HDL)で記述された半導体集積回路の機能及び構造に関する情報が格納される部分であり、ハードディスク装置等の記憶装置によって構成されている。
【0058】
また、ライブラリ12は、半導体集積回路を構成すべき各種機能セルのセル情報や、それら機能セルの遅延情報、セットアップ及びホールドタイムに関する制約情報等、それら機能セルの性能情報が格納される部分である。このライブラリ12も、ハードディスク装置等の記憶装置によって構成されている。なお、上記各種機能セルは、論理演算子(論理積、論理和、排他的論理和、排他的論理積、否定等)やフリップフロップ回路等又はそれらを用いて形成される回路である。
【0059】
一方、レイアウト14は、上記各機能セルの面積情報等、同機能セルのレイアウトに関する情報が格納される部分であり、これについてもハードディスク装置等の記憶装置によって構成されている。
【0060】
また、プロセスパラメータ16は、指定されたデザインルール(素子サイズや最小配線間隔等を規定するルール)に応じた素子特性や、材質毎の配線特性等に関する情報が格納される部分であり、これについてもハードディスク装置等の記憶装置によって構成されている。
【0061】
また、論理合成部20は、設計仕様格納部10に格納されている回路情報に基づいてゲートレベルの回路を生成する(回路設計)部分である。ここで、上記回路情報に基づくゲートレベルの回路の生成は、上記ライブラリ12に登録されている機能セルを用いて行なわれる。
【0062】
これに対し、自動配置部22及び自動配線部24は、生成した回路に対応してレイアウト設計を行う部分である。すなわち、自動配置部22は、生成された回路に対応し上記機能セルの自動配置を行う部分であり、自動配線部24は、それら配置された機能セル間の配線を行う部分である。これら上記機能セルの自動配置、及びそれら配置された機能セル間の配線は、上記回路設計に用いられた機能セルに対応する上記レイアウト14の有するレイアウトデータを用いて行なわれる。なお、上記自動配線部24は、ハードディスク装置、あるいはROMやRAM等の半導体メモリに配線実行手順に関するプログラムが記録された記憶装置によって構成されている。
【0063】
この自動配置部22及び自動配線部24で生成された回路のネットリストが次のタイミング解析部30に供給される。このネットリストは、階層構造を保持しており、各機能セルから構成される機能ブロック内のネットリストと機能ブロック間のネットリストとからなる。
【0064】
タイミング解析部30は、上記ネットリストに表される全ての論理回路の構造(ネットリスト情報)と各論理回路間の全ての接続情報(ファンアウト数)とを解析して、当該回路各部のタイミング解析を行う部分である。このタイミング解析に際しては、上記プロセスパラメータ16の有する情報も用いられる。このタイミング解析部30は、ハードディスク装置、あるいはROMやRAM等の半導体メモリに解析実行手順に関するプログラムが記録された記憶装置によって構成されている。
【0065】
また、クロストークノイズ上限値設定部(以下、上限値設定部)40は、上記タイミング解析部30の解析結果に基づいてクロストークノイズの上限値を設定する部分である。本実施形態では、この上限値を、一例として、対象となる半導体集積回路におけるディジタル信号の高電位側の電位に対するパーセンテージで定義する。この上限値設定部40も、ハードディスク装置、あるいはROMやRAM等の半導体メモリに設定実行手順に関するプログラムが記録された記憶装置によって構成されている。
【0066】
その他、入力部50は、タッチペンやキーボード、マウス等の入力装置からなって、回路設計のための各種情報や命令を入力する部分である。また、フロア表示部60は、上記入力情報や設計、あるいは設計変更された回路のレイアウト図等を可視表示する部分である。一方、制御部70は、このフロア表示部60をはじめ、上述した設計仕様格納部10、ライブラリ12、レイアウト14、プロセスパラメータ16、論理合成部20、自動配置部22、自動配線部24、タイミング解析部30、及び上限値設定部40の動作を統轄する部分である。
【0067】
上記構成を有する設計支援装置を用いて、半導体集積回路の設計が行われる。特に、本実施形態では、レイアウト設計に際してクロストークノイズの上限値を設定する。
【0068】
ここで、こうした設計支援装置を用いて行われる本実施形態にかかるクロストークノイズの上限値の設定方法について説明する。
図2に、本実施形態におけるクロストークノイズの上限値の設定手順を示す。同図2に示すように、この一連の手順においては、論理合成部20にて回路設計が行われた集積回路に関するデータ(回路図情報)が、まずステップ100にて自動配置部22に入力される。これに対し、自動配置部22では、この入力されたデータに対応する集積回路の自動配置が行われる(ステップ110)。
【0069】
こうして配置された集積回路に対して仮配線を行うための条件として、クロストークノイズの上限値の設定が行われる。すなわち、上述した要因(a)に当たるクロストークノイズそのものによって集積回路に誤動作が生じるおそれのあるところについて予め上限値を設定する(ステップ120)。具体的には、本実施形態では、例えばD/AコンバータやA/Dコンバータ等、アナログ素子を含んで構成されるアナログマクロへの入力配線や、フリップフロップ等の順序回路への入力配線、メモリへの入力配線について、予め上限値を設定する。
【0070】
すなわち、D/AコンバータやA/Dコンバータ等、アナログ素子を含んで構成されるアナログマクロでは、その入力信号のわずかな変動によって誤動作が引き起こされる。また、フリップフロップ等の順序回路では、上述したグリッチによって保持されている信号が論理反転する等、その出力信号がノイズに応答して非可逆的に変化し、誤動作が引き起こされる。更に、高速メモリ等のメモリの入力配線にグリッチが生じると、これに起因して例えばメモリのクロックが反転したときのようにメモリの動作が切り替えられる等、メモリの動作が非可逆的に変化し、誤動作が生じる。
【0071】
このように、アナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線については、配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるようになる。そこで、本実施形態では、これらについてはグリッチに起因する誤動作を生じないような上限値を予め各別に設定しておく。なお、これら各上限値については、上記上限値設定部40が備える構成としてもよく、上記入力部50から入力される構成としてもよい。
【0072】
次に、上記上限値の設定されなかった部分について、クロストークノイズの上限値を仮に設定する(ステップ130)。この上限値の仮設定については、これまでの半導体集積回路の設計時等に得た経験値等に基づき行うことが望ましい。なお、これら各上限値についても、上記上限値設定部40が備える構成としてもよく、上記入力部50から入力される構成としてもよい。
【0073】
図3に、こうした各上限値の設定及び仮設定について例示する。同図3では、アナログマクロANAの入力配線についてはノイズ上限値を「a%」に、また、順序回路としてのフリップフロップFFの入力配線についてはノイズ上限値を「b%」に、それ以外の配線についてはノイズ上限値を「c%」にそれぞれ設定されている。ここで、「c」は、「a」以上であり且つ「b」以上とする。なお、上記「c」は、同様に、メモリの入力配線に対するノイズ上限値以上の値とする。
【0074】
このように、ノイズ上限値の設定及び仮設定がなされた後、これに基づいて自動配線部24によって仮配線が行われる(ステップ140)。この自動配線部24による仮配線は、配線可能な領域を予め設定するグリッドを用いて行う。本実施形態では、半導体集積回路を多層配線構造にて形成する場合を想定しているため、図4(a)に破線にて例示するように、平行に走る配線可能領域であるグリッドが各層毎に互いに直行するように設定されている。こうしたグリッドを用いることで、自動配線部24では、図4(b)に例示するように、配線を行うことができる(図中、実線部が配線)。
【0075】
なお、この仮配線は、未結線箇所や、複数の配線が同一のグリッド上に形成されるショートが、必ずしも全てなくなるようなものでなくてもよい。例えば配線同士がショートすることを許容したり、未結線箇所を許容したりするようにするなら、ノイズの上限値の設定にかかるこの一連の処理を迅速に行うことができる。
【0076】
そして、この仮配線の終了した半導体集積回路について、タイミング解析部30では、隣接する配線間のカップリング容量や配線及び基板間のカップリング容量、更には配線抵抗を抽出する(ステップ150)。ここでは、自動配置部22及び自動配線部24によってレイアウトの行われた半導体集積回路のデータに加えて、上記プロセスパラメータ16の有するデータを用いて上記カップリング容量及び配線抵抗の抽出を行う。なお、このプロセスパラメータ16の有する情報については、例えば設計対象となる半導体集積回路毎に、デザインルールや、配線の材質等が入力部50を介して指定されることで特定の情報が選択されて用いられるようにすればよい。
【0077】
こうしてカップリング容量や配線抵抗の抽出がなされると、タイミング解析部30では、まずクロストークノイズを考慮しないでタイミング解析を行う(ステップ160)。これは、レイアウト設計の終了した上記半導体集積回路が、回路設計や回路の配置段階で既に所望とする動作周波数を得ることが困難なものとなっているか否かを判定するためのものである。この要因として例えば、回路設計そのものに問題がある場合に加え、回路間の距離が過剰に離間されて配置されることなどによる。
【0078】
そして、クロストークノイズを加味せずに行われるタイミング解析に基づき、当該集積回路の動作周波数と所望とする動作周波数との差が許容範囲を超える場合には、半導体集積回路の回路配置工程からやり直しが行われる。なお、これに代えて、図2に破線で示すように、回路設計からやり直しを行うようにしてもよい。このタイミング解析は、例えば、設計対象となる半導体集積回路内の各順序回路間の信号の遷移時間を算出し、この遷移時間が上記許容範囲に対応する所定の期間内に収まるか否かを判断するなどして行うことができる。
【0079】
ちなみに、このタイミング解析は、例えば図5に例示するように対象となる配線に等価容量Ceffを設定して行えばよい。すなわち、図5に模式的に示すように、対象となる配線及び基板間のカップリング容量をC0、上記対象となる配線及びこれに隣接する配線間のカップリング容量をCmとすると、対象となる配線の等価容量Ceffは、対象となる配線の電位遷移のみを考慮すればよいことから、C0+Cmとなる。
【0080】
そして、このクロストークノイズを加味せずに行われるタイミング解析に基づき、当該集積回路の動作周波数と所望とする動作周波数との差が許容範囲内にあると判断されると、タイミング解析部30では、クロストークノイズを考慮したタイミング解析を行う(ステップ170)。このタイミング解析も、基本的には、設計対象となる半導体集積回路内の各順序回路間の信号の遷移時間を算出し、この遷移時間が上記許容範囲に対応する所定の期間内に収まるか否かを判断するなどして行うことができる。以下、これについて更に詳述する。
【0081】
このタイミング解析は、基本的には隣接する配線の一方と他方とでの電位遷移について、それらが互いに同一方向であるときと反対方向にあるときとの双方にて算出される遅延変動量に基づいて行う。すなわち、隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が短くなる。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、クロストークノイズがない場合と比較して信号遷移時間が長くなる。そこで、隣接する配線の一方と他方とでの様々な電位遷移によって生じる遅延変動を反映させるために、上記双方にて算出される遅延変動量に基づいてタイミング解析を行うようにする。
【0082】
具体的には、隣接する配線の一方と他方とでの電位遷移が互いに同一方向であるときには、図6(a)に模式的に示すようにして対象となる配線の等価容量CeffをC0とすることでタイミング解析を行う。これに対し、隣接する配線の一方と他方とでの電位遷移が互いに逆方向であるときには、図6(b)に模式的に示すようにして対象となる配線の等価容量CeffをC0+2Cmとすることでタイミング解析を行う。
【0083】
なお、上述したように仮配線時には、配線同士のショートを許容する設定とすることもある。この場合、ショートしている配線同士の配線間隔を、自動配線部24の配線において用いられる最小の配線間隔(最小グリッド幅)であると仮定して、先の図5や図6に示したカップリング容量Cmの設定を行うなどすればよい。
【0084】
そして、隣接する配線の一方と他方とでの電位遷移が互いに同一方向及び逆方向の双方について、こうして設定された等価容量を用いることで、図7に示すように、対象となる配線の一端から入力される信号が他端に到達するまでの経過時間を算出する。この図7では、隣接する配線の一方と他方とでの電位遷移が互いに同一方向のときの経過時間をTminで、また、隣接する配線の一方と他方とでの電位遷移が互いに逆方向のときの経過時間をTmaxで、それぞれ示してある。そして、クロストークノイズに起因する遅延変動量を考慮した場合の上記経過時間は、これら経過時間Tmax及び経過時間Tmin間にあるとして動作周波数を算出することができる。
【0085】
更に、本実施形態では、互いに同一方向であるときと反対方向にあるときとの双方にて遅延変動量を算出する際、隣接する配線間での電位遷移のタイミングの重複度合いを考慮する。これは、実際の半導体集積回路においては、隣接する配線の一方と他方とでの電位が互いに同一方向又は反対方向に同時期に変化するとは限らないためである。
【0086】
図8に、本実施形態における電位遷移のタイミングの重複度合いの考慮の仕方について例示する。この図8では、隣接する配線の一方と他方とでの電位遷移が互いに同一方向のときを例示してある。図8(a)示されるように、配線1には、フリップフロップFF1〜FF3の出力信号が入力される。また、この図8(a)に示されるように、配線2には、フリップフロップFF4〜FF6の出力信号が入力される。
【0087】
一方、図8(b)には、各フリップフロップFF1〜FF6から出力される立ち上がり信号が配線1又は配線2に入力されるタイミングを示す。
ここで、フリップフロップFF1〜FF3から出力される立ち上がり信号の配線2への入力は、同フリップフロップFF1〜FF3からの信号の出力タイミングを基準とすると、次の期間に行われるようになる。すなわち、これら各フリップフロップFF1〜FF3からの立ち上がり信号が配線2に入力される時間のうち、最小値と最大値との間の期間に行われる。
【0088】
これに対し、フリップフロップFF4〜FF6から出力される立ち上がり信号の配線1への入力は、同フリップフロップFF4〜FF6からの信号の出力タイミングを基準とすると、次の期間に行われるようになる。すなわち、これら各フリップフロップFF4〜FF6からの立ち上がり信号が配線1に入力される時間のうち、最小値と最大値との間の期間に行われる。
【0089】
図7(b)に、これらフリップフロップFF1〜FF3から出力される立ち上がり信号が配線2へ入力されるまでの期間と、フリップフロップFF4〜FF6から出力される立ち上がり信号が配線1へ入力されるまでの期間との重複期間を示す。この電位遷移タイミングの重複期間が配線1及び配線2にある場合には、クロストークノイズを考慮したタイミング解析を行う。
【0090】
こうしてクロストークノイズを考慮して行われるタイミング解析の結果、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲にない場合には、上記上限値設定部40では、上記仮設定したノイズ上限値を削減する(ステップ180)。すなわち、ここでは上記ステップ130で仮設定したノイズ上限値では、クロストークノイズに起因する遅延変動によって所望の動作周波数を満たすことができないとして、仮設定したノイズ上限値を低減する。
【0091】
そして、この再度仮設定されたノイズ上限値に基づいて、上記ステップ140と同様にして仮配線を行う(ステップ190)。そして、この仮配線の終了された半導体集積回路について、上記ステップ200同様、カップリング容量及び配線抵抗を抽出する(ステップ200)。そして、これら抽出されたカップリング容量や配線抵抗を用いて、再度クロストークノイズを考慮したタイミング解析を行う(ステップ170)。これらステップ170〜ステップ200までの処理は、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲に収まるまで繰り返される。
【0092】
そして、設計対象である半導体集積回路の実際の動作周波数と所望の動作周波数との差が許容範囲に収まると、上記上限値設定部40では、このときに用いられた仮のノイズ上限値を、ノイズの上限値として確定する(ステップ210)。
【0093】
このようにして確定されたノイズ上限値は、所望とする動作周波数を満たしつつも極力大きな値に設定することができる。よって、ノイズ上限値を過剰に小さな値とした場合に生じるクロストークノイズの過剰な対策を回避することができる。すなわち、このノイズ上限値は、動作周波数の相当値として先の図7に示す経過時間(遷移時間)を用いた場合、
・図9(a)に示す、隣接する配線の一方と他方とで互いに逆方向に電位が遷移する場合のノイズ上限値と遷移時間(遅延変動量が最大となる遷移時間)の関係(概略図)において、同遷移時間が許容範囲内となる極力大きなノイズ上限値
・図9(b)に示す、隣接する配線の一方と他方とで互いに同一方向に電位が遷移する場合のノイズ上限値と遷移時間(遅延変動量が最小となる遷移時間)の関係(概略図)において、同遷移時間が許容範囲内となる極力大きなノイズ上限値の2つのノイズ上限値のうちの小さい方の値とされる。
【0094】
以上説明した本実施形態によれば、以下の効果が得られるようになる。
(1)配線の遅延変動に起因する誤動作のみならず、グリッチに起因して誤動作が引き起こされるアナログマクロへの入力配線や、順序回路への入力配線、メモリへの入力配線について、グリッチに起因する誤動作を回避する上限値を各別に予め設定した。これにより、グリッチに起因する誤動作を的確に回避することができるようになる。
【0095】
(2)上記予め上限値が設定される箇所以外の箇所について、上限値を仮設定しこれに基づいて仮配線を行った。そして、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないと判断された場合に仮設定された上限値を段階的に低減した。このため、所望とする動作周波数にとって適切な上限値が自動的に抽出されるようになる。
【0096】
(3)クロストークノイズがない場合からの信号遷移時間の変動量(遅延変動量)を、隣接する配線の一方と他方とでの電位遷移についてそれらが互いに同一方向であるときと反対方向であるときとの双方について算出した。このため、隣接する配線の一方と他方とでの様々な電位遷移によって生じる遅延変動を反映して動作周波数の解析を行うことができるようになる。
【0097】
(4)レイアウト設計対象の半導体集積回路において、隣接する配線間での電位遷移のタイミングの重複度合いを考慮して遅延変動量を算出した。このため、上記半導体集積回路内で実際に生じ得る遅延変動量についてより正確に算出することができ、ひいては、同半導体集積回路についてより正確な動作周波数の解析を行うことができる。
【0098】
(5)クロストークノイズを加味した動作周波数の解析に先立ち、クロストークノイズを加味しない動作周波数の解析に基づき、半導体集積回路の回路設計及び同回路の配置のいずれかの工程からやり直しを行った。これにより、回路設計や回路の配置に起因して所望とする動作周波数を得ることが困難な場合には、この要因を解消した後、クロストークノイズについての上限値が設定されることとなる。したがって、所望の動作周波数を満たすためのクロストークノイズの上限値をより適切に設定することができる。
【0099】
(6)配線形成可能な領域として予め定められたグリッドを用いて配線を行った。これにより、自動配線ツールによる配線処理にかかる演算負荷を低減することができるようになる。
【0100】
(第2の実施形態)
以下、本発明にかかる集積回路の設計方法及び設計支援装置の第2の実施形態について、上記第1の実施形態との相違点を中心として図面を参照しつつ説明する。
【0101】
上記第1の実施形態では、レイアウト設計に際し、仮配線を行いつつ配線間で発生するクロストークノイズの上限値を設定した。勿論、この仮配線について、未結線やショートを許容しないようにするなら、先の図2のステップ210でノイズ上限値が確定した際には、このノイズ上限値を満たすような配線が完了したことになる。ただし、このように未結線やショートを許容しないかたちで全ての配線を行いつつノイズ上限値を設定するには膨大な時間がかかる。
【0102】
そこで、本実施形態では、未結線やショートを許容しつつ先の図2の一連の処理によってノイズ上限値を確定した後、これと最小のグリッド幅を配線間隔とすることを条件として自動配線を行う。そして、これによって配線が完了しないと判断される毎に用いる配線間隔を段階的に拡大するようにする。このように用いる配線間隔を段階的に拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を自動的に行うことができるようになる。
【0103】
図10は、こうして自動配線を行う本実施形態にかかる半導体集積回路の設計支援装置の構成を示すブロック図である。この支援装置もスタンダードセル方式の設計を支援する装置として構成されている。なお、この設計支援装置において、先の図1に示した部材と同一の部材については同一の符号を付し、これについての説明は割愛することとする。
【0104】
図10に示すように、この設計支援装置は、先の図2の一連の処理によって確定されたノイズ上限値や、先の図2のステップ120によって設定されたノイズ上限値が適宜の記憶装置に記憶されている(図中、クロストークノイズ上限値18)。また、自動配線部24によって設計対象となる半導体集積回路に配線を行う際に、配線間隔として許容される値を設定するグリッド幅設定部80を備えている。このグリッド幅設定部80は、ハードディスク装置、あるいはROMやRAM等の半導体メモリに設定実行手順に関するプログラムが記録された記憶装置によって構成されている。そして、制御部70bでは、フロア表示部60をはじめ、設計仕様格納部10、ライブラリ12、レイアウト14、プロセスパラメータ16、論理合成部20、自動配置部22、自動配線部24、タイミング解析部30に加えて、クロストークノイズ上限値18、グリッド幅設定部80の動作を統轄する。
【0105】
ここで、こうした設計支援装置を用いて行われる本実施形態にかかる自動配線手順について、図11に基づいて説明する。図11は、上記自動配線手順を示すフローチャートである。
【0106】
この一連の処理においては、自動配置部22にて配置の終了した半導体集積回路についての情報を自動配線部24に入力する(ステップ300)。また、自動配線部24には、先の図2に示した処理によって確定したノイズ上限値や、先の図2のステップ120によって設定されたノイズ上限値が、クロストークノイズ上限値18から取り込まれる(ステップ310)。更に、自動配線部24は、配線間隔として許容される値の上限値がグリッド幅設定部80によって指定される(ステップ320)。このグリッド幅設定部80では、ステップ320において、最小のグリッド幅を、配線間隔として許容される値の上限値として指定する。
【0107】
これに対し、自動配線部24では、ステップ310において取り込まれたノイズ上限値と、ステップ320にて指定された配線間隔を条件として概略配線を行う(ステップ330)。この概略配線は、指定された配線間隔とノイズ上限値とに基づいて結線ポイント間を最短で結線する簡易的な配線処理である。この概略配線では、複数の配線に同一のグリッドが重複して用いられるショートや、ノイズ上限値を満たさない等のために配線しない未結線箇所を許容する。なお、上記自動配線部24では、必ずしもこの概略配線という特別の処理機能を有していなくてもよい。この場合であっても、自動配線部24がトライアンドエラーを繰り返しつつ配線を行う演算装置であるなら、トライアンドエラーの初期の段階を概略配線と定義して、例えば所定時間の経過をもって概略配線の終了とすればよい。
【0108】
そして、この概略配線が終了すると、上記グリッド幅設定部80では、この概略配線の結果、ショートや未結線等の違反箇所がカウントされ、同違反箇所が所定の閾値以内であるか否かを判断する(ステップ340)。
【0109】
すなわち、これらステップ330及びステップ340の処理では、指定された配線間隔では配線混雑度が大きいなどの理由によって配線を完了することが困難であるか否かを判断する。したがって、上記所定の閾値は、配線を完了することが困難であると判断できる値に設定される。そして、ステップ340において、違反箇所が所定の閾値以内にないと判断されると、グリッド幅設定部80では許容される配線間隔の上限値を拡大して、その旨自動配線部24に通知する(ステップ350)。これらステップ330〜ステップ350にかかる処理は、ステップ330の概略配線の結果、違反箇所が所定の閾値以内となるまで繰り返される。
【0110】
そして、ステップ340において、違反箇所が所定の閾値以内となったと判断されると、ステップ310において取り込まれたノイズ上限値と、ステップ340にて違反箇所が所定の閾値以内となったと判断された時点の許容される配線間隔の上限値を条件として配線を行う(ステップ360)。このステップ360における配線にかかる処理は、自動配線部24における処理としては、必ずしも上記概略配線にかかる処理と異なる演算プログラムを用いなくてもよい。要は、概略配線におけるトライアンドエラーにかかる演算処理量がこのステップ360の配線のトライアンドエラーにかかる演算処理量よりも小さければよい。
【0111】
そして、ステップ360の配線後、上記グリッド幅設定部80では、ステップ370において、未結線やショートがなくなったか否かを判断する(ステップ370)。そして、未結線やショートがあると判断されると、上記ステップ350に戻る。これらステップ330〜ステップ370にかかる処理は、未結線やショートがなくなるまで繰り返される。
【0112】
そして、ステップ370において未結線やショートがなくなったと判断されると、上記タイミング解析部30にて最終的なタイミング解析が行われる(ステップ380)。そして、こうして配線の終了された半導体集積回路の動作周波数と所望とする動作周波数との差が許容範囲内にない等、問題箇所が残っていれば、バッファやリピータの挿入や、セルの局所的な配置変更等、局所変更を行う(ステップ390)。こうしてステップ380にて最終的なタイミング解析によって問題箇所がないと判断されるとこの一連の処理を終了する。
【0113】
以上説明した本実施形態によれば、先の第1の実施形態の上記(1)〜(6)の効果に加えて、更に以下の効果が得られるようになる。
(7)先の図2の処理によって確定された上限値と予め設定された配線間隔とを用いて自動配線が行われ、これによって配線が完了しないと判断される毎に段階的に配線間隔を拡大した。このように段階的に配線間隔を拡大することで、未結線を防止しつつクロストークノイズの上限値を満たす適切な配線を行うことができるようになる。
【0114】
(8)ステップ360の配線に先立ち、これよりも演算処理量の小さな仮の配線を行う概略配線工程をステップ330として備えた。そして、この概略配線工程によって前記配線間隔及び上限値を用いた配線の完了が困難であると判断されると配線間隔を段階的に拡大させた。このように配線の完了が困難であると判断される場合に配線間隔を段階的に拡大し、配線の完了が困難でないと判断された後にステップ360に移行するために、このステップ360にかかる処理時間を低減することができる。
【0115】
なお、上記各実施形態は、以下のように変更して実施してもよい。
・図2のステップ160については、必ずしもこの処理を行わなくても、ノイズ上限値の自動抽出を行うことはできる。
【0116】
・ステップ120において設定される上限値によって、ステップ170におけるタイミング解析で不都合が生じたなら、これを更に低減するなどしてもよい。・ステップ130におけるノイズ上限値の仮設定に関しても、半導体集積回路を複数の箇所に分類し、これら各箇所毎にノイズ上限値を仮設定するようにしてもよい。これにより、ステップ210において確定されるノイズ上限値を、回路の正常な動作を可能とする範囲でいっそう大きな値とすることができる。
【0117】
・先の図2のステップ170及びステップ180において、実際の動作周波数と所望の動作周波数との差が許容範囲にあるときに、仮設定されたノイズ上限値を増加させるようにしてもよい。この場合、上記許容範囲にないと判断されたときに、その直前に用いたノイズ上限値を上限値として確定する。この際、ノイズ上限値を小さめの値に仮設定しておくことで、一連の処理によって、クロストークノイズの上限値が所望とする動作周波数にとって適切な値であって極力大きな値へと絞り込まれていくようになる。
【0118】
・隣接する配線の一方と他方とでの電位遷移のタイミングについての重複度合いの考慮の仕方は、図7(b)に例示したものに限らない。特に、図7(b)において、たとえ配線1及び配線2間に電位遷移タイミングの重複期間があったとしても、配線1及び配線2での電位が遷移するタイミングが重ならず、クロストークノイズの影響が顕著とならないことがある。したがって、例えば、各フリップフロップFF1〜FF3の出力信号の配線2への各入力タイミングと、各フリップフロップFF4〜FF6の出力信号の配線1への各入力タイミングとについて、個別に重複するか否かを考慮するなどしてもよい。
【0119】
・自動配線部24は、必ずしもグリッドを用いて配線を行うものでなくてもよい。
・自動配線部24、タイミング解析部30、クロストークノイズ上限値設定部40、グリッド幅設定部80を、ハードウェアやミドルウェアにて構成してもよい。
【0120】
・半導体集積回路の設計手法として、例えばゲートアレイ等、スタンダードセル方式以外の方式を用いてもよい。
【図面の簡単な説明】
【図1】本発明にかかる集積回路の設計支援装置をスタンダードセル方式の設計支援装置に適用した第1の実施形態について、その全体構成を示すブロック図。
【図2】同実施形態におけるクロストークノイズの上限値の設定手順を示すフローチャート。
【図3】同実施形態におけるノイズ上限値の設定態様を例示する回路図。
【図4】同実施形態におけるグリッドを用いた自動配線を例示する図。
【図5】同実施形態においてクロストークノイズを考慮しないタイミング解析を説明する図。
【図6】同実施形態においてクロストークノイズを考慮したタイミング解析を説明する図。
【図7】同実施形態においてクロストークノイズを考慮した配線の信号遷移を例示する図。
【図8】同実施形態において隣接する配線間での信号の遷移タイミングの重複度合いの考慮の仕方を説明する図。
【図9】同実施形態においてクロストークノイズの上限値の設定態様を例示する図。
【図10】本発明にかかる集積回路の設計支援装置をスタンダードセル方式の設計支援装置に適用した第2の実施形態について、その全体構成を示すブロック図。
【図11】同実施形態における自動配線手順を示すフローチャート。
【符号の説明】
10…設計仕様格納部、12…ライブラリ、14…レイアウト、16…プロセスパラメータ、20…論理合成部、22…自動配置部、24…自動配線部、30…タイミング解析部、40…クロストークノイズ上限値設定部、50…入力部、60…フロア表示部、70、70b…制御部、80…グリッド幅設定部。

Claims (9)

  1. 集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、
    a.前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及び
    b.配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及び
    c.前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減して前記b及び前記cの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定することを特徴とする集積回路の設計方法。
  2. 集積回路のレイアウト設計に際し、配線間に生じるクロストークノイズについてその上限値を設定するに、
    a.前記集積回路の予め分類された複数の箇所について前記上限値を定める工程、及び
    b.配置の終了した集積回路に対して前記定められた上限値に基づき自動配線ツールにて仮配線を行う工程、及び
    c.前記仮配線の行われた集積回路各部について、クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断する工程、の各工程を備え、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値のうちの少なくとも1つを増加して前記b及び前記cの工程を繰り返し実行し、前記各動作周波数の差が許容範囲にないと判断される直前の工程において用いられた上限値を前記クロストークノイズの上限値として確定することを特徴とする集積回路の設計方法。
  3. 前記上限値は、アナログ素子を含む回路であるアナログマクロへの入力配線、及び順序回路への入力配線、及びメモリへの入力配線の少なくとも1つに対して、当該集積回路の他の部分とは別に定められる請求項1又は2記載の集積回路の設計方法。
  4. 前記クロストークノイズを加味して行われる動作周波数の解析は、隣接する配線の一方と他方との電位遷移が互いに同一方向にあるときと反対方向にあるときとの双方について算出される遅延変動量に基づいて行われる請求項1〜3のいずれかに記載の集積回路の設計方法。
  5. 前記遅延変動量は、前記隣接する配線間での電位遷移のタイミングの重複度合いを考慮して算出される請求項4記載の集積回路の設計方法。
  6. 請求項1〜5のいずれかに記載の集積回路の設計方法において、
    前記クロストークノイズを加味して行われる動作周波数の解析に先立ち、同クロストークノイズを加味しない動作周波数の解析を行い、この解析の結果、解析された動作周波数と所望とする動作周波数との差が予め定められた許容範囲にないときには、前記aの工程の上流工程である当該集積回路の回路設計及び同回路の配置のいずれかの工程から前記各工程を再実行することを特徴とする集積回路の設計方法。
  7. 請求項1〜6のいずれかに記載の集積回路の設計方法において、
    前記配置の終了した集積回路について、予め設定された配線間隔及び前記確定されたクロストークノイズの上限値を用いて自動配線ツールにて配線を行う工程と、
    前記自動配線ツールによる配線工程によってその実行条件を満たす当該集積回路の自動配線が完了したか否かを判断する判断工程とを更に備え、
    前記自動配線が完了したと判断されるまで、前記設定された配線間隔を拡大させつつ前記配線工程及び前記判断工程を繰り返し実行することを特徴とする集積回路の設計方法
  8. 集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、
    前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記分類された複数の箇所のうち、前記各動作周波数の差が許容範囲にないと判断される箇所については同箇所に定められている上限値を低減し、前記各動作周波数の差が許容範囲にあると判断される箇所についてはそのときに同箇所に定められている上限値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることを特徴とする集積回路の設計支援装置。
  9. 集積回路のレイアウト設計に際して配線間に生じるクロストークノイズについての上限値の設定を支援する集積回路の設計支援装置であって、
    前記集積回路の予め分類された複数の箇所について定められた前記クロストークノイズについての上限値に基づいて、配置の終了した前記集積回路に対し仮配線を行う自動配線ツールと、前記仮配線の行われた集積回路について、前記クロストークノイズを加味して解析される動作周波数と所望とする動作周波数との差が予め定められた許容範囲にあるか否かを判断するタイミング解析部と、前記各動作周波数の差が許容範囲にあると判断されるとき、前記分類された複数の箇所について定められている上限値の少なくとも1つを増加させると共にその増加前の上限値を保持しておき、前記動作周波数の差が許容範囲にないと判断されるとき、前記保持した増加直前の値を前記クロストークノイズの上限値として確定する上限値設定部とを備えることを特徴とする集積回路の設計支援装置
JP2001383993A 2001-12-18 2001-12-18 集積回路の設計方法及び集積回路の設計支援装置 Expired - Fee Related JP4059668B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001383993A JP4059668B2 (ja) 2001-12-18 2001-12-18 集積回路の設計方法及び集積回路の設計支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001383993A JP4059668B2 (ja) 2001-12-18 2001-12-18 集積回路の設計方法及び集積回路の設計支援装置

Publications (2)

Publication Number Publication Date
JP2003186934A JP2003186934A (ja) 2003-07-04
JP4059668B2 true JP4059668B2 (ja) 2008-03-12

Family

ID=27593836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001383993A Expired - Fee Related JP4059668B2 (ja) 2001-12-18 2001-12-18 集積回路の設計方法及び集積回路の設計支援装置

Country Status (1)

Country Link
JP (1) JP4059668B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5272024B2 (ja) * 2003-09-18 2013-08-28 株式会社日立製作所 半導体装置の設計方法
JP2014021573A (ja) 2012-07-13 2014-02-03 International Business Maschines Corporation 半導体集積回路の論理回路設計に用いるネットリストを最適化する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム

Also Published As

Publication number Publication date
JP2003186934A (ja) 2003-07-04

Similar Documents

Publication Publication Date Title
US6543041B1 (en) Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement
US9171124B2 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
EP3343413A2 (en) Methods for reducing delay on integrated circuits
US9767240B2 (en) Temperature-aware integrated circuit design methods and systems
JP5609364B2 (ja) 集積回路設計装置、集積回路設計方法、及び集積回路設計プログラム
JP2882359B2 (ja) レイアウト設計装置
KR20150102086A (ko) 자동 클럭 트리 라우팅 규칙 생성
JP2005071267A (ja) 電源パッドの数及び位置見積もり方法、コアサイズ見積もり方法、仮配線容量見積もり方法、チップサイズ見積もり方法及び設計装置
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
US6510542B1 (en) Method of placing a repeater cell in an electricalcircuit
JP2004128436A (ja) 半導体集積回路及び半導体集積回路の設計方法
JP2006004056A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP4059668B2 (ja) 集積回路の設計方法及び集積回路の設計支援装置
US9910948B2 (en) Layout of large block synthesis blocks in integrated circuits
Choy et al. Incremental layout placement modification algorithms
JP4666164B2 (ja) 集積回路の階層設計方法および装置
US20030159121A1 (en) Variable stage ratio buffer insertion for noise optimization in a logic network
US7865860B2 (en) Layout design device and layout method
US10831971B1 (en) Net layer promotion with swap capability in electronic design
TWI722360B (zh) 測試系統與測試方法
Posser et al. Electromigration Inside Logic Cells
JP2008166981A (ja) 遅延調整回路及び遅延調整方法
US7823112B1 (en) Method, software and system for ensuring timing between clocked components in a circuit
CN117083615A (zh) 用于估计pld设计中的信号相关延迟的方法和装置
JP3644413B2 (ja) 素子及び配線の配置決定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041206

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees