JP4750665B2 - タイミング解析方法および装置 - Google Patents

タイミング解析方法および装置 Download PDF

Info

Publication number
JP4750665B2
JP4750665B2 JP2006275428A JP2006275428A JP4750665B2 JP 4750665 B2 JP4750665 B2 JP 4750665B2 JP 2006275428 A JP2006275428 A JP 2006275428A JP 2006275428 A JP2006275428 A JP 2006275428A JP 4750665 B2 JP4750665 B2 JP 4750665B2
Authority
JP
Japan
Prior art keywords
timing analysis
spice deck
circuit
block
path
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
JP2006275428A
Other languages
English (en)
Other versions
JP2008097130A (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 JP2006275428A priority Critical patent/JP4750665B2/ja
Priority to US11/652,043 priority patent/US8000951B2/en
Publication of JP2008097130A publication Critical patent/JP2008097130A/ja
Application granted granted Critical
Publication of JP4750665B2 publication Critical patent/JP4750665B2/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)

Description

本発明は、タイミング解析方法および装置に関し、特に、大規模集積回路のタイミング解析方法および装置に関する。
近年、クロック周波数が数GHzを超えるような超高速LSIにおいては、非常に精度の高いタイミング解析が求められる。タイミング解析の手法には、業界標準であるspiceを用いたシミュレーションによる解析が知られているが、この手法は非常に長い処理時間が必要であり、ますます大規模化する回路構成に対しては、実用的な時間でタイミング解析を終えることは不可能になって来ている。
そのような中で有効なものとして、次に説明するような方法が知られている。まず、解析対象回路を小規模なブロックに分割する。このブロック単位にspiceシミュレーションを行い、その結果をライブラリ化する。そして、作成したブロック単位のライブラリを用いて、回路全体のSTA(Static Timing Analyses:静的タイミング解析)を行うことにより、LSI回路のタイミング解析を行うというものである。
すなわち、従来、大規模集積回路(LSI)のタイミング解析は、例えば、以下の手順で行っていた。
(1) まず、解析対象回路から、spiceシミュレーション可能な規模で回路を抜き出すか、若しくは、spiceシミュレーション可能な規模に回路を修正する。この際、回路の抜き出し(修正)は、手作業またはツールを使用して行なう。
(2) 次に、解析対象回路に対してシミュレーション条件(シミュレーションパターン等)を手作業で設定し、spiceシミュレーションを実行する。
(3) 上記(1)および(2)の作業を繰り返し、回路全体のタイミング解析を行う。
上記の手法は有効なもので、実用的な時間でタイミング解析を行うことを可能にしている。しかしながら、年々の微細化および高密度化の進むLSI回路において、この手法でも、例えば、クロックパスなどの高い精度が求められるパスに対しては十分な精度を得ることはできない。
ところで、従来、大規模な論理回路に対して高速および高精度に遅延時間の計算を行うことのできる遅延時間計算方法として、高精度の計算が要求されるパスについては、高精度計算対照パス条件ライブラリを入力とし、静的遅延計算により求めたパスの信号遅延時間を参照して条件に合致するパスを選択し、その選択されたパスに対して論理回路の接続情報を元にその選択されたパス内の回路シミュレーションデータと回路シミュレーションの入力信号(テストパターン)を生成するものが提案されている(例えば、特許文献1参照)。
また、従来、フルカスタムLSI設計において、部分的に回路設計や信号伝達に関する条件が変更された場合でも変更前の回路について行なった解析結果を活用して迅速で精密な遅延特性解析を行う方法として、ネットリストを単位ブロックに分割してその単位ブロックを所定の条件に従って結合して所定の規模の回路ブロックを形成し、各回路ブロックについて動的タイミング解析を行ない、得られた解析結果を含む遅延特性ライブラリを作成し、静的タイミング解析処理に適用してネットリストで表される解析対象の回路を回路ブロックの集合として扱い、所望の信号経路についての伝送遅延を解析するようにしたものも提案されている(例えば、特許文献2参照)。
特開平10−063693号公報 特開2002−215710号公報
前述した従来の大規模集積回路のタイミング解析方法では、抜き出した(修正した)回路自体のシミュレーション条件と実際の回路動作の差分が大きくて精度が悪かった。また、精度を向上させるために、抜き出した回路の規模は大きくなりがちで、1回のspiceシミュレーションに時間が掛かっていた。さらに、シミュレーションパターン等のシミュレーション条件の設定を手作業で行わなければならず、非常に手間を要していた。
本発明は、上述した従来技術が有する課題に鑑み、タイミング解析の精度を向上させると共に、タイミング解析の作業効率を向上させることのできるタイミング解析方法および装置の提供を目的とする。
本発明に係るタイミング解析方法によれば、コンピュータが行うタイミング解析方法であって、前記コンピュータが、分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を記憶装置に保存し、タイミング解析が必要な順序回路へのクロックパスおよびデータパスの認識を行い、そして、該タイミング解析が必要な順序回路へのクロックパスおよびデータパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの情報を使用して、前記分割されたブロックを結合したスパイスデッキを生成する。そして、生成されたスパイスデッキによるシミュレーション結果を、前記静的タイミング解析に反映させることにより、タイミング解析の精度を向上させると共に、タイミング解析の作業効率を向上させることが可能になる。
本発明によれば、タイミング解析の精度を向上させると共に、タイミング解析の作業効率を向上させることのできるタイミング解析方法および装置を提供することができる。
まず、本発明に係るタイミング解析方法および装置の実施例を詳述する前に、本発明の原理を説明する。すなわち、本発明は、回路分割手法の精度を、以下の手順により向上させるものである。
(1) まず、ブロック単位の回路解析時に、シミュレーションパターン等のブロックのシミュレーション情報(MIN/MAXのクリティカル条件のみ)を保存する。
(2) 次に、高精度解析が必要なパスの認識を行う。
(3) さらに、高精度解析が必要なパスについて、STA(Static Timing Analyses:静的タイミング解析)の結果と、ブロック毎のspiceシミュレーションの条件を使用して、分割ブロックを結合したスパイスデッキを生成し、spiceシミュレーションを行う。ここで、スパイスデッキとは、spiceシミュレーションに使うスパイスネットリストであり、他のシミュレーション条件が設定されているスパイスのネットリストを意味する。
(4) そして、スパイスデッキによるシミュレーション結果をSTAに反映させ、タイミング解析の精度を向上する。
このように、本発明は、ブロック分割回路とブロック毎のシミュレーション条件並びにSTAの結果を用いることによって、回路規模が小さくて高精度のスパイスデッキを作成し、これを用いることにより短時間のspiceシミュレーションで高精度の解析を行うことができる。さらに、本発明は、シミュレーションパターン等のシミュレーション条件の設定は、ブロック分割手法の実行時にMIN/MAXのクリティカル条件を保存し、これを使用することにより人手を介さずに自動で行うことができ、作業効率を向上させることができる。
従って、本発明によれば、小規模/高精度のスパイスデッキを使用することにより、短時間のspiceシミュレーションで精度の高い解析を行うことができ、また、スパイスデッキによる解析結果をSTAにフィードバックすることにより精度の高いタイミング解析データを作成することがで、さらに、自動でシミュレーション条件の設定を行うことによりタイミング解析の作業効率を向上させることができる。
以下、本発明に係るタイミング解析方法および装置の実施例を、添付図面を参照して詳述する。
図1は本発明に係るタイミング解析方法の全体的な処理の一例を示すフローチャートであり、図2は図1に示すタイミング解析方法を実現するタイミング解析装置の一実施例を示すブロック図である。図2において、参照符号100はブロックシミュレーション情報保存部、200はスパイスデッキ生成パス解析部、300はフィードバック付きSTA部、そして、600はスパイスデッキ生成部を示している。なお、参照符号11,12、21〜24、および、31〜37はそれぞれ記憶装置(記憶装置に格納(保存)されるデータ)を示している。
図1に示されるように、タイミング解析処理が開始すると、まず、ステップST1において、ブロックシミュレーション情報を保存してステップST2に進む。ここで、ブロックシミュレーション情報は、知られているブロック分割手法を使用して行われるブロックシミュレーションの情報である。
すなわち、図2に示されるように、ブロック分割手法は、例えば、ステップST101において、記憶装置に保存された回路データ(spice:スパイス)11を使用してブロック分割を行い、さらに、ステップST102に進んで、ブロック毎のspiceシミュレーションを行い、そのタイミング解析情報12を記憶装置に保存する。
ステップST2では、スパイスデッキ生成対象ノードの解析、すなわち、スパイスデッキ生成パスの解析を行ってステップST3に進む。
ステップST3では、STA(静的タイミング解析)を実行してステップST4に進み、ステップST4で解析パス(クリティカルパス)がスパイスデッキ生成対象ではない判別されると、ステップST5に進む。ステップST5では、全てのパスの解析が終了したかどうかを判別し、全てのパスの解析が終了するまでステップST3およびST4の処理を繰り返す。なお、ステップST5で、全てのパスの解析が終了したと判別されると、タイミング解析処理は終了する。
一方、ステップST4において、解析パスがスパイスデッキ生成対象であると判別されると、ステップST6に進み、スパイスデッキを生成し、さらに、ステップST7に進んで、spiceシミュレーションを実行する。そして、ステップST8に進んで、ステップST7における解析結果をステップST3のSTAに反映(フィードバック)して、全てのパスの解析が終了するまでステップST3およびST4の処理を繰り返す。
図2に示されるように、本発明に係るタイミング解析装置の一実施例は、概略、ブロックシミュレーション情報保存部100、スパイスデッキ生成パス解析部200、フィードバック付きSTA部300、および、スパイスデッキ生成部600を備えて構成されている。
ブロックシミュレーション情報保存部100は、前述したブロック分割手法で実行されるブロック単位のspiceシミュレーション時に、パス毎のMIN/MAXクリティカル条件について、シミュレーションパターンや内部ノードの初期状態などのシミュレーション情報を保存する。なお、このブロックシミュレーション情報は、後に図12を参照して説明するスパイスデッキの生成に使用される。
スパイスデッキ生成パス解析部200は、高精度解析が求められるパスとして、フリップフロップ(FF)へのクロックパス/データパスが挙げられる。これらのパスの解析法としては、FF回路テンプレート(31:FFtp)を考える。これは、解析対象回路中から回路テンプレートに該当する部分を検索し、FF回路を認識する。
そして、認識した回路から、クロック/データに該当する(テンプレートで指定する)端子からバックトレース(トランジスタのドレインからソース方向、または、ドレインからゲート方向へのトレース)を行い、通過したノード(トランジスタの端子)をスパイスデッキ生成対象とする。なお、FF回路テンプレートの使用に関しては、後に、図6を参照して説明する。
しかしながら、FF回路の構成は複雑であり、また、様々な回路の構成方法が考えられるため、これら全てをカバーするテンプレートを作成することは大変手間のかかる作業になる。そこで、FF回路に必ず含まれるフィードバックループテンプレート(32:FLtp)を考える。
すなわち、解析対象回路中からこのフィードバックループテンプレートに該当する部分を検索し、フィードバックループを認識する。そして、認識した回路においてバックトレースを行い、通過したノードをスパイスデッキ生成対象とする。このフィードバックループのテンプレート情報の使用に関しては、後に、図7を参照して説明する。
さらに、任意のパスに対しても、スパイスデッキの生成を行い、高い精度での解析が行えるように、スパイスデッキ生成対象ノードを外部ファイルより指定する。この任意のノード名の指定に関しては、後に、図8を参照して説明する。
フィードバック付きSTA部300は、STAを行った結果、解析パス上に、スパイスデッキ生成パス解析部200で求められたノードが存在する場合、後述するスパイスデッキ生成部600による手順でスパイスデッキ生成する。そして、この生成されたスパイスデッキを使用してspiceシミュレーションを行い、計算結果をSTAに反映(フィードバック)させ、再度STAを行う。
そして、新たなパスがMIN/MAXパスとして検出され、且つ、そのパス上にスパイスデッキ生成対象となるノードが含まれる場合には、再度スパイスデッキの生成を行ってその計算結果をSTAに反映させる。この処理を繰り返し、スパイスデッキの結果を反映させたタイミング解析情報を作成する。なお、フィードバック付きSTAに関しては、後に、図10を参照して説明する。
スパイスデッキ生成部600は、STAで求めた通過パス情報と、ブロック分割結果、および、ブロックのパス毎のMIN/MAXのクリティカルなシミュレーション条件(シミュレーションパターン等)からスパイスデッキを生成する。なお、スパイスデッキの生成に関しては、後に、図12を参照して説明する。
さらに、STAで計算対象となったパスに、スパイスデッキ生成パス解析部200で求めたノードが含まれる場合にスパイスデッキを生成する。スパイスデッキは、STAで求めたパス上に存在するブロック分割回路を接続することによって生成される。ここで、パス上に存在するブロック分割回路をターゲットブロックと呼ぶ。
spiceシミュレーションを可能にするため、各ターゲットブロックの空き端子に対して、ブロックのパス毎に保存されているクリティカルなシミュレーション条件(MAX/MIN解析)のシミュレーションパターンに従ったクリップを行う。さらに、解析精度を向上するために、ターゲットブロックの出力端子に接続されているブロックも再現する。ここで、ターゲットブロックに接続されている回路をファンアウトブロックと呼ぶ。このファンアウトブロックの空き端子についても、ターゲットブロックと同様に、保存されているシミュレーションパターンに従ってクリップを行う。
図3はブロックシミュレーション情報一例を示す図であり、図4は図2におけるブロックシミュレーション情報保存処理の一例を説明するための図であり、そして、図5は図4に示すブロックシミュレーション情報保存処理をより詳細に示すフローチャートである。
図2におけるブロック分割手法は、回路をブロックに分割し、例えば、図3に示されるような、各入力端子および各出力端子に対して、信号の立ち上がり(Up)および立ち下がり(Down)の最短時間(MIN)と最長時間(MAX)とのクリティカルな条件でシミュレーションを行い、それをブロック毎に保存する。
すなわち、図5に示されるように、ステップST11において、ブロック単位の回路形状(回路データ:spice)を保存し(図2における記憶装置11参照)、ステップST12に進んで、ブロック単位のタイミング解析を行ってその情報を保存する(図2における記憶装置12参照)。ここで、保存するタイミング解析情報としては、例えば、入力端子から出力端子へのディレイをパス毎に、且つ、MIN/MAX毎に保存したものである。
さらに、ステップST13に進んで、各パスのディレイを保存したときのシミュレーション条件(MIN/MAXのクリティカルパス保存時のシミュレーション条件)を保存する(図2における記憶装置12参照)。ここで、保存するシミュレーション条件としては、例えば、シミュレーションパターンや回路内部の初期条件等であり、最大で、[2(MINクリティカル条件およびMAXクリティカル条件)×2(入力信号遷移UpおよびDown)×2(出力信号遷移UpおよびDown)×入力端子数×出力端子]を保存することになる。
すなわち、図4に示す例では、遷移Upの入力信号が入力端子Aから入力して出力端子Xへ遷移Downとして出力される場合、太線の矢印の経路がクリティカルパスのとき、入力端子に与えたシミュレーションパターンや内部ノードの状態などをブロックシミュレーション情報(ブロック単位の回路データ)として保存する。
図6は図2に示すタイミング解析装置におけるFF回路テンプレートの使用例を説明するための図、図7は図2に示すタイミング解析装置におけるフィードバックループテンプレートの使用例を説明するための図、そして、図8は図2に示すスパイスデッキ生成対象ノードを説明するための図である。
図2および図6〜8に示されるように、スパイスデッキ生成パス解析部200は、高精度の解析が求められるパス(スパイスデッキを作成すべきパス)の認識を行うために、以下の処理を行う。
(1) まず、FF回路のテンプレート情報を使用して、スパイスデッキ生成対象ノードを求める。すなわち、図6に示されるように、解析対象回路からFF回路テンプレートFFtpに該当する回路を検索し、FF回路テンプレートFFtpに該当する回路が見つかった場合には、バックトレース端子からバックトレースを行い、通過したノードをスパイスデッキ生成対象ノードとする。
ここで、図6において、参照符号Tbがバックトレース端子の場合、バックトレースは、図中の矢印で示されるように、トランジスタのドレインからソース方向、或いは、ドレインからゲート方向へのトレースである。
(2) 次に、フィードバックループのテンプレート情報を使用して、スパイスデッキ生成対象ノードを求める。すなわち、図7に示されるように、解析対象回路中からフィードバックループテンプレートFLtpに該当する回路を検索する。そして、フィードバックループテンプレートFLtpに該当する回路が見つかった場合には、バックトレース端子Tbからバックトレースを行い、通過したノードをスパイスデッキ生成対象ノードとする。
(3) さらに、任意のノード名を指定して、スパイスデッキ生成対象ノードを求める。すなわち、図8に示されるように、任意のパスに対しても、スパイスデッキの生成を行い、高い精度での解析が行えるように、スパイスデッキ生成対象ノードを外部ファイルより指定する。この任意のノード名は、例えば、正規表現により指定する。
図9は図6〜図8に示すスパイスデッキ生成パス解析処理をより詳細に示すフローチャートである。
図9に示されるように、スパイスデッキ生成パス解析処理が開始されると、ステップST21において、FFのテンプレート(FFtp,31)の認識を行って、ステップST22に進み、テンプレートとマッチするか否かを判別する。
ステップST22で、テンプレートFFtpとマッチすると判別されると、ステップST27に進んで、スパイスデッキ生成対象ノード(34)を保存して、ステップST23に進む。一方、ステップST22で、テンプレートFFtpとマッチしないと判別されると、そのままステップST23に進む。
ステップST23では、フィードバックループのテンプレート(FLtp,32)の認識を行い、ステップST24に進んで、テンプレートFLtpとマッチするか否かを判別する。
ステップST24で、テンプレートFLtpとマッチすると判別されると、ステップST28に進んで、スパイスデッキ生成対象ノード(34)を保存して、ステップST25に進む。一方、ステップST24で、テンプレートFLtpとマッチしないと判別されると、そのままステップST25に進む。
ステップST25では、指定されたノード名の認識を行い、ステップST26に進んで、指定されたノード名とマッチするか否かを判別する。
ステップST26で、指定されたノード名とマッチすると判別されると、ステップST29に進んで、スパイスデッキ生成対象ノード(34)を保存してスパイスデッキ生成パス解析処理を終了する。一方、ステップST26で、指定されたノード名とマッチしないと判別されると、そのままスパイスデッキ生成パス解析処理を終了する。
図10は図2に示すフィードバック付きSTA処理の一例を説明するための図であり、また、図11は図10に示すフィードバック付きSTA処理をより詳細に示すフローチャートである。
フィードバック付きSTA部300は、以下の手順に従ってSTAの再計算を行い、高精度のディレイ解析情報を作成する。
(1) ブロック単位のディレイ解析情報(ブロック毎のタイッミング解析情報24)を使用してSTAを行う。
(2) STAを用いて計算したクリティカルパス(MIN/MAX)上に、スパイスデッキ生成対象ノード34が存在した場合スパイスデッキ35を生成する。
(3) 図12を参照して後述するスパイスデッキ生成部600の処理を参照。
(4) スパイスデッキ35を用いて計算(ST7)した結果(スパイスデッキ解析結果36)をSTAの結果と置き換え、再度STAを実行する。
(5) 上記した再度のSTAの実行により、別の経路がパス(MIN/MAX)として計算され、且つ、パス上にスパイスデッキ対象ノードが存在した場合、再度、上記(2)から(4)の処理を行う。
ここで、新たなスパイスデッキを生成しない場合、回路全体のタイミング解析情報(高精度タイミング解析情報37)を生成して、フィードバック付きSTA処理を終了する。
すなわち、図11に示されるように、フィードバック付きSTA処理が開始されると、ステップST31において、STAを実行し、ステップST32に進んで、クリティカルパス上にスパイスデッキ生成対象ノードが存在するか否かを判別する。
ステップST32で、クリティカルパス上にスパイスデッキ生成対象ノードが存在すると判別されると、ステップST33に進んで、スパイスデッキを生成し、さらに、ステップST34に進んで、spiceシミュレーションを実行する。そして、ステップST36に進んで、新たなスパイスデッキ生成対象ノードを発見したか否かを判別し、新たなスパイスデッキ生成対象ノードを発見しないと判別されるまでステップST33〜ST35の処理を繰り返す。
なお、ステップST36において、新たなスパイスデッキ生成対象ノードを発見しないと判別されるか、或いは、ステップST32において、クリティカルパス上にスパイスデッキ生成対象ノードが存在しないと判別されると、フィードバック付きSTA処理を終了する。
図12は図2に示すスパイスデッキ生成処理の一例を説明するための図であり、また、図13は図12に示すスパイスデッキ生成処理をより詳細に示すフローチャートである。
図12に示されるように、スパイスデッキ生成部600は、以下の手順に従ってスパイスデッキ(35)を生成する。
(1) STAで求められたパス(STA結果)から、パス上のブロック(ターゲットブロック)を求め、その求めたターゲットブロックを接続してスパイスデッキを生成する。
(2) ターゲットブロックの信号(U/D:Up/Down)伝播パスでないブロック出力に接続するブロック(ファンアウトブロック)を再現する。
(3) ターゲットブロックの信号伝播パス以外の入力信号設定を行う。信号設定は、STAのMIN/MAX条件に従い、着目パスの測定対象信号(U/D)の解析時に保存されたシミュレーションパターン情報21,22から取得する。なお、内部ノードの初期値などの、その他のシミュレーション情報もここから取得する。
(4) ファンアウトブロックの信号設定を行う。信号設定は、STAのMIN/MAX条件に従い、ターゲットブロックの出力と接続している入力の解析に保存されたシミュレーションパターン情報21,22から取得する。なお、内部ノードの初期値などの、その他のシミュレーション情報もここから取得する。
(5) 解析対象入力に信号設定(U/D)を行い、spiceシミュレーションを実行する。
すなわち、図13に示されるように、スパイスデッキ生成処理が開始されると、ステップST61において、解析パス上のターゲットブロックを求めて結合し、ステップST62に進んで、ファンアウトブロックを求めて結合する。
さらに、ステプST63に進んで、ターゲットブロックの信号設定を行い、また、ステップST64に進んで、ファンアウトブロックの信号設定を行う。そして、ステップST65に進んで、spiceシミュレーションを行って、スパイスデッキ生成処理を終了する。
図14はブロックシミュレーション情報保存部の入力例を示す図、また、図15および図16はブロックシミュレーション情報保存部の出力例を示す図である。
以下の説明では、一例として、ブロック1がインバータでブロック2がナンドゲートの場合を示している。
まず、ブロックシミュレーション情報保存部100に入力するスパイスネットリスト(回路データ11)は、例えば、各端子(ノード)A,B,XAおよびXに関する図14に示されるようなものとなる。
さらに、ブロックシミュレーション情報保存部100からは、例えば、図15および図16に示されるようなブロック毎のシミュレーション情報(ブロック1およびブロック2のブロック毎のタイミング解析情報)およびブロック毎の回路構成(回路構造)が出力されて記憶装置(24(21,22),23)に保存される。
図17はスパイスデッキ生成パス解析部の入力例を示す図であり、また、図18はスパイスデッキ生成パス解析部の出力例を示す図である。ここで、図17および図18の例では、簡略化するためにインバータのテンプレートを示しているが、通常は、前述したように、FF回路テンプレートFFtp、フィードバックループテンプレートFLtp、若しくは、ノード名のリストを使用する。
すなわち、スパイスデッキ生成パス解析部200には、例えば、図17に示されるようなトランジスタ構成およびバックトレース対象ノードを有するテンプレート(インバータテンプレート)が入力され、さらに、スパイスデッキ生成パス解析部200からは、図18に示されるようなスパイスデッキ生成対象ノード(スパイスネットリストの「A」がバックトレースのノードに該当することを検出した場合)が出力されて記憶装置(34)に保存される。
図19〜図21はフィードバック付きSTA部の入力例を示す図であり、また、図22はフィードバック付きSTA部の出力例を示す図である。
フィードバック付きSTA部300には、例えば、図19および図20に示されるようなブロック毎のシミュレーション情報(ブロック毎のタイミング解析情報24)およびブロック毎の回路構成(回路構造23)が入力されると共に、図21に示されるようなスパイスデッキ生成対象ノード(34)が入力される。すなわち、フィードバック付きSTA部300には、記憶装置(24(21,22),23,34)に保存されたブロックシミュレーション情報保存部100からの出力(ブロック毎のタイミング解析情報24(MAX条件21およびMIN条件22),回路構造23およびスパイスデッキ生成対象ノード34)が入力される。
そして、フィードバック付きSTA部300からは、スパイスデッキ生成判別部400(図2を参照)を介して図22に示されるような高精度タイミング解析情報が出力されて記憶装置(37)に保存される。
ここで、スパイスデッキ生成判別部400は、解析パスがスパイスデッキ生成対象であるか否かを判別し(ST4)、解析パスがスパイスデッキ生成対象であるときに、フィードバック付きSTA部300からの高精度タイミング解析情報(37)が記憶装置(37)に保存されることになる。
図23および図24はスパイスデッキ生成部の入力例を示す図であり、また、図25はスパイスデッキ生成部の出力例を示す図である。
スパイスデッキ生成部600には、例えば、図23および図24に示されるようなブロック毎のシミュレーション情報(MAX条件21およびMIN条件22:ブロック毎のタイミング解析情報24)およびブロック毎の回路構成(回路構造23)が入力される。
そして、スパイスデッキ生成部600からは、図25に示されるようなスパイスデッキが出力されて記憶装置(35)に保存される。なお、図25に示すスパイスデッキ生成部600から出力されるスパイスデッキ35においては、例えば、ブロック1およびブロック2は結合され、例えば、入力端子A→出力端子Xを活性化するために、前記シミュレーション情報から入力端子B(図14参照)に該当するノードに対して『1』(VDD)を設定するようになっている。
以上、詳述したように、本発明に係るタイミング解析方法および装置は、例えば、フィードバック付きSTA部300(ステップST3)およびスパイスデッキ生成部600(ステップST6)において、STAの結果とブロック毎のspiceシミュレーションの条件を使用して、分割されたブロックを結合したスパイスデッキを生成し、さらに、その生成されたスパイスデッキによるシミュレーション結果をSTAに反映させるようになっており、これにより、タイミング解析の精度を向上させると共に、タイミング解析の作業効率を向上させることが可能になる。
図26は本発明が適用されるタイミング解析プログラムおよびタイミング解析プログラムを記録した媒体の例を説明するための図である。図26において、参照符号10は処理装置、20はプログラム(データ)提供者、そして、30は可搬型記録媒体を示している。
本発明は、例えば、図26に示すような処理装置(タイミング解析装置)10に対するプログラム(データ)として与えられ、処理装置10により実行される。処理装置10は、プロセッサを含む演算処理装置本体111、および、演算処理装置本体111に対してプログラム(データ)を与え或いは処理された結果を格納する処理装置側メモリ(例えば、RAM(Random Access Memory)やハードディスク)112等を備える。処理装置10に提供されたプログラム(データ)は、ローディングされて処理装置10のメインメモリ上で実行される。
プログラム(データ)提供者20は、プログラム(データ)を格納する手段(回線先メモリ:例えば、DASD(Direct Access Storage Device))121を有し、例えば、インターネット等の回線を介してプログラム(データ)を処理装置10に提供し、或いは、CD−ROMやDVD等の光ディスクまたはフロッピィディスク等の磁気ディスクといった可搬型記録媒体30を介して処理装置10に提供する。本発明に係るタイミング解析プログラムを記録した媒体は、上記の処理装置側メモリ112、回線先メモリ121、および、可搬型記録媒体30等の様々なものを含むのはいうまでもない。
(付記1)
分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を保存し、
解析が必要なパスの認識を行い、
該解析が必要なパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの条件を使用して、前記分割されたブロックを結合したスパイスデッキを生成し、
該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させるようにしたことを特徴とするタイミング解析方法。
(付記2)
付記1に記載のタイミング解析方法において、
前記シミュレーションは、spiceシミュレーションであることを特徴とするタイミング解析方法。
(付記3)
付記1に記載のタイミング解析方法において、
前記パスの認識は、テンプレートを使用してスパイスデッキ生成対象ノードを求めることを特徴とするタイミング解析方法。
(付記4)
付記3に記載のタイミング解析方法において、
前記テンプレートは、インバータテンプレート、フリップフロップ回路テンプレート、或いは、フィードバックループテンプレートであることを特徴とするタイミング解析方法。
(付記5)
付記3に記載のタイミング解析方法において、
前記パスの認識は、前記テンプレートに該当する回路が見つかった場合、該テンプレートに該当する回路の所定の端子からバックトレースを行い、該バックトレースにより通過したノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析方法。
(付記6)
付記5に記載のタイミング解析方法において、
前記バックトレースは、トランジスタのドレイン端子からソース端子方向またはゲート端子方向に行うことを特徴とするタイミング解析方法。
(付記7)
付記1に記載のタイミング解析方法において、
前記パスの認識は、任意のノード名を指定し、該ノード名に該当するノードが見つかった場合、当該ノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析方法。
(付記8)
付記3〜7のいずれか1項に記載のタイミング解析方法において、
前記スパイスデッキ対象ノードが、前記静的タイミング解析を用いて計算したクリティカルパス上に存在した場合、前記スパイスデッキによるシミュレーション結果を前記静的タイミング解析による結果と置き換えて、再度、静的タイミング解析を行うことを特徴とするタイミング解析方法。
(付記9)
分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を保存するブロックシミュレーション情報保存部と、
解析が必要なパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの条件を使用して、前記分割されたブロックを結合したスパイスデッキを生成するスパイスデッキ生成部と、
該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させるフィードバック付き静的タイミング解析部と、を備えることを特徴とするタイミング解析装置。
(付記10)
付記9に記載のタイミング解析装置において、
前記シミュレーションは、spiceシミュレーションであることを特徴とするタイミング解析装置。
(付記11)
付記9に記載のタイミング解析装置において、さらに、
テンプレートを使用してスパイスデッキ生成対象ノードを求めるスパイスデッキ生成パス解析部を備えることを特徴とするタイミング解析装置。
(付記12)
付記11に記載のタイミング解析装置において、
前記スパイスデッキ生成パス解析部は、インバータテンプレート、フリップフロップ回路テンプレート、或いは、フィードバックループテンプレートを使用してスパイスデッキ生成対象ノードを求めることを特徴とするタイミング解析装置。
(付記13)
付記11に記載のタイミング解析装置において、
前記スパイスデッキ生成パス解析部は、前記テンプレートに該当する回路が見つかった場合、該テンプレートに該当する回路の所定の端子からバックトレースを行い、該バックトレースにより通過したノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析装置。
(付記14)
付記13に記載のタイミング解析装置において、
前記バックトレースは、トランジスタのドレイン端子からソース端子方向またはゲート端子方向に行うことを特徴とするタイミング解析装置。
(付記15)
付記9に記載のタイミング解析装置において、さらに、
任意のノード名を指定し、該ノード名に該当するノードが見つかった場合、当該ノードをスパイスデッキ生成対象ノードとするスパイスデッキ生成パス解析部を備えることを特徴とするタイミング解析装置。
(付記16)
付記11〜15のいずれか1項に記載のタイミング解析装置において、
前記スパイスデッキ対象ノードが、前記静的タイミング解析を用いて計算したクリティカルパス上に存在した場合、前記スパイスデッキによるシミュレーション結果を前記静的タイミング解析による結果と置き換えて、再度、静的タイミング解析を行うことを特徴とするタイミング解析装置。
(付記17)
コンピュータに、
分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を保存する手順と、
解析が必要なパスの認識を行う手順と、
該解析が必要なパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの条件を使用して、前記分割されたブロックを結合したスパイスデッキを生成する手順と、
該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させる手順と、を実行させ、回路のタイミング解析を行わせることを特徴とするタイミング解析プログラム。
(付記18)
付記17に記載のタイミング解析プログラムを記録した媒体。
本発明は、様々な回路のタイミング解析に幅広く適用することができ、特に、例えば、カスタムメイドの集積回路やサーバ用のCPU等の高速クロックで動作する大規模な集積回路のタイミング解析に有効なものである。
本発明に係るタイミング解析方法の全体的な処理の一例を示すフローチャートである。 図1に示すタイミング解析方法を実現するタイミング解析装置の一実施例を示すブロック図である。 ブロックシミュレーション情報一例を示す図である。 図2におけるブロックシミュレーション情報保存処理の一例を説明するための図である。 図4に示すブロックシミュレーション情報保存処理をより詳細に示すフローチャートである。 図2に示すタイミング解析装置におけるFF回路テンプレートの使用例を説明するための図である。 図2に示すタイミング解析装置におけるフィードバックループテンプレートの使用例を説明するための図である。 図2に示すスパイスデッキ生成対象ノードを説明するための図である。 図6〜図8に示すスパイスデッキ生成パス解析処理をより詳細に示すフローチャートである。 図2に示すフィードバック付きSTA処理の一例を説明するための図である。 図10に示すフィードバック付きSTA処理をより詳細に示すフローチャートである。 図2に示すスパイスデッキ生成処理の一例を説明するための図である。 図12に示すスパイスデッキ生成処理をより詳細に示すフローチャートである。 ブロックシミュレーション情報保存部の入力例を示す図である。 ブロックシミュレーション情報保存部の出力例を示す図(その1)である。 ブロックシミュレーション情報保存部の出力例を示す図(その2)である。 スパイスデッキ生成パス解析部の入力例を示す図である。 スパイスデッキ生成パス解析部の出力例を示す図である。 フィードバック付きSTA部の入力例を示す図(その1)である。 フィードバック付きSTA部の入力例を示す図(その2)である。 フィードバック付きSTA部の入力例を示す図(その3)である。 フィードバック付きSTA部の出力例を示す図である。 スパイスデッキ生成部の入力例を示す図(その1)である。 スパイスデッキ生成部の入力例を示す図(その2)である。 スパイスデッキ生成部の出力例を示す図である。 本発明が適用されるタイミング解析プログラムおよびタイミング解析プログラムを記録した媒体の例を説明するための図である。
符号の説明
10 処理装置
11 演算処理装置本体
12 処理装置側メモリ
20 プログラム(データ)提供者
21 プログラムを格納する手段(回線先メモリ)
30 可搬型記録媒体
100 ブロックシミュレーション情報保存部
200 スパイスデッキ生成パス解析部
300 フィードバック付きSTA部
400 スパイスデッキ生成判別部
600 スパイスデッキ生成部

Claims (9)

  1. コンピュータが行うタイミング解析方法であって、前記コンピュータが、
    分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を記憶装置に保存し、
    タイミング解析が必要な順序回路へのクロックパスおよびデータパスの認識を行い、
    タイミング解析が必要な順序回路へのクロックパスおよびデータパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの情報を使用して、前記分割されたブロックを結合したスパイスデッキを生成し、
    該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させるようにしたことを特徴とするタイミング解析方法。
  2. 請求項1に記載のタイミング解析方法において、
    前記パスの認識は、テンプレートを使用して前記スパイスデッキをバックトレースで算出する際の起点となるスパイスデッキ生成対象ノードを求めることを特徴とするタイミング解析方法。
  3. 請求項2に記載のタイミング解析方法において、
    前記パスの認識は、前記テンプレートに該当する回路が見つかった場合、該テンプレートに該当する回路の所定の端子からバックトレースを行い、該バックトレースにより通過したノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析方法。
  4. 分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を記憶装置に保存するブロックシミュレーション情報保存部と、
    タイミング解析が必要な順序回路へのクロックパスおよびデータパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの情報を使用して、前記分割されたブロックを結合したスパイスデッキを生成するスパイスデッキ生成部と、
    該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させるフィードバック付き静的タイミング解析部と、を備えることを特徴とするタイミング解析装置。
  5. 請求項4に記載のタイミング解析装置において、
    前記タイミング解析が必要な順序回路へのクロックパスおよびデータパスを、テンプレートを使用して前記スパイスデッキをバックトレースで算出する際の起点となるスパイスデッキ生成対象ノードを求めることで認識することを特徴とするタイミング解析装置。
  6. 請求項5に記載のタイミング解析装置において、
    前記パスの認識は、前記テンプレートに該当する回路が見つかった場合、該テンプレートに該当する回路の所定の端子からバックトレースを行い、該バックトレースにより通過したノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析装置。
  7. コンピュータに、
    分割されたブロック単位の回路解析時に、ブロック毎のシミュレーション情報を記憶装置に保存する手順と、
    タイミング解析が必要な順序回路へのクロックパスおよびデータパスの認識を行う手順と、
    タイミング解析が必要な順序回路へのクロックパスおよびデータパスについて、静的タイミング解析の結果と前記ブロック毎のシミュレーションの情報を使用して、前記分割されたブロックを結合したスパイスデッキを生成する手順と、
    該生成されたスパイスデッキによるシミュレーション結果を前記静的タイミング解析に反映させる手順と、を実行させ、回路のタイミング解析を行わせることを特徴とするタイミング解析プログラム。
  8. 請求項7に記載のタイミング解析プログラムにおいて、
    前記パスの認識は、テンプレートを使用して前記スパイスデッキをバックトレースで算出する際の起点となるスパイスデッキ生成対象ノードを求めることを特徴とするタイミング解析プログラム。
  9. 請求項8に記載のタイミング解析プログラムにおいて、
    前記パスの認識は、前記テンプレートに該当する回路が見つかった場合、該テンプレートに該当する回路の所定の端子からバックトレースを行い、該バックトレースにより通過したノードをスパイスデッキ生成対象ノードとすることを特徴とするタイミング解析プログラム。
JP2006275428A 2006-10-06 2006-10-06 タイミング解析方法および装置 Expired - Fee Related JP4750665B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006275428A JP4750665B2 (ja) 2006-10-06 2006-10-06 タイミング解析方法および装置
US11/652,043 US8000951B2 (en) 2006-10-06 2007-01-11 Timing analysis method and apparatus for enhancing accuracy of timing analysis and improving work efficiency thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006275428A JP4750665B2 (ja) 2006-10-06 2006-10-06 タイミング解析方法および装置

Publications (2)

Publication Number Publication Date
JP2008097130A JP2008097130A (ja) 2008-04-24
JP4750665B2 true JP4750665B2 (ja) 2011-08-17

Family

ID=39379944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006275428A Expired - Fee Related JP4750665B2 (ja) 2006-10-06 2006-10-06 タイミング解析方法および装置

Country Status (2)

Country Link
US (1) US8000951B2 (ja)
JP (1) JP4750665B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793245B2 (en) * 2006-12-29 2010-09-07 Wisconsin Alumni Research Foundation Statistical iterative timing analysis of circuits having latches and/or feedback loops
US9378324B2 (en) 2010-02-11 2016-06-28 Jesse Conrad Newcomb System and method of detecting design rule noncompliant subgraphs in circuit netlists
US20110196642A1 (en) * 2010-02-11 2011-08-11 Jesse Newcomb Subgraph searching
US9218440B2 (en) * 2014-05-16 2015-12-22 Freescale Semiconductor, Inc. Timing verification of an integrated circuit
US9201116B1 (en) * 2014-07-25 2015-12-01 Freescale Semiconductor, Inc. Method of generating test patterns for detecting small delay defects
US9405871B1 (en) * 2014-12-05 2016-08-02 Xilinx, Inc. Determination of path delays in circuit designs
CN107844678B (zh) * 2017-12-21 2020-05-12 北京华大九天软件有限公司 包含IP/Memory时序路径的spice仿真方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021276A (ja) * 1996-06-28 1998-01-23 Toshiba Corp パターンマッチング方法、タイミング解析方法、及びタイミング解析装置
JPH1063693A (ja) * 1996-08-20 1998-03-06 Hitachi Ltd 論理回路の信号遅延時間計算方法および遅延時間の表示方法
JP2970600B2 (ja) * 1997-06-06 1999-11-02 日本電気株式会社 論理シミュレーション方式
JP2001076020A (ja) * 1999-09-02 2001-03-23 Fujitsu Ltd 活性化パスシミュレーション装置及び活性化パスシミュレーション方法
US6405348B1 (en) * 1999-10-27 2002-06-11 Synopsys, Inc. Deep sub-micron static timing analysis in the presence of crosstalk
JP4087572B2 (ja) 2001-01-24 2008-05-21 富士通株式会社 カスタムlsiにおける遅延特性解析方法
US6983432B2 (en) * 2001-05-04 2006-01-03 International Business Machines Corporation Circuit and method for modeling I/O
JP4548985B2 (ja) * 2001-08-16 2010-09-22 ルネサスエレクトロニクス株式会社 回路解析装置
US7107558B2 (en) * 2003-06-09 2006-09-12 Lsi Logic Corporation Method of finding critical nets in an integrated circuit design
TWI406143B (zh) * 2005-02-03 2013-08-21 Sage Software Inc 用於訂製及特定應用積體電路設計之靜態時序分析及動態模擬技術
US7506293B2 (en) * 2006-03-22 2009-03-17 Synopsys, Inc. Characterizing sequential cells using interdependent setup and hold times, and utilizing the sequential cell characterizations in static timing analysis

Also Published As

Publication number Publication date
JP2008097130A (ja) 2008-04-24
US8000951B2 (en) 2011-08-16
US20080154571A1 (en) 2008-06-26

Similar Documents

Publication Publication Date Title
JP4750665B2 (ja) タイミング解析方法および装置
US6701289B1 (en) Method and apparatus for using a placement tool to manipulate cell substitution lists
JP2005122298A (ja) タイミング解析装置、タイミング解析方法及びプログラム
Benini et al. Symbolic synthesis of clock-gating logic for power optimization of control-oriented synchronous networks
US6742174B1 (en) Similarity-driven synthesis for equivalence checking of complex designs
US8069026B2 (en) Clock gating analyzing apparatus, clock gating analyzing method, and computer product
JP4200465B2 (ja) 半導体集積回路の設計方法及び設計システム
US7159201B2 (en) Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification
US20040088662A1 (en) Timing path detailer
JP4221730B2 (ja) 回路連言標準形生成方法及び回路連言標準形生成装置並びにハザードチェック方法及びハザードチェック装置
US10114918B2 (en) Physical placement control for an integrated circuit based on state bounds file
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US6704916B1 (en) Method and apparatus for optimizing placement and routing and recording medium for recording program for optimizing placement and routing
US20080195985A1 (en) Apparatus, method, and computer product for estimating power consumption of LSI
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
CN111159011B (zh) 基于深度随机森林的指令脆弱性预测方法及系统
JPWO2011083528A1 (ja) データ処理装置、そのコンピュータプログラムおよびデータ処理方法
JPH1091651A (ja) 論理合成方法および論理合成装置
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム
JP4217204B2 (ja) タイミング例外パス検出装置、タイミング例外パス検出方法およびタイミング例外パス検出プログラム
US11983478B2 (en) Selection of full or incremental implementation flows in processing circuit designs
JP4007504B2 (ja) 単語分割装置、記憶媒体およびプログラム
JP4985211B2 (ja) 論理回路のシミュレーション
JP4448048B2 (ja) 構造解析プログラム
JP6569373B2 (ja) ライブラリマクロ検出プログラム、ライブラリマクロ検出装置、およびライブラリマクロ検出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees