(57)【要約】【課題】任意の指定時刻から再シミュレーション開始時まで遡ってシミュレーション結果を取得することができ、一定期間以上前のシミュレーション状態でも安易に解析する。【解決手段】シミュレーション実施時に時間測定手段４により任意の時間間隔を検出し、検出されたタイミングで保存制御手段５の指示により、シミュレーション内部状態をシミュレーション時刻と共にシミュレーション状態保存手段６に保存していく。シミュレーション終了後、時刻指定手段９にて任意の時刻を指定し、復帰制御手段８が直前に保存された内部状態を検索し、その内部状態をシミュレーション実行手段１に復帰させ、指定時刻まで再シミュレーションを行う。このとき解析情報保存手段１１にて再シミュレーション時の内部情報や解析情報などを全ての時刻で取得する。【選択図】図８
2006202102.tif 000002
【特許請求の範囲】
【請求項１】
経時的変化に合わせて状態を変化させるシミュレーション装置であって、
入力情報に基づき状態変化をシミュレートするシミュレーション実行手段と、
任意時点におけるシミュレーション状態およびシミュレーション時刻を保存する状態保存手段と、
任意時点におけるシミュレーション状態に復帰させる状態復帰手段と、
任意の時間間隔で内部状態の保存を指示する保存制御手段と、
シミュレーションを保存された内部状態へ復帰するよう指示する復帰制御手段とを備えることを特徴とするシミュレーション装置。
【請求項２】
指定時刻直前の内部状態が保存された前記シミュレーション時刻から検索する状態検索手段と、
復帰したシミュレーション状態から指定時刻までシミュレーションを行うよう指示する再シミュレーション制御手段とを備え、
前記復帰制御手段は、検索された内部状態のシミュレーションへの復帰を指示することを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
復帰したシミュレーション状態からシミュレーションを再開し、指定時刻までシミュレーションを行った際に、この間のシミュレーション状態および結果を保存する結果保存手段を備えることを特徴とする請求項１または２に記載のシミュレーション装置。
【請求項４】
前記任意の時間間隔が実際のシミュレーション時間に基づくことを特徴とする請求項１に記載のシミュレーション装置。
【請求項５】
指定条件を判定し、成立した時点での時刻の保存を指示する時刻保存手段を備えることを特徴とする請求項２ないし４の何れか一項に記載のシミュレーション装置。
【請求項６】
経時的変化に合わせて状態を変化させるシミュレーション方法であって、入力情報に基づき状態変化をシミュレートするシミュレーション実行ステップと、任意時点におけるシミュレーション状態およびシミュレーション時刻を保存する状態保存ステップと、任意時点におけるシミュレーション状態の復帰を行う状態復帰ステップと、任意の時間間隔で内部状態の保存を指示する保存制御ステップと、シミュレーションを保存された内部状態の復帰を指示する復帰制御ステップとを備えることを特徴とするシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経時的変化をシミュレートし、このシミュレーション中の内部状態を保存、復帰させることのできるミュレーション装置に関する。特に大規模なシステムＬＳＩの長時間にわたるシミュレーションを実施するようなシミュレーション装置に関する。
【背景技術】
【０００２】
従来、ＬＳＩの微細化、集積技術の進展により、シングルチップＬＳＩにシステムレベルの大規模回路を集積することが可能となっている。一方、システムＬＳＩ設計における処理方式から、機能、論理、レイアウトまでを短期間に設計し、早期に製品化を図ることが必要となっている。
【０００３】
従って、設計規模の増大に伴い、設計生産性の向上、設計効率化を可能とする技術が強く求められている。特に設計検証では、設計規模の増大と検証ケースの複雑化により長大な検証工数を要するため、その効率化が不可欠である。従来の機能論理設計検証では、主にハードウェア記述言語を用いた回路記述と、そのテストベクタ記述を行い、その回路動作をコンピュータ上でシミュレーションする。回路動作の検証では、シミュレーション実行中、特定の回路上の信号を観測し、設計仕様上その信号のとるべき期待値との照合を行うことによって設計に誤りのないことを確認する。
【０００４】
あるいは、シミュレーション実行中の仕様上とり得る動作状態の条件を設定し、その条件の範囲内で動作することを確認する。この際、期待値との不一致や動作条件違反として現れる設計不具合が発生すると、不具合が発生した素子、信号等から順次、その不具合のある素子、信号線、等の入力側の直前の状態を探索し、不具合の原因を特定し、必要な回路修正を行う。
【０００５】
このデバッグ作業では不具合を生じさせる動作状態を再現させるため、少なくとも１回、シミュレーションを再実行する。さらにすべてのシミュレーション実行を通じて不具合が発生しなくなるまでデバッグ作業を繰り返し行う。従来のシミュレーション装置、あるいはシミュレーション方法では、不具合の解析、デバッグ作業を行うために、シミュレーション実行中の回路の動作状態を監視し、期待値違反等の不具合と判断される状態が発生するとシミュレーションを一時停止させ、動作状態の解析や単位時間毎にステップ実行する手段を備えていた。
【０００６】
シミュレーションにおいてデバッグする際、バックトレース技術を利用することが従来技術として知られている。このバックトレース用データ保存にＦＩＦＯ手段を利用し、所定の時間以前の内部状態の情報データを削除していた。さらに、デバッグ作業を効率的に行うためには、不具合の原因を特定するのに過去の状態を探索する必要があったため、シミュレーション状態を順次記憶するとともに先入れ先出し方式で一定以上の記憶を削除するＦＩＦＯ手段を追加し、ＦＩＦＯ手段で使用する一定容量の記憶領域で、シミュレーション結果を保存する方法も特許文献１のように提案されている。これにより、不具合の発生点など任意の時点でシミュレーションを中断させても、シミュレーションの再実行を要せず、時間を遡って一定期間のシミュレーション状態を解析でき、設計検証作業を効率化することができる。
【特許文献１】特開２０００−２５０９４９公報（第１１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の構成にあっては、ＦＩＦＯ手段で保存されている容量を超える時間以上前の内部状態の情報は削除しており、十分に前のシミュレーション状態を解析することはできないという事情があった。
【０００８】
本発明は、任意の指定時刻から再シミュレーション開始時まで遡ってシミュレーション結果を取得することができ、一定期間以上前のシミュレーション状態でも安易に解析することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のシミュレーション装置は、入力情報に基づき状態変化をシミュレートするシミュレーション実行手段と、任意時点におけるシミュレーション状態およびシミュレーション時刻を保存する状態保存手段と、任意時点におけるシミュレーション状態へ復帰させる状態復帰手段と、任意の時間間隔で内部状態の保存を指示する保存制御手段と、シミュレーションを保存された内部状態へ復帰するよう指示する復帰制御手段とを有する。
【００１０】
この構成により、入力情報に基づき状態変化をシミュレートし、任意時点におけるシミュレーション状態およびシミュレーション時刻を保存し、任意時点におけるシミュレーション状態に復帰し、任意の時間間隔で内部状態の保存を指示し、シミュレーションを保存された内部状態の復帰を指示することによって、シミュレーション中の任意の時間帯から再シミュレーションを実行し、シミュレーション結果を短時間に取得でき、保存する内部状態の情報量を抑制できるシミュレーション装置が実現できる。
【００１１】
本発明のシミュレーション装置は、指定時刻直前の内部状態が保存されたシミュレーション時刻から検索する状態検索手段と、復帰したシミュレーション状態から指定時刻までシミュレーションを行うよう指示する再シミュレーション制御手段とを備え、復帰制御手段は、検索された内部状態のシミュレーションへの復帰を指示する。
【００１２】
この構成により、指定時刻直前の内部状態が保存されたシミュレーション時刻から状態検索し、検索された内部状態のシミュレーションへの復帰を指示し、復帰したシミュレーション状態から指定時刻までシミュレーションを行うことによって、任意の指定時刻のシミュレーション状態を実行できるシミュレーション装置が実現できる。
【００１３】
本発明のシミュレーション装置は、復帰したシミュレーション状態からシミュレーションを再開し、指定時刻までシミュレーションを行った際に、この間のシミュレーション状態および結果を保存する結果保存手段を有する。
【００１４】
この構成により、復帰したシミュレーション状態からシミュレーションを再開し、指定時刻までシミュレーションを行った際に、この間のシミュレーション状態および結果を保存することによって、任意の指定時刻のシミュレーション状態から過去のシミュレーション結果、内部状態、等を取得でき、任意の指定時刻からさかのぼってシミュレーションの状態変化を解析できるシミュレーション装置が実現できる。
【００１５】
本発明のシミュレーション装置は、任意の時間間隔が実際のシミュレーション時間に基づく。
【００１６】
この構成により、任意の時間間隔が実際のシミュレーション時間に基づくことによって、シミュレーション時間を基準とし、一定時間で内部状態を保存することができ、時刻を指定した復帰時の再シミュレーションにおいて、最大待ち時間を内部状態保存時の時間間隔に抑えることができるシミュレーション装置が実現できる。
【００１７】
本発明のシミュレーション装置は、指定条件を判定し、成立した時点での時刻の保存を指示する時刻保存手段を有する。
【００１８】
この構成により、指定条件を判定し、成立した時点での時刻の保存を指示することによって、指定した処理区切りから再シミュレーションを実行し、シミュレーションを解析できるシミュレーション装置が実現できる。
【００１９】
本発明のシミュレーション方法は、入力情報に基づき状態変化をシミュレートするシミュレーション実行ステップと、任意時点におけるシミュレーション状態およびシミュレーション時刻を保存する状態保存ステップと、任意時点におけるシミュレーション状態の復帰を行う状態復帰ステップと、任意の時間間隔で内部状態の保存を指示する保存制御ステップと、シミュレーションを保存された内部状態の復帰を指示する復帰制御ステップとを有する。
【００２０】
この方法により、入力情報に基づき状態変化をシミュレートし、任意時点におけるシミュレーション状態およびシミュレーション時刻を保存し、任意時点におけるシミュレーション状態に復帰し、任意の時間間隔で内部状態を保存し、シミュレーションを保存された内部状態の復帰を指示するステップを実行するシミュレーション装置が実現できる。
【発明の効果】
【００２１】
本発明によれば、シミュレーション中のいつの時間帯からでも再シミュレーションを行い、再シミュレーション結果を短時間に取得することができ、再シミュレーション期間のシミュレーション状態を保存することで、内部状態の記憶量を減少させ、かつ、任意の時刻から遡ってシミュレーション状態を解析することができるシミュレーション装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
図１は、本発明の実施の形態１におけるシミュレーション装置の構成図である。まず、シミュレーション実行手段１にシミュレーション情報２やテストパタン３を入力し、シミュレーション実行を指示することにより、シミュレーションを開始する。シミュレーションの経過時間を時間測定手段４により測定し、任意の時間間隔を検出する。時間測定手段４により検出されたタイミングにより、保存制御手段５にシミュレーション内部状態の保存を指示する。保存制御手段５はシミュレーション内部状態をシミュレーション時刻と共にシミュレーション状態保存手段６に保存していく。時間測定手段４による時間測定からシミュレーション状態の保存を、シミュレーションの終了まで順次行う。シミュレーションを終了した後、選択手段７より、シミュレーション指標として、復帰させたい内部状態を指定する。復帰制御手段８は選択された内部状態をシミュレーション状態保存手段６からシミュレーション実行手段１に復帰させ、シミュレーションの再実行の準備を行う。
【００２３】
図２は、本発明の実施の形態１におけるシミュレーション装置の動作を説明する概要図である。シミュレーション処理は、任意の時間間隔をおいて進むにつれて、シミュレーションカウンタがカウントアップしシミュレーションの内部状態がそれぞれシミュレーション状態保存手段６に保存されてシミュレーション処理が進展する。
【００２４】
図３は、本発明の実施の形態１におけるシミュレーション装置のシミュレーション状態保存時の動作フローである。まず、ステップＳ１において、次指定時刻算出処理を実行し、次々に任意の時間間隔の経過とともに実行するシミュレーションの内部状態を保存するタイミングを算出する。次いで、ステップＳ２においてシミュレーションをある一定時間分実行する。このとき、一回にシミュレーションを実行するシミュレーション期間は一単位時間でも複数単位時間であってもよい。次に、ステップＳ３において、シミュレーションが完了したか否かを判定し、完了していた場合（Ｙ）は、処理を終了する。完了していなければ（Ｎ）、ステップＳ４にて指定時間となっているかを判定する。ステップＳ４の条件が成り立つ場合（Ｙ）は、ステップＳ５にて内部状態を保存し、ステップＳ６にてシミュレーションの時刻情報を保存する。続いてステップＳ７にて、次に実行するシミュレーションの内部状態を保存する時間を算出し、ステップＳ２に戻り、シミュレーションの実行を継続する。もし、ステップＳ４にて指定時間となっていない場合（Ｎ）は、ステップＳ２のシミュレーションの実行を継続する。
【００２５】
図４は、本発明の実施の形態１におけるシミュレーション装置のシミュレーション状態復帰時の動作フローである。先ず処理を開始すると、ステップＳ８にてシミュレーション時刻をインデックスとして、保存されている内部状態から１つを選択する。次いで、ステップＳ９において内部状態復帰処理を実行し、ステップＳ８で選択された内部状態をシミュレーション実行手段に復帰させ、再シミュレーションの準備を行い、処理を終了する。
【００２６】
上述の説明より、任意の時間間隔にてシミュレーションの内部状態を保存し、指定された内部状態を復帰させ再シミュレーションの準備までを行うことができる。
【００２７】
（実施の形態２）
図５は、本発明の実施の形態２におけるシミュレーション装置の構成図である。実施の形態２と実施の形態１との違いは、実施の形態１の選択手段７が、実施の形態２では任意のシミュレーション時刻を指定できる時刻指定手段９であり、実施の形態１の復帰制御手段８が実施の形態２では時刻指定手段９で指定された時刻の直前に保存された内部状態を検索し、検索された内部状態をシミュレーション実行手段１に復帰させ、指定時刻まで再シミュレーションを行う指示を出す指定時刻復帰制御手段１０で構成する点である。その他は、実施の形態１と同一である。
【００２８】
図６は、本発明の実施の形態２における動作の概念図である。任意のシミュレーション指定時刻Ｔ１を指定して再シミュレートを実行し、シミュレーションの内部状態を復帰する場合、指定時刻Ｔ１の直前のシミュレーション時刻をインデックスとする内部状態をシミュレーションに復帰させる復帰処理を実行する。次いで、指定時刻Ｔ１まで内部状態を復帰させる再シミュレーションを行い、指定時刻Ｔ１でのシミュレーション状態に復帰させる。
【００２９】
図７は、本発明の実施の形態２におけるシミュレーション装置のシミュレーション状態復帰時の動作フローである。先ず処理を開始すると、ステップＳ１０にて復帰させる任意のシミュレーション時刻を入力する。次いで、ステップＳ１１ではステップＳ１０にて選択されたシミュレーション時刻の直前に保存された内部状態をステップＳ６にて保存されたシミュレーション時刻をインデックスとして検索する。次いで、ステップＳ１１ａで内部状態復帰処理を実行し、ステップＳ１１で選択された内部状態をシミュレーション実行手段に復帰させ、再シミュレーションの準備を行う。次いで、ステップＳ１２においてシミュレーションを再開する。次いで、ステップＳ１３にて指定時刻までシミュレーションが行われたか否かを判定し、指定時刻でなければ（Ｎ）、更にシミュレーションを継続し、指定時刻であれば（Ｙ）、処理を終了する。
【００３０】
このように、この実施の形態におけるシミュレーション装置は、指定時刻直前の内部状態が保存されたシミュレーション時刻から検索する状態検索手段と、復帰したシミュレーション状態から指定時刻までシミュレーションを行うよう指示する再シミュレーション制御手段を更に備え、さらに復帰制御手段は、検索された内部状態のシミュレーションへの復帰を指示する。
【００３１】
上述の説明より、任意のシミュレーション時刻を指定することで、指定時刻の内部状態を復帰させ再シミュレーションの準備までを行うことができるようになる。
【００３２】
（実施の形態３）
図８は、本発明の実施の形態３におけるシミュレーション装置の構成図である。実施の形態３は、実施の形態２の構成に、内部状態復帰後の再シミュレーション時の内部情報や解析情報などを全ての時刻で取得する解析情報保存手段１１が加わったことが異なる。その他は、実施の形態２と同一である。
【００３３】
図９は、本発明の実施の形態３におけるシミュレーション装置のシミュレーション状態復帰時の動作フローである。実施の形態３が実施の形態２と異なるところは、指定時刻までステップＳ１２のシミュレーションを実行しながら、ステップＳ１２ａの内部情報および解析情報を取得する処理を実行するところである。その他は、実施の形態２と同一である。この実施形態では、復帰したシミュレーション状態からシミュレーションを再開し、指定時刻までシミュレーションを行った際に、この間のシミュレーション状態および結果を保存する結果保存手段を有する。
【００３４】
上述の説明より、任意のシミュレーション時刻を指定して、指定時刻の内部状態を復帰させる場合に、再シミュレーションを実行した期間の内部情報や解析情報を全て取得でき、再度シミュレーションを行わなくとも、再シミュレーションを実施した期間の解析情報を閲覧することができる。
【００３５】
（実施の形態４）
図１０は、本発明の実施の形態４における動作の概念図である。実施の形態４では、シミュレーションにおける任意の条件を指定し、指定条件が成立するシミュレーションの条件成立時刻Ｔ２を保存する。シミュレーション復帰時に、条件成立時のシミュレーションの条件成立時刻Ｔ２を指定することで、条件成立時のシミュレーション状態まで復帰させる処理を実行できる。実施の形態４の経時的変化に合わせて状態を変化させるシミュレーション方法は、入力情報に基づき状態変化をシミュレートするシミュレーション実行ステップと、任意時点におけるシミュレーション状態およびシミュレーション時刻の保存を行う状態保存ステップと、任意時点におけるシミュレーション状態の復帰を行う状態復帰ステップと、任意の時間間隔で内部状態の保存を指示する保存制御ステップと、シミュレーションを保存された内部状態の復帰を指示する復帰制御ステップとを有する。
【００３６】
図１１は、本発明の実施の形態４におけるシミュレーション装置のシミュレーション状態保存時の動作フローである。実施の形態１、２、３と実施の形態４の異なるところは、実施の形態４はステップＳ４またはステップＳ７からステップＳ２のシミュレーション実行に戻る前に、ステップＳ１５にてシミュレーションにおける任意の条件が成立しているかを判断し、成立している場合（Ｙ）は、ステップＳ１６においてこのときのシミュレーション時刻を保存しておき、ステップＳ２のシミュレーションを継続する。ステップＳ１５にて条件が成立していない場合（Ｎ）は何もせずにステップＳ２のシミュレーションを継続する処理内容である。その他は、実施の形態１、２、３と同一である。本発明のシミュレーション装置は、指定条件を判定し、成立した時点での時刻の保存を指示する時刻保存手段を有する。
【００３７】
上述の説明より、シミュレーションの任意の条件が成立した時のシミュレーション状態に復帰させることができるようになる。
【００３８】
なお、実施の形態1ないし４では、任意の時間間隔にシミュレーション時間を使用しているが、任意の時間間隔を実際にシミュレーションした時間の時間間隔とすることも可能である。これにより、任意のシミュレーション時刻を指定したシミュレーション復帰時における再シミュレーション時間の上限を抑えることができる。すなわち、再シミュレーションに要する時間は最大でも保存時の時間間隔であり、これに実際にシミュレーションを行った時間を指定しているため、この時間以上はかからないで済むようになる。
【００３９】
また、ここでは、ＬＳＩのシミュレーションを例に記載したが、内部状態を経時的に変化させるような全シミュレーションに適用可能である。
【００４０】
ここでは内部状態やシミュレーション結果の解析方法は特に図示しなかったが、これらを視覚的に表示することも可能である。例えば、ある特定の情報の経時的変化をグラフとして表示するなどは、本発明の内容を適用し、表示処理を付加すれば実施可能である。また、内部状態の保存時の情報量から、内部状態を保存する時間間隔を変更することも可能である。
【００４１】
以上説明したシミュレーション装置は、一度実施したシミュレーションにおいて任意の時刻から再開することができ、また、再開指定時刻以前の再シミュレーション実行時の解析情報を保存することもできる。このようにすることで、再度シミュレーションを実施せずとも再シミュレーションを実行した期間の解析情報を閲覧することができるようになる。つまり、シミュレーションのどの時刻においても解析情報を取得することができ、かつ、内部情報を保存する情報量を抑えることができるという利点がある。
【産業上の利用可能性】
【００４２】
本発明のシミュレーション装置は、シミュレーション中のいつの時間帯からでも再シミュレーションを行い、再シミュレーション結果を短時間に取得することができ、再シミュレーション期間のシミュレーション状態を保存することで、内部状態の記憶量を減少させ、かつ、任意の時刻から遡ってシミュレーション状態を解析することができるシミュレーション装置を提供することができるという効果を有し、経時的変化をシミュレートし、このシミュレーション中の内部状態を保存、復帰させることのできるミュレーション装置、特に大規模なシステムＬＳＩの長時間にわたるシミュレーションを実施するようなシミュレーション装置等として有用である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態１におけるシミュレーション装置の構成図
【図２】本発明の実施の形態１におけるシミュレーション装置の動作を説明する概要図
【図３】本発明の実施の形態１におけるシミュレーション装置のシミュレーション状態保存時の動作フロー
【図４】本発明の実施の形態１におけるシミュレーション装置のシミュレーション状態復帰時の動作フロー
【図５】本発明の実施の形態２におけるシミュレーション装置の構成図
【図６】本発明の実施の形態２におけるシミュレーション装置の動作の概念図
【図７】本発明の実施の形態２におけるシミュレーション装置のシミュレーション状態復帰時の動作フロー
【図８】本発明の実施の形態３におけるシミュレーション装置の構成図
【図９】本発明の実施の形態３におけるシミュレーション装置のシミュレーション状態復帰時の動作フロー
【図１０】本発明の実施の形態４におけるシミュレーション装置の動作の概念図
【図１１】本発明の実施の形態４におけるシミュレーション装置のシミュレーション状態保存時の動作フロー
【符号の説明】
【００４４】
１  シミュレーション実行手段
２  シミュレーション情報
３  テストパタン
４  時間測定手段
５  保存制御手段
６  シミュレーション状態保存手段
７  選択手段
８  復帰制御手段
９  時刻指定手段
１０  指定時刻復帰制御手段
１１  解析情報保存手段
【図１】
2006202102.tif 000003
【図２】
2006202102.tif 000004
【図３】
2006202102.tif 000005
【図４】
2006202102.tif 000006
【図５】
2006202102.tif 000007
【図６】
2006202102.tif 000008
【図７】
2006202102.tif 000009
【図８】
2006202102.tif 000010
【図９】
2006202102.tif 000011
【図１０】
2006202102.tif 000012
【図１１】
2006202102.tif 000013