JP5380969B2 - レイアウト設計方法、及び装置 - Google Patents

レイアウト設計方法、及び装置 Download PDF

Info

Publication number
JP5380969B2
JP5380969B2 JP2008241942A JP2008241942A JP5380969B2 JP 5380969 B2 JP5380969 B2 JP 5380969B2 JP 2008241942 A JP2008241942 A JP 2008241942A JP 2008241942 A JP2008241942 A JP 2008241942A JP 5380969 B2 JP5380969 B2 JP 5380969B2
Authority
JP
Japan
Prior art keywords
wiring
module
boundary
dividing
arrangement
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
JP2008241942A
Other languages
English (en)
Other versions
JP2010073073A (ja
Inventor
良一 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008241942A priority Critical patent/JP5380969B2/ja
Priority to US12/561,583 priority patent/US8171444B2/en
Publication of JP2010073073A publication Critical patent/JP2010073073A/ja
Application granted granted Critical
Publication of JP5380969B2 publication Critical patent/JP5380969B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計に関する。
CPUなどのように高い周波数での動作を要求される大規模半導体集積回路(LSI:Large Scale Integrated−circuit)の設計には、多くの工程が存在する。近年は、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大により、LSI全体を扱うレイアウト設計は困難な状況となっている。このためレイアウト設計は、全体を複数のモジュールに分割し、モジュール毎に並行して進める形態をとるのが普通となっている。
レイアウト設計の初期段階では、モジュールの詳細は決定されていない。このことから通常、回路規模、大まかな信号の流れ等を予め考慮して人手によりフロアプランが作成され、各モジュールの概略位置、及び形状が決定される。フロアプランでは他に、モジュールのインターフェースとなるモジュールの外部端子(モジュール端子)の位置が決定される。そのモジュール端子は、モジュール間の接続用、或いはチップの外部端子となる。
モジュールに分割してレイアウト設計を進める設計方法を採用した場合、モジュール端子の位置を最適化するために見直しが必要となる。その最適化を行う方法としては、決定した経路から算出した配線長と、モジュール端子間の距離から推定した配線長との差が大きい配線を対象に再度の最適化を実施する、予め概略経路を決定し、実際に設定する経路を概略経路内に制限する、などが知られている。
高速動作や加工の微細化は、信号の配線遅延の影響を深刻にさせている。また、平行する2つの配線間に生じる配線間容量であるカップリング容量の存在により、一方を流れる信号の変化が他方に起電力を誘起させることにより、クロストークノイズを発生させる。そのクロストークノイズは、遅延増や誤動作といった不具合を引き起こすことが知られている。このようなことから近年では、レイアウト設計の初期段階でも不具合の発生を考慮した設計が求められるようになっている。
クロストークノイズへの対策としては、配線の間隔をより広くするといったことが行われる。配線がモジュール端子と接続されている場合、モジュール端子の配置も合わせて変更するのが普通である。
ここで、半導体集積装置を複数のモジュールに分割してのレイアウト設計を支援する従来のレイアウト設計支援装置について、図1に示す機能構成図を参照して具体的に説明する。
この従来のレイアウト設計支援装置は、論理設計された半導体集積回路、例えばネットリストを入力し、フロアプラン設計により半導体集積回路を複数のモジュールに分解し、モジュール毎にセルの配置、及び配線を決定する詳細(実装)設計を支援する。このために、モジュール形状決定部11、概略配線部12、端子位置調整部13、モジュール分割部14、及び詳細設計部15を備えている。
モジュール形状決定部11は、設計者の指示に従い、半導体集積回路を分割するモジュールの形状、配置を決定するフロアプランを行う。モジュールは半導体集積回路の一部分
であり、モジュール間では論理設計によって定められた信号の授受が行われる。授受すべき信号は、モジュールへの機能の割り当てに伴って自動的に決まる。概略配線部12は、モジュール間で信号を授受するための概略配線を決定する。端子位置調整部13は、概略配線の決定によって配置範囲が制限されるモジュール端子の位置を調整(変更)する。モジュール分割部14は、フロアプラン結果に従って、半導体集積回路を複数のモジュールに分割する。
図1では、半導体集積回路を3つのモジュールに分割したことにより、3つのモジュールデータD1が生成されたことを表している。そのモジュールデータD1は、対応するモジュール分のネットリスト、各モジュール端子の配置を示す配置情報、及びモジュールの形状や配置を示す配置情報を含んでいる。
詳細設計部15は、モジュールデータD1毎に、データD1が示す各セルの配置、及び配線を決定する詳細設計を行う。各設計結果はモジュールデータD2として出力される。このデータD2は、例えばモジュールデータD1に、セル毎に配置を示す配置情報、配線毎に経路を示す配線情報等を加えたものである。1配線分の配線情報は、配線が接続するセルのピン、ピン間の経路、などを示すものである。
図2は、モジュール分割例を示す図である。この分割例は、半導体集積回路30を4つのモジュール31〜34に分割した場合のものであり、図2ではモジュールは「BLOCK」と表記している。
図2に示すモジュール32は、配置、及び配線が決定した後のものである。「CL」を付してハッチングした矩形はセル、「ST」を付した矩形は、セルCLがまとめて配置された領域であるサイトをそれぞれ示している。異なるサイトSTに存在するセルCLを結ぶ実線は、配線を示している。
図3は、別のモジュール分割例を示す図である。この分割例は、半導体集積回路40を2つのモジュール41及び42に分割した場合のものである。この図3でもモジュールは「BLOCK」と表記している。モジュール41及び42を分ける実線は境界を示している。
モジュール41では、セルはモジュール42との境界から比較的に離れた位置に配置し、モジュール42でも同様に、その境界から比較的に離れた位置に配置している。そのようにして、境界の直交方向上、その境界を挟む形で隣接するセルCL間の距離はより大きくなるようにしている。これは、そのセル間を、互いの配線等が他のモジュールに影響させない緩衝領域とするためである。
特開平8−44784号公報 特開2003−30266号公報 特開2002−215704号公報
フロアプランを行うことにより、希望するチップ面積に全ての機能を実現できるか否か確認することができる。無駄な領域が生じそうな場合には、無駄な領域を削減することができる。このようなことから従来、フロアプランはチップ面積を最小化することを重視して行われている。チップ面積を最小化することにより、1枚の半導体ウェハーから採取できるチップの数が増大し、生産性が向上するからである。
しかし、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大は、セル
の配置や配線を決定する詳細設計の実施に大きな影響を及ぼしている。具体的には、回路規模の増大は、詳細設計の実施に要する処理時間をより長くしている。加工の微細化は、最適な配線をより困難にしている。最適な配線を行うためには、モジュール端子の配置をより適切に決定することが必要である。このようなことから、詳細設計の前段階において、詳細設計をより考慮した設計を行うべきと考えられる。
本発明は、レイアウトの詳細設計をより短時間に実施できるようにするための技術を提供することを第1の目的とする。
本発明は、レイアウトの詳細設計をより適切に実施できるようにするための技術を提供することを第2の目的とする。
本発明を適用した1システムでは、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するために、半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割し、第2のモジュール毎に、第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する。第2のモジュールへの分割は、配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定することで行う。
第2のモジュールへの再分割により、配置、及び配線の対象となるセルの数はより少なくなる。このため、詳細設計をより短時間で行えるようになる。全体の工程でも、時間短縮させることができる。配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定することにより、使用できなくなるグリッド点の数を抑制することができる。セルは、半導体集積回路の構成要素のことであり、過去の設計資産である機能ブロックも含まれる。
本発明を適用した場合には、レイアウトの詳細設計をより短時間に実施できるようになる。更に/或いは、レイアウトの詳細設計をより適切に実施できるようになる。
以下、本実施形態について、図面を参照しながら詳細に説明する。
図4は、本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。
本実施形態では、図4に示すように、半導体集積回路を複数のモジュールに分割するフロアプランを行う工程P1、フロアプランにより分割されたモジュール毎に、モジュールをより小さいモジュール(以降「サブモジュール」)に分割する工程P2、サブモジュール間の接続用のモジュール端子の位置を決定する工程P3、サブモジュール毎にセルの配置を決定する工程P4、セル間を結ぶ配線を決定する工程P5を経て、半導体集積回路を製造するための製造データを作成する工程P6を実施するようになっている。実際には、工程P1〜P5は判明した不具合や設計変更等への対応のために随時、繰り返し実施される。
工程P4及びP5は、詳細設計として実施される。本実施形態では、フロアプランにより得られたモジュールを更にサブモジュールに分割し、詳細設計を実施する。配線の決定に要する処理時間はセル(セルに設けられたピン)が多くなる程、指数関数的に増大する。このため、サブモジュールに分割することにより、配線の決定はより短い処理時間で行うことができるようになる。サブモジュールへの分割、その分割に伴い実施するモジュール端子の位置決定を行っても、全体の処理時間は大幅に短縮される。ここでのセルとは、論理設計された半導体集積回路の構成要素の総称であり、過去の設計資産である機能ブロック(IP:Intellectual Property)等も含んでいる。
図5は、本実施形態によるレイアウト設計支援装置の機能構成図である。このレイアウ
ト設計支援装置(以降「支援装置」と略記)は、フロアプラン結果、つまり論理設計された半導体集積回路(LSI)を分割して得られるモジュールを対象にしたレイアウト設計を支援する装置として実現されている。そのレイアウト設計を支援するために、領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、モジュール分割部58、サブモジュール詳細設計部59、及びフラット化処理部60を備えている。
図5中のフラットデータD10は、1モジュール分のデータであり、例えば図1に示す3つのモジュールデータD1のうちの一つに相当する。領域分割部51は、設計者の指示により、フラットデータD10が示すモジュールを更に複数のより小さいサブモジュールに分割する。ここでは、更に分割したサブモジュールを「ブロック」とも呼ぶことにする。
図6は、モジュールの分割方法の説明図である。図6に示す例では、モジュール80を2つのブロック81及び82に分割する様子を示している。
図7は、ブロックに分割する境界の設定方法の説明図である。図7に示す「+」は、配置及び配線の最小ピッチ間隔を表す基本単位となるグリッド(GRID)点を示している。図7の左側は、従来の境界の設定方法を示し、図7の右側は、本実施形態における境界の設定方法を示している。
従来は、図7の左側に示すように、境界を示す境界線BL1は隣接するグリッド点を通る直線で設定する。これに対し本実施形態では、隣接するグリッド点を通らない直線も境界線BL2として扱う。このため、横方向上の境界の位置は横方向に隣接するグリッド点間となっている。このようにグリッド点間に境界を設定するのは以下のような理由からである。
グリッド点は、配線の基本単位であることから、経路は隣接するグリッド点を通る直線の組み合わせとして決定される。このため、隣接するグリッド点を通る直線のみで境界を設定した場合、経路として用いることが可能なグリッド点の数が少なくなる。そのグリッド点の数の低下は、図3に示すような緩衝領域を新たに設ける、つまり緩衝領域分のグリッド点を追加すれば回避することができる。しかし、緩衝領域を新たに設けることは、フロアプラン結果をそのまま用いることができないことを意味する。従って、データの表現、或いは管理が煩雑化することになる。
一方、隣接するグリッド点間に境界を設定した場合、経路として用いることができなくなるグリッド点が生じること自体、回避することが可能となる。フロアプラン結果はそのまま用いることができる。このようなことから、隣接するグリッド点間に境界を設定するようにしている。
図7の右側では、境界線BL2の横方向に延びる部分は隣接するグリッド点間を通る直線となっている。これは、その部分を境界とする1ブロック、或いはその境界で接する2つのブロックから設計者が隣接するグリッド点間に境界を設定する必要がないと判断したためである。隣接するグリッド点間に境界を設定するか否かは、境界を複数の部分に分けて個別に決定して良いものである。以降、設定した境界を示すデータは「境界データ」、境界データをまとめたものは「フレーム情報」と総称する。
本実施形態では、モジュールを更にブロック(サブモジュール)に分割することによる階層化を行う。その階層化は、分割したブロックをマージすることで解消させ、フラットにする。そのようにしてフラットにしたデータを再度、領域分割部51で階層化することができる。領域分割部51に入力されるデータをフラットデータD10としているのは、
このためである。
フラットデータD10には普通、既に決定した配線(既配線。概略設計、或いは詳細設計により決定される)を示す配線データが含まれている。既配線端子化部52は、既に決定した配線のなかから、ブロック分割のために設定した境界を通過する配線情報(NET)の区間を抽出し、その区間を端子化する。端子化は、設計者の選択に応じて行う。
図8は、ブロック間の接続用に配置するブロック(モジュール)端子の説明図である。W1はブロック間の境界を通る配線、t1は、配線W1上の境界の位置に配置されるブロック端子である。
ブロック端子t1の境界線と直交する方向上の幅は、2つのブロック内のそれぞれで境界線に最も近いグリッド点間の距離としている。それにより、グリッド点ベースの座標しか配線を扱えない場合であっても、境界を通過する配線による接続を確保しつつ、境界上にブロック間を接続するブロック端子を配置できるようにしている。このことから、端子化は境界線と直交する方向上でその境界線を挟んで隣接するグリッド点間を対象に行うようにしている。
境界線と平行な方向上の幅は、図8ではブロック端子を説明するために、端子部分を大きく表現しているが、配線W1と同一幅である。
禁止マッピング部53は、デザインルール(設計規則)違反にかかるバイオレーション発生を回避するため、境界線に沿った方向上の配線禁止範囲を境界にマッピングする。具体的には、そのマッピングにより、配線を決定する詳細設計の段階において、ショート、スペーシング(間隔)違反などのデザインルール違反のバイオレーションが発生する可能性が比較的に高いと考えられる場所には、配線禁止範囲を示すマスクパターンの配置等によりブロック端子の配置を禁止するようにしている。このため、詳細設計はより適切に行えるようになる。これは、設計を繰り返す回数が少なくなる、設計を繰り返す段階(工程)がより後段で済むようになる、といった形で効果が現れる。マッピングした境界上の配線禁止範囲を示す禁止範囲データをまとめたものは以降「禁止情報」と総称する。
図9及び図10は、マッピングされる配置禁止範囲の説明図である。図9は、境界の直交方向上、一定範囲内に存在する障害物(オブジェクト)であるOB1及びOB2によりマッピングされる配置禁止範囲を示し、図10は、RAMなどのような大規模セルCL11及びCL12が境界の直交方向上、近傍に存在することでマッピングされる配置禁止範囲を示している。図9及び図10において、配置禁止範囲は「×」で表現している。
図15は、禁止マッピング処理のフローチャートである。禁止マッピング部53は、コンピュータがこの処理を実行することで実現される。ここで図15を参照して、その禁止マッピング処理について詳細に説明する。
先ず、ステップS1では、境界の近傍に存在する障害物、或いはAND(論理積)ゲート等の回路セル又はRAM等のマクロセルを含むセル(Cell)により配置禁止範囲をマッピングするセル禁止設定処理を実行する。続くステップS2では、境界から一定範囲内に存在する配線、或いは配線層間を接続するビアホール(Via Hole)により配置禁止範囲をマッピングするワイヤ(Wire:配線)・ビア禁止設定処理を実行する。その実行後、この禁止マッピング処理を終了する。
図16は、ステップS1として実行されるセル禁止設定処理のフローチャートである。次に図16を参照して、禁止マッピング処理内でサブルーチン処理として実行されるセル
禁止設定処理について詳細に説明する。
この設定処理は、上記フレーム情報D41の他に、境界からの距離により配置禁止範囲を設定する対象となるセルの条件を示すセル抽出範囲情報D42、セル毎に配置(座標)、及び配線を禁止すべき層を示すセル情報D43を参照して実行される。配置禁止範囲は、例えば座標範囲とその座標範囲が適用される層で表現される。そのように表現される配置禁止範囲、つまり禁止範囲データは、禁止情報D44として保存される。
先ず、ステップS11では、フレーム情報D41を参照して、ブロックの境界を抽出する。ここで抽出する境界は、例えば1本の直線で表現される部分(境界線)である。次のステップS12では、セル抽出範囲情報D42及びセル情報D43を参照して、抽出した境界で配置禁止範囲を設定する対象となるセルを抽出する。その抽出後はステップS13に移行する。
ステップS13では、抽出したセルは境界に沿った方向上の範囲を全面禁止、或いは部分的禁止とするものか否か判定する。その判定は、例えば境界に沿った方向上で配線を禁止すべき範囲を示す面積情報をセル毎にセル情報D43、若しくはライブラリ等に用意することで行うことができる。抽出したセルの面積情報が配線を禁止すべき範囲を示していないような場合、判定はNoとなってステップS16に移行する。その面積情報が配線を禁止すべき範囲を示していた場合には、判定はYesとなってステップS14に移行する。
セルの抽出では、対象とすべきセルを抽出できない場合がある。その場合、特には図示していないが、ステップS12からステップS17に移行するようになっている。
ステップS14では、境界とセルとの距離を算出する。この距離は、図10に示す距離Lに相当する。その距離Lを算出した後は、ステップS15に移行して、境界上の配線禁止範囲を算出する。配線禁止範囲をh、面積情報が示す範囲をHとすると、その算出は
h=H−α×L ・・・ (1)
により行う。ここでαは1未満の定数であり、算出結果が負となった場合は0とされる。それにより、配線禁止範囲hは、セルが境界から離れるほど狭くなるようにさせている。算出した配線禁止範囲hは、抽出した境界が存在する層とともに禁止情報D44として保存される。ステップS16には、その保存を行った後に移行する。
ステップS16では、配線禁止範囲hを設定する対象となる他のセルが有るか否か判定する。他に対象となるセルが存在している場合、判定はYesとなって上記ステップS12に戻り、次に対象とするセルを抽出する。他に対象となるセルが存在しない場合には、判定はNoとなってステップS17に移行する。
ステップS17では、他に対象となる境界(境界線)が有るか否か判定する。他に対象となる境界が存在している場合、判定はYesとなって上記ステップS11に戻り、次に対象とする境界を抽出する。他に対象となる境界が存在しない場合には、判定はNoとなり、ここでセル禁止設定処理を終了する。
図17は、図15に示す禁止マッピング処理内でステップS2として実行されるワイヤ・ビア禁止設定処理のフローチャートである。次に図17を参照して、ワイヤ・ビア禁止設定処理について詳細に説明する。配線、及びビアホールは、図9に示すように障害物として扱われる。障害物は、配線、及びビアホール以外のものであっても良い。
この設定処理は、上記フレーム情報D41の他に、境界からの距離により配置禁止範囲を設定する対象となる障害物(ここでは配線、或いはビアホール)の条件を示す禁止抽出
範囲情報D51、ワイヤ、或いはビアホール毎に形状、配置(座標)、及び形成された層を示すワイヤ・ビア情報D52を参照して実行される。配置禁止範囲は、禁止情報D44として保存される。
先ず、ステップS21では、フレーム情報D41を参照して、ブロックの境界を抽出する。次のステップS22では、禁止抽出範囲情報D51及びワイヤ・ビア情報D52を参照して、抽出した境界で配置禁止範囲を設定する対象となる配線、或いはビアホールを抽出する。その抽出後はステップS53に移行して、抽出した配線、或いはビアホールの境界に沿った方向上の範囲を配線禁止範囲とし、境界を抽出した層とともに禁止情報D44として保存する。ステップS24には、その保存後に移行する。
障害物の抽出では、セルと同様に、対象とすべき障害物を抽出できない場合がある。その場合、特には図示していないが、ステップS22からステップS25に移行するようになっている。
ステップS24では、他に対象となるワイヤ、或いはビアホールが有るか否か判定する。ワイヤ・ビア情報D52が示すワイヤ、及びビアホールのなかに他に対象となるものが存在していない場合、判定はNoとなってステップS25に移行する。他に対象となるワイヤ、或いはビアホールが存在していた場合には、判定はYesとなって上記ステップS22に戻り、次に対象とするワイヤ、或いはビアホールを抽出する。
ステップS25では、他に対象となる境界(境界線)が有るか否か判定する。他に対象となる境界が存在している場合、判定はYesとなって上記ステップS21に戻り、次に対象とする境界を抽出する。他に対象となる境界が存在しない場合には、判定はNoとなり、ここでワイヤ・ビア禁止設定処理を終了する。
このようにして、ブロック間の境界上で配線を禁止する範囲は自動的に設定され、禁止情報D44として保存される。この禁止情報D44を配線設計に用いることにより、より適切な配線を決定することができる。
端子辺設定部54は、ブロック間を接続するブロック端子の配置、つまりセル間を接続させるために境界を通過させる配線の区間を設定する。
配線区間の設定は、注目するブロック内に信号を他のブロックのセルに出力するセルの出力ピンを抽出して行う。そのような出力ピンが存在しない場合、他のブロックのセルから出力される信号を入力するセルの入力ピンを抽出して行う。ブロック端子の配置は、配線遅延を最小化するために、そのような抽出によって得られる1つ以上のピンからなるグループ内で、配線長が短いと予測されるピンを優先して設定する。ブロック端子の目標位置は、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わる部分に設定する。矩形と交わる境界部分が複数、存在する場合は、より自由度の高いほうを選択して設定を行う。配線長の予測も、その矩形を想定して行うことができる。
図11は、境界を通過する配線の区間を設定する方法の説明図である。図11に示す例は、モジュール1100をブロック1101及び1102に分割した場合のものである。ブロック1101には、2つのセルCL21及び22が配置され、ブロック1102には2つのセルCL31及び32が配置されている。この図11を参照して、上述したようにして行うブロック端子の位置設定について具体的に説明する。ここでは、セルCL21にの出力ピンAaはブロック1102内のセルCL31の入力ピンBcと接続され、セルCL22の入力ピンAbはブロック1102内のセルCL32の入力ピンBdと接続されるものと想定する。つまりブロック1101及び1102間で2つの配線を行うものと想定する。各セルCL21、22、31及び32は、図11中に示す位置に配置されると想定
する。図11中に表記の「LSG」はレイアウト・サブグループ(Layout Subgroup)の略である。
図11に示す2つの配線では、ピンAaとピンBc間の配線長はピンAbとピンBd間の配線長より短くなる。このため、2つの配線ではピンAaとピンBc間を優先してブロック端子の目標位置を設定する。
ピンAaとピンBcを結ぶ矩形は図11の右側で示している。その矩形が示す境界部分がブロック端子の目標位置として設定される。
一方、特には図示していないが、ピンAbとピンBdを結ぶ矩形は、2本の直線で示す境界線と交わる。このため、矩形と交わる2つの境界部分のなかから自由度がより高いものを選択することになる。
自由度は、例えば境界部分の長さか、或いは境界部分を通る経路で使用可能なグリッド点の数に着目して判定する。それにより、境界部分がより長い方、或いはグリッド点の数がより多い方を自由度が高いと見なし、グリッド端子の目標位置を設定する。このとき、既に設定されている他のグリッド端子の目標位置が存在していることから、既存の目標位置を避けて設定を行う。
配線長予測部55は、グリッド端子の目標位置の設定結果を用いて、予測される配線長を求める。その配線長の予測方法について、図12に示す説明図を参照して具体的に説明する。
配線遅延をより小さくするために、配線は最短で行う、言い換えれば無駄な迂回を避けることが望まれる。クロストークノイズを考慮する場合、2つの配線が平行となっている部分の長さはより短くするか、或いはその部分が長くなるほど、配線間の距離をより大きくすることが望まれる。このようなことから本実施形態では、2つのピンを結ぶ矩形を想定し、その矩形が境界と交わっている部分の長さLv、及び境界と直交する方向上の長さLhに着目している。長さLvが極端に短いケースでは、ブロック端子の目標位置の設定を優先させなければ迂回が発生する可能性が高い。逆に長さLvが長いケースでは、迂回が発生する可能性が低くなる。このため設定の優先度が低いことが不都合となる可能性は低い。このようなことから、長さLvの考慮によって最短経路の確保、つまり迂回の抑止をすることができる。
一方、平行する2本の配線間に生じるノイズ(クロストークノイズ)の影響は、平行する部分の長さが長くなるほど、その間隔が狭いほど大きくなる。そのノイズ、或いはノイズ起因の遅延増加はエラーを発生させる。このことから長さLhは、そのようなエラーが発生する可能性を示す指標として用いている。それにより配線長予測部55は、境界を通る配線毎に、長さLv及びLhを計算する。これらの長さLv及びLhは以降「区間長」と総称する。
図18は、上記長さLv及びLh、つまり区間長を計算するために実行するネット(Net)区間長算出処理のフローチャートである。ここで図18を参照して、その算出処理について詳細に説明する。
この算出処理は、図18に示すネットリスト(NetList)D61、及びフレーム情報D41の他に、セル情報D43を参照して実行される。このネットリストD61は、例えばブロック分割が反映されたものである。図18には、1区間長を算出するために実行される処理を抽出して示している。
先ず、ステップS31では、ネットリストD61を参照して、全ての配線(ネット)を抽出し、例えばフレーム情報D41を参照してブロック別にソートする。続くステップS32では、配線によって接続されるセルのピン(図中「端子」と表記)を選択して、そのピンの位置を抽出する。その位置の抽出は、例えばセル情報D43、及び各セルの物理形状に係わる情報を格納したライブラリを参照して行う。ステップS33には、その位置の抽出後に移行する。
ステップS33では、位置を抽出したピンは別のブロックとの間で接続されるか否か判定する。ネットリストD61から、そのピンが別のブロック内に存在するセルのピンと接続されていることが確認できた場合、判定はYesとなってステップS34に移行する。そのピンが同じブロック内のセルが持つピンと接続されることが確認できた場合には、判定はNoとなってステップS32に戻り、別の配線を選択して、その配線によって接続されるピンの位置を抽出する。
ステップS33からステップS32に移行した場合、他に対象となる配線を選択できるとは限らない。このことから、特には図示していないが、ステップS32では、他に対象となる配線が残っていなければ、ここで区間長算出処理を終了するようになっている。
ステップS34では、配線で結ばれる他のピン(図中「端子」と表記)を選択する。次のステップS35では、2つのピンを結ぶ矩形を想定し、フレーム情報D41を参照して、その矩形から長さLv及びLhを区間長として算出し、配線を示す配線情報と共に算出した区間長をネット区間長情報D62として保存する。その保存により、1区間長の算出に係わる一連の処理が終了する。実際には、区間長を保存した後、他に対象となる配線が有るか否かの判定を行い、他に対象となる配線が有ることで判定がYesとなれば上記ステップS32に戻る。逆に、他に対象となる配線が存在しないことで判定はNoとなれば、ここでネット区間長算出処理を終了する。
割当順決定部56は、配線長予測部55が区間長として算出した長さLv及びLhから、ブロック端子の処理順を決定する。先に処理する方が優先的に目標位置を割り当てることになるため、その処理順の決定は優先順位の設定に相当する。
処理順は、長さLvが短いほど、長さLhが長くなるほど、早くさせる。それら2つの長さLv及びLhは共に処理順を決定するうえで重要な指標である。このため処理順は、例えば長さLv及びLhの組み合わせ別に優先度を定義した表、長さLv及びLhのうちの一方を重視すべき範囲を定義した表、或いはそれら長さLv及びLhを用いて優先度を算出する式などを用意し、表、或いは式を用いて決定するようにしている。
端子割当部57は、割当順決定部56が決定した処理順に従って、ブロックの境界上にブロック端子を配置する。本実施形態では、図13に示すような端子位置制御表を参照して、配線長予測部55が算出した長さLhの配線を行うのを目標とする層(配線層)、及び近傍の配線との目標とする間隔である割当ピッチを決め、ブロック端子を配置可能な場所を選択する。
端子位置制御表には、図13に示すように、配線(ブロック端子の配置)の目標とする配線層、及び割当ピッチが配線長(の範囲)毎に定義されている。配線長の範囲、及び割当ピッチはグリッド点の数で表現された値で定義されている。配線層はL1〜8で表現されている。Lに続く数字が大きくなるほど、上側に位置する上位層である。割当ピッチは、配線長の範囲が同じ配線を想定したものである。配線長(長さLv)が異なる配線間では、配線長が小さい方の割当ピッチが適用される。例えば配線長が1001グリッドを越える配線と、501〜1000までの範囲内の配線長の配線とでは、割当ピッチとして3グリッドが適用される。これは、平行する部分の長さによってノイズの影響の大きさが変化するからである。端子位置制御表は、その平行する部分の長さが長くなるほど、大きい割当ピッチとすることを要求していることから、エラーが発生しないようにブロック端子の配置位置を制御することができる。
端子位置制御表は、配線長が長くなるほど、より上位層での配線を要求するものとなっている。これは、一般的に上位層となるほど配線遅延は小さくなるためである。
図14は、ブロック端子の配置例の説明図である。図14において、ハッチングした矩形は何れも同一の配線層の配線を示している。
上述したように、長さLhが長いほど高い優先度が割り当てられる。このため、配線長がより長い配線から配置位置が割り当てられる。それにより、配線長が長い配線が大きい割当ピッチで配置され、配線長が短い配線は空いている場所に割り当てられることになる。この結果、境界を横断する配線が高い密度で配置される状況下であっても、図14に示すように、配線遅延、平行な部分の長さを最適化した配置を得ることができる。
図19は、端子位置割当処理のフローチャートである。この割当処理は、配線(ブロック端子)の処理順を決定して、ブロック端子の配置位置を割り当てるための処理である。割当順決定部56、及び端子割当部57は、この割当処理を実行することで実現される。次に図19を参照して、この割当処理について詳細に説明する。
先ず、ステップS41では、ネット区間長情報D62を参照し、例えばブロック毎に区間長が長い順に配線情報(ブロック端子)をソートすることにより、処理順を決定する。その処理順は、区間長から優先度を求める方法に依存するが、例えば長さLvが所定長以下のものを最優先とし、所定長より長さLvが長いものは長さLhが長くなるほど優先度を高くすることで決定しても良い。処理順を決定した後はステップS42に移行する。
ステップS42では、処理順に従って処理する配線情報(ブロック端子)を選択し、端子位置制御表D71を参照して、目標とする配線層、及び割当ピッチを決定する。次のステップS43では、禁止情報D44を参照しつつ、決定した配線層、及び割当ピッチでブロック端子を配置可能な場所のサーチを行う。その次に移行するステップS44では、目標とする配線層に配置可能か否か判定する。その配線層に空いた場所が存在し、且つその場所で適切とされる割当ピッチを確保できるような場合、判定はYesとなってステップS46に移行する。目標とする配線層に空いた場所が無い、或いは適切な割当ピッチを確保できないような場合には、判定はNoとなり、ステップS45で目標とする配線層を変更した後、上記ステップS43に戻り、変更後の配線層を対象にしたサーチを行う。
ステップS46では、サーチした場所からブロック端子の位置を決定し、例えば配線情報と共に端子位置情報D72として保存する。続くステップS47では、他に配置位置を決定すべきブロック端子が有るか否か判定する。ステップS41でソートした配線情報のなかで処理していないものが存在する場合、判定はYesとなって上記ステップS42に戻り、それ以降の処理を同様に実行する。ソートした配線情報のなかで処理していないものが残っていない場合には、判定はNoとなり、ここで端子位置割当処理を終了する。
モジュール分割部58は、フラットデータD10をブロック分割に応じて分割し、フレーム情報D41、セル情報D43、禁止情報D44、ワイヤ・ビア情報D52、及び端子位置情報D72等とまとめてサブモジュールデータD20を作成する。図5では、計3つのサブモジュールデータD20を作成している。
サブモジュール詳細設計部59は、小モジュールデータD20毎に、セルの配置、及び
配線を決定する詳細設計を行う。ブロック端子に割り当てた位置は、配線の決定に反映させる。
その詳細設計に用いる小モジュールデータD20は、ブロック分割によりデータ量がフラットデータD10より大幅に小さくなっている。配線の決定に要する時間は、配線の数に応じて指数関数的に長くなる。このため、詳細設計に必要な全体の時間は、フラットデータD10を用いて行う詳細設計に必要な時間と比較してより短くなる。また、データD10を分割したことにより、並列(分散)処理が可能となるため、詳細設計に必要な時間はより短くすることもできる。詳細設計の結果をサブモジュールデータD20に反映させることにより、サブモジュールデータD30が作成される。
ブロック端子への位置の割り当ては、回避すべき迂回の発生の抑制、及びバイオレーションの発生の抑制を共に考慮して行っている。このため、詳細設計はより適切に実施できるようになる。配線上の不具合の発生が抑制されることから、配線する経路の探索は迅速に行えるようになり、セルの配置変更等を行う頻度は抑えられる。これらのことから、詳細設計に要する時間も短縮できることとなる。
フラット化処理部60は、サブモジュールデータD30をマージして、モジュールをブロック分割することで生じた階層を消滅させるフラット化を行う。そのフラット化によって得られたフラットデータD10は、何らかの修正や設計変更等を行う場合、領域分割部51の入力データとすることができる。
上述したような機能構成の支援装置では、工程P2は領域分割部51によって実施される。工程P3は、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、及び端子割当部57によって実施される。工程P4及びP5はサブモジュール詳細設計部59により実施される。工程P6は、修正の必要のないフラットデータD10をマージすることに相当する。
図20は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図20を参照して、支援装置として用いることが可能なコンピュータの構成について具体的に説明する。
図20に示すコンピュータは、CPU91、メモリ92、入力装置93、出力装置94、外部記憶装置95、媒体駆動装置96、及びネットワーク接続装置97を有し、これらがバス98によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU91は、当該コンピュータ全体の制御を行う。
メモリ92は、プログラム実行、データ更新等の際に、外部記憶装置95(あるいは可搬型の記録媒体Mに記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU91は、プログラムをメモリ92に読み出して実行することにより、全体の制御を行う。
入力装置93は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。操作装置に対するユーザの操作を検出し、その検出結果をCPU91に通知する。
出力装置94は、例えば表示装置と接続された表示制御装置である。ネットワーク接続装置97は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置95は、例えばハードディスク装置
である。主に各種データやプログラムの保存に用いられる。
媒体駆動装置96は、光ディスクや光磁気ディスク等の可搬型の記録媒体Mにアクセスするものである。
フラットデータD10は、例えばCPU81がフロアプランのためのプログラムであるフロアプランナを実行することにより、外部記憶装置95、或いは媒体駆動装置96を介して記録媒体Mに格納することができる。ネットワーク接続装置97を介して外部装置から取得することもできる。サブモジュールデータD20及びD30、フレーム情報D41、セル抽出範囲情報D42、セル情報D43、禁止情報D44、禁止抽出範囲情報D52、及び端子位置制御表D71等も外部記憶装置95、或いは媒体駆動装置96を介して記録媒体Mに格納することができる。
図5に示す領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、モジュール分割部58、サブモジュール詳細設計部59、及びフラット化処理部60は、一つのプログラムをCPU91に実行させることで実現できる。本実施形態では、詳細設計は周知技術を用いて行うようにしていることから、領域分割部51、既配線端子化部52、禁止マッピング部53、端子辺設定部54、配線長予測部55、割当順決定部56、端子割当部57、及びモジュール分割部58は1プログラム(以降「レイアウト設計支援プログラム」と呼ぶ)により実現し、サブモジュール詳細設計部59は詳細設計用のツールの実行により実現させている。そのレイアウト設計支援プログラムは、外部記憶装置95、或いは記録媒体Mに格納しても良いが、ネットワーク接続装置97を介して外部装置から随時、取得しても良い。
なお、本実施形態では、グリッド点を避けた境界の設定はモジュールのブロックへの分割のために行っているが、モジュールへの分割に用いても良い。ブロック端子の位置の割当方法、配線禁止範囲の設定についても同様に、モジュールへの分割のために採用しても良い。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、
前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記2)
前記第1の工程では、前記第2のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記3)
前記第1の工程では、前記境界を通る配線が存在する場合、該境界上に、該境界の直交方向上に該境界を挟んで隣接する2つのグリッド点間を結ぶ幅のモジュール端子を配置する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記4)
前記第1の工程では、前記境界を通る配線が存在する場合、該配線によって接続される2つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てる
うえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記5)
前記優先度は、前記2つのピン間を結ぶ矩形を想定し、該矩形が前記境界と交わる幅、及び該矩形の該境界と直交する方向上の幅を基に決定する、
ことを特徴とする付記4記載のレイアウト設計方法。
(付記6)
前記第1の工程では、前記境界の近傍に配置された配線上の障害物を基に、前記モジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記1記載のレイアウト設計方法。
(付記7)
前記障害物は、前記配置が決定されているセル、既存の配線、及びビアホールを含む、
ことを特徴とする付記6記載のレイアウト設計方法。
(付記8)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第1の工程と、
前記第1の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第2の工程と、
前記第2の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記9)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記10)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第1の工程と、
前記第1の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第2の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジ
ュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第3の工程と、
を含むことを特徴とするレイアウト設計方法。
(付記11)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、
前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記12)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記13)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記14)
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
(付記15)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定するステップと、
前記設定するステップにより設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割するステップと、
を実行させるためのレイアウト設計支援プログラム。
(付記16)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される2つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
(付記17)
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる2つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
従来のレイアウト設計支援装置の機能構成図である。 モジュール分割例を示す図である。 別のモジュール分割例を示す図である。 本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。 本実施形態によるレイアウト設計支援装置の機能構成図である。 モジュールの分割方法の説明図である。 ブロックに分割する境界の設定方法の説明図である。 ブロック間の接続用に配置するブロック(モジュール)端子の説明図である。 マッピングされる配置禁止範囲の説明図である(その1)。 マッピングされる配置禁止範囲の説明図である(その2) 境界を通過する配線の区間を設定する方法の説明図である。 配線長の予測方法の説明図である。 端子位置制御表の内容例を示す図である。 ブロック端子の配置例の説明図である。 禁止マッピング処理のフローチャートである。 セル禁止設定処理のフローチャートである。 ワイヤ・ビア禁止設定処理のフローチャートである。 ネット(Net)区間長算出処理のフローチャートである。 端子位置割当処理のフローチャートである。 本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。
符号の説明
51 領域分割部
52 器配線端子化部
53 禁止マッピング部
54 端子辺設定部
55 配線長予測部
56 割当順決定部
57 端子割当部
58 モジュール分割部
59 サブモジュール詳細設計部
60 フラット化処理部

Claims (6)

  1. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
    コンピュータに、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、
    前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、を実行させ
    前記第1の工程では、前記第2のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定することで行う、
    ことを特徴とするレイアウト設計方法。
  2. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
    コンピュータに、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、
    前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、を実行させ、
    前記第1の工程では、隣接する第2のモジュール間の境界を通る配線が存在する場合、該配線によって接続される2つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
    前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
    ことを特徴とするレイアウト設計方法。
  3. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
    コンピュータに、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の工程と、
    前記第1の工程により分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の工程と、を実行させ、
    前記第1の工程では、隣接する第2のモジュール間の境界の近傍に配置された配線上の障害物を基に、該配線用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
    前記第2の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
    ことを特徴とするレイアウト設計方法。
  4. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、
    前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、を具備し、
    前記第1の分割手段は、前記第2のモジュールへの分割では、前記配線の基本単位となるグリッド点を避けて、隣接する他の第2のモジュールとの境界を設定する、
    ことを特徴とするレイアウト設計支援装置
  5. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、
    前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、を具備し、
    前記第1の分割手段は、隣接する第2のモジュール間の境界を通る配線が存在する場合、該配線によって接続される2つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
    前記第2の分割手段は、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
    ことを特徴とするレイアウト設計支援装置
  6. 半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
    前記半導体集積回路を分割して得られる第1のモジュールを複数の第2のモジュールに分割する第1の分割手段と、
    前記第1の分割手段が分割した第2のモジュール毎に、該第2のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第2の分割手段と、を具備し、
    前記第1の分割手段は、隣接する第2のモジュール間の境界の近傍に配置された配線上の障害物を基に、該配線用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
    前記第2の分割手段は、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
    ことを特徴とするレイアウト設計支援装置
JP2008241942A 2008-09-22 2008-09-22 レイアウト設計方法、及び装置 Expired - Fee Related JP5380969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008241942A JP5380969B2 (ja) 2008-09-22 2008-09-22 レイアウト設計方法、及び装置
US12/561,583 US8171444B2 (en) 2008-09-22 2009-09-17 Layout design method, apparatus and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008241942A JP5380969B2 (ja) 2008-09-22 2008-09-22 レイアウト設計方法、及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013142892A Division JP5672341B2 (ja) 2013-07-08 2013-07-08 レイアウト設計方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010073073A JP2010073073A (ja) 2010-04-02
JP5380969B2 true JP5380969B2 (ja) 2014-01-08

Family

ID=42038904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008241942A Expired - Fee Related JP5380969B2 (ja) 2008-09-22 2008-09-22 レイアウト設計方法、及び装置

Country Status (2)

Country Link
US (1) US8171444B2 (ja)
JP (1) JP5380969B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8278800B2 (en) 2008-08-21 2012-10-02 Innowattech Ltd. Multi-layer piezoelectric generator
US20120233575A1 (en) * 2011-03-10 2012-09-13 Freescale Semiconductor, Inc. Layout method for integrated circuit including vias
JP2014211824A (ja) * 2013-04-19 2014-11-13 富士通株式会社 設計支援装置、設計支援方法、および設計支援プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04113473A (ja) * 1990-09-04 1992-04-14 Hitachi Ltd 素子間配線方法及び装置
JP2930770B2 (ja) * 1991-06-07 1999-08-03 株式会社東芝 半導体集積回路の設計方法
JPH07147324A (ja) * 1993-11-24 1995-06-06 Nippon Steel Corp Cad装置による自動配置配線処理方法
JPH0844784A (ja) 1994-07-28 1996-02-16 Hitachi Ltd フロアプラン設計方法および装置
JP3433025B2 (ja) * 1996-10-08 2003-08-04 株式会社東芝 モジュール配置方法
JP4128251B2 (ja) * 1997-10-23 2008-07-30 富士通株式会社 配線密度予測方法およびセル配置装置
JP3502311B2 (ja) * 1999-09-20 2004-03-02 Necマイクロシステム株式会社 集積回路レイアウトシステム、レイアウト方法及び記録媒体
JP2001345386A (ja) * 2000-06-01 2001-12-14 Hitachi Ltd 半導体集積回路の自動配線方法
JP2002215704A (ja) 2001-01-16 2002-08-02 Matsushita Electric Ind Co Ltd モジュールの端子位置決定方法及び装置
JP2003030266A (ja) 2001-07-12 2003-01-31 Hitachi Ltd 半導体集積回路の配線経路設定方法
US7155697B2 (en) * 2001-08-23 2006-12-26 Cadence Design Systems, Inc. Routing method and apparatus
US7117468B1 (en) * 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
US7707536B2 (en) * 2006-04-28 2010-04-27 Springsoft Usa, Inc. V-shaped multilevel full-chip gridless routing

Also Published As

Publication number Publication date
US20100077369A1 (en) 2010-03-25
JP2010073073A (ja) 2010-04-02
US8171444B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
US7503026B2 (en) Cell, standard cell, standard cell library, a placement method using standard cell, and a semiconductor integrated circuit
US9165106B2 (en) Layout design for electron-beam high volume manufacturing
US4615011A (en) Iterative method for establishing connections and resulting product
US7484199B2 (en) Buffer insertion to reduce wirelength in VLSI circuits
Hsu et al. Routability-driven analytical placement for mixed-size circuit designs
US7197738B1 (en) Method and apparatus for routing
JP2007188488A (ja) パッキングベースのマクロ配置方法とそれを用いた半導体チップ
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
CN116029254B (zh) 一种基于路径优化的集成电路版图自动布线方法及***
US7216325B2 (en) Semiconductor device, routing method and manufacturing method of semiconductor device
US8015529B1 (en) Methods and apparatus for diagonal route shielding
JP5380969B2 (ja) レイアウト設計方法、及び装置
US6671867B2 (en) Analytical constraint generation for cut-based global placement
US20230351087A1 (en) Using machine trained network during routing to modify locations of vias in an ic design
US10936784B2 (en) Planning method for power metal lines
JP5900540B2 (ja) レイアウト設計方法及びレイアウト設計支援プログラム
KR20010087374A (ko) 집적회로를 배선하기 위한 접근방법
JP5672341B2 (ja) レイアウト設計方法、装置及びプログラム
KR20040076586A (ko) 반도체 집적 회로 및 그 설계 방법
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
JP2943282B2 (ja) 集積回路設計装置
US7107556B1 (en) Method and system for implementing an analytical wirelength formulation for unavailability of routing directions
JPH0512384A (ja) 自動配線方法
JPH0737985A (ja) 自動配線方法
JPH08241926A (ja) Lsiの自動配線装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees