JP4004860B2 - Layout method of semiconductor integrated circuit - Google Patents

Layout method of semiconductor integrated circuit Download PDF

Info

Publication number
JP4004860B2
JP4004860B2 JP2002161611A JP2002161611A JP4004860B2 JP 4004860 B2 JP4004860 B2 JP 4004860B2 JP 2002161611 A JP2002161611 A JP 2002161611A JP 2002161611 A JP2002161611 A JP 2002161611A JP 4004860 B2 JP4004860 B2 JP 4004860B2
Authority
JP
Japan
Prior art keywords
computer
usage rate
placement
function macro
cell usage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002161611A
Other languages
Japanese (ja)
Other versions
JP2004013205A (en
Inventor
茂 阪本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2002161611A priority Critical patent/JP4004860B2/en
Publication of JP2004013205A publication Critical patent/JP2004013205A/en
Application granted granted Critical
Publication of JP4004860B2 publication Critical patent/JP4004860B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は半導体集積回路のレイアウト方法に関し、特にCADによる複数の機能ブロックから成る大規模な半導体集積回路のレイアウト方法に関する。
【0002】
【従来の技術】
SOC(システム・オン・チップ)時代の到来により、半導体集積回路の1つのチップ内に多数の機能マクロを搭載するようになった。これらの機能マクロに含まれる回路ブロックは互いに関係が深いため、近接して配置されなければならない。このような機能マクロに対しては、グルーピングを行い、予め配置位置を指定してレイアウトを行う方法が一般的である。
【0003】
従来のこの種の半導体集積回路のレイアウト方法をフローチャートで示す図16を参照して説明する。この従来の半導体集積回路のレイアウト方法は、端子配置や大型マクロの配置位置を決めるためのフロアプランステップS1と、電源配線を行うステップS3と、プリミティブブロックの配置を行うステップS4と、プリミティブブロック配置が正常にできたかのチェックを行う配置可能判定ステップP5と、ブロック間の配線を行う配線ステップS12と、配線が正常にできたかのチェックを行う配線可能判定ステップS13と、レイアウト検証を行うレイアウト検証ステップS14とを有する。
【0004】
まず、ステップS1で、フロアプランを行い、大型機能マクロの配置位置を決めると共に、近接して配置したい機能マクロに対してグルーピングを実施し、配置位置、配置領域の形状、セル使用率を決める。次に、ステップS3,S4で、電源配線及びプリミティブブロック配置を行う。
【0005】
次に、ステップP5で、プリミティブブロック配置が正常にできたかのチェックを行う。この際、フロアプランで定めた配置位置が最適な位置でなかったり、配置領域の形状が自動レイアウトツールの性能を制限してしまうことにより、配置エラーが発生する場合がある。その場合、再度フロアプランステップS1まで戻り、配置位置を再検討する。
【0006】
配置が終了した後、ステップS12にて配線を行い、続いてステップS13で配線が正常に行われたかをチェックする。配線が正常に行われていない場合、再再度フロアプランステップS1まで戻り、配置位置を再検討する。
【0007】
この場合も、フロアプランが大きく影響を与える。すなわち、フロアプランにおいて最適な配置位置が指定されていないと、配線混雑を引き起こしたり、タイミングエラーが発生し、その修正に多大な時間を必要としてしまう。また、最悪の場合、フロアプランの検討からやり直さなければならなくなる。これらの問題は、近年の回路の大規模化、高速化に伴い、これらの問題はいっそう顕著に表れるようになった。
【0008】
【発明が解決しようとする課題】
上述した従来の半導体集積回路のレイアウト方法は、フロアプランで定めた配置位置が最適な位置でなかったり、配置領域の形状が自動レイアウトツールの性能を制限してしまうことにより、配置エラーが発生した場合、配線混雑を引き起こしたり、タイミングエラーが発生し、その修正にフロアプランの検討からやり直す必要が生じる等多大な時間を必要とするという欠点があった。
【0009】
本発明の目的は、上記問題を解決するとともに、自動配置ツールの性能を最大限に発揮することにより最適な配置を実施できる半導体集積回路のレイアウト方法を提供することにある。
【0010】
【課題を解決するための手段】
本発明の半導体集積回路のレイアウト方法は、大規模半導体集積回路の自動配置配線方法において、機能マクロの配置位置を限定せずに自動配置を行い、予め指定した対象機能マクロの配置位置から、他の機能マクロとの接続関係を考慮した配置に基づき、前記対象機能マクロの配置密度が予め設定したセル使用率を満たすように配置領域を再設定し、再配置を行うことにより前記対象機能マクロの最適な配置位置を実現することを特徴とするものである。
【0011】
また、本発明の半導体集積回路のレイアウト方法は、前記対象機能マクロが、相互に近接配置を行うことが望ましい機能マクロであることを特徴とする。
【0012】
さらに、本発明の半導体集積回路のレイアウト方法は、大規模半導体集積回路の自動配置配線方法において、端子配置及び機能マクロの配置位置を決めるためのフロアプランステップと、
近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率を設定する対象機能マクロセル使用率決定ステップと、
電源配線を行う電源配線ステップと、
プリミティブブロックの配置を行うプリミティブブロックの配置ステップと、
前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
前記対象機能マクロ配置範囲内におけるセル使用率が前記希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定する領域設定ステップと、
設定した前記配置領域内に前記対象機能マクロを再配置する再配置ステップと、
前記配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
前記機能マクロのブロック間の配線を行う配線ステップと、
前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
レイアウト検証を行うレイアウト検証ステップと、を有することを特徴とする。
【0013】
さらにまた、本発明の半導体集積回路のレイアウト方法は、前記領域設定ステップが、前記対象機能マクロが配置された領域の重心を求める重心検索ステップと、
前記領域を前記希望セル使用率を満たす大きさに縮小する配置領域縮小ステップと、
前記重心検索ステップで求めた重心が新たな配置領域の中心となるように移動する配置領域移動ステップと、
前記配置領域が大型マクロや配置禁止領域と重なってしまうことにより前記セル使用率が前記希望セル使用率を超過してしまわないかのチェックを行うセル使用率判定ステップと、
前記セル使用率が超過しないように配置領域の再設定を行う配置領域再設定ステップとを有することを特徴とする。
【0014】
また、本発明の半導体集積回路のレイアウト方法は、前記再配置ステップが、前記対象機能マクロが配置された領域の重心方向に前記対象機能マクロを移動可能かを判定する重心方向移動可能判定ステップと、
前記対象機能マクロを前記重心方向に移動する重心方向移動ステップと、
前記対象機能マクロが前記配置領域内に収まっているかを判定する領域内判定ステップと、
前記配置領域内のブロックで移動しても前記重心からの距離が変わらないブロックである距離不変ブロックがあるかを判定する距離不変ブロック判定ステップと、
距離不変ブロック判定ステップで前記距離不変ブロックがある場合、前記距離不変ブロックを移動させる距離不変ブロック移動ステップと、
前記配置領域外のブロックを前記配置領域内に移動させる領域外ブロック移動ステップと、
前記配置領域内にすべて収まったかを判定する領域内ブロック判定ステップとを有することを特徴とする。
【0015】
また、本発明の半導体集積回路のレイアウト方法は、前記対象機能マクロセル使用率決定ステップと、前記対象機能マクロ配置範囲設定ステップと、前記使用率判定ステップと、前記領域設定ステップと、前記再配置ステップと、前記他の機能マクロの含有判定ステップと、前記追い出し作業ステップと、前記配置改良ステップの各々が、それぞれ複数の前記対象機能マクロセルに対応する処理であることを特徴とする。
【0016】
また、本発明の半導体集積回路のレイアウト方法は、前記対象機能マクロセル使用率決定ステップが、前記セル使用率を決める時に最大値と最小値を設定し、
前記対象機能マクロ配置範囲設定ステップが、前記配置範囲を設定する時に前記最小セル使用率に基づいて配置範囲を設定し、
前記セル使用率判定ステップが、前記セル使用率をチェックする時に前記最小セル使用率を満たしているかをチェックし、
前記他の機能マクロの含有判定ステップで前記他の機能マクロを含まない場合に設定した前記希望使用率以内になっているかを判定する設定セル使用率範囲内判定ステップと、
前記設定セル使用率範囲内判定ステップで前記セル使用率が前記最小セル使用率を満たしていない場合は配置縮小を、前記セル使用率が前記最大セル使用率を超過している場合は配置緩和を行いその結果を前記追い出し作業ステップに適用する配置密度調整ステップとを有することを特徴とする。
【0017】
また、本発明の半導体集積回路のレイアウト方法は、前記他の機能マクロの含有判定ステップが、前記配置領域内に他の機能マクロを含んでいるかの判定を行うときに電源分離用の機能マクロの配置領域をこの配置領域を囲むための電源分離リングの幅を考慮して拡大して判定し、
前記追い出し作業ステップが、前記他の機能マクロの含有判定ステップの判定結果諾の場合に追い出し作業を行うことを特徴とするものである。
【0018】
さらにまた、本発明の半導体集積回路のレイアウト方法は、前記領域設定ステップが、配置されたブロックの外周に沿って配置領域を設定する配置領域縮小ステップと、
前記配置領域の各辺の線分を中心に向かって移動させる配置領域移動ステップとを有し、
前記領域設定ステップの領域設定後に新たな配置領域内でのセル使用率をチェックするセル使用率判定ステップを追加したことを特徴とする。
【0019】
また、本発明の半導体集積回路のレイアウト方法は、前記領域設定ステップが、配置領域を設定する際に押し込む(縮小対象の)線分の長さが電源分離リングの幅の2倍以下の場合は縮小しないことを特徴とする。
【0020】
また、本発明のレイアウト方法は、前記フロアプランステップが、フロアプラン実行時に前記対象機能マクロに対してグルーピングを行い配置位置を指定することを特徴とする。
【0021】
さらに、本発明の半導体集積回路のレイアウト方法は、大規模半導体集積回路の自動配置配線方法において、 端子配置及び機能マクロの配置位置を決めるためのフロアプランステップと、
近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率を設定する対象機能マクロセル使用率決定ステップと、
電源配線を行う電源配線ステップと、
プリミティブブロックの配置を行うプリミティブブロックの配置ステップと、
前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
前記対象機能マクロ配置範囲内におけるセル使用率が前記希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定する領域設定ステップと、
設定した前記配置領域内に前記対象機能マクロを再配置する再配置ステップと、
前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
前記機能マクロのブロック間の配線を行う配線ステップと、
前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
レイアウト検証を行うレイアウト検証ステップと、を有することを特徴とする。
【0022】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0023】
本実施の形態の半導体集積回路のレイアウト方法は、大規模半導体集積回路の自動配置配線方法において、大規模半導体集積回路の自動配置配線方法において、機能マクロの配置位置を限定せずに自動配置を行い、予め指定した対象機能マクロの配置位置から、他の機能マクロとの接続関係を考慮した配置に基づき、対象機能マクロの配置密度が予め設定したセル使用率を満たすように配置領域を再設定し、対象機能マクロの再配置を行うことにより上記対象機能マクロの最適な配置位置を実現することを特徴とするものである。
【0024】
次に、本発明の第1の実施の形態を図3と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図1を参照する。この図に示す本実施の形態の半導体集積回路のレイアウト方法は、従来例で説明したのと共通の端子配置や機能マクロの配置位置を決めるためのフロアプランステップS1と、電源配線を行う電源配線ステップS3と、プリミティブブロックの配置を行うプリミティブブロックの配置ステップS4と、機能マクロのブロック間の配線を行う配線ステップS12と、配線が正常にできたかのチェックを行う配線可能判定ステップS13と、レイアウト検証を行うレイアウト検証ステップS14とに加えて、近接して配置したい機能マクロ(以下、対象機能マクロ)に対して希望するセル使用率を設定する対象機能マクロセル使用率決定ステップS2と、対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップS5と、対象機能マクロ配置範囲内におけるセル使用率がステップS2で設定した希望セル使用率を満たしているかを判定するセル使用率判定ステップS6と、セル使用率判定ステップS6で否の場合希望するセル使用率を満たすように配置領域を設定する領域設定ステップS7と、設定した配置領域内に対象機能マクロを再配置する再配置ステップS8と、配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップS9と、ステップS9で諾の場合配置領域内の他の機能マクロを配置領域外に追い出す作業を行う追い出し作業ステップS10と、配置領域内の対象機能マクロの配置位置の微調整や配置エラーが起こっている対象機能マクロのブロックの再配置を行う配置改良ステップS11とを有する。
【0025】
領域設定ステップS7の詳細をフローチャートで示す図2を参照すると、この領域設定ステップS7は、対象機能マクロが配置された領域の重心を求める重心検索ステップS71と、領域をステップS2で設定した希望セル使用率を満たす大きさに縮小する配置領域縮小ステップS72と、ステップS71で求めた重心が新たな配置領域の中心となるように移動する配置領域移動ステップS73と、配置領域が大型マクロや配置禁止領域と重なってしまうことにより、セル使用率が希望セル使用率を超過してしまわないかのチェックを行うセル使用率判定ステップS74と、セル使用率が超過しないように配置領域の再設定を行う配置領域再設定ステップS75とを有する。
【0026】
再配置ステップS8の詳細をフローチャートで示す図3を参照すると、この再配置ステップS8は、対象機能マクロを重心方向に移動可能かを判定する重心方向移動可能判定ステップS81と、対象機能マクロを重心方向に移動する重心方向移動ステップS82と、対象機能マクロが領域内に収まっているかを判定する領域内判定ステップS83と、配置領域内のブロックで移動しても重心からの距離が変わらないブロックである距離不変ブロックがあるかを判定する距離不変ブロック判定ステップS84と、ステップS84で距離不変ブロックがある場合その距離不変ブロックを移動させる距離不変ブロック移動ステップS85と、配置領域外のブロックを配置領域内に移動させる領域外ブロック移動ステップS86と、配置領域内にすべて収まったかを判定する領域内ブロック判定ステップS87とを有する。
【0027】
次に、図1、図2、図3及び本実施の形態を適用したブロックの配置の一例をレイアウト図で示す図4(A)〜(D)を参照して本実施の形態の動作について説明する。説明の便宜上、本実施の形態では、図4に示す3種類の機能マクロD1,D2,D3を持った回路のレイアウトを行うものとし、特に機能マクロD1に対して最適な配置位置を求めるものとする。また、回路周辺に配設した電源供給用の電源リング31,32を示す。
【0028】
まず、端子配置や大型マクロの配置位置を決めるため、フロアプランを行う(ステップS1)。
【0029】
次に、機能マクロD1に対して、希望するセル使用率を設定する(ステップS2)。本実施の形態では、機能マクロD1の希望セル使用率=70%(以下、D1=70%等と記述)と設定する。
【0030】
次に、従来と共通の電源配線(ステップS3)、配置(ステップS4)を行う。配置を行った結果、図4(A)のようになったと想定する。
【0031】
対象となるブロックが配置された座標の内、x座標及びy座標の各々の最大値と最小値を求め、これらx座標の最大値及び最小値と、y座標の最大値及び最小値を組み合わせた4点の座標で囲まれた領域を、図4(B)に示すように、機能マクロの配置範囲11として設定する(ステップS5)。
【0032】
配置範囲内でのセル使用率が、設定していた値を満たしているかを判定する(ステップS6)。本実施の形態では判定の結果、D1=26.3%となったので、機能マクロD1に対して再配置を行う。
【0033】
対象となる機能マクロD1が持つ、最小のブロックの大きさのメッシュでチップ全体を覆う。原点となるメッシュを任意に設定して、その中心の座標を、原点O(0,0)とする。X軸までの距離をYi、Y軸までの距離をXiとした時、任意のメッシュの中心の座標をそれぞれ(Xi,Yi)とする。ブロックが存在する座標の合計を求め、ブロックの数で除算する。求めた数値を対象機能マクロの重心21とする(ステップS71)。
【0034】
配置領域を、設定したセル使用率を満たすように縮小し(ステップS72)、重心が新たな配置領域の中心となるように設定する(ステップS73)。その際、設定した領域が大型マクロや配置禁止領域などと重なることによって、設定したセル使用率を超過することが予め予想される場合は、セル使用率を超過しないように、領域を移動させる(ステップS74,S75)。図4(C)は領域を設定した後の状態を示す。
【0035】
次に、機能マクロが設定した領域内に収まるように、機能マクロに含まれるブロックを移動する。まず、重心方向に移動可能かを判定する(ステップS81)。ここで、ブロックが配置された位置から、重心方向に1ブロック分移動させた場合、移動先に同じ機能マクロに属する他のブロックが存在していれば、移動不可能、存在していなければ移動可能とする。他の機能マクロに属するブロックは存在していても無視する。
【0036】
移動可能なブロックを移動させ(ステップS82)、さらに、ブロックが移動したことによってできたスペースに、残りのブロックを移動させる。この作業を重心方向に移動できるブロックが無くなるまで繰り返す(ステップS81)。すべてのブロックが領域内に収まっているかを判定し(ステップS83)、領域内に収まりきっていないブロックがある場合は、領域内の移動させても重心からの距離が変わらないブロックを移動させて(ステップS85)、空いたスペースに領域外に配置されているブロックを移動させる(ステップS86)。図4(D)は移動を終了した状態を示す。
【0037】
配置移動の終了後、他の機能マクロのブロックが設定領域内に存在すると、領域内のセル使用率が高くなりすぎるので、領域内に他の機能マクロのブロックが存在する場合は、これを領域の外に追い出す(ステップS9,S10)。
【0038】
領域縮小や追い出し作業などで、ブロック同士の配置関係が最適なものとはいえない状態になっているので、既存の配置ツールを使用して、配置の微調整を行う(ステップS11)。
【0039】
その後、従来と同様に、配線を行い(ステップS12)、配線可能かのチェックを行う(ステップS13)。問題が無ければレイアウト検証を行う(ステップS14)。
【0040】
以上により、他のブロックとの接続関係を考慮して配置された位置情報を元に、対象となる機能マクロの配置位置を決定するため、最適な配置位置を実現できる。
【0041】
また、ブロックの配置範囲を希望するセル使用率を満たす範囲に収束させるため、機能マクロ内の配線が伸びてしまうことによる、タイミングエラーや、配線性の悪化を防ぐことができる。
【0042】
次に、本発明の第2の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図5を参照する。この図に示す本実施の形態の前述の第1の実施の形態との相違点は、最適な配置を行う機能マクロが複数の場合においても対応するため、対象機能マクロセル使用率決定ステップS2と、対象機能マクロ配置範囲設定ステップS5と、使用率判定ステップS6と、領域設定ステップS7と、再配置ステップS8と、他の機能マクロの含有判定ステップS9と、追い出し作業ステップS10と、配置改良ステップS11との代わりに、それぞれ複数の対象機能マクロセルに対応する対象機能マクロセル使用率決定ステップS2Aと、対象機能マクロ配置範囲設定ステップS5Aと、使用率判定ステップS6Aと、領域設定ステップS7Aと、再配置ステップS8Aと、他の機能マクロの含有判定ステップS9Aと、追い出し作業ステップS10Aと、配置改良ステップS11Aとを有することである。
【0043】
次に、図5及び本実施の形態を適用したブロックの配置の一例をレイアウト図で示す図6(A)〜(D)を参照して本実施の形態の動作について第1の実施の形態との相違点を重点的に説明する。説明の便宜上、本実施の形態では、図6に示す3種類の機能マクロD1,D2,D3を持った回路のレイアウトを行うものとし、これら機能マクロD1,D2,D3の全てに対して最適な配置位置を求めるものとする。また、第1の実施の形態と同様に、回路周辺に配設した電源供給用の電源リング31,32を示す。
【0044】
対象機能マクロセル使用率決定ステップS2Aで、機能マクロD1,D2,D3の各々のセル使用率を設定する。本実施の形態では、D1=70%、D2=80%、D3=60%とそれぞれ設定する。
【0045】
その後、電源配線、プリミティブブロックの配置を行った状態を図6(A)に示す。
【0046】
次に、対象機能マクロ配置範囲設定ステップS5Aで、対象となる機能マクロD1,D2,D3に対して配置範囲11,12,13の各々の設定を行う。配置範囲を設定した後の状態を図6(B)に示す。
【0047】
次に、使用率判定ステップS6Aで、機能マクロD1,D2,D3の各々のセル使用率が設定値を満たしているかを判定する。本実施の形態では、判定の結果、D1=26.3%、D2=29.9%、D3=64.0%となったものとすると、機能マクロD1,D2はセル使用率を満たしていないことになる。
【0048】
従って、ここでは、セル使用率を満たしていない、機能マクロD1,D2に対して、再配置を行う。
【0049】
まず、領域設定ステップS7Aでは、複数の対象機能マクロの全てに対し実施する他は第1の実施の形態と同様に、機能マクロD1,D2,D3の重心を求める(ステップS71)、各機能マクロD1,D2,D3の配置領域を、設定したセル使用率を満たすように縮小し(ステップS72)、重心が新たな配置領域の中心となるように設定する(ステップS73)。その際、設定した領域が大型マクロや配置禁止領域などと重なることによって、設定したセル使用率を超過することが予め予想される場合に加え、領域同士が接近し過ぎて、設定したセル使用率を超過することが予め予想される場合は、セル使用率を超過しないように、領域を移動させる(ステップS74,S75)。領域を設定した後の状態を機能マクロD1,D2の各々の重心21,22を含め図6(C)に示す。
【0050】
次に、再配置ステップS8Aでは、複数の対象機能マクロの全てに対し実施する他は第1の実施の形態と同様に、機能マクロが設定した領域内に収まるように、機能マクロに含まれるブロックを移動させる。まず、重心方向に移動可能かを判定する(ステップS81)。ブロックが配置された位置から、重心方向に1ブロック分移動させた場合、移動先に同じ機能マクロに属する他のブロックが存在していれば、移動不可能、存在していなければ移動可能とする。他の機能マクロに属するブロックは存在していても無視する。移動可能なブロックを移動させ(ステップS82)、さらにブロックが移動したことによってできたスペースに、残りのブロックを移動させる。この作業を重心方向に移動できるブロックが無くなるまで繰り返す(ステップS81)。すべてのブロックが領域内に収まっているかを判定し(ステップS83)、領域内に収まりきっていないブロックがある場合は、領域内の移動させても重心からの距離が変わらないブロックを移動させて(ステップS85)、空いたスペースに領域外に配置されているブロックを移動させる(ステップS86)。それぞれの機能マクロに対して、順次実行する。移動を終了した状態を図6(D)に示す。
【0051】
配置移動を終えた後、他の機能マクロのブロックが設定領域内に存在すると、領域内のセル使用率が高くなりすぎるので、領域内に他の機能マクロのブロックが存在する場合は、これを領域の外に追い出す(ステップS9A,S10A)。本処理もそれぞれの機能マクロに対して、順次実行する。
【0052】
領域縮小や追い出し作業などで、ブロック同士の配置関係が最適なものとはいえない状態になっているので、既存の配置ツールを使用して、配置の微調整を行う(ステップS11A)。
【0053】
その後、第1の実施の形態と共通の配線を行い(ステップS12)、配線可能かのチェックを行う(ステップS13)。問題が無ければレイアウト検証を行う(ステップS14)。
【0054】
次に、本発明の第3の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図7を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、対象機能マクロセル使用率決定ステップS2の代わりにセル使用率を決める時に最大値と最小値を設定する対象機能マクロセル使用率決定ステップS2Bと、対象機能マクロ配置範囲設定ステップS5との代わりに配置範囲を設定する時に最小セル使用率に基づいて配置範囲を設定する対象機能マクロ配置範囲設定ステップS5Bと、セル使用率判定ステップS6の代わりにセル使用率をチェックする時に最小セル使用率を満たしているかをチェックするセル使用率判定ステップS6Bと、他の機能マクロの含有判定ステップS9で他の機能マクロを含まない場合に設定した希望使用率以内になっているかを判定する設定セル使用率範囲内判定ステップS100と、ステップS100でセル使用率が最小セル使用率を満たしていない場合は配置縮小を、セル使用率が最大セル使用率を超過している場合は配置緩和を行いその結果を追い出し作業ステップS10に適用する配置密度調整ステップS101とを有することである。
【0055】
これにより、希望するセル使用率に幅を持たせることによって、配置領域内の混雑度が高すぎたり低過ぎたりするのを防ぐことができる。
【0056】
次に、本発明の第4の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図8を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、ステップS9とステップS10との代わりに、配置領域内に他の機能マクロを含んでいるかの判定を行う際と追い出し作業を行うときに、電源分離用の機能マクロの配置領域を、この配置領域を囲むための電源分離リングの幅を考慮して拡大して判定する他の機能マクロの含有判定ステップS9Bと、ステップS9Bの判定結果諾の場合に追い出し作業を行う追い出し作業ステップS10Bとを有することである。
【0057】
上記の第1〜第3の実施の形態では、自動配置ツールによって行われた配置状況から、同一機能マクロを近接して配置する際の最適な配置位置を求めて再配置を行うことにより、配線性の向上や配線遅延の短縮という効果が得られているが、配置範囲の設定時に電源保護の幅を考慮することにより、電源分離時の最適なフロアプランにも用いることができる。
【0058】
本実施の形態では、電源配線(ステップS3)を配置改良後、配線ステップS12の前に行う。電源分離実行後の状態をレイアウト図で示す図9を併せて参照すると、本フローでは電源分離を行う際、電源リング33,34で電源分離を行う機能マクロ、ここではD1を囲むことにより、電源分離を実現する。
【0059】
電源分離実行時は他の電源から保護する必要があるため、異なる電源を持つブロック間には、一定の間隔が必要となる。電源を分離する機能マクロを囲む電源リング33,34は、機能マクロに電源を供給する目的と、他の電源系を持つブロックとの距離を保つための役割を果たす。
【0060】
ステップS9Bで電源分離リングの幅を考慮して拡大して判定する理由は、電源リングを発生させる領域は、電源を分離し、保護するための間隔を維持する目的も有するため、この領域にブロックが存在しないようにするためである。
【0061】
また、本構成において、セル使用率の設定は、第3の実施の形態のように幅を持たせるフローを使用しても良い。
【0062】
次に、本発明の第5の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図10を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、領域設定ステップS7の代わりに後述する領域設定ステップS7Bを有するとともに、領域設定ステップS7Bの領域設定後に新たな配置領域内でのセル使用率をチェックするセル使用率判定ステップS300を追加したことである。
【0063】
本実施の形態の領域設定ステップS7Bの詳細フローをフローチャートで示す図11を参照すると、領域設定ステップS7Bの領域設定ステップS7との相違点は、配置領域縮小ステップS72と配置領域移動ステップS73の代わりに配置されたブロックの外周に沿って配置領域を設定する配置領域縮小ステップS72Aと、配置領域の各辺の線分を中心に向かって移動させる配置領域移動ステップS73Aとを有し、セル使用率判定ステップS74と配置領域再設定S75とを削除したことである。
【0064】
図10、図11を参照して本実施の形態の動作について第1の実施の形態との相違点を重点的に説明すると、まず、領域設定ステップS7Bの領域設定時には、セル使用率のチェックは行わない。また、ステップS72A,S73Aでは、矩形のまま縮小するのではなく、配置されたブロックの外周に沿って領域を設定する。具体的には領域の各辺の線分を中心に向かって移動させる。線分が対象となる機能マクロに含まれるブロックと隣接している所は移動させない。
【0065】
次に、ステップS300で新たに設定した領域でのセル使用率チェックを行い、条件を満たしていなければ再配置ステップS8を行い、満たしていれば他の機能マクロを含むかをチェック(ステップS9)する。セル使用率チェック(ステップS300)後は再配置(ステップS8)を行うが、配置が混み過ぎるのを避けるため、一通りブロックを移動させたら領域設定ステップS7に移る。
【0066】
このように、設定した領域でのセル使用率をチェックし(ステップS300)、希望する値を満たしていなければ、再配置(ステップS8)→領域設定(ステップS7)→セル使用率チェック(ステップS300)を繰り返す。その後の作業は第1の実施の形態と同様に進める。
【0067】
上述した第1〜第4の実施の形態では、領域を矩形で囲むことにより、CPUの負荷を軽減し、簡易に機能マクロの配置位置を計算しているが、領域を設定する際に矩形に固執せず、配置された形を生かした自由な領域設定を行うことにより、より初期は位置に近い、最適な配置を実現できる。
【0068】
次に、本発明の第6の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図12を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、領域設定ステップS7の代わりに配置領域を設定する際に押し込む(縮小対象の)線分の長さが電源分離リングの幅の2倍以下の場合は押し込まない、すなわち縮小しない領域設定ステップS7Cを有することである。
【0069】
図12及び本実施の形態の方法を用いて電源分離を実行した状態をレイアウト図で示す図13を参照して本実施の形態の動作について第1の実施の形態との相違点を重点的に説明すると、ステップS7Cの領域を設定する際、押し込む線分の長さが、電源分離リング33A,34Aの幅の2倍以下の場合は押し込まない(縮小しない)。リング幅の2倍以下の線分を押し込んでも、スペースを電源リングが埋めるだけで、意味を持たないからである。ただし対象領域のコーナ部につながる線分はこの限りではない。また、他の機能マクロの含有判定ステップS9と、追い出し作業実行ステップS10実行時は、電源分離リング33A,34Aの幅を考慮した物とする。
【0070】
このように、本実施の形態を電源分離で用いる場合、配置位置に沿って領域を設定するので、電源分離機能マクロを配置する領域で余っている所を、他のブロックの配置位置として利用することができる。これにより配置密度向上にもつながる。
【0071】
次に、本発明の第7の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図14を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、フロアプランステップS1の代わりにフロアプラン実行時に従来どおりの手法で対象機能マクロに対してグルーピングを行い配置位置を指定するフロアプランステップS1Aを有することである。
【0072】
これにより、指定された機能マクロはこの範囲内に配置される。配置されたデータに対して本手法を用いて配置改良を行う。
【0073】
このように、本実施の形態では、従来のレイアウト手法であるグルーピングと本発明を組み合わせることにより、機能ブロックの配置位置をある程度限定することもできる。
【0074】
機能ブロックによっては、チップ上のある端子位置に近い位置に配置することが全体のレイアウトの流れや動作上の問題から要求されることがある。本実施の形態の手法により、その要求に対応することが可能になる。
【0075】
次に、本発明の第8の実施の形態を図1と共通の構成要素には共通の参照文字および数字を付して同様にフローチャートで示す図15を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、他の機能マクロの含有判定ステップS9と、追い出し作業実行ステップS10を省略したことである。
【0076】
これにより、領域設定ステップS7と、再配置ステップS8を行なうことにより本発明の最低限の目的である機能マクロの配置を集中させることができているので、ステップS9とステップS10を省くことにより、全体フローの高速化が図れる効果がある。
【0077】
【発明の効果】
以上説明したように、本発明の半導体集積回路のレイアウト方法は、機能マクロの配置位置を限定せずに自動配置を行い、予め指定した対象機能マクロの配置位置から、他の機能マクロとの接続関係を考慮した配置に基づき、対象機能マクロの配置密度が予め設定したセル使用率を満たすように配置領域を再設定し、対象機能マクロの再配置を行うため、最適な配置位置を実現できるという効果がある。
【0078】
また、ブロックの配置範囲を希望するセル使用率を満たす範囲に収束させるため、機能マクロ内の配線が伸びてしまうことによる、タイミングエラーや、配線性の悪化を防ぐことができるという効果がある。
【図面の簡単な説明】
【図1】本発明の半導体集積回路のレイアウト方法の第1の実施の形態を示すフローチャートである。
【図2】図1の領域設定ステップの詳細を示すフローチャートである。
【図3】図1の再配置ステップの詳細を示すフローチャートである。
【図4】本実施の形態を適用したブロックの配置の一例を示すレイアウト図である。
【図5】本発明の半導体集積回路のレイアウト方法の第2の実施の形態を示すフローチャートである。
【図6】本実施の形態を適用したブロックの配置の一例を示すレイアウト図である。
【図7】本発明の半導体集積回路のレイアウト方法の第3の実施の形態を示すフローチャートである。
【図8】本実施の形態を適用したブロックの配置の一例を示すレイアウト図である。
【図9】本発明の半導体集積回路のレイアウト方法の第4の実施の形態を示すフローチャートである。
【図10】本発明の半導体集積回路のレイアウト方法の第5の実施の形態を示すフローチャートである。
【図11】図10の領域設定ステップの詳細を示すフローチャートである。
【図12】本発明の半導体集積回路のレイアウト方法の第6の実施の形態を示すフローチャートである。
【図13】本実施の形態を適用したブロックの配置の一例を示すレイアウト図である。
【図14】本発明の半導体集積回路のレイアウト方法の第7の実施の形態を示すフローチャートである。
【図15】本発明の半導体集積回路のレイアウト方法の第8の実施の形態を示すフローチャートである。
【図16】従来の半導体集積回路のレイアウト方法の一例を示すブロック図である。
【符号の説明】
11,12,13 配置範囲
21,22,23 重心
31,32,33,34 電源リング
33A,34A 電源分離リング
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a layout method of a semiconductor integrated circuit, and more particularly to a layout method of a large-scale semiconductor integrated circuit composed of a plurality of functional blocks by CAD.
[0002]
[Prior art]
With the advent of the SOC (system on chip) era, a large number of function macros are mounted in one chip of a semiconductor integrated circuit. Since the circuit blocks included in these function macros are closely related to each other, they must be arranged close to each other. For such function macros, a method is generally used in which grouping is performed and layout is performed by designating an arrangement position in advance.
[0003]
A conventional layout method of this type of semiconductor integrated circuit will be described with reference to FIG. This conventional method for laying out a semiconductor integrated circuit includes a floor plan step S1 for determining a terminal arrangement and a large macro arrangement position, a power supply wiring step S3, a primitive block arrangement step S4, and a primitive block arrangement. The placement enablement determination step P5 for checking whether or not the wiring is normal, the wiring step S12 for wiring between the blocks, the wiring enablement determination step S13 for checking whether the wiring is normal, and the layout verification step S14 for performing layout verification And have.
[0004]
First, in step S1, a floor plan is performed to determine an arrangement position of a large function macro, and grouping is performed on function macros to be arranged close to each other, thereby determining an arrangement position, an arrangement area shape, and a cell usage rate. Next, in steps S3 and S4, power supply wiring and primitive block arrangement are performed.
[0005]
Next, in step P5, it is checked whether the primitive block arrangement has been normally performed. At this time, an arrangement error may occur because the arrangement position determined in the floor plan is not the optimum position or the shape of the arrangement area limits the performance of the automatic layout tool. In that case, the process returns to the floor plan step S1 again to reexamine the arrangement position.
[0006]
After the placement is completed, wiring is performed in step S12, and then it is checked in step S13 whether wiring has been performed normally. When the wiring is not normally performed, the process returns to the floor plan step S1 again to reexamine the arrangement position.
[0007]
In this case as well, the floor plan has a significant impact. That is, if the optimum arrangement position is not specified in the floor plan, wiring congestion will occur or a timing error will occur, requiring a lot of time for correction. In the worst case, you will have to start over from the floor plan. These problems have become more prominent with the recent increase in circuit scale and speed.
[0008]
[Problems to be solved by the invention]
In the conventional semiconductor integrated circuit layout method described above, an arrangement error occurs because the arrangement position determined by the floor plan is not the optimum position or the shape of the arrangement area limits the performance of the automatic layout tool. In such a case, there is a drawback that a great deal of time is required such as wiring congestion or a timing error occurs, and it is necessary to redo the correction from the examination of the floor plan.
[0009]
SUMMARY OF THE INVENTION An object of the present invention is to provide a semiconductor integrated circuit layout method capable of solving the above-described problems and performing optimum placement by maximizing the performance of an automatic placement tool.
[0010]
[Means for Solving the Problems]
The layout method of a semiconductor integrated circuit according to the present invention is an automatic placement and routing method for a large-scale semiconductor integrated circuit, in which automatic placement is performed without limiting the placement position of function macros. Based on the arrangement considering the connection relationship with the function macro, the arrangement area is reset so that the arrangement density of the target function macro satisfies the cell usage rate set in advance, and the arrangement of the target function macro is performed by performing the rearrangement. It is characterized by realizing an optimum arrangement position.
[0011]
The semiconductor integrated circuit layout method of the present invention is characterized in that the target function macros are function macros that are desirably arranged close to each other.
[0012]
Furthermore, the layout method of the semiconductor integrated circuit of the present invention is a floor plan step for determining the terminal placement and the placement position of the function macro in the automatic placement and routing method of the large-scale semiconductor integrated circuit,
A target function macro cell usage rate determination step for setting a desired cell usage rate that is a desired cell usage rate for the target function macro that is the function macro that is to be placed close to each other;
A power supply wiring step for performing power supply wiring;
A primitive block placement step for placing a primitive block;
A target function macro arrangement range setting step for obtaining a range in which the target function macro is arranged;
A cell usage rate determination step for determining whether a cell usage rate in the target function macro arrangement range satisfies the desired cell usage rate; and
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate in the case of a negative in the cell usage rate determination step;
A rearrangement step of rearranging the target function macro in the set arrangement area;
The content determination step of other function macros that determine whether other function macros are not included in the arrangement area; and
In the case of consent in the content determination step of the other function macro, a eviction work step for performing a work of expelling the other function macro in the arrangement area out of the arrangement area, and
An arrangement improving step for finely adjusting the arrangement position of the target function macro in the arrangement area and rearranging the block of the target function macro in which an arrangement error has occurred;
A wiring step for performing wiring between the blocks of the functional macro;
A wiring enabling determination step for checking whether the wiring is normally performed; and
A layout verification step for performing layout verification.
[0013]
Furthermore, in the semiconductor integrated circuit layout method of the present invention, the region setting step includes a centroid search step of obtaining a centroid of a region where the target function macro is arranged,
An arrangement area reduction step for reducing the area to a size satisfying the desired cell usage rate;
A placement area moving step for moving the center of gravity obtained in the center of gravity search step to be the center of a new placement area;
A cell usage rate determination step for checking whether the cell usage rate exceeds the desired cell usage rate due to the placement region overlapping a large macro or a placement prohibited region;
And an arrangement area resetting step for resetting the arrangement area so that the cell usage rate does not exceed.
[0014]
Further, in the semiconductor integrated circuit layout method of the present invention, the rearrangement step determines whether the target function macro can be moved in the direction of the center of gravity of the area where the target function macro is arranged. ,
A center-of-gravity direction moving step of moving the target function macro in the direction of the center of gravity;
An in-region determination step for determining whether the target function macro is within the arrangement region; and
A distance invariant block determination step for determining whether there is a distance invariant block that is a block in which the distance from the center of gravity does not change even if the block moves in the arrangement area, and
If there is the distance invariant block in the distance invariant block determination step, a distance invariant block moving step for moving the distance invariant block;
An out-of-area block moving step of moving a block outside the above-mentioned arrangement area into the arrangement area; and
And an intra-area block determination step for determining whether or not the entire area is within the arrangement area.
[0015]
The semiconductor integrated circuit layout method of the present invention includes the target function macro cell usage rate determining step, the target function macro layout range setting step, the usage rate determining step, the region setting step, and the rearrangement step. In addition, each of the other function macro content determination step, the eviction work step, and the arrangement improvement step is a process corresponding to a plurality of the target function macro cells.
[0016]
In the semiconductor integrated circuit layout method of the present invention, the target function macro cell usage rate determination step sets a maximum value and a minimum value when determining the cell usage rate,
The target function macro arrangement range setting step sets the arrangement range based on the minimum cell usage rate when setting the arrangement range,
The cell usage rate determination step checks whether the minimum cell usage rate is satisfied when checking the cell usage rate,
A setting cell usage rate in-range determination step for determining whether it is within the desired usage rate set when the other function macro is not included in the content determination step of the other function macro;
If the cell usage rate does not satisfy the minimum cell usage rate in the set cell usage rate range determination step, the placement is reduced, and if the cell usage rate exceeds the maximum cell usage rate, the placement is relaxed. And an arrangement density adjusting step for applying the result to the eviction work step.
[0017]
In the semiconductor integrated circuit layout method according to the present invention, the function macro for power source separation may be used when the content determining step of the other function macro determines whether the function area includes another function macro. The arrangement area is determined by enlarging it considering the width of the power supply separation ring for surrounding the arrangement area,
The eviction work step is characterized in that the eviction work is performed when the determination result of the content determination step of the other function macro is accepted.
[0018]
Furthermore, in the layout method of the semiconductor integrated circuit of the present invention, the area setting step includes an arrangement area reduction step in which an arrangement area is set along the outer periphery of the arranged block.
An arrangement area moving step of moving the line segment of each side of the arrangement area toward the center;
A cell usage rate determination step for checking a cell usage rate in a new arrangement area after the area setting in the area setting step is added.
[0019]
In the semiconductor integrated circuit layout method according to the present invention, when the region setting step has a length of a line segment (target to be reduced) to be pressed when setting the arrangement region is not more than twice the width of the power supply separation ring. It is characterized by not being reduced.
[0020]
The layout method of the present invention is characterized in that the floor plan step performs grouping with respect to the target function macro and designates an arrangement position when the floor plan is executed.
[0021]
Further, the layout method of the semiconductor integrated circuit of the present invention is a floor plan step for deciding a terminal arrangement and a function macro arrangement position in an automatic arrangement and routing method of a large-scale semiconductor integrated circuit,
A target function macro cell usage rate determination step for setting a desired cell usage rate that is a desired cell usage rate for the target function macro that is the function macro that is to be placed close to each other;
A power supply wiring step for performing power supply wiring;
A primitive block placement step for placing a primitive block;
A target function macro arrangement range setting step for obtaining a range in which the target function macro is arranged;
A cell usage rate determination step for determining whether a cell usage rate in the target function macro arrangement range satisfies the desired cell usage rate; and
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate in the case of a negative in the cell usage rate determination step;
A rearrangement step of rearranging the target function macro in the set arrangement area;
An arrangement improving step for finely adjusting the arrangement position of the target function macro in the arrangement area and rearranging the block of the target function macro in which an arrangement error has occurred;
A wiring step for performing wiring between the blocks of the functional macro;
A wiring enabling determination step for checking whether the wiring is normally performed; and
A layout verification step for performing layout verification.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0023]
The layout method of the semiconductor integrated circuit according to the present embodiment is an automatic placement and routing method for a large-scale semiconductor integrated circuit. In the automatic placement and routing method for a large-scale semiconductor integrated circuit, automatic placement is performed without limiting the placement positions of functional macros. And re-set the placement area so that the placement density of the target function macro meets the preset cell usage rate based on the placement considering the connection relationship with other function macros from the placement position of the target function macro specified in advance In addition, an optimal arrangement position of the target function macro is realized by rearranging the target function macro.
[0024]
Next, the first embodiment of the present invention will be described with reference to FIG. 1 in which components that are the same as those in FIG. The layout method of the semiconductor integrated circuit according to the present embodiment shown in this figure includes a floor plan step S1 for determining the common terminal arrangement and functional macro arrangement position as described in the conventional example, and power supply wiring for performing power supply wiring Step S3, primitive block placement step S4 for placing primitive blocks, wiring step S12 for wiring between functional macro blocks, wiring enable determination step S13 for checking whether wiring has been successfully performed, layout verification In addition to the layout verification step S14 for performing, the target function macro cell usage rate determination step S2 for setting a desired cell usage rate for a function macro (hereinafter referred to as a target function macro) to be placed in close proximity, and the target function macro A target function macro arrangement range setting step S5 for obtaining an arrangement range; A cell usage rate determination step S6 for determining whether the cell usage rate in the functional macro arrangement range satisfies the desired cell usage rate set in step S2, and a cell usage rate desired in the case of negative in the cell usage rate determination step S6. An area setting step S7 for setting the arrangement area so as to satisfy, a rearrangement step S8 for rearranging the target function macro in the set arrangement area, and determining whether any other function macro is included in the arrangement area Content determination step S9 for other function macros, expulsion work step S10 for expelling other function macros in the arrangement area to the outside of the arrangement area, if approved in step S9, and arrangement position of the target function macro in the arrangement area And an arrangement improvement step S11 for rearranging the blocks of the target function macro in which an arrangement error has occurred.
[0025]
Referring to FIG. 2 showing the details of the region setting step S7 in a flowchart, this region setting step S7 includes a centroid search step S71 for obtaining the centroid of the region where the target function macro is arranged, and the desired cell in which the region is set in step S2. An arrangement area reduction step S72 for reducing the size to satisfy the usage rate, an arrangement area movement step S73 for moving the center of gravity obtained in step S71 to be the center of the new arrangement area, and an arrangement area that is a large macro or an arrangement prohibition. A cell usage rate determination step S74 for checking whether the cell usage rate exceeds the desired cell usage rate due to overlapping with the region, and resetting the arrangement region so that the cell usage rate does not exceed An arrangement area resetting step S75.
[0026]
Referring to FIG. 3 showing the details of the rearrangement step S8 in a flowchart, the rearrangement step S8 includes a center-of-gravity direction movable determination step S81 for determining whether the target function macro can be moved in the center of gravity direction, and a center of gravity of the target function macro. A center-of-gravity direction moving step S82 that moves in the direction, an in-region determination step S83 that determines whether the target function macro is within the region, and a block whose distance from the center of gravity does not change even if the block moves in the placement region. Distance invariant block determination step S84 for determining whether there is a certain distance invariant block, distance invariant block moving step S85 for moving the distance invariant block when there is a distance invariant block in step S84, and a block outside the arrangement area Step S86 to move the block outside the area to be moved in, and all within the arrangement area And a determining area block determination step S87 whether subsided.
[0027]
Next, the operation of this embodiment will be described with reference to FIGS. 1, 2 and 3 and FIGS. 4A to 4D showing layout examples of the arrangement of blocks to which this embodiment is applied. To do. For convenience of explanation, in the present embodiment, it is assumed that a circuit having the three types of function macros D1, D2, and D3 shown in FIG. 4 is laid out, and that an optimum arrangement position is particularly obtained for the function macro D1. To do. In addition, power supply rings 31 and 32 for power supply disposed around the circuit are shown.
[0028]
First, a floor plan is performed to determine the terminal arrangement and the arrangement position of the large macro (step S1).
[0029]
Next, a desired cell usage rate is set for the function macro D1 (step S2). In the present embodiment, the desired cell usage rate of function macro D1 is set to 70% (hereinafter referred to as D1 = 70%, etc.).
[0030]
Next, common power supply wiring (step S3) and arrangement (step S4) are performed. As a result of the arrangement, it is assumed that the result is as shown in FIG.
[0031]
Among the coordinates where the target block is arranged, the maximum and minimum values of each of the x and y coordinates are obtained, and the maximum and minimum values of these x coordinates are combined with the maximum and minimum values of the y coordinate. The area surrounded by the coordinates of the four points is set as the function macro arrangement range 11 as shown in FIG. 4B (step S5).
[0032]
It is determined whether the cell usage rate within the arrangement range satisfies the set value (step S6). In this embodiment, as a result of the determination, D1 = 26.33%, so that the function macro D1 is rearranged.
[0033]
The entire chip is covered with a mesh of the minimum block size possessed by the target function macro D1. A mesh as an origin is arbitrarily set, and the coordinates of the center are set as an origin O (0, 0). When the distance to the X axis is Yi and the distance to the Y axis is Xi, the coordinates of the center of an arbitrary mesh are respectively (Xi, Yi). Find the sum of the coordinates where the block exists and divide by the number of blocks. The obtained numerical value is set as the center of gravity 21 of the target function macro (step S71).
[0034]
The placement area is reduced so as to satisfy the set cell usage rate (step S72), and the center of gravity is set to be the center of the new placement area (step S73). At that time, if the set area overlaps with the large macro or the placement prohibition area, and it is predicted in advance that the set cell usage rate will be exceeded, the area is moved so as not to exceed the cell usage rate ( Steps S74 and S75). FIG. 4C shows a state after setting the area.
[0035]
Next, the blocks included in the function macro are moved so that the function macro falls within the set area. First, it is determined whether or not the center of gravity can be moved (step S81). Here, if one block is moved in the direction of the center of gravity from the position where the block is placed, it cannot move if there is another block belonging to the same function macro at the destination, and if it does not exist, it moves Make it possible. Even if blocks belonging to other function macros exist, they are ignored.
[0036]
The movable block is moved (step S82), and the remaining blocks are moved to the space created by the movement of the block. This operation is repeated until there is no block that can move in the direction of the center of gravity (step S81). It is determined whether all the blocks are within the area (step S83). If there is a block that does not fit within the area, move the block whose distance from the center of gravity does not change even if it is moved within the area. (Step S85), the block arranged outside the area is moved to the vacant space (Step S86). FIG. 4D shows a state where the movement is finished.
[0037]
If another function macro block exists in the setting area after the placement movement is completed, the cell usage rate in the area will be too high. If another function macro block exists in the area, this will be changed to the area. To the outside (steps S9, S10).
[0038]
Since the arrangement relationship between the blocks is not optimal due to the area reduction or the eviction work, the arrangement is finely adjusted using the existing arrangement tool (step S11).
[0039]
Thereafter, as in the conventional case, wiring is performed (step S12), and it is checked whether wiring is possible (step S13). If there is no problem, layout verification is performed (step S14).
[0040]
As described above, since the arrangement position of the target function macro is determined based on the position information arranged in consideration of the connection relationship with other blocks, the optimum arrangement position can be realized.
[0041]
Further, since the block arrangement range is converged to a range satisfying a desired cell usage rate, it is possible to prevent a timing error and a deterioration of wiring property due to the extension of the wiring in the function macro.
[0042]
Next, a second embodiment of the present invention will be described with reference to FIG. 5, which is also shown in the same flow chart with the same reference characters and numerals assigned to the same components as those in FIG. The difference of the present embodiment shown in this figure from the first embodiment described above corresponds to the case where there are a plurality of function macros for optimal placement, and therefore, the target function macro cell usage rate determining step S2, Target function macro arrangement range setting step S5, usage rate determination step S6, area setting step S7, rearrangement step S8, inclusion determination step S9 for other function macros, eviction work step S10, and arrangement improvement step S11 Instead, the target function macro cell usage rate determination step S2A, the target function macro layout range setting step S5A, the usage rate determination step S6A, the region setting step S7A, and the rearrangement step respectively corresponding to a plurality of target function macro cells. S8A, other function macro content determination step S9A, and eviction work step S10 When, it is to have a placement improvement step S11A.
[0043]
Next, with reference to FIG. 5 and FIGS. 6A to 6D showing an example of the arrangement of blocks to which this embodiment is applied in the layout diagram, the operation of this embodiment is the same as that of the first embodiment. The differences will be explained with emphasis. For convenience of explanation, in the present embodiment, it is assumed that the circuit layout having the three types of function macros D1, D2, and D3 shown in FIG. 6 is performed, and is optimal for all of these function macros D1, D2, and D3. The placement position shall be obtained. Similarly to the first embodiment, power supply power supply rings 31 and 32 arranged around the circuit are shown.
[0044]
In the target function macro cell usage rate determination step S2A, the cell usage rates of the function macros D1, D2, and D3 are set. In this embodiment, D1 = 70%, D2 = 80%, and D3 = 60% are set.
[0045]
After that, FIG. 6A shows a state where power supply wiring and primitive blocks are arranged.
[0046]
Next, in the target function macro arrangement range setting step S5A, each of the arrangement ranges 11, 12, and 13 is set for the target function macros D1, D2, and D3. The state after setting the arrangement range is shown in FIG.
[0047]
Next, in usage rate determination step S6A, it is determined whether each cell usage rate of the function macros D1, D2, D3 satisfies the set value. In this embodiment, assuming that D1 = 26.33%, D2 = 29.9%, and D3 = 64.0% as a result of the determination, the function macros D1 and D2 do not satisfy the cell usage rate. It will be.
[0048]
Therefore, here, rearrangement is performed on the function macros D1 and D2 that do not satisfy the cell usage rate.
[0049]
First, in the area setting step S7A, the center of gravity of the function macros D1, D2 and D3 is obtained (step S71), except that the process is performed for all of the plurality of target function macros (step S71). The placement areas of D1, D2, and D3 are reduced so as to satisfy the set cell usage rate (step S72), and the center of gravity is set to be the center of the new placement area (step S73). At that time, in addition to the case where it is predicted in advance that the set cell usage rate will exceed the set cell usage rate because the set region overlaps with large macros or placement prohibited regions, etc., the cell usage rate that has been set will be too close to each other If it is predicted in advance that the cell usage rate will be exceeded, the area is moved so as not to exceed the cell usage rate (steps S74 and S75). FIG. 6C shows the state after setting the area including the centroids 21 and 22 of the function macros D1 and D2.
[0050]
Next, in the rearrangement step S8A, blocks included in the function macro so that the function macro falls within the set area, as in the first embodiment, except that it is executed for all of the plurality of target function macros. Move. First, it is determined whether or not the center of gravity can be moved (step S81). When moving one block in the center of gravity direction from the position where the block is placed, if there is another block belonging to the same function macro at the destination, it cannot be moved, otherwise it can be moved . Even if blocks belonging to other function macros exist, they are ignored. The movable block is moved (step S82), and the remaining blocks are moved to the space created by the movement of the block. This operation is repeated until there is no block that can move in the direction of the center of gravity (step S81). It is determined whether all the blocks are within the area (step S83). If there is a block that does not fit within the area, move the block whose distance from the center of gravity does not change even if it is moved within the area. (Step S85), the block arranged outside the area is moved to the vacant space (Step S86). Execute sequentially for each function macro. FIG. 6D shows a state where the movement is finished.
[0051]
If the block of another function macro exists in the setting area after the placement movement is completed, the cell usage rate in the area becomes too high, so if another function macro block exists in the area, Drive out of the area (steps S9A, S10A). This process is also executed sequentially for each function macro.
[0052]
Since the arrangement relationship between the blocks is not optimal due to the area reduction or the eviction work, the arrangement is finely adjusted using the existing arrangement tool (step S11A).
[0053]
Thereafter, wiring common to the first embodiment is performed (step S12), and it is checked whether wiring is possible (step S13). If there is no problem, layout verification is performed (step S14).
[0054]
Next, the third embodiment of the present invention will be described with reference to FIG. 7 in which the same reference characters and numerals are attached to the same components as in FIG. The difference from the first embodiment is that the function macro cell usage rate determination step S2B sets the maximum value and the minimum value when determining the cell usage rate instead of the target function macro cell usage rate determination step S2. Instead of the target function macro layout range setting step S5, instead of the target function macro layout range setting step S5B and the cell usage rate determination step S6, the layout range is set based on the minimum cell usage rate when the layout range is set. Cell usage rate determination step S6B for checking whether or not the minimum cell usage rate is satisfied when the cell usage rate is checked, and content determination step for other function macros In step S100, the cell usage rate does not satisfy the minimum cell usage rate in step S100. If the cell usage rate exceeds the maximum cell usage rate, placement reduction is performed, and the placement density adjustment step S101 applies the result to the eviction work step S10.
[0055]
Thereby, it is possible to prevent the degree of congestion in the arrangement area from being too high or too low by providing a desired cell usage rate.
[0056]
Next, in the fourth embodiment of the present invention, referring to FIG. 8 in which the same reference characters and numerals are attached to the same components as in FIG. The difference between the above-described first embodiment and the above-described first embodiment is that, in place of steps S9 and S10, when determining whether or not another function macro is included in the arrangement area and when performing the eviction work The other function macro content determination step S9B and the determination result acceptance of step S9B are determined by enlarging and determining the layout area of the function macro for power supply separation in consideration of the width of the power supply separation ring for surrounding the layout area. In this case, there is a eviction work step S10B for performing the eviction work.
[0057]
In the first to third embodiments, wiring is performed by obtaining an optimal placement position when placing the same function macro close to each other based on the placement situation performed by the automatic placement tool, thereby performing wiring. However, it can be used for an optimal floor plan at the time of power source separation by considering the width of power source protection when setting the arrangement range.
[0058]
In the present embodiment, the power supply wiring (step S3) is performed after the layout improvement and before the wiring step S12. Referring also to FIG. 9 showing the state after the power supply separation, together with FIG. 9 showing the layout diagram, in this flow, when performing power supply separation, by enclosing a function macro, in this case, D1, power supply separation is performed by the power supply rings 33 and 34. Achieve separation.
[0059]
Since it is necessary to protect from other power sources when performing power source separation, a certain interval is required between blocks having different power sources. The power supply rings 33 and 34 surrounding the function macro for separating the power supply serve to maintain the distance between the purpose of supplying power to the function macro and a block having another power supply system.
[0060]
The reason for enlarging and determining the width of the power supply separation ring in step S9B is that the region where the power supply ring is generated also has the purpose of maintaining an interval for separating and protecting the power supply. This is so that there is no such thing.
[0061]
In this configuration, the cell usage rate may be set using a flow having a width as in the third embodiment.
[0062]
Next, referring to FIG. 10 in which the fifth embodiment of the present invention is similarly shown in the flowchart with the same reference characters and numerals assigned to the same components as those in FIG. 1, the present embodiment shown in FIG. The difference from the first embodiment described above is that there is an area setting step S7B, which will be described later, instead of the area setting step S7, and the use of cells in a new arrangement area after the area setting in the area setting step S7B. This is that a cell usage rate determination step S300 for checking the rate is added.
[0063]
Referring to FIG. 11 showing the detailed flow of the area setting step S7B of the present embodiment in a flowchart, the difference between the area setting step S7B and the area setting step S7 is that the arrangement area reducing step S72 and the arrangement area moving step S73 are replaced. A placement area reduction step S72A for setting the placement area along the outer periphery of the block placed in the area, and a placement area movement step S73A for moving the line segment of each side of the placement area toward the center. The determination step S74 and the arrangement area resetting S75 are deleted.
[0064]
Referring to FIGS. 10 and 11, the operation of the present embodiment will be described focusing on the differences from the first embodiment. First, at the area setting step S7B, the cell usage rate is checked. Not performed. In Steps S72A and S73A, the area is set along the outer periphery of the arranged block, instead of reducing the rectangle. Specifically, the line segment of each side of the region is moved toward the center. The line segment is not moved where it is adjacent to the block included in the target function macro.
[0065]
Next, a cell usage rate check is performed in the area newly set in step S300. If the condition is not satisfied, the rearrangement step S8 is performed. If the condition is satisfied, it is checked whether another function macro is included (step S9). To do. After the cell usage rate check (step S300), rearrangement (step S8) is performed. However, in order to avoid the arrangement being too crowded, the block moves to a region setting step S7 once it is moved.
[0066]
In this way, the cell usage rate in the set area is checked (step S300). If the desired value is not satisfied, rearrangement (step S8) → area setting (step S7) → cell usage rate check (step S300). )repeat. Subsequent work proceeds in the same manner as in the first embodiment.
[0067]
In the first to fourth embodiments described above, by enclosing the area with a rectangle, the load on the CPU is reduced and the function macro placement position is simply calculated. Optimal placement that is closer to the initial position can be realized by setting a free area that makes use of the placement shape without sticking to it.
[0068]
Next, referring to FIG. 12, which shows the sixth embodiment of the present invention with the same reference characters and numerals as those in FIG. The difference between the first embodiment and the first embodiment is that the length of the line segment to be pushed (to be reduced) when setting the arrangement area instead of the area setting step S7 is twice the width of the power supply separation ring. In the following cases, there is an area setting step S7C that is not pushed in, that is, is not reduced.
[0069]
With reference to FIG. 12 and FIG. 13 which shows a state in which power source separation is performed using the method of the present embodiment in a layout diagram, the operation of the present embodiment is focused on the difference from the first embodiment. To explain, when setting the area of step S7C, if the length of the line segment to be pushed is not more than twice the width of the power supply separation rings 33A, 34A, it is not pushed (not reduced). This is because even if a line segment that is twice or less the ring width is pushed in, the power supply ring just fills the space and has no meaning. However, the line segment connected to the corner portion of the target area is not limited to this. In addition, when the inclusion determination step S9 of other function macros and the eviction work execution step S10 are executed, the width of the power supply separation rings 33A and 34A is taken into consideration.
[0070]
As described above, when this embodiment is used for power supply separation, an area is set along the arrangement position. Therefore, the remaining area in the area where the power supply separation function macro is arranged is used as an arrangement position for other blocks. be able to. This also leads to an improvement in arrangement density.
[0071]
Next, referring to FIG. 14 in which the seventh embodiment of the present invention is shown in the same flow chart with the same reference characters and numerals assigned to the same components as in FIG. 1, the present embodiment shown in this figure is shown. The difference of the form from the first embodiment described above is that the floor plan step S1A for grouping the target function macro and specifying the arrangement position by the conventional method when executing the floor plan instead of the floor plan step S1 It is to have.
[0072]
As a result, the specified function macro is placed within this range. The placement is improved using this method for the placed data.
[0073]
As described above, in the present embodiment, the arrangement positions of the functional blocks can be limited to some extent by combining the grouping which is a conventional layout method and the present invention.
[0074]
Depending on the functional block, it may be required to be arranged at a position close to a certain terminal position on the chip from the flow of the entire layout and operational problems. The technique according to the present embodiment can meet the request.
[0075]
Next, referring to FIG. 15 in which the eighth embodiment of the present invention is shown in the same flow chart with the same reference characters and numerals assigned to the same components as in FIG. 1, the present embodiment shown in FIG. The difference from the first embodiment in the form is that the content function determination step S9 and the eviction work execution step S10 of other function macros are omitted.
[0076]
As a result, the function macro layout, which is the minimum object of the present invention, can be concentrated by performing the area setting step S7 and the rearrangement step S8, so that the steps S9 and S10 can be omitted. This has the effect of speeding up the overall flow.
[0077]
【The invention's effect】
As described above, in the semiconductor integrated circuit layout method of the present invention, automatic placement is performed without limiting the placement position of the function macro, and connection with other function macros is performed from the placement position of the target function macro specified in advance. Based on the arrangement considering the relationship, the arrangement area is reset so that the arrangement density of the target function macros satisfies the preset cell usage rate, and the target function macro is rearranged, so that the optimum arrangement position can be realized. effective.
[0078]
Further, since the block arrangement range is converged to a range satisfying a desired cell usage rate, there is an effect that it is possible to prevent a timing error and a deterioration of wiring property due to the extension of the wiring in the function macro.
[Brief description of the drawings]
FIG. 1 is a flowchart showing a first embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 2 is a flowchart showing details of an area setting step in FIG. 1;
FIG. 3 is a flowchart showing details of the rearrangement step of FIG. 1;
FIG. 4 is a layout diagram showing an example of a block arrangement to which the present embodiment is applied.
FIG. 5 is a flowchart showing a second embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 6 is a layout diagram illustrating an example of a block arrangement to which the present embodiment is applied.
FIG. 7 is a flowchart showing a third embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 8 is a layout diagram showing an example of the arrangement of blocks to which the present embodiment is applied.
FIG. 9 is a flowchart showing a fourth embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 10 is a flowchart showing a fifth embodiment of a semiconductor integrated circuit layout method according to the present invention;
11 is a flowchart showing details of a region setting step in FIG. 10;
FIG. 12 is a flowchart showing a sixth embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 13 is a layout diagram showing an example of a block arrangement to which the present embodiment is applied.
FIG. 14 is a flowchart showing a seventh embodiment of a semiconductor integrated circuit layout method according to the present invention;
FIG. 15 is a flowchart showing an eighth embodiment of a semiconductor integrated circuit layout method of the present invention;
FIG. 16 is a block diagram showing an example of a conventional layout method of a semiconductor integrated circuit.
[Explanation of symbols]
11, 12, 13 Arrangement range
21, 22, 23 Center of gravity
31, 32, 33, 34 Power ring
33A, 34A Power supply separation ring

Claims (8)

端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記領域設定ステップコンピュータが前記対象機能マクロが配置された領域の重心を求め記憶手段に記憶する重心検索ステップと、
コンピュータが前記記憶手段に記憶された配置領域を前記希望セル使用率を満たす大きさに縮小する配置領域縮小ステップと、
コンピュータが前記記憶手段に記憶された重心が新たな配置領域の中心となるように前記縮小された配置領域を移動する配置領域移動ステップと、
前記移動された配置領域が大型マクロや配置禁止領域と重なってしまうことにより前記セル使用率が前記希望セル使用率を超過してしまわないかのチェックをコンピュータが行うセル使用率判定ステップと、
前記セル使用率が超過しないようにコンピュータが、配置領域の再設定を行い前記記憶手段に記憶された配置領域を再設定する配置領域再設定ステップと、
を有することを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed; and
A layout verification step in which the computer performs layout verification;
The region setting step includes a center-of-gravity search step in which the computer obtains the center of gravity of the region where the target function macro is arranged and stores it in the storage unit;
A placement area reduction step in which the computer reduces the placement area stored in the storage means to a size that satisfies the desired cell usage rate;
An arrangement area moving step in which the computer moves the reduced arrangement area so that the center of gravity stored in the storage means becomes the center of the new arrangement area;
A cell usage rate determination step in which the computer checks whether the cell usage rate will exceed the desired cell usage rate due to the moved placement region overlapping a large macro or placement prohibited region; and
A placement area resetting step in which the computer resets the placement area and resets the placement area stored in the storage means so that the cell usage rate does not exceed;
A method for laying out a semiconductor integrated circuit, comprising:
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記再配置ステップコンピュータが前記対象機能マクロが配置された領域の重心方向に前記対象機能マクロを移動可能かを判定する重心方向移動可能判定ステップと、
コンピュータが前記対象機能マクロを前記重心方向に移動する重心方向移動ステップと、
前記対象機能マクロが前記配置領域内に収まっているかをコンピュータが判定する領域内判定ステップと、
コンピュータが前記配置領域内のブロックで移動しても前記重心からの距離が変わらないブロックである距離不変ブロックがあるかを判定する距離不変ブロック判定ステップと、
コンピュータが距離不変ブロック判定ステップで前記距離不変ブロックがある場合、前記距離不変ブロックを移動させる距離不変ブロック移動ステップと、
コンピュータが前記配置領域外のブロックを前記配置領域内に移動させる領域外ブロック移動ステップと、
コンピュータが前記配置領域内にすべて収まったかを判定する領域内ブロック判定ステップとを有することを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed; and
A layout verification step in which the computer performs layout verification;
The rearrangement step includes a centroid direction movement determination step for determining whether the computer can move the target function macro in the centroid direction of an area where the target function macro is arranged;
A center-of-gravity direction moving step in which the computer moves the target function macro in the direction of the center of gravity; and
In-area determination step in which the computer determines whether the target function macro is within the arrangement area; and
A distance invariant block determination step for determining whether there is a distance invariant block that is a block whose distance from the center of gravity does not change even when the computer moves in a block in the arrangement area; and
A distance invariant block moving step for moving the distance invariant block when the computer has the distance invariant block in the distance invariant block determining step;
An out-of-region block moving step in which a computer moves a block outside the arrangement region into the arrangement region; and
A layout method for a semiconductor integrated circuit, comprising: an in-area block determination step for determining whether a computer is entirely within the arrangement area.
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記対象機能マクロセル使用率設定ステップにおいてコンピュータが前記セル使用率最大値と最小値を前記記憶手段に設定し、
前記対象機能マクロ配置範囲設定ステップにおいてコンピュータが前記配置範囲を設定する時に前記最小セル使用率に基づいて配置範囲を設定し、
前記セル使用率判定ステップにおいてコンピュータが前記セル使用率をチェックする時に前記最小セル使用率を満たしているかをチェックし、
コンピュータが前記他の機能マクロの含有判定ステップで前記他の機能マクロを含まない場合に設定した前記希望使用率以内になっているかを判定する設定セル使用率範囲内判定ステップと、
コンピュータが前記設定セル使用率範囲内判定ステップで前記セル使用率が前記最小セル使用率を満たしていない場合は配置縮小を、前記セル使用率が前記最大セル使用率を超過している場合は配置緩和を行いその結果を前記追い出し作業ステップに適用する配置密度調整ステップとを有することを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed; and
A layout verification step in which the computer performs layout verification;
In the target function macro cell usage rate setting step , the computer sets the maximum value and the minimum value of the cell usage rate in the storage means ,
In the target function macro arrangement range setting step , when the computer sets the arrangement range, the arrangement range is set based on the minimum cell usage rate,
In the cell usage rate determination step , check whether the computer satisfies the minimum cell usage rate when checking the cell usage rate,
A set cell usage rate in-range determination step for determining whether the computer is within the desired usage rate set when the computer does not include the other function macro in the other function macro content determination step;
If the computer does not satisfy the minimum cell usage rate in the set cell usage rate range determination step, the computer reduces the placement, and if the cell usage rate exceeds the maximum cell usage rate, the placement is performed. A layout density adjusting step of performing relaxation and applying the result to the eviction work step.
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記他の機能マクロの含有判定ステップにおいてコンピュータが前記配置領域内に他の機能マクロを含んでいるかの判定を行うときに電源分離用の機能マクロの配置領域をこの配置領域を囲むための電源分離リングの幅を考慮して拡大して判定し、
前記追い出し作業ステップにおいてコンピュータが前記他の機能マクロの含有判定ステップの判定結果諾の場合に追い出し作業を行うことを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed; and
A layout verification step in which the computer performs layout verification;
In content determination step of the other functional macro, power supply for surrounding the arrangement region of the arrangement region of the functional macros for power separation when performing one of determining the computer contains other functional macros in the arrangement region Judging by enlarging considering the width of the separation ring,
A method of laying out a semiconductor integrated circuit, wherein, in the eviction work step , the evacuation work is performed when the computer accepts the determination result in the content determination step of the other function macro.
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
前記他の機能マクロの含有判定ステップで諾の場合、コンピュータが前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
前記配線が正常にできたかのチェックをコンピュータが行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記領域設定ステップの領域設定後にコンピュータが新たな配置領域内でのセル使用率をチェックするセル使用率判定ステップを追加したことを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
In the case of consent in the content determination step of the other function macro, a eviction work step in which the computer performs a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed, and
A layout verification step in which the computer performs layout verification;
A method for laying out a semiconductor integrated circuit, characterized in that a cell usage rate determination step in which a computer checks a cell usage rate in a new arrangement area after setting an area in the area setting step is added.
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線が正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記領域設定ステップにおいてコンピュータが配置領域を設定する際に押し込む(縮小対象の)線分の長さが電源分離リングの幅の2倍以下の場合は縮小しないことを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring enabling determination step in which the computer checks whether the wiring has been normally performed; and
A layout verification step in which the computer performs layout verification;
In the area setting step , if the length of a line segment to be pushed (to be reduced) when the computer sets an arrangement area is less than twice the width of the power supply separation ring, the area is not reduced. Layout method.
端子配置及び機能マクロの配置位置を決めるためのフロアプランに基づいて記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが近接して配置したい前記機能マクロである対象機能マクロに対して希望するセル使用率である希望セル使用率をコンピュータの記憶手段に記憶する対象機能マクロセル使用率設定ステップと、
コンピュータが電源配線を行う電源配線ステップと、
コンピュータがプリミティブブロックの自動配置を行い、配置位置を記憶手段に記憶するプリミティブブロックの配置ステップと、
コンピュータが前記記憶手段に記憶された配置位置から前記対象機能マクロが配置された範囲を求める対象機能マクロ配置範囲設定ステップと、
コンピュータが前記対象機能マクロ配置範囲内におけるセル使用率について前記記憶手段に記憶された希望セル使用率を満たしているかを判定するセル使用率判定ステップと、
コンピュータが前記セル使用率判定ステップで否の場合前記希望セル使用率を満たすように配置領域を設定し記憶手段に記憶する領域設定ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロを再配置する再配置ステップと、
コンピュータが前記記憶手段に記憶された配置領域内に他の機能マクロが含まれていないかを判定する他の機能マクロの含有判定ステップと、
コンピュータが前記他の機能マクロの含有判定ステップで諾の場合前記配置領域内の前記他の機能マクロを前記配置領域外に追い出す作業を行う追い出し作業ステップと、
コンピュータが前記配置領域内の前記対象機能マクロの配置位置の微調整及び配置エラーが起こっている前記対象機能マクロのブロックの再配置を行う配置改良ステップと、
コンピュータが前記機能マクロのブロック間の配線を行う配線ステップと、
コンピュータが前記配線について正常にできたかのチェックを行う配線可能判定ステップと、
コンピュータがレイアウト検証を行うレイアウト検証ステップと、を有し、
前記フロアプランステップにおいてコンピュータがフロアプラン実行時に前記対象機能マクロに対してグルーピングを行い配置位置を指定することを特徴とする請求項3記載の半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage unit based on a floor plan for deciding a terminal placement and a function macro placement position ,
The target functional macro cell usage rate setting step of storing in storage means the computer a desired cell usage rate is a cell usage rate desired for the computer is the function macros to be placed close object function macro,
A power wiring step in which the computer performs power wiring;
A primitive block placement step in which the computer automatically places the primitive blocks and stores the placement position in the storage means;
The target function macro placement range setting step of the computer obtaining a range where the target function macro is disposed from a stored position in the storage means,
A cell usage rate determination step for determining whether the computer satisfies a desired cell usage rate stored in the storage means for a cell usage rate within the target function macro arrangement range;
An area setting step for setting an arrangement area so as to satisfy the desired cell usage rate when the computer is not in the cell usage rate determination step, and storing it in a storage means;
A rearrangement step in which the computer rearranges the target function macro in an arrangement area stored in the storage means;
The content determination step of other function macros for determining whether the computer does not include other function macros in the arrangement area stored in the storage means;
If the computer accepts the content determination step of the other function macro, a eviction work step of performing a work of expelling the other function macro in the arrangement area out of the arrangement area; and
A placement improvement step in which the computer finely adjusts the placement position of the target function macro in the placement area and rearranges the block of the target function macro in which a placement error has occurred;
A wiring step in which a computer performs wiring between the blocks of the function macro;
A wiring possible determining step performed by the computer in a check or not properly for the wiring,
A layout verification step in which the computer performs layout verification;
4. The semiconductor integrated circuit layout method according to claim 3, wherein in the floor plan step , a computer performs grouping on the target function macro and designates an arrangement position when executing the floor plan.
記憶手段を備えたコンピュータが行う大規模半導体集積回路の自動配置配線方法において、
コンピュータが機能マクロの配置位置を限定せずに自動配置を行い自動配置したブロックの位置を記憶手段に記憶するステップと、
コンピュータが前記記憶手段に記憶されたブロックの配置位置のうち予め指定した対象機能マクロに含まれる各ブロックの配置位置から当該対象機能マクロの重心位置を求め記憶手段に記憶するステップと、
コンピュータが前記記憶手段に記憶された重心位置と他の機能マクロとの接続関係を考慮した配置とに基づき、前記対象機能マクロの配置密度が予め設定したセル使用率を満たすように配置領域を再設定し記憶手段に記憶するステップと、
コンピュータが前記記憶手段に記憶された配置領域内に前記対象機能マクロの再配置を行うステップと、
を備えることにより、前記対象機能マクロの最適な配置位置を実現することを特徴とする半導体集積回路のレイアウト方法。
In an automatic placement and routing method for a large-scale semiconductor integrated circuit performed by a computer having a storage means,
A step in which the computer performs automatic placement without limiting the placement position of the function macro and stores the position of the automatically placed block in the storage means;
A step in which the computer obtains the center-of-gravity position of the target function macro from the arrangement positions of the respective blocks included in the target function macro designated in advance among the arrangement positions of the blocks stored in the storage means;
Based on the arrangement in which the computer takes into account the connection relationship between the center of gravity position stored in the storage means and other function macros, the arrangement area is reconfigured so that the arrangement density of the target function macros satisfies a preset cell usage rate. Setting and storing in the storage means;
A computer rearranging the target function macro in an arrangement area stored in the storage means;
The semiconductor integrated circuit layout method is characterized in that an optimal arrangement position of the target function macro is realized.
JP2002161611A 2002-06-03 2002-06-03 Layout method of semiconductor integrated circuit Expired - Fee Related JP4004860B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002161611A JP4004860B2 (en) 2002-06-03 2002-06-03 Layout method of semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002161611A JP4004860B2 (en) 2002-06-03 2002-06-03 Layout method of semiconductor integrated circuit

Publications (2)

Publication Number Publication Date
JP2004013205A JP2004013205A (en) 2004-01-15
JP4004860B2 true JP4004860B2 (en) 2007-11-07

Family

ID=30430634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002161611A Expired - Fee Related JP4004860B2 (en) 2002-06-03 2002-06-03 Layout method of semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP4004860B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4643157B2 (en) * 2004-03-04 2011-03-02 東芝マイクロエレクトロニクス株式会社 Automatic design method of semiconductor integrated circuit
JP2006277668A (en) 2005-03-30 2006-10-12 Fujitsu Ltd Layout designing method and layout designing device
KR102602254B1 (en) * 2023-01-25 2023-11-14 주식회사 마키나락스 Method for removing dead space with regard to semiconductor design
KR102634706B1 (en) * 2023-05-31 2024-02-13 주식회사 애자일소다 Integrated circuits design apparatus and method for minimizing dead space

Also Published As

Publication number Publication date
JP2004013205A (en) 2004-01-15

Similar Documents

Publication Publication Date Title
US6378121B2 (en) Automatic global routing device for efficiently determining optimum wiring route on integrated circuit and global routing method therefor
JP3564295B2 (en) Cell arrangement apparatus and method, and computer-readable recording medium recording cell arrangement program
JP5242103B2 (en) Layout method of semiconductor integrated circuit
US8677292B2 (en) Cell-context aware integrated circuit design
US8219959B2 (en) Generating integrated circuit floorplan layouts
US20060242613A1 (en) Automatic floorplanning approach for semiconductor integrated circuit
US20050172253A1 (en) Automatic placement and routing device, method for placement and routing of semiconductor device, semiconductor device and manufacturing method of the same
KR20160034169A (en) Layout design method for semiconductor device
JP4274814B2 (en) Semiconductor integrated circuit design method, design apparatus, cell library data structure, and automatic layout program
CN111446238A (en) Automatic layout method of pin ring for optimizing electrostatic discharge capacity of chip
JP4004860B2 (en) Layout method of semiconductor integrated circuit
US7962884B2 (en) Floorplanning apparatus and computer readable recording medium storing floorplanning program
US20060048088A1 (en) Computer automated design method, program for executing an application on a computer automated design system, and semiconductor integrated circuit
KR101458977B1 (en) Minimization Method of power TSVs and power bumps using floorplan block pattern for 3D power delivery network
JP2009231675A (en) Design method of semiconductor integrated circuit, design program of semiconductor integrated circuit, and design support device of semiconductor integrated circuit
US20070220471A1 (en) Cell placement taking into account consumed current amount
CN108520128B (en) Integrated circuit design method and computer-readable storage medium
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
JP3737384B2 (en) LSI automatic design equipment
US7174524B2 (en) Method of floorplanning and cell placement for integrated circuit chip architecture with internal I/O ring
JP3230233B2 (en) Semiconductor integrated circuit design apparatus, wiring control method thereof, and storage medium storing wiring control program
LU503256B1 (en) 2.5d chiplet arrangement method for optimizing communication power consumption
JP2000020576A (en) Power source optimizing automatic arrangement wiring method and its device using the same
TWI717727B (en) Method of placing macro cells

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070604

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070703

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: 20070731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070822

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: 20100831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees