JP5445066B2 - 解析支援プログラム、解析支援装置、および解析支援方法 - Google Patents

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

Info

Publication number
JP5445066B2
JP5445066B2 JP2009268121A JP2009268121A JP5445066B2 JP 5445066 B2 JP5445066 B2 JP 5445066B2 JP 2009268121 A JP2009268121 A JP 2009268121A JP 2009268121 A JP2009268121 A JP 2009268121A JP 5445066 B2 JP5445066 B2 JP 5445066B2
Authority
JP
Japan
Prior art keywords
delay
correlation
distribution
target circuit
standard deviation
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
Application number
JP2009268121A
Other languages
English (en)
Other versions
JP2011113228A (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 JP2009268121A priority Critical patent/JP5445066B2/ja
Priority to US12/913,425 priority patent/US8380480B2/en
Publication of JP2011113228A publication Critical patent/JP2011113228A/ja
Application granted granted Critical
Publication of JP5445066B2 publication Critical patent/JP5445066B2/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/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)

Description

本発明は、対象回路の遅延とリーク電流の相関解析を支援する解析支援プログラム、解析支援装置、および解析支援方法に関する。
近年、半導体集積回路の微細化にともなって、プロセスに起因する遅延やリーク電流のバラツキ(遅延バラツキ、リーク電流バラツキ)が増大している。遅延とは、回路内の素子または素子間における信号の入出力にかかる時間である。リーク電流とは、電子回路において本来流れるはずのない箇所で流れ出る電流である。
これらバラツキを考慮して対象回路の遅延やリーク電流を見積もる手法として、統計的遅延解析(SSTA:Statistical Static Timing Analyzer)や統計的リーク解析がある。SSTAとは、対象回路内の各素子の遅延のバラツキを確率密度分布として与え、回路全体の遅延を統計的に扱うことで、タイミングの見積もりを適正化する手法である。
一方、遅延バラツキとリーク電流バラツキは、ともにプロセスに起因することから、互いに相関を持つことが知られている。たとえば、遅延とリーク電流は、遅延が小さくなるとリーク電流が大きくなるというトレードオフの関係にある。したがって、対象回路の正確な歩留解析を行うためには、遅延とリーク電流の相関を解析する必要がある。
従来、遅延とリーク電流の相関解析を行う手法として、遅延解析ツール(STA:Static Timing Analysis)とリーク解析ツールを反復実行させるモンテカルロシミュレーションがある。また、遅延とリーク電流の相関解析において、遅延分布を正規分布にモデル化して近似計算を行う手法がある(たとえば、下記非特許文献1参照。)。
Ashish Srivastava,Saumil Shah,Kanak Agarwal,Dennis Sylvester,David Blaauw,Stephen Director、「Accurate and Efficient Gate−Level Parametric Yield Estimation Considering Correlated Variations in Leakage Power and Performance」、Proc.DAC2005、p.535−540
しかしながら、上述したモンテカルロシミュレーションによれば、正確な相関解析を行うためには、遅延解析ツールとリーク解析ツールを数千回程度反復実行させる必要がある。そのため、相関解析にかかる処理時間が増大化し、ひいては設計期間の長期化を招くという問題がある。
また、上述した遅延分布を正規分布にモデル化する手法によれば、多数の並列に動作する部分回路を含む回路では、回路全体の遅延分布が非正規となる傾向があるため、解析精度が低下する場合がある。そのため、結果的に回路設計の手戻りが生じ、設計者の作業負担が増大するとともに、設計期間の長期化を招くという問題がある。
本発明は、上述した従来技術による問題点を解消するため、対象回路の遅延とリーク電流の相関解析にかかる処理時間の短縮化を図ることができる解析支援プログラム、解析支援装置、および解析支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示の解析支援プログラム、解析支援装置、および解析支援方法は、対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出し、算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正し、補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得し、取得された相関分布を出力することを要件とする。
本解析支援プログラム、解析支援装置、および解析支援方法によれば、対象回路の遅延とリーク電流の相関解析にかかる処理時間の短縮化を図ることができるという効果を奏する。
本解析手法の概要の一例を示す説明図である。 対象回路の一例を示す回路図である。 解析支援装置のハードウェア構成の一例を示すブロック図である。 解析支援装置の機能的構成を示すブロック図である。 セル遅延バラツキテーブルの記憶内容の一例を示す説明図である。 セルリークバラツキテーブルの記憶内容の一例を示す説明図である。 相関係数テーブルの記憶内容の一例を示す説明図である。 パス内セルテーブルの記憶内容の一例を示す説明図である。 SSTA結果テーブルの記憶内容の一例を示す説明図である。 補正後バラツキテーブルの記憶内容の一例を示す説明図である。 リーク・遅延相関テーブルの記憶内容の一例を示す説明図である。 リーク・遅延相関分布の具体例を示す説明図である。 リーク・周波数相関テーブルの記憶内容の一例を示す説明図である。 削除後のリーク・周波数相関テーブルの記憶内容の一例を示す説明図である。 周波数歩留テーブルの記憶内容の一例を示す説明図である。 リーク・周波数相関分布および周波数歩留分布の具体例を示す説明図である。 解析支援装置の解析支援処理手順の一例を示すフローチャートである。 バラツキ補正処理の具体的処理手順の一例を示すフローチャートである。 リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャート(その1)である。 リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャート(その2)である。 リーク・周波数相関分布算出処理の具体的処理手順の一例を示すフローチャートである。 周波数歩留分布算出処理の具体的処理手順の一例を示すフローチャートである。
以下に添付図面を参照して、この発明にかかる解析支援プログラム、解析支援装置、および解析支援方法の好適な実施の形態を詳細に説明する。
(本解析手法の概要)
まず、実施の形態にかかる本解析手法の概要の一例について説明する。本明細書において、対象回路とは、並列に動作する複数のパスを含む回路(たとえば、プロセッサ)である。パスとは、対象回路内の一のセルから他のセルに辿り着くまでの経路である。セルとは、対象回路に含まれるNOTゲート、ANDゲート、配線、バッファ、INV(インバータ)、FFなどの回路素子である。
すなわち、パスは、たとえば、対象回路内の一のFF(フリップフロップ)から他のFFに辿り着くまでの経路である。また、パスは、対象回路内のデータ入力端子からFFに辿り着くまでの経路であってもよく、さらに、FFからあるデータ出力端子に辿り着くまでの経路であってもよい。
図1は、本解析手法の概要の一例を示す説明図である。本解析手法では、対象回路の遅延とリーク電流の相関解析の解析精度を確保しつつ処理時間の短縮化を図る。ここで、対象回路の遅延とリーク電流に対するバラツキとして、対象回路内の各セル独立のバラツキと、対象回路内の全セル共通のバラツキがある。
具体的には、遅延のバラツキとして、各セル独立の第一遅延バラツキと、全セル共通の第二遅延バラツキがある。このため、セルの遅延バラツキは、これら第一/第二遅延バラツキを用いて表現することができる。具体的には、たとえば、セルの遅延バラツキは、下記式(1)を用いて表現することができる。
ただし、dはセルの遅延バラツキ、αは第一遅延バラツキパラメータ、βは第二遅延バラツキパラメータである。また、mは第一遅延バラツキに基づくセルの第一遅延分布の平均、sは第一遅延分布の標準偏差である。また、ap、anは第二遅延バラツキに基づくセルの第二遅延分布の標準偏差である。
=m+s×α+f(β)
f(β)=ap×β (β≧0)、f(β)=an×β (β<0)
・・・(1)
また、リーク電流のバラツキとして、各セル独立の第一リーク電流バラツキと、全セル共通の第二リーク電流バラツキがある。このため、セルのリーク電流バラツキは、これら第一/第二リーク電流バラツキを用いて表現することができる。具体的には、たとえば、セルのリーク電流バラツキは、下記式(2)を用いて表現することができる。
ただし、lはセルのリーク電流バラツキ、α’は第一リーク電流バラツキパラメータ、β’は第二リーク電流バラツキパラメータである。また、a、b、cは各セル固有の係数である。
=exp(a+b×α’+c×β’) ・・・(2)
ここで、上記α、α’、β、β’は、確率変数であり、たとえば、平均「0」、標準偏差「1」の標準正規分布である。また、上記α、α’は、相関係数ραの相関を持つ。この相関係数ραは、対象回路内の各セル固有である。また、上記β、β’は、相関係数ρの相関を持つ。この相関係数ρは、対象回路内の全セル共通である。
一般に、対象回路の遅延とリーク電流の相関解析では、セル間で相関があるため、各セルの第一遅延バラツキと第二遅延バラツキを考慮する必要がある。その一方で、対象回路内の論理回路では、セル間の結合が「直列」だけではなく、一つのセルに複数の信号が入力される「合流」も含まれるため、相関解析の処理内容が複雑なものとなってしまう(図1中(1−1))。
そこで、本解析手法では、対象回路内の各パスを、パス内のセルが直列に接続された直列回路としてモデル化する(図1中(1−2))。具体的には、たとえば、本解析手法では、パスの第一遅延バラツキを、下記式(3)を用いて、パス内の各セルの第一遅延バラツキの足し算となるように構成する。
ただし、パスPiは対象回路内の任意のパス、dintraはパスPiの第一遅延バラツキ、MはパスPiの第一遅延分布の平均である。また、αはパスPi内の任意のセルCjの第一遅延バラツキパラメータ、sはセルCjの第一遅延分布の標準偏差である(j=1,2,…,n)。
intra=M+s×α+s×α+…+s×α+…+s×α・・・(3)
このため、パスPiの遅延バラツキは下記式(4)を用いて表現できる。ただし、diはパスPiの遅延バラツキ、M’はパスPiの第一遅延分布の平均である。また、f(β)はパスPiの第二遅延バラツキ、Ap、Anは第二遅延バラツキに基づくパスPiの第二遅延分布の標準偏差である。
di=M’+s×α+s×α+…+s×α+…+s×α+f(β)
f(β)=Ap×β (β≧0)、f(β)=An×β (β<0)
・・・(4)
このように、本解析手法では、パスPiの第一遅延バラツキをパスPi内の各セルCjの第一遅延バラツキの足し算となるように構成する。これにより、対象回路の遅延とリーク電流の相関解析の処理内容が簡単化され、相関解析にかかる処理時間を短縮できる。
ただし、単純に対象回路内の各パスを直列回路としてモデル化すると、相関解析の精度が低下してしまう。そこで、本解析手法では、パスPiの第一遅延バラツキdintraを、既存のSSTA手法を用いて得られるパスPiの第一遅延分布の平均Mと標準偏差Sと一致するように再構成する。
ここで、直列回路全体の第一遅延バラツキの平均と標準偏差は、数学的な一般論により、下記式(5)と(6)を用いて表される。下記式(6)では、パスPi内の各セルCjの第一遅延バラツキが互いに独立であるという性質を用いている。ただし、M’は直列回路全体の第一遅延分布の平均、S’は直列回路全体の第一遅延分布の標準偏差である。mはセルCjの第一遅延分布の平均である。
M’=m+m+…+m ・・・(5)
S’=s +s +…+s ・・・(6)
本解析手法では、まず、SSTA手法を用いて、パスPiの第一遅延分布および第二遅延分布を計算する。そして、本解析手法では、上記式(3)のパスPiの第一遅延分布の平均M’を、上記式(5)を用いて計算されるM’の替わりに、SSTA手法で計算されたパスPiの第一遅延分布の平均Mとする。
また、本解析手法では、SSTAで計算されたパスPiの第一遅延分布の標準偏差Sと上記式(6)を用いて、セルCjの第一遅延分布の標準偏差sを補正する(図1中(1−3))。具体的には、たとえば、本解析手法では、下記式(7)を用いて、セルCの第一遅延分布の標準偏差sを補正する。ただし、pは補正後のセルCjの第一遅延分布の標準偏差である。
=(S/S’)×s ・・・(7)
この結果、パスPiの遅延バラツキは下記式(8)を用いて表現される。
di=M+p×α+p×α+…+p×α+…+p×α+f(β)
f(β)=Ap×β (β≧0)、f(β)=An×β (β<0)
・・・(8)
このように、本解析手法では、パスPiを直列回路としてモデル化し、パスPiの第一遅延バラツキdintraを、SSTA手法で計算されたパスPiの第一遅延分布の平均M、標準偏差Sと一致するように再構成する。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮化するとともに、相関解析の解析精度を確保することができる。
(対象回路の一例)
つぎに、対象回路の一例について説明する。図2は、対象回路の一例を示す回路図である。なお、図面では、対象回路の一部を抜粋して表示している。図2において、対象回路200は、パスPa〜Pcを含む構成である。本解析手法では、対象回路200内のパスPa〜Pbの少なくともいずれかを直列回路としてモデル化して、遅延とリーク電流の相関解析を実行する。
ここで、対象回路200において、パスPaは、FF1⇒INV1⇒INV2⇒AND1⇒INV3⇒INV4⇒NOR1⇒FF2に至る経路である。パスPbは、FF1⇒INV1⇒INV2⇒AND1⇒INV5⇒INV6⇒NOR2⇒FF3に至る経路である。パスPcは、FF1⇒INV1⇒INV2⇒AND1⇒INV5⇒INV7⇒NOR3⇒FF4に至る経路である。
(解析支援装置のハードウェア構成)
つぎに、本実施の形態にかかる解析支援装置のハードウェア構成について説明する。図3は、解析支援装置のハードウェア構成の一例を示すブロック図である。図3において、解析支援装置300は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス320によってそれぞれ接続されている。
ここで、CPU301は、解析支援装置300の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、解析支援装置300内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(解析支援装置の機能的構成)
つぎに、解析支援装置300の機能的構成について説明する。図4は、解析支援装置の機能的構成を示すブロック図である。図4において、解析支援装置300は、入力部401と、取得部402と、算出部403と、補正部404と、作成部405と、出力部406と、を含む構成である。この制御部となる機能(入力部401〜出力部406)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
なお、以下の説明において、特に指定する場合を除いて、対象回路内のセルを「セルC1〜CN」と表記し、対象回路内のパスを「パスP1〜PL」と表記する。
入力部401は、対象回路に関する回路情報の入力を受け付ける機能を有する。回路情報とは、たとえば、対象回路に関するネットリスト、バラツキデータ(図5、図6参照)、相関データ(図7参照)およびパス内セルデータ(図8参照)などである。具体的には、たとえば、入力部401が、図3に示したキーボード310やマウス311を用いたユーザの操作により回路情報の入力を受け付ける。また、入力部401が、外部のコンピュータ装置からの受信、不図示のデータベースやライブラリからの抽出により回路情報を取得してもよい。
ここで、ネットリストとは、対象回路内のセル群および各セル間の接続関係を示す電子データである。また、バラツキデータとは、各セルC1〜CNの第一遅延バラツキおよび第二遅延バラツキに関するモデルデータである。バラツキデータは、たとえば、図5に示すセル遅延バラツキテーブル500および図6に示すセルリークバラツキテーブル600に記憶される。
また、相関データとは、対象回路の遅延とリーク電流との相関を表す情報である。相関データは、たとえば、図7に示す相関係数テーブル700に記憶される。また、パス内セルデータとは、パスPi内のセルを特定するための情報である。パス内セルデータは、たとえば、図8に示すパス内セルテーブル800に記憶される。
図5は、セル遅延バラツキテーブルの記憶内容の一例を示す説明図である。図5において、セル遅延バラツキテーブル500は、セルID、m、s、apおよびanのフィールドを有する。各フィールドに情報を設定することで、各セルC1〜CNの遅延バラツキデータ500−1〜500−Nがレコードとして記憶されている。
セルIDとは、対象回路内のセルC1〜CNを識別する識別子である。mは、各セルC1〜CNの第一遅延分布の平均である。sは、各セルC1〜CNの第一遅延分布の標準偏差である。apおよびanは、各セルC1〜CNの第二遅延分布の標準偏差である。ただし、apは、第二遅延バラツキパラメータβが「β≧0」の場合の標準偏差であり、anは第二遅延バラツキパラメータβが「β<0」の場合の標準偏差である。
各セルC1〜CNの遅延バラツキは、上記式(1)に各セルC1〜CNに対応する遅延バラツキデータ500−1〜500−Nを代入することで表現できる。たとえば、セルC1の遅延バラツキは『d=m(1)+s(1)×α+f(β)』となる(ただし、『β≧0』の場合『f(β)=ap(1)×β』、『β<0』の場合『f(β)=an(1)×β』)。
図6は、セルリークバラツキテーブルの記憶内容の一例を示す説明図である。図6において、セルリークバラツキテーブル600は、セルID、a、bおよびcのフィールドを有する。各フィールドに情報を設定することで、各セルC1〜CNのリークバラツキデータ600−1〜600−Nがレコードとして記憶されている。
セルIDとは、対象回路内のセルC1〜CNを識別する識別子である。a、bおよびcは、リーク電流バラツキに関する各セルC1〜CN固有の係数である。各セルC1〜CNのリーク電流バラツキは、上記式(2)に各セルC1〜CNに対応するリークバラツキデータ600−1〜600−Nを代入することで表現できる。たとえば、セルC1のリーク電流バラツキは『l=exp(a(1)+b(1)×α’+c(1)×β’)』となる。
図7は、相関係数テーブルの記憶内容の一例を示す説明図である。図7において、相関係数テーブル700は、セルID、第一バラツキ相関係数および第二バラツキ相関係数のフィールドを有する。各フィールドに情報を設定することで、各セルC1〜CNの相関データ700−1〜700−Nがレコードとして記憶されている。
セルIDとは、対象回路内のセルC1〜CNを識別する識別子である。第一バラツキ相関係数とは、第一遅延バラツキパラメータαと第一リーク電流バラツキパラメータα’との相関を表す相関係数である。第二バラツキ相関係数とは、第二遅延バラツキパラメータβと第二リーク電流バラツキパラメータβ’との相関を表す相関係数である。
たとえば、セルC1の第一遅延バラツキパラメータαと第一リーク電流バラツキパラメータα’との相関を表す相関係数は『ρ(1)』である。なお、『ρ(1)=1』の場合、『α=α’』となる。また、セルC1の第二遅延バラツキパラメータβと第二リーク電流バラツキパラメータβ’との相関を表す相関係数は『ρ』である。
図8は、パス内セルテーブルの記憶内容の一例を示す説明図である。図8において、パス内セルテーブル800は、パスID、パス内セル数およびパス内セルID/セルIDのフィールドを有する。各フィールドに情報を設定することで、各パスP1〜PLのパス内セルデータ800−1〜800−Lがレコードとして記憶されている。
パスIDとは、対象回路内のパスP1〜PLを識別する識別子である。パス内セル数とは、各パスP1〜PLに含まれるセルの総数である。パス内セルID/セルIDとは、パスP1〜PL内のセルを識別する識別子である。
具体的には、パス内セルID(パスID、セル番号)とは、パス内のセルを特定するためのセル番号である。なお、セル番号は、たとえば、パスの先頭からのセルの順番である。また、セルIDとは、セルC1〜CNを識別する識別子である。たとえば、C(1,2)/C5は、パスP1の先頭から2番目のセルC5を表している。
なお、図5〜図8に示した各種テーブルは、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。また、ここではパス内セルデータ(図8参照)を解析支援装置300に入力することにしたがこれに限らない。たとえば、解析支援装置300において、対象回路に関するネットリストに基づいてパス内セルデータを作成することにしてもよい。
図4の説明に戻り、取得部402は、対象回路の統計的遅延解析を実行することにより、対象回路内の各パスPiの第一遅延分布および第二遅延分布を取得する機能を有する。具体的には、たとえば、取得部402が、対象回路の回路情報をシミュレータに与えてSSTAを実行する。そして、取得部402が、SSTA結果として各パスPiの第一遅延分布および第二遅延分布を取得する。
なお、シミュレータは、解析支援装置300が備えていてもよく、また、外部のコンピュータ装置が備えていてもよい。ただし、外部のコンピュータ装置が備える場合、取得部402が、対象回路の回路情報を外部のコンピュータ装置に送信し、外部のコンピュータ装置から解析結果を取得することになる。取得されたSSTA結果は、たとえば、図9に示したSSTA結果テーブル900に記憶される。
図9は、SSTA結果テーブルの記憶内容の一例を示す説明図である。図9において、SSTA結果テーブル900は、パスID、M、S、ApおよびAnのフィールドを有する。各フィールドに情報を設定することで、パスP1〜PLのSSTA結果900−1〜900−Lがレコードとして記憶されている。
パスIDとは、対象回路内のパスP1〜PLを識別する識別子である。Mは、パスPiの第一遅延分布の平均である。Sは、パスPiの第一遅延分布の標準偏差である。ApおよびAnは、パスPiの第二遅延分布の標準偏差である。ただし、Apは、第二遅延バラツキパラメータβが「β≧0」の場合の標準偏差であり、Anは第二遅延バラツキパラメータβが「β<0」の場合の標準偏差である。SSTA結果テーブル900は、たとえば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
図4の説明に戻り、算出部403は、対象回路内のパスPiを直列回路としてモデル化した場合のパスPiの第一遅延分布の標準偏差S’(i)を算出する機能を有する。具体的には、たとえば、算出部403が、パスPi内のセルC(i,j)の第一遅延分布の標準偏差s(C(i,j))を用いて、パスPiの第一遅延分布の標準偏差S’(i)を算出する。なお、標準偏差s(C(i,j))は、パス内セルID『C(i,j)』に対応するセルC1〜CNの標準偏差である(j=1,2,…,n(i))。
より具体的には、たとえば、まず、算出部403が、パス内セルテーブル800を参照して、パスPiに含まれるセルC(i,1)〜C(i,n(i))を特定する。このあと、算出部403が、セル遅延バラツキテーブル500を参照して、セルC(i,1)〜C(i,n(i))の標準偏差s(C(i,1))〜s(C(i,n(i)))を特定する。
そして、算出部403が、標準偏差s(C(i,1))〜s(C(i,n(i)))を下記式(9)に代入して、その平方根を求めることにより、パスPiの第一遅延分布の標準偏差S’(i)を算出する。なお、算出されたパスPiの第一遅延分布の標準偏差S’(i)は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。
S(i)’=s(C(i,1))+s(C(i,2))+…+s(C(i,n(i))) ・・・(9)
補正部404は、算出されたパスPiの第一遅延分布の標準偏差S’(i)と、取得されたパスPiの第一遅延分布の標準偏差S(i)とを用いて、パスPi内のセルC(i,j)の第一遅延分布の標準偏差s(C(i,j))を補正する機能を有する。具体的には、たとえば、補正部404が、下記式(10)を用いて、セルC(i,j)の第一遅延分布の標準偏差s(C(i,j))を補正する。ただし、p(i,j)は補正後のセルC(i,j)の第一遅延分布の標準偏差である。
p(i,j)=(S(i)/S’(i))×s(C(i,j)) ・・・(10)
なお、補正された補正後のセルC(i,j)の第一遅延分布の標準偏差p(i,j)は、たとえば、図10に示す補正後バラツキテーブル1000に記憶される。
図10は、補正後バラツキテーブルの記憶内容の一例を示す説明図である。図10において、補正後バラツキテーブル1000は、パスIDおよび第一遅延分布の標準偏差のフィールドを有する。各フィールドに情報を設定することで、各パスP1〜PLの補正後バラツキデータ1000−1〜1000−Lがレコードとして記憶されている。
パスIDとは、対象回路内のパスP1〜PLを識別する識別子である。第一遅延分布の標準偏差とは、各パスPi内の補正後のセルC(i,j)の第一遅延分布の標準偏差p(i,j)である。補正後バラツキテーブル1000は、たとえば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
図4の説明に戻り、作成部405は、補正後のセルC(i,j)の第一遅延分布の標準偏差p(i,j)と、取得されたパスPiの第一遅延分布および第二遅延分布とを用いて、パスPiの遅延バラツキを表現する関数モデルを作成する機能を有する。具体的には、たとえば、作成部405が、下記式(11)を用いて、パスPiの遅延バラツキを表現する関数モデルを作成する。
ただし、αはセルC(i,j)独立の第一遅延バラツキパラメータ、βは全セルC1〜CN共通の第二遅延バラツキパラメータである。また、M(i)はSSTAで計算されたパスPiの第一遅延分布の平均、Ap、AnはSSTAで計算されたパスPiの第二遅延分布の標準偏差である。
d(i)=M(i)+p(i,1)×α+p(i,2)×α+…+p(i,n(i))×αn(i)+f(β)
f(β)=Ap(1)×β (β≧0)、f(β)=An(1)×β (β<0)
・・・(11)
また、作成部405は、対象回路内の各セル独立のリーク電流バラツキと対象回路内の全セル共通のリーク電流バラツキとに基づいて、パスPiのリーク電流バラツキを表現する関数モデルを作成する機能を有する。具体的には、たとえば、作成部405が、下記式(12)を用いて、パスPiのリーク電流バラツキを表現する関数モデルを作成する。
ただし、α’はセルC(i,j)独立の第一リーク電流バラツキパラメータ、β’は全セルC1〜CN共通の第二リーク電流バラツキパラメータである。また、a(C(i,j))、b(C(i,j))およびc(C(i,j))は、リーク電流バラツキに関するセルC(i,j)固有の係数である。これら係数は、パス内セルテーブル800内のセルC(i,j)に対応するセルIDを用いて、セルリークバラツキテーブル600から特定される。
l(i)=exp(a(C(i,1))+b(C(i,1))×α’+c(C(i,1))×β’)+exp(a(C(i,2))+b(C(i,2))×α’+c(C(i,2))×β’)+…+exp(a(C(i,n(i)))+b(C(i,n(i)))×α’n(i)+c(C(i,n(i)))×β’n(i)
・・・(12)
取得部402は、対象回路の遅延とリーク電流の相関分布を取得する機能を有する。具体的には、たとえば、取得部402が、対象回路に関する回路情報と、補正後バラツキデータ1000−1〜1000−Lと、作成された関数モデルとをシミュレータに与えて、モンテカルロシミュレーションを実行する。そして、取得部402が、シミュレーション結果として対象回路の遅延とリーク電流のリーク・遅延相関分布をシミュレータから取得する。
なお、対象回路の遅延とリーク電流の相関解析の具体的な処理内容については、図19−1および図19−2を用いて説明する。シミュレータは、解析支援装置300が備えていてもよく、また、外部のコンピュータ装置が備えていてもよい。なお、取得された相関分布は、たとえば、図11に示すリーク・遅延相関テーブル1100に記憶される。
図11は、リーク・遅延相関テーブルの記憶内容の一例を示す説明図である。図11において、リーク・遅延相関テーブル1100は、相関ID、リーク電流および遅延のフィールドを有する。各フィールドに情報を設定することで、リーク・遅延相関データ1100−1〜1100−Kがレコードとして記憶されている。
相関IDとは、k回目のモンテカルロシミュレーションによる解析結果を識別する識別子である(k=1,2,…,K)。なお、Kは、モンテカルロシミュレーションの反復回数である。リーク電流とは、対象回路のリーク電流を表す解析値(単位は、たとえば[mA])である。遅延とは、対象回路の遅延を表す解析値(単位は、たとえば[ps])である。リーク・遅延相関テーブル1100は、たとえば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
出力部406は、取得された相関分布を出力する機能を有する。具体的には、たとえば、出力部406が、図11に示したリーク・遅延相関テーブル1100内のリーク・遅延相関データ1100−1〜1100−Kをグラフ化してディスプレイ308に表示することにしてもよい(図12参照)。
なお、出力形式としては、たとえば、ディスプレイ308への表示、プリンタ313への印刷出力、I/F309による外部装置への送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶することとしてもよい。
図12は、リーク・遅延相関分布の具体例を示す説明図である。図12において、リーク・遅延相関分布1200は、対象回路の遅延とリーク電流の相関を表すグラフである。具体的には、リーク・遅延相関分布1200では、モンテカルロシミュレーションの反復回数分(K個)の点がプロットされている。このリーク・遅延相関分布1200によれば、たとえば、対象回路内で発生するリーク電流の変動にともなう対象回路の遅延の変動を判断することができる。
図4の説明に戻り、算出部403は、取得された対象回路の遅延とリーク電流の相関を表す相関分布に基づいて、対象回路のリーク電流と周波数との相関を表す相関分布を算出する機能を有する。具体的には、たとえば、算出部403が、対象回路の遅延d(k)を下記式(13)に代入して、対象回路の周波数f(k)を算出することにより、リーク・周波数相関分布を算出する。
f(k)=1/d(k) ・・・(13)
なお、算出されたリーク・周波数相関分布は、たとえば、図13に示すリーク・周波数相関テーブル1300に記憶される。
図13は、リーク・周波数相関テーブルの記憶内容の一例を示す説明図である。図13において、リーク・周波数相関テーブル1300は、相関ID、リーク電流および周波数のフィールドを有する。各フィールドに情報を設定することで、リーク・周波数相関データ1300−1〜1300−Kがレコードとして記憶されている。
相関IDとは、k回目のモンテカルロシミュレーションによる解析結果を識別する識別子である。リーク電流とは、対象回路のリーク電流を表す解析値である。周波数とは、対象回路の周波数を表す算出値(単位は、たとえば[Hz])である。リーク・周波数相関テーブル1300は、たとえば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
出力部406は、算出された対象回路のリーク電流と周波数との相関を表す相関分布を出力する機能を有する。具体的には、たとえば、出力部406が、図13に示したリーク・周波数相関テーブル1300内のリーク・周波数相関データ1300−1〜1300−Kをグラフ化してディスプレイ308に表示することにしてもよい(図16参照)。
また、算出部403は、対象回路のリーク電流と周波数との相関を表す相関分布に基づいて、対象回路の周波数に関する歩留分布を算出する機能を有する。具体的には、たとえば、まず、算出部403が、リーク・周波数相関テーブル1300を参照して、対象回路の周波数f(1)〜f(K)を昇順にソートする。このあと、算出部403が、下記式(14)を用いて、対象回路の周波数に関する周波数歩留分布を算出することにしてもよい。ただし、Y(k)は、対象回路の周波数がf(k)以上となる歩留まりである。
Y(k)=(K−k+1)/K ・・・(14)
また、算出部403は、リーク・周波数相関分布のうち、リーク電流が所定の閾値l未満となる対象回路の周波数に基づいて、対象回路の周波数に関する周波数歩留分布を算出することにしてもよい。具体的には、たとえば、まず、算出部403が、リーク・周波数相関テーブル1300の中から、リーク電流l(k)が閾値l以上となるリーク・周波数相関データを削除する。
なお、閾値lは、たとえば、対象回路の要求仕様などに基づいて任意に設定されてRAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。これにより、不具合なく製造されたとしても要求仕様を満たさないチップに関するリーク・周波数相関データを周波数歩留分布の算出対象から排除することができる。
図14は、削除後のリーク・周波数相関テーブルの記憶内容の一例を示す説明図である。図14において、リーク・周波数相関テーブル1300には、リーク・周波数相関データ1400−1〜1400−K’が記憶されている。なお、K’は、削除後のリーク・周波数相関テーブル1300内のリーク・周波数相関データ数である。
このあと、算出部403が、削除後のリーク・周波数相関テーブル1300を参照して、対象回路の周波数f(1)〜f(K’)を昇順にソートする。そして、算出部403が、下記式(15)を用いて、対象回路の周波数に関する周波数歩留分布を算出する。
Y(k)=(K’−k+1)/K’ ・・・(15)
なお、算出された対象回路の周波数歩留分布は、たとえば、図15に示す周波数歩留テーブル1500に記憶される。図15は、周波数歩留テーブルの記憶内容の一例を示す説明図である。図15において、周波数歩留テーブル1500は、周波数および歩留まりのフィールドを有する。各フィールドに情報を設定することで、対象回路の周波数に関する歩留データ1500−1〜1500−K’がレコードとして記憶されている。
周波数とは、対象回路の周波数f(k)である(k=1,2,…,K’)。歩留まりとは、対象回路の周波数がf(k)以上となる歩留まりである。周波数歩留テーブル1500は、たとえば、ROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
図4の説明に戻り、出力部406は、算出された対象回路の周波数に関する歩留分布を出力する機能を有する。具体的には、たとえば、出力部406が、図15に示した周波数歩留テーブル1500内の歩留データ1500−1〜1500−K’をグラフ化してディスプレイ308に表示することにしてもよい(図16参照)。
図16は、リーク・周波数相関分布および周波数歩留分布の具体例を示す説明図である。図16において、リーク・周波数相関分布1610は、対象回路の周波数とリーク電流の相関を表すグラフである。具体的には、リーク・周波数相関分布1610では、モンテカルロシミュレーションの反復回数分(K個)の点がプロットされている。
このリーク・周波数相関分布1610によれば、たとえば、対象回路内で発生するリーク電流の変動にともなう対象回路の周波数の変動を判断することができる。
また、図16において、周波数歩留分布1620,1630は、対象回路の周波数に関する歩留まりを表すグラフである。具体的には、周波数歩留分布1620は、リーク・周波数相関データ1400−1〜1400−K’(図14参照)に基づく周波数歩留分布である。一方、周波数歩留分布1630は、リーク・周波数相関データ1300−1〜1300−K(図13参照)に基づく周波数歩留分布である。
この周波数歩留分布1620,1630によれば、たとえば、対象回路の周波数の変動にともなう対象回路の歩留まりの変動を判断することができる。また、周波数歩留分布1620によれば、不具合なく製造されたとしても要求仕様を満たさないチップに関するリーク・周波数相関データが算出対象から排除されているため、対象回路の周波数歩留分布をより正確に判断することができる。
(解析支援装置の解析支援処理手順)
つぎに、解析支援装置300の解析支援処理手順について説明する。図17は、解析支援装置の解析支援処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、入力部401により、対象回路に関する回路情報の入力を受け付けたか否かを判断する(ステップS1701)。
ここで、回路情報の入力を待って(ステップS1701:No)、入力を受け付けた場合(ステップS1701:Yes)、取得部402により、対象回路のSSTAを実行することにより、対象回路内の各パスPiの第一遅延分布および第二遅延分布を取得する(ステップS1702)。
このあと、補正部404により、パスPi内のセルC(i,j)の第一遅延分布の標準偏差s(C(i,j))を補正するバラツキ補正処理を実行する(ステップS1703)。そして、取得部402により、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布を取得するリーク・遅延相関分布取得処理を実行する(ステップS1704)。
つぎに、算出部403により、取得されたリーク・遅延相関分布に基づいて、対象回路のリーク・周波数相関分布を算出するリーク・周波数相関分布算出処理を実行する(ステップS1705)。そして、算出部403により、算出されたリーク・周波数相関分布に基づいて、対象回路の周波数歩留分布を算出する周波数歩留分布算出処理を実行する(ステップS1706)。
最後に、出力部406により、算出された対象回路の周波数歩留分布を出力して(ステップS1707)、本フローチャートによる一連の処理を終了する。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮化するとともに、相関解析の解析精度を確保することができる。
<バラツキ補正処理手順>
つぎに、図17に示したステップS1703のバラツキ補正処理の具体的処理手順について説明する。図18は、バラツキ補正処理の具体的処理手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、算出部403により、パスPiの「i」を「i=1」とするとともに(ステップS1801)、パスPiの第一遅延分布の標準偏差S’(i)を「S’(i)=0」とする(ステップS1802)。
このあと、算出部403により、パスPi内のセルC(i,j)の「j」を「j=1」として(ステップS1803)、「S’(i)=S’(i)+s(C(i,j))」を算出する(ステップS1804)。そして、算出部403により、jをインクリメントして(ステップS1805)、「j」がパスPi内の総セル数「n(i)」より大きいか否かを判断する(ステップS1806)。
ここで、「j≦n(i)」の場合(ステップS1806:No)、ステップS1804に戻る。一方、「j>n(i)」の場合(ステップS1806:Yes)、算出部403により、「S’(i)=sqrt(S’(i))」を算出する(ステップS1807)。
つぎに、算出部403により、セルC(i,j)の「j」を「j=1」として(ステップS1808)、「p(i,j)=(S(i)/S’(i))×s(C(i,j))」を算出する(ステップS1809)。そして、算出部403により、jをインクリメントして(ステップS1810)、「j」が「n(i)」より大きいか否かを判断する(ステップS1811)。
ここで、「j≦n(i)」の場合(ステップS1811:No)、ステップS1809に戻る。一方、「j>n(i)」の場合(ステップS1811:Yes)、算出部403により、「i」をインクリメントして(ステップS1812)、「i」が対象回路内の総パス数「L」より大きいか否かを判断する(ステップS1813)。
ここで、「i≦L」の場合(ステップS1813:No)、ステップS1802に戻る。一方、「i>L」の場合(ステップS1813:Yes)、図17に示したステップS1704に移行する。これにより、直列回路としてモデル化したパスPiの第一遅延バラツキを、セルC(i,j)の独立性を考慮して補正することができる。
<リーク・遅延相関分布取得処理手順>
つぎに、図17に示したステップS1704のリーク・遅延相関分布取得処理の具体的処理手順について説明する。図19−1および図19−2は、リーク・遅延相関分布取得処理の具体的処理手順の一例を示すフローチャートである。ここでは、解析支援装置300が備えるシミュレータによりリーク・遅延相関分布を算出する場合について説明する。
図19−1のフローチャートにおいて、まず、取得部402により、モンテカルロシミュレーションの反復回数Kを設定する(ステップS1901)。なお、反復回数Kは、予め設定されてROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。
シミュレータにより、反復回数「k」を「k=1」とする(ステップS1902)。そして、シミュレータにより、相関ρの標準正規乱数β、β’を生成する(ステップS1903)。なお、ρは相関係数テーブル700内の第二バラツキ相関係数であり、β、β’は第二遅延/リーク電流バラツキパラメータである。
そして、シミュレータにより、パスPiの「i」を「i=1」とする(ステップS1904)。つぎに、シミュレータにより、パスPiの遅延に関する変数「delay(i)」を「delay(i)=0」とするとともに(ステップS1905)、パスPiのリーク電流に関する変数「leak(i)を「leak(i)=0」とする(ステップS1906)。
このあと、シミュレータにより、相関ρ(j)の標準正規乱数α、α’を生成する(ステップS1907)。なお、ρ(j)は相関係数テーブル700内のセルC(i,j)に対応するセルC1〜CNの第一バラツキ相関係数であり、α、α’は第一遅延/リーク電流バラツキパラメータである。
つぎに、シミュレータにより、「delay(i)=delay(i)+p(i,j)×α」を算出する(ステップS1908)。なお、p(i,j)は、たとえば、補正後バラツキテーブル1000から特定される。
また、シミュレータにより、「leak(i)=leak(i)+exp(a(C(i,j))+b(C(i,j))×α’+c(C(i,j))×β’)」を算出する(ステップS1909)。なお、a(C(i,j))、b(C(i,j))およびc(C(i,j))は、たとえば、セルリークバラツキテーブル600から特定される。
そして、シミュレータにより、「delay(i)=delay(i)+M(i)+f(β,i)」を算出する(ステップS1910)。なお、f(β,i)は、パスPiの第二遅延分布である(ただし、β≧0の場合f(β)=Ap(1)×β、β<0の場合f(β)=An(1)×β)。また、M(i)、ApおよびAnは、たとえば、SSTA結果テーブル900から特定される。
このあと、シミュレータにより、「i」をインクリメントして(ステップS1911)、「i」が「L」より大きいか否かを判断する(ステップS1912)。ここで、「i≦L」の場合(ステップS1912:No)、ステップS1905に戻る。一方、「i>L」の場合(ステップS1912:Yes)、図19−2に示すステップS1913に移行する。
図19−2のフローチャートにおいて、まず、シミュレータにより、「d(k)=max(delay(1),delay(2),…,delay(L))」を算出する(ステップS1913)。そして、取得部402により、算出されたd(k)をリーク・遅延相関テーブル1100に記憶する(ステップS1914)。
つぎに、シミュレータにより、「l(k)=leak(1)+leak(2)+…+leak(L)」を算出する(ステップS1915)。そして、取得部402により、算出されたl(k)をリーク・遅延相関テーブル1100に記憶する(ステップS1916)。
このあと、シミュレータにより、「k」をインクリメントして(ステップS1917)、「k」が「K」より大きいか否かを判断する(ステップS1918)。ここで、「k≦K」の場合(ステップS1918:No)、図19−1に示したステップS1903に戻る。一方、「k>K」の場合(ステップS1918:Yes)、図17に示したステップS1705に移行する。
これにより、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布を取得することができる。また、遅延とリーク電流の相関解析が、数式ベースのモンテカルロシミュレーションとなるため、計算を高速化して、相関解析にかかる処理時間を短縮することができる。
<リーク・周波数相関分布算出処理手順>
つぎに、図17に示したステップS1705のリーク・周波数相関分布算出処理の具体的処理手順について説明する。図20は、リーク・周波数相関分布算出処理の具体的処理手順の一例を示すフローチャートである。
図20のフローチャートにおいて、まず、算出部403により、相関IDを表す「k」を「k=1」として(ステップS2001)、リーク・遅延相関テーブル1100の中からd(k)を抽出する(ステップS2002)。このあと、算出部403により、「f(k)=1/d(k)」を算出して(ステップS2003)、f(k)をリーク・周波数相関テーブル1300に記憶する(ステップS2004)。
そして、算出部403により、「k」をインクリメントして(ステップS2005)、「k」が「K」より大きいか否かを判断する(ステップS2006)。ここで、「k≦K」の場合(ステップS2006:No)、ステップS2002に戻る。一方、「k>K」の場合(ステップS2006:Yes)、図17に示したステップS1706に移行する。これにより、対象回路の周波数とリーク電流の相関を表すリーク・周波数相関分布を算出することができる。
<周波数歩留分布算出処理手順>
つぎに、図17に示したステップS1706の周波数歩留分布算出処理の具体的処理手順について説明する。図21は、周波数歩留分布算出処理の具体的処理手順の一例を示すフローチャートである。
図21のフローチャートにおいて、まず、算出部403により、リーク・周波数相関テーブル1300の中から、リーク電流l(k)が閾値l以上となるリーク・周波数相関データを削除する(ステップS2101)。
このあと、算出部403により、削除後のリーク・周波数相関テーブル1300を参照して、対象回路の周波数f(1)〜f(K’)を昇順にソートする(ステップS2102)。そして、算出部403により、相関ID「k」を「k=1」として(ステップS2103)。「Y(k)=(K’−k+1)/K’」を算出する(ステップS2104)。
つぎに、算出部403により、算出されたY(k)を周波数歩留テーブル1500に記憶する(ステップS2105)。そして、算出部403により、「k」をインクリメントして(ステップS2106)、「k」が「K’」より大きいか否かを判断する(ステップS2107)。
ここで、「k≦K」の場合(ステップS2107:No)、ステップS2104に戻る。一方、「k>K」の場合(ステップS2107:Yes)、図17に示したステップS1707に移行する。これにより、対象回路の周波数に関する歩留分布を算出することができる。
以上説明したように、本実施の形態によれば、対象回路内のパスを直列回路としてモデル化するとともに、モデル化されたパスPiの第一遅延分布を、SSTAで計算されたパスPiの第一遅延分布を用いて補正することができる。これにより、対象回路の遅延とリーク電流の相関解析にかかる処理時間を短縮するとともに、解析精度を確保することができる。
また、本実施の形態によれば、対象回路の遅延とリーク電流の相関を表すリーク・遅延相関分布に基づいて、対象回路の周波数とリーク電流の相関を表すリーク・周波数相関分布を算出することができる。これにより、対象回路内で発生するリーク電流の変動にともなう対象回路の遅延の変動を判断することができる。
また、本実施の形態によれば、対象回路のリーク電流と周波数との相関を表すリーク・周波数相関分布に基づいて、対象回路の周波数に関する歩留分布を算出することができる。これにより、対象回路内で発生するリーク電流の変動にともなう対象回路の周波数の変動を判断することができる。
また、本実施の形態によれば、リーク・周波数相関分布のうち、対象回路のリーク電流が閾値未満lとなる対象回路の周波数に基づいて、対象回路の周波数歩留分布を算出することができる。これにより、不具合なく製造されたとしても要求仕様を満たさないチップに関するデータを排除して、対象回路の周波数歩留分布をより正確に算出することができる。
なお、本実施の形態で説明した解析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本解析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した解析支援装置300は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した解析支援装置300の機能(入力部401〜出力部406)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、解析支援装置300を製造することができる。
300 解析支援装置
401 入力部
402 取得部
403 算出部
404 補正部
405 作成部
406 出力部
500 セル遅延バラツキテーブル
600 セルリークバラツキテーブル
700 相関係数テーブル
800 パス内セルテーブル
900 SSTA結果テーブル
1000 補正後バラツキテーブル
1100 リーク・遅延相関テーブル
1300 リーク・周波数相関テーブル
1500 周波数歩留テーブル

Claims (7)

  1. コンピュータに、
    対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出手順と、
    前記算出手順によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正手順と、
    前記補正手順によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得手順と、
    前記取得手順によって取得された相関分布を出力する出力手順と、
    を実行させることを特徴とする解析支援プログラム。
  2. 前記コンピュータに、
    前記補正後の前記各素子の第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記対象回路内の全素子で共通の遅延バラツキに基づく前記いずれかのパスの第二遅延分布の標準偏差とを用いて、前記いずれかのパスの遅延バラツキを表現する関数モデルを作成する第1の作成手順と、
    前記各素子で独立のリーク電流バラツキと前記全素子で共通のリーク電流バラツキとに基づいて、前記いずれかのパスのリーク電流バラツキを表現する関数モデルを作成する第2の作成手順と、を実行させ、
    前記取得手順は、
    前記第1および第2の作成手順によって作成された関数モデルと、前記各素子の遅延バラツキと前記各素子のリーク電流バラツキとの相関を表す相関係数とを用いて、前記相関解析を実行することにより、前記相関分布を取得することを特徴とする請求項1に記載の解析支援プログラム。
  3. 前記コンピュータに
    前記取得手順によって取得された前記対象回路の遅延とリーク電流の相関を表す相関分布に基づいて、前記対象回路のリーク電流と周波数との相関を表す相関分布を算出する第2算出手順を実行させ
    前記出力手順は、
    前記第2算出手順によって算出された前記対象回路のリーク電流と周波数との相関を表す相関分布を出力することを特徴とする請求項1または2に記載の解析支援プログラム。
  4. 前記コンピュータに
    前記第2算出手順によって算出された前記対象回路のリーク電流と周波数との相関を表す相関分布に基づいて、前記対象回路の周波数に関する歩留分布を算出する第3算出手順を実行させ
    前記出力手順は、
    前記第3算出手順によって算出された前記対象回路の周波数に関する歩留分布を出力することを特徴とする請求項3に記載の解析支援プログラム。
  5. 前記第3算出手順は、
    前記対象回路のリーク電流と周波数との相関を表す相関分布のうち、前記対象回路のリーク電流が所定の閾値未満となる前記対象回路の周波数に基づいて、前記対象回路の周波数に関する歩留分布を算出することを特徴とする請求項4に記載の解析支援プログラム。
  6. 対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出手段と、
    前記算出手段によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正手段と、
    前記補正手段によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得手段と、
    前記取得手段によって取得された相関分布を出力する出力手段と、
    を備えることを特徴とする解析支援装置。
  7. コンピュータが、
    対象回路内の並列な複数のパスのいずれかのパスに含まれる各素子で独立の遅延バラツキに基づく前記各素子の第一遅延分布の標準偏差を用いて、前記いずれかのパスを直列回路としてモデル化した場合の前記各素子で独立の遅延バラツキに基づく前記いずれかのパスの第一遅延分布の標準偏差を算出する算出工程と、
    前記算出工程によって算出された前記いずれかのパスの第一遅延分布の標準偏差と、前記対象回路の統計的遅延解析から得られる前記いずれかのパスの第一遅延分布の標準偏差とを用いて、前記各素子の第一遅延分布の標準偏差を補正する補正工程と、
    前記補正工程によって補正された補正後の前記各素子の第一遅延分布の標準偏差を用いて前記対象回路の遅延とリーク電流の相関解析を実行することにより、前記対象回路の遅延とリーク電流の相関を表す相関分布を取得する取得工程と、
    前記取得工程によって取得された相関分布を出力する出力工程と、
    を実行することを特徴とする解析支援方法。
JP2009268121A 2009-11-25 2009-11-25 解析支援プログラム、解析支援装置、および解析支援方法 Expired - Fee Related JP5445066B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009268121A JP5445066B2 (ja) 2009-11-25 2009-11-25 解析支援プログラム、解析支援装置、および解析支援方法
US12/913,425 US8380480B2 (en) 2009-11-25 2010-10-27 Computer product, analysis support apparatus, and analysis support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009268121A JP5445066B2 (ja) 2009-11-25 2009-11-25 解析支援プログラム、解析支援装置、および解析支援方法

Publications (2)

Publication Number Publication Date
JP2011113228A JP2011113228A (ja) 2011-06-09
JP5445066B2 true JP5445066B2 (ja) 2014-03-19

Family

ID=44062723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009268121A Expired - Fee Related JP5445066B2 (ja) 2009-11-25 2009-11-25 解析支援プログラム、解析支援装置、および解析支援方法

Country Status (2)

Country Link
US (1) US8380480B2 (ja)
JP (1) JP5445066B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104814B2 (ja) * 2009-05-18 2012-12-19 富士通株式会社 設計支援プログラム、設計支援装置、および設計支援方法
JP5664274B2 (ja) * 2011-01-24 2015-02-04 富士通株式会社 解析支援プログラム、解析支援装置、および解析支援方法
US8555220B2 (en) 2012-02-29 2013-10-08 Umm Al-Qura University Timing verification method for deterministic and stochastic networks and circuits
US9454454B2 (en) * 2014-09-09 2016-09-27 Microsoft Technology Licensing, Llc Memory leak analysis by usage trends correlation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2003060776A1 (ja) * 2002-01-11 2005-05-19 富士通株式会社 半導体集積回路の遅延時間計算方法及び遅延時間計算システム
JP2005092278A (ja) * 2003-09-12 2005-04-07 Matsushita Electric Ind Co Ltd 集積回路装置の性能シミュレーション方法
JP2005352787A (ja) * 2004-06-10 2005-12-22 Matsushita Electric Ind Co Ltd タイミング解析方法およびタイミング解析装置
US7441211B1 (en) * 2005-05-06 2008-10-21 Blaze Dfm, Inc. Gate-length biasing for digital circuit optimization
US7890904B2 (en) * 2005-06-06 2011-02-15 Fujitsu Limited Estimating jitter in a clock tree of a circuit and synthesizing a jitter-aware and skew-aware clock tree
JP4774294B2 (ja) * 2005-12-26 2011-09-14 富士通株式会社 集積回路レイアウト装置、その方法及びプログラム
US7650580B2 (en) * 2006-01-03 2010-01-19 Synopsys, Inc. Method and apparatus for determining the performance of an integrated circuit
GB0624846D0 (en) * 2006-12-13 2007-01-24 Imec Inter Uni Micro Electr Application level estimation techniques for parametric yield in embedded systems under static real-time constraints
JP2008140363A (ja) * 2006-09-07 2008-06-19 Matsushita Electric Ind Co Ltd 回路解析方法
EP2006784A1 (en) * 2007-06-22 2008-12-24 Interuniversitair Microelektronica Centrum vzw Methods for characterization of electronic circuits under process variability effects
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

Also Published As

Publication number Publication date
JP2011113228A (ja) 2011-06-09
US20110125480A1 (en) 2011-05-26
US8380480B2 (en) 2013-02-19

Similar Documents

Publication Publication Date Title
US8005660B2 (en) Hierarchical stochastic analysis process optimization for integrated circuit design and manufacture
JP4217220B2 (ja) 検証支援プログラムおよび検証支援装置
US7761275B2 (en) Synthesizing current source driver model for analysis of cell characteristics
US9589096B1 (en) Method and apparatus for integrating spice-based timing using sign-off path-based analysis
US8504978B1 (en) User interface for timing budget analysis of integrated circuit designs
US6278964B1 (en) Hot carrier effect simulation for integrated circuits
JP2007183932A (ja) タイミング解析方法及びタイミング解析装置
US7958473B2 (en) Method and computer program for configuring an integrated circuit design for static timing analysis
US10789406B1 (en) Characterizing electronic component parameters including on-chip variations and moments
JP5445066B2 (ja) 解析支援プログラム、解析支援装置、および解析支援方法
US11636246B2 (en) Systems and methods for predicting and managing power and energy use of semiconductor devices
Chowdhary et al. How accurately can we model timing in a placement engine?
US20020046015A1 (en) Method and system for creating electronic circuitry
US20100131249A1 (en) Method and apparatus for supporting verification of leakage current distribution
US10540464B1 (en) Critical path aware voltage drop analysis of an integrated circuit
JP5785725B2 (ja) 電力見積装置、電力見積方法及びプログラム
US20160025810A1 (en) Diagnosis and debug with truncated simulation
Mangassarian et al. Maximum circuit activity estimation using pseudo-boolean satisfiability
JP5370256B2 (ja) 解析支援プログラム、解析支援装置および解析支援方法
US8615692B1 (en) Method and system for analyzing test vectors to determine toggle counts
JP5374937B2 (ja) 電力指標算出プログラム、電力指標算出装置、および電力指標算出方法
US11068632B2 (en) Simulation apparatus, description conversion method and simulation method
JP4924130B2 (ja) 消費電力解析支援プログラム、該プログラムを記録した記録媒体、および消費電力解析支援装置
JP2014186702A (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
Schumacher et al. Fast RTL power estimation for FPGA designs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131209

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