(57)【特許請求の範囲】
【請求項１】
コンピュータによって読取可能な記録媒体に記録された情報であって、トランジスタおよびこれと同等の回路要素の配置および接続関係を表すネットリストを前記コンピュータに読み込む手順と、
前記コンピュータに備えられた処理手段により前記ネットリストを解釈することによって、前記ネットリストで表された解析対象の回路の構成単位であるそれぞれ最小の論理回路として動作可能な単位ブロックを示す情報を作成する手順と、
前記ネットリストで示された接続関係と前記単位ブロックの数あるいは特徴にかかわる条件とに基づいて、前記コンピュータに備えられた処理手段により前記単位ブロックを結合して形成される複数の回路ブロックを示す情報を作成する手順と、
前記複数の回路ブロックそれぞれについて、前記コンピュータに備えられた処理手段によって、注目する回路ブロックに隣接する他の回路ブロックにおける信号伝播の特徴解析により選択される入力信号の組み合わせを入力して回路シミュレーションを実行することにより、動的タイミング解析を行なう手順と、
各回路ブロックに対応する前記回路シミュレーション結果に基づいて、前記コンピュータに備えられた処理手段により、前記複数の回路ブロックの遅延特性を含んだ遅延特性ライブラリを作成する手順と、
前記ネットリストで表された解析対象の回路を、前記複数の回路ブロック相互の接続によって形成された構造として捉え、前記コンピュータに備えられた処理手段により、前記遅延特性ライブラリに基づく静的タイミング解析を実行することにより、所望の信号経路についての伝送遅延解析を行なう手順と
を備えたことを特徴とする遅延特性解析方法。
【請求項２】
請求項１に記載の遅延特性解析方法において、
前記コンピュータに備えられた処理手段により、前記ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析の対象として選択し、
選択された回路ブロックについて、前記コンピュータに備えられた処理手段により、動的タイミング解析を行なう手順および得られた遅延特性を逐次に遅延特性ライブラリに登録する手順を実行し、
全ての回路ブロックについての遅延特性が遅延特性ライブラリに登録された後に、前記コンピュータに備えられた処理手段により、静的タイミング解析を行なう手順に進む方法であって、
動的タイミング解析を行なう手順は、
選択された回路ブロックに備えられた入力ノードに入力される入力信号が同時に変化することが予想されるか否かを前記コンピュータに備えられた処理手段によって判定する手順と、
入力信号が同時に変化することが予想されると判定された場合に、
前記外部入力端子から前記選択された回路ブロックの入力ノードに至る信号経路について、前記コンピュータに備えられた処理手段によって前記選択された回路ブロックの前段に配置された回路ブロックまでの各回路ブロックについて得られた遅延特性に基づく静的タイミング解析を行なうことにより、前記同時変化する入力信号についての位相差を推定する手順と、
得られた位相差を与えたテストパターンを用いて、前記コンピュータに備えられた処理手段によって前記選択された回路ブロックについての回路シミュレーションを行なう手順とを実行する
ことを特徴とする遅延特性解析方法。
【請求項３】
請求項１に記載の遅延特性解析方法において、
前記動的タイミング解析手順において、
前記コンピュータに備えられた処理手段により前記ネットリストを解釈することによって、動的タイミング解析対象の回路ブロックの出力ノードに接続されている他の回路ブロックを検出し、
検出された回路ブロックそれぞれについて、前記コンピュータに備えられた処理手段によって適切なテストパターンを用いてスイッチレベルシミュレーションを行ない、
得られたシミュレーション結果に基づいて、前記コンピュータに備えられた処理手段により、前記検出された回路ブロックそれぞれにおいて状態変化が起こるトランジスタの数が最大および最小となる入力信号パターンを、前記検出された回路ブロックそれぞれに対応する最大負荷パターンおよび最小負荷パターンとして求め、
前記解析対象の回路ブロックについて最大遅延を求める場合には、前記コンピュータに備えられた処理手段により、前記検出された回路ブロックそれぞれに、対応する最大負荷パターンを入力信号群として入力し、
前記解析対象の回路ブロックについて最小遅延を求める場合には、前記コンピュータに備えられた処理手段により、前記検出された回路ブロックそれぞれに、対応する最小負荷パターンを入力信号群として入力し、
解析対象の回路ブロックについての回路シミュレーションを、前記コンピュータに備えられた処理手段により、検出された回路ブロックと解析対象の回路ブロックとからなる拡大された回路を対象とする回路シミュレーションの一部として行なう
ことを特徴とする遅延特性解析方法。
【請求項４】
請求項１に記載の遅延特性解析方法において、
前記コンピュータに備えられた処理手段により、前記ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析の対象として選択し、
選択された回路ブロックについて、前記コンピュータに備えられた処理手段により、動的タイミング解析を行なう手順および得られた遅延特性を逐次に遅延特性ライブラリに登録する手順を実行し、
全ての回路ブロックについての遅延特性が遅延特性ライブラリに登録された後に、前記コンピュータに備えられた処理手段により、伝送遅延解析を行なう手順に進む方法であって、
前記動的タイミング解析手順は、
前記コンピュータに備えられた処理手段により前記ネットリストを解釈することによって、解析対象の回路ブロックに備えられた入力ノードに接続されている前段の回路ブロックを検出し、
検出された前段の回路ブロックそれぞれに対応する近似波形を前記解析対象の回路ブロックに備えられた各入力ノードへの入力信号波形として、前記解析対象の回路ブロックについての回路シミュレーションを前記コンピュータに備えられた処理手段によって実行し、
前記回路シミュレーションによって前記解析対象の回路ブロックの出力ノードについてそれぞれ得られる出力波形の中から、スルーレートが最大である波形とスルーレートが最小である波形とを前記コンピュータに備えられた処理手段によってそれぞれ抽出し、
前記出力ノードからの出力信号それぞれに対応して、前記コンピュータに備えられた処理手段により、前記２つの波形の一方の前半部と他方の後半部とを結合することによって近似波形を生成し、後段の回路ブロックを対象とする回路シミュレーションに供する
ことを特徴とする遅延特性解析方法。
【請求項５】
請求項１に記載の遅延特性解析方法において、
前記動的タイミング解析手順に先だって、
所定の遅延解析済みのネットリストについて前記コンピュータによって読み出し可能な記録媒体に記録された動的タイミング解析の対象となった各回路ブロックに関するデータとその回路ブロックついて得られた遅延特性とを示すデータとを、前記記録媒体から読み出して前記コンピュータ内部に受け取る手順と、
前記所定の遅延解析済みのネットリストについて受け取ったデータと、新たに読み込まれたネットリストにおいて形成された回路ブロックに関するデータとを前記コンピュータに備えられた処理手段によって比較することにより、新たなネットリストにおける各回路ブロックについて、前記遅延解析済みのネットリストに関する遅延解析の過程で得られた遅延特性データを再利用可能であるか新規に動的タイミング解析を実行する必要があるかを判定する手順と、
動的タイミング解析処理対象とすべき新規の回路ブロックを前記コンピュータに備えられた処理手段によって実現される動的解析手段およびライブラリ作成手段の処理に供する手順と、
前記既存の遅延特性を利用可能とされた回路ブロックについて、前記該当する回路ブロックに対応する遅延特性を、前記コンピュータに備えられた処理手段により、前記新たに読み込まれたネットリストに対応する遅延特性ライブラリの要素として登録する手順とを実行する構成である
ことを特徴とする遅延特性解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トランジスタレベルでの緻密な設計を行なうフルカスタムＬＳＩ設計技術において、カスタムＬＳＩの遅延特性を精密に解析する遅延特性解析方法に関するものである。
必要な性能を確実に満足するカスタムＬＳＩを設計するために、多種多様なトランジスタを自由に組み合わせて設計可能とするトランジスタレベルでの設計技術が必要とされている。
そして、トランジスタレベルで緻密に設計されたフルカスタムＬＳＩが必要な性能を満足しているか否かを正当に評価するためには、その遅延特性を極めて精密に解析する遅延特性解析方法およびそのような遅延特性解析方法を用いた遅延特性解析システムが必要不可欠である。
【０００２】
【従来の技術】
ＬＳＩの入力ノードと出力ノードとの間を結ぶ経路の中で、最も短い遅延時間で信号が到達する経路および最も長い遅延時間で信号が到達する経路は、クリティカルパスと呼ばれている。このクリティカルパスおよびその経路における遅延時間は、設計されたカスタムＬＳＩが所期の性能を満足しているか否かを判断し、設計の変更が必要な箇所を特定するために、重要な指標の一つである。そして、タイミング解析技術は、このクリティカルパスを抽出するために、カスタムＬＳＩ設計において広く用いられている。
【０００３】
トランジスタレベルの緻密な設計が必要とされる分野においては、考えられる全ての経路について、その経路における信号伝送の際の遅延時間を精密に推定するために、トランジスタ相互の接続関係を示すネットリスト全体について、回路シミュレーションによるダイナミックタイミング解析を行なっていた。
しかしながら、ＬＳＩの規模が大きくなってくると、ネットリスト全体を対象とするダイナミックタイミング解析は、現実的な手法とはいえなくなってしまっていた。
【０００４】
なぜなら、ＬＳＩの大規模化に伴って入出力ノードの数が増大すると、当然ながら、回路シミュレーションのために用意する入力信号の組み合わせ(以下、テストパターンと称する)も、そして、ＬＳＩの出力ノードに接続されることを想定すべき負荷の組み合わせも増大し、また、ＬＳＩを構成するトランジスタの数が増大すれば、当然のごとく、各テストパターンについて行なわれる回路シミュレーションに要する時間も長くなるので、必要とされる全ての経路について遅延時間を推定するために、全体として膨大な時間を要するからである。
【０００５】
一方、スタティックタイミング解析は、個々の単位セルの遅延特性と単位セル相互の接続関係とに基づいて各経路における遅延時間を推定することにより、上述したダイナミックタイミング解析に比べて非常に短い時間で大規模なネットリストを解析可能である。このため、スタティックタイミング解析は、従来、大規模なゲートアレイの設計分野などにおいて用いられていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、トランジスタレベルのカスタムＬＳＩ設計におけるタイミング解析手法として、スタティックタイミング解析をそのまま適用することは非常に困難である。
その理由の一つは、トランジスタレベルのカスタムＬＳＩ設計において必要とされる自由度を維持するためには、膨大な種類のトランジスタそれぞれについて、その遅延特性を登録したセルライブラリを構築する必要があるからである。
【０００７】
また、たとえ、上述したような膨大なセルライブラリを準備できたとしても、トランジスタを線形抵抗として捉え、負荷容量とのＲＣ積によって遅延時間を近似的に求める手法によっては、トランジスタレベルのカスタムＬＳＩ設計において必要とされる精度を期待することはできない。しかも、セルライブラリに登録されるデータは、いくつかの代表的な入力スルーレートおよび出力負荷相互の組み合わせについての遅延特性とならざるを得ないので、入力スルーレートおよび出力負荷が上述した代表的な値から外れたものであった場合には、スタティックタイミング解析によって得られる遅延特性の精度は更に悪化する。
【０００８】
更に、スタティックタイミング解析では、入力ノードと出力ノードとを結ぶ各経路について、経路上の各セルの遅延時間を積算していくことによって、個々の経路における遅延時間を個別に推定しているため、他の経路における信号伝播によって注目している経路における信号の伝播が受ける影響を原理的に反映することができない。
【０００９】
例えば、図２５に示すような論理で表される回路において、入力ノードA1から出力ノードＸに至る経路について遅延解析を行なう場合に、入力ノードA2と入力ノードB2とがともに真である場合や入力ノードA2が偽である場合のように、解析対象の経路を介して現実には信号が伝達されることがありえない場合についても、全く区別されずに、遅延時間の積算が行なわれる。
【００１０】
このため、実際には信号が伝播されない無効な経路であるにもかかわらず、得られた遅延時間が最大あるいは最小であれば、この無効な経路がクリティカルパスとして検出されてしまう。
このように、無効な経路をクリティカルパスとして検出してしまうことを防ぐために、スタティックタイミング解析によって得られた各経路における遅延時間に基づいてクリティカルパスの候補を抽出し、これらの経路についてのテストパターンを作成して、回路シミュレーションを行なう手法が提案されている。
【００１１】
しかしながら、この手法を用いてクリティカルパスの候補から真のクリティカルパスを求めるためには、やはり、多大な労力と処理時間が必要となってしまう。
なぜなら、一つのクリティカルパスの候補について、正確な遅延時間を求めるために必要なテストパターンの数は、単純計算では (外部入力端子数ｎ−１)２であり、しかも、その経路上にあるトランジスタの段数が多ければ多いほど、テストパターンそれぞれについての回路シミュレーションに時間を要するので、全体として必要な処理時間が非常に長くなるからである。もちろん、自動テストパターン生成(automatic test pattern generation) 法を利用すれば、テストパターンの数を削減することが可能ではあるが、対象となるＬＳＩが、パストランジスタを多く含んだ複雑な回路構成であり、かつ、多数の外部入力端子を備えている場合には、自動テストパターン生成法によるメリットを十分に活かすことができない可能性がある。
【００１２】
また、従来のダイナミックタイミング解析は、回路全体について回路シミュレーションを行なっており、また、従来のスタティックタイミング解析は、入力端子から出力端子までの経路を処理対象として遅延特性解析を行なっている。
したがって、どちらの遅延特性解析手法を利用した場合でも、カスタムＬＳＩの設計に変更が加えられると、その変更が及ぶ範囲の大きさにかかわらず、新規のネットリストと同様に、回路全体についてのダイナミックタイミング解析あるいは、考えられるパスについてのスタティックタイミング解析が行なわれるため、ネットリストの部分的な修正に迅速に対応することができなかった。
【００１３】
本発明は、トランジスタレベルのフルカスタムＬＳＩ設計において、ＬＳＩ設計の自由度とともにクリティカルパスの推定精度を維持しつつ、処理時間の短縮を図ることが可能な遅延特性解析方法を提供することを目的とする。
また、本発明は、フルカスタムＬＳＩ設計において、部分的に回路設計や信号伝達に関する条件が変更された際に、変更前の回路について行なった解析結果を活用して、迅速かつ精密な遅延特性解析を可能とする遅延特性解析方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
図１に、本発明にかかわる第１の遅延特性解析方法の原理を示す。
請求項１の発明は、コンピュータによって読取可能な記録媒体から読み込んだネットリストを単位ブロックに分割した後に、これらの単位ブロックをネットリストで示された接続関係と単位ブロックの数あるいは特徴にかかわる条件とに従って結合することによって所定の規模の回路ブロックを形成し、各回路ブロックについてコンピュータに備えられた処理手段によって、注目する回路ブロックに隣接する他の回路ブロックにおける信号伝播の特徴解析により選択される入力信号の組み合わせを入力して動的タイミング解析を行ない、得られた解析結果を含む遅延特性ライブラリを作成して静的タイミング解析処理に供することにより、ネットリストで表される解析対象の回路を、上述した回路ブロックの集合として扱い、所望の信号経路についての伝送遅延を解析することを特徴とする。
【００１５】
請求項１の発明は、膨大な数のトランジスタを含んで構成されたカスタムＬＳＩを表すネットリストを、適切な規模の回路ブロックに分解し、回路ブロックごとに動的タイミング解析し、この解析結果に基づいて、静的タイミング解析を行なうことにより、ネットリスト全体を一体のものとして回路シミュレーションにかけた場合に比べて、はるかに短い時間でカスタムＬＳＩ全体についての遅延特性を解析することができる。
【００１６】
また、図１に示した各手順に対応する各手段、すなわち、読み込み手段と単位分割手段とブロック形成手段と動的解析手段とライブラリ作成手段と伝送遅延解析手段とにより、第１の遅延特性解析システムを構成することができる。
なお、上述した単位ブロックを結合して回路ブロックを形成する際に、電源端子あるいは接地端子に接続されたトランジスタを含むことを条件とすることにより、回路ブロックを全体のネットリストから切り離された独立な回路として回路シミュレーションを行なうことによる精度の低下を抑制することができる。また、回路ブロックを形成する際に、外部出力端子に接続されたインバータブロックを、一つの回路ブロックとして独立させることにより、外部出力端子に接続された回路ブロックについての回路シミュレーションを行なう際に特有の問題、すなわち、数種類の出力負荷を想定してシミュレーションを行なう必要性に伴うシミュレーション回数の増大を抑制し、回路シミュレーションに要する時間を短縮することができる。また、特徴的な接続にかかるインバータのように、同時変化入力ノードを発生させる要因となる単位ブロックを、前あるいは後ろに配置された回路ブロックと結合させ、同時変化入力ノードの消滅を図ることにより、正確な回路シミュレーション結果を得ることが可能となる。
【００１７】
図２に、本発明にかかる第１の動的タイミング解析手順の原理を示す。
請求項２の発明は、動的タイミング解析手順において、外部入力端子に近い順に従って選択した解析対象の回路ブロックに同時変化入力ノードが存在すると判定された場合に、コンピュータに備えられた処理手段により静的タイミング解析を行ってその位相差を推定し、その推定値を反映したテストパターンを生成し、回路シミュレーション処理に供することを特徴とする。
【００１８】
請求項２の発明は、同時変化入力ノードを持つ回路ブロックについて、その前段までの回路ブロックについて遅延特性ライブラリに登録された遅延特性を用いて静的タイミング解析を行なうことにより、同時変化入力ノードに入力信号が到達する際の位相差を非常に高い精度で推定することを可能とし、この推定値を利用して該当する回路ブロックにおける回路シミュレーションを行なうことにより、同時変化入力ノードを持つ回路ブロックについても、精度の高い解析結果を得ることができる。
【００１９】
なお、上述したようにして、静的タイミング解析によって推定された位相差の代わりに、統計的な手法によって求められた位相差の平均値または期待値や利用者によって入力された値を位相差として回路シミュレーション処理に供することもできる。この場合は、静的タイミング解析による推定値ほどの精度を期待することはできない代わりに、位相差の推定に要する時間を大幅に短縮することができる。
【００２０】
図３に、本発明にかかる第２の動的タイミング解析手順の原理を示す。
請求項３の発明は、各回路ブロックの回路シミュレーションに先だって、解析対象の回路ブロックに接続された後段の回路ブロックについて、最大負荷パターンと最小負荷パターンとを求めておき、解析対象の回路ブロックとその後段の回路ブロックとを含む拡大された回路ブロックについて回路シミュレーションを行う際に、最大遅延を求めるか最小遅延を求めるかに応じて、後段の回路ブロックに最大負荷パターンあるいは最小負荷パターンを適用することを特徴とする。
【００２１】
請求項３の発明は、解析対象の回路ブロックにその後段の回路ブロックを加えた拡大された回路ブロックについて回路シミュレーションを行なうことにより、後段の回路ブロックからの影響を考慮して、解析対象の回路ブロックの遅延特性を求めることができる。更に、この際に、後段の回路ブロックそれぞれについて、予め求めておいた最大負荷パターンと最小負荷パターンとをそれぞれ適用することにより、回路シミュレーションに要する時間を大幅に短縮することが可能である。
【００２２】
図４に、本発明にかかる第３の動的タイミング解析手順の原理を示す。
請求項４の発明は、動的タイミング解析手順において、外部入力端子に近い順に解析対象とし、前段の回路ブロックについての動的タイミング解析過程において既に得られた近似波形を入力信号波形として用いて、解析対象の回路ブロックについての回路シミュレーションを行ない、得られた回路シミュレーション結果に基づいて、この回路ブロックの出力信号として得られるスルーレート最大の信号とスルーレート最小の信号とに対応する２つの波形を合成することによって近似波形を生成し、後段の回路ブロックについての回路シミュレーションに供することを特徴とする。
【００２３】
請求項４の発明は、前段の回路ブロックから出力される出力信号波形の特徴が反映された入力信号波形を用いて、解析対象の回路ブロックについての回路シミュレーションを行なうことが可能である。したがって、各回路ブロックについての動的タイミング解析を、それぞれ独立でありながら、前段の回路ブロックに接続された環境に極めて近い条件の下で実行することができるので、各回路ブロックについて非常に精度の高い解析結果を得ることができる。
【００２４】
図５に、本発明にかかる第２の遅延特性解析方法の主要な原理を示す。
図５に示すように、遅延特性解析方法において、遅延特性ライブラリが作成された後に、指定された回路ブロックについて、指定されたパターンを除外して回路シミュレーションを再試行し、その結果が以前の回路シミュレーション結果に比べて無視できない変化が生じた場合に、指定された回路ブロックの出力信号が影響を及ぼす範囲に含まれる各回路ブロックについて、動的タイミング解析の再試行を行ない、得られた解析結果に基づいて遅延特性ライブラリの再構成を行なうこともできる。
【００２５】
このような第２の遅延特性解析方法においては、所望の回路ブロックについて、所望の入力信号パターンを除外した回路シミュレーションを行ない、その解析結果に基づいて、除外したパターンがその回路ブロックの動的な遅延特性を左右していたか否かを判断した上で、必要に応じて、遅延特性ライブラリの再構成を行なうことができる。ここで、指定された回路ブロックにおける動的な遅延特性が変化したことによって影響を受ける範囲は、指定された回路ブロックの出力信号が直接的あるいは間接的に入力されている回路ブロックに限られており、その数は、カスタムＬＳＩを構成する回路ブロックの数に比べてはるかに少ない。
【００２６】
また、上述した第１の遅延特性解析システムに加えて、図５に示した各手順に対応する各手段、すなわち、解析制御手段と起動制御手段と変化判定手段と特定手段と解析起動手段と作成起動手段とを備えることにより、第２の遅延特性解析システムを構成することができる。
図６に、本発明にかかる第３の遅延特性解析方法の主要な原理を示す。
【００２７】
請求項５の発明は、新たに読み込んだネットリストにおいて形成された各回路ブロックについて、コンピュータによって読み出し可能な記録媒体に既に記録されている遅延解析済みのネットリストを構成する回路ブロックのいずれかについて得られた遅延特性を利用可能であるか否かを判定し、利用可能である場合は、既存の遅延特性を利用し、新規の回路ブロックである場合は、該当する回路ブロックについて動的タイミング解析を行ない、得られた解析結果で示される遅延特性を、新たなネットリストに対応する遅延特性ライブラリの要素として遅延特性ライブラリに登録することを特徴とする。
【００２８】
請求項５の発明は、その構成要素もまた接続されている回路ブロックも既存の回路ブロックと同等である等価な回路ブロックについては、動的タイミング解析を省略して、既存の回路ブロックについて得られた遅延特性を再利用するので、遅延解析済みのネットリストの一部を変更して得られた新たなネットリストについて遅延特性解析を行なう場合には、ごく一部の回路ブロックのみが新規の回路ブロックとされ、これらの回路ブロックについてのみ動的タイミング解析が行なわれる。
【００２９】
また、上述した第１の遅延特性解析システムに加えて、図６に示した新規の手順に対応する各手段、すなわち、データ入力手段とブロック判別手段と既存特性登録手段とを備えることにより、第３の遅延特性解析システムを構成することができる。
【００３０】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
【００３１】
図７に、本発明にかかる第１の遅延特性解析システムの第１実施形態を示す。
図７に示した第１の遅延特性解析システムにおいて、読み込み部２０１によって読み込まれたネットリストは、単位分割部２０２に渡され、この単位分割部２０２において、論理素子として動作可能な最小の単位ブロックに分割される。
このようにして得られた各単位ブロックおよびこれらの単位ブロック相互の接続関係に関するデータは、ブロック形成部２０３に備えられた単位データ格納部２１１に保存される。また、キーボードなどの入力装置２０４によって入力された指示は、入出力制御部２００を介して結合制御部２１２に渡され、この指示と上述した単位データ格納部２１１に保持されたデータとに基づいて、結合制御部２１２により、結合処理部２１３によって上述した単位ブロックを結合していく処理を制御することにより、適切な回路ブロックを形成する処理が行なわれる。
【００３２】
また、結合処理部２１３からの通知などに基づいて、結合制御部２１２によって適切なメッセージなどが作成され、入出力制御部２００を介してディスプレイ装置(ＤＩＳＰ)２１０に渡されて、このディスプレイ装置２１０によって表示される。
この結合処理部２１３によって形成された各回路ブロックおよびこれらの回路ブロック相互の接続に関するデータは、ブロックデータ格納部２１４を介して、解析制御部２０５および動的解析部２０６の処理に供される。
【００３３】
この動的解析部２０６の役割は、解析制御部２０５によって指定された回路ブロックについて、ブロックデータ格納部２１４から取得したデータに基づいて回路シミュレーションを用いた動的タイミング解析を行なうことである。
そして、この動的解析部２０６によって得られた解析結果から、ライブラリ作成部２０７により、該当する回路ブロックの遅延特性が抽出され、遅延特性ライブラリ２０８の要素として登録される。
【００３４】
このようにして、全ての回路ブロックについての遅延特性が遅延特性ライブラリ２０８に登録された後に、伝送遅延解析部２０９により、この遅延特性ライブラリ２０８を用いた静的タイミング解析を行なうことにより、所望の伝送経路についての伝送遅延を得ることができる。
次に、図７に示した第１の遅延特性解析システムの動作について説明する。
【００３５】
図８に、第１の遅延特性解析システムの動作を表す流れ図を示す。
まず、他の単位ブロックとは区別して処理すべき単位ブロックを指定する指示が入力装置２０４を介して入力され、入出力制御部２００を介して結合制御部２１２に渡されて、この結合制御部２１２によって受け付けられる(ステップ３０１)。
【００３６】
このとき、結合制御部２１２は、例えば、その単位ブロックを含む回路ブロックの形成処理を優先的に行なうべき単位ブロックや、その単位ブロックの結合先を操作者に委ねるべき単位ブロックについての指定を受け付ければよい。
また、回路ブロックを形成する処理の際に適用すべき条件を指定する指示が入力装置２０４を介して入力され、入出力制御部２００を介して結合制御部２１２に渡されて、この結合制御部２１２によって受け付けられる(ステップ３０２)。
【００３７】
ここで、回路ブロックを形成する際に適用すべき条件としては、例えば、
条件１．回路ブロックに含まれるトランジスタの数を所定の閾値ｎth以下とする。
条件２．回路ブロックは、そのソースノードが電源端子あるいは接地端子に接続されているトランジスタを、少なくとも一つ含んでいる。
条件３．カスタムＬＳＩに設けられる外部出力端子に接続されたインバータブロックは、このインバータブロックに直列に接続される一連のインバータブロックとのみ回路ブロックを形成する。
【００３８】
条件４．インバータブロックの入力ノードと出力ノードとの双方が接続されている単位ブロックは、このインバータブロックを含む回路ブロックに結合して統合する。
条件５．同時に変化することが予想される入力ノードに接続されている単位ブロックを、この入力ノードを含む回路ブロックに結合して統合する。
【００３９】
などが考えられる。
次に、結合制御部２１２からの指示に応じて、結合処理部２１３により、回路ブロックを形成する処理が行なわれる。
図９および図１０に、回路ブロックを形成する動作を説明する図を示す。
図９(ａ)に示したトランジスタ回路において、単位ブロックＡ，ＢはＮＡＮＤブロックであり、単位ブロックＣ、Ｄ、Ｅ、Ｇはインバータブロックであり、単位ブロックＦはマルチプレクサブロックであって、２つのパストランジスタから形成されている。
【００４０】
例えば、図９(ａ)に示した単位ブロックＦについて優先して結合する旨が指示された場合は、結合制御部２１２からの指示に応じて、結合処理部２１３により、この単位ブロックＦを含む回路ブロックの形成処理が他の単位ブロックについての処理に優先して開始される。ここで、この単位ブロックＦにおいて、２つのトランジスタそれぞれのソースノードは、いずれも電源端子にも接地端子にも接続されていないので、まず、上述した条件２を満たすために、この単位ブロックＦに隣接する２つの単位ブロックＣ、Ｄを結合する。また、この単位ブロックＦに備えられたパストランジスタの相補ノードは、前段のインバータブロック（単位ブロックＥ）の入力ノードおよび出力ノードに接続されており、上述した条件４に適合する。したがって、結合処理部２１３により、更に、この単位ブロックＥを上述した回路ブロックに結合して統合することにより、図９(ｂ)に示すように、単位ブロックＣ、Ｄ、Ｅ、Ｆからなる回路ブロックが形成される。
【００４１】
一方、単位ブロックＧは、外部出力ノードに接続されたインバータブロックであり、このインバータブロックに直列に接続されているインバータブロックは存在しないので、結合処理部２１３により、単位ブロックＧは、単独で一つの回路ブロックとされる。
上述したようにして、結合処理部２１３により、条件２を満たす回路ブロックを形成することにより、回路ブロックを形成する回路素子に、駆動電力を正確な条件で供給した状態を想定して、後述する回路シミュレーションを行なうことが可能となるので、正確なシミュレーション結果を期待することができる。
【００４２】
また、結合処理部２１３により、条件３を満たす回路ブロックを形成することにより、インバータブロックの特徴、すなわち、１入力の論理で扱うことが可能であることを活かして、後述する動的タイミング解析における回路シミュレーションの手間を大幅に削減することができる。なぜなら、このような回路ブロックについて動的タイミング解析を行なう場合には、１入力についてのテストパターンを生成し、このテストパターンと数種類の外部負荷との組み合わせについて、回路シミュレーションを行なえば十分であるからである。
【００４３】
更に、結合処理部２１３により、条件４あるいは条件５を適用し、図１０(ａ)に示すような同時変化入力ノードＳ，ＸＳを、これらのノードを挟んで配置された単位ブロック(図１０において符号ａ、ｂで示す)を結合することによって消滅させることにより、後述する動的タイミング解析における回路シミュレーションの精度を大幅に向上することができる。なぜなら、回路シミュレーションにおいて、同時変化入力ノードの発生は厄介な要素の一つであり、このような要素を取り除くことにより、正確なシミュレーション結果を期待できるからである。
【００４４】
また、結合処理部２１３による回路ブロック形成処理に、上述した条件１を課すことにより、カスタムＬＳＩから形成される回路ブロックの規模を制限し、各回路ブロックの規模をほぼ均等化することができる。これにより、例えば、上述した条件５に従って、単位ブロックあるいは回路ブロックの統合を進めていくことにより、巨大な回路ブロックが形成されることを防ぎ、個々の回路ブロックについての回路シミュレーションに要する時間を現実的な時間に抑えることができる。
【００４５】
なお、条件５の適用により同時変化入力ノードが消滅することが明らかであるにもかかわらず、上述した条件１(回路ブロックの数に関する制限)のために、回路ブロックの統合ができなかった場合に、結合処理部２１３は、形成された回路ブロックに関するデータに、この回路ブロックにおいて発生している同時変化入力ノードを示すデータを付加してブロックデータ格納部２１４に保存し、動的タイミング解析処理に供すればよい。
【００４６】
また、上述したように、操作者によって指定された単位ブロックについて、結合処理部２１３により、回路ブロックを形成する処理を優先的に実行することにより、遅延特性解析システムの操作者、すなわち、設計者の経験および知識を有効に活用して、設計者の意向を反映した回路ブロックを形成することができる。
【００４７】
更に、結合処理部２１３と結合制御部２１２との間で、形成中の回路ブロックに結合して統合しようとしている単位ブロックについてのデータをやり取りし、指定された単位ブロックについては、結合制御部２１２により、入出力制御部２００を介してディスプレイ装置２１０に適切なメッセージを表示することにより、操作者からの指示を仰ぐことができる。このメッセージに応じて入力された指示に応じて、該当する単位ブロックについての結合を実行することにより、遅延特性解析システムの操作者、すなわち、設計者の経験および知識を、該当する単位ブロックの結合先を決定する場面において有効に活用することができる。
【００４８】
このようにして、上述した条件を満たす回路ブロックを形成していき、全ての単位ブロックがいずれかの回路ブロックに含まれたときに、回路ブロックの形成処理(ステップ３０４)が完了し、ステップ３０５以降の処理が開始される。
図７に示した解析制御部２０５は、ブロックデータ格納部２０６を参照して、カスタムＬＳＩに備えられた外部入力ノードに近い順に回路ブロックを順次に選択し(図８に示したステップ３０５)、また、該当する回路ブロックに対応するデータに基づいて、その回路ブロックにおいて、同時変化入力ノードが発生しているか否かを判定する(ステップ３０６)。
【００４９】
例えば、図９に示した回路ブロックａが選択された場合は、解析制御部２０５により、同時変化入力ノードの発生はないと判定され(ステップ３０６の否定判定)、これに応じて、動的解析部２０６によって、この回路ブロックについての動的タイミング解析が行なわれる(ステップ３０７)。
図１１に、動的解析部および伝送遅延解析部の詳細構成を示す。
【００５０】
図１１に示した動的解析部２０６において、シミュレーション制御部２２１は、解析制御部２０５からの指示に基づいて、該当する回路ブロックをシミュレーション対象としてスイッチレベルシミュレーション部２２２および構造解析部２２３に指定し、これらの各部による処理を起動する。
【００５１】
スイッチレベルシミュレーション部２２２および構造解析部２２３は、指定された回路ブロックに関する情報をブロック形成部２０４(図７参照)に備えられたブロックデータ格納部２１４から取得し、得られたデータに基づいて、該当する回路ブロックについてのスイッチレベルシミュレーションおよび該当する回路ブロックに含まれる各トランジスタの構造解析処理を行ない、それぞれ得られた結果をパス抽出部２２４の処理に供する。
【００５２】
上述したように、この段階において、スイッチレベルシミュレーション部２２２および構造解析部２２３による処理の対象となる回路ブロックは、カスタムＬＳＩ全体の回路規模に比べてはるかに小さいので、スイッチレベルシミュレーションおよびトランジスタ構造の解析処理に要する時間を抑えることができる。
これらの処理から得られた結果に基づいて、パス抽出部２２４により、該当する回路ブロックにおける入力ノードから出力ノードへと繋がるパスの中から、論理的に信号が伝達される可能性があるパス(以下、活性化パスと称する)が抽出され、パターン生成部２２５の処理に供される。
【００５３】
これに応じて、パターン生成部２２５により、上述した各活性化パスについてテストパターンが生成され、このテストパターンを用いて、回路シミュレーション部２２６により、処理対象の回路ブロックについての回路シミュレーションが行なわれる。
もちろん、回路シミュレーション部２２６による処理対象である回路ブロックの規模が小さく抑えられていることにより、この回路シミュレーション処理に要する時間が短く抑えられていることはいうまでもない。更に、上述したようにして、抽出された活性化パスについてのみテストパターンを生成することにより、単純に自動パターン生成方などを用いて生成した場合に比べて、大幅に処理時間を短縮することができる。
【００５４】
このようにして得られた回路シミュレーション結果に基づいて、タイミング解析部２２７により、該当する回路ブロックについて、動的特性に関する解析が行なわれ、得られた解析結果が、ライブラリ作成部２０７の処理に供される。
この動的解析部２０６によって得られた解析結果に基づいて、ライブラリ作成部２０７により、遅延特性ライブラリの作成処理が行なわれる（図８ステップ３０８）。
【００５５】
このとき、ライブラリ作成部２０７により、対応する回路ブロックの遅延特性を、入力信号のスルーレート（tsin）および出力負荷（ｃ）の関数として式(１)のように表す遅延モデルが作成される。
遅延時間ｄ＝固有遅延ｔ0(tsin)＋補正遅延ｆ(c,tsin)  ・・・式(１)
次いで、ライブラリ作成部２０７は、この遅延モデルに基づいて、代表的な入力信号のスルーレートおよび出力負荷の組み合わせについてそれぞれ遅延時間を算出し、入力信号のスルーレートおよび出力負荷の組み合わせと遅延時間との対応関係に基づいて、図１２(ａ)に示すような２次元テーブルを作成し、これを該当する回路ブロックの遅延特性として、遅延特性ライブラリに登録すればよい。なお、図１２(ｂ)は、上述した２次元テーブルをグラフ化したものである。
【００５６】
このような遅延特性ライブラリを作成する処理は、従来技術において、スタティックタイミング解析のための汎用のセルライブラリを作成する処理と基本的に同等であるので、詳細な説明は省略した。
ところで、上述したステップ３０４(図８参照)において選択された回路ブロックについて、同時変化入力が発生している旨が示されている場合に、図１１に示したシミュレーション制御部２２１は、該当する２つの入力ノードに到達するパスそれぞれにおける伝送時間の差を推定する(ステップ３０６)。
【００５７】
このとき、シミュレーション制御部２２１は、例えば、各パス上に存在するトランジスタの数や平均的なトランジスタの動作特性などに基づいて、カスタムＬＳＩに備えられた外部入力ノードのいずれかから、各パスを介して信号が該当する入力ノードに到達するまでに要する時間の期待値をそれぞれ求め、これらの期待値の差を上述した２つの入力ノードに入力される信号の位相差として回路シミュレーション部２２６の処理(ステップ３０７)に供すればよい。
【００５８】
なお、上述したステップ３０６において、統計的な手法を用いて同時変化入力信号の位相差を推定する代わりに、操作者によって入力された値を位相差として受け付けて、回路シミュレーション部２２６の処理に供してもよい。
このようにして推定された位相差を同時変化入力ノードに適用して、回路シミュレーションを実行することにより、統計的に確からしい位相差を同時変化入力信号に設定した状態で、該当する回路ブロックの動的タイミング特性を解析することができる。
【００５９】
このようにして、ブロック形成部２０４によって形成された各回路ブロックについて、動的タイミング特性の解析処理および遅延特性ライブラリの作成処理を繰り返していき、全ての回路ブロックについての処理が完了したときに、ステップ３０９の肯定判定となり、解析制御部２０５からの指示に応じて、伝送遅延解析部２０９により、ステップ３１０の静的タイミング解析処理が開始される(図８、図１１参照)。
【００６０】
図１１に示した伝送遅延解析部２０９において、遅延解析制御部２３１は、解析制御部２０５からの指示に応じて、パス解析部２３２の処理を起動し、カスタムＬＳＩに設けられた外部入力ノードから外部出力ノードに至る経路についての解析を依頼する。これに応じて、パス解析部２３２により、ブロックデータ格納部２１４に格納された回路ブロックに関する情報に基づいて、外部入力ノードから外部出力ノードに至る各経路が活性パスであるか否かが判定され、活性パスのみが選択的に遅延算出部２３３の処理に供される。これらの活性パスそれぞれについて、遅延算出部２３３により、活性パス上の各回路ブロックに対応して遅延特性ライブラリ２０８に登録された遅延特性で示される遅延時間が積算され、この積算処理によって、各活性パスにおける伝送遅延の推定値が得られる。このようにして各活性パスについて得られた伝送遅延は、遅延解析制御部２３１を介して特性解析部２３４に渡され、この特性解析部２３４により、上述した各活性パスに対応する伝送遅延を解析することにより、カスタムＬＳＩ全体としての遅延特性が得られる。
【００６１】
このように、上述したステップ３０１からステップ３０９を実行することにより、大規模なカスタムＬＳＩを表す任意のネットリストについて、このネットリストを構成する多数の回路ブロックそれぞれの遅延特性を表す遅延特性ライブラリを自動的に生成し、これらの回路ブロックについて得られた遅延特性ライブラリを用いて、カスタムＬＳＩを表すネットリストを上述した回路ブロックの集合として静的タイミング解析を行なうことができる。
【００６２】
上述したように、遅延特性ライブラリ２０８に登録された遅延特性は、各回路ブロックについて回路シミュレーションを実行した結果に基づいて得られたものであり、トランジスタレベルの設計において必要とされる精度を十分に満足している。したがって、この遅延特性ライブラリを用いた静的タイミング解析によって、カスタムＬＳＩ全体としての遅延特性を極めて高い精度で解析することが可能である。
【００６３】
しかも、各回路ブロックは、遅延特性解析の対象となるネットリストに応じて自動的に生成されるので、フルカスタムＬＳＩのように非常に自由度の高い設計にも柔軟に対応することが可能である。もちろん、従来の静的タイミング解析のように、汎用のセルライブラリを用意する必要もない。
更に、上述したように、ブロック形成部２０４によって、上述した条件１〜条件５を満たす回路ブロックを形成することにより、カスタムＬＳＩの一部の回路を独立して動的タイミング解析処理に供する際に直面する様々な課題、すなわち、動的タイミング解析における解析精度の向上と処理時間の短縮とを一挙に解決し、カスタムＬＳＩ全体についての遅延特性を迅速に、かつ、非常に高い精度で求めることが可能となる。特に、条件４あるいは条件５に従って単位ブロックあるいは回路ブロックを結合し、同時変化入力ノードを消滅させることにより、動的タイミング解析における誤差要因そのものを消去することができる。
【００６４】
なお、回路ブロックの形成過程において消滅させることができなかった同時変化入力ノードによって、動的タイミング解析の精度が劣化することを防ぐ方法として、上述した統計的に求めた位相差を適用する方法や操作者によって入力された位相差を適用する方法の他に、静的タイミング解析を利用して、位相差を推定する方法が考えられる。
【００６５】
例えば、図８に示したステップ３０６において、シミュレーション制御部２２１(図１１参照)により、統計的な方法によって位相差を推定する代わりに、解析制御部２０５を介して伝送遅延解析部２０９を起動し、各同時変化入力ノードとカスタムＬＳＩの外部入力ノードのいずれかとを結ぶそれぞれの経路について、静的タイミング解析処理の実行を依頼すればよい。そして、解析制御部２０５を介して各経路について得られた遅延時間を受け取ったときに、シミュレーション制御部２２１は、その差分を上述した同時変化入力ノードに適用すべき位相差として求め、回路シミュレーション部２２６の処理に供すればよい。
【００６６】
これにより、前段までの動的タイミング解析結果を活用して、注目している回路ブロックに含まれる同時変化入力ノードに適合すべき位相差を高精度に求めることができる。
このようにして得られた位相差には、注目している回路ブロックの前段に位置する少なくとも一つの回路ブロックの遅延特性を反映した位相差を求めることができる。
【００６７】
次に、動的タイミング解析を更に高精度化する方法について説明する。
上述したように、本発明にかかる遅延特性解析システムにおいては、ネットリストを複数の回路ブロックに分割し、各回路ブロックについて独立に動的タイミング解析を行なっている。
しかしながら、カスタムＬＳＩを表すネットリストにおいては、各回路ブロックは、本来互いに接続されているので、各回路ブロックの遅延特性には、その出力ノードに接続されている回路ブロック(以下、後段の回路ブロックと称する)による影響を反映すべきである。
【００６８】
以下、この後段の回路ブロックによる影響を各回路ブロックの遅延特性に反映する方法について説明する。
図１３に、本発明にかかる動的解析部の第２実施形態を示す。また、図１４に、動的タイミング解析動作を表す流れ図を示す。
図１３において、動的解析部２０６は、図１１に示した各部に加えて、ブロック探索部２２８と、パターン検出部２２９と、パターン合成部２３０とを備えて形成されている。
【００６９】
このブロック探索部２２８は、ブロックデータ格納部２１４に格納されているデータを参照し、このデータに基づいて、シミュレーション制御部２２１によって指定された条件を満たす回路ブロックを探索するものであり、得られた探索結果は、シミュレーション制御部２２１を介して、スイッチレベルシミュレーション部２２２の処理に供される。
【００７０】
また、パターン検出部２２９は、シミュレーション制御部２２１からの指示に応じて、スイッチレベルシミュレーション部２２２からシミュレーション結果を受け取り、このシミュレーション結果に基づいて、所定の特徴を有するパターンを検出するものであり、得られた検出結果は、シミュレーション制御部２２１を介してパターン合成部２３０の処理に供される。
【００７１】
また、図１３に示したパターン合成部２３０には、上述したパターン検出部２２９による検出結果とともに、パターン生成部２２５によって得られたテストパターンが入力されており、このパターン合成部２３０によって得られたパターンは、回路シミュレーション部２２６の処理に供されている。
次に、この動的解析部の動作について説明する。
【００７２】
解析制御部２０５(図７参照)から、動的タイミング解析の対象となる回路ブロックを指定する指示が入力されると(ステップ３１１)、シミュレーション制御部２２１により、まず、スイッチレベルシミュレーション部２２２および構造解析部２２３の処理が起動され、これに応じて、これらの各部により、指定された回路ブロックについてのテストパターンを作成するための準備処理が行なわれる(ステップ３１２)。また、スイッチレベルシミュレーション２２２および構造解析部２２３によって得られた情報に基づいて、パス抽出部２２４およびパターン生成部２２５により、指定された回路ブロックへのテストパターンが生成される（ステップ３１３)。
【００７３】
次に、シミュレーション制御部２２１により、解析対象の回路ブロックに備えられた出力ノードに接続されていることを条件として、ブロック探索部２２８の処理が起動され、これに応じて、後段の回路ブロックを探索する処理が行なわれる(ステップ３１４)。この探索で検出された回路ブロックを示すデータは、シミュレーション制御部２２１を介してスイッチレベルシミュレーション部２２２に渡され、これに応じて、後段の回路ブロックについて、それぞれスイッチレベルシミュレーションが行なわれる(ステップ３１５)。
【００７４】
このスイッチレベルシミュレーションによって得られた解析結果に基づいて、パターン検出部２２９により、後段の回路ブロックとして検出された各回路ブロックにおいて、ソース・ドレイン間の電位変化が発生したトランジスタの数が最も多い入力信号の組み合わせと、電位変化が発生したトランジスタの数が最も少ない入力信号の組み合わせとが、解析対象の回路ブロックから見た負荷を最大化させる最大化パターンおよび最小化させる最小化パターンとして検出され(ステップ３１６)、シミュレーション制御部２２１を介してパターン合成部２３０の処理に供される。
【００７５】
ここで、図１５に示すように、解析対象の回路ブロック(図１５において符号ａを付して示す)とその後段の回路ブロック(図１５において符号ｂ、ｃ、ｄを付して示す)とを結合させた状態で、解析対象の回路ブロックａについての回路シミュレーションを行なえば、後段の回路ブロックｂ、ｃ、ｄの影響を考慮した遅延特性を求めることが可能である。
【００７６】
このとき、パターン合成部２３０により、後段の回路ブロックｂ、ｃ、ｄについて得られた最大化パターン（図１５において、符号Ｐmaxb,Ｐmaxc,Ｐmaxdで示す）および最小化パターン(図１５において、符号Ｐminb,Ｐminc,Ｐmindで示す)と、回路ブロックａについて生成したテストパターンと合成すれば（ステップ３１７）、後段の回路ブロックｂ、ｃ、ｄそれぞれを、解析対象の回路ブロックａから見た出力負荷が最大あるいは最小に固定した状態で、解析対象の回路ブロックａについての回路シミュレーションを行なうことができる(ステップ３１８)。
【００７７】
これにより、後段の回路ブロックについて、それぞれに備えられた入力ノードの数ｎｂ，ｎｃ，ｎｄに応じたテストパターンを生成した場合に比べて、テストパターンの数を大幅に削減することが可能である。しかも、上述したようにして求められた最大化パターンおよび最小化パターンは、後段の回路ブロックそれぞれが、解析対象の回路ブロックに与える影響の最大値および最小値を与えるものである。したがって、上述したようにして、後段の回路ブロックを含めた回路シミュレーションを行ない、その結果に基づいて、動的タイミング解析を行なうことにより(ステップ３１９)、解析対象の回路ブロックについて、後段の回路ブロックによる影響が反映された遅延特性を、非常に高い精度で、しかも単純に後段の回路ブロックについてもテストパターンを生成した場合に比べてはるかに短い時間で求めることができる。
【００７８】
次に、各回路ブロックについての動的タイミング解析に要する時間を短縮する方法について説明する。
図１６に、本発明にかかる動的解析部の第３実施形態を示す。
図１６に示した動的解析部は、図１１に示した各部に加えて、上述したブロック探索部２２８と、波形近似部２３４と、波形再生部２３５とを備えて形成されている。
【００７９】
波形近似部２３４は、回路シミュレーション部２２６によって得られたシミュレーション結果に基づいて、解析対象の回路ブロックに備えられた出力ノードそれぞれについて、出力信号の特徴を表す近似波形を生成する機能を果たしている。
この波形近似部２３４によって得られた近似波形を表す波形データは、近似波形ファイル２３６に随時に蓄積される。
【００８０】
また、波形再生部２３５は、シミュレーション制御部２２１からの指示に応じて、近似波形ファイル２３６から所望の波形データを読み出し、この波形データから近似波形を再生して、回路シミュレーション部２２６の処理に供する機能を果たしている。
以下、図１６に示した動的解析部による動的タイミング解析動作について説明する。
【００８１】
図１７に、動的タイミング解析動作を表す流れ図を示す。
まず、図１４に示したステップ３１１からステップ３１３と同様にして、回路ブロックの指定に応じて、テストパターン生成の準備が行なわれ、パターン生成部２２５によってテストパターンが生成される。
次いで、シミュレーション制御部２２１により、解析対象のブロックが最前段のブロックであるか否かが判定される（ステップ３２１）。
【００８２】
例えば、解析対象の回路ブロックに備えられた全ての入力ノードが、カスタムＬＳＩの外部入力端子に接続されている場合は、シミュレーション制御部２２１により、該当する回路ブロックは最前段の回路ブロックであると判断される（ステップ３２１の肯定判定）。この場合に、このシミュレーション制御部２２１からの指示に応じて、回路シミュレーション部２２６により、外部入力信号についての条件を用いて、該当する回路ブロックについての回路シミュレーションが行なわれ（ステップ３２２）、得られたシミュレーション結果が、波形近似部２３４の処理に供される。
【００８３】
図１８に、近似波形を説明する図を示す。
ここで、回路シミュレーション部２２６によって得られるシミュレーション結果には、図１８(ａ)に示すように、様々なテストパターンの入力に対応して、解析対象の回路ブロックに備えられた各出力ノードから出力される様々な出力信号波形が含まれている。
【００８４】
波形近似部２３４は、図１７に示したステップ３２３において、まず、各出力ノードについて得られた出力信号波形を解析し、それぞれ最大／最小のスルーレートを示す出力信号波形を抽出する。次いで、波形近似部２３４は、各出力ノードに対応して抽出された出力信号波形を、それぞれ振幅の５０％の位置で分割し、図１８(ｂ)に示すように、最大のスルーレートが得られる出力信号波形における立ち上がりの前半部分と、最小のスルーレートが得られる出力信号波形における立ち上がりの後半部分とを合成する。更に、波形近似部２３４は、このようにして得られた合成波形を、図１８(ｂ)において、点線で示すような折れ線波形に変換し、この折れ線波形を特定する３点(図１８において、符号ａ、ｂ、ｃで示す)を示すデータを、波形データとして近似波形ファイル２３６に格納し、図１７のステップ３２３を終了する。
【００８５】
その後、タイミング解析部２２７により、ステップ３１９と同様にしてタイミング解析処理が行なわれ、この回路ブロックについての動的タイミング解析処理は終了される。
一方、ステップ３２１の否定判定の場合は、シミュレーション制御部２２１により、解析対象の回路ブロックに備えられた入力ノードに接続されていることを条件として、ブロック探索部２２８の処理が起動され、これに応じて、前段の回路ブロックを探索する処理が行なわれる(ステップ３２４)。
【００８６】
この探索で検出された回路ブロックを示すデータは、シミュレーション制御部２２１を介して波形再生部２３５に渡される。これに応じて、この波形再生部２３５により、近似波形ファイル２３６に蓄積された波形データの中から、所定の条件を満たす波形データが読み出され、これらの波形データからそれぞれ近似波形が再生される（ステップ３２５）。
【００８７】
このとき、波形再生部２３５により、前段の回路ブロックに備えられた出力ノードのうち、解析対象の回路ブロックに備えられた入力ノードに接続されている出力ノードに対応する波形データが読み出され、該当する波形データから、図１８(ｂ)に示したような近似波形が再生される。
このようにして再生された近似波形は、回路シミュレーション部２２６に渡され、この回路シミュレーション部２２６により、これらの近似波形を用いた回路シミュレーションが行なわれる(ステップ３２６)。
【００８８】
ここで、上述したようにして得られた近似波形(図１８(ｂ)参照)は、最大のスルーレートを示す出力信号および最小のスルーレートを示す出力信号の特徴を双方とも反映しており、この最大／最小のスルーレートは、回路ブロックの遅延特性を評価するための重要な指標である。したがって、前段の回路ブロックについて得られた近似波形を入力信号波形として用いることにより、前段の回路ブロックに接続された状態とほぼ同等の条件の下で、解析対象の回路ブロックについての回路シミュレーションを行なうことができる。これにより、解析対象の回路ブロックがカスタムＬＳＩにおいて占める位置を考慮したシミュレーション結果を得ることが可能となるので、各回路ブロックについての動的タイミング解析の精度を向上することができる。
【００８９】
更に、上述した近似波形は、わずか３点によって特定される折れ線波形であるので、図１８(ｂ)に細い実線で示したような合成波形そのものを入力信号波形として用いた場合に比べて、データ量を大幅に削減することが可能であるから、回路シミュレーション処理の高速化に各段の効果を期待することができる。
【００９０】
しかも、この近似波形は、図１８(ｂ)に示したように、合成波形にかなり忠実であるから、近似波形を用いたことによる精度の低下はごく軽微である。
したがって、上述した近似波形を入力信号波形として用いて、解析対象の回路ブロックについて回路シミュレーションを行なうことにより、高精度なシミュレーション結果を高速に得ることができる。
【００９１】
次に、遅延特性ライブラリを構成した後に、例えば、図２５に示した論理回路からなる回路ブロックについての回路シミュレーションにおいて、テストパターンの中に、無効な信号の組み合わせが含まれていたことが分かった場合の対策について説明する。
図１９に、本発明にかかる第２の遅延特性解析システムの実施形態を示す。
【００９２】
図１９に示した第２の遅延特性解析システムは、図７に示した第１の遅延特性解析システムに、再試行制御部２３７および変分評価部２３８を付加して構成されている。また、図１９において、動的解析部２０６は、図１６に示した第３実施形態と同等の構成を備えており、解析済みの各回路ブロックに対応する波形データは、近似波形ファイル２３６に蓄積されている。
【００９３】
図１９において、入力装置２０４を介して入力された所定の指示は、入出力制御部２００を介して再試行制御部２３７に渡され、この指示に応じて、この再試行制御部２３７により、動的解析部２０６の動作の制御が行なわれ、これにより、動的タイミング解析の再試行が起動される。
また、再試行された動的タイミング解析によって得られた解析結果の入力に応じて、変分評価部２３８により、この新たに得られた解析結果と、近似波形ファイル２３６に蓄積された波形データで示される以前の解析結果とに基づいて、その変分の大きさが評価される。
【００９４】
この評価結果に応じて、再試行制御部２３７により、新たな解析結果を採用するか否かが判定され、この判定結果に応じて、後述する遅延特性ライブラリの再構成処理が起動される。
図２０に、動的タイミング解析の再試行および遅延特性ライブラリの再構成動作を表す流れ図を示す。また、図２１に、動的タイミング解析の再試行および遅延特性ライブラリの再構成動作を説明する図を示す。
【００９５】
入力装置２０４を介して、無効な信号の組み合わせ(以下、無効パターンと称する)を用いて回路シミュレーションを行なってしまった回路ブロックと、上述した無効パターンとを指定する情報を含む再試行指示が入力されると、この再試行指示は、再試行制御部２３７によって受け付けられ(ステップ３３１)、まず、該当する回路ブロックについての動的タイミング解析処理が起動される。
【００９６】
このとき、再試行制御部２３７により、指定された回路ブロックを特定するデータが解析対象のブロックを示す情報としてシミュレーション制御部２２１に渡され、これに応じて、この回路ブロックについての動的タイミング解析処理が再び開始される。
まず、シミュレーション制御部２２１からの指示に応じて、解析準備部２３９により、該当する回路ブロックについて回路シミュレーションを実行するための準備処理が行なわれる。ここで、解析準備部２３９は、図１６に示したスイッチレベルシミュレーション部２２２、構造解析部２２３およびパス抽出部２２４とから形成されており、図１６に示した動的解析部２０５において、これらの各部によって果たされた役割と同等の役割が、この解析準備部２３９によって果たされ、有効なパスを示す解析結果がパターン生成部２２５の処理に供される。
【００９７】
一方、無効パターンを特定するデータは、再試行制御部２３７により、例えば、回路シミュレーション部２２６への出力を禁止する禁止パターンとしてパターン生成部２２５に渡され、これに応じて、パターン生成部２２５により、指定された無効パターンを含まないテストパターンが生成され、このテストパターンを用いて、回路シミュレーション部２２６による回路シミュレーションが実行される(ステップ３３２)。このとき、図１７に示したステップ３２４〜ステップ３２６と同様にして、前段の回路ブロックについて得られた近似波形を用いた回路シミュレーションが行なわれる。
【００９８】
このようにして得られたシミュレーション結果は、変分評価部２３８に渡され、この変分評価部２３８により、まず、出力ノードごとに、出力信号の解析が行なわれ、その最大スルーレートおよび最小スルーレートが抽出される（ステップ３３３）。
次いで、この変分評価部２３８により、出力ノードごとに抽出された最大／最小のスルーレートで示されるスルーレートの範囲と、該当する出力ノードに対応して近似波形ファイル２３６に蓄積された波形データで示されるスルーレートの範囲とを比較することにより、新たな解析結果と以前の解析結果との変分が許容範囲内であるか否かが判定される。
【００９９】
変分評価部２３８により、全ての出力ノードについて、新たに抽出されたスルーレートの範囲が、対応する波形データで示される範囲内である旨の評価結果が得られた場合（ステップ３３４の肯定判定）は、再試行制御部２３７により、無効パターンが以前の動的タイミング解析結果に与えた影響は無視できると判断され、再試行処理は終了される。
【０１００】
一方、ステップ３３４の否定判定の場合は、再試行制御部２３７により、無効パターンが以前の動的タイミング解析結果に与えた影響は無視できないと判断され、遅延特性ライブラリの再構成処理が起動される。
まず、再試行制御部２３７からの指示に応じて、近似波形ファイル２３６に、波形近似部２３４によって新たに得られた波形データが該当する回路ブロックに対応して書き込まれ、また、ライブラリ作成部２０７により、タイミング解析部２２７によって新たに得られた解析結果に基づいて、回路ブロックの遅延特性が評価され、新たに得られた遅延特性が、遅延特性ライブラリ２０８の該当する回路ブロックに対応する要素として登録される（ステップ３３５）。
【０１０１】
次に、再試行制御部２３７により、ブロック探索部２２８の動作が起動され、ステップ３３１で指定された回路ブロックの出力信号が直接あるいは間接的に入力されている回路ブロックを外部出力ノードに到達するまで探索することにより、指定された回路ブロックの遅延特性が変化したことによって影響を受ける範囲が特定される（ステップ３３６）。
【０１０２】
このようにして得られた探索結果に基づいて、再試行制御部２３７により、影響範囲に含まれる各回路ブロックが、順次に解析対象の回路ブロックとしてシミュレーション制御部２２１に指定され、これに応じて、上述したステップ３３２と同等の動的タイミング解析処理がこれらの各回路ブロックについて再度実行される（ステップ３３７）。
【０１０３】
そして、この動的タイミング解析によって得られた解析結果に基づいて、近似波形ファイル２３６および遅延特性ライブラリ２０８の内容の更新が行なわれる（ステップ３３８）。
上述したステップ３３７およびステップ３３８を繰り返し、影響範囲に含まれる全ての回路ブロックについて、動的タイミング解析の再実行および近似波形ファイル２３６と遅延特性ライブラリ２０８の更新が終了したときに、再試行制御部２３７により、全ての処理が終了したとされ（ステップ３３９の肯定判定）、動的タイミング解析処理および遅延特性ライブラリの再構成処理が終了される。
【０１０４】
このようにして、指定された回路ブロックとその影響を受ける範囲に含まれる回路ブロックとについて、所望の条件の下で動的タイミング解析をそれぞれ独立に再試行し、その結果に応じて、遅延特性ライブラリ２０８への登録内容を変更することができる。
この際に、動的タイミング解析を再試行する対象は、指定された回路ブロックとその出力信号が直接あるいは間接的に入力されている回路ブロックの集合に限られるので、動的タイミング解析の再試行および遅延特性ライブラリの再構成に要する時間を、現実的に許容できる範囲に抑えることができる。また、影響を受けない範囲に含まれる多数の回路ブロックに対応する遅延特性は、そのまま利用することができる。
【０１０５】
これにより、例えば、静的タイミング解析の過程において無効なパターンが発見された場合にも迅速に対応し、随時に、有効なパターンのみを用いた回路シミュレーションによって得られた遅延特性からなる正当な遅延特性ライブラリを再構成し、改めて、静的タイミング解析処理に供することができる。このような効果は、ネットリスト全体を一体のものとして扱う従来の技術では、到底得られない効果であり、カスタムＬＳＩを表すネットリストを回路ブロックに分割し、この回路ブロックごとに独立して動的タイミング解析を行なった結果に基づいて、遅延特性ライブラリを構築するという本発明の基本構成によって、はじめて享受することができる。
【０１０６】
更に、上述したように、各回路ブロックについて初めて動的タイミング解析を行なう過程において、回路シミュレーションによって得られた出力信号波形から近似波形を生成して近似波形ファイル２３６に保存しているので、指定された回路ブロックがカスタムＬＳＩにおいて占める位置にかかわらず、回路シミュレーションの再試行に当たって、前段の回路ブロックの近似波形を入力波形として用いることができる。これにより、動的タイミング解析の再試行においても、最初の解析と同等の精度の解析結果を得ることができる。
【０１０７】
また、近似波形ファイル２３６に保存された波形データは、以前の回路シミュレーションによって得られた出力信号の最大スルーレートおよび最小スルーレートを反映しているから、上述したようにして、この波形データで示されるスルーレートの範囲と新たに得られた出力信号におけるスルーレートの範囲とを比較することにより、無効パターンを除外したことによるシミュレーション結果の変分が、許容できる程度であるか否かを正当に評価することができる。
【０１０８】
カスタムＬＳＩの開発設計においては、所望の性能を得るために、一旦遅延特性解析が完了したネットリストの一部を変更する場合が多々ある。以下、ネットリストの一部が変更された場合に、新たなネットリストについての遅延特性解析を高速に処理する方法について説明する。
図２２に、本発明にかかる第３の遅延特性解析システムの実施形態を示す。
【０１０９】
図２２に示した第３の遅延特性解析システムは、図７に示した第１の遅延特性解析システムに、差分抽出部２４１とデータ統合部２４６とを付加して構成されている。
また、図２２において、解析済みリストファイル２４２には、既に遅延特性解析が完了している旧ネットリストが格納されており、ブロックデータファイル２４３には、上述した旧ネットリストについて遅延特性解析を実行した際に形成された回路ブロックに関するブロックデータが格納されている。上述した旧ネットリストおよびこの旧ネットリストに関するブロックデータは、差分抽出部２４１の処理に供されており、この差分抽出部２４１により、読み込み部２０１によって新たに読み込まれたネットリストと、上述した旧ネットリストとが比較され、旧ネットリストから変更された回路要素およびその影響を受ける回路の範囲が、ネットリストの差分として抽出され、このネットリストの差分が単位分割部２０２の処理に供される。一方、この差分抽出部２４１により、旧ネットリストと同等であるとされた範囲に関する情報は、データ統合部２４６に渡されている。
【０１１０】
また、波形データライブラリ２４４には、上述した旧ネットリストについて遅延特性解析を実行した際に形成された近似波形を表す波形データが格納されており、一方、特性データファイル２４５には、旧ネットリストを構成する各回路ブロックに対応して遅延特性ライブラリに登録された遅延特性が格納されている。この波形データライブラリ２４４に格納された波形データおよび特性データファイル２４５に格納された特性データは、上述したブロックデータとともにデータ統合部２４６の処理に供され、それぞれ近似波形ファイル２３６、遅延特性ライブラリ２０８およびブロックデータ格納部２１４（図７参照）に格納されるデータの作成に用いられる。
【０１１１】
以下、この第３の遅延特性解析システムの動作について説明する。
図２３に、第３の遅延特性解析システムによる遅延特性解析動作を表す流れ図を示す。
遅延解析済みのネットリストの一部を変更して新たなネットリストが得られ、このネットリストが読み込み部２０１によって読み込まれると（ステップ３４１）、差分抽出部２４１により、このネットリストと解析済みリストファイル２４２に格納された旧ネットリストとが比較され、旧ネットリストからの変更部分のために、旧ネットリストにおける回路ブロックが適用できないネットリストの範囲が、ネットリストの差分として抽出される（ステップ３４２）。このネットリストの差分は、単位分割部２０２によって単位ブロックに分割された後に、ブロック形成部２０３の処理に供され、このブロック形成部２０３による処理によって、上述した条件に従う回路ブロックに変換される（ステップ３４３）。
【０１１２】
このようにして得られた変更部分を含む回路ブロックに関するブロックデータは、ブロックデータ格納部２１４（図７参照）に、解析対象である旨のフラグを付加して格納される。
次いで、データ統合部２４６により、旧ネットリストについて遅延特性解析を実行した過程において、各処理の結果として得られたデータの中から、再利用可能なデータを選択的に読みこむ処理が行なわれる（ステップ３４４）。
【０１１３】
例えば、差分抽出部２４１により、図２４に示すように、ネットリストの差分が新規の回路ブロック２に変換された範囲であり、他の回路ブロックについては、旧ネットリストにおける回路ブロックが適用可能であると判断された場合は、データ統合部２４６により、回路ブロック１および回路ブロック３から回路ブロック１０に対応してブロックデータファイル２４３に格納されたブロックデータが読み出され、ブロック生成部２０３の内部に備えられたブロックデータ格納部２１４（図７参照）に格納されて、再利用される。このとき、データ統合部２４６により、各回路ブロックについて、新規の回路ブロックからの出力信号を直接的あるいは間接的に受け取っているか否かが判定され、受け取っているとされた回路ブロック（図２４において網掛けを付して示した）については、解析対象である旨のフラグを付加した上で、該当するブロックデータをブロックデータ格納部２１４に格納する処理が行なわれる。
【０１１４】
一方、新規の回路ブロックの影響を受けないとされた回路ブロックについては、データ統合部２４６により、波形データライブラリ２４４および特性データファイル２４５から、それぞれ該当する波形データおよび遅延特性データが読み出され、それぞれ近似波形ファイル２３６および遅延特性ライブラリ２０８に書き込まれ、対応する回路ブロックについての波形データおよび遅延特性データとして再利用される。
【０１１５】
このようにして、再利用可能なデータを統合する処理が終了した後に、解析制御部２０５は、上述したブロックデータ格納部２１４にブロックデータとともに格納されたフラグに基づいて、解析対象とされた回路ブロックを順次に動的解析部２０６に指定し、その回路ブロックについての動的タイミング解析を起動すればよい。
【０１１６】
これに応じて、動的解析部２０６により、解析対象とされた回路ブロックについての動的タイミング解析が行なわれ（ステップ３４５）、得られた解析結果に基づいて、ライブラリ作成部２０７により、該当する回路ブロックについて得られた遅延特性が遅延特性ライブラリ２０８に登録される（ステップ３４６）。
ここで、上述したデータ統合処理において、図２４に示した回路ブロック１および回路ブロック３に対応する波形データが近似波形ファイル２３６に格納されているので、回路ブロック５、回路ブロック６および回路ブロック８の動的タイミング解析の際に、それぞれの前段の回路ブロックについて生成された波形データを用いて、回路シミュレーションを行なうことが可能である。これにより、新規に遅延特性解析を行なう場合と同様に、高い精度の回路シミュレーション結果を迅速に得ることができる。
【０１１７】
このようにして、ブロックデータ格納部２１４に解析対象である旨のフラグとともに格納された全ての回路ブロックについて、動的タイミング解析処理および遅延特性ライブラリの作成処理が終了したときに（ステップ３４７の肯定判定）、解析制御部２０５により、伝送遅延解析部２０９による静的タイミング解析処理が起動される。
【０１１８】
ここで、上述したように、データ統合部２４６により、旧ネットリストにおける遅延特性解析処理過程で得られた再利用可能な遅延特性は、既に遅延特性ライブラリ２０８に登録されているので、解析対象とされた回路ブロックに対応する遅延特性を遅延特性ライブラリ２０８に追加して登録することにより、新たなネットリストによって表されるカスタムＬＳＩを構成する全ての回路ブロックについてそれぞれの遅延特性を含んだ遅延特性ライブラリ２０８が完成する。
【０１１９】
したがって、この遅延特性ライブラリ２０８を用いて、伝送遅延解析部２０９により静的タイミング解析処理を行なうことにより（ステップ３４８）、カスタムＬＳＩ全体についての遅延特性を評価することができる。
このようにして、旧ネットリストの一部の設計を変更することによって得られた新たなネットリストについて遅延特性解析を行なう際に、動的タイミング解析処理と遅延ライブラリの作成処理の対象となる回路ブロックを、旧ネットリストから変更された部分を含む回路ブロックおよびこの回路ブロックの遅延特性による影響を受ける範囲に含まれる回路ブロックに制限し、全体としての遅延特性解析に要する時間の短縮を図ることができる。
【０１２０】
以上の説明に関して、更に、以下の各項を開示する。
（付記１）  トランジスタおよびこれと同等の回路要素の配置および接続関係を表すネットリストを読み込む手順と、
前記ネットリストで表された解析対象の回路をそれぞれ最小の論理回路として動作可能な単位ブロックに分割する手順と、
前記ネットリストで示された接続関係と所定の条件とに基づいて、前記単位ブロックを結合することによって、複数の回路ブロックを形成する手順と、
前記複数の回路ブロックそれぞれについて、適切な入力信号の組み合わせを入力して回路シミュレーションを実行することにより、動的タイミング解析を行なう手順と、
各回路ブロックに対応する前記回路シミュレーション結果に基づいて、前記複数の回路ブロックの遅延特性を含んだ遅延特性ライブラリを作成する手順と、
前記ネットリストで表された解析対象の回路を、前記複数の回路ブロック相互の接続によって形成された構造として捉え、前記遅延特性ライブラリとに基づいて静的タイミング解析を実行することにより、所望の信号経路についての伝送遅延解析を行なう手順と
を備えたことを特徴とする遅延特性解析方法。
【０１２１】
（付記２）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、各回路ブロックに含まれる単位ブロックの数が所定の閾値以下であることを条件として単位ブロックの結合を制御する
ことを特徴とする遅延特性解析方法。
（付記３）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、各回路ブロックが電源端子あるいは接地端子に接続されたトランジスタを少なくとも一つ含むことを条件として単位ブロックの結合を制御する
ことを特徴とする遅延特性解析方法。
【０１２２】
（付記４）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、
解析対象の回路に備えられた外部出力端子に接続されたインバータを検出し、
前記検出されたインバータに接続されるインバータあるいは直列に接続された複数のインバータを探索し、
前記検出されたインバータと前記探索によって得られた少なくとも一つのインバータとから新たな回路ブロックを形成する
ことを特徴とする遅延特性解析方法。
【０１２３】
（付記５）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、
インバータを含む単位ブロックであって、そのインバータの入力ノードと出力ノードとの双方が同一の後段単位ブロックに接続されている単位ブロックを検出し、
該当する単位ブロックと前記後段単位ブロックとを結合する
ことを特徴とする遅延特性解析方法。
【０１２４】
（付記６）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、
同時に変化することが予想される信号が入力される複数の入力ノードを備えた単位ブロックあるいは回路ブロックを検出し、
前記単位ブロックあるいは回路ブロックとその前段の単位ブロックあるいは回路ブロックとを結合して一つの回路ブロックを形成する
ことを特徴とする遅延特性解析方法。
【０１２５】
（付記７）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、
いずれかの単位ブロックに対する指定を受け取り、
指定された単位ブロックを含む回路ブロックを優先的に形成する
ことを特徴とする遅延特性解析方法。
【０１２６】
（付記８）  付記１に記載の遅延特性解析方法において、
複数の回路ブロックを形成する際に、
いずれかの単位ブロックに対する指定を受け取り、
指定された単位ブロックを除外して回路ブロックの形成を進め、
前記指定された単位ブロックを結合すべき結合先の回路ブロックに対する指定を受け取り、
前記指定された単位ブロックと、これに対応して指定された回路ブロックとを結合する
ことを特徴とする遅延特性解析方法。
【０１２７】
（付記９）  付記１に記載の遅延特性解析方法において、
各回路ブロックについて回路シミュレーションを実行する際に、
同時に変化することが予想される信号が入力される複数の入力ノードを備えた回路ブロックを検出し、
前記複数の入力ノードへの入力信号として、統計的に推定された位相差を与えた入力信号を含んだテストパターンを生成し、
前記テストパターンを用いて、検出された回路ブロックについての回路シミュレーションを行なう
ことを特徴とする遅延特性解析方法。
【０１２８】
（付記１０）  付記１に記載の遅延特性解析方法において、
各回路ブロックについて回路シミュレーションを実行する際に、
同時に変化することが予想される信号が入力される複数の入力ノードを備えた回路ブロックを検出し、
前記複数の入力ノードへの入力信号に与えられるべき位相差の指定を受け取り、
指定された位相差を与えた入力信号を含んだテストパターンを生成し、
前記テストパターンを用いて、検出された回路ブロックについての回路シミュレーションを行なう
ことを特徴とする遅延特性解析方法。
【０１２９】
（付記１１）  付記１に記載の遅延特性解析方法において、
ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析の対象として選択し、
選択された回路ブロックについて動的タイミング解析を行なう手順および得られた遅延特性を逐次に遅延特性ライブラリに登録する手順を実行し、
全ての回路ブロックについての遅延特性が遅延特性ライブラリに登録された後に、静的タイミング解析を行なう手順に進む方法であって、
動的タイミング解析を行なう手順は、
選択された回路ブロックに備えられた入力ノードに入力される入力信号が同時に変化することが予想されるか否かを判定する手順と、
該当する場合に、通常のテストパターン生成処理に代えて、
前記外部入力端子から前記選択された回路ブロックの入力ノードに至る信号経路について、前記選択された回路ブロックの前段に配置された回路ブロックまでの各回路ブロックについて得られた遅延特性に基づく静的タイミング解析を行なうことにより、前記同時変化する入力信号についての位相差を推定する手順と、
得られた位相差を与えたテストパターンを用いて、前記選択された回路ブロックについての回路シミュレーションを行なう手順とを実行する
ことを特徴とする遅延特性解析方法。
【０１３０】
（付記１２）  付記１に記載の遅延特性解析方法において、
各回路ブロックについて回路シミュレーションを実行する際に、
動的タイミング解析対象の回路ブロックの出力ノードに接続されている他の回路ブロックを検出し、
解析対象の回路ブロックについての回路シミュレーションを、検出された回路ブロックと解析対象の回路ブロックとからなる拡大された回路を対象とする回路シミュレーションの一部として行なう
ことを特徴とする遅延特性解析方法。
【０１３１】
（付記１３）  付記１に記載の遅延特性解析方法において、
動的タイミング解析手順において、
動的タイミング解析対象の回路ブロックの出力ノードに接続されている他の回路ブロックを検出し、
検出された回路ブロックそれぞれについて、適切なテストパターンを用いてスイッチレベルシミュレーションを行ない、
得られたシミュレーション結果に基づいて、前記検出された回路ブロックそれぞれにおいて状態変化が起こるトランジスタの数が最大および最小となる入力信号パターンを、前記検出された回路ブロックそれぞれに対応する最大負荷パターンおよび最小負荷パターンとして求め、
前記解析対象の回路ブロックについて最大遅延を求める場合には、前記検出された回路ブロックそれぞれに、対応する最大負荷パターンを入力信号群として入力し、
前記解析対象の回路ブロックについて最小遅延を求める場合には、前記検出された回路ブロックそれぞれに、対応する最小負荷パターンを入力信号群として入力し、
解析対象の回路ブロックについての回路シミュレーションを、検出された回路ブロックと解析対象の回路ブロックとからなる拡大された回路を対象とする回路シミュレーションの一部として行なう
ことを特徴とする遅延特性解析方法。
【０１３２】
（付記１４）  付記１に記載の遅延特性解析方法において、
ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析の対象として選択し、
選択された回路ブロックについて動的タイミング解析を行なう手順および得られた遅延特性を逐次に遅延特性ライブラリに登録する手順を実行し、
全ての回路ブロックについての遅延特性が遅延特性ライブラリに登録された後に、伝送遅延解析を行なう手順に進む方法であって、
動的タイミング解析手順は、
解析対象の回路ブロックに備えられた入力ノードに接続されている前段の回路ブロックを検出し、
検出された前段の回路ブロックそれぞれに対応する近似波形を、前記解析対象の回路ブロックに備えられた各入力ノードへの入力信号波形として、前記解析対象の回路ブロックについての回路シミュレーションを実行し、
回路シミュレーションによって、前記解析対象の回路ブロックの出力ノードについてそれぞれ得られる出力波形の中から、スルーレートが最大である波形とスルーレートが最小である波形とをそれぞれ抽出し、
前記出力ノードからの出力信号それぞれに対応して、前記２つの波形の特徴を反映する近似波形を生成し、後段の回路ブロックを対象とする回路シミュレーションに供する
ことを特徴とする遅延特性解析方法。
【０１３３】
（付記１５）  付記１に記載の遅延特性解析方法において、
ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析の対象として選択し、
選択された回路ブロックについて動的タイミング解析を行なう手順および得られた遅延特性を逐次に遅延特性ライブラリに登録する手順を実行し、
全ての回路ブロックについての遅延特性が遅延特性ライブラリに登録された後に、伝送遅延解析を行なう手順に進む方法であって、
入力される指示によって指定された回路ブロックについて、指定されたテストパターンを除外して動的タイミング解析を行なうために、動的解析手段による処理を再起動する手順と、
前記動的タイミング解析を行なう手順によって、前記指定された回路ブロックについての再起動に応じて得られた解析結果に基づいて、前記指定されたテストパターンを除外したことによって遅延特性に注目すべき変化が生じたか否か判定する手順と、
注目すべき変化がある旨の判定結果に応じて、前記指定された回路ブロックに対応する遅延特性の変化によって、その遅延特性が影響を受ける範囲に含まれる回路ブロックを特定する手順と、
前記特定された回路ブロックそれぞれについて、前記動的タイミング解析手順による処理を再起動する手順と、
前記指定された回路ブロックおよび前記特定された回路ブロックに対応して得られた解析結果を前記遅延特性ライブラリに登録する手順の処理に供し、これらの解析結果に基づく遅延特性ライブラリの作成処理を再起動する手順とを備え、
動的タイミング解析を行なう手順は、
適切な方法で前記解析対象の回路ブロックに備えられた各入力ノードに入力するテストパターンを生成する手順と、
前記解析対象の回路ブロックについて、その入力ノードに接続されている前段の回路ブロックを探索して検出する手順と、
前記前段の回路ブロックに備えられた適切な出力ノードに対応する出力信号波形を、前記解析対象の回路ブロックの対応する入力ノードへの入力信号波形として、前記解析対象の回路ブロックについての回路シミュレーションを行なう手順と、
前記回路ブロックの出力ノードそれぞれについて、前記回路シミュレーションによって得られた出力信号の波形に含まれる、スルーレートが最大である波形とスルーレートが最小である波形とに基づいて、これらの波形の特徴を反映する近似波形を生成する手順と、
前記各出力ノードに対応する前記近似波形を、後段の回路ブロックへの入力信号として利用するために、前記解析対象の回路ブロックに対応する出力信号波形として保存する手順とを備えており、
変化の有無を判定する手順は、前記指定された回路ブロックについて行なわれた動的タイミング解析処理によって得られた解析結果に含まれている全ての出力信号波形について、そのスルーレートが、前記指定された回路ブロックに対応して保存された出力信号波形で示されるスルーレートの範囲に含まれていない場合に、遅延特性に注目すべき変化が生じたと判定する構成である
ことを特徴とする遅延特性解析方法。
【０１３４】
（付記１６）  付記１に記載の遅延特性解析方法において、
動的タイミング解析手順に先だって、
所定の遅延解析済みのネットリストについて、動的タイミング解析の対象となった各回路ブロックに関するデータとその回路ブロックついて得られた遅延特性とを示すデータとを受け取る手順と、
前記所定の遅延解析済みのネットリストについて受け取ったデータと、新たに読み込まれたネットリストにおいて形成された回路ブロックに関するデータとに基づいて、新たなネットリストにおける各回路ブロックについて、前記遅延解析済みのネットリストに関する遅延解析の過程で得られた遅延特性データを再利用可能であるか新規に動的タイミング解析を実行する必要があるかを判定する手順と、
動的タイミング解析処理対象とすべき新規の回路ブロックを動的解析手段およびライブラリ作成手段の処理に供する手順と、
前記既存の遅延特性を利用可能とされた回路ブロックについて、前記該当する回路ブロックに対応する遅延特性を、前記新たに読み込まれたネットリストに対応する遅延特性ライブラリの要素として登録する手順とを実行する構成である
ことを特徴とする遅延特性解析方法。
【０１３５】
（付記１７）  トランジスタおよびこれと同等の回路要素の配置および接続関係を表すネットリストを読み込む読み込み手段と、
前記ネットリストで表された解析対象の回路をそれぞれ最小の論理回路として動作可能な単位ブロックに分割する単位分割手段と、
前記ネットリストで示された接続関係と所定の条件とに基づいて、前記単位ブロックを結合することによって、複数の回路ブロックを形成するブロック形成手段と、
前記複数の回路ブロックそれぞれについて、適切な入力信号の組み合わせを入力して回路シミュレーションを実行することにより、その動特性を解析する動的解析手段と、
各回路ブロックに対応する前記回路シミュレーション結果から、前記各回路ブロックの遅延特性を抽出して登録することにより、遅延特性ライブラリを作成するライブラリ作成手段と、
前記ネットリストで表された解析対象の回路を、前記複数の回路ブロック相互の接続によって形成された構造として捉え、前記遅延特性ライブラリとに基づいてスタティックタイミング解析を実行することにより、所望の信号経路についての伝送遅延解析を行なう伝送遅延解析手段と
を備えたことを特徴とする遅延特性解析システム。
【０１３６】
（付記１８）  付記１７に記載の遅延特性解析システムにおいて、
ネットリストで表された解析対象の回路に備えられた外部入力端子に近い回路ブロックから順次に解析対象として選択して動的解析手段の処理に供し、得られた解析結果を逐次にライブラリ作成手段による処理に供していき、全ての回路ブロックについての遅延特性を含む遅延特性ライブラリが作成された後に、伝送遅延解析手段を起動することにより、遅延解析動作を制御する解析制御手段と、
入力される指示によって指定された回路ブロックについて、指定されたテストパターンを除外して動的タイミング解析を行なうために、動的解析手段による処理を起動する起動制御手段と、
前記動的解析手段によって、前記起動制御手段による起動に応じて得られた解析結果に基づいて、前記指定されたテストパターンを除外したことによって遅延特性に注目すべき変化が生じたか否か判定する変化判定手段と、
注目すべき変化がある旨の判定結果に応じて、前記指定された回路ブロックに対応する遅延特性の変化によって、その遅延特性が影響を受ける範囲に含まれる回路ブロックを特定する特定手段と、
前記特定された回路ブロックについて、動的解析手段による処理を起動する解析起動手段と、
前記指定された回路ブロックおよび前記特定された回路ブロックに対応して得られた解析結果を前記ライブラリ作成手段の処理に供し、これらの解析結果に基づく遅延特性ライブラリの作成処理を起動する作成起動手段とを備え、
動的解析手段は、
適切な方法で前記解析対象の回路ブロックに備えられた各入力ノードに入力するテストパターンを生成するパターン生成手段と、
前記解析対象の回路ブロックについて、その入力ノードに接続されている前段の回路ブロックを探索して検出するブロック探索手段と、
前記前段の回路ブロックに備えられた適切な出力ノードに対応する出力信号波形を、前記解析対象の回路ブロックの対応する入力ノードへの入力信号波形として、前記解析対象の回路ブロックについての回路シミュレーションを行なうシミュレーション手段と、
前記回路ブロックの出力ノードそれぞれについて、前記回路シミュレーションによって得られた出力信号の波形に含まれる、スルーレートが最大である波形とスルーレートが最小である波形とに基づいて、これらの波形の特徴を反映する近似波形を生成する波形近似手段と、
前記各出力ノードに対応する前記近似波形を、後段の回路ブロックへの入力信号として利用するために、前記解析対象の回路ブロックに対応する出力信号波形として保存する近似波形格納手段とを備えており、
変化判定手段は、前記指定された回路ブロックについて行なわれた動的タイミング解析処理によって得られた解析結果に含まれている全ての出力信号波形について、そのスルーレートが、前記指定された回路ブロックに対応して前記近似波形格納手段に保存された出力信号波形で示されるスルーレートの範囲に含まれていない場合に、遅延特性に注目すべき変化が生じたと判定する構成である
ことを特徴とする遅延特性解析システム。
【０１３７】
（付記１９）  付記１７に記載の遅延特性解析システムにおいて、
所定の遅延解析済みのネットリストについて、動的タイミング解析の対象となった各回路ブロックについて、少なくともそれぞれを形成している単位ブロックを示すデータとその回路ブロックに接続された他の回路ブロックを示すデータとその回路ブロックついて得られた遅延特性とを示すデータとを入力するデータ入力手段と、
前記データ入力手段から入力されたデータに基づいて、新たに読み込まれたネットリストからブロック形成手段によって形成された各回路ブロックの中から、前記所定の遅延解析済みのネットリストにおいて形成された回路ブロックのいずれかと同等であり、かつ、同等の回路ブロックに接続されている等価な回路ブロックを判別し、他の回路ブロックを新規の回路ブロックとして動的解析手段およびライブラリ作成手段の処理に供するブロック判別手段と、
前記ブロック判別手段によって判別された回路ブロックについて、前記該当する回路ブロックに対応して入力された遅延特性を、前記新たに読み込まれたネットリストに対応する遅延特性ライブラリの要素として登録する既存特性登録手段とを備えた構成である
ことを特徴とする遅延特性解析システム。
【０１３８】
【発明の効果】
以上に説明したように、本発明にかかる第１の遅延特性解析方法によれば、膨大な数のトランジスタからなるカスタムＬＳＩ回路を、適切な規模の回路ブロックごとにその動的遅延特性を解析し、この解析によって得られた遅延特性ライブラリを用いて、カスタムＬＳＩをこれらの回路ブロックの集合として静的タイミング解析することにより、従来の単なる静的タイミング解析とは比べ物にならないほど高精度の解析結果を、極めて迅速に得ることができる。更に、この第１の遅延特性解析方法において、各回路ブロックに含まれる回路要素に制限はないので、フルカスタムＬＳＩの開発設計に必要な設計の自由度を保証することができる。
【０１３９】
なお、上述した付記３において述べた条件に従って、回路ブロックを形成していくことにより、各回路ブロックに、電源あるいは接地端子に接続されたトランジスタが含まれていることを保証することが可能となるので、高精度な回路シミュレーション結果を得ることができる。また、付記４乃至付記６に述べた条件に従って、回路ブロックを形成していくことにより、同時変化入力ノードを持つ回路ブロックを可能な限り減らすことができるので、全体として、回路シミュレーションによって得られる動的な遅延特性について、その精度を向上することができる。
【０１４０】
更に、請求項２の発明を適用すれば、同時変化入力ノードについて、該当する回路ブロックの前段までについて静的タイミング解析を行なうことにより、その入力信号の位相差を極めて精密に推定することが可能であるので、同時変化入力ノードを持つ回路ブロックについて、動的タイミング解析によって得られる解析結果の精度を大幅に向上することができる。
【０１４１】
また、請求項３の発明を適用すれば、解析対象の回路ブロックに接続される後段の回路ブロックについて最大／最小パターンを予め求めておき、この最大／最小パターンを用いて、解析対象の回路ブロックと後段のブロックとからなる拡大された回路ブロックについて回路シミュレーションを行なうことにより、解析対象の回路ブロックの動的な遅延特性を、その後段の回路ブロックの影響をも考慮して、精密に、しかも、迅速に求めることができる。
【０１４２】
また、請求項４の発明を適用すれば、各回路ブロックについての動的タイミング解析の際に、その前段の回路ブロックから得られる出力信号の特徴を反映した近似波形を入力信号波形として用いることが可能であるので、高精度な回路シミュレーション結果を迅速に得ることができる。
また、本発明にかかる第２の遅延特性解析方法によれば、指定された回路ブロックについて、動的タイミング解析処理を再試行し、この解析結果に応じて、この回路ブロックおよびこの回路ブロックからの出力信号による影響を受ける回路ブロックについて、遅延特性ライブラリを再構成することができる。これにより、遅延特性ライブラリが構築された後に、一部の回路ブロックについての回路シミュレーションにおいて、無効パターンが用いられていたことが発見された場合などにも柔軟に対応し、無効パターンを排除したテストパターンを用いて得られた動的な遅延特性を再び登録することにより、遅延特性ライブラリの再構成を行ない、再構成された遅延特性ライブラリを静的タイミング解析処理に供することができる。
【０１４３】
また、本発明にかかる第３の遅延特性解析方法によれば、新たなネットリスト旧ネットリストとの差分について、新たに動的タイミング解析を行ない、この解析結果に基づいて得られた遅延特性と、旧ネットリストについての遅延特性解析過程で得られた遅延特性とを組み合わせることにより、新たなネットリストに対応する遅延特性ライブラリを構成することができる。これにより、旧ネットリストについての遅延特性解析過程で得られた膨大なデータを有効に利用し、必要最小限の処理によって、新たなネットリストの遅延特性解析を行なうことができる。
【図面の簡単な説明】
【図１】本発明にかかる第１の遅延特性解析方法の原理を示す図である。
【図２】本発明にかかる第１の動的タイミング解析手順の原理を示す図である。
【図３】本発明にかかる第２の動的タイミング解析手順の原理を示す図である。
【図４】本発明にかかる第３の動的タイミング解析手順の原理を示す図である。
【図５】本発明にかかる第２の遅延特性解析方法の主要な原理を示す図である。
【図６】本発明にかかる第３の遅延特性解析方法の主要な原理を示す図である。
【図７】本発明にかかる第１の遅延特性解析システムの第１実施形態を示す図である。
【図８】第１の遅延特性解析システムの動作を表す流れ図である。
【図９】回路ブロックを形成する動作を表す流れ図である。
【図１０】回路ブロックを形成する動作を説明する図である。
【図１１】動的解析部および伝送遅延解析部の詳細構成を示す図である。
【図１２】回路ブロックの遅延特性を説明する図である。
【図１３】本発明にかかる動的解析部の第２実施形態を示す図である。
【図１４】動的タイミング解析動作を表す流れ図である。
【図１５】後段の回路ブロックを含めた回路シミュレーションを説明する図である。
【図１６】本発明にかかる動的解析部の第３実施形態を示す図である。
【図１７】動的タイミング解析動作を表す流れ図である。
【図１８】近似波形を説明する図である。
【図１９】本発明にかかる第２の遅延特性解析システムの実施形態を示す図である。
【図２０】動的タイミング解析の再試行および遅延特性ライブラリの再構成動作を表す流れ図である。
【図２１】動的タイミング解析の再試行および遅延特性ライブラリの再構成動作を説明する図である。
【図２２】本発明にかかる第３の遅延特性解析システムの実施形態を示す図である。
【図２３】第３の遅延特性解析システムによる遅延特性解析動作を表す流れ図である。
【図２４】ネットリストの差分を説明する図である。
【図２５】無効なパターンを説明する図である。
【符号の説明】
２００  入出力制御部
２０１  読み込み部
２０２  単位分割部
２０３  ブロック形成部
２０４  入力装置
２０５  解析制御部
２０６  動的解析部
２０７  ライブラリ作成部
２０８  遅延特性ライブラリ
２０９  伝送遅延解析部
２１０  ディスプレイ装置
２１１  単位データ格納部
２１２  結合制御部
２１３  結合処理部
２１４  ブロックデータ格納部
２１５  結合制御部
２２１  シミュレーション制御部
２２２  スイッチレベルシミュレーション部
２２３  構造解析部
２２４  パス抽出部
２２５  パターン生成部
２２６  回路シミュレーション部
２２７  タイミング解析部
２２８  ブロック探索部
２２９  パターン検出部
２３０  パターン合成部
２３１  遅延解析制御部
２３２  パス解析部
２３３  遅延算出部
２３４  波形近似部
２３５  波形再生部
２３６  近似波形ファイル
２３７  再試行制御部
２３８  変分評価部
２３９  解析準備部
２４１  差分抽出部
２４２  解析済みリストファイル
２４３  ブロックデータファイル
２４４  波形データライブラリ
２４５  特性データファイル
２４６  データ統合部
【図１】
0004087572.tif 000002
【図２】
0004087572.tif 000003
【図３】
0004087572.tif 000004
【図４】
0004087572.tif 000005
【図５】
0004087572.tif 000006
【図６】
0004087572.tif 000007
【図７】
0004087572.tif 000008
【図８】
0004087572.tif 000009
【図９】
0004087572.tif 000010
【図１０】
0004087572.tif 000011
【図１１】
0004087572.tif 000012
【図１２】
0004087572.tif 000013
【図１３】
0004087572.tif 000014
【図１４】
0004087572.tif 000015
【図１５】
0004087572.tif 000016
【図１６】
0004087572.tif 000017
【図１７】
0004087572.tif 000018
【図１８】
0004087572.tif 000019
【図１９】
0004087572.tif 000020
【図２０】
0004087572.tif 000021
【図２１】
0004087572.tif 000022
【図２２】
0004087572.tif 000023
【図２３】
0004087572.tif 000024
【図２４】
0004087572.tif 000025
【図２５】
0004087572.tif 000026