JP2014120082A - 設計支援方法、設計支援装置、および設計支援プログラム - Google Patents

設計支援方法、設計支援装置、および設計支援プログラム Download PDF

Info

Publication number
JP2014120082A
JP2014120082A JP2012276296A JP2012276296A JP2014120082A JP 2014120082 A JP2014120082 A JP 2014120082A JP 2012276296 A JP2012276296 A JP 2012276296A JP 2012276296 A JP2012276296 A JP 2012276296A JP 2014120082 A JP2014120082 A JP 2014120082A
Authority
JP
Japan
Prior art keywords
layout
value
post
parameter group
circuit
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.)
Granted
Application number
JP2012276296A
Other languages
English (en)
Other versions
JP5991184B2 (ja
Inventor
宇 ▲劉▼
Yu Liu
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 JP2012276296A priority Critical patent/JP5991184B2/ja
Priority to US14/066,240 priority patent/US8788992B2/en
Publication of JP2014120082A publication Critical patent/JP2014120082A/ja
Application granted granted Critical
Publication of JP5991184B2 publication Critical patent/JP5991184B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue 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)

Abstract

【課題】高精度な関数モデルの作成にかかる作成時間の短縮化を図ること。
【解決手段】設計支援装置100は、記憶部110に記憶されている第2ばらつきパラメータ群のうちの第1ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路101の第1性能値を算出する。また、設計支援装置100は、記憶部110に記憶されている第2ばらつきパラメータ群の各々の値を用いてポストレイアウト回路102をシミュレーションして得られるポストレイアウト回路102の第2性能値を取得する。次に、設計支援装置100は、第1性能値と第2性能値と第2ばらつきパラメータ群の各々の値とに基づいて、第2関数モデルとして、差分モデルf_diff()を作成する。
【選択図】図1

Description

本発明は、設計支援方法、設計支援装置、および設計支援プログラムに関する。
従来、回路の性能のばらつきを解析するために、回路に含まれる素子の特性を表すパラメータを用いて回路の性能値を表す関数モデルを作成する技術がある。たとえば、回路に含まれる素子の特性を表すパラメータ群のうち、回路の性能に影響を与えるパラメータの割合が極一部である場合、各パラメータの係数を求める際に用いるサンプリングデータを減らして、関数モデルを作成する技術がある。
関連する先行技術として、たとえば、回路シミュレータによって生成された波形と入力データを解析して回路パラメータ更新情報を生成し、回路パラメータ更新情報に基づきネットリストデータを更新し、回路シミュレータを再帰的に動作させるものがある。また、1個の回路特性ごとに回路特性が最も悪くなると推定される回路の特性の値の組合せを選択し、選択する処理で求められた回路特性ごとの値の組合せをそれぞれ条件として各回路特性が目標仕様を満たすように回路の特性の値を求める技術がある。(たとえば、下記特許文献1、2、下記非特許文献1、2を参照。)
特開2007−122589号公報 特開2004−145410号公報
Xin Li、「Finding Deterministic Solution from Underdetermined Equation: Large−Scale Performance Modeling by Least Angle Regression」、Design Automation Conference、2009、p.364−369 Xin Li、他1名、「Statistical Regression for Efficient High−Dimensional Modeling of Analog and Mixed−Signal Performance Variations」、Design Automation Conference、2008、p.38−43
しかしながら、従来技術によれば、回路に含まれる素子の特性を表すパラメータ群のうち、回路の性能に影響を与えるパラメータの数が多いほど、回路の性能値を表す関数モデルの精度が劣化する恐れがある。劣化を抑えるためにはサンプリングデータを多く用意することになり、関数モデルの作成にかかる時間がかかる。
1つの側面では、本発明は、高精度な関数モデルの作成にかかる作成時間を短縮化することができる設計支援方法、設計支援装置、および設計支援プログラムを提供することを目的とする。
本発明の一側面によれば、レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いてレイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、第2パラメータ群のうちの第1パラメータ群の各々に対応するパラメータの値を入力することにより、レイアウト前の設計対象回路の第1性能値を算出し、記憶部に記憶されている第2パラメータ群の各々の値を用いてレイアウト後の設計対象回路の動作を模擬して得られるレイアウト後の設計対象回路の第2性能値を取得し、算出した第1性能値と取得した第2性能値と記憶部に記憶されている第2パラメータ群の各々の値とに基づいて、第2パラメータ群を用いてレイアウト前の設計対象回路の性能値とレイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する設計支援方法、設計支援装置、および設計支援プログラムが提案される。
本発明の一態様によれば、高精度な関数モデルの作成にかかる作成時間を短縮化することができるという効果を奏する。
図1は、本実施の形態にかかる設計支援装置の動作例を示す説明図である。 図2は、設計支援装置のハードウェア構成の一例を示すブロック図である。 図3は、設計支援装置の機能構成例を示すブロック図である。 図4は、プレレイアウト回路のばらつきモデルの一例を示す説明図である。 図5は、ポストレイアウト回路のサンプリングデータの一例を示す説明図である。 図6は、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの一例を示す説明図である。 図7は、対応付けの結果の一例を示す説明図である。 図8は、性能の差分データの作成例を示す説明図(その1)である。 図9は、性能の差分データの作成例を示す説明図(その2)である。 図10は、差分モデルの作成例を示す説明図(その1)である。 図11は、差分モデルの作成例を示す説明図(その2)である。 図12は、ポストレイアウト回路のばらつきモデルの作成例を示す説明図である。 図13は、ポストレイアウト回路作成処理手順の一例を示すフローチャートである。 図14は、Sparseデータ処理手順の一例を示すフローチャートである。 図15は、ポストレイアウト回路のばらつきモデルの生成にかかる時間を比較した一例を示す説明図である。
以下に添付図面を参照して、開示の設計支援方法、設計支援装置、および設計支援プログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかる設計支援装置の動作例を示す説明図である。設計支援装置100は、回路設計を支援するコンピュータである。ここで、設計対象回路がアナログ回路である場合の設計処理手順について説明する。設計処理の1番目の処理は、回路トポロジを決定するとともに、素子の特性を表すパラメータを決定する処理である。回路トポロジとは、素子のつなぎ合わせ方を示す。以下、素子のつなぎ合わせ方を示す情報を、回路情報とする。素子の特性を表すパラメータは、抵抗値や容量値といった各素子の特性を表す値である。以下、素子の特性を表すパラメータを、「ばらつきパラメータ」と称する。2番目の処理は、1番目の処理にて決定した回路設計を検証し、仕様を満たすか否かを判断する処理である。
3番目の処理は、2番目の処理にて、仕様を満たすと判断された場合、レイアウト処理を行う処理である。レイアウト処理を行うことにより、回路情報にレイアウト寄生素子が含まれる。レイアウト寄生素子は、たとえば、レイアウト配線容量や配線抵抗等である。以下、レイアウト処理を行う前の設計対象回路を、「プレレイアウト回路」と呼称し、レイアウト処理を行った後の設計対象回路を「ポストレイアウト回路」と呼称する。
4番目の処理は、レイアウト後の回路情報に対して、物理検証を行う処理である。物理検証として、たとえば、DRC(Design Rule Check)、LVS(Layout Versus Schematic)等がある。
5番目の処理は、物理検証を行った回路情報について、回路の性能値がばらつきの仕様を満たすか否かを判断する処理である。5番目の処理にて、回路の性能値がばらつきの仕様を満たすと判断された回路情報について、製造工程により回路情報に従った回路が製造される。また、ばらつきの仕様を満たすか否かを判断する理由として、プロセスが微細化すると性能がばらつき、ばらつきが大きくなると性能が仕様範囲外となる回路が多くなるので、歩留まりが低下してしまうためである。性能とは、たとえば、発振周波数、遅延量といったものである。たとえば、シミュレーションで得られる回路の発振周波数の値は1つであるが、実際に製造された回路の発振周波数は、回路ごとに異なる値となり、ばらついた値となる。そこで、5番目の処理を実行することにより、性能値が仕様範囲外となってしまうことを抑えることができる。
性能のばらつきを解析するために、ポストレイアウト回路のばらつきモデルを作成して、性能のばらつきの出所を解明することが行われる。性能のばらつきの出所を解明することにより、歩留まりの改善を図ることができる。ばらつきモデルf()は、関数で表されるモデルであり、たとえば、下記(1)式で表すことができる。
Δp=f(Δx1,Δx2,…,Δxn) …(1)
ばらつきモデルf()の具体例としては、たとえば、下記(2)式となる。
Δp=a1*Δx1+a2*Δx2+…+an*Δxn …(2)
(2)式は、ばらつきモデルf()が線形モデルである場合を示す。ばらつきモデルf()は、非線形モデルでもよい。たとえば、ばらつきモデルf()は、予め用意された非線形モデルを当てはめてもよい。(1)式、(2)式において、pは、ポストレイアウト回路の性能値を示す。x1,x2,…,xnは、ポストレイアウト回路の各々の素子の特性を表すばらつきパラメータ群を示す。a1,a2,…,anは、ポストレイアウト回路をSPICE(Simulation Program with Integrated Circuit Emphasis)等により動作を模擬して得られたサンプリングデータを用いてフィッティングすることにより得られる係数である。動作の模擬は、SPICE等によるシミュレーションを行うことである。以下、動作の模擬を、「シミュレーション」と呼ぶ。また、“Δ”は、下記(3)式を行う演算子とする。
Δx=x−(xの平均値) …(3)
(3)式により、たとえば、Δpは、p−(pの平均値)となる。以下、平均値からの差分値を、「偏差」と呼称する。
ばらつきモデルを作成するために、サンプリングデータを得ることになるが、ポストレイアウト回路内の素子の数は膨大であるため、1回のシミュレーション時間が長くなる。また、ポストレイアウト回路内の素子が膨大になると、ばらつきパラメータの数も膨大となり、シミュレーションの回数が増えるため、ポストレイアウト回路のばらつきモデルを作成する時間が長くなる。
ばらつきモデルの作成方法として、たとえば、以下の2つの方法がある。1つ目の方法はRSM(Response Surface Methodology)であり、2つ目の方法は、Sparsity特性を利用した方法である。RSMは、ポストレイアウト回路のばらつきパラメータの数と同数以上のばらつきパラメータ群に設定するサンプリングデータを用意しておくことになる。
Sparsity特性を利用した方法とは、ポストレイアウト回路のばらつきパラメータ群のうち性能に影響を与えるばらつきパラメータがばらつきパラメータ全体の極一部であるというSparsity特性を利用した方法である。Sparsity特性の度合いは、サンプリングデータと性能に影響を与えるばらつきパラメータの比によって表すことができる。Sparsity特性を利用した方法として、たとえば、LAR(Least Angle Regression)、STAR(STAtistic Regression)などがある。LARの詳細については、下記参考文献1に記載されている。
(参考文献1:Bradley Efron、他3名、「Least Angle Regression」、[online]、2012年10月18日検索、インターネット<URL:http://www.stanford.edu/〜hastie/Papers/LARS/LeastAngle_2002.pdf>)
性能に影響を与えるばらつきパラメータは、発振周波数、遅延量といった性能の種別によって異なるものとなる。サンプリングデータが性能に影響を与えるばらつきパラメータに対して多いほど、Sparsity特性が増加する。Sparsity特性を利用した方法は、Sparsity特性の値が小さい場合、ばらつきモデルの誤差が大きくなり、精度の悪いばらつきモデルが作成されてしまうことになる。精度を良くするためにはサンプリングデータを多く用意することになり、ばらつきモデルの作成にかかる時間がかかる。
そこで、本実施の形態にかかる設計支援装置100は、レイアウト前後の回路の性能の差とポストレイアウト回路のばらつきパラメータの値とから、性能の差分を表す差分モデルを作成する。差分モデルの差分に影響を与えるばらつきパラメータの数は、プレレイアウト回路の性能に影響を与えるパラメータを考慮しなくてよいため、ポストレイアウト回路のばらつきモデルの性能に影響を与えるばらつきパラメータの数よりも少ない。また、プレレイアウト回路の素子数は、ポストレイアウト回路の素子数より少ないため、プレレイアウト回路の高精度の関数モデルの作成にかかる時間は短い。以上を踏まえ、設計支援装置100は、Sparsity特性を利用して作成した高精度な差分モデルと、高精度なプレレイアウト回路の関数モデルとから、高精度なポストレイアウト回路の関数モデルを高速に作成する。
以下の説明では、ポストレイアウト回路のばらつきモデルのばらつきパラメータの個数をnとする。また、プレレイアウト回路のばらつきモデルのばらつきパラメータの個数をmとする。nは、mよりも大きい値となる。さらに、ポストレイアウト回路のばらつきモデルの各々のばらつきパラメータの値を一まとめの組にした際の組の個数を、cntとする。
図1において、設計支援装置100は、プレレイアウト回路101の回路情報を取得する。プレレイアウト回路101は、トランジスタM1_preを含む。また、プレレイアウト回路101の各々の素子の特性を表す第1ばらつきパラメータ群は、x1,…,xmというm個のパラメータを有する。また、設計支援装置100は、プレレイアウト回路101に対してレイアウト処理を行い、ポストレイアウト回路102の回路情報を取得する。ポストレイアウト回路102は、トランジスタM1_postと、レイアウト処理によって発生したレイアウト寄生素子として、C1_post〜C6_postと、R1_postと、R2_postとを含む。また、ポストレイアウト回路102の各々の素子の特性を表す第2ばらつきパラメータ群は、x1,…,xm,…,xnというn個のパラメータを有する。
次に、設計支援装置100は、第1ばらつきパラメータ群のサンプリングデータを用意して、シミュレーションを行うことによりプレレイアウト回路101の性能値を取得する。続けて、設計支援装置100は、サンプリングデータと性能値とを用いてフィッティングすることにより、第1ばらつきパラメータ群を用いてプレレイアウト回路の性能値を表す第1関数モデルとして、ばらつきモデルf_pre()を作成する。ばらつきモデルf_pre()は、たとえば、下記(4)式となる。
Δp_pre=f_pre(Δx1,…,Δxm) …(4)
ただし、Δp_preは、プレレイアウト回路101の性能値の偏差を示す。次に、設計支援装置100は、第2ばらつきパラメータ群の各々の値を用意して、シミュレーションを行うことによりポストレイアウト回路102の性能値を取得する。具体的に用意される第2ばらつきパラメータ群の各々の値は、Δx1_1,…,Δxm_1,…,Δxn_1,…,Δx1_cnt,…,Δxm_cnt,…,Δxn_cntとなる。第2ばらつきパラメータ群の各々の値は、設計支援装置100の記憶部110に記憶される。
続けて、設計支援装置100は、記憶部110に記憶されている第2ばらつきパラメータ群のうちの第1ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路101の第1性能値を算出する。ここで、第2ばらつきパラメータ群のうちの第1ばらつきパラメータ群の各々に対応するパラメータは、プレレイアウト回路101に存在する素子のパラメータとなる。具体的に、設計支援装置100は、Δx1_1,…,Δxm_1をf_pre()に代入し、第1性能値としてΔp_pre_1を算出し、…、Δx1_cnt,…,Δxm_cntをf_pre()に代入し、第1性能値としてΔp_pre_cntを算出する。
また、設計支援装置100は、記憶部110に記憶されている第2ばらつきパラメータ群の各々の値を用いてポストレイアウト回路102をシミュレーションして得られるポストレイアウト回路102の第2性能値を取得する。たとえば、設計支援装置100は、Δx1_1,…,Δxm_1,…,Δxn_1を用いてポストレイアウト回路102をシミュレーションして得られるポストレイアウト回路102の第2性能値として、Δp_post_1を取得する。同様な処理を続けて、設計支援装置100は、Δx1_cnt,…,Δxm_cnt,…,Δxn_cntを用いてポストレイアウト回路102をシミュレーションして得られるポストレイアウト回路102の第2性能値として、Δp_post_cntを取得する。
次に、設計支援装置100は、第1性能値と第2性能値と第2ばらつきパラメータ群の各々の値とに基づいて、第2関数モデルとして、差分モデルf_diff()を作成する。差分モデルf_diff()は、第2ばらつきパラメータ群を用いてプレレイアウト回路101とポストレイアウト回路102の性能値の差分を表す関数モデルである。
具体的に、設計支援装置100は、第1性能値と第2性能値との差分を算出する。図1の例では、設計支援装置100は、Δp_post_1−Δp_pre_1=Δp_1を算出し、…、Δp_post_cnt−Δp_pre_cnt=Δp_cntを算出する。続けて、設計支援装置100は、Δp_1、…、Δp_cntと、第2ばらつきパラメータ群の各々の値とを用いてフィッティングすることにより、差分モデルf_diff()を算出する。差分モデルf_diff()は、たとえば、下記(5)式となる。
Δp=f_diff(Δx1,…,Δxm,…,Δxn) …(5)
ただし、Δpは、プレレイアウト回路101と、ポストレイアウト回路102の性能値の偏差を示す。続けて、設計支援装置100は、差分モデルf_diff()と、ばらつきモデルf_pre()とに基づいて、第3関数モデルとして、ポストレイアウト回路102のばらつきモデルf_post()を作成する。たとえば、f_post()は、下記(6)式となる。
Δp_post=f_post(Δx1,…,Δxm,…,Δxn) …(6)
ばらつきモデルf_post()は、第2ばらつきパラメータ群を用いてポストレイアウト回路102の性能値を表す関数モデルである。以上の処理を実行することにより、設計支援装置100は、ポストレイアウト回路102のばらつきモデルf_post()を作成することができる。
ここで、f_diff()の性能に影響を与えるばらつきパラメータの数は、f_post()の性能に影響を与えるばらつきパラメータの数から、f_pre()の性能に影響を与えるばらつきパラメータの数を引いた数となる。したがって、f_diff()の性能に影響を与えるばらつきパラメータの数は、f_post()の性能に影響を与えるばらつきパラメータより少なくなる。これにより、設計支援装置100は、f_diff()を作成する場合、サンプリングデータを少なくしても、高精度のモデルを作成することができる。以下、図2〜図15を用いて、設計支援装置100の詳細について説明する。
(設計支援装置100のハードウェア)
図2は、設計支援装置のハードウェア構成の一例を示すブロック図である。図2において、設計支援装置100は、CPU201と、Read‐Only Memory(ROM)202と、Random Access Memory(RAM)203と、を含む。また、設計支援装置100は、ディスクドライブ204と、ディスク205と、通信インターフェース206と、を含む。また、設計支援装置100は、ディスプレイ207と、キーボード208と、マウス209とを含む。また、CPU201〜マウス209はバス210によってそれぞれ接続されている。
CPU201は、設計支援装置100の全体の制御を司る演算処理装置である。ROM202は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM203は、CPU201のワークエリアとして使用される揮発性メモリである。
ディスクドライブ204は、CPU201の制御に従ってディスク205に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ204には、たとえば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ204が磁気ディスクドライブである場合、ディスク205には、磁気ディスクを採用することができる。また、ディスクドライブ204が光ディスクドライブである場合、ディスク205には、光ディスクを採用することができる。また、ディスクドライブ204がソリッドステートドライブである場合、ディスク205には、半導体素子メモリを採用することができる。
通信インターフェース206は、ネットワーク211と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース206は、通信回線を通じてネットワーク211となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク211を介して他の装置に接続される。通信インターフェース206には、たとえば、モデムやLANアダプタなどを採用することができる。
ディスプレイ207は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ207には、たとえば、Cathode Ray Tube(CRT)、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード208は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード208は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス209は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス209は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
(設計支援装置100の機能構成)
次に、設計支援装置100の機能構成について説明する。図3は、設計支援装置の機能構成例を示すブロック図である。設計支援装置100は、算出部301と、取得部302と、第3作成部303と、第1作成部304と、第2作成部305と、を含む。制御部となる算出部301〜第2作成部305は、記憶装置に記憶されたプログラムをCPU201が実行することにより、算出部301〜第2作成部305の機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM202、RAM203、ディスク205などである。または、通信インターフェース206を経由して他のCPUが実行することにより、算出部301〜第2作成部305の機能を実現してもよい。
また、設計支援装置100は、記憶部110にアクセス可能である。記憶部110は、RAM203、ディスク205といった記憶装置に格納されている。記憶部110は、ポストレイアウト回路102内の各々の素子の特性を表す第2ばらつきパラメータ群の各々の値を記憶する。たとえば、記憶部110は、第2ばらつきパラメータ群としてx1,…,xm,…,xnの値となる、Δx1_1,…,Δxm_1,…,Δxn_1を記憶する。また、記憶部110は、第2ばらつきパラメータ群の各々の値を含む組を複数通り記憶してもよい。たとえば、記憶部110は、Δx1_1,…,Δxm_1,…,Δxn_1の組と、Δx1_2,…,Δxm_2,…,Δxn_2の組と、…,Δx1_cnt,…,Δxm_cnt,…,Δxn_cntの組というように、cnt個通り記憶してもよい。
また、ポストレイアウト回路102は、プロセスの設計規則を満たした回路であってもよい。DRCを満たすことにより、ポストレイアウト回路102がプロセスの設計規則を満たすことになる。また、ポストレイアウト回路102は、ポストレイアウト回路102内の各々の素子のうちのプレレイアウト回路101内の各々の素子に対応する素子の接続関係がプレレイアウト回路101の各々の素子の接続関係と一致する回路であってもよい。LVSを満たすことにより、接続関係が一致することになる。
算出部301は、第1関数モデルに、記憶部110を参照して、第2ばらつきパラメータ群のうちの第1ばらつきパラメータ群の各々に対応するパラメータの値を入力することにより、プレレイアウト回路101の第1性能値を算出する。第1関数モデルは、第1パラメータ群を用いてプレレイアウト回路101の性能値を表す関数モデルである。第1関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
対応するパラメータを特定する例として、算出部301は、たとえば、第2ばらつきパラメータ群のパラメータの名称や識別情報の一部が、第1ばらつきパラメータ群のあるパラメータと一致する場合、あるパラメータを対応するパラメータとして特定する。
図1の例を用いると、算出部301は、x1,…,xm,…,xnのうちの第1ばらつきパラメータ群の各々に対応するパラメータx1,…,xmの値Δx1_1,…,Δxm_1を第1関数モデルに入力することにより、第1性能値Δp_pre_1を算出する。
また、算出部301は、組に含まれる第2ばらつきパラメータ群の各々の値のうちの第1ばらつきパラメータ群の各々に対応するパラメータの値を第1関数モデルに入力することにより、プレレイアウト回路101の第1性能値を組に対応して算出してもよい。たとえば、算出部301は、Δx1_1,…,Δxm_1,…,Δxn_1の組のうち、Δx1_1,…,Δxm_1を第1関数モデルに入力して第1性能値Δp_pre_1を算出する。さらに、算出部301は、Δx1_cnt,…,Δxm_cnt,…,Δxn_cntの組のうち、Δx1_cnt,…,Δxm_cntを第1関数モデルに入力して第1性能値Δp_pre_cntを算出する。なお、算出された第1性能値は、RAM203、ディスク205などの記憶装置に格納される。
取得部302は、記憶部110に記憶されている第2ばらつきパラメータ群の各々の値を用いてポストレイアウト回路102をシミュレーションして得られるポストレイアウト回路102の第2性能値を取得する。図1の例を用いると、取得部302は、Δx1_1,…,Δxm_1,…,Δxn_1を用いてシミュレーションして得られる第2性能値Δp_post_1を取得する。シミュレーションを行う装置は、設計支援装置100でもよいし、他の装置が行ってもよい。
また、取得部302は、記憶部110に記憶されている組に含まれる第2ばらつきパラメータ群の各々の値を用いてポストレイアウト回路102の動作を模擬して得られるポストレイアウト回路102の第2性能値を組に対応して取得してもよい。図1の例を用いると、取得部302は、Δx1_1,…,Δxm_1,…,Δxn_1を用いてシミュレーションして得られる第2性能値Δp_post_1を取得する。さらに、取得部302は、Δx1_cnt,…,Δxm_cnt,…,Δxn_cntを用いてシミュレーションして得られる第2性能値Δp_post_cntを取得する。なお、取得された第2性能値は、RAM203、ディスク205などの記憶装置に格納される。
第3作成部303は、次に示す情報に基づいて、第2ばらつきパラメータ群から選ばれた一部のパラメータの組合せに対応して、一部のパラメータを用いて第2関数モデルの候補を作成する。次に示す情報とは、記憶部110に記憶されている複数の組のうちの第1組に対応する第1性能値と第1組に対応する第2性能値と第1組に含まれる第2ばらつきパラメータ群の各々の値となる。第2関数モデルは、第2ばらつきパラメータ群を用いてプレレイアウト回路101とポストレイアウト回路102の性能値の差分を表す関数モデルである。第2関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
たとえば、第3作成部303は、x1,…,xm,…,xnのうちの一部のパラメータとして、LARに従い、最も相関が高いx1を用いて第2関数モデルの候補の1つ目を作成する。次に、第3作成部303は、LARに従い、最も相関が高いx1と次に相関の高いx2を用いて第2関数モデルの候補の2つ目を作成する。このように、第3作成部303は、相関の高いパラメータの順にパラメータを選択して、選択したパラメータを用いて第2関数モデルの候補を複数作成する。なお、作成された第2関数モデルの候補は、RAM203、ディスク205などの記憶装置に格納される。
第1作成部304は、算出部301によって算出された第1性能値と取得部302によって取得された第2性能値と記憶部110に記憶されている第2ばらつきパラメータ群の各々の値とに基づいて、第2関数モデルを作成する。第1作成部304は、たとえば、LAR、STARといった方法を用いて、第2関数モデルを作成する。たとえば、第1作成部304は、LARによって複数作成された第2関数モデルの候補から、AIC(Akaike’s Information Criterion)による指標に従って、第2関数モデルを選択する。
また、第1作成部304は、算出部301によって算出された組に対応する第1性能値と取得部302によって取得された組に対応する第2性能値と組に含まれる第2ばらつきパラメータ群の各々の値とに基づいて、第2関数モデルを作成してもよい。具体的に、第1作成部304は、Δp_post_1と、Δp_pre_1と、Δx1_1,…,Δxn_1と、に基づいて、第2関数モデルを作成する。
また、第1作成部304は、組合せに対応して第3作成部303によって作成された第2関数モデルの候補から、第2組に対応する第1性能値および第2性能値と第2組に含まれる第2ばらつきパラメータ群の各々の値とに基づいて第2関数モデルを選択してもよい。第2組は、複数の組の第1組とは異なる組となる。より詳細には、第3作成部303が、クロスバリデーションを適用して、フィッティングに用いる第1組に対応する第1性能値および第2性能値と第1組に含まれる第2ばらつきパラメータ群の各々の値とに基づいて、関数モデルの係数をフィッティングする。そして、第1作成部304は、フィッティングに用いなかった第2組に対応する第1性能値および第2性能値と第2組に含まれる第2ばらつきパラメータ群の各々の値とを用いて、第2関数モデルの候補を評価する。評価後、第1作成部304は、たとえば、評価の値が最大となった第2関数モデルの候補を第2関数モデルとする。
たとえば、第3作成部303によって、2つの第2関数モデルの候補が作成されており、1つ目の第2関数モデルの候補は、x1を用いる関数モデルであり、2つ目の第2関数モデルの候補は、x1とx2を用いる関数モデルであるとする。このとき、第1作成部304は、1つ目の第2関数モデルの候補に、第2組に含まれる第2ばらつきパラメータ群の各々の値を代入し、代入して得られた値と、第2組に対応する第1性能値および第2性能値との差分との残差を取得する。同様に、第1作成部304は、2つ目の第2関数モデルの候補に、第2組に含まれる第2ばらつきパラメータ群の各々の値を代入し、代入して得られた値と、第2組に対応する第1性能値および第2性能値との差分との残差を取得する。第3作成部303は、取得した2つの残差のうち、絶対値の小さい方の残差に対応する第2関数モデルの候補を、第2関数モデルとする。なお、作成された第2関数モデルは、RAM203、ディスク205などの記憶装置に格納される。
第2作成部305は、第1作成部304によって作成された第2関数モデルと第1関数モデルとに基づいて、第2ばらつきパラメータ群を用いてポストレイアウト回路102の性能値を表す第3関数モデルを作成する。第3関数モデルが表す性能値は、性能値そのものでもよいし、性能値の平均値からの差分でもよい。
たとえば、第2作成部305は、第2関数モデルと第1関数モデルを加算して、第3関数モデルを作成する。たとえば、第1関数モデルと第2関数モデルが線形モデルであれば、第2作成部305は、第2ばらつきパラメータ群のあるばらつきパラメータの係数と、対応する第1ばらつきパラメータ群のばらつきパラメータの係数とを加算して、第3関数モデルを作成する。加算する際に、第2作成部305は、一方の係数のオーダーが大きく異なるならば、小さいオーダーとなる係数を加えなくともよい。なお、作成された第3関数モデルは、RAM203、ディスク205などの記憶装置に格納される。また、作成された第3関数モデルは、通信インターフェース206を通じて、設計支援装置100とは別の装置に送信されてもよい。
次に、設計支援装置100が記憶するプレレイアウト回路のばらつきモデルの一例を、図4を用いて説明し、ポストレイアウト回路のサンプリングデータの一例を、図5を用いて説明する。サンプリングデータは、設計対象回路のばらつきパラメータの値と、ばらつきパラメータを用いてシミュレーションして得られる設計対象回路の性能値と、を含むものとする。
図4は、プレレイアウト回路のばらつきモデルの一例を示す説明図である。図4の(A)にて示す、プレレイアウト回路のばらつきモデルは、下記(7)式となる。
Δ性能値=f_pre(Δばらつきパラメータ1,Δばらつきパラメータ2,…,Δばらつきパラメータm) …(7)
プレレイアウト回路のばらつきモデルは、プレレイアウト回路をシミュレーションして得られたサンプリングデータを用いてフィッティングすることにより得られる。プレレイアウト回路は、ポストレイアウト回路に比べてばらつきパラメータの数が少ない。したがって、ポストレイアウト回路に比べると、プレレイアウト回路の方がシミュレーションデータの数を多くすることが容易であり、結果、精度の高いプレレイアウト回路のばらつきモデルを作成することができる。
図4の(B)は、トランジスタM1_preと、トランジスタM2_preが含まれるプレレイアウト回路401について、遅延量に関するプレレイアウト回路401のばらつきモデルを示す。図4の(B)にて示すプレレイアウト回路401のばらつきモデルf_pre()は、下記(8)式となる。
Δdelay_pre=f_pre(ΔM1_pre_vth,ΔM1_pre_L,ΔM2_pre_vth,ΔM2_pre_L,…) …(8)
ただし、Δdelay_preは、プレレイアウト回路401の遅延量の偏差を示す。ΔM1_pre_vthは、トランジスタM1_preの閾値電圧の偏差を示す。ΔM1_pre_Lは、トランジスタM1_preのチャネル長の偏差を示す。ΔM2_pre_vthは、トランジスタM2_preの閾値電圧の偏差を示す。ΔM2_pre_Lは、トランジスタM2_preのチャネル長の偏差を示す。また、f_pre()が線形モデルの場合、(8)式は、下記(9)式のように表すことができる。
Δdelay_pre=a1*ΔM1_pre_vth+a2*ΔM1_pre_L+a3*ΔM2_pre_vth+a4*ΔM2_pre_L+… …(9)
ただし、a1〜a4は、プレレイアウト回路401のシミュレーションデータを用いてフィッティングして得られた係数である。
図5は、ポストレイアウト回路のサンプリングデータの一例を示す説明図である。図5の(A)にて示すポストレイアウト回路のサンプリングデータ群501は、ポストレイアウト回路のばらつきパラメータの偏差と、ポストレイアウト回路の性能値の偏差とを含む。1つのサンプリングデータには、ポストレイアウト回路のばらつきパラメータの値がn個あり、性能値が1つある。
図5の(A)と図5の(B)での説明において登場するばらつきパラメータおよび性能値は、全てポストレイアウト回路のばらつきパラメータおよび性能値である。そこで、図5の(A)と図5の(B)の説明では、説明の簡略化のため、「ポストレイアウト回路のばらつきパラメータ」を、単に、「ばらつきパラメータ」と呼称し、「ポストレイアウト回路の性能値」を、単に、「性能値」と呼称する。
ポストレイアウト回路のサンプリングデータは、ばらつきパラメータの偏差と性能値の偏差とを1レコードとして記憶している。図5の(A)に示すポストレイアウト回路のサンプリングデータ群501は、レコード501−1〜レコード501−cnt分有する。たとえば、レコード501−1には、1つ目の性能値の偏差と、1つ目のばらつきパラメータ1の偏差と、1つ目のばらつきパラメータ2の偏差と、…、1つ目のばらつきパラメータnの偏差とが格納されている。
また、図5の(B)は、ポストレイアウト回路510のサンプリングデータの具体例を示す。図5の(B)で示すポストレイアウト回路510のサンプリングデータ群502が、レコード502−1、レコード502−2、…、レコード502−cnt分あるとする。また、図5の(B)で示すポストレイアウト回路510には、トランジスタM1_postと、トランジスタM2_postと、抵抗器R1_post、コンデンサC1_postが含まれるとする。ポストレイアウト回路510のばらつきパラメータは、各トランジスタのばらつきパラメータが、各トランジスタの閾値電圧を示すvthと、各トランジスタのチャネル長を示すLを含む。さらに、図5の(B)では、性能値は、遅延量であるとする。
上述した前提において、ポストレイアウト回路510のサンプリングデータ群502は、Δdelay_post、ΔM1_post_vth〜ΔM2_post_L、…、ΔR1_post、ΔC1_post…、というフィールドを有する。Δdelay_postフィールドには、遅延量の偏差が格納される。ΔM1_post_vthフィールドには、トランジスタM1_postの閾値電圧の偏差が格納される。ΔM1_post_Lフィールドには、トランジスタM1_postのチャネル長の偏差が格納される。ΔM2_post_vthフィールドには、トランジスタM2_postの閾値電圧の偏差が格納される。ΔM2_post_Lフィールドには、トランジスタM2_postのチャネル長の偏差が格納される。ΔR1_postフィールドには、抵抗器R1の抵抗値の偏差が格納される。ΔC1_postフィールドには、コンデンサC1の容量の偏差が格納される。
たとえば、レコード502−1には、1つ目のサンプリングデータとして、Δd_post_1と、ΔM1_post_vth_1と、ΔM1_post_L_1と、ΔM2_post_vth_1と、ΔM2_post_L_1とが格納されている。さらに、レコード502−1には、ΔR1_post_1と、ΔC1_post_1と、が格納されている。
(Sparseデータ処理)
次に、図6〜図12を用いて、Sparseデータ処理の動作手順について説明する。Sparseデータ処理は、差分モデルのSparsity特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成する処理である。図6〜図12では、プレレイアウト回路401のばらつきモデルと、ポストレイアウト回路510のサンプリングデータとを用いて、Sparseデータ処理の説明を行う。また、Sparsity特性が増加すると予測される根拠については、図11にて後述する。
図6では、Sparseデータ処理に含まれる、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの例について説明する。図7では、対応付けの結果の一例について説明する。図8と図9では、Sparseデータ処理に含まれる処理である、対応付けの結果を用いて性能の差分データを作成する例について説明する。図10と図11では、Sparseデータ処理に含まれる処理である、性能の差分データを用いて差分モデルを作成する例について説明する。図12では、Sparseデータ処理に含まれる処理である、差分モデルを用いてポストレイアウト回路のばらつきモデルを作成する例について説明する。
図6は、プレレイアウト回路のモデルの引数とポストレイアウト回路とのばらつきパラメータの対応付けの一例を示す説明図である。設計支援装置100は、レイアウト抽出ツールを実行することにより、プレレイアウト回路のモデルの各引数の名称と、ポストレイアウト回路とのばらつきパラメータの各データの名称とを用いて対応付ける。
たとえば、図6の例では、設計支援装置100は、名称に“M1”と“vth”が共通しているΔM1_pre_vthとΔM1_post_vthとを対応付ける。同様に、設計支援装置100は、名称に“M1”と“L”が共通しているΔM1_pre_LとΔM1_post_Lとを対応付ける。さらに、設計支援装置100は、名称に“M2”と“vth”が共通しているΔM2_pre_vthとΔM2_post_vthとを対応付け、名称に“M2”と“L”が共通しているΔM2_pre_LとΔM2_post_Lとを対応付ける。図7に、対応付けの結果の一例を示す。
図7は、対応付けの結果の一例を示す説明図である。設計支援装置100は、ポストレイアウト回路510のサンプリングデータに対応付けの結果を反映したvar_post_map701として保持する。var_post_map701は、縦がcnt個であり、横がn+1個のデータを有する行列となる。var_post_map701は、レコード701−1〜レコード701−cntを有する。
また、図7では、対応付けの結果を、var_post_map701のセル内にハッチを掛けることにより表現している。具体的に、対応付けられたセルは、ΔM1_post_vth、ΔM1_post_L、ΔM2_post_vth、ΔM2_post_Lの4つのフィールドに属するセルである。
なお、var_post_map701を作成する装置は、設計支援装置100でもよいし、別の装置でもよい。別の装置がvar_post_map701を作成した場合、設計支援装置100は、作成されたvar_post_map701を別の装置から取得して、図8、図9にて説明する差分データを作成する。
図8は、性能の差分データの作成例を示す説明図(その1)である。設計支援装置100は、var_post_map701と、プレレイアウト回路401のばらつきモデルと、ポストレイアウト回路510のサンプリングデータを用いて、性能の差分データを作成する。
はじめに、設計支援装置100は、var_post_map701を参照して、ポストレイアウト回路510のサンプリングデータのうち対応付けられたばらつきパラメータの偏差を、プレレイアウト回路401のばらつきモデルの対応する引数として代入する。代入した結果、設計支援装置100は、プレレイアウト回路401のばらつきモデルを実行して、遅延量の偏差を作成する。
図8の例では、設計支援装置100は、レコード701−1〜レコード701−cntの各値を、プレレイアウト回路401のばらつきモデルの引数として代入し、プレレイアウト回路401のばらつきモデルから得られた遅延量の偏差を算出する。具体的に、設計支援装置100は、レコード701−1のΔM1_post_vth_1をプレレイアウト回路401のばらつきモデルの第1引数として代入し、ΔM1_post_L_1をプレレイアウト回路401のばらつきモデルの第2引数として代入する。同様に、設計支援装置100は、ΔM2_post_vth_1をプレレイアウト回路401のばらつきモデルの第3引数として代入し、ΔM2_post_L_1をプレレイアウト回路401のばらつきモデルの第4引数として代入する。第1引数〜第4引数を代入した結果、設計支援装置100は、レコード701−1の各データをプレレイアウト回路401のばらつきモデルに代入した結果得られた遅延量の偏差Δd_pre_1を算出する。
同様に、設計支援装置100は、レコード701−2の各データ、…、レコード701−cntの各データをプレレイアウト回路401のばらつきモデルに代入した結果得られた遅延量の偏差Δd_pre_2、…、Δd_pre_cntを算出する。後続の処理については、図9を用いて説明する。
図9は、性能の差分データの作成例を示す説明図(その2)である。設計支援装置100は、ポストレイアウト回路510の遅延量の偏差を示すΔdelay_postと、プレレイアウト回路401の遅延量の偏差を示すΔdelay_preとの差分を、差分データΔdとして算出する。
具体的に、設計支援装置100は、Δd_post_1−Δd_pre_1から差分データとしてΔd_1を算出する。同様に、設計支援装置100は、Δd_post_2−Δd_pre_2を算出して、差分データとしてΔd_2を算出し、…、Δd_post_cnt−Δd_pre_cntを算出して、Δd_cntを算出する。次に、図10と図11にて、差分データを用いて差分モデルを作成する例について説明する。
図10は、差分モデルの作成例を示す説明図(その1)である。設計支援装置100は、差分データと、ポストレイアウト回路510のばらつきパラメータの偏差とに基づいて、差分データを求める差分モデルを作成する。
具体的に、設計支援装置100は、差分データΔd_1〜Δd_cntと、ΔM1_post_vth_1〜ΔC1_post_cnt…とを用いてフィッティングすることにより、差分モデルf_diff()を作成する。差分モデルf_diff()は、たとえば、下記(10)式となる。
Δd=f_diff(ΔM1_post_vth,ΔM1_pre_L,M2_post_vth,M2_post_L,…,ΔR1_post,ΔC1_post,…) …(10)
差分モデルf_diff()の具体例としては、たとえば、下記(11)式となる。
Δd=ad1*ΔM1_post_vth+ad2*ΔM1_post_L+ad3*ΔM2_post_vth+ad4*ΔM2_post_L+…+ad5*ΔR1_post+ad6*ΔC1_post+… …(11)
(11)式は、差分モデルf_diff()が線形モデルである場合を示す。差分モデルf_diff()は、非線形モデルでもよい。(10)式、(11)式において、dは、ポストレイアウト回路の遅延量を示す。ad1,ad2,…,ad6,…は、差分データΔd_1〜Δd_cntと、ポストレイアウト回路510のばらつきパラメータの偏差ΔM1_post_vth_1〜ΔC1_post_cnt…とを用いてフィッティングすることにより得られる係数である。図11に、LARを用いて差分モデルを作成する例について説明する。
図11は、差分モデルの作成例を示す説明図(その2)である。図11では、LARに従って、複数の差分モデルの候補を作成し、複数の差分モデルの候補から、クロスバリデーションを用いて、差分モデルを選択する方法について説明する。
初めに、設計支援装置100は、ポストレイアウト回路510のサンプリングデータ群502を、フィッティング用に用いるデータと、評価に用いるデータとに分割する。図11の例では、xを、cntより小さい整数として、設計支援装置100は、Δd_1〜Δd_xと、レコード502−1〜レコード502−xを、フィッティング用に用いるデータに設定し、残余のデータを評価に用いるデータに設定する。
設計支援装置100は、フィッティング用に用いるデータを用いて、複数の差分モデルの候補を作成する。非特許文献1に記載したように、LARは、相関の高いパラメータを順に選択して、関数モデルを複数作成する。
たとえば、非特許文献1の(14)式では、f(ΔY)=−0.43*Δy1−1.66*Δy2+0.12*Δy3+0.28*Δy4−1.14*Δy5を得たとする。また、α1=−0.43とし、α2=−1.66とし、α3=−0.12とし、α4=−0.28とし、α5=1.14とする。このとき、LARを実行する装置は、係数の絶対値が大きいα2、α5、α1、α4、α3の順に、差分に影響を与えるパラメータの係数として選択し、関数モデルを複数作成する。
上述したLARを適用して、設計支援装置100は、枠1101内に示すm個の差分モデルの候補を作成する。たとえば、設計支援装置100は、ばらつきパラメータがΔM1_post_vth1つであるf_diff_1()、ΔM1_post_vthとΔM2_post_vth2つであるf_diff_2()、…、というようにm個の差分モデルの候補を作成する。
次に、設計支援装置100は、枠1102にて示すように、m個の差分モデルの候補を評価して、差分モデルの候補から差分モデルを選択する。具体的に、図11では、Δd_cntと、レコード502−cntを用いて、m個の差分モデルの候補を評価する。たとえば、設計支援装置100は、f_diff_1()にΔM1_post_vth_cntを代入したf_diff_1(ΔM1_post_vth_cnt)と、Δd_cntとの残差を取得する。設計支援装置100は、f_diff_2()〜f_diff_m()にも、Δd_cntと、レコード502−cntの各値を代入し、残差の絶対値が最も小さい差分モデルの候補を差分モデルとして選択する。なお、残差の絶対値ではなく、残差の二乗で比較してもよい。
差分モデルf_diff()のSparsity特性が、ポストレイアウト回路のばらつきモデルf_post()のSparsity特性より良くなる理由について説明する。まず、ポストレイアウト回路のばらつきを解析する工程は、DRC、LVSが満たした後行うので、ポストレイアウト回路の性能とプレレイアウト回路の性能とがほぼ同一となる。ここで、ポストレイアウト回路のパラメータの数はプレレイアウト回路のパラメータの数と比較して膨大になるが、レイアウト処理によって増えたパラメータのうち、ポストレイアウト回路の性能に影響を与えるパラメータは、僅かとなる可能性が高い。
したがって、図10で作成した差分モデルのパラメータのうち性能に影響を与えるパラメータの数は、ポストレイアウト回路のばらつきモデルのパラメータのうち性能に影響を与えるパラメータの数より、少なくなる可能性が高い。性能に影響を与えるパラメータの数が少なくなることにより、差分モデルはSparsity特性が良くなるため、設計支援装置100は、少ないサンプリングデータでも精度の良いばらつき解析モデルを作成することができる。
図12は、ポストレイアウト回路のばらつきモデルの作成例を示す説明図である。設計支援装置100は、プレレイアウト回路401のばらつきモデルf_pre()と差分モデルf_diff()とに基づいて、ポストレイアウト回路510のばらつきモデルf_post()を作成する。
たとえば、設計支援装置100は、f_post()を、下記(12)式を用いて算出する。
f_post()=f_pre()+f_diff() …(12)
プレレイアウト回路401のばらつきモデルf_pre()と差分モデルf_diff()が線形モデルである場合、設計支援装置100は、f_post()を、たとえば、下記(13)式を用いて算出する。
f_post()=(a1+ad1)*ΔM1_post_vth+(a2+ad2)*ΔM1_post_L+(a3+ad3)*ΔM2_post_vth+(a4+ad4)*ΔM2_post_L+…+ad5*ΔR1_post+ad6*ΔC1_post+… …(13)
次に、図13と図14を用いてポストレイアウト回路作成処理について説明する。
図13は、ポストレイアウト回路作成処理手順の一例を示すフローチャートである。ポストレイアウト回路作成処理は、ポストレイアウト回路510の回路情報とポストレイアウト回路510のばらつきモデルを作成する処理である。設計支援装置100は、プレレイアウト回路401の回路情報を取得する(ステップS1301)。次に、設計支援装置100は、プレレイアウト回路401に対してレイアウト処理を実行する(ステップS1302)。続けて、設計支援装置100は、Sparseデータ処理を実行する(ステップS1303)。Sparseデータ処理の詳細は、図14にて後述する。
次に、設計支援装置100は、ポストレイアウト回路510の回路情報とポストレイアウト回路510のばらつきモデルを出力する(ステップS1304)。ステップS1304の処理実行後、設計支援装置100は、ポストレイアウト回路作成処理を終了する。ポストレイアウト回路作成処理を実行することにより、設計支援装置100は、ポストレイアウト回路510のばらつきモデルを作成することができる。
図14は、Sparseデータ処理手順の一例を示すフローチャートである。Sparseデータ処理は、差分モデルのSparsity特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成する処理である。
設計支援装置100は、プレレイアウト回路401のばらつきモデルの引数とポストレイアウト回路510とのばらつきパラメータを対応付ける(ステップS1401)。次に、設計支援装置100は、対応付け結果と、プレレイアウト回路401のばらつきモデルと、ポストレイアウト回路510のばらつきパラメータの値とを用いて、プレレイアウト回路401の性能値を算出する(ステップS1402)。続けて、設計支援装置100は、ポストレイアウト回路510のばらつきパラメータの値を用いて、ポストレイアウト回路510をシミュレーションして得られるポストレイアウト回路510の性能値を取得する(ステップS1403)。なお、ステップS1403の処理は、ステップS1401の処理またはステップS1402の処理と並列に行われてもよい。
次に、設計支援装置100は、算出したプレレイアウト回路401の性能値と、取得したポストレイアウト回路510の性能値との差分を算出する(ステップS1404)。続けて、設計支援装置100は、第1組の算出した差分とポストレイアウト回路510のばらつきパラメータの値を用いて、差分モデルの候補を作成する(ステップS1405)。次に、設計支援装置100は、第2組の算出した差分とポストレイアウト回路510のばらつきパラメータの値を用いて、差分モデルの候補から、差分モデルを選択する(ステップS1406)。続けて、設計支援装置100は、プレレイアウト回路401のばらつきモデルと、差分モデルとに基づいて、ポストレイアウト回路510のばらつきモデルを作成する(ステップS1407)。
ステップS1407の処理実行後、設計支援装置100は、Sparseデータ処理を終了する。Sparseデータ処理を実行することにより、設計支援装置100は、差分モデルのSparsity特性が増加すると予測される方法を用いて、ポストレイアウト回路のばらつきモデルを作成することができる。
(ポストレイアウト回路のばらつきモデルの作成にかかる時間の比較)
次に、応答曲面法と、Sparsity特性を利用した方法と、図13、図14にて示した本実施の形態にかかる方法との3つの方法それぞれがポストレイアウト回路のばらつきモデルの作成にかかる時間について説明する。
図15は、ポストレイアウト回路のばらつきモデルの生成にかかる時間を比較した一例を示す説明図である。図15では、VCO(Voltage Controlled Oscillator)のばらつきモデルを作成する場合を例にしており、表1501に記載した条件で、VCOのポストレイアウト回路のばらつきモデルの生成にかかる時間を比較する。表1501は、レコード1501−1、レコード1501−2を含む。また、ばらつきモデルを作成する際に行われる、フィッティングにかかる処理時間は無視できるものとする。さらに、Sparsity特性を利用してばらつきモデルを生成する場合、設計支援装置100は、性能に影響を与えるパラメータの数:サンプリングデータの数=1:3となるように、サンプリングデータを用意するものとする。
レコード1501−1は、VCOのプレレイアウト回路の素子の数が90個であり、パラメータの数が500個であり、VCOのプレレイアウト回路を1回シミュレーションする時間が5[分]であることを示す。さらに、レコード1501−1は、VCOのプレレイアウト回路のばらつきパラメータのうち、性能に影響を与えないパラメータの割合が、80[%]であることを示す。したがって、VCOのプレレイアウト回路のばらつきパラメータのうち、性能に影響を与えるパラメータの割合は、100−80=20[%]となる。
また、レコード1501−2は、VCOのポストレイアウト回路の素子の数が12000個であり、パラメータの数が20000個であり、VCOのポストレイアウト回路を1回シミュレーションする時間が1.5[時間]であることを示す。さらに、レコード1501−2は、VCOのポストレイアウト回路のばらつきパラメータのうち、性能に影響を与えないパラメータの割合が、95[%]であることを示す。したがって、VCOのポストレイアウト回路のばらつきパラメータのうち、性能に影響を与えるパラメータの割合が、100−95=5[%]であることを示す。
表1501に記載した条件で、RSMとポストレイアウト回路のばらつきモデルを直接LARにて求める方法と本実施の形態にかかる方法との3つの方法を用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間を、表1502にて示す。表1502は、レコード1502−1〜レコード1502−3を含む。なお、ポストレイアウト回路のばらつきモデルを直接LARにて求める方法について、図15では、説明の簡略化のため、単に、「LAR」と称する。
レコード1502−1が示すように、RSMを用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間は、1250[日]となる。具体的に、RSMを実行する装置は、VCOのポストレイアウト回路のパラメータの数に相当する20000個のサンプリングデータを用意し、シミュレーションを20000回行うことになる。したがって、作成にかかる時間は、20000*1.5=30000[時間]=1250[日]となる。
次に、レコード1502−2が示すように、LARを用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間は、187.5[日]となる。具体的に、LARを実行する装置は、VCOのポストレイアウト回路のSparsity特性から導ける20000*0.05*3=3000個のサンプリングデータを用意し、シミュレーションを3000回行うことになる。したがって、作成にかかる時間は、3000*1.5=4500[時間]=187.5[日]となる。
次に、レコード1502−3が示すように、本実施の形態にかかる方法を用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間は、約38.5[日]である。作成にかかる時間の内訳について、表1503にて示す。表1503は、レコード1503−1、レコード1503−2を含む。本実施の形態にかかる方法を用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間は、主に以下の2つの時間に大別される。1つ目が、レコード1503−1が示すVCOのプレレイアウト回路のばらつきモデルの作成にかかる時間であり、2つ目が、レコード1503−2が示す差分モデルの作成に用いるポストレイアウト回路のシミュレーション実行にかかる時間である。
レコード1503−1が示すように、VCOのプレレイアウト回路のばらつきモデルの作成にかかる時間は、25[時間]となる。具体的に、設計支援装置100は、VCOのプレレイアウト回路のばらつきモデルを作成するために、500*0.20*3=300個のサンプリングデータを用意し、シミュレーションを300回行うことになる。したがって、作成にかかる時間は、300*5=1500[分]=25[時間]となる。
また、レコード1503−2が示すように、差分モデルの作成に用いるポストレイアウト回路のシミュレーション実行にかかる時間は、900[時間]となる。具体的に、設計支援装置100は、差分モデルの作成に用いるポストレイアウト回路のサンプリングデータを用意するために、20000*0.01*3=600個のサンプリングデータを用意し、シミュレーションを300回行うことになる。なお、レコード1503−2では、差分モデルのパラメータ群のうち性能に影響を与えないパラメータの割合を、99[%]としている。したがって、シミュレーション実行にかかる時間は、600*1.5=900[時間]となる。
レコード1503−1とレコード1503−2により、本実施の形態にかかる方法を用いた場合のVCOのポストレイアウト回路のばらつきモデルの作成にかかる時間は、25+900=925[時間]=約38.5[日]となる。このように、本実施の形態にかかる方法は、RSM、LARに比べて、作成される精度を維持しつつ、ばらつきモデルの作成にかかる処理負荷を減少することができる。
以上説明したように、設計支援装置100によれば、レイアウト前後の回路の性能の差とポストレイアウト回路のばらつきパラメータの値とから、性能の差分を表す差分モデルを作成する。差分モデルの差分に影響を与えるばらつきパラメータの数は、ポストレイアウト回路のばらつきモデルの性能に影響を与えるばらつきパラメータの数よりも少ない。したがって、設計支援装置100は、ポストレイアウト回路のばらつきモデルを直接作成する方法よりも、少ないサンプリングデータで、高精度な差分モデルを作成することができる。用意するサンプリングデータの数が少なくなるため、設計支援装置100は、高精度な差分モデルを高速に作成することができる。
また、設計支援装置100は、ポストレイアウト回路のサンプリングデータをプレレイアウト回路のばらつきモデルに代入して得た性能値と、前述で入力したサンプリングデータと同一のデータを差分モデルに代入して得た性能値と、を加算してもよい。加算結果が、ポストレイアウト回路の性能値となる。
また、設計支援装置100によれば、差分モデルとプレレイアウト回路のばらつきモデルから、プレレイアウト回路のばらつきモデルを作成してもよい。これにより、設計支援装置100は、プレレイアウト回路のばらつきモデルから得た性能値と差分モデルから得た性能値を加算するより、少ない処理量でポストレイアウト回路の性能値を求めることができる。また、プレレイアウト回路のばらつきモデルのパラメータの次数と、差分モデルのばらつきパラメータの次数が一致していれば、設計支援装置100は、係数を加算しておき、ポストレイアウト回路の性能値を求めるときに、加算の分の処理量を減らすことができる。
また、設計支援装置100によれば、DRCを満たした後のポストレイアウト回路にて、本実施の形態にかかるポストレイアウト回路のばらつきモデルの作成方法をおこなってもよい。DRCを満たすことにより、プレレイアウト回路の性能とポストレイアウト回路の性能がより近いものとなるため、差分モデルのパラメータのうち、性能の差分に影響を与えるパラメータの数が減少することになる。したがって、設計支援装置100は、より少ないサンプリングデータで高精度なばらつきモデルを作成することができる。LVSを満たした後のポストレイアウト回路についても同様のことがいえる。
また、設計支援装置100によれば、ポストレイアウトばらつきパラメータ群の各々の値を含む組を複数通り記憶して、組に対応したプレレイアウト回路の性能値およびポストレイアウト回路の性能値と、組に含まれる値を用いて、差分モデルを作成してもよい。組、すなわち、サンプリングデータを複数用いて差分モデルを作成することにより、差分モデルの精度を向上させることができる。
また、設計支援装置100によれば、複数の組のうちの第1組を用いて差分モデルの候補を作成し、第2組を用いて差分モデルの候補を評価して、差分モデルの候補から差分モデルを選択してもよい。これにより、設計支援装置100は、差分モデルの作成時に、オーバーフィッティングを抑えることができる。
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが、
レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出し、
前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得し、
算出した前記第1性能値と取得した前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する、
処理を実行することを特徴とする設計支援方法。
(付記2)前記コンピュータが、
作成した前記第2関数モデルと前記第1関数モデルとに基づいて、前記第2パラメータ群を用いて前記レイアウト後の設計対象回路の性能値を表す第3関数モデルを作成する処理を実行することを特徴とする付記1に記載の設計支援方法。
(付記3)前記レイアウト後の設計対象回路は、プロセスの設計規則を満たした回路であることを特徴とする付記1または2に記載の設計支援方法。
(付記4)前記レイアウト後の設計対象回路は、前記レイアウト後の設計対象回路内の各々の素子のうちの前記レイアウト前の設計対象回路内の各々の素子に対応する素子の接続関係が前記レイアウト前の設計対象回路の各々の素子の接続関係と一致する回路であることを特徴とする付記1〜3のいずれか一つに記載の設計支援方法。
(付記5)前記記憶部は、前記第2パラメータ群の各々の値を含む組を複数通り記憶しており、
前記算出する処理は、
前記組に含まれる第2パラメータ群の各々の値のうちの前記第1パラメータ群の各々に対応するパラメータの値を前記第1関数モデルに入力することにより、前記レイアウト前の設計対象回路の第1性能値を前記組に対応して算出し、
前記取得する処理は、
前記記憶部に記憶されている前記組に含まれる第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を前記組に対応して取得し、
前記第2関数モデルを作成する処理は、
算出した前記組に対応する前記第1性能値と取得した前記組に対応する前記第2性能値と前記組に含まれる前記第2パラメータ群の各々の値とに基づいて、前記第2関数モデルを作成する付記1〜4のいずれか一つに記載の設計支援方法。
(付記6)前記コンピュータが、
前記記憶部に記憶されている複数の組のうちの第1組に対応する第1性能値と前記第1組に対応する第2性能値と前記第1組に含まれる前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群から選ばれた一部のパラメータの組合せに対応して、前記一部のパラメータを用いて前記第2関数モデルの候補を作成する、処理を実行し、
前記第2関数モデルを作成する処理は、
前記組合せに対応して作成した前記第2関数モデルの候補から、前記複数の組の前記第1組とは異なる第2組に対応する第1性能値と前記第2組に対応する第2性能値と前記第2組に含まれる前記第2パラメータ群の各々の値とに基づいて前記第2関数モデルを選択することを特徴とする付記5に記載の設計支援方法。
(付記7)レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出する算出部と、
前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得する取得部と、
前記算出部によって算出された前記第1性能値と前記取得部によって取得された前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する作成部と、
を有することを特徴とする設計支援装置。
(付記8)レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出する算出部と、
前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得する取得部と、
前記算出部によって算出された前記第1性能値と前記取得部によって取得された前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する作成部と、
を有するコンピュータを含むことを特徴とする設計支援装置。
(付記9)コンピュータに、
レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出し、
前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得し、
算出した前記第1性能値と取得した前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する、
処理を実行させることを特徴とする設計支援プログラム。
(付記10)レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出し、
前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得し、
算出した前記第1性能値と取得した前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する、
処理をコンピュータに実行させる設計支援プログラムを記憶したことを特徴とする記録媒体。
100 設計支援装置
101 プレレイアウト回路
102 ポストレイアウト回路
110 記憶部
301 算出部
302 取得部
303 第3作成部
304 第1作成部
305 第2作成部

Claims (8)

  1. コンピュータが、
    レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出し、
    前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得し、
    算出した前記第1性能値と取得した前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する、
    処理を実行することを特徴とする設計支援方法。
  2. 前記コンピュータが、
    作成した前記第2関数モデルと前記第1関数モデルとに基づいて、前記第2パラメータ群を用いて前記レイアウト後の設計対象回路の性能値を表す第3関数モデルを作成する処理を実行することを特徴とする請求項1に記載の設計支援方法。
  3. 前記レイアウト後の設計対象回路は、プロセスの設計規則を満たした回路であることを特徴とする請求項1または2に記載の設計支援方法。
  4. 前記レイアウト後の設計対象回路は、前記レイアウト後の設計対象回路内の各々の素子のうちの前記レイアウト前の設計対象回路内の各々の素子に対応する素子の接続関係が前記レイアウト前の設計対象回路の各々の素子の接続関係と一致する回路であることを特徴とする請求項1〜3のいずれか一つに記載の設計支援方法。
  5. 前記記憶部は、前記第2パラメータ群の各々の値を含む組を複数通り記憶しており、
    前記算出する処理は、
    前記組に含まれる第2パラメータ群の各々の値のうちの前記第1パラメータ群の各々に対応するパラメータの値を前記第1関数モデルに入力することにより、前記レイアウト前の設計対象回路の第1性能値を前記組に対応して算出し、
    前記取得する処理は、
    前記記憶部に記憶されている前記組に含まれる第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を前記組に対応して取得し、
    前記第2関数モデルを作成する処理は、
    算出した前記組に対応する前記第1性能値と取得した前記組に対応する前記第2性能値と前記組に含まれる前記第2パラメータ群の各々の値とに基づいて、前記第2関数モデルを作成する請求項1〜4のいずれか一つに記載の設計支援方法。
  6. 前記コンピュータが、
    前記記憶部に記憶されている複数の組のうちの第1組に対応する第1性能値と前記第1組に対応する第2性能値と前記第1組に含まれる前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群から選ばれた一部のパラメータの組合せに対応して、前記一部のパラメータを用いて前記第2関数モデルの候補を作成する、処理を実行し、
    前記第2関数モデルを作成する処理は、
    前記組合せに対応して作成した前記第2関数モデルの候補から、前記複数の組の前記第1組とは異なる第2組に対応する第1性能値と前記第2組に対応する第2性能値と前記第2組に含まれる前記第2パラメータ群の各々の値とに基づいて前記第2関数モデルを選択することを特徴とする請求項5に記載の設計支援方法。
  7. レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出する算出部と、
    前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得する取得部と、
    前記算出部によって算出された前記第1性能値と前記取得部によって取得された前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する作成部と、
    を有することを特徴とする設計支援装置。
  8. コンピュータに、
    レイアウト前の設計対象回路内の各々の素子の特性を表す第1パラメータ群を用いて前記レイアウト前の設計対象回路の性能値を表す第1関数モデルに、レイアウト後の設計対象回路内の各々の素子の特性を表す第2パラメータ群の各々の値を記憶する記憶部を参照して、前記第2パラメータ群のうちの前記第1パラメータ群の各々に対応するパラメータの値を入力することにより、前記レイアウト前の設計対象回路の第1性能値を算出し、
    前記記憶部に記憶されている前記第2パラメータ群の各々の値を用いて前記レイアウト後の設計対象回路の動作を模擬して得られる前記レイアウト後の設計対象回路の第2性能値を取得し、
    算出した前記第1性能値と取得した前記第2性能値と前記記憶部に記憶されている前記第2パラメータ群の各々の値とに基づいて、前記第2パラメータ群を用いて前記レイアウト前の設計対象回路の性能値と前記レイアウト後の設計対象回路の性能値との差分を表す第2関数モデルを作成する、
    処理を実行させることを特徴とする設計支援プログラム。
JP2012276296A 2012-12-18 2012-12-18 設計支援方法、設計支援装置、および設計支援プログラム Expired - Fee Related JP5991184B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012276296A JP5991184B2 (ja) 2012-12-18 2012-12-18 設計支援方法、設計支援装置、および設計支援プログラム
US14/066,240 US8788992B2 (en) 2012-12-18 2013-10-29 Circuit design support method, circuit design support apparatus, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012276296A JP5991184B2 (ja) 2012-12-18 2012-12-18 設計支援方法、設計支援装置、および設計支援プログラム

Publications (2)

Publication Number Publication Date
JP2014120082A true JP2014120082A (ja) 2014-06-30
JP5991184B2 JP5991184B2 (ja) 2016-09-14

Family

ID=50932536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012276296A Expired - Fee Related JP5991184B2 (ja) 2012-12-18 2012-12-18 設計支援方法、設計支援装置、および設計支援プログラム

Country Status (2)

Country Link
US (1) US8788992B2 (ja)
JP (1) JP5991184B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275555B1 (en) * 2016-09-29 2019-04-30 Cadence Design Systems, Inc. Yield estimation for a post-layout circuit design

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145410A (ja) * 2002-10-22 2004-05-20 Renesas Technology Corp 回路の設計方法および回路設計支援システム
JP2008117210A (ja) * 2006-11-06 2008-05-22 Fujitsu Ltd 半導体回路のレイアウト方法、プログラム、設計支援システム
JP2008276628A (ja) * 2007-05-02 2008-11-13 Sony Corp 回路最適化情報管理装置およびその方法、並びにプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981238B1 (en) * 2002-10-22 2005-12-27 Cypress Semiconductor Corporation Verification of integrated circuit designs using buffer control
US7424690B2 (en) * 2004-12-07 2008-09-09 Lsi Corporation Interconnect integrity verification
US7340697B2 (en) * 2004-12-22 2008-03-04 Agere Systems Inc. Integrated computer-aided circuit design kit facilitating verification of designs across different process technologies
US7418683B1 (en) * 2005-09-21 2008-08-26 Cadence Design Systems, Inc Constraint assistant for circuit design
US7406671B2 (en) * 2005-10-05 2008-07-29 Lsi Corporation Method for performing design rule check of integrated circuit
JP2007122589A (ja) 2005-10-31 2007-05-17 Matsushita Electric Ind Co Ltd ミックスドシグナル回路シミュレータ
US7565638B2 (en) * 2006-11-21 2009-07-21 Sun Microsystems, Inc. Density-based layer filler for integrated circuit design
US8209650B2 (en) * 2008-04-16 2012-06-26 Texas Instruments Incorporated Method and system for entry and verification of parasitic design constraints for analog integrated circuits
US8150638B1 (en) * 2008-08-25 2012-04-03 Xilinx, Inc. Predicting parasitic capacitance in schematic circuit simulations using sub-circuit modeling
US8949080B2 (en) * 2010-08-25 2015-02-03 Taiwan Semiconductor Manufacturing Company, Ltd. Methods of designing integrated circuits and systems thereof
JP5668443B2 (ja) * 2010-12-07 2015-02-12 富士通セミコンダクター株式会社 回路設計支援装置、回路設計支援方法および半導体集積回路
US8719756B2 (en) * 2011-10-06 2014-05-06 Oracle International Corporation Power grid mosaicing with deep-sub-tile cells
US8621409B2 (en) * 2012-04-30 2013-12-31 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for reducing layout-dependent effects
US8769476B2 (en) * 2012-05-04 2014-07-01 Taiwan Semiconductor Manufacturing Company, Ltd. Method of performing circuit simulation and generating circuit layout

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145410A (ja) * 2002-10-22 2004-05-20 Renesas Technology Corp 回路の設計方法および回路設計支援システム
JP2008117210A (ja) * 2006-11-06 2008-05-22 Fujitsu Ltd 半導体回路のレイアウト方法、プログラム、設計支援システム
JP2008276628A (ja) * 2007-05-02 2008-11-13 Sony Corp 回路最適化情報管理装置およびその方法、並びにプログラム

Also Published As

Publication number Publication date
JP5991184B2 (ja) 2016-09-14
US8788992B2 (en) 2014-07-22
US20140173540A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
TW202018548A (zh) 製造積體電路的方法以及用於設計積體電路的計算系統
JP2010160787A (ja) パラメータ情報作成システム、歩留まり算出システム、プログラム及び記録媒体
JP2010218252A (ja) 統計的タイミング解析用セルライブラリ作成装置、統計的タイミング解析装置、統計的タイミング解析用セルライブラリ作成方法および統計的タイミング解析方法
US11074276B2 (en) Methods and systems for optimized visual summarization for sequences of temporal event data
US9916415B2 (en) Integrated circuit performance modeling that includes substrate-generated signal distortions
CN103810316A (zh) 降低寄生失配的方法
US9582626B1 (en) Using waveform propagation for accurate delay calculation
US10241899B2 (en) Test input information search device and method
JP5991184B2 (ja) 設計支援方法、設計支援装置、および設計支援プログラム
Erman et al. The effects of measurement error in case of scientific network analysis
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
Cheng et al. Modeling and Application of Grey Model GM (2, 1) Based on Linear Difference Equation.
US11960830B2 (en) Exploratory data interface
JP2020197839A (ja) データ管理プログラム、データ管理方法およびデータ管理システム
US11467851B1 (en) Machine learning (ML)-based static verification for derived hardware-design elements
JP6303585B2 (ja) 設計支援方法、設計支援装置、および設計支援プログラム
US10242135B2 (en) Testbench chaining for multiple blocks in hierarchical circuit design
Yue et al. Improved FunkSVD algorithm based on RMSProp
JP6869082B2 (ja) テストケースを選択する計算機及びテストケースの選択方法
JP6213019B2 (ja) シーケンス抽出方法、シーケンス抽出プログラムおよびシーケンス抽出装置
JP7216680B2 (ja) 情報処理装置、情報処理方法、およびプログラム
TW201120654A (en) Model generating computer program product, apparatus, and method
JP5664274B2 (ja) 解析支援プログラム、解析支援装置、および解析支援方法
JP2012103861A (ja) 設計支援プログラム、設計支援装置および設計支援方法
JP4351613B2 (ja) 素子対応表作成装置及び類似回路選出装置、並びに素子対応表作成方法及び類似回路選出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160801

R150 Certificate of patent or registration of utility model

Ref document number: 5991184

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees