(57)【要約】【課題】デジタルＬＳＩの開発時における動作検証の効率向上を図る。【解決手段】検証用デバイス１２０は、バスインタフェース１１０を介して検証装置１１０と通信可能である。検証用デバイス１２０において、互いに通信を行う第１の部分回路１３４と第２の部分回路１３６は、動作検証の対象すなわち被検証回路を構成する。検証装置１１０には、プログラムより、第１の部分回路が行う処理に対応する演算をＣＰＵに実行させるソフトウェアエミュレータ１１４を有する。通信先選択回路１４０は、第１の部分回路１３４と１３６の接続路に設けられており、第２の部分回路１３６の通信先を、第１の部分回路１３４とソフトウェアエミュレータ１１４との間で切替可能である。【選択図】図１
2010072843.tif 000002
【特許請求の範囲】
【請求項１】
動作検証の対象であり、互いに通信を行う第１の部分回路と第２の部分回路を含む被検証回路と、
前記第２の部分回路の通信先を、前記第１の部分回路と外部装置との間で切替可能な通信先選択部とを備えることを特徴とする検証用デバイス。
【請求項２】
前記被検証回路は、プログラマブルロジック素子で形成されたことを特徴とする請求項１に記載の検証用デバイス。
【請求項３】
前記外部装置は、プログラムより、前記第１の部分回路により行われる処理と同価の演算をＣＰＵに実行させるソフトウェアエミュレータであることを特徴とする請求項１に記載の検証用デバイス。
【請求項４】
ハードウェアエミュレータであることを特徴とする請求項１から３のいずれか１項に記載の検証用デバイス。
【請求項５】
前記通信先選択部は、外部からの制御信号に応じて前記切替えを行うことを特徴とする請求項１から４のいずれか１項に記載の検証用デバイス。
【請求項６】
前記第１の部分回路と前記第２の部分回路は、互いの通信信号以外に、動作検証のための観測信号も出力するものであり、
前記通信先選択部は、前記第１の部分回路と前記第２の部分回路間の通信信号と、前記第１の部分回路が出力する前記観測信号と、前記第２の部分回路が出力する前記観測信号のうちの１つ以上に基づいて前記切替えを行うことを特徴とする請求項１から５のいずれか１項に記載の検証用デバイス。
【請求項７】
動作検証の対象であり、互いに通信を行う第１の部分回路と第２の部分回路を含む被検証回路を備えた検証用デバイスに接続するバスと、
プログラムより、前記第１の部分回路により行われる処理と同価の演算をＣＰＵに実行させるソフトウェアエミュレータと、
前記第１の部分回路と前記ソフトウェアエミュレータとの間での、前記第２の部分回路の通信先の切替えを、前記バスを介して制御可能な制御部とを備えることを特徴とする検証装置。
【請求項８】
動作検証の対象であり、互いに通信を行う第１の部分回路と第２の部分回路を含む被検証回路を有する検証用デバイスと、
前記検証用デバイスと通信可能な検証装置とを備え、
前記検証装置は、プログラムより、前記第１の部分回路により行われる処理と同価の演算をＣＰＵに実行させるソフトウェアエミュレータを有し、
前記検証用デバイスは、
前記第２の部分回路の通信先を、前記第１の部分回路と前記ソフトウェアエミュレータとの間で切替可能な通信先選択部とを有することを特徴とする検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の動作検証、具体的には、デジタルＬＳＩの開発に際しての動作検証技術に関する。
【背景技術】
【０００２】
デジタル回路の開発に際して、デジタル回路の動作をソフトウェアエミュレータによりエミュレーションして検証を行う手法が知られている。近年、デジタルＬＳＩの回路規模が増大する一方であり、開発時の動作検証の高速化は重要な課題となっている。ソフトウェアエミュレータより高速に検証を行うために、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などのプログラマブル素子に、開発対象のデジタル回路を実装してなる検証用デバイスを用いる手法がよく採用されている（特許文献１）。このような検証用デバイスは、ハードウェアエミュレータとも呼ばれる。
【０００３】
「プログラムマブル素子にデジタル回路を実装する」とは、開発対象のデジタル回路の設計通りの回路構成になるようにプログラマブル素子をプログラミングすることを意味する。以下の説明において、プログラムブル素子に開発対象のデジタル回路を実装してなる回路を被検証回路という。
【０００４】
検証手法や検証用デバイスの形成方法について、様々な視点からの提案がなされている。
例えば、ソフトウェアエミュレータは、検証条件の変更が簡単であるという利点がある。ハードウェアエミュレータは、回路構成を変更するためにデジタル回路の再実装が必要であるものの、ソフトウェアエミュレータより高速に動作できる。そのため、開発者は、検証に際してソフトウェアエミュレータを使用したい場合とハードウェアエミュレータを使用したい場合がある。特許文献２には、ソフトウェアエミュレータとハードウェアエミュレータを切替可能な検証システムが提案されており、この検証システムによれば、開発者の意向などに応じてソフトウェアエミュレータとハードウェアエミュレータを切り替えて使用可能である。
【０００５】
特許文献３には、被検証回路の回路構成の変更を簡単に行える検証用デバイスが提案されている。この検証用デバイスは、開発対象のデジタル回路を構成する複数の部分回路に夫々対応するハードウェアエミュレータを備え、これらのハードウェアエミュレータは、バスを介して通信可能である。この検証用デバイスによれば、被検証用回路全体の検証ができると共に、回路構成を変更したいときに、変更したい部分回路に対応するハードウェアエミュレータに対してのみ再プログラミングすればよい。
【特許文献１】特開２００６−３１８２６６号公報
【特許文献２】米国特許６００９２５６号明細書
【特許文献３】特開２００５−８４９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、互いに通信を行う２つの部分回路を含む被検証回路に対する検証に際して、期待通りではない検証結果が生じ、いずれの部分回路に問題があるかを切り分けるために、片方の部分回路の回路構成や検証条件を変更して検証したい場合を考える。この場合、特許文献３に記載の検証用デバイスでは、検証用デバイスの動作を停止して、対象となる部分回路を再実装することになる。
【０００７】
対象となる部分回路の再実装に時間がかかる上に、片方の部分回路を再実装して検証を行っても検証結果が変らない場合には、再度検証用デバイスの動作を停止して、該片方の部分回路が元に戻るように再実装すると共に、他方の部分回路を再実装する作業が発生する。
これでは、時間がかかり、検証効率が良くない。
【課題を解決するための手段】
【０００８】
本発明の１つの態様は、検証用デバイスであり、この検証用デバイスは、被検証回路と、通信先選択部を備える。
被検証回路は、動作検証の対象であり、互いに通信を行う第１の部分回路と第２の部分回路を含む。通信先選択部は、第２の部分回路の通信先を、第１の部分回路と外部装置との間で切替可能である。
【０００９】
なお、上記態様の検証用デバイスを方法、装置、システムなどに置き換えて表現したものや、上記態様の検証用デバイスを用いる検証装置やシステムなども、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明にかかる技術によれば、デジタルＬＳＩを開発する際の動作検証を効率良く行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態について説明する。
・第１の実施の形態
図１は、本発明の第１の実施の形態にかかる検証システム１００を示す。検証システム１００は、デジタルＬＳＩの開発中における動作検証を行うものであり、検証装置１１０と、検証用デバイス１２０とを備え、検証装置１１０と検証用デバイス１２０は、バス１５０に接続されており、バス１５０を介して通信を行う。
【００１２】
検証装置１１０は、コンピュータであり、検証コントローラ１１２と、ソフトウェアエミュレータ１１４と、バスコントローラ１１６を備える。
【００１３】
検証コントローラ１１２とソフトウェアエミュレータ１１４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒａｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリなど、コンピュータに通常備えられるハードウェアと、コンピュータにインストールされたプログラムにより構成される。例えば、検証コントローラ１１２は、ＣＰＵが検証制御用のプログラムをメモリにロードして実行することにより実現され、ソフトウェアエミュレータ１１４は、後述する第１の部分回路が行う処理に対応する演算を示すプログラムをメモリにロードして実行することにより実現される。
【００１４】
バス１５０は、汎用バスであり、検証装置１１０と検証用デバイス１２０間の全ての通信は、バス１５０を介して行われる。
【００１５】
バスコントローラ１１６は、バス１５０と、検証コントローラ１１２及びソフトウェアエミュレータ１１４との間に接続され、検証コントローラ１１２とソフトウェアエミュレータ１１４が検証用デバイス１２０に出力する信号をバス１５０に送出し、バス１５０を介して検証用デバイス１２０が検証装置１１０に出力する信号を検証コントローラ１１２またはソフトウェアエミュレータ１１４に送出する。
【００１６】
検証用デバイス１２０は、開発中のＬＳＩのハードウェアエミュレータであり、バスインタフェース１２２と、検証用回路１３０を備える。
【００１７】
バスインタフェース１２２は、検証用回路１３０と検証装置１１０間の全ての通信を中継する。具体的には、検証用回路１３０から検証装置１１０に出力する信号をバス１５０に送出し、バス１５０を介して検証装置１１０が送出した信号を、検証用回路１３０の特定の端子に出力する。
【００１８】
検証用回路１３０は、観測信号通信回路１３２と、第１の部分回路１３４と、第２の部分回路１３６と、通信先選択回路１４０を備える。
【００１９】
本実施の形態において、例として、開発中のデジタルＬＳＩは、互いに通信を行う２つの回路により構成される。第１の部分回路１３４と第２の部分回路１３６は、この２つの回路にそれぞれ対応する。
【００２０】
通信先選択回路１４０は、第１の部分回路１３４と第２の部分回路１３６の信号接続路に挿入されるように接続されており、第１の部分回路１３４と、検証装置１１０におけるソフトウェアエミュレータ１１４との間で、第２の部分回路１３６の通信先を切り替える。すなわち、通信先選択回路１４０が第１の部分回路１３４を選択した場合、第１の部分回路１３４と第２の部分回路１３６間で通信が行われ、通信先選択回路１４０がソフトウェアエミュレータ１１４を選択した場合、ソフトウェアエミュレータ１１４と第２の部分回路１３６間で通信が行われる。
【００２１】
図１において、分かりやすいように、ソフトウェアエミュレータ１１４の名称の下に、第１の部分回路１３４の名称を、括弧を付けて表記している。
【００２２】
第１の部分回路１３４と第２の部分回路１３６は、動作検証の対象となる被検証回路を構成し、開発中のデジタルＬＳＩをＦＰＧＡなどのプログラマブル素子をプログラミングすることによって形成される。ソフトウェアエミュレータ１１４は、ＣＰＵ上でプログラムを実行することにより、第１の部分回路１３４が行う演算と等価の演算を行う。
【００２３】
観測信号通信回路１３２は、第１の部分回路１３４と第２の部分回路１３６から出力される、これらの回路の動作を監視するための観測信号を格納するレジスタ（図示せず）を有し、検証コントローラ１１２からアドレス信号を受信した際に、該アドレス信号が示す番地に格納された観測信号を検証コントローラ１１２に返送する。
【００２４】
本実施の形態の検証システム１００において、検証コントローラ１１２から検証用回路１３０に出力する信号は、制御信号と上述したアドレス信号がある。制御信号は、検証用回路１３０全体の動作を制御する信号と、通信先選択回路１４０の動作を制御する信号がある。検証用回路１３０全体の動作を制御する信号は、例えば、「動作開始」、「動作停止」、「動作ブレーク（一時停止）」などを検証用回路１３０にさせるものである。通信先選択回路１４０の動作を制御する信号は、第２の部分回路１３６の通信先として、ソフトウェアエミュレータ１１４と第１の部分回路１３４のいずれを選択するかを通信先選択回路１４０に指示するものである。
【００２５】
また、検証コントローラ１１２は、ソフトウェアエミュレータ１１４に制御信号を出力し、ソフトウェアエミュレータ１１４からは観測信号を受信する。
【００２６】
検証用回路１３０から検証コントローラ１１２に出力する信号は、検証コントローラ１１２からのアドレスに応じて出力される観測信号である。
【００２７】
また、通信先選択回路１４０により第１の部分回路１３４が選択された場合に、第１の部分回路１３４と第２の部分回路１３６間で通信信号が送受信され、通信先選択回路１４０によりソフトウェアエミュレータ１１４が選択された場合に、ソフトウェアエミュレータ１１４と第２の部分回路１３６間で通信信号が送受信される。
【００２８】
すなわち、本実施の形態の検証システム１００は、検証コントローラ１１２により通信先選択回路１４０に出力される制御信号により、第２の部分回路１３６の通信先を、第１の部分回路１３４とソフトウェアエミュレータ１１４間で切り切り替えることができる。このように構成された検証システム１００は、検証に際して様々な利用形態が可能であり、ここでいくつかの例を説明する。
＜第１の利用例＞
【００２９】
昨今のデジタルＬＳＩの開発には様々な便利なツールが利用され、デジタルＬＳＩを構成する複数の部分回路のうちに、ツールにより提供され、動作が保証されたものがある。動作保証されたもの自身の動作について検証する必要が無いので、動作保証されたものを利用してデジタルＬＳＩを設計すれば、不具合の発生や、検証作業量を軽減することができる。
【００３０】
そこで、検証システム１００における第２の部分回路１３６を、動作保証されたものとして、検証システム１００の利用例を説明する。
【００３１】
第１の部分回路１３４を形成するために、設計を行って、設計通りにＦＰＧＡをプログラミングする。この場合、第１の部分回路１３４が行う処理に対応した演算を示すプログラムをコンピュータにインストールしてソフトウェアエミュレータ１１４を構成する。
【００３２】
検証に際して、検証コントローラ１１２は、バスコントローラ１１６、バス１５０、バスインタフェース１２２を介して「動作開始」制御信号を検証用回路１３０に出力し、検証用回路１３０を動作させる。
【００３３】
検証用回路１３０が動作開始すると、第１の部分回路１３４と第２の部分回路１３６から種々の観測信号が観測信号通信回路１３２に出力される。観測信号通信回路１３２は、検証コントローラ１１２からのアドレス信号に応じて、バスインタフェース１２２、バス１５０、バスコントローラ１１６を介して、当該観測信号を検証コントローラ１１２に出力する。
【００３４】
また、検証途中の観測信号を分析するなどのために、ユーザがユーザインタフェース（図示せず）を介して検証コントローラ１１２に「一時停止」を要求する場合がある。検証コントローラ１１２は、このような要求を示す入力を受信した際に、検証用回路１３０に「一時停止」制御信号を出力して検証用回路１３０の動作をブレークさせる。また、ユーザから「動作停止」を要求する入力を受信した際に、検証コントローラ１１２は、検証用回路１３０に「動作停止」制御信号を出力し、検証用回路１３０を停止させる。
【００３５】
なお、ブレークや、動作停止などの制御信号の出力は、必ずしも開発者の入力に応じて行うものではなく、検証システムの設計次第で、検証コントローラ１１２は、観測信号が示す状態に応じてこれらお制御信号を出力することも可能である。
ここまでの処理は、通常のハートウェアエミュレータを用いた検証システムと同様である。
【００３６】
検証用回路１３０から受信した観測信号が、期待通りではない場合について考える。第２の部分回路１３６が動作保証されたものであるため、第１の部分回路１３４の配線など、第１の部分回路１３４に物理的な問題があるか、第１の部分回路１３４の設計自体に問題があるかを切り分ける必要がある。従来では、検証用回路１３０の動作を停止して、第１の部分回路１３４の設計に変更を加えて、ＦＰＧＡにプログラミングし直した後に、上述した検証を再開する作業が考えられる。このような作業を経て、正常動作した場合に初めて第１の部分回路１３４の設計に問題があることを発見する。
【００３７】
しかし、第１の部分回路１３４の設計を変更して、再プログラミングすることは、少なくとも数時間かかる作業である。また、再度検証が行った結果、状態が変らない場合、第１の部分回路１３４に物理的な問題があることを発見するものの、第１の部分回路１３４に対して行った設計変更が無駄になり、効率が良くない。
【００３８】
本実施の形態の検証システム１００を利用すれば、下記のフローで問題の切り分けができる。
まず、検証コントローラ１１２は、第２の部分回路１３６の通信先を、第１の部分回路１３４からソフトウェアエミュレータ１１４に切り替えさせる制御信号通信先選択回路１４０に出力すると共に、ソフトウェアエミュレータ１１４を動作開始させる制御信号を出力する。
【００３９】
なお、この場合にも、検証コントローラ１１２は、ユーザから入力された指示に応じて検証用回路１３０とソフトウェアエミュレータ１１４に制御信号を送信するようにしてもよいし、検証用回路１３０からの観測信号が示す状態に応じて自動的に上記制御信号を出力するようにしてもよい。
【００４０】
検証装置１１０からの制御信号に応じて、ソフトウェアエミュレータ１１４が動作し、ソフトウェアエミュレータ１１４と第２の部分回路１３６間で通信が行われる。
【００４１】
また、ソフトウェアエミュレータ１１４は、動作中において、観測信号を検証コントローラ１１２に出力する。検証コントローラ１１２は、第２の部分回路１３６の観測信号を受信するために、必要に応じて第２の部分回路１３６の観測信号が格納されたレジスタのアドレスを観測信号通信回路１３２に出力する。
【００４２】
そして、第２の部分回路１３６の通信先が第１の部分回路１３４であったときと状況が変らない場合は、第１の部分回路１３４の設計に問題があることが分かる。この時点で第１の部分回路１３４の再設計、再プログラミングを始めればよい。また、正常に動作した場合は、第１の部分回路１３４に物理的な問題があることが分かる。この場合、第１の部分回路１３４の再設計をする必要が無い。
【００４３】
すなわち、このように検証システム１００を利用すれば、第１の部分回路１３４の設計変更、再プログラミングをせずに、第１の部分回路１３４に物理的な問題があるか、設計に問題があるかを切り分けることができ、検証の効率を高めることができる。
【００４４】
次に、第１の部分回路１３４と第２の部分回路１３６のいずれも動作保証されたものではない場合の利用例を説明する。
＜第２の利用例＞
検証用回路１３０から受信した観測信号が、期待通りではない場合になった時までは、上述した利用例と同様であるので、説明を省略する。
【００４５】
この利用例において、観測信号通信回路１３２から受信した観測信号が、期待通りではない場合になったとき、第１の部分回路１３４の問題なのか、第２の部分回路１３６の問題なのか、さらに物理的な問題なのか、設計の問題なのかを切り分ける必要がある。
【００４６】
従来では、検証用回路１３０の動作を停止して、被検証回路の片方の部分回路例えば第１の部分回路１３４の設計に変更を加えて、ＦＰＧＡにプログラミングし直した後に、検証を再開する作業が考えられる。このような作業を経て、正常動作した場合、第１の部分回路１３４の設計に問題があることを発見する。また、状況が変らない場合には、第１の部分回路１３４の物理的な問題なのか、第２の部分回路１３６の問題なのかをさらに切り分ける必要がある。
【００４７】
この切り分けをするために、第１の部分回路１３４の設計を元に戻して再再プログラミングすると共に、第２の部分回路１３６に対して設計変更して再プログラミングする作業が考えられる。大変時間のかかる作業であり、効率が良くない。
【００４８】
本実施の形態の検証システム１００を利用すれば、下記のフローで問題の切り分けができる。
まず、検証コントローラ１１２は、第２の部分回路１３６の通信先を、第１の部分回路１３４からソフトウェアエミュレータ１１４に切り替えさせる制御信号通信先選択回路１４０に出力すると共に、ソフトウェアエミュレータ１１４を動作開始させる制御信号を出力する。
【００４９】
検証装置１１０からの制御信号に応じて、ソフトウェアエミュレータ１１４が動作し、ソフトウェアエミュレータ１１４と第２の部分回路１３６間で通信が行われる。
【００５０】
また、ソフトウェアエミュレータ１１４は、動作中において、観測信号を検証コントローラ１１２に出力する。検証コントローラ１１２は、第２の部分回路１３６の観測信号を受信するために、必要に応じて第２の部分回路１３６の観測信号が格納されたレジスタのアドレスを観測信号通信回路１３２に出力する。
【００５１】
そして、正常動作した場合、第１の部分回路１３４に物理的な問題があることが分かる。この場合、第１の部分回路１３４に対して設計変更や再プログラミングを行う必要が無い。
【００５２】
また、第２の部分回路１３６の通信先が第１の部分回路１３４であったときと状況が変らない場合は、第１の部分回路１３４の設計に問題があるか、第２の部分回路１３６に問題があるかを切り分けるために、ソフトウェアエミュレータ１１４に対して変更を加えて検証する。
【００５３】
その結果、正常に動作した場合には、第１の部分回路１３４の設計に問題があることが分かり、ここで初めて第１の部分回路１３４の再プログラミングをすればよい。なお、この場合、ソフトウェアエミュレータ１１４に対して行ったのと同様の変更を第１の部分回路１３４に加えればよいので、再設計の手間を省くことができる。
【００５４】
また、状況が変らない場合には、問題が第２の部分回路１３６側にあることが分かる。
【００５５】
すなわち、本実施の形態の検証システム１００を利用すれば、被検証回路の部分回路に対して再設計や再プログラミングをせずに、いずれの部分回路に問題があるかを効率良く切り分けることができる。
【００５６】
本発明の技術をわかりやすく説明するために、検証システム１００において、検証用デバイス１２０の通信先選択回路１４０は、第２の部分回路１３６の通信先を第１の部分回路１３４とソフトウェアエミュレータ１１４の間で切替可能な形態にしている。本発明の技術は、このような形態に限らず、例えば、検証装置１１０において、第２の部分回路１３６と同価の演算を行うソフトウェアエミュレータ（ソフトウェアエミュレータ１１４と区別するために、以下第２のソフトウェアエミュレータという）をさらに設け、通信先選択回路１４０が、第１の部分回路１３４の通信先を、第２の部分回路１３６と、検証装置１１０に設けられた第２のソフトウェアエミュレータ間で切替可能にしてもよい。このような構成の検証システムによれば、上記第２の利用例の場合、問題の切り分けをさらに効率良く行うことができる。
【００５７】
具体的には、第１の部分回路１３４の問題なのか、第２の部分回路１３６の問題なのかを切り分けるために、まず、第２の部分回路１３６の通信先をソフトウェアエミュレータ１１４に切り替える。正常動作した場合には、第１の部分回路１３４に物理的な問題があることが分かる。
【００５８】
一方、状況が変らない場合には、ソフトウェアエミュレータ１１４を停止し、第１の部分回路１３４の通信先を第２のソフトウェアエミュレータに切り替える。正常動作した場合には、第２の部分回路１３６に物理的な問題があることが分かる。状況が変らない場合には、いずれか一方のソフトウェアエミュレータ例えばソフトウェアエミュレータ１１４に変更を加え、通信先選択回路１４０の通信先をソフトウェアエミュレータ１１４にして検証を行う。正常動作した場合には、第１の部分回路１３４の設計に問題があることが分かり、状況が変らない場合には、第２の部分回路１３６の設計に問題があることが分かる。
＜第３の利用例＞
【００５９】
開発の過程において、第１の部分回路１３４と第２の部分回路１３６が既に形成されているが、第１の部分回路１３４の回路構成や検証条件を変更して第２の部分回路１３６の動作状況を見たい場合がある。例えば、通常であれば、第１の部分回路１３４が出力する可能性が無い通信信号を受けた際に、第２の部分回路１３６がどのように振舞うかを検証したい場合がある。また、このような検証は、通常、第１の部分回路１３４と第２の部分回路１３６の動作がある程度までに進んだポイントで行うものである。
【００６０】
従来では、このような検証を行うために、検証の途中で検証用回路を停止させ、第１の部分回路１３４に対して再設計や再ププログラミングなどの時間かかる作業を行って、初めから再検証を行う。
【００６１】
検証システム１００を利用すれば、下記のフローで検証ができる。
第１の部分回路１３４が行う演算と同価の演算を行うと共に、所定の状態になったときには、第１の部分回路１３４が通常出力する可能性の無い通信信号を出力できるようにソフトウェアエミュレータ１１４を構成する。そして、検証コントローラ１１２より、検証用回路１３０の動作に同期してソフトウェアエミュレータ１１４を動作させる。
【００６２】
検証が進み、観測信号通信回路１３２からの観測信号が上記所定の状態を示すようになったときに、検証コントローラ１１２は、通信先選択回路１４０を制御して、第２の部分回路１３６の通信先をソフトウェアエミュレータ１１４に変更する。その後、ソフトウェアエミュレータ１１４と第２の部分回路１３６間で通信が行われ、第１の部分回路１３４から出力されることの無い通信信号がソフトウェアエミュレータ１１４から出力される。
【００６３】
こうすることにより、検証途中で検証用回路１３０を停止すること無く所望の検証ができるので、検証効率が高くなる。
・第２の実施の形態
【００６４】
第１の実施の形態では、通信先選択回路１４０は、検証コントローラ１１２からの制御信号に応じて第２の部分回路１３６の通信先の切替えを行っている。本発明の技術は、通信先選択回路１４０により、第１の部分回路１３４と第２の部分回路１３６間の通信信号、第１の部分回路１３４が観測信号通信回路１３２に出力する観測信号、第２の部分回路１３６が観測信号通信回路１３２に出力する観測信号のうちの１つまたは複数に応じて、切替えを行うようにしてもよい。
【００６５】
図２は、本発明の第２の実施の形態にかかる検証システム２００を示す。図２において、図１に示す検証システム１００のものと同様の構成または機能を有する部分に対して、同一の符号を付与しており、それらの詳細な説明を省略する。
【００６６】
検証装置２１０において、検証コントローラ２１２は、ユーザからの入力指示があった場合を除き、第２の部分回路１３６の通信先を切り替える制御信号を出力しない。また、検証コントローラ２１２は、口述する検証用回路２３０から、第２の部分回路１３６の通信先がソフトウェアエミュレータ１１４に切り替わったことを示す通知信号を受信した際に、ソフトウェアエミュレータ１１４を起動し、ソフトウェアエミュレータ１１４からの観測信号を受信する。この２点を除き、検証コントローラ２１２は、検証システム１００の検証装置１１０における検証コントローラ１１２と同様である。
【００６７】
検証用回路２３０において、通信先選択回路２４０は、第１の部分回路１３４から観測信号通信回路１３２に出力する観測信号と、第２の部分回路１３６から観測信号通信回路１３２に出力する観測信号を受信し、これらの観測信号と、第１の部分回路１３４と第２の部分回路１３６間の通信信号のうちの１つ以上に基づいて通信先選択回路２４０の通信先を切り替える。例えば、第１の部分回路１３４から第２の部分回路１３６への通信信号、または第２の部分回路１３６から第１の部分回路１３４への通信信号が所定の条件を満たした場合に切替えを行う。
【００６８】
また、通信先選択回路２４０は、切替えに伴い、検証コントローラ２１２にその旨を示す通知信号を出力する。この点を除き、通信先選択回路２４０は、検証システム１００の検証用回路１３０における通信先選択回路１４０と同様である。
【００６９】
すなわち、本実施の形態において、通信先選択回路２４０は、ユーザの指示入力に応じて検証コントローラ２１２が出力した制御信号、または上述した観測信号や通信信号に応じて、第２の部分回路１３６の通信先を切り替える。検証コントローラ２１２からの制御信号に応じて切り替えることによって、第１の実施の形態のときに説明した第１の利用例と第２の利用例に対応することができ、観測信号や通信信号に応じて切り替えることによって、第３の利用例に対応することができる。
【００７０】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対して、さまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【００７１】
例えば、第１の実施の形態の検証システム１００と第２の検証システム２００を組み合わせてもよい。具体的には、例えば、検証コントローラ２１２がユーザからの指示および観測信号に応じて、第２の部分回路１３６の通信先の切替えをさせる制御信号を通信先選択回路２４０に出力し、通信先選択回路２４０は、検証コントローラ２１２からの制御信号に基づいて切替えを行うと共に、第１の部分回路１３４と第２の部分回路１３６間の通信信号に応じても切替できるようにしてもよい。
【００７２】
さらに、分かりやすいように、開発対象のデジタルＬＳＩは、２つの部分回路により構成された場合を例にしたが、本発明の技術が、２つ以上の任意の数の部分回路に分割可能な被検証回路の検証にも適用することができる。また、適用することにより、本発明の技術の上述した効果を得ることができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施の形態にかかる検証システムを示す図である。
【図２】本発明の第２の実施の形態にかかる検証システムを示す図である。
【符号の説明】
【００７４】
１００  検証システム
１１０  検証装置
１１２  検証コントローラ
１１４  ソフトウェアエミュレータ
１１６  バスコントローラ
１２０  検証用デバイス
１２２  バスインタフェース
１３０  検証用回路
１３２  観測信号通信回路
１３４  第１の部分回路
１３６  第２の部分回路
１４０  通信先選択回路
１５０  バス
２００  検証システム
２１０  検証装置
２１２  検証コントローラ
２３０  検証用回路
２４０  通信先選択回路
【図１】
2010072843.tif 000003
【図２】
2010072843.tif 000004