クロックに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力するラッチ回路とを含むクロックゲーティング回路が含まれる回路データを格納する記憶部と、前記記憶部から読み出した前記回路データにおいて、前記クロックゲーティング回路における前記ラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は前記ラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力するラッチ回路とにより置換することにより、置換回路データを生成する回路データ生成部と、前記参照クロックと予め定められた関係にあるパルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記ラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行うシミュレーション部とを含むことを特徴とするシミュレーション装置。前記シミュレーション部は、前記参照クロックに従って、前記パルスの予め定められた周期を前記入力データの取り込み期間又はホールド期間に割り当てることを特徴とする請求項1に記載のシミュレーション装置。前記シミュレーション装置が、更に、前記パルスを生成して、前記シミュレーション部に供給するパルス生成部と、前記パルスと等しい周波数又は整数倍の周波数の前記参照クロックを生成して、前記シミュレーション部に供給する前記参照クロック生成部とを含むことを特徴とする請求項1に記載のシミュレーション装置。前記シミュレーション部において実行されるシミュレーションは、サイクルベース型シミュレーションであり、前記シミュレーション部は、予め指定された数のサイクルのシミュレーションを実行することを特徴とする請求項1に記載のシミュレーション装置。前記ラッチ回路は、前記クロック入力端子に入力される信号に同期して動作し、前記クロック入力端子に入力される信号の立ち上がりエッジ又は立ち下がりエッジを検出して前記データ入力端子に入力される信号を取り込むD型フリップフロップであることを特徴とする請求項4に記載のシミュレーション装置。記憶部に格納された回路データであって、クロックに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力するラッチ回路とを含むクロックゲーティング回路が含まれる回路データを、前記記憶部から読み出し、読み出した前記回路データにおいて、前記クロックゲーティング回路における前記ラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は前記ラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力するラッチ回路とにより置換することにより、置換回路データを生成し、前記参照クロックと予め定められた関係にあるパルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記ラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行うことを特徴とするシミュレーション方法。シミュレーションプログラムであって、前記プログラムは、コンピュータに、記憶部に格納された回路データであって、クロックに従って制御信号を出力する制御回路と、前記制御信号に従って入力データを保持又は出力するラッチ回路とを含むクロックゲーティング回路が含まれる回路データを、前記記憶部から読み出す処理と、読み出した前記回路データにおいて、前記クロックゲーティング回路における前記ラッチ回路を、前記制御回路の出力する前記制御信号に従って前記入力データ又は前記ラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、前記選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、前記参照クロックに従って、前記選択回路の出力をデータ出力端子から前記出力データとして出力するラッチ回路とにより置換することにより、置換回路データを生成する処理と、前記参照クロックと予め定められた関係にあるパルスを前記クロックとして前記制御回路に入力し、前記参照クロックを前記ラッチ回路に入力することにより、生成した前記置換回路データについてのシミュレーションを行う処理とを実行させることを特徴とするシミュレーションプログラム。サイクルベース型シミュレーションにおいては、遅延が正確に表現できず、また、シミュレーション対象とすることができる論理回路が制限される等の制限がある。このため、サイクルベース型シミュレーションにより論理検証を行おうとしても、論理検証ができない場合がある。本発明は、シミュレーション対象とすることができる論理回路の制限を少なくすることが可能なシミュレーション装置を提供することを目的とする。開示されるシミュレーション装置は、記憶部と、回路データ生成部と、シミュレーション部とを含む。記憶部は、クロックに従って制御信号を出力する制御回路と、制御信号に従って入力データを保持又は出力するラッチ回路とを含むクロックゲーティング回路が含まれる回路データを格納する。回路データ生成部は、記憶部から読み出した回路データにおいて、クロックゲーティング回路におけるラッチ回路を、制御回路の出力する制御信号に従って入力データ又はラッチ回路の出力データのいずれか一方を選択的に出力する選択回路と、選択回路の出力をデータ入力端子に入力され、参照クロックをクロック入力端子に入力され、参照クロックに従って、選択回路の出力をデータ出力端子から出力データとして出力するラッチ回路とにより置換することにより、置換回路データを生成する。シミュレーション部は、参照クロックと予め定められた関係にあるパルスをクロックとして制御回路に入力し、参照クロックをラッチ回路に入力することにより、生成した置換回路データについてのシミュレーションを行う。開示されるシミュレーション装置によれば、シミュレーション対象とすることができる論理回路の制限を少なくすることができ、より多くの論理回路についてサイクルベース型シミュレーションにより論理検証を行うことができる。図13は、クロックゲーティング回路の説明図である。図13に示すクロックゲーティング回路は、D型フリップフロップ以下、FFという151と組み合わせ回路152とを含む。クロックゲーティング回路は、組み合わせ回路152によりFF151に供給されるクロックを停止することにより、FF151における消費電力を抑え、結果として、半導体装置全体としての消費電力を抑える。FF151は、クロック入力端子CKに入力された制御信号に従って、データ入力端子Dに入力された入力データを保持又は出力するラッチ回路である。FF151の出力は、データ出力端子Qから出力される。組み合わせ回路152は、クロックに従ってFF151の制御信号を出力する制御回路である。組み合わせ回路152により、FF151へのクロックの送出が停止される。図14は、本発明者が検討したクロックゲーティング回路のシミュレーションの説明図である。クロックゲーティング回路においては、図13に示すように、FF151の出力が、組み合わせ回路152を経由して、FF151のクロック入力端子CKに入力される。このため、サイクルベース型シミュレーション装置は、FF151のデータ出力端子Qからクロック入力端子CKへのフィードバックループを検出する。しかし、サイクルベース型シミュレーション装置においては、入力データの取り込みのタイミングを保障することができないので、ある論理回路の出力をその論理回路のクロック入力に与えるフィードバックループを含む回路をシミュレーション対象とすることは、禁止されている。従って、このままではサイクルベース型シミュレーションができない。そこで、クロックゲーティング回路を含む論理回路についてサイクルベース型シミュレーションをする場合は、シミュレーション装置が、図14Bに示すように、クロック入力端子CKへのフィードバックループにバッファFF153を挿入する。そして、シミュレーション装置は、バッファFF153を挿入したクロックゲーティング回路について、サイクルベース型シミュレーションを行う。バッファFF153は、シミュレーションのためにシミュレーション用の回路データ上で挿入され、実際に製造される半導体装置の回路には挿入されない。なお、FF151’は、FF151の前段のクロックゲーティング回路に含まれる論理回路である。バッファFF153は、シミュレーション装置のシステムクロックで駆動される。従って、FF151の出力は最初のシステムクロックに同期して一旦バッファFF153に保持され、その後、後続のシステムクロックに同期してバッファFF153の出力がクロック入力端子CKへ入力される。これにより、図14BのループルR1に点線で示すような、クロック入力端子CKへのフィードバックループは解消される。従って、クロックゲーティング回路を含む論理回路について、サイクルベース型シミュレーションを実行することができる。しかし、FF151の出力を最初のシステムクロックに同期してバッファFF153に保持し、その後、後続のシステムクロックに同期してバッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力することが、新たに必要となる。換言すれば、クロックゲーティング回路で使用するクロックの1サイクル内において、バッファFF153がFF151の出力を取り込む第1のサイクルと、バッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力する第2のサイクルとを、別々のサイクルとして分離することが求められる。このために、図14Aに示すように、クロックゲーティング回路で使用するクロックの1サイクルに対して、シミュレーションのためのシステムクロックが複数のサイクル必要となる。図14Aにおいて、クロックサイクル数は組み合わせ回路152に入力されるクロックのサイクル数を表し、シミュレータのサイクル数はシミュレーション装置のシステムクロックのサイクル数を表す。前述したように、1個のクロックサイクル数内で、前半において前述の第1のサイクルが実行され、後半において前述の第2のサイクルが実行される。図14Aに示すように、シミュレータのサイクル数がクロックサイクル数の2倍となる。換言すれば、シミュレータのサイクル数がクロックサイクル数が2:1となる。従って、クロックの1サイクルの分をシミュレーションするために、1サイクルの2倍である2サイクルのシステムクロックを必要とする。換言すれば、シミュレーションの速度が、例えば1/2になる。このように、クロックゲーティング回路の動作に必要なクロックのサイクル数に比べ、シミュレーションのために必要なシステムクロックのサイクル数が増加し、結果としてシミュレーション装置における計算効率が悪化する。開示されるシミュレーション装置によれば、シミュレーション装置におけるシミュレーションの効率を低下させることなく、クロックゲーティング回路を含む論理回路について、サイクルベース型シミュレーションを実行することができる。図1は、シミュレーション装置の一例を示す図である。シミュレーション装置1は、回路データ変換部11と、シミュレーション部12と、回路データ格納部13と、ライブラリ14と、置換回路データ格納部15と、パルス生成部16と、参照クロック生成部17と、入出力部18とを含む。回路データ格納部13は、回路データを格納する記憶部である。回路データは、例えば、シミュレーションに先立って、シミュレーション装置1以外のコンピュータにより生成され、入出力部18を介して、回路データ格納部13に格納される。回路データは、実際に製造される半導体装置の回路を表すデータである。回路データには、後述するように、制御回路とラッチ回路とを含むクロックゲーティング回路が含まれる。ライブラリ14は、クロックゲーティング回路におけるラッチ回路を置換するべき、選択回路とラッチ回路との対を格納する。ライブラリ14は、シミュレーションに先立って、予め生成される。回路データ変換部11は、回路データ格納部13から読み出した回路データに基づいて、置換回路データを生成する回路データ生成部である。置換回路データは、読み出した回路データにおいて、クロックゲーティング回路におけるラッチ回路を、選択回路とラッチ回路とを含む置換回路5により置換することにより生成される。回路データ変換部11は、選択回路とラッチ回路とを含む置換回路5をライブラリ14から読み出して、読み出した選択回路とラッチ回路とを含む置換回路5によりクロックゲーティング回路におけるラッチ回路を置換する。生成された置換回路データは、置換回路データ格納部15に格納される。置換回路データ格納部15は、置換回路データを格納する記憶部であり、回路データ変換部11により生成された置換回路データを格納する。置換回路データは、回路データに基づいて生成された回路データと等価なデータである。置換回路データは、実際に製造される半導体装置の回路を表すデータではなく、シミュレーション用に生成されシミュレーションに用いられるデータである。シミュレーション部12は、置換回路データについてサイクルベース型シミュレーションを行う。これにより、置換回路データは回路データと等価であるので、回路データについてのサイクルベース型シミュレーションが行われたことになる。シミュレーション部12は、パルスをクロックとして制御回路に入力し、参照クロックをラッチ回路に入力することにより、生成した置換回路データについてのシミュレーションを行う。パルスは、参照クロックと予め定められた関係にある。パルス生成部16は、パルスを生成して、シミュレーション部12に供給する。シミュレーション部12は、供給されたパルスを、クロックとして制御回路に入力する。パルスは、実際には、クロックであっても良く、図3に示す置換後のクロックゲーティング回路4の組み合わせ回路6に入力される信号を、図3に示す置換前のクロックゲーティング回路3の組み合わせ回路6に入力されるクロックと区別するために、パルスということとする。置換前のクロックゲーティング回路3の組み合わせ回路6に入力されるクロックは、実際に製造される半導体装置において、クロックゲーティング回路3に実際に動作用クロックとして供給される信号である。置換後のクロックゲーティング回路4の組み合わせ回路6に入力されるパルスは、シミュレーション用の置換回路データにおいて存在するクロックゲーティング回路4に、シミュレーションのために供給される信号である。参照クロック生成部17は、参照クロックを生成して、シミュレーション部12に供給する。参照クロックは、パルスと等しい周波数又は整数倍の周波数とされる。参照クロックとしては、例えば、シミュレーション装置1において最も周波数が高いクロック、換言すれば、シミュレーション装置1のシステムクロックが用いられる。これにより、サイクルベース型シミュレーションを最も良い効率で実行することができる。システムクロックは、シミュレーション装置1にシステム動作をさせる場合の基本クロックである。なお、参照クロックとして、システムクロック以外のクロックを用いるようにしても良い。入出力部18は、シミュレーション部12におけるサイクルベース型シミュレーションを実行するシミュレータのサイクル数を指定する指示を、シミュレーション部12に入力する。これにより、シミュレーション部12は、予め指定された数のサイクルのシミュレーションを実行する。サイクル数は、図9の例では、参照クロックのサイクル数、換言すれば、シミュレーション装置1のシステムクロックのサイクル数である。例えば100のように指定される。これにより、図6の検証対象論理回路2にシステムクロックが100サイクルだけ入力され、その時点での検証対象論理回路2の状態がシミュレーション結果として得られる。また、入出力部18は、シミュレーション12におけるシミュレーションの結果を、例えば表示画面上に出力する。シミュレーションの結果は、ファイルとして出力するようにしても良い。図2は、シミュレーション装置のハードウェア構成の一例を示す図である。CPU101は、ROM102に格納された制御プログラムに従って、シミュレーション装置1を制御する。CPU101は、例えば主メモリであるRAM103上のシミュレーションプログラムを実行する。これにより、回路データ変換部11及びシミュレーション部12が実現される。シミュレーションプログラムは、例えば、CD-ROMやDVD等の記録媒体109に格納され、記録媒体109からCD-ROMドライブやDVDドライブ等を介してハードディスク106に入力され、ハードディスク106からRAM103にロードされる。回路データ格納部13及び置換回路データ格納部15は、例えばハードディスク106に設けられる。換言すれば、データは、例えばハードディスク106に格納される。回路データは、例えば、CD-ROMやDVD等の記録媒体109に格納され、記録媒体109からCD-ROMドライブやDVDドライブ等を介してハードディスク106に入力され、必要に応じてハードディスク106からRAM103にロードされ、回路データ変換部11及びシミュレーション部12により処理される。入力装置104は、例えばキーボードであり、マウス等を含んでも良い。出力装置105は、例えばディスプレイであり、プリンタ等の出力装置を含んでも良い。入出力部8は入力装置104及び出力装置105を含む。CPU101、ROM102、RAM103、入力装置104、出力装置105、及び、ハードディスク106、ネットワーク接続部107は、バス108を介して、相互に接続される。ネットワーク接続部107は、例えば、送受信装置であり、ネットワークに接続され、ネットワークを介して他のコンピュータに接続される。これにより、シミュレーション装置1は、他のコンピュータとの間で通信を行う。以下、回路データ変換部11が実行する回路データ変換処理について、図3~図5を参照して、詳細に説明する。図3は、回路データ変換の説明図である。図3において、クロックゲーティング回路3は、回路データ格納部13から読み出した回路データに含まれる回路、換言すれば、置換前のクロックゲーティング回路である。クロックゲーティング回路3は、実際に設計され製造される半導体装置に含まれる回路である。クロックゲーティング回路4は、回路データ変換部11により生成される置換回路データに含まれる回路、換言すれば、置換後のクロックゲーティング回路である。クロックゲーティング回路4は、シミュレーションのためにシミュレーション用の置換回路データにおいて存在する回路である。クロックゲーティング回路4は、後述するように、クロックゲーティング回路3と等価の回路であり、クロックゲーティング回路3におけるクロック系信号とデータ系信号とを分離した回路である。回路データ変換部11は、前述したように、回路データ格納部13から読み出した回路データにおいて、ラッチ回路51Aを検出する。そして、回路データ変換部11は、検出したラッチ回路51Aを、図3に示すように、選択回路52とラッチ回路51とを含む置換回路5により置換する。これにより、置換回路データが生成される。選択回路52は、第1のデータ入力端子Aに入力データを入力し、第2のデータ入力端子Bにラッチ回路51の出力データを入力し、制御信号入力端子Sに組み合わせ回路6の出力する制御信号を入力するマルチプレクサである。選択回路52は、組み合わせ回路6の出力する制御信号に従って、入力データ又はラッチ回路51の出力データのいずれか一方を、データ出力端子Zから選択的に出力する。組み合わせ回路6は、入力されるクロック又はパルスに基づいて、クロックゲーティング回路を制御する制御回路である。ラッチ回路51は、選択回路52の出力をデータ入力端子Dに入力し、参照クロックをクロック入力端子CKに入力される。ラッチ回路51は、参照クロックに従って、選択回路52の出力を、データ出力端子Qから出力データとして出力する。また、ラッチ回路51は、リセット信号が入力されるリセット端子Rを含む。組み合わせ回路6の出力は、FF51のクロック入力端子CKから切断され、選択回路52の制御信号入力端子Sに入力される。選択回路52の入力には、入力データと、FF51の値を保持するためにFF51の出力Qが入力される。選択回路52の出力ZがFF51のデータ入力端子Dに接続される。ラッチ回路51のデータ出力端子Qから出力される信号は、組み合わせ回路6に入力され、これとは別に、選択回路52の入力端子Bに入力され、更に、ラッチ回路51のデータ入力端子Dに入力される。選択回路52は、データ入力端子Dに接続されるので、データ系の回路である。従って、ラッチ回路51の出力は、クロック系の回路である組み合わせ回路6と、データ系の回路である選択回路52とに分離して入力される。これにより、図14のバッファFF153を不要とすることができる。また、後述するように、置換前後のクロックゲーティング回路3及び4において等価な論理を保ち、かつ、参照クロック、換言すれば、シミュレーション装置1のシステムクロックのサイクル数を削減することができる。ここで、ラッチ回路51Aの検出の条件は、以下の通りである。検出されるラッチ回路51Aは、クロック入力端子CKに入力される信号に同期して動作する同期型の論理回路、換言すれば、デジタル回路である。また、検出されるラッチ回路51Aは、クロック入力端子CKに入力される信号の立ち上がりエッジ又は立ち下がりエッジを検出して、これをトリガとして例えばデータ入力端子Dに入力される信号を取り込む回路である。このようにエッジ動作する回路としては、例えばD型フリップフロップ以下、FFというがある。更に、検出されるラッチ回路51Aのクロック入力端子CKに入力される信号は単一の極性であり、かつ、検出されるラッチ回路51Aは単一のエッジで駆動される。単一の極性とは、例えば、クロックが正の信号であり、負の信号ではないことをいう。単一のエッジとは、例えば、立ち上がりエッジで動作し、立ち下がりエッジでは動作しないことをいう。具体的には、ラッチ回路51Aとして、FF51Aが検出される。この時、FF51Aが組み合わせ回路6と共にクロックゲーティング回路を構成するか否かは、検出の条件とされない。換言すれば、クロックゲーティング回路に含まれないFF51Aも検出される。従って、クロックゲーティング回路に含まれるFF51A及びクロックゲーティング回路に含まれないFF51A、換言すれば、回路データに含まれる全てのFF51Aが、検出され置換の対象とされる。後述するように、FF51Aと選択回路52とラッチ回路51との置換回路5とは論理的に等価であるので、シミュレーションのための置換回路データにおいて、FF51Aを選択回路52とラッチ回路51との置換回路5により置換しても、シミュレーションに支障は無い。従って、置換回路データに含まれる全てのFF51は、参照クロックを基準クロックとして動作する。FF51は、参照クロックの立ち上がりエッジを検出して動作する。参照クロックの周波数は、置換回路データにおいて使用する周波数のうち、最も高い周波数と等しいかより高い周波数とされる。FF51Aは、回路データにおいて、例えば回路名がFFであることにより検出される。回路名は、回路データにおいて、FFのような回路の種類を一意に特定する識別情報である。検出されたFF51Aは、選択回路52とFF51との置換回路5により置換される。選択回路52とFF51との置換回路5は、例えばラッチ回路51Aの検出の後に置換処理に先立って、ライブラリ14から読み出される。図4は、回路データ変換の説明図であり、特に、図4Aは図3に示す置換前のクロックゲーティング回路3の論理テーブルを示し、図4Bは図3に示す置換後のクロックゲーティング回路4の論理テーブルを示す。図4A及び図4Bにおいて、FF51A又はFF51のリセット端子Rへの入力、換言すれば、リセット信号の値は、0又は1とされる。例えば、リセット信号の0は0Vであり、1は予め定められた値の負電圧である。リセット信号が0の場合にはFF51A又はFF51はリセットされ、リセット信号が1の場合にはFF51A又はFF51はリセットされない。図4Aの置換前のクロックゲーティング回路3の論理テーブルにおいて、リセット端子Rへの入力を信号R、データ入力端子Dへの入力を信号D、クロック入力端子CKへの入力を信号CK、データ出力端子Qからの出力を信号Qということとする。図4Aの置換前のクロックゲーティング回路3の論理テーブルにおいて、信号Rが0である場合、FF51Aはリセットされる。従って、信号D及び信号CKはXドントケアであり、信号Qの値は0である。この状態を第1の状態ということとする。信号Rが1である場合において、信号Dが0であり、信号CKが立ち上がりのエッジRであれば、入力0が取り込まれるので、信号Qは0である。この状態を第2の状態ということとする。信号Rが1である場合において、信号Dが1であり、信号CKが立ち上がりのエッジRであれば、入力1が取り込まれるので、信号Qは1である。この状態を第3の状態ということとする。信号Rが1である場合において、信号CKが立ち下がりのエッジFであれば、入力は取り込まれないので、信号DはXドントケアであり、信号QはQであり、それまでの出力を維持する。この状態を第4の状態ということとする。図4Bの置換後のクロックゲーティング回路4の論理テーブルにおいて、リセット端子Rへの入力を信号IR、入力端子Aへの入力を信号ID、制御信号入力端子Sへの入力を信号S、データ出力端子Zからの出力を信号Z、データ入力端子Dへの入力を信号D、クロック入力端子CKへの入力を信号CK、データ出力端子Qからの出力を信号Qということとする。信号Qは、入力端子Bへの入力である。信号IRは、リセット信号であり、信号Rに等しい。信号IDは入力データであり、FF51Aのデータ入力端子Dではなく、選択回路の入力端子Aに入力される。信号CKとしては参照クロックが用いられる。図4Bの置換後のクロックゲーティング回路4の論理テーブルにおいて、信号IRが0である場合、FF51はリセットされる。従って、信号ID、信号S、信号Z、信号D及び信号CKはXドントケアであり、信号Qの値は0である。この状態は第1の状態に相当する。信号IRが1である場合において、信号Sが0であると、入力端子Aへの入力が選択される。そこで、信号IDが0であるとすると、信号Zは入力端子Aへの入力0となる。この時、信号CKが立ち上がりのエッジRであれば、信号Z、換言すれば、入力端子Aへの入力0が取り込まれるので、信号Qは0である。この状態は第2の状態に相当する。信号IRが1である場合において、信号Sが0であり、信号IDが1であると、信号Zは入力端子Aへの入力1となる。この時、信号CKが立ち上がりのエッジRであれば、信号Z、換言すれば、入力端子Aへの入力1が取り込まれるので、信号Qは1である。この状態は第3の状態に相当する。信号IRが1である場合において、信号Sが1であると、入力端子Bへの入力が選択される。従って、信号IDはXドントケアとなり、信号Zは入力端子Bへの入力Qとなる。この時、信号CKが立ち上がりのエッジRであれば、信号Z、換言すれば、入力端子Bへの入力Qが取り込まれるので、信号QはQであり、それまでの出力を維持する。この状態は、第1~第4の状態のいずれにも該当しない第5の状態である。第5の状態により、値Qを保持するサイクルを実現することができる。信号IRが1である場合において、信号CKが立ち下がりのエッジFであれば、入力は取り込まれないので、信号ID、信号S、信号Z及び信号DはXドントケアであり、信号QはQであり、それまでの出力を維持する。この状態は第4の状態に相当する。以上から、置換後のクロックゲーティング回路4は、置換前のクロックゲーティング回路3と等価であり、かつ、値Qを保持するサイクルを有することが判る。図5は、回路データ変換の説明図であり、置換後のクロックゲーティング回路4を含む置換回路データの一例を示す。置換回路データにおいては、クロックゲーティング回路3に含まれるFF51Aが、FF51と選択回路52との置換回路5により置換されている。選択回路52の入力端子Aには、前段のクロックゲーティング回路4に含まれるFF51’からの信号が、入力データとして入力される。選択回路52の制御信号入力端子Sには、組み合わせ回路6からの信号が、制御信号として入力される。組み合わせ回路6は、例えばORゲート61、ANDゲート62を含む。ANDゲート62に入力される他の信号とデータ出力端子Qからの信号とが共にハイレベルである場合に、組み合わせ回路6から1が出力される。これにより、FF51へのパルスの供給が停止され、FF51にデータがホールドされる。組み合わせ回路6は、図5に示す構成以外の種々の構成を採ることができる。次に、シミュレーション部12が実行するシミュレーション処理について、図6~図11を参照して、詳細に説明する。図6は、シミュレーションの説明図である。シミュレーション部12は、置換回路データ格納部15から読み出した置換回路データに基づいて、シミュレーションモデルとして、検証対象論理回路2を構築する。例えば、シミュレーション部12は、置換回路データにより表される論理回路を、ハードウェア及びソフトウェアにより検証対象論理回路2として実現したエミュレータである。検証対象論理回路2は、複数の置換回路5を含む。全ての置換回路5には、参照クロック生成部17からシミュレーション部12に供給された参照クロックが、入力される。予め定められた置換回路5には、パルス生成部16からシミュレーション部12に供給されたパルスAがクロック用配線を介して入力され、また、予め定められた他の置換回路5には、パルス生成部16からシミュレーション部12に供給されたパルスBがクロック用配線を介して入力される。例えば、パルスAは2GHzの周波数であり、パルスBは1GHzの周波数である。図7は、シミュレーションの説明図である。置換回路5は、図7Bに示すように、FF51と選択回路52とを含む。参照クロックは、FF51のクロック入力端子CKに入力される。パルスは、組み合わせ回路6に入力される。FF51は、参照クロックの立ち上がりエッジを検出して動作する。選択回路52は、制御信号入力端子Sへの入力がロウレベルの場合に入力端子Aに入力された信号を選択して出力し、制御信号入力端子Sへの入力がハイレベルの場合に入力端子Bに入力された信号、換言すれば、FF51の出力データを選択して出力する。また、選択回路52の入力端子Aには、前段のクロックゲーティング回路4に含まれるFF51’からの信号が、入力データとして入力される。選択回路52の入力端子Bには、FF51の出力が入力される。FF51の出力は、選択回路52への入力とは別に、組み合わせ回路6に入力される。選択回路52の制御信号入力端子Sには、組み合わせ回路6からの信号が、制御信号として入力される。選択回路52の出力がFF51のデータ入力端子Dに入力される。以上のように、FF51のデータ出力端子Qからクロック入力端子CKへのフィードバックループが解消される。従って、サイクルベース型シミュレーションを実行することができ、また、図14のバッファFF153の挿入を不要とすることができる。更に、バッファFF153の挿入を不要としたことにより、図14Aに示すように、クロックゲーティング回路で使用するクロックの1サイクル内において、バッファFF153がFF151の出力を取り込む第1のサイクルと、バッファFF153の出力を組み合わせ回路152及びクロック入力端子CKへ入力する第2のサイクルとを、別々のサイクルとして分離する必要がなくなる。従って、図7Aに示すように、クロックゲーティング回路で使用するクロックの1サイクルと、シミュレーションのためのシステムクロックの1サイクルとを等しくすることができる。換言すれば、シミュレータのサイクル数とクロックサイクル数が1:1となる。図7Aにおいて、制御されるサイクル数は組み合わせ回路152に入力されるパルスのサイクル数を表し、シミュレータのサイクル数はシミュレーション装置のシステムクロックのサイクル数を表す。このように、クロックゲーティング回路の動作に必要なクロックのサイクル数に比べ、シミュレーションのために必要なシステムクロックのサイクル数が増加しないので、結果としてシミュレーション装置における計算効率が悪化することを防止することができる。図8は、シミュレーションの説明図である。図8において、前述したように、シミュレータのサイクル数とクロックサイクル数が1:1であるので、サイクル数として表される。クロックは、図3の置換前のクロックゲーティング回路3に入力されるクロックである。パルスは、図3の置換後のクロックゲーティング回路4に入力されるパルスである。図8においては、サイクル数により表されるサイクルと、参照クロックのサイクルとは一致しない。シミュレーション部12は、参照クロックと予め定められた関係にあるパルスをクロックとして組み合わせ回路6に入力し、参照クロックをFF51に入力する。これにより、生成した置換回路データについてのシミュレーションが行われる。図8において、パルスは、参照クロックに基づいて、FF51の入力データ取り込み期間とデータホールド期間とを定める。入力データ取り込み期間とデータホールド期間との割合は、予め定められる。シミュレーション部12は、参照クロックに従って、パルスの予め定められた周期を入力データの取り込み期間又はホールド期間に割り当てる。期間T11~期間T14は、パルスにより定められるタイミングである。具体的には、期間T11及び期間T13はデータホールド期間であり、期間T12及び期間T14はデータ取り込み期間である。クロックの波形及び参照クロックの波形において、立ち上がりエッジに重ねて示される矢印は、FF51が駆動されるタイミングとなるエッジを表す。パルスは、前述したように、組み合わせ回路6を介して、選択回路52の制御信号入力端子Sに入力される。従って、パルスが1である期間T11及び期間T13は、図4Bの論理テーブルにおいて、信号Sが1である場合に相当する。信号Sが1である場合、信号CKである参照クロックが立ち上がりのエッジRのタイミングで、入力端子Bへの入力Qが取り込まれ、それまでの出力Qがホールドされる。一方、パルスが0である期間T12及び期間T14は、図4Bの論理テーブルにおいて、信号Sが0である場合に相当する。信号Sが0である場合、信号CKである参照クロックが立ち上がりのエッジRのタイミングで、入力端子Aへの入力IDが取り込まれる。具体的には、入力IDの0又は1が、取り込まれ、出力される。以上のように、FF51は、参照クロックとパルスにより制御され状態遷移する。換言すれば、FF51の状態は、選択回路52の出力Zと、参照クロックの立ち上がりエッジとにより制御される。データホールド期間T11及び期間T13と、データ取り込み期間T12及び期間T14との割当は、予め定められる。換言すれば、期間T11~期間T14を実現するように、パルス及び他の信号が供給される。図9は、シミュレーションの一例を示す図であり、図6のパルスAによるシミュレーションについて示す。パルスAとして、参照クロックの周波数2GHzと等しい、周波数2GHzのパルスが用いられる。参照クロックの立ち上がりエッジのタイミングでは、パルスAは、ロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。取り込まれた入力データは、次の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。パルスAがハイレベルである期間T21は、選択回路52の制御信号入力端子Sにハイレベルが入力されるので、データホールド期間となる。パルスAがロウレベルである期間T22は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。以後、参照クロックのサイクル毎に、データホールド期間T21とデータ取り込み期間T22とが繰り返される。予め定められたタイミングである期間T23において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T23は、パルスが停止された、データホールド期間である。なお、期間T23において、図5のANDゲートに入力される他の信号と、FF51の出力Qとは、最初の参照クロックから6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。パルスAは、検証対象論理回路2内で最も高い周波数2GHzであり、2GHzの参照クロックと一致し、シミュレーション装置1のシステムクロックとも一致する。パルスAと参照クロックとシミュレーション装置1のシステムクロックとが一致している場合には、前述したように、参照クロックの立ち上がりエッジの検出のタイミングにおいては、パルスAはロウレベルである。図10は、シミュレーションの他の一例を示す図であり、図6のパルスAによる他のシミュレーションについて示す。パルスAとして、参照クロックの周波数2GHzと等しい、周波数2GHzのパルスが用いられる。図10においても、図9と同様に、パルスAは、検証対象論理回路2内で最も高い周波数2GHzであり、2GHzの参照クロックと一致し、シミュレーション装置1のシステムクロックとも一致する。パルスAと参照クロックとシミュレーション装置1のシステムクロックとが一致している場合には、図10に示すような波形のパルスA’を用いるようにしても良い。参照クロックの立ち上がりエッジの検出のタイミングにおいては、ロウレベルが連続するパルスA’はロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。取り込まれた入力データは、次の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。パルスA’がロウレベルである期間T31~期間T35は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。予め定められたタイミングである期間T36において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T36は、パルスが停止された、データホールド期間である。なお、期間T36において、図5のANDゲートに入力される他の信号と、FF51の出力Qとは、最初の参照クロックから6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。図11は、シミュレーションの一例を示す図であり、図6のパルスBによるシミュレーションについて示す。パルスBとして、参照クロックの周波数2GHzの半分の周波数1GHzのパルスが用いられる。最初の参照クロックの立ち上がりエッジのタイミングでは、パルスBは、ロウレベルであり、選択回路52の制御信号入力端子Sにロウレベルが入力されている。従って、入力データは、最初の参照クロックの立ち上がりエッジに応じて、FF51に取り込まれる。パルスBがハイレベルである期間T41は、選択回路52の制御信号入力端子Sにハイレベルが入力されるので、データホールド期間となる。パルスBがロウレベルである期間T42は、選択回路52の制御信号入力端子Sにロウレベルが入力されるので、データ取り込み期間となる。以後、パルスBのサイクル毎に、データホールド期間T41とデータ取り込み期間T42とが繰り返される。取り込まれた入力データは、最初の参照クロックから2番目の参照クロックの立ち上がりエッジに応じて、FF51から出力データとして出力される。予め定められたタイミングである期間T43において、組み合わせ回路6の出力がハイレベルとされる。これにより、クロックゲーティング回路4の選択回路52へのパルスの供給が停止され、また、データがホールドされる。従って、期間T43は、パルスが停止された、データホールド期間である。なお、期間T43において、図5のANDゲートに入力される他の信号と、FF51の出力Qとは、最初の参照クロックから5番目と6番目の参照クロックの立ち上がりエッジの検出のタイミングにおいては、ハイレベルである。このハイレベルが選択回路52に取り込まれるので、データがホールドされ、FF51が状態遷移する。図12は、シミュレーション処理フローチャートである。回路データ変換部11は、回路データ格納部13から回路データを読み出すステップS11。シミュレーションの開始に先立って、回路データは、回路データ格納部13に格納される。回路データ変換部11は、読み出した回路データに含まれるFF51を検出するステップS12。FF51は、例えば複数検出される。この後、回路データ変換部11は、ライブラリ14から、FF51Aを置換するべき、選択回路52とFF51との置換回路5を読み出す。そして、回路データ変換部11は、検出したFF51Aを、各々、選択回路52とFF51との置換回路5により置換するステップS13。これにより、置換回路データが生成される。回路データ変換部11は、生成した置換回路データを置換回路データ格納部15に格納するステップS14。この後、シミュレーション部12は、置換回路データ格納部15から置換回路データを読み出すステップS15。また、パルス生成部16は、パルスを生成してシミュレーション部12に供給しステップS16、参照クロック生成部17は、参照クロックを生成してシミュレーション部12に供給するステップS17。この後、シミュレーション部12は、供給されたパルスと参照クロックを用いて、予め指定されたサイクルの数だけサイクルベース型シミュレーションを実行しステップS18、シミュレーションの結果を入出力部18から出力するステップS19。これにより、シミュレーション装置1のユーザは、サイクルベース型シミュレーションの結果を知ることができる。