JP2007233550A - 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置 - Google Patents

遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置 Download PDF

Info

Publication number
JP2007233550A
JP2007233550A JP2006052430A JP2006052430A JP2007233550A JP 2007233550 A JP2007233550 A JP 2007233550A JP 2006052430 A JP2006052430 A JP 2006052430A JP 2006052430 A JP2006052430 A JP 2006052430A JP 2007233550 A JP2007233550 A JP 2007233550A
Authority
JP
Japan
Prior art keywords
probability density
density distribution
critical path
delay
paths
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006052430A
Other languages
English (en)
Other versions
JP4734141B2 (ja
Inventor
Katsumi Honma
克己 本間
Toshiyuki Shibuya
利行 澁谷
Hidetoshi Matsuoka
英俊 松岡
Izumi Nitta
泉 新田
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 JP2006052430A priority Critical patent/JP4734141B2/ja
Priority to US11/521,138 priority patent/US7516432B2/en
Publication of JP2007233550A publication Critical patent/JP2007233550A/ja
Application granted granted Critical
Publication of JP4734141B2 publication Critical patent/JP4734141B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ること。
【解決手段】遅延解析装置500は、解析対象回路300のタイミング解析結果の入力を受け付け、検出部502により、入力されたタイミング解析結果からクリティカルパスを検出する。そして、平均遅延分布算出部503により、各クリティカルパスの平均遅延値に基づいて、解析対象回路300内の全パスのうちクリティカルパスを除く他のパスの平均遅延分布を算出する。つぎに、第1の確率密度分布算出部504により、クリティカルパスの確率密度分布を算出し、第2の確率密度分布算出部505により、平均遅延分布から全パスの確率密度分布を算出する。そして、差分算出部506により、クリティカルパスの確率密度分布と全パスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と全パスの統計的遅延値との差分を算出する。
【選択図】図5

Description

この発明は、解析対象回路の回路遅延を見積もる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置に関する。
近年、プロセスの微細化によりVLSI製造における(プロセスバラツキなどの)統計的要因の影響が大きくなってきており、VLSI設計においても、要求された性能を持つ回路を歩留まり良く作成するために、予めその影響を考慮した遅延改善技術が必要となる。また、従来において、プロセスなどのバラツキを考慮し不要な遅延マージンをなくす方法として、統計的遅延解析という手法が提案されている(たとえば、下記特許文献1を参照。)。さらに、論理回路の遅延を最小化する遅延最小化装置が提案されている(たとえば、下記特許文献2を参照。)。
特開2004−252831号公報 特開平7−334530号公報
しかしながら、従来の遅延改善技術では、統計的要因を正確に扱うことは困難であるという問題があった。たとえば、従来の静的遅延解析(STA)において統計的要因を扱う場合、要因の最悪値で見積もるため、かなり悲観的でかつ不正確な回路遅延値となっていた。したがって、回路設計の手戻りが生じ、設計者の負担が増大するとともに、設計期間の長期化を招くという問題があった。
また、上述した特許文献1の従来技術を用いてチップ内の全パスの遅延解析をおこなうため、その遅延解析に費やす処理時間が膨大となり、設計期間の長期化を招くという問題があった。さらに、上述した特許文献1の従来技術では、パーシャルコラップシングという論理レベルで回路遅延を小さくする技術であるため、タイミング解析をおこなわずに回路遅延を最小化している。したがって、クリティカルパスの遅延が考慮されていないこととなり、正確な回路遅延を得られないという問題があった。
この発明は、上述した従来技術による問題点を解消するため、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置は、解析対象回路のタイミング解析結果の入力を受け付け、入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出し、検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出し、前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、検出されたクリティカルパスの確率密度分布を算出し、算出された前記クリティカルパスの確率密度分布と、算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出し、前記クリティカルパスの確率密度分布と算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出することを特徴とする。
この発明によれば、解析対象回路のクリティカルパスから算出された統計的遅延値の信頼度を見積もることができる。
また、上記発明において、前記他のパスの平均遅延分布に基づいて、前記他のパスの確率密度分布を算出し、前記クリティカルパスの確率密度分布と算出された前記他のパスの確率密度分布とに基づいて、前記全パスの確率密度分布を算出することとしてもよい。
この発明によれば、クリティカルパスから算出される確率密度分布よりも精度のよい確率密度分布を算出することができる。
また、上記発明において、算出された差分を用いて、前記クリティカルパスの統計的遅延値を修正することとしてもよい。
この発明によれば、解析対象回路のクリティカルパスの統計的遅延値よりも正確な統計的遅延値を算出することができる。
また、上記発明において、算出された差分が所定値以下であるか否かを判断し、前記誤差が所定値以下でないと判断された場合、前記クリティカルパスの統計的遅延値を、前記差分を用いて修正することとしてもよい。
この発明によれば、解析対象回路のクリティカルパスの統計的遅延値よりも正確な統計的遅延値を算出することができる。
また、上記発明において、前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス(以下、「有効パス」という)を特定し、前記全パスの確率密度分布の中から、特定された有効パスの確率密度分布を抽出し、前記クリティカルパスの確率密度分布と前記有効パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出することとしてもよい。
この発明によれば、解析対象回路の統計的遅延値の精度を向上させることができる。
また、上記発明において、算出された差分が所定値以下であるか否かを判断し、前記差分が所定値以下でないと判断された場合、前記有効パスを特定することとしてもよい。
この発明によれば、解析対象回路の統計的遅延値の精度を向上させることができる。
また、上記発明において、前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示することとしてもよい。
この発明によれば、有効パスの数や基準値を確認することができる。
本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置の好適な実施の形態を詳細に説明する。
(遅延解析装置のハードウェア構成)
まず、この発明の実施の形態にかかる遅延解析装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。
図1において、遅延解析装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、遅延解析装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを遅延解析装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、遅延解析装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
つぎに、回路素子ライブラリ200について説明する。図2は、回路素子ライブラリ200の記憶内容を示す説明図である。回路素子ライブラリ200は、回路素子ごとに、回路素子遅延分布情報200−1〜200−nを格納している。回路素子遅延分布情報200−1〜200−nは、回路素子ごとに、回路素子名とクロックの遅延に関する確率密度分布パラメータを有している。
また、遅延に関する確率密度分布パラメータは、その回路素子の平均遅延値および標準偏差を有している。たとえば、回路素子Ciについては、平均遅延値miおよび標準偏差σiを有しており、その分布関数は、確率密度分布Piである。なお、回路素子としては、バッファ、インバータ、論理ゲートなどが挙げられる。
(解析対象回路300の一例)
つぎに、この発明の実施の形態にかかる解析対象回路300の一例について説明する。図3−1は、この発明の実施の形態にかかる解析対象回路300の一例を示す回路図である。なお、図面では一部を抜粋して表示している。図3−1において、解析対象回路300は、回路素子C1〜C20を有している。
つぎに、上述した解析対象回路300のタイミング解析(STA)結果により得られるクリティカルパスについて説明する。図3−2は、解析対象回路300のタイミング解析結果により得られるクリティカルパスを示す説明図である。図3−2において、タイミング解析結果により解析対象回路300から4本のクリティカルパスCP1〜CP4が検出されている。
クリティカルパスCP1は、回路素子C1、C2、C6、C7を通る経路(パス)である。クリティカルパスCP2は、回路素子C8、C2、C12、C13を通る経路(パス)である。クリティカルパスCP3は、回路素子C14、C15、C16、C13を通る経路(パス)である。クリティカルパスCP4は、回路素子C17、C18、C19、C20を通る経路(パス)である。
つぎに、この発明の実施の形態にかかるタイミング解析結果となるタイミングリスト400について説明する。図4は、この発明の実施の形態にかかるタイミング解析結果となるタイミングリスト400の一例を示す説明図である。図4において、タイミングリスト400は、解析対象回路300のタイミング解析(STA)によって得られる。タイミングリスト400は、クリティカルパスCP1〜CPzごとに、クリティカルパスCP1〜CPzを構成する回路素子と、当該回路素子の平均遅延値と、累積遅延値とが記述されている。
たとえば、クリティカルパスCP1については、回路素子C1、C2、C6、C7によって構成されている。タイミング解析では、図2に示した回路素子ライブラリ200が用いられており、各回路素子C1、C2、C6、C7の平均遅延値は、それぞれ、m1、m2、m6、m7となる。
また、累積遅延値は、回路素子までの平均遅延値の合計であり、各クリティカルパスCP1〜CPzにおいて最後端の回路素子の累積遅延値が、各クリティカルパスCP1〜CPzの平均遅延値M1〜Mzとなる。たとえば、クリティカルパスCP1の累積遅延値の合計である平均遅延値M1は、最後端の回路素子C7までの遅延値の合計(m1+m2+m6+m7)となる。
(遅延解析装置の機能的構成)
つぎに、この発明の実施の形態にかかる遅延解析装置500の機能的構成について説明する。図5は、この発明の実施の形態にかかる遅延解析装置500の機能的構成を示すブロック図である。図5において、遅延解析装置500は、入力部501と、検出部502と、平均遅延分布算出部503と、第1の確率密度分布算出部504と、第2の確率密度分布算出部505と、差分算出部506と、判断部507と、修正部508と、特定部509と、抽出部510と、表示部511と、から構成されている。
まず、入力部501は、解析対象回路300のタイミング解析結果の入力を受け付ける。具体的には、たとえば、図4に示したタイミングリスト400の入力を受け付ける。入力されたタイミング解析結果(タイミングリスト400)は、検出部502に出力される。
また、検出部502は、入力部501によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する。クリティカルパスの検出は、まず、タイミング解析結果に含まれている遅延値が最大のクリティカルパスの遅延に関する確率密度分布を算出する。具体的には、たとえば、入力部501によって入力されたタイミングリスト400の累積遅延値M1〜Mzのうち最大となる累積遅延値を有するクリティカルパスの遅延に関する確率密度分布を算出する。
ここで、タイミングリスト400において、累積遅延値M1〜Mzが大きい順にソートされている場合、クリティカルパスCP1の累積遅延値M1が最大となるため、クリティカルパスCP1の遅延に関する確率密度分布を算出する。
ここで、クリティカルパスCP1を例に挙げて、確率密度分布の算出手法について説明する。確率密度分布を算出する場合、回路素子ライブラリ200を参照する。クリティカルパスCP1は、回路素子C1、C2、C6、C7から構成されているため、各回路素子C1、C2、C6、C7の標準偏差σ1、σ2、σ6、σ7を用いて、クリティカルパスCP1の標準偏差σを下記式(1)により算出する。
Figure 2007233550
そして、算出された平均遅延値M1および標準偏差σにより、累積遅延値が最大であるクリティカルパスCP1の遅延に関する確率密度分布PM1を得ることができる。図6は、遅延に関する確率密度分布を示す説明図である。図6において、クリティカルパスCP1の遅延に関する確率密度分布PM1は、平均遅延値M1および標準偏差σからなる正規分布としてあらわされている。そして、確率密度分布PM1が算出された場合、確率密度分布PM1に基づいて、(平均)遅延値が所定範囲内となるクリティカルパスを検出する。
より具体的には、たとえば、図6に示した確率密度分布PM1の(M1−3σ)から平均遅延値M1までの範囲内に累積遅延値M2,M3を有するクリティカルパスCP2,CP3を検出する。図6には、クリティカルパスCP2,CP3の確率密度分布PM2,PM3と、が示されている。また、確率密度分布PM1の(M1−3σ)以下の平均遅延値Mzを有するクリティカルパスCPzの確率密度分布PMzが示されている。
また、論理的試算によれば、確率密度分布PM1の(M1−3σ)以下に累積遅延値を有するクリティカルパスが10万本あったとしても、解析対象回路300全体の遅延値に与える影響は、1%以下となる。このため、確率密度分布PM1の(M1−3σ)から平均遅延値M1までの範囲内に平均遅延値を有するクリティカルパスのみを対象としても問題はない。
また、平均遅延分布算出部503は、検出部502によって検出された各クリティカルパスの平均遅延値から解析対象回路300内のクリティカルパスを除くパスの平均遅延分布を算出する。図7は、パス数と平均遅延値の関係を示すグラフである。図7において、実線701は、クリティカルパスの平均遅延分布である。この平均遅延分布は、タイミングリスト400の平均遅延値(累積遅延値)から得ることができる。また、点線によって示される波形702は、解析対象回路300内のクリティカルパスを除く他のパスの平均遅延分布である。
ここで、波形702の算出手法について説明する。波形702は、実線701の近似曲線を外挿することにより得ることができる。まず、近似曲線を外挿する関数を定める。ここでは、近似曲線を外挿する関数の一例として、下記式(2)に示すガンマ関数を定める。
Figure 2007233550
上記式(2)において、dは平均遅延値であり、Aは、αおよびβの関数である。そして、αおよびβを変数として、実線701の値から最小自乗法によりαおよびβを算出する。そして、算出されたαおよびβを式(2)に代入することにより、波形702(および実線701)を示す関数(平均遅延分布)が算出される。
また、第1の確率密度分布算出部504は、クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、クリティカルパスの確率密度分布を算出する。具体的には、たとえば、検出部502によって検出されたクリティカルパスの確率密度分布を算出する。
ここで、クリティカルパスの確率密度分布の算出手法について説明する。クリティカルパスの確率密度分布の算出は、検出部502によって検出されたクリティカルパスの中から、解析対象回路300を構成する回路素子を共有するクリティカルパスを検索し、解析対象回路300の一部をなす部分回路を生成する。図8は、この発明の実施の形態にかかる部分回路を示す説明図である。図8において、解析対象回路300は、部分回路S1と部分回路S2を有する。
クリティカルパスCP1は、回路素子C1、C2、C6、C7から構成されているが、回路素子C2を共有するクリティカルパスCP2が検索される。また、検索されたクリティカルパスCP2は、回路素子C8、C2、C12、C13から構成されているが、回路素子C13を共有するクリティカルパスCP3が検索される。
すなわち、クリティカルパスCP1とクリティカルパスCP2は、回路素子C2を共有している。同様に、クリティカルパスCP2とクリティカルパスCP3は、回路素子C13を共有している。クリティカルパスCP1とクリティカルパスCP3は、共有する回路素子を有していないが、クリティカルパスCP2を介して間接的に関連付けられているため、クリティカルパスCP1〜CP3を構成する回路は、部分回路S1を構成する。なお、回路素子C3〜C5、C9〜C11は、部分回路S1には含まれない。
また、クリティカルパスCP4は、回路素子C17〜C20から構成されているが、回路素子C17〜C20を共有するクリティカルパスが存在しないため、クリティカルパスCP4がそのまま部分回路S2を構成する。
そして、生成された部分回路ごとに、当該部分回路の遅延に関する確率密度分布を算出する。図9は、遅延に関する確率密度分布と累積確率分布とを示す説明図である。図9において、遅延に関する確率密度分布Pを積分すると、累積確率分布Qとなる。
ここで、「統計的和(記号:*)」および「累積分布積(記号:×)」の定義について説明する。説明を簡略化するため、2つの遅延分布a、bを用いて説明する。なお、遅延分布aを確率密度関数であらわした確率密度分布をPa、遅延分布bを確率密度関数であらわした確率密度分布をPb、遅延分布aを累積確率関数であらわした累積確率分布をQa、遅延分布bを累積確率関数であらわした累積確率分布をQbとする。
確率密度分布Pa、Pbの統計的和は、下記式(3)によってあらわすことができる。
Figure 2007233550
累積確率分布Qa、Qbの統計的和は、下記式(4)によってあらわすことができる。
Figure 2007233550
確率密度分布Pa、Pbの累積分布積は、下記式(5)によってあらわすことができる。
(Pa×Pb)(t)=Pa(t)・Qb(t)+Pb(t)・Qa(t)
・・・(5)
累積確率分布Qa、Qbの累積分布積は、下記式(6)によってあらわすことができる。
(Qa×Qb)(t)=Qa(t)・Qb(t)・・・・・・・・・・(6)
確率密度分布の算出は、まず、部分回路内の各回路素子の遅延に関する確率密度分布を算出しておく。そして、回路素子が直列している箇所では、回路素子の遅延に関する確率密度分布の統計的和(上記式(3))を算出することで、当該直列箇所の遅延に関する確率密度分布を算出する。また、回路素子が並列している箇所では、回路素子の遅延に関する確率密度分布の累積分布積(上記式(5))を算出することで、当該箇所の累積分布積を算出する。
ここで、上述した部分回路S1を用いて、共有する回路素子が含まれている場合の部分回路S1の遅延に関する累積確率分布の算出手法について説明する。部分回路S1は、クリティカルパスCP1およびクリティカルパスCP2が共有する回路素子C2を有しており、また、クリティカルパスCP2およびクリティカルパスCP3が共有する回路素子C13を有している。
したがって、回路素子C1、C2、C8に着目すると、回路素子C1、C8が並列なので、上記式(3)および式(5)を用いてあらわすことができる(下記式(7))。なお、P1は回路素子C1の遅延に関する確率密度分布、P2は回路素子C2の遅延に関する確率密度分布、P8は回路素子C8の遅延に関する確率密度分布である。
(P1×P8)*P2・・・(7)
また、回路素子C14〜C16に着目すると、回路素子C14〜C16は直列なので、上記式(3)を用いてあわらすことができる(下記式(8))。なお、P14は回路素子C14の遅延に関する確率密度分布、P15は回路素子C15の遅延に関する確率密度分布、P16は回路素子C16の遅延に関する確率密度分布である。
P14*P15*P16・・・(8)
このような関係から、部分回路S1の遅延に関する確率密度分布PS1は、以下の式(9)によってあらわすことができる。P1、P2,P6〜P8、P12〜P16は回路素子C1、C2,C6〜C8、C12〜C16の遅延に関する確率密度分布である。
Figure 2007233550
上記式(8)により、共有されている回路素子C2、C13前後の回路素子の確率密度分布について累積分布積をとることができるため、計算処理を簡素化することができ、計算速度の高速化を図ることができる。
また、部分回路S2の遅延に関する確率密度分布PS2は、共有されている回路素子がないため、以下の式(10)によってあらわすことができる。P17〜P20は回路素子C17〜C20の遅延に関する累積確率分布である。
PS2=P17*P18*P19*P20・・・・(10)
解析対象回路300に関する確率密度分布Pは、部分回路S1の遅延に関する確率密度分布PS1と、部分回路S2の遅延に関する確率密度分布PS2を用いて、上記式(5)により、下記式(11)によってあらわすことができる。
P=PS1×PS2・・・・(11)
また、第2の確率密度分布算出部505は、第1の確率密度分布算出部504によって算出されたクリティカルパスの確率密度分布と、平均遅延分布算出部503によって算出された平均遅延分布とに基づいて、解析対象回路300に含まれる全パスの確率密度分布を算出する。
具体的には、たとえば、平均遅延分布算出部503によって算出された平均遅延分布から解析対象回路300内のクリティカルパスを除く各他のパスの確率分布密度を算出する。そして、上記式(5)を用いて、算出された各他のパスの確率密度分布とクリティカルパスの確率密度分布との累積分布積により、解析対象回路300内の全パスの確率分布密度を算出する。
ここで、図7に示した平均遅延分布から各他のパスの確率密度分布を算出する手法について説明する。図6において、説明したように、確率密度分布は、平均遅延値と標準偏差により表すことができる。平均遅延値(t1,t2,・・・,tN)は、図7の波形702から得ることができる。また、たとえば、クリティカルパスの平均遅延値が最小となる当該クリティカルパスの標準偏差を、各平均遅延値(t1,t2,・・・,tN)の標準偏差とすることができる。
具体的には、たとえば、クリティカルパスCPxの平均遅延値が最小の場合には、クリティカルパスCPxの標準偏差が各平均遅延値(t1,t2,・・・,tN)の標準偏差となる。平均遅延値が最小となるクリティカルパスが複数ある場合には、これらのクリティカルパスの中で最大の標準偏差を各平均遅延値(t1,t2,・・・,tN)の標準偏差とする。
また、たとえば、平均遅延分布から算出された各平均遅延値(t1,t2,・・・,tN)に一定の値(たとえば、0.05)を掛けた値を標準偏差としてもよい。一定の値は、一般的には1未満の値である。上述した処理により算出された平均遅延値と標準偏差とにより、各他のパスの確率密度分布を算出することができる。
つぎに、解析対象回路300内の全パスの確率密度分布の算出手法について示す。図10は、図7に示した平均遅延分布から算出された確率密度分布について示す説明図である。図10では、平均遅延値t1およびtNの確率密度分布を示している。波形R11、R12、R1Eは、平均遅延値t1の確率密度分布である。
また、波形RN1、RN2、RNFは、平均遅延値tNの確率密度分布である。E、Fは、それぞれ平均遅延値t1、tNを持つパスの数であり、図7に示した平均遅延分布の縦軸の値から読み取ることができる。また、波形PCRは上記式(10)により算出されたクリティカルパスの確率密度分布である。
全パスの確率密度分布の算出は、まず、上記式(5)を用いて、クリティカルパスの確率密度分布PCRと確率密度分布R11との累積分布積PR1を算出する。つぎに、算出されたPR1と確率密度分布R12の累積分布積PR2を算出する。同様の処理を、平均遅延値t1の各確率密度分布すべてに対しておこなう。
さらに、同様の処理を、平均遅延値がt2、t3、・・・、tNの各確率密度分布に対しておこなう。これにより、解析対象回路300内の全パスの確率密度分布が算出される。上述した処理により算出された全パスの確率密度分布を波形Pallに示す。
また、差分算出部506は、クリティカルパスの確率密度分布と第2の確率密度分布算出部505によって算出された全パスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と全パスの統計的遅延値との差分を算出する。具体的には、たとえば、図10に示したクリティカルパスの確率密度分布PCRから統計的遅延値td1を算出する。さらに、全パスの確率密度分布Pallから統計的遅延値td2を算出する。
ここで、統計的遅延値td1(td2)は、たとえば、確率密度分布における平均遅延値をm、標準偏差をσとし、m+3σ(99.86%)の統計遅延値が、それぞれ図10に示すtd1、td2となる。これらの統計的遅延値の差(td2−td1)が差分(信頼度)となる。この差分(信頼度)は、具体的には、クリティカルパスから算出された統計的遅延値の信頼度である。この値が小さいほど、より正確な統計的遅延値であるといえる。
また、差分算出部506は、クリティカルパスの確率密度分布と抽出部510によって抽出された有効パスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出する。この処理については、後述する。
また、判断部507は、差分算出部506によって算出された差分が所定値以下であるかを判断する。所定の値は、予め遅延解析装置500に入力されていてもよく、差分を算出するたびにユーザが入力するとしてもよい。
また、修正部508は、判断部507によって差分が所定値以下でないと判断された場合、差分算出部506によって算出された差分を用いて、クリティカルパスの統計的遅延値を修正する。具体的には、たとえば、差分が所定値よりも大きい場合、クリティカルパスの統計的遅延値に差分を足し合わせる。これにより、より正確な解析対象回路300の統計的遅延値を得ることができる。
また、特定部509は、判断部507よって差分が所定値以下でないと判断された場合、他のパスの平均遅延分布とクリティカルパスの確率密度分布とに基づいて、他のパスのうち平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス(以下、「有効パス」という)を特定する。
具体的には、たとえば、クリティカルパスの確率密度分布および他のパスの確率密度分布の平均遅延値のうち、最大の平均遅延値をT1とすると、T1−3σが基準値となる。そして、この基準値以上の平均遅延値を有するパスを特定する。より具体的には、たとえば、図10に示した(T1−3σ)から平均遅延値T1までの範囲内に平均遅延値を有するパスの数である。特定された有効パスの本数は、たとえば、タイミング解析を実行する際の実行コマンドにオプションとして付加することができる。
このようにオプションを付加することにより、統計的遅延値を再度算出する際に、解析対象回路300の遅延に影響を与えないパスの確率密度分布を除外して、当該統計的遅延値を算出することができる。そのため、算出される統計的遅延値の精度が向上する。
ここで、上述したタイミング解析の実行コマンドに付されるオプションについて説明する。図11は、タイミング解析の実行コマンドに付されるオプションについて示す説明図である。図11において、「STAexec」は、タイミング解析を実行するための実行コマンドである。「STAInFile」は、タイミング解析をおこなう際に入力されるファイル名である。具体的には、図2に示した回路素子ライブラリのファイル名である。
「TimingList」は、タイミング解析の解析結果を示すファイル名である。具体的には、たとえば、図4に示したタイミングリストのファイル名である。「−100000」は、タイミング解析の実行コマンドにオプションとして付加された情報である。具体的には、たとえば、統計的遅延値の算出に用いられるパス数である。
また、抽出部510は、全パスの確率密度分布の中から、特定部509によって特定された有効パスの確率密度分布を抽出する。具体的には、たとえば、図10に示した(T1−3σ)から平均遅延値T1までの範囲内に平均遅延値を有する確率密度分布を抽出する。
また、たとえば、上述したSTA実行コマンドに付加された情報として、出力パス数「−100000」が記述されている場合、他のパスの確率密度分布の中から、有効パスの確率密度分布を10万本抽出する。このように、実行コマンドにオプションを付加することにより、再度遅延解析をおこなう場合に、以前の解析結果を利用して遅延解析をおこなうことができる。
抽出された有効パスの確率密度分布は差分算出部506に出力される。そして、有効パスの確率密度分布とクリティカルパスの確率密度分布とに基づいて、クリティカルパスの統計的遅延値と有効パスの統計的遅延値との差分を算出する。
具体的には、たとえば、上記式(5)を用いて、抽出された各有効パスの確率密度分布とクリティカルパスの確率密度分布との累積分布積により、解析対象回路300の確率分布密度を算出する。そして、解析対象回路300の統計的遅延値とクリティカルパスの統計的遅延値とを算出し、それらの差分を算出する。解析対象回路300の確率密度分布の算出処理については、上記内容と重複するため、説明を省略する。
また、表示部511は、他のパスの平均遅延分布とクリティカルパスの確率密度分布とに基づいて、他のパスのうち平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示する。具体的には、たとえば、特定部509よって特定された有効パス数、最大あるいは最小の遅延値を有する有効パスの当該遅延値の値、基準値の値などを表示画面に表示する。
なお、上述した入力部501と、検出部502と、平均遅延分布算出部503と、第1の確率密度分布算出部504と、第2の確率密度分布算出部505と、差分算出部506と、判断部507と、修正部508と、特定部509と、抽出部510と、表示部511は、具体的には、たとえば、図1に示したROM102、RAM103、HD105などの記録媒体に記録されたプログラムを、CPU101が実行することによって、またはI/F109によって、その機能を実現する。
(遅延解析処理手順)
つぎに、この発明の実施の形態にかかる遅延解析装置500の遅延解析処理手順について説明する。図12は、この発明の実施の形態にかかる遅延解析装置500の遅延解析処理手順を示すフローチャートである。図12において、まず、入力部501により、タイミング解析結果の入力を待ち受け(ステップS1201:No)、タイミング解析結果が入力された場合(ステップS1201:Yes)、クリティカルパス検出処理を実行する(ステップS1202)。そして、平均遅延値算出部503により、クリティカルパスの平均遅延分布から対象回路300内の全パスの平均遅延分布を算出する(ステップS1203)。
つぎに、第1の確率密度分布算出部504により、クリティカルパスの確率密度分布算出処理を実行する(ステップS1204)。そして、有効パスが特定されているかを判断する(ステップS1205)。有効パスが特定されていない場合(ステップS1205:No)、第2の確率密度分布算出部505により、解析対象回路300内の全パスの確率密度分布算出処理を実行し(ステップS1206)、ステップS1209に移行する。
一方、有効パスが特定されている場合(ステップS1205:Yes)、各有効パスの確率密度分布を抽出する(ステップS1207)。そして、抽出された確率密度分布を用いて、解析対象回路の確率密度分布を算出する(ステップS1208)。そして、差分算出部506より、クリティカルパスと解析対象回路300内の全パスの統計的遅延値をそれぞれ算出し(ステップS1209)、算出された統計的遅延値の差分(信頼度)を算出する(ステップS1210)。
つぎに、判断部507、差分は所定値以下かを判断する(ステップS1211)。差分が所定値以下の場合(ステップS1211:Yes)、一連の処理を終了する。一方、差分が所定値以下でない場合(ステップS1211:No)、算出された差分により、クリティカルパスの統計的遅延値を再算出するかを判断する(ステップS1212)。ここで、統計的遅延値を再算出するか否かの判断は、ユーザからの入力により判断される。算出された差分は表示部511に表示され、ユーザは、表示部511された値を参照して、統計的遅延値を再算出するか否かを判断することができる。
統計的遅延値を再算出する場合(ステップS1212:Yes)、特定部509より、有効パスを特定し(ステップS1214)、ステップS1205に戻り、有効パスが特定されているかを判断する一方、ステップS1212において、統計的遅延値を再算出しない場合(ステップS1212:No)、クリティカルパスの統計的遅延値を修正する(ステップS1213)。これにより一連の処理を終了する。
つぎに、上述したクリティカルパス検出処理について説明する。図13は、クリティカルパス検出処理手順を示すフローチャートである。図13において、まず、検出部502」により、累積遅延値が最大となるクリティカルパス(最大遅延パス)を検出する(ステップS1301)。そして、最大遅延パスの遅延に関する確率密度分布を算出する(ステップS1302)。そして、この確率密度分布内に累積遅延値を有するクリティカルパス(x本)を検出する(ステップS1303)。このあと、図12に示したステップS1203に移行する。
つぎに、上述した確率密度分布算出処理について説明する。図14は、クリティカルパスの確率密度分布算出処理手順を示すフローチャートである。図14において、確率密度分布算出部504は、まず、部分回路生成処理を実行する(ステップS1401)。部分回路生成処理については後述する。つぎに、k=1とし(ステップS1402)、部分回路Skの遅延に関する確率密度分布を算出する(ステップS1403)。
そして、kをインクリメントし(ステップS1404)、k>mであるか否かを判断する(ステップS1405)。mは部分回路Skの総数である。k>mでない場合(ステップS1405:No)、ステップS1403に戻って、部分回路Skの遅延に関する累積確率分布を算出する。一方、k>mである場合(ステップS1405:Yes)、解析対象回路300の遅延に関する確率密度分布を算出する(ステップS1406)。このあと、図12に示したステップS1205に移行する。
つぎに、上述した部分回路生成処理について説明する。図15は、部分回路生成処理手順を示すフローチャートである。図15において、j=1、k=0とし(ステップS1501)、検出部502によって検出されたx本のクリティカルパスの中から、クリティカルパスCPjを抽出する(ステップS1502)。つぎに、クリティカルパスCPjと回路素子を共有するクリティカルパス(共有クリティカルパス)を検索する(ステップS1503)。
共有クリティカルパスが検索された場合(ステップS1504:Yes)、検索された共有クリティカルパスと回路素子を共有するクリティカルパス(共有クリティカルパス)を検索する(ステップS1505)。そして、ステップS1504に戻る。一方、共有クリティカルパスが検索されなかった場合(ステップS1504:No)、kをインクリメントして(ステップS1506)、部分回路Skを生成する(ステップS1507)。部分回路Skは、クリティカルパスCPjを構成する回路素子と、共有クリティカルパスを構成する回路素子とからなる回路である。
そして、jをインクリメントして(ステップS1508)、j>xであるか否かを判断する(ステップS1509)。j>xである場合(ステップS1509:Yes)、クリティカルパスCPjは共有クリティカルパスとして検索されていたか否かを判断する(ステップS1510)。共有クリティカルパスとして検索されていた場合(ステップS1510:Yes)、ステップS1508に戻って、jをさらにインクリメントする。
一方、共有クリティカルパスとして検索されていない場合(ステップS1510:No)、ステップS1503に戻って、クリティカルパスCPjと回路素子を共有するクリティカルパス(共有クリティカルパス)を検索する。また、ステップS1509において、j>xでない場合(ステップS1509:No)、図14に示したステップS1402に移行する。
つぎに、上述した解析対象回路の全回路の確率密度分布算出処理について説明する。図16は、全回路の確率密度分布算出処理について示すフローチャートである。図16において、まず、r=1、s=1とし(ステップS1601)、PRn=PCRとする(ステップS1602)。ここで、PCRは、上述したクリティカルパスの確率密度分布である。
そして、PRnとRrsの累積分布積(PRn×Rrs)を算出する(ステップS1603)。ここで、nは、累積分布積により演算をおこなった回数である。そして、sが最大値であるかを判断する(ステップS1604)。sの最大値とは、所定の平均遅延値を持つパスの数である。sが最大値でない場合(ステップS1604:No)、sをインクリメントして(ステップS1605)、ステップS1603に戻り累積分布積を算出する。一方、ステップS1604において、sが最大値の場合(ステップS1604:Yes)、rが最大値であるかを判断する(ステップS1606)。
rが最大値でない場合(ステップS1606:No)、rをインクリメントして(ステップS1607)、ステップS1603に戻り、累積分布積を算出する。一方、ステップS1607において、rが最大値の場合(ステップS1606:Yes)、図12に示したステップS1209に移行する。
以上説明したように、この発明の実施の形態によれば、クリティカルパスの平均遅延値から対象回路内の全パスの確率密度分布を算出することができる。そして、算出された全パスの確率密度分布から当該全パスの統計的遅延値を算出することができる。そのため、算出される統計的遅延値の精度を向上させることができる。
以上説明したように、遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置によれば、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図ることができるという効果を奏する。
なお、本実施の形態で説明した遅延解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)解析対象回路のタイミング解析結果の入力を受け付けさせる入力工程と、
前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出させる検出工程と、
前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出させる平均遅延分布算出工程と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出させる第1の確率密度分布算出工程と、
前記第1の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出させる第2の確率密度分布算出工程と、
前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出させる差分算出工程と、
をコンピュータに実行させることを特徴とする遅延解析プログラム。
(付記2)前記第1の確率密度分布算出工程は、
さらに、前記他のパスの平均遅延分布に基づいて、前記他のパスの確率密度分布を算出させ、
前記第2の確率密度分布算出工程は、
前記クリティカルパスの確率密度分布と前記第1の確率密度分布算出工程によって算出された前記他のパスの確率密度分布とに基づいて、前記全パスの確率密度分布を算出させることを特徴とする付記1に記載の遅延解析プログラム。
(付記3)さらに、前記差分算出工程によって算出された差分を用いて、前記クリティカルパスの統計的遅延値を修正させる修正工程をコンピュータに実行させることを特徴とする付記1または2に記載の遅延解析プログラム。
(付記4)さらに、前記差分算出工程によって算出された差分が所定値以下であるか否かを判断させる判断工程をコンピュータに実行させ、
前記修正工程は、
前記判断工程によって前記誤差が所定値以下でないと判断された場合、前記クリティカルパスの統計的遅延値を、前記差分を用いて修正させることを特徴とする付記3に記載の遅延解析プログラム。
(付記5)前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が当該平均遅延値の有効性を規定する基準値以上となるパス(以下、「有効パス」という)を特定させる特定工程と、
前記全パスの確率密度分布の中から、前記特定工程によって特定された有効パスの確率密度分布を抽出させる抽出工程と、
前記クリティカルパスの確率密度分布と前記抽出工程によって抽出された前記有効パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記有効パスの統計的遅延値との差分を算出させる差分再算出工程と、
をコンピュータに実行させることを特徴とする付記1または2に記載の遅延解析プログラム。
(付記6)さらに、前記差分算出工程によって算出された差分が所定値以下であるか否かを判断させる判断工程をコンピュータに実行させ、
前記特定工程は、
前記判断工程によって前記差分が所定値以下でないと判断された場合、前記有効パスを特定することを特徴とする付記5に記載の遅延解析プログラム。
(付記7)前記他のパスの平均遅延分布と前記クリティカルパスの確率密度分布とに基づいて、前記他のパスのうち前記平均遅延値が、当該平均遅延値の有効性を規定する基準値以上のパスに関する情報を表示画面に表示させる表示工程をコンピュータに実行させることを特徴とする付記1または2に記載の遅延解析プログラム。
(付記8)付記1〜7のいずれか一つに記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記9)解析対象回路のタイミング解析結果の入力を受け付ける入力工程と、
前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出工程と、
前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出工程と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出する第1の確率密度分布算出工程と、
前記第1の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第2の確率密度分布算出工程と、
前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出工程と、
を含むことを特徴とする遅延解析方法。
(付記10)解析対象回路のタイミング解析結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出手段と、
前記検出手段によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出手段と、
前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出手段によって検出されたクリティカルパスの確率密度分布を算出する第1の確率密度分布算出手段と、
前記第1の確率密度分布算出手段によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出手段によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第2の確率密度分布算出手段と、
前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出手段によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出手段と、
を備えたことを特徴とする遅延解析装置。
以上のように、本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置は、LSIの遅延解析に有用であり、特に、VLSIの遅延解析に適している。
この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示すブロック図である。 回路素子ライブラリの記憶内容を示す説明図である。 この発明の実施の形態にかかる解析対象回路の一例を示す回路図である。 解析対象回路のタイミング解析結果により得られるクリティカルパスを示す説明図である。 この発明の実施の形態にかかるタイミング解析結果となるタイミングリストの一例を示す説明図である。 この発明の実施の形態にかかる遅延解析装置500の機能的構成を示すブロック図である。 遅延に関する確率密度分布を示す説明図である。 パス数と平均遅延値の関係を示すグラフである。 この発明の実施の形態にかかる部分回路を示す説明図である。 遅延に関する確率密度分布と累積確率分布とを示す説明図である。 図7に示した平均遅延分布から算出された確率密度分布について示す説明図である。 タイミング解析の実行コマンドに付されるオプションについて示す説明図である。 この発明の実施の形態にかかる遅延解析装置500の遅延解析処理手順を示すフローチャートである。 クリティカルパス検出処理手順を示すフローチャートである。 クリティカルパスの確率密度分布算出処理手順を示すフローチャートである。 部分回路生成処理手順を示すフローチャートである。 全回路の確率密度分布算出処理について示すフローチャートである。
符号の説明
200 回路素子ライブラリ
300 解析対象回路
400 タイミングリスト
500 遅延解析装置
501 入力部
502 検出部
503 平均遅延分布算出部
504 第1の確率分布密度算出部
505 第2の確率分布密度算出部
506 差分算出部
507 判断部
508 修正部
509 特定部
510 抽出部
511 表示部

Claims (5)

  1. 解析対象回路のタイミング解析結果の入力を受け付けさせる入力工程と、
    前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出させる検出工程と、
    前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出させる平均遅延分布算出工程と、
    前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出させる第1の確率密度分布算出工程と、
    前記第1の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出させる第2の確率密度分布算出工程と、
    前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出させる差分算出工程と、
    をコンピュータに実行させることを特徴とする遅延解析プログラム。
  2. 前記第1の確率密度分布算出工程は、
    さらに、前記他のパスの平均遅延分布に基づいて、前記他のパスの確率密度分布を算出させ、
    前記第2の確率密度分布算出工程は、
    前記クリティカルパスの確率密度分布と前記第1の確率密度分布算出工程によって算出された前記他のパスの確率密度分布とに基づいて、前記全パスの確率密度分布を算出させることを特徴とする請求項1に記載の遅延解析プログラム。
  3. 請求項1または2に記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
  4. 解析対象回路のタイミング解析結果の入力を受け付ける入力工程と、
    前記入力工程によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出工程と、
    前記検出工程によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出工程と、
    前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出工程によって検出されたクリティカルパスの確率密度分布を算出する第1の確率密度分布算出工程と、
    前記第1の確率密度分布算出工程によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出工程によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第2の確率密度分布算出工程と、
    前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出工程によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出工程と、
    を含むことを特徴とする遅延解析方法。
  5. 解析対象回路のタイミング解析結果の入力を受け付ける入力手段と、
    前記入力手段によって入力されたタイミング解析結果から遅延値が所定範囲内となるクリティカルパスを検出する検出手段と、
    前記検出手段によって検出された各クリティカルパスの平均遅延値に基づいて、前記解析対象回路内の全パスのうち前記クリティカルパスを除く他のパスの平均遅延分布を算出する平均遅延分布算出手段と、
    前記クリティカルパスを構成する各回路素子の遅延に関する確率密度分布に基づいて、前記検出手段によって検出されたクリティカルパスの確率密度分布を算出する第1の確率密度分布算出手段と、
    前記第1の確率密度分布算出手段によって算出された前記クリティカルパスの確率密度分布と、前記平均遅延分布算出手段によって算出された前記他のパスの平均遅延分布とに基づいて、前記解析対象回路に含まれる全パスの確率密度分布を算出する第2の確率密度分布算出手段と、
    前記クリティカルパスの確率密度分布と前記第2の確率密度分布算出手段によって算出された全パスの確率密度分布とに基づいて、前記クリティカルパスの統計的遅延値と前記全パスの統計的遅延値との差分を算出する差分算出手段と、
    を備えたことを特徴とする遅延解析装置。

JP2006052430A 2006-02-28 2006-02-28 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置 Expired - Fee Related JP4734141B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006052430A JP4734141B2 (ja) 2006-02-28 2006-02-28 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置
US11/521,138 US7516432B2 (en) 2006-02-28 2006-09-14 Circuit delay analyzing method, circuit delay analyzing apparatus, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006052430A JP4734141B2 (ja) 2006-02-28 2006-02-28 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置

Publications (2)

Publication Number Publication Date
JP2007233550A true JP2007233550A (ja) 2007-09-13
JP4734141B2 JP4734141B2 (ja) 2011-07-27

Family

ID=38445483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006052430A Expired - Fee Related JP4734141B2 (ja) 2006-02-28 2006-02-28 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置

Country Status (2)

Country Link
US (1) US7516432B2 (ja)
JP (1) JP4734141B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129150A (ja) * 2007-11-22 2009-06-11 Fujitsu Ltd 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP2010039925A (ja) * 2008-08-07 2010-02-18 Fujitsu Ltd 遅延時間解析装置,遅延時間解析方法および遅延時間解析プログラム
JP2011039925A (ja) * 2009-08-17 2011-02-24 Fujitsu Ltd 回路設計支援方法、回路設計支援装置および回路設計支援プログラム
JP2012251845A (ja) * 2011-06-02 2012-12-20 Fujitsu Ltd 解析プログラム,解析装置および解析方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4275659B2 (ja) * 2005-09-26 2009-06-10 富士通株式会社 遅延解析プログラム、遅延解析装置、および遅延解析方法
US8266565B2 (en) * 2010-01-29 2012-09-11 International Business Machines Corporation Ordering of statistical correlated quantities
GB2481782A (en) * 2010-06-21 2012-01-11 Optimized Systems And Solutions Ltd Asset health monitoring
CN111163006B (zh) * 2019-12-25 2021-11-09 四川速宝网络科技有限公司 一种基于波形评判的多路优选网游加速方法
CN112241614B (zh) * 2020-10-09 2021-05-18 广芯微电子(广州)股份有限公司 一种时钟延时链延时的检测方法、系统及电子设备
CN112241615B (zh) * 2020-10-09 2021-05-18 广芯微电子(广州)股份有限公司 一种数据平衡性时序的检测方法、系统及电子设备
CN112530505A (zh) * 2020-12-29 2021-03-19 苏州元核云技术有限公司 硬盘延迟检测方法、装置及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259701A (ja) * 1999-03-12 2000-09-22 Toshiba Corp 検証装置、検証方法および検証プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2001350810A (ja) * 2000-06-06 2001-12-21 Nec Corp 半導体装置設計用ライブラリ
JP2003030264A (ja) * 2001-07-12 2003-01-31 Nec Microsystems Ltd Lsiの配置方法及び装置
JP2004252831A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd Lsiの統計的遅延シミュレーション装置及びそのシミュレーション方法
JP2005285144A (ja) * 2000-11-22 2005-10-13 Matsushita Electric Ind Co Ltd フォールスパス抽出方法
JP2007087342A (ja) * 2005-09-26 2007-04-05 Fujitsu Ltd 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置、および遅延解析方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334530A (ja) 1994-06-03 1995-12-22 Nec Corp 論理回路の遅延最小化装置及び方法
US6684375B2 (en) * 2000-11-22 2004-01-27 Matsushita Electric Industrial Co., Ltd. Delay distribution calculation method, circuit evaluation method and false path extraction method
WO2006063359A2 (en) * 2004-12-10 2006-06-15 Anova Solutions, Inc. Stochastic analysis process optimization for integrated circuit design and manufacture
US7308381B2 (en) * 2005-08-31 2007-12-11 Matsushita Electric Industrial Co., Ltd. Timing verification method for semiconductor integrated circuit
JP2007109138A (ja) * 2005-10-17 2007-04-26 Matsushita Electric Ind Co Ltd 集積回路のタイミング解析システム及びタイミング解析方法
JP4314233B2 (ja) * 2005-11-07 2009-08-12 富士通株式会社 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
US20070136705A1 (en) * 2005-12-09 2007-06-14 Fujitsu Limited Timing analysis method and device
US7437697B2 (en) * 2005-12-16 2008-10-14 International Business Machines Corporation System and method of criticality prediction in statistical timing analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259701A (ja) * 1999-03-12 2000-09-22 Toshiba Corp 検証装置、検証方法および検証プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2001350810A (ja) * 2000-06-06 2001-12-21 Nec Corp 半導体装置設計用ライブラリ
JP2005285144A (ja) * 2000-11-22 2005-10-13 Matsushita Electric Ind Co Ltd フォールスパス抽出方法
JP2003030264A (ja) * 2001-07-12 2003-01-31 Nec Microsystems Ltd Lsiの配置方法及び装置
JP2004252831A (ja) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd Lsiの統計的遅延シミュレーション装置及びそのシミュレーション方法
JP2007087342A (ja) * 2005-09-26 2007-04-05 Fujitsu Ltd 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置、および遅延解析方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129150A (ja) * 2007-11-22 2009-06-11 Fujitsu Ltd 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP2010039925A (ja) * 2008-08-07 2010-02-18 Fujitsu Ltd 遅延時間解析装置,遅延時間解析方法および遅延時間解析プログラム
JP2011039925A (ja) * 2009-08-17 2011-02-24 Fujitsu Ltd 回路設計支援方法、回路設計支援装置および回路設計支援プログラム
JP2012251845A (ja) * 2011-06-02 2012-12-20 Fujitsu Ltd 解析プログラム,解析装置および解析方法

Also Published As

Publication number Publication date
US7516432B2 (en) 2009-04-07
JP4734141B2 (ja) 2011-07-27
US20070204248A1 (en) 2007-08-30

Similar Documents

Publication Publication Date Title
JP4734141B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置
JP4275659B2 (ja) 遅延解析プログラム、遅延解析装置、および遅延解析方法
JP4314233B2 (ja) 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
JP4707191B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
US7937680B2 (en) Method and apparatus for verifying specification, and computer product
JP2008242739A (ja) 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP4437824B2 (ja) 遅延解析結果表示プログラム
JP2006268479A (ja) 設計支援装置、設計支援方法、設計支援プログラム、および記録媒体
US8423931B2 (en) Support computer product, apparatus, and method
US8458110B2 (en) Verification support apparatus, verification support method, and computer product
US7788643B2 (en) Method and apparatus for supporting verification of hardware and software, and computer product
JP4759419B2 (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置
JP2008225569A (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法
JP2009076679A (ja) 設計支援プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、設計支援装置、および設計支援方法
JP5125385B2 (ja) 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法
JP4351245B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法
JP2006344165A (ja) レイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体
JP4116660B2 (ja) 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体
JP4893811B2 (ja) 検証支援プログラム、および検証支援装置
JP2009110380A (ja) レイアウト支援プログラム、該プログラムを記録した記録媒体、レイアウト支援装置、およびレイアウト支援方法
JP4747036B2 (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JP2007233840A (ja) フォールスパス記述情報生成プログラム、該プログラムを記録した記録媒体、フォールスパス記述情報生成装置およびフォールスパス記述情報生成方法
US8560986B2 (en) Computer product, apparatus, and method for correcting assertion
JP2012168624A (ja) 半導体集積回路装置の設計支援システム及び設計支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

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