(57)【要約】【課題】  高速な信号を入出力する信号伝送回路のアナログ的な動作を正確にモデル化し、高精度で計算時間が短いシミュレーション手法を提供する。【解決手段】  伝送路の帯域制限効果を含めたクロック同期回路のステップ応答が、シミュレーション対象の回路データを用いて抽出される。回路データから作成された第１離散時間モデルに応答関数を与えて第２離散時間モデルが生成される。そして、クロックのエッジタイミングおよびこのタイミングでのクロック同期回路に入出力される信号の実効的信号値が、第２離散モデルを用いて計算され、シミュレーションが実行される。クロックの取り込みエッジ付近での回路動作をアナログ的に正確にシミュレーションできるため、高い精度のシミュレーションを計算量を最小限にして短時間で実行できる。【選択図】    図１
2006065758.tif 000002
【特許請求の範囲】
【請求項１】
クロックに同期して動作する回路のコンピュータによる回路解析方法であって、
シミュレーション対象の回路データを用いて、信号を第１クロックに同期して受信または送信するクロック同期回路での前記第１クロックの取り込みエッジに対応して、伝送路の帯域制限効果を含めたステップ応答またはパルス応答のいずれかである応答関数を抽出し、
前記回路データから作成された第１離散時間モデルに前記応答関数を与えて第２離散時間モデルを生成し、
シミュレーションを実行するために、前記取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散モデルを用いて計算することを特徴とする回路解析方法。
【請求項２】
請求項１記載の回路解析方法において、
前記応答関数を前記クロック同期回路を構成する要素回路毎に抽出し、
抽出された応答関数をそれぞれ蓄積し、
蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数を計算し、
前記第２離散時間モデルは、前記第１離散時間モデルに前記合成応答関数を与えて生成されることを特徴とする回路解析方法。
【請求項３】
請求項１記載の回路解析方法において、
ノイズと、このノイズにより発生する第１クロックのジッタとの関係を示す第１パラメタを抽出し、
前記第１パラメタに基づいて、前記第２離散時間モデルにジッタを与えるために第１クロックにジッタを発生し、
シミュレーションを実行するために、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散時間モデルを用いて計算することを特徴とする回路解析方法。
【請求項４】
請求項３記載の回路解析方法において、
前記第１パラメタを、周期的なノイズの位相および第１クロックの取り込みエッジのタイミングの位相の差と、周期的なノイズにより発生する第１クロックのジッタとの関係から抽出し、
抽出した前記第１パラメタをテーブルに蓄積することを特徴とする回路解析方法。
【請求項５】
請求項３記載の回路解析方法において、
ノイズと、シミュレーション対象の回路に含まれるクロック再生回路から生成される再生クロックである第２クロックにおいてこのノイズにより発生するジッタとの関係を示す第２パラメタを抽出し、
前記第２パラメタに基づいて、前記第２離散時間モデルに与える第２クロックにジッタを発生し、
ジッタを有する第２クロックの実効的信号値を、前記第２離散時間モデルを用いて計算することを特徴とする回路解析方法。
【請求項６】
請求項１記載の回路解析方法において、
シミュレーション対象の回路内に構成される複数のクロックドメインでそれぞれ使用される第１クロックの取り込みエッジタイミングの相対関係を抽出し、
抽出した相対関係に従ってタイミングマネージャにより前記第１クロックを順次生成し、
順次生成された前記第１クロックに応じて、前記クロックドメインのシミュレーション
を実行することを特徴とする回路解析方法。
【請求項７】
クロックに同期して動作する回路の動作を解析するための回路解析装置であって、
シミュレーション対象の回路データを用いて、信号を第１クロックに同期して受信または送信するクロック同期回路での前記第１クロックの取り込みエッジに対応して、伝送路の帯域制限効果を含めたステップ応答またはパルス応答のいずれかである応答関数を抽出する第１パラメタ抽出ブロックと、
前記回路データから作成された第１離散時間モデルに前記応答関数を与えて第２離散時間モデルを生成するモデル生成ブロックと、
前記取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を前記第２離散モデルを用いて計算し、シミュレーションを実行するシミュレーション実行ブロックとを備えていることを特徴とする回路解析装置。
【請求項８】
請求項７記載の回路解析装置において、
前記第１パラメタ抽出ブロックに設けられ、前記応答関数を前記クロック同期回路を構成する要素回路毎に抽出する複数のパラメタ抽出部と、
抽出された応答関数をそれぞれ蓄積する蓄積部と、
蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数を計算する合成部とを備え、
前記モデル生成ブロックは、前記第１離散時間モデルに前記合成応答関数を与えて前記第２離散時間モデルを生成することを特徴とする回路解析装置。
【請求項９】
請求項７記載の回路解析装置において、
ノイズと、このノイズにより発生する第１クロックのジッタとの関係を示す第１パラメタを抽出する第２パラメタ抽出ブロックと、
前記第１パラメタに基づいて、前記第２離散時間モデルにジッタを与えるために第１クロックにジッタを発生させる第１ジッタ発生部とを備え、
前記シミュレーション実行ブロックは、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散時間モデルを用いて計算し、シミュレーションを実行することを特徴とする回路解析装置。
【請求項１０】
請求項７記載の回路解析装置において、
シミュレーション対象の回路内に構成される複数のクロックドメインでそれぞれ使用される第１クロックの取り込みエッジタイミングの相対関係を抽出するとともに、抽出した相対関係に従って前記第１クロックを順次生成するタイミングマネージャを備え、
前記シミュレーション実行ブロックは、順次生成された前記第１クロックに応じて、前記クロックドメインのシミュレーションを実行することを特徴とする回路解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩチップ間の信号伝送あるいはＬＳＩチップ内の素子間や回路ブロック間の信号伝送、ボード間や匡体間の信号伝送を高速で行う技術に関し、特に、このような技術に用いる回路を設計するための回路解析手法に関する。
【背景技術】
【０００２】
コンピュータやその他の情報処理機器を構成する部品の性能は、ＬＳＩ（半導体集積回路）の発達に伴い大きく向上している。例えば、ＳＲＡＭ、ＤＲＡＭ、プロセッサ、スイッチングＬＳＩの性能は年々向上を続けている。これに伴ってシステムの性能を向上するために、これらの部品あるいは回路間の信号伝送速度を向上する必要がある。すなわち、ｂｉｔ／ｓで測定される信号伝送レートを増加させ、伝送遅延を減少させる必要がある。例えば、プロセッサおよびロジックＬＳＩの速度向上に伴い、メモリとプロセッサ（またはロジックＬＳＩ）との間の信号伝送レートの差がコンピュータの性能向上の妨げになりつつある。また、チップの大型化に伴い、チップ間の信号伝送だけでなく、チップ内における素子間や回路ブロック間の信号伝送速度は、チップの性能を制限する大きな要因になってきている。さらには、サーバ間、あるいはボード間の接続においても信号伝送速度を向上させる必要がある。
【０００３】
回路ブロック間、チップ間、あるいは匡体内での信号伝送速度の向上に伴い、様々な信号品質に関する問題が発生する。その一例が、信号の高周波成分が伝送路で減衰することである。信号の減衰により、受信回路で受信される信号の波形は歪む。また、信号の波形は、伝送路における高周波成分の減衰だけでなく、パッケージとボードの接続部やコネクタなどで生ずる反射の影響により歪む。伝送信号の論理情報（例えば、０／１の２値）は、このように歪んだ波形からは正しく判定できない。このため、歪みを除去して信号を増幅できるイコライズの機能を持つ増幅回路が必要となる。
【０００４】
帯域制限による信号の歪みは、伝送路やパッケージで生ずるだけでなく、信号の論理情報（０／１）を判定する判定回路（例えば、クロックに同期して動作する受信回路）の高周波特性によっても生ずる。判定回路の帯域は、無限に広いわけではないので、判定回路が受け取る実効的な信号値は、入力された信号の高周波成分が減衰したものになるからである。
【０００５】
伝送速度の向上に伴い発生する別の問題として、信号の受信に使うクロックの精度がある。クロックのタイミングにゆらぎ（ジッタ）があると、受信信号に歪みがない場合でも信号を正しく受信ができない。伝送信号の歪みの問題およびクロックのジッタの問題は、伝送速度が高くなるほど深刻になる。このため、ＬＳＩ等を設計する際に、これらの問題を正しくモデル化して回路シミュレーションをすることが、確実に動作する回路を設計するために不可欠になってきている。信号伝送回路を設計したり、その動作が期待通りであるかどうかを検証するために、一般にＳＰＩＣＥ等の回路シミュレータが使われる。ＳＰＩＣＥは、アナログ的な波形を扱えるため、帯域制限による波形の歪み等も正しく扱うことができ、正確なシミュレーションを実行可能である。
【０００６】
なお、バイナリ判定回路（論理的にはフリップフロップ）を用いたクロックデータ復元回路に関して、ビヘイビアモデルを用いたシミュレーション手法が、以下に示す非特許文献１、２に開示されている。非特許文献１では、位相検出器の出力は、ＶＣＯの周波数を積分して得られる位相と、入力位相との差の非線形関数として定めらる。シミュレーションは、連続時間の現象を小さなタイムステップに分割することで実行される。
【非特許文献１】"Clock and Data Recovery for Serial Digital Communication focusing on bang-bang loop CDR design methodology", ISSCC Short Course, February 2002, Rick Walker
【非特許文献２】Richard C. Walker, "Designing Bang-Bang PLLs for Clock andData Recovery in Serial Data Transmission Systems", in "Phase-Locking in High-Performance System", pp. 34-45, Edited by Behzad Razavi, IEEE Press/John Wiley & Sons, Inc. (2003)
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一般に、離散時間モデルでは、回路の内部状態の計算は、連続時間ではなく離散的な時間ごとにしか行わない。このため、計算量は減少し、シミュレーションを高速に実行可能になる。一方で、このようなモデルは、高帯域の信号が伝送される回路や伝送路において、帯域の不足による波形の乱れを扱うことができない。そのため高速化に伴う歪み、ジッタ等の諸問題をシミュレーションで検証することができないという問題があった。
【０００８】
伝送路や送受信回路の帯域制限による波形の歪みの効果やクロックに含まれるジッタの効果を扱うためには、アナログ的な信号が扱えるＳＰＩＣＥ等のシミュレータが必要である。しかし、この種のシミュレータは、計算速度が遅く、シミュレーションの単位時間あたりに処理できる伝送ビット数は０．５シンボル／ｓ程度である。一般に、信号伝送回路が正しく動作しているかどうかを検証するために、シミュレーションは、１０５程度のシンボル数に対してを行う必要がある。また、ある周波数を有するジッタの耐性をチェックする場合、１つのジッタ周波数に対して１００ポイント程度を計算する必要がある。１ポイントの評価は、１０５シンボル程度の計算を必要とする。このため、ＳＰＩＣＥ等では、伝送信号の歪みおよびクロックのジッタを考慮した回路動作の検証（シミュレーション）を十分にできないという問題があった。
【０００９】
本発明の目的は、高速な信号を入出力する信号伝送回路のアナログ的な動作を正確にモデル化し、高精度で計算時間が短いシミュレーション手法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一形態では、まず、クロック同期回路での第１クロックの取り込みエッジに対応して、伝送路の帯域制限効果を含めたクロック同期回路のステップ応答またはパルス応答（＝応答関数）が、シミュレーション対象の回路データを用いて抽出される。クロック同期回路は、信号を第１クロックに同期して受信または送信する回路である。次に、回路データから作成された第１離散時間モデルに応答関数を与えて第２離散時間モデルが生成される。そして、第１クロックの取り込みエッジのタイミングおよびこのタイミングでのクロック同期回路に入出力される信号の実効的信号値が、第２離散モデルを用いて計算される。すなわち、クロック同期回路のコンピュータによるシミュレーションが実行される。
【００１１】
帯域制限を考慮したクロック同期回路のシミュレーションでは、第１クロックによる信号の取り込みエッジ前後の回路動作を正確に実現する必要がある。一方で、取り込みエッジを除くタイミングでは、クロック同期回路は動作していないと考えても問題ない。本発明では、伝送路の帯域制限効果を含めたクロック同期回路のステップ応答またはパルス応答を抽出することで、第１クロックの取り込みエッジ付近での回路動作をアナログ的に正確にシミュレーションできる。取り込みエッジを除くタイミングでは、実質的にシミュレーションが不要である。したがって、高速で動作するクロック同期回路に入出力される信号の波形の歪みを離散時間モデルとして正確に扱うことができ、高い精度のシミュレーションを計算量を最小限にして短時間で実行できる。
【００１２】
本発明の一形態における好ましい例では、応答関数は、クロック同期回路を構成する要素回路毎に抽出され、それぞれ蓄積される。蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数が計算される。第２離散時間モデルは、第１離散時間モデルに合成応答関数を与えて生成される。応答関数を要素回路毎に抽出／蓄積することで、要素回路のいずれかの特性を変える場合にも、その要素回路の応答関数を再抽出し、合成応答関数を再計算するだけで、シミュレーションを実行できる。すなわち、コンピュータが無駄な計算を行うことを防止でき、シミュレーション時間を短縮できる。また、応答関数が要素回路にそれぞれ対応して蓄積されるため、コンピュータが実行するシミュレーションプログラムの保守性を向上できる。
【００１３】
本発明の一形態における別の好ましい例では、まず、ノイズと、このノイズにより発生する第１クロックのジッタとの関係を示す第１パラメタが抽出される。次に、第１パラメタに基づいて、第２離散時間モデルに与える第１クロックにジッタを発生させる。そして、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでのクロック同期回路に入出力される信号の実効的信号値が、第２離散時間モデルを用いて計算される。クロック同期回路に入出力される信号の波形の歪みだけでなく、第１クロックのジッタを考慮して正確なシミュレーションが実行できるため、より高い精度のシミュレーションを短時間で実行できる。
【００１４】
本発明の一形態における別の好ましい例では、第１パラメタは、周期的なノイズの位相および第１クロックのアクティブタイミングの位相の差と、周期的なノイズにより発生する第１クロックのジッタとの関係から抽出される。抽出した第１パラメタはテーブルに蓄積される。シミュレーションは、第１パラメタをノイズの１周期分蓄積することで実行可能である。また、シミュレーションは、テーブルを参照するだけで実行でき、あるいはテーブルに蓄積された複数の第１パラメタを補間することで実行できる。このため、シミュレーションの計算量をさらに削減できる。
【００１５】
本発明の一形態における別の好ましい例では、まず、ノイズと、このノイズにより発生する第２クロックのジッタとの関係を示す第２パラメタが抽出される。第２クロックは、シミュレーション対象の回路に含まれるクロック再生回路が生成する再生クロックである。次に、第２パラメタに基づいて、第２離散時間モデルに与える第２クロックにジッタを発生させる。そして、クロック再生回路から出力されるジッタを有する第２クロックの実効的信号値が、第２離散時間モデルを用いて計算される。一般に、第１クロックは、シミュレーション対象の回路の外から与えられるため、与えられた第１クロックの取り込みエッジがどのように揺らぐかを計算すればよい。これに対して、クロック再生回路では、第２クロックに発生したジッタは、次に生成される第２クロックのエッジタイミングに影響する。帰還がない第１クロックと帰還される第２クロック（再生クロック）とのジッタをそれぞれ別々に計算することで、それぞれの回路において高い精度でシミュレーションを実行できる。
【００１６】
本発明の一形態における別の好ましい例では、複数のクロックドメインが、シミュレーション対象の回路内に構成され、クロックドメイン内の回路は、複数の第１クロックに同期してそれぞれ動作する。この例では、まず、クロックドメインでそれぞれ使用される第１クロックの取り込みエッジタイミングの相対関係が抽出される。次に、タイミングマネージャは、抽出した相対関係に従って第１クロックを順次生成する。そして、順次生成された第１クロックに応じて、前記クロックドメインのシミュレーションが実行される。このため、複数のクロックドメインがある場合にも、タイミングマネージャを用いることで、高い精度のシミュレーションを実行できる。
【発明の効果】
【００１７】
本発明により、信号伝送回路の高速化に伴うアナログ的な諸問題（波形の歪みやジッタ）を正確に扱うことができ、高精度で計算時間が短いシミュレーション手法が得られる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態を図面を用いて説明する。
【００１９】
図１は、本発明の基本原理を示している。本発明では、まず、シミュレーション対象の回路データから応答関数が抽出される。シミュレーション対象の回路は、例えば、第１クロックＣＬＫに同期して信号ＤＩＮを受信し、受信した信号ＤＩＮを信号ＤＯＵＴとして出力するクロック同期回路（判定回路の一種）である。応答関数は、伝送路の帯域制限効果を含めたクロック同期回路のステップ応答またはパルス応答である。また、ノイズデータ（電源ノイズまたは内部ノイズ）と、このノイズにより発生する第１クロックＣＬＫのジッタとの関係を示す第１パラメタ（ジッタパラメタ）が抽出される。次に、回路データから予め作成された第１離散時間モデルに応答関数および第１パラメタを与えて第２離散時間モデルが生成される。そして、第１クロックＣＬＫの取り込みエッジのタイミングおよびこのタイミングでのクロック同期回路に入出力される信号の実効的信号値が、第２離散時間モデルを用いて計算される。すなわち、クロック同期回路のコンピュータによるシミュレーションが実行され、シミュレーション結果が出力される。
【００２０】
また、本発明では、シミュレーションの計算時間を短縮するために、以下のような原理を用いる。
（ａ）位相（クロックエッジのタイミング）をシミュレーション変数とする。
（ｂ）離散時間シミュレーションを行う。
（ｃ）信号の先験的性質（ディジタル信号）を用いて計算量を削減する。
【００２１】
まず、位相をシミュレーションの変数とした離散時間シミュレーションは以下のように行う。ｎ＋１サイクル目のクロックエッジｔｎ＋１は、ｎサイクル目のクロックエッジの時間ｔｎからＶＣＯ等のクロック発生回路の発振周波数のｎｏｍｉｎａｌ値ｆｎ０を用いて式（１）のように求められる。
【００２２】
【数１】
2006065758.tif 000003
ここで、δｔｎはｎサイクル目中に発生するタイミング変動（ジッタ）の大きさであり、このサイクルでのクロック発生回路の発振周波数の変動、このサイクルで発生するランダム雑音、電源ノイズに依存する雑音の関数として与えられ、サイクルごとに値が計算される。クロック発生回路のクロックで位相インターポレータを駆動している場合には、式（１）に、さらに位相インターポレータの制御コードに依存したタイミングシフトの項が加えられる。
上述の項目（ａ）、（ｂ）は、連続時間シミュレーションを実行しないことを表しているから、本発明の適用によりシミュレーションの計算量が削減できることは容易に理解できる。すなわち、クロック波形のアナログ的な値を扱わずに位相をシミュレーション変数とすることで、シミュレーションに必要な計算量を減らすことができる。また位相を連続時間量として計算すると、非特許文献２のように、微少な時間ステップで多数回の計算をする必要があるので計算量が増えるが、離散時間シミュレーションを実行することで計算量を減らすことができる。
【００２３】
項目（ｃ）に関して、クロック波形は一般に十分大きな振幅が使用される。この振幅は、いわゆる小振幅のクロックでも、クロックで駆動される回路に対して回路動作に十分な振幅が与えられるように設計するのが普通であるため、十分大きな振幅と言うことができる。このため、従来行われているシミュレーションでは、実際のクロック波形がアナログ
的な波形である場合にも、アナログ的な波形をシミュレーションで扱う必要はなく、タイミングのずれのみを考慮すればよかった。
【００２４】
これに対し信号伝送路を通って受信される信号は高周波成分が減衰しているため符号間干渉（Ｉｎｔｅｒｓｙｍｂｏｌ  Ｉｎｔｅｒｆｅｒｅｎｃｅ：ＩＳＩ）による波形歪みを受けている。また、伝送データの一単位を表すビットセルの中央だけでなくビットセルの境界のタイミングで判定を行う場合には、伝送データの波形のゼロクロス付近で信号が判定される。つまり、信号振幅のアナログ的な値を考慮したシミュレーションを行わないと正しい答えが出せない。一方、連続時間のアナログシミュレーションを行うと計算量が多く、シミュレーション時間が長くなってしまう。
【００２５】
しかし、扱うべき信号が一般の信号ではなく、性質が前もってわかった信号であり、しかもそれをほぼ一定のクロック周期で動作するクロック同期回路（判定回路）で判定する場合には、計算量を大幅に減らすことができる。具体的には、送られる信号は”ほぼ一定”のクロックで駆動されるバイナリ信号であり、これをやはり”ほぼ一定（初めのクロック周期とは異なって良い）”のクロックで駆動される判定回路で判定する場合、計算量を減らすことが可能である。
【００２６】
以下の説明では、判定回路が現在のビットに対して判定を下す場合のクロックエッジを時間の原点（ｔ＝０）とし、その他の時間はすべてこのクロックエッジに対する相対値で表す。一般に、送信された信号は、トランスミッタ、伝送路を通って判定回路の入力に到達する。トランスミッタに入る前の信号はディジタル信号であり、アナログ的な振幅変動の効果は考えなくて良くタイミング変動のみを考えれば良い。このため、トランスミッタに入る前の信号は、式（２）に示すように、理想的なバイナリ信号Ｘ（ｔ） で与えられる。
【００２７】
【数２】
2006065758.tif 000004
Ｘｎはｎビット目の信号値で−１または＋１である。（この例では、差動伝送を考えているため、１と０のかわりに＋１と−１を使用している。）またΠ（ｔ，τ１，τ２）はｔ＝τ１からτ２までの区間で値が１、その他の区間で０となるパルス波形（ユニットパルス波形）である。ここで、”０”は、伝送線が全く駆動されていないこと、すなわち信号が存在しないことを示す。τｎはトランスミッタ側のｎ番目のバイナリ信号のエッジの時間であり、先ほど述べたように判定回路のクロックエッジの立ち上がる時間に対する相対値である。
【００２８】
式（２）で表されるバイナリ信号の波形をトランスミッタ、伝送路、判定回路を通す効果は、これら３つの要素をまとめた実効的なインパルス応答ｈｅｑ（ｔ）と波形Ｘ（ｔ）のコンボリューション積分を行うことに等しい。したがって、判定回路の出力波形Ｙ（ｔ）は、式（３）となる。なお、式中の丸で囲った記号Ｘ（以下、文章中では＊で示す）は、コンボリューション積分を表す。
【００２９】
【数３】
2006065758.tif 000005
ここで、Π（ｔ，τｎ，τｎ＋１）とｈｅｑ（ｔ）のコンボリューションを先に行うと式（４）になる。
【００３０】
【数４】
2006065758.tif 000006
つまりユニットパルス波形Π（ｔ，τｎ，τｎ＋１）とｈｅｑ（ｔ）のコンボリューション波形が分かっていると、それにＸｎの重みを乗じて和を計算することで、判定回路から実効的に出力される信号の大きさが分かる。重み付き和の計算は数項の積和演算でよいため計算量は小さい。式（４）のコンボリューション積分の計算は、Π（ｔ，τｎ，τｎ
＋１）が式（５）で表されることを用いて、式（６）に変形できる。
【００３１】
【数５】
2006065758.tif 000007
【００３２】
【数６】
2006065758.tif 000008
ここでｕ（ｔ）は、ｔ＝０で立ち上がる単位ステップ関数である。つまり単位ステップ関数に対する判定回路の実効応答（応答関数）”ｕ（ｔ）＊ｈｅｑ（ｔ）”をシミュレーションに先立って求めて蓄積しておけば、実際のシミュレーションのときには、数項の積和演算を行うことにより判定回路の出力を求めることができる。
【００３３】
図２は、本発明の第１の実施形態を示している。図中の各要素は、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。各データは、ワークステーションＷＳがプログラムを実行するために使用され、あるいはワークステーションＷＳがプログラムを実行することで生成される。これ等プログラムおよびデータは、磁気テープ、光ディスク（ＭＯ、ＣＤ−ＲＯＭ）、あるいは磁気ディスク（ハードディスク）等の記憶媒体に記憶される。一般的には、プログラムは、磁気テープまたは光ディスク等からワークステーションＷＳ内のハードディスクに転送され、ワークステーションＷＳにより実行可能にハードディスク内に記憶されている。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００３４】
ワークステーションＷＳは、第１パラメタ抽出ブロック１００、シミュレーション実行ブロック２００およびグラフィカルユーザインタフェース（ＧＵＩ）３００を有している。ワークステーションＷＳは、図示した以外にもキーボード、マウス、液晶表示装置、プリンタ等の周辺機器を有している。ワークステーションＷＳは、クロックに同期して動作する回路の動作を解析するための回路解析装置として機能する。
【００３５】
第１パラメタ抽出ブロック１００は、回路データ１０、回路データ１０の要素回路にそれぞれ対応するパラメタ抽出部１２、パラメタ抽出部１２に共通の合成部１４を有している。回路データ１０は、ＳＰＩＣＥ等の回路シミュレータで使用するデータであり、シミュレーション対象の要素回路（クロック同期の受信回路、デジタルフィルタ等）が記述されている。パラメタ抽出部１２は、要素回路に接続される伝送路の帯域制限効果を含めたステップ応答またはパルス応答と、要素回路に供給される信号のインパルス応答とを抽出する。
【００３６】
合成部１４は、抽出部１２で抽出されたステップ応答、パルス応答およびインパルス応答の畳み込み（コンボリューション）を行う。例えば、合成部１４は、伝送路のステップ応答と判定回路の実効的インパルス応答のコンボリューションを実行する。そして、合成部１４は、伝送路の帯域制限効果も含めたフロントエンド回路の応答を実効的ステップ応答（または実効的パルス応答）である応答関数として求める。ここで、フロントエンド回路は、例えば、クロックに同期する信号を受信するクロック同期回路（判定回路）である。
【００３７】
このように、パラメタ抽出部１２および合成部１４は、シミュレーション対象の回路データ１０を用いて、クロック同期回路での伝送路の帯域制限効果を含めた実効的ステップ応答（または実効的パルス応答）を抽出する抽出部として機能する。実効的ステップ応答（または実効的パルス応答）は、各要素回路の動作の特徴を表すいわゆるビヘイビアパラメタの一種である。
【００３８】
シミュレーション実行ブロック２００は、信号データモデル２０、蓄積部２２、位相検
出器２４、デジタルフィルタ２６、位相インタポレータ２８およびエラー検出部３０を有している。信号データモデル２０は、位相検出器２４に入力される伝送信号ＤＡＴＡの論理（０／１）をランダムに発生するトランスミッタとして機能する。蓄積部２２は、パラメタ抽出ブロック１００で抽出された実効的合成ステップ応答を、シミュレーションに先立って蓄積する。そして、シミュレーション実行ブロック２００は、予めユーザ（設計者）等が作成した第１離散時間モデル（図示せず）に、ステップ蓄積部２２に蓄積された実効的ステップ応答（応答関数）を与えて第２離散時間モデル（フロントエンドモデルおよび論理回路モデル）を生成する。この例では、フロントエンドモデルは、クロックＣＬＫ（第１クロック）に同期して信号を受信するクロック同期回路（判定回路）の動作を表す位相検出器２４としてモデル化される。
【００３９】
論理回路モデルは、フロントエンドモデルから出力されるデータＤＡＴＡ、ＢＯＵＮＤを受信しフィルタ応答を位相インタポレータ２８に出力するデジタルフィルタ２６としてモデル化されている。ここで、データＤＡＴＡ、ＢＯＵＮＤは、図に示すように、データの論理が確定した領域で２値判定して得られた値と、データの遷移領域を２値判定して得られた値とをそれぞれ示す。
確定されたデータ（論理０／論理１のいずれか）およびデータの遷移中の境界データ（不確定データ）をそれぞれ示す。デジタルフィルタ２６は、確定データおよび境界データを検出することで、データに対するクロックＣＬＫの位相の進みおよび遅れを検出する。位相インタポレータ２８は、デジタルフィルタの検出結果に基づいてクロックＣＬＫの位相を調整し、クロック情報として位相検出器２４に出力する。
【００４０】
そして、シミュレーション実行ブロック２００は、蓄積部２２に蓄積された実効的ステップ応答と伝送路に送られたビット系列ＤＡＴＡ（０／１）とから実効入力値を計算する。すなわち、離散時間モデルを用いてシミュレーションが実行される。エラー検出部３０は、位相検出器２４の入力データと出力データとを比較することでシミュレーション結果を求める。シミュレーション結果は、グラフィカルユーザインタフェースＧＵＩを介してＣＲＴ等の表示装置に表示される。
【００４１】
グラフィカルユーザインタフェースＧＵＩは、第２離散時間モデルにおける各要素回路間に伝達される信号のタイミング情報を、シミュレーション対象の回路の論理を表す回路図情報に変換し、変換された回路図情報に基づいて回路図を表示装置に表示する。本発明では、シミュレーションは、例えば、伝送信号のビット列と、クロックエッジのタイミングとの系列を用いて実行される。このため、これらの情報を表示装置に表示するだけでは、シミュレーションを実行するユーザは、シミュレーション対象の実際の回路との対応をとることが困難である。本発明により、ユーザは、第２離散時間モデルを意識することなく、一般的なエディタと同様の操作で、要素回路の配置、回路間の配線を実施できる。
【００４２】
本発明では、回路の動作特性（ビヘイビア）に着目したビヘイビアモデル（フロントエンドモデルおよび論理回路モデル）による特性計算手法を採用する。一般に高速信号を扱う伝送回路はクロックに同期して信号を生成したり検出する判定回路（クロック同期回路）と、クロック無しで入力信号を処理する連続時間回路（例えば増幅回路）の組み合わせにより構成される。高速信号伝送での諸問題は、伝送路を含む連続時間回路による帯域制限を受けた信号を、やはり帯域制限があったりクロックにジッタを含むクロック同期回路で受信することにより生ずる。一般にクロック同期回路はクロックがアクティブになるタイミングで入力をサンプルし、その入力に応じた出力を次段の回路に送る。クロック同期回路にサンプルされる入力の実効値は、入力側の帯域制限とクロック同期回路自身の帯域制限を考慮することで求めることができる。クロック同期回路で一度サンプルされた信号は、クロックがアクティブになる離散的タイミングでの値のみを考慮すればよく、離散時間シミュレーションで扱うことができる。離散時間シミュレーションでは、信号の値を離
散的なタイミングに対してのみ評価すればよいため、連続時間シミュレーションに比較して計算量が非常に少ない。すなわち、伝送線路や増幅回路などで帯域制限された波形を、フロントエンド回路（判定回路）、クロックトコンパレータなどのクロック同期回路でサンプルする場合、信号の実効値の計算時間は、本発明の適用により短くなる。
【００４３】
図３は、図１のパラメタ抽出ブロック１００により抽出された応答関数の例を示している。ここでは、まず、パラメータ抽出部１２により、伝送路のステップ応答および判定回路のインパルス応答が抽出される。次に、合成部１４により抽出した応答関数の畳み込みが行われ、伝送路を含む判定回路の実効的な合成ステップ応答が抽出される。図４−図６は、図３に示した応答関数の波形を示している。
【００４４】
以上、本実施形態では、伝送路の帯域制限効果を含めたクロック同期回路のステップ応答またはパルス応答を抽出することで、第１クロックの取り込みエッジ付近での回路動作をアナログ的に正確にシミュレーションできる。取り込みエッジを除くタイミングでは、実質的にシミュレーションが不要である。したがって、高速で動作するクロック同期回路に入出力される信号の波形の歪みを離散時間モデルとして正確に扱うことができ、高い精度のシミュレーションを計算量を最小限にして短時間で実行できる。
【００４５】
ユーザは、第２離散時間モデルを意識することなく、一般的なエディタと同様の操作で、要素回路の配置、回路間の配線を実施できる。この結果、回路モデルの構築およびデバッグを容易に実施できる。
【００４６】
図７は、本発明の第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００４７】
この実施形態では、シミュレーション実行ブロック２００Ａ内に、パラメタ抽出部１２にそれぞれ対応して設けられ、パラメタ抽出部１２により抽出される応答関数をそれぞれ蓄積する蓄積部３２と、蓄積部３２に蓄積された応答を用いて実効的な合成ステップ応答を計算する合成部３４とが構成されている。合成部３４は、フロントエンドモデルに含まれる。第１パラメタ抽出ブロック１００Ａには、第１の実施形態の合成部１４は構成されていない。その他の構成は、第１の実施形態と同じである。
【００４８】
この実施形態では、応答関数は、クロック同期回路を構成する要素回路毎に抽出され、抽出部３２にそれぞれ蓄積される。合成部３４は、蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数を計算する。そして、予め作成された第１離散時間モデルに合成応答関数を与えて、第２離散時間モデルが生成される。応答関数を要素回路毎に抽出／蓄積することで、例えば、一部の要素回路の特性を変えながらシミュレーションを実行する場合にも、その要素回路の応答関数を再抽出し、合成応答関数を再計算するだけで、シミュレーションを実行できる。また、応答関数が要素回路にそれぞれ対応しているため、ワークステーションＷＳが実行するシミュレーションプログラムの保守性を向上できる。
【００４９】
以上、第２の実施形態においても第１の実施形態と同様の効果を得ることができる。さらに、要素回路のいずれかの特性を変える場合にも、ワークステーションＷＳが無駄な計算を行うことを防止でき、シミュレーション時間を短縮できる。
【００５０】
図８は、本発明の第３の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００５１】
この実施形態では、第１の実施形態の機能に加えて、クロックのジッタを考慮したシミュレーションを実行するための機能を有している。このために、ワークステーションＷＳは、第１パラメタ抽出ブロック１００に加えて、第２パラメタ抽出ブロック１００Ｃを有する。シミュレーション実行ブロック２００Ｃは、第１の実施形態のシミュレーション実行ブロック２００に加えて、ノイズデータ３６および第１ジッタ発生部３８を有している。
【００５２】
第２パラメタ抽出ブロック１００Ｃは、シミュレーションに先立ち、回路データに基づいて電源ノイズ等の外部ノイズの影響により発生するクロックバッファのジッタ（ノイズ／ジッタトランスファ＝ビヘイビアパラメタ（第１パラメタ））を抽出する。クロックバッファは、例えば、外部クロック（第１クロックＣＬＫ）を受信し、受信したクロックを内部回路に出力するためにＬＳＩ内に形成されている。抽出されたトランスファは、パラメタ抽出ブロック１００Ｃ内の図示しない蓄積部に蓄積される。
【００５３】
シミュレーション実行ブロック２００Ｃのノイズデータ３６は、シミュレーションに先立って、ＳＰＩＣＥ等により計算することで求められる。回路を駆動するクロックに関しては、クロックがアクティブになるサイクルごとにクロックがアクティブになるタイミングのゆらぎ（ジッタ）を用いる。ジッタもクロックの立ち上がり時のみ定義される変数であるため離散時間モデルで扱うことができる。このため、第１ジッタ発生部３８は、離散時間モデル（ＦＩＲフィルタあるいはＩＩＲフィルタ）として構成される。
【００５４】
第１ジッタ発生部３８は、ノイズデータ３６から電源ノイズのデータ（ノイズ情報）を受け、ノイズ／ジッタトランスファを用いてこのノイズデータにより発生するジッタを計算する。すなわち、第１ジッタ発生部３８は、ジッタの発生に関するビヘイビアパラメタを用いて、ノイズデータからジッタを発生させ、このジッタを第２離散時間モデルに与える。そして、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでのクロック同期回路（フロントエンドモデル）に入出力される信号の実効的信号値が、第２離散時間モデルを用いて計算される。具体的には、ジッタを含むクロックエッジは、フロントエンドにおいて、ジッタ発生部３８からのジッタを位相インタポレータ２８からのクロック位相に加算することで求められる。したがって、シミュレーション実行ブロック２００Ｃは、線路や判定回路の帯域制限による信号波形の歪みだけでなく、ジッタも考慮したシミュレーションを実行する。なお、ジッタが位相インタポレータ２８で発生する場合には、ジッタ発生部３８からのジッタを位相インタポレータ２８に与えてもよい。
【００５５】
図９は、図８のパラメタ抽出ブロック１００Ｃにより抽出されたノイズ／ジッタトランスファの例を示している。ノイズ／ジッタトランスファは、ＩＳＦ（Impulse Sensitivity Function）として表されている。ここでは、クロックバッファのみのＩＳＦ、クロックバッファに位相インタポレータを接続したときのＩＳＦ、およびＩＳＦを得るために用いた判定回路へのサンプリングクロックを示している。図１０は、クロックバッファのみのＩＳＦの波形を示している。図１１は、図１０のＩＳＦを得るために用いたサンプリングクロックの波形を示している。図１２は、クロックバッファに位相インタポレータを接続したときのＩＳＦの波形を示している。図１３は、図１２のＩＳＦを得るために用いたサ
ンプリングクロックの波形を示している。
【００５６】
以上、第３の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、本実施形態では、クロック同期回路に入出力される信号の波形の歪みだけでなく、第１クロックのジッタを考慮して正確なシミュレーションを実行できる。この結果、より高い精度のシミュレーションを短時間で実行できる。
【００５７】
図１４は、本発明の第４の実施形態を示している。第１および第３の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００５８】
一般に、ほとんどのＬＳＩでは、内部回路は周期的に動作しており、電源ノイズは周期的に発生する。電源ノイズの影響によるジッタも周期的に発生し易い。このため、この実施形態では、第１の実施形態の機能に加えて、周期的に発生するジッタを考慮したシミュレーションを実行するための機能を有している。ワークステーションＷＳは、第３の実施形態の第２パラメタ抽出ブロック１００Ｃの代わりに第３パラメタ抽出ブロック１００Ｄを有している。ノイズデータ３７は、例えば、第３の実施形態のノイズデータ３６に周期性を持たせたデータである。第３パラメタ抽出ブロック１００Ｄは、ノイズデータ３７に基づいて、ノイズ波形に対するクロックエッジの位相と、発生するジッタとの関係（第１パラメタ）を抽出し、ジッタテーブル４０に蓄積する。ジッタテーブル４０にノイズの１周期分の第１パラメタが蓄積されれば、シミュレーションを実行可能である。
【００５９】
ノイズが周期的な場合、着目するクロックエッジがノイズの周期波形に対してどの位置にあるかを知るだけで、ノイズにより発生するジッタの大きさを知ることができる。したがって、ジッタテーブル４０を検索（ルックアップ）することでジッタを計算できる。あるいは、ジッタテーブル４０に蓄積された第１パラメタの数が少ない場合にも、補間等の操作を行うことで、ジッタを計算できる。
【００６０】
ジッタテーブル４０の検索および補間は、ジッタ発生部４４が実施する。また、ジッタ発生部４０は、振幅パラメタ４２を用いてクロックＣＬＫ（第１クロック）の振幅を変更可能である。ジッタ発生部４４によりジッタテーブル４０を参照することで、ジッタを発生させ、シミュレーションを実行できるため、シミュレーションの計算量をさらに削減できる。
【００６１】
以上、第４の実施形態においても、上述した第１および第３の実施形態と同様の効果を得ることができる。さらに、ジッタテーブル４０にノイズ波形に対するクロックエッジの位相と、発生するジッタとの関係を予め保持しておくことで、シミュレーションの計算量をさらに削減できる。
【００６２】
図１５は、本発明の第５の実施形態を示している。第１および第３の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００６３】
この実施形態では、第３の実施形態の機能に加えて、例えばＶＣＯ等のように帰還ループにより再生的にクロック（第２クロック）を生成するクロック再生回路のジッタ（再生クロックのジッタ）を考慮したシミュレーションを実行するための機能を有している。
【００６４】
シミュレーション対象の回路ブロックが、クロックに同期して信号を受信するクロック同期回路（またはクロックバッファのようにクロックを受けて動作するクロック駆動回路）と、クロック再生回路とを有する場合、これ等回路で発生するジッタは、別々に計算する必要がある。これは、クロック同期回路（またはクロック駆動回路）では、クロックが外から与えられるとして、与えられたクロックのエッジがどのように揺らぐかを計算すればよいのに対し、クロック再生回路では、あるクロックエッジで発生するジッタが次のクロックエッジの位置に影響を及ぼすためである。このため、クロック同期回路（またはクロック駆動回路）では、本来のクロックエッジに対してどれだけずれるかを計算するのに対し、クロック再生回路では、１周期前のクロックエッジのタイミングに、ノイズの影響を受けた周期が加算されて次のクロックエッジの値が計算される。これ等機能を実現するために、ワークステーションＷＳは、第３の実施形態の第１および第２パラメタ抽出ブロック１００、１００Ｃの他に、再生クロックのジッタ用の第４パラメタ抽出ブロック１００Ｅを有している。
【００６５】
第４パラメタ抽出ブロック１００Ｅは、第２パラメタ抽出ブロック１００Ｃと同様に、シミュレーションに先立って、回路データに基づいて電源ノイズ等の外部ノイズの影響により発生するクロック再生回路のジッタ（ノイズ／ジッタトランスファ＝ビヘイビアパラメタ（第２パラメタ））を抽出する。抽出されたトランスファは、第４パラメタ抽出ブロック１００Ｅ内の図示しない蓄積部に蓄積される。
【００６６】
第２ジッタ発生部４６は、第１ジッタ発生部３８と同様に、離散時間モデル（ＦＩＲフィルタあるいはＩＩＲフィルタ）として構成されている。また、第２ジッタ発生部４６は、第１ジッタ発生部３８と同様に、図示しないノイズデータから電源ノイズのデータ（ノイズ情報）を受け、第４パラメタ抽出ブロック１００Ｅからのノイズ／ジッタトランスファを用いてこのノイズデータにより発生するジッタを計算する。そして、ジッタを有する再生クロック（第２クロック）の取り込みエッジのタイミングおよびこのタイミングでのクロック再生回路（フロントエンドモデル）に入出力される信号の実効的信号値が、第２離散時間モデルを用いて計算される。したがって、シミュレーション実行ブロック２００Ｅは、線路や判定回路の帯域制限による信号波形の歪みおよび外部クロックのジッタだけでなく、クロック再生回路が発生する再生クロックも考慮したシミュレーションを実行できる。
【００６７】
以上、第５の実施形態においても、上述した第１および第３の実施形態と同様の効果を得ることができる。さらに、ＶＣＯ等のクロック再生回路を含む回路ブロックにおいて、再生クロックのジッタを考慮して正確なシミュレーションを実行できる。また、チップ上に複数のＶＣＯが形成される場合に、これ等ＶＣＯの相互作用や、ＶＣＯの発振周波数の引き込み現象などを容易に扱うことができる。
【００６８】
図１６は、本発明の第６の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００６９】
この実施形態では、複数のクロックドメインＣＤ１−３から構成された回路のシミュレーションを実行するために、シミュレーション実行ブロック２００Ｆは、正しい順番でクロックを発生させるタイミングマネージャ４８を有している。各クロックドメインＣＤ１−３は、第１の実施形態のフロントエンドモデルおよび論理回路モデルに対応しており、異種のクロック（第１クロック）に同期してそれぞれ動作する。クロックＣＬＫ１−３の周期は、同じでもよく、互いに相違してもよい。また、パラメタ抽出ブロック１０１、１０２、１０３および蓄積部２２１、２２２、２２３が、各フロントエンドモデルに対応して構成されている。パラメタ抽出ブロック１０１、１０２、１０３および蓄積部２２１、２２２、２２３は、第１の実施形態のパラメタ抽出ブロック１００および蓄積部２２にそれぞれ対応する要素である。
【００７０】
通常、システム中に複数のクロックドメインがある場合、クロックドメインＣＤ１−３にそれぞれ属するクロックＣＬＫ１−３の立ち上がりエッジは、それぞれ独立に変動する。単一のクロックドメインしかない場合にも、ジッタを考えるとたくさんの独立なクロックエッジがあると見なせる。通常の論理回路では、ジッタがよほど大きくない限り、回路はジッタに依存することなくデータを取り込むことができる。一方、信号伝送回路内では、クロックエッジの前後関係によって、信号伝送回路に含まれる判定回路の出力が大きく変化する場合がある。具体的には、判定回路がビットセルの境界のタイミングでデータを読み込む場合が考えられる。
【００７１】
この例では、まず、クロックドメインでそれぞれ使用される第１クロックＣＬＫ１−３の取り込みエッジタイミングの相対関係が抽出される。次に、タイミングマネージャは、抽出した相対関係に従って第１クロックＣＬＫ１−３を順次生成する。そして、順次生成された第１クロックＣＬＫ１−３に応じて、前記クロックドメインのシミュレーションが実行される。
【００７２】
このような場合、クロックエッジの前後関係は、回路動作に大きな影響を与える。このため、タイミングマネージャ４８を用いて、回路動作に影響を与えるクロックエッジの位置を全て計算し、クロックエッジの順番にしたがってシミュレーションモデルの要素ブロックを順番にアクティブにしていく。すなわち、クロックドメインＣＤ１−３でそれぞれ使用されるクロックＣＬＫ１−３の取り込みエッジタイミングの相対関係が抽出され、抽出された相対関係に従ってクロックが順次生成される。より具体的には、各クロックドメインＣＤ１−３のフロントエンドモデルは、クロックが入力される毎に現在のクロックエッジのタイミングから次のクロックエッジのタイミングを計算し、タイミングマネージャ４８に返す（クロックの相対関係の抽出）。タイミングマネージャ４８は、フロントエンドモデルから受けたクロックエッジのタイミング値をテーブル等に保持し、保持されたタイミング値のうち、一番値が小さいタイミング値に対応するフロントエンドモデルのクロックをアクティブにする。タイミングマネージャ４８を使うことにより、複数のクロックドメインがある場合や、送信側と受信側のクロック周波数が異なる場合でも（例えば、ＬＳＩのスタートアップ時にクロック復元回路がロックしていない状態）、クロックエッジの順序を正しく扱うことができる。
【００７３】
以上、第６の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、シミュレーション対象の回路ブロックが複数のクロックドメインで構成される場合にも、タイミングマネージャ４８を用いることで、高い精度のシミュレーションを実行できる。
【００７４】
図１７は、本発明の第７の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。図
中の各要素は、第１の実施形態と同様に、ワークステーションＷＳ（コンピュータ）によって実行されるプログラム、またはワークステーションＷＳによってアクセスされるデータ（ファイル）を示している。ワークステーションＷＳのシステム構成は、第１の実施形態と同じである。以降では、各要素をワークステーションＷＳの構成要素として説明する。
【００７５】
この実施形態では、シミュレーション対象の回路のうち、帯域制限等によるアナログ的な効果を考慮すべき回路ブロックを、予め作成されたテンプレートの中から選択することで、シミュレーション実行モデル（第２離散時間モデル）を自動的に生成する機能を有している。この機能を実現するために、アナログ的な効果を考慮すべき回路ブロックのテンプレート（高速信号伝送回路の典型的なテンプレート）が予め作成され、標準モデルライブラリとして登録される。テンプレートとして、例えば、マルチプレクサ、トランスミッタフロントエンドからなるトランスミッタ、判定回路、デマルチプレクサ、クロックリカバリ回路からなるレシーバ等がある。
【００７６】
次に、ユーザがシミュレーション対象の回路ブロック内の伝送回路とテンプレートとの対応情報をグラフィカルユーザインタフェースＧＵＩを用いて入力する。この後、パラメタ抽出ブロック１００は、第１の実施形態と同様に実効的な合成ステップ応答を抽出する。自動生成ブロック４００は、指定されたテンプレートに含まれる第１離散時間モデルに、パラメタ抽出ブロック１００により抽出された実効的ステップ応答（応答関数）を与えて第２離散時間モデル（フロントエンドモデルおよび論理回路モデル）を自動的に生成する。そして、シミュレーション実行ブロック２００Ｇは、生成された第２離散時間モデル（フロントエンドモデルおよび論理回路モデル）を用いて、伝送路に送られたビット系列ＤＡＴＡ（０／１）から実効入力値を計算する。すなわち、離散時間モデルを用いてシミュレーションが実行される。
【００７７】
以上、第７の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、シミュレーション実行モデル（第２離散時間モデル）を自動的に生成できるため、ユーザの負荷を最小限にしてシミュレーションを実行できる。
【００７８】
なお、上述した実施形態では、本発明を、クロックに同期して信号を受信する受信回路した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明は、送信回路に適用してもよい。
【００７９】
また、上述した第３〜第７の実施形態に記載した発明を、それぞれ第２の実施形態に追加してもよい。
【００８０】
上述した第３の実施形態では、電源ノイズにより発生するクロックのジッタに関するビヘイビアモデルを抽出し、シミュレーションを実行する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、ＬＳＩ内部のトランジスタや抵抗などの素子が発生する内部ノイズによるクロックのジッタに関するビヘイビアパラメタを抽出し、シミュレーションを実行してもよい。
【００８１】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
クロックに同期して動作する回路のコンピュータによる回路解析方法であって、
シミュレーション対象の回路データを用いて、信号を第１クロックに同期して受信または送信するクロック同期回路での前記第１クロックの取り込みエッジに対応して、伝送路の帯域制限効果を含めたステップ応答またはパルス応答のいずれかである応答関数を抽出し、
前記回路データから作成された第１離散時間モデルに前記応答関数を与えて第２離散時間モデルを生成し、
シミュレーションを実行するために、前記取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散モデルを用いて計算することを特徴とする回路解析方法。（１）
（付記２）
付記１記載の回路解析方法において、
前記応答関数を前記クロック同期回路を構成する要素回路毎に抽出し、
抽出された応答関数をそれぞれ蓄積し、
蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数を計算し、
前記第２離散時間モデルは、前記第１離散時間モデルに前記合成応答関数を与えて生成されることを特徴とする回路解析方法。（２）
（付記３）
付記１記載の回路解析方法において、
ノイズと、このノイズにより発生する第１クロックのジッタとの関係を示す第１パラメタを抽出し、
前記第１パラメタに基づいて、前記第２離散時間モデルにジッタを与えるために第１クロックにジッタを発生し、
シミュレーションを実行するために、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散時間モデルを用いて計算することを特徴とする回路解析方法。（３）
（付記４）
付記３記載の回路解析方法において、
前記第１パラメタを、周期的なノイズの位相および第１クロックの取り込みエッジのタイミングの位相の差と、周期的なノイズにより発生する第１クロックのジッタとの関係から抽出し、
抽出した前記第１パラメタをテーブルに蓄積することを特徴とする回路解析方法。（４）
（付記５）
付記３記載の回路解析方法において、
ノイズと、シミュレーション対象の回路に含まれるクロック再生回路から生成される再生クロックである第２クロックにおいてこのノイズにより発生するジッタとの関係を示す第２パラメタを抽出し、
前記第２パラメタに基づいて、前記第２離散時間モデルに与える第２クロックにジッタを発生し、
ジッタを有する第２クロックの実効的信号値を、前記第２離散時間モデルを用いて計算することを特徴とする回路解析方法。（５）
（付記６）
付記１記載の回路解析方法において、
シミュレーション対象の回路内に構成される複数のクロックドメインでそれぞれ使用される第１クロックの取り込みエッジタイミングの相対関係を抽出し、
抽出した相対関係に従ってタイミングマネージャにより前記第１クロックを順次生成し、
順次生成された前記第１クロックに応じて、前記クロックドメインのシミュレーションを実行することを特徴とする回路解析方法。（６）
（付記７）
付記１記載の回路解析方法において、
前記クロック同期回路を構成する要素回路にそれぞれ対応して予め作成された第１離散時間モデルを含む複数のテンプレートの少なくともいずれかのユーザによる選択に応答し
て、前記第２離散時間モデルを自動的に生成することを特徴とする回路解析方法。
（付記８）
付記１記載の回路解析方法において、
第２離散時間モデルにおける各要素回路間に伝達される信号のタイミング情報を、シミュレーション対象の回路の論理を表す回路図情報に変換し、
グラフィカルユーザインタフェースを用いて、変換された回路図情報に基づいて回路図を表示装置に表示することを特徴とする回路解析方法。
（付記９）
クロックに同期して動作する回路の動作を解析するための回路解析装置であって、
シミュレーション対象の回路データを用いて、信号を第１クロックに同期して受信または送信するクロック同期回路での前記第１クロックの取り込みエッジに対応して、伝送路の帯域制限効果を含めたステップ応答またはパルス応答のいずれかである応答関数を抽出する第１パラメタ抽出ブロックと、
前記回路データから作成された第１離散時間モデルに前記応答関数を与えて第２離散時間モデルを生成するモデル生成ブロックと、
前記取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を前記第２離散モデルを用いて計算し、シミュレーションを実行するシミュレーション実行ブロックとを備えていることを特徴とする回路解析装置。（７）
（付記１０）
付記９記載の回路解析装置において、
前記第１パラメタ抽出ブロックに設けられ、前記応答関数を前記クロック同期回路を構成する要素回路毎に抽出する複数のパラメタ抽出部と、
抽出された応答関数をそれぞれ蓄積する蓄積部と、
蓄積された応答関数に基づいて、要素回路を接続した状態での合成応答関数を計算する合成部とを備え、
前記モデル生成ブロックは、前記第１離散時間モデルに前記合成応答関数を与えて前記第２離散時間モデルを生成することを特徴とする回路解析装置。（８）
（付記１１）
付記９記載の回路解析装置において、
ノイズと、このノイズにより発生する第１クロックのジッタとの関係を示す第１パラメタを抽出する第２パラメタ抽出ブロックと、
前記第１パラメタに基づいて、前記第２離散時間モデルにジッタを与えるために第１クロックにジッタを発生させる第１ジッタ発生部とを備え、
前記シミュレーション実行ブロックは、ジッタを有する第１クロックの取り込みエッジのタイミングおよびこのタイミングでの前記クロック同期回路に入出力される信号の実効的信号値を、前記第２離散時間モデルを用いて計算し、シミュレーションを実行することを特徴とする回路解析装置。（９）
（付記１２）
付記１１記載の回路解析装置において、
前記第１パラメタを、周期的なノイズの位相および第１クロックの取り込みエッジのタイミングの位相の差と、周期的なノイズにより発生する第１クロックのジッタとの関係から抽出する第３パラメタ抽出ブロックと、
抽出した前記第１パラメタを蓄積するジッタテーブルとを備えていることを特徴とする回路解析装置。
（付記１３）
付記１１記載の回路解析装置において、
ノイズと、シミュレーション対象の回路に含まれるクロック再生回路から生成される再生クロックである第２クロックにおいてこのノイズにより発生するジッタとの関係を示す第２パラメタを抽出する第４パラメタ抽出ブロックと、
前記第２パラメタに基づいて、前記第２離散時間モデルにジッタを与えるために第２クロックにジッタを発生させる第２ジッタ発生部とを備え、
前記シミュレーション実行ブロックは、ジッタを有する第２クロックの実効的信号値を、前記第２離散時間モデルを用いて計算し、シミュレーションを実行することを特徴とする回路解析装置。
（付記１４）
付記９記載の回路解析装置において、
シミュレーション対象の回路内に構成される複数のクロックドメインでそれぞれ使用される第１クロックの取り込みエッジタイミングの相対関係を抽出するとともに、抽出した相対関係に従って前記第１クロックを順次生成するタイミングマネージャを備え、
前記シミュレーション実行ブロックは、順次生成された前記第１クロックに応じて、前記クロックドメインのシミュレーションを実行することを特徴とする回路解析装置。（１０）
（付記１５）
付記９記載の回路解析装置において、
前記クロック同期回路を構成する要素回路にそれぞれ対応して予め作成された第１離散時間モデルを含む複数のテンプレートの少なくともいずれかのユーザによる選択に応答して、前記第２離散時間モデルを自動的に生成するモデル自動生成ブロックを備えていることを特徴とする回路解析装置。
（付記１６）
付記９記載の回路解析装置において、
第２離散時間モデルにおける各要素回路間に伝達される信号のタイミング情報を、シミュレーション対象の回路の論理を表す回路図情報に変換するとともに、変換された回路図情報に基づいて回路図を表示装置に表示するグラフィカルユーザインタフェースを備えていることを特徴とする回路解析装置。
【００８２】
付記７および付記１５では、第２離散時間モデルを生成するステップは、複数のテンプレートの少なくともいずれかのユーザによる選択に応答して、第２離散時間モデルを自動的に生成する。テンプレートは、クロック同期回路を構成する要素回路にそれぞれ対応して予め作成された第１離散時間モデルをそれぞれ含んでいる。シミュレーション実行モデル（第２離散時間モデル）を自動的に生成することで、ユーザの負荷を最小限にしてシミュレーションを実行できる。
【００８３】
付記８および付記１６では、まず、第２離散時間モデルにおける各要素回路間に伝達される信号のタイミング情報が、シミュレーション対象の回路の論理を表す回路図情報に変換される。次に、グラフィカルユーザインタフェースを用いて、変換された回路図情報に基づいて回路図が表示装置に表示される。本発明では、シミュレーションは、例えば、伝送信号のビット列と、クロックエッジのタイミングとの系列を用いて実行される。このため、これらの情報を表示装置に表示するだけでは、シミュレーションを実行するユーザは、シミュレーション対象の実際の回路との対応をとることが困難である。本発明により、ユーザは、第２離散時間モデルを意識することなく、一般的なエディタと同様の操作で、要素回路の配置、回路間の配線を実施できる。この結果、回路モデルの構築およびデバッグを容易に実施できる。
【００８４】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００８５】
【図１】本発明の基本原理を示すブロック図である。
【図２】本発明の第１の実施形態を示すブロック図である。
【図３】図１のパラメタ抽出ブロックにより抽出された応答関数の例を示す説明図である。
【図４】図１のパラメタ抽出部により抽出された伝送路のステップ応答の例を示す波形図である。
【図５】図１のパラメタ抽出部により抽出された判定回路のインパルス応答の例を示す波形図である。
【図６】図１の合成部により抽出された伝送路を含む判定回路の実効的ステップ応答の例を示す波形図である。
【図７】本発明の第２の実施形態を示すブロック図である。
【図８】本発明の第３の実施形態を示すブロック図である。
【図９】図８のパラメタ抽出ブロック１００Ｃにより抽出されたノイズ／ジッタトランスファの例を示す説明図である。
【図１０】クロックバッファのみのＩＳＦを示す波形図である。
【図１１】図１０のＩＳＦを得るために用いたサンプリングクロックを示す波形図である。
【図１２】クロックバッファに位相インタポレータを接続したときのＩＳＦを示す波形図である。
【図１３】図１２のＩＳＦを得るために用いたサンプリングクロックを示す波形図である。
【図１４】本発明の第４の実施形態を示すブロック図である。
【図１５】本発明の第５の実施形態を示すブロック図である。
【図１６】本発明の第６の実施形態を示すブロック図である。
【図１７】本発明の第７の実施形態を示すブロック図である。
【符号の説明】
【００８６】
１０  回路データ
１２  パラメタ抽出部
１４  合成部
２０  信号データモデル
２２  蓄積部
２２１、２２２、２２３  蓄積部
２４  位相検出器
２６  デジタルフィルタ
２８  位相インタポレータ
３０  エラー検出部
３２  蓄積部
３４  合成部
３６、３７  ノイズデータ
３８  ジッタ発生部
４０  ジッタテーブル
４２  振幅パラメタ
４４、４６  ジッタ発生部
４８  タイミングマネージャ
１００、１００Ａ、１００Ｃ、１００Ｄ、１００Ｅ  パラメタ抽出ブロック
１０１、１０２、１０３、１００Ｄ  パラメタ抽出ブロック
２００、２００Ａ、２００Ｇ  シミュレーション実行ブロック
２００Ｅ、２００Ｆ、２００Ｃ、２００Ｄ  シミュレーション実行ブロック
３００  グラフィカルユーザインタフェース
４００  モデル自動生成ブロック
ＣＤ１−ＣＤ３  クロックドメイン
ＷＳ  ワークステーション
【図１】
2006065758.tif 000009
【図２】
2006065758.tif 000010
【図３】
2006065758.tif 000011
【図４】
2006065758.tif 000012
【図５】
2006065758.tif 000013
【図６】
2006065758.tif 000014
【図７】
2006065758.tif 000015
【図８】
2006065758.tif 000016
【図９】
2006065758.tif 000017
【図１０】
2006065758.tif 000018
【図１１】
2006065758.tif 000019
【図１２】
2006065758.tif 000020
【図１３】
2006065758.tif 000021
【図１４】
2006065758.tif 000022
【図１５】
2006065758.tif 000023
【図１６】
2006065758.tif 000024
【図１７】
2006065758.tif 000025