(57)【要約】【課題】エミュレーション装置１１とホストコンピュータ１２との通信回数を抑制することができるエミュレーション観測信号送信システムを提供する。【解決手段】本発明のエミュレーション観測信号送信システムは、半導体集積回路の動作検証を行うエミュレーション装置と、ホストコンピュータとを備え、前記エミュレーション装置は、被検証回路の動作検証を行うＦＰＧＡと、少なくとも１つの観測用レジスタと、前記ＦＰＧＡから前記観測信号を引き出し、前記観測用レジスタに記憶する記憶位置を決定するエミュレーション制御部と、前記エミュレーション制御部が決定した前記記憶位置に、前記観測信号の信号線を接続する観測信号送信回路を作成する観測用レジスタ記憶位置接続部とを備える。【選択図】図１
2012198835.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の動作検証を行うエミュレーション装置と、
前記エミュレーション装置への動作指示、及び前記エミュレーション装置によるエミュレーション結果表示を行うホストコンピュータと
を備え、
前記エミュレーション装置は、
被検証回路の動作検証を行うＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）と、
少なくとも１つの観測用レジスタと、ここで、前記観測用レジスタは、前記ＦＰＧＡから出力されるＮ個（Ｎ≧２）の観測信号を記憶するためのレジスタであり、
前記ＦＰＧＡから前記観測信号を引き出し、前記観測用レジスタに記憶する記憶位置を決定するエミュレーション制御部と、
前記エミュレーション制御部が決定した前記記憶位置に、前記観測信号の信号線を接続する観測信号送信回路を作成する観測用レジスタ記憶位置接続部と
を備えるエミュレーション観測信号送信システム。
【請求項２】
前記エミュレーション制御部は、
前記観測信号のＮＣ２通りの組み合わせに対して、前記被検証回路の動作クロック１周期分を単位として、前記観測信号が、所定の前記周期の間に同時に変化した回数を記録する同時変化回数表を更に備え、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記同時変化回数表を参照して、前記観測信号のＮＣ２通りの組み合わせの中で、同時変化回数が最大値となる前記観測信号を第１選択観測信号として選択し、
前記第１選択観測信号が、複数存在しない場合には、前記第１選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定する
請求項１に記載のエミュレーション観測信号送信システム。
【請求項３】
前記エミュレーション制御部は、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記第１選択観測信号が、複数存在する場合には、最大値となる前記同時変化回数の個数が最大の前記第１選択観測信号を、第２選択観測信号として選択し、
前記第２選択観測信号が、複数存在しない場合には、前記第２選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定する
請求項２に記載のエミュレーション観測信号送信システム。
【請求項４】
前記エミュレーション制御部は、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記第２選択観測信号が、複数存在する場合には、前記最大値となる前記同時変化回数の次に大きい前記同時変化回数を含む前記第２選択観測信号を、第３選択観測信号として選択し、
前記第３選択観測信号が、複数存在しない場合には、前記第３選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定する
請求項３に記載のエミュレーション観測信号送信システム。
【請求項５】
前記エミュレーション制御部は、
１つ以上の前記観測用信号の前記記憶位置が決定されている前記観測用レジスタの、未使用記憶位置に対して、前記観測信号の前記記憶位置を決定する際に、
前記１つ以上の観測用信号毎に、前記１つ以上の観測信号との前記同時変化回数が最大の前記観測信号を第４選択観測信号として選択し、
前記第４選択観測信号が、複数存在しない場合には、前記第４選択観測信号の前記記憶位置を、前記未使用記憶位置に決定する
請求項４に記載のエミュレーション観測信号送信システム。
【請求項６】
前記エミュレーション制御部は、
１つ以上の前記観測用信号の前記記憶位置が決定されている前記観測用レジスタの、未使用記憶位置に対して、前記観測信号の記憶位置を決定する際に、
前記第４選択観測信号が、複数存在する場合には、前記第４選択観測信号毎に、前記１つ以上の観測用信号の各々との前記同時変化回数の和を算出し、
前記和が最大の前記第４選択観測信号を第５選択観測信号として選択し、
前記第５選択観測信号が、複数存在しない場合には、前記第５選択観測信号の前記記憶位置を、前記未使用記憶位置に決定する
請求項５に記載のエミュレーション観測信号送信システム。
【請求項７】
半導体集積回路の動作検証を行うエミュレーション装置と、
前記エミュレーション装置への動作指示、及び前記エミュレーション装置によるエミュレーション結果表示を行うホストコンピュータと
を備えるエミュレーション観測信号送信システムにおいて、
ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が、被検証回路の動作検証を行うステップと、
観測用レジスタが、前記ＦＰＧＡから出力されるＮ個（Ｎ≧２）の観測信号を記憶するステップと、
エミュレーション制御部が、前記ＦＰＧＡから前記観測信号を引き出すステップと、
エミュレーション制御部が、前記観測信号を前記観測用レジスタへ記憶する記憶位置を決定するステップと、
観測用レジスタ記憶位置接続部が、前記エミュレーション制御部が決定した前記記憶位置に、前記観測信号の信号線を接続する観測信号送信用回路を作成するステップと
を含むエミュレーション観測信号送信方法。
【請求項８】
前記エミュレーション制御部は、
前記観測信号のＮＣ２通りの組み合わせに対して、前記被検証回路の動作クロック１周期分を単位として前記観測信号が、所定の前記周期の間に同時に変化した回数を記録する同時変化回数表を更に備え、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記記憶位置を決定するステップは、
前記エミュレーション制御部が、前記同時変化回数表を参照して、前記観測信号のＮＣ２通りの組み合わせの中で、同時変化回数が最大値となる前記観測信号を第１選択観測信号として選択するステップと、
前記エミュレーション制御部が、前記第１選択観測信号が、複数存在しない場合には、前記第１選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定するステップと
を含む請求項７に記載のエミュレーション観測信号送信方法。
【請求項９】
前記エミュレーション制御部は、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記記憶位置を決定するステップは、
前記エミュレーション制御部が、前記第１選択観測信号が、複数存在する場合には、最大値となる前記同時変化回数の個数が最大の前記第１選択観測信号を、第２選択観測信号として選択するステップと、
前記エミュレーション制御部が、前記第２選択観測信号が、複数存在しない場合には、前記第２選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定するステップと
を更に含む請求項８に記載のエミュレーション観測信号送信方法。
【請求項１０】
前記エミュレーション制御部は、
未使用の前記観測用レジスタに前記観測信号の前記記憶位置を決定する際に、
前記記憶位置を決定するステップは、
前記エミュレーション制御部が、前記第２選択観測信号が、複数存在する場合には、前記最大値となる前記同時変化回数の次に大きい前記同時変化回数を含む前記第２選択観測信号を、第３選択観測信号として選択するステップと、
前記記憶位置を決定するステップは、前記第３選択観測信号が、複数存在しない場合には、前記第３選択観測信号の前記記憶位置を、前記未使用の観測用レジスタに決定するステップと
を更に含む請求項９に記載のエミュレーション観測信号送信方法。
【請求項１１】
前記エミュレーション制御部は、
１つ以上の前記観測用信号の前記記憶位置が決定されている前記観測用レジスタの、未使用記憶位置に対して、前記観測信号の前記記憶位置を決定する際に、
前記記憶位置を決定するステップは、
前記エミュレーション制御部が、前記１つ以上の観測用信号毎に、前記１つ以上の観測信号との前記同時変化回数が最大の前記観測信号を第４選択観測信号として選択するステップと、
前記エミュレーション制御部が、前記第４選択観測信号が、複数存在しない場合には、前記第４選択観測信号の前記記憶位置を、前記未使用記憶位置に決定するステップと
を更に含む請求項１０に記載のエミュレーション観測信号送信方法。
【請求項１２】
前記エミュレーション制御部は、
１つ以上の前記観測用信号の前記記憶位置が決定されている前記観測用レジスタの、未使用記憶位置に対して、前記観測信号の前記記憶位置を決定する際に、
前記記憶位置を決定するステップは、
前記エミュレーション制御部が、前記第４選択観測信号が、複数存在する場合には、前記第４選択観測信号毎に、前記１つ以上の観測用信号の各々との前記同時変化回数の和を算出するステップと、
前記エミュレーション制御部が、前記和が最大の前記第４選択観測信号を第５選択観測信号として選択するステップと、
前記エミュレーション制御部が、前記第５選択観測信号が、複数存在しない場合には、前記第５選択観測信号の前記記憶位置を、前記未使用記憶位置に決定するステップと
を更に含む請求項１１に記載のエミュレーション観測信号送信方法。
【請求項１３】
請求項１乃至６のいずれか１項に記載のエミュレーション装置。
【請求項１４】
請求項７乃至１２のいずれか１項に記載のエミュレーション観測信号送信方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）開発におけるエミュレーションシステムに関し、特にエミュレーション信号をホストコンピュータへ送信する方法に関する。
【背景技術】
【０００２】
ＬＳＩの開発工程において、設計したＬＳＩの動作をエミュレーション装置によって検証することが行われている。特開２００４−１９９４２５号公報（特許文献１）には、被検証回路を、複数のグループを有する複数の部分回路に分割し、各部分回路をＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）に割り振る技術が開示されている。この技術では、各ＦＰＧＡにおいて、被検証回路の内部レジスタの観測信号のリードサイクルをグループ順に発生させている。各グループにおいて、グループ内の全ての内部レジスタに状態変化がなかった場合には、リードサイクルを発生させないように制御している。
【０００３】
エミュレーションでは、エミュレーション実行後に回路内部の信号の動作を確認する場合、回路内部の見たい信号（以下、「観測信号」とする。）をエミュレーション結果から選択することにより、確認することができる。しかし、エミュレーション装置では、ホストコンピュータ側で、信号の波形表示や信号の値表示をするために、観測信号を予め検証用回路内から観測用回路に引き出しておく必要がある。
【０００４】
近年、エミュレーション装置に搭載される検証用回路の機能が、大規模化及び複雑化している。それに伴いエミュレーション装置での観測信号の本数が増え、ホストコンピュータで、観測信号を取得するための通信の回数が増える傾向にある。
【０００５】
エミュレーション装置は、ホストコンピュータと通信を行っている間は、エミュレーション装置上の検証用回路は、動作を停止している。エミュレーション装置とホストコンピュータとの通信の回数が増えることにより、検証時間が増加している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１９９４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
半導体集積回路を検証するエミュレーション装置の観測信号が増えると、ホストコンピュータとエミュレーション装置の通信回数が増加する。観測信号が増えても、ホストコンピュータとエミュレーション装置の通信回数を抑制することができるエミュレーション観測信号送信システムが求められている。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【０００９】
本発明のエミュレーション観測信号送信システム（２０）は、半導体集積回路の動作検証を行うエミュレーション装置（１１）と、前記エミュレーション装置への動作指示、及び前記エミュレーション装置によるエミュレーション結果表示を行うホストコンピュータ（１２）とを備え、前記エミュレーション装置（１１）は、被検証回路の動作検証を行うＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）（８）と、少なくとも１つの観測用レジスタ（１、２、３）と、前記ＦＰＧＡから前記観測信号を引き出し、前記観測用レジスタに記憶する記憶位置を決定するエミュレーション制御部（７）と、前記エミュレーション制御部が決定した前記記憶位置に、前記観測信号の信号線を接続する観測信号送信回路を作成する観測用レジスタ記憶位置接続部（１０）とを備える。
【００１０】
本発明のエミュレーション観測信号送信方法は、半導体集積回路の動作検証を行うエミュレーション装置と、ホストコンピュータとを備えるエミュレーション観測信号送信システムにより実施される。本発明のエミュレーション観測信号送信方法は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が、被検証回路の動作検証を行うステップと、観測用レジスタが、前記ＦＰＧＡから出力されるＮ個（Ｎ≧１）の観測信号を記憶するステップと、エミュレーション制御部が、前記観測信号を前記観測用レジスタへ記憶する記憶位置を決定するステップと、観測用レジスタ記憶位置接続部が、前記エミュレーション制御部が決定した前記記憶位置に、前記観測信号の信号線を接続する観測信号送信用回路を作成するステップとを含む。
【発明の効果】
【００１１】
本発明によれば、半導体集積回路を検証するエミュレーション装置の観測信号が増えても、ホストコンピュータとエミュレーション装置の通信回数を抑制することができるエミュレーション観測信号送信システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態におけるエミュレーション観測信号送信システム２０のブロック図である。
【図２】図２は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測信号を観測用レジスタへ割り当てる方法を説明するための全体フローチャートである。
【図３】図３は、本発明の実施形態のエミュレーション観測信号送信システム２０における観測信号のタイミング情報の例である。
【図４】図４は、本発明の実施形態のエミュレーション観測信号送信システム２０における同時変化回数表の例である。
【図５】図５は、本発明の実施形態のエミュレーション観測信号送信システム２０において、同時変化回数表の作成方法を説明するためのフローチャートである。
【図６】図６は、本発明の実施形態のエミュレーション観測信号送信システム２０において、未使用の観測用レジスタに対して、観測信号の記憶位置を決定する方法を説明するためのフローチャートである。
【図７】図７は、本発明の実施形態のエミュレーション観測信号送信システム２０において、少なくとも１つの観測信号の記憶位置が決定されている観測用レジスタに対して、観測信号の記憶位置を決定する方法を説明するためのフローチャートである。
【図８】図８（ａ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の最初の記憶位置に観測信号Ａが配置された観測用レジスタ１の図である。図８（ｂ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の２番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。図８（ｃ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の３番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。図８（ｄ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の４番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。図８（ｅ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、すべての記憶位置に観測信号が配置された状態の観測用レジスタ１〜３の図である。
【発明を実施するための形態】
【００１３】
添付図面を参照して、本発明の実施形態によるエミュレーション観測信号送信システム２０を以下に説明する。
【００１４】
［構成の説明］
はじめに、本実施形態におけるエミュレーション観測信号送信システム２０の構成の説明を行う。図１は、本発明の実施形態におけるエミュレーション観測信号送信システム２０のブロック図である。エミュレーション観測信号送信システム２０は、エミュレーション装置１１及びホストコンピュータ１２を備える。エミュレーション装置１１は、観測用レジスタ１、観測用レジスタ２、観測用レジスタ３、全体動作制御部４、クロック生成器５、ロジックアナライザ６、エミュレーション制御部７、ＦＰＧＡ８、ホストインタフェース９及び観測用レジスタ記憶位置接続部１０を備える。
【００１５】
本実施形態におけるエミュレーション観測信号送信システム２０は、観測用レジスタを３つ備えているが、観測用レジスタの個数及びビットサイズ等については、適宜変更され得る。
【００１６】
観測用レジスタ１〜３は、エミュレーション装置１１からホストコンピュータ１２へ送信される観測信号が記憶される。全体動作制御部４は、エミュレーション装置１１の装置全体の制御を行う。クロック生成器５は、被検証回路の動作クロックを発生させる。ロジックアナライザ６は、被検証回路の波形観測を行う。エミュレーション制御部７は、ＦＰＧＡ８の制御を行う。特に、ＦＰＧＡ８から、エミュレーション制御部７へ観測信号を引き出し、観測信号を観測用レジスタ１〜３に記憶する記憶位置を決定する制御を行う。ＦＰＧＡ８は、エミュレーション対象となる被検証回路が割り当てられる。ホストインタフェース９は、エミュレーション装置１１が、ホストコンピュータ１２と通信するためのインタフェースである。観測用レジスタ記憶位置接続部１０は、エミュレーション制御部７が決定した観測信号の記憶位置に基づいて、観測信号を観測用レジスタ１〜３に記憶するための信号線を動的に変更することができるデバイスである。
【００１７】
ホストコンピュータ１２は、エミュレーション装置１１で被検証回路を検証するオペレータが、エミュレーション装置１１への動作指示及びエミュレーション結果の確認をするための端末である。エミュレーション装置１１への動作指示は、クロック生成器５やロジックアナライザ６等の設定や、ＦＰＧＡに対するコンフィグレーション・データの付与等が含まれる。エミュレーション結果の確認は、被検証回路の観測信号や波形等の確認が含まれる。
【００１８】
［動作方法の説明］
次に、本実施形態におけるエミュレーション観測信号送信システム２０において、エミュレーション観測信号送信方法の説明を行う。図２は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測信号を観測用レジスタへ割り当てる方法を説明するための全体フローチャートである。
【００１９】
（ステップＳ１）
エミュレーション制御部７は、ホストコンピュータ１２側で観測信号波形の表示や、観測信号値の表示のために、被検証回路を検証するＦＰＧＡ８から、エミュレーション制御部７に観測信号を引き出す。
【００２０】
（ステップＳ２）
エミュレーション制御部７は、ＦＰＧＡ８によるエミュレーション結果から抽出した観測信号のタイミング情報において、同時に変化する２つの観測信号の回数をカウントし、同時変化回数表を作成する。同時変化回数表の作成方法等の詳細については、後述する。
【００２１】
（ステップＳ３）
エミュレーション制御部７は、ＦＰＧＡ８から出力される観測信号に対して、観測用レジスタ１〜３内の記憶位置を決定する（以下、「観測信号を観測用レジスタに配置する」とする。）。エミュレーション制御部７は、ステップＳ２で作成した同時変化回数表から、後述する方法で、観測用レジスタ１〜３に最初に配置する観測信号を決定し、観測用レジスタ１〜３に、観測信号を配置する。１つの観測用レジスタは、ホストコンピュータ１２と１回の通信で通信できるビットサイズを有している。
【００２２】
（ステップＳ４）
エミュレーション制御部７は、ステップＳ３で配置した観測用レジスタの残りの記憶位置に、ステップＳ２で作成した同時変化回数表から、後述する方法で観測信号を配置する。エミュレーション制御部７は、ステップＳ４で、参照中の観測用レジスタの未使用記憶位置がなくなるまで、観測信号を配置する処理を行う。
【００２３】
（ステップＳ５）
エミュレーション制御部７は、観測用レジスタ１〜３に配置していない観測信号がある場合には、ステップＳ３に戻り、観測用レジスタ１〜３に全ての観測信号を配置した場合にはステップＳ６に進む。
【００２４】
（ステップＳ６）
エミュレーション制御部７は、未使用観測レジスタを選択し、ステップＳ３の処理に進む。
【００２５】
（ステップＳ７）
エミュレーション制御部７は、ＦＰＧＡ８から出力される観測信号を、ステップＳ３〜ステップＳ６で決定した観測用レジスタ１〜３の記憶位置に、引き出した観測信号の信号線を接続する観測信号送信回路を作成する。観測信号と観測用レジスタ１〜３の記憶位置との対応関係については、エミュレーション開始前に、エミュレーション装置１１が、ホストインタフェース９を介して、ホストコンピュータ１２に通知する。
【００２６】
次に、本実施形態におけるエミュレーション観測信号送信システム２０において、同時変化回数表の作成方法の説明を行う。
【００２７】
同時変化回数表は、観測信号のタイミング情報から作成される。図３は、本発明の実施形態のエミュレーション観測信号送信システム２０における観測信号のタイミング情報の例である。図３の例では、観測信号は観測信号Ａ〜Ｌの１２本で、タイミング情報のチェックポイントは、１〜４５である。チェックポイントとは、観測信号に変化があったかどうかを確認するタイミングである。チェックポイントの単位は、回路内のクロック１周期分の時間としている。図３の表内の”１”は、各観測信号がチェックポイントの単位時間内で値が変化したことを示し、無記入は、値が変化していないことを示す。
【００２８】
図４は、本発明の実施形態のエミュレーション観測信号送信システム２０における同時変化回数表の例である。図４の例は、表の行と列に観測信号を割り当て、表中の各行の観測信号と、各列の観測信号が、同じタイミングで変化した回数が、対応する枠に同時変化回数として記載されている。例えば、図３のタイミング情報の例において、観測信号Ａと観測信号Ｂは、チェックポイント”１”、”７”、”１３”、”１９”、”２５”、”３１”、”３７”、”４３”で、同時に変化している。そのため、図４の表の１行２列目（２行１列目）の同時変化回数には、”８”が記載されている。同時変化回数表は、対角線に対して対象な表となるため、対角線に対して上半分、又は、下半分に対してのみ同時変化回数を入れてもよい。
【００２９】
次に、本実施形態におけるエミュレーション観測信号送信システム２０において、図２のフローチャートのステップＳ２についての詳細な処理について説明する。図５は、本発明の実施形態のエミュレーション観測信号送信システム２０において、同時変化回数表の作成方法を説明するためのフローチャートである。
【００３０】
（ステップＳ１０１）
エミュレーション制御部７が、参照するタイミング情報のチェックポイントを”１”に初期化する。
【００３１】
（ステップＳ１０２）
エミュレーション制御部７が、参照しているチェックポイントにおいて、値が変化している観測信号を抽出する。図３のチェックポイント１の例では、観測信号Ａ〜Ｌが全て”１”となっているので、全ての観測信号を抽出する。
【００３２】
（ステップＳ１０３）
エミュレーション制御部７は、ステップＳ１０２で抽出した観測信号が、１つ以下であるかどうかを判断する。１つ以下である場合、同時に変化した観測信号が存在しないため、ステップＳ１０５の処理に進み、２つ以上の場合は、ステップＳ１０４の処理に進む。図３のチェックポイント１の例では、抽出した観測信号が２つ以上あるので、ステップＳ１０４の処理に進む。
【００３３】
（ステップＳ１０４）
エミュレーション制御部７は、ステップＳ１０２で抽出した観測信号に対応する同時変化回数表の枠の同時変化回数をインクリメントする。図３のチェックポイント１の例では、全ての観測信号が変化しているため、同時変化回数表の全ての枠について同時変化回数をインクリメントする。
【００３４】
（ステップＳ１０５）
エミュレーション制御部７は、タイミング情報の全てのチェックポイントにおいて、観測信号が変化しているかどうかのチェックを行ったかを確認し、全てチェックしていれば、同時変化回数表の作成処理を終了する。全てチェックしていない場合は、ステップＳ１０６の処理に進む。図３のチェックポイント１の例では、次のチェックポイント２において、観測信号が変化しているかどうかのチェックを行うため、ステップＳ１０６の処理へ進む。
【００３５】
（ステップＳ１０６）
エミュレーション制御部７は、参照するチェックポイントの値をインクリメントし、ステップＳ１０２の処理へ進む。図３のチェックポイント１の例では、チェックポイントを”２”にインクリメントする。
【００３６】
以上が、本実施形態におけるエミュレーション観測信号送信システム２０における同時変化回数表の作成方法の説明である。チェックポイント２以降の場合も、チェックポイント１の場合と同様にして処理を行う。図３の例では、チェックポイント４５まで、観測信号が変化しているかどうかのチェックを行い、同時変化回数表を作成する。
【００３７】
次に、本実施形態におけるエミュレーション観測信号送信システム２０において、図２のフローチャートのステップＳ３についての詳細な処理について説明する。図６は、本発明の実施形態のエミュレーション観測信号送信システム２０において、未使用の観測用レジスタに対して、観測信号の記憶位置を決定する方法を説明するためのフローチャートである。
【００３８】
（ステップＳ２０１）
エミュレーション制御部７は、未使用の観測用レジスタを選択する。
【００３９】
（ステップＳ２０２）
エミュレーション制御部７は、同時変化回数表から、未配置の観測信号において、最大の同時変化回数に対応する観測信号を選択する。
【００４０】
（ステップＳ２０３）
エミュレーション制御部７は、ステップＳ２０２で選択した観測信号が複数ない場合、ステップＳ２０９の処理へ進み、ステップＳ２０２で選択した観測信号が複数存在する場合、ステップＳ２０４の処理へ進む。
【００４１】
（ステップＳ２０４）
エミュレーション制御部７は、選択した観測信号毎に、チェックポイント毎に最大の同時変化回数の個数を調べ、選択した観測信号の中で、最大の同時変化回数の個数が多い観測信号を選択する。
【００４２】
（ステップＳ２０５）
エミュレーション制御部７は、ステップＳ２０４で選択した観測信号が、複数存在するかどうかを判断する。エミュレーション制御部７は、ステップＳ２０４で選択した観測信号が複数ない場合は、ステップＳ２０９の処理へ進み、ステップＳ２０４で選択した観測信号が複数ある場合は、ステップＳ２０６の処理へ進む。
【００４３】
（ステップＳ２０６）
エミュレーション制御部７は、ステップＳ２０５で選択した複数の観測信号の中で、最大の同時変化回数の次に大きい同時変化回数を含む観測信号があるかどうかを判断する。エミュレーション制御部７は、次に大きい同時変化回数を含む観測信号がある場合は、ステップＳ２０７の処理へ進み、次に大きい同時変化回数を含む観測信号がない、ステップＳ２０８の処理へ進む。
【００４４】
（ステップＳ２０７）
エミュレーション制御部７は、同時変化回数が最大値の次に大きい同時変化回数を含む観測信号を選択し、ステップＳ２０３の処理へ進む。
【００４５】
（ステップＳ２０８）
エミュレーション制御部７は、ステップＳ２０４で選択した観測信号の中から、任意の１つの観測信号を選択する。
【００４６】
（ステップＳ２０９）
エミュレーション制御部７は、選択された観測信号の記憶位置を、未使用観測用レジスタの１つ目の記憶位置に決定する。
【００４７】
次に、本実施形態におけるエミュレーション観測信号送信システム２０において、図２のフローチャートのステップＳ４についての詳細な処理について説明する。図７は、本発明の実施形態のエミュレーション観測信号送信システム２０において、少なくとも１つの観測信号の記憶位置が決定されている観測用レジスタに対して、観測信号の記憶位置を決定する方法を説明するためのフローチャートである。
【００４８】
（ステップＳ３０１）
エミュレーション制御部７は、既に記憶位置が決定している観測信号毎に、同時発生回数が最大の観測信号を選択する。
【００４９】
（ステップＳ３０２）
エミュレーション制御部７は、ステップＳ３０１で選択した観測信号が複数ある場合には、ステップＳ３０３の処理へ進み、ステップＳ３０１で選択した観測信号が複数ない場合には、ステップＳ３０７の処理へ進む。
【００５０】
（ステップＳ３０３）
エミュレーション制御部７は、ステップＳ３０１で選択した観測信号毎に、既に記憶位置が決定している観測信号との同時発生回数の和を算出する。
【００５１】
（ステップＳ３０４）
エミュレーション制御部７は、ステップＳ３０３で算出した和が最大の観測信号を選択する。
【００５２】
（ステップＳ３０５）
エミュレーション制御部７は、ステップＳ３０４で選択した観測信号が複数ある場合には、ステップＳ３０６の処理へ進み、ステップＳ３０４で選択した観測信号が複数ない場合には、ステップＳ３０７の処理へ進む。
【００５３】
（ステップＳ３０６）
エミュレーション制御部７は、ステップＳ３０４で選択した観測信号の中から、任意の１つの観測信号を選択する。
【００５４】
（ステップＳ３０７）
エミュレーション制御部７は、選択された観測信号の観測用レジスタの記憶位置を、まだ記憶する観測信号が決定されていない次の記憶位置に決定する。
【００５５】
（ステップＳ３０８）
エミュレーション制御部７は、観測信号の記憶位置を決定中の観測用レジスタに、未記憶位置がある場合には、ステップＳ３０９の処理へ進み、未記憶位置がない場合には処理を終了する。
【００５６】
（ステップＳ３０９）
エミュレーション制御部７は、全ての観測信号の記憶位置を決定していない場合には、ステップＳ３０９の処理へ進み、全ての観測信号の記憶位置が決定した場合には、処理を終了する。
【００５７】
次に、図４の同時変化回数表に基づいて、図６のフローチャートの方法で、観測信号の記憶位置を決定する方法について、具体的に説明する。観測用レジスタ１〜３は、それぞれの観測用レジスタにおいて、４種類の観測信号を記憶することができるビットサイズを有しているとする。観測用レジスタ１〜３内のすべての記憶位置は、未使用の状態であるとする。
【００５８】
ステップＳ２０１で、エミュレーション制御部７は、観測用レジスタ１を選択する。
【００５９】
ステップＳ２０２で、エミュレーション制御部７は、同時変化回数表の最大値となる、”１２”を抽出する。同時変化回数が最大値となる観測信号の組は、観測信号Ａ−Ｃ間の”１２”と観測信号Ｇ−Ｉ間の”１２”の２箇所存在する。したがって、エミュレーション制御部７は、観測信号Ａ、観測信号Ｃ、観測信号Ｇ、観測信号Ｉの４本の観測信号を選択する。
【００６０】
ステップＳ２０３で、図４の例では、観測信号Ａ、観測信号Ｃ、観測信号Ｇ、観測信号Ｉの４本の観測信号全てが、最大値”１２”を含むため、エミュレーション制御部７は、ステップＳ２０４の処理へ進む。
【００６１】
ステップＳ２０４で、エミュレーション制御部７は、同時変化回数表から選択した観測信号毎に最大値”１２”の個数を調べる。観測信号Ａでは、最大値”１２”は１つ存在する。観測信号Ｃでは、最大値”１２”は１つ存在する。観測信号Ｇでは、最大値”１２”は１つ存在する。観測信号Ｉでは、最大値”１２”は１つ存在する。したがって、エミュレーション制御部７は、観測信号Ａ、観測信号Ｃ、観測信号Ｇ、観測信号Ｉの４本の観測信号を選択する。
【００６２】
ステップＳ２０５で、エミュレーション制御部７は、ステップＳ２０４で選択されている観測信号は４本なので、ステップＳ２０６の処理へ進む。
【００６３】
ステップＳ２０６で、図４の例では、選択された観測信号Ａ、観測信号Ｃ、観測信号Ｇ、観測信号Ｉの中で、最大値”１２”の次に大きい同時変化回数”９”が観測信号Ａに存在するため、エミュレーション制御部７は、ステップＳ２０７の処理へ進む。
【００６４】
ステップＳ２０７で、図４の例では、観測信号Ａ、観測信号Ｃ、観測信号Ｇ、観測信号Ｉの中で、最大値”１２”の次に大きい同時変化回数”９”含む観測信号は、Ａ−Ｈ間の”９”となる観測信号Ａのみため、エミュレーション制御部７は、観測信号Ａを選択する。
【００６５】
ステップＳ２０３で、エミュレーション制御部７は、ステップＳ２０７で選択した観測信号が、観測信号Ａのみのため、ステップＳ２０９の処理へ進む。
【００６６】
ステップＳ２０９で、エミュレーション制御部７は、観測信号Ａを観測用レジスタ１の１つ目の記憶位置に決定する。図８（ａ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の最初の記憶位置に観測信号Ａが配置された観測用レジスタの図である。
【００６７】
次に、図４の同時変化回数表に基づいて、図７のフローチャートの方法で、観測信号の記憶位置を決定する方法について、具体的に説明する。観測用レジスタ１に観測信号Ａのみの記憶位置が決定されている状態で、観測用レジスタ１の残りの３つの記憶位置は、未使用の状態であるとする。
【００６８】
ステップＳ３０１で、エミュレーション制御部７は、観測用レジスタ１に既に配置してある観測信号Ａとの同時変化回数が最大となる観測信号を選択する。エミュレーション制御部７は、観測信号Ａ−Ｃ間の同時変化回数”１２”が最大となるので、観測信号Ｃを選択する。
【００６９】
ステップＳ３０２で、エミュレーション制御部７は、ステップＳ３０１で選択した観測信号が、観測信号Ｃのみなので、ステップＳ３０７の処理へ進む。
【００７０】
ステップＳ３０７で、エミュレーション制御部７は、ステップＳ３０１で選択した観測信号Ｃを観測用レジスタ１の未記憶位置に配置する。図８（ｂ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の２番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。
【００７１】
ステップＳ３０８で、エミュレーション制御部７は、観測用レジスタ１に未使用の記憶位置が存在するため、ステップＳ３０９の処理へ進む。
【００７２】
ステップＳ３０９で、エミュレーション制御部７は、まだ全ての観測信号の記憶位置を決定していないため、ステップＳ３０１の処理へ進む。
【００７３】
ステップＳ３０１で、エミュレーション制御部７は、既に配置してある観測信号との同時変化回数が最大となる観測信号を探す。この時、観測信号Ａと観測信号Ｃは既に配置してあるので、Ａ−Ｃ間とＣ−Ａ間の同時変化回数は除外する。観測信号Ａで、Ａ−Ｈ間の同時変化回数”９”が最大となるため、観測信号Ｈを選択する。観測信号Ｃで、Ｃ−Ｈ間の同時変化回数”５”が最大となるため、観測信号Ｈを選択する。
【００７４】
ステップＳ３０２で、エミュレーション制御部７は、ステップＳ３０１で選択された観測信号が観測信号Ｈのみなので、ステップＳ３０７の処理へ進む。
【００７５】
ステップＳ３０７で、ステップＳ３０１で選択した観測信号Ｈを観測用レジスタ１の未記憶位置に配置する。図８（ｃ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の３番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。
【００７６】
ステップＳ３０８で、エミュレーション制御部７は、観測用レジスタ１に未使用の記憶位置が存在するため、ステップＳ３０９の処理へ進む。
【００７７】
ステップＳ３０９で、エミュレーション制御部７は、まだ全ての観測信号の記憶位置を決定していないため、ステップＳ３０１の処理へ進む。
【００７８】
ステップＳ３０１で、既に配置してある観測信号との同時変化回数が最大となる観測信号を選択する。この時、観測信号Ａ、観測信号Ｃ、観測信号Ｈは既に配置しているため、Ａ−Ｃ間、Ａ−Ｈ間、Ｃ−Ａ間、Ｃ−Ｈ間、Ｈ−Ａ間及びＨ−Ｃ間の同時変化回数は除外する。観測信号Ａで、Ａ−Ｂ間の同時変化回数”８”及びＡ−Ｅ間の同時変化回数”８”が最大となるため、観測信号Ｂと観測信号Ｅを選択する。観測信号Ｃで、Ｃ−Ｂ間の同時変化回数”４”、Ｃ−Ｅ間の同時変化回数”４”及びＣ−Ｊ間の同時変化回数”４”が最大となるため、観測信号Ｂ、観測信号Ｅ及び観測信号Ｊを選択する。観測信号Ｈで、Ｈ−Ｇ間の同時変化回数”８”及びＨ−Ｋ間の同時変化回数”８”が最大となるため、観測信号Ｇ及び観測信号Ｋを選択する。したがって、エミュレーション制御部７は、観測信号Ｂ、観測信号Ｅ、観測信号Ｊ、観測信号Ｇ及び観測信号Ｋの５本の観測信号を選択する。
【００７９】
ステップＳ３０２で、エミュレーション制御部７は、ステップＳ３０１で選択された観測信号が、観測信号Ｂ、観測信号Ｅ、観測信号Ｊ、観測信号Ｇ及び観測信号Ｋの５本であるため、ステップＳ３０３の処理へ進む。
【００８０】
ステップＳ３０３で、ステップＳ３０１で選択した観測信号毎に、既に観測用レジスタに配置してある観測信号との同時変化回数の和を算出する。観測信号Ｂに対しては、Ｂ−Ａ間の同時変化回数”８”、Ｂ−Ｃ間の同時変化回数”４”及びＢ−Ｈ間の同時変化回数”１”を加算して”１３”を算出する。観測信号Ｅに対しては、観測信号Ａとの同時変化回数”８”、観測信号Ｃとの同時変化回数”４”及び観測信号Ｈとの同時変化回数”１”を加算して”１３”を算出する。観測信号Ｊに対しては、観測信号Ａとの同時変化回数”６”、観測信号Ｃとの同時変化回数”４”及び観測信号Ｈとの同時変化回数”４”を加算して”１４”を算出する。観測信号Ｇに対しては、観測信号Ａとの同時変化回数”１”、観測信号Ｃとの同時変化回数”１”及び観測信号Ｈとの同時変化回数”８”を加算して”１０”を算出する。観測信号Ｋに対しては、観測信号Ａとの同時変化回数”１”、観測信号Ｃとの同時変化回数”１”及び観測信号Ｈとの同時変化回数”８”を加算して”１０”を算出する。
【００８１】
ステップＳ３０４では、ステップＳ３０３で算出した同時変化回数の和が最大となる観測信号を選択する。エミュレーション制御部７は、観測信号Ｊが算出した値”１４”となり、最大値となるため、観測信号Ｊを選択する。
【００８２】
ステップＳ３０５では、ステップＳ３０４で選択した観測信号が、観測信号Ｊのみなので、ステップＳ３０７の処理へ進む。
【００８３】
ステップＳ３０７で、ステップＳ３０４で選択した観測信号Ｊを観測用レジスタ１の未記憶位置に配置する。図８（ｄ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、観測用レジスタ１の４番目の記憶位置まで観測信号が配置された観測用レジスタ１の図である。
【００８４】
ステップＳ３０８で、エミュレーション制御部７は、観測用レジスタ１に未使用の記憶位置が存在しないため、処理を終了する。
【００８５】
エミュレーション制御部７は、上述した観測用レジスタへの配置で、観測信号Ａ、観測信号Ｃ、観測信号Ｈ及び観測信号Ｊが配置されたため、以降の処理では、配置された４本の観測信号を除いて、観測用レジスタ２及び観測用レジスタ３への観測信号の配置処理を行う。図８（ｅ）は、本発明の実施形態のエミュレーション観測信号送信システム２０において、すべての記憶位置に観測信号が配置された状態の観測用レジスタ１〜３の図である。図８（ｅ）の例では、最初の観測用レジスタ（観測用レジスタ１）に、観測信号Ａ、観測信号Ｃ、観測信号Ｈ及び観測信号Ｊが配置されている。２個目の観測用レジスタ（観測用レジスタ２）に、観測信号Ｇ、観測信号Ｉ、観測信号Ｂ及び観測信号Ｋが配置されている。３個目の観測用レジスタ（観測用レジスタ３）に、観測信号Ｄ、観測信号Ｅ、観測信号Ｆ及び観測信号Ｌが配置されている。
【００８６】
本発明の実施形態によれば、エミュレーション装置１１とホストコンピュータ１２との通信において、１度に通信できるデータが、１つの観測用レジスタのデータサイズのみに限られている等、通信できるデータに制限がある環境において、観測信号が増えても、エミュレーション装置１１とホストコンピュータ１２との通信回数を抑制することができる。
【００８７】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００８８】
１  観測用レジスタ
２  観測用レジスタ
３  観測用レジスタ
４  全体動作制御部
５  クロック生成器
６  ロジックアナライザ
７  エミュレーション制御部
８  ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）
９  ホストインタフェース
１０  観測用レジスタ記憶位置接続部
１１  エミュレーション装置
１２  ホストコンピュータ
２０  エミュレーション観測信号送信システム
【図１】
2012198835.tif 000003
【図２】
2012198835.tif 000004
【図３】
2012198835.tif 000005
【図４】
2012198835.tif 000006
【図５】
2012198835.tif 000007
【図６】
2012198835.tif 000008
【図７】
2012198835.tif 000009
【図８】
2012198835.tif 000010