JP5370256B2 - 解析支援プログラム、解析支援装置および解析支援方法 - Google Patents
解析支援プログラム、解析支援装置および解析支援方法 Download PDFInfo
- Publication number
- JP5370256B2 JP5370256B2 JP2010106790A JP2010106790A JP5370256B2 JP 5370256 B2 JP5370256 B2 JP 5370256B2 JP 2010106790 A JP2010106790 A JP 2010106790A JP 2010106790 A JP2010106790 A JP 2010106790A JP 5370256 B2 JP5370256 B2 JP 5370256B2
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- variation
- leakage current
- element group
- analysis 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2894—Aspects of quality control [QC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/50—Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
- G01R31/52—Testing for short-circuits, leakage current or ground faults
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本発明は、半導体集積回路のリーク電流の解析を支援する解析支援プログラム、解析支援装置および解析支援方法に関する。
近年、半導体集積回路の微細化にともなって、プロセスに起因するリーク電流のバラツキが増大している。リーク電流とは、電子回路において本来流れるはずのない箇所で流れ出る電流である。リーク電流は、回路の消費電力・発熱を増大させ、回路の性能を低下させる原因となる。そのため、回路設計時にリーク電流を正確に見積もり、その対策を行なうことが重要となる。
リーク電流のバラツキを考慮して対象回路のリーク電流を見積もる手法として、統計的リーク電流解析がある。統計的リーク電流解析では、回路内の各素子のリーク電流のバラツキモデルを作成する。そして、統計的リーク電流解析では、回路内の各素子のリーク電流のバラツキの総和として、回路全体のリーク電流のバラツキ分布を計算する。
しかしながら、上述した従来技術では、回路内の膨大な数(たとえば、数千万〜数億)の素子のリーク電流のバラツキの総和として、回路全体のリーク電流のバラツキ分布を計算する。このため、統計的リーク電流解析にかかる処理時間が増大化し、ひいては設計期間の長期化を招くという問題があった。
本発明は、上述した従来技術による問題点を解消するため、対象回路のリーク電流の解析にかかる処理時間の短縮化を図ることができる解析支援プログラム、解析支援装置および解析支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示の解析支援プログラム、解析支援装置および解析支援方法は、対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得し、取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出し、検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換し、変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出し、算出された前記素子群のリーク電流のバラツキを表す関数を出力することを要件とする。
本解析支援プログラム、解析支援装置および解析支援方法によれば、対象回路のリーク電流の解析にかかる処理時間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる解析支援プログラム、解析支援装置および解析支援方法の好適な実施の形態を詳細に説明する。
(本解析支援手法の一実施例)
まず、実施の形態にかかる本解析支援手法の一実施例について説明する。なお、本明細書において、対象回路とは、回路設計時におけるリーク電流の解析対象となる半導体集積回路(たとえば、プロセッサ)である。セルとは、対象回路に含まれるNOTゲート、ANDゲート、NANDゲート、ORゲート、配線、バッファ、INV(インバータ)、FFなどの素子である。
まず、実施の形態にかかる本解析支援手法の一実施例について説明する。なお、本明細書において、対象回路とは、回路設計時におけるリーク電流の解析対象となる半導体集積回路(たとえば、プロセッサ)である。セルとは、対象回路に含まれるNOTゲート、ANDゲート、NANDゲート、ORゲート、配線、バッファ、INV(インバータ)、FFなどの素子である。
対象回路内の各セルのリーク電流のバラツキとして、対象回路内の各セルに固有の第1バラツキと、対象回路内の全セルに共通の第2バラツキとがある。このため、セルのリーク電流のバラツキは、下記式(1)のように、セル内のトランジスタのゲート長、ゲート幅などに基づくバラツキパラメータの関数として表現することができる。
ただし、lCは、セルのリーク電流のバラツキである。また、αは、第1バラツキに関する各セルに固有の第1バラツキパラメータである。また、βは、第2バラツキに関する対象回路内の全セルに共通の第2バラツキパラメータである。α,βは、確率変数であり、たとえば、平均「0」、標準偏差「1」の標準正規分布である。また、a,b,cは各セルに固有の係数である。
lC=exp(a+b×α+c×β) ・・・(1)
以下、図1を用いて、本解析支援手法の一実施例について説明する。図1は、本解析支援手法の一実施例を示す説明図である。図1において、対象回路100は、セルC1〜C5を含む構成である。なお、図面では、対象回路100の一部を抜粋して表示している。ここでは説明上、対象回路100に含まれる全セルをセルC1〜C3とする。
この場合、対象回路100のリーク電流のバラツキは、下記式(2)のように、各セルC1〜C3のリーク電流のバラツキの総和となる。ただし、Lは、対象回路100のリーク電流のバラツキである。lC1は、セルC1のリーク電流のバラツキである。lC2は、セルC2のリーク電流のバラツキである。lC3は、セルC3のリーク電流のバラツキである。
L=lC1+lC2+lC3
=exp(a1+b1×α1+c1×β)+exp(a2+b2×α2+c2×β)+exp(a3+b3×α3+c3×β) ・・・(2)
=exp(a1+b1×α1+c1×β)+exp(a2+b2×α2+c2×β)+exp(a3+b3×α3+c3×β) ・・・(2)
対象回路100内のセルC1〜C3は、特性が同一または類似するセル群である。具体的には、セルC1〜C3は、同一の駆動能力を有するNANDゲートである。ここで、特性が同一のセル群とは、たとえば、セルの種類(機能)が同一でかつセルの駆動能力が同一のセル群である。また、特性が類似のセル群とは、たとえば、セルの種類が同一かつセルの駆動能力の違いが所定値以内のセル群である。
特性が同一または類似するセル同士は、各セルに固有の上記係数a,b,cの値が同一または近似する。上記式(2)の例では、係数a1〜a3の値は同一であり、係数b1〜b3の値は同一であり、係数c1〜c3の値は同一である。
(i)本解析支援手法では、各係数a1〜a3,b1〜b3,c1〜c3を係数a,b,cに置き換える(ただし、a=a1=a2=a3、b=b1=b2=b3、c=c1=c2=c3)。この結果、上記式(2)は下記式(3)に変換される。
L=exp(a+b×α1+c×β)+exp(a+b×α2+c×β)+exp(a+b×α3+c×β)
=exp(a)×{exp(b×α1)+exp(b×α2)+exp(b×α3)}×exp(c×β) ・・・(3)
=exp(a)×{exp(b×α1)+exp(b×α2)+exp(b×α3)}×exp(c×β) ・・・(3)
(ii)本解析支援手法では、上記式(3)に含まれるセルC1〜C3ごとに固有の複数の第1バラツキパラメータα1,α2,α3を一つの第1バラツキパラメータαに変換する。具体的には、たとえば、本解析支援手法では、数学的な近似手法を用いて、上記式(3)の第1バラツキパラメータα1,α2,α3を含む項を下記式(4)のように変換する。ただし、Aは下記式(5)、B2は下記式(6)となる。
exp(b×α1)+exp(b×α2)+exp(b×α3)
≒exp(A+B×α) ・・・(4)
≒exp(A+B×α) ・・・(4)
A=(1/2)×log[33exp(b2)/{exp(b2)+3−1}]
・・・(5)
・・・(5)
B2=log{(exp(b2)+3−1)/3} ・・・(6)
(iii)本解析支援手法では、複数の第1バラツキパラメータα1,α2,α3を一つに集約した第1バラツキパラメータαを用いて、対象回路100(セルC1〜C3)のリーク電流のバラツキを表す関数を算出する。この結果、上記式(3)は下記式(7)に変換される。
L=exp(a)×exp(A+B×α)×exp(c×β)
=exp(a+A+B×α+c×β) ・・・(7)
=exp(a+A+B×α+c×β) ・・・(7)
以上説明した本解析支援手法によれば、対象回路内の複数のセルを特性が同一または類似するセル群に分類して、リーク電流のバラツキを表す関数(多項式)の項数を削減することができる。その結果、対象回路の統計的リーク電流解析にかかる処理時間の短縮化を図ることができる。上記式(3)から上記式(7)への変換例では、指数関数に関する項が3項から1項に削減されている。
(解析支援装置200のハードウェア構成)
つぎに、実施の形態にかかる解析支援装置200のハードウェア構成について説明する。図2は、解析支援装置のハードウェア構成の一例を示すブロック図である。図2において、解析支援装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス220によってそれぞれ接続されている。
つぎに、実施の形態にかかる解析支援装置200のハードウェア構成について説明する。図2は、解析支援装置のハードウェア構成の一例を示すブロック図である。図2において、解析支援装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス220によってそれぞれ接続されている。
ここで、CPU201は、解析支援装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行なう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行なう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、解析支援装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(セルバラツキデータテーブル300の記憶内容)
つぎに、解析支援装置200が用いるセルバラツキデータテーブル300の記憶内容について説明する。なお、セルバラツキデータテーブル300は、たとえば、図2に示したRAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。
つぎに、解析支援装置200が用いるセルバラツキデータテーブル300の記憶内容について説明する。なお、セルバラツキデータテーブル300は、たとえば、図2に示したRAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。
図3は、セルバラツキデータテーブルの記憶内容の一例を示す説明図である。図3において、セルバラツキデータテーブル300は、セルID、係数a、係数bおよび係数cのフィールドを有する。各フィールドに情報を設定することで、セルC1〜Cnごとのセルバラツキデータ300−1〜300−nがレコードとして記憶されている。
ここで、セルIDは、対象回路に含まれるセルCiの識別子である(i=1,2,…,n)。係数a,b,cは、セルCiのリーク電流のバラツキを表現する上記式(1)に含まれる係数群である。セルCiを例に挙げると、係数群{a、b、c}は{a(i)、b(i)、c(i)}となる。
(解析支援装置200の機能的構成)
つぎに、解析支援装置200の機能的構成について説明する。図4は、解析支援装置の機能的構成の一例を示すブロック図である。図4において、解析支援装置200は、取得部401と、検出部402と、分割部403と、係数算出部404と、変換部405と、関数算出部406と、リーク算出部407と、出力部408と、を含む構成である。
つぎに、解析支援装置200の機能的構成について説明する。図4は、解析支援装置の機能的構成の一例を示すブロック図である。図4において、解析支援装置200は、取得部401と、検出部402と、分割部403と、係数算出部404と、変換部405と、関数算出部406と、リーク算出部407と、出力部408と、を含む構成である。
各機能部(取得部401〜出力部408)は、具体的には、たとえば、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。また、各機能部(取得部401〜出力部408)の処理結果は、特に指定する場合を除いて、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
まず、取得部401は、対象回路内のセルCiごとに、セルCiのリーク電流のバラツキを表す関数に含まれるセルCiに固有の係数を取得する機能を有する。ここで、各セルCiのリーク電流のバラツキを表す関数とは、たとえば、上記式(1)に示す確率密度関数である。また、セルCiに固有の係数とは、たとえば、上記式(1)に含まれる係数群{a,b,c}である。
具体的には、たとえば、取得部401が、キーボード210やマウス211を用いたユーザの操作入力により、セルバラツキデータ300−1〜300−nを取得する。また、取得部401が、不図示のデータベースやライブラリからの抽出によりセルバラツキデータ300−1〜300−nを取得することにしてもよい。なお、取得されたセルバラツキデータ300−1〜300−nは、たとえば、図3に示したセルバラツキデータテーブル300に記憶される。
検出部402は、取得されたセルCiに固有の係数に基づいて、対象回路内の複数のセルC1〜Cnの中から特性が同一または類似するセル群を検出する機能を有する。ここで、特性とは、たとえば、NOTゲート、ANDゲート、配線、バッファ、INV、FFなどのセルCiの種類やセルCiの駆動能力によって決まるセルCiの特性である。
また、特性が同一または類似するセル同士は、セルCiに固有の係数の値が同一または近似する。そこで、検出部402は、複数のセルC1〜Cnのうち、セルCiに固有の係数の値が同一または近似するセル群を、特性が同一または類似するセル群として検出する。以下、図5を用いて、検出部402の具体的な処理内容の一例について説明する。
図5は、検出部の処理内容の概要を示す説明図である。図5において、abc座標系500は、a軸とb軸とc軸とからなる直交座標系である。ここで、a軸は、上記式(1)に含まれる係数aの値を示す座標軸である。b軸は、上記式(1)に含まれる係数bの値を示す座標軸である。c軸は、上記式(1)に含まれる係数cの値を示す座標軸である。
まず、分割部403は、分割数Na,Nb,Ncに基づいて、各係数a,b,cの最小値から最大値までを分割する。ここで、分割数Naは、セルCiに固有の係数aの最小値から最大値までを分割する際の分割数である。分割数Nbは、セルCiに固有の係数bの最小値から最大値までを分割する際の分割数である。分割数Ncは、セルCiに固有の係数cの最小値から最大値までを分割する際の分割数である。
なお、分割数Na,Nb,Ncは、たとえば、予め設定されてROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。また、取得部401が、キーボード210やマウス211を用いたユーザの操作入力により、分割数Na,Nb,Ncを取得することにしてもよい。
ただし、分割数Na,Nb,Ncを大きい値に設定するほど、対象回路のリーク電流を高精度に求めることができる一方で、解析にかかる処理時間が増加するというトレードオフの関係にある。そのため、分割数Na,Nb,Ncの値は、対象回路の設計期間等に合わせてユーザが適宜設定する。
具体的には、たとえば、分割部403が、各係数a〜cの最小値から最大値までを分割数Na,Nb,Ncで均等に分割する。この結果、各軸(a軸、b軸、c軸)が複数の区間に分割される。この場合、各軸a〜cの各区間の長さ(以下、「メッシュ幅」という)は、下記式(8)〜(10)となる。
ただし、ha,hb,hcは、a軸、b軸、c軸のメッシュ幅である。また、amax,aminは、セルC1〜Cnの係数a(1)〜a(n)のうちの最大値、最小値である。bmax,bminは、セルC1〜Cnの係数b(1)〜b(n)のうちの最大値、最小値である。cmax,cminは、セルC1〜Cnの係数c(1)〜c(n)のうちの最大値、最小値である。Na,Nb,Ncは、分割数である。
ha=(amax−amin)/Na ・・・(8)
hb=(bmax−bmin)/Nb ・・・(9)
hc=(cmax−cmin)/Nc ・・・(10)
たとえば、各分割数Na,Nb,Ncを「Na=2,Nb=3,Nc=2」とする。この場合、a軸のaminからamaxまでの区間が2等分され、b軸のbminからbmaxまでの区間が3等分され、c軸のcminからcmaxまでの区間が2等分される。
ここで、abc座標系500において、点t1〜点t8を頂点とする空間510を想定する(図5中、太線の直方体)。ただし、点t1〜点4の座標(a,b,c)は、点t1(amin,bmin,cmin)、点t2(amax,bmin,cmin)、点t3(amax,bmax,cmin)、点t4(amin,bmax,cmin)である。また、点t5〜点8の座標(a,b,c)は、点t5(amin,bmin,cmax)、点t6(amax,bmin,cmax)、点t7(amax,bmax,cmax)、点t8(amin,bmax,cmax)である。
そして、空間510を、a軸上の分割点を通り、b軸とc軸とからなる平面に平行な面で分割する。また、空間510を、b軸上の分割点を通り、a軸とc軸とからなる平面に平行な面で分割する。空間510を、c軸上の分割点を通り、a軸とb軸とからなる平面に平行な面で分割する。
この結果、abc座標系500において、空間510が複数の立方体または直方体(以下、「メッシュ空間M1〜Mm」という)に分割される。図5に示す例では、abc座標系500において、空間510がメッシュ空間M1〜M12に分割されている(m=Na×Nb×Nc=12)。
ここで、メッシュ空間M1〜Mmのうちメッシュ空間Mj(j=1,2,…,m)のabc座標系500における座標を下記式(11)のように表現する。ただし、raは、メッシュ空間Mjのa軸上の座標(係数aの範囲)である。rbは、メッシュ空間Mjのb軸上の座標(係数bの範囲)である。rcは、メッシュ空間Mjのc軸上の座標(係数cの範囲)である。ra,rb,rcは、0を含む自然数(0,1,2,…)である。
[ra,rb,rc]=[amin+ra×ha≦a<amin+(ra+1)×ha,bmin+rb×hb≦b<bmin+(rb+1)×hb,cmin+rc×hc≦c<cmin+(rc+1)×hc] ・・・(11)
たとえば、メッシュ空間M1の座標[ra,rb,rc]は、[0,0,0]=[amin≦a<amin+ha,bmin≦b<bmin+hb,cmin≦c<cmin+hc]である。また、メッシュ空間M8の座標[ra,rb,rc]は、[1,0,1]=[amin+ha≦a<amin+2ha,bmin≦b<bmin+hb,cmin+hc≦c<cmin+2hc]である。
そして、検出部402は、セルCiに固有の係数a、b、cの値に基づいて、セルCiをabc座標系500にプロットした場合に、メッシュ空間Mjに含まれるセル群を、特性が同一または類似するセル群として検出する。すなわち、係数a、b、cの値が近似しているものは、同一のメッシュ空間Mjに含まれることを利用して、特性が同一または類似するセル群をメッシュ空間単位で検出する。
ここで、メッシュ空間M8を例に挙げると、検出部402が、複数のセルC1〜Cnの中から、係数aの値が下記式(12)を満たし、かつ、係数bの値が下記式(13)を満たし、かつ、係数cの値が下記式(14)を満たすセル群を検出する。図5の例では、メッシュ空間M8に含まれるセルC3,C5,C7,C9が、特性が同一または類似するセル群として検出される。
amin+ha≦a<amin+2ha ・・・(12)
bmin≦b<bmin+hb ・・・(13)
cmin+hc≦c<cmin+2hc ・・・(14)
bmin≦b<bmin+hb ・・・(13)
cmin+hc≦c<cmin+2hc ・・・(14)
なお、検出された検出結果は、たとえば、図6に示すメッシュバラツキデータテーブル600に記憶される。メッシュバラツキデータテーブル600は、たとえば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。
図6は、メッシュバラツキデータテーブルの記憶内容の一例を示す説明図である。図6において、メッシュバラツキデータテーブル600は、メッシュ空間ID、座標、セルID、セル数、係数A、係数Bおよび係数Cのフィールドを有する。各フィールドに情報を設定することで、メッシュ空間M1〜Mmごとのメッシュバラツキデータ600−1〜600−mがレコードとして記憶されている。
ここで、メッシュ空間IDは、メッシュ空間Mjの識別子である(j=1,2,…,m)。座標は、abc座標系500におけるメッシュ空間Mjの座標である。セルIDは、メッシュ空間Mjに含まれるセルCiの識別子である。以下の説明では、メッシュ空間Mjに含まれるセルCiを「セルp[1],セルp[2],…,セルp[X]」と表記する。
セル数は、メッシュ空間Mjに含まれるセル数Xである。係数A、係数Bおよび係数Cは、メッシュ空間Mjに含まれるセル群p[1]〜p[X]のリーク電流のバラツキを表す下記式(23)に含まれる係数群である。なお、係数A、係数Bおよび係数Cについての詳細は後述する。
たとえば、検出部402によってメッシュ空間M8に含まれるセルC3,C5,C7,C9が検出されたとする。この場合、メッシュバラツキデータテーブル600内のメッシュ空間M8の「セルID」フィールドに「C3,C5,C7,C9」が設定され、「セル数」フィールドに「4」が設定される。
図4の説明に戻り、係数算出部404は、検出されたセル群に含まれるセルCiに固有の係数に基づいて、セル群に含まれる全セルCiに共通の係数の値を算出する。具体的には、たとえば、係数算出部404は、下記式(15)〜(17)を用いて、セル群p[1]〜p[X]に共通の係数の値を算出することができる。
ただし、ga(j)は、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数aの値である。gb(j)は、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数bの値である。gc(j)は、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数cの値である。
また、Xは、メッシュ空間Mjに含まれるセル数である。pa[1]〜pa[X]は、各セルp[1]〜p[X]の係数aの値である。pb[1]〜pb[X]は、各セルp[1]〜p[X]の係数bの値である。pc[1]〜pc[X]は、各セルp[1]〜p[X]の係数cの値である。
ga(j)=(pa[1]+pa[2]+…+pa[X])/X ・・・(15)
gb(j)=(pb[1]+pb[2]+…+pb[X])/X ・・・(16)
gc(j)=(pc[1]+pc[2]+…+pc[X])/X ・・・(17)
上述したメッシュ空間M8の例では、メッシュ空間M8に含まれるセルC3,C5,C7,C9に共通の係数aの値は、「ga(8)={a(3)+a(5)+a(7)+a(9)}/4」となる。また、メッシュ空間M8に含まれるセルC3,C5,C7,C9に共通の係数bの値は、「gb(8)={b(3)+b(5)+b(7)+b(9)}/4」となる。また、メッシュ空間M8に含まれるセルC3,C5,C7,C9に共通の係数cの値は、「gc(8)={c(3)+c(5)+c(7)+c(9)}/4」となる。
すなわち、各係数a,b,cの値の平均値(メッシュ空間Mjの重心)を、セルp[1]〜p[X]に共通の各係数a,b,cの値としている。ただし、メッシュ空間Mjの中心点の座標や、メッシュ空間Mj内の任意の点の座標を、セルp[1]〜p[X]に共通の各係数a,b,cの値としてもよい。なお、メッシュ空間Mjに含まれるセルCiが0点の場合、上記係数ga(j),gb(j),gc(j)は算出しない。
変換部405は、検出されたセル群に含まれるセルCiごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する機能を有する。具体的には、たとえば、まず、変換部405が、各セルp[1]〜p[X]に固有の係数pa[1]〜pa[X],pb[1]〜pb[X],pc[1]〜pc[X]を、セルp[1]〜p[X]に共通の係数ga(j),gb(j),gc(j)に変換する。
ここで、メッシュ空間Mjに含まれるセル群p[1]〜p[X]のリーク電流のバラツキは、下記式(18)のようになる。ただし、lMjは、メッシュ空間Mjに含まれるセル群p[1]〜p[X]のリーク電流のバラツキである。α[x]は、セルp[x]に固有の第1バラツキパラメータである(x=1,2,…,X)。βは、対象回路の全セルC1〜Cnに共通の第2バラツキパラメータである。
lMj=exp(pa[1]+pb[1]×α[1]+pc[1]×β)+exp(pa[2]+pb[2]×α[2]+pc[2]×β)+…+exp(pa[X]+pb[X]×α[X]+pc[X]×β) ・・・(18)
このため、変換部405が、各セルp[x]に固有の係数pa[x],pb[x],pc[x]を、全セルp[1]〜p[X]に共通の係数ga(j),gb(j),gc(j)に変換すると、上記式(18)は下記式(19)に変換される。
lMj=exp(ga(j))×{exp(gb(j)×α[1])+exp(gb(j)×α[2])+…+exp(gb(j)×α[X])}×exp(gc(j)×β)
・・・(19)
・・・(19)
このあと、変換部405は、上記式(19)に含まれる、セルp[1]〜p[X]ごとに固有のX個の第1バラツキパラメータα[1]〜α[X]を一つの第1バラツキパラメータαjに変換する。具体的には、たとえば、変換部405が、Wilkinson近似を用いて、上記式(19)の第1バラツキパラメータα[1]〜α[X]を含む項を下記式(20)のように変換することができる。ただし、A(j)は下記式(21)、B(j)2は下記式(22)となる。なお、Wilkinson近似についての詳細な説明は後述する。
exp(gb(j)×α[1])+exp(gb(j)×α[2])+…+exp(gb(j)×α[X]≒exp{A(j)+B(j)×αj} ・・・(20)
A(j)=ga(j)+(1/2)×log[N(j)3×exp(gb(j)2)/{exp(gb(j)2)+N(j)−1}] ・・・(21)
B(j)2=log{(exp(gb(j)2)+N(j)−1)/N(j)}
・・・(22)
・・・(22)
なお、変換された変換結果は、たとえば、図6に示したメッシュバラツキデータテーブル600に記憶される。具体的には、上記式(20)に含まれるA(j)およびB(j)が、メッシュバラツキデータテーブル600内のメッシュ空間Mjの「係数A」フィールドおよび「係数B」フィールドにそれぞれ設定される。
関数算出部406は、変換された変換後の確率変数を用いて、セル群のリーク電流のバラツキを表す関数を算出する機能を有する。具体的には、たとえば、関数算出部406が、第1バラツキパラメータαjを用いて、セル群p[1]〜p[X]のリーク電流のバラツキを表す下記式(23)を算出する。ただし、C(j)は、gc(j)である。βは、対象回路の全セルC1〜Cnに共通の第2バラツキパラメータである。
lMj=exp{A(j)+B(j)×αj+C(j)×β} ・・・(23)
なお、上記式(23)に含まれるC(j)は、メッシュバラツキデータテーブル600内のメッシュ空間Mjの「係数C」フィールドに設定される。
リーク算出部407は、算出されたセル群のリーク電流のバラツキを表す関数に基づいて、対象回路のリーク電流を算出する機能を有する。具体的には、たとえば、リーク算出部407が、メッシュバラツキデータテーブル600内のメッシュバラツキデータ600−1〜600−mに基づいて、対象回路の統計的リーク電流解析を実行する。
また、リーク算出部407が、メッシュバラツキデータ600−1〜600−mを外部のシミュレータ(不図示)に与えて、対象回路の統計的リーク電流解析を実行することにしてもよい。この場合、リーク算出部407が、統計的リーク電流解析の解析結果を外部のシミュレータから取得することになる。
より具体的には、たとえば、リーク算出部407が、メッシュバラツキデータ600−1〜600−mに基づいて、モンテカルロシミュレーションを実行する。この際、特性が同一または類似するセル群の係数項を集約しているため、乱数生成、指数計算、乗算、加法等の計算処理が大幅に削減され、処理時間の短縮化を図ることができる。
出力部408は、算出された対象回路のリーク電流を出力する機能を有する。具体的には、たとえば、出力部408が、図7に示す統計的リーク電流解析の解析結果700を出力することにしてもよい。出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。
図7は、解析結果の一例を示す説明図である。図7において、解析結果700は、対象回路のリーク電流L(1)〜L(K)ごとの累積確率P(1)〜P(K)を有している。ここで、リーク電流L(k)に対応する累積確率P(k)は、対象回路のリーク電流がL(k)以下となる確率を表している(k=1,2,…,K)。
また、出力部408は、関数算出部406によって算出されたセル群のリーク電流のバラツキを表す関数を出力することにしてもよい。具体的には、たとえば、出力部408が、メッシュバラツキデータテーブル600内のメッシュバラツキデータ600−1〜600−mを出力する。これにより、以降において、任意のタイミングで外部のシミュレータを用いて、対象回路の統計的リーク電流解析を実行することができる。
また、上述した説明では、分割部403が、各係数a〜cの最小値から最大値までを分割数Na,Nb,Ncで均等に分割することにしたが、これに限らない。具体的には、たとえば、分割部403が、係数aについてのみ、係数aの最小値から最大値までをリーク電流のティピカル値が均等となるように分割数Naで分割することにしてもよい。
ここで、リーク電流のティピカル値とは、たとえば、セルCiのリーク電流のバラツキ成分を排除した場合のセルCiのリーク電流である。すなわち、上記式(1)に含まれるα、βを無視(α=β=0)した場合のセルCiのリーク電流である。このため、セルCiのリーク電流のティピカル値は下記式(24)となる。ただし、ltypはリーク電流のティピカル値である。
ltyp=exp(a) ・・・(24)
すなわち、分割部403が、係数aについて、ティピカル値の最小値(exp(amin))から最大値(exp(amax))までを分割数Naで均等に分割する。なお、係数b,cについては、たとえば、分割部403が、各係数b,cの最小値から最大値までを分割数Nb,Ncで均等に分割する。なお、この場合のa軸のメッシュ幅haは下記式(25)となり、メッシュ空間Mjの座標は下記式(26)となる。
ha={exp(amax)−exp(amin)}/Na ・・・(25)
[ra,rb,rc]=[log{exp(amin)}+ra×ha]≦a<[log{exp(amin)}+(ra+1)×ha],bmin+rb×hb≦b<bmin+(rb+1)×hb,cmin+rc×hc≦c<cmin+(rc+1)×hc] ・・・(26)
このように、リーク電流のティピカル値が均等になるように分割することにより、係数aの最小値から最大値までを均等に分割する場合に比べて、リーク電流の値が同一または近似するセル群を、特性が同一または類似するセル群として検出することができる。この結果、対象回路のリーク電流を、より高精度に求めることができる。
また、上述した説明では、各セルCiに固有の全係数a,b,cに着目して、特性が同一または類似するセル群を検出することにしたが、これに限らない。たとえば、検出部402が、係数a,b,cのうちのいずれかの係数の値が同一または近似するセル群を、特性が同一または類似するセル群として検出することにしてもよい。具体的には、たとえば、分割部403が、各セルCiに固有の係数aの最小値から最大値までを分割数Naで複数の区間に分割する。そして、検出部402が、係数aの値が同一区間内となるセル群を、特性が同一または類似するセル群として検出する。
(Wilkinson近似)
以下、上述したWilkinson近似について説明する。Wilkinson近似は、下記式(27)のように、独立な対数正規確率変数の和を1つの対数正規確率変数eZ(Z:正規確率変数)で近似する手法である。具体的には、Wilkinson近似は、Zの平均・標準偏差を、下記式(27)の両辺の分布の平均と標準偏差が一致するように決める手法である。ただし、Yiは、互いに独立な正規確率変数である(i=1,2,…,n)。
以下、上述したWilkinson近似について説明する。Wilkinson近似は、下記式(27)のように、独立な対数正規確率変数の和を1つの対数正規確率変数eZ(Z:正規確率変数)で近似する手法である。具体的には、Wilkinson近似は、Zの平均・標準偏差を、下記式(27)の両辺の分布の平均と標準偏差が一致するように決める手法である。ただし、Yiは、互いに独立な正規確率変数である(i=1,2,…,n)。
ここで、上記式(27)に含まれる正規確率変数Yiの平均をmi、標準偏差をσiとする。この場合、上記式(27)の左辺の分布の平均は下記式(28)となり、分散は下記式(29)となる。ただし、Mは上記式(27)の左辺の分布の平均、Vは上記式(27)の左辺の分布の分散である。
また、正規確率変数Zの平均をm(Z)、標準偏差をσ(Z)とする。この場合、上記式(27)の右辺の分布の平均は下記式(30)となり、分散は下記式(31)となる。
Wilkinson近似では、上記式(28)と上記式(30)が等しく、上記式(29)と上記式(31)が等しいとした場合の方程式から、正規確率変数Zの平均m(Z)および標準偏差σ(Z)を計算する。方程式の解は、下記式(32)および(33)となる。ただし、Mは下記式(34)、Vは下記式(35)となる。
ここで、Wilkinson近似を用いて、上記式(4)を変換すると下記式(36)となる。ただし、α1〜α3は、互いに独立な正規確立変数である。
そして、上記式(36)に含まれる正規確立変数Zの平均、標準偏差は、上記式(32)および(33)から、下記式(37)および(38)となる。ただし、mは正規確立変数Zの平均、σは正規確立変数Zの標準偏差である。また、Mは下記式(39)、Vは下記式(40)となる。
以上のことから「eZ=em+σα」となり、上記式(4)のように、複数の第1バラツキパラメータα1,α2,α3を、一つの第1バラツキパラメータαに変換することができる。
(解析支援装置200の解析支援処理手順)
つぎに、解析支援装置200の解析支援処理手順について説明する。図8および図9は、解析支援装置の解析支援処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、取得部401により、セルバラツキデータ300−1〜300−nを取得したか否かを判断する(ステップS801)。
つぎに、解析支援装置200の解析支援処理手順について説明する。図8および図9は、解析支援装置の解析支援処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、取得部401により、セルバラツキデータ300−1〜300−nを取得したか否かを判断する(ステップS801)。
ここで、取得部401により、セルバラツキデータ300−1〜300−nを取得するのを待つ(ステップS801:No)。そして、セルバラツキデータ300−1〜300−nを取得した場合(ステップS801:Yes)、分割部403により、各係数a〜cの最小値から最大値までを分割数Na,Nb,Ncで均等に分割する(ステップS802)。
このあと、検出部402により、メッシュ空間Mjの「j」を「j=1」とする(ステップS803)。そして、検出部402により、メッシュ空間Mjの座標raを「ra=0」とし(ステップS804)、座標rbを「rb=0」とし(ステップS805)、座標rcを「rc=0」とする(ステップS806)。
つぎに、検出部402により、メッシュ空間Mjに含まれるセル群p[1]〜p[X]を検出する(ステップS807)。このあと、検出部402により、座標rcをインクリメントして(ステップS808)、「rc>Nc」となるか否かを判断する(ステップS809)。
ここで、「rc≦Nc」の場合(ステップS809:No)、検出部402により、jをインクリメントして(ステップS810)、ステップS807に戻る。一方、「rc>Nc」の場合(ステップS809:Yes)、検出部402により、座標rbをインクリメントして(ステップS811)、「rb>Nb」となるか否かを判断する(ステップS812)。
ここで、「rb≦Nb」の場合(ステップS812:No)、検出部402により、jをインクリメントして(ステップS813)、ステップS806に戻る。一方、「rb>Nb」の場合(ステップS812:Yes)、検出部402により、座標raをインクリメントして(ステップS814)、「ra>Na」となるか否かを判断する(ステップS815)。
ここで、「ra≦Na」の場合(ステップS815:No)、検出部402により、jをインクリメントして(ステップS816)、ステップS805に戻る。一方、「ra>Na」の場合(ステップS815:Yes)、図9に示すステップS817に移行する。
図9のフローチャートにおいて、まず、係数算出部404により、メッシュ空間Mjの「j」を「j=1」とする(ステップS817)。このあと、係数算出部404により、上記式(15)を用いて、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数ga(j)を算出する(ステップS818)。
また、係数算出部404により、上記式(16)を用いて、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数gb(j)を算出する(ステップS819)。また、係数算出部404により、上記式(17)を用いて、メッシュ空間Mjに含まれるセルp[1]〜p[X]に共通の係数gc(j)を算出する(ステップS820)。
そして、変換部405により、上記式(18)に含まれる係数pa[x],pb[x],pc[x]を、係数ga(j),gb(j),gc(j)に変換する(ステップS821)。この結果、上記式(18)が上記式(19)に変換される。
さらに、変換部405により、Wilkinson近似を用いて、第1バラツキパラメータα[1]〜α[X]を一つの第1バラツキパラメータαjに変換する(ステップS822)。この結果、上記式(19)が上記式(20)に変換される。なお、上記式(20)のA(j)およびB(j)は、メッシュバラツキデータテーブル600内のメッシュ空間Mjの「係数A」フィールドおよび「係数B」フィールドにそれぞれ設定される。
つぎに、変換部405により、第1バラツキパラメータαjを用いて、セル群p[1]〜p[X]のリーク電流のバラツキを表す関数を算出する(ステップS823)。この結果、上記式(23)が算出される。なお、上記式(23)のC(j)は、メッシュバラツキデータテーブル600内のメッシュ空間Mjの「係数C」フィールドに設定される。
このあと、係数算出部404により、jをインクリメントして(ステップS824)、「j>m?」となるか否かを判断する(ステップS825)。ここで、「j≦m」の場合(ステップS825:No)、ステップS818に戻る。
一方、「j>m」の場合(ステップS825:Yes)、出力部408により、メッシュバラツキデータテーブル600内のメッシュバラツキデータ600−1〜600−mを出力して(ステップS826)、本フローチャートによる一連の処理を終了する。
これにより、対象回路内の複数のセルC1〜Cnを特性が同一または類似するセル群に分類し、分類されたセル群のリーク電流のバラツキを表す関数(多項式)に含まれる項数を削減することができる。
(リーク電流算出処理手順)
つぎに、リーク算出部407のリーク電流算出処理手順について説明する。図10は、リーク算出部407のリーク電流算出処理手順の一例を示すフローチャートである。なお、以下に説明するリーク電流算出処理は、外部のシミュレータに実行させることにしてもよい。
つぎに、リーク算出部407のリーク電流算出処理手順について説明する。図10は、リーク算出部407のリーク電流算出処理手順の一例を示すフローチャートである。なお、以下に説明するリーク電流算出処理は、外部のシミュレータに実行させることにしてもよい。
図10のフローチャートにおいて、まず、リーク算出部407により、モンテカルロシミュレーションの反復回数Kを設定する(ステップS1001)。なお、反復回数Kは、たとえば、予め設定されてROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。
つぎに、リーク算出部407により、反復回数kを「k=1」とし(ステップS1002)、対象回路のリーク電流L(k)を「L(k)=0」とする(ステップS1003)。そして、リーク算出部407により、標準正規乱数β(平均:0、標準偏差:1)を生成する(ステップS1004)。なお、βは、対象回路の全セルC1〜Cnに共通の第2バラツキパラメータである。
そして、リーク算出部407により、メッシュ空間Mjの「j」を「j=1」とする(ステップS1005)。つぎに、リーク算出部407により、メッシュバラツキデータテーブル600を参照して、セル数N(j)が「N(j)=0」となるか否かを判断する(ステップS1006)。
ここで、「N(j)=0」の場合(ステップS1006:Yes)、ステップS1009に移行する。一方、「N(j)≠0」の場合(ステップS1006:No)、リーク算出部407により、標準正規乱数αjを生成する(ステップS1007)。なお、αjは、メッシュ空間Mjに含まれるセル群p[1]〜p[X]に固有の第1バラツキパラメータである。
このあと、リーク算出部407により、メッシュバラツキデータテーブル600を参照して、上記式(23)を用いて「L(k)=L(k)+exp{A(j)+B(j)×αj+C(j)×β}」を算出する(ステップS1008)。
そして、リーク算出部407により、jをインクリメントして(ステップS1009)、「j>m」となるか否かを判断する(ステップS1010)。ここで、「j≦m」の場合(ステップS1010:No)、ステップS1006に戻る。
一方、「j>m」の場合(ステップS1010:Yes)、リーク算出部407により、kをインクリメントして(ステップS1011)、「k>K」となるか否かを判断する(ステップS1012)。ここで、「k≦K」の場合(ステップS1012:No)、ステップS1003に戻る。
一方、「k>K」の場合(ステップS1012:Yes)、リーク算出部407により、L(1)〜L(K)を昇順にソートする(ステップS1013)。このあと、リーク算出部407により、「k=1」として(ステップS1014)、累積確率「P(k)=k/K」を算出する(ステップS1015)。
そして、リーク算出部407により、kをインクリメントして(ステップS1016)、「k>K」となるか否かを判断する(ステップS1017)。ここで、「k≦K」の場合(ステップS1017:No)、ステップS1015に戻る。
一方、「k>K」の場合(ステップS1017:Yes)、出力部408により、リーク電流L(k)と累積確率P(k)とを関連付けて表す解析結果700を出力して(ステップS1018)、本フローチャートによる一連の処理を終了する。
これにより、対象回路のリーク電流に関する累積確率密度分布(たとえば、解析結果700)を求めることができる。また、特性が同一または類似するセル群のリーク電流のバラツキを一つにまとめて表現しているため、乱数生成、指数計算、乗算、加法等の計算処理を削減することができる。また、ステップS1006において、「N(j)=0」のメッシュ空間Mjは処理対象から除外するため、乱数生成、指数計算、乗算、加法等の計算処理をさらに削減することができる。
以上説明したように、本実施の形態によれば、対象回路内のセルCiごとに固有の係数a,b,cが同一または近似するセル群を、特性が同一または類似するセル群として検出することができる。また、本実施の形態によれば、特性が同一または類似するセル群に含まれるセルCiごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換して、セル群のリーク電流のバラツキを表現する関数を算出することができる。これにより、対象回路のリーク電流バラツキを表現する関数内の項数を削減することができる。
また、本実施の形態によれば、メッシュ空間Mj内の全セルに共通の係数ga(j)〜gc(j)を算出することにより、メッシュ空間Mj内のセルp[x]ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することができる。
また、本実施の形態によれば、メッシュ空間単位のリーク電流のバラツキを表現する関数(上記式(20))を用いて、対象回路のリーク電流を算出することにより、統計的リーク電流解析にかかる処理時間を短縮することができる。具体的には、特性が同一または類似するセル群をメッシュ空間単位で分類することにより、対象回路のリーク電流バラツキを表現する関数内の項数を、セル数分の項数(n個)からメッシュ空間分の項数(m個)に削減することができる。この結果、たとえば、対象回路のリーク電流解析の処理速度を(n/m)倍程度高速化することができる。
また、対象回路のリーク電流解析時に、一つのセルCiも含まないメッシュ空間Mjを解析対象から除外することにより、対象回路のリーク電流バラツキを表現する関数内の項数をさらに削減することができる。たとえば、同一または類似するセルCiの特性が数千個程度の場合、数千万〜数億個のセル数分の項数を、数千個程度のメッシュ空間分の項数に削減することができる。この結果、対象回路のリーク電流解析にかかる処理時間をさらに短縮化することができる。
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した解析支援装置200は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した解析支援装置200の機能(取得部401〜出力部408)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、解析支援装置200を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
をコンピュータに実行させることを特徴とする解析支援プログラム。
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
をコンピュータに実行させることを特徴とする解析支援プログラム。
(付記2)さらに、前記検出工程によって検出された素子群に含まれる素子ごとに固有の係数に基づいて、当該素子群に含まれる全素子に共通の係数を算出する係数算出工程を前記コンピュータに実行させ、
前記変換工程は、前記係数算出工程によって算出された素子群に含まれる全素子に共通の係数に基づいて、前記素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することを特徴とする付記1に記載の解析支援プログラム。
前記変換工程は、前記係数算出工程によって算出された素子群に含まれる全素子に共通の係数に基づいて、前記素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することを特徴とする付記1に記載の解析支援プログラム。
(付記3)さらに、前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数に基づいて、前記対象回路のリーク電流を算出するリーク算出工程を前記コンピュータに実行させ、
前記出力工程は、前記リーク算出工程によって算出された前記対象回路のリーク電流を出力することを特徴とする付記1または2に記載の解析支援プログラム。
前記出力工程は、前記リーク算出工程によって算出された前記対象回路のリーク電流を出力することを特徴とする付記1または2に記載の解析支援プログラム。
(付記4)さらに、前記複数の素子に含まれる前記素子ごとに固有の係数の最小値から最大値までを区切って複数の区間に分割する分割工程を前記コンピュータに実行させ、
前記検出工程は、前記複数の素子に含まれる素子に固有の係数の値が、前記分割工程によって分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記1〜3のいずれか一つに記載の解析支援プログラム。
前記検出工程は、前記複数の素子に含まれる素子に固有の係数の値が、前記分割工程によって分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記1〜3のいずれか一つに記載の解析支援プログラム。
(付記5)前記取得工程は、前記対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる当該素子に固有の第1および第2の係数を取得し、
前記分割工程は、前記取得工程によって取得された第1および第2の係数ごとに、当該第1および第2の係数ごとの最小値から最大値までを均等に区切って複数の区間に分割し、
前記検出工程は、前記第1の係数の値が前記分割工程によって前記第1の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となり、かつ、前記第2の係数の値が前記分割工程によって前記第2の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記4に記載の解析支援プログラム。
前記分割工程は、前記取得工程によって取得された第1および第2の係数ごとに、当該第1および第2の係数ごとの最小値から最大値までを均等に区切って複数の区間に分割し、
前記検出工程は、前記第1の係数の値が前記分割工程によって前記第1の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となり、かつ、前記第2の係数の値が前記分割工程によって前記第2の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする付記4に記載の解析支援プログラム。
(付記6)前記分割工程は、第1および第2の係数のうち、前記素子のリーク電流のバラツキを表す確率変数にかかる前記第1の係数の最小値から最大値までを均等に区切って複数の区間に分割し、前記第2の係数の最小値から最大値までを所定のリーク電流が均等になるように分割することを特徴とする付記5に記載の解析支援プログラム。
(付記7)対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得手段と、
前記取得手段によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出手段と、
前記検出手段によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換手段と、
前記変換手段によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出手段と、
前記関数算出手段によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力手段と、
を備えることを特徴とする解析支援装置。
前記取得手段によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出手段と、
前記検出手段によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換手段と、
前記変換手段によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出手段と、
前記関数算出手段によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力手段と、
を備えることを特徴とする解析支援装置。
(付記8)コンピュータが、
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
を実行することを特徴とする解析支援方法。
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
を実行することを特徴とする解析支援方法。
200 解析支援装置
300 セルバラツキデータテーブル
401 取得部
402 分割部
403 検出部
404 係数算出部
405 変換部
406 関数算出部
407 リーク算出部
408 出力部
600 メッシュバラツキデータテーブル
300 セルバラツキデータテーブル
401 取得部
402 分割部
403 検出部
404 係数算出部
405 変換部
406 関数算出部
407 リーク算出部
408 出力部
600 メッシュバラツキデータテーブル
Claims (7)
- 対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
をコンピュータに実行させることを特徴とする解析支援プログラム。 - さらに、前記検出工程によって検出された素子群に含まれる素子ごとに固有の係数に基づいて、当該素子群に含まれる全素子に共通の係数を算出する係数算出工程を前記コンピュータに実行させ、
前記変換工程は、
前記係数算出工程によって算出された素子群に含まれる全素子に共通の係数に基づいて、前記素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換することを特徴とする請求項1に記載の解析支援プログラム。 - さらに、前記複数の素子に含まれる前記素子ごとに固有の係数の最小値から最大値までを区切って複数の区間に分割する分割工程を前記コンピュータに実行させ、
前記検出工程は、
前記複数の素子に含まれる素子に固有の係数の値が、前記分割工程によって分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする請求項1または2に記載の解析支援プログラム。 - 前記取得工程は、
前記対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる当該素子に固有の第1および第2の係数を取得し、
前記分割工程は、
前記取得工程によって取得された第1および第2の係数ごとに、当該第1および第2の係数ごとの最小値から最大値までを均等に区切って複数の区間に分割し、
前記検出工程は、
前記第1の係数の値が前記分割工程によって前記第1の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となり、かつ、前記第2の係数の値が前記分割工程によって前記第2の係数の最小値から最大値までを均等に区切って分割された前記複数の区間のいずれかの区間内となる素子群を、前記特性が同一または類似する素子群として検出することを特徴とする請求項3に記載の解析支援プログラム。 - 前記分割工程は、
第1および第2の係数のうち、前記素子のリーク電流のバラツキを表す確率変数にかかる前記第1の係数の最小値から最大値までを均等に区切って複数の区間に分割し、前記第2の係数の最小値から最大値までを所定のリーク電流が均等になるように分割することを特徴とする請求項4に記載の解析支援プログラム。 - 対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得手段と、
前記取得手段によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出手段と、
前記検出手段によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換手段と、
前記変換手段によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出手段と、
前記関数算出手段によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力手段と、
を備えることを特徴とする解析支援装置。 - コンピュータが、
対象回路内の素子ごとに、当該素子のリーク電流のバラツキを表す関数に含まれる前記素子に固有の係数を取得する取得工程と、
前記取得工程によって取得された前記素子に固有の係数に基づいて、前記対象回路内の複数の素子の中から特性が同一または類似する素子群を検出する検出工程と、
前記検出工程によって検出された素子群に含まれる素子ごとに固有のリーク電流のバラツキを表す確率変数を一つの確率変数に変換する変換工程と、
前記変換工程によって変換された変換後の確率変数を用いて、前記素子群のリーク電流のバラツキを表す関数を算出する関数算出工程と、
前記関数算出工程によって算出された前記素子群のリーク電流のバラツキを表す関数を出力する出力工程と、
を実行することを特徴とする解析支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106790A JP5370256B2 (ja) | 2010-05-06 | 2010-05-06 | 解析支援プログラム、解析支援装置および解析支援方法 |
US13/073,358 US8942968B2 (en) | 2010-05-06 | 2011-03-28 | Analysis support computer product, apparatus, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010106790A JP5370256B2 (ja) | 2010-05-06 | 2010-05-06 | 解析支援プログラム、解析支援装置および解析支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011237889A JP2011237889A (ja) | 2011-11-24 |
JP5370256B2 true JP5370256B2 (ja) | 2013-12-18 |
Family
ID=44902500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010106790A Expired - Fee Related JP5370256B2 (ja) | 2010-05-06 | 2010-05-06 | 解析支援プログラム、解析支援装置および解析支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8942968B2 (ja) |
JP (1) | JP5370256B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5104814B2 (ja) * | 2009-05-18 | 2012-12-19 | 富士通株式会社 | 設計支援プログラム、設計支援装置、および設計支援方法 |
JP5872273B2 (ja) * | 2011-12-09 | 2016-03-01 | ルネサスエレクトロニクス株式会社 | 閾値テーブルの作成方法、クロストーク解析の悲観性削減方法、クロストーク解析方法、及びクロストーク解析プログラム |
JP5939073B2 (ja) * | 2012-07-30 | 2016-06-22 | 富士通株式会社 | 解析支援方法、解析支援プログラム、および解析支援装置 |
CN110990242B (zh) * | 2019-11-29 | 2023-06-20 | 上海观安信息技术股份有限公司 | 一种用户操作次数波动异常的确定方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005092278A (ja) * | 2003-09-12 | 2005-04-07 | Matsushita Electric Ind Co Ltd | 集積回路装置の性能シミュレーション方法 |
JP4335862B2 (ja) * | 2005-11-08 | 2009-09-30 | 富士通マイクロエレクトロニクス株式会社 | 半導体集積回路の特性抽出方法及び特性抽出装置 |
JP4728203B2 (ja) * | 2006-11-06 | 2011-07-20 | 富士通セミコンダクター株式会社 | 半導体回路のレイアウト方法、プログラム、設計支援システム |
JP2008165310A (ja) * | 2006-12-27 | 2008-07-17 | Yokohama National Univ | 多変数モデル解析システム、方法、プログラム、およびプログラム媒体 |
EP2006784A1 (en) * | 2007-06-22 | 2008-12-24 | Interuniversitair Microelektronica Centrum vzw | Methods for characterization of electronic circuits under process variability effects |
JP2009164241A (ja) * | 2007-12-28 | 2009-07-23 | Panasonic Corp | 半導体集積回路設計装置および半導体集積回路の設計方法 |
JP5056478B2 (ja) * | 2008-02-28 | 2012-10-24 | 富士通株式会社 | リーク電流解析プログラム、該プログラムを記録した記録媒体、リーク電流解析装置、およびリーク電流解析方法 |
US7917451B2 (en) * | 2008-03-11 | 2011-03-29 | International Business Machines Corporation | Methods, apparatus, and program products to optimize semiconductor product yield prediction for performance and leakage screens |
JP5098970B2 (ja) * | 2008-11-25 | 2012-12-12 | 富士通株式会社 | リーク電流分布検証支援プログラム、リーク電流分布検証支援装置およびリーク電流分布検証支援方法 |
-
2010
- 2010-05-06 JP JP2010106790A patent/JP5370256B2/ja not_active Expired - Fee Related
-
2011
- 2011-03-28 US US13/073,358 patent/US8942968B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110276286A1 (en) | 2011-11-10 |
JP2011237889A (ja) | 2011-11-24 |
US8942968B2 (en) | 2015-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4696051B2 (ja) | 消費電力解析方法及びプログラム | |
US8065643B2 (en) | Verification support apparatus, verification support method, and computer product | |
US7469393B2 (en) | Method and device for supporting verification, and computer product | |
JP5056478B2 (ja) | リーク電流解析プログラム、該プログラムを記録した記録媒体、リーク電流解析装置、およびリーク電流解析方法 | |
JP5370256B2 (ja) | 解析支援プログラム、解析支援装置および解析支援方法 | |
JP5098970B2 (ja) | リーク電流分布検証支援プログラム、リーク電流分布検証支援装置およびリーク電流分布検証支援方法 | |
US8024685B2 (en) | Delay analysis support apparatus, delay analysis support method and computer product | |
JP4651620B2 (ja) | 電力算出装置、電力算出方法、耐タンパ性評価装置及び耐タンパ性評価方法 | |
US8380480B2 (en) | Computer product, analysis support apparatus, and analysis support method | |
JP4471794B2 (ja) | タイミング解析装置、タイミング解析方法、タイミング解析プログラムおよび記録媒体 | |
JP4649356B2 (ja) | 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置 | |
JP6070337B2 (ja) | 物理故障解析プログラム、物理故障解析方法および物理故障解析装置 | |
JPWO2010125752A1 (ja) | 電源設計システム、電源設計方法、及び電源設計用プログラム | |
JP5277781B2 (ja) | 消費電力見積プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、消費電力見積装置、および消費電力見積方法 | |
US8694289B2 (en) | Bayesian model generating computer product, apparatus, and method | |
JP4351245B2 (ja) | 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法 | |
JP5664274B2 (ja) | 解析支援プログラム、解析支援装置、および解析支援方法 | |
JP2007257375A (ja) | 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置 | |
JP4747036B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
JP5903830B2 (ja) | 解析プログラム、解析方法、および解析装置 | |
US9147017B2 (en) | Verification support method, recording medium having stored verification support program therein, and verification support apparatus | |
JP5939073B2 (ja) | 解析支援方法、解析支援プログラム、および解析支援装置 | |
JP2010108016A (ja) | 消費電力計算プログラム、該プログラムを記録した記録媒体、消費電力計算装置および消費電力計算方法 | |
WO2010116472A1 (ja) | 消費電力見積装置、消費電力見積プログラム及び消費電力見積方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130813 |
|
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: 20130820 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130902 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |