JP2008009787A - 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体 - Google Patents

階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2008009787A
JP2008009787A JP2006180547A JP2006180547A JP2008009787A JP 2008009787 A JP2008009787 A JP 2008009787A JP 2006180547 A JP2006180547 A JP 2006180547A JP 2006180547 A JP2006180547 A JP 2006180547A JP 2008009787 A JP2008009787 A JP 2008009787A
Authority
JP
Japan
Prior art keywords
wiring path
temporary
boundary
temporary wiring
terminal
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.)
Withdrawn
Application number
JP2006180547A
Other languages
English (en)
Inventor
Hiroshi Sato
浩志 佐藤
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 JP2006180547A priority Critical patent/JP2008009787A/ja
Publication of JP2008009787A publication Critical patent/JP2008009787A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】階層設計レイアウトにおいて、端子位置を最適な位置に決定することにより、設計品質の向上および設計期間の短縮化を図ること。
【解決手段】階層設計レイアウト装置200は、取得部201により第1のネットリスト211を取得する。抽出部202により第1のネットリスト211から第2のネットリスト212を抽出する。フロアプラン実行部203によりフロアプランを実行する。仮配置処理実行部204により仮配置処理を実行する。設定部205により配線禁止領域を設定する。CTS処理部206によりCTS処理をする。仮配線処理実行部207により仮配線処理を実行する。仮決定部208により端子位置を仮決定する。最適化処理部209により端子位置の最適化処理を実行する。階層レイアウト部210により下位階層ブロックごとのレイアウト処理を実行するとともに上位階層のレイアウト処理を実行する。
【選択図】図2

Description

この発明は、LSIに用いる階層レイアウト手法におけるCADによる階層レイアウトブロックの端子配置決定処理をおこなう階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体に関する。
近年の半導体集積回路(LSI)は、大規模化・高集積化が進められているが、全回路を一括でレイアウト処理とデータ量が多くなるため、階層設計レイアウト手法を用いるケースが増えてきている。
階層設計レイアウト手法においては、下位階層ブロックの端子位置を決定することが、開発のキーポイントとなっている。一般的には、上位階層のフロアプランにおいて、下位階層ブロックの端子配置を、下位階層を含む全セルの配置をした後、仮配線をおこない、ブロック境界と配線の交点を階層ブロックの端子としていた(たとえば、下記特許文献1、2を参照。)。
特開平7−147324号公報 特開平10−335473号公報
しかしながら、上述した従来技術では、下位階層ブロックの端子を決めるための配置・配線において全セルを対象としているため、処理時間が増加してしまい、開発期間の長期化を招くという問題があった。
また、下位階層ブロックの端子を決めるための配置・配線において全セルを対象とすると、大規模データを扱える処理精度の低い配置・配線ツールを使用せざるを得ない。このような配置・配線ツールを使用する場合、下位階層内の配置などの影響により、上位層からみた場合、必ずしも最適な位置に階層ブロック端子が配置されない場合があり、設計品質の低下を招くという問題があった。
また、上述の配置・配線ツールを使用する場合、下位階層をブロックとした上位階層の配線、特にブロックを跨ぐような配線において迂回が生じ、配線チャネル不足や配線バイオレーションの発生といった上位階層の配線性やタイミングを悪化させるという問題があった。これにより、階層ブロックの端子位置フェーズまで戻ることを余儀なくされたり、配線が引けなくなったり、余分なタイミング調整用セルを挿入やそれによる消費電力の増加を招くという問題があった。
ここで、上述した問題点を具体的に説明する。図6は、従来技術における端子アサイン結果の一例を示す説明図である。図6において、フロアプランにより下位階層ブロック601,602と上位階層のセル603とが配置されている。下位階層ブロック601,602内の黒塗り矩形は、下位階層ブロック601,602内部のセルをあらわしている。
図6では、上位階層のセル603と下位階層ブロック601内のセル611と下位階層ブロック602内のセル621とを配線接続する。この場合、下位階層ブロック601,602の端子の位置は、仮配置・仮配線の結果次第で決定される。データ量が多かったりすると処理時間やツールの関係上精度を低くせざるを得ず、下位階層ブロック601,602内部のある部分に集中してセルが配置されたり、下位階層ブロック601,602の内部結線が優先される。
たとえば、図6では、データ量やツールの精度上、チップ600において下位階層ブロック601の端子610の位置はセル611の直近に決定され、下位階層ブロック602の端子620の位置もセル621の直近に決定されている。
図6では、端子620の位置は領域aの間に決定されるべきであり、タイミング的に厳しくなる可能性が高い下位階層ブロック601,602間結線や上位階層のセル603との結線がおろそかになる可能性があるという問題があった。
また、図7は、従来技術における端子アサイン結果の他の例を示す説明図である。図7において、(A)はチップ700における上位階層仮配線結果を示しており、(B)は(A)を用いた上位階層レイアウトの配線結果を示している。上位階層ブロック701〜703内の黒塗り矩形は、上位階層ブロック701〜703内部のセルをあらわしている。
図7中、(A)では配線禁止を意識した概略配線をしていないため、上位階層ブロック701内のセル711と上位階層ブロック703内のセル731との間に結線される仮配線L1が上位階層ブロック702を跨いて概略配線されている。この場合、(B)のように端子710,730の位置が決定されても、上位階層レイアウトでは上位階層ブロック702が配線禁止領域であることが意識されるため、上位階層ブロック702を迂回して配線L2を引くこととなる。したがって、上位階層における配線性やタイミングが悪化するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、端子位置を最適な位置に決定することにより、設計品質の向上および設計期間の短縮化を図ることができる階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の発明にかかる階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体は、設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出し、検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出し、検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出し、前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出し、前記第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出し、検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定することを特徴とする。
この発明によれば、上位階層レイアウトにおける迂回配線を抑制することができる。
また、上記発明において、前記設計対象回路に関するネットリストを取得し、取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出し、抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行し、フロアプラン実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行し、仮配置処理された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行し、仮配線処理によって得られたセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定し、仮決定結果に基づいて、前記仮配線経路を検出することとしてもよい。
この発明によれば、ネットリストのデータ量の低減化を図ることができる。また、下位階層ブロックの内部結線よりも下位階層ブロック間の仮配線を優先することができる。
また、上記発明において、前記下位階層ブロックの配置領域を配線禁止領域に設定し、設定された配線禁止領域を迂回するように、仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行し、仮配線処理によって得られた前記配線禁止領域を迂回するセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定することとしてもよい。
この発明によれば、配線禁止領域を迂回する仮配線をおこなうことができ、上位階層レイアウトにおいて、迂回配線の作成を未然防止することができる。
また、上記発明において、前記設計対象回路に関するネットリストを取得し、取得されたネットリストを用いて、前記各下位階層ブロックのフロアプランを実行し、フロアプラン実行結果に基づいて、一方の下位階層ブロックおよび他方の下位階層ブロック内のセルに関する仮配置処理を実行し、前記一方の下位階層ブロックおよび前記他方の下位階層ブロック以外の別の下位階層ブロックの配置領域を配線禁止領域に設定し、設定された配線禁止領域を迂回するように、仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行し、前記配線禁止領域を迂回するセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定し、仮決定された仮決定結果に基づいて、前記仮配線経路を検出することとしてもよい。
この発明によれば、ネットリストのデータ量の低減化を図ることができるとともに、下位階層ブロックの内部結線よりも下位階層ブロック間の仮配線を優先することができる。また、配線禁止領域を迂回する仮配線をおこなうことができ、上位階層レイアウトにおいて、迂回配線の作成を未然防止することができる。
また、上記発明において、前記下位階層ブロックのバウンダリ上にクロック端子の端子位置を決定し、決定されたクロック端子の端子位置と重ならないように、前記第2のバウンダリポイントを前記一方の端子の端子位置に決定するとともに、前記第1のバウンダリポイントを前記他方の端子の端子位置に決定することとしてもよい。
この発明によれば、クロック端子との重複による手戻りを防止することができる。
また、第2の発明にかかる階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体は、前記設計対象回路に関するネットリストを取得し、取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出し、抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行し、フロアプラン実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行し、仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行することを特徴とする。
この発明によれば、ネットリストのデータ量の低減化を図ることができる。また、下位階層ブロックの内部結線よりも下位階層ブロック間の仮配線を優先することができる。
本発明にかかる階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体によれば、端子位置を最適な位置に決定することにより、設計品質の向上および設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体の好適な実施の形態を詳細に説明する。
(階層設計レイアウト装置のハードウェア構成)
まず、この発明の実施の形態にかかる階層設計レイアウト装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる階層設計レイアウト装置のハードウェア構成を示すブロック図である。
図1において、階層設計レイアウト装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、階層設計レイアウト装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを階層設計レイアウト装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、階層設計レイアウト装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(階層設計レイアウト装置の機能的構成)
つぎに、この発明の実施の形態にかかる階層設計レイアウト装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる階層設計レイアウト装置の機能的構成を示すブロック図である。
図2において、階層設計レイアウト装置200は、取得部201と、抽出部202と、フロアプラン実行部203と、仮配置処理実行部204と、設定部205と、CTS(Clock Tree Synthesis)処理部206と、仮配線処理実行部207と、仮決定部208と、最適化処理部209と、階層レイアウト部210と、から構成されている。
まず、取得部201は、設計対象回路に関する第1のネットリスト211を取得する。第1のネットリスト211は、下位階層ブロックに関する記述情報を含むネットリストである。また、上位階層のモジュールに関する記述情報も含まれていてもよい。
抽出部202は、取得部201によって取得された第1のネットリスト211から下位階層ブロックの境界部に関するネットリストを抽出する。抽出された境界部に関するネットリストを第2のネットリスト212と称す。具体的には、下位階層ブロック内で閉じているセルやネットに関する記述情報を消去し、外部とインターフェースするセル、ネットに関する記述情報のみの構成とする。
図3は、抽出部202による抽出処理を模式的に示した説明図である。図3において、(A)は抽出処理前の下位階層ブロック300を示しており、(B)は抽出処理後の下位階層ブロック300を示している。
(A)の下位階層ブロック300において、組合せ回路301,302およびFF303,304は、入力端子PIまたは出力端子POに直接接続されていないため、下位階層ブロック300内で閉じているセルに該当する。また、組合せ回路301,302およびFF303,304から直接引き出されている配線(図3中、太線で表示)も入力端子PIまたは出力端子POに直接接続されていないため、下位階層ブロック300内で閉じているネットに該当する。
一方、FF311〜315は、入力端子PIまたは出力端子POに直接またはゲートGを介して間接的に接続されているため、下位階層ブロック300内で閉じているセルに該当しない。同様に、FF311〜315から直接引き出されている配線も入力端子PIまたは出力端子POに直接またはゲートGを介して間接的に接続されているため、下位階層ブロック300内で閉じているネットに該当しない。
したがって、(B)の入力端子PI、出力端子PO、FF311〜315、ゲートGおよびこれらを接続する配線からなる境界部の記述情報が第1のネットリスト211から抽出されて、第2のネットリスト212として出力される。
これにより、下位階層ブロック300内の回路(セルやネット)の大部分は削除されているので、データ量の低減化を図ることができる。そのため、仮配置処理の時間短縮を図ることができる。また、データ量が低減化されているため、配置ツールとしては、配置精度の高いツールもしくは配置精度を上げるパラメータの指定が可能となる。
また、第1のネットリスト211に上位階層のモジュールに関する記述情報が含まれている場合、上位階層のモジュールについても、図3に示したように、モジュール内で閉じているセルやネットを削除して、境界部に関するネットリストを第2のネットリスト212として抽出する。
また、フロアプラン実行部203は、第1のネットリスト211または第2のネットリスト212を用いて、下位階層ブロックのフロアプランを実行する。フロアプラン実行部203は、既存のフロアプランツールで実現可能である。具体的には、たとえば、第1のネットリスト211を用いて下位階層ブロックの配置領域を自動的に計画する。第1のネットリスト211に上位階層のモジュールに関する記述情報が含まれている場合には、上位階層のモジュールの配置領域も自動的に計画する。
また、配置領域が計画されると、第2のネットリスト212を用いて下位階層ブロックを配置領域に自動配置する。第2のネットリスト212に上位階層のモジュールに関する記述情報が含まれている場合、上位階層モジュールの配置領域を位置決めする。
また、仮配置処理実行部204は、フロアプラン実行部203によって実行された実行結果に基づいて、各下位階層ブロック内のセルに関する仮配置処理を実行する。具体的には、たとえば、フロアプランによって得られたレイアウト情報において、チップ上に配置された下位階層ブロック内にセルを仮配置する。
また、設定部205は、下位階層ブロックの配置領域を配線禁止領域に設定する。具体的には、仮配線処理に先立って、フロアプランによって得られたレイアウト情報における下位階層ブロックの配置領域に配線禁止情報を与えることで、下位階層ブロックの配置領域を配線禁止領域として設定しておく。
また、CTS処理部206は、下位階層ブロックのバウンダリにおけるクロック端子の端子位置を決定するCTS処理を実行する。これにより、仮決定部208において仮決定される端子位置、最適化処理部209で決定される端子位置と、クロック端子の端子位置との重複を防止することができ、手戻りを回避することができる。したがって、設計期間の短縮化を図ることができる。
また、仮配線処理実行部207は、仮配置処理実行部204によって仮配置処理された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する。この仮配線処理によって仮配線された経路を、セル間仮配線経路と称す。具体的には、下位階層ブロック内では、内部で閉じているセルやネットの記述情報が削除されているため、ここで、仮配線処理の対象となる下位階層ブロック内のセルとは、下位階層ブロック内の境界部のセルである。
たとえば、図3(B)に示した下位階層ブロック300では、FF311〜315が仮配線処理の対象となるセルである。この仮配線処理により、一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとの間にセル間仮配線経路が引かれる。また、設定部205により配線禁止領域が設定されている場合、仮配線処理は、配線禁止領域に設定された他の下位階層ブロックを回避して、迂回したセル間仮配線経路を引くこととなる。
これにより、上位階層レイアウトにおいて発生しうる迂回配線をこの段階で確認することができる。したがって、後述する最適化処理部209において、仮配線の迂回状況を考慮した端子位置決定をおこなうことができ、設計品質の向上を図ることができる。
また、仮決定部208は、仮配線処理実行部207によって得られたセル間仮配線経路上において、一方の下位階層ブロックのバウンダリ上に端子位置を仮決定するとともに、他方の下位階層ブロックのバウンダリ上に端子位置を仮決定する。以降、一方の下位階層ブロックのバウンダリ上に端子位置が仮決定される端子を一方の端子と称し、他方の下位階層ブロックのバウンダリ上に端子位置が仮決定される端子を他方の端子と称す。
具体的には、セル間仮配線経路と一方の下位階層ブロックのバウンダリとの交点を、一方の端子の端子位置に仮決定し、セル間仮配線経路と他方の下位階層ブロックのバウンダリとの交点を、他方の端子の端子位置に仮決定する。
図4−1は、仮決定部208による仮決定処理後におけるレイアウト情報の一例を示す説明図である。図4−1において、レイアウト情報213は、チップ400上にフロアプランされた下位階層ブロック401〜403が仮配置された情報である。下位階層ブロック401,403内の黒塗り矩形はセルをあらわしている。ここで、下位階層ブロック401が上述した一方の下位階層ブロックに該当し、下位階層ブロック403が上述した他方の下位階層ブロックに該当する。
レイアウト情報213では、下位階層ブロック401内のセル411から下位階層ブロック403内のセル431までセル間仮配線経路R1が仮配線されている。セル間仮配線経路R1は、配線禁止領域に設定された下位階層ブロック402を迂回して引かれている。
また、下位階層ブロック401の境界をあらわすバウンダリ412とセル間仮配線経路R1との交点Xが端子410の端子位置となる。以降、端子位置Xと称す。同様に、下位階層ブロック403の境界をあらわすバウンダリ432とセル間仮配線経路R1との交点Yが端子430の端子位置となる。以降、端子位置Yと称す。
また、図2において、最適化処理部209は仮決定された端子位置X,Yを最適化する。具体的には、仮配線経路検出部291と、第1の仮配線経路上ポイント検出部292と、第1のバウンダリポイント検出部293と、第2の仮配線経路上ポイント検出部294と、第2のバウンダリポイント検出部295と、端子位置決定部296と、から構成されている。
まず、仮配線経路検出部291は、一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出する。具体的には、たとえば、図4−1に示したレイアウト情報では、セル間仮配線経路R1から端子位置Xと端子位置Yとの間の仮配線経路R2を検出する。
また、第1の仮配線経路上ポイント検出部292は、仮配線経路検出部291によって検出された仮配線経路上において、一方の端子を基準とした場合、他方の端子を有する他方の下位階層ブロックから所定距離以内で、かつ一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する。この検出処理について図4−1に示したレイアウト情報213を用いて具体的に説明する。
図4−2は、第1の仮配線経路上ポイント検出部292による検出処理を示す説明図である。図4−2において、まず、仮配線経路R2上において、一方の端子411を基準とした場合、他方の端子431を有する他方の下位階層ブロック403から所定距離以内の経路を検出する。この所定距離はあらかじめ設定された値とする。所定距離をd1とすると、仮配線経路R2中、点線で示した経路R3が検出される。そして、この経路R3中、一方の端子410からの配線長が最短となる点Paを、第1の仮配線上ポイントとして検出する。以降、第1の仮配線上ポイントPaと称す。
また、図2において、第1のバウンダリポイント検出部293は、第1の仮配線経路上ポイント検出部292によって検出された第1の仮配線経路上ポイントから他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出する。この検出処理について図4−2を用いて具体的に説明する。
図4−2において、まず、第1の仮配線経路上ポイントPaから他方の下位階層ブロック403のバウンダリ432までの距離が最短となるバウンダリ432上の点Pbを第1のバウンダリポイントとして検出する。以降、第1のバウンダリポイントPbと称す。
また、図2において、第2の仮配線経路上ポイント検出部294は、仮配線経路上において、一方の下位階層ブロックから所定距離以内で、かつ第1の仮配線経路上ポイント検出部292によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する。この検出処理について具体的に説明する。
図4−3は、第2の仮配線経路上ポイント検出部294による検出処理を示す説明図である。図4−3において、仮配線経路R2上において、一方の下位階層ブロック401から所定距離以内の経路を検出する。この所定距離はあらかじめ設定された値とする。所定距離をd2とすると、仮配線経路R2中、一点鎖線で示した経路R4が検出される。そして、この経路R4中、第1の仮配線経路上ポイントPaからの配線長が最短となる点Pcを、第2の仮配線経路上ポイントとして検出する。以降、第2の仮配線経路上ポイントPcと称す。
また、図2において、第2のバウンダリポイント検出部295は、第2の仮配線経路上ポイント検出部294によって検出された第2の仮配線経路上ポイントから一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出する。この検出処理について図4−3を用いて具体的に説明する。
図4−3において、まず、第2の仮配線経路上ポイントPcから一方の下位階層ブロック401のバウンダリ412までの距離が最短となるバウンダリ412上の点Pdを第2のバウンダリポイントとして検出する。以降、第2のバウンダリポイントPdと称す。
また、端子位置決定部296は、第1のバウンダリポイント検出部293および第2のバウンダリポイント検出部295によって検出された検出結果に基づいて、一方の端子のあらたな端子位置と他方の端子のあらたな端子位置を決定する。具体的には、たとえば、第1のバウンダリポイントおよび第2のバウンダリポイントを端子アサイン候補とし、第1のバウンダリポイントおよび第2のバウンダリポイントに端子が配置された場合に、デザインルールを遵守するか否かを判断する。
たとえば、クロック端子と重複する位置であったり、配線した場合に配線禁止領域を跨ぐような端子位置である場合には、デザインルール違反となる。この場合は、再度、第1の仮配線経路上ポイント検出部292から第2のバウンダリポイント検出部295までの検出処理を再度実行することとなる。再度実行する場合、すでに検出されたポイントPa〜Pdを検出対象外とする。
また、デザインルールを遵守している場合には、第2のバウンダリポイントを一方の端子のあらたな端子位置に決定するとともに、第1のバウンダリポイントを他方の端子のあらたな端子位置に決定する。この決定処理について具体的に説明する。
図4−4は、端子位置決定部296による決定処理結果を示す説明図である。図4−4において、第2のバウンダリポイントPdが一方の端子410のあらたな端子位置に決定されている。第1のバウンダリポイントPbが他方の端子430のあらたな端子位置に決定されている。この図4−4に示したレイアウト情報440が最適化処理結果214に含まれる。また、レイアウト情報440を参照することで下位階層ブロックの端子情報やサイズ情報が得られ、最適化処理結果214に含まれることとなる。
また、図2において、階層レイアウト部210は、下位階層のレイアウトを実行するとともに、上位階層のレイアウトを実行する。具体的には、たとえば、最適化処理結果214に含まれている下位階層ブロックの端子情報やサイズ情報と、第1のネットリスト211とを用いて、下位階層ブロックごとに、配置配線処理をおこなうとともに、タイミング修正やデザインルール違反修正を実行する。これにより、タイミング情報や下位階層ブロック内部にセルが配置・配線されたあらたなレイアウト情報が得られる。
また、上位階層のレイアウトにおいては、最適化処理結果214に含まれている下位階層ブロックの端子情報やサイズ情報と、第1のネットリスト211(上位階層のモジュールに関する記述情報)と、下位階層レイアウトによって得られたタイミング情報やレイアウト情報とを用いて、上位階層の配置配線処理をおこなうとともに、タイミング修正やデザインルール違反修正を実行する。これにより、階層レイアウトが完了する。この上位階層レイアウト処理について具体的に説明する。
図4−5は、上位階層配線結果215を示す説明図である。図4−5において、最適化処理部209においてあらたな端子位置(第1のバウンダリポイントPb,第2のバウンダリポイントPd)に決定された端子430,410を結線すると、配線経路Lが得られる。このようにあらたな端子位置(第1のバウンダリポイントPb,第2のバウンダリポイントPd)による配線経路Lは、仮決定された端子位置から検出された仮配線経路R2よりも配線長が短くなる。これにより、迂回配線を抑制することができる。
なお、上述した取得部201、抽出部202、フロアプラン実行部203、仮配置処理実行部204、設定部205、CTS処理部206、仮配線処理実行部207、仮決定部208、最適化処理部209、および階層レイアウト部210は、具体的には、たとえば、図1に示したROM102,RAM103,HD105などの記録媒体に記録されているプログラムを、CPU101に実行させることによって、またはI/F109によって、その機能を実現する。
(階層設計レイアウト処理手順)
つぎに、この発明の実施の形態にかかる階層設計レイアウト装置200の階層設計レイアウト処理手順について説明する。図5−1は、この発明の実施の形態にかかる階層設計レイアウト装置200の階層設計レイアウト処理手順を示すフローチャートである。
図5−1において、まず、取得部201により、第1のネットリスト211を読み込むことで第1のネットリスト211を取得する(ステップS501)。つぎに、抽出部202により第1のネットリスト211から第2のネットリスト212を抽出する(ステップS502)。そして、フロアプラン実行部203により、フロアプランを実行する(ステップS503)。
つぎに、仮配置処理実行部204により、下位階層ブロック401,403内の境界のセル411,413について仮配置処理をおこない(ステップS504)、設定部205により配線禁止領域となる下位階層ブロック402を設定する(ステップS505)。そして、CTS処理部206によりCTS処理、すなわち、クロック端子の端子位置をバウンダリ412,432に決定する(ステップS506)。
つぎに、仮配線処理実行部207により、一方の下位階層ブロック401内のセル411と他方の下位階層ブロック430のセル431との仮配線処理を実行する(ステップS507)。この仮配線処理では、配線禁止領域を迂回するように仮配線する。そして、仮決定部208により端子位置X,Yを仮決定する(ステップS508)。
つぎに、最適化処理部209により端子位置X,Yの最適化処理を実行する(ステップS509)。最後に、階層レイアウト部210により、下位階層ブロックごとのレイアウト処理を実行するとともに(ステップS510)、上位階層のレイアウト処理を実行する(ステップS511)。これにより、一連の処理を終了する。
(最適化処理手順)
つぎに、図5−1のステップS509に示した最適化処理手順について詳細に説明する。図5−2は、ステップS509に示した最適化処理手順を示すフローチャートである。まず、仮配線経路検出部291により、未処理のセル間仮配線経路があるか否かを判断し(ステップS521)、未処理のセル間仮配線経路がある場合(ステップS521:Yes)、第1の仮配線経路上ポイント検出部292により、一方の端子を基準端子に決定する(ステップS522)。
つぎに、仮配線経路上において、第1の仮配線経路上ポイント検出処理、すなわち、他方の下位階層ブロックから所定距離以内で、かつ一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する(ステップS523)。そして、第1のバウンダリポイント検出部293により、第1のバウンダリポイントを検出する(ステップS524)。
つぎに、第2の仮配線経路上ポイント検出部294により、第2の仮配線経路上ポイント検出処理、すなわち、仮配線経路上において、一方の下位階層ブロックから所定距離以内で、かつ第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する(ステップS525)。そして、第2のバウンダリポイント検出部295により、第2のバウンダリポイントを検出する(ステップS526)。
つぎに、端子位置決定部296により、第1および第2のバウンダリポイントを端子アサイン候補に決定し(ステップS527)、第1および第2のバウンダリポイントに端子を配置することがデザインルールを遵守するか否かを判断する(ステップS528)。
デザインルール違反となると判断された場合(ステップS528:No)、ステップS522に戻る。一方、デザインルールを遵守すると判断された場合(ステップS528:Yes)、第1および第2のバウンダリポイントをあらたな端子位置に決定する(ステップS529)。そして、ステップS521に戻る。また、ステップS521において、未処理のセル間仮配線経路が検出されなかった場合(ステップS521:No)、図5−1に示したステップS510に移行する。
以上説明したように、従来技術では上位階層レイアウト時に、下位階層ブロックを跨ぐ配線が大きく迂回してしまう場合があったが、この発明の実施の形態によれば、このような迂回配線を抑制することができる。そのため、タイミングの悪化や消費電力の増加、デザインルールを遵守するためのバッファの追加を防止することができ、設計品質の向上と設計期間の短縮化を図ることができる。また、抽出部202により、仮配置処理や仮配線処理前に入力するデータ規模を縮小しているため、大規模データを扱う必要がなく、配置・配線精度の向上や設計時間の短縮化を図ることができる。
以上説明したように、階層設計レイアウト装置、階層設計レイアウト方法、および階層設計レイアウトプログラムによれば、端子位置を最適な位置に決定することにより、設計品質の向上および設計期間の短縮化を図ることができるという効果を奏する。
なお、本実施の形態で説明した階層設計レイアウト方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出する仮配線経路検出手段と、
前記仮配線経路検出手段によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する第1の仮配線経路上ポイント検出手段と、
前記第1の仮配線経路上ポイント検出手段によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出する第1のバウンダリポイント検出手段と、
前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出手段によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する第2の仮配線経路上ポイント検出手段と、
前記第2の仮配線経路上ポイント検出手段によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出する第2のバウンダリポイント検出手段と、
前記第1および第2のバウンダリポイント検出手段によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定する端子位置決定手段と、
を備えることを特徴とする階層設計レイアウト装置。
(付記2)前記設計対象回路に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出する抽出手段と、
前記抽出手段によって抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行するフロアプラン実行手段と、
前記フロアプラン実行手段によって実行された実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行する仮配置処理実行手段と、
前記仮配置処理実行手段によって仮配置処理された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する仮配線処理実行手段と、
前記仮配線処理実行手段によって得られたセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定する仮決定手段と、を備え、
前記仮配線経路検出手段は、
前記仮決定手段によって仮決定された仮決定結果に基づいて、前記仮配線経路を検出することを特徴とする付記1に記載の階層設計レイアウト装置。
(付記3)前記一方の下位階層ブロックおよび前記他方の下位階層ブロック以外の別の下位階層ブロックの配置領域を配線禁止領域に設定する設定手段を備え、
前記仮配線処理実行手段は、
前記設定手段によって設定された配線禁止領域を迂回するように、前記仮配置処理実行手段によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行し、
前記仮決定手段は、
前記仮配線処理実行手段によって得られた前記配線禁止領域を迂回するセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定することを特徴とする付記2に記載の階層設計レイアウト装置。
(付記4)前記設計対象回路に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストを用いて、前記各下位階層ブロックのフロアプランを実行するフロアプラン実行手段と、
前記フロアプラン実行手段によって実行された実行結果に基づいて、一方の下位階層ブロックおよび他方の下位階層ブロック内のセルに関する仮配置処理を実行する仮配置処理実行手段と、
前記一方の下位階層ブロックおよび前記他方の下位階層ブロック以外の別の下位階層ブロックの配置領域を配線禁止領域に設定する設定手段と、
前記設定手段によって設定された配線禁止領域を迂回するように、前記仮配置処理実行手段によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する仮配線処理実行手段と、
前記仮配線処理実行手段によって得られた前記配線禁止領域を迂回するセル間仮配線経路上において、前記一方の下位階層ブロックのバウンダリ上に前記一方の端子の端子位置を仮決定するとともに、前記他方の下位階層ブロックのバウンダリ上に前記他方の端子の端子位置を仮決定する仮決定手段と、を備え、
前記仮配線経路検出手段は、
前記仮決定手段によって仮決定された仮決定結果に基づいて、前記仮配線経路を検出することを特徴とする付記1に記載の階層設計レイアウト装置。
(付記5)前記下位階層ブロックのバウンダリ上にクロック端子の端子位置を決定するクロック端子位置決定手段を備え、
前記端子位置決定手段は、
前記クロック端子位置決定手段によって決定されたクロック端子の端子位置と重ならないように、前記第2のバウンダリポイントを前記一方の端子の端子位置に決定するとともに、前記第1のバウンダリポイントを前記他方の端子の端子位置に決定することを特徴とする付記1〜4のいずれか一つに記載の階層設計レイアウト装置。
(付記6)前記設計対象回路に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出する抽出手段と、
前記抽出手段によって抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行するフロアプラン実行手段と、
前記フロアプラン実行手段によって実行された実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行する仮配置処理実行手段と、
前記仮配置処理実行手段によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する仮配線処理実行手段と、
を備えることを特徴とする階層設計レイアウト装置。
(付記7)設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出する仮配線経路検出工程と、
前記仮配線経路検出工程によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する第1の仮配線経路上ポイント検出工程と、
前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出する第1のバウンダリポイント検出工程と、
前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する第2の仮配線経路上ポイント検出工程と、
前記第2の仮配線経路上ポイント検出工程によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出する第2のバウンダリポイント検出工程と、
前記第1および第2のバウンダリポイント検出工程によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定する端子位置決定工程と、
を含んだことを特徴とする階層設計レイアウト方法。
(付記8)前記設計対象回路に関するネットリストを取得する取得工程と、
前記取得工程によって取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出する抽出工程と、
前記抽出工程によって抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行するフロアプラン実行工程と、
前記フロアプラン実行工程によって実行された実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行する仮配置処理実行工程と、
前記仮配置処理実行工程によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する仮配線処理実行工程と、
を含んだことを特徴とする階層設計レイアウト方法。
(付記9)設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出させる仮配線経路検出工程と、
前記仮配線経路検出工程によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出させる第1の仮配線経路上ポイント検出工程と、
前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出させる第1のバウンダリポイント検出工程と、
前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出させる第2の仮配線経路上ポイント検出工程と、
前記第2の仮配線経路上ポイント検出工程によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出させる第2のバウンダリポイント検出工程と、
前記第1および第2のバウンダリポイント検出工程によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定させる端子位置決定工程と、
をコンピュータに実行させることを特徴とする階層設計レイアウトプログラム。
(付記10)前記設計対象回路に関するネットリストを取得させる取得工程と、
前記取得工程によって取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出させる抽出工程と、
前記抽出工程によって抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行させるフロアプラン実行工程と、
前記フロアプラン実行工程によって実行された実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行させる仮配置処理実行工程と、
前記仮配置処理実行工程によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行させる仮配線処理実行工程と、
をコンピュータに実行させることを特徴とする階層設計レイアウトプログラム。
(付記11)付記9または付記10に記載の階層設計レイアウトプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
以上のように、本発明にかかる階層設計レイアウト装置、階層設計レイアウト方法、および階層設計レイアウトプログラム、および該プログラムを記録した記録媒体は、LSIの階層設計レイアウトに有用であり、特に、大規模なLSIの階層設計レイアウトに適している。
この発明の実施の形態にかかる階層設計レイアウト装置のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる階層設計レイアウト装置の機能的構成を示すブロック図である。 抽出部による抽出処理を模式的に示した説明図である。 仮決定部による仮決定処理後におけるレイアウト情報の一例を示す説明図である。 第1の仮配線経路上ポイント検出部による検出処理を示す説明図である。 第2の仮配線経路上ポイント検出部による検出処理を示す説明図である。 端子位置決定部による決定処理結果を示す説明図である。 上位階層配線結果を示す説明図である。 この発明の実施の形態にかかる階層設計レイアウト装置の階層設計レイアウト処理手順を示すフローチャートである。 ステップS509に示した最適化処理手順を示すフローチャートである。 従来技術における端子アサイン結果の一例を示す説明図である。 従来技術における端子アサイン結果の他の例を示す説明図である。
符号の説明
200 階層設計レイアウト装置
201 取得部
202 抽出部
203 フロアプラン実行部
204 仮配置処理実行部
205 設定部
206 CTS処理部
207 仮配線処理実行部
208 仮決定部
209 最適化処理部
210 階層レイアウト部
211 第1のネットリスト
212 第2のネットリスト
213 レイアウト情報
214 最適化処理結果
215 上位階層配線結果
291 仮配線経路検出部
292 第1の仮配線経路上ポイント検出部
293 第1のバウンダリポイント検出部
294 第2の仮配線経路上ポイント検出部
295 第2のバウンダリポイント検出部
296 端子位置決定部

Claims (5)

  1. 設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出する仮配線経路検出手段と、
    前記仮配線経路検出手段によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する第1の仮配線経路上ポイント検出手段と、
    前記第1の仮配線経路上ポイント検出手段によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出する第1のバウンダリポイント検出手段と、
    前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出手段によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する第2の仮配線経路上ポイント検出手段と、
    前記第2の仮配線経路上ポイント検出手段によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出する第2のバウンダリポイント検出手段と、
    前記第1および第2のバウンダリポイント検出手段によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定する端子位置決定手段と、
    を備えることを特徴とする階層設計レイアウト装置。
  2. 前記設計対象回路に関するネットリストを取得する取得手段と、
    前記取得手段によって取得されたネットリストから前記下位階層ブロックの境界部に関するネットリストを抽出する抽出手段と、
    前記抽出手段によって抽出されたネットリストを用いて、前記下位階層ブロックのフロアプランを実行するフロアプラン実行手段と、
    前記フロアプラン実行手段によって実行された実行結果に基づいて、前記各下位階層ブロック内のセルに関する仮配置処理を実行する仮配置処理実行手段と、
    前記仮配置処理実行手段によって仮配置された一方の下位階層ブロック内のセルと他方の下位階層ブロック内のセルとを結線する仮配線処理を実行する仮配線処理実行手段と、
    を備えることを特徴とする階層設計レイアウト装置。
  3. 設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出する仮配線経路検出工程と、
    前記仮配線経路検出工程によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出する第1の仮配線経路上ポイント検出工程と、
    前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出する第1のバウンダリポイント検出工程と、
    前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出する第2の仮配線経路上ポイント検出工程と、
    前記第2の仮配線経路上ポイント検出工程によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出する第2のバウンダリポイント検出工程と、
    前記第1および第2のバウンダリポイント検出工程によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定する端子位置決定工程と、
    を含んだことを特徴とする階層設計レイアウト方法。
  4. 設計対象回路に関する一方の下位階層ブロックのバウンダリ上に端子位置が仮決定された一方の端子から他方の下位階層ブロックのバウンダリ上に端子位置が仮決定された他方の端子までの仮配線経路を検出させる仮配線経路検出工程と、
    前記仮配線経路検出工程によって検出された仮配線経路上において、前記一方の端子を基準とした場合、前記他方の下位階層ブロックから所定距離以内で、かつ前記一方の端子からの配線長が最短となる第1の仮配線上ポイントを検出させる第1の仮配線経路上ポイント検出工程と、
    前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントから前記他方の下位階層ブロックのバウンダリまでの距離が最短となる第1のバウンダリポイントを検出させる第1のバウンダリポイント検出工程と、
    前記仮配線経路上において、前記一方の下位階層ブロックから所定距離以内で、かつ前記第1の仮配線経路上ポイント検出工程によって検出された第1の仮配線経路上ポイントからの配線長が最短となる第2の仮配線経路上ポイントを検出させる第2の仮配線経路上ポイント検出工程と、
    前記第2の仮配線経路上ポイント検出工程によって検出された第2の仮配線経路上ポイントから前記一方の下位階層ブロックのバウンダリまでの距離が最短となる第2のバウンダリポイントを検出させる第2のバウンダリポイント検出工程と、
    前記第1および第2のバウンダリポイント検出工程によって検出された検出結果に基づいて、前記一方の端子のあらたな端子位置と前記他方の端子のあらたな端子位置を決定させる端子位置決定工程と、
    をコンピュータに実行させることを特徴とする階層設計レイアウトプログラム。
  5. 請求項4に記載の階層設計レイアウトプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
JP2006180547A 2006-06-30 2006-06-30 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体 Withdrawn JP2008009787A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006180547A JP2008009787A (ja) 2006-06-30 2006-06-30 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006180547A JP2008009787A (ja) 2006-06-30 2006-06-30 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2008009787A true JP2008009787A (ja) 2008-01-17

Family

ID=39067926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006180547A Withdrawn JP2008009787A (ja) 2006-06-30 2006-06-30 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2008009787A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146277A (ja) * 2008-12-18 2010-07-01 Fujitsu Microelectronics Ltd 検証支援プログラム、検証支援装置、および検証支援方法
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
US8788255B2 (en) 2009-08-21 2014-07-22 Nec Corporation Delay analysis processing of semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
JP2010146277A (ja) * 2008-12-18 2010-07-01 Fujitsu Microelectronics Ltd 検証支援プログラム、検証支援装置、および検証支援方法
US8788255B2 (en) 2009-08-21 2014-07-22 Nec Corporation Delay analysis processing of semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program

Similar Documents

Publication Publication Date Title
US20090319977A1 (en) Interconnect-Driven Physical Synthesis Using Persistent Virtual Routing
JP4501728B2 (ja) クロストークエラー制御装置、クロストークエラー制御方法およびクロストークエラー制御プログラム
US9043741B2 (en) Legalizing a portion of a circuit layout
JP2008009787A (ja) 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体
US20050283750A1 (en) Method and apparatus for designing a layout, and computer product
JP2011043993A (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
US8452075B2 (en) Range pattern matching for hotspots containing vias and incompletely specified range patterns
US20230385514A1 (en) Using machine trained network during routing to modify locations of vias in an ic design
JP5167740B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
US10733354B2 (en) System and method employing three-dimensional (3D) emulation of in-kerf optical macros
JP5136371B2 (ja) 設計支援方法
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
JP2006344165A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
US20080209368A1 (en) Layout design method, layout design apparatus, and computer product
JP4946703B2 (ja) シミュレーション方法及びプログラム
JP2018112995A (ja) 迂回配線チェックプログラム、迂回配線チェック方法、および情報処理装置
JP2007257293A (ja) 集積回路の階層設計方法および装置
US20110041112A1 (en) Method and apparatus for generating a centerline connectivity representation
JP4946655B2 (ja) 設計支援プログラム、該プログラムを記録した記録媒体、設計支援装置および設計支援方法
JP2011076154A (ja) 設計支援プログラム、設計支援装置、設計支援方法、半導体素子、およびマクロ
US20170293706A1 (en) Graphical analysis of complex clock trees
US8762904B2 (en) Optimizing logic synthesis for environmental insensitivity
JP4783712B2 (ja) レイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090304

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101126