JP2004157663A - Wiring pattern generation method and wiring pattern generation device - Google Patents
Wiring pattern generation method and wiring pattern generation device Download PDFInfo
- Publication number
- JP2004157663A JP2004157663A JP2002321335A JP2002321335A JP2004157663A JP 2004157663 A JP2004157663 A JP 2004157663A JP 2002321335 A JP2002321335 A JP 2002321335A JP 2002321335 A JP2002321335 A JP 2002321335A JP 2004157663 A JP2004157663 A JP 2004157663A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- delay value
- wiring pattern
- delay
- calculating
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/80—Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
- Y02T10/82—Elements for improving aerodynamics
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】適切な配線遅延対策がなされ、、所望の特性を有する半導体集積回路を提供する。また、配線レイアウトの自由度の増大をはかり、チップ面積の低減および半導体集積回路の高性能化をはかる。修正工数の削減をはかり、レイアウトに要する時間を低減する。
【解決手段】半導体集積回路に搭載する素子の配置位置を決定した後、それら素子間を接続する最短経路の距離を求め暫定的な遅延値を算出し、この暫定的遅延値と、各配線ごとの要求遅延値とを比較し、この比較結果により配線の場合分けを行い、要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求めるとともに、求められたコンタクト位置に基づいて配線パターンを生成する。
【選択図】 図1An object of the present invention is to provide a semiconductor integrated circuit in which appropriate wiring delay measures are taken and which have desired characteristics. In addition, the degree of freedom in wiring layout is increased, and the chip area is reduced and the performance of the semiconductor integrated circuit is improved. Reduction of man-hours for correction and reduction of the time required for layout.
After determining an arrangement position of elements mounted on a semiconductor integrated circuit, a distance of a shortest path connecting the elements is calculated to calculate a provisional delay value, and the provisional delay value is calculated for each wiring. The required number of contacts in multi-layer wiring and the position are determined so that the required delay value is obtained. A wiring pattern is generated based on the wiring pattern.
[Selection diagram] Fig. 1
Description
【0001】
【発明の属する技術分野】
本発明は、配線パターン生成方法および配線パターン生成装置に係り、特にコンピュータを利用して設計を行う半導体集積回路のレイアウト方法に関するものであり、特にタイミング性を考慮した配線に関するものである。
【0002】
【従来の技術】
コンピュータはいうまでもなく、携帯電話等の通信機器、一般家庭製品や玩具、自動車まで、LSIの利用範囲が拡大している。
【0003】
このような状況下、各製品においてLSIはキーデバイスとして位置付けられており、製品の競争力確保のために、LSIの大規模化・高速化が要求されている。製品サイクルが短くなる中で、これらの要求に答えるためにはLSI設計の自動化が必須であり、近年、LSIコンピュータを用いた半導体集積回路の設計が注目されている。LSIの各設計フローの中でもレイアウト時に行う配置処理、配線処理に関しては自動レイアウトツールを用いて設計を行い、人手による工数を削減することで開発期間の短縮を図っている。
【0004】
今日行われている一般的な自動レイアウトツールを用いたフローは回路の接続情報(ネットリスト)を用いて混雑度やタイミング性を考慮しながらセルの配置処理を行い、セルの配置位置が決定した後に接続すべき端子間の配線処理を行っている。
【0005】
通常、配線処理には概略配線処理の結果から混雑度を評価し、大まかな配線経路を求め、この段階で配線できることを確認した後、詳細配線処理で図形的なデザインルールを満たすように配線を行っている。
【0006】
しかし配線が混雑する領域が存在する場合、その混雑を回避するため概略配線時の見積もりとは異なる配線経路をとることがある。このような迂回経路をとった場合、結果として配線の距離が長くなり、配線による抵抗値と容量値が増加し要求される遅延値を満たせないことがある。逆に遅延を付加したいようなパスが存在した場合、セル遅延で所望の遅延を得ようとするため論理的には冗長なバッファを直列的に挿入しなければならず、結果として面積の増大や電力の増大を招いていた。
【0007】
従来、概略の配線経路を見積もり、配線性やタイミング性を評価し束縛条件に加味して再度配線する方法が提案されている(特許文献1参照)。この方法では、要求される遅延値を満足するために仮概略配線を実施し配線経路を求めることによって、注目する配線の抵抗値と容量値を抽出し暫定的な遅延値を算出して、違反がある場合には再度仮配線処理を行う。また、遅延値に対し違反の大きい配線に対しては優先順位を持たせて配線し混雑度とタイミング性を両立させ、遅延値を低減する設計する方法も提案されている。
【0008】
【特許文献1】
特開2000−223578号公報
【0009】
【発明が解決しようとする課題】
ところで、配線経路内において通過するコンタクトの数は配線での遅延に大きな影響を持っている。しかしながら前記方法では、配線層乗り換え時に通過するコンタクトについては考慮されていない。
【0010】
今日の半導体集積回路では高集積化を実現するため多層配線構造が用いられている。このため端子間を接続する配線には同一配線層を接続する配線と配線層の乗換えを行うために層間絶縁膜に形成されるコンタクト(ビア)が含まれる。
【0011】
同一配線層を接続する配線はプロセス毎に配線幅、配線間隔が定められており、自動レイアウトツールでは縦方向(基板表面に垂直な方向)を接続する配線と横方向(基板表面に平行な方向)を接続する配線層が予め定められている。多層配線プロセスでは縦方向と横方向ごとに配線層がそれぞれ割り付けられている。
【0012】
例えば4層配線の場合には、横方向に第1層目と第3層目の配線層を割り振り、縦方向に第2層目と第4層目とが割り振られている。そのため配線層を乗り換えること、つまり90度曲がる場合にはコンタクトを通過しなければならない。コンタクトの形状はプロセスごとのデザインルールによって形状が異なるが、一般的に通常配線幅よりも小さく設定されているため、抵抗値は大きくなり配線遅延に影響を与える原因の一つとなっている。
【0013】
このため、上記方法によっても、十分な配線遅延対策を行っているとはいえないという問題があった。
【0014】
本発明は前記実情に鑑みてなされたもので、適切な配線遅延対策がなされ、所望の特性を有する半導体集積回路を提供することを目的とする。
また、配線レイアウトの自由度の増大をはかり、チップ面積の低減および半導体集積回路の高性能化をはかることを目的とする。
また、修正工数の削減をはかり、レイアウトに要する時間を低減することを目的とする。
【0015】
【課題を解決するための手段】
そこで本発明の配線方法は、半導体集積回路に搭載する素子の配置位置を決定した後、それら素子間を接続する最短経路の距離を求め暫定的な遅延値を算出し、この暫定的遅延値と、各配線ごとの要求遅延値とを比較し、この比較結果により配線の場合分けを行うようにしている。
【0016】
そして、要求遅延値に対して最短経路で算出した暫定的遅延値がほぼ等しい場合には、コンタクトの最大使用数および位置を決定する。その後、決定したコンタクト位置情報をもって再概略配線と再詳細配線とを行う。この処理では配線経路の内に必ず決定したコンタクトを通過するように優先配線させるようにして、算出した最短経路遅延値を維持するように配線を行う。
【0017】
また、要求遅延時間に対して仮詳細配線経路で算出した遅延が小さい場合には、最短経路上にない(最短経路で結べないような)位置にコンタクト位置を決定し、必ずこの決定したコンタクトを通過するように優先配線を行うことによって迂回経路を取らせて配線させる。
【0018】
さらに、遅延値に対して要求の無い配線に対してはコンタクトの数および位置を指定せず、最も低い優先度で配線を行わせ、混雑度の高い領域を迂回しながら配線させることで配線トラックを有効に使用し高集積のLSIを実現させる。
【0019】
この配線パターンの実現に際して用いられる配線パターン生成装置は、半導体集積回路のレイアウト設計において、接続情報から、セル間を接続する最短経路の距離を算出する距離算出手段と、前記最短経路の距離に基づいて暫定遅延値を算出する遅延値算出手段と、設計データから当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する要求遅延値算出手段と、前記要求遅延値と前記暫定遅延値とを比較して、多層配線を行う際のコンタクトの使用数と位置を求め、求められたコンタクト位置に基づいて配線パターンを生成するパターン生成手段とを有する。
【0020】
この発明は以下の事実を発見し、この事実に鑑みてなされたものである。
【0021】
すなわち、本発明者らは、半導体集積回路を構成する各配線には遅延値の観点から見て、要求される配線遅延値以下に抑えなければならない配線と、要求される配線遅延値以上の遅延を持たなければならない配線と、遅延に対する要求が無い(電気的に接続されていれば良い)配線の3種類に分割することができることを発見した。
【0022】
この3種類のうち、要求される配線遅延値以下に抑えねばならない場合(以下ケース1と称する)としては、フリップフロップ間のデータ遷移時間がクロック周期よりも大きくなりセットアップタイミング違反を発生しているような場合や半導体チップ外部とのインターフェースの遅延値が要求されている場合などがこれに属する。このようなケースにおいては信号の配線経路は抵抗値と容量値を減少させるため最短経路で接続することが望ましい。
【0023】
ところで、セルの配置処理後に接続すべき端子の位置が決まれば、端子間を接続する信号の最短経路の距離を算出することができる。この距離を一般的にマンハッタン距離と呼んでいる。
【0024】
図2に示すように、端子201と端子202を接続する端子とし、それぞれの座標を(x1,y1)、(x2,y2)とすると203で示すマンハッタン距離Lは以下の式(1)で与えられる。
L=| x2−x1 | + | y2−y1 |・・・式(1)
即ち、マンハッタン距離は配線グリッドを用いた配線手法での最短経路の長さとなる。しかしマンハッタン距離で接続される経路は図2に示した1経路だけではない。
【0025】
図3はマンハッタン距離で接続される経路数を説明する図である。端子301と端子302との間に配線できる通り道(以下配線トラックと呼ぶ)が、それぞれX方向にM本、Y方向にN本存在したとすると、最短経路での通り道の数はこのMおよびNに応じて増えていく。この場合、どの経路でも配線の距離の総和は等しくなるが、配線を乗り換える数すなわちコンタクトの数は異なってくる。
【0026】
さらに図4はコンタクト数が2、3、4と増加した時の配線経路を示したものである。このように、たとえ最短経路での配線を行ったとしても、コンタクトを通過することによって配線の抵抗値は大きくなり、結果として配線に起因する遅延値が大きくなり要求される遅延条件を満たせなくなることがあった。このような場合には配線経路だけでなくコンタクトの最大使用可能数を制限する必要がある。
【0027】
また、要求される配線遅延値以上の遅延値を持たなければならない場合(以下ケース2と称する)としては、2端子以上の信号到達遅延時間のばらつき(スキュー)の抑制や、フリップフロップ間の遅延が少なすぎて後段フリップフロップのクロック到達時間よりも先にデータ信号が到達するホールドタイムエラーが発生している場合や、半導体チップ外部とのインターフェースの遅延値が要求されている場合などがある。このようなタイミング違反が発生している場合には、従来は、端子間に遅延セルなどのセルを挿入してセルの遅延値を付け加え端子間の伝播遅延を遅くすることで対応している。
しかしながら、この方法では、回路の接続情報(ネットリスト)を修正しなければならず、開発工数が増大するという問題がある。さらに遅延セルを挿入することによって挿入セル分の面積の増大と消費電力の増大という問題も発生している。この場合、配線による遅延を増加させるために、配線経路の距離を最短経路以上の距離にする必要がある。
【0028】
また、遅延に対する要求の無い(電気的な接続があればよい)配線(以下このケースをケース3と称する)としては、例えば、時間的にクリティカルでないリセット信号やモード切り替え信号やテスト回路等が属する。これらの信号は電気的な接続のみがあればよく、必ずしも最短経路で配線する必要はない。しかし配線遅延が無制限に大きくてもいいと言うわけではなく、各セルのライブラリ規定値以上の信号伝播時間(スリュ−)制約は満たさねばならない。これらの信号は配線が混雑しているような領域でも無制限にコンタクトを通過し迂回配線を繰り返すことが許容される信号である。
このケースの場合は、前述の第1のケースや前述の第2のケースでの配線経路を避けながら配線させることで、配線に起因する面積の増大を抑えることができる。
このように、遅延に対する要求度に場合に応じて、場合わけを行い,半導体集積回路のレイアウト設計を行うようにしている。
【0029】
【発明実施の形態】
以下本発明の実施の形態について説明する。
本実施の形態で説明する端子は全ての配線層を含んでいるものとし、縦方向と横方向の配線はそれぞれの配線層ごとに割り付けられているものとする。さらに簡略化のため配線層は縦方向と横方向それぞれ1層ずつとする。
【0030】
この方法では、セル遅延値に対する要求が存在するか否かを検知し、この要求があった場合には、最短経路に基づいて暫定遅延値を算出するとともに、この暫定遅延値が要求遅延値を満たしているか否かを判断し、この判断結果に基づいてコンタクト位置とコンタクト数とを調整するようにしたことを特徴とする。
【0031】
すなわち、セル遅延値に対する要求があった場合、最短経路かつコンタクト数が1つの遅延値を算出し、要求される遅延が存在する配線に対して配線遅延を維持させたい場合と、要求される遅延値に対して配線遅延を増加させたい場合の2種類に場合分けをする。
【0032】
その後、各場合においてコンタクトの数と位置を決定し、再配線を行う際には、決定したコンタクト位置を必ず通過する制約を与えることで、意図した遅延値を得られることが可能となるため、配線経路に起因するタイミング違反を減少させることができLSIの高性能化と修正工数の削減に効果がある。さらに遅延に対する要求が無い配線は迂回経路を取らせることで、仮に配線が混雑している領域が存在したとしても、その領域を迂回して配線させることによってチップサイズの増大を防ぐ事が可能となる。
【0033】
図1に、本実施の形態における半導体集積回路のレイアウト方法の処理フローを示す。
この方法では、まず、手配置、自動配置ツール、タイミングドリブン配置ツールなどのいずれかの方法をを用いて回路中に存在するセルの配置を行う(ステップ101)。この時点で接続すべき端子間の座標が決定される。
【0034】
その後、注目した配線が設計データ上の要求遅延値に対する要求を有しているか否かの判断を行う(ステップ102)。
前記判断ステップ102において、遅延値に対する要求を有している場合(前述ケース1及び前述ケース2)には、注目した配線の遅延値を最短経路に基づいて暫定的に算出する(ステップ103)。
【0035】
一方、前記判断ステップ102で遅延値に対する要求を有していない場合(前述ケース3)には、残りの配線処理即ち最も優先度の低い配線工程に進む(ステップ108)。
【0036】
なお前記ステップ103では、最短経路を取った時の遅延値を算出するが、このとき隣接する配線間容量を考慮にいれ、例えば、コンタクト数は1つであると仮定しておく(これを仮詳細配線とする)。
【0037】
そして、前記ステップ103で算出された注目する配線の暫定遅延値と、要求遅延値とを比較する(ステップ104)。
前記判断ステップ104の結果からこの配線による暫定遅延値を維持させたい場合(前述ケース1)には、使用可能コンタクト数決定処理工程に進みコンタクト数を決定するとともに最短経路可能領域内にコンタクト位置を決定する(ステップ105)。
【0038】
一方前記判断ステップ104で遅延値を増大させたい場合には、増大すべき遅延値に基づいて最短経路から増大すべき距離を算出し、最短経路領域外にコンタクト位置およびコンタクト数を決定する(ステップ106)。
【0039】
次に、配線遅延を維持させたい処理(ケース1)について説明する。図1フローにおいて、使用可能コンタクト数と位置との決定を行うステップ105では注目すべき配線の最大許容コンタクト数を決定する。図5はこのコンタクト数決定処理ステップを示す図である。
【0040】
まず、前記ステップ103で算出した最短経路の算出遅延値を参照する(ステップ501)。そして設計データから、当該回路の要求される要求遅延値を参照する(ステップ502)。
【0041】
そして最短経路を通ったとしてその中で使用することのできる最大使用可能コンタクト数を算出する(ステップ503)。この最大使用可能コンタクト数は、要求遅延値と最短経路の暫定遅延値との差に基づいて決定される。
【0042】
その後配線混雑度を参照し(ステップ504)、最短経路領域内に、決定された数の範囲内のコンタクトを配置する(ステップ505)。
このとき使用可能コンタクト数が少ないほど配線経路は限定される。図6、図7は、限定された配線経路を説明する図である。このケースにおいて、決定されるべきコンタクトの位置は、2頂点201,202を結ぶ直線を対角線とする長方形状のハッチングで示す領域603の内部であり、かつトラックが重なる部分に配置しなければならない。それは、領域603以外の部分にコンタクト位置を決定すると、最短経路での配線ができなくなるためである。ここでは端子間にX方向とY方向それぞれ5本の配線トラックが存在すると仮定する。例えば、使用可能コンタクト数が1に設定されている時、端子間を接続できる経路は頂点601もしくは頂点602を通過する2経路のみとなる。
【0043】
さらに、使用コンタクト数が2に設定されている時には図2に示すように、頂点701と頂点704を同時に通過する経路と、頂点702と頂点705を同時に通過する経路と、頂点703と頂点706を同時に通過する経路と、頂点707と頂点710を同時に通過する経路と、頂点708と頂点711を同時に通過する経路と、頂点709と頂点712を同時に通過する経路の全部で6系統となる。このように使用可能コンタクト数が増加するほど、配線経路数は増え配線の自由度が増し、混雑した領域を避けて配線することが可能となる。
【0044】
次に配線遅延を増加させたい処理(ケース2)について図8を参照しつつ説明する。まずステップ103で算出した暫定遅延値を参照する(ステップ801)。次に、要求遅延値を参照し(ステップ802)、この暫定遅延値と要求遅延値とを比較し、配線においてどれだけの遅延を付加するかを算出して最短経路可能領域(図9の領域901)からの距離を算出する(ステップ803)。その後配線混雑度を参照して(ステップ804)、混雑度の小さい領域に最短経路可能領域外にコンタクト位置を決定する(ステップ805)。
【0045】
図9はこれを図式的に示したものである。例えば、図9では2点を結ぶ線を対角線とする長方形上の領域901の外部であってかつトラックの交差している点座標902にコンタクト位置を決定している。その後の配線処理を実施すると図10のような経路を取ることになり、配線距離の増加による容量値の増加とコンタクトの増加による抵抗値の増加させ、配線の遅延値を増すことが可能となる。
【0046】
最後に遅延値に対する要求を有していない場合(ケース3)について説明する。この場合にはどのような迂回経路を取ろうとも、コンタクト数がいくつであっても良い配線であるので、コンタクト数の指定や位置の指定などを行う必要はない。さらに配線する優先順位を低く設定し、既に配線されている領域を避けながら配線を行う。こうすることによって、配線領域の空き領域を有効に使用させ、本発明に起因する面積増加を抑制することができる。
【0047】
本実施の形態によれば、遅延値の制御が必要な領域であるか否かを判断し、必要であるときのみ遅延値を制御するようにしているため、必要以上に制限を加える必要がなく、配線レイアウトの自由度の増大をはかるとともに、チップ面積の低減をはかることができる上、レイアウトに要する時間を低減することが可能となる。
【0048】
また、遅延値の算出にコンタクト数やコンタクト位置を考慮し、レイアウトを決定しているため、配線経路に起因するタイミング違反を減少させることができ、より効率よく高精度のレイアウトを実現することが可能となる。
さらに、遅延値の増大の必要な部分には、コンタクト数を増加するなどの調整をしているため、チップ面積を増大することなく、設計値に近い機能をもつ半導体集積回路を提供することが可能となる。
【0049】
なお、前記実施の形態では、遅延値の制御が必要な領域であるか否かを判断し、必要であるときのみ遅延値を制御するようにしたが、このステップ102は省略し、ステップ101から、直接最短経路の距離から暫定遅延値を算出するステップ103にスキップするようにしてもよい。これにより、若干自由度は減少するが配線経路に起因するタイミング違反の低減をはかることは可能となる。
【0050】
【発明の効果】
以上説明してきたように、本発明の配線パターンの生成方法によれば、遅延値の制御が必要な領域であるか否かを判断し、この判断結果に基づいて遅延値を制御するようにしているため、必要以上に制限を加える必要がなく、配線レイアウトの自由度の増大をはかることができる。
従って、チップ面積の低減および半導体集積回路の高性能化をはかることができる上、修正工数の削減が可能となり、レイアウトに要する時間を低減することが可能となる。
また本発明の配線パターンの生成装置によれば、容易に高性能の半導体集積回路のレイアウトを行うことが可能となる。
【図面の簡単な説明】
【図1】本実施の形態のレイアウト設計方法における全体工程のフロー図である。
【図2】マンハッタン距離を説明する図面である。
【図3】2点間の配線経路数を示す図面である。
【図4】2点間を最短経路配線したとしても使用するコンタクト数が異なることを示した図面である。
【図5】配線遅延値を抑制するための工程を示すフロー図である。
【図6】配線遅延値を抑制させるために、使用コンタクト数を1とした場合の配線経路を示す図面である。
【図7】配線遅延値を抑制させるために、使用コンタクト数を2とした場合の配線経路を示す図面である。
【図8】配線遅延値を増加させるための工程を示すフロー図である。
【図9】配線遅延値を増加させるために、最短経路範囲外に使用コンタクト位置を決定した場合を示す図面である。
【図10】配線遅延値を増加させるために、最短経路範囲外に使用コンタクト位置を決定した場合の配線経路を示す図面である。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a wiring pattern generation method and a wiring pattern generation device, and more particularly to a layout method of a semiconductor integrated circuit designed using a computer, and particularly to a wiring in consideration of timing.
[0002]
[Prior art]
Not to mention computers, the range of use of LSIs is expanding to communication devices such as mobile phones, general household products, toys, and automobiles.
[0003]
Under such circumstances, the LSI is positioned as a key device in each product, and a large-scale and high-speed LSI is required to secure the competitiveness of the product. As the product cycle becomes shorter, automation of LSI design is indispensable to meet these demands. In recent years, attention has been paid to the design of semiconductor integrated circuits using LSI computers. In each of the LSI design flows, the layout process and the wiring process performed at the time of layout are designed using an automatic layout tool, and the development period is shortened by reducing the number of man-hours.
[0004]
In the flow using a general automatic layout tool performed today, cell arrangement processing is performed using circuit connection information (netlist) while considering congestion and timing, and the cell arrangement position is determined. Wiring between terminals to be connected later is performed.
[0005]
Normally, in the routing process, the degree of congestion is evaluated from the result of the rough routing process, a rough routing route is determined, it is confirmed that the routing can be performed at this stage, and the routing is performed in the detailed routing process so as to satisfy the graphic design rule. Is going.
[0006]
However, when there is an area where wiring is congested, a wiring path different from the estimation at the time of general wiring may be taken in order to avoid the congestion. When such a detour path is taken, the distance of the wiring becomes long as a result, the resistance value and the capacitance value of the wiring increase, and the required delay value may not be satisfied. Conversely, if there is a path to which a delay is to be added, a logically redundant buffer must be inserted in series in order to obtain a desired delay with the cell delay, resulting in an increase in area and This has led to an increase in power.
[0007]
Conventionally, there has been proposed a method of estimating a schematic wiring route, evaluating wiring properties and timing properties, and performing wiring again in consideration of a constraint condition (see Patent Document 1). In this method, provisional schematic wiring is performed to satisfy a required delay value and a wiring path is obtained, thereby extracting a resistance value and a capacitance value of a wiring of interest, calculating a provisional delay value, and calculating a violation. If there is, the temporary wiring processing is performed again. In addition, there has been proposed a method of designing a wiring in which priority is given to a wiring having a large violation with respect to a delay value so that the congestion degree and the timing are compatible and the delay value is reduced.
[0008]
[Patent Document 1]
JP 2000-223578 A
[Problems to be solved by the invention]
By the way, the number of contacts passing through the wiring path has a great influence on the delay in the wiring. However, in the above method, no consideration is given to the contact that passes when the wiring layer is switched.
[0010]
In today's semiconductor integrated circuits, a multilayer wiring structure is used in order to realize high integration. For this reason, the wiring for connecting the terminals includes a contact (via) formed in the interlayer insulating film for changing the wiring between the wiring for connecting the same wiring layer and the wiring layer.
[0011]
For the wiring connecting the same wiring layer, the wiring width and the wiring interval are determined for each process. With the automatic layout tool, the wiring connecting the vertical direction (the direction perpendicular to the substrate surface) and the horizontal direction (the direction parallel to the substrate surface) ) Are predetermined. In the multilayer wiring process, wiring layers are allocated to each of the vertical direction and the horizontal direction.
[0012]
For example, in the case of four-layer wiring, the first and third wiring layers are allocated in the horizontal direction, and the second and fourth layers are allocated in the vertical direction. Therefore, when the wiring layer is changed, that is, when the wiring layer is bent by 90 degrees, it is necessary to pass through the contact. Although the shape of the contact differs depending on the design rule for each process, it is generally set to be smaller than the normal wiring width, so that the resistance value increases, which is one of the causes that affects the wiring delay.
[0013]
For this reason, there is a problem that it cannot be said that sufficient measures against wiring delay are taken even by the above method.
[0014]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a semiconductor integrated circuit which has appropriate wiring delay measures and has desired characteristics.
It is another object of the present invention to increase the degree of freedom in wiring layout, reduce the chip area, and improve the performance of a semiconductor integrated circuit.
It is another object of the present invention to reduce the number of repair steps and reduce the time required for layout.
[0015]
[Means for Solving the Problems]
Therefore, the wiring method of the present invention determines the arrangement position of the elements mounted on the semiconductor integrated circuit, calculates the distance of the shortest path connecting the elements, calculates a provisional delay value, and calculates the provisional delay value. Then, the required delay value for each wiring is compared with each other, and the case of the wiring is classified based on the comparison result.
[0016]
When the provisional delay value calculated on the shortest path is substantially equal to the required delay value, the maximum number and position of contacts are determined. Thereafter, re-schematic wiring and re-detailed wiring are performed using the determined contact position information. In this processing, priority wiring is performed so as to always pass through the determined contact in the wiring path, and wiring is performed so as to maintain the calculated shortest path delay value.
[0017]
If the delay calculated by the provisional detailed wiring route is smaller than the required delay time, the contact position is determined at a position that is not on the shortest route (such that the shortest route cannot be connected), and By carrying out priority wiring so as to pass through, a detour path is taken and wired.
[0018]
In addition, for a wiring that does not require a delay value, the number of contacts and the position are not specified, the wiring is performed with the lowest priority, and the wiring is routed while bypassing a high congestion area. Is used effectively to realize a highly integrated LSI.
[0019]
A wiring pattern generating apparatus used for realizing the wiring pattern includes a distance calculating unit that calculates a distance of a shortest path connecting cells from connection information in a layout design of a semiconductor integrated circuit, based on the distance of the shortest path. A delay value calculating means for calculating a provisional delay value, a timing delay of the circuit is evaluated from design data, and a request delay value calculating means for calculating a required delay value required between cells; Pattern generation means for comparing the provisional delay value with the provisional delay value to determine the number and position of contacts used in performing multilayer wiring, and generating a wiring pattern based on the determined contact position.
[0020]
The present invention has been made in view of the following facts.
[0021]
That is, from the viewpoint of delay values, the present inventors consider that each wiring constituting a semiconductor integrated circuit has a wiring that must be suppressed to a required wiring delay value or less, and a wiring that has a required wiring delay value or more. Have been found to be able to be divided into three types: wiring that must have a delay and wiring that does not require delay (they only need to be electrically connected).
[0022]
Of the three types, when the wiring delay value must be kept below the required wiring delay value (hereinafter referred to as Case 1), the data transition time between flip-flops becomes longer than the clock cycle and a setup timing violation occurs. Such a case and a case where a delay value of an interface with the outside of the semiconductor chip is required belong to this. In such a case, it is desirable to connect the signal wiring path with the shortest path in order to reduce the resistance value and the capacitance value.
[0023]
By the way, if the positions of the terminals to be connected are determined after the cell arrangement processing, the distance of the shortest path of the signal connecting the terminals can be calculated. This distance is generally called the Manhattan distance.
[0024]
As shown in FIG. 2, when the
L = | x2-x1 | + | y2-y1 | ... Formula (1)
That is, the Manhattan distance is the length of the shortest path in the wiring method using the wiring grid. However, the route connected by the Manhattan distance is not limited to one route shown in FIG.
[0025]
FIG. 3 is a diagram illustrating the number of routes connected by the Manhattan distance. If there are M paths in the X direction and N paths in the Y direction, the number of paths that can be wired between the terminal 301 and the terminal 302 is M and N, respectively. It increases according to. In this case, the sum of the distances of the wirings is equal in any of the routes, but the number of switching wirings, that is, the number of contacts is different.
[0026]
Further, FIG. 4 shows a wiring route when the number of contacts increases to 2, 3, and 4. As described above, even if wiring is performed in the shortest route, the resistance value of the wiring is increased by passing through the contact, and as a result, the delay value due to the wiring is increased and the required delay condition cannot be satisfied. was there. In such a case, it is necessary to limit not only the wiring path but also the maximum usable number of contacts.
[0027]
Further, when the delay value must be equal to or more than the required wiring delay value (hereinafter referred to as Case 2), the variation (skew) of the signal arrival delay time of two or more terminals is suppressed, and the delay between flip-flops is reduced. Is too small, a hold time error occurs in which the data signal arrives before the clock arrival time of the subsequent flip-flop, or a delay value of the interface with the outside of the semiconductor chip is required. Conventionally, when such a timing violation occurs, a delay cell or the like is inserted between the terminals to add a delay value of the cell, thereby delaying the propagation delay between the terminals.
However, this method has a problem in that the connection information (netlist) of the circuit must be corrected, and the number of development steps increases. Furthermore, the insertion of the delay cells causes a problem that the area for the inserted cells increases and the power consumption increases. In this case, in order to increase the delay due to the wiring, it is necessary to make the distance of the wiring path longer than the shortest path.
[0028]
In addition, as a wiring that does not require a delay (there is only an electrical connection) (hereinafter, this case is referred to as case 3), for example, a reset signal that is not critical in time, a mode switching signal, a test circuit, and the like belong. . These signals only need to be electrically connected, and need not necessarily be wired in the shortest path. However, this does not mean that the wiring delay may be unlimitedly large, and the signal propagation time (slew) constraint that is equal to or more than the library specified value of each cell must be satisfied. These signals are signals that are allowed to pass through the contacts indefinitely and repeat the bypass wiring even in an area where the wiring is congested.
In this case, by increasing the wiring area while avoiding the wiring paths in the first case and the second case, it is possible to suppress an increase in area due to the wiring.
Thus, the layout is designed for the semiconductor integrated circuit by dividing the case according to the degree of delay requirement.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described.
It is assumed that the terminals described in this embodiment include all wiring layers, and that the wiring in the vertical direction and the wiring in the horizontal direction are assigned to each wiring layer. For further simplification, the number of wiring layers is one in each of the vertical and horizontal directions.
[0030]
In this method, it is detected whether or not there is a request for a cell delay value, and if this request is made, a provisional delay value is calculated based on the shortest path, and the provisional delay value is used as the request delay value. It is characterized in that it is determined whether or not the condition is satisfied, and the contact position and the number of contacts are adjusted based on the result of this determination.
[0031]
That is, when there is a request for the cell delay value, a delay value with the shortest path and the number of contacts of one is calculated, and when it is desired to maintain the wiring delay for the wiring having the required delay, The case is divided into two cases where it is desired to increase the wiring delay with respect to the value.
[0032]
Thereafter, in each case, the number and position of the contacts are determined, and when performing the rewiring, the intended delay value can be obtained by giving a constraint that always passes through the determined contact position. Timing violations caused by wiring paths can be reduced, which is effective in improving the performance of LSI and reducing the number of repair steps. In addition, it is possible to prevent the increase in chip size by bypassing the wiring even if there is an area where the wiring is congested even if there is an area where the wiring is congested by making a detour path for wiring that does not require delay. Become.
[0033]
FIG. 1 shows a processing flow of a layout method for a semiconductor integrated circuit according to the present embodiment.
In this method, first, cells existing in a circuit are arranged using any method such as a manual arrangement, an automatic arrangement tool, and a timing-driven arrangement tool (step 101). At this time, the coordinates between the terminals to be connected are determined.
[0034]
Thereafter, it is determined whether or not the wiring of interest has a requirement for a required delay value in the design data (step 102).
If there is a request for a delay value in the determination step 102 (
[0035]
On the other hand, if there is no request for the delay value in the judgment step 102 (case 3 described above), the process proceeds to the remaining wiring process, that is, the wiring process with the lowest priority (step 108).
[0036]
In
[0037]
Then, the provisional delay value of the wiring of interest calculated in
If it is desired to maintain the provisional delay value due to the wiring based on the result of the determination step 104 (
[0038]
On the other hand, if it is desired to increase the delay value in the
[0039]
Next, a process for maintaining the wiring delay (case 1) will be described. In the flow of FIG. 1, in
[0040]
First, reference is made to the calculated delay value of the shortest route calculated in step 103 (step 501). Then, the required delay value of the circuit is referred to from the design data (step 502).
[0041]
Then, the maximum number of available contacts that can be used in the shortest route is calculated (step 503). The maximum number of available contacts is determined based on the difference between the required delay value and the provisional delay value of the shortest path.
[0042]
Then, referring to the wiring congestion degree (step 504), the contacts within the determined number are arranged in the shortest path area (step 505).
At this time, as the number of usable contacts is smaller, the wiring path is more limited. FIG. 6 and FIG. 7 are diagrams illustrating limited wiring paths. In this case, the position of the contact to be determined must be located inside a
[0043]
Further, when the number of used contacts is set to 2, as shown in FIG. 2, a route passing through the
[0044]
Next, a process for increasing the wiring delay (case 2) will be described with reference to FIG. First, the provisional delay value calculated in
[0045]
FIG. 9 schematically illustrates this. For example, in FIG. 9, the contact position is determined at a point coordinate 902 outside the
[0046]
Finally, a case where there is no request for a delay value (case 3) will be described. In this case, no matter what detour path is taken, the wiring may have any number of contacts, so that it is not necessary to specify the number of contacts or the position. Further, the wiring priority is set lower, and wiring is performed while avoiding the already wired area. By doing so, the free area of the wiring area can be effectively used, and the increase in area due to the present invention can be suppressed.
[0047]
According to the present embodiment, it is determined whether or not it is an area where the control of the delay value is necessary, and the delay value is controlled only when it is necessary. In addition, it is possible to increase the degree of freedom of the wiring layout, to reduce the chip area, and to reduce the time required for the layout.
[0048]
In addition, since the layout is determined in consideration of the number of contacts and the contact position in the calculation of the delay value, timing violations caused by the wiring paths can be reduced, and a more accurate layout can be realized more efficiently. It becomes possible.
Furthermore, since adjustments such as increasing the number of contacts are made in the portions where the delay value needs to be increased, it is possible to provide a semiconductor integrated circuit having a function close to the design value without increasing the chip area. It becomes possible.
[0049]
In the above-described embodiment, it is determined whether or not the area is the area where the control of the delay value is necessary, and the delay value is controlled only when it is necessary. Alternatively, the process may be skipped to the
[0050]
【The invention's effect】
As described above, according to the method for generating a wiring pattern of the present invention, it is determined whether or not an area requires control of a delay value, and the delay value is controlled based on the determination result. Therefore, there is no need to limit more than necessary, and the degree of freedom of the wiring layout can be increased.
Therefore, the chip area can be reduced and the performance of the semiconductor integrated circuit can be improved, the number of repair steps can be reduced, and the time required for layout can be reduced.
Further, according to the wiring pattern generation device of the present invention, it is possible to easily lay out a high-performance semiconductor integrated circuit.
[Brief description of the drawings]
FIG. 1 is a flowchart of an overall process in a layout design method according to an embodiment.
FIG. 2 is a diagram illustrating a Manhattan distance.
FIG. 3 is a drawing showing the number of wiring paths between two points.
FIG. 4 is a diagram showing that the number of contacts used is different even when the shortest route wiring is performed between two points.
FIG. 5 is a flowchart showing a process for suppressing a wiring delay value.
FIG. 6 is a diagram showing a wiring path when the number of used contacts is set to 1 in order to suppress a wiring delay value.
FIG. 7 is a diagram showing a wiring path when the number of contacts used is set to 2 in order to suppress a wiring delay value.
FIG. 8 is a flowchart showing a process for increasing a wiring delay value.
FIG. 9 is a diagram illustrating a case where a used contact position is determined outside a shortest path range in order to increase a wiring delay value.
FIG. 10 is a diagram illustrating a wiring path when a used contact position is determined outside a shortest path range in order to increase a wiring delay value.
Claims (3)
前記最短経路の距離に基づいて暫定遅延値を算出する工程と、
接続情報から当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する工程と、
前記要求遅延値と前記暫定遅延値とを比較して、この比較結果に基づき要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求める工程と、
求められたコンタクト位置に基づいて配線パターンを生成する工程とを有することを特徴とする配線パターン生成方法。In a layout design of a semiconductor integrated circuit, a step of obtaining a distance of a shortest path of a wiring connecting between cells in the circuit;
Calculating a provisional delay value based on the distance of the shortest path,
Estimating the timing of the circuit from the connection information and calculating a required delay value required between cells;
Comparing the required delay value and the provisional delay value, based on the comparison result, to obtain a required delay value, to determine the number and position of contacts used when performing multilayer wiring,
Generating a wiring pattern based on the determined contact position.
前記最短経路の距離に基づいて暫定遅延値を算出する遅延値算出手段と、
設計データから当該回路のタイミング性を評価し、セル間で要求される要求遅延値を算出する要求遅延値算出手段と、
前記要求遅延値と前記暫定遅延値とを比較して、この比較結果に基づき要求遅延値となるように、多層配線を行う際のコンタクトの使用数と位置を求め、求められたコンタクト位置に基づいて配線パターンを生成するパターン生成手段とを有することを特徴とする配線パターン生成装置。In the layout design of the semiconductor integrated circuit, from the connection information, distance calculation means for calculating the distance of the shortest path connecting the cells,
Delay value calculating means for calculating a provisional delay value based on the distance of the shortest path,
Request delay value calculation means for evaluating the timing of the circuit from the design data and calculating a required delay value required between cells;
The required delay value is compared with the provisional delay value, and the number and position of contacts used in performing multilayer wiring are determined based on the comparison result so as to be the required delay value, based on the determined contact position. A wiring pattern generating device for generating a wiring pattern by using the wiring pattern generating device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002321335A JP2004157663A (en) | 2002-11-05 | 2002-11-05 | Wiring pattern generation method and wiring pattern generation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002321335A JP2004157663A (en) | 2002-11-05 | 2002-11-05 | Wiring pattern generation method and wiring pattern generation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004157663A true JP2004157663A (en) | 2004-06-03 |
Family
ID=32801924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002321335A Pending JP2004157663A (en) | 2002-11-05 | 2002-11-05 | Wiring pattern generation method and wiring pattern generation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004157663A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067667A (en) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | Semiconductor integrated circuit apparatus |
-
2002
- 2002-11-05 JP JP2002321335A patent/JP2004157663A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010067667A (en) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | Semiconductor integrated circuit apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pavlidis et al. | Interconnect-based design methodologies for three-dimensional integrated circuits | |
US10418354B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
US7739632B2 (en) | System and method of automated wire and via layout optimization description | |
WO2000067163A2 (en) | Placement-based pin optimization method and apparatus for computer-aided circuit design | |
EP2920719A1 (en) | Hard macro having blockage sites, integrated circuit including same and method of routing through a hard macro | |
US7612599B2 (en) | Semiconductor device | |
CN107436965A (en) | The computer implemented method of integrated design circuit | |
KR20180028252A (en) | Integrated Circuit Designing System and Method of Manufacturing Integrated Circuit | |
KR102717096B1 (en) | Integrated circuit and computer-implemented method for manufacturing the same | |
JP5060991B2 (en) | Integrated circuit design support apparatus, integrated circuit design support method, integrated circuit design support program, and recording medium on which this program is recorded | |
JP2001306641A (en) | Automatic arranging and wiring method for semiconductor integrated circuit | |
US7091614B2 (en) | Integrated circuit design for routing an electrical connection | |
US9904754B2 (en) | Layout of interconnect lines in integrated circuits | |
Kubo et al. | Global routing by iterative improvements for two-layer ball grid array packages | |
JP2004157663A (en) | Wiring pattern generation method and wiring pattern generation device | |
US20170061063A1 (en) | Integrated circuit with reduced routing congestion | |
Durrani et al. | WITHDRAWN: Power modeling for high performance network-on-chip architectures | |
US8336001B2 (en) | Method for improving yield rate using redundant wire insertion | |
JP2001298089A (en) | Design method of semiconductor integrated circuit | |
US7992118B2 (en) | Semiconductor integrated circuit and design method for semiconductor integrated circuit | |
JP5187217B2 (en) | Semiconductor layout system, method, and program | |
US6845346B1 (en) | Iterative method of parasitics estimation for integrated circuit designs | |
JP2006229088A (en) | How to create a hard macro | |
JPH1065007A (en) | Apparatus and method for designing semiconductor integrated circuit | |
JP2004087972A (en) | Semiconductor device and its clock signal wiring method |