JP2006065669A - 自動配置配線装置及びプログラム - Google Patents
自動配置配線装置及びプログラム Download PDFInfo
- Publication number
- JP2006065669A JP2006065669A JP2004248912A JP2004248912A JP2006065669A JP 2006065669 A JP2006065669 A JP 2006065669A JP 2004248912 A JP2004248912 A JP 2004248912A JP 2004248912 A JP2004248912 A JP 2004248912A JP 2006065669 A JP2006065669 A JP 2006065669A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- transfer rate
- wiring layer
- repeater
- unit
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】 1回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付ける自動配置配線装置を提供する。
【解決手段】 各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する決定部12と、自動配置を実行する配置処理部13と、配置結果に基づいて見積もり配線長を求める配線長見積もり部14と、配線長がユーザ指定の配線長以上の配線経路のタイミング制約値に基づいて見積もった遅延時間と見積もり配線長から必要な転送レートを算出する転送レート計算部16と、転送レート計算部16が算出した転送レートを超えない範囲で最も遅い転送レートを有する配線層を割り付ける配線層割付部17と、割り付られた配線層にリピータを配置するリピータ挿入部18と、自動配線を実行する配線処理部19を備える。
【選択図】 図3
【解決手段】 各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する決定部12と、自動配置を実行する配置処理部13と、配置結果に基づいて見積もり配線長を求める配線長見積もり部14と、配線長がユーザ指定の配線長以上の配線経路のタイミング制約値に基づいて見積もった遅延時間と見積もり配線長から必要な転送レートを算出する転送レート計算部16と、転送レート計算部16が算出した転送レートを超えない範囲で最も遅い転送レートを有する配線層を割り付ける配線層割付部17と、割り付られた配線層にリピータを配置するリピータ挿入部18と、自動配線を実行する配線処理部19を備える。
【選択図】 図3
Description
この発明は、半導体集積回路のレイアウトを行う自動配置配線装置及びこの機能をコンピュータに実行させるプログラムに関するものである。
従来から一般的に行われている半導体集積回路のレイアウト処理では、自動配置配線が完了したレイアウトに対してタイミング検証プログラムを実行し、タイミングエラー箇所があれば、タイミングエラーパスに基づいて長距離配線でタイミングエラーが生じた機能ブロック又はマクロセルを特定し、該当配線に対して太幅配線(低時定数配線)を指定して再度配置配線する。このため、試行錯誤による配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返す必要があり、レイアウト設計に多くの時間を費やさざるを得なかった。
これに対して、例えば特許文献1に開示される従来の技術では、自動配置の後、概略配線を施した後にタイミング検証プログラムを実行し、概略配線で決定した配線経路を用いてネットを実現可能な配線層あるいは配線層の組ごとにネット遅延値を検査する。この検査結果に応じて詳細配線に用いる配線層の組を割り付けることにより、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、自動配置後に効率よくタイミングを考慮した配線層の割り付けを実行することができる。
特許文献1に開示される従来の技術は、配線層のネット遅延値の検査結果に基づいて配線遅延を考慮した配線層の割り付けを実施するものであるが、配線層の時定数や配線リソースを考慮して転送レートが最速となる位置にリピータを挿入配置して配線層をさらに効率よく割り付けるものではない。
この発明は、上記のような課題を解決するためになされたもので、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、1回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付ける自動配置配線装置及びこの機能をコンピュータに実行させるプログラムを得ることを目的とする。
この発明に係る自動配置配線装置は、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート/リピータ間距離算出部と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、最速となる転送レートとリピータ間距離との関係を用いて配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、配線層割付部により割り付けられた配線層及び配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部とを備えるものである。
この発明によれば、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート/リピータ間距離算出部と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、最速となる転送レートとリピータ間距離との関係を用いて配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、配線層割付部により割り付けられた配線層及び配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部とを備えるので、自動配置配線及びタイミング検証をタイミングエラー箇所がなくなるまで複数回繰り返すことなく、1回の自動配置配線で適切なタイミングの回路設計が可能であり、配線層の時定数や配線リソースを考慮して配置段階から効率よく配線層を割り付けることができるという効果がある。
実施の形態1.
図1は、この発明による自動配置配線装置を具現化するコンピュータ装置の外観例を示す図であり、図2は、図1中のコンピュータ装置の構成を示す図である。また、図3は、この発明の実施の形態1による自動配置配線装置の構成を示すブロック図である。本発明の自動配置配線装置を具現化するコンピュータ装置には、図1の例に示すように、コンピュータ本体1、グラフィックディスプレイ装置2、CD−ROM(Compact Disk - Read Only Memory)3、CD−ROMドライブ装置4、キーボード5、マウス6及び通信モデム7が装備される。
図1は、この発明による自動配置配線装置を具現化するコンピュータ装置の外観例を示す図であり、図2は、図1中のコンピュータ装置の構成を示す図である。また、図3は、この発明の実施の形態1による自動配置配線装置の構成を示すブロック図である。本発明の自動配置配線装置を具現化するコンピュータ装置には、図1の例に示すように、コンピュータ本体1、グラフィックディスプレイ装置2、CD−ROM(Compact Disk - Read Only Memory)3、CD−ROMドライブ装置4、キーボード5、マウス6及び通信モデム7が装備される。
本発明の趣旨に従う半導体集積回路のレイアウト処理プログラムは、CD−ROM3などの記憶媒体あるいは通信モデム7を使ったネット配信などを介して上記コンピュータ装置に搭載される。この半導体集積回路のレイアウト処理プログラムは、コンピュータ本体1により実行される。ユーザは、グラフィックディスプレイ装置2に表示される自動配置配線プログラムの実行結果を見ながら、キーボード5やマウス6などの入力装置を操作して必要なパラメータ値などを入力し、所望の半導体集積回路のレイアウトを実行する。
また、コンピュータ本体1は、図2の例に示すように、CPU8、ROM(Read Only Memory)9、RAM(Random Accesss Memory)10及びハードディスク装置11を含んで構成される。CPU8は、グラフィックディスプレイ装置2、CD−ROMドライブ装置4、キーボード5、マウス6、通信モデム7、ROM9、RAM10又はハードディスク装置11との間でデータをやり取りしながら演算処理を実行する。
CD−ROM3などの記憶媒体に記録された半導体集積回路のレイアウト処理プログラムは、CPU8によりCD−ROMドライブ装置4からハードディスク装置11に格納される。CPU8は、ハードディスク装置11から適宜ロードした本発明のレイアウト処理プログラムを実行し、その結果を必要に応じてグラフィックディスプレイ装置2に表示する。
本発明の実施の形態1による自動配置配線装置は、転送レート・リピータ間距離決定部(転送レート/リピータ間距離算出部)12、配置処理部13、配線長見積もり部14、配線長判定部15、転送レート計算部16、配線層割付部17、リピータ挿入部18、配線処理部19、タイミング検証部20及び描画部21を含んで構成される。これら構成部12〜21は、本発明による半導体集積回路のレイアウト処理プログラムにおける機能モジュールとして実現することができる。
つまり、転送レート・リピータ間距離決定部12、配置処理部13、配線長見積もり部14、配線長判定部15、転送レート計算部16、配線層割付部17、リピータ挿入部18、配線処理部19、タイミング検証部20及び描画部21は、例えば図1に示すような汎用コンピュータ等を用いて本発明による半導体集積回路のレイアウト処理プログラムを実行させることで具現化できる。
もう少し詳細に説明すると、本発明による半導体集積回路のレイアウト処理プログラムを、コンピュータに読み込ませて、その動作を制御することにより、コンピュータ上に図3に示す転送レート・リピータ間距離決定部12、配置処理部13、配線長見積もり部14、配線長判定部15、転送レート計算部16、配線層割付部17、リピータ挿入部18、配線処理部19、タイミング検証部20及び描画部21を実現することができる。
転送レート・リピータ間距離決定部12は、予め用意した各配線層についてのリピータ間距離と遅延時間の関係に基づいて、各配線層のリピータ間距離と転送レートの関係を求め、各配線層の時定数別に最速となる転送レートを算出する。なお、転送レートとは、リピータ間をつなぐ配線層の単位距離あたりの信号の転送時間である。また、本発明において、転送レートが速いとは、このリピータ間をつなぐ配線層の単位距離あたりの信号の転送時間が短いことを示しており、転送レートが遅いとは上記転送時間が長いことを示している。
遅延時間は、リピータ間の配線層における信号の伝搬時間である。また、リピータ間距離は、リピータ間の配線層の配線長である。本実施の形態では、リピータ自身の遅延を無視し、遅延時間をリピータ間距離で除算したものを当該リピータ間距離における転送レートとして求める。
例えば、図4に示すように、リピータとなる2つのバッファをある時定数の配線層aで直列につなぎ、バッファ(リピータ)間距離を500μmとする。このとき、リピータ自身の遅延は無視するので、INより入力した信号がOUTに伝わるまでに要する時間が、その時定数の配線層aにおけるリピータ間距離500μmの遅延時間となる。
また、配線層ごとのリピータ間距離と遅延時間の関係は、各配線層の時定数別にリピータ間距離を様々な値に変更して遅延時間を逐次求める。この関係に関する情報は、電子化されたテーブルデータとしてハードディスク装置11に予め格納される。
なお、遅延の計測は、遅延計算エンジンとして転送レート・リピータ間距離決定部12を機能させて本発明による自動配置配線装置が自動的に実行するように構成しても良いが、予め回路シミュレーションを実行して遅延時間を求めておくか、遅延時間の実測値を用いるようにしても良い。
配置処理部13は、レイアウト内のブロックやマクロセルの配置を実行する。配線長見積もり部14は、配置処理部13による配置結果に基づいて各配線長を予測する。配線長判定部15は、ユーザが指定した配線長と各配線を比較し、ユーザ指定の配線長以上であるか否かを判定する。転送レート計算部16は、ユーザ指定の各配線長におけるタイミング値により必要な遅延時間を見積もって転送レートを算出する。
配線層割付部17は、転送レート計算部16が算出した転送レートと、転送レート・リピータ間距離決定部12が求めた各配線層の時定数別の最速となる転送レートとを比較し、転送レート計算部16が算出した転送レートを超えない範囲で抽出した配線層のうち、最も遅い転送レートの配線層を割り付ける。リピータ挿入部18は、割り付けられた配線層の転送レートと見積もり配線長に基づいて、当該配線層の配線パターにおけるリピータの挿入が必要な箇所を特定してリピータの配置処理を実行する。配線処理部19は、配線層割付部17により割り付けられた配線層などについての配線処理を実行する。
タイミング検証部20は、配置処理部13及び配線処理部19によって自動配置配線されたレイアウト結果がユーザが所望するタイミングを満たしているか否かを検証する。なお、タイミング検証部20については、他のコンピュータで具現化し、本発明の自動配置配線装置と連動して処理を行うように構成しても良い。
描画部21は、配置処理部13や配線処理部19による配置配線結果をグラフィックディスプレイ装置2の表示画面上に表示する。また、描画部21は、キーボード5やマウス6などの入力装置を用いて、ユーザから配線長や各配線のタイミング情報などの自動配置配線に必要なパラメータの入力を受け付ける入力欄などをグラフィックディスプレイ装置2の表示画面上に適宜表示するGUI(Graphical User Interface)を提供する。
次に動作について説明する。
図5は、実施の形態1による自動配置配線装置の動作を示すフローチャートであり、この図に沿って説明する。
先ず、配置配線の実行前に、転送レート・リピータ間距離決定部12は、ハードディスク装置11に予め格納していた配線層ごとのリピータ間距離と遅延時間の関係を示す電子データをRAM10に読み出して、この電子データ中のリピータ間距離とその遅延時間から配線層ごとに転送レートを算出し、配線層ごとのリピータ間距離と転送レートの関係を求める。次に、転送レート・リピータ間距離決定部12は、各配線層のリピータ間距離と転送レートの関係から各配線層の時定数別に最速となる転送レートを算出する。
図5は、実施の形態1による自動配置配線装置の動作を示すフローチャートであり、この図に沿って説明する。
先ず、配置配線の実行前に、転送レート・リピータ間距離決定部12は、ハードディスク装置11に予め格納していた配線層ごとのリピータ間距離と遅延時間の関係を示す電子データをRAM10に読み出して、この電子データ中のリピータ間距離とその遅延時間から配線層ごとに転送レートを算出し、配線層ごとのリピータ間距離と転送レートの関係を求める。次に、転送レート・リピータ間距離決定部12は、各配線層のリピータ間距離と転送レートの関係から各配線層の時定数別に最速となる転送レートを算出する。
図6は、ある配線層におけるリピータ間距離、転送レート及び遅延時間の関係を示すグラフであり、この図を用いて具体的な算出方法を説明する。図中の破線の曲線は、リピータ間距離とその遅延時間との関係を示している。また、遅延時間(ps)をリピータ間距離(μm=10−3mm)で除算することで、図中の実線で示す転送レート(ps/mm)の曲線が求められる。この実線の曲線における極小値の転送レートが、最速となる転送レートである。なお、最速となる転送レートは、転送レート・リピータ間距離決定部12よって配線の幅や膜厚などにより決定される各配線層の時定数別に算出される。
このようにして求められた転送レート、リピータ間距離及び遅延時間に関する電子情報は、転送レート・リピータ間距離決定部12によりRAM10に格納される。ここまでの処理がステップST1に相当する。
次に、配置処理部13は、所望の論理回路におけるブロックやマクロセルの接続関係を定義したネットリストを用いて、ブロックやマクロセルの配置を実行する(ステップST2)。この配置の手法としては、本願発明の出願時に既存の各種の配置技術のいずれかを用いるようにしてもよい。
ブロックやマクロセルの配置が完了すると、配線長見積もり部14が、この配置結果に基づいてブロックやマクロセル間に設けるべき各配線経路の配線長を予測する(ステップST3)。配線長の予測方法としては、マンハッタン距離などを用いた本願発明の出願時に既存の各種技術を用い、配置結果に応じた配線の混雑度や困難度を考慮して配線経路の配線長(以降、見積もり配線長と適宜称する)を予測する。
配線長判定部15は、配線長見積もり部14から見積もり配線長に関する情報を入力すると、ユーザ指定の配線長に関する情報と比較して、見積もり配線長がユーザ指定の配線長以上の距離であるか否かを判定する(ステップST4)。ユーザ指定の配線長とは、回路設計仕様に基づいて許容できる最上限の遅延時間を与える配線長の閾値である。この配線長の指定情報は、例えばキーボード5やマウス6などの入力装置を用いて本実施の形態による自動配置配線装置に入力される。
ステップST4において、配線長見積もり部14により予測された見積もり配線長がユーザ指定の配線長未満である場合、ステップST8の配線処理に移行する。一方、見積もり配線長がユーザ指定の配線長以上である判定すると、その旨及び当該見積もり配線に関する情報を転送レート計算部16に出力する。
これにより、転送レート計算部16は、ユーザから指定された各配線経路の配線長でのタイミング値に基づいて必要な遅延時間を見積もって転送レートを算出する(ステップST5)。ユーザ指定の各配線経路の配線長でのタイミング値とは、回路設計仕様に基づいてユーザが指定した各配線経路の配線長でのタイミング制約値であって、例えば実配線容量値などが考えられる。このタイミング値は、例えばキーボード5やマウス6などの入力装置を用いて本実施の形態による自動配置配線装置に入力される。
例えば、あるブロック間をつなぐ見積もり配線長が2mmで、ユーザから指定された各配線のタイミング値に基づいてブロック間の必須到達時間(遅延時間)が400psと見積もられた場合、このブロック間をつなぐ配線の必要な転送レートは、400/(2×103)=0.20ps/μmとなる。
ユーザ指定の配線長以上の見積もり配線について求めた転送レートと遅延時間に関する情報は、転送レート計算部16から配線層割付部17に出力される。
配線層割付部17では、転送レート計算部16が算出した転送レートと、予め求めておいた各配線層の時定数別の最速となる転送レートとを比較し、転送レート計算部16が算出した転送レートを超えない範囲で抽出した配線層のうち、最も転送レートが遅い配線層を割り付ける(ステップST6)。
以下に具体例を挙げて説明する。
転送レート計算部16による転送レートの算出結果が、上述したように、見積もり配線長が2mm、そのブロック間の必須到達時間が400psで、このブロック間をつなぐ配線の必要な転送レートが、400/(2×103)=0.20ps/μmであった場合を例に考える。
転送レート計算部16による転送レートの算出結果が、上述したように、見積もり配線長が2mm、そのブロック間の必須到達時間が400psで、このブロック間をつなぐ配線の必要な転送レートが、400/(2×103)=0.20ps/μmであった場合を例に考える。
図7は、転送レート・リピータ間距離決定部12により予め算出される、各配線層の時定数別に求めた最速となる転送レートの一例を示すグラフである。図において、FINEとは、後述する太幅配線層より細幅の配線パターンを有する微細配線層を示しており、一定のピッチで配線した場合を考慮して転送レートを求めている。FINE(1Pitch空)は、隣接するFINE配線間の上記一定ピッチに加え、当該FINE配線の幅分のピッチの空きを設けた場合を考慮して転送レートを求めている。
太幅とは、FINE配線より配線幅が大きい配線パターンを有する配線層であり、上記一定のピッチで配線した場合を考慮して転送レートを求めている。また、厚膜とは、FINE配線より配線膜厚が大きい配線層である。厚膜(1Pitch空)は、隣接する厚膜配線間の上記一定ピッチに加え、当該厚膜配線の幅分のピッチの空きを設けた場合を考慮して転送レートを求めている。
例えば、FINE配線の転送レートは0.248ps/μmであり、厚膜(1Pitch空)の配線の転送レートは0.130ps/μmである。つまり、同じ1μmの配線で、厚膜(1Pitch空)の配線では、信号の伝搬に0.130psしか時間がかからないのに対し、FINE配線の場合、0.248psかかる遅い配線であることがわかる。ここで、ユーザ指定の配線長以上の見積もり配線に対する転送レート計算部16の転送レート算出結果が0.20ps/μmである場合、配線層割付部17は、図7のグラフ中で転送レートが0.20ps/μmを超えない配線である、太幅、厚膜及び厚膜(1Pitch空)を抽出し、さらに最も転送レートが遅い太幅配線を割り付けることになる。
次に、リピータ挿入部18は、転送レート・リピータ間距離決定部12により予め求められた、図6に示すような転送レートとリピータ間距離との関係を用いて、配線層割付部17により割り付けられた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線長と上述のようにして求めたリピータ間距離とを比較し、上記配線層の配線長がリピータ間距離より長い場合、当該配線層の配線経路中のリピータ間距離で規定される位置にバッファなどのリピータを挿入する(ステップST7)。
配線処理部19は、ステップST4で見積もり配線がユーザ指定の配線長未満であると判定された場合や、上述したステップST7までの処理が完了すると、見積もり配線長の配線経路に対する配線処理や、配線層割付部17により割り付けられた配線層についての配線処理を実行する(ステップST8)。このとき、各配線層に要求される転送レートが遅い順に処理を実行する。これにより、高時定数で転送レートが遅いが、最も配線リソースの多い微細配線から順に配線されることになり、配線リソースを考慮した効率の良い自動配線を実現することができる。
次に、タイミング検証部20は、上述のようにして自動配置配線されたレイアウトに対してタイミング検証を実行して(ステップST9)、タイミングエラー箇所が存在するか否かを判定する(ステップST10)。このとき、タイミングエラー箇所が存在すると判定されると、ステップST6の処理に戻って配線層の割り付けを再度実行する。
例えば、図7に示すような各配線層と転送レートとの関係に基づき抽出した、転送レート計算部16が算出した転送レートを超えない配線うち、次に転送レートが遅い配線を割り付ける。このようにして、最も配線リソースの多い高時定数で転送レートが遅い微細配線から順に配線していく。
一方、タイミングエラー箇所が存在しないと判定されると、タイミング検証部20は、その旨を描画部21に通知する。これにより、描画部21は、上述のようにして作成された半導体レイアウトをグラフィックディスプレイ装置2の表示画面に表示してユーザに提示する。
以上のように、この実施の形態1によれば、各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート・リピータ間距離決定部12と、ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部13と、配置処理部13による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部14と、見積もり配線長がユーザ指定の配線長以上であるか否かを判定する配線長判定部15と、配線長がユーザ指定の配線長以上の配線経路に指定されたタイミング制約条件に基づいて当該配線経路での遅延時間を見積もり、見積もった遅延時間と予測された配線長から当該配線層において必要な転送レートを算出する転送レート計算部16と、転送レート・リピータ間距離決定部12が求めた最速となる転送レートを有する時定数別の配線層のうち、転送レート計算部16が算出した転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を割り付ける配線層割付部17と、転送レート・リピータ間距離決定部12が求めた最速となる転送レートとリピータ間距離との関係を用いて、配線層割付部17により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上のリピータ間距離で規定される位置にリピータを配置するリピータ挿入部18と、配線層割付部17により割り付けられた配線層及び配線長判定部15によりユーザ指定の配線長未満であると判定された配線経路に自動配線を実行する配線処理部19を備えるので、1回の自動配置配線で適切なタイミングの回路設計を可能とし、利用可能な時定数と配線リソースを考慮して配置段階から効率よく配線層を割り付けることができる。
なお、上記実施の形態では、転送レート・リピータ間距離決定部12が配線層ごとにリピータ間距離と転送レートの関係を求める際、実際に理想位置にリピータが配置できないことを考慮して、予め与えた理想位置からの配置マージンとなるずれ量を与えるようにしてもよい。これにより、実際にリピータを配置する際に理想位置に配置できない場合、このずれ量を目安に配置位置を調整することができる。
ある配線層の配線経路において、例えばリピータ間距離が1.3mmで転送レートが最速であると算出されても、配置スペースの関係上そのリピータ間距離で規定される理想位置にリピータを配置できない場合がある。この場合、転送レート・リピータ間距離決定部12は、グラフィックディスプレイ装置2などを介してユーザからずれ量の指定を受け付け、ユーザから入力されたユーザ指定のずれ量を上記リピータ間距離に付加する。
例えば、リピータ間距離が1.3mmで、最速位置から0.1mm離れた場所ならリピータを配置可能であるとすると、ユーザがずれ量0.1mmを指定することで、このずれ量を付加した1.4mmをリピータ間距離として算出する。
この場合、リピータ間距離が延びて理想位置からずれた分だけ遅延時間がかかってしまうので、理想位置からのずれに応じて転送レートがより速い配線層を予め選んでおくようにする。例えば、配線長見積もり部14が理想位置からずれた分を考慮して配線長を再度見積もるか、あるいは、配線層割付部17が配線層を変更するようにしても良い。
さらに、転送レート・リピータ間距離決定部12が、各配線層の時定数別に最速となる転送レートを求める際、全ての配線層について求めるのではなく、セル面積、消費電力、配線リソースなどを勘案して、不要と判断した配線層については時定数別に最速となる転送レートを求める処理を行わないようにしてもよい。
これにより、不要な配線層についてのデータはハードディスク装置11などのメモリに確保されないので、配線層割付部17による割り付け対象の配線層が減ることから割り付け処理を速く完了させることができる。例えば、図7中のFINE(1Pitch空)の配線と太幅配線とでは、どちらもほぼ等しく転送レート0.15ps/μmを超えているが、若干転送レートが遅いFINE(1Pitch空)の配線については処理しないことにより類似した転送レートの配線層についての重複処理を省く。
なお、配線長見積もり部14による見積もり配線のうち、ユーザ指定の配線長未満の配線層についても、転送レート・リピータ間距離決定部12が高時定数の最もリソースの多い配線で最速の転送レートを与えるリピータ間距離を求めておき、このリピータ間距離ごとにリピータを挿入しながら配線処理を実行するように構成しても良い。
例えば、配線長判定部15が、ユーザ指定の配線長未満の配線層のうち、上記リピータ間距離を超える配線長を有するか否かを判定する。このとき、上記リピータ間距離を超える配線長を有すると判定された配線層については、リピータ挿入部18や配線処理部19によって、当該配線層の配線経路における上記リピータ間距離ごとにリピータを挿入しながら配線処理を実行する。
さらに、配線層割付部17による配線層の割り付けの際、必ずしも最も遅い転送レートの配線層を割り付けてゆくのではなく、既に割り付けられている配線層の占有率を考慮して配線層の偏りがないように配線層を割り付けるように構成しても良い。これにより、隣接配線容量を減らすことができ、消費電力の低減を図ることができる。
具体的には、例えば最初は転送レートを優先して配線層を割り付けてゆき、一通り割り付けが完了したあとに、配線の混雑度に応じて割り付けた配線結果を見直す処理を実行する。このとき、最初に割り付けられた配線層の転送レートより速い転送レートの配線層を割り付けるようにし、転送レートが遅い配線層を割り付けない制約を設定しておく。このように、転送レートが速い配線層から割り付けることで、最初の転送レートを優先した割り付けの基本的なレイアウトは維持しつつ、配線の混雑度に応じた配線層の割り付けを実行することができる。
1 コンピュータ本体、2 グラフィックディスプレイ装置、3 CD−ROM、4 CD−ROMドライブ装置、5 キーボード、6 マウス、7 通信モデム、8 CPU、9 ROM、10 RAM、11 ハードディスク装置、12 転送レート・リピータ間距離決定部(転送レート/リピータ間距離算出部)、13 配置処理部、14 配線長見積もり部、15 配線長判定部、16 転送レート計算部、17 配線層割付部、18 リピータ挿入部、19 配線処理部、20 タイミング検証部、21 描画部。
Claims (7)
- 各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート/リピータ間距離算出部と、
ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部と、
上記配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部と、
上記配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部と、
配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部と、
最速となる転送レートを有する時定数別の配線層のうち、上記転送レート計算部が算出した上記転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部と、
最速となる転送レートとリピータ間距離との関係を用いて、上記配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上の上記リピータ間距離で規定される位置にリピータを配置するリピータ挿入部と、
上記配線層割付部により割り付けられた配線層及び上記配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部と
を備えた自動配置配線装置。 - 配線処理部は、転送レートが遅い配線層から順に自動配線を実行することを特徴とする請求項1記載の自動配置配線装置。
- 転送レート/リピータ間距離算出部は、転送レートが最速となるリピータ間距離で規定されるリピータ位置からの配置マージンとなるずれ量を受け付け、
リピータ挿入部は、上記ずれ量を付加した位置にリピータを配置することを特徴とする請求項1記載の自動配置配線装置。 - 転送レート/リピータ間距離算出部は、類似する転送レートを与える配線層についてはいずれか一方の配線層についてのみ時定数別に最速となる転送レートを求めることを特徴とする請求項1記載の自動配置配線装置。
- リピータ挿入部は、配線長判定部により閾値未満の配線長であると判定された配線経路についても、転送レート/リピータ間距離算出部が求めた最速の転送レートを与えるリピータ間距離ごとにリピータを配置することを特徴とする請求項1記載の自動配置配線装置。
- 配線層割付部は、転送レートを優先した配線層の割り付けが完了したあとに、配線の混雑度に応じて転送レートが速いものから順に配線層を割り付けることにより配線層の割り付けを修正することを特徴とする請求項1記載の自動配置配線装置。
- 各配線層のリピータ間距離とその転送レートとの関係に基づいて、各配線層の時定数別に最速となる転送レートとそのリピータ間距離を算出する転送レート/リピータ間距離算出部、
ネットリストに基づいてレイアウト対象の半導体集積回路のセルを自動配置する配置処理部、
上記配置処理部による配置結果に基づいて、自動配置されたセル間の配線経路の配線長を予測する配線長見積もり部、
上記配線長見積もり部により予測された配線長が、許容すべき遅延時間を与える配線長の閾値以上であるか否かを判定する配線長判定部、
配線長が上記閾値以上の配線経路に指定されたタイミング制約値に基づいて、当該配線経路での遅延時間を見積もり、見積もった遅延時間と上記予測された配線長から当該配線経路で必要な転送レートを算出する転送レート計算部、
最速となる転送レートを有する時定数別の配線層のうち、上記転送レート計算部が算出した上記転送レートを超えない範囲の配線層を抽出し、抽出結果の配線層のうち最も遅い転送レートを有する配線層を上記配線経路に割り付ける配線層割付部、
最速となる転送レートとリピータ間距離との関係を用いて、上記配線層割付部により割り付られた配線層の転送レートが最速となるリピータ間距離を求め、当該配線層の配線経路上の上記リピータ間距離で規定される位置にリピータを配置するリピータ挿入部、
上記配線層割付部により割り付けられた配線層及び上記配線長判定部により上記閾値未満であると判定された配線経路に自動配線を実行する配線処理部
としてコンピュータを機能させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004248912A JP2006065669A (ja) | 2004-08-27 | 2004-08-27 | 自動配置配線装置及びプログラム |
US11/205,149 US20060043427A1 (en) | 2004-08-27 | 2005-08-17 | Automatic-arrangement-wiring apparatus for and program for performing layout of integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004248912A JP2006065669A (ja) | 2004-08-27 | 2004-08-27 | 自動配置配線装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006065669A true JP2006065669A (ja) | 2006-03-09 |
Family
ID=35941816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004248912A Pending JP2006065669A (ja) | 2004-08-27 | 2004-08-27 | 自動配置配線装置及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060043427A1 (ja) |
JP (1) | JP2006065669A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257373A (ja) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | 自動配置方法、装置、及びプログラム |
JP2007257011A (ja) * | 2006-03-20 | 2007-10-04 | Nec Corp | レイアウト設計装置、方法、及び、プログラム |
US8381159B2 (en) | 2009-12-24 | 2013-02-19 | Renesas Electronics Corporation | Method of semiconductor integrated circuit, and computer readable medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412680B1 (en) * | 2005-09-15 | 2008-08-12 | Altera Corporation | Method and apparatus for performing integrated global routing and buffer insertion |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341310A (en) * | 1991-12-17 | 1994-08-23 | International Business Machines Corporation | Wiring layout design method and system for integrated circuits |
US6000829A (en) * | 1996-09-11 | 1999-12-14 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit capable of compensating for flucuations in power supply voltage level and method of manufacturing the same |
JP3276003B2 (ja) * | 1997-12-15 | 2002-04-22 | 日本電気株式会社 | 半導体集積回路装置およびそのレイアウト方法 |
JP4315532B2 (ja) * | 1999-08-04 | 2009-08-19 | 株式会社ルネサステクノロジ | 配線データ生成方法および当該方法により設計される大規模集積回路装置 |
JP4141322B2 (ja) * | 2003-06-13 | 2008-08-27 | Necエレクトロニクス株式会社 | 半導体集積回路の自動配線方法及び半導体集積回路の設計のプログラム |
JP4610313B2 (ja) * | 2004-11-29 | 2011-01-12 | 富士通セミコンダクター株式会社 | 半導体集積回路の設計方法 |
JP4761859B2 (ja) * | 2005-07-14 | 2011-08-31 | ルネサスエレクトロニクス株式会社 | 半導体集積回路のレイアウト設計方法 |
-
2004
- 2004-08-27 JP JP2004248912A patent/JP2006065669A/ja active Pending
-
2005
- 2005-08-17 US US11/205,149 patent/US20060043427A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007257011A (ja) * | 2006-03-20 | 2007-10-04 | Nec Corp | レイアウト設計装置、方法、及び、プログラム |
JP4696988B2 (ja) * | 2006-03-20 | 2011-06-08 | 日本電気株式会社 | レイアウト設計装置、方法、及び、プログラム |
JP2007257373A (ja) * | 2006-03-23 | 2007-10-04 | Fujitsu Ltd | 自動配置方法、装置、及びプログラム |
US8381159B2 (en) | 2009-12-24 | 2013-02-19 | Renesas Electronics Corporation | Method of semiconductor integrated circuit, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
US20060043427A1 (en) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pan et al. | FastRoute 2.0: A high-quality and efficient global router | |
JP4719265B2 (ja) | 確率的相互接続構造設計のためのシステムおよび方法 | |
US7251800B2 (en) | Method and apparatus for automated circuit design | |
US6408427B1 (en) | Wire width planning and performance optimization for VLSI interconnects | |
US6539529B2 (en) | Method and apparatus for designing integrated circuits and storage medium for storing the method | |
US7661085B2 (en) | Method and system for performing global routing on an integrated circuit design | |
US20020184607A1 (en) | Practical methodology for early buffer and wire resource allocation | |
JPH10163330A (ja) | レイアウト考慮遅延最適化装置および方法 | |
US20130086545A1 (en) | Evaluating routing congestion based on average global edge congestion histograms | |
JPH10313058A (ja) | 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法 | |
US7412680B1 (en) | Method and apparatus for performing integrated global routing and buffer insertion | |
US8762121B2 (en) | Optimization-based simulated annealing for integrated circuit placement | |
US8370782B2 (en) | Buffer-aware routing in integrated circuit design | |
US20050050502A1 (en) | Method and apparatus for designing semiconductor integrated circuit | |
CN115659901B (zh) | 一种芯片物理设计的距离布线优化方法和装置 | |
US6735754B2 (en) | Method and apparatus to facilitate global routing for an integrated circuit layout | |
JP2009282638A (ja) | レイアウト設計システム、レイアウト設計方法、及びプログラム | |
JP2007026170A (ja) | 半導体集積回路の自動レイアウト方法、自動レイアウトプログラム、および自動レイアウト装置 | |
US7519933B2 (en) | Converging repeater methodology for channel-limited SOC microprocessors | |
JP2006065669A (ja) | 自動配置配線装置及びプログラム | |
US20160203254A1 (en) | Methods for reducing congestion region in layout area of ic | |
US8381159B2 (en) | Method of semiconductor integrated circuit, and computer readable medium | |
JP2004185427A (ja) | スキャンパスタイミング最適化装置 | |
JP2010087244A (ja) | 半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラム | |
US6260184B1 (en) | Design of an integrated circuit by selectively reducing or maintaining power lines of the device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060123 |