JP4087629B2 - レイアウト設計方法及びデータライブラリの提供方法 - Google Patents
レイアウト設計方法及びデータライブラリの提供方法 Download PDFInfo
- Publication number
- JP4087629B2 JP4087629B2 JP2002085035A JP2002085035A JP4087629B2 JP 4087629 B2 JP4087629 B2 JP 4087629B2 JP 2002085035 A JP2002085035 A JP 2002085035A JP 2002085035 A JP2002085035 A JP 2002085035A JP 4087629 B2 JP4087629 B2 JP 4087629B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- layout
- individual
- layout pattern
- functional block
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、半導体集積回路若しくはそれにオンチップされる回路モジュールに対するセルベースのレイアウト設計方法、更に、セルベースのレイアウト設計などに利用されるデータライブラリの提供方法等に関し、例えばプロセス世代毎のセルレイアウトの自動化に適用して有効な技術に関する。
【0002】
【従来の技術】
セルベースのレイアウト設計に関し、特開2001−053154公報には、基本的なゲートで構成された基本リーフセルを用いて配置配線処理と配置配線後の検証を行ない、前記検証の結果に基づき配置配線を考慮したゲートレベルの論理と遅延の最適化がなされた複合セルを作成する、技術が記載される。
【0003】
【発明が解決しようとする課題】
従来のセルベースのレイアウト設計では、回路の論理記述からネットリストを生成し、ネットリスト上に複数の基本セルを配置し、配置した基本セルに対して遅延と論理の最適化を行なう。しかしながら、従来のレイアウト設計方法は、プロセスの変更や設計値の変更に対する対応性が考慮されていなかった。基本セルに対してパターンを可変にする着眼がなく、出来上がったレイアウトパターンが固定パターンの集合であるから、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができない、という点が本発明者によって明らかにされた。
【0004】
本発明の目的は、プロセスの変更もしくはプロセスの世代交代、設計値の変更等に対して迅速に対処することができるレイアウトパターンの設計方法を提供する。
【0005】
本発明の別の目的は、プロセスの変更もしくはプロセスの世代交代、設計値の変更等に対して迅速に対処することを可能にするレイアウト設計用のデータライブラリ提供方法を実現することにある。
【0006】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0007】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0008】
〔1〕レイアウト設計方法は、回路要素が結合して所定の機能を実現する機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む複数の回路部品データを用意し(第1処理)、設計対象回路から前記機能ブロックを分離し(第2処理)、分離した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成する(第3処理)。
【0009】
プリミティブセルとしての機能ブロックを定義する回路部品データは、そのパラメータの設定値に応じて機能ブロックの属性(例えばパターンサイズや駆動能力など)を定義することができる。従って、出来上がったレイアウトパターンも単なる固定パターンの集合ではない。これにより、設計対象回路において、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができる。
【0010】
設計対象回路全体のレイアウトパターンを決定するには、第3処理でレイアウトパターンデータが生成された複数の機能ブロックの配置を決定する(第4処理)。更に、第4処理で配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する(第5処理)。
【0011】
本発明の一つの具体的な態様として、前記第1処理において、同一機能ブロックに対して異なる複数の回路部品データを読み込む。第3処理において、分解された機能ブロックに対応する回路部品データを選択するとき、選択の幅が広がる。前記第3処理における回路部品データの選択では、機能ブロックに対応する複数の回路部品データから一つの回路部品データを選択するとき、他の機能ブロックとの接続関係を満足し易い回路部品データを選択すれば簡単である。
【0012】
本発明の一つの具体的な態様として、前記第3処理において、機能ブロックが複数のMOSトランジスタを含むとき、MOSトランジスタ相互間のゲート電極の交差配線を少なくするように当該機能ブロックのレイアウトパターンデータを生成する。総配線数及び配線長の縮小に寄与する。
【0013】
本発明の一つの具体的な態様として、前記第3処理において、非交差ゲート配線、交差ゲート配線、ソース・ドレイン接続配線の順に先頭より配線経路決定の優先順位を高くするのがよい。アルミニウムやタングステンなどの複数層の金属配線を利用し易いソース・ドレイン接続配線による信号経路選択は、柔軟性に富む。
【0014】
前記パラメータは、例えば、前記回路要素のパターン、パターンサイズ、配線層定義、デザインルール、伝播遅延、及び駆動能力を夫々表す為のパラメータの中から選ばれた単数又は複数のパラメータである。
【0015】
本発明の一つの具体的な態様として、生成すべきレイアウトパターンに対する評価の手法に遺伝的アルゴリズムを採用する。すなわち、前記第3処理において、機能ブロックのレイアウトパターン(解の候補)を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とするとき、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。レイアウトパターンに対する最適化が容易になる。例えば、そのような評価として、前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なえばよい。
【0016】
本発明の一つの具体的な態様として、前記第4処理では、設計対象回路における信号の流れに沿うように機能ブロックの配置を決定するのがよい。総配線数及び配線長の縮小に寄与する。また、前記第4処理は、機能ブックの接続配線が短くなるように機能ブロックの配置を決定するのがよい。
【0017】
本発明の一つの具体的な態様として、機能ブロックの配置に対する評価の手法にも遺伝的アルゴリズムを採用する。すなわち、前記第4処理において、機能ブロックの配置(解の候補)を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。例えばそのような評価として、パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なえばよい。
【0018】
〔2〕本発明の別の観点によるデータライブラリの提供方法は、コンピュータネットワークを介して処理対象回路データと要求仕様を受取る受け取り処理と、前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを前記要求仕様に基づいて生成するパターン生成処理と、前記パターン生成処理で生成されたレイアウトパターンデータをコンピュータネットワークを介して送出する送出処理と、を含む。前記パターン生成処理は前記第1乃至第5処理を含む。
【0019】
データライブラリの提供ビジネスに着目すれば、半導体集積回路の製造メーカもしくはファブメーカのプロセスに最適化したレイアウトパターンデータを作成して提供することができる。例えば、ファブレスから処理対象回路データを受取ると、ファブメーカは自社のプロセスに従ったパラメータデータを用いたりしてレイアウトパターンデータを生成し、依頼元のファブレスにレイアウトパターンデータを返す。
【0020】
第3処理におけるレイアウトパターンの評価、第4処理における機能ブロック配置の評価には、前記遺伝的アルゴリズムを用いた評価手法を採用可能である。
【0021】
〔3〕本発明の更に別の観点は、遺伝的アルゴリズムによりレイアウトパターンの世代を重ねてその最適化を図るというものである。即ち、レイアウト設計方法は、複数の回路要素が結合して所定の機能を実現する機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む回路部品データを読み込む。前記機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成するとき、前記機能ブロックのレイアウトパターン(解の候補)を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とし、遺伝的アルゴリズムを用いて個体を目的値に到達させる。例えばそのような評価として、前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なえばよい。
【0022】
【発明の実施の形態】
図1には本発明に係るレイアウト設計方法におけるデータライブラリが例示される。図1において1は、EDA(エンジニアリング・デザイン・オートメーション)システムであり、半導体集積回路のレイアウトパターンの自動生成を支援するツールシステムとして位置付けられ、ワークステーションなどによって構成される。このEDAシステムには種々の機能ブロックの回路部品データを有する部品ライブラリ2が接続される。EDAシステム1は、レイアウト設計の対象となる設計対象回路の回路記述データ(設計対象スケマティックデータ)3を入力し、設計対象回路から前記部品ライブラリ2で定義される機能ブロックを抽出し、抽出した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータ4を与えて、当該機能ブロックのレイアウトパターンデータを生成する。生成されたレイアウトパターンデータはトップライブラリとしてのレイアウトライブラリ5が保有する。
【0023】
前記部品ライブラリ2は、回路要素(例えばトランジスタや配線要素等)が結合して所定の機能を実現する機能ブロック(例えばナンドゲート等)の回路記述データと前記機能ブロックの属性を定義するためのパラメータとを含む複数の回路部品データを有する。図1では部品ライブラリ2はスケマティックライブラリ10とパラメタライズセルライブラリ11に分割され、一つの機能ブロックの回路部品データはスケマティックライブラリ10とパラメタライズセルライブラリ11に分けて格納される。スケマティックライブラリ10は、機能ブロックのトランジスタレベルの回路図データ10Aと、当該機能ブロックを構成するトランジスタのゲート幅及びゲート長寸法や端子配置などを特定するパラメータとを有する。パラメタライズセルライブラリ11は機能ブロックを配置するための拡散基本セル11Aと、機能ブロックを構成する夫々のトランジスタの形状11Bとを、パラメータによってプログラマブルに定義できるパラメータを有している。拡散基本セル11Aは、p型拡散領域(p)、n型拡散領域(n)、回路の電源電圧が与えられる電源パターン(vdd)、回路の接地電位が与えられるグランドパターン(gnd)が定義される。この拡散基本セル11Aは、11Bに代表されるような機能ブロックを構成する夫々のトランジスタを配置するための下地としての意味を持つ。尚、前記部品ライブラリ2において各種パラメータには予めデフォルト値が設定されている。
【0024】
設計対象スケマティックデータ3は、ゲートレベルのような回路記述12等によってレイアウト設計対象を特定する。
【0025】
図1の例に従えば、EDAシステム1は、設計対象回路から、部品ライブラリ2が有する機能ブロックを抽出する。部品ライブラリ2が2入力ナンドゲート、2入力ノアゲートの機能ブロックの回路部品データを有しているとすれば、設計対象スケマティックデータ3の回路記述12から、2個の2入力ナンドゲートと1個の2入力ノアゲートの機能ブロックを抽出する。EDAシステム1は、抽出した夫々の機能ブロックに対し、パラメータデータ4で指定される仕様を満足するレイアウトパターンを夫々決定し、レイアウトパターンが決定された機能ブロックに対して信号の流れる方向を考慮して配置を決定し、配置が決定された機能ブロック間の配線を決定する。これによって図1に例示されるようなレイアウトパターン13のデータが生成される。
【0026】
ここで、前記部品ライブラリ2を構成する前記回路部品データのパラメータについて説明する。機能ブロックのパラメータは、例えば、セル名、駆動力(駆動能力)、レイアウト形状、ゲートサイズ、配線層定義(配線層名、配線幅)、デザインルール(最小配線幅、最小スペーシング)、コンタクト定義(コンタクト名、層名、サイズ、下層名、オーバラップ)、MOS段数定義、端子定義、信号伝搬遅延等とされる。前記セル名は機能ブロックの識別名称、或は機能ブロックの構成要素である回路素子などを指称する識別名称を意味する。例えばセル名P1_N1は、MOSトランジスタの導電型とスタック数を示すパラメータとして機能し、1個のpチャネル型MOSトランジスタ(P1)を意味し、これは1個のnチャネル型MOSトランジスタ(N1)に直列配置されるものであることを意味する。前記駆動力はセル名で示される回路の駆動能力を倍力のような相対値(倍率)で示すパラメータである。例えば×1を基準値とすると、×00は抵抗素子互換、×0は最低動作保証倍力、×2は基準の2倍の駆動能力を意味する。
【0027】
前記パラメータに対するデータ設定に応じて機能ブロックの回路的な性能、及びデバイス的な構造が決まる。EDAシステム1による設計対象回路のレイアウト設計において、必要な要求仕様(設計仕様)を満足させる為の条件はパラメータデータ4により与えられる。パラメータデータ4は全てのパラメータを決定する訳ではなく、EDAシステム1は、設計対象回路の機能や接続関係より、要求仕様を満足するように、その他のパラメータのパラメータデータを自動的に決定して、最適なレイアウトパターンの生成を支援する。
【0028】
前記パラメータデータ4によって指定されるパラメータは、例えば、駆動力、ゲートサイズ、配線層定義(配線層名、配線幅)等とされる。
【0029】
図2にはレイアウトパターンの設計フローが例示される。ここでは、部品ライブラリの生成から始り、トップライブラリが生成される過程を示す。部品ライブラリの生成では、機能ブロックのパターン自動生成(S1)と、その下地になる拡散基本セルの生成(S2)に大別される。機能ブロックのパターン自動生成(S1)では一つの機能ブロックに対して複数のパターンを生成する。即ち、複数のパターン片を配置してブロックレイアウトを生成する際、後述する遺伝的アルゴリズムを用いた評価結果の良好なパターンを複数個採用する。この時の評価は、機能ブロックの機能等によって優先事項が相違するから、その回路的な性能重視や、占有面積縮小重視等の観点より、選択条件を変更して予め複数通りのレイアウトパターンを用意しておく。
【0030】
トップライブラリの生成処理は、機能ブロックのパターン生成(S3)、機能ブロックの配置(S4)及び機能ブロック間配線(S5)によって行われる。
【0031】
機能ブロックのパターン生成(S3)では、設計対象回路から抽出された機能ブロックに対するパターン生成が行われる。このとき、MOSトランジスタのゲート配線の交差数が最小になるようにMOSトランジスタの配置を決める。更に、信号伝播遅延の最小化、消費電力の適正化、そして、機能ブロックを横切る空きチャネル数、機能ブロックの占有面積、総配線数、及び総配線長の縮小化を評価しながら、それを実現する方向で、機能ブロックのレイアウトパターンを生成する。その評価には、後述する遺伝的アルゴリズムを用いた評価結果を用いる。
【0032】
機能ブロックの配置(S4)では、分解されてレイアウトパターンが決定された複数の機能ブロックの配置を決め(S4a)、それを拡散基本セルの配置する(S4b)。機能ブロック配置を決定するとき(S4a)、設計対象回路の入力から出力への信号伝播方向遵守、信号伝播遅延の減少、消費電力の適正化(低消費電力化)、回路面積の縮小、総配線数、及び総配線長の縮小化の評価結果を参照し、その評価結果の良好な配置を採用する。その評価には、後述する遺伝的アルゴリズムを用いた評価結果を用いる。
【0033】
機能ブロック間配線(S5)では、配線グリッド上で機能ブロックの対応端子を結線する。この時、回路内の複数の機能ブロックに結線される制御線がある場合、その接続を最優先する手法を採用してよい。配線の接続は接続端子の定義として与えられる。
【0034】
前記EDAシステム1を用いたレイアウト設計方法の具体例を更に説明する。このレイアウト設計は、部品ライブラリ2を用いて、ゲートレベル若しくはトランジスタレベルで記述された設計対象回路から、そのレイアウトパターンを自動生成する。
【0035】
図3に例示される部品ライブラリは、ラッチ回路(FBK3)、クロックドインバータ(CKINV)、ノアゲート(NOR)、複合ゲート(C32B)等の機能ブロックを有している。各機能ブロックは、真理値表で示される論理機能が定義され、信号伝播遅延若しくは動作遅延や電力消費などを定義するためのパラメータを持つ。各機能ブロックには、前述のように遺伝的アルゴリズムなどによる手法で予め評価されて、複数パターンが用意されている。
【0036】
図4にはレイアウト設計フローが例示される。図4に従えば、レイアウト設計では、機能ブロックへの分解(T1)、分解された機能ブロック内のレイアウトパターンの決定(T2)、機能ブロックの配置(T3)、機能ブロック相互間の接続(T4)、接続結果に対する評価(T5)の各処理が行われる。
【0037】
上記各処理を具体例を用いて説明する。先ず、図5に模式的に示されるように、分解処理(T1)では、設計対象回路12を機能ブロックBLK1〜BLK6に分解する。
【0038】
機能ブロック内のレイアウトパターンの決定(T2)では、図6に例示されるように、分解された全ての機能ブロックに対してレイアウトパターンを生成する。図6には機能ブロックBLK4が代表的に示されている。生成されたレイアウトパターンに対しては伝播遅延若しくは動作遅延、そして例えば抵抗成分(R)と容量成分(C)に着目したRCシミュレーションによって消費電力が評価される。
【0039】
機能ブロックの配置処理(T3)では、図7に例示されるように、信号の流れる方向に沿うように機能ブロックBLK1〜BLK6を配置する。尚、図7の機能ブロックBLK1〜BLK6のレイアウトパターンは図5の回路構成と一致する例ではない。
【0040】
接続処理(T4)では、図8に例示されるように、配置処理(T3)を経た機能ブロックの相互間を設計対象回路の記述にしたがって接続し、その接続配線パターンを決める。
【0041】
評価処理(T5)では、接続処理T4が行われた設計対象回路に対する遅延評価と消費電力評価を行なう。遅延評価は、例えば図9に例示されるように、機能ブロックの理論上の動作遅延時間D1〜D6、その誤差係数α、機能ブロック間の配線による伝播遅延時間βを考慮し、D=α(D1+D2+D3+D4+D5)+βを評価値として行なう。消費電力評価は、機能ブロックの理論上の消費電力P1〜P6、その誤差係数γ、機能ブロック間の信号線上での電力消費量δを考慮し、P=γ(P1+P2+P3+P4+P5)+δを評価値として行なう。上記理論上の動作遅延時間及び理論上の消費電力は機能ブロックの駆動力に基づいて算定すればよい。
【0042】
次に、機能ブロック内のレイアウトパターンの決定処理(T2)の詳細について説明する。レイアウトパターンを決定すべき機能ブロックをBLKkとする。EDAシステム1は予め、図10に例示されるように、機能ブロックをBLKkに対応する回路部品データD1(BLKk)〜D4(BLKk)を読み込んでいる。機能ブロックBLKk内のレイアウトパターンを決定する場合には、図11に例示されるように、回路ブロックBLKkが他の機能ブロックBLKi,BLKjとの接続関係を満足するのに都合の良いパターンを持つ回路部品データを選択して利用すればよい。
【0043】
機能ブロック内のレイアウトパターンの決定処理(T2)においてMOSトランジスタの配置に関しては、MOSトランジスタ相互間のゲート電極の交差配線を少なくするようにそのレイアウトパターンを決定するのがよい。例えば図12の機能ブロックのレイアウトを考える。この機能ブロックは4個のpチャネル型MOSトランジスタP1〜P4と4個のnチャネル型MOSトランジスタN1〜N4から成る。その回路のレイアウトは図13のようなの初期状態持つとする。このレイアウトに対してゲート配線の交差数を減らす為には、横方向のトランジスタ配置を変更する。図14ではMOSトランジスタP1とMOSトランジスタP3とを入れ換えて、ゲート交差数を一つ減らす。図15ではMOSトランジスタP1とMOSトランジスタP2とを入れ換えて、ゲート交差数をもう一つ減らす。図16ではP2,P4,N3,N4の夫々のMOSトランジスタにおいてソースとドレインの配置を入れ換え、更に図17では隣合うMOSトランジスタP2とP4のソースをコモンとし、隣合うMOSトランジスタN3とN4のソースをコモンとして、チップ占有面積を小さくする。図17のレイアウトではゲート配線交差数は0で最小になる。更に図18のように、MOSトランジスタP1とP3を入れ換え、図19に例示されるように、MOSトランジスタP3とP2の拡散層を共通化し、MOSトランジスタN2とN3の拡散層を共通化することにより、ゲート配線交差数は1になるが、チップ占有面積は更に小さくなる。
【0044】
機能ブロック内のレイアウトパターンの決定処理(T2)においてMOSトランジスタ間の配線に関しては、▲1▼電源配線(Pow)、▲2▼非交差ゲート配線(Gnc)、▲3▼交差ゲート配線(Gcr)、▲4▼ソース・ドレイン接続配線(Sig)の順に配線経路決定の優先順位を高くするのがよい。アルミニウムやタングステンなどの複数層の金属配線を利用し易いソース・ドレイン接続配線による信号経路選択は、他の配線に比べて経路選択に柔軟性があるから、配線経路選択の優先度を低くしても支障を生ずる虞は少ない。図20においてvddは電源配線、gndは回路のグランド配線、Lpはp型MOSトランジスタ用の拡散領域、Lnはn型MOSトランジスタ用の拡散領域である。電源配線(Pow)と非交差ゲート配線(Gnc)は選択の余地がないから、優先的に配線される。ソース・ドレイン接続配線(Sig)は前述の通り経路選択に比較的柔軟性があるから、経路選択の優先順位は低くてよい。
【0045】
図21には遺伝的アルゴリズムを採用した評価手法が例示される。一般的に、遺伝的アルゴリズムでは、解の候補としての個体を生成し、個体に対して評価関数を用いて適応度を評価し、評価の高い個体を選び、選ばれた個体に対して交配及び突然変異などの操作を加え、次の世代の個体集団を生成し、それらを繰り返して世代を重ねるにつれて、適応度の高い個体が増え、同時に、より最適解に近い個体が現れる確立も高くなり、評価値がある一定値に達したときの個体を、求める最適解とする、手法である。
【0046】
図21の例はレイアウトパターンが決まった機能ブロックの配置を決定するときの評価に適用するものである。20が設計対象回路の回路記述である。a〜eは機能ブロックである。この回路記述を満足する有意の機能ブロックの配置は16通りある。機能ブロックの配置を決定する為の複数のパラメータ、例えば、信号遅延時間、機能ブロック間の総配線長及び総配線数、占有面積等に対する各種パラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とする。図21の例では、16通りある機能ブロック配置の夫々を出発点としての個体MBR1〜MBR16と位置付ける。夫々の個体MBR1〜MBR16に固有の所定のパラメータに関するパラメータデータが遺伝子と位置付けられる。そのような複数の個体MBR1〜MBR16に対し、遺伝的アルゴリズムを用いて個体に対する評価を行ない、評価の高い個体を選び、選ばれた個体に対して交配及び突然変異などの操作を加え、次の世代の個体集団を生成し、それらを繰り返して世代を重ねるにつれて、評価値の高い個体が増える。評価値がある一定値に達したときの個体を、求める最適解とする。要するに、評価値を目的値に到達させる。そのような評価には、パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長等の属性に相関を有する評価関数を用いればよい。例えば、信号遅延時間が短く、占有面積が小さく、機能ブロック間の総配線数及び総配線長が少ない属性を良好な結果として、その因子を遺伝させる。
【0047】
遺伝的アルゴリズムを採用した評価手法は、機能ブロックのレイアウトパターンを決定するときの評価にも適用することができる。即ち、機能ブロックのレイアウトパターンを決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とするとき、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させる。前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なえばよい。
【0048】
遺伝的アルゴリズムを採用して機能ブロックのレイアウトパターンの決定やレイアウトパターンが決まった機能ブロックの配置を決定することにより、人手による試行錯誤が無いから、回路記述に基づくレイアウト設計に要する期間の短縮、レイアウト設計のの属人的なばらつきの低減が可能になる。
【0049】
図22には上記レイアウト設計方法を実現する設計支援システムであるEDAシステムが具体的に例示される。同図に示されるシステムはエンジニアリングワークステーション又はパーソナルコンピュータシステムなどによって実現され、入力手段としてのキーボード31、表示手段としてのディスプレイ32、CPU33A及メインメモリ33Bなどが実装されたCPUボードやインタフェースボードを有するデータ処理手段としてのコンピュータユニット33、補助記憶装置34、並びにターミナルアダプタやモデム等の通信インタフェース回路35を有して成る。補助記憶装置34は、特に制限されないが、磁気ディスクを固定的に備えたハードディスク装置、フラッシュメモリーカードが着脱可能なメモリカード装置、磁気ディスクに対してリード・ライト可能な磁気ディスクドライブ装置、CD−ROMをリード可能なCD−ROMドライブ装置、MOディスクに対してリード・ライト可能なMOドライブ装置等によって構成される。34Aは補助記憶装置34の記録媒体を総称する。前記通信インタフェース回路35は公衆回線網36等に接続可能にされる。CPU33Aは、特に制限されないが、記録媒体34Aから読み取ったプログラム又は通信インタフェース手段35を介してダウンロードしたプログラムをメインメモリ33B等にロードして実行する。プログラムの実行に必要なデータは、同じく記録媒体34から読み込み、或いは通信インタフェース35を利用してダウンロードし、更にはキーボード31より入力する。
【0050】
EDAシステムにおいて、設計対象データとパラメータデータは入力手段としての前記補助記憶装置34又は通信インタフェース回路35から入力する。前記コンピュータユニット33は、入力した設計対象データとパラメータデータを用いて上記レイアウトパターンの自動生成を行なう。
【0051】
前記レイアウトパターンの自動生成を行なう為の動作プログラムは、コンピュータ読取り可能な記録媒体34Aで提供される。このプログラムは、コンピュータユニット33が実行するために必要なオブジェクトコードによって構成されている。
【0052】
図22においてEDAシステムによりレイアウトライブラリを生成するのは例えば、半導体集積回路の製造メーカ、或は設計部門を持たず半導体集積回路の製造を専ら請け負うファブメーカである。例えば半導体集積回路の製造メーカ、或はファブメーカは、レイアウトライブラリを生成して提供するビジネス主体となり得る。この場合、レイアウトライブラリの作成要求元は、例えば半導体集積回路の製造部を持たず専ら設計部門を持つファブレス若しくはその一種であるASICベンダなどとされる。ファブメーカ40などは、ファブレス41等からコンピュータネットワーク36を介して処理対象回路データと要求仕様を受取る受け取る。ファブメーカなどのEDAシステムは、前記受取った要求仕様を満足させるように自社(当該ファブメーカ)の製造プロセスに従ったパラメータデータを用いて、前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを生成するパターン生成処理を行ない、それによって生成されたレイアウトパターンデータをコンピュータネットワーク36を介して要求元に送出する。
【0053】
以上説明したレイアウト設計方法によれば、半導体集積回路の製造プロセスに依存することなく、外から与えられるパラメータデータによって種々の製造プロセスに対応することができる。パラメータデータにしたがってパターンの形状などを可変できるので、プロセスの変更若しくはプロセス世代の交代、或は設計値の変更などに対して柔軟且つ迅速に対処することができる。これはレイアウト設計時間の短縮、レイアウト設計コストの低減を実現する。
【0054】
以上本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0055】
例えば、回路データはインバータやNANDゲートなどの論理ゲートに限定されず、アンプ、フリップフロップ、演算器などの機能ブロックレベルであってもよい。また、パラメータの種類も以上で説明したものに限定されない。レイアウト形状のパラメータはセルの高さ及び幅を一定とした条件の下でのパラメータであることに限定されず、適宜変更可能である。また、MOSトランジスタの閾値電圧の相異をパラメータによって表現してもよい。また、CMOS回路におけるpチャネル型MOSトランジスタとnチャンネル型MOSトランジスタとのゲート幅などのサイズ比をパラメータで表現してもよい。
【0056】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0057】
すなわち、機能ブロックの回路記述データと前記機能ブロックの属性を定義する為のパラメータとを含む複数の回路部品データを用意し(第1処理)、設計対象回路から前記機能ブロックを分離し(第2処理)、分離した機能ブロックに所要の属性を満足させるように、対応する回路部品データのパラメータにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータを生成する(第3処理)。したがって、プリミティブセルとしての機能ブロックを定義する回路部品データは、そのパラメータの設定値に応じて機能ブロックの属性(例えばパターンサイズや駆動能力など)を定義することができる。これにより、出来上がったレイアウトパターンも単なる固定パターンの集合ではない。これにより、設計対象回路において、プロセスの変更もしくはプロセスの世代交代、設計値の変更に対して迅速に対処することができる。
【図面の簡単な説明】
【図1】本発明に係るレイアウト設計方法を概略的に示す説明図である。
【図2】レイアウトパターンの設計フローを例示する説明図である。
【図3】部品ライブラリの一例を示す説明図である。
【図4】レイアウト設計フローを全体的に例示するフローチャートである。
【図5】分解処理の様子を例示する説明図である。
【図6】機能ブロック内のレイアウトパターンの決定処理の様子を例示する説明図である。
【図7】機能ブロックの配置処理の様子を例示する説明図である。
【図8】接続処理の様子を例示する説明図である。
【図9】遅延評価の手法を例示する説明図である。
【図10】一つの機能ブロックに対して4種類の回路部品データが用意された状態を例示する説明図である。
【図11】機能ブロック内のレイアウトパターンを決定する場合に他の機能ブロックとの接続関係を考慮する場合を示す説明図である。
【図12】機能ブロック内の構成をトランジスタレベルで例示した回路図である。
【図13】図12の機能ブロックに対するトランジスタ配置の初期状態を例示する説明図である。
【図14】図13のトランジスタ配置に対してMOSトランジスタP1とMOSトランジスタP3とを入れ換えてゲート交差数を一つ減らした状態を示す説明図である。
【図15】図14のトランジスタ配置に対してMOSトランジスタP1とMOSトランジスタP2とを入れ換えてゲート交差数をもう一つ減らした状態を示す説明図である。
【図16】図15のトランジスタ配置に対してP2,P4,N3,N4の夫々のMOSトランジスタにおけるソースとドレインの配置を入れ換えた状態を示す説明図である。
【図17】図16のトランジスタ配置に対して隣合うMOSトランジスタP2とP4のソースをコモンとし隣合うMOSトランジスタN3とN4のソースをコモンとしてチップ占有面積を小さくした状態を示す説明図である。
【図18】図17のトランジスタ配置に対してMOSトランジスタP1とP3を入れ換えた状態を示す説明図である。
【図19】図18のトランジスタ配置に対してMOSトランジスタP3とP2の拡散層を共通化しMOSトランジスタN2とN3の拡散層を共通化した状態を示す説明図である。
【図20】機能ブロック内配線経路決の優先順の説明図である。
【図21】遺伝的アルゴリズムを採用した評価手法を例示する説明図である。
【図22】レイアウト設計方法を実現する設計支援システムであるEDAシステムを具体的に例示するブロック図である。
【符号の説明】
1 エンジニアリング・デザイン・オートメーションシステム
2 部品ライブラリ
3 設計対象スケマティックデータ
4 パラメータデータ
5 レイアウトライブラリ
10 スケマティックライブラリ
11 パラメタライズセルライブラリ
Claims (18)
- 回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む複数の回路部品データがコンピュータに入力される第1処理と、
設計対象回路から前記機能ブロックをコンピュータが抽出する第2処理と、
前記第2処理で抽出された機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成する第3処理と、を含み、
前記第3処理において、前記機能ブロックのレイアウトパターンを決定する為の前記複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体として、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成する、ことを特徴とするレイアウト設計方法。 - 前記第1処理において、同一機能ブロックに対して異なる回路部品データを複数読み込み、
前記第3処理において、他の機能ブロックとの接続関係を満足するように前記第2処理で抽出された機能ブロックに対応する前記複数の回路部品データから一つの回路部品データを選択する、ことを特徴とする請求項1記載のレイアウト設計方法。 - 前記第3処理において、機能ブロックが複数のMOSトランジスタを含むとき、MOSトランジスタ相互間のゲート電極の交差配線を少なくするように当該機能ブロックのレイアウトパターンデータを生成することを特徴とする請求項1記載のレイアウト設計方法。
- 前記第3処理において、非交差ゲート配線、交差ゲート配線、ソース・ドレイン接続配線の順に先頭より配線経路決定の優先順位を高くすることを特徴とする請求項3記載のレイアウト設計方法。
- 前記パラメータは、前記回路要素のパターン、パターンサイズ、配線層定義、デザインルール、伝播遅延、及び駆動能力を夫々表す為のパラメータの中から選ばれた単数又は複数のパラメータを更に含むことを特徴とする請求項1記載のレイアウト設計方法。
- 前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項1記載のレイアウト設計方法。
- レイアウトパターンデータが生成された複数の機能ブロックの配置をコンピュータが決定する第4処理を更に含むことを特徴とする請求項1記載のレイアウト設計方法。
- 前記第4処理は、設計対象回路における信号の流れに沿うように機能ブロックの配置を決定する請求項7記載のレイアウト設計方法。
- 前記第4処理は、機能ブックの接続配線が短くなるように機能ブロックの配置を決定する請求項7記載のレイアウト設計方法。
- 前記第4処理において、機能ブロックの配置を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させることを特徴とする請求項7記載のレイアウト設計方法。
- パラメータの値によって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なうことを特徴とする請求項10記載のレイアウト設計方法。
- 配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する第5処理を更に含むことを特徴とする請求項7記載のレイアウト設計方法。
- コンピュータネットワークを介して処理対象回路データと要求仕様をコンピュータが受取る受け取り処理と、
前記受取った対象回路データで特定される対象回路のレイアウトパターンデータを前記受取った要求仕様に基づいてコンピュータが生成するパターン生成処理と、
前記パターン生成処理で生成されたレイアウトパターンデータをコンピュータネットワークを介してコンピュータが送出する送出処理と、を含み、
前記パターン生成処理は、回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む複数の回路部品データがコンピュータに入力される第1処理と、
処理対象回路から前記機能ブロックをコンピュータが抽出する第2処理と、
前記第2処理で抽出された機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成する第3処理と、
レイアウトパターンデータが生成された複数の機能ブロックの配置を決定する第4処理と、
配置が決定された複数の機能ブロック間を配線するための配線パターンを生成する第5処理と、を含み、
前記第3処理において、前記機能ブロックのレイアウトパターンを決定する為の前記複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体として、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成する、ことを特徴とするレイアウトパターンデータの提供方法。 - 前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項13記載のレイアウトパターンデータの提供方法。
- 前記第4処理において、機能ブロックの配置を決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対する機能ブロック配置を個体とするとき、複数の個体に対し、遺伝的アルゴリズムを用いて個体に対する評価を目的値に到達させることを特徴とする請求項13記載のレイアウトパターンデータの提供方法。
- 前記パラメータデータによって夫々決まるところの信号遅延時間、占有面積、機能ブロック間の総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体に対する評価を行なうことを特徴とする請求項15記載のレイアウトパターンデータの提供方法。
- 回路要素が結合して所定の機能を実現する機能ブロックの属性を定義する為のパラメータを含む回路部品データがコンピュータに入力される入力処理と、
前記機能ブロックに対応する前記回路部品データの前記パラメータに所望の属性を満足させるようにパラメータデータを与えて、当該機能ブロックのレイアウトパターンデータをコンピュータが生成するとき、前記機能ブロックのレイアウトパターンを決定する為の複数のパラメータに対するパラメータデータを遺伝子とし、その遺伝子に対するレイアウトパターンを個体とし、遺伝的アルゴリズムを用いて個体に対する評価を行い、所定の評価が得られた個体に対応するレイアウトパターンデータを生成するパターン生成処理と、を含むことを特徴とするレイアウト設計方法。 - 前記パラメータデータによって夫々決まるところの信号遅延時間、駆動能力、占有面積、総配線数及び総配線長の中から選ばれた単数又は複数の属性に相関する評価関数を用いて個体の評価を行なうことを特徴とする請求項17記載のレイアウト設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002085035A JP4087629B2 (ja) | 2002-03-26 | 2002-03-26 | レイアウト設計方法及びデータライブラリの提供方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002085035A JP4087629B2 (ja) | 2002-03-26 | 2002-03-26 | レイアウト設計方法及びデータライブラリの提供方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003281210A JP2003281210A (ja) | 2003-10-03 |
JP4087629B2 true JP4087629B2 (ja) | 2008-05-21 |
Family
ID=29232139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002085035A Expired - Fee Related JP4087629B2 (ja) | 2002-03-26 | 2002-03-26 | レイアウト設計方法及びデータライブラリの提供方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4087629B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4972270B2 (ja) * | 2003-11-19 | 2012-07-11 | 独立行政法人科学技術振興機構 | 高周波用配線構造及び高周波用配線構造の形成方法並びに高周波信号の波形整形方法 |
JP5172434B2 (ja) * | 2008-04-01 | 2013-03-27 | ラピスセミコンダクタ株式会社 | 表示用駆動装置、及び駆動回路のレイアウト方法 |
US9158878B2 (en) | 2013-08-23 | 2015-10-13 | Kabushiki Kaisha Toshiba | Method and apparatus for generating circuit layout using design model and specification |
JP6968245B2 (ja) * | 2016-12-23 | 2021-11-17 | グーグル エルエルシーGoogle LLC | 集積回路の設計システムおよび方法 |
CN110199279B (zh) * | 2016-12-23 | 2023-08-04 | 谷歌有限责任公司 | 集成电路设计系统 |
JP2021177371A (ja) * | 2020-04-30 | 2021-11-11 | 株式会社オプトン | 制御プログラム生成装置、制御プログラム生成方法、プログラム |
KR102476169B1 (ko) * | 2020-01-28 | 2022-12-08 | 가부시키가이샤 옵톤 | 제어 프로그램 생성 장치, 제어 프로그램 생성 방법, 프로그램 |
-
2002
- 2002-03-26 JP JP2002085035A patent/JP4087629B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003281210A (ja) | 2003-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941776B2 (en) | Method of IC design optimization via creation of design-specific cells from post-layout patterns | |
US8001509B2 (en) | Method for programming a mask-programmable logic device and device so programmed | |
US5689432A (en) | Integrated circuit design and manufacturing method and an apparatus for designing an integrated circuit in accordance with the method | |
US7039882B2 (en) | Technology dependent transformations for Silicon-On-Insulator in digital design synthesis | |
US7600208B1 (en) | Automatic placement of decoupling capacitors | |
US7003738B2 (en) | Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS using altering process | |
US7500214B2 (en) | System and method for reducing design cycle time for designing input/output cells | |
Mak et al. | Voltage island generation under performance requirement for SoC designs | |
US20090144688A1 (en) | Systems and Methods for Probabilistic Interconnect Planning | |
US6477688B1 (en) | Logic equivalence leveraged placement and routing of an IC design | |
US6385761B1 (en) | Flexible width cell layout architecture | |
TW202407569A (zh) | 自動電路生成 | |
US6209119B1 (en) | Apparatus and method for synthesizing module | |
JP4087629B2 (ja) | レイアウト設計方法及びデータライブラリの提供方法 | |
JP2002334933A (ja) | タップ・セルを有する集積回路及び集積回路にタップ・セルを配置するための方法 | |
US20050120321A1 (en) | Integrated circuits, and design and manufacture thereof | |
US7692309B2 (en) | Configuring structured ASIC fabric using two non-adjacent via layers | |
US7100142B2 (en) | Method and apparatus for creating a mask-programmable architecture from standard cells | |
US20060190890A1 (en) | Cell instance generating method | |
Lin et al. | On cell layout-performance relationships in VeSFET-based, high-density regular circuits | |
JP2007529100A (ja) | 製造性能を最適化するための集積回路設計 | |
US7757193B2 (en) | Structure cluster and method in programmable logic circuit | |
US20220114321A1 (en) | Systems And Methods For Generating Placements For Circuit Designs Using Pyramidal Flows | |
JP4248925B2 (ja) | 自動フロアプラン決定方法 | |
US6467071B2 (en) | Shield circuit designing apparatus and shield circuit designing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050315 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080115 |
|
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: 20080212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080221 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
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: 20110228 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110228 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120229 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130228 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140228 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |