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

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

Info

Publication number
JP5500049B2
JP5500049B2 JP2010251180A JP2010251180A JP5500049B2 JP 5500049 B2 JP5500049 B2 JP 5500049B2 JP 2010251180 A JP2010251180 A JP 2010251180A JP 2010251180 A JP2010251180 A JP 2010251180A JP 5500049 B2 JP5500049 B2 JP 5500049B2
Authority
JP
Japan
Prior art keywords
worst corner
conditions
worst
candidate
design support
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.)
Active
Application number
JP2010251180A
Other languages
English (en)
Other versions
JP2012103861A (ja
Inventor
博之 樋口
英俊 松岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010251180A priority Critical patent/JP5500049B2/ja
Priority to US13/210,945 priority patent/US8418089B2/en
Publication of JP2012103861A publication Critical patent/JP2012103861A/ja
Application granted granted Critical
Publication of JP5500049B2 publication Critical patent/JP5500049B2/ja
Active 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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、設計支援プログラム、設計支援装置および設計支援方法に関する。
従来、Static Random Access Memory(SRAM)などの回路が、所定の良品率で正常に動作するか否かをシミュレーションによって判定することにより、回路の設計を支援する技術が知られている。
このような技術としては、例えば、ワーストコーナーを用いた技術が知られている。ワーストコーナーを用いた技術の一例では、回路の性能指標を算出するためのモデル関数のパラメータを確率変数として扱う。すなわち、この例では、パラメータのばらつきが加味されたシミュレーションを行う。そして、この例では、パラメータが張る性能指標の空間内における所定の良品率に対応する等確率面上で、性能指標が最大値または最小値をとる点を探索して、探索された点をワーストコーナーとする。そして、この例では、ワーストコーナーにおけるパラメータを用いて、回路が正常に動作するか否かを判定する。
ここで、ワーストコーナーは、プロセス条件P、外部条件である温度Tおよび電圧V(以下、PTV条件と略記する)などの各種条件に応じたものとなる。そのため、従来の技術では、各種条件、例えばPTV条件が複数設定された場合には、各PTV条件ごとにワーストコーナーを決定し、各ワーストコーナーにおけるパラメータを用いて回路が正常に動作するか否かを判定する。そして、従来の技術では、全ての条件で回路が正常に動作した場合には、試験者は、回路が所定の良品率で正常に動作すると判断する。
しかしながら、上記の従来の技術では、シミュレーションの条件の数が増加するにつれて、決定するワーストコーナーの数も増えるため、ワーストコーナーの管理が煩雑であるという問題がある。
1側面では、本発明は、ワーストコーナーの管理をより簡易にすることができる設計支援プログラム、設計支援装置および設計支援方法を提供することを目的とする。
本願の開示する設計支援プログラムは、一つの態様において、コンピュータに、次のような処理を実行させる。すなわち、コンピュータに、複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、ワーストコーナー候補を複数の条件ごとに決定し、許容範囲内に含まれるワーストコーナー候補同士を対応付ける処理を実行させる。かかるワーストコーナー候補は、設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上に位置する。また、本願の開示する設計支援プログラムは、対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、次のような処理をコンピュータに実行させる。すなわち、コンピュータに、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、ワーストコーナーとして決定する処理を実行させる。かかるワーストコーナーは、複数の条件で設計対象の動作のシミュレーションを行う際に用いられる。
本願の開示する設計支援装置の一つの態様によれば、ワーストコーナーの管理をより簡易にすることができる。
図1は、実施例1に係る設計支援装置の構成を示す図である。 図2は、SRAM回路に含まれるメモリ・セルの回路図の一例である。 図3は、図2の例のSRAM回路の性能指標の一例を説明するための図である。 図4は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図5は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図6は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図7は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図8は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図9は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図10は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図11は、ワーストコーナー候補を決定する処理の一例を説明するための図である。 図12Aは、ワーストコーナーを決定する処理の一例を説明するための図である。 図12Bは、ワーストコーナーを決定する処理の一例を説明するための図である。 図12Cは、ワーストコーナーを決定する処理の一例を説明するための図である。 図12Dは、ワーストコーナーを決定する処理の一例を説明するための図である。 図12Eは、ワーストコーナーを決定する処理の一例を説明するための図である。 図13は、実施例1に係る設計支援処理の手順を示すフローチャートである。 図14は、実施例2に係る設計支援装置の構成を示すブロック図である。 図15は、実施例2に係るワーストコーナー候補決定処理の手順を示すフローチャートである。 図16は、実施例3に係る設計支援装置の構成を示すブロック図である。 図17は、実施例3に係る回帰式モデル生成処理の手順を示すフローチャートである。 図18は、良品率を許容誤差とした場合の一例を示す図である。 図19は、設計支援プログラムを実行するコンピュータを示す図である。
以下に、本願の開示する設計支援装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
[設計支援装置の構成]
図1は、実施例1に係る設計支援装置の構成を示す図である。本実施例に係る設計支援装置10は、複数の条件ごとにワーストコーナー候補を決定する。そして、本実施例に係る設計支援装置10は、性能指標であるマージンについての所定の許容範囲内のワーストコーナー候補同士を一つのワーストコーナー候補とする。そして、本実施例に係る設計支援装置10は、ワーストコーナー候補のうち、全ての条件に対応する最小数のワーストコーナー候補をワーストコーナーとして決定する。
図1に示すように、設計支援装置10は、入力部11と、出力部12と、記憶部13と、制御部14とを有する。
入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、ユーザの指示を受け付けて、受け付けた指示を制御部14に入力する。また、入力部11は、ユーザの操作を受け付けて、シミュレーションによってワーストコーナーが選択されるSRAM回路であって、設計支援の対象となるSRAM回路の構成を示す情報である回路情報を制御部14に入力する。また、入力部11は、ユーザの操作を受け付けて、シミュレーションでのワーストコーナーを決定する際の複数のPTV条件を制御部14に入力する。また、入力部11は、ユーザの操作を受け付けて、SRAM回路の容量を制御部14に入力する。また、入力部11は、ユーザの操作を受け付けて、SRAM回路の歩留まりを制御部14に入力する。また、入力部11は、ユーザの操作を受け付けて、角度または良品率などの所定の性能指標の大きさに対応する許容誤差を制御部14に入力する。入力部11は、マウスやキーボードなどの操作受付デバイスであってもよい。
図2は、SRAM回路に含まれるメモリ・セルの回路図の一例である。図2の例では、メモリ・セルはドライバ・トランジスタd1、d2、アクセス・トランジスタa1、a2、負荷トランジスタp1、p2の合計6個のトランジスタを含む。各トランジスタの種類については、例えば、ドライバ・トランジスタd1、d2及びアクセス・トランジスタa1、a2は、nチャネルMetal−Oxide−Semiconductor Field−Effect Transistor(MOSFET)である。また、例えば、負荷トランジスタp1、p2は、pチャネルMOSFETである。
アクセス・トランジスタa1およびa2のゲートw1およびw2は、共通のワード線に接続される。アクセス・トランジスタa1の一方の端子b1は第一のビット線に接続される。アクセス・トランジスタa2の一方の端子b2は第二のビット線に接続される。また、メモリ・セルは電源VddとグランドGNDに接続される。なお、グランドGNDの電位を0とする。メモリ・セルの内部ノードn1およびn2は、いずれか一方が電源電位のとき他方がグランド電位となり、n1とn2のいずれが電源電位にあるかによって1と0の情報を記憶する。
出力部12は、各種の情報を出力する。例えば、出力部12は、後述の第2の決定部14bで決定されたワーストコーナーにおけるパラメータを表示装置に表示する。また、出力部12は、後述の判定部14cでの判定結果を表示装置に表示する。出力部12のデバイスの一例としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。
記憶部13は、各種情報を記憶する。例えば、記憶部13は、SRAM回路の性能指標を算出するためのモデル関数13aを記憶する。例えば、記憶部13は、SRAM回路の性能指標として、SRAM回路がデータの書き込みに要する時間や、SRAM回路に印加される電圧にノイズが発生しても、「0」、「1」の値が変更しないようなノイズの許容範囲を算出するモデル関数13aを記憶する。かかるモデル関数13aのパラメータの一例としては、SRAM回路に含まれる6つのトランジスタそれぞれについて、長さL、幅W、閾値電圧Vthの3つのパラメータが考えられる。この場合、SRAM回路のパラメータの数は、18(3×6)個となる。
ここで、SRAM回路の各トランジスタの特性がランダムに、すなわち、無相関にばらつくものとした場合に、このメモリ・セルに情報を書き込むスピードが最も遅くなる最悪状態を決定する場合を考える。
図3は、図2の例のSRAM回路の性能指標の一例を説明するための図である。初期状態では内部ノードn1の電位は電源電位であり、内部ノードn2の電位がゼロである。この状態を「1書き込み状態」と定義する。この状態を反転させて0を書き込むためには、まず、端子b1をゼロ電位に、端子b2を電源電位とする。次に、ワード線電位、すなわちゲートw1およびw2の電位をゼロ電位から電源電位まで高めて、アクセス・トランジスタa1とa2を導通させる。これにより内部ノードn1の電位が下がってゼロに達し、内部ノードn2の電位が上がって電源電位に達する。この動作に対して書き込みに要する時間Tを定義することができる。例えば、図3に示すように、ワード線電位が電源電圧の1/2となった時刻から、内部ノードn2の電位が電源電圧の95%に達した時間などと定義できる。本実施例では、性能指標として、図3の例が示す時間Tを採用することができる。
また、図2の例のSRAM回路に含まれる各トランジスタの特性は、回路シミュレーション用トランジスタ・モデルとしてモデル化される。回路シミュレーション用モデルは簡潔な数式でトランジスタなどデバイスの電流対電圧特性や容量対電圧特性を記述するものであり、通常コンパクト・モデルと称されている。代表的なコンパクト・モデルの例としてBerkeley Short−Channel IGFET Model(BSIM)が挙げられる。コンパクト・モデルのモデル関数には調整可能なパラメータが含まれている。なお、モデル関数は、モデル式とも称される。パラメータの値は、モデル関数による特性が実際のデバイスの特性と一致するように調整されている。この調整作業は、パラメータ抽出と呼ばれる。このようなコンパクト・モデルを用いて回路シミュレーションを行うと、図3に示すような波形の計算が可能となり、性能指標Tを算出することができる。すなわち、この場合には、モデル関数のパラメータによって、性能指標Tの空間が張られている。
本実施例のコンパクト・モデルは、個々のデバイス特性のばらつき、または、特性のばらついたデバイスを備えた回路特性のばらつきをモデル化するために用いられる。
図2に示すような6個のトランジスタを含むSRAM回路の回路特性が、これらのトランジスタ特性のばらつきに起因して、ばらつく現象をモデル化するには、次のようにすることが考えられる。まず、トランジスタのコンパクト・モデルに含まれるいずれかのパラメータを確率変数とみなし、そのばらつき方を規定する。例えば、トランジスタの閾値電圧Vth0、長さLおよび幅Wの各パラメータを確率変数とみなす。また、SRAM回路に含まれる6個のトランジスタそれぞれの特性は独立にばらつくものとする。そのため、各々のトランジスタの閾値電圧Vth0、長さLおよび幅Wはそれぞれ独立に変化させる必要がある。そこで、トランジスタd1、d2、a1、a2、p1、p2それぞれに対する閾値電圧Vth0、長さLおよび幅Wをすべて独立の確率変数とみなす。これら18個の確率変数は、例えば、所定の中央値および所定の標準偏差の正規分布に基づいて無相関に分布するものとする。ここで、所定の標準偏差値は、コンパクト・モデルによるデバイス特性の計算結果が、現実のデバイス特性のばらつきを再現するような適切な値に設定する。例えば、閾値電圧Vth0、長さLおよび幅Wの標準偏差は、実測されたトランジスタのしきい値の標準偏差と等しい値とする。
以上のように、コンパクト・モデル内のパラメータのいずれかを確率変数とみなし、その分布の仕方を規定することで、性能指標のばらつきのモデル化が可能となる。なぜなら、性能指標は回路シミュレーションによって計算できるため、性能指標はコンパクト・モデルのパラメータの関数となり、確率変数とみなすパラメータのばらつき方が規定されれば、かかる関数を介して性能指標のばらつき方も規定されるからである。
また、記憶部13は、被覆表13bを記憶する。被覆表13bは、入力された複数の条件と、複数の条件のそれぞれに対応するワーストコーナー候補との対応関係を登録するための表である。なお、被覆表13bには、後述の第1の決定部14aによりPTV条件と、ワーストコーナー候補との対応関係を示す情報が登録される。被覆表13bについては後述する。
記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部14は、図1に示すように、第1の決定部14aと、第2の決定部14bと、判定部14cとを有する。
第1の決定部14aは、ワーストコーナー候補を決定する。第1の決定部14aによるワーストコーナー候補の決定方法の一例について説明する。例えば、第1の決定部14aは、入力部11から入力されたSRAM回路の容量D[Mbit]および歩留まりYから、以下の式(1)により良品率Xを算出する。
Figure 0005500049
例えば、容量Dが1Mbit(1047586bit)であり、歩留まりYが0.99(99%)である場合には、「X1047586=0.99」をXについて解くと「X=0.991/1047586=0.99999999999064」となる。なお、良品率Xについては、試験者が、入力部11を介して制御部14に入力してもよい。
そして、第1の決定部14aは、良品率Xから、ワーストコーナー候補を決定する際に用いる所定の設計値からの距離rを算出する。かかる距離rは、下記の式(2)により算出される。
Figure 0005500049
ただし、Φ(r)の値は、良品率Xを示す。
例えば、良品率Xが、上記のように、0.99999999999064である場合には、上記の式(2)により、r=5.62となる。
ここで、所定の設計値からの距離がrとなる超球面上の点は、SRAM回路の良品率がXとなる場合のパラメータの組合せが生じる確率が等しい点である。そのため、この超球面を等確率面と称する場合もある。このように、超球面上の点は、全て良品率が等しい。そのため、この超球面上の点のうち、性能指標が最悪となる点であるワーストコーナーに対応するパラメータを用いて、SRAM回路が正常動作するか否かをシミュレーションすることで、良品率XでSRAM回路が正常動作するか否かを判定することができる。性能指標が最悪となる場合の一例としては、SRAM回路の書き込みに要する時間が最も長い場合が挙げられる。また、他の一例としては、SRAM回路が保持する値「0」、「1」が変化しないように、SRAM回路に印加される電圧のノイズを許容するためのノイズの許容範囲が最も狭い場合が挙げられる。
図4〜図11は、ワーストコーナー候補を決定する処理の一例を説明するための図である。本実施例のモデル関数13aのパラメータの数は、上述したように、18個であるが、説明の便宜上、モデル関数のパラメータを2つとして、図4〜図11を参照して、ワーストコーナー候補を決定する処理を説明する。図4の例では、横軸は、パラメータuのSRAM回路の設計値からのずれ量を表し、縦軸は、パラメータuのSRAM回路の設計値からのずれ量を表す。また、横軸と縦軸との交点15は、パラメータu、uの設計値を示す。例えば、パラメータu、uは、トランジスタの閾値電圧などである。また、図4の縦軸および横軸に直交する図示しない軸は、SRAM回路の性能指標を表すものとする。この性能指標は、PTV条件に応じた値をとる。このため、PTV条件が異なれば、SRAM回路の設計値からのずれ量が同一のパラメータであっても、対応する性能指標は、異なる場合がある。なお、性能指標は、マージンとも称される。
第1の決定部14aは、各PTV条件ごとに、ワーストコーナー候補を決定する。その際、第1の決定部14aは、最初のワーストコーナー候補の決定では、一つのPTV条件について、パラメータの所定の設計値に対応する性能指標の点を起点とし、所定の勾配法を用いてワーストコーナー候補を決定する。具体例を挙げると、第1の決定部14aは、所定の設計値に対応する性能指標の点における性能指標勾配を計算し、性能指標が最も悪い勾配を算出する。そして、第1の決定部14aは、算出した勾配と、上記の超球面との交点をワーストコーナー候補として決定する。このようにして、第1の決定部14aは、最初のワーストコーナー候補の決定を行う。そして、第1の決定部14aは、決定したワーストコーナー候補と、対応するPTV条件とを対応付ける情報を被覆表13bに登録する。
次に、第1の決定部14aは、その他のPTV条件については、決定済みのワーストコーナー候補を起点とし、所定の勾配法を用いて、対応するワーストコーナー候補を決定する。このように、決定済みのワーストコーナー候補を起点として、他のPTV条件におけるワーストコーナー候補を決定するのは、次のような理由からである。すなわち、PTV条件が異なっても、ワーストコーナー候補が存在する位置はほとんど変わらず、各ワーストコーナー候補は近傍にあると考えられる。そのため、決定済みのワーストコーナー候補を起点として、他のPTV条件におけるワーストコーナー候補を決定すると、設計値に対応する性能指標の点を起点として勾配法を用いてワーストコーナー候補を決定する場合と比べて、処理が簡易となるからである。
図4〜図11を参照し、具体例を挙げて説明する。また、以下では、複数のPTV条件として、PTV1〜PTV4が入力された場合について説明する。例えば、PTV1のプロセス条件には、SRAM回路に含まれるnチャネルMOSFETのプロセスばらつきがSlow(3σ)、pチャネルMOSFETのプロセスばらつきがSlow(3σ)の場合が設定される。また、PTV1の外部条件である温度には0℃、電圧には1Vが設定される。また、PTV2のプロセス条件には、SRAM回路に含まれるnチャネルMOSFETのプロセスばらつきがSlow(3σ)、pチャネルMOSFETのプロセスばらつきがSlow(3σ)の場合が設定される。また、PTV2の外部条件である温度には100℃、電圧には1Vが設定される。例えば、PTV3のプロセス条件には、SRAM回路に含まれるnチャネルMOSFETのプロセスばらつきがSlow(3σ)、pチャネルMOSFETのプロセスばらつきがSlow(3σ)の場合が設定される。また、PTV3の外部条件である温度には0℃、電圧には1.4Vが設定される。例えば、PTV4のプロセス条件には、SRAM回路に含まれるnチャネルMOSFETのプロセスばらつきがSlow(3σ)、pチャネルMOSFETのプロセスばらつきがSlow(3σ)の場合が設定される。また、PTV4の外部条件である温度には100℃、電圧には1.4Vが設定される。
例えば、第1の決定部14aは、まず、複数のPTV条件であるPTV1〜PTV4のうち、一つのPTV条件、例えばPTV1を選択する。そして、第1の決定部14aは、選択したPTV条件において、パラメータu、uのずれ量が0である場合の性能指標を示す点を起点とし、所定の勾配法により、性能指標が最も悪い超球面20上の点をワーストコーナー候補21として決定する。例えば、SRAM回路の書き込みに要する時間を性能指標とした場合には、第1の決定部14aは、SRAM回路の書き込みに要する時間が最も長くなる、超球面20上の点をワーストコーナー候補21として決定する。また、ノイズの許容範囲を性能指標とした場合には、第1の決定部14aは、ノイズの許容範囲が最も狭くなる、超球面20上の点をワーストコーナー候補21として決定する。なお、図4の例では、説明の便宜上、パラメータを2つとしているので、超球面20は、円となる。
そして、複数のPTV1〜PTV4のうち、PTV1を選択し、対応するワーストコーナー候補としてWC1を決定した場合には、第1の決定部14aは、次のような処理を行う。すなわち、第1の決定部14aは、図5に示すように、PTV1とWC1とが対応付けられていることを示す情報、例えば「1」を被覆表13bに登録する。
被覆表13bは、入力された複数の条件と、複数の条件のそれぞれに対応するワーストコーナー候補との対応関係を登録するための表である。例えば、入力された条件の数がN個である場合には、N個の条件と、N個のワーストコーナー候補との対応関係が登録可能なように構成される。ここで、予め入力される条件の個数が既知である場合には、その個数に応じて全ての対応関係が登録可能な被覆表13bを記憶部13が記憶するようにすればよい。また、予め入力される条件の個数が既知でない場合には、第1の決定部14aが、その個数に応じて被覆表13bを生成し、記憶部13に格納するようにしてもよい。
次に、第1の決定部14aは、PTV1〜PTV4のうち、未選択の条件を一つ選択する。例えば、第1の決定部14aは、PTV2を選択する。そして、図6に示すように、第1の決定部14aは、PTV2の条件において、決定済みのワーストコーナー候補であるWC1における性能指標勾配を計算し、性能指標が最も悪い勾配22を算出する。そして、第1の決定部14aは、図7に示すように、勾配22が示す方向に平行な直線であって超球面20と接する直線23と、上記の超球面20との接点WC2´をワーストコーナー候補WC2として決定する。このとき、第1の決定部14aは、図8に示すように、第WC2とPTV2とが対応付けられていることを示す情報、例えば「1」を被覆表13bに登録する。
そして、第1の決定部14aは、ワーストコーナー候補WC2が、WC1と許容誤差内であるか否かを判定する。第1の決定部14aは、ワーストコーナー候補WC2が、WC1と許容誤差内である場合、ワーストコーナー候補WC1とWC2とを同一のワーストコーナーとして扱う。このとき、第1の決定部14aは、WC1とPTV2とが対応付けられていることを示す情報、例えば「1」を被覆表13bに登録する。
許容誤差について具体例を挙げて説明すると、例えば、許容誤差として角度αrefが入力された場合には、図9に示すように、第1の決定部14aは、設計値15を中心とした場合のWC1とWC2´との角度αが、角度αref内であるか否かを判定する。第1の決定部14aは、角度αが角度αrefより大きい場合には、WC1とWC2´とが許容誤差内ではないと判定する。また、第1の決定部14aは、角度αが角度αref以下である場合には、WC1とWC2´とが許容誤差内であると判定する。
一方、第1の決定部14aは、ワーストコーナー候補WC2が、WC1と許容誤差内でない場合には、図8に示すように、WC1とPTV2とが対応付けられていないことを示す情報、例えば「0」を被覆表13bに登録する。
そして、第1の決定部14aは、PTV2の条件でWC1に対して行った上記の処理を、PTV3、PTV4の各条件でWC1に対して同様に行う。図10の例は、WC1の許容誤差内にPTV3の条件におけるワーストコーナー候補WC3が存在したため、第1の決定部14aにより、WC1とPTV3とが対応付けられたことを示す。また、図10の例は、WC1の許容誤差内にPTV4の条件におけるワーストコーナー候補WC4が存在しないため、第1の決定部14aにより、WC1とPTV4とが対応付けられていないことを示す。また、図10の例では、第1の決定部14bにより、ワーストコーナー候補WC3が決定されたため、PTV3とWC3とが対応付けられていることを示す。また、図10の例では、第1の決定部14bにより、ワーストコーナー候補WC4が決定されたため、PTV4とWC4とが対応付けられていることを示す。
そして、WC1に対して全ての条件PTV1〜PTV4で処理が行われると、第1の決定部14aは、同様に、WC2と、WC1、WC3およびWC4の各々とが許容誤差内であるか否かを判定し、対応関係を示す情報を被覆表13bに登録する。また、第1の決定部14aは、同様に、WC3と、WC1、WC2およびWC4の各々とが許容誤差内であるか否かを判定し、対応関係を示す情報を被覆表13bに登録する。また、第1の決定部14aは、同様に、WC4と、WC1、WC2およびWC3の各々とが許容誤差内であるか否かを判定し、対応関係を示す情報を被覆表13bに登録する。なお、すでに許容誤差内であるか否かの判定が行われたワーストコーナー候補の組合せについては、許容誤差内であるか否かの判定を省略することができる。これにより、さらに処理が簡易になる。
図11は、対応関係を示す情報が登録された被覆表の一例である。図11のWC1の列の例では、WC1に対して、PTV3の条件において決定されたWC3が許容誤差内であることを示す。すなわち、図11のWC1の列の例では、WC1とWC3とを同一のワーストコーナー候補として扱うことが可能であることを示す。また、図11のWC3の列の例では、WC3に対して、PTV1の条件において決定されたWC1が許容誤差内であることを示す。また、図11のWC3の列の例では、WC3に対して、PTV4の条件において決定されたWC4が許容誤差内であることを示す。すなわち、図11のWC3の列の例では、WC3とWC1とWC4とを同一のワーストコーナー候補として扱うことが可能であることを示す。また、図11のWC4の列の例では、WC4に対して、PTV3の条件において決定されたWC3が許容誤差内であることを示す。すなわち、図11のWC4の列の例では、WC4とWC3とを同一のワーストコーナー候補として扱うことが可能であることを示す。
図1の説明に戻る。第2の決定部14bは、同一のワーストコーナー候補として扱うことが可能なワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を決定する。そして、第2の決定部14bは、このようにして決定したワーストコーナー候補を、所定の複数の条件で設計対象の動作のシミュレーションを行う際のワーストコーナーとして決定する。
例えば、第2の決定部14bは、分枝限定法により、被覆表13bの登録内容から、全ての条件に対して上記の情報“1”が対応する場合のワーストコーナー候補の数が最小となるときのワーストコーナー候補を、ワーストコーナーとして決定する。そして、第2の決定部14bは、決定したワーストコーナーを出力部12から出力させる。
図12は、ワーストコーナーを決定する処理の一例を説明するための図である。図12Aは、被覆表13bの一例を示す図である。図12Aの被覆表13bの例では、先の図11に示す被覆表13bの登録内容と同一の内容が登録されている。このような場合において、第2の決定部14bは、図12Aに示す被覆表13bの登録内容から、まず、WC1を選択する。すると、図12Aの例では、WC1は、PTV1、PTV3に対応する。よって、ワーストコーナー候補を対応させる残りの条件は、PTV2、PTV4となる。
図12Bは、図12Aの例でWC1が選択された場合の残りの条件を示す図である。図12BのWC2の列は、WC2はPTV2に対応することを示す。また、図12BのWC3の列は、WC3はPTV4に対応することを示す。また、図12BのWC4の列は、WC4はPTV4に対応することを示す。
図12Bの例において、第2の決定部14bは、まず、WC2を選択する。すると、図12Bの例では、WC2は、PTV2に対応する。よって、ワーストコーナー候補を対応させる残りの条件は、PTV4となる。
図12Cは、図12Bの例でWC2が選択された場合の残りの条件を示す図である。図12CのWC3の列は、WC3はPTV4に対応することを示す。また、図12CのWC4の列は、WC4はPTV4に対応することを示す。
図12Cの例において、第2の決定部14bは、WC3を選択する。すると、図12Cの例では、WC3は、PTV4に対応する。よって、ワーストコーナー候補を対応させる残りの条件は存在しなくなる。このとき、被覆解として{WC1,WC2,WC3}の3つの個数のワーストコーナー候補で、複数の条件に対応することとなる。
一方、図12Cの例において、第2の決定部14bが、WC3を選択せずに、WC4を選択する場合を考える。この場合には、図12Cの例では、WC4は、PTV4に対応し、被覆解となるワーストコーナー候補の個数が{WC1,WC2,WC4}の3つとなる。この場合には、上記のように被覆解として{WC1,WC2,WC3}の3つの個数のワーストコーナー候補を選択した場合よりも個数が少なくならないので、いわゆる「枝刈り」を行う。
また、図12Aの例において、第2の決定部14bは、図12Aに示す被覆表13bの登録内容から、今度は、WC1を選択しないこととする。この場合、第2の決定部14bは、図12Aに示す被覆表13bのWC1の列を削除する。
図12Dは、図12Aの例でWC1の列が削除された場合の残りの条件を示す図である。図12DのWC2の列は、WC2はPTV2に対応することを示す。また、図12DのWC3の列は、WC3はPTV1、PTV3およびPTV4に対応することを示す。また、図12DのWC4の列は、WC4はPTV3およびPTV4に対応することを示す。
図12Dの例において、第2の決定部14bは、まず、WC2を選択する。図12Dの例では、WC2は、PTV2に対応する。よって、ワーストコーナー候補を対応させる残りの条件は、PTV1、PTV3およびPTV4となる。
図12Eは、図12Dの例でWC2が選択された場合の残りの条件を示す図である。図12EのWC3の列は、WC3は、PTV1、PTV3およびPTV4に対応することを示す。また、図12EのWC4の列は、WC4は、PTV3およびPTV4に対応することを示す。
図12Eの例において、第2の決定部14bは、まず、WC3を選択する。図12Eの例では、WC3は、PTV1、PTV3およびPTV4に対応する。よって、ワーストコーナー候補を対応させる残りの条件は存在しなくなる。このとき、被覆解として{WC2,WC3}の2つの個数のワーストコーナー候補で、複数の条件に対応することとなる。
一方、図12Eの例において、第2の決定部14bが、WC3を選択せずに、WC4を選択する場合を考える。この場合には、図12Eの例では、WC4は、PTV3およびPTV4に対応する。よって、ワーストコーナー候補を対応させる残りの条件は、PTV1となる。そのため、被覆解となるワーストコーナー候補の個数が、上記の{WC2,WC3}の2つの個数よりも少なくならないので、いわゆる「枝刈り」を行う。また、図12Dの例において、第2の決定部14bが、WC2を選択しない場合についても、被覆解となるワーストコーナー候補の個数が、上記の{WC2,WC3}の2つの個数よりも少なくならないので、同様に、いわゆる「枝刈り」を行う。
このように、第2の決定部14bは、同一のワーストコーナー候補として扱うことが可能なワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、次のような処理を行う。すなわち、第2の決定部14bは、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、シミュレーションで用いるワーストコーナーとして決定する。上記の例では、第2の決定部14bは、複数の条件に対応する被覆解として{WC2,WC3}の2つの個数のワーストコーナー候補を、ワーストコーナーとして決定する。
判定部14cは、SRAM回路の動作をシミュレーションし、SRAM回路が正常に動作するか否かを判定する。例えば、判定部14cは、SRAM回路の回路情報と、SRAM回路に情報の書き込みを行う書込用周辺回路の回路情報と、第2の決定部14bで決定されたワーストコーナーのパラメータを用いて、全ての条件でSRAM回路が正常に動作するか否かを判定する。
なお、判定部14cは、一つのワーストコーナーに対して一つの条件のみで判定を行うことができる。具体例を挙げて説明すると、判定部14cは、上記の{WC2,WC3}の2つのワーストコーナーが決定された場合には、WC3については、対応する条件PTV1、PTV3、PTV4のうち、いずれか一つの条件のみを用いて上記の判定を行うことができる。この場合、判定部14cは、WC3について、残りの二つの条件での判定を行わない。これは、条件PTV1、PTV3、PTV4は、同一のワーストコーナーWC3が対応しているため、互いに類似の条件であると考えられるからである。これにより、判定部14cでの判定処理が簡易となり、判定処理の処理速度が速くなる。
そして、全ての判定結果が、SRAM回路が正常に動作することを示す場合には、判定部14cは、良品率Xで、SRAM回路が正常に動作する旨のメッセージを出力するように出力部12に指示を送信する。一方、全ての判定結果のうち、SRAM回路が正常に動作しないことを示す判定結果が存在する場合には、判定部14cは、次のような処理を行う。すなわち、判定部14cは、良品率XでSRAM回路が正常に動作しない旨のメッセージとともに、正常に動作しないワーストコーナーのパラメータを出力するように出力部12に指示を送信する。これにより、正常に動作しないワーストコーナーのパラメータを試験者などが確認可能なように出力することができる。
制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、または、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
[処理の流れ]
次に、本実施例に係る設計支援装置10の処理の流れを説明する。図13は、実施例1に係る設計支援処理の手順を示すフローチャートである。この設計支援処理は、入力部11から制御部14に設計支援処理を実行する指示が入力された場合に実行される。
図13に示すように、第1の決定部14aは、SRAM回路の容量Dおよび歩留まりYに基づいて、良品率Xを算出する(ステップS101)。
第1の決定部14aは、良品率Xから、ワーストコーナー候補を決定する際に用いる所定の設計値からの距離rを算出する(ステップS102)。
第1の決定部14aは、複数のPTV条件の中から一つの条件を選択し、最初のワーストコーナー候補を決定し、この条件とワーストコーナー候補とが対応付けられていることを示す情報を被覆表13bに登録する(ステップS103)。
第1の決定部14aは、残りのPTV条件のそれぞれについて、決定済みのワーストコーナー候補を起点として、所定の勾配法により、対応するワーストコーナー候補を決定する。また、第1の決定部14aは、決定した各条件と対応するワーストコーナー候補とが対応付けられていることを示す情報を被覆表13bに登録する(ステップS104)。
第1の決定部14aは、許容誤差内に存在するワーストコーナー候補同士が対応付けられていることを示す情報を被覆表13bに登録する(ステップS105)。第2の決定部14bは、同一のワーストコーナー候補として扱うことが可能なワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、次のような処理を行う。すなわち、第2の決定部14bは、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、シミュレーションに用いるワーストコーナーとして決定する(ステップS106)。
判定部14cは、SRAM回路の回路情報と、SRAM回路に情報の書き込みを行う書込用周辺回路の回路情報と、第2の決定部14bで決定されたワーストコーナーのパラメータを用いて、SRAM回路が正常に動作するか否かを判定する(ステップS107)。全ての判定結果が、SRAM回路が正常に動作することを示す場合には、判定部14cは、良品率Xで、SRAM回路が正常に動作する旨のメッセージを出力するように出力部12に指示を送信する。一方、全ての判定結果のうち、SRAM回路が正常に動作しないことを示す判定結果が存在する場合には、判定部14cは、次のような処理を行う。すなわち、判定部14cは、良品率XでSRAM回路が正常に動作しない旨のメッセージとともに、正常に動作しないワーストコーナーのパラメータを出力するように出力部12に指示を送信する(ステップS108)。
[実施例1の効果]
上述してきたように、本実施例に係る設計支援装置10は、複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、ワーストコーナー候補を複数の条件ごとに決定する。このワーストコーナー候補は、設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上に位置する。また、本実施例に係る設計支援装置10は、許容範囲内に含まれるワーストコーナー候補同士を対応付ける。また、本実施例に係る設計支援装置10は、対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、ワーストコーナーとして決定する。かかるワーストコーナーは、複数の条件で設計対象の動作のシミュレーションを行う際に用いられる。このように、本実施例に係る設計支援装置10は、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、シミュレーションに用いるワーストコーナーとして決定する。したがって、本実施例に係る設計支援装置10によれば、管理するワーストコーナーの個数が減るため、ワーストコーナーの管理をより簡易にすることができる。
また、本実施例に係る設計支援装置10は、複数の条件のうち1つの条件において、ワーストコーナー候補を決定した場合には、1つの条件において決定されたワーストコーナーを起点として勾配法により他の条件におけるワーストコーナー候補を決定する。このため、本実施例に係る設計支援装置10によれば、より処理が簡易となり、処理速度も速くなる。
また、本実施例に係る設計支援装置10は、一つのワーストコーナーに複数の条件が対応する場合には、複数の条件のうち一つの条件において、この一つのワーストコーナーに対応するパラメータを用いて、設計対象が正常に動作するか否かを判定する。それゆえ、本実施例に係る設計支援装置10によれば、これにより、判定処理が簡易となり、判定処理の処理速度が速くなる。
さて、上記の実施例1では、PTV条件として値が設定された場合を例示したが、開示の装置はこれに限定されない。そこで、実施例2では、PTV条件の範囲が設定された場合について説明する。
[設計支援装置30の構成]
図14は、実施例2に係る設計支援装置の構成を示すブロック図である。図14に示すように、設計支援装置30は、制御部34を有する。かかる制御部34は、図1に示す実施例1に係る制御部14に比較して、第1の決定部34aを有する点が異なる。なお、以下では、上記の実施例1と同様の機能を果たす回路や機器については図1と同様の符号を付し、その説明は省略することとする。
本実施例では、入力部11から、PTV条件の範囲が制御部34へ入力される。例えば、入力部11から、PTV条件の範囲として、プロセス条件については、P=[P min,P max]、P=[P min,P max]が入力される。Pは、pチャネルMOSFETのプロセス条件の範囲を示し、例えば、閾値電圧の範囲を示す。P minは、pチャネルMOSFETのプロセス条件の範囲の最小値を示す。また、P maxは、pチャネルMOSFETのプロセス条件の範囲の最大値を示す。Pは、nチャネルMOSFETのプロセス条件の範囲を示し、例えば、閾値電圧の範囲を示す。P minは、nチャネルMOSFETのプロセス条件の範囲の最小値を示す。また、P maxは、nチャネルMOSFETのプロセス条件の範囲の最大値を示す。
また、入力部11から、PTV条件の範囲として、外部条件については、T=[Tmin,Tmax]、V=[Vmin,Vmax]が入力される。Tは、温度の範囲を示す。Tminは、温度の範囲の最小値を示す。また、Tmaxは、温度の範囲の最大値を示す。Vは、電圧の範囲を示す。Vminは、電圧の範囲の最小値を示す。また、Vmaxは、電圧の範囲の最大値を示す。
第1の決定部34aは、PTV条件の範囲の中からPTV条件を選択し、選択したPTV条件を用いて、ワーストコーナー候補を決定する。例えば、第1の決定部34aは、変数iの値を初期値1に設定する。そして、第1の決定部34aは、P=[P min,P max]、P=[P min,P max]、T=[Tmin,Tmax]、V=[Vmin,Vmax]のそれぞれについて、2個に区切る。これにより、Pが示す範囲は、2個に区切られ、(P min,・・・,P max)となる。また、Pが示す範囲は、2個に区切られ、(P min,・・・,P max)となる。また、Tが示す範囲は、2個に区切られ、(Tmin,・・・,Tmax)となる。また、Vが示す範囲は、2個に区切られ、(Vmin,・・・,Vmax)となる。
そして、第1の決定部34aは、(P min,・・・,P max)、(P min,・・・,P max)、(Tmin,・・・,Tmax)、(Vmin,・・・,Vmax)のそれぞれの範囲の区間境界から一つずつ選択した組合せが重複しないように各範囲の選択を繰り返す。これにより、第1の決定部34aは、2×2×2×2=24i個のPTV条件(P min,P min,Tmin,Vmin)、・・・、(P max,P max,Tmax,Vmax)を得る。
そして、第1の決定部34aは、24i個のPTV条件を用いて、実施例1で説明したワーストコーナー候補の決定方法と同様の方法で、ワーストコーナー候補を決定する。
そして、第1の決定部34aは、24i個のPTV条件のそれぞれについて、各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが一致するか否かを判定する。各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが全て一致する場合には、PTV条件の範囲に対応する全てのワーストコーナー候補が決定されたため、第1の決定部34aは、次のような処理を行う。すなわち、第1の決定部34aは、決定したワーストコーナー候補を第2の決定部14bに送信する。これにより、実施例1と同様に、第2の決定部14bでワーストコーナーが決定される。
一方、各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが少なくとも一部で一致しない場合には、第1の決定部34aは、変数iの値を一つインクリメントする。そして、第1の決定部34aは、上記と同様の処理を再び行う。これにより、P、P、T、Vの各々が示す範囲は、さらに細かく区切られ、第1の決定部34aは、その細かく区切られた範囲で、再びワーストコーナー候補を選択し、上記の判定を行う。
[処理の流れ]
次に、本実施例に係る設計支援装置30の処理の流れを説明する。図15は、実施例2に係るワーストコーナー候補決定処理の手順を示すフローチャートである。このワーストコーナー候補決定処理は、入力部11から制御部34にワーストコーナー候補決定処理を実行する指示が入力された場合に実行される。
図15に示すように、第1の決定部34aは、変数iの値を初期値1に設定する(ステップS201)。
第1の決定部34aは、P=[P min,P max]、P=[P min,P max]、T=[Tmin,Tmax]、V=[Vmin,Vmax]のそれぞれについて、2個に区切る(ステップS202)。
第1の決定部34aは、24i個のPTV条件(P min,P min,Tmin,Vmin)、・・・、(P max,P max,Tmax,Vmax)を得る(ステップS203)。
第1の決定部34aは、24i個のPTV条件を用いて、実施例1で説明したワーストコーナー候補の決定方法と同様の方法で、ワーストコーナー候補を決定する(ステップS204)。
第1の決定部34aは、24i個のPTV条件のそれぞれについて、各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが一致するか否かを判定する(ステップS205)。各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが全て一致する場合(ステップS205肯定)には、第1の決定部34aは、次のような処理を行う。すなわち、第1の決定部34aは、決定したワーストコーナー候補を第2の決定部14bに送信し(ステップS206)、処理を終了する。
一方、各PTV条件に対応するワーストコーナー候補と、隣接するPTV条件に対応するワーストコーナー候補とが少なくとも一部が一致しない場合(ステップS205否定)には、第1の決定部34aは、次のような処理を行う。すなわち、第1の決定部34aは、変数iの値を一つインクリメントし(ステップS207)、ステップS202へ戻る。
[実施例2の効果]
上述してきたように、本実施例に係る設計支援装置30は、複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、ワーストコーナー候補を複数の条件ごとに決定する。このワーストコーナー候補は、設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上に位置する。また、本実施例に係る設計支援装置30は、許容範囲内に含まれるワーストコーナー候補同士を対応付ける。また、本実施例に係る設計支援装置30は、対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、ワーストコーナーとして決定する。かかるワーストコーナーは、複数の条件で設計対象の動作のシミュレーションを行う際に用いられる。このように、本実施例に係る設計支援装置30は、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、シミュレーションに用いるワーストコーナーとして決定する。したがって、本実施例に係る設計支援装置30によれば、管理するワーストコーナーの個数が減るため、ワーストコーナーの管理をより簡易にすることができる。
また、本実施例に係る設計支援装置30は、複数の条件のうち1つの条件において、ワーストコーナー候補を決定した場合には、1つの条件において決定されたワーストコーナーを起点として勾配法により他の条件におけるワーストコーナー候補を決定する。このため、本実施例に係る設計支援装置30によれば、より処理が簡易となり、処理速度も速くなる。
また、本実施例に係る設計支援装置30は、複数の条件のそれぞれについて各範囲が定められている場合には、複数の条件の各範囲内の条件に基づいて、次のような処理を行う。すなわち、本実施例に係る設計支援装置30は、ワーストコーナー候補を決定し、許容範囲内に含まれるワーストコーナー候補同士を対応付ける。そして、本実施例に係る設計支援装置30は、対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補をワーストコーナーとして決定する。それゆえ、本実施例に係る設計支援装置30によれば、入力された条件の範囲をカバーするワーストコーナーを決定することができる。
また、本実施例に係る設計支援装置30は、一つのワーストコーナーに複数の条件が対応する場合には、複数の条件のうち一つの条件において、この一つのワーストコーナーに対応するパラメータを用いて、設計対象が正常に動作するか否かを判定する。それゆえ、本実施例に係る設計支援装置30によれば、判定処理が簡易となり、判定処理の処理速度が速くなる。
実施例3では、PTV条件からワーストコーナー候補を決定する回帰式モデルを生成し、生成した回帰式モデルを用いてワーストコーナー候補を決定する場合について説明する。
[設計支援装置50の構成]
図16は、実施例3に係る設計支援装置の構成を示すブロック図である。図16に示すように、設計支援装置50は、制御部54を有する。かかる制御部54は、図1に示す実施例1に係る制御部14に比較して、生成部54dを有する点が異なる。なお、以下では、上記の実施例1と同様の機能を果たす回路や機器については図1と同様の符号を付し、その説明は省略することとする。
本実施例では、入力部11から、実施例2と同様に、PTV条件の範囲が制御部54へ入力される。
生成部54dは、入力されたPTV条件の範囲から、6点(6組)以上の条件を選択する。例えば、生成部54dは、P=[P min,P max]、P=[P min,P max]、T=[Tmin,Tmax]、V=[Vmin,Vmax]のそれぞれの範囲から条件p,p,t,vを選択する。そして、生成部54dは、選択した条件の組合せを重複しないように6組以上生成する。そして、生成部54dは、6組以上のPTV条件を第1の決定部14aに入力し、第1の決定部14aで決定された6つ以上のワーストコーナー候補を取得する。
生成部54dは、取得した6つ以上のワーストコーナー候補と、各ワーストコーナー候補に対応するPTV条件とを用いて、線形回帰分析により、下記の式(3)に示す係数k1、k2、k3、k4、k5を決定することで式(3)が示す回帰式モデルを生成する。
Figure 0005500049
なお、f(P,P,T,V)は、ワーストコーナー候補を示す。
そして、生成部54dは、生成した回帰式モデルに対して、ワーストコーナー候補との対応関係が既知であるPTV条件(p,p,t,v)を用いて、ワーストコーナー候補を決定する。そして、生成部54dは、決定したワーストコーナー候補と、予め対応関係が既知であるワーストコーナー候補とを比較して、差が所定の許容誤差以内か否かを判定する。差が所定の許容誤差以内であれば、上記の式(3)が示す回帰式モデルを用いて、第1の決定部14aが、PTV条件からワーストコーナー候補を決定する。
また、差が所定の許容誤差より大きければ、生成部54dは、P=[P min,P max]、P=[P min,P max]、T=[Tmin,Tmax]、V=[Vmin,Vmax]のそれぞれの範囲を分割する。そして、生成部54dは、分割した範囲の中から、上記と同様に、PTV条件を複数選択する。そして、生成部54dは、選択した複数のPTV条件を、上記と同様に、第1の決定部14aに入力し、第1の決定部14aで決定された複数のワーストコーナー候補を取得する。そして、生成部54dは、上記と同様に、以降の処理を行う。なお、線形回帰分析は、線形でない二次以上のモデル式を使う分析を適用することも可能である。その場合は、PTV条件の範囲から選択する点の個数は、モデル式が一意に定まる[モデル式の係数の個数+1]以上となるようにする。
[処理の流れ]
次に、本実施例に係る設計支援装置50の処理の流れを説明する。図17は、実施例3に係る回帰式モデル生成処理の手順を示すフローチャートである。この回帰式モデル生成処理は、入力部11から制御部54に回帰式モデル生成処理を実行する指示が入力された場合に実行される。
図17に示すように、生成部54dは、PTV条件の範囲から、6点以上の条件を選択する(ステップS301)。
そして、生成部54dは、6点以上のPTV条件を第1の決定部14aに入力し、第1の決定部14aで決定された6つ以上のワーストコーナー候補を取得する(ステップS302)。
生成部54dは、取得した6つ以上のワーストコーナー候補と、各ワーストコーナー候補に対応するPTV条件とを用いて、線形回帰分析により、上記の係数k1、k2、k3、k4、k5を決定することで、回帰式モデルを生成する(ステップS303)。
生成部54dは、生成した回帰式モデルに対して、ワーストコーナー候補との対応関係が既知であるPTV条件(p,p,t,v)を用いて、ワーストコーナー候補を決定する(ステップS304)。
生成部54dは、決定したワーストコーナー候補と、予め対応関係が既知であるワーストコーナー候補とを比較して、差が所定の許容誤差以内か否かを判定する(ステップS305)。差が所定の許容誤差以内の場合(ステップS305肯定)には、上記の回帰式モデルを用いて、第1の決定部14aが、PTV条件からワーストコーナー候補を決定するようにし(ステップS306)、処理を終了する。
一方、差が所定の許容誤差より大きい場合(ステップS305否定)には、生成部54dは、P、P、T、Vのそれぞれの範囲を分割し(ステップS307)、ステップS301に戻り、分割されたPTV条件の範囲から、6点以上の条件を選択する。
[実施例3の効果]
上述してきたように、本実施例に係る設計支援装置50は、複数の条件に基づいて、ワーストコーナー候補を複数の条件ごとに決定する。また、本実施例に係る設計支援装置50は、許容範囲内に含まれるワーストコーナー候補同士を対応付ける。また、本実施例に係る設計支援装置50は、対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、ワーストコーナーとして決定する。このように、本実施例に係る設計支援装置50は、複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、シミュレーションに用いるワーストコーナーとして決定する。したがって、本実施例に係る設計支援装置50によれば、管理するワーストコーナーの個数が減るため、ワーストコーナーの管理をより簡易にすることができる。
また、本実施例に係る設計支援装置50は、複数のPTV条件と、対応するワーストコーナー候補とに基づいて、PTV条件からワーストコーナー候補を決定する回帰式モデルを生成する。そして、本実施例に係る設計支援装置50は、生成した回帰式モデルを用いて、PTV条件からワーストコーナー候補を決定する。したがって、本実施例に係る設計支援装置50によれば、簡易にワーストコーナー候補を決定することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[条件の範囲の分割]
上記の実施例3では、差が所定の許容誤差より大きければ、生成部54dは、P、P、T、Vのそれぞれの範囲を分割する場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、所定の精度が確保されるのであれば、P、P、T、Vの少なくとも一つの範囲を分割するようにしてもよい。また、上記の実施例2においても、P、P、T、Vのそれぞれについて、所定の精度が確保されるのであれば、必要な分だけ区切るようにしてもよい。
[許容誤差]
上記の実施例1では、所定の性能指標の大きさに応じた角度を許容誤差とする場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、所定の性能指標の大きさに応じた良品率を許容誤差とすることができる。図18は、良品率を許容誤差とした場合の一例を示す図である。図18に示すように、第1の決定部14aは、設計値15から、最初に決定したワーストコーナー候補WC1に向けた方向の直線と不良境界g(u)との交点Q1に対応する良品率を算出する。また、第1の決定部14aは、設計値15からワーストコーナー候補WC2´に向けた方向の直線と不良境界g(u)との交点Q2に対応する良品率とを算出する。そして、第1の決定部14aは、算出したQ1に対応する良品率と、Q2に対応する良品率との差が、所定の許容誤差内である場合には、WC1とWC2´とが許容誤差内であると判定する。
[適用範囲]
上記の各実施例では、回路を設計対象とする場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、建築物などを設計対象とすることもできる。すなわち、性能指標を算出するためのモデル関数のパラメータが確率変数として扱われるものであれば、設計対象はいかなるものであってもよい。また、複数のばらつき要因により性能が変わり、かつ、各々のばらつきが確率分布で与えられるようなものについて、全てに適用することができる。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図15のステップS202、図17のステップS307において、試験者が条件の範囲を区切る、または分割してもよい。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、良品率Xを算出するステップS101を省略することもできる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す第1の決定部14aと第2の決定部14bとが統合されてもよい。
[設計支援プログラム]
また、上記の各実施例で説明した移動物特定装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図19を用いて、上記の実施例で説明した設計支援装置と同様の機能を有する設計支援プログラムを実行するコンピュータの一例を説明する。図19は、設計支援プログラムを実行するコンピュータを示す図である。
図19に示すように、実施例4におけるコンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
ROM320には、上記の実施例1で示す第1の決定部14aと、第2の決定部14bと、判定部14cと同様の機能を発揮する設計支援プログラムが予め記憶される。すなわち、ROM320には、図19に示すように、設計支援プログラム320aが記憶される。なお、設計支援プログラム320aについては、適宜分離しても良い。
そして、CPU310が、設計支援プログラム320aをROM320から読み出して実行する。
そして、HDD330には、モデル関数330aと、被覆表330bとが設けられる。モデル関数330a、被覆表330bのそれぞれは、図1に示したモデル関数13a、被覆表13bのそれぞれに対応する。
そして、CPU310は、モデル関数330a、被覆表330bを読み出してRAM340に格納する。CPU310は、RAM340に格納されたモデル関数データ340a、被覆表データ340bを用いて、設計支援プログラム320aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。
なお、上記した設計支援プログラムについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 設計支援装置
11 入力部
12 出力部
13 記憶部
13a モデル関数
13b 被覆表
14 制御部
14a 第1の決定部
14b 第2の決定部
14c 判定部

Claims (7)

  1. コンピュータに、
    複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、前記設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上でのワーストコーナー候補を前記複数の条件ごとに決定し、許容範囲内に含まれる前記ワーストコーナー候補同士を対応付け、
    対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、前記複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、前記複数の条件で前記設計対象の動作のシミュレーションを行う際のワーストコーナーとして決定する
    処理を実行させることを特徴とする設計支援プログラム。
  2. 前記ワーストコーナー候補同士を対応付ける処理は、複数の条件のうち1つの条件において、ワーストコーナー候補を決定した場合には、前記1つの条件において決定されたワーストコーナー候補を起点として勾配法により他の条件におけるワーストコーナー候補を決定することを特徴とする請求項1に記載の設計支援プログラム。
  3. 前記ワーストコーナー候補同士を対応付ける処理は、複数の条件のそれぞれについて各範囲が定められている場合には、該複数の条件の各範囲内の条件に基づいて、前記ワーストコーナー候補を決定し、許容範囲内に含まれる前記ワーストコーナー候補同士を対応付けることを特徴とする請求項1または2に記載の設計支援プログラム。
  4. コンピュータに、
    前記決定されたワーストコーナーのそれぞれについて、該ワーストコーナーに対応するパラメータを用いて、前記設計対象が正常に動作するか否かを判定するとともに、一つのワーストコーナーに複数の条件が対応する場合には、該複数の条件のうち一つの条件において、該一つのワーストコーナーに対応するパラメータを用いて、前記設計対象が正常に動作するか否かを判定する
    処理をさらに実行させることを特徴とする請求項1〜3の何れか1項に記載の設計支援プログラム。
  5. コンピュータに、
    複数の条件と、対応する複数のワーストコーナー候補とに基づいて、条件からワーストコーナー候補を決定する回帰式モデルを生成する処理をさらに実行させ、
    前記ワーストコーナー候補同士を対応付ける処理は、前記回帰式モデルを用いてワーストコーナー候補を決定する
    ことを特徴とする請求項1〜4の何れか1項に記載の設計支援プログラム。
  6. 複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、前記設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上でのワーストコーナー候補を前記複数の条件ごとに決定し、許容範囲内に含まれる前記ワーストコーナー候補同士を対応付ける第1の決定部と、
    前記第1の決定部により対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、前記複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、前記複数の条件で前記設計対象の動作のシミュレーションを行う際のワーストコーナーとして決定する第2の決定部と
    を有することを特徴とする設計支援装置。
  7. コンピュータが実行する設計支援方法であって、
    複数の条件、設計対象を示す設計対象情報、および良品率に基づいて、前記設計対象の性能指標を算出するためのモデル関数のパラメータであって確率変数であるパラメータが張る性能指標の空間内における良品率に対応する等確率面上でのワーストコーナー候補を前記複数の条件ごとに決定し、許容範囲内に含まれる前記ワーストコーナー候補同士を対応付け、
    対応付けられたワーストコーナー候補同士を一つのワーストコーナー候補とした場合に、前記複数の条件に対応するワーストコーナー候補の数が最小となるときのワーストコーナー候補を、前記複数の条件で前記設計対象の動作のシミュレーションを行う際のワーストコーナーとして決定する
    ことを特徴とする設計支援方法。
JP2010251180A 2010-11-09 2010-11-09 設計支援プログラム、設計支援装置および設計支援方法 Active JP5500049B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010251180A JP5500049B2 (ja) 2010-11-09 2010-11-09 設計支援プログラム、設計支援装置および設計支援方法
US13/210,945 US8418089B2 (en) 2010-11-09 2011-08-16 Computer readable non-transitory medium storing design aiding program, design aiding apparatus, and design aiding method for determining performance index of an integrated circuit in worst case operation conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010251180A JP5500049B2 (ja) 2010-11-09 2010-11-09 設計支援プログラム、設計支援装置および設計支援方法

Publications (2)

Publication Number Publication Date
JP2012103861A JP2012103861A (ja) 2012-05-31
JP5500049B2 true JP5500049B2 (ja) 2014-05-21

Family

ID=46020855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010251180A Active JP5500049B2 (ja) 2010-11-09 2010-11-09 設計支援プログラム、設計支援装置および設計支援方法

Country Status (2)

Country Link
US (1) US8418089B2 (ja)
JP (1) JP5500049B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6255982B2 (ja) * 2013-12-24 2018-01-10 富士通株式会社 検証支援プログラム、および検証支援方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296561A (ja) * 1998-04-07 1999-10-29 Toshiba Corp ワーストケース・モデルパラメータ生成方法及び装置
JP2001195445A (ja) * 1999-11-29 2001-07-19 Texas Instr Inc <Ti> アナログ回路の最悪ケース性能モデル化
US7669150B2 (en) * 2004-10-29 2010-02-23 Xigmix, Inc. Statistical optimization and design method for analog and digital circuits
US7493574B2 (en) * 2006-02-23 2009-02-17 Cadence Designs Systems, Inc. Method and system for improving yield of an integrated circuit
US7716023B2 (en) * 2007-02-13 2010-05-11 Oracle America, Inc. Multidimensional process corner derivation using surrogate based simultaneous yield analysis
WO2008102681A1 (ja) * 2007-02-19 2008-08-28 Nec Corporation 回路動作の最悪条件決定システム、方法およびプログラム

Also Published As

Publication number Publication date
US8418089B2 (en) 2013-04-09
JP2012103861A (ja) 2012-05-31
US20120117526A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
US10902173B2 (en) System for designing integrated circuit using extracted model parameter and method of manufacturing integrated circuit using the same
TWI444844B (zh) 模擬參數校正技術
JP4664231B2 (ja) タイミング解析方法及びタイミング解析装置
US9607684B2 (en) Circuit-level abstraction of multigate devices using two-dimensional technology computer aided design
US11120193B2 (en) Analysis of coupled noise for integrated circuit design
US10867115B2 (en) System and method for calculating cell edge leakage
US20170103154A1 (en) Circuit design method and simulation method based on process variation caused by aging
JP5044635B2 (ja) 回路動作の最悪条件決定システム、方法およびプログラム
US10311187B2 (en) Circuit design method and simulation method based on random telegraph signal noise
US9582626B1 (en) Using waveform propagation for accurate delay calculation
JP5500049B2 (ja) 設計支援プログラム、設計支援装置および設計支援方法
US11022998B2 (en) Optimally driving non-uniform clock mesh loads
US10169509B2 (en) Efficient deployment of table lookup (TLU) in an enterprise-level scalable circuit simulation architecture
US8676547B2 (en) Parameter extraction method
US10176284B2 (en) Semiconductor circuit design and manufacture method
JP2007310873A (ja) パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体
US20190384868A1 (en) Method and apparatus for adaptive voltage scaling to eliminate delay variation of whole design
US11009551B2 (en) Device and method of analyzing transistor and non-transitory computer readable medium
US10614182B2 (en) Timing analysis for electronic design automation of parallel multi-state driver circuits
CN107526857B (zh) Eeprom单元仿真模型以及eeprom阵列仿真模型
US9411919B2 (en) Method and apparatus for bitcell modeling
US10444276B2 (en) Computing device executing program performing method of analyzing power noise in semiconductor device, semiconductor device design method, and program storage medium storing program
TWI783773B (zh) 用來建立關於電路特性之製程飄移模型以供進行電路模擬之方法及電路模擬系統
JP6255982B2 (ja) 検証支援プログラム、および検証支援方法
Ren et al. Quantitative Optimization and Early Cost Estimation of Low-Power Hierarchical-Architecture SRAMs Based on Accurate Cost Models

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5500049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150