(57)【特許請求の範囲】
【請求項１】
基準クロック信号が入力される基準入力端子と、周波数の異なる複数の出力クロック信号がそれぞれ出力される複数の出力端子と、複数の前記出力クロック信号のいずれかが帰還クロック信号として入力される帰還入力端子とを備えており、複数の前記出力クロック信号が、前記基準クロック信号を逓倍した逓倍出力クロック信号および前記基準クロック信号を分周した分周出力クロック信号の少なくとも一方を含んでいるＰＬＬ回路を含む回路のシミュレーションを行うプログラムであって、
前記ＰＬＬ回路を含む回路のシミュレーションを実行する際に、
互いに異なる複数のダミー信号を複数の前記出力端子からそれぞれ出力すると共に、複数の前記ダミー信号が出力されたことを示す情報を第１記憶手段に記憶させ、
前記第１記憶手段に記憶されている前記情報を調べて複数の前記ダミー信号の出力が完了していることを確認した後、前記帰還入力端子に入力された信号を複数の前記ダミー信号と比較し、もって複数の前記出力クロック信号のいずれが前記帰還クロック信号として前記帰還入力端子に入力されたかを識別する
という手順をコンピュータに実行させるシミュレーション・プログラム。
【請求項２】
複数の前記ダミー信号として、互いに論理値の異なるパルス信号を使用する請求項１に記載のシミュレーション・プログラム。
【請求項３】
前記論理値の異なるパルス信号として、論理値が０、１およびＸのうちの少なくとも二つを含むパルス信号を使用する請求項２に記載のシミュレーション・プログラム。
【請求項４】
複数の前記ダミー信号として、互いに周期の異なるパルス信号を使用する請求項１に記載のシミュレーション・プログラム。
【請求項５】
前記周期の異なるパルス信号として、パルス繰り返し周波数が異なるパルス信号を使用する請求項４に記載のシミュレーション・プログラム。
【請求項６】
複数の前記ダミー信号として、互いに論理値の組み合わせが異なるパルス信号を使用する請求項１に記載のシミュレーション・プログラム。
【請求項７】
前記論理値の組み合わせが異なるパルス信号として、複数ビットの論理値の組み合わせが異なるパルス信号を使用する請求項６に記載のシミュレーション・プログラム。
【請求項８】
前記ＰＬＬ回路がロック端子をさらに備えていて、前記ＰＬＬ回路に接続された回路を動作可能状態または動作不能状態に設定するロック信号を前記ロック端子から出力する機能を有しており、
複数の前記出力クロック信号のいずれが前記帰還クロック信号として前記帰還入力端子に入力されたかを識別した後に、前記基準クロック信号の変化時刻と前記帰還クロック信号の変化時刻を第２記憶手段に記憶させ、
前記基準クロック信号および前記帰還クロック信号のうちで周期が長いものについて所定のイベントの発生を検出し、
検出された前記イベントの発生を基準として、前記第２記憶手段に記憶されている前記基準クロック信号の変化時刻及び前記帰還クロック信号の変化時刻を読み出して比較し、その比較結果に応じて前記ロック信号の論理値を設定する
という手順をコンピュータに実行させる請求項１〜７のいずれか１項に記載のシミュレーション・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、位相同期ループ（Phase-Locked Loop,ＰＬＬ）回路を用いた回路のシミュレーション・プログラムに関し、さらに言えば、周波数の異なる出力クロック信号をそれぞれ出力する複数の出力端子を備えたＰＬＬ回路を含む回路のシミュレーションを行うシミュレーション・プログラムに関する。本発明は、ＰＬＬ回路を含む大規模論理回路の論理シミュレーションに好適に使用できるものである。
【０００２】
【従来の技術】
近年、論理シミュレーション方法として、「イベントドリブン（Event Driven：事象駆動）法」が一般的に用いられている。イベントドリブン法では、論理回路中の信号の変化を「イベント」と呼び、このイベントに基づいて論理回路の動作をシミュレーションしている。
【０００３】
すなわち、指定された時刻（以下、現在時刻という）にイベントがある場合、論理回路を構成する回路セルの中からそのイベントによって入力信号の変化する回路セル（例えば、ＡＮＤ、ＯＲ、フリップフロップなど）を特定し、特定された回路セルのみを対象に動作の演算を行う。この演算は、回路セルの動作が定義された「シミュレーション・モデル」（以下、単に「モデル」ともいう）を用いて実行される。演算の結果、対象とされた回路セルの出力信号が変化した場合には、その出力信号の変化を新たなイベントとみなす。新たなイベントの発生時刻（すなわち、出力信号の変化時刻）は、回路セルの予め定められた遅延時間だけ現在時刻から遅れた時刻に設定する。そして設定された発生時刻にその新たなイベントを登録する。このような手順を現在時刻を進めながら繰り返し行うことにより、論理回路全体の論理動作をシミュレーションするのである。
【０００４】
一般に、大規模な論理回路は、クロックスキュー（Clock Skew）を抑制するためにＰＬＬ回路を備えている。従来、このようなＰＬＬ回路を備えた論理回路をイベントドリブン法により論理シミュレーションする方法としては、ＰＬＬ回路の演算に「ダミー・モデル」を用いる論理シミュレーション方法が知られている。このダミー・モデルは、入力信号の位相を所定の遅延時間だけ遅らせることによって出力信号を得る回路セル（いわゆる、遅延回路）に対応したモデルである。しかし、ダミー・モデルを用いる従来の論理シミュレーション方法では、ＰＬＬ回路に特有の動作がシミュレーションできない。その理由は次の通りである。
【０００５】
すなわち、本来、ＰＬＬ回路では、入力された基準クロック信号と帰還（フィードバック）された帰還クロック信号とが常に同期するように、ＰＬＬ回路の出力クロック信号の位相が制御される。すなわち、基準クロック信号と帰還クロック信号とに位相差が生じれば、その位相差に応じて出力クロック信号の位相が調整される。例えば、帰還クロック信号の位相が変化した場合や基準クロック信号に周波数の変化が生じた場合には、基準クロック信号と帰還クロック信号の同期を維持するために、出力クロック信号の位相が変化せしめられる。このように、帰還クロック信号の位相に対応して出力クロック信号の位相が変化するのは、ＰＬＬ回路に特有の動作である。
【０００６】
これに対し、ダミー・モデルを用いる従来のシミュレーション方法では、遅延値定義ファイル（Standard Delay File,ＳＤＦ）に格納された標準遅延値を使用してＰＬＬ回路のシミュレーションが実行されるので、出力クロック信号の位相は帰還クロック信号と無関係に定められ、その結果、基準クロック信号と帰還クロック信号とは同期しない。したがって、基準クロック信号と帰還クロック信号とが同期しない状態での動作（以下、非同期動作という）がシミュレーションされることになる。つまり、シミュレーションの精度が劣ることになるのである。
【０００７】
他の論理シミュレーション方法としては、ＰＬＬ回路の動作をそのまま再現した「ネットリスト形式のモデル」を用いる論理シミュレーション方法がある。
【０００８】
このネットリスト形式のモデルを用いる従来の論理シミュレーション方法では、上述したＰＬＬ回路の本来の動作がシミュレーションされるので、基準クロック信号と帰還クロック信号とが同期した状態での動作（以下、同期動作という）をシミュレーションすることが可能となる。しかし、この論理シミュレーション方法では、同期動作に達するまでに何千クロック分もの処理が必要となるから、シミュレーション時間が膨大となってしまう。したがって、通常、この方法は採用されていない。
【０００９】
上記の問題を解消するため、従来から種々の改善されたシミュレーション方法が開発・提案されている。
【００１０】
例えば、特開平９−５３９７号公報には、上記のような問題を解消する論理シミュレーション方法が開示されている。この論理シミュレーション方法では、ＰＬＬ回路の出力クロック信号（内部クロック信号）に所定の遅延時間を与えるための「遅延手段」を有している。そして、この遅延手段において、ＰＬＬ回路の出力クロック信号と帰還クロック信号との間の遅延時間を、所定の遅延量に加算する。こうして、その加算した遅延時間だけ基準クロック信号よりも位相が前にずれた「仮想クロック信号」を生成する。そして、こうして得た仮想クロック信号を用いて論理シミュレーションを行うのである。
【００１１】
特開平９−５３９７号公報にはまた、遅延手段において、基準クロック信号（外部クロック信号）の１周期長に相当する時間から所定の遅延量を引いた時間だけ遅れた出力クロック信号（内部クロック信号）「遅延出力クロック信号」を生成する論理シミュレーション方法も開示されている。
【００１２】
このように、特開平９−５３９７号公報に開示された二つの論理シミュレーション方法では、遅延手段において生成される「仮想クロック信号」や「遅延出力クロック信号」を用いることによって、ＰＬＬ特有の同期動作のシミュレーションを行うことが可能となる。
【００１３】
特開平２０００−２７８１１８号公報にも、上記のような問題を解消する論理シミュレーション方法が開示されている。この論理シミュレーション方法では、帰還クロック信号」が変化した時刻（基準時刻）から、基準クロック信号の立ち上がり変化または立ち下がり変化が起こる現在時刻までの時間差（つまり位相差）を算出し、それを「付加遅延値」として設定する。そして、例えば、基準クロック信号の立ち下がり変化があると、第１遅延値を遅延時間として設定し、基準クロック信号の立ち上がり変化があると、第２遅延値（＝第１遅延値＋付加遅延値）を遅延時間として設定する。このため、現在時刻の後に生じる出力クロック信号の変化は、基準クロック信号の変化に応じて第１遅延値または第２遅延値（＝第１遅延値＋付加遅延値）だけ遅延せしめられる。
【００１４】
付加遅延値は、基準時刻から現在時刻までの時間差（位相差）であるから、付加遅延値だけ遅延したその時刻において、基準クロック信号と帰還クロック信号の位相差が解消される。すなわち、基準クロック信号と帰還クロック信号が同期する。その結果、ＰＬＬ回路の同期動作と非同期動作の双方をシミュレーションすることができる。また、付加遅延値の設定に多くの基準クロック信号のクロック数を必要としないので、計算時間が短縮できる。
【００１５】
【発明が解決しようとする課題】
近年、基準クロック信号のクロック周波数（すなわち、基準クロック周波数）をｍ倍に逓倍したものに相当する「逓倍出力クロック信号」や、基準クロック周波数を（１／ｎ）に分周したものに相当する「分周出力クロック信号」を出力できるＰＬＬ回路が使用されてきている（ｍとｎは、いずれも１より大きい定数）。これらの逓倍出力クロック信号や分周出力クロック信号は、ＰＬＬ回路に設けられた逓倍出力端子と分周出力端子からそれぞれ出力される。そして、従来から存在する、基準クロック周波数に等しい出力クロック信号（１逓倍出力クロック信号）は、標準出力端子から出力される。
【００１６】
また、この種のＰＬＬ回路には、「ロック出力端子」を有しているものがある。このロック出力端子は、後段に接続されている他の回路群（後段回路）の動作を制御するロック信号を出力するために使用される。所定の出力クロック信号が基準クロック信号と同期していれば、ロック信号はロック状態（ＬＯＣＫ＝１）となり、その結果、後段回路は動作可能状態に設定される。何らかの理由で所定の出力クロック信号と基準クロック信号との同期がずれると、ロック信号はアンロック状態（ＬＯＣＫ＝０）となり、その結果、後段回路は動作不能状態に設定される。
【００１７】
上記の特開平９−５３９７号公報の論理シミュレーション方法では、次のような三つの問題がある。
【００１８】
第一の問題は、ＰＬＬ回路のロック出力端子から出力されるロック信号の論理状態については言及されていないため、ロック信号の制御をすることができない、ということである。
【００１９】
第二の問題は、「仮想クロック信号」や「遅延出力クロック信号」を遅延手段で生成しているため、ＰＬＬモデルの内部で基準クロック信号（ひいては出力クロック信号）の周波数が予め決定されている必要がある、ということである。換言すれば、出力クロック信号の周波数が場合に応じて変更（逓倍ないし分周）せしめられるような場合には適用できない、ということである。
【００２０】
第三の問題は、出力クロック信号の位相を基準クロック信号の位相に同期させるまでのクロック数については言及されていないため、出力クロック信号の位相を基準クロック信号の位相に同期させるまでのクロック数を調整できない、ということである。
【００２１】
特開平２０００−２７８１１８号公報に開示された従来の論理シミュレーション方法では、基準クロック信号と帰還クロック信号の位相比較を、立ち上がり（または立ち下がり）のエッジで判断しているため、出力クロック信号のクロック周波数は一定でなければならない。換言すれば、出力クロック信号の周波数が場合に応じて変更（逓倍ないし分周）せしめられるような場合には、適用できない、という問題がある。
【００２２】
この方法を適用しようとすれば、ＰＬＬモデルの内部で、帰還してきた帰還クロック信号がどのクロック周波数を持っているかを判断できるようにしなければならない。しかし、これを実現するには、結局、回路の接続情報をＰＬＬモデルの内部に用意しておくことが必要となる。この場合、回路変更があると、ＰＬＬモデル自体を変更しなければならず、シミュレーション作業が極めて煩雑となる。
【００２３】
しかも、ロック端子から出力されるロック信号の制御をすることができない、という問題もある。
【００２４】
そこで、本発明の目的は、出力クロック信号の周波数が場合に応じて変更（逓倍ないし分周）せしめられる場合であっても、帰還クロック信号の周波数を的確に判定してシミュレーションが行える、ＰＬＬ回路を含む回路のシミュレーション・プログラムを提供することにある。
【００２５】
本発明の他の目的は、ロック端子から出力されるロック信号の論理値を正確に制御できる、ＰＬＬ回路を含む回路のシミュレーション・プログラムを提供することにある。
【００２６】
本発明のさらに他の目的は、出力クロック信号の位相を基準クロック信号の位相に同期させるまでのクロック数を調整できる、ＰＬＬ回路を含む回路のシミュレーション・プログラムを提供することにある。
【００２７】
【課題を解決するための手段】
本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムは、
基準クロック信号が入力される基準入力端子と、周波数の異なる複数の出力クロック信号がそれぞれ出力される複数の出力端子と、複数の前記出力クロック信号のいずれかが帰還クロック信号として入力される帰還入力端子とを備えており、複数の前記出力クロック信号が、前記基準クロック信号を逓倍した逓倍出力クロック信号および前記基準クロック信号を分周した分周出力クロック信号の少なくとも一方を含んでいるＰＬＬ回路を含む回路のシミュレーションを行うプログラムであって、
前記ＰＬＬ回路を含む回路のシミュレーションを実行する際に、
互いに異なる複数のダミー信号を複数の前記出力端子からそれぞれ出力すると共に、複数の前記ダミー信号が出力されたことを示す情報を第１記憶手段に記憶させ、
前記第１記憶手段に記憶されている前記情報を調べて複数の前記ダミー信号の出力が完了していることを確認した後、前記帰還入力端子に入力された信号を複数の前記ダミー信号と比較し、もって複数の前記出力クロック信号のいずれが前記帰還クロック信号として前記帰還入力端子に入力されたかを識別する
という手順をコンピュータに実行させるものである。
【００２８】
（２）  本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムでは、上述した構成を持つＰＬＬ回路を含む回路についてシミュレーションを実行する際に、互いに異なる複数のダミー信号を複数の前記出力端子からそれぞれ出力すると共に、複数の前記ダミー信号が出力されたことを示す情報を第１記憶手段に記憶させる。そして、前記第１記憶手段に記憶されている前記情報を調べて複数の前記ダミー信号の出力が完了していることを確認した後、前記帰還入力端子に入力された信号を複数の前記ダミー信号と比較し、もって複数の前記出力クロック信号のいずれが前記帰還クロック信号として前記帰還入力端子に入力されたかを識別する。このため、ＰＬＬ回路の出力クロック信号の周波数が場合に応じて変更（逓倍ないし分周）せしめられる場合であっても、帰還クロック信号の周波数を的確に判定してシミュレーションが行える。このとき、シミュレーション・モデルの変更も不要である。
【００２９】
また、前記ＰＬＬ回路がロック端子をさらに備えていて、前記ＰＬＬ回路に接続された回路を動作可能状態または動作不能状態に設定するロック信号を前記ロック端子から出力する機能を有している場合、複数の前記出力端子のいずれが前記帰還入力端子に接続されているかを識別しているので、前記ＰＬＬ回路の動作が正しく制御される。その結果、前記ロック端子から出力される前記ロック信号の論理値を正確に設定できる。
【００３０】
さらに、前記ＰＬＬ回路が同期動作を開始するまでに必要とされる前記基準クロック信号の数を調整することにより、前記出力クロック信号の位相を前記基準クロック信号の位相に同期させるまでのクロック数を調整できる。
【００３１】
（３）  本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムの好ましい例では、複数の前記ダミー信号として、互いに論理値の異なるパルス信号を使用する。この例では、前記論理値の異なるパルス信号として、論理値が０、１およびＸのうちの少なくとも二つを含むパルス信号を使用するのが好ましい。
【００３２】
本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムの他の好ましい例では、前記ダミー信号として、互いに周期の異なるパルス信号を使用する。この例では、前記周期の異なるパルス信号として、パルス繰り返し周波数が異なるパルス信号を使用するのが好ましい。
【００３３】
本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムのさらに他の好ましい例では、前記ダミー信号として、互いに論理値の組み合わせが異なるパルス信号を使用する。この例では、前記論理値の組み合わせが異なるパルス信号として、複数ビットの論理値の組み合わせが異なるパルス信号を使用するのが好ましい。
【００３４】
本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムのさらに他の好ましい例では、
前記ＰＬＬ回路がロック端子をさらに備えていて、前記ＰＬＬ回路に接続された回路を動作可能状態または動作不能状態に設定するロック信号を前記ロック端子から出力する機能を有しており、
複数の前記出力クロック信号のいずれが前記帰還クロック信号として前記帰還入力端子に入力されたかを識別した後に、前記基準クロック信号の変化時刻と前記帰還クロック信号の変化時刻を第２記憶手段に記憶させ、
前記基準クロック信号と前記帰還クロック信号の周期を比較することによって、前記基準クロック信号及び前記帰還クロック信号のうちで周期が長いものについて所定のイベントの発生を検出し、
検出された前記イベントの発生を基準として、前記第２記憶手段に記憶されている前記基準クロック信号の変化時刻及び前記帰還クロック信号の変化時刻を読み出して比較し、その比較結果に応じて前記ロック信号の論理値を設定する
という手順をコンピュータに実行させる。
【００３８】
【発明の実施の形態】
以下、この発明の好適な実施の形態を添付図面を参照しながら具体的に説明する。
【００３９】
（第１実施形態）
図１〜図３は、本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムの各ステップを示すフローチャートである。また、図４はそのシミュレーション・プログラム中で使用されているＰＬＬ回路の回路図である。
【００４０】
図４において、ＰＬＬ回路１０は、ＰＬＬ素子１１と、ＣＴＳバッファ回路１８を備えて構成されている。ＰＬＬ素子１１は、基準クロック信号ＲＣＬＫ（クロック周波数：ｆR）が入力される基準入力端子１２と、４逓倍出力クロック信号ＣＬＫ０（クロック周波数：４ｆR）が出力される４逓倍出力端子１３と、２逓倍出力クロック信号ＣＬＫ１（クロック周波数：２ｆR）が出力される２逓倍出力端子１４と、１逓倍出力クロック信号ＣＬＫ２（クロック周波数：ｆR）が出力される１逓倍出力端子１５と、ロック信号ＬＯＣＫが出力されるロック端子１６と、帰還クロック信号ＣＲＫＦが入力される帰還入力端子１７とを有している。
【００４１】
三つの出力端子１３、１４、１５とロック端子１６は、ＰＬＬ回路１０が制御する後段回路（被制御回路）２０に接続されている。後段回路２０には、４逓倍出力クロック信号ＣＬＫ０、２逓倍出力クロック信号ＣＬＫ１、１逓倍クロック信号ＣＬＫ２、およびロック信号ＬＯＣＫが供給される。
【００４２】
ＰＬＬ素子１１の基準入力端子１２と帰還入力端子１７には、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦがそれぞれ入力される。図４の回路構成では、ＣＴＳバッファ回路１８を介して２逓倍出力端子１４と帰還入力端子１７が接続されているので、２逓倍出力クロック信号ＣＬＫ１が帰還クロック信号ＣＬＫＦとして帰還入力端子１７に入力される。
【００４３】
ＰＬＬ回路１０において、ＰＬＬ素子１１は、三つの出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の位相を絶えず調整して、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相を一致させるように動作する。その結果、帰還クロック信号ＣＬＫＦ（すなわち、出力クロック信号ＣＬＫ１）が基準クロック信号ＲＣＬＫに同期する。こうして、後段回路２０には、基準クロック信号ＲＣＬＫに同期した三つの出力クロック信号ＣＬＫＯ、ＣＬＫ１、ＣＬＫ２が安定して供給される。
【００４４】
次に、本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムについて、図１〜図３のフローチャートを用いて説明する。
【００４５】
図１において、ステップＳ１０１では、ＰＬＬ回路１０のシミュレーション・モデル（以下、ＰＬＬモデルという）の各入力端子に所定の信号が与えられ、それら入力端子の論理が所定状態に設定される。つまり、ＰＬＬモデルの初期値の設定が行われる。ここから、ＰＬＬモデルを用いた動作シミュレーションが開始する。
【００４６】
ステップＳ１０２では、帰還端子１７に帰還される帰還クロック信号ＣＬＫＦが、三つの出力端子１３、１４、１５からそれぞれ出力される三つのクロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２のいずれであるかを識別する。このステップＳ１０２の詳細は、図２に示すとおりである。
【００４７】
ステップＳ１０２の帰還端子判定ステップでは、図２に示す各ステップが実行される。
【００４８】
ステップＳ１０１の初期値設定ステップが完了すると、ステップＳ１１１に進み、帰還端子１７に帰還される帰還クロック信号ＣＬＫＦの識別が済んでいるか否かを判定する。この判定は、変数ｆｌａｇ１の値が「１」に設定されているか否かを調べることによって行う。変数ｆｌａｇ１の値が「１」であれば、この判定が済んでいることを意味するから、以後のステップＳ１１２、Ｓ１１３、Ｓ１１４を実行せずに、直ちにステップＳ１０３（位相比較ステップ）に進む。変数ｆｌａｇ１の値が「０」であれば、この判定が済んでいないことを意味するから、次のステップＳ１１２に進む。
【００４９】
ステップＳ１１２では、三つの出力端子１３、１４、１５にそれぞれダミー信号を出力したか否かを判定する。この判定は、変数ｆｌａｇ２の値が「１」に設定されているか否かを調べることによって行う。変数ｆｌａｇ２の値が「１」であれば、ダミー信号の出力が済んでいることを意味するから、ステップＳ１１４に進む。変数ｆｌａｇ２の値が「０」であれば、ダミー信号の出力が済んでいないことを意味するから、ステップＳ１１３に進む。
【００５０】
ステップＳ１１３では、三つの出力端子１３、１４、１５に論理０、論理１、および論理Ｘ（不定、don’t care）のダミー信号をそれぞれ出力する。換言すれば、出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２に代えて、論理０、論理１、および論理Ｘのダミー信号をそれぞれ出力するのである。その後、ステップＳ１１１に戻る。そして、再びステップＳ１１２に進み、ダミー信号を出力したか否かを判定する。この場合は、既にダミー信号を出力しているので、ステップＳ１１４に進む。
【００５１】
ステップＳ１１４では、次のようにして帰還クロック信号ＣＬＫＦの識別をする。つまり、帰還端子１７に帰還されてきたダミー信号の論理を調べて、その帰還ダミー信号の論理値が「０」であれば、出力端子１３から出力された出力クロック信号ＣＬＫ０が帰還クロック信号ＣＬＫＦであると判断する。同様に、その帰還ダミー信号の論理値が「１」であれば、出力端子１４から出力された出力クロック信号ＣＬＫ１が帰還クロック信号ＣＬＫＦであると判断し、その帰還ダミー信号の論理値が「Ｘ」であれば、出力端子１５から出力された出力クロック信号ＣＬＫ２が帰還クロック信号ＣＬＫＦであると判断するのである。その後、ステップＳ１１１に戻る。すると、この場合は、既に帰還クロック信号の識別が済んでいるので、ステップＳ１０３に飛ぶ。
【００５２】
なお、ステップＳ１０２において帰還端子の識別が済むまでは、ＬＯＣＫ端子１６から出力されるロック信号ＬＯＣＫの論理値を強制的に「０」に設定しておく。
【００５３】
ステップＳ１０３では、ロック信号ＬＯＣＫの値を設定するために、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相を比較する。このステップＳ１０３の詳細は、図３に示すとおりである。
【００５４】
図３において、ステップＳ１０２（帰還端子判定ステップ）の終了後に実行されるステップＳ１２１では、基準クロック信号ＲＣＬＫの入力エッジ（立ち上がり）の生じる時刻を記憶する。この時刻は、変数Ａに格納される。
【００５５】
ステップＳ１２２では、帰還クロック信号ＣＬＫＦの入力エッジ（立ち上がり）の生じる時刻を記憶する。この時刻は、変数Ｂに格納される。
【００５６】
ステップＳ１２３では、基準クロック信号ＲＣＬＫの周期が、帰還クロック信号ＣＬＫＦの周期より大きいか否かを判定する。その結果、基準クロック信号ＲＣＬＫの周期が帰還クロック信号ＣＬＫＦの周期より大きいと判定されると、ステップＳ１２４に進んで、基準クロック信号ＲＣＬＫの立ち上がりイベントを検出し、検出されればステップＳ１２６に進む。検出されないと、ステップＳ１０４（遅延値演算ステップ）に飛ぶ。他方、基準クロック信号ＲＣＬＫの周期が帰還クロック信号ＣＬＫＦの周期より大きくないと判定されると、ステップＳ１２５に進んで、帰還クロック信号ＣＬＫＦの立ち上がりイベントを検出し、検出されればステップＳ１２６に進む。検出されないと、ステップＳ１０４（遅延値演算ステップ）に飛ぶ。
【００５７】
ステップＳ１２６では、記憶していた変数ＡとＢの値が等しいか否かを判定する。換言すれば、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦとが同時刻に変化したか（同期したか）否かを判定する。そして、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦとが同時刻に変化したと判定されると、ステップＳ１２７に進み、ロック信号ＬＯＣＫの論理状態を「１」に設定する。つまり、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦとが同期していると判断する。そして、ステップＳ１０４（遅延値演算ステップ）に進む。
【００５８】
他方、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦとが同時刻に変化していないと判定されると、ステップＳ１２８に進み、ロック信号ＬＯＣＫの論理状態を「０」に設定する。つまり、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦとが同期していないと判断する。そして、ステップＳ１０４（遅延値演算ステップ）に進む。
【００５９】
ステップＳ１０３の位相比較ステップでは、このようにして、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相比較が行われ、両信号ＲＣＬＫとＣＬＫＦの位相が一致していると判定されると、ロック信号ＬＯＣＫの論理状態を「１」に設定する。これにより、後段回路２０は動作可能状態に設定される。両信号ＲＣＬＫとＣＬＫＦの位相が一致していないと判定されると、ロック信号ＬＯＣＫの論理状態を「０」のまま保たれる。これにより、後段回路２０は動作不能状態に保持される。
【００６０】
ステップＳ１０４では、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相差（つまり遅延値）を求め、また基準クロック信号ＲＣＬＫの周波数を測定する。ステップＳ１０３の位相比較ステップでは、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相が一致していると判定された場合は、両信号ＲＣＬＫとＣＬＫＦの位相差（遅延値）は０となる。
【００６１】
ステップＳ１０５では、ステップＳ１０４で求めた位相差（遅延値）に基づいて帰還クロック信号ＣＬＫＦに遅延値を割り当て、帰還クロック信号ＣＬＫＦをその遅延値だけ遅延させる。こうして、基準クロック信号ＲＣＬＫに帰還クロック信号ＣＬＫＦの位相を一致させる。ステップＳ１０３の位相比較ステップで、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相が一致していないと判定された場合は、ここで位相が一致せしめられる。
【００６２】
ステップＳ１０６では、基準クロック信号ＲＣＬＫのクロック数を測定し、その結果に応じて、所定のロック・タイミングでロック端子（すなわち、位相比較結果出力端子）１６からロック信号ＬＯＣＫが出力されるようにスケジュールする。
【００６３】
本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムは、以上のようなものであるが、以下において、そのシミュレーション・プログラムを具体例を用いてより詳細に説明する。
【００６４】
この例では、次のような条件が設定されていると仮定する。
【００６５】
基準クロック信号ＲＣＬＫ：ｆR＝２０ＭＨｚ
４逓倍出力クロック信号ＣＬＫ０：２０ＭＨｚ×４＝８０ＭＨｚ
２逓倍出力クロック信号ＣＬＫ１：２０ＭＨｚ×２＝４０ＭＨｚ
１逓倍出力クロック信号ＣＬＫ２：２０ＭＨｚ
ロック信号ＬＯＣＫ：基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相が一致すると「１」、一致しないと「０」に設定される。そして、位相が一致した後に、基準クロック信号ＲＣＬＫの立ち上がりエッジが６回出現すると（つまり、６周期経過すると）、後段回路２０に向けて出力される。
【００６６】
基準クロック信号ＲＣＬＫの周波数ｆRは、利用者が任意に決定するが、ＰＬＬモデルの内部では、それは基準クロック信号ＲＣＬＫの周波数を測定することによって判明する。基準クロック信号ＲＣＬＫの周波数ｆR以外の条件は、ＰＬＬモデルそれ自体の仕様である。
【００６７】
実際の回路設計では、４逓倍出力クロック信号ＣＬＫ０、２逓倍出力クロック信号ＣＬＫ１、１逓倍出力クロック信号ＣＬＫ２のいずれを帰還クロック信号ＣＬＫＦとして使用するかは、与えられた回路仕様に基づいて、設計者が任意に決定する。しかし、ここでは、２逓倍出力クロック信号ＣＬＫ１を帰還クロック信号ＣＬＫＦとして使用することにしている。
【００６８】
図５は、本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムを実行した際の、各信号の時間変化を示すタイムチャートである。
【００６９】
まず、時刻ｔ１において、基準クロック信号ＲＣＬＫが立ち上がり変化する。ここから、ＰＬＬモデルの処理（すなわち、ステップＳ１０１以降の処理）が開始する。時刻ｔ１における各信号の論理状態は、ステップＳ１０１で与えられる初期値に相当する。
【００７０】
ステップＳ１０２の帰還端子判定ステップでは、所定の時間を限って、ＰＬＬ素子１１の三つの出力端子１３、１４、１５にそれぞれ異なるダミー信号を出力し、帰還端子１７に帰還されてくるダミー信号を監視する。そして、帰還されてくるダミー信号の種類に応じて、出力端子１３、１４、１５のいずれが帰還端子１７に接続されているかを識別する。
【００７１】
すなわち、図２のステップＳ１１１において、帰還クロック信号の識別が済んでいるか否かを、ＰＬＬモデル内部に設定した変数「ｆｌａｇ１」を用いて判断する。変数「ｆｌａｇ１」の値が「０」であれば、識別が済んでいないことを意味し、変数「ｆｌａｇ１」の値が「１」であれば、識別が済んでいることを意味する。ここで、変数「ｆｌａｇ１」を使用するのは、識別が済んだ後は当該識別処理を行わないで済むようにするためである。
【００７２】
初期状態では、帰還クロック信号の識別は済んでいないから、ステップＳ１１２に進む。ステップＳ１１２では、ＰＬＬ素子１１の三つの出力端子１３、１４、１５にダミー信号を出力したか否かを判定する。この間、ロック信号を出力するロック端子ＬＯＣＫの値は、強制的に「０」としておく。それは、三つの出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２のいずれについても、基準クロック信号ＲＣＬＫとの位相調整が終了していないからである。
【００７３】
この段階では初期状態のままであるから、未だダミー信号の出力はされていない。よって、ステップＳ１１３に進み、三つの出力端子１３、１４、１５に論理０、論理１、および論理Ｘ（不定、don’t care）のダミー信号をそれぞれ出力する。そして、「ｆｌａｇ２」の値を「１」に設定する。こうして、ＰＬＬモデル内部での処理は終了する。
【００７４】
これらのダミー信号は、基準クロック信号ＲＣＬＫの立ち上がり変化をトリガーとして出力される。図５では、時刻ｔ１より少し遅れた時刻ｔ６にこれらダミー信号が出力されている。
【００７５】
一度ダミー信号を出力した後は、同じ処理を行わないようにするため、変数「ｆｌａｇ２」を使用する。「ｆｌａｇ２」の値が「０」であれば、未だダミー信号の出力がされていないことを意味し、「ｆｌａｇ２」の値が「１」であれば、ダミー信号の出力があったことを意味する。
【００７６】
次のステップＳ１１４は、ステップＳ１１３で出力されたダミー信号のいずれか一つが帰還端子１７に帰還されることにより、帰還クロック信号ＣＬＫＦが変化した時に実行される。図５では、帰還してきたダミー信号が論理「１」であるので、出力端子１４が帰還端子１７に接続されている、すなわち、２逓倍出力クロック信号ＣＬＫ１が帰還クロック信号ＣＬＫＦとして使用されている、と判断する。図５では、時刻ｔ６より少し遅れた時刻ｔ２でこれを判断している。この判断が終了すると、変数ｆｌａｇ１を「１」に設定し、以後の処理においてステップＳ１１２〜Ｓ１１４を通過しないようにする。
【００７７】
次のステップＳ１０３（位相比較ステップ）とステップＳ１０４（遅延値演算ステップ）では、ｔ１の次に基準クロック信号ＲＣＬＫが立ち上がり変化する時刻ｔ３において実行される。ここでは、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＲＫＦの位相差と、基準クロック信号ＲＣＬＫの周期を次のようにして測定する。すなわち、図３に示した位相比較ステップのフローチャートに従って、時刻ｔ３から基準クロック信号ＲＣＬＫの１周期分を出力し、それが帰還端子１７に帰還してくる時刻ｔ４とｔ５を取得する。時間差（ｔ４−ｔ３）が、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相差であり、時間差（ｔ５−ｔ４）が、基準クロック信号ＲＣＬＫの周期である。
【００７８】
この作業が終了するまで、ロック信号ＬＯＣＫの値は「０」に保持される、つまりアンロック（ＵＮＬＯＣＫ）状態に保たれる。その結果、後段回路２０の動作は停止したままである。
【００７９】
ステップＳ１０３とＳ１０４で測定すべき項目の測定がすべて終了すると、基準クロック信号ＲＣＬＫの次の立ち上がりイベントから、次のステップＳ１０５（遅延値付加ステップ）が開始する。前述したように、図４のＰＬＬ回路１０は、位相調整期間として、基準クロック信号ＲＣＬＫの次の立ち上がりイベントを６回必要とする。そこで、基準クロック信号ＲＣＬＫの引き続く立ち上がりイベントの生起回数をカウントし、その結果を内部変数に格納する。
【００８０】
図５では、基準クロック信号ＲＣＬＫの６回目の立ち上がりイベントが時刻ｔ８に起こっているので、その時点で帰還クロック信号ＣＲＫＦの位相を基準クロック信号ＲＣＬＫの位相に一致させるために、帰還クロック信号ＣＲＫＦに遅延値（すなわち、ステップＳ１０３で得た位相差）を付加する処理を行う。これを実行するため、基準クロック信号ＲＣＬＫの５回目の立ち上がりイベントが起こった時刻に、その旨をスケジュールしておく。
【００８１】
ステップＳ１０６では、ステップＳ１０５で得られた結果を出力する。図５では、時刻ｔ８で帰還クロック信号ＣＲＫＦと基準クロック信号ＲＣＬＫとが同時に立ち上がっている。つまり、時刻ｔ８において、帰還クロック信号ＣＲＫＦと基準クロック信号ＲＣＬＫの位相が一致せしめられている。
【００８２】
時刻ｔ８では、帰還クロック信号ＣＲＫＦと基準クロック信号ＲＣＬＫの位相差を調査し、両信号の位相が一致していればロック信号ＬＯＣＫの値を「１」に設定し、両信号の位相が一致していなければロック信号ＬＯＣＫの値を「０」に設定する。この設定は以下のようにして行う。
【００８３】
帰還クロック信号ＣＲＫＦと基準クロック信号ＲＣＬＫの位相が一致するのは、両信号ＣＲＫＦ、ＲＣＬＫの値が同時に「１」になった時である。また、両信号ＣＲＫＦ、ＲＣＬＫの周期（周波数）が同一とは限らない。そこで、両信号ＣＲＫＦ、ＲＣＬＫの中で周期が大きいものを調査し、その立ち上がりエッジをトリガーとして、以下のようにして位相比較を行う。
【００８４】
すなわち、まず、図３のステップＳ１２１において、基準クロック信号ＲＣＬＫのイベントの時刻（変化時刻）を記憶する。そして、この時刻を変数Ａに格納する。次のステップＳ１２２において、帰還クロック信号ＣＲＫＦのイベントの時刻（変化時刻）を記憶する。そして、この時刻を変数Ｂに格納する。そして、次のステップＳ１２３で、両信号ＣＲＫＦ、ＲＣＬＫの周期を比較する。
【００８５】
ステップＳ１２３で、基準クロック信号ＲＣＬＫの周期が帰還クロック信号ＣＲＫＦの周期よりも大きいと判断されたときは、ステップＳ１２４に進み、基準クロック信号ＲＣＬＫの立ち上がりイベントを検出する。その結果、基準クロック信号ＲＣＬＫの立ち上がりイベントが検出されれば、ステップＳ１２６に進む。検出されなければ、以後のステップを実行せずに位相比較ステップ１０２を終了する。
【００８６】
ステップＳ１２３で、基準クロック信号ＲＣＬＫの周期が帰還クロック信号ＣＲＫＦの周期よりも大きくないと判断されたときは、ステップＳ１２５に進み、帰還クロック信号ＣＬＫＦの立ち上がりイベントを検出する。その結果、帰還クロック信号ＣＬＫＦの立ち上がりイベントが検出されれば、ステップＳ１２６に進む。
【００８７】
時刻ｔ８では、基準クロック信号ＲＣＬＫの周期が帰還クロック信号ＣＲＫＦの周期よりも大きいので、ステップＳ１２４に進み、基準クロック信号ＲＣＬＫの立ち上がりイベントを検出する。
【００８８】
次のステップ１２６では、変数Ａに格納されている基準クロック信号ＲＣＬＫのイベントの時刻（変化時刻）と変数Ｂに格納されている帰還クロック信号ＣＬＫＦのイベントの時刻（変化時刻）が等しいか否かを判定する。つまり、両信号ＲＣＬＫとＣＬＫＦが同時刻に立ち上がっているか否かを判定する。そして、両信号ＲＣＬＫとＣＬＫＦが同時刻に立ち上がっていると判定されれば、ステップＳ１２７に進み、ロック信号ＬＯＣＫの値を「１」に設定する。両信号ＲＣＬＫとＣＬＫＦが同時刻に立ち上がっていないと判定されれば、ステップＳ１２８に進み、ロック信号ＬＯＣＫの値を「０」に設定する。
【００８９】
時刻ｔ８では、両信号ＲＣＬＫとＣＬＫＦが同時刻に立ち上がっているので、ステップＳ１２７において、ロック信号ＬＯＣＫの値が「１」に設定される。
【００９０】
次の時刻ｔ９では、基準クロック信号ＲＣＬＫが立ち下がり、帰還クロック信号ＣＬＫＦが立ち上がっているが、この時にロック信号ＬＯＣＫの値が「０」に設定されることはない。それは、ステップＳ１２４で以後のステップＳ１２６、Ｓ１２７、Ｓ１２８を実行せずに、ただちにステップＳ１０３を終了するからである。
【００９１】
上述したように、本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムでは、上述した構成を持つＰＬＬ回路１０を含む回路についてシミュレーションを実行する際に、異なるダミー信号「０、」「１」、「Ｘ」を三つの出力クロック端子１３、１４、１５にそれぞれ出力すると共に、それらダミー信号「０、」「１」、「Ｘ」が出力されたことを示す情報（＝１）を変数ｆｌａｇ２に記憶させる。そして、変数ｆｌａｇ２に記憶されている情報（＝１）を調べてダミー信号「０、」「１」、「Ｘ」の出力が完了していることを確認した後、帰還入力端子１７に入力された信号を前記ダミー信号「０、」「１」、「Ｘ」と比較し、もって複数の出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２のいずれが前記帰還クロック信号ＣＬＫＦとして帰還入力端子１７に入力されたかを識別する。このため、出力クロック信号ＣＬＫ１、ＣＬＫ２、ＣＬＫ３の周波数が場合に応じて変更（逓倍ないし分周）せしめられる場合であっても、帰還クロック信号ＣＬＫＦの周波数を的確に判定してシミュレーションが行える。
【００９２】
また、三つの出力クロック端子１３、１４、１５のいずれが帰還入力端子１７に接続されているかを識別してからその後のＰＬＬ動作を開始するので、ＰＬＬ回路１０の動作が正しく制御される。その結果、ロック端子１６から出力されるロック信号ＬＯＣＫの論理を正確に制御できる。
【００９３】
さらに、ＰＬＬ回路１０が同期動作を開始するまでに必要とされる基準クロック信号ＲＣＬＫの数を調整することにより、三つの出力クロック信号ＣＬＫ、ＣＬＫ１、ＣＬＫ２の位相を基準クロック信号ＲＣＬＫの位相に同期させるまでのクロック数を調整できる。
【００９４】
（特開平２０００−２７８１１８号公報の方法との比較）
特開平２０００−２７８１１８号公報に開示された論理シミュレーション方法において、上述した本発明の第１実施形態のシミュレーション・プログラムを適用したとすると、次のようになる。
【００９５】
図１０は、その動作を示すフローチャート、図１１はその動作を示すタイムチャートである。
【００９６】
図１０に示すように、ステップＳ２２１では、基準クロック信号ＲＣＬＫの入力エッジの時刻を記憶し、その記憶した時刻を変数Ａに格納する。次のステップＳ２２２では、帰還クロック信号ＣＬＫＦの入力エッジの時刻を記憶し、その記憶した時刻を変数Ｂに格納する。次のステップＳ２２３では、それら二つの時刻ＡとＢが等しいか否かを判断する。等しいと判断すれば、ステップＳ２２４でロック信号ＬＯＣＫを１に設定する、つまりＬＯＣＫ＝１とする。等しくないと判断すれば、ステップＳ２２５でロック信号ＬＯＣＫを０に設定する、つまりＬＯＣＫ＝０とする。
【００９７】
この場合、逓倍クロック信号が帰還されたとすると、図１１に示すように、時刻ｔ４、ｔ５、ｔ６での帰還クロック信号ＣＬＫＦの立ち上がりでロック信号ＬＯＣＫの論理値が「０」となり、ロックが解除されてしまう。つまり、基準クロック信号ＲＣＬＫと帰還クロック信号ＣＬＫＦの位相がずれていると判断されてしまう。その結果、後段回路２０が動作しなくなる、という問題が生じてしまう。
【００９８】
したがって、特開平２０００−２７８１１８号公報に開示された論理シミュレーション方法では、本発明の上記目的を達成できない。
【００９９】
（第２実施形態）
図６は、本発明の第２実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムを示すフローチャートであり、図６はそのタイムチャートである。
【０１００】
第１実施形態のシミュレーション・プログラムでは、帰還クロック信号ＣＬＫＦの識別をするための「ダミー信号」として、論理値の異なる信号（０、１、Ｘ）を使用している。第２実施形態のシミュレーション・プログラムでは、これとは異なり、ダミー信号として周期の異なるパルスａ、ｂ、ｃを使用している。帰還クロック信号ＣＬＫＦの識別ができればよいので、これらのパルスａ、ｂ、ｃの周波数は任意である。
【０１０１】
図６のステップＳ４１３では、三つの出力端子１３、１４、１５にダミー信号として、周期の異なるパルスａ、ｂ、ｃをそれぞれ出力する。そして、変数ｆｌａｇ２の値を「１」に設定してから、ステップＳ１１１に戻る。
【０１０２】
ステップＳ４１４では、帰還してきた帰還クロック信号ＣＬＫ（ダミー信号）の周波数を測定する。すると、次のステップＳ４１５で、次のようにして帰還クロック信号ＣＬＫＦの識別をする。つまり、帰還端子１７に帰還されてきたダミー信号の周波数を調べて、その帰還ダミー信号の周波数に応じて、出力端子１３から出力された出力クロック信号ＣＬＫ０、ＣＬＫ１またはＣＬＫ２であると判断する。そして、ステップＳ４１５での判断が終了すると、ステップＳ１１１に戻る。
【０１０３】
図６におけるその他の動作は、図２のフローチャートのそれと同じであるから、その説明は省略する。
【０１０４】
図７のタイムチャートでは、時刻ｔ１から、ダミー信号として、出力端子１３、１４、１５に周期の異なるパルスａ、ｂ、ｃをそれぞれ出力している。その結果、時刻ｔ６において、出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２が変化し、それらのうちの一つが時刻ｔ２で帰還端子１７に帰還される。
【０１０５】
図７では、出力クロック信号ＣＬＫ１が帰還されているので、帰還端子１７に帰還されてきたダミー信号はパルスｂと判断される。その結果、出力端子１５が帰還端子１７に接続されていると判断される。
【０１０６】
その他の動作は第１実施形態のそれと同じであるから、それらについての説明は省略する。
【０１０７】
以上述べたように、本発明の第２実施形態のシミュレーション・プログラムでは、第１実施形態で得られる効果と同じ効果が得られると共に、適用するＰＬＬ回路の持つ出力クロック端子の数に制限がない、という効果も得られる。
【０１０８】
（第３実施形態）
図８は、本発明の第３実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムを示すフローチャートであり、図９はそのタイムチャートである。
【０１０９】
第３実施形態のシミュレーション・プログラムでは、ダミー信号として論理値０、１、Ｘの異なる組み合わせパルスを使用している。帰還クロック信号ＣＬＫＦの識別ができればよいので、これらの組み合わせパルスは論理値０、１、Ｘを任意に組み合わせて生成できる。
【０１１０】
図８のステップＳ６１３では、三つの出力端子１３、１４、１５にダミー信号として、論理値０、１、Ｘの異なる組み合わせパルス「０１」、「１０」、「Ｘ１」をそれぞれ出力する。そして、変数ｆｌａｇ２の値を「１」に設定してから、ステップＳ１１１に戻る。
【０１１１】
ステップＳ６１４では、帰還してきた帰還クロック信号ＣＬＫの波形を記憶する。すると、次のステップＳ６１５で、次のようにして帰還クロック信号ＣＬＫＦ（ダミー信号）の識別をする。つまり、帰還端子１７に帰還されてきたダミー信号の波形を調べて、その帰還ダミー信号の波形に応じて、出力端子１３から出力された出力クロック信号ＣＬＫ０、ＣＬＫ１またはＣＬＫ２であると判断する。そして、ステップＳ６１５での判断が終了すると、ステップＳ１１１に戻る。
【０１１２】
図９のタイムチャートでは、時刻ｔ１から、ダミー信号として、出力端子１３、１４、１５に論理値０、１、Ｘの異なる組み合わせパルス「０１」、「１０」、「Ｘ１」をそれぞれ出力する。その結果、時刻ｔ６において、出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２が変化し、それらのうちの一つが時刻ｔ２で帰還端子１７に帰還される。
【０１１３】
図８におけるその他の動作は、図２のフローチャートのそれと同じであるから、その説明は省略する。
【０１１４】
図９のタイムチャートでは、時刻ｔ１から、ダミー信号として、出力端子１３、１４、１５に論理値０、１、Ｘの異なる組み合わせパルス「０１」、「１０」、「Ｘ１」をそれぞれ出力している。その結果、時刻ｔ６において、出力クロック信号ＣＬＫ０、ＣＬＫ１、ＣＬＫ２が変化し、それらのうちの一つが時刻ｔ２で帰還端子１７に帰還される。
【０１１５】
図９では、出力クロック信号ＣＬＫ１が帰還されているので、帰還端子１７に帰還されてきたダミー信号は組み合わせパルス「１０」と判断される。その結果、出力端子１５が帰還端子１７に接続されていると判断される。
【０１１６】
その他の動作は第１実施形態のそれと同じであるから、それらについての説明は省略する。
【０１１７】
以上述べたように、本発明の第３実施形態のシミュレーション・プログラムでは、第１実施形態で得られる効果と同じ効果が得られると共に、適用するＰＬＬ回路の持つ出力クロック端子の数に応じてビット数を３ビットあるいは以上に増やせば、出力クロック端子の数に制限がない、という効果も得られる。
【０１１８】
なお、上記の第１〜第３実施形態では、複数の出力端子から基準クロック信号を逓倍した複数の逓倍出力クロック信号が出力される場合について述べているが、本発明はこれらの場合に限定されない。基準クロック信号を分周した分周出力クロック信号が複数の出力端子からそれぞれ出力される場合についても適用可能であり、さらに、複数の出力端子から逓倍出力クロック信号と分周出力クロック信号の双方が出力される場合など、これら以外の任意の場合にも適用可能である。
【０１１９】
また、ダミー信号としても、何らかの方法でそれらが区別できるものであれば、種々の信号が使用できる。
【０１２０】
【発明の効果】
以上説明した通り、本発明のＰＬＬ回路を含む回路のシミュレーション・プログラムでは、ＰＬＬ回路の出力クロック信号の周波数が場合に応じて変更（逓倍ないし分周）せしめられる場合であっても、帰還クロック信号の周波数を的確に判定してシミュレーションが行える。
【０１２１】
また、ＰＬＬ回路がロック端子をさらに備えていて、そのＰＬＬ回路に接続された回路を動作可能状態または動作不能状態に設定するロック信号を前記ロック端子から出力する機能を有している場合は、そのロック端子から出力されるロック信号の論理値を正確に設定できる。
【０１２２】
さらに、出力クロック信号の位相を基準クロック信号の位相に同期させるまでのクロック数を調整できる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムを示すフローチャートである。
【図２】  本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、帰還端子判定ステップの詳細を示すフローチャートである。
【図３】  本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、位相比較ステップの詳細を示すフローチャートである。
【図４】  ＰＬＬ回路の回路図である。
【図５】  本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、各信号の時間変化を示すタイムチャートである。
【図６】  本発明の第２実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、帰還端子判定ステップの詳細を示すフローチャートである。
【図７】  本発明の第２実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、各信号の時間変化を示すタイムチャートである。
【図８】  本発明の第３実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、帰還端子判定ステップの詳細を示すフローチャートである。
【図９】  本発明の第３実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムにおいて、各信号の時間変化を示すタイムチャートである。
【図１０】  本発明の第１実施形態のＰＬＬ回路を含む回路のシミュレーション・プログラムを、従来の論理シミュレーション方法に適用した場合の動作を示すフローチャートである。
【図１１】  図１０の場合における各信号の時間変化を示すタイムチャートである。
【符号の説明】
１０  ＰＬＬ回路
１１  ＰＬＬ論理部
１２  ＰＬＬ回路の基準入力端子
１３  ＰＬＬ回路の第１出力端子
１４  ＰＬＬ回路の第２出力端子
１５  ＰＬＬ回路の第３出力端子
１６  ＰＬＬ回路のロック端子
１７  ＰＬＬ回路の帰還入力端子
１８  ＣＴＳバッファ回路
【図１】
0003693930.tif 000002
【図２】
0003693930.tif 000003
【図３】
0003693930.tif 000004
【図４】
0003693930.tif 000005
【図５】
0003693930.tif 000006
【図６】
0003693930.tif 000007
【図７】
0003693930.tif 000008
【図８】
0003693930.tif 000009
【図９】
0003693930.tif 000010
【図１０】
0003693930.tif 000011
【図１１】
0003693930.tif 000012