JPH02128459A - Lsiの素子ブロック配置方法 - Google Patents
Lsiの素子ブロック配置方法Info
- Publication number
- JPH02128459A JPH02128459A JP63281039A JP28103988A JPH02128459A JP H02128459 A JPH02128459 A JP H02128459A JP 63281039 A JP63281039 A JP 63281039A JP 28103988 A JP28103988 A JP 28103988A JP H02128459 A JPH02128459 A JP H02128459A
- Authority
- JP
- Japan
- Prior art keywords
- block
- reduction
- blocks
- directed graph
- axis direction
- 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.)
- Granted
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
本発明はLSIの素子ブロック配置方法、特にLSI基
板上にそれぞれ所定の面積を有する複数個の素子ブロッ
クを配置するLSIの素子ブロック配置方法に関する。
板上にそれぞれ所定の面積を有する複数個の素子ブロッ
クを配置するLSIの素子ブロック配置方法に関する。
[従来の技術]
LSIの多様化にともない、複数個の不均一な形状のブ
ロックを所望のチップ枠内に配置しなければならず、L
SI設計時におけるブロック配置方法は重要な役割を果
たしている。
ロックを所望のチップ枠内に配置しなければならず、L
SI設計時におけるブロック配置方法は重要な役割を果
たしている。
この様なブロック配置方法として、「大きさの異なるブ
ロック配置の一手法(力学モデルに基づく概略配置とコ
ンパクションによる位置決定):小野寺他、電子情報通
信学会VLD87−62Jがある。
ロック配置の一手法(力学モデルに基づく概略配置とコ
ンパクションによる位置決定):小野寺他、電子情報通
信学会VLD87−62Jがある。
該ブロック配置方法は、各ブロック間の結線条件を吸引
力とし、各ブロック間の重なり面積を反光力とし、配置
ブロックに前記吸引力及び前記反発力を作用させる力学
モデルからブロック配置を行なうものである。
力とし、各ブロック間の重なり面積を反光力とし、配置
ブロックに前記吸引力及び前記反発力を作用させる力学
モデルからブロック配置を行なうものである。
[発明が解決しようとする課題]
しかしながら、従来のブロック配置方法は、予め各ブロ
ックの矩形形状が与えられており、固定形状であるので
、所望のチップ枠内に収めるためには各ブロックの移動
のみでは限界があった。
ックの矩形形状が与えられており、固定形状であるので
、所望のチップ枠内に収めるためには各ブロックの移動
のみでは限界があった。
更に、チップ枠内に全てのブロックを収めるためには、
各ブロック間の結線数等の接続条件を最優先することが
難しいという問題点があった。
各ブロック間の結線数等の接続条件を最優先することが
難しいという問題点があった。
本発明は、上記問題点を解決することを課題としており
、各ブロック間の結線数等の接続条件を最優先し、所望
のチップ枠内に全てのブロックを収めることのできる設
計自由度の高いブロック配置方法を提供することを目的
とする。
、各ブロック間の結線数等の接続条件を最優先し、所望
のチップ枠内に全てのブロックを収めることのできる設
計自由度の高いブロック配置方法を提供することを目的
とする。
[課題を解決するための手段]
上記目的を達成するために、本発明は、LSI基板上に
それぞれ所定の面積を有する複数個の素子ブロックを配
置するLSIの素子ブロック配置方法において、各素子
ブロックを各素子ブロック間の結線数等の接続条件に基
づいて面積を無視した基本格子に配置する基本格子配置
工程と、全ての素子ブロックに所望面積の正方外形を与
える正方外形仮決め工程と、各ブロックの正方外形に基
づいて、各ブロックが互いに重ならないように各素子ブ
ロックを離すブロック離し工程Aと、前記離し工程で生
じた各ブロック間の隙を詰めるブロック詰め工程と、前
記詰め工程で決定された外枠のX軸方向及びY軸方向の
辺の長さと、所望チップ枠のX軸方向及びY軸方向の辺
の長さとを比較し、大きい比の軸方向を縮小方向とし、
縮小率を算出する縮小率・縮小方向算出工程と、各ブロ
ック間の前記縮小方向の有向グラフ、及び非縮小方向の
有向グラフを生成する有向グラフ生成工程と、前記縮小
方向に最も突出したブロックを探索し、該ブロックから
前記縮小方向の有向グラフを辿り縮小方向の辺の長さに
影響を及ぼす肥大ブロック群を抽出する肥大ブロック群
抽出工程と、前記抽出された肥大ブロック群の縮小方向
の各辺を前記縮小率で縮小するとともに、非縮小方向の
辺を同一面積となるように拡大するブロック形状調整工
程と、前記ブロック形状調整工程で発生したブロック間
の重なりを非縮小方向の有向グラフを辿りながら取り除
くブロック離し工程Bと、からなり、前記外枠が所望チ
ップ枠の大きさとなるまで、前記ブロック詰め工程、縮
小率・縮小方向算出工程、有向グラフ生成工程、肥大ブ
ロック群抽出工程、及びブロック形状調整工程及びブロ
ック離し工程Bを繰り返すものである。
それぞれ所定の面積を有する複数個の素子ブロックを配
置するLSIの素子ブロック配置方法において、各素子
ブロックを各素子ブロック間の結線数等の接続条件に基
づいて面積を無視した基本格子に配置する基本格子配置
工程と、全ての素子ブロックに所望面積の正方外形を与
える正方外形仮決め工程と、各ブロックの正方外形に基
づいて、各ブロックが互いに重ならないように各素子ブ
ロックを離すブロック離し工程Aと、前記離し工程で生
じた各ブロック間の隙を詰めるブロック詰め工程と、前
記詰め工程で決定された外枠のX軸方向及びY軸方向の
辺の長さと、所望チップ枠のX軸方向及びY軸方向の辺
の長さとを比較し、大きい比の軸方向を縮小方向とし、
縮小率を算出する縮小率・縮小方向算出工程と、各ブロ
ック間の前記縮小方向の有向グラフ、及び非縮小方向の
有向グラフを生成する有向グラフ生成工程と、前記縮小
方向に最も突出したブロックを探索し、該ブロックから
前記縮小方向の有向グラフを辿り縮小方向の辺の長さに
影響を及ぼす肥大ブロック群を抽出する肥大ブロック群
抽出工程と、前記抽出された肥大ブロック群の縮小方向
の各辺を前記縮小率で縮小するとともに、非縮小方向の
辺を同一面積となるように拡大するブロック形状調整工
程と、前記ブロック形状調整工程で発生したブロック間
の重なりを非縮小方向の有向グラフを辿りながら取り除
くブロック離し工程Bと、からなり、前記外枠が所望チ
ップ枠の大きさとなるまで、前記ブロック詰め工程、縮
小率・縮小方向算出工程、有向グラフ生成工程、肥大ブ
ロック群抽出工程、及びブロック形状調整工程及びブロ
ック離し工程Bを繰り返すものである。
[作用コ
本発明によるブロック配置方法は、各ブロックの形状を
変形するので、全ブロックの配置を単純なアルゴリズム
で所望のチップ枠内に収めることができ、トップダウン
的レイアウト設計に有効である。
変形するので、全ブロックの配置を単純なアルゴリズム
で所望のチップ枠内に収めることができ、トップダウン
的レイアウト設計に有効である。
[実施例〕
以下、本発明の好適な一実施例を図面に基づいて説明す
る。
る。
第1図は、本実施例の配置手順を示すフローチヤード図
である。
である。
同図に示されるように、本発明は、基本格子配置工程(
S 10)と、正方外形仮決め工程(S20)と、ブロ
ック離し工程A(S30)と、ブロック詰め工程(S
40)と、縮小率・縮小方向算出工程(S 50)と、
終了判定工程(S 60)と、有向グラフ生成工程(S
70)と、肥大ブロック群抽出工程(S 80)と、
ブロック形状調整工程(S 90)と、ブロック離し工
程B(S100)からなっている。
S 10)と、正方外形仮決め工程(S20)と、ブロ
ック離し工程A(S30)と、ブロック詰め工程(S
40)と、縮小率・縮小方向算出工程(S 50)と、
終了判定工程(S 60)と、有向グラフ生成工程(S
70)と、肥大ブロック群抽出工程(S 80)と、
ブロック形状調整工程(S 90)と、ブロック離し工
程B(S100)からなっている。
まず、前記基本格子配置工程(S 10)は、各素子ブ
ロックを各素子ブロック間の結線数等の接続条件に基づ
いて面積を無視した基本格子に配置を行なうものであり
、第2図(A)に示すように、各ブロックの基準点を格
子状に配置する。
ロックを各素子ブロック間の結線数等の接続条件に基づ
いて面積を無視した基本格子に配置を行なうものであり
、第2図(A)に示すように、各ブロックの基準点を格
子状に配置する。
そして、正方外形仮決め工程(S 20)にて、第2図
(B)に示されるように前記基準点に対して、全ての素
子ブロックに所望面積の正方外形を与える。
(B)に示されるように前記基準点に対して、全ての素
子ブロックに所望面積の正方外形を与える。
次に、ブロック離し工程A(S30)は、各ブ0ツクの
正方外形に基づいて、各ブロックが互いに重ならないよ
うように、各素子ブロックを離す工程である。すなわち
、第1列のブロックの各最右辺より左側に第i+1列の
ブロックが存在する場合は、該当ブロックを最右辺の位
置まで移動する。例えば、第2図(C)に示すように、
ブロックDの最右辺より左側に第2列のブロックEが存
在するので、ブロックEをブロックDの最右辺に移動す
る。
正方外形に基づいて、各ブロックが互いに重ならないよ
うように、各素子ブロックを離す工程である。すなわち
、第1列のブロックの各最右辺より左側に第i+1列の
ブロックが存在する場合は、該当ブロックを最右辺の位
置まで移動する。例えば、第2図(C)に示すように、
ブロックDの最右辺より左側に第2列のブロックEが存
在するので、ブロックEをブロックDの最右辺に移動す
る。
そして、各ブロックの行方向に対しても同様にブロック
離し作業を行ない、第2図(D)のように、全ブロック
の重なりを除去する。
離し作業を行ない、第2図(D)のように、全ブロック
の重なりを除去する。
ここで、前記型なりを除去するために、各ブロック毎に
移動するので、各ブロック間に不必要な空きが生じる。
移動するので、各ブロック間に不必要な空きが生じる。
次に、ブロック詰め工程(S 40)にて、前記ブロッ
ク離し工程(S 30)で生じた各ブロック間の隙を詰
める。各素子ブロックをX方向及びY方向に平行移動し
て、第2図(E)に示すように各素子ブロックを詰める
。
ク離し工程(S 30)で生じた各ブロック間の隙を詰
める。各素子ブロックをX方向及びY方向に平行移動し
て、第2図(E)に示すように各素子ブロックを詰める
。
そして、縮小率を算出する縮小率・縮小方向算出工程(
S 50)にて、前記詰め工程(S 40)で決定され
た外枠のX軸方向及びY軸方向の辺の長さと、所望チッ
プ枠のX軸方向及びY軸方向の辺の長さとを比較し、大
きい比の軸方向を縮小方向として出力する。例えば、第
3図(A)において、前記ブロック詰め工程(S 40
)にて決定された外枠のX軸方向の辺の長さが50SY
軸方向の辺の長さが46でり、所望のチップ枠の大きさ
をそれぞれ45.40とするとき、X軸方向の縮小率は
45150=0.90となり、Y軸方向の縮小率は42
/4 B岬0.91となる。このときの縮小方向は、縮
小率の高いX軸方向が選択される。
S 50)にて、前記詰め工程(S 40)で決定され
た外枠のX軸方向及びY軸方向の辺の長さと、所望チッ
プ枠のX軸方向及びY軸方向の辺の長さとを比較し、大
きい比の軸方向を縮小方向として出力する。例えば、第
3図(A)において、前記ブロック詰め工程(S 40
)にて決定された外枠のX軸方向の辺の長さが50SY
軸方向の辺の長さが46でり、所望のチップ枠の大きさ
をそれぞれ45.40とするとき、X軸方向の縮小率は
45150=0.90となり、Y軸方向の縮小率は42
/4 B岬0.91となる。このときの縮小方向は、縮
小率の高いX軸方向が選択される。
次に、終了判定工程(S 60)は、前記両縮小率が0
.99〜1.1の間となったときに、所望のチップ枠内
にブロック配置がなされたとして処理を打ち切るもので
ある。
.99〜1.1の間となったときに、所望のチップ枠内
にブロック配置がなされたとして処理を打ち切るもので
ある。
従って、前記縮小処理判断工程(S 60)にて、前記
縮小率が前記範囲外にあるときは、以下の手順で各ブロ
ックの縮小処理を行なう。
縮小率が前記範囲外にあるときは、以下の手順で各ブロ
ックの縮小処理を行なう。
まず、有向グツ生成工程(S 70)にて、前記縮小率
・縮小方向算出工程(S50)にて選択された前記縮小
方向の有向グラフ、及び非縮小方向の有向グラフを生成
する。ここで、該有向グラフは、それぞれ軸方向の隣接
関係を示すグラフである。すなわち、第3図(A)に示
されたブロック配置図に基づいたX軸方向(縮小方向)
の有向グラフは第4図(A) 、Y軸方向(非縮小方向
)の有向グラフは第4図(B)に示すようになる。
・縮小方向算出工程(S50)にて選択された前記縮小
方向の有向グラフ、及び非縮小方向の有向グラフを生成
する。ここで、該有向グラフは、それぞれ軸方向の隣接
関係を示すグラフである。すなわち、第3図(A)に示
されたブロック配置図に基づいたX軸方向(縮小方向)
の有向グラフは第4図(A) 、Y軸方向(非縮小方向
)の有向グラフは第4図(B)に示すようになる。
次に、肥大ブロック群抽出工程(S 80)にて、前記
縮小方向に最も突出したブロックを探索し、該ブロック
から前記有向グラフを辿り縮小方向の辺の長さに影響を
及ぼす肥大ブロック群を抽出する。ここで、第3図(A
)の例では、縮小方向即ちX軸方向に突出したブロック
はCであり、該ブロックCの配置に影響しているブロッ
クは、前記有向グラフを辿ると、ブロックA、B、D、
Eとなり、抽出される肥大ブロック群は、A、B、C。
縮小方向に最も突出したブロックを探索し、該ブロック
から前記有向グラフを辿り縮小方向の辺の長さに影響を
及ぼす肥大ブロック群を抽出する。ここで、第3図(A
)の例では、縮小方向即ちX軸方向に突出したブロック
はCであり、該ブロックCの配置に影響しているブロッ
クは、前記有向グラフを辿ると、ブロックA、B、D、
Eとなり、抽出される肥大ブロック群は、A、B、C。
D、 Eとなる。
次に、ブロック形状調整工程(S 90)にて、前記抽
出された肥大ブロック群の縮小方向の各辺を前記縮小率
で縮小するとともに、非縮小方向の辺を同一面積となる
ように拡大する。すなわち、前記抽出された肥大ブロッ
ク群A、B、C,D。
出された肥大ブロック群の縮小方向の各辺を前記縮小率
で縮小するとともに、非縮小方向の辺を同一面積となる
ように拡大する。すなわち、前記抽出された肥大ブロッ
ク群A、B、C,D。
Eに対して、X軸方向の各辺を0. 9倍し、Y軸方向
の辺の長さは、前記縮小されたX軸方向の辺の長さと、
予め与えられている各面積とから算出する。従って、第
3図(A)に示されるブロック配置に対して、ブロック
形状調整工程(S 90)を施せば、第3図(B)に示
すようになる。
の辺の長さは、前記縮小されたX軸方向の辺の長さと、
予め与えられている各面積とから算出する。従って、第
3図(A)に示されるブロック配置に対して、ブロック
形状調整工程(S 90)を施せば、第3図(B)に示
すようになる。
そして、前記ブロック形状調整工程(S 90)にて発
生したブロック間の重なりを非縮小方向の有向グラフ(
第4図(B))を辿りながら取り除<(S100)。す
なわち、形状調整工程(S90)では非縮小方向(Y軸
方向)のみにブロックの重なりが発生するので、非縮小
方向の離し作業を行えば、ブロックの重なりを確実に除
去することができる。
生したブロック間の重なりを非縮小方向の有向グラフ(
第4図(B))を辿りながら取り除<(S100)。す
なわち、形状調整工程(S90)では非縮小方向(Y軸
方向)のみにブロックの重なりが発生するので、非縮小
方向の離し作業を行えば、ブロックの重なりを確実に除
去することができる。
その後、ブロック枠が所望のチップ枠の大きさとなるま
で各工程(S 40)〜(S 100)を繰り返す。
で各工程(S 40)〜(S 100)を繰り返す。
また、終了判定工程(S 60)にて、所望の比率とな
らなくても、前回の縮小率と比較して、改善効果が現れ
なければ、そこで終了する。
らなくても、前回の縮小率と比較して、改善効果が現れ
なければ、そこで終了する。
従って、本実施例によれば、各素子ブロックの縦横比を
変更するので、従来の固定形状ブロックの配置時より外
枠を小さくできるという利点を有する。
変更するので、従来の固定形状ブロックの配置時より外
枠を小さくできるという利点を有する。
本発明における基本格子配置は、ペアリンキング法、ク
ラスタ成長法等の任意のものを使用することが可能とな
る。
ラスタ成長法等の任意のものを使用することが可能とな
る。
[発明の効果]
以上説明したように、本発明に係るLSIの素子ブロッ
ク配置方法によれば、所望チップ枠内に全てのブロック
を収めることが可能となり、トップダウン的レイアウト
設計に非常に有効である。
ク配置方法によれば、所望チップ枠内に全てのブロック
を収めることが可能となり、トップダウン的レイアウト
設計に非常に有効である。
また、結線数等の接続条件にて決まる初期配置結果(基
本格子配置結果)の相対位置関係を極力守ることができ
るので、ブロック間の配線経路の長さを短小にすること
ができる。
本格子配置結果)の相対位置関係を極力守ることができ
るので、ブロック間の配線経路の長さを短小にすること
ができる。
第1図は本発明に係るLSIの素子ブロック配置方法の
概略手順図、 第2図及び第3図は本発明方法の適用した素子ブロック
配置状態の説明図、 第4図は本実施例による有向グラフの説明図である。
概略手順図、 第2図及び第3図は本発明方法の適用した素子ブロック
配置状態の説明図、 第4図は本実施例による有向グラフの説明図である。
Claims (1)
- 【特許請求の範囲】 LSI基板上にそれぞれ所定の面積を有する複数個の素
子ブロックを配置するLSIの素子ブロック配置方法に
おいて、 各素子ブロックを各素子ブロック間の結線数等の接続条
件に基づいて面積を無視した基本格子に配置する基本格
子配置工程と、 全ての素子ブロックに所望面積の圧力外形を与える正方
外形仮決め工程と、 各ブロックの正方外形に基づいて、各ブロックが互いに
重ならないように各素子ブロックを離すブロック離し工
程Aと、 前記離し工程Aで生じた各ブロック間の隙を詰めるブロ
ック詰め工程と、 前記詰め工程で決定された外枠のX軸方向及びY軸方向
の辺の長さと、所望チップ枠のX軸方向及びY軸方向の
辺の長さとを比較し、大きい比の軸方向を縮小方向とし
、縮小率を算出する縮小率・縮小方向算出工程と、 各ブロック間の前記縮小方向の有向グラフ、及び非縮小
方向の有向グラフを生成する有向グラフ生成工程と、 前記縮小方向に最も突出したブロックを探索し、該ブロ
ックから前記縮小方向の有向グラフを辿り縮小方向の辺
の長さに影響を及ぼす肥大ブロック群を抽出する肥大ブ
ロック群抽出工程と、 前記抽出された肥大ブロック群の縮小方向の各辺を前記
縮小率で縮小するとともに、非縮小方向の辺を同一面積
となるように拡大するブロック形状調整工程と、 前記ブロック形状調整工程で発生したブロック間の重な
りを非縮小方向の有向グラフを辿りながら取り除くブロ
ック離し工程Bと、 からなり、前記外枠が所望チップ枠の大きさとなるまで
、前記ブロック詰め工程、縮小率・縮小方向算出工程、
有向グラフ生成工程、肥大ブロック群抽出工程、ブロッ
ク形状調整工程及びブロック離し工程Bを繰り返すこと
を特徴とするLSIの素子ブロック配置方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63281039A JPH0646649B2 (ja) | 1988-11-07 | 1988-11-07 | Lsiの素子ブロック配置方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63281039A JPH0646649B2 (ja) | 1988-11-07 | 1988-11-07 | Lsiの素子ブロック配置方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02128459A true JPH02128459A (ja) | 1990-05-16 |
| JPH0646649B2 JPH0646649B2 (ja) | 1994-06-15 |
Family
ID=17633445
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63281039A Expired - Lifetime JPH0646649B2 (ja) | 1988-11-07 | 1988-11-07 | Lsiの素子ブロック配置方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0646649B2 (ja) |
-
1988
- 1988-11-07 JP JP63281039A patent/JPH0646649B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0646649B2 (ja) | 1994-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Weste | Virtual grid symbolic layout | |
| JPH0793358B2 (ja) | ブロック配置処理方式 | |
| JPH02128459A (ja) | Lsiの素子ブロック配置方法 | |
| JPH03206645A (ja) | 2個以上の集積回路を一つの集積回路へ併合する方法 | |
| Kang et al. | Topology constrained rectilinear block packing for layout reuse | |
| JP2566061B2 (ja) | エリアデータからパスデータへの変換方法 | |
| US6317865B1 (en) | Wiring-capacitance improvement aid device aiding in improvement of points having wiring-capacitance attributable error only with layout modification, method thereof, and medium having a program therefor recorded therein | |
| JPH08235232A (ja) | レイアウトの検証方法およびその装置 | |
| US5963732A (en) | Method for simulating impurity diffusion in semiconductor with oxidation | |
| JP2825111B2 (ja) | レイアウトデータ編集装置 | |
| JP3343047B2 (ja) | フロアプラン方法及びその装置 | |
| JP2001308189A (ja) | 半導体集積回路装置及びクロック配線方法並びに記録媒体 | |
| JP2858677B2 (ja) | 半導体集積回路のマスクレイアウト方法 | |
| JP2715931B2 (ja) | 半導体集積回路設計支援方法 | |
| JP2666915B2 (ja) | 自動配置配線処理装置 | |
| JP3062149B2 (ja) | 自動配線方法 | |
| JPH04145585A (ja) | マスクパターン編集方法 | |
| JP2933584B2 (ja) | 半導体集積回路装置及びマクロ端子クランプ処理方法 | |
| JPH06140507A (ja) | チップサイズ評価方法 | |
| JP3104339B2 (ja) | 集積回路レイアウト設計装置 | |
| JP2967796B2 (ja) | 半導体集積回路のレイアウト設計方法 | |
| JPH038355A (ja) | 配置要素配置方法及び装置 | |
| JPS63214880A (ja) | レイアウトのコンパクシヨン方式 | |
| JPH0887531A (ja) | レイアウト検証装置 | |
| JPH06332982A (ja) | レイアウト方法 |