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

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

Info

Publication number
JP2008225569A
JP2008225569A JP2007058877A JP2007058877A JP2008225569A JP 2008225569 A JP2008225569 A JP 2008225569A JP 2007058877 A JP2007058877 A JP 2007058877A JP 2007058877 A JP2007058877 A JP 2007058877A JP 2008225569 A JP2008225569 A JP 2008225569A
Authority
JP
Japan
Prior art keywords
path
delay
delay distribution
circuit element
distribution
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
JP2007058877A
Other languages
English (en)
Other versions
JP4391540B2 (ja
Inventor
Katsumi Honma
克己 本間
Izumi Nitta
泉 新田
Toshiyuki Shibuya
利行 澁谷
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 JP2007058877A priority Critical patent/JP4391540B2/ja
Priority to US12/073,039 priority patent/US7870533B2/en
Publication of JP2008225569A publication Critical patent/JP2008225569A/ja
Application granted granted Critical
Publication of JP4391540B2 publication Critical patent/JP4391540B2/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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD

Landscapes

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

Abstract

【課題】LSIの遅延解析をおこなう際に、解析結果に影響を及ぼすパスのみを選択して統計的Max演算をおこなうことにより、遅延解析処理の高速化を図る。
【解決手段】解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、遅延分布ライブラリ200の中から抽出し、その二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する。この結果、その影響度指数が所定の閾値以上と判定されると、二つのパスを一つにした場合のパス内全体遅延分布を算出する。
【選択図】図7

Description

この発明は、解析対象回路の回路遅延を見積もる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法に関する。
近年、半導体集積回路の微細化にともない、プロセスのバラツキ、電源電圧の低下、クロストークなどの統計的要因の影響が大きくなってきており、回路遅延の変動が増大している。従来の静的遅延解析(STA)では、これらの回路遅延の変動は遅延マージンとして余分に確保されているが、遅延マージンの増大化のためタイミング設計が困難となってきている。
このため、統計的要因を正確に考慮することにより、不要な遅延マージンを低減させることができる統計的遅延解析(SSTA)に対する要求が高まってきている。SSTAにおいて扱う統計的要因には、半導体集積回路の回路素子・配線間で独立であるバラツキ成分と、回路素子・配線間で相関を持つバラツキ成分とがある。
SSTAにより回路全体の遅延分布を正確に求めるためには、これらのバラツキ成分を考慮する必要がある。バラツキ成分を考慮して回路全体の遅延分布を正確に算出する手法として、たとえば、モンテカルロシミュレーションがある。
また、解析対象回路内の相対するパスの遅延時間の相対バラツキを、システマティック成分とランダム成分とに分離し、当該システマティック成分とランダム成分とを用いて、近似的に回路全体の遅延分布を計算する手法が提供されている(たとえば、下記特許文献1参照。)。
また、解析対象回路内のパスを逐次的に処理し、回路全体の遅延分布を近似的に計算する手法が提供されている(たとえば、下記非特許文献1参照。)。具体的には、各パスの回路素子・配線間で独立であるバラツキ成分を考慮した第1の遅延分布、および回路素子・配線間で相関を持つバラツキ成分を考慮した第2の遅延分布に対して、それぞれ逐次的に統計的MAX演算をおこない、回路全体の第1の遅延分布および第2の遅延分布を算出する。そして、この回路全体の第1の遅延分布および第2の遅延分布の畳込み分布を解析対象回路の全体の遅延をあらわす遅延分布とする。
特開2005−100310号公報 Agarwal,Blaauw,Zolotov,Proc.ICCAD‘03,pp900−907(2003)
しかしながら、上述した従来技術のモンテカルロシミュレーションによれば、バラツキ成分を精度よく考慮して遅延分布を算出するためには膨大なメモリ容量および計算量が必要となってしまう。このため、遅延解析にかかる作業期間の長期化、ひいては設計期間の長期化を招くという問題があった。
また、上述した特許文献1の従来技術によれば、統計的要因を最悪値で見積もるため、かなり悲観的でかつ不正確な遅延分布が算出されることとなる。したがって、結果的に回路設計の手戻りが生じてしまい、設計者にかかる負担の増大化、ひいては設計期間の長期化を招くという問題があった。
また、上述した非特許文献1の従来技術によれば、解析対象回路の規模が大きくなると、解析対象回路内のパス数が数万〜数十万となってしまい、依然として膨大な計算量が必要となってしまう。このため、結果的に遅延解析にかかる作業期間が長期化し、設計期間の長期化を招くという問題があった。
この発明は、上述した従来技術による問題点を解消するため、解析対象回路の遅延解析を効率的かつ正確におこなうことにより、設計者の負担軽減および設計期間の短縮化を図ることができる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法は、パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をおこなう遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法であって、前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出し、その二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出し、その影響度指数が所定の閾値以上であるか否かを判定し、その判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出することを特徴とする。
この発明によれば、二つのパスの一方のパスの遅延に対する他方のパスの遅延が及ぼす影響度が大きい場合にのみ、二つのパスを一つにした場合の全体の遅延をあらわすパス内全体遅延分布を算出することができる。
また、上記発明において、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて、前記影響度指数を算出することとしてもよい。
この発明によれば、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差を簡素化して見積もることができる。
また、上記発明において、所定の閾値以上と判定された場合、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出することとしてもよい。
この発明によれば、二つのパスを一つにした場合のパス内全体遅延分布を、各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて算出することができる。
また、上記発明において、前記一方のパスのパス内全回路素子遅延分布と、前記他方のパスのパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合の前記パス内全回路素子遅延分布を算出し、前記二つのパスを一つにした場合のパス内全体遅延分布と、前記二つのパスを一つにした場合のパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内回路素子間遅延分布を算出することとしてもよい。
この発明によれば、二つのパスを一つにした場合のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、効率的かつ正確に算出することができる。
また、上記発明において、前記遅延分布集合から抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記二つのパスを一つにした場合のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として遅延分布集合に記録することとしてもよい。
また、上記発明において、所定の閾値未満と判定された場合、前記遅延分布集合から抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録することとしてもよい。
これらの発明によれば、二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として記録することにより、遅延分布集合の保持内容を減少させることができる。
また、上記発明において、前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された結果、前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断し、その判断結果に基づいて、再度、任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を遅延分布集合の中から抽出し、上述した一連の処理を繰り返しおこなうこととしてもよい。
この発明によれば、遅延分布集合の保持内容が一つのパスに関する全回路素子遅延分布およびパス内回路素子間遅延分布となるまで、二つのパスを一つのパスとした場合のパス内全回路素子遅延分布およびパス内全回路素子遅延分布を再帰的に算出することができる。
また、上記発明において、前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていないと判定された場合、前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路の全体の遅延解析結果として出力することとしてもよい。
また、上記発明において、前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、前記解析対象回路の全体の遅延をあらわす遅延分布を算出することにより、当該遅延分布を前記遅延解析結果として出力することとしてもよい。
これらの発明によれば、二つのパスを一つのパスとした場合のパス内全回路素子遅延分布およびパス内全回路素子遅延分布が再帰的に算出された結果、遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布から算出される遅延分布を解析対象回路の全体の遅延をあらわす遅延解析結果として出力することができる。
また、上記発明において、前記影響度指数に関する閾値の設定を受け付け、算出された影響度指数が設定された閾値以上であるか否かを判定することとしてもよい。
この発明によれば、二つのパスを一つのパスとした場合のパス内全回路素子遅延分布およびパス内全回路素子遅延分布を算出するパスの選択基準を任意に設定することができる。
本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法によれば、解析対象回路の遅延解析を効率的かつ正確におこなうことにより、設計者の負担軽減および設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法の好適な実施の形態を詳細に説明する。
(遅延解析装置100のハードウェア構成)
つぎに、この発明の実施の形態にかかる遅延解析装置100のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる遅延解析装置100のハードウェア構成を示す説明図である。図1において、遅延解析装置100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN、WANやインターネットなどのネットワーク140に接続可能である。
コンピュータ本体110は、CPU、メモリ、インタフェースを有する。CPUは、遅延解析装置100のハードウェア構成の全体の制御を司る。メモリは、ROM、RAM、HD、光ディスク111、フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インタフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。
また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内のメモリに格納される。なお、スキャナ123にOCR機能を持たせてもよい。
また、出力装置130としては、ディスプレイ131、スピーカ132、プリンタ133などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ132は、効果音や読み上げ音などの音声を出力する。また、プリンタ133は、画像データや文書データを印刷する。
(遅延分布ライブラリの記憶内容)
つぎに、遅延分布ライブラリ200について説明する。図2は、遅延分布ライブラリ200の記憶内容を示す説明図(その1)である。図2において、遅延分布ライブラリ200は、解析対象回路内のパスごとに、遅延分布情報200−1〜200−nを格納している。パスとは、たとえば、クリティカルパスとフリップフロップ(FF)とを共有する部分回路である。
遅延分布情報200−1〜200−nは、パスごとに、回路遅延に関する遅延分布を有している。具体的には、各パス内の全回路素子の回路素子性能に基づく遅延をあらわすパス内全回路素子遅延分布、および各パス内の回路素子間の相互の相関関係に基づく遅延をあらわすパス内回路素子間遅延分布を有している。
たとえば、パスiを例に挙げると、パス内全回路素子遅延分布を特定する離散値{(xi(1),yi(1)),(xi(2),yi(2)),…,(xi(N),yi(N))}と、パス内回路素子間遅延分布の平均遅延値Miおよび標準偏差σiとを有しており、それぞれの遅延分布関数は、確率密度関数Piと確率密度関数Qiである。
なお、各パスのパス内全回路素子遅延分布とパス内回路素子間遅延分布は、たとえば、解析対象回路内の回路素子ごとの遅延をあらわす回路素子内遅延分布および回路素子間遅延分布を用いて、公知技術であるSSTA(Statistical Static Timing Analyzer)手法により算出することができる。
(解析対象回路の一例)
つぎに、この発明の実施の形態にかかる解析対象回路300の一例について説明する。図3は、この発明の実施の形態にかかる解析対象回路300の一例を示す回路図である。なお、図面では、解析対象回路の一部を抜粋して表示している。図3において、解析対象回路300は、回路素子C1〜C9を有している。
ここでは、図3に示すパス1は回路素子C1、C2、C3を通る経路(パス)とし、また、パス2は回路素子C4、C5、C6を通る経路(パス)とし、また、パス3は回路素子C7、C8、C9を通る経路(パス)とする。回路素子としては、フリップフロップ、バッファ、インバータなどが挙げられる。また、クロックソースCSは、水晶やセラミック発振子などを用いたクロック発信器である。
(遅延解析装置100の機能的構成)
つぎに、この発明の実施の形態にかかる遅延解析装置100の機能的構成について説明する。図4は、この発明の実施の形態にかかる遅延解析装置100の機能的構成を示すブロック図である。図4において、遅延解析装置100は、遅延分布ライブラリ200と、抽出部401と、影響度指数算出部402と、判定部403と、パス内全体遅延分布算出部404と、パス内全回路素子遅延分布算出部405と、パス内回路素子間遅延分布算出部406と、記録部407と、判断部408と、出力部409と、設定部410と、から構成されている。
これら各機能401〜410は、メモリに格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能401〜410からの出力データはメモリに保持される。また、図4中矢印で示した接続先の機能的構成は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムをCPUに実行させる。
遅延解析装置100は、パス内のすべての回路素子の素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をコンピュータに実行させるコンピュータ装置である。
図4において、抽出部401は、解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出する機能を有する。
具体的には、たとえば、抽出部401は、解析対象回路300(図3参照)内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、解析対象回路300内の各パス1〜nのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布ライブラリ200(図2参照)から抽出する。
より具体的には、たとえば、抽出部401は、解析対象回路300内のパス1およびパス2に関する遅延分布情報200−1,200−2を遅延分布ライブラリ200から抽出して、遅延分布情報200−1,200−2をメモリに保持する。
ここで、パス内全回路素子遅延分布とは、パス内の回路素子ごとに独立した素子性能のバラツキ成分を考慮して、パス内のすべての回路素子についての回路遅延を統計的にあらわした遅延分布である。また、パス内回路素子間遅延分布は、パス内の回路素子間の相互の相関関係に基づくバラツキ成分を考慮して、パス内の回路遅延を統計的にあらわした遅延分布である。
パスごとのパス内全回路素子遅延分布およびパス内回路素子間遅延分布は、タイミング解析により得られる。具体的には、たとえば、公知技術であるSSTA手法により、解析対象回路のネットリストデータと、解析対象回路内の各回路素子・配線の遅延バラツキをあらわすバラツキデータ(遅延分布)とから、パスごとのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を算出することができる。
タイミング解析により得られたタイミング解析結果(解析対象回路内のパスごとのパス内全回路素子遅延分布およびパス内回路素子間遅延分布)は、遅延解析装置100に入力されると、遅延分布ライブラリ200に保持されることとなる。
影響度指数算出部402は、抽出部401によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する機能を有する。
具体的には、影響度指数算出部402は、抽出部401によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布をメモリから読み出して、その遅延分布に基づいて、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出し、その影響度指数をメモリに保持する。
より具体的には、影響度指数算出部402は、一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて影響度指数を算出することとしてもよい。統計量とは、各遅延分布の特徴や傾向をあらわす数値であり、たとえば、各遅延分布の平均、分散および標準偏差などである。
影響度指数とは、二つのパスの一方のパスの遅延に対する他方のパスの遅延が及ぼす影響度を示す指標である。この影響度指数が大きい場合には、他方のパスの遅延が一方のパスの遅延に及ぼす影響が大きいことを意味し、影響度指数が小さい場合には、他方のパスの遅延が一方のパスの遅延に及ぼす影響が小さいことを意味している。
ここでは、二つのパスの一方のパスの遅延に対する他方のパスの遅延が及ぼす影響度を「影響度=|Mt−Md|/Mt」と定義する。ただし、Mtは二つのパスを一つのパスにした場合のパス内全体遅延分布の平均遅延値、Mdは一方のパスのパス内全体遅延分布の平均遅延値である。
すなわち、二つのパスを一つのパスにした場合のパス内全体遅延分布の平均遅延値に対する一方のパスのパス内全体遅延分布の平均遅延値の相対誤差である。この影響度から、二つのパスを一つのパスにした場合のパス内全体遅延分布と一方のパスのパス内全体遅延分布との違いをおおまかに判断することができる。
この影響度は、二つのパスの一方のパスの遅延分布の統計量、および他方のパスの遅延分布の統計量から評価することができる。ここで、影響度を簡易的に見積もることにより、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する手法について説明する。
以下、二つのパスの一方のパスを事前パスとし、他方のパスを選択パスとして影響度指数の算出手法について説明する。ただし、
(mc,σc):(選択パスのパス内回路素子間遅延分布の平均遅延値,標準偏差)
(apc,anc):(選択パスのパス内全回路素子遅延分布係数)
(md,σd):(事前パスのパス内回路素子間遅延分布の平均遅延値,標準偏差)
(apd,and):(事前パスのパス内全回路素子遅延分布係数)とし、各パスのパス内全回路素子遅延分布を正規分布とする。このとき、下記式(1)の評価が成立する。
Figure 2008225569
ここで、h=Max(|apc−apd|,|and−anc|)、kは任意の正の整数、Φは標準正規分布の累積分布関数、Aは選択パスのパス内全体遅延分布と事前パスおよび選択パスのパス内全体遅延分布との高次モーメントに関連する定数であり、実用には実データなどから経験的に見積られる。また、影響度の閾値を予め設定しておけばkを適宜調整することにより、下記式(2)の評価が成立する。
Figure 2008225569
ここでは、各パスのパス内全回路素子遅延分布を正規分布として仮定しているが、正規分布ではない場合も1つのヒューリスティクスとして、上記式(1)を選択パスのパス内全体遅延分布と事前パスのパス内全体遅延分布との統計的Max演算を実行する判断基準とする。
そして、選択パスの遅延分布と事前パスの遅延分布に対し上記式(1)を満たさなければ、選択パスの遅延分布の影響度が大きいことを意味している。一方、満たしていると、選択パスの遅延分布の影響度が低いことを意味している。
このように、上記式(1)または(2)を用いて影響度を評価することにより、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差を簡素化して見積もることができる。
判定部403は、影響度指数算出部402によって算出された影響度指数が所定の閾値以上であるか否かを判定する機能を有する。具体的には、判定部403は、影響度指数算出部402によって算出された影響度指数を読み出して、その影響度指数と予め設定された閾値とを比較することにより、影響度指数が閾値以上であるか否かを判定し、その判定結果をメモリに保持する。
パス内全体遅延分布算出部404は、判定部403によって判定された判定結果に基づいて、二つのパスを一つにした場合のパス内全体遅延分布を算出する機能を有する。具体的には、判定部403は、判定部403によって判定された判定結果をメモリから読み出して、所定の閾値以上と判定された場合、二つのパスを一つにした場合のパス内全体遅延分布を算出する。
より具体的には、パス内全体遅延分布算出部404は、所定の閾値以上と判定された場合、抽出部401によって抽出された一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、統計的Max演算をおこなうことにより、二つのパスを一つにした場合のパス内全体遅延分布を算出し、そのパス内全体遅延分布をメモリに保持する。
ここで、二つのパスのパス内全回路素子遅延分布とパス内回路素子間遅延分布とに基づいて、二つのパスを一つにした場合のパス内全体遅延分布を算出する具体的な手順について説明する。図5は、パス内全体遅延分布の算出手順の概要を示す説明図である。ここでは、遅延分布ライブラリ200に保持されているパス1とパス2に関する遅延分布情報200−1,200−2に基づいてパス内全体遅延分布を算出する場合を例に挙げて説明する。
以下、パス1のパス内全回路素子遅延分布の確率密度関数をP1(X)と表記し、パス内回路素子間遅延分布の確率密度関数をQ1(Z)と表記する。また、パス2のパス内全回路素子遅延分布の確率密度関数をP2(Y)と表記し、パス内回路素子間遅延分布の確率密度関数をQ2(Z)と表記する。
さらに、図3に示すパス1とパス2を一つにした場合の全体の遅延をあらわすパス内全体遅延分布の確率密度関数をR1(t)と表記する。ここで、パス1およびパス2のパス内回路素子間遅延分布は、同一チップ上において共通の確率変数に基づいて確率的に変動する特性を有している。
具体的には、パス内回路素子間遅延分布の確率密度関数Q1(Z),Q2(Z)は、各確率密度関数の標準偏差σ、平均遅延値M、および同一チップ上において共通(同一チップ内のすべての回路素子に共通して与えられる)の確率変数n(Z)により、下記式(3),(4)であらわすことができる。
1(Z)=σ1×n(Z)+M1・・・(3)
2(Z)=σ2×n(Z)+M2・・・(4)
なお、上記式(3)、(4)に共通する確率変数n(Z)は「平均:1」かつ「標準偏差:1」の正規分布であり、下記式(5)によってあらわすことができる。
Figure 2008225569
図5において、パス1のパス内全回路素子遅延分布の確率密度関数P1(X)およびパス内回路素子間遅延分布の確率密度関数Q1(Z)と、パス2のパス内全回路素子遅延分布の確率密度関数P2(Y)およびパス内回路素子間遅延分布の確率密度関数Q2(Z)とが示されている。
これらの確率密度関数P1(X),P2(Y),Q1(Z),Q2(Z)を用いて、パス1とパス2を一つにした場合の全体の遅延をあらわすパス内全体遅延分布の確率密度関数R1(t)を計算する。具体的には、まず、下記式(6)によってパス1とパス2に関する累積確率分布の確率密度関数を求める。
Figure 2008225569
そして、上記式(6)によって求めた累積確率分布の確率密度関数r1(t)を微分することにより、パス1とパス2を一つにした場合の全体の遅延をあらわすパス内全体遅延分布の確率密度関数R1(t)を算出することができる。
パス内全回路素子遅延分布算出部405は、抽出部401によって抽出された一方のパスのパス内全回路素子遅延分布と、他方のパスのパス内全回路素子遅延分布とに基づいて、二つのパスを一つにした場合のパス内全回路素子遅延分布を算出する機能を有する。
具体的には、パス内全回路素子遅延分布算出部405は、抽出部401によって抽出された一方のパスのパス内全回路素子遅延分布と、他方のパスのパス内全回路素子遅延分布をメモリから読み出して、二つのパスを一つにした場合のパス内全回路素子遅延分布を算出し、そのパス内全回路素子遅延分布をメモリに保持する。
パス内全回路素子遅延分布は、パス内の回路素子ごとに独立した素子性能のバラツキ成分を考慮した回路遅延をあらわしたものであり、パスごとに独立した遅延分布である。このため、たとえば、図3に示すパス1とパス2を一つにした場合のパス内全回路素子遅延分布の確率密度分布は、パス1およびパス2のパス内全回路素子遅延分布の確率密度関数P1(X),P2(Y)を用いて、下記式(7)によってあらわすことができる。ここでは、パス1とパス2を一つにした場合のパス内全回路素子遅延分布の確率密度関数をF1(t)と表記する。
Figure 2008225569
パス内回路素子間遅延分布算出部406は、パス内全体遅延分布算出部404によって算出されたパス内全体遅延分布と、パス内全回路素子遅延分布算出部405によって算出されたパス内全回路素子遅延分布とに基づいて、二つのパスを一つにした場合のパス内回路素子間遅延分布を算出する機能を有する。
具体的には、パス内回路素子間遅延分布算出部406は、パス内全体遅延分布算出部404によって算出されたパス内全体遅延分布、およびパス内全回路素子遅延分布算出部405によって算出されたパス内全回路素子遅延分布を読み出して、二つのパスを一つにした場合のパス内回路素子間遅延分布を算出し、そのパス内回路素子間遅延分布をメモリに保持する。
より具体的には、パス内回路素子間遅延分布算出部406は、まず、パス内全体遅延分布算出部404によって算出されたパス内全体遅延分布の確率密度関数R1(t)の「平均:L」および「標準偏差:Γ」を算出する。さらに、パス内全回路素子遅延分布算出部405によって算出されたパス内全回路素子遅延分布の確率密度関数F1(t)の「平均:l」と「標準偏差:γ」とを算出する。
ここで求める二つのパスを一つにした場合のパス内回路素子間遅延分布の確率密度分布は、確率密度関数R1(t)の「平均:L」および「標準偏差:Γ」と、確率密度関数F1(t)の「平均:l」および「標準偏差:γ」とを用いて、下記式(8)、(9)および(10)によってあらわすことができる。ここでは、二つのパスを一つにした場合のパス内回路素子間遅延分布の確率密度関数をG1(Z)と表記する。
Figure 2008225569
Figure 2008225569
Figure 2008225569
これは、確率密度分布の数学的な性質を利用したものである。具体的には、コンボリューション後の確率密度分布の平均は、コンボリューション前の二つの確率密度分布の平均の和となる。また、コンボリューション後の確率密度分布の標準偏差の2乗は、コンボリューション前の二つの確率密度分布の標準偏差の2乗の和となる。
これらの性質を、パス内全回路素子遅延分布、パス内回路素子間遅延分布およびパス内全体遅延分布に適用する。すなわち、パス内全回路素子遅延分布とパス内回路素子間遅延分布とをコンボリューションすることによってパス内全体遅延分布が算出されるという関係に上記数学的性質を適用することができる。
図4の説明に戻り、記録部407は、抽出部401によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、パス内全回路素子遅延分布算出部405によって算出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布算出部406によって算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として遅延分布集合に記録する機能を有する。
具体的には、記録部407は、パス内全回路素子遅延分布算出部405によって算出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布算出部406によって算出されたパス内回路素子間遅延分布をメモリから読み出して、抽出部401によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに遅延分布集合に記録する。
より具体的には、たとえば、遅延分布ライブラリ200から抽出されたパス1とパス2に関する遅延分布情報200−1,200−2の替わりに、パス1とパス2とを一つにした場合の遅延分布情報を遅延分布ライブラリ200に記録する。
すなわち、遅延分布ライブラリ200から二つのパスに関する遅延分布情報200−1,200−2を削除して、新たな遅延分布情報を遅延分布ライブラリ200に記録する。これにより、遅延分布ライブラリ200に保持されている遅延分布情報が一つ減少することとなる。
ここで、記録部407により、新たな遅延分布情報が記録された遅延分布ライブラリ200の記憶内容について説明する。図6は、遅延分布ライブラリ200の記憶内容を示す説明図(その2)である。図6において、遅延分布ライブラリ200には、図3に示すパス1とパス2とを一つのパスとした場合の遅延分布情報600−1が格納されている。
遅延分布情報600−1は、記録部407により、パス1に関する遅延分布情報200−1(図2参照)およびパス2に関する遅延分布情報200−2の替わりに記録されたパス1とパス2とを一つのパスとした場合の遅延分布をあらわす情報である。
このように、遅延分布情報200−1,200−2の替わりに、遅延分布情報600−1を記録することにより、図2に示す遅延分布ライブラリ200では「n」個保持されていた遅延分布情報200−1〜200−nが、図6に示す遅延分布ライブラリ200では「n−1」個(遅延分布情報600−1,200−3〜200−n)となっている。
すなわち、記録部407により、遅延分布ライブラリ200に新たな遅延分布情報が記録されると、その都度、遅延分布ライブラリ200に保持されている遅延分布情報が1個ずつ減少することとなる。
また、記録部407は、判定部403によって所定の閾値未満と判定された場合、抽出部401によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として遅延分布集合に記録する機能を有する。
具体的には、記録部407は、判定部403によって判定された判定結果をメモリから読み出して、所定の閾値未満と判定された場合、抽出部401によって抽出された一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布をメモリから読み出して、抽出部401によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに遅延分布集合に記録する。
より具体的には、たとえば、判定部403によって所定の閾値未満と判定された場合、遅延分布ライブラリ200から抽出されたパス1とパス2に関する遅延分布情報200−1,200−2の替わりに、パス1に関する遅延分布情報200−1を遅延分布ライブラリ200に記録する。
すなわち、遅延分布ライブラリ200から二つのパスに関する遅延分布情報200−1,200−2を削除して、二つのパスを一つにした場合の遅延分布情報として、遅延分布情報200−1のみを遅延分布ライブラリ200に記録する。これにより、遅延分布ライブラリ200に保持されている遅延分布情報が一つ減少することとなる。
判断部408は、記録部407によって一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された結果、遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断する機能を有する。
具体的には、たとえば、判断部408は、遅延分布ライブラリ200から保持されている全遅延分布情報を読み出して、あるいは、保持されている遅延分布情報の個数をあらわすヘッダ情報を読み出して、複数の遅延分布情報が保持されているか否かを判断して、その判断結果をメモリに保持する。
判断部408により、遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていると判断された場合、抽出部401により、記録部407によってパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された遅延分布集合の中から任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を抽出する。
具体的には、たとえば、抽出部401は、判断部408によって複数保持されていると判断された場合、遅延分布ライブラリ200に保持されている残余の遅延分布情報の中から任意の二つの遅延分布情報を抽出する。この結果、影響度指数算出部402、判定部403およびパス内全体遅延分布算出部404は、抽出部401によって新たに抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づく一連の処理を繰り返しおこなうこととなる。
出力部409は、判断部408によって遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていないと判断された場合、遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、解析対象回路の全体の遅延解析結果として出力する機能を有する。
具体的には、出力部409は、判断部408によって判断された判断結果をメモリから読み出して、複数保持されていない場合、遅延分布集合から残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を読み出して、解析対象回路の全体の遅延解析結果として出力する。
より具体的には、判断部408によって複数保持されていないと判断された場合、残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を遅延分布集合から読み出して、その残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、解析対象回路の全体の遅延をあらわす遅延分布を算出し、その算出結果を遅延解析結果として出力する。
たとえば、出力部409は、判断部408によって遅延分布ライブラリ200に複数の遅延分布情報が保持されていないと判断された場合、遅延分布ライブラリ200から残余の遅延分布情報を読み出して、解析対象回路の全体の遅延をあらわす遅延分布を算出して、その算出結果を遅延解析結果として出力する。
設定部410は、影響度指数に関する閾値の設定を受け付ける機能を有する。具体的には、設定部410は、図1に示したキーボード121やマウス122などの入力装置120をユーザが操作することで、影響度指数に関する閾値の設定を受け付けて、メモリに保持する。設定部410によって設定される閾値については図8を用いて後述する。
また、判定部403は、影響度指数算出部402によって算出された影響度指数が設定部410によって設定された閾値以上であるか否かを判定する機能を有する。具体的には、判定部403は、設定部410によって設定された閾値をメモリから読み出して、影響度指数算出部402によって算出された影響度指数がその閾値以上であるか否かを判定し、その判定結果をメモリに記憶する。
これにより、一方のパスの全体の遅延をあらわすパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数と比較する閾値を任意に設定することができる。すなわち、再帰的に二つのパスの遅延分布を計算する際に、所定の閾値に基づいてパスを取捨選択することができる。
具体的には、一方のパスのパス内全体遅延分布が、二つのパスを一つにした場合のパス内全体遅延分布よりも十分遅い場合、すなわち、影響度指数が閾値未満となった場合には、統計的Max演算をおこなわない。このため、遅延解析結果にほとんど影響を及ぼすことのない算出処理を削減することができ、遅延解析処理の高速化を図ることができる。
(遅延解析装置100の遅延解析処理手順)
つぎに、この発明の実施の形態にかかる遅延解析装置100の遅延解析処理手順について説明する。図7は、この発明の実施の形態にかかる遅延解析装置100の遅延解析処理手順を示すフローチャートである。
図7のフローチャートにおいて、まず、遅延解析装置100は、解析対象回路の遅延解析が開始されたか否かを判断する(ステップS701)。具体的には、たとえば、図1に示したキーボード121やマウス122などの入力装置120をユーザが操作することで、解析対象回路の遅延解析の開始を受け付けたか否かを判断する。
ここで、解析対象回路の遅延解析が開始されるのを待って(ステップS701:No)、開始された場合(ステップS701:Yes)、抽出部401により、解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を遅延分布集合の中から抽出する(ステップS702)。
このあと、影響度指数算出部402により、ステップS702において抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する影響度指数算出処理を実行する(ステップS703)。
つぎに、判定部403により、影響度指数算出部402によって算出された影響度指数が所定の閾値以上であるか否かを判定する(ステップS704)。具体的には、たとえば、設定部410によって設定を受け付けた閾値以上であるか否かを判定する。
ここで、所定の閾値以上と判定された場合(ステップS704:Yes)、パス内全体遅延分布算出部404により、ステップS702において抽出された一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、二つのパスを一つにした場合のパス内全体遅延分布を算出する(ステップS705)。
また、パス内全回路素子遅延分布算出部405により、ステップS702において抽出された一方のパスのパス内全回路素子遅延分布と他方のパスのパス内全回路素子遅延分布とに基づいて、二つのパスを一つにした場合のパス内全回路素子遅延分布を算出する(ステップS706)。
このあと、パス内回路素子間遅延分布算出部406により、ステップS705において算出されたパス内全体遅延分布とステップS706において算出されたパス内全回路素子遅延分布とに基づいて、二つのパスを一つにした場合のパス内回路素子間遅延分布を算出する(ステップS707)。
そして、記録部407により、ステップS702において抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、ステップS706において算出されたパス内全回路素子遅延分布およびステップS707において算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として遅延分布集合に記録する(ステップS708)。
また、ステップS704において、所定の閾値未満と判定された場合(ステップS704:No)、ステップS702において抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として遅延分布集合に記録する(ステップS709)。
このあと、判断部408により、遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断する(ステップS710)。ここで、複数保持されていると判断された場合(ステップS710:Yes)、ステップS702に移行し、一連の処理を繰り返す。
また、複数保持されていないと判断された場合(ステップS710:No)、出力部409により、遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、解析対象回路の全体の遅延解析結果として出力して(ステップS711)、本フローチャートによる一連の処理を終了する。
なお、ステップS711において、残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、解析対象回路の全体の遅延をあらわす遅延分布を算出して、その算出結果を解析対象回路の遅延解析結果として出力することとしてもよい。また、ステップS705およびステップS706における処理は、処理順序が逆であってもよく、また、同時並行して実行することとしてもよい。
つぎに、図7に示したステップS703における影響度指数算出処理手順について説明する。まず、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する数式について説明する。図8は、影響度指数を算出する数式の一例を示す説明図である。
図8において、数式(11)、(12)および(13)は、二つのパスの一方のパスの遅延に他方のパスの遅延が及ぼす影響度を見積もる上記式(2)を簡易的にあらわす不等式である。ここでは、数式(11)〜(13)のいずれかを用いて、一方のパスのパス内全体遅延分布と二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する。
ただし、m1は一方のパス(上述した事前パスに相当)のパス内全回路素子遅延分布の平均遅延値、s1はその標準偏差、m2は他方のパス(上述した選択パスに相当)のパス内全回路素子遅延分布の平均遅延値、s2はその標準偏差とする。また、d=|a1−a2|とし、a1は一方のパスのパス内回路素子間遅延分布の標準偏差、a2は他方のパスのパス内回路素子間遅延分布の標準偏差とする。
図8において、点線枠810内の数値は、設定部410によって設定される影響度指数に関する閾値を示している。ユーザは、図1に示したキーボード121やマウス122などの入力装置120を操作することにより、影響度指数に関する閾値、およびそれに関連するパラメータを設定することができる。
この影響度指数に関する閾値を変化させることにより、解析対象回路の遅延解析をおこなう際の計算精度および処理時間を調整することができる。たとえば、影響度指数に関する閾値が大きいほど、他方のパスの遅延の影響度を無視する割合が高くなり、遅延解析処理を簡略化させることができる。この場合、遅延解析にかかる処理時間が低減する一方、遅延解析の精度が下がってしまう。
また、影響度指数に関する閾値が小さいほど、他方のパスの遅延の影響度を無視する割合が低くなる。この場合、遅延解析の精度が上がる一方、遅延解析にかかる処理時間が増大してしまう。すなわち、影響度指数に関する閾値を変化させて、効率的かつ正確に遅延解析結果が得られるように、ユーザが任意に調整する。
ここでは、影響度指数に関する閾値(点線枠810)、およびそれに関連するパラメータ(点線枠820内に示す数値)がそれぞれ設定されている。具体的には、数式(11)について、閾値「0.0762」およびパラメータ「3」が設定されている。数式(12)について、閾値「0.0062」およびパラメータ「4」が設定されている。数式(13)について、閾値「0.0003」およびパラメータ「5」が設定されている。
数式(11)〜(13)においては、数式(11)を用いると、遅延解析にかかる処理時間が最も短くなるが、遅延解析の精度が下がってしまう。また、数式(13)を用いると、遅延解析にかかる処理時間は長くなるが、遅延解析の精度を最も上げることができる。
図9は、ステップS703における影響度指数算出処理手順を示すフローチャートである。ここでは、図8に示した数式(11)を用いて影響度指数を算出する影響度指数算出処理手順について説明する。
図9のフローチャートにおいて、まず、図7に示すステップS702において抽出された二つのパスのパス内全回路素子遅延分布から、一方のパスのパス内全回路素子遅延分布の平均遅延値および標準偏差と、他方のパスのパス内全回路素子遅延分布の平均遅延値および標準偏差とを算出する(ステップS901)。
このあと、ステップS901において算出された二つのパスのパス内全回路素子遅延分布の平均遅延値および標準偏差と、二つのパスのパス内回路素子間遅延分布の標準偏差を数式(11)に代入する(ステップS902)。
ここで、数式(11)に代入された結果、数式(11)の不等式が成立するか否かを判断することにより、二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出して(ステップS903)、図7に示すステップS704に移行する。
具体的には、数式(11)の不等式が成立するか否かを判断し、不等式が成立する場合には、予め設定された閾値「0.0762」よりも小さい値として影響度指数を見積もる。一方、不等式が成立しない場合には、予め設定された閾値「0.0762」よりも大きい値として影響度指数を見積もることとなる。
このように、この発明の実施の形態によれば、解析対象回路内の各パスのパス内全回路素子遅延分布とパス内回路素子間遅延分布を用いて、統計的Max演算をおこなうことにより、二つのパスを一つのパスとした場合のパス内全回路素子遅延分布およびパス内全回路素子遅延分布を再帰的に計算することができる。
これにより、解析対象回路内の全パスを一つのパスとした場合のパス内全回路素子遅延分布およびパス内全回路素子遅延分布を自動的に求めることができる。さらに、求めたパス内全回路素子遅延分布およびパス内全回路素子遅延分布から、解析対象回路の全体の遅延をあらわす遅延分布を求めることができ、解析対象回路の回路遅延を正確に見積もることができる。
また、影響度指数が閾値未満となった場合、すなわち、一方のパスのパス内全体遅延分布が二つのパスを一つにした場合のパス内全体遅延分布よりも十分遅い場合には、二つのパスに対する統計的Max演算をおこなわない。これにより、遅延解析結果にほとんど影響を及ぼすことのない無駄な算出処理を削減することができ、遅延解析処理の高速化を図ることができる。
また、モンテカルロ法により、解析対象回路内のパス内全回路素子遅延およびパス内全回路素子遅延を考慮した遅延解析をおこなう場合に比べて、計算処理を簡素化することができ、計算速度の高速化を図ることができる。
実際に、上述したこの発明の実施の形態の手法に従って解析対象回路の遅延解析をおこなった結果、全6万パス中6千パス程度の計算により、6万パスすべてを計算した場合と同等の精度の遅延解析結果を得ることができた。
以上説明したように、遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法によれば、解析対象回路の遅延解析を効率的かつ正確におこなうことにより、設計者の負担軽減および設計期間の短縮化を図ることができる。
なお、本実施の形態で説明した遅延解析方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、上述した遅延解析装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した遅延解析装置100の機能的構成401〜410をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、遅延解析装置100を製造することができる。
(付記1)パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をコンピュータに実行させる遅延解析プログラムであって、
前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出させる抽出工程と、
前記抽出工程によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出させる第1の算出工程と、
前記第1の算出工程によって算出された影響度指数が所定の閾値以上であるか否かを判定させる判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出させる第2の算出工程と、
を前記コンピュータに実行させることを特徴とする遅延解析プログラム。
(付記2)前記第1の算出工程は、
前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて、前記影響度指数を算出させることを特徴とする付記1に記載の遅延解析プログラム。
(付記3)前記第2の算出工程は、
前記判定工程によって所定の閾値以上と判定された場合、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出させることを特徴とする付記1または2に記載の遅延解析プログラム。
(付記4)前記一方のパスのパス内全回路素子遅延分布と、前記他方のパスのパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合の前記パス内全回路素子遅延分布を算出させる第3の算出工程と、
前記第2の算出工程によって算出されたパス内全体遅延分布と、前記第3の算出工程によって算出されたパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内回路素子間遅延分布を算出させる第4の算出工程と、
を前記コンピュータに実行させることを特徴とする付記3に記載の遅延解析プログラム。
(付記5)前記抽出工程によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記第3の算出工程によって算出されたパス内全回路素子遅延分布および前記第4の算出工程によって算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録させる記録工程を前記コンピュータに実行させることを特徴とする付記4に記載の遅延解析プログラム。
(付記6)前記記録工程は、
前記判定工程によって所定の閾値未満と判定された場合、前記抽出工程によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録させることを特徴とする付記5に記載の遅延解析プログラム。
(付記7)前記記録工程によって前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された結果、前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断させる判断工程を前記コンピュータに実行させ、
前記判断工程によって判断された判断結果に基づいて、前記抽出工程、前記第1の算出工程、および前記第2の算出工程を前記コンピュータに実行させることを特徴とする付記5または6に記載の遅延解析プログラム。
(付記8)前記判断工程によって前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていないと判断された場合、前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路の全体の遅延解析結果として出力させる出力工程を前記コンピュータに実行させることを特徴とする付記7に記載の遅延解析プログラム。
(付記9)前記出力工程は、
前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、前記解析対象回路の全体の遅延をあらわす遅延分布を算出することにより、当該遅延分布を前記遅延解析結果として出力させることを特徴とする付記8に記載の遅延解析プログラム。
(付記10)前記影響度指数に関する閾値の設定を受け付けさせる設定工程を前記コンピュータに実行させ、
前記判定工程は、
前記第1の算出工程によって算出された影響度指数が前記設定工程によって設定された閾値以上であるか否かを判定させることを特徴とする付記1〜9のいずれか一つに記載の遅延解析プログラム。
(付記11)付記1〜10のいずれか一つに記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記12)パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をおこなう遅延解析装置であって、
前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出する抽出手段と、
前記抽出手段によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する影響度指数算出手段と、
前記影響度指数算出手段によって算出された影響度指数が所定の閾値以上であるか否かを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出するパス内全体遅延分布算出手段と、
を備えることを特徴とする遅延解析装置。
(付記13)前記影響度指数算出手段は、
前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて、前記影響度指数を算出することを特徴とする付記12に記載の遅延解析装置。
(付記14)前記パス内全体遅延分布算出手段は、
前記判定手段によって所定の閾値以上と判定された場合、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出することを特徴とする付記12または13に記載の遅延解析装置。
(付記15)前記一方のパスのパス内全回路素子遅延分布と、前記他方のパスのパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合の前記パス内全回路素子遅延分布を算出するパス内全回路素子遅延分布算出手段と、
前記パス内全体遅延分布算出手段によって算出されたパス内全体遅延分布と、前記パス内全回路素子遅延分布算出手段によって算出されたパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内回路素子間遅延分布を算出するパス内回路素子間遅延分布算出手段と、
を備えることを特徴とする付記14に記載の遅延解析装置。
(付記16)前記抽出手段によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記パス内全回路素子遅延分布算出手段によって算出されたパス内全回路素子遅延分布および前記パス内回路素子間遅延分布算出手段によって算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録する記録手段を備えることを特徴とする付記15に記載の遅延解析装置。
(付記17)前記記録手段は、
前記判定手段によって所定の閾値未満と判定された場合、前記抽出手段によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録することを特徴とする付記16に記載の遅延解析装置。
(付記18)前記記録手段によって前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された結果、前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断する判断手段を備え、
前記判断手段によって判断された判断結果に基づいて、前記抽出手段、前記影響度指数算出手段、および前記パス内全体遅延分布算出手段による処理を実行することを特徴とする付記16または17に記載の遅延解析装置。
(付記19)前記判断手段によって前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていないと判断された場合、前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路の全体の遅延解析結果として出力する出力手段を備えることを特徴とする付記18に記載の遅延解析装置。
(付記20)前記出力手段は、
前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、前記解析対象回路の全体の遅延をあらわす遅延分布を算出することにより、当該遅延分布を前記遅延解析結果として出力することを特徴とする付記19に記載の遅延解析装置。
(付記21)前記影響度指数に関する閾値の設定を受け付ける設定手段を備え、
前記判定手段は、
前記影響度指数算出手段によって算出された影響度指数が前記設定手段によって設定された閾値以上であるか否かを判定することを特徴とする付記12〜20のいずれか一つに記載の遅延解析装置。
(付記22)パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をおこなう遅延解析方法であって、
前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出する抽出工程と、
前記抽出工程によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する第1の算出工程と、
前記第1の算出工程によって算出された影響度指数が所定の閾値以上であるか否かを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出する第2の算出工程と、
を含んだことを特徴とする遅延解析方法。
(付記23)前記第1の算出工程は、
前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて、前記影響度指数を算出することを特徴とする付記22に記載の遅延解析方法。
(付記24)前記第2の算出工程は、
前記判定工程によって所定の閾値以上と判定された場合、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出することを特徴とする付記22または23に記載の遅延解析方法。
(付記25)前記一方のパスのパス内全回路素子遅延分布と、前記他方のパスのパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合の前記パス内全回路素子遅延分布を算出する第3の算出工程と、
前記第2の算出工程によって算出されたパス内全体遅延分布と、前記第3の算出工程によって算出されたパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内回路素子間遅延分布を算出する第4の算出工程と、
を含んだことを特徴とする付記24に記載の遅延解析方法。
(付記26)前記抽出工程によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記第3の算出工程によって算出されたパス内全回路素子遅延分布および前記第4の算出工程によって算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録する記録工程を含んだことを特徴とする付記25に記載の遅延解析方法。
(付記27)前記記録工程は、
前記判定工程によって所定の閾値未満と判定された場合、前記抽出工程によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記一方のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録することを特徴とする付記26に記載の遅延解析方法。
(付記28)前記記録工程によって前記一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布が記録された結果、前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されているか否かを判断する判断工程を含み、
前記判断工程によって判断された判断結果に基づいて、前記抽出工程、前記第1の算出工程、および前記第2の算出工程をおこなうことを特徴とする付記26または27に記載の遅延解析方法。
(付記29)前記判断工程によって前記遅延分布集合に複数のパスに関するパス内全回路素子遅延分布およびパス内回路素子間遅延分布が保持されていないと判断された場合、前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路の全体の遅延解析結果として出力する出力工程を含んだことを特徴とする付記28に記載の遅延解析方法。
(付記30)前記出力工程は、
前記遅延分布集合に保持されている残余のパス内全回路素子遅延分布およびパス内回路素子間遅延分布を用いて、前記解析対象回路の全体の遅延をあらわす遅延分布を算出することにより、当該遅延分布を前記遅延解析結果として出力することを特徴とする付記29に記載の遅延解析方法。
(付記31)前記影響度指数に関する閾値の設定を受け付ける設定工程を含み、
前記判定工程は、
前記第1の算出工程によって算出された影響度指数が前記設定工程によって設定された閾値以上であるか否かを判定することを特徴とする付記22〜30のいずれか一つに記載の遅延解析方法。
以上のように、本発明にかかる遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法は、LSIの遅延解析に有用である。
この発明の実施の形態にかかる遅延解析装置のハードウェア構成を示す説明図である。 遅延分布ライブラリの記憶内容を示す説明図(その1)である。 この発明の実施の形態にかかる解析対象回路の一例を示す回路図である。 この発明の実施の形態にかかる遅延解析装置の機能的構成を示すブロック図である。 パス内全体遅延分布の算出手順の概要を示す説明図である。 遅延分布ライブラリの記憶内容を示す説明図(その2)である。 この発明の実施の形態にかかる遅延解析装置の遅延解析処理手順を示すフローチャートである。 影響度指数を算出する数式の一例を示す説明図である。 ステップS703における影響度指数算出処理手順を示すフローチャートである。
符号の説明
100 遅延解析装置
200 遅延分布ライブラリ
200−1〜200−n,600−1 遅延分布情報
300 解析対象回路
401 抽出部
402 影響度指数算出部
403 判定部
404 パス内全体遅延分布算出部
405 パス内全回路素子遅延分布算出部
406 パス内回路素子間遅延分布算出部
407 記録部
408 判断部
409 出力部
410 設定部

Claims (8)

  1. パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をコンピュータに実行させる遅延解析プログラムであって、
    前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出させる抽出工程と、
    前記抽出工程によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出させる第1の算出工程と、
    前記第1の算出工程によって算出された影響度指数が所定の閾値以上であるか否かを判定させる判定工程と、
    前記判定工程によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出させる第2の算出工程と、
    を前記コンピュータに実行させることを特徴とする遅延解析プログラム。
  2. 前記第1の算出工程は、
    前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布の統計量とを用いて、前記影響度指数を算出させることを特徴とする請求項1に記載の遅延解析プログラム。
  3. 前記第2の算出工程は、
    前記判定工程によって所定の閾値以上と判定された場合、前記一方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布と、前記他方のパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出させることを特徴とする請求項1または2に記載の遅延解析プログラム。
  4. 前記一方のパスのパス内全回路素子遅延分布と、前記他方のパスのパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合の前記パス内全回路素子遅延分布を算出させる第3の算出工程と、
    前記第2の算出工程によって算出されたパス内全体遅延分布と、前記第3の算出工程によって算出されたパス内全回路素子遅延分布とに基づいて、前記二つのパスを一つにした場合のパス内回路素子間遅延分布を算出させる第4の算出工程と、
    を前記コンピュータに実行させることを特徴とする請求項3に記載の遅延解析プログラム。
  5. 前記抽出工程によって抽出されたパス内全回路素子遅延分布およびパス内回路素子間遅延分布の替わりに、前記第3の算出工程によって算出されたパス内全回路素子遅延分布および前記第4の算出工程によって算出されたパス内回路素子間遅延分布を、一つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布として前記遅延分布集合に記録させる記録工程を前記コンピュータに実行させることを特徴とする請求項4に記載の遅延解析プログラム。
  6. 請求項1〜5のいずれか一つに記載の遅延解析プログラムを記録したコンピュータに読み取り可能な記録媒体。
  7. パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をおこなう遅延解析装置であって、
    前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出する抽出手段と、
    前記抽出手段によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する影響度指数算出手段と、
    前記影響度指数算出手段によって算出された影響度指数が所定の閾値以上であるか否かを判定する判定手段と、
    前記判定手段によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出するパス内全体遅延分布算出手段と、
    を備えることを特徴とする遅延解析装置。
  8. パス内の全回路素子の回路素子性能に基づく遅延をあらわす遅延分布(以下、「パス内全回路素子遅延分布」という)と、前記パス内の回路素子間の相互の相関関係に基づく遅延をあらわす遅延分布(以下、「パス内回路素子間遅延分布」という)とを用いて、解析対象回路の遅延解析をおこなう遅延解析方法であって、
    前記解析対象回路内の任意の二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を、前記解析対象回路内の各パスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布を保持する遅延分布集合の中から抽出する抽出工程と、
    前記抽出工程によって抽出された二つのパスのパス内全回路素子遅延分布およびパス内回路素子間遅延分布に基づいて、一方のパスの全体の遅延をあらわす遅延分布(以下、「パス内全体遅延分布」という)と前記二つのパスを一つにした場合のパス内全体遅延分布との相対誤差をあらわす影響度指数を算出する第1の算出工程と、
    前記第1の算出工程によって算出された影響度指数が所定の閾値以上であるか否かを判定する判定工程と、
    前記判定工程によって判定された判定結果に基づいて、前記二つのパスを一つにした場合のパス内全体遅延分布を算出する第2の算出工程と、
    を含んだことを特徴とする遅延解析方法。
JP2007058877A 2007-03-08 2007-03-08 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法 Expired - Fee Related JP4391540B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007058877A JP4391540B2 (ja) 2007-03-08 2007-03-08 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法
US12/073,039 US7870533B2 (en) 2007-03-08 2008-02-28 Delay analysis apparatus, delay analysis method and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007058877A JP4391540B2 (ja) 2007-03-08 2007-03-08 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法

Publications (2)

Publication Number Publication Date
JP2008225569A true JP2008225569A (ja) 2008-09-25
JP4391540B2 JP4391540B2 (ja) 2009-12-24

Family

ID=39742921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007058877A Expired - Fee Related JP4391540B2 (ja) 2007-03-08 2007-03-08 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法

Country Status (2)

Country Link
US (1) US7870533B2 (ja)
JP (1) JP4391540B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992114B1 (en) * 2008-08-19 2011-08-02 Magma Design Automation, Inc. Timing analysis using statistical on-chip variation
US8584065B2 (en) * 2011-05-05 2013-11-12 Advanced Micro Devices, Inc. Method and apparatus for designing an integrated circuit
US9171112B2 (en) 2012-12-07 2015-10-27 Synopsys, Inc. Semiconductor hold time fixing
CN103729499B (zh) * 2013-12-12 2017-01-11 深圳先进技术研究院 基于公共交通数据的区域人气聚集指数计算系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039365B2 (ja) * 1996-04-15 2000-05-08 日本電気株式会社 受信同期位置制御方式
JP4282437B2 (ja) 2003-09-02 2009-06-24 Necエレクトロニクス株式会社 集積回路の遅延時間計算方法及びタイミング解析システム、遅延時間計算プログラム
JP2006146345A (ja) * 2004-11-16 2006-06-08 Matsushita Electric Ind Co Ltd 半導体集積回路の設計方法及びその設計装置
WO2007005724A2 (en) * 2005-07-01 2007-01-11 The Regents Of The University Of California Fpga circuits and methods considering process variations
JP4351245B2 (ja) * 2006-12-19 2009-10-28 富士通株式会社 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法

Also Published As

Publication number Publication date
US20080222586A1 (en) 2008-09-11
US7870533B2 (en) 2011-01-11
JP4391540B2 (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
JP4061295B2 (ja) デジタル回路の統計的タイミング解析のためのシステムおよび方法
JP4275659B2 (ja) 遅延解析プログラム、遅延解析装置、および遅延解析方法
JP5011830B2 (ja) データ処理方法、データ処理プログラム、該プログラムを記録した記録媒体およびデータ処理装置
KR101904518B1 (ko) 희귀 불량 현상을 식별하기 위한 방법 및 시스템
US8468478B2 (en) Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins
JP4734141B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析方法、および遅延解析装置
US10789406B1 (en) Characterizing electronic component parameters including on-chip variations and moments
JP4414444B2 (ja) 遅延解析支援プログラム、該プログラムを記録した記録媒体、遅延解析支援装置、および遅延解析支援方法
JP4391540B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法
JP5056478B2 (ja) リーク電流解析プログラム、該プログラムを記録した記録媒体、リーク電流解析装置、およびリーク電流解析方法
JP2005352787A (ja) タイミング解析方法およびタイミング解析装置
US20100131249A1 (en) Method and apparatus for supporting verification of leakage current distribution
JPWO2010092825A1 (ja) 回路解析方法
JP5370256B2 (ja) 解析支援プログラム、解析支援装置および解析支援方法
Kang et al. Statistical timing analysis using levelized covariance propagation considering systematic and random variations of process parameters
JP4351245B2 (ja) 遅延解析プログラム、該プログラムを記録した記録媒体、遅延解析装置および遅延解析方法
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
JP4294000B2 (ja) クロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体
Balaskas et al. Variability-aware approximate circuit synthesis via genetic optimization
JP4649356B2 (ja) 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置
JP4217204B2 (ja) タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム
Lewis et al. Spatial timing analysis with exact propagation of delay and application to Fpga performance
JP5664274B2 (ja) 解析支援プログラム、解析支援装置、および解析支援方法
US7552411B2 (en) LSI analysis method, LSI analysis apparatus, and computer product
JP2007257375A (ja) 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090910

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

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

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees