(57)【要約】【課題】クロックジッタの見積もり精度を向上させ、かつ見積もり処理に要する時間を短縮可能とした見積もり方法を提供する。【解決手段】電源電圧を供給した場合のクロックパスの遅延を算出する第一の工程と、遅延に基づいて、電源ノイズのIR-drop量を算出する第二の工程と、IR-drop量とクロックパスに入力されるクロックパルスのクロック周期とに基づいて、当該クロックパルスのクロック周期の開始時と終了時の前記IR-drop量の差が最大となる第一の時刻と最小となる第二の時刻とを算出する第三の工程と、第一の時刻でクロックパスから出力されるクロックパルスの周期を最大周期として算出し、第二の時刻でクロックパスから出力されるクロックパルスの周期を最小周期として算出する第四の工程と、最大周期と前記最小周期の差をクロックジッタとして算出する第五の工程とを備えた。【選択図】図１
2009282916.tif 000002
【特許請求の範囲】
【請求項１】
電源電圧を供給した場合のクロックパスの遅延を算出する第一の工程と、
前記遅延に基づいて、電源ノイズのIR-drop量を算出する第二の工程と、
前記IR-drop量と前記クロックパスに入力されるクロックパルスのクロック周期とに基づいて、当該クロックパルスのクロック周期の開始時と終了時の前記IR-drop量の差が最大となる第一の時刻と最小となる第二の時刻とを算出する第三の工程と、
前記第一の時刻で前記クロックパスから出力されるクロックパルスの周期を最大周期として算出し、前記第二の時刻で前記クロックパスから出力されるクロックパルスの周期を最小周期として算出する第四の工程と、
前記最大周期と前記最小周期の差をクロックジッタとして算出する第五の工程と
を備えたことを特徴とするクロックジッタ見積もり方法。
【請求項２】
前記第三の工程で、
前記クロックパルスの入力時刻をスイープし、前記クロック周期の開始時の前記IR-drop量を第一のIR-drop量として算出し、前記クロック周期の終了時の前記IR-drop量を第二のIR-drop量として算出し、前記第一のIR-drop量と第二のIR-drop量との差が最大となる第一の時刻と、最小となる第二の時刻を算出することを特徴とする請求項１記載のクロックジッタ見積もり方法。
【請求項３】
前記第四の工程で、
前記第一の時刻及び第二の時刻でのみSpiceレベルの解析を行なって、前記クロック周期の最大周期と最小周期を算出することを特徴とする請求項１記載のクロックジッタ見積もり方法。
【請求項４】
前記クロック周期の最大周期と最小周期を算出する工程では、前記IR-drop量を使用しないことを特徴とする請求項３記載のクロックジッタ見積もり方法。
【請求項５】
請求項１乃至４のいずれか１項に記載のクロックジッタ見積もり方法で算出したクロックジッタを考慮したレイアウト設計を行なうことを特徴とする半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、クロック信号に発生するジッタの見積もり方法に関するものである。
【背景技術】
【０００２】
クロックジッタは、クロック信号に発生する周期ズレであり、図８に示すように、クロック信号ＣＬＫの周期Ｔにズレが発生するものである。図９は、クロックジッタの発生が問題となるシステムの一例を示す。
【０００３】
チップ１が収容されたパッケージ２と、ＤＲＡＭが収容されたパッケージ３がプリント基板上に搭載され、チップ１にはパッケージ２外の電源供給モジュールＶＲＭから高電位側電源ＶDD及び低電位側電源Ｖssが供給される。
【０００４】
チップ１内には、外部から供給される基準クロック信号に基づいて、所要の内部クロック信号ＣＬＫを生成するＰＬＬ回路４を備えたクロック信号発生部が設けられ、そのクロック信号ＣＬＫはバッファ回路５を直列に接続したクロックパス６を介してパッケージ２外に出力される。そして、チップ１から出力されたクロック信号ＣＬＫは、パッケージ３内のＤＲＡＭに供給される。
【０００５】
また、チップ１には種々の論理処理部７が搭載され、前記ＤＲＡＭもその論理処理部７との間でデータの入出力が行なわれる。
上記のように構成されたチップ１では、前記論理処理部７等の動作周波数が異なる多種類の回路が搭載され、各回路には共通の電源配線８ａ，８ｂから電源ＶDD及び電源Ｖssが供給される。従って、論理処理部７のスイッチング動作により発生する電源ノイズがクロックパス６に影響し、クロックパス６から出力されるクロック信号ＣＬＫにクロックジッタが発生することがある。
【０００６】
例えば、ＤＤＲ２−ＳＤＲＡＭを４００Ｍｂｐｓで動作させる際、ＤＤＲ２−ＳＤＲＡＭに供給するクロック信号ＣＬＫの周波数は２００ＭＨｚとなり、この周波数のクロック信号ＣＬＫで許容されるクロックジッタはクロック信号ＣＬＫの周期の１／２周期に対し±５％、すなわち±２５０ｐｓである。
【０００７】
図１０は、クロックジッタの発生メカニズムを示す。この例は、例えば６６ＭＨｚのクロック信号ＣＬＫ１で動作する信号処理部と、１００ＭＨｚのクロック信号ＣＬＫ２を転送するクロックパスが混在するチップで、クロック信号ＣＬＫ１に同期して電源ノイズＮが発生する場合を示す。
【０００８】
電源ノイズＮの発生タイミングがクロック信号発生部から出力されるクロック信号ＣＬＫ２の立ち上がりあるいは立ち下がりに同期すると、クロックパスから出力されるクロック信号ＣＬＫ２ｘの立ち上がりあるいは立ち下がりのタイミングが遅延して、周期ｔ１が変動する。
【０００９】
特に、電源ノイズＮにより電源電圧が低下するタイミングに同期すると、クロック信号ＣＬＫ２の立ち上がりあるいは立ち下がりの遅延が大きくなり、電源ノイズＮにより電源電圧が上昇するタイミングに同期すると、クロック信号ＣＬＫ２の立ち上がりあるいは立ち下がりの遅延が小さくなる。
【００１０】
従って、クロックパスから例えばＤＲＡＭに供給されるクロック信号ＣＬＫｘの周期ｔ１，ｔ２が一定とならず、例えばクロック信号ＣＬＫｘが供給されるＤＲＡＭでは、セットアップエラーあるいはホールドエラーが発生する。
【００１１】
電源ノイズに起因して発生するクロックジッタを低減するためには、次に示すＡ〜Ｃの３種類の対策が実施されている。
Ａ電源ノイズを減らす。
【００１２】
電源ノイズを減らせば、クロックパスの遅延変動量が低減されるため、クロックジッタの発生が低減される。電源ノイズを低減するためには、次に示すような対策がある。
Ａ−ａ
電源ＶDDの配線と、電源Ｖssの配線との間に図９に示す配線間容量Ｃdeを挿入する。配線間容量Ｃdecapの挿入により、電源供給モジュールＶＲＭとチップ１との間の配線の寄生インダクタンスＬ及び寄生抵抗Ｒに流れる電流の変動量の傾きが抑制され、この結果チップ１内の電源ＶDD及び電源Ｖssの電圧変動が抑制される。
【００１３】
Ａ−ｂ
電源パッドを増加させて、パッケージ２の電源配線の寄生インダクタンスＬ及び寄生抵抗Ｒを低減することにより、電源ＶDD及び電源Ｖssの電圧変動を抑制する。
【００１４】
Ａ−ｃ
論理処理部７の時間当たりの電流消費量の集中を抑制する。例えば論理処理部７で動作するフリップフロップ回路の動作タイミングにスキューを持たせて、動作電流の集中を緩和する。
【００１５】
Ｂクロックパスの電源ノイズに対する遅延変動量を低減する。
Ｂ−ａ
例えば、図９に示すクロックパス６を構成するバッファ回路５のしきい値を低下させる。すると、電源電圧の変動に対しバッファ回路５の遅延が少なくなり、クロックジッタの発生が低減される。
【００１６】
Ｂ−ｂ
電源電圧の変動量が少ないところにクロックパス６を通す。チップ１内において、電源電圧の変動は、電流消費の密度が高い部分で大きくなる。従って、電源電圧の変動量が少ないところにクロックパス６を通す。
【００１７】
Ｃ電源を分離する。
論理処理部とクロックパスに、異なる電源配線で電源を供給すると、論理処理部の動作によるクロックパスの電源電圧の変動が抑制されて、クロックジッタが低減される。
【００１８】
図１１は、クロックジッタを考慮してチップを設計する工程を示す。まず、論理設計を行い（ステップ１）、レイアウト設計を行う（ステップ２）。そして、タイミング検証を行い（ステップ３）、そのレイアウトを出力する。
【００１９】
ステップ２のレイアウト設計では、電源ノイズの見積もりを所定の解析ツールを使用して行い（ステップ２−ａ）、電源ノイズの波形を解析する。電源ノイズの見積もりに関する解析手法（Spice）は、非特許文献１に開示されている。
【００２０】
次いで、クロックジッタの見積もりを行い（ステップ２−ｂ）、クロックジッタ量を確認しながらチップの設計戦略を決定する。
次いで、レイアウトのためのフロアプランを行い（ステップ２−ｃ）、セル及び配線をレイアウトし（ステップ２−ｄ）、配線間容量を挿入する（ステップ２−ｅ）。そして、レイアウト後の電源ノイズの波形の解析を行い（ステップ２−ｆ）、電源ノイズの波形を使ってクロックパスのジッタ量を解析する（ステップ２−ｇ）。
【００２１】
次に、図１１のステップ２−ｂで行われている従来のクロックジッタの見積もり方法について説明する。
図１２は、第一の見積もり方法を示すシミュレーション回路を示す。これは、クロックジッタを見積もるためのシミュレーション回路であり、クロックジッタを解析する解析ツール内に仮想的に構成される回路である。
【００２２】
多数段のバッファ回路９を直列に接続して構成したクロックパス１０の初段のバッファ回路９ａにクロックパルスＣＫｉｎを供給し、終段のバッファ回路９ｂから出力されるクロックパルスＣＫｏｕｔのジッタを観測する。
【００２３】
各バッファ回路９，９ａ，９ｂには、電源ノイズ波形を付加した高電位側電源ＶDDIと、電源ノイズ波形を付加した低電位側電源Ｖssが供給される。また、各バッファ回路９,９a，９bの出力端子には所要の配線容量ＣＬを付加する。
【００２４】
このようなシミュレーション回路により、クロックパルスＣＫｉｎと電源ノイズとの位相の変化によるクロックジッタの変動を解析するために、クロックパルスＣＫｉｎを入力した状態で、高電位側電源ＶDDIと、電源ノイズ波形を付加した低電位側電源Ｖssの位相を等しい時間間隔で順次ずらすスィープ動作を行う。
【００２５】
例えば、図１０に示すように、６６ＭＨｚのクロック信号による電源ノイズＮが供給されている状態で、１００ＭＨｚのクロックパルスＣＫｉｎの位相を１００ｐｓずつすらし、この状態でバッファ回路９ｂから出力されるクロックパルスＣＫｏｕｔのジッタを観測する。
【００２６】
しかし、このような見積もり方法では、クロック信号ＣＫｉｎの位相を順次ずらし、各位相でのクロックパルスＣＫｏｕｔの周期変動を測定するスイープ処理を行うため、後記表１に示すように、処理時間が長くなる。
【００２７】
次に、図１１のステップ２−ｂで行われる第二の見積もり方法を図１３に示す。
ステップ１１では、クロックパスのセルの遅延変動量をキャラクタライズする。すなわち、例えば図１２に示すクロックパス１０のバッファ回路９，９ａ，９ｂにおいて、static IR-drop量に対する遅延変動量の係数αpを算出する。static IR-drop量とは、電源電圧の静的な電圧降下である。
【００２８】
ステップ１２では、クロックパスの理想パス遅延を算出する。電源ノイズがない理想電源が供給されている状態でのクロックパスの遅延時間を理想パス遅延Ｔｐｄ０として算出する。
【００２９】
ステップ１３では、実効static IR-drop量を算出する。すなわち、ステップ２−ａで見積もった電源ノイズ波形から時間（ｔ）における時間幅Ｔｐｄ０の実効static IR-drop量をＩＲＤ（ｔ）として次式で算出する。
【００３０】
【数１】
2009282916.tif 000003
図１４及び図１５は、ステップ１３の処理を示す。図１４に示す電源ノイズ波形Ｖ（ｔ）と理想パス遅延Ｔｐｄ０とに基づいて時刻ｔのＩＲＤ（ｔ）を算出すると、図１５に示す波形が得られる。ここで、時刻ｔは、ノイズ解析の終了時刻をｔｅとしたとき、０からｔｅ−Ｔｐｄ０までの各時刻である。
【００３１】
次いで、ステップ１４でパス遅延変動量を算出する。すなわち、実効static IR-drop量と、前記係数αｐと、理想パス遅延Ｔｐｄ０からパス遅延変動量ｊｄ（ｔ）を算出する。
次いで、ステップ１５でクロック周期変動量を算出する。すなわち、パス遅延変動量ｊｄ（ｔ）−ｊｄ（ｔ−クロック周期）により、クロック周期変動量ｊｐ（ｔ）を求める。そして、ステップ１６でクロック周期変動量ｊｐ（ｔ）の最大値からクロック周期変動量ｊｐ（ｔ）の最小値を減算することによりクロックジッタを算出する。
【特許文献１】特開２００６−２７７５５７号公報
【特許文献２】特開２００７−１７９１２６号公報
【非特許文献１】IEICE TRANS.FUNDAMENTALS,VOL.E90−A,NO.4 APRIL 2007        Fast Methods to Estimate Clock Jitter due to Power Supply Noise
【発明の開示】
【発明が解決しようとする課題】
【００３２】
上記のようなクロックジッタを見積もるための第一の例では、クロックパルスＣＫｉｎの位相を順次ずらして、各位相での周期変動を測定するスイープ処理を行うため、処理時間が長くなるという問題点がある。また、クロックパスの遅延時間が長くなるほど、処理時間が増大する。
【００３３】
第二の例では、まずステップ１１で係数αｐを算出する処理が必要となる。また、実効static IR-drop量ＩＲＤ（ｔ）からパス遅延変動量ｊｄ（ｔ）を直接算出しているため、算出されるクロックジッタの精度が悪くなる。
【００３４】
すなわち、ステップ１３では実効static IR-drop量ＩＲＤ（ｔ）を算出する際、電源ノイズ波形Ｖ（ｔ）を理想パス遅延Ｔｐｄ０の時間幅の範囲で平均化しているが、実際には算出される時間幅が電源ノイズにより変動するため、ＩＲＤ（ｔ）に誤差が生じるという問題点がある。
【００３５】
特許文献１では、電源電圧の変動による供給電圧の最大値と最小値を求め、基準電圧が供給されたときの遅延値との比から遅延変動率を求めている。
しかし、電源ノイズにより電源電圧が上昇するような場合、クロック信号の入力タイミングの変化による出力クロックパルスの周期の変化を考慮していないため、クロックジッタの算出精度を向上させることはできない。
【００３６】
特許文献２には、周期ジッタ情報に基づいて集積論理回路のタイミング解析を行う手法が開示されている。
この発明の目的は、クロックジッタの見積もり精度を向上させ、かつ見積もり処理に要する時間を短縮可能とした見積もり方法を提供することにある。
【課題を解決するための手段】
【００３７】
上記目的は、電源電圧を供給した場合のクロックパスの遅延を算出する第一の工程と、前記遅延に基づいて、電源ノイズの実効static IR-drop量を算出する第二の工程と、前記実効static IR-drop量と前記クロックパスに入力されるクロックパルスのクロック周期とに基づいて、当該クロックパルスのクロック周期の開始時と終了時の前記実効static IR-drop量の差が最大となる第一の時刻と最小となる第二の時刻とを算出する第三の工程と、前記第一の時刻で前記クロックパスから出力されるクロックパルスの周期を最大周期として算出し、前記第二の時刻で前記クロックパスから出力されるクロックパルスの周期を最小周期として算出する第四の工程と、前記最大周期と前記最小周期の差をクロックジッタとして算出する第五の工程とを備えたクロックジッタ見積もり方法により達成される。
【発明の効果】
【００３８】
開示された見積もり方法では、クロックジッタの見積もり精度を向上させ、かつ見積もり処理に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００３９】
以下、この発明を具体化した一実施の形態を図面に従って説明する。図1は、本発明を具体化したクロックジッタの見積もり方法の処理手順を示す。この見積もり手法は、図１１に示すチップ（半導体装置）の設計工程におけるステップ２−ｂで行う処理を示し、図１３に示す従来の見積もり手法を変更したものである。
【００４０】
図１に示すように、まずステップ２１（第一の工程）で理想パス遅延の算出を行い、ステップ２２（第二の工程）で実効static IR-drop量ＩＲＤ（ｔ）の算出を行う。このステップ２１の処理は、図１３に示すステップ１２，１３と同一である。
【００４１】
次いで、ステップ２３（第三の工程）でクロックパルスの入力時刻を決定する。すなわち、実効static IR-drop量ＩＲＤ（ｔ）とクロック周期Ｔ０を用いて、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）が最大となる時刻Ｔｍａｘと、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）が最小となる時刻Ｔｍｉｎを算出する。
【００４２】
詳述すると、図２に示すように、クロックパルスの周期Ｔ０の時間間隔の実効static IR-drop量ＩＲＤ（ｔ）の電圧値を順次スィープして読み出す。クロックパルス入力時刻ｔは、ノイズ解析終了時刻−周期Ｔ０までの時間でスイープする。
【００４３】
そして、図３に示すように、時刻ｔａでＩＲＤ（ｔａ）−ＩＲＤ（ｔａ＋Ｔ０）が最大となるとき、その時刻ｔａをＴｍａｘとする。また、図４に示すように、時刻ｔｂでＩＲＤ（ｔｂ）−ＩＲＤ（ｔｂ＋Ｔ０）が最小となるとき、その時刻ｔｂをＴｍｉｎとする。
【００４４】
このステップ２３の処理を図５に示す。まず、クロックパルス入力時刻ｔがノイズ解析終了時刻−周期Ｔ０までの時間内であるか否かを判定し（ステップ３１）、当該時間内である場合には、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）を算出し、その算出結果をファイルＦに格納する。
【００４５】
次いで、ステップ３３で時刻ｔに所定の時間を加算し、その新たな時刻ｔについてステップ３２の処理を行い、ノイズ解析終了時刻−周期Ｔ０までの時間内の各時刻ｔでこのような動作を繰り返す。
【００４６】
そして、ステップ３３で順次算出されたＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）の値がそれ以前に算出された値に比して最大値であればその値と当該時刻がファイルＦに格納される。また、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）の値がそれ以前に算出された値の最小値であればその値と当該時刻がファイルＦに格納される。
【００４７】
このような動作により、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）が最大となる時刻Ｔｍａｘと最小となる時刻Ｔｍｉｎが算出される。
次いで、ステップ２４（第四の工程）に移動してクロック周期の変動量を算出する。すなわち、ステップ２３で決定したクロックパルス入力時刻について、Ｔｍａｘをクロック周期が最大となる時刻（第一の時刻）とし、Ｔｍｉｎをクロック周期が最小となる時刻（第二の時刻）とみなし、これらの時刻に対してSpiceレベルの解析を実行し、クロック周期の最大値及び最小値を測定する。
【００４８】
図６に示すように、時刻Ｔｍａｘでは入力時刻ｔａで遅延時間がｄ１が小さくなり、入力時刻ｔａ＋Ｔ０で遅延時間ｄ２が大きくなるため、クロックパルスの周期Ｔｃ１は最大周期となる。
【００４９】
また、図７に示すように、時刻Ｔｍａｘでは入力時刻ｔｂで遅延時間がｄ３が大きくなり、入力時刻ｔｂ＋Ｔ０で遅延時間ｄ４が小さくなるため、クロックパルスの周期Ｔｃ２は最小周期となる。
【００５０】
次いで、ステップ２５（第五の工程）に移行して、クロックジッタの算出を行う。すなわち、ステップ２４で算出した最大周期Ｔｃ１から最小周期Ｔｃ２を減算することにより、クロックジッタが算出される。
【００５１】
上記のようなクロックジッタの見積もり方法では、次に示す作用効果を得ることができる。
（１）クロックパルスの入力タイミングをスイープして各入力タイミングでのクロックパスの周期を算出するのではなく、クロックパルスの入力タイミングをスイープしながら、ＩＲＤ（ｔ）−ＩＲＤ（ｔ＋Ｔ０）が最大となる時刻Ｔｍａｘと最小となる時刻Ｔｍｉｎとを算出するので、処理時間を短縮することができる。
【００５２】
表１に示すように、従来の見積もり方法の第一の例では、処理時間が３７７２（ｓｅｃ）必要であったが、上記実施例では３６１（ｓｅｃ）で処理することができる。
（２）static IR-drop量に対する遅延変動量の係数αpを算出する処理は必要ない。従って、クロックジッタの見積もり工程を短縮することができる。
（３）実効static IR-drop量ＩＲＤ（ｔ）は、クロック周期が最大となる時刻Ｔｍａｘと、最小となる時刻Ｔｍｉｎの算出にのみ使用し、クロック周期の変動量の算出には使用しないため、クロックジッタの見積もり精度を向上させることができる。
【００５３】
表１に示すように、従来の見積もり方法の第一の例と同等の精度を得ることができるとともに、第二の例に対して精度を向上させることができる。
【００５４】
【表１】
2009282916.tif 000004
上記実施の形態は、以下の態様で実施してもよい。
・図１１に示すレイアウト方法において、クロックジッタの見積もりをステップ２−ｂで行なったが、ステップ２−ｇで行なってもよい。
【図面の簡単な説明】
【００５５】
【図１】一実施形態のクロックジッタ見積もり処理を示すフローチャートである。
【図２】一実施形態の処理動作を示す説明図である。
【図３】一実施形態の処理動作を示す説明図である。
【図４】一実施形態の処理動作を示す説明図である。
【図５】一実施形態の処理動作を示すフローチャートである。
【図６】一実施形態の処理動作を示す説明図である。
【図７】一実施形態の処理動作を示す説明図である。
【図８】クロックジッタを示す説明図である。
【図９】クロックジッタが発生するチップを示す概要図である。
【図１０】クロックジッタの発生メカニズムを示す説明図である。
【図１１】チップの設計手順を示すフローチャートである。
【図１２】従来のクロックジッタ見積もり方法を示す説明図である。
【図１３】従来のクロックジッタ見積もり方法を示すフローチャートである。
【図１４】クロックジッタ見積もり処理を示す説明図である。
【図１５】クロックジッタ見積もり処理を示す説明図である。
【符号の説明】
【００５６】
１        チップ
６        クロックパス
ＩＲＤ（ｔ）        実効static IR-drop量
Ｔ０      クロック周期
Ｔｐｄ０      理想パス遅延
Ｔｍａｘ      第一の時刻
Ｔｍｉｎ      第二の時刻
ＣＫｉｎ      クロックパルス
ＣＫｏｕｔ    クロックパルス
【図１】
2009282916.tif 000005
【図２】
2009282916.tif 000006
【図３】
2009282916.tif 000007
【図４】
2009282916.tif 000008
【図５】
2009282916.tif 000009
【図６】
2009282916.tif 000010
【図７】
2009282916.tif 000011
【図８】
2009282916.tif 000012
【図９】
2009282916.tif 000013
【図１０】
2009282916.tif 000014
【図１１】
2009282916.tif 000015
【図１２】
2009282916.tif 000016
【図１３】
2009282916.tif 000017
【図１４】
2009282916.tif 000018
【図１５】
2009282916.tif 000019