(57)【要約】【課題】クロックジッターの最悪値を短時間で算出する。【解決手段】動作シナリオ情報のうち選択されたクロックドメイン以外のクロックドメインに属する素子を停止状態とすることにより、ドメイン動作シナリオを作成する。次に、ドメイン動作シナリオを用いて、選択されたクロックドメインで用いられるクロックの１〜数周期の期間について電源ノイズ解析を行い、ドメイン電源ノイズ波形を取得する。次に、ドメイン電源ノイズ波形を繰り返し接続することで周期的な波形を作成し、この周期的な波形の一部を停止することでクロックパスを流れるクロックの周期以上のノイズ停止期間を有する加工ドメイン電源ノイズ波形を取得する。次に、複数のクロックドメインの各々の加工ドメイン電源ノイズ波形を重ね合わせ、それによって得られた電源ノイズ波形を元に、クロックパスを流れるクロックのジッターを算出する。【選択図】図１
2011248843.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロックドメインを有する半導体集積回路内のクロックパスを流れるクロックのジッターを解析するクロックジッター解析方法であって、
前記複数のクロックドメインの中から１つのクロックドメインを選択し、
前記半導体集積回路内の各素子について出力信号が遷移するタイミング及び遷移する方向を示す動作シナリオ情報のうち、選択された前記クロックドメイン以外のクロックドメインに属する素子を停止状態とすることにより、ドメイン動作シナリオを作成し、
前記ドメイン動作シナリオを用いて、選択された前記クロックドメインで用いられるクロックの１〜数周期の期間について電源ノイズ解析を行うことにより、選択された前記クロックドメインのみが動作することにより発生するドメイン電源ノイズ波形を取得し、
前記ドメイン電源ノイズ波形を繰り返し接続することで周期的な波形を作成し、前記周期的な波形の一部を停止することで前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する加工ドメイン電源ノイズ波形を取得し、
前記複数のクロックドメインの各々について得られた前記加工ドメイン電源ノイズ波形を重ね合わせることにより、前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する電源ノイズ波形を作成し、
前記電源ノイズ波形を用いて、前記クロックパスを流れるクロックのジッターを算出する、
ことを特徴とするクロックジッター解析方法。
【請求項２】
前記周期的な波形の長さは、前記複数のクロックドメインの各クロックの周期の最小公倍数よりも大きいことを特徴とする請求項１に記載のクロックジッター解析方法。
【請求項３】
前記加工ドメイン電源ノイズ波形は、
前記クロックパスを流れるクロックの周期以上のノイズ停止期間、及び前記クロックパスを流れるクロックの周期と遅延量の和以上のノイズ発生期間が連続する第１の部分波形と、
前記クロックパスを流れるクロックの周期と遅延量の和の２倍以上のノイズ発生期間からなる第２の部分波形と、
を含むことを特徴とする請求項１又は２に記載のクロックジッター解析方法。
【請求項４】
請求項１乃至３のいずれかに記載のクロックジッター解析方法をコンピュータに実行させるためのクロックジッター解析プログラム。
【請求項５】
請求項４に記載のクロックジッター解析プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項６】
複数のクロックドメインを有する半導体集積回路内のクロックパスを流れるクロックのジッターを算出するクロックジッター解析装置であって、
複数のクロックドメインの中から１つのクロックドメインを選択する、クロックドメイン選択部と、
前記半導体集積回路内の各素子について出力信号が遷移するタイミング及び遷移する方向を示す動作シナリオ情報のうち、選択された前記クロックドメイン以外のクロックドメインに属する素子を停止状態とすることにより、ドメイン動作シナリオを作成する、ドメイン動作シナリオ作成部と、
前記ドメイン動作シナリオを用いて、選択された前記クロックドメインで用いられるクロックの１〜数周期の期間について電源ノイズ解析を行うことにより、選択された前記クロックドメインのみが動作することにより発生するドメイン電源ノイズ波形を取得する、電源ノイズ解析部と、
前記ドメイン電源ノイズ波形を繰り返し接続することで周期的な波形を作成し、前記周期的な波形の一部を停止することで前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する加工ドメイン電源ノイズ波形を作成する、電源ノイズ波形加工部と、
前記複数のクロックドメインの各々について得られた前記加工ドメイン電源ノイズ波形を重ね合わせることにより、前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する電源ノイズ波形を作成する、電源ノイズ波形重ね合わせ部と、
前記電源ノイズ波形を用いて、前記クロックパスを流れるクロックのジッターを算出する、クロックジッター算出部と、
を備えることを特徴とするクロックジッター解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、クロックジッター解析方法、該クロックジッター解析方法を実行する装置、該クロックジッター解析方法をコンピュータに実行させるためのプログラム、及び該プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、半導体集積回路（以下、単に「回路」ともいう。）の微細化・高速化がますます進展しており、それに伴って、電源ノイズが回路動作に与える影響が大きくなっている。電源ノイズは、例えば、デジタル回路素子（以下、単に「素子」という。）が動作する際、複数の素子に共通に接続された電源線や接地線において発生する電圧降下に起因する。素子に印加される電圧が電源ノイズにより変動することで素子の動作速度が変化し、その結果、素子から構成されるクロックパスを通過するクロックにジッター（クロックジッターという。）が発生する。クロックジッターにはさまざまな種類があるが、このうち例えば周期ジッターと呼ばれるクロックジッターは、あるクロック（第１のクロック）が半導体集積回路内のクロックパスを通過する時間と、次のクロック（第２のクロック）がクロックパスを通過する時間との差で決まる。他のクロックジッターも、周期ジッターと同様に、クロックパスを通過する時間が変動した場合に悪化する。
【０００３】
このように電源ノイズにより発生するクロックジッターは、意図しないタイミング違反の原因となる。したがって、回路の誤動作を防ぐために、クロックジッター、特にクロックジッターの最悪値を予め考慮してタイミング設計を行う必要がある。
【０００４】
また、半導体集積回路と外部の半導体装置との接続仕様（例えば、ＤＤＲ等のメモリインタフェース）の一つとして、クロックジッターの最悪値が規定されていることが多い。
【０００５】
よって、クロックジッターの最悪値を設計の段階で把握することが重要である。
【０００６】
クロックジッターの算出は、一般的に、電源ノイズ解析と、その結果を用いて行うクロックジッター解析との２ステップからなる。このうち、電源ノイズ解析は、複数のクロックドメインを含む大規模な半導体集積回路の全体を対象とするため、非常に長い計算時間を要する。一方、クロックジッター解析は、ジッター解析対象のクロックパスに含まれる素子から構成される回路のみを対象として行えばよいため、電源ノイズ解析に比べてはるかに短時間で完了する。したがって、クロックジッターの計算時間のうち、電源ノイズ解析に要する時間がそのほとんどを占める。
【０００７】
クロックジッターが最悪値となるのは、回路の動作時間のうちのわずかな時間に過ぎない。よって、クロックジッターの最悪値を算出するには、長期間にわたって回路の電源ノイズ解析を行う必要があるが、計算時間が莫大となり、現実的ではなかった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−２８９０６２号公報
【特許文献２】特開２００９−２８２９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
クロックジッターの最悪値を短時間で算出する。
【課題を解決するための手段】
【００１０】
本実施形態に係るクロックジッター解析方法は、複数のクロックドメインを有する半導体集積回路内のクロックパスを流れるクロックのジッターを解析する方法である。まず、前記複数のクロックドメインの中から１つのクロックドメインを選択する。次に、前記半導体集積回路内の各素子について出力信号が遷移するタイミング及び遷移する方向を示す動作シナリオ情報のうち、選択された前記クロックドメイン以外のクロックドメインに属する素子を停止状態とすることにより、ドメイン動作シナリオを作成する。次に、前記ドメイン動作シナリオを用いて、選択された前記クロックドメインで用いられるクロックの１〜数周期の期間について電源ノイズ解析を行うことにより、選択された前記クロックドメインのみが動作することにより発生するドメイン電源ノイズ波形を取得する。次に、前記ドメイン電源ノイズ波形を繰り返し接続することで周期的な波形を作成し、そして、前記周期的な波形の一部を停止することで前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する加工ドメイン電源ノイズ波形を取得する。次に、前記複数のクロックドメインの各々について得られた前記加工ドメイン電源ノイズ波形を重ね合わせることにより、前記クロックパスを流れるクロックの周期以上のノイズ停止期間を有する電源ノイズ波形を作成する。前記電源ノイズ波形を元に、前記クロックパスを流れるクロックのジッターを算出する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るクロックジッターの解析手順を示すフローチャートである。
【図２】ドメイン動作シナリオ情報の一例を示す図である。
【図３】電源ノイズ波形の加工方法を説明するための波形図である。
【図４】２つのクロックドメインの加工された電源ノイズ波形と、それらを重ね合わせて得られた電源ノイズ波形を示す波形図である。
【図５】本発明の実施形態に係るクロックジッター解析装置の概略的な構成、及び装置の外部から入力される情報を示した図である。
【発明を実施するための形態】
【００１２】
前述のように、従来、電源ノイズ解析に要する時間が非常に長いためクロックジッターの最悪値を算出することは容易でなかった。
【００１３】
そこで、本発明の実施形態では、１クロック分（あるいは数クロック分）という短期間の電源ノイズ解析をクロックドメインごとに行い、それぞれの解析結果の波形を加工した後、それら加工された波形を重ね合わせることで、クロックジッターの最悪値を与える電源ノイズ波形を作成する。そして、この電源ノイズ波形を用いてクロックジッターを算出する。
【００１４】
以下、本発明の実施形態に係るクロックジッター解析方法、及び、当該方法を実行するクロックジッター解析装置について説明する。
【００１５】
本実施形態に係るクロックジッター解析方法において、外部から与える情報には、クロックドメイン情報、素子クロックドメイン情報、動作シナリオ情報、回路レイアウト情報、セル消費電力情報、クロック情報、及びクロックパス情報がある。これらの情報の詳細について以下に説明する。
【００１６】
クロックドメイン情報は、クロックドメイン名と、そのクロックドメインで用いられるクロックの周波数とを含む情報である。このクロックドメイン情報は、ＳＤＣ（Synopsys Design Constraint）等の書式で記述され、クロックの動作開始時刻に関する情報（動作タイミング情報）を含む場合もある。
【００１７】
素子クロックドメイン情報は、回路内の各素子（Instance）がどのクロックドメインに属するかを示す情報である。この素子クロックドメイン情報は、静的タイミング解析(ＳＴＡ：Static Timing Analysis)ツール等で出力することができる。
【００１８】
動作シナリオ情報は、回路内の各素子について、素子の出力信号が遷移するタイミング、及び出力信号の遷移方向(立ち上がり／立下り)を示す情報である。この動作シナリオ情報は、例えば、ＶＣＤ (Value Change Dump)等の書式で記述される。
【００１９】
回路レイアウト情報は、回路内の各素子の配置、素子の接続関係および配線等に関する情報である。この回路レイアウト情報は、例えば、ＤＥＦ (Design Exchange Format)、ＬＥＦ (Library Exchange Format)等の書式で記述される。
【００２０】
セル消費電力情報は、回路中のセル（素子の種別）の消費電力を計算するために必要な情報であり、例えば、ＬｉｂｅｒｔｙあるいはＳＰＩＣＥネットリストといった書式で記述される。
【００２１】
クロック情報は、クロックジッターの解析対象となるクロックパスのクロックの周期及び遅延量に関する情報である。なお、このクロック情報に含まれるクロックの遅延量は、電源ノイズが無い場合における遅延量である。
【００２２】
クロックパス情報は、ジッター解析対象となるクロックパスを構成する素子及び配線に関する情報であり、例えばＳＰＩＣＥネットリスト等の書式で記述される。
【００２３】
次に、上記の情報を用いて行う本実施形態に係るクロックジッターの解析方法について説明する。
【００２４】
図１のフローチャートに示すように、本実施形態に係るクロックジッターの解析手順は、クロックドメインを選択するステップ（Ｓ１）と、クロックドメインの動作シナリオ（ドメイン動作シナリオ）を作成するステップ（Ｓ２）と、クロックドメインの電源ノイズ解析を行うステップ（Ｓ３）と、クロックドメインの電源ノイズ波形を加工するステップ（Ｓ４）と、未選択のクロックドメインの有無を判断するステップ（Ｓ５）と、クロックドメインごとの加工された電源ノイズ波形を重ね合わせるステップ（Ｓ６）と、重ね合わされた電源ノイズ波形を用いてクロックジッターを算出するステップ（Ｓ７）と、クロックジッターレポートを作成するステップ（Ｓ８）と、を含む。
【００２５】
次に、各ステップの処理内容の詳細について、図１に沿って説明する。
【００２６】
（１）まず、クロックドメイン情報の中にある複数のクロックドメインの中から未選択のクロックドメインを一つ選択する（ステップＳ１）。
【００２７】
（２）次に、ステップＳ１で選択されたクロックドメインの名前（クロックドメイン名）、素子クロックドメイン情報および動作シナリオ情報を元に、選択されたクロックドメインの電源ノイズ解析で用いるためのドメイン動作シナリオを作成する（ステップＳ２）。
【００２８】
このドメイン動作シナリオは、動作シナリオ情報のうち、選択されたクロックドメイン以外のクロックドメインに属する全ての素子の状態を“停止”状態にすることにより作成する。なお、”停止”状態とは、素子が遷移しない状態、即ち、素子の入力信号が”０“又は”１“に固定された状態を示している。
【００２９】
ドメイン動作シナリオの一例を図２に示す。この例では、回路に５つの素子（Instance A〜Instance E）が設けられており、２つのクロックドメイン（Domain A, Domain B）が存在する。図２（ａ）は、動作シナリオ情報および素子クロックドメイン情報を元に得られたものであり、素子ごとに、所属するクロックドメイン及びある時刻における状態を示している。この情報を用いてドメイン動作シナリオを作成する。
【００３０】
具体的には、選択されたクロックドメインがDomain Aの場合、クロックドメインDomain Bに属する素子（Instance B〜D）の中で“動作”状態の素子（Instance B, C）を“停止”状態にすることにより、図２（ｂ）に示すDomain Aが選択された場合のドメイン動作シナリオを作成する。
【００３１】
一方、選択されたクロックドメインがDomain Bの場合、クロックドメインDomain Aに属する素子（Instance A, E）のうち“動作”状態の素子Instance A, Eを“停止”状態にすることにより、図２（ｃ）に示すDomain Bが選択された場合のドメイン動作シナリオを作成する。
【００３２】
このように、ドメイン動作シナリオは、選択されたクロックドメイン以外のクロックドメインに属する素子の状態を停止することで得られるものであり、選択されたクロックドメインのみが動作する状況を与える動作シナリオである。
【００３３】
（３）次に、ドメイン動作シナリオの情報と、クロックドメイン情報と、回路レイアウト情報と、セル消費電力情報とを元に、選択されたクロックドメインについての電源ノイズ解析を行う（ステップＳ３）。この電源ノイズ解析は、選択されたクロックドメインで用いられるクロックの１〜数周期分の期間について行う。これにより、選択されたクロックドメインのみが動作することにより発生する電源ノイズ波形（ドメイン電源ノイズ波形）を取得する。なお、電源ノイズ解析は、市販の電源ノイズ解析ツールで行うこともできる。
【００３４】
（４）次に、ドメイン電源ノイズ波形の情報とクロック情報を元に、ドメイン電源ノイズ波形を加工する（ステップＳ４）。
【００３５】
図３は、電源ノイズ波形の加工方法を説明するための図である。図３（ａ）は、選択されたクロックドメインで用いられるクロックの１周期分の期間について電源ノイズ解析を行って得られたドメイン電源ノイズ波形の一例を示している。この波形を例として用いて本工程における電源ノイズ波形の加工方法について説明する。
【００３６】
まず、波形の長さが少なくとも各クロックドメインのクロック周期の最小公倍数よりも大きくなるまで、ドメイン電源ノイズ波形を繰り返し接続する。これにより、図３（ｂ）に示す、波形の長さＰの周期的な波形を作成する。
【００３７】
このように各クロックドメインのクロック周期の最小公倍数より長い波形を作成しておくことで、後段のステップＳ６（波形の重ね合わせ）において、クロック周期の相違により拡大した電源ノイズ変動を含む電源ノイズ波形が得られる。
【００３８】
次に、ジッター解析対象のクロックパスにおけるクロックの周期以上にわたって、上記の周期的な波形を停止する。即ち、波形の電圧を接地電位に落とす。このように加工することで、図３（ｃ）に示すように、ジッター解析対象のクロックパスにおけるクロック周期（Ｔ）以上のノイズ停止期間、及びクロック周期（Ｔ）と遅延量（τ）の和（Ｔ＋τ）以上のノイズ発生期間が連続する部分波形Ｉを含むようにする。
【００３９】
なお、部分波形Ｉにおいて、ノイズ停止期間とノイズ発生期間が連続していればよく、その順序はどちらが先でもよい。τはジッター解析対象のクロックパスにおけるクロックの遅延量であるから、長さ（Ｔ＋τ）は、ジッター解析対象のクロックパスにクロックが入力されてから、クロックパスから完全に抜け出るまでの時間を指している。
【００４０】
さらに、図３（ｃ）に示すように、長さ２（Ｔ＋τ）以上のノイズ発生期間からなる部分波形IIを含むようにする。
【００４１】
部分波形Ｉは、第１のクロックがクロックパスを通過する間ずっと電源ノイズは発生せず、次の第２のクロックが通過する間はずっと電源ノイズが発生する状況を与える。
【００４２】
一方、部分波形IIは、第１のクロック及び第２のクロックともに、クロックパスを通過する間ずっと電源ノイズが発生する状況を与える。
【００４３】
これら２つの状況が最も大きな電源ノイズの変動を与える。中間的な状況として、例えば第１のクロックが通過する時間の２０％の間電源ノイズが発生し、第２のクロックが通過する時間の８０％の間電源ノイズが発生するという状況が考えられるが、このような中間的な状況ではクロックジッターは最悪値にならない。
【００４４】
なお、部分波形Ｉ及びIIのうち少なくとも一方が複数個含まれるように周期的な波形を加工してもよい。
【００４５】
（５）次に、未選択のクロックドメインがあるか否かを判断し、ＹｅｓであればステップＳ１に戻り、未選択のクロックドメインに対して上記のステップＳ１〜Ｓ４に係る処理を行い、Ｎｏであれば次のステップＳ６に進む（ステップＳ５）。
【００４６】
（６）クロックドメインごとに得られた加工ドメイン電源ノイズ波形を重ね合わせる（ステップＳ６）。これにより、クロックジッター解析で用いるための電源ノイズ波形を作成する。
【００４７】
図４は、クロック周期５０ｐｓのクロックドメインDomain Aの加工ドメイン電源ノイズ波形（波形Ａ）と、クロック周期７０ｐｓのクロックドメイン Domain Bの加工ドメイン電源ノイズ波形（波形Ｂ）と、波形Ａと波形Ｂを重ね合わせて得られた電源ノイズ波形（波形Ｃ）とを示している。図４に示すように、波形Ｃは、クロック周期Ｔ以上の長さのノイズ停止期間を有する必要がある。即ち、全ての加工ドメイン電源ノイズ波形が停止している期間がクロック周期Ｔ以上になる必要がある。
【００４８】
（７）次に、ステップＳ６で得られた電源ノイズ波形の情報と、クロックパス情報とを元に、クロックジッター解析を行い、クロックジッターを算出する（ステップＳ７）。この処理は、例えばＳＰＩＣＥシミュレータ等の回路解析ツールで行うことができる。
【００４９】
（８）次に、ステップＳ７で得られたクロックジッターの算出結果（クロックジッターの最悪値を含む。）を示すクロックジッターレポートを作成する（ステップＳ８）。このクロックジッターレポートは回路設計者に分かりやすい形式（例えば、クロックジッター量のグラフ表示）で作成することが好ましい。
【００５０】
上述のように、本実施形態に係るクロックジッター解析方法では、各クロックドメインについて、当該クロックドメインで用いられるクロックの１〜数周期分という非常に短い期間についてのみ電源ノイズ解析を行えばよい。したがって、本実施形態によれば、クロックジッターの最悪値の算出を短時間で行うことができる。
【００５１】
次に、上述のクロックジッター解析方法を実行するためのクロックジッター解析装置について説明する。
【００５２】
図５は、本実施形態に係るクロックジッター解析装置の概略的な構成、及びクロックジッター解析装置に入力される情報を示している。
【００５３】
図５に示すように、クロックジッター解析装置１は、クロックドメイン選択部１１と、ドメイン動作シナリオ作成部１２と、電源ノイズ解析部１３と、電源ノイズ波形加工部１４と、波形情報保存部１５と、電源ノイズ波形重ね合わせ部１６と、クロックジッター算出部１７と、レポート作成部１８と、を含む。
【００５４】
各構成要素の詳細について以下説明する。
【００５５】
クロックドメイン選択部１１は、クロックドメイン情報の中に存在する複数のクロックドメインの中から未選択のクロックドメインを一つ選択し、選択したクロックドメイン名を出力する。
【００５６】
ドメイン動作シナリオ作成部１２は、クロックドメイン選択部１１により選択されたクロックドメイン名、素子クロックドメイン情報、及び動作シナリオ情報を元に、前述のドメイン動作シナリオを作成する。
【００５７】
電源ノイズ解析部１３は、ドメイン動作シナリオの情報、クロックドメイン情報、回路レイアウト情報、及びセル消費電力情報を元に、選択されたクロックドメインについて電源ノイズ解析を行い、半導体集積回路のうち選択されたクロックドメインのみが動作することにより発生する電源ノイズ波形であるドメイン電源ノイズ波形を取得する。
【００５８】
電源ノイズ波形加工部１４は、クロック情報（周期、遅延量）を元にドメイン電源ノイズ波形を前述のように加工し、それにより得られた加工ドメイン電源ノイズ波形の情報を波形情報保存部１５に保存する。
【００５９】
電源ノイズ波形重ね合わせ部１６は、波形情報保存部１５に保存された各クロックドメインの加工ドメイン電源ノイズ波形の情報を読み出した後、各クロックドメインに対して得られた加工ドメイン電源ノイズ波形を重ね合わせ、それにより、前述のクロックジッター解析に用いる電源ノイズ波形を作成する。
【００６０】
クロックジッター算出部１７は、電源ノイズ波形重ね合わせ部１６から出力された電源ノイズ波形の情報、及びクロックパス情報を用いて、クロックジッターを算出する。
【００６１】
レポート作成部１８は、クロックジッター算出部１７により出力されたクロックジッターの算出結果（クロックジッターの最悪値を含む。）を用いてクロックジッターレポートを作成し、クロックジッター解析装置１の外部に出力する。
【００６２】
以上、本実施形態に係るクロックジッター解析方法及び装置について説明した。
【００６３】
本実施形態に係るクロックジッター解析方法をコンピュータに実行させるプログラムとして構成することもできる。また、そのようなプログラムをＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録して配布できるようにしてもよい。
【００６４】
上記の記載に基づいて、当業者であれば、本発明の追加の効果や種々の変形を想到できるかもしれないが、本発明の態様は、上述した実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【００６５】
１  クロックジッター解析装置
１１  クロックドメイン選択部
１２  ドメイン動作シナリオ作成部
１３  電源ノイズ解析部
１４  電源ノイズ波形加工部
１５  波形情報保存部
１６  電源ノイズ波形重ね合わせ部
１７  クロックジッター算出部
１８  レポート作成部
【図１】
2011248843.tif 000003
【図２】
2011248843.tif 000004
【図３】
2011248843.tif 000005
【図４】
2011248843.tif 000006
【図５】
2011248843.tif 000007