(57)【要約】      （修正有）【課題】ジッタを正確に見積もる。【解決手段】回路データに基づいて、複数のセルの各々に供給される電源電圧を供給電圧として算出し、供給電圧データを生成するステップと、複数のセルの各々についてセル遅延量を計算し、セル遅延データを計算するステップと、セル遅延データに基づいて、終点における信号のジッタ値を計算し、ジッタデータを生成するステップとを具備する。セル遅延データを生成するステップは、上段セルに供給される信号の入力波形なまり、及び供給電圧データに基づいて、上段セルのセル遅延量、及び上段セルが出力する信号の出力波形なまりを算出するステップと、上段セルの出力波形なまりを、上段セルの下段に接続された下段セルの入力波形なまりとして設定するステップと、下段セルの入力波形なまり及び供給電圧データに基づいて、下段セルについてのセル遅延量及び出力波形なまりを算出するステップとを備える。【選択図】図３
2011034480.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、回路を示す回路データを取得するステップと、
コンピュータが、前記回路データに基づいて、始点から複数のセルを介して終点に至る信号のパスを、解析対象パスとして設定するステップと、
コンピュータが、前記回路データに基づいて、前記複数のセルの各々に供給される電源電圧を供給電圧として算出し、供給電圧データを生成するステップ、
コンピュータが、前記複数のセルの各々について、前記信号の遅延時間がどれだけであるかを示すセル遅延量を計算し、セル遅延データを計算するステップと、
コンピュータが、前記セル遅延データに基づいて、前記終点における前記信号のジッタ値を計算し、ジッタデータを生成するステップと、
を具備し、
前記セル遅延データを生成するステップは、
前記複数のうちの上段セルに供給される前記信号の波形なまりを示す入力波形なまり、及び前記供給電圧データに基づいて、前記上段セルの前記セル遅延量、及び前記上段セルが出力する前記信号の波形なまりを示す出力波形なまりを算出するステップと、
前記上段セルの出力波形なまりを、前記上段セルの下段に接続された下段セルの入力波形なまりとして設定するステップと、
前記下段セルの入力波形なまり及び前記供給電圧データに基づいて、前記下段セルについての前記セル遅延量及び出力波形なまりを算出するステップとを備える
ジッタ算出方法。
【請求項２】
請求項１に記載されたジッタ算出方法であって、
前記設定するステップは、前記解析対象パスとして、クロック信号のパスを設定するステップを含んでいる
ジッタ算出方法。
【請求項３】
請求項１又は２に記載されたジッタ算出方法であって、
前記セル遅延データを生成するステップは、前記信号の立ち上がり時と前記信号の立下り時とのそれぞれについて、前記セル遅延量を計算するステップを含み、
前記ジッタデータを生成するステップは、前記立ち上がり時と前記立ち下り時それぞれの前記セル遅延量に基づいて、前記立ち上がり時と前記立ち下り時とのそれぞれについて、ジッタ値を計算するステップを含んでいる
ジッタ算出方法。
【請求項４】
請求項１乃至３のいずれかに記載されたジッタ算出方法を、コンピュータにより実現するための、ジッタ算出プログラム。
【請求項５】
回路を示す回路データを取得する回路データ取得手段と、
前記回路データに基づいて、始点から複数のセルを介して終点に至る信号のパスを、解析対象パスとして設定する、パス設定手段と、
前記回路データに基づいて、前記複数のセルの各々に供給される電源電圧を供給電圧として算出し、供給電圧データを生成する、供給電圧算出手段、
前記複数のセルの各々について、信号の遅延時間がどれだけであるかを示すセル遅延量を計算し、セル遅延データを計算する、セル遅延データ生成手段と、
前記セル遅延データに基づいて、前記終点における前記信号のジッタ値を計算し、ジッタデータを生成する、ジッタデータ生成手段と、
を具備し、
前記セル遅延データ生成手段は、前記複数のセルのうちの上段セルに供給される前記信号の波形なまりを示す入力波形なまり及び前記供給電圧データに基づいて、前記セル遅延量及び前記上段セルが出力する前記信号の波形なまりを示す出力波形なまり、を算出し、前記上段セルの出力波形なまりを、前記上段セルの下段に接続された下段セルの入力波形なまりとして設定し、前記下段セルについて、前記入力波形なまり及び前記供給電圧データに基づいて、前記セル遅延量及び出力波形なまり、を算出する
ジッタ算出装置。
【請求項６】
請求項５に記載されたジッタ算出装置であって、
前記パス設定手段は、前記解析対象パスとして、クロック信号のパスを設定する
ジッタ算出装置。
【請求項７】
請求項５又は６に記載されたジッタ算出装置であって、
前記セル遅延データ生成手段は、前記信号の立ち上がり時と前記信号の立下り時とのそれぞれについて、前記セル遅延量を計算し、
前記ジッタデータ生成手段は、前記立ち上がり時と前記立ち下り時それぞれの前記セル遅延量に基づいて、前記立ち上がり時と前記立ち下り時とのそれぞれについて、ジッタ値を計算する
ジッタ算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジッタ算出装置、ジッタ算出方法、及びジッタ算出プログラムに関する。
【背景技術】
【０００２】
近年、半導体集積回路では、レイアウトの微細化、回路動作の高速化、及び供給電圧の低電圧化が進んでいる。これにより、タイミング検証時におけるマージンが少なくなっている。タイミング制約が厳しくなるに従い、より高精度で設計を行うことが要求されている。特に、電源配線における電圧降下の影響により、回路動作の遅れやバラツキが大きくなってきている。そのため、クロック信号のゆれ（クロックジッタという）による誤動作のリスクが高まっている。従って、クロックジッタの大きさを精度よく見積もることが望まれている。
【０００３】
半導体集積回路の設計を行う場合、設計対象回路は、複数のセルにより表現される。複数のセルの各々は、予め定められた素子を示す。クロックジッタを見積もる場合には、まず、解析対象となるパスが設定される。設定されるパスは、クロック供給源からクロック供給先に至るパスである。
【０００４】
パスには、複数のセルが含まれることがある。すなわち、クロック信号は、複数のパスを介して、クロック供給先に供給されることがある。クロック信号の伝播時間（遅延時間）は、複数のセルそれぞれに供給される電源電圧（以下、供給電圧という）の大きさにより、変動する。各セルへの供給電圧は、時間とともに変動することがある。従って、供給電圧の変動により、遅延時間が変動することがある。そのため、供給電圧の変動量に基づいて、クロックジッタを見積もることが考えられる。
【０００５】
関連技術として、特許文献１（特開２００６−２７７５５７号公報）に記載されたクロックジッタ算出装置が挙げられる。このクロックジッタ算出装置は、クロック信号の伝達経路を構成する各セルへの電源の供給電圧における、所定の時間の範囲での変動を算出する供給電圧解析手段と、上記供給電圧の変動に応じた上記各セルの遅延時間の変動を算出する遅延時間変動算出手段と、上記遅延時間の変動に基づいて、上記伝達経路を介して伝達されるクロック信号のジッタの大きさを算出するジッタ算出手段とを備える。
【０００６】
また、他の関連技術として、特許文献２（特開２０００−３０５９６６号公報）に記載された遅延情報生成システムが挙げられる。この公報には、実行負荷容量と入力波形なまりとをキーにして、他入力セルの全てのパスのセル遅延を取得することが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２７７５５７号公報
【特許文献２】特開２０００−３０５９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、クロックジッタの大きさは、供給電圧の変動だけに依存するわけではない。各セルにおける遅延時間は、各セルに供給されるクロック信号（入力信号）の波形なまりにも依存する。また、各セルが出力するクロック信号（出力信号）は、そのセルの下段に配置されたセルに入力信号として供給される。ここで、各セルにおいて、出力信号の波形なまりは、入力信号の波形なまりに依存する。従って、クロック信号の波形なまりは、各セルを通過するたびに、連鎖的に変化する。これにより、各セルの遅延時間が入力信号の波形なまりによって受ける影響の度合いも、連鎖的に変化する。
【０００９】
また、各セルが出力するクロック信号（出力信号）の波形なまりは、各セルの供給電圧の大きさにも依存する。
【００１０】
特許文献１（特開２００６−２７７５５７号公報）及び特許文献２（特開２０００−３０５９６６号公報）に記載された技術では、各セルにおける遅延時間が入力信号の波形に依存することは考慮されていない。また、各セルの出力信号の波形なまりが供給電圧に依存する点についても、考慮されていない。従って、ジッタを正確に見積もることができない、という問題点があった。
【課題を解決するための手段】
【００１１】
本発明に係るジッタ算出方法は、回路を示す回路データを取得するステップと、前記回路データに基づいて、始点から複数のセルを介して終点に至る信号のパスを、解析対象パスとして設定するステップと、前記回路データに基づいて、前記複数のセルの各々に供給される電源電圧を供給電圧として算出し、供給電圧データを生成するステップと、前記複数のセルの各々について、前記信号の遅延時間がどれだけであるかを示すセル遅延量を計算し、セル遅延データを計算するステップと、前記セル遅延データに基づいて、前記終点における前記信号のジッタ値を計算し、ジッタデータを生成するステップとを具備する。前記セル遅延データを生成するステップは、前記複数のセルからのうちの上段セルに供給される前記信号の波形なまりを示す入力波形なまり及び前記供給電圧データに基づいて、前記セル遅延量及び前記上段セルが出力する前記信号の波形なまりを示す出力波形なまりを算出するステップと、前記上段セルの出力波形なまりを、前記上段セルの下段に接続された下段セルの入力波形なまりとして設定するステップと、前記下段セルの入力波形なまり及び前記供給電圧データに基づいて、前記下段セルについての前記セル遅延量及び出力波形なまりを算出するステップとを備える。
【００１２】
本発明に係るジッタ算出プログラムは、上述のジッタ算出方法を、コンピュータにより実現するためのプログラムである。
【００１３】
本発明に係るジッタ算出装置は、回路を示す回路データを取得する回路データ取得手段と、前記回路データに基づいて、始点から複数のセルを介して終点に至る信号のパスを、解析対象パスとして設定する、パス設定手段と、前記回路データに基づいて、前記複数のセルの各々に供給される電源電圧を供給電圧として算出し、供給電圧データを生成する、供給電圧算出手段、前記複数のセルの各々について、前記信号の遅延時間がどれだけであるかを示すセル遅延量を計算し、セル遅延データを計算する、セル遅延データ生成手段と、前記セル遅延データに基づいて、前記終点における前記信号のジッタ値を計算し、ジッタデータを生成する、ジッタデータ生成手段とを具備する。前記セル遅延データ生成手段は、前記複数のセルのうちの上段セルに供給される前記信号の波形なまりを示す入力波形なまり及び前記供給電圧データに基づいて、前記セル遅延量及び前記上段セルが出力する前記信号の波形なまりを示す出力波形なまり、を算出する。前記上段セルの出力波形なまりを、前記上段セルの下段に接続された下段セルの入力波形なまりとして設定する。前記下段セルについて、前記入力波形なまり及び前記供給電圧データに基づいて、前記セル遅延量及び出力波形なまり、を算出する。
【発明の効果】
【００１４】
本発明によれば、ジッタを正確に見積もることのできる、ジッタ算出方法、ジッタ算出装置、及びジッタ算出プログラムが提供される。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係るジッタ算出システムを示す概略図である。
【図２】パスの一例を示す概略図である。
【図３】第１の実施形態におけるジッタ算出装置及び記憶装置を示す機能ブロック図である。
【図４】遅延テーブルを示す概念図である。
【図５】入力信号の波形の一例を示す概略図である。
【図６】ジッタ算出装置の動作方法を示すフローチャートである。
【図７】セル遅延データ生成部の動作を説明するための説明図である。
【図８】比較例で得られるセル遅延時間を示す概念図である。
【図９】第２の実施形態で求められるクロックジッタを説明するための説明図である。
【図１０】第２の実施形態におけるジッタ算出装置及び記憶装置を示す機能ブロック図である。
【図１１】各セルに供給されるクロック信号の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照しつつ、本発明の実施形態について説明する。
【００１７】
（第１の実施形態）
図１は、第１の実施形態に係るジッタ算出システムを示す概略図である。このジッタ算出システムは、処理装置（ジッタ算出装置１）、記憶装置２、キーボード３、マウス４、及び表示装置５を備えている。ジッタ算出装置１は、メモリ（例えば、ＲＯＭ；ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＡＭ；ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）及びＣＰＵなどを備えるコンピュータにより実現される。キーボード３及びマウス４は、ユーザからの指示をジッタ算出装置１に伝えるために設けられている。表示装置５は、ＣＲＴ、及びＬＣＤ等のディスプレイ装置である。表示装置５は表示画面を備えており、ジッタ算出装置１からのユーザに対する通知等をその表示画面に表示する。記憶装置２は、ハードディスク装置などに例示され、ジッタ算出装置１によって使用される情報を記憶している。
【００１８】
ジッタ算出装置１は、解析対象回路を示す回路データに基づいて、解析対象回路におけるクロックジッタを算出する装置である。回路データ中において、解析対象回路は、多数のセルによって表現されている。解析対象回路では、クロック源（始点）においてクロック信号が生成される。クロック信号は、クロック源から、クロック供給先（終点）に供給される。ジッタ算出装置１は、クロックジッタを算出する。ここで、本実施形態において、クロックジッタとは、クロック信号のスイッチングタイミング（異なる論理レベルに遷移するタイミング）が、理想的なタイミングからどれだけずれるかを示す値であるものとする。
【００１９】
クロック信号の伝達経路は、パスと呼ばれる。図２は、パスの一例を示す概略図である。図２に示されるパスには、４つのセル（ＢＵＦ１〜ＢＵＦ４）が含まれている。すなわち、クロック信号は、クロック供給源から、ＢＵＦ１〜ＢＵＦ４を介して、クロック供給先に供給される。また、各セルには、図示しない電源配線を介して、電源電圧が供給される。各セルは、電源電圧により、駆動される。図２に示される例では、ＢＵＦ１〜４に、電源電圧Ｖｄｄとして、それぞれ、１．２、１．１、１．０、及び１．２Ｖが供給される。
【００２０】
図３は、ジッタ算出装置１及び記憶装置２を示す機能ブロック図である。図３に示されるように、ジッタ算出装置１は、記憶装置２にアクセス可能に接続されている。
【００２１】
まず、記憶装置２に格納されている情報について説明する。記憶装置２は、回路データ格納部２１、及び遅延テーブル格納部２２を備えている。
【００２２】
回路データ格納部２１には、解析対象である回路を特定する回路データが格納されている。回路データでは、解析対象回路が、多数のセルによって表現されている。
【００２３】
具体的には、回路データ格納部２１には、レイアウト情報、トグル情報、タイミング情報、及びライブラリ情報が格納されている。レイアウト情報は、解析対象回路に含まれるセルの接続関係、各セルの配置位置、電源配線のトポロジー、及び電源配線幅などを示す情報である。トグル情報は、解析対象回路におけるトグル率を示す情報である。タイミング情報は、クロック信号の周波数、各セルのスイッチングのタイミング、及び各セルを制御するクロック信号を特定する情報、などを含んでいる。ライブラリ情報は、各セルにおける消費電流を求めるために用いられる情報である。ライブラリ情報は、例えば、各セルの種類、各セルに供給される入力信号のレベル、その入力信号の遷移時間、及び各セルが出力する出力信号の負荷容量の対応関係を示す情報、等を含んでいる。
【００２４】
続いて、遅延テーブル格納部２２について説明する。遅延テーブル格納部２２には、遅延テーブルが格納されている。図４は、遅延テーブルを示す概念図である。図４に示されるように、遅延テーブルは、入力波形なまり、供給電圧、セル遅延時間（セル遅延量）、及び出力波形なまりの対応関係を示している。
【００２５】
入力波形なまりは、各セルに供給されるクロック信号（以下、入力信号）の波形なまりを示す。図５は、入力信号の波形の一例を示す概略図である。図５において、横軸は時間であり、縦軸は信号の電圧である。この信号は、理想的には、矩形波であるものとする。この場合、入力波形なまりとして、例えば、信号の電圧が異なるレベルに遷移するのに要する時間Δｔ１を用いることができる。
【００２６】
再び、図４を参照する。供給電圧は、各セルに供給される電源電圧の値を示す。
【００２７】
セル遅延時間は、クロック信号が各セルを通過するのに要する時間を示す値である。
【００２８】
出力波形なまりは、各セルから出力されるクロック信号（以下、出力信号）の波形なまりを示している。出力波形なまりも、入力波形なまりと同様に、例えば、信号の電圧が異なるレベルに遷移するまでに要する時間により、表現される。
【００２９】
上述の遅延テーブルは、例えば、回路シミュレーション及び実測などにより、予め用意される。遅延テーブルは、解析対象回路に含まれる代表的なセル（使用頻度が高いセル、遅延時間が平均的なレベルであるセル、など）についての値を示していることが好ましい。若しくは、セルの種類毎に、遅延テーブルが用意されていてもよい。
【００３０】
続いて、ジッタ算出装置１の構成について具体的に説明する。図３に示されるように、ジッタ算出装置１は、回路データ取得部６、供給電圧算出部７、パス設定部８、セル遅延データ生成部９、及びジッタデータ生成部１０を備えている。これらは、ＲＯＭなどの記憶媒体に格納されたジッタ算出プログラムがＣＰＵによって実行されることにより、実現される。
【００３１】
回路データ取得部６は、回路データ格納部２１から、回路データを取得する。
【００３２】
供給電圧算出部７は、回路データに基づいて、解析対象回路中に含まれる各セルに供給される電源電圧を、供給電圧として算出する。供給電圧算出部は、各セルの供給電圧を示す供給電圧データを生成する。
【００３３】
パス設定部８は、回路データに基づいて、クロックジッタの算出対象となるパスを、解析対象パスとして設定する。パス設定部８は、解析対象パスを示すパスデータを生成する。
【００３４】
セル遅延データ生成部９は、パスデータ及び供給電圧データに基づいて、信号の遅延時間がどれだけであるかを示すセル遅延量を求める。本実施形態では、セル遅延量として、セル遅延時間そのものが求められる。セル遅延時間は、解析対象パスに含まれる各セルについて、求められる。セル遅延データ生成部９は、遅延テーブル格納部２２を参照することにより、セル遅延時間を求める。セル遅延データ生成部９は、各セルのセル遅延時間を示す、セル遅延データを生成する。
【００３５】
ジッタデータ生成部１０は、セル遅延データに基づいて、セル遅延時間変動量を算出する。セル遅延時間変動量は、各セルのセル遅延時間が予め定められた基準値からどれだけずれるかを示す値である。ここで、基準値としては、別途用意される値が用いられる。例えば、ジッタデータ生成部１０は、基準となる入力波形なまり（基準入力波形なまり）及び基準となる供給電圧（基準供給電圧）を取得する。そして、遅延テーブルを参照し、取得した基準入力波形なまり及び基準供給電圧に対応するセル遅延時間を、基準値として取得する。基準入力波形なまり及び基準供給電圧は、例えば、ユーザがキーボード等を介してコンピュータに入力することにより、与えられる。更に、ジッタデータ生成部１０は、セル遅延時間変動量に基づいて、最終的なクロック信号の供給タイミング（クロック供給先におけるクロック信号の供給タイミング）が理想的なタイミングからどれだけずれるかを計算し、クロックジッタを示すジッタデータとして出力する。尚、理想的なタイミングとは、例えば、解析対象パスに含まれる全てのセルにおいて、セル遅延時間が基準値に一致していた場合のタイミングを示す。
【００３６】
続いて、本実施形態に係るジッタ算出装置１の動作方法について説明する。図６は、ジッタ算出装置１の動作方法を示すフローチャートである。
【００３７】
ステップＳ１０；回路データ取得
まず、回路データ取得部６が、回路データ格納部２１から、回路データを取得する。
【００３８】
ステップＳ２０；供給電圧の計算
次いで、供給電圧算出部７が、回路データに基づいて、各セルに供給される電源電圧を、供給電圧として計算する。供給電圧算出部７は、セル毎に供給電圧を示す、供給電圧データを生成する。図２に示した例であれば、セル（ＢＵＦ１）の供給電圧として、１．２Ｖが計算される。また、セル（ＢＵＦ２）の供給電圧として、１．１Ｖが計算される。セル（ＢＵＦ３）の供給電圧として、１．０Ｖが計算される。セル（ＢＵＦ４）の供給電圧として、１．２Ｖが計算される。
【００３９】
ステップＳ３０；パス設定
次いで、パス設定部８が、回路データに基づいて、解析対象パスを決定する。パス設定部８は、解析対象パスを示すパスデータを生成する。
【００４０】
ステップＳ４０；セル遅延データの生成
次いで、セル遅延データ生成部９が、以下のステップＳ４１〜Ｓ４３の処理によって、解析対象パスに含まれる各セルのセル遅延時間を求める。ここで、以下に記載されるように、セル遅延時間は、初段セル（クロック信号が最初に供給されるセル）から順に、求められていく。
【００４１】
（ステップＳ４１；入力波形なまりの設定）
セル遅延データ生成部９は、セル遅延時間を算出する対象のセル（算出対象セル；下段セル）に関して、入力波形なまりを設定する。入力波形なまりとしては、算出対象セルの上段に配置されたセル（上段セル）の出力波形なまりが用いられる。尚、算出対象セルが初段セルである場合には、入力波形なまりとして、予め定められた初期値が用いられる。
【００４２】
（ステップＳ４２；セル遅延時間及び出力波形なまりの算出）
次いで、セル遅延データ生成部９は、供給電圧データ及び入力波形なまりに基づいて、算出対象セルのセル遅延時間及び出力波形なまりを求める。セル遅延データ生成部９は、遅延テーブルを参照し、供給電圧及び入力波形なまりに対応する値を取得することにより、セル遅延時間及び出力波形なまりを求める。算出された出力波形なまりは、次段に配置されたセルについてセル遅延時間を算出する際に、用いられる。
【００４３】
（ステップＳ４３；全セルについて算出終了？）
次いで、セル遅延データ生成部９は、解析対象パスに含まれる全てのパスについて、セル遅延時間が求められたか否かを判定する。全てのパスについてセル遅延時間が求められていた場合には、各セルの遅延時間を示すセル遅延データが生成され、次のステップＳ５０の処理が実行される。一方、セル遅延時間が求められていないセルが存在する場合には、次段のセルが算出対象セルに設定され、ステップＳ４１以降の処理が繰り返される。
【００４４】
ステップＳ４０における処理の具体例を、図７を参照して説明する。図７は、セル遅延データ生成部９の動作を説明するための説明図である。また、解析対象パスとしては、図２に示したパスが与えられているものとする。
【００４５】
まず、初段セル（ＢＵＦ１）について、入力波形なまりとして、予め定められた初期値１．０ｎｓという値が与えられる。また、供給電圧データに基づいて、ＢＵＦ１に供給される供給電圧として、１．２Ｖという値が求められる。セル遅延データ生成部９は、遅延テーブルを参照することにより、入力波形なまり（１．０ｎｓ）及び供給電圧（１．２Ｖ）に対応する、セル遅延時間及び出力波形なまりを求める。遅延テーブルとして図４に示されるテーブルが用意されていた場合には、ＢＵＦ１のセル遅延時間として１．０ｐｓという値が得られ、出力波形なまりとして１．０ｎｓという値が得られることになる。
【００４６】
次に、セル遅延データ生成部９は、２段目のセル（ＢＵＦ２）について、セル遅延時間及び出力波形なまりを求める。この際、ＢＵＦ２の入力波形なまりとしては、ＢＵＦ１の出力波形なまりが用いられる。すなわち、入力波形なまりとして、１．０ｎｓという値が設定される。更に、供給電圧データに基づいて、ＢＵＦ２に供給される供給電圧として、１．１Ｖという値が得られる。セル遅延データ生成部９は、入力波形なまり及び供給電圧に基づいて、セル遅延時間（１．１ｐｓ）及び出力波形なまり（１．３ｎｓ）を求める。
【００４７】
以下、同様にして、全てのセル（ＢＵＦ１〜ＢＵＦ４）について、セル遅延時間及び出力波形なまりが求められる。このようにして求められたセル遅延時間には、クロック信号の波形が各セルを通過するたびに変化する点が、反映されている。また、波形なまりが供給電圧に依存する点も、反映されている。すなわち、各セルにおけるセル遅延時間は、精度よく求められている。
【００４８】
ステップＳ５０；クロックジッタの算出
続いて、ジッタデータ生成部１０が、ステップＳ４０で生成されたセル遅延データに基づいて、クロックジッタを算出する。この際、ジッタデータ生成部１０は、基準値情報格納部２３を参照することにより、クロックジッタを算出する。そして、クロックジッタを示すジッタデータを生成し、出力する。具体的には、ジッタデータ生成部１０は、各セルについて、セル遅延時間変動量を求める。既述のように、遅延時間変動量は、セル遅延時間と予め定められた基準値との差を示す。そして、解析対象パスに含まれる複数のセルについて、遅延時間変動量の和を計算する。この計算結果を、クロックジッタとして出力する。
【００４９】
セル遅延時間変動量は、「セル遅延時間−基準値」という計算式により、求められる。セル遅延データとして、図７に示されるデータが与えられたものとする。また、各セルの基準値として、入力波形なまりが１．０ｎｓであり供給電圧が１．２Ｖであるときのセル遅延時間（１．０ｐｓ）という値が設定されたとする。この場合、ＢＵＦ１のセル遅延時間は１．０ｐｓであるため、セル遅延時間変動量は、０ｐｓである。一方、ＢＵＦ２では、セル遅延時間が１．１ｐｓである。従って、「セル遅延時間１．１−基準値１．０」という計算により、セル遅延時間変動量として、０．１ｐｓという値が得られる。同様にして、ＢＵＦ３のセル遅延時間変動量として、０．３ｐｓという値が求められる。ＢＵＦ４のセル遅延時間変動量として、０．３ｐｓという値が求められる。クロックジッタとしては、セル遅延時間変動量の合計（０＋０．１＋０．３＋０．３＝０．７）を計算することにより、０．７ｐｓという値が求められる。
【００５０】
以上説明したように、本実施形態によれば、各セルにおける入力信号の波形なまりがセル遅延時間に影響を与える点、各セルを通過するたびに入力信号の波形なまりが変化する点、及び供給電圧に応じて波形なまりが変化する点が、セル遅延時間に反映されている。従って、セル遅延時間を精度よく見積もることができる。そのため、クロックジッタを精度よく算出することができる。
【００５１】
本実施形態との比較のために、波形なまりを考慮しないでセル遅延時間が求められる場合の例について説明する。図８は、比較例で得られるセル遅延時間を示す概念図である。解析対象パスとして、図２に示したパスが与えられたものとする。この例の場合、ＢＵＦ１のセル遅延時間としては、供給電圧（＝１．２Ｖ）に基づいて、１．０ｐｓという値が計算される。ＢＵＦ２のセル遅延時間として、供給電圧（＝１．１Ｖ）に基づいて、１．１ｐｓという値が計算される。ＢＵＦ３のセル遅延時間として、供給電圧（＝１．０Ｖ）に基づいて、１．２ｐｓという値が計算される。ＢＵＦ４のセル遅延時間として、供給電圧（＝１．２Ｖ）に基づいて、１．０ｐｓという値が計算される。このように、比較例では、各セルにおけるセル遅延時間が、本実施形態における値と異なっている。すなわち、比較例では、入力波形なまり、及び各セルを通過するたびに入力波形なまり変化する点、がセル遅延時間に反映されていない。従って、本実施形態と比較すると、クロックジッタを精度よく見積もることが困難であることがわかる。
【００５２】
尚、本実施形態では、解析対象パスがクロック信号のパスである場合について説明した。すなわち、本実施形態におけるジッタデータ生成部１０は、ジッタとして、クロックジッタを算出する。但し、解析対象パスは必ずしもクロック信号のパスである必要はない。本実施形態に係るジッタ算出装置１は、クロック信号とは別の信号についてのジッタ値を算出するように構成されていてもよい。
【００５３】
また、本実施形態では、各セルについて、セル遅延量として、セル遅延時間が求められる場合について説明した。但し、必ずしも、セル遅延量としてセル遅延時間そのものが用いられる必要はない。セル遅延時間が反映されたパラメータであれば、セル遅延量として、他のパラメータが用いられてもよい。例えば、セル遅延量として、「セル遅延時間÷基準値」で表されるパラメータ（セル遅延値）が用いられてもよい。この場合には、遅延テーブルにおいて、セル遅延時間に代えてセル遅延値が格納されていればよい。
【００５４】
また、本実施形態では、ジッタデータ生成部１０が、遅延時間変動量の合計により、クロックジッタを算出する。しかし、クロックジッタの算出方法としては、別の方法が用いられてもよい。例えば、クロックジッタが、「遅延時間変動量の二乗和の平方根」という計算式により、求められてもよい。
【００５５】
（第２の実施形態）
続いて、第２の実施形態について説明する。クロック信号の波形なまりは、ＲＩＳＥ時（低いレベルから高いレベルに遷移するとき）と、ＦＡＬＬ（高いレベルから低いレベルに遷移するとき）とで、異なることがある。ＲＩＳＥ時の波形なまりとＦＡＬＬ時の波形なまりとは、特性が異なることがある。すなわち、ＲＩＳＥ時の波形なまりが遅延時間などに与える影響と、ＦＡＬＬ時の波形なまりが遅延時間などに与える影響とは、異なる場合がある。そこで、本実施形態では、波形なまりとして、ＲＩＳＥ時の波形なまりとＦＡＬＬ時の波形なまりとが別々に与えられる。そして、ＲＩＳＥ時のセル遅延時間とＦＡＬＬ時のセル時間とが、別々に求められる。更に、ＲＩＳＥ時のクロックジッタとＦＡＬＬ時のクロックジッタとが、別々に求められる。これにより、ＲＩＳＥ時のクロックジッタとＦＡＬＬ時のクロックジッタとを定量的に分離することができ、クロックジッタをより精度よく見積もることが可能になる。
【００５６】
図９は、本実施形態で求められるクロックジッタを説明するための説明図である。図９において、横軸は時間、縦軸は電圧を示している。図９に示されるように、クロック信号がロウレベルからハイレベルに遷移するタイミングと、理想的なタイミング（ＲＩＳＥ）とのずれが、ＲＩＳＥ時のクロックジッタとして求められる。また、クロック信号がハイレベルからロウレベルに遷移するタイミングと、理想的なタイミング（ＦＡＬＬ）とのずれが、ＦＡＬＬ時のクロックジッタとして求められる。その他の点については、第１の実施形態と同様とすることができるので、詳細な説明は省略する。
【００５７】
図１０は、ジッタ算出装置１及び記憶装置２を示す機能ブロック図である。本実施形態では、遅延テーブル格納部２２に、ＲＩＳＥ遅延テーブル２２−１及びＦＡＬＬ遅延テーブル２２−２が格納されている。ＲＩＳＥ遅延テーブル２２−１には、ＲＩＳＥ時について、入出力波形なまり、供給電圧、セル遅延時間、及び出力波形なまりの対応関係が記載されている。ＦＡＬＬ遅延テーブル２２−２には、ＦＡＬＬ時について、入出力波形なまり、供給電圧、セル遅延時間、及び出力波形なまりの対応関係が記載されている。図１１は、各セルに供給されるクロック信号の一例を示す図である。図１１において、横軸は時間を示し、縦軸は電圧を示している。ＲＩＳＥ遅延テーブル２２−１では、入力波形なまりとして、ロウレベルからハイレベルに遷移する際の波形なまり（ΔｔＲＩＳＥ）が用いられる。ＦＡＬＬ遅延テーブル２２−２では、入力波形なまりとして、ハイレベルからロウレベルに遷移する際の波形なまり（ΔｔＦＡＬＬ）が用いられる。
【００５８】
本実施形態では、セル遅延データ生成部９は、上段のセルの出力波形なまりを、ＲＩＳＥ時とＦＡＬＬ時とのそれぞれについて求める。これにより、ＲＩＳＥ波形なまりデータ及びＦＡＬＬ波形なまりデータが生成される。そして、ＲＩＳＥ波形なまりデータ及びＦＡＬＬ波形なまりデータに基づいて、下段セルのセル遅延時間が、ＲＩＳＥ時とＦＡＬＬ時それぞれについて求められる。同様に、下段セルの出力波形なまりも、ＲＩＳＥ時とＦＡＬＬ時それぞれについて、求められる。すなわち、各セルのセル遅延時間は、ＲＩＳＥ時とＦＡＬＬ時それぞれについて、求められる。そして、ジッタデータ生成部１０は、ＲＩＳＥ時とＦＡＬＬ時とのそれぞれについて、クロックジッタを求める。ここで、セル内にインバータなどの反転回路が含まれている場合には、入力信号のＲＩＳＥ時の波形が、出力信号のＦＡＬＬ時の波形に対応することになる。同様に、入力信号のＦＡＬＬ時の波形は、出力信号のＲＩＳＥ時の波形に対応することになる。そこで、セル遅延データ生成部９は、上段セルに反転回路が含まれていた場合には、下段セルのセル遅延時間及び出力波形なまりを計算する際に、参照する遅延テーブル（ＲＩＳＥ遅延テーブル又はＦＡＬＬ遅延テーブル）を変更する。例えば、初段から上段セルまでについては、ＲＩＳＥ遅延テーブルを利用してセル遅延時間及び出力波形なまりを求めたとする。そして、上段セルに反転回路が含まれていたとする。この場合には、下段セルのセル遅延時間及び出力波形なまりが、ＦＡＬＬ遅延テーブルを使用して、求められる。このような動作により、クロック信号が反転回路を通過する場合であっても、ＲＩＳＥ時のクロックジッタとＦＡＬＬ時のクロックジッタとを正確に見積もることが可能になる。
【００５９】
本実施形態によれば、ＲＩＳＥ時とＦＡＬＬ時とのそれぞれについてクロックジッタが精度よく求められる。これにより、クロックジッタをより精度よく検証することが可能になる。
【００６０】
以上、本発明について、第１及び第２の実施形態を挙げて説明した。尚、これらの実施形態は互いに独立するものではなく、矛盾のない範囲内で組み合わせて使用することも可能である。
【符号の説明】
【００６１】
１  ジッタ算出装置
２  記憶装置
３  キーボード
４  マウス
５  表示装置
６  回路データ取得部
７  供給電圧算出部
８  パス設定部
９  セル遅延データ生成部
１０  ジッタデータ生成部
２１  回路データ格納部
２２  遅延テーブル格納部
【図１】
2011034480.tif 000003
【図２】
2011034480.tif 000004
【図３】
2011034480.tif 000005
【図４】
2011034480.tif 000006
【図５】
2011034480.tif 000007
【図６】
2011034480.tif 000008
【図７】
2011034480.tif 000009
【図８】
2011034480.tif 000010
【図９】
2011034480.tif 000011
【図１０】
2011034480.tif 000012
【図１１】
2011034480.tif 000013