JP3564295B2 - セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 - Google Patents
セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3564295B2 JP3564295B2 JP14092198A JP14092198A JP3564295B2 JP 3564295 B2 JP3564295 B2 JP 3564295B2 JP 14092198 A JP14092198 A JP 14092198A JP 14092198 A JP14092198 A JP 14092198A JP 3564295 B2 JP3564295 B2 JP 3564295B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- area
- usage rate
- restricted
- restricted area
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、LSIやVLSIのコンピュータ支援の自動設計において論理設計に続いて行われるレイアウト設計で使用されるセル配置装置及び方法並びにセル配置プログラムを格納したコンピュータ読取り可能な記録媒体に関し、特に、セル上の配線密度が混雑する領域のセル使用率を制限して最適なセル配置を実現するセル配置装置及び方法並びにセル配置プログラムを格納したコンピュータ読取り可能な記録媒体に関する。
【0002】
【従来の技術】
VLSI、LSI等の大規模半導体集積回路をコンピュータの支援により自動設計するCADシステムにあっては、まずAND、OR等のセルと、セル間の接続(ネット)を決定する論理設計を行い、次に、論理設計で得られるネットリストに基づきチップ上のセル位置を決定するセル配置処理を行い、最後に、チップ上に配置したセル間のネットをどう引くかの配線を決める配線処理(ルーチング:routing) を行っている。
【0003】
従来のセル配置処理としては、例えばパーティションニング・ベースド配置アルゴリズムが知られている。パーティションニング・ベースド配置アルゴリズムルは、まずチップ全体を2つの領域に分割し、全てのセルを分割した2つの領域に振り分ける。セルの降り分ける基準は、セルを2つの領域に降り分けたとき、2つの領域に跨って存在するネットの数をコストとし、このコストが最小となるようなグループ分けする。
【0004】
このようなセル領域の分割とセルの振り分けを、分割したブロックがセル1個に対応した最小ブロックとなるまで繰り返す。
この場合、チップ上にセルを配置した結果、セルが1カ所に固まってしまったのでは、配線することができないので、セルの分布に制約条件をつけて配置する。この制約条件は、まず2つの領域のセル使用率ρ(1),ρ(2)を次式で求める。
【0005】
ρ(2)=s1/S1
ρ(2)=s2/S2
次に2つの領域の使用率の差の絶対値が正の定数α以下とする条件式、
|(s1/S1)−(s2/S2)|≦α (1)
但し、αは正の定数
を制約条件とし、この条件式を満すようにセルをグループ分けする。
【0006】
このようにブロック分割した際のセル使用率の相違が一定の範囲に入っているという条件を満たして配置することにより、セルを適度に分散させる。このようなセル使用率の制約条件を面積制約と呼ぶことにする。
【0007】
【発明が解決しようとする課題】
しかしながら、コンピュータ支援のセル配置処理はチップ上に全てのセルを配置するわけではなく、例えば、クロック信号の伝達用セル、RAM等のセルは、セルの自動配置を行う前に、既に位置が決定しているのが普通である。このためセル配置の制約条件として面積制約を設定した従来のセル配置処理にあっては、チップ上に予め配置位置の決った既配置セルが存在する場合、これらの既配置セルに接続しているネットのため、セル配置完了に続いて行う配線処理において配線密度に片寄りを生じる可能性がある。
【0008】
このため配線密度が高い部分では、配線に使用する面積が他の部分よりも大きくなるなどの理由から、セルの配置時に、セルの使用面積を他の部分よりも下げておかなければならない。配線密度は概略配線を行ってみれば、ほぼ正確に見積もれるので、セル配置が略終了した段階で概略配線を行い、配線密度が高い部分からセルを取り除く作業を追加する方法が考えられる。
【0009】
しかし、配線密度の高い部分からセルを取り除いて他の部分に移す場合、セル配置処理におけるセル使用率の制約条件が崩れるため、セル配置の品質が全体的に悪化し、やはり配線できない可能性がある。
またシミュレーティド・アニーリングなどのアルゴリズムを用いて、セル配置の品質を保証しながら配線密度の高い部分からセルを取り除いて他の部分に移す操作を行うことも可能である。しかし、セル配置の品質は保たれるものの、この方法では処理時間がかかることになる。
【0010】
特定の領域のセル使用面積を下げる方法として、従来はセル配置禁止領域やフロアプランなどが使用されている。しかし、セル配置禁止領域は、その範囲内にセルを配置することを完全に禁止することを目的としている。このため、ある領域に、セル使用面積を下げるためにセル配置禁止領域を部分的に設定した場合、このセル配置禁止領域により配置できるセルの大きさが制約され、大きめセルが配置できないという不都合の方が大きくなる。
【0011】
またフロアプランは、あるロジックを構成するモジュール(マクロセル)を配置する領域を指定するものであり、制御する単位がロジックによって決められている。このためモジュール内に配線密度の高い領域が存在しても、この部分のセル使用面積をフロアプランによって下げることはできない。また2つのモジュール間に配線密度の高い領域が存在するような場合も、この部分のセルの使用面積をフロアプランによって下げることはできない。
【0012】
即ち、セル配置禁止領域とフロアプランは、両者とも別の目的のために作られたものであり、配線密度の高い領域のセルの使用面積を下げるために使用できない。
従って、チップ上に既配置セル等が存在する場合、ネット及びセルともに密度が高い部分が生じて配線が困難になり、これを回避するためにセル配置をやり直すと処理に時間がかかるという問題点があった。
【0013】
本発明は、このような問題点に鑑みてなされたもので、既配置セル等に起因したセル配置で特定領域の配線密度が高くなって配線が困難になることを防止するセル配置装置および方法並びにセル配置プログラムを格納したコンピュータ読取り可能な記録媒体を提供することを目的とする。
【0014】
【問題点を解決するための手段】
図1は本発明の原理説明図である。本発明のセル配置装置は、図1(A)のように、制限領域指定部22、制限領域管理部24、及びセル配置部26で構成される。
制限領域指定部22は、チップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域40と、この制限領域のセル最大使用率ρ、例えばρ=50%を各々指定する。制限領域管理モジュール24は、制限域指定部22で指定された制限領域50及びセル最大使用率を入力して管理する。
【0015】
セル配置モジュール26は、制限領域管理モジュール24で管理されている制限領域40のセル使用率が指定されたセル最大使用率を越えないようにセルを配置する。
このように本発明の自動セル配置装置にあっては、チップ上の配線密度が高くなりそうな部分を、セル使用率を制限する制限領域40として指定すると共に、制限領域内での最大セル使用率を指定しておくことで、指定された制限領域40のセル使用率が、指定された最大セル使用率を超えないセルが配置され、配線密度が高い領域はセル使用率が低いため、配線処理が確実にでき、余分な時間をかけずに配線を完了できる。
【0016】
制限領域の位置とセル最大使用率の決め方として最も単純なものは、図18A)のように、ユーザが指定するものである。即ち、制限領域指定部22は、チップ上の既配置セル36,38の間の配設混雑領域等を判断した利用者の操作入力に基づいて、制限領域40及びセル最大使用率を指定する。ここで制限領域40のセル最大使用率としては、チップ全体のセル使用率より低い使用率を指定する。例えば、通常のチップのセル使用率60乃至70%に対し、制限領域のセル最大使用率ρmax として使用率50%を指定する。
【0017】
また制限領域の位置とセル最大使用率の別の決め方として、制限領域指定部22は、配置位置が固定的に決められた既配置セルの位置に基づいてチップ上でブロック分割した各部分の配線密度を見積もり、この配線密度に基づいてセル使用率を制限する制限領域及び制限領域のセル最大使用率を決定する。
即ち、制限領域指定部22は、図1(B)のように、チップ上に配置位置が固定的に決められた既配置セルを配置する既配置セル配置モジュール66、既配置セルを対象に概略配線を行う概略配線モジュール68、チップを所定サイズのブロックに分割し、各ブロック毎に概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定モジュール70、及び配線混雑領域をセル使用率を制限する制限領域に決定し、この制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定モジュール72で構成される。
【0018】
更に制限領域の位置とセル最大使用率の別の決め方として制限領域指定部22は、暫定配置(grobal/rough placement) したセルの位置に基づいてチップ上でブロック分割した各部分の配線密度を見積もり、この配線密度に基づいてセル使用率を制限する制限領域及び該制限領域のセル最大使用率を決定する。
即ち、制限領域指定部22は、図1(C)のように、チップ上にセルを暫定的に配置するセル暫定高速配置モジュール94、暫定配置セルを対象に概略配線を行う概略配線モジュール68、チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定モジュール、及び配線混雑領域をセル使用率を制限する制限領域に決定し、制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定モジュール72で構成される。
【0019】
ここでセルを暫定配置することで高速なセル配置ができるが、最適化が不十分になるため、このセル配置結果を使って配線処理を行うと、線長が長くなり、配線がしにくく品質が下がり、配線処理に使用するには不適切である。しかし、配線が混雑する領域をある程度見積もることができるので、セル暫定配置の情報に基づいた概略配線により配線混雑領域を判定して制限領域と通常より低いセル最大使用率の指定を行うことで、配線のしやすいセル配置結果が期待できる。
【0020】
図1(B)(C)の制限領域決定モジュール72は、制限領域のセル最大使用率としてチップのセル使用率より低い使用率を決定する。また制限領域決定モジュール72は、制限領域のセル最大使用率を予め登録した使用率情報(使用率リスト)を有し、この使用率情報の参照により制限領域のセル最大使用率を決定する。
【0021】
セル配置モジュール26は、チップ領域について順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにチップをグループ分けするパーティショニング・ベースド配置モジュール30と、分割した2領域の合計面積(S1+S2)を、2領域の合計セル面積sに対する制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´ 比率で案分した各領域の面積S1´,S2´に換算し、各領域の換算面積S1´,S2´に対する各領域のセル合計面積に比率の差が所定の範囲内となるように、パーティショニング・ベースド配置モジュールによるセルのグループ分けを制御するセル配置制御モジュール32を備える。
【0022】
セル配置制御モジュール32は、次の処理を行う。
▲1▼2分割された第1領域と第2領域の各セル面積をs1,s2、全セル面積をs(=s1+s2) 、第1領域の面積をS1、第2領域の面積をS2、i番目の制限領域の内の第1領域に入っている部分の面積をS1(i)、i番目の制限領域の内の第2領域に入っている部分の面積をS2(i)、i番目の制限領域で指定したセル使用率をρ(i)とした場合、
▲2▼第1及び第2領域の各々についてセル使用率の制限のない部分の面積S1(0)、S2(0)を、
S1(0)S1−ΣS1(i)
S2(0)S2−ΣS2(i)
として求め、
▲3▼次にセル使用率の制限のない部分の使用率ρ(0)を、
ρ(0) ={(全セル面積)−(使用率指定領域の合計セル面積)}/(全面積)
=[s−Σ{ρ(i) × (S1(i)+S2(i))}]/S1(0)+S2(0))
として求め、
▲4▼次に前記使用率ρ(0),ρ(i)に基づいた第1及び第2領域のセル有効面積s1´,s2´を、
s1´ =ρ(0) × S1(0)) +Σ(ρ(i) × (S1(i))
s2´ =ρ(0) × S2(0)) +Σ(ρ(i) × (S1(i))
として求め、
▲5▼次に第1及び第2領域のセル有効面積s1´,s2´のセル合計面積sに対する比率で第1及び第2領域を案分した面積S1´,S2´を
S1´=(S1+S2)×(s1´/s)
S2´=(S1+S2)×(s2´/s)
として換算し、
▲6▼この第1及び第2領域の換算面積S1´,S2´に対する各セル面積s1,s2の差の絶対値が
|s1/S1´−s2/S2´|≦α
の条件を満たすように、パーティショニング・ベースド配置モジュールによるセルのグループ分けを制御する。
【0023】
また本発明は、セル配置方法を提供するものであり、次の手順をもつ。
チップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域と制限領域のセル最大使用率を指定する制限領域指定過程と;
制限領域指定過程で指定された制限領域及びセル最大使用率を入力して管理する制限領域管理過程と、
制限領域管理過程で管理されている前記制限領域のセル使用率が指定されたセル最大使用率を越えないようにセルを配置するセル配置過程と、
を備えたことを特徴とする。
【0024】
このセル配置方法の詳細は、装置構成と同じになる。
また本発明は、セル配置プログラムを記録したコンピュータ読取り可能な記録媒体を提供するものであり、次の手順をもつ。
チップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域と制限領域のセル最大使用率を指定する制限領域指定過程;
制限領域指定過程で指定された制限領域及びセル最大使用率を入力して管理する制限領域管理過程と、
制限領域管理過程で管理されている制限領域のセル使用率が指定されたセル最大使用率を越えないようにセルを配置するセル配置過程;
このセル配置方法の詳細は、装置構成と同じになる。
【0025】
【発明の実施の形態】
図2は本発明のセル配置装置が使用されるコンピュータ支援のLSI又はVLSI自動設計システムのブロック図である。
このLSI自動設計システムは、論理設計システム10とレイアウト設計システム14で構成される。論理設計システム10は、設計対象となる大規模集積回路の動作内容を表す情報を入力とし、ライブラリに登録されているセルとセル間の接続情報で表現した論理的な接続情報でなるネットリストデータ12を生成する。
【0026】
レイアウト設計システム14は、論理設計システム10で生成されたネットリストデータ12に基づき、チップ上でのセルの配置と配置したセル間の配線処理を行ってレイアウト設計データ16を生成する。このためレイアウト設計システム14には、セル配置システム18とセル間配線システム20が設けられている。本発明のセル配置システムは、レイアウト設計システム14に設けられたセル配置システム18として実現されている。
【0027】
図3は、図2のレイアウト設計システム14に設けた本発明のセル配置装置としてのセル配置システム18の第1実施形態であり、この実施形態にあっては、ユーザによってチップ上のセル使用率を制限する制限領域と、制限領域のセル最大使用率の指定を行うようにしたことを特徴とする。
図3において、本発明のセル配置装置として機能するセル配置システム18は、ユーザインタフェースとして機能する制限領域指定部22、制限領域管理モジュール24、セル配置モジュール26で構成される。セル配置モジュール26にはパーティショニング・ベースド配置モジュール30とセル配置制御モジュール32の機能が設けられる。
【0028】
ユーザインタフェースとして機能する制限領域指定部22は、ユーザの操作入力に基づいてチップ上に制限領域及びその制限領域のセル最大使用率を指定する。制限領域指定部22によるユーザによるセル使用率を制限する制限領域の指定方法は、例えば図4に示すようにして行う。
図4はセル配置処理の対象となるチップ領域34であり、このチップ領域34については例えば2つの既配置セル36,38が存在していたとする。既配置セル36,38は、クロック信号伝達用セルやRAMなどのメモリセルであり、チップ領域34に対する配置位置が予め固定的に決まっており、図3のセル配置モジュール26によるセル配置の対象から除外されたセルである。
【0029】
このようにチップ領域34に既配置セル36,38が存在する場合には、既配置セル36,38の間の領域を通る配線数が図2の論理設計システム10で生成されたネットリストデータ12の参照で分かり、この既配置セル36,38に起因した配線に加えて、その間に配置したセルの配線が加わることで、配線密度の高い領域と判断することができる。
【0030】
そこで、ユーザは既配置セル36と既配置セル38で挟まれた矩形の領域が配線密度が高くなることが予想される配線密度混雑領域と判断し、この領域をセル使用率を制限する制限領域40に指定する。このようにしてユーザが既配置セル36,38の間の矩形領域を制限領域40に指定したならば、次に制限領域40のセル最大使用率を指定する。
【0031】
このセル最大使用率の指定については、まずチップ領域34の全体のセル使用率ρ(T)を求める。
即ち、
ρ(T)=(全セル面積)/(チップ領域面積)
とする。この場合、既配置セル36,38の設置面積はセル禁止領域となることから、チップ領域面積から除く。もちろん、既配置セル36,38のセル面積も全セル面積には含めない。
【0032】
このようにしてチップ領域34の全体のセル使用率ρ(T)を算出し、例えばρ(T)=70%であったとすると、既配置セル36,38の間の制限領域40のセル最大使用率ρ(i)=50%を指定する。
この種のコンピュータ支援による大規模集積回路の自動設計において、経験的にチップ領域34の全体的な使用率は60%〜70%である。したがって制限領域40については、この通常の使用率より低い例えば50%とすることが望ましい。また制限領域40の使用率は全体の使用率に対応して変化させても良い。
【0033】
例えば全体の使用率が80%であったならば制限領域40の使用率は60%とし、また全体の使用率が60%であったならば制限領域40の使用率は40%とする。即ち、制限領域40の使用率は非制限領域の使用率より低い値であれば必要に応じて適宜の値を指定することができる。
図5は図3のユーザインタフェースとしての制限領域指定部22によりユーザが指定する制限領域の他の例である。図5(A)はセル配置対象とする大規模集積回路を構築するチップ44の側面図であり、このチップ44によっては例えば第0層46、第1層48、第2層50及び第3層52の4層構造を持っている。このうち第0層46がセル配置に使用され、それ以外の第1層48〜第3層52はパワー供給や信号伝送の予定に使用される。
【0034】
図5(B)は、図5(A)の第3層52の平面図であり、第3層52には格子状にパワーライン54が形成されており、このパワーライン54に対し垂直方向のスルーホールによる接続で、下位に位置する第0層46から第2層50に対し電源供給ができるようにしている。このパワーライン54の幅は第0層46に配置されるセルのサイズに比べ十分広く、パワーライン54の幅の中に多数のセルが配置される関係にある。
【0035】
図5(C)は、図5(A)の第0層46の平面図であり、図5(B)の第3層52のパワーライン54に対応した斜線で示す格子状の領域56に存在するセルが、第3層52のパワーライン54と垂直方向の配線接続により電源供給を受け、このため配線密度の高い領域ということができる。そこでオペレータは、図5(C)の第0層46で与えられるチップ領域のパワーライン54に対応した斜線部の領域をセル使用率を制限する制限領域56に指定する。
【0036】
このようにパワーライン54に対応した制限領域56が指定できたならば、ユーザは第0層46をセル領域とした全体のセル使用率を算出し、この全体のセル使用率より低い使用率を制限領域56に指定する。例えば図4と同様、全体の使用率が70%であればパワーライン対応の制限領域56に使用率50%を指定する。
再び図3を参照するに、制限領域指定部22によるユーザ指定によって、例えば図4または図5(C)のように制限領域40,56とそのセル使用率が指定されると、指定された制限領域とセル使用率は制限領域管理モジュール24に入力され、セル配置モジュール26におけるセル配置処理の際の制御パラメータとして管理される。
【0037】
セル配置モジュール26はパーティショニング・ベースド配置モジュール30により、ネットリストデータ12に基づいて対象チップ上にセル配置を行う。このときセル配置制御モジュール32が制限領域管理モジュール24で管理されているユーザ指定の制限領域とそのセル使用率に基づいたセルの振り分けを調整する。
【0038】
パーティショニング・ベースド配置モジュール30によるセル配置を簡単に説明する。パーティショニング・ベースド配置モジュール30は、対象チップ領域についで順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにチップをグループ分けする。
このようなパーティショニング・ベースド配置モジュール30のセル配置に対し、セル配置制御モジュール32はパーティショニング・ベースド配置モジュール30でチップ領域の2分割によるチップグループ分けが行われる毎に、分割した2領域の合計面積(S1+S2)を2領域の合計セル面積sに対する制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´との比率で案分した各領域の面積s1´,s2´に換算し、この換算面積S1´,S2´に対する各領域のセル合計面積sの比率の差が所定の範囲内となるように、パーティショニング・ベースド配置モジュール30におけるセルのグループ分けを制御する。
【0039】
このパーティショニング・ベースド配置モジュール30とセル配置制御モジュール32の処理の詳細は後の説明で明らかにする。
図6は、図3の実施形態におけるセル配置処理のジェネリックなフローチャートである。このセル配置処理にあっては、まずステップS1でチップ上にセル使用率を制限する制限領域とそのセル使用率を指定する。図3の実施形態にあっては、ユーザインタフェースとして機能する制限領域指定部22によって、図4または図5に示したようにしてチップ上の配線密度が混雑すると思われる領域をセル使用率の制限領域に指定し、この制限領域についてセル全体の使用率より低い使用率例えば50%を指定している。
【0040】
次にステップS2に進み、指定されたセル使用率の制限領域に指定されたセル使用率を超えないようにセル配置をセル配置モジュール26が行う。
図7は、図6のステップS1のセル使用率制限領域指定処理の詳細フローチャートであり、図3の実施形態のユーザインタフェースとして機能する制限領域指定部22によるユーザ指定の場合のフローチャートである。このユーザ指定の制限領域指定処理にあっては、ステップS1で例えば図4のように配置位置が固定的に決まっている既配置セルがあれば、これを配置する。
【0041】
次にステップS2で、図5に示したようにセル配置層に対する電源やネット用の他層との接続領域を設定する。次にステップS3で、図4の既配置セル36,38の間の領域や図5(C)の他層のパワーライン対応の領域56を配線混雑領域と判断してセル使用率の制限領域を指定し、この制限領域に他の領域より低い使用率を指定する。
【0042】
図8は、図6のジェネリックフローチャートのステップS2における指定されたセル使用率の制限領域に指定されたセル使用率を超えないようにセルを配置するためのセル配置処理、即ち図3のセル配置モジュール26に設けたパーティショニング・ベースド配置モジュール30及びセル配置制御モジュール32によるセル配置処理のフローチャートである。
【0043】
図8のフローチャートにおいて、ステップS1,S2は図3のセル配置モジュール26におけるパーティショニング・ベースド配置モジュール30の処理であり、残りのステップS3〜S11がセル配置モジュール32による処理となる。まずパーティショニング・ベースド配置モジュール30によるセル配置処理は、ステップS1で対象チップ領域を2分割し、次にステップS2で対象チップ領域のセルを分割した2領域に振り分け、領域間のネットのコストが最小となるようにグループ分けして配置候補を決定する。
【0044】
ステップS1における対象チップ領域の2分割としては、図9(A)(B)(C)(D)のものがある。図9(A)は対象チップ領域34を垂直ライン、水平ライン、垂直ライン、水平ラインの順番に交互に2分割していく分割である。例えば垂直ラインL1、水平ラインL2、垂直ラインL3、水平ラインL4と分割し、この垂直、水平の順番による分割をセル1つが入る所定の最小ブロックサイズまで繰り返す。
【0045】
図9(B)は対象領域を同時に同一サイズに4分割する分割である。即ち、1回目は垂直ラインL1aと水平ラインL1bを同時に引いて同一サイズの4領域に分割する。2回目は4つの分割領域について2本の垂直ラインL2aと2本の水平ラインL2bを引いて、それぞれ同一サイズの4領域に分割する。
図9(C)は水平ラインL1、次に2本の水平ラインL2aにより垂直方向について最小サイズまで分割し、次に垂直ラインL3と2本の垂直ラインL4aにより水平方向について最小サイズまで順次分割する。
【0046】
図9(D)は水平ラインL1〜L4の順番に最小サイズで垂直方向に分割した後、垂直ラインL5、2本の垂直ラインL6bの順番に水平方向で順次最小サイズまで分割する。
この図9(A)〜(D)のいずれの分割法にあっても、1つの対象領域を2分割した際の領域間のネットコストが最小となるようにセルをグループ分けする。
【0047】
図8のステップS2の分割された2領域に領域間のネットコストが最小となるようにセルをグループ分けするためのアルゴリズムとしては、次のものがある。
▲1▼Kernighan−Linアルゴリズム(K−Lアルゴリズム)
▲2▼拡張K−Lアルゴリズム
▲3▼Fiduccia−Mattheysesアルゴリズム
これらのアルゴリズムは、例えばNaveed Sherwany 著の「ALGORITHMS FORVLSI PHYSICAL DESIGN AUTOMATION」(Kluwer Academic Publishers 1995年発行)に示される。
【0048】
ここでステップS2にあっては、分割した2領域間のネットのコストが最小となるようにグループ分けをして配置候補を決定するが、決定した配置候補は第1候補とし、それよりコストが大きい第2候補、第3候補、第4候補などの下位の候補についても、グループ分けの結果を保存しておく。
ステップS2でネットコストを最小とするセルのグループ分けによる配置候補が決定されたならば、図3のセル配置制御モジュール32によるステップS3〜S11の処理を実行する。
【0049】
このステップS3〜S11の処理のため、図10(A)の2分割された第1領域58と第2領域60について、第1領域58の面積をS1、第2領域60の面積をS2、第1領域58に振り分けられたセル合計面積をs1、第2領域60に振り分けられたセル合計面積をs2、セルの全面積をs(=s1+s2)、対象チップ領域34におけるi番目の制限領域のうちの第1領域58に入っている部分の面積をS1(i)、同じくi番目の制限領域のうちの第2領域60に入っている部分の面積をS2(i)、i番目の制限領域で指定したセル使用率をρ(i)として取得している。
【0050】
このような条件の下に、まずステップS3で第1領域58についてセル使用率の制限のない部分の面積S1(0)を次式により算出する。
S1(0)=S1−ΣS1(i) (2)
次にステップS4で、第2領域60について同じくセル使用率の制限のない部分の面積S2(0)を次式により算出する。
【0051】
S2(0)=S2−ΣS2(i) (3)
このステップS3,S4に対応して、図10(A)にあっては、第1領域58,第2領域60についてセル使用率の制限のない部分62−1,62−2を斜線のセル使用率の制限のある部分64−1,64−2に対し分けて示し、それぞれの面積をS1(0),S2(0)と表している。
【0052】
次にステップS5に進み、対象チップ領域34全体としてのセル使用率の制限のない部分62−1,62−2の使用率ρ(0)を次式により算出する。
続いてステップS6に進み、ステップS5で求めたセル使用率の制限のない部分の使用率ρ(0)と既に指定されているセル使用率の制限のある部分の使用率ρ(i)に基づいて、第1領域58及び第2領域60の各セル有効面積s1´,s2´を次式により算出する。
【0053】
s1´ =ρ(0) × S1(0)) +Σ{ρ(i) × (S1(i)} (5)
s2´ =ρ(0) × S2(0)) +Σ{ρ(i) × (S1(i)} (6)
次にステップS7に進み、ステップS6で求めた第1及び第2領域58,60のセル有効面積s1´,s2´のセル合計面積sに対する比率で対象チップ領域34即ち第1及び第2領域を合わせた領域の面積(S1+S2)を案分した換算面積S1´,S2´を次式により求める。
【0054】
S1´=(S1+S2)×(s1´/s) (7)
S2´=(S1+S2)×(s2´/s) (8)
このようにしてステップS7で第1及び第2領域58,60を換算した図10(B)の換算領域58−1,60−1の換算面積S1´,S2´を求めたならば、この換算面積S1´,S2´に対する図10(A)の元の第1領域58,第2領域60の各セル面積s1,s2との比率の差の絶対値が一定値α以下となる条件が成立するか否か判定する。即ち、
|s1/S1´−s2/S2´|≦α (9)
の条件を判定する。この(9)式の条件を満足すれば、ステップS2で決定した配置候補が、指定した制限領域の指定した使用率を超えていないものと見なし、ステップS9で最小ブロックサイズか否かチェックし、最小ブロックサイズでなければステップS1に戻り、図9(A)の処理の済んだ第1領域58,第2領域60のそれぞれについて、次は水平線によりそれぞれを上下の2領域に分割し、各2領域についてステップS2〜S9の処理を繰り返し、これをステップS9で最小ブロックサイズとなるまで繰り返す。
【0055】
一方、ステップS8で(9)式の条件が成立しなかった場合には、ステップS10に進み、ステップS2で決定している第1候補としての配置候補よりコストが大きい第2候補を選択し、第2候補となるセルのグループ分けについてステップS3〜S8の処理を繰り返す。これによってステップS2で決定された複数の候補のうち、ステップS8の条件を満足する候補が選択される。
【0056】
ステップS9で最小ブロックサイズまでの処理が終了すると、ステップS1でセル配置結果を保存し、一連のセル配置処理を終了し、図2に示す次のセル間配線システム20による配線処理に移行する。
この図8のフローチャートに示した本発明によるセル配置処理によれば、図10(A)のように、第1領域58と第2領域60に2分割してネットコストが最小となるようにセルを振り分けるグループ分けを行った際に、前記(2)〜(8)式に従って、図10(B)のような換算領域58−1,60−1に分けられる。
【0057】
この換算領域58−1,60−1は、図10(A)における本来の第1領域58と第2領域60の境界線65を大きなセル使用面積を制限した部分64−2をもつ第2領域60側に移動して境界線65−1とし、この換算領域58−1,60−1について前記(9)式の条件を満足するように、即ち換算領域58−1,60−1にセルを振り分けたときのセル使用率の差が±αの範囲に収まるように振り分けたことに相当する。
【0058】
その結果、図10(A)において、セル使用率が制限された部分64−2が大きい第2領域60の換算領域60−1の換算面積S2´が小さくなっており、第2領域60に振り分けられるセルが第1領域58側に追い出されることになる。この結果、最小ブロックサイズまで分割して同様なセル振り分け処理を行うと、図10のセル使用率を制限した部分64−1,64−2については、それぞれの指定したセル使用率を超えないようなセル配置が実現できる。
【0059】
図11は図2のレイアウト設計システム14に設けられたセル配置システム18として実現される本発明のセル配置装置の第2実施形態の機能ブロック図である。この第2実施形態にあっては、セル使用率を制限する制限領域の指定をチップ上に対する既配置セルの配置に基づいて自動的に決定するようにしたことを特徴とする。
【0060】
図11において、本発明のセル配置装置を構成するセル配置システム18は、制限領域指定部22、制限領域管理モジュール24、セル配置モジュール26で構成され、セル配置モジュール26にはパーティショニング・ベースド配置モジュール30とセル配置制限モジュール32が設けられており、セル配置モジュール26のセル配置処理で得られたセル配置データ28をファイルに格納している。
【0061】
この構成は図3の第1実施形態と基本的に同じであるが、第1実施形態のユーザが制限領域とそのセル最大使用率を指定しているのに対し、図11の第2実施形態にあっては、制限領域指定部22はユーザの操作を必要とすることなく、図2の論理設計システム10の処理で得られたネットリストデータ12に基づいて自動的にセル使用率を制限する制限領域とそのセル最大使用率を決定するようにしている。
【0062】
このため、制限領域指定部22には既配置セル配置モジュール66、概略配線モジュール68、配線混雑領域判定モジュール70、制限領域決定モジュール72及び使用率リスト74が設けられている。
既配置セル配置モジュール66は例えば図12のように、対象チップ領域34上に配置位置が固定的に決められた既配置セルをネットリストデータ12に含まれる既配置セルの上限を除き、予め決められた位置に例えば既配置セル76,78を図示のように配置する。概略配線モジュール68は図12の対象チップ34上に配置された例えば2つの既配置セル76,78を対象に概略配線を行う。この概略配線は既配置セル76,78のネットリストに基づいて、例えば後の説明で明らかにするグリットグラフを利用して概略的な配線を行う。
【0063】
配線混雑領域判定モジュール70は、図12のように対象チップ領域34を所定サイズのブロックに分割し、各ブロック毎に概略配線モジュール68で行った既配置セル76,78についての概略配線の結果から配線密度を検出し、各ブロックについて配線混雑領域か否か判定する。図12の2つの既配置セル76,78の配置については、概略配線によってその間の6ブロックが配線混雑領域と判別することができる。
【0064】
ここで対象チップ領域34のブロックは左上隅を原点として水平方向にi=0〜7、垂直方向にj=0〜8を設定していることから、任意のブロックはBijで表すことができる。このため、2つの既配置セル76,78の間に位置する6つのブロックB63,B64,B65,B73,B74,B75が配線混雑領域のブロックと判定される。
【0065】
制限領域決定モジュール72は、配線混雑領域判定モジュール70で配線混雑領域と判定されたブロックで形成された領域をセル使用率を制限する制限領域に決定する。即ち図12にあっては、2つの既配置セル76,78の間の6つのブロックが配線混雑領域と判定されていることから、この6つのブロックを合わせた領域を制限領域80に決定する。
【0066】
次に制限領域決定モジュール72は、決定した制限領域80について使用率を制限するためのセル最大使用率を通常のセル使用率より低い値として決定する。この制限領域80のセル最大使用率の決定は使用率リスト74を参照して行う。この使用率リスト74には、図13のように、全体セル使用率77と制限領域セル使用率78が格納されている。
【0067】
全体セル使用率77は50%〜60%、60%〜70%、70%〜80%の3段階に分けられており、これに対応して制限領域セル使用率78は40%、50%、60%が設定されている。制限領域決定モジュール72は図12のように、対象チップ領域34について制限領域80が決定できたならば、セル合計面積をチップ面積で割って全体セル使用率を算出し、図13の使用率リスト74を参照し、該当する全体セル使用率77に対応する制限領域セル使用率78を選択する。例えば全体セル使用率77が60%〜70%の間にあったときには、制限領域セル使用率78として50%を選択し、これを図12の制限領域80のセル最大使用率とする。
【0068】
図14は図11の制限領域指定部22による制限領域及びセル使用率の指定処理のフローチャートである。まずステップS1で対象とするチップ上に配置位置が固定的に決まっている既配置セルを配置する。次にステップS2でチップ上に配置した既配置セルに対しグリットグラフなどを利用して概略配線を行う。
次にステップS3でチップを所定サイズのブロックに分割し、ステップS4でブロック毎に配置セル間のネット数をコストとして算出し、コストが所定値以上となるブロックを配線混雑領域と判定する。最終的にステップS5で配線混雑領域をセル使用率の制限領域に決定し、例えば図13のような使用率リスト74の参照で他の領域より低い使用率を指定する。
【0069】
このようにして自動的に決定された制限領域及びそのセル使用率は図11の制限領域管理モジュール24に入力され、セル配置モジュール26による配置処理のために保存される。セル配置モジュール26による制限領域管理モジュール24に管理された制限領域とそのセル使用率に基づくセル配置処理は、図3の第1実施形態と同じであり、具体的には図8のセル配置処理のフローチャートに従ったセル配置が行われ、これによって指定されたセル使用率の制限領域に指定されたセル使用率を超えないようにセルを配置することができる。
【0070】
図15は、図14の使用率制限領域指定処理のステップS2における既配置セルに対する概略配線処理のフローチャートである。この概略配線処理は図2のセル間配線システム20における配線処理が
▲1▼第1段階のグローバルルーチング(ルーズルーチング)
▲2▼詳細ルーチング
の2段階の処理で行われており、このうち第1段階で行うグローバルルーチングを利用することで高速概略配線が実現できる。
【0071】
このグローバルルーチングは、セル配置が完了した段階でネットリストに基づき、実際の物理的な配線のレイアウトを行わずに各ネットについての配線の割当てだけを行うものである。このグローバルルーチングにおける配線処理としてグリッドグラフモデル、チェッカボードモデル、チャネルインターセクショングラフモデルなどの手法があるが、図15の概略配線処理にあっては処理が簡単なグリッドグラフモデルを使用している。
【0072】
図15の概略配線処理を図16のグリッドグラフモデルによる配線処理の説明図を参照して説明すると次のようになる。
まずステップS1でチップ上に配置が決まった配置セルに対するピン割当てを行う。図16(A)が対象チップ34にセル82,84,86,88,90を配置した状態であり、これらのセルに対し例えばピンt11,t12,t21,t22を図示のように割り当てる。
【0073】
ここでピンt11〜t12に対応したネットリストは
N1(t11,t12)
N2(t21,t22)
であったとする。
続いてステップS2でグリッドグラフモデルを作成する。グリッドグラフモデルの作成は、図16(B)のように対象チップ領域34を水平垂直のブロックライン92により分割して矩形セルに分ける。この矩形セルのサイズはチャネル幅をh、線幅をwとすると、(h×w)に設定される。次に図16(C)のようにグリッドグラフ94を生成する。
【0074】
グリッドグラフ94は図16(B)の矩形セルを頂点に変換して格子で結んでいる。このため図16(B)におけるセル82は、図16(C)のグリッドグラフ94においては黒丸の頂点82−1,82−2で表現される。この点はセル84,86,88,90についても同様であり、それぞれ黒丸の頂点84−1,86−1,86−2、88−1,90−1〜90−3で表現される。またピンt11〜t22は○の頂点の対応位置にt11,t12,t21,t22として割り振られる。
【0075】
このようにしてグリッドグラフが作成できたならば、ステップS3に進み、ネットNi=(ti1,ti2)のパスを決定する。例えば図16(C)のグリッドグラフ94について、ネットN1(t11,t12)を結ぶルートは図16(D)のように右回りのルートR1と左回りのルートR2がある。しかしながら、ルートR1を図16(C)のグリッドグラフ94について見ると、ピンt11からt12にいくためには他のネットN2のピンt21,t22を横切らなければならない。ここでルーチングの規則には他のネットを横切らないことが規定されているため、右回りのルートR1は成立せず、他のネットを横切ることのない左周りのルートR2が決定される。
【0076】
このようにしてステップS3でネットN1のルートが決定できたならば、ステップS4で全ネットの終了の有無をチェックし、終了していなければステップS3に戻り、続いてネットN2のルートを決定する。ネットN2については、ピンt21,t22を結ぶ図16(D)のルートR3であり、グリッドグラフ94から、この場合、他のネットを横切ることがないことから、ルートR3が決定される。
【0077】
このようなグリッドグラフモデルを利用したルートの決定により、チップ上で配置が決まったセル間のネットを実現するルートの概略が高速で生成され、図14のステップS3〜S5の混雑領域の判定によるセル使用率の制限領域の決定と、決定した制限領域のセル最大使用率の決定が確実にできる。
図17は図2のレイアウト設計システム14に設けたセル配置システム18として提供される本発明のセル配置装置の第3実施形態であり、この実施形態にあってはチップ上にセルを暫定高速配置して概略配線を行うことにより自動的に配線混雑領域を認識して、セル使用率の制限領域を決定するようにしたことを特徴とする。
【0078】
図17において、本発明のセル配置装置に対応するセル配置システム18は、図3の第1実施形態及び図11の第2実施形態と同様、制限領域指定部22、制限領域管理モジュール24、セル配置モジュール26で構成されている。制限領域指定部22は図11の第2実施形態における既配置セル配置モジュール66の代わりにセル暫定高速配置モジュール94を設けている。
【0079】
それ以外の構成は図11の第2実施形態と同様、概略配線モジュール68、配線混雑領域判定モジュール70、制限領域決定モジュール72及び使用率リスト74を備えている。
セル暫定高速配置モジュール94はチップ上にセルを暫定的に配置する。具体的には、セル配置モジュール26に設けているパーティショニング・ベースド配置モジュール30を使用しているが、対象領域のブロック分割をチップサイズに対応した最小ブロックサイズまで行わず、途中のブロックサイズ、例えば通常のパーティショニング・ベースド配置モジュール30における分割回数の3分の1程度でセル配置を終了させている。
【0080】
このようなブロック分割サイズを処理サイズに対応した最小ブロックサイズまで行わずに途中で止めた場合のセル配置にあっては、セル配置の最適化が不十分であり、このセル配置結果を使った配線処理では配線長が長くなり、配線がしにくく品質が下がり、配線処理のために使用するには不適切である。しかし、セル使用率を制限するための配線混雑領域を判定するには十分であり、且つ処理時間も短くて済む。
【0081】
図18は図17の制限領域指定部22による使用率制限領域の指定処理のフローチャートである。まずステップS1で高速配置処理によりセルを暫定配置する。この処理はパーティショニング・ベースド配置アルゴリズムの領域分割を最小ブロックサイズまで行わずに途中で止める処理となる。
図19は図18のステップS1のセル暫定配置処理のフローチャートである。まずステップS1で対象チップ領域を2分割し、ステップS2で対象チップ領域に割り当てられたセルを分割した2領域に振り分け、領域間のネットコストが最小となるようにグループ分けして配置候補を決定する。この配置候補について、ステップS3で次式の条件を満足するか否かチェックする。
【0082】
|s1/S1−s2/S2|≦α (1)
この条件を満足しない場合には、ステップS4でネットコストが低い下位の第2候補を選択して、ステップS3で再度条件を判定する。ステップS3の条件が満足すると、ステップS5で最小ブロックサイズに分割するまでの途中の値である規定分割回数に達したか否かチェックし、規定分割回数に達するまでステップS1〜S4の処理を繰り返す。
【0083】
規定分割回数に達すると、その時点でセル配置処理を終了し、ステップS6でセル暫定配置結果を保存し、図18に戻る。次に図18のステップS2で、暫定配置された配置セルに対し概略配線を行う。この概略配線は図11の第2実施形態の概略配線モジュール68と同様、図15の概略配線処理のフローチャートに従い、グリッドグラフモデルを利用して行う。
【0084】
暫定配置されたセルに対する概略配線が済むと、ステップS3で図12に示したように対象チップ領域34を所定のサイズのブロックに分割し、ステップS4でブロック毎に配置セル間のネット数をコストとして算出し、コストが所定値以上のブロックを配線混雑領域のブロックと判定する。
そしてステップS5で配線混雑領域をセル使用率の制限領域に決定し、同時に図13に示した内容を持つネットリスト74を参照して制限領域のセル使用率を決定する。
【0085】
このようにして図17の制限領域指定部22でセル暫定配置結果から決定された制限領域及び制限領域のセル使用率は、制限領域管理モジュール24に入力され、セル配置モジュール26によるセル配置処理のパラメータとして取り込まれる。そして、第1実施形態において図8に示したセル配置処理と同様に、パーティショニング・ベースド配置モジュール30及びセル配置制御モジュール32によるセル配置処理により、指定されたセル使用率の制限領域について、指定されたセル使用率を超えないようにセルを配置する処理が行われる。
【0086】
更に本発明は、図3,図11及び図17に示した各実施形態の機能ブロックで実現されるセル配置システム18の機能を持つセル配置プログラムを記録したコンピュータ読取り可能な記録媒体を提供するものである。このセル配置プログラムを記録したコンピュータ読取り可能な記録媒体の実施形態としては、CD−RAMやフロッピーディスクなどのリムーバルな可搬型記憶媒体、回線によりプログラムを提供するプログラム提供者の記憶装置、更にプログラムをインストールした処理装置のRAMやハードディスクなどのメモリ装置がある。また記録媒体によって提供されたセル配置プログラムは処理装置にローディングされ、その主メモリ上で実行される。
【0087】
尚、本発明は、その目的と利点を損なわない範囲の適宜の変形を含む。また本発明は実施形態に示された数値による限定は受けない。
【0088】
以上説明してきたように本発明によれば、チップ上の配線密度が高くなりそうな部分をセル使用率を制限する制限領域として規定すると共に、制限領域内での最大使用率を指定
すると共に、具体的にはチップ領域について順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにセルをグループ分けし、分割した2領域の合計面積(S1+S2)を、2領域の合計セル面積sに対する制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´の比率で案分した各領域の面積S1´,S2´に換算し、各領域の換算面積S1´,S2´に対する各領域のセル合計面積に比率の差が所定の範囲内となるように、セルのグループ分けをしておくことで、指定された制限領域のセル使用率が指定された最大セル使用率を超えないようにセル配置が行われ、セル配置後の配線処理において特定領域の配線密度が高くなって配線が困難に成ることを確実に防止でき、セル配置のやり直しなどの修正処理をほとんど必要とすることなく、余分な時間を掛けずに最適なセル配置を得て、配線処理を余分な時間を掛けずに完了することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のセル配置装置が使用されるLSI自動設計システムのブロック図
【図3】本発明のセル配置装置を実現する図2に示すセル配置システムの機能ブロック図
【図4】チップ上に既配置セルがある場合の制限領域のユーザ指定の説明図
【図5】他層のパワーラインとの接続を考慮したセル配置層の制限領域のユーザ指定の説明図
【図6】図3のセル配置処理のジェネラル・フローチャート
【図7】ユーザ指定による図3の制限領域指定処理の詳細フローチャート
【図8】制限領域とセル最大使用率の指定に基づく図4のセル配置処理詳細フローチャート
【図9】図8の対象チップ領域の分割方法の説明図
【図10】図8のセル配置処理における制限領域とセル最大使用率に基づく分割領域の面積換算の説明図
【図11】既配置セルに基づいて制限領域を自動的に指定する本発明のセル配置装置の機能ブロック図
【図12】図11の実施例によるチップ上の既配置セルに基づく制限領域の決定処理の説明図
【図13】図11の使用率リストの説明図
【図14】既配置セルに基づく図11の制限領域指定処理の詳細フローチャート
【図15】グリッドグラフを用いた図14の概略配線処理の詳細フローチャート
【図16】図15の概略配線処理の説明図
【図17】暫定高速セル配置に基づいて制限領域を自動的に指定する本発明のセル配置装置の機能ブロック図
【図18】暫定高速セル配置を用いた図17の制限領域指定処理の詳細フローチャート
【図19】図18の概略配線処理の詳細フローチャート
【符号の説明】
10:論理設計システム
12:ネットリストデータ
14:レイアウト設計システム
16:レイアウト設計データ
18:セル配置システム(セル配置装置)
20:セル間配線システム
22:制限領域指定モジュール
24:制限領域管理モジュール
26:セル配置モジュール
28:セル配置データ
30:パーティショニング・ベースド配置モジュール
32:セル配置制御モジュール
34:チップ領域
36,38,76,78:既配置セル
40,80:制限領域
42:非制限領域
44:チップ
46:第0層
48:第1層
50:第2層
52:第3層
54:パワーライン
56:パワーライン対応の制限領域
58:第1領域
58−1,60−1:換算領域
60:第2領域
62−1,62−2:非制限部分
64−1,64−2:制限部分
66:既配置セル配置モジュール
68:概略配線モジュール
70:配線混雑領域判定モジュール
72:制限領域決定モジュール
74:使用率リスト
82,84,86,88,90:セル
82−1,82−2,84−1,86−1,86−2,88−1,90−1〜90−3:セルポイント
92:ブロック分割ライン
94:セル暫定高速配置モジュール
Claims (27)
- チップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域と該制限領域のセル最大使用率を各々指定する制限領域指定部と、
前記制限領域指定部で指定された制限領域及びセル最大使用率を入力して管理する制限領域管理部と、
前記制限領域管理部で管理されている前記制限領域のセル使用率が指定された前記セル最大使用率を越えないようにセルを配置するセル配置部とを備え、
前記セル配置部は、
チップ領域について順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにセルをグループ分けするパーティショニング・ベースド配置部と、
前記分割した2領域の合計面積(S1+S2)を、2領域の合計セル面積sに対する前記制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´の比率で案分した各領域の面積S1´,S2´に換算し、各領域の換算面積S1´,S2´に対する各領域のセル合計面積に比率の差が所定の範囲内となるように、前記パーティショニング・ベースド配置部によるセルのグループ分けを制御するセル配置制御部と、
を備えたことを特徴とするセル配置装置。 - 請求項1記載のセル配置装置に於いて、前記制限領域指定部は、利用者の操作入力に基づいて前記制限領域及びセル最大使用率を設定することを特徴とするセル配置装置。
- 請求項1記載のセル配置装置に於いて、前記制限領域指定部は、前記制限領域のセル最大使用率として、チップ全体のセル使用率より低い使用率を指定することを特徴とするセル配置装置。
- 請求項1記載のセル配置装置に於いて、前記制限領域指定部は、通常のセル使用率60乃至70%に対し、前記制限領域のセル最大使用率として使用率50%を指定することを特徴とするセル配置装置。
- 請求項1記載のセル配置装置に於いて、前記制限領域指定部は、配置位置が固定的に決められた既配置セルの位置に基づいてチップ上でブロック分割した各部分の配線密度を見積もり、該配線密度に基づいてセル使用率を制限する制限領域及び該制限領域のセル最大使用率を決定することを特徴とするセル配置装置。
- 請求項5記載のセル配置装置に於いて、前記制限領域指定部は、
チップ上に配置位置が固定的に決められた既配置セルを配置する既配置セル配置部と、 前記既配置セルを対象に概略配線を行う概略配線部と、
前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定部と、
前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定部と、
を備えたことを特徴とするセル配置装置。 - 請求項1記載のセル配置装置に於いて、前記制限領域指定部は、暫定配置したセルの位置に基づいてチップ上でブロック分割した各部分の配線密度を見積もり、該配線密度に基づいてセル使用率を制限する制限領域及び該制限領域のセル最大使用率を決定することを特徴とするセル配置装置。
- 請求項7記載のセル配置装置に於いて、前記制限領域指定部は、
チップ上にセルを暫定的に配置するセル暫定配置部と、
前記暫定配置セルを対象に概略配線を行う概略配線部と、
前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定部と、前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定部と、
を備えたことを特徴とするセル配置装置。 - 請求項6又は8記載のセル配置装置に於いて、前記制限領域決定部は、前記制限領域のセル最大使用率としてチップの全体のセル使用率より低い使用率を決定することを特徴とするセル配置装置。
- 請求項6又は8記載のセル配置装置に於いて、前記制限領域決定部は、前記制限領域のセル最大使用率を予め登録した使用率情報を有し、該使用率情報の参照により前記制限領域のセル最大使用率を決定することを特徴とするセル配置装置。
- 請求項1〜10の何れかに記載の記載のセル配置装置に於いて、前記セル配置制御部は、
2分割された第1領域と第2領域の各セル面積をs1,s2、全セル面積をs(=s1+s2) 、第1領域の面積をS1、第2領域の面積をS2、i番目の制限領域の内の第1領域に入っている部分の面積をS1(i)、i番目の制限領域の内の第2領域に入っている部分の面積をS2(i)、i番目の制限領域で指定したセル使用率をρ(i)とした場合、
第1及び第2領域の各々についてセル使用率の制限のない部分の面積S1(0)、S2(0)を、
S1(0)=S1−ΣS1(i)
S2(0)=S2−ΣS2(i)
として求め、
次にセル使用率の制限のない部分の使用率ρ(0)を、
として求め、次に前記使用率ρ(0),ρ(i)に基づいた第1及び第2領域のセル有効面積s1´,s2´を、
s1´ =ρ(0) ×S1(0))+Σ(ρ(i) × (S1(i))
s2´ =ρ(0) ×S2(0))+Σ(ρ(i) × (S1(i))
として求め、
次に第1及び第2領域のセル有効面積s1´,s2´のセル合計面積sに対する比率で第1及び第2領域を案分した面積S1´,S2´を
S1´=(S1+S2)×(s1´/s)
S2´=(S1+S2)×(s2´/s)
として換算し、該第1及び第2領域の換算面積S1´,S2´に対する各セル面積s1,s2の差の絶対値が
|s1/S1´−s2/S2´|≦α
の条件を満たすように、前記パーティショニング・ベースド配置部によるセルのグループ分けを制御することを特徴とするセル配置装置。 - 制限領域指定部によりチップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域と該制限領域のセル最大使用率を各々指定する制限領域指定部と、
前記制限領域指定部で指定された制限領域及びセル最大使用率に基づいて制限領域を管 理する制限領域管理モジュールと、
前記制限領域管理モジュールで管理されている前記制限領域のセル使用率が指定された前記セル最大使用率以下の範囲でセルを配置するセル配置モジュールとで構成されるセル配置装置によってセルを配置するセル配置方法に於いて、
前記セル配置過程は、
パーティショニング・ベースド配置モジュールにより、チップ領域について順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにチップをグループ分けするパーティショニング・ベースド配置過程と、
セル配置制御モジュールにより、前記分割した2領域の合計面積(S1+S2)を、2領域の合計セル面積sに対する前記制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´の比率で案分した各領域の面積S1´,S2´に換算し、各領域の換算面積S1´,S2´に対する各領域のセル合計面積に比率の差が所定の範囲内となるように、前記パーティショニング・ベースド配置過程によるセルのグループ分けを制御するセル配置制御過程と、
を備えたことを特徴とするセル配置方法。 - 請求項12記載のセル配置方法に於いて、前記制限領域指定過程は、外部入力信号に基づいて前記制限領域及びセル最大使用率が設定されることを特徴とするセル配置方法。
- 請求項12記載のセル配置方法に於いて、前記制限領域指定過程は、前記制限領域のセル最大使用率として、チップ全体のセル使用率より低い使用率が入力されることを特徴とするセル配置方法。
- 請求項12記載のセル配置方法に於いて、前記制限領域指定過程は、通常のチップのセル使用率60乃至70%に対し、前記制限領域のセル最大使用率として使用率が50%に設定されることを特徴とするセル配置方法。
- 請求項12記載のセル配置方法に於いて、前記制限領域指定過程は、配置位置が固定的に決められた既配置セルの位置に基づいてチップ上でブロック分割した各過程分の配線密度に基づいてセル使用率を制限する制限領域及び該制限領域のセル最大使用率が決定されることを特徴とするセル配置方法。
- 請求項16記載のセル配置方法に於いて、前記制限領域指定過程は、
チップ上に配置位置が固定的に決められた既配置セルが既配置セル配置モジュールにより、配置される既配置セル配置過程と、
前記既配置セルを対象に概略配線モジュールにより、概略配線が行われる概略配線過程と、
配線混雑領域判定モジュールにより、前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定過程と、
制限領域決定モジュールにより、前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域決定過程と、
を備えたことを特徴とするセル配置方法。 - 請求項12記載のセル配置方法に於いて、前記制限領域指定過程は、暫定配置したセルの位置に基づいてチップ上でブロック分割した各過程分の配線密度に基づいてセル使用率を制限する制限領域及び該制限領域のセル最大使用率として設定することを特徴とするセル配置方法。
- 請求項18記載のセル配置方法に於いて、前記制限領域指定過程は、
セル暫定配置モジュールにより、チップ上にセルを暫定的に配置するセル暫定配置過程と、
概略配線モジュールにより、前記暫定配置セルを対象に概略配線を行う概略配線過程と、
配線混雑領域判定モジュールにより、前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定過程と、
制限領域決定モジュールにより、前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域決定過程と、
を備えたことを特徴とするセル配置方法。 - 請求項17又は19記載のセル配置方法に於いて、前記制限領域決定過程は、前記制限領域のセル最大使用率としてチップ全体のセル使用率より低い使用率を決定することを特徴とするセル配置方法。
- 請求項17又は19記載のセル配置方法に於いて、前記制限領域決定過程は、前記制限領域のセル最大使用率を予め登録した使用率情報を有し、該使用率情報の参照により前記制限領域のセル最大使用率を決定することを特徴とするセル配置方法。
- 請求項12〜21の何れかに記載のセル配置方法に於いて、前記セル配置制御過程は前記セル配置制御モジュールにより、
2分割された第1領域と第2領域の各セル面積をs1,s2、全セル面積をs(=s1+s2) 、第1領域の面積をS1、第2領域の面積をS2、i番目の制限領域の内の第1領域に入っている過程分の面積をS1(i)、i番目の制限領域の内の第2領域に入っている過程分の面積をS2(i)、i番目の制限領域で指定したセル使用率をρ(i)とした場合、
第1及び第2領域の各々についてセル使用率の制限のない部分の面積S1(0)、S2(0)を、
S1(0)S1−ΣS1(i)
S2(0)S2−ΣS2(i)
として求め、
次にセル使用率の制限のない部分の使用率ρ(0)を、
次に前記使用率ρ(0),ρ(i)に基づいた第1及び第2領域のセル有効面積s1´,s2´を、
s1´ =ρ(0) × S1(0)) +Σ(ρ(i) × (S1(i))
s2´ =ρ(0) × S2(0)) +Σ(ρ(i) × (S1(i))
として求め、
次に第1及び第2領域のセル有効面積s1´,s2´のセル合計面積sに対する比率で第1及び第2領域を案分した面積S1´,S2´を
S1´=(S1+S2)×(s1´/s)
S2´=(S1+S2)×(s2´/s)
として換算し、該第1及び第2領域の換算面積S1´,S2´に対する各セル面積s1,s2の差の絶対値が
|s1/S1´−s2/S2´|≦α
の条件を満たすように、前記パーティショニング・ベースド配置過程によるセルのグループ分けを制御することを特徴とするセル配置方法。 - チップ上に占めるセルの面積割合を表すセル使用率を制限する制限領域と該制限領域のセル最大使用率を各々指定する制限領域指定モジュールと、
前記制限領域指定モジュールで指定された制限領域及びセル最大使用率を入力して管理する制限領域管理モジュールと、
前記制限領域管理モジュールで管理されている前記制限領域のセル使用率が指定された前記セル最大使用率を越えないようにセルを配置するセル配置モジュールとを有し、
前記セル配置モジュールは、
チップ領域について順次2分割を繰り返しながら、各分割毎に2分割した領域間のネット数を示すコストが最小となるようにチップをグループ分けするパーティショニング・ベースド配置モジュールと、
前記分割した2領域の合計面積(S1+S2)を、2領域の合計セル面積sに対する前記制限領域のセル最大使用率に基づく各領域のセル有効面積s1´,s2´の比率で案分した各領域の面積S1´,S2´に換算し、各領域の換算面積S1´,S2´に対する各領域のセル合計面積に比率の差が所定の範囲内となるように、前記パーティショニング・ベースド配置モジュールによるセルのグループ分けを制御するセル配置制御モジュールと、
を備えたことを特徴とする記録媒体。 - 請求項23記載の記録媒体に於いて、前記制限領域指定モジュールは、利用者の操作入力に基づいて前記制限領域及びセル最大使用率を設定することを特徴とする記録媒体。
- 請求項23記載の記録媒体に於いて、前記制限領域指定モジュールは、
チップ上に配置位置が固定的に決められた既配置セルを配置する既配置セル配置モジュールと、
前記既配置セルを対象に概略配線を行う概略配線モジュールと、
前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定モジュールと、
前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定モジュールと、
を備えたことを特徴とする記録媒体。 - 請求項23記載のセル配置装置に於いて、前記制限領域指定モジュールは、
チップ上にセルを暫定的に配置するセル暫定配置モジュールと、
前記暫定配置セルを対象に概略配線を行う概略配線モジュールと、
前記チップを所定サイズのブロックに分割し、各ブロック毎に前記概略配線に基づいて配線密度を検出して配線混雑領域か否か判定する配線混雑領域判定モジュールと、
前記配線混雑領域をセル使用率を制限する制限領域に決定し、該制限領域に通常のセル使用率より低い使用率をセル最大使用率として決定する制限領域指定モジュールと、
を備えたことを特徴とする記録媒体。 - 請求項24〜26の何れかに記載の記録媒体に於いて、前記セル配置制御モジュールは、
2分割された第1領域と第2領域の各セル面積をs1,s2、全セル面積をs(=s1+s2)、第1領域の面積をS1、第2領域の面積をS2、i番目の制限領域の内の第1領域に入っている部分の面積をS1(i)、i番目の制限領域の内の第2領域に入っている部分の面積をS2(i)、i番目の制限領域で指定したセル使用率をρ(i)とした場合、
第1及び第2領域の各々についてセル使用率の制限のない部分の面積S1(0)、S2(0)を、
S1(0)S1−ΣS1(i)
S2(0)S2−ΣS2(i)
として求め、
次にセル使用率の制限のない部分の使用率ρ(0)を、
として求め、
次に前記使用率ρ(0),ρ(i)に基づいた第1及び第2領域のセル有効面積s1´,s2´を、
s1´=ρ(0)×S1(0))+Σ(ρ(i) × (S1(i))
s2´=ρ(0)×S2(0))+Σ(ρ(i) × (S1(i))
として求め、
次に第1及び第2領域のセル有効面積s1´,s2´のセル合計面積sに対する比率で第1及び第2領域を案分した面積S1´,S2´を
S1´=(S1+S2)×(s1´/s)
S2´=(S1+S2)×(s2´/s)
として換算し、該第1及び第2領域の換算面積S1´,S2´に対する各セル面積s1,s2の差の絶対値が
|s1/S1´−s2/S2´|≦α
の条件を満たすように、前記パーティショニング・ベースド配置モジュールによるセルのグループ分けを制御することを特徴とする記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14092198A JP3564295B2 (ja) | 1998-05-22 | 1998-05-22 | セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 |
US09/176,260 US6327694B1 (en) | 1998-05-22 | 1998-10-20 | Cell placement apparatus and method, and computer readable record medium having cell placement program recorded thereon |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14092198A JP3564295B2 (ja) | 1998-05-22 | 1998-05-22 | セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11338892A JPH11338892A (ja) | 1999-12-10 |
JP3564295B2 true JP3564295B2 (ja) | 2004-09-08 |
Family
ID=15279921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14092198A Expired - Fee Related JP3564295B2 (ja) | 1998-05-22 | 1998-05-22 | セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6327694B1 (ja) |
JP (1) | JP3564295B2 (ja) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3349989B2 (ja) * | 1999-06-18 | 2002-11-25 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路装置及びそのレイアウト方法及び装置 |
JP3986717B2 (ja) * | 1999-12-01 | 2007-10-03 | 富士通株式会社 | パス決定方法及び記憶媒体 |
JP2001306640A (ja) * | 2000-04-17 | 2001-11-02 | Mitsubishi Electric Corp | 自動配置配線手法、自動配置配線装置、および半導体集積回路 |
JP4486276B2 (ja) * | 2000-06-22 | 2010-06-23 | 富士通株式会社 | Lsiのセル配置情報生成装置及び変更装置及びプログラム |
US6889372B1 (en) | 2000-07-15 | 2005-05-03 | Cadence Design Systems Inc. | Method and apparatus for routing |
US6898773B1 (en) | 2002-01-22 | 2005-05-24 | Cadence Design Systems, Inc. | Method and apparatus for producing multi-layer topological routes |
TW451457B (en) * | 2000-07-17 | 2001-08-21 | Taiwan Semiconductor Mfg | Method to optimize the placement design by adjusting the reference routing |
US7080336B2 (en) | 2000-12-06 | 2006-07-18 | Cadence Design Systems, Inc. | Method and apparatus for computing placement costs |
US7024650B2 (en) * | 2000-12-06 | 2006-04-04 | Cadence Design Systems, Inc. | Method and apparatus for considering diagonal wiring in placement |
WO2002047165A2 (en) | 2000-12-06 | 2002-06-13 | Simplex Solutions, Inc. | Method and apparatus for considering diagonal wiring in placement |
US6826737B2 (en) * | 2000-12-06 | 2004-11-30 | Cadence Design Systems, Inc. | Recursive partitioning placement method and apparatus |
US6957410B2 (en) | 2000-12-07 | 2005-10-18 | Cadence Design Systems, Inc. | Method and apparatus for adaptively selecting the wiring model for a design region |
US7055120B2 (en) | 2000-12-06 | 2006-05-30 | Cadence Design Systems, Inc. | Method and apparatus for placing circuit modules |
US6516455B1 (en) * | 2000-12-06 | 2003-02-04 | Cadence Design Systems, Inc. | Partitioning placement method using diagonal cutlines |
US7003754B2 (en) | 2000-12-07 | 2006-02-21 | Cadence Design Systems, Inc. | Routing method and apparatus that use of diagonal routes |
US7073150B2 (en) | 2000-12-07 | 2006-07-04 | Cadence Design Systems, Inc. | Hierarchical routing method and apparatus that use diagonal routes |
US6915501B2 (en) | 2001-01-19 | 2005-07-05 | Cadence Design Systems, Inc. | LP method and apparatus for identifying routes |
US7096448B2 (en) | 2001-01-19 | 2006-08-22 | Cadence Design Systems, Inc. | Method and apparatus for diagonal routing by using several sets of lines |
US6957408B1 (en) | 2002-01-22 | 2005-10-18 | Cadence Design Systems, Inc. | Method and apparatus for routing nets in an integrated circuit layout |
US6829757B1 (en) | 2001-06-03 | 2004-12-07 | Cadence Design Systems, Inc. | Method and apparatus for generating multi-layer routes |
US6951005B1 (en) | 2001-06-03 | 2005-09-27 | Cadence Design Systems, Inc. | Method and apparatus for selecting a route for a net based on the impact on other nets |
US6877146B1 (en) | 2001-06-03 | 2005-04-05 | Cadence Design Systems, Inc. | Method and apparatus for routing a set of nets |
US7069530B1 (en) | 2001-06-03 | 2006-06-27 | Cadence Design Systems, Inc. | Method and apparatus for routing groups of paths |
US7107564B1 (en) | 2001-06-03 | 2006-09-12 | Cadence Design Systems, Inc. | Method and apparatus for routing a set of nets |
US6957411B1 (en) | 2001-06-03 | 2005-10-18 | Cadence Design Systems, Inc. | Gridless IC layout and method and apparatus for generating such a layout |
US6795958B2 (en) * | 2001-08-23 | 2004-09-21 | Cadence Design Systems, Inc. | Method and apparatus for generating routes for groups of related node configurations |
US7398498B2 (en) | 2001-08-23 | 2008-07-08 | Cadence Design Systems, Inc. | Method and apparatus for storing routes for groups of related net configurations |
US7143382B2 (en) | 2001-08-23 | 2006-11-28 | Cadence Design Systems, Inc. | Method and apparatus for storing routes |
US6931616B2 (en) | 2001-08-23 | 2005-08-16 | Cadence Design Systems, Inc. | Routing method and apparatus |
US7155697B2 (en) | 2001-08-23 | 2006-12-26 | Cadence Design Systems, Inc. | Routing method and apparatus |
US7058913B1 (en) | 2001-09-06 | 2006-06-06 | Cadence Design Systems, Inc. | Analytical placement method and apparatus |
US6944841B1 (en) | 2002-01-22 | 2005-09-13 | Cadence Design Systems, Inc. | Method and apparatus for proportionate costing of vias |
US7089524B1 (en) | 2002-01-22 | 2006-08-08 | Cadence Design Systems, Inc. | Topological vias route wherein the topological via does not have a coordinate within the region |
US6938234B1 (en) | 2002-01-22 | 2005-08-30 | Cadence Design Systems, Inc. | Method and apparatus for defining vias |
US7013451B1 (en) | 2002-01-22 | 2006-03-14 | Cadence Design Systems, Inc. | Method and apparatus for performing routability checking |
US7036105B1 (en) | 2002-01-22 | 2006-04-25 | Cadence Design Systems, Inc. | Integrated circuits with at least one layer that has more than one preferred interconnect direction, and method for manufacturing such IC's |
US7117468B1 (en) | 2002-01-22 | 2006-10-03 | Cadence Design Systems, Inc. | Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts |
US7080329B1 (en) | 2002-01-22 | 2006-07-18 | Cadence Design Systems, Inc. | Method and apparatus for identifying optimized via locations |
US6892371B1 (en) | 2002-01-22 | 2005-05-10 | Cadence Design Systems, Inc. | Method and apparatus for performing geometric routing |
US7096449B1 (en) | 2002-01-22 | 2006-08-22 | Cadence Design Systems, Inc. | Layouts with routes with different widths in different directions on the same layer, and method and apparatus for generating such layouts |
US6795955B2 (en) * | 2002-03-15 | 2004-09-21 | Numerical Technologies | Method and apparatus for identifying an identical cell in an IC layout with an existing solution |
US7047512B1 (en) | 2002-06-04 | 2006-05-16 | Cadence Design Systems, Inc. | Method and apparatus for specifying a cost function that represents the estimated distance between an external state and a set of states in a space |
US6889371B1 (en) | 2002-06-04 | 2005-05-03 | Cadence Design Systems, Inc. | Method and apparatus for propagating a function |
US7069531B1 (en) | 2002-07-15 | 2006-06-27 | Cadence Design Systems, Inc. | Method and apparatus for identifying a path between source and target states in a space with more than two dimensions |
US7073151B1 (en) | 2002-06-04 | 2006-07-04 | Cadence Design Systems, Inc. | Method and apparatus for identifying a path between a set of source states and a set of target states in a triangulated space |
US6988257B2 (en) * | 2002-11-18 | 2006-01-17 | Cadence Design Systems, Inc. | Method and apparatus for routing |
US7080342B2 (en) * | 2002-11-18 | 2006-07-18 | Cadence Design Systems, Inc | Method and apparatus for computing capacity of a region for non-Manhattan routing |
US7624367B2 (en) | 2002-11-18 | 2009-11-24 | Cadence Design Systems, Inc. | Method and system for routing |
US6892369B2 (en) * | 2002-11-18 | 2005-05-10 | Cadence Design Systems, Inc. | Method and apparatus for costing routes of nets |
US7480885B2 (en) * | 2002-11-18 | 2009-01-20 | Cadence Design Systems, Inc. | Method and apparatus for routing with independent goals on different layers |
US7010771B2 (en) * | 2002-11-18 | 2006-03-07 | Cadence Design Systems, Inc. | Method and apparatus for searching for a global path |
US7216308B2 (en) * | 2002-11-18 | 2007-05-08 | Cadence Design Systems, Inc. | Method and apparatus for solving an optimization problem in an integrated circuit layout |
US7171635B2 (en) * | 2002-11-18 | 2007-01-30 | Cadence Design Systems, Inc. | Method and apparatus for routing |
US6996789B2 (en) * | 2002-11-18 | 2006-02-07 | Cadence Design Systems, Inc. | Method and apparatus for performing an exponential path search |
US7003752B2 (en) * | 2002-11-18 | 2006-02-21 | Cadence Design Systems, Inc. | Method and apparatus for routing |
US7047513B2 (en) * | 2002-11-18 | 2006-05-16 | Cadence Design Systems, Inc. | Method and apparatus for searching for a three-dimensional global path |
US7093221B2 (en) * | 2002-11-18 | 2006-08-15 | Cadence Design Systems, Inc. | Method and apparatus for identifying a group of routes for a set of nets |
US7013445B1 (en) | 2002-12-31 | 2006-03-14 | Cadence Design Systems, Inc. | Post processor for optimizing manhattan integrated circuits placements into non manhattan placements |
US7089519B1 (en) | 2002-12-31 | 2006-08-08 | Cadence Design System, Inc. | Method and system for performing placement on non Manhattan semiconductor integrated circuits |
US7506295B1 (en) | 2002-12-31 | 2009-03-17 | Cadence Design Systems, Inc. | Non manhattan floor plan architecture for integrated circuits |
JP4204444B2 (ja) * | 2003-11-04 | 2009-01-07 | パナソニック株式会社 | 半導体集積回路の設計方法 |
JP4272647B2 (ja) | 2005-09-09 | 2009-06-03 | 富士通マイクロエレクトロニクス株式会社 | 半導体集積回路装置のレイアウト方法及びそのレイアウトプログラム |
JP5385575B2 (ja) * | 2008-09-29 | 2014-01-08 | ラピスセミコンダクタ株式会社 | 半導体記憶装置 |
CN101739479B (zh) * | 2008-11-25 | 2012-07-04 | 晨星软件研发(深圳)有限公司 | 防止壅塞配置方法及装置 |
CN102087674B (zh) * | 2009-12-07 | 2014-10-29 | 晨星软件研发(深圳)有限公司 | 防止壅塞配置装置及方法 |
US10325050B2 (en) * | 2016-04-14 | 2019-06-18 | Oracle International Corporation | User-defined partitions for logical and physical circuit syntheses |
US11113442B2 (en) * | 2017-09-28 | 2021-09-07 | Intel Corporation | Methods and apparatus for reducing reliability degradation on an integrated circuit |
KR20230114937A (ko) * | 2022-01-26 | 2023-08-02 | 삼성전자주식회사 | 반도체 집적 회로의 레이아웃 설계 방법, 이를 이용한 반도체 집적 회로의 설계 방법, 및 이를 수행하는 설계 시스템 |
KR20230122516A (ko) * | 2022-02-14 | 2023-08-22 | 주식회사 마키나락스 | 금지 영역 정보를 기반으로 반도체 소자를 배치하는 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0831580B2 (ja) | 1987-04-17 | 1996-03-27 | 日本電気株式会社 | 集積回路の配置設計方法 |
JPH04160570A (ja) | 1990-10-24 | 1992-06-03 | Nec Corp | 配置改良方式 |
JPH05190813A (ja) | 1992-01-08 | 1993-07-30 | Hitachi Ltd | 集積回路の配置設計方法 |
JP3193167B2 (ja) | 1992-12-11 | 2001-07-30 | 株式会社東芝 | 論理合成システム |
US6067409A (en) * | 1996-06-28 | 2000-05-23 | Lsi Logic Corporation | Advanced modular cell placement system |
-
1998
- 1998-05-22 JP JP14092198A patent/JP3564295B2/ja not_active Expired - Fee Related
- 1998-10-20 US US09/176,260 patent/US6327694B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6327694B1 (en) | 2001-12-04 |
JPH11338892A (ja) | 1999-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3564295B2 (ja) | セル配置装置及び方法並びにセル配置プログラムを記録したコンピュータ読取り可能な記録媒体 | |
JP4719265B2 (ja) | 確率的相互接続構造設計のためのシステムおよび方法 | |
Chen et al. | NTUplace3: An analytical placer for large-scale mixed-size designs with preplaced blocks and density constraints | |
US6480991B1 (en) | Timing-driven global placement based on geometry-aware timing budgets | |
US5224057A (en) | Arrangement method for logic cells in semiconductor IC device | |
US6378121B2 (en) | Automatic global routing device for efficiently determining optimum wiring route on integrated circuit and global routing method therefor | |
US7089523B2 (en) | Method and apparatus for using connection graphs with potential diagonal edges to model interconnect topologies during placement | |
Hsu et al. | Routability-driven analytical placement for mixed-size circuit designs | |
US8234615B2 (en) | Constraint programming based method for bus-aware macro-block pin placement in a hierarchical integrated circuit layout | |
JP4474404B2 (ja) | パッキングベースのマクロ配置方法とそれを用いた半導体チップ | |
CN110795908A (zh) | 偏差驱动的总线感知总体布线方法 | |
TWI472938B (zh) | 在積體電路的電力網路中自動降低堆疊通孔的方法 | |
US6519745B1 (en) | System and method for estimating capacitance of wires based on congestion information | |
CN112149378A (zh) | 一种基于拥塞协商的拆线重布方法、设备及可读存储介质 | |
JP2018511928A (ja) | 3d集積回路のための重畳ブロックおよび複製されたピンを用いた知的財産ブロック設計 | |
US7596773B2 (en) | Automating optimal placement of macro-blocks in the design of an integrated circuit | |
US8032855B1 (en) | Method and apparatus for performing incremental placement on a structured application specific integrated circuit | |
US6931610B1 (en) | Method for rapid estimation of wire delays and capacitances based on placement of cells | |
US11222159B2 (en) | Method, computer-based system and computer program product for planning partitions for a programmable gate array | |
Cheng et al. | Obstacle-avoiding length-matching bus routing considering nonuniform track resources | |
US7840919B1 (en) | Resource mapping of functional areas on an integrated circuit | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 | |
JP3068492B2 (ja) | 自動配置配線方法 | |
JP2735257B2 (ja) | 半導体集積回路装置の論理セルの配置方法 | |
Xiang et al. | An algorithm for simultaneous pin assignment and routing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031212 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040325 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040426 |
|
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: 20040518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090611 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100611 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110611 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120611 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120611 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140611 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |