(57)【要約】  本発明は、複数のピンを有する試験対象のFPGAデバイスを具備するFPGAエミュレーションシステムを特徴とする。バス機能モデル回路は、試験対象のFPGAデバイスの所定の入力特性を表す信号に応答し、試験対象のFPGAデバイスに所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成される。
2008535046.tif 000002
【特許請求の範囲】
【請求項１】
FPGAエミュレーションシステムであって、
複数のピンを具備する試験対象のFPGAデバイスと、
前記試験対象のFPGAデバイスの所定の入力特性を表す信号に応答し、前記試験対象のFPGAデバイスに前記所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ前記試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートするように構成されたバス機能モデル回路と
を具備するFPGAエミュレーションシステム。
【請求項２】
前記所定の入力特性をシミュレートして取り込み、かつ前記出力特性をシミュレートして吐き出すためのバス機能モデルエンジンをさらに具備する請求項1に記載のシステム。
【請求項３】
前記バス機能モデルエンジンが、予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートする請求項2に記載のシステム。
【請求項４】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスに少なくとも1つの試験動作を適用し、かつ前記予め定義された選択可能で自由度の高い電気的動作環境において前記少なくとも1つの試験動作の結果をエミュレートするように構成される請求項1に記載のシステム。
【請求項５】
前記バス機能モデル回路が、複数のピンを具備する請求項1に記載のシステム。
【請求項６】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスに結合される請求項5に記載のシステム。
【請求項７】
前記試験対象のFPGAデバイスの選択された複数のピンのうちのそれぞれのピンが、前記バス機能モデル回路の対応するピンタイプに結合される請求項6に記載のシステム。
【請求項８】
前記試験対象のFPGAデバイスと前記バス機能モデル回路との間に結合される保護回路をさらに具備する請求項6に記載のシステム。
【請求項９】
前記バス機能モデル回路および前記試験対象のFPGAデバイスが、類似の電気的特性および機能を有するように選択される請求項1に記載のシステム。
【請求項１０】
前記試験対象のFPGAデバイスに印加される前記1つまたは複数の信号が、電源信号、タイミング基準信号、インピーダンス基準信号、および前記所定の入力特性を表す信号からなる群から選択された1つまたは複数の信号を具備する請求項1に記載のシステム。
【請求項１１】
前記予め定義された選択可能で自由度の高い電気的動作環境を定義するために、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を選択する前記所定の入力特性およびコマンドに応答するコントローラ回路をさらに具備する請求項1に記載のシステム。
【請求項１２】
前記少なくとも1つのプログラム可能インピーダンス基準デバイスが、1つまたは複数のインピーダンス基準信号を前記バス機能モデル回路および前記試験対象のFPGAデバイスに供給する請求項11に記載のシステム。
【請求項１３】
前記少なくとも1つのプログラム可能タイミング基準デバイスが、1つまたは複数のタイミング基準信号を前記バス機能モデル回路および前記試験対象のFPGAデバイスに供給する請求項11に記載のシステム。
【請求項１４】
前記バス機能モデル回路、前記試験対象のFPGAデバイス、前記コントローラ回路、前記少なくとも1つのプログラム可能電源、前記少なくとも1つのプログラム可能発振器回路、前記少なくとも1つのプログラム可能インピーダンス基準デバイス、および前記少なくとも1つのプログラム可能タイミング基準デバイスが、取り外し可能デバイス上に配置される請求項11に記載のシステム。
【請求項１５】
前記取り外し可能デバイスが、コンピュータシステムに一体化される請求項14に記載のシステム。
【請求項１６】
前記所定の入力特性を電気的制御信号に変換し、かつ前記出力特性をソフトウェア信号に変換するための変換回路をさらに具備する請求項15に記載のシステム。
【請求項１７】
前記電気的制御信号が、前記バス機能モデル回路を有効にする請求項16に記載のシステム。
【請求項１８】
前記電気的制御信号が、前記少なくとも1つのプログラム可能電源、前記少なくとも1つのプログラム可能発振器回路、前記少なくとも1つのプログラム可能インピーダンス基準デバイス、および前記少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を有効にする請求項16に記載のシステム。
【請求項１９】
シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するための、前記バス機能モデルエンジンに結合された論理シミュレータをさらに具備する請求項1に記載のシステム。
【請求項２０】
FPGAエミュレーションシステムであって、
試験対象のFPGAデバイスの所定の入力特性を表す信号に応答し、前記試験対象のFPGAデバイスに前記所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ前記試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートするように構成されたバス機能モデル回路を具備するFPGAエミュレーションシステム。
【請求項２１】
FPGAエミュレーションシステムであって、
複数のピンを具備する試験対象のFPGAデバイスと、
前記試験対象のFPGAデバイスの所定の入力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、
前記試験対象のFPGAデバイスに前記所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ前記試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、前記バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートするように構成された前記所定の入力特性を表す信号に応答するバス機能モデル回路と
を具備するFPGAエミュレーションシステム。
【請求項２２】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスに少なくとも1つの試験動作を適用し、かつ前記予め定義された選択可能で自由度の高い電気的動作環境において前記少なくとも1つの試験動作の結果をエミュレートするように構成される請求項21に記載のシステム。
【請求項２３】
前記バス機能モデル回路が、複数のピンを具備する請求項21に記載のシステム。
【請求項２４】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスに結合される請求項23に記載のシステム。
【請求項２５】
前記試験対象のFPGAデバイスのそれぞれのピン、または選択された複数のピンが、前記バス機能モデル回路の対応するピンタイプに結合される請求項24に記載のシステム。
【請求項２６】
前記試験対象のFPGAデバイスと前記バス機能モデル回路との間に結合される保護回路をさらに具備する請求項24に記載のシステム。
【請求項２７】
前記バス機能モデル回路および前記試験対象のFPGAデバイスが、類似の電気的特性および機能を有するように選択される請求項21に記載のシステム。
【請求項２８】
前記試験対象のFPGAデバイスに印加される前記1つまたは複数の信号が、電源信号、タイミング基準信号、インピーダンス基準信号、および前記所定の入力特性を表す信号からなる群から選択された1つまたは複数の信号を具備する請求項21に記載のシステム。
【請求項２９】
前記予め定義された選択可能で自由度の高い電気的動作環境を定義するために、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を選択する前記所定の入力特性およびコマンドに応答するコントローラ回路をさらに具備する請求項21に記載のシステム。
【請求項３０】
前記少なくとも1つのプログラム可能インピーダンス基準デバイスが、1つまたは複数のインピーダンス基準信号を前記バス機能モデル回路および前記試験対象のFPGAデバイスに供給する請求項29に記載のシステム。
【請求項３１】
前記少なくとも1つのプログラム可能タイミング基準デバイスが、1つまたは複数のタイミング基準信号を前記バス機能モデル回路および前記試験対象のFPGAデバイスに供給する請求項29に記載のシステム。
【請求項３２】
前記少なくとも1つのプログラム可能電源、前記少なくとも1つのプログラム可能発振器回路、前記少なくとも1つのプログラム可能インピーダンス基準デバイス、および前記少なくとも1つのプログラム可能タイミング基準デバイスが、取り外し可能デバイス上に配置される請求項29に記載のシステム。
【請求項３３】
前記取り外し可能デバイスが、コンピュータシステムに一体化される請求項32に記載のシステム。
【請求項３４】
前記所定の入力特性を電気的制御信号に変換し、かつ前記出力特性をソフトウェア信号に変換するための変換回路をさらに具備する請求項33に記載のシステム。
【請求項３５】
前記電気的制御信号が、前記バス機能モデル回路を有効にする請求項34に記載のシステム。
【請求項３６】
前記電気的制御信号が、前記少なくとも1つのプログラム可能電源、前記少なくとも1つのプログラム可能発振器回路、前記少なくとも1つのプログラム可能インピーダンス基準デバイス、および前記少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を有効にする請求項35に記載のシステム。
【請求項３７】
シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するための、前記バス機能モデルエンジンに結合された論理シミュレータをさらに具備する請求項21に記載のシステム。
【請求項３８】
FPGAエミュレーションシステムであって、
試験対象のFPGAデバイスの所定の入力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、
前記試験対象のFPGAデバイスに前記試験対象のFPGAデバイスの前記所定の入力特性に対応する1つまたは複数の信号を印加して、前記バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートするように構成された前記所定の入力特性を表す信号に応答するバス機能モデル回路と
を具備するFPGAエミュレーションシステム。
【請求項３９】
FPGAエミュレーションシステムであって、
複数のピンを具備する試験対象のFPGAデバイスと、
複数のピンを具備するバス機能モデル回路と、
前記試験対象のFPGAデバイスを前記バス機能モデル回路に結合するコネクタと
を具備し、
前記バス機能モデル回路は、前記試験対象のFPGAデバイスに信号を入力し、かつ前記試験対象のFPGAデバイスから出力信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をより正確にエミュレートするようにプログラムされるFPGAエミュレーションシステム。
【請求項４０】
前記バス機能モデル回路が、前記予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスに少なくとも1つの試験を適用し、かつ前記少なくとも1つの試験の結果をエミュレートするように構成される請求項39に記載のシステム。
【請求項４１】
前記試験対象のFPGAデバイスのそれぞれのピン、または選択された複数のピンが、前記バス機能モデル回路の対応するピンタイプに結合される請求項39に記載のシステム。
【請求項４２】
前記試験対象のFPGAデバイスのピンと前記バス機能モデル回路との間に結合される保護回路をさらに具備する請求項39に記載のシステム。
【請求項４３】
FPGAエミュレーションシステムであって、
所定の固有のターゲット環境において動作する少なくとも1つのコンポーネントおよび複数のピンを具備する試験対象のFPGAと、
前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの入力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、
前記少なくとも1つのコンポーネントの前記入力特性を表す1つまたは複数の信号を受け取るように構成され、かつ前記少なくとも1つのコンポーネントの前記出力特性を表す1つまたは複数の信号を吐き出して、前記バス機能モデルエンジンが前記所定の固有のターゲット環境において前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの動作をエミュレートするように構成された前記試験対象のFPGAデバイスに組み込まれたバス機能モデル回路と
を具備するFPGAエミュレーションシステム。
【請求項４４】
前記少なくとも1つのコンポーネントの前記出力特性を生成するための、前記入力特性に応答するコンポーネントモデルエンジンをさらに具備する請求項43に記載のシステム。
【請求項４５】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントから少なくとも1つの試験動作を適用し、かつ前記所定の固有のターゲット環境において前記少なくとも1つの試験動作の結果をエミュレートするように構成される請求項43に記載のシステム。
【請求項４６】
前記出力特性を電気的信号またはハードウェア信号に変換し、かつ前記入力特性をソフトウェア信号に変換するための変換回路をさらに具備する請求項43に記載のシステム。
【請求項４７】
前記バス機能モデル回路を有効にするための、前記電気的信号に応答するコントローラ回路をさらに具備する請求項46に記載のシステム。
【請求項４８】
前記変換回路と前記試験対象のFPGAデバイスとの間に結合されるプログラミングケーブルをさらに具備する請求項46に記載のシステム。
【請求項４９】
前記バス機能モデルエンジンが、前記試験対象のFPGAデバイスの複数のコンポーネントの出力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの前記複数のコンポーネントの入力特性をシミュレートして吐き出す請求項43に記載のシステム。
【請求項５０】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスの前記複数のコンポーネントの入力特性に対応する前記試験対象のFPGAデバイスの前記複数のコンポーネントを送り先とする信号を受け取るように構成され、かつ前記試験対象のFPGAデバイスの前記複数のコンポーネントの出力特性を表す信号を印加して、前記バス機能モデルエンジンが前記所定の固有のターゲット環境において前記試験対象のFPGAデバイスの前記複数のコンポーネントの動作をエミュレートするように構成される請求項49に記載のシステム。
【請求項５１】
前記バス機能モデルエンジンが、前記試験対象のFPGAデバイスのすべての前記コンポーネントの出力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスのすべてのコンポーネントの入力特性をシミュレートして吐き出す請求項43に記載のシステム。
【請求項５２】
前記バス機能モデル回路が、前記試験対象のFPGAデバイスのすべてのコンポーネントの入力特性に対応する前記試験対象のFPGAデバイスの前記すべてのコンポーネントを送り先とする信号を受け取るように構成され、かつ前記試験対象のFPGAデバイスのすべてのコンポーネントの出力特性を表す信号を印加して、前記バス機能モデルエンジンが前記所定の固有のターゲット環境において前記試験対象のFPGAデバイスの前記すべてのコンポーネントの動作をエミュレートするように構成される請求項49に記載のシステム。
【請求項５３】
シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するための、前記バス機能モデルエンジンに結合された論理シミュレータをさらに具備する請求項43に記載のシステム。
【請求項５４】
FPGAエミュレーションシステムであって、
所定の固有のターゲット環境において動作する少なくとも1つのコンポーネントおよび複数のピンを具備する試験対象のFPGAと、
前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、
前記少なくとも1つのコンポーネントの前記入力特性に対応する1つまたは複数の信号を受け取るように構成され、かつ前記少なくとも1つのコンポーネントの前記出力特性を表す1つまたは複数の信号を吐き出して、前記バス機能モデルエンジンが前記所定の固有のターゲット環境において前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの動作をエミュレートするように構成された前記試験対象のFPGAデバイスに組み込まれたバス機能モデル回路と、
前記少なくとも1つのコンポーネントの前記出力特性を生成するための、前記入力特性に応答するコンポーネントモデルエンジンと
を具備するFPGAエミュレーションシステム。
【請求項５５】
FPGAエミュレーションシステムであって、
少なくとも1つのコンポーネントおよび複数のピンを具備する試験対象のFPGAデバイスと、
前記試験対象のFPGAデバイスの入力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すための第1バス機能モデルエンジンと、
前記試験対象のFPGAデバイスに前記試験対象のFPGAデバイスの前記入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ前記試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、前記バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの動作をエミュレートするように構成された前記入力特性を表す信号に応答する第1バス機能モデル回路と、
前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの入力特性をシミュレートして吐き出すための第2バス機能モデルエンジンと、
前記少なくとも1つのコンポーネントの前記入力特性に対応する1つまたは複数の信号を受け取るように構成され、かつ前記少なくとも1つのコンポーネントの前記出力特性を表す1つまたは複数の信号を吐き出して、前記少なくとも1つの追加のバス機能モデルエンジンが前記予め定義された選択可能で自由度の高い電気的動作環境において前記試験対象のFPGAデバイスの前記少なくとも1つのコンポーネントの動作をエミュレートするように構成された前記試験対象のFPGAデバイスに組み込まれた少なくとも1つの追加のバス機能モデル回路と
を具備するFPGAエミュレーションシステム。
【請求項５６】
前記少なくとも1つのコンポーネントの前記出力特性を生成するための、前記少なくとも1つの追加のバス機能モデル回路によって与えられる前記少なくとも1つのコンポーネントの前記入力特性に応答するコンポーネントモデルエンジンをさらに具備する請求項55に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によって本明細書に組み込まれている、2005年3月16日に出願された「Scalable FPGA Emulation System」という表題の米国特許仮出願第60/662,427号の優先権を主張するものである。
【０００２】
本発明は、選択可能で自由度の高い電気的動作環境において設計されたFPGAの動作をエミュレートする改善されたフィールドプログラマブルゲートアレイ(FPGA)エミュレーションシステムに関する。
【背景技術】
【０００３】
FPGAは、ASICなどのカスタムシリコンデバイスの論理設計のプロトタイプを製作する場合に使用されることが多い。FPGAは、ASICまたは類似のデバイスに比べて安価であり、典型的には開発に要する時間も短くて済むため、生産段階に入る前に評価のために、ASIC向けの論理設計がFPGAに移植されることが多い。FPGAは、ASICの持つ高性能、低コスト、または設計容量といった特性を必要としない最終製品の設計に取り入れることもできる。この場合、カスタムシリコンデバイスを開発することに関連する費用は、カスタムロジックを含むFPGAを使用する費用と比較した場合に妥当とはいえない。
【０００４】
FPGA設計の開発、エミュレーション、および検証に使用される従来のシステムおよび方法は、とりわけ、論理シミュレータ、論理エミュレータ、カスタムプロトタイプボード、およびエミュレーションボードを含む。
【０００５】
論理シミュレータは、ハードウェア記述言語(HDL)で表現されるようなハードウェア設計の分析および試験を行うソフトウェアプログラムである。論理シミュレータは、ターゲットとなる電気的動作環境内におけるFPGAまたは類似のデバイスの設計の予想される動作をモデル化するためにインターフェイスを試験し、順序を試験する手段となる。しかし、論理シミュレータは、FPGAの速度に比べると低速である。論理シミュレータは、デジタルイベントの挙動をモデル化するだけであり、典型的には、FPGAのさまざまなコンポーネントのアナログ挙動をモデル化するためには使用されない。論理シミュレータは、さらに、パッケージ端子機能などの典型的なFPGAの物理的構造によって課せられる制約条件をモデル化することはできない。また、論理シミュレータは、電源の電流制限、ピン配列の制約、デバイスの論理容量などのFPGAの物理的制約に関する情報を持たない。
【０００６】
論理エミュレータは、論理シミュレータの性能を高めるために使用される。論理エミュレータは、典型的には、シミュレーション速度を上げるために専用ハードウェアを採用する。論理エミュレータは、論理シミュレータがモデル化するのと同じ種類のイベント、つまりデジタルイベントを高速化することを目的としている。したがって、論理エミュレータは、論理シミュレータ上でいっさい新しい情報を出力することはなく、論理設計が特定のFPGA内に収まるかどうか、またはFPGAがターゲットシステムの所望の速度で動作するかどうかを決めることができない。
【０００７】
カスタムハードウェアプロトタイプボードは、生産段階に入る前FPGAの設計を検証するために使用されることが多い。典型的なプロトタイプボードは、FPGAと双方向にやり取りすることが意図されているコンポーネントのすべて、またはそのサブセットを含むことができる。定義により、プロトタイプボードは、不備があると考えられる。プロトタイプボードを組み立てる目的そのものは、FPGAのハードウェアおよびシステム設計の設計上の欠陥を発見することである。FPGAのピン配列構成にかかわる誤りは、典型的には、プロトタイプボード全体を組み立て直さなければ修復できない。FPGAの電源に関係する誤りがあると、機能しないボードが形成されうる。構成およびプログラミングインターフェイスに誤りがあると、多くの場合、プロトタイプボード上でFPGAをプログラムすることができない。プロトタイプボードは、また、非常に高価であり、組み立てに時間もかかる。
【０００８】
FPGA設計のプロトタイプ作成および評価を行う他のアプローチでは、評価ボードを使用する。評価ボードは、知られている適切な方法で製造前ボード上にFPGAをハードウェア実装することを目的として開発される。評価ボードは、典型的には、すべてプロトタイプ作成される所望の設定とともにFPGAを使用するのに必要なサポート回路および接続部を有する。評価ボードは、複雑なシステムに含まれるFPGAに一般的に接続される、他の電子回路コンポーネント、例えば、メモリ、通信ポート、発振器などを組み込むことができる。
【０００９】
評価ボードに付随する問題の1つに、FPGA設計は、典型的には、既存の評価ボードに適合するように修正または手直しされなければならないという点が挙げられる。評価ボードは、多くの場合、所望のFPGAデバイスに近いが、全く同じというわけではない、FPGAデバイスを有する。他の場合には、評価ボードは、所望のFPGAデバイスを有することができるが、所望のデバイスパッケージ内に装着されない。その結果、評価ボードからは、ターゲットのFPGA設計のピン配列構成の有効性に関する情報を得ることができない。評価ボード上のFPGAは、特定のコンポーネントに接続されている特定のピンと接続されているため、所望のFPGA設計は、既存の評価ボードの接続部内に収まるように変更されなければならない。こうするには、ターゲットのFPGA設計のピン配列を、評価ボード上の接続部と一致するように変更される必要がある。評価ボード上のFPGAが所望のターゲットのFPGAデバイスと同じでない場合、FPGA設計のプログラミングイメージは、評価ボードと一致するように修正されなければならない。所望のFPGA設計内の論理も、利用可能なFPGAデバイス内に収まり、評価ボード上の接続されたデバイスと通信するように修正されなければならない場合がある。ターゲットのFPGA設計に変更があると、設計内の誤りの検出が妨げられる可能性があるか、またはターゲットのFPGA設計内に新しい誤りが入り込み、モデル化の努力を無にする可能性がある。
【００１０】
また、従来のエミュレーションシステムおよび論理シミュレータは、ソフトウェアを使用するFPGAの実際のターゲット環境でFPGA内のさまざまなコンポーネントの内部動作をエミュレートし、検証する手段を備えていない。従来のエミュレーションシステムおよび論理シミュレータは、典型的には、実際のFPGA設計のターゲット動作環境から切り離して動作することを意図されている。そのため、FPGA内部の設計コンポーネントの動作は、通信相手として意図されている外部コンポーネントから離してでないと試験することができない。従来のエミュレーションシステムは、その固有の動作環境内でFPGAコンポーネントを置き換えるある種の機能を有する。しかし、エミュレータとの電気通信は、エミュレートされるFPGA設計と固有環境との間の高速通信を妨げる。固有の動作環境で回路が動作することが意図されている速度で実際のFPGA回路を試験する作業は、典型的には、従来のエミュレーションシステムおよび論理シミュレータでは行えない。
【００１１】
従来の論理シミュレータおよびエミュレーションシステムでは、不正確なシステムモデル、不正確なFPGA回路モデル、および不正確な設計変換ソフトウェアが得られることが多い。FPGAは、プログラムされ、その固有の動作環境内で動作するようになった後、シミュレーションまたはエミュレーションの際に対応するモデルと異なる挙動を示す現実のデバイスと双方向にやり取りする。プログラムされたFPGA内部のコンポーネントの反応は、それに応じて異なる。さらに、FPGA内のプログラムされた回路要素は、そのHDL記述から回路要素に変換される。実際、この変換プロセスは、不完全であり、その結果、シミュレーションまたはエミュレーションにおける設計機能とFPGAデバイスの固有の動作環境における設計機能は異なることになる。さらに、FPGAのアナログおよび専用回路要素のシミュレーションモデルは、カスタム定義回路の動作を検証するために使用される。実際、これらのモデルおよびモデル化された回路は、不完全であり、機能に違いがあるため、論理シミュレーションまたはエミュレーションと実際のFPGA設計とでは異なる。
【００１２】
従来の論理シミュレータおよびエミュレーションシステムは、メモリ、マイクロプロセッサ、SERDESなど、FPGA内部のさまざまなコンポーネントの設計挙動をモデル化し、試験するために使用されることが多い。実際、これらのモデルは、実際のFPGAコンポーネントにおいてモデル化される要素ほど正確ではない。オリジナルのFPGA設計記述からFPGAコンポーネントへの技術対応付けは、論理シミュレータと従来のエミュレーションシステムの両方において使用されるモデルとは異なる。この対応付けに違いがあるため、シミュレートまたはエミュレートされた設計と実際のFPGA設計との間に機能に関する違いが生じる。
【特許文献１】米国特許仮出願第６０／６６２４２７号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１３】
したがって、本発明の目的は改善されたFPGAエミュレーションシステムを提供することである。
【００１４】
本発明のさらなる目的は、FPGA設計の選択可能で自由度の高い電気的動作環境におけるFPGA設計の動作をエミュレートするそのようなFPGAエミュレーションシステムを提供することである。
【００１５】
本発明のさらなる目的は、FPGAが動作することが意図されている速度でFPGA設計の動作をエミュレートするそのようなFPGAエミュレーションシステムを提供することである。
【００１６】
本発明のさらなる目的は、FPGAのコンポーネントの設計を完了するのに先立って固有の動作環境におけるFPGA設計の試験を可能にするそのようなFPGAエミュレーションシステムを提供することである。
【００１７】
本発明のさらなる目的は、選択可能で自由度の高い電気的動作環境におけるFPGA設計のデジタルおよびアナログプロセスの動作をエミュレートするそのようなFPGAエミュレーションシステムを提供することである。
【００１８】
本発明のさらなる目的は、カスタムプロトタイプボードを組み立てたり、または評価ボードに頼ったりすることなく、FPGA設計を正確にエミュレートし、検証するそのようなFPGAエミュレーションシステムを提供することである。
【００１９】
本発明のさらなる目的は、FPGAの設計が変更された場合に、カスタムプロトタイプボードを組み立て直す必要のない、そのようなFPGAエミュレーションシステムを提供することである。
【００２０】
本発明のさらなる目的は、FPGA設計をエミュレートし、検証するのに要する時間を短縮するそのようなFPGAエミュレーションシステムを提供することである。
【００２１】
本発明のさらなる目的は、FPGA設計の開発時間を短縮するそのようなFPGAエミュレーションシステムを提供することである。
【００２２】
本発明のさらなる目的は、FPGA設計の従来のシミュレーションに比べて正確なそのようなFPGAエミュレーションシステムを提供することである。
【００２３】
本発明のさらなる目的は、シミュレーションモデルおよび/または技術変換プロセスの品質および精度を測定することができるそのようなFPGAエミュレーションシステムを提供することである。
【００２４】
本発明のさらなる目的は、FPGA設計の高速プロトタイピングを可能にするそのようなFPGAエミュレーションシステムを提供することである。
【００２５】
本発明のさらなる目的は、複雑度の低いそのようなFPGAエミュレーションシステムを提供することである。
【００２６】
本発明のさらなる目的は、比較的安価なそのようなFPGAエミュレーションシステムを提供することである。
【００２７】
本発明のさらなる目的は、FPGAの実際のターゲットの電気的動作環境においてFPGA設計内部からFPGA設計の一部を動作させ、かつ監視する論理シミュレータを含むことができるそのようなFPGAエミュレーションシステムを提供することである。
【００２８】
本発明のさらなる目的は、ソフトウェアを使用するFPGA設計の少なくとも1つのコンポーネントの動作を制御し、および/またはエミュレートすることができるそのようなFPGAエミュレーションシステムを提供することである。
【課題を解決するための手段】
【００２９】
本発明は、プロトタイプボードを組み立て直したり、または所望のFPGA設計と正確には一致しない不正確な評価ボードもしくはシミュレーションモデルに頼ったりすることなく設計変更に容易に対応できるようにすると同時に、FPGA設計の高速プロトタイピングを実現するために、FPGAデバイスの所望の速度で、かつ選択可能で自由度の高い電気的動作環境において、試験されるFPGA設計のデジタルおよびアナログの両方のプロセスをエミュレートすることができる改善されたFPGAエミュレーションシステムは、一実施形態において、試験されるFPGA設計の所定の入力特性をシミュレートして取り込み、かつFPGA設計の出力特性をシミュレートして吐き出すバス機能モデルエンジンと、所定の入力特性に対応する試験されるFPGAデバイスに信号を印加する入力特性を表す信号に応答するバス機能モデル回路とを用いて実現されることを理解した上での結果である。試験されるFPGAデバイスは、入力特性を処理してそれに応答するとともに、試験されるFPGAデバイスの出力特性を表すバス機能モデル回路に信号を送る。バス機能モデル回路は、バス機能モデルエンジンによって吐き出される出力特性を取り込んで、システムによって定義される選択可能で自由度の高い電気的動作環境において試験対象となるFPGAデバイスの動作をエミュレートする。このバス機能モデル回路は、FPGAの外部に配置することで、外部からFPGA設計を試験することができる。他の実施形態では、バス機能モデル回路は、FPGA内部に配置することで、所定の固有のターゲット環境において試験されるFPGAデバイスのコンポーネントのうちの少なくとも1つ、複数、またはすべての試験を行うことができる。
【００３０】
しかし、本発明は、他の実施形態では、これらの目的すべてを達成する必要はなく、本明細書の請求項は、これらの目的を達成することができる構造または方法に限定されるべきではない。
【００３１】
本発明は、複数のピンを有する試験対象のFPGAデバイスと、試験対象のFPGAデバイスの所定の入力特性を表す信号に応答し、試験対象のFPGAデバイスに所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成されたバス機能モデル回路とを含むFPGAエミュレーションシステムを特徴とする。
【００３２】
好ましい一実施形態では、システムは、所定の入力特性をシミュレートして取り込み、かつ出力特性をシミュレートして吐き出すためのバス機能モデルエンジンをさらに含むことができる。バス機能モデルエンジンは、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートすることができる。バス機能モデル回路は、試験対象のFPGAデバイスに少なくとも1つの試験動作を適用するように構成することができるとともに、予め定義された選択可能で自由度の高い電気的動作環境において少なくとも1つの試験動作の結果をエミュレートすることができる。バス機能モデル回路は、複数のピンを含むことができる。バス機能モデル回路は、試験対象のFPGAデバイスに結合されうる。試験対象のFPGAデバイスの選択された複数のピンのうちのそれぞれのピンは、バス機能モデル回路の対応するピンタイプに結合されうる。システムは、試験対象のFPGAデバイスとバス機能モデル回路との間に結合される保護回路をさらに含むことができる。バス機能モデル回路および試験対象のFPGAデバイスは、類似の電気的特性および機能を有するように選択できる。試験対象のFPGAデバイスに印加される1つまたは複数の信号は、電源信号、タイミング基準信号、インピーダンス基準信号、および所定の入力特性を表す信号からなる群から選択された1つまたは複数の信号を含むことができる。システムは、予め定義された選択可能で自由度の高い電気的動作環境を定義するために、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を選択する所定の入力特性およびコマンドに応答するコントローラ回路をさらに含むことができる。少なくとも1つのプログラム可能インピーダンス基準デバイスは、1つまたは複数のインピーダンス基準信号をバス機能モデル回路および試験対象のFPGAデバイスに供給することができる。少なくとも1つのプログラム可能タイミング基準デバイスは、1つまたは複数のタイミング基準信号をバス機能モデル回路および試験対象のFPGAデバイスに供給することができる。バス機能モデル回路、試験対象のFPGAデバイス、コントローラ回路、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスを、取り外し可能デバイス上に配置することができる。取り外し可能デバイスは、コンピュータシステムに一体化されることができる。このシステムは、所定の入力特性を電気的制御信号に変換し、かつ出力特性をソフトウェア信号に変換するための変換回路をさらに含むことができる。電気的制御信号により、バス機能モデル回路を有効にすることができる。電気的制御信号により、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を有効にすることができる。このシステ���は、シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するための、バス機能モデルエンジンに結合された論理シミュレータをさらに含むことができる。
【００３３】
また、本発明は、試験対象のFPGAデバイスの所定の入力特性を表す信号に応答し、試験対象のFPGAデバイスに所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成されたバス機能モデル回路を含むFPGAエミュレーションシステムを特徴とする。
【００３４】
本発明は、複数のピンを有する試験対象のFPGAデバイスと、試験対象のFPGAデバイスの所定の入力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、試験対象のFPGAデバイスに所定の入力特性に対応する1つまたは複数の信号を印加するように構成され、かつ試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成された所定の入力特性を表す信号に応答するバス機能モデル回路とを含むFPGAエミュレーションシステムをさらに特徴とする。
【００３５】
好ましい一実施形態では、バス機能モデル回路は、試験対象のFPGAデバイスに少なくとも1つの試験動作を適用し、かつ予め定義された選択可能で自由度の高い電気的動作環境において少なくとも1つの試験動作の結果をエミュレートするように構成されることができる。バス機能モデル回路は、複数のピンを含むことができる。バス機能モデル回路は、試験対象のFPGAデバイスに結合されうる。試験対象のFPGAデバイスのそれぞれのピン、または選択された複数のピンは、バス機能モデル回路の対応するピンタイプに結合されうる。システムは、試験対象のFPGAデバイスとバス機能モデル回路との間に結合される保護回路をさらに含むことができる。バス機能モデル回路および試験対象のFPGAデバイスは、類似の電気的特性および機能を有するように選択できる。試験対象のFPGAデバイスに印加される1つまたは複数の信号は、電源信号、タイミング基準信号、インピーダンス基準信号、および所定の入力特性を表す信号からなる群から選択された1つまたは複数の信号を含むことができる。システムは、予め定義された選択可能で自由度の高い電気的動作環境を定義するために、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を選択する所定の入力特性およびコマンドに応答するコントローラ回路をさらに含むことができる。少なくとも1つのプログラム可能インピーダンス基準デバイスは、1つまたは複数のインピーダンス基準信号をバス機能モデル回路および試験対象のFPGAデバイスに供給することができる。少なくとも1つのプログラム可能タイミング基準デバイスは、1つまたは複数のタイミング基準信号をバス機能モデル回路および試験対象のFPGAデバイスに供給することができる。少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスは、取り外し可能デバイス上に配置できる。取り外し可能デバイスは、コンピュータシステムと一体化することができる。このシステムは、所定の入力特性を電気的制御信号に変換し、かつ出力特性をソフトウェア信号に変換するための変換回路をさらに含むことができる。電気的制御信号により、バス機能モデル回路を有効にすることができる。電気的制御信号により、少なくとも1つのプログラム可能電源、少なくとも1つのプログラム可能発振器回路、少なくとも1つのプログラム可能インピーダンス基準デバイス、および少なくとも1つのプログラム可能タイミング基準デバイスのうちの1つまたは複数を有効にすることができる。このシステムは、シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するためのバス機能モデルエンジンに結合された論理シミュレータをさらに含むことができる。
【００３６】
また、本発明は、試験対象のFPGAデバイスの所定の入力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、試験対象のFPGAデバイスに試験対象のFPGAデバイスの所定の入力特性に対応する1つまたは複数の信号を印加して、バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成された所定の入力特性を表す信号に応答するバス機能モデル回路とを含むFPGAエミュレーションシステムを特徴とする。
【００３７】
本発明は、複数のピンを有する試験対象のFPGAデバイスと、複数のピンを有するバス機能モデル回路と、試験対象のFPGAデバイスをバス機能モデル回路に結合するコネクタとを含み、バス機能モデル回路は、試験対象のFPGAデバイスに信号を入力し、かつ試験対象のFPGAデバイスから出力された信号を受け取って、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をより正確にエミュレートするようにプログラムされるFPGAエミュレーションシステムをさらに特徴とする。
【００３８】
好ましい一実施形態では、バス機能モデル回路は、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスに少なくとも1つの試験を適用し、かつ少なくとも1つの試験の結果をエミュレートするように構成されることができる。試験対象のFPGAデバイスのそれぞれのピン、または選択された複数のピンは、バス機能モデル回路の対応するピンタイプに結合されうる。システムは、試験対象のFPGAデバイスのピンとバス機能モデル回路との間に結合される保護回路をさらに含むことができる。
【００３９】
また、本発明は、少なくとも1つのコンポーネントおよび所定の固有のターゲット環境において動作する複数のピンを有する試験対象のFPGAデバイスと、試験対象のFPGAデバイスの少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの少なくとも1つのコンポーネントの所定の入力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、少なくとも1つのコンポーネントの入力特性を表す1つまたは複数の信号を受け取るように構成され、かつ少なくとも1つのコンポーネントの出力特性を表す1つまたは複数の信号を吐き出して、バス機能モデルエンジンが所定の固有のターゲット環境において試験対象のFPGAデバイスの少なくとも1つのコンポーネントの動作をエミュレートするように構成された試験対象のFPGAデバイスに組み込まれたバス機能モデル回路とを含むFPGAエミュレーションシステムを特徴とする。
【００４０】
好ましい一実施形態では、このシステムは、少なくとも1つのコンポーネントの出力特性を生成するための入力特性に応答するコンポーネントモデルエンジンをさらに含むことができる。バス機能モデル回路は、試験対象のFPGAデバイスの少なくとも1つのコンポーネントから少なくとも1つの試験動作を適用し、かつ所定の固有のターゲット環境において少なくとも1つの試験動作の結果をエミュレートするように構成されうる。このシステムは、出力特性を電気的信号またはハードウェア信号に変換し、かつ入力特性をソフトウェア信号に変換するための変換回路をさらに含むことができる。システムは、バス機能モデル回路を有効にする電気的信号に応答するコントローラ回路をさらに含むことができる。システムは、変換回路と試験対象のFPGAデバイスとの間に結合されるプログラミングケーブルをさらに含むことができる。バス機能モデルエンジンは、試験対象のFPGAデバイスの複数のコンポーネントの出力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの複数のコンポーネントの入力特性をシミュレートして吐き出すことができる。バス機能モデル回路は、試験対象のFPGAデバイスの複数のコンポーネントの入力特性に対応する試験対象のFPGAデバイスの複数のコンポーネントを送り先とする信号を受け取るように構成され、かつ試験対象のFPGAデバイスの複数のコンポーネントの出力特性を表す信号を印加して、バス機能モデルエンジンが所定の固有のターゲット環境において試験対象のFPGAデバイスの複数のコンポーネントの動作をエミュレートするように構成されうる。バス機能モデルエンジンは、試験対象のFPGAデバイスのすべてのコンポーネントの出力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスのすべてのコンポーネントの入力特性をシミュレートして吐き出すことができる。バス機能モデル回路は、試験対象のFPGAデバイスのすべてのコンポーネントの入力特性に対応する試験対象のFPGAデバイスのすべてのコンポーネントを送り先とする信号を受け取るように構成され、かつ試験対象のFPGAデバイスのすべてのコンポーネントの出力特性を表す信号を印加して、バス機能モデルエンジンが所定の固有のターゲット環境において試験対象のFPGAデバイスのすべてのコンポーネントの動作をエミュレートするように構成されうる。このシステムは、シミュレートされた入力を受け取り、かつシミュレートされた出力を伝送するための、バス機能モデルエンジンに結合された論理シミュレータをさらに含むことができる。
【００４１】
本発明は、少なくとも1つのコンポーネントおよび所定の固有のターゲット環境において動作する複数のピンを有する試験対象のFPGAデバイスと、試験対象のFPGAデバイスの少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの少なくとも1つのコンポーネントの出力特性をシミュレートして吐き出すためのバス機能モデルエンジンと、少なくとも1つのコンポーネントの入力特性に対応する1つまたは複数の信号を受け取るように構成され、かつ少なくとも1つのコンポーネントの出力特性を表す1つまたは複数の信号を吐き出して、バス機能モデルエンジンが所定の固有のターゲット環境において試験対象のFPGAデバイスの少なくとも1つのコンポーネントの動作をエミュレートするように構成された試験対象のFPGAデバイスに組み込まれたバス機能モデル回路と、少なくとも1つのコンポーネントの出力特性を生成するための、入力特性に応答するコンポーネントモデルエンジンとを含むFPGAエミュレーションシステムをさらに特徴とする。
【００４２】
また、本発明は、少なくとも1つのコンポーネントおよび複数のピンを有する試験対象のFPGAと、試験対象のFPGAデバイスの入力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの出力特性をシミュレートして吐き出すための第1バス機能モデルエンジンと、試験対象のFPGAデバイスの入力特性に対応する1つまたは複数の信号を試験対象のFPGAデバイスに印加するように構成され、かつ試験対象のFPGAデバイスの出力特性を表す1つまたは複数の信号を受け取って、バス機能モデルエンジンが予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの動作をエミュレートするように構成される入力特性を表す信号に応答する第1バス機能モデル回路と、試験対象のFPGAデバイスの少なくとも1つのコンポーネントの出力特性をシミュレートして取り込み、かつ試験対象のFPGAデバイスの少なくとも1つのコンポーネントの入力特性をシミュレートして吐き出すための第2バス機能モデルエンジンと、少なくとも1つのコンポーネントの入力特性に対応する1つまたは複数の信号を受け取るように構成され、かつ少なくとも1つのコンポーネントの出力特性を表す1つまたは複数の信号を吐き出して、少なくとも1つの追加のバス機能モデルエンジンが、予め定義された選択可能で自由度の高い電気的動作環境において試験対象のFPGAデバイスの少なくとも1つのコンポーネントの動作をエミュレートするように構成された試験対象のFPGAデバイスに組み込まれた少なくとも1つの追加のバス機能モデル回路とを含むFPGAエミュレーションシステムを特徴とする。
【００４３】
好ましい一実施形態では、このシステムは、少なくとも1つのコンポーネントの出力特性を生成するための、少なくとも1つの第2バス機能モデル回路によって与えられる少なくとも1つの追加のコンポーネントの入力特性に応答するコンポーネントモデルエンジンをさらに含むことができる。
【００４４】
他の目的、特徴、および利点は、当業者であれば、好ましい実施形態および添付の図面に関する以下の説明から思い付くものである。
【発明を実施するための最良の形態】
【００４５】
本発明の具体的特徴は、図面中で示されているものもあれば、示されていないものもあるが、便宜上のことにすぎず、それぞれの特徴は、本発明による他の特徴のいずれか、またはすべてと組み合わせることができる。
【００４６】
以下で開示されている好ましい1つまたは複数の実施形態とは別に、本発明は、他の実施形態となることができ、かつさまざまな方法で実施または実行することができる。ゆえに、本発明は、その用途において、以下の説明に記載されている、または図面に例示されているコンポーネントの構造および構成の詳細に限定されないことが理解される。本明細書で一実施形態のみが説明されている場合でも、その請求項は、その実施形態に限定されない。さらに、その請求項は、何らかの除外事項、制約事項、または免責事項を明示する明確で納得の行く証拠がない限り、限定されているものと解釈すべきではない。
【００４７】
図1には、複数のピン14を有する試験対象のFPGAデバイス12を含む本発明のFPGAエミュレーションシステム10が示されている。上の「背景技術」の節で説明されているように、試験対象のFPGAデバイス12は、シリコンデバイスまたはFPGAを組み込んだシステムを生産する前にカスタム論理設計をモデル化し、かつ検証するために使用されることが多いFPGAデバイスである。また、システム10は、好ましくは、バス機能モデルエンジン28を含む。バス機能モデルエンジン28は、信号線24上の試験対象のFPGAデバイス12の所定の入力特性をシミュレートして取り込むプログラムコードまたはソフトウェアである。信号線24上の所定の入力特性は、好ましくは、論理シミュレータ34によって与えられる。典型的には、シミュレートされた入力23は、論理シミュレータ34に印加されて、試験刺激21を生成する。I/O回路モデル19は、試験刺激21に応答するとともに、バス機能モデルエンジン28によってシミュレートされて取り込まれる所定の入力特性を、試験対象のFPGAデバイス12につながることが期待される信号線24上に出力する。
【００４８】
変換回路30は、信号線24上でバス機能モデルエンジン28によって取り込まれた所定の入力特性を表すソフトウェア信号を受け取るとともに、それらの信号を、信号線20上の電気的信号またはハードウェア信号に変換する。また、変換回路30は、バス機能モデル回路16を有効にする電気的制御信号を発生させる。
【００４９】
バス機能モデル回路16は、信号線24上の所定の入力特性に対応する信号を信号線20によって試験対象のFPGAデバイス12に吐き出すか、または印加する。試験対象のFPGAデバイス12は、信号線20上の信号を処理してそれに応答し、かつ試験対象のFPGAデバイス12の出力特性を表す信号を信号線22によって送る。信号線22上の出力特性信号は、バス機能モデル回路16によって受け取られ、かつ取り込まれる。次いで、バス機能モデル回路16は、上で説明したのと同様に、変換回路30によって信号線32上のソフトウェア信号に変換される電気信号を信号線20上に出力する。バス機能モデルエンジン28は、試験対象のFPGAデバイス12の出力特性を表す信号線32上の信号に応答し、かつ出力特性を信号線26上に吐き出して、試験対象のFPGAデバイス12の予め定義された選択可能で自由度の高い動作環境において試験対象のFPGAデバイス12の動作をエミュレートする(後述)。ゆえに、バス機能モデルエンジン28により取り込まれた信号線24上の所定の入力特性は、バス機能モデル回路16によって吐き出された信号線20上の入力特性に対応し、試験対象のFPGAデバイス12によって送られ、かつバス機能モデル回路16により取り込まれた信号線22上の出力特性は、バス機能モデルエンジン28によって吐き出される信号線26上の出力特性に対応する。I/O回路モデル19は、信号線26上にバス機能モデルエンジン28によってシミュレートされ吐き出される試験対象のFPGAデバイス12の応答、つまり出力特性を受け取る。次いで、I/O回路モデル19は、シミュレートされた出力25として出力される試験刺激21を生成する。このように、FPGAエミュレーションシステム10は、バス機能モデル回路16を使用して、試験対象のFPGAデバイス12をそのデバイスピンの外部から操作、観察、および試験する。
【００５０】
試験対象のFPGAデバイス12の設計が変更された場合、論理シミュレータ34を使用して、信号線24上の所定の入力特性として、バス機能モデルエンジン28によってシミュレートされ取り込まれるシミュレートされた入力23を受け取る。バス機能モデル回路16は、新しい入力特性に応答するとともに、入力特性に対応する信号を試験対象のFPGAデバイス12に印加する。試験対象のFPGAデバイス12の新しい設計は、入力特性に応答して処理し、かつ試験対象のFPGAデバイス12の新しい設計の出力特性を表す信号をバス機能モデル回路16に送る。バス機能モデル回路16は、試験対象のFPGAデバイス12の新しい出力特性を取り込み、かつバス機能モデルエンジン28は、出力特性を吐き出して、試験対象のFPGAデバイス12の新しい設計の動作をエミュレートする。
【００５１】
好ましい一設計では、図1のバス機能モデル回路16は、例えばイーサネット（登録商標）データネットワークパケットを試験対象のFPGAデバイス12に出力するような、少なくとも1つの複合試験動作を適用して、予め定義された選択可能で自由度の高い電気的動作環境においてその試験動作の結果をエミュレートするように構成されることができる。理想的には、試験対象のFPGAデバイス12およびバス機能モデル回路16は、類似の電気的特性および機能を有するように選択される。
【００５２】
次に、試験対象のFPGAデバイス12の選択可能で自由度の高い動作環境の生成について、図2に関して説明するが、ただし、類似のパーツには類似の番号が振られている。FPGAエミュレーションシステム10aは、信号線20上の変換回路30によって変換された電気的制御信号と、信号線110によるコマンド92に応答するコントローラ回路120とを含む。コマンド92は、典型的には、論理シミュレータ34も実行するコンピュータシステム、例えばコンピュータシステム134上で実行されるソフトウェアに備えられている(後述)。プログラム可能インピーダンス基準デバイス122、プログラム可能電源124、プログラム可能発振器126、バス機能モデル回路16、および試験対象のFPGAデバイス12をプログラムするために、コマンド92が使用される(これも後述)。典型的には、プログラミングは、論理シミュレータ34を実行する前に、かつ試験対象のFPGAデバイス12の設計が変更される毎に実行される。コントローラ回路120は、バス機能モデル回路16を有効にする制御信号を信号線121上に生成する。また、コントローラ回路120は、所定の数のプログラム可能インピーダンス基準デバイス122、プログラム可能タイミング基準デバイス124、プログラム可能電源126、および/またはプログラム可能発振器128をそれぞれ選択するか、または無効にする制御信号を信号線123、125、127、および129上に生成する。さまざまなプログラム可能インピーダンス基準デバイス122、プログラム可能タイミング基準デバイス124、プログラム可能電源126、およびプログラム可能発振器128の選択およびプログラミングによって、試験対象のFPGAデバイス12の予め定義された選択可能で自由度の高い動作環境が定義される。
【００５３】
その結果、本発明のFPGAエミュレーションシステム10は、デジタルおよびアナログの両方の動作を含む、試験対象のFPGAデバイス12の動作の効果的で正確なエミュレーションを行うとともに、試験対象のFPGAデバイス12の速度を上げる。HDLを使用して試験されるFPGAをモデル化する論理シミュレータのみに典型的には頼る従来のシステムとは異なり、本発明のエミュレーションシステム10は、予め定義された選択可能で自由度の高い動作電気的環境において試験対象のFPGAデバイス12の動作をエミュレートする。FPGAエミュレーションシステム10は、設計が変更された場合に、試験対象のFPGAデバイス12の動作を簡単かつ正確にエミュレートし、実質的にすべての所望の試験対象のFPGAデバイス12の電気的動作環境を選択するように構成されうる。FPGAエミュレーションシステム10を使用すれば、カスタムプロトタイプボードを組み立て、および/もしくは組み立て直す必要性、または所望のFPGA設計の正確なモデルを形成することができない評価ボードに頼る必要性がなくなる。設計変更の結果、試験対象のFPGAデバイス12のピン配列構成が変更された場合、FPGAエミュレーションシステム10は、この設計変更を容易にエミュレートし、かつ検証することができる。FPGAエミュレーションシステム10は、さらに、従来のエミュレーションシステム、論理シミュレータ、および論理エミュレータに比べて著しく安価であり、正確であり、かつ使いやすい。
【００５４】
好ましい一設計では、図2のコントローラ回路120、プログラム可能インピーダンス基準デバイス122、プログラム可能電源124、プログラム可能発振器126、バス機能モデル回路16、および試験対象のFPGAデバイス12は、取り外し可能デバイス130、例えば、プラガブルユニット上に配置される。取り外し可能デバイスまたはプラガブルユニット130は、典型的には、図3に示されているように、コンピュータシステム134に一体化されるが、ただし、類似のパーツには類似の番号が振られている。取り外し可能デバイス130は、典型的には、信号線140によって変換回路30とインターフェイスするプラガブルレセプタクル138とインターフェイスする。
【００５５】
試験対象のFPGAデバイス12の複数のピン14に対する例示的なピン配列構成は、図4に示されている。この実施例では、試験対象のFPGAデバイス12は、ピンバンク40および42、電源ピン44、および構成ピン46にさらに分割される複数のピン14を含む。GP I/Oピン60は、汎用信号ピンであり、多数の異なる電気的特性によりプログラムすることができる。VRN I/Oピン62およびVRP I/Oピン64は、他の信号ピンの駆動特性を制御するために選択的に使用できる試験対象のFPGAデバイス12内部の回路に接続される。GCLK I/Oピン66は、専用タイミング基準入力、例えば、クロック入力などとして動作するようにプログラムすることができるピンである。VREF I/Oピン68は、アナログ電圧基準として使用できる試験対象のFPGAデバイス12内部の回路に接続される。VCCIOピン70は、試験対象のFPGAデバイス12のさまざまなI/Oドライバ用の電源ピンである。VCCINTピン63およびVCCAUXピン65は、試験対象のFPGAデバイス12のFPGAデバイスコア論理および構成ピン46に電力を供給するために典型的には使用される非入出力ピンである。GNDピン61は、接地ピンである。構成ピン46は、FPGAデバイスプログラミングに使用される典型的なJTAGインターフェイスの一実施例を示す。構成ピン46は、当業者に知られているように、試験対象のFPGAデバイス12をプログラムするための信号シーケンスを適用するために使用されることが多い。図1のバス機能モデル回路16は、同様に、図2に示されているように試験対象のFPGAデバイス12に似たピン構成を典型的には有する複数のピン17を含む。
【００５６】
好ましい一設計では、試験対象のFPGAデバイス12の図1の複数のピン14のそれぞれのピンまたは選択された複数のピンは、バス機能モデル回路16の同じ対応するピンタイプの複数のピン17に結合される。類似のパーツには類似の番号が振られている図5は、試験対象のFPGAデバイス12とバス機能モデル回路16との間の例示的なピンが結合されている一実施例を示す。一実施例では、試験対象のFPGAデバイス12のGP I/Oピン60、VRN I/Oピン62、VRP I/Oピン64、GCLK I/Oピン66、VCCIOピン68、VREF I/Oピン70、および接地ピン72は、それぞれ信号線80、82、84、86、87、88、および93としてバス機能モデル回路16の対応するピンタイプ60〜72に結合される。
【００５７】
保護回路100、例えば、抵抗器102(RS)、抵抗器103(RU)、および抵抗器104(RD)は、好ましくは、試験対象のFPGAデバイス12とバス機能モデル回路16との間に結合される。保護回路100は、間違った信号がバス機能モデル回路16および試験対象のFPGAデバイス12に送られたか、またはバス機能モデル回路16および試験対象のFPGAデバイス12から送られた場合に、試験対象のFPGAデバイス12およびバス機能モデル回路16に損傷が生じるのを防ぐように設計されている。これにより、試験対象のFPGAデバイス12またはバス機能モデル回路16のプログラミングの思いがけないミスを防ぐ。タイミングおよびインピーダンス基準デバイス75、例えば、他のFPGAデバイスは、信号線74、76、および78による試験対象のFPGAデバイス12とバス機能モデル回路16との間の相互接続部に結合され、当業者に知られているように、自走クロック基準信号およびインピーダンス基準信号の発信源となりうる。
【００５８】
抵抗器102(RS)は、試験対象のFPGAデバイス12とバス機能モデル回路16との間の信号線80、82、84、86、および88上で典型的には結合されている限流直列抵抗器である。抵抗器102(RS)は、試験対象のFPGAデバイス12とバス機能モデル回路との間で駆動される電流を、そのデバイスと回路とのうちの一方または両方がうっかりミスプログラムされている場合に低減する。例えば、ユーザーが、信号線80〜88のどれかで試験対象のFPGAデバイス12に出力するようにバス機能モデル回路16上の信号をプログラムしたのに、試験対象のFPGAデバイス12が、バス機能モデル回路16に同じ信号を駆動し戻そうとしている場合、抵抗器102(RS)は、電力を消費し、試験対象のFPGAデバイス12およびバス機能モデル回路16に損傷が生じるのを防ぐ。
【００５９】
一設計では、抵抗器103(RU)および抵抗器104(RD)は、信号線87と88との間、および信号線88と93との間でそれぞれ結合される。抵抗器103(RU)および抵抗器104(RD)は、典型的には、図4のピン40〜46の特定のバンク内のI/O信号が電圧基準を必要とする場合に使用されるアナログ電圧基準を発生する。この実施例では、図5の抵抗器103(RU)および抵抗器104(RD)は、電源ピン68および70と接地ピン72との間に分圧器を形成する。抵抗器102(RU)および104(RD)のそれぞれは、好ましくは、ピン68および70上の信号のやりとりにあまり影響を及ぼさないように、抵抗器102(RS)に比べて抵抗値が高い。ピン70上のVHEF信号がアナログ電圧基準として使用される場合、バス機能モデル回路16も試験対象のFPGAデバイス12も信号を駆動しない。抵抗器のペア103(RU)および104(RD)上の分圧器は、典型的には、ピン68上のVCCIO電圧のおおよそ1/2の入力電圧に設定される。これにより、最新のFPGAで一般に使用される信号ファミリのI/Oバンク電源に追随する電圧基準が得られる。
【００６０】
本発明の、類似のパーツには類似の番号が振られている図6のFPGAエミュレーションシステム10bは、上で説明されているのと同様に、複数のピン14を有する試験対象のFPGAデバイス12aを含む。試験対象のFPGAデバイス12aは、少なくとも1つのコンポーネント、例えば、コンポーネント302、コンポーネント304、コンポーネント306、コンポーネント307、および/またはコンポーネント308を含む。コンポーネント302〜308の実施例としては、とりわけ、カスタムHDL設計、PLL、発振器、マイクロプロセッサ、DSP、SERDES、または典型的には加工前にエミュレートされ、かつ検証される必要のある試験対象のFPGAデバイス12aに含まれるFPGA設計である類似のタイプの任意のデバイスが挙げられる。
【００６１】
この実施形態では、試験対象のFPGAデバイス12aは、実際の固有のターゲット環境370内に置かれる。固有のターゲット環境370は、典型的には、さまざまなコンポーネント310、312、314、および316を含む、ターゲットサーキットボード372、例えば、レーダーシステム用のコントローラボード、または当業者に知られている類似のタイプのボードによって定義される。コンポーネント310〜316の実施例としては、とりわけ、発振器、マイクロプロセッサ、他のFPGAまたはPLD、DRAMおよびフラッシュメモリなどのメモリデバイス、並びにイーサネット（登録商標）またはRS-232トランシーバなどの通信回路が挙げられる。
【００６２】
FPGAエミュレーションシステム10bは、少なくとも1つのコンポーネント、または他の実施形態では、試験対象のFPGAデバイス12a内のコンポーネント302〜308のうちの複数のコンポーネント、またはすべてのコンポーネントの動作をエミュレートするが、試験対象のFPGAデバイス12aは、固有のターゲット環境370内で動作する。
【００６３】
類似のパーツには類似の番号が振られている図7のFPGAエミュレーションシステム10bは、試験対象のFPGAデバイス12aに組み込まれたバス機能モデル回路16aを含む。バス機能モデル回路16aは、試験対象のFPGAデバイス12a内のコンポーネント302〜308のうちの、選択されたコンポーネント、例えば、コンポーネント302(破線で示されている)を置き換え、これにより、FPGAエミュレーションシステム10bは、固有のターゲット環境370において試験対象のFPGAデバイス12aの選択されたコンポーネント、複数のコンポーネント、またはすべてのコンポーネントの動作をエミュレートすることができる。バス機能モデル回路16aは、典型的には、試験対象のFPGAデバイス12a内のコンポーネント304〜308のうちの一部、または全部からの1つまたは複数の信号、例えば、コンポーネント304からの信号線320による入力信号、コンポーネント306からの信号線322による入力信号、およびコンポーネント308からの信号線324による入力信号に応答する。バス機能モデル回路16aは、さらに、コンポーネント316からの信号線326による入力信号などの、ボード372上のさまざまなコンポーネントからの入力信号に応答することができる。試験対象のFPGAデバイス12a内のさまざまなコンポーネントは、例えば、信号線360、362、および363によって互いに通信することができ、また例えば、信号線364、368、326、および328によってボード370上で試験対象のFPGAデバイス12aの外部のさまざまなコンポーネント310〜316と通信することもできる。
【００６４】
バス機能モデルエンジン28aは、図1および2を参照しつつ上で説明されているバス機能モデルエンジン28と同様の設計のソフトウェアまたはプログラムコードであるが、ただし、入力および出力特性の方向は反転される。バス機能モデルエンジン28aは、変換回路30aにより信号線20a上で電気的信号またはハードウェア信号に変換されるソフトウェア信号を信号線32aで送ることによってバス機能モデル回路16aに対し問い合わせを行う。コントローラ回路120aは、信号線20a上で電気的信号に応答し、信号線333によってバス機能モデル回路16aを有効にする。次いで、バス機能モデル回路16aは、入力信号を表す信号線20a上のハードウェア信号または電気的信号をバス機能モデル回路16aに出力するが、例えば、信号線320、322、324、および326上の信号である。信号線20a上の電気的信号は、変換回路30aにより、信号線32a上のソフトウェア信号に変換される。バス機能モデルエンジン28aは、信号線32a上の信号に応答し、特定の所定の時点において、例えば、バス機能モデルエンジン28aがバス機能モデル回路16aに問い合わせを行ったときに、バス機能モデル回路16aの入力特性をまとめて表す信号線350上のソフトウェア信号をシミュレートし、かつ吐き出す。好ましくは、コンポーネントモデルエンジン352、例えば、選択されたコンポーネントのHDLモデル、またはコンポーネント、例えば、コンポーネント302、または選択されたコンポーネントもしくは当業者に知られているようなコンポーネントの類似のタイプのモデルは、信号線350上で入力特性に応答する。コンポーネントモデルエンジン352は、信号線350上の入力特性に応答し、信号線350上の入力特性に対する応答としてバス機能モデル回路16aの出力をモデル化する出力特性を信号線354上に生成する。次いで、バス機能モデルエンジン28aは、信号線354上の出力特性をシミュレートするとともに、取り込む。次いで、信号線354上の出力特性が、信号線32aによって変換回路30aに出力される。変換回路30aは、信号線32a上でバス機能モデルエンジン28aによって取り込まれた出力特性を受け取るとともに、ソフトウェア信号として表されている出力特性を信号線20a上の電気的またはハードウェア信号に変換する。上記と同様に、コントローラ回路120aは、さらに、バス機能モデル回路16aを有効にする信号を発生する。
【００６５】
バス機能モデル回路16aは、コンポーネントモデルエンジン352によって生成され、バス機能モデルエンジン28aによって取り込まれたバス機能モデル回路16aの出力特性を表す信号線20a上の電気的信号またはハードウェア信号を受け取る。バス機能モデル回路16aは、バス機能モデルエンジン28aによって取り込まれた信号線354上の出力特性に対応する信号、例えば、信号線328上の信号をコンポーネント310に、信号線330上の信号をコンポーネント304に、信号線332上の信号をコンポーネント306に吐き出すか、または出力する。その結果、バス機能モデルエンジン28aは、試験対象のFPGAデバイス12aの実際の固有のターゲット環境370において試験対象のFPGAデバイス12aのコンポーネント302〜308のうちの選択されたコンポーネント、例えば、コンポーネント302の動作をエミュレートする。したがって、FPGA設計は、コンポーネント302および/または試験対象のFPGAデバイス12aの設計を完了する前に、固有の動作環境370において実行できる。FPGAエミュレーションシステム10bは、実質的に、試験対象のFPGAデバイス12a内部の論理シミュレータとして働くとともに、固有のターゲット環境において試験対象のFPGAデバイス12aのコンポーネント302〜308のうちの選択されたコンポーネントの動作をエミュレートする革新的手法をもたらす。
【００６６】
好ましい一実施形態では、FPGAエミュレーションシステム10bは、試験対象のFPGAデバイス12aのコンポーネント302〜308のうちの複数のコンポーネント、例えば、コンポーネント302および304を選択し、固有のターゲット環境370において試験対象のFPGAデバイス12aの選択された複数のコンポーネント302〜304の動作をエミュレートする。この場合、コンポーネント302〜304はそれぞれ、上記のようにバス機能モデル回路16aで置き換えられる。同様に、バス機能モデルエンジン28aは、コンポーネント302〜304へのすべての入力を表す信号線350上の入力特性を吐き出し、かつコンポーネント302〜304のすべての出力を表すコンポーネントモデルエンジン352によって生成される出力特性を取り込んで、固有のターゲット環境370においてコンポーネント302〜304の動作をエミュレートする。他の実施例では、FPGAエミュレーションシステム10bは、試験対象のFPGAデバイス12aのコンポーネント302〜308をすべて選択し、上記と同様に、固有のターゲット環境370において試験対象のFPGAデバイスのコンポーネント302〜308の動作をエミュレートする。
【００６７】
一実施形態では、バス機能モデル回路16aは、コンポーネント302〜308のうちの選択されたコンポーネントから、少なくとも1つの複合試験動作、例えば、メモリアレイの内容を初期化する動作を適用し、かつ試験対象のFPGAデバイス12aの所定の固有のターゲット環境370において試験動作の結果をエミュレートするように構成できる。
【００６８】
好ましい一設計では、システム10bは、変換回路30aと試験対象のFPGAデバイス12aとの間に結合されるプログラミングケーブル231(破線で示されている)を含む。
【００６９】
類似のパーツには類似の番号が振られている本発明の図8のFPGAエミュレーションシステム10cは、複数のピン14を有する試験対象のFPGAデバイス12aを含む。試験対象のFPGAデバイス12aは、少なくとも1つのコンポーネント、例えば、図6および7に関して説明されているコンポーネント302〜308を含む。図8のFPGAエミュレーションシステム10cは、図1に関して上で説明されているのと同様にして、信号線24上で試験対象のFPGAデバイス12aの所定の入力特性をシミュレートして取り込み、かつ信号線26上で出力特性をシミュレートして吐き出す。同様に、バス機能モデル回路16は、信号線24上の所定の入力特性に対応する信号線20による試験対象のFPGAデバイス12aに信号を吐き出すか、または印加する。試験対象のFPGAデバイス12aは、信号線20上の信号を処理してそれに応答し、試験対象のFPGAデバイス12aの出力特性を表す信号を信号線22によって送る。次いで、バス機能モデル28は、図1および2に関して上で説明されているのと同様にして、選択可能で自由度の高い動作環境において試験対象のFPGAデバイス12aの動作をエミュレートする。
【００７０】
しかし、この実施形態では、試験対象のFPGAデバイス12aは、さらに、図7を参照して上で説明されているのと同様に、コンポーネント302〜308のうちの選択されたコンポーネント、例えば、コンポーネント302(破線で示されている)を置き換える少なくとも1つの追加のバス機能モデル回路16aを含む。図8のバス機能モデルエンジン28aは、選択可能で自由度の高い動作環境において試験対象のFPGAデバイス12aの選択されたコンポーネント302の動作をエミュレートする。
【００７１】
一実施形態では、FPGAエミュレーションシステム10cは、図7を参照して上で説明されているように、試験対象のFPGAデバイス12aの複数のまたはすべてのコンポーネント302〜308を選択して、選択可能で自由度の高い動作環境において試験対象のFPGAデバイス12aのコンポーネント302〜308のうちの選択されたコンポーネントの動作をエミュレートすることができる。
【００７２】
本発明の具体的特徴は、図面中で示されているものもあれば、示されていないものもあるが、便宜上のことにすぎず、それぞれの特徴は、本発明による他の特徴のどれか、またはすべてと組み合わせることができる。本明細書で使用されているような「含む(including)」、「具備する(comprising)」、「有する(having)」、「備える(with)」という言葉は、広い意味で、包括的に解釈されるべきであり、物理的相互接続に限定されない。さらに、本出願で開示されている実施形態は、可能な唯一の実施形態として解釈すべきではない。他の実施形態も、当業者であれば思い付くものであり、請求項の範囲内にある。
【００７３】
さらに、本特許の特許出願の審査手続き中に提示された補正は、提出された出願に提示されている請求要素の権利放棄ではない。つまり、当業者は、可能なすべての均等物を文字通り包含する請求項を作成することを無理なく予期されることはできず、多くの均等物は、補正の時点では予見不可能であるとともに、権利放棄されるべき内容（もしあれば）の公正な解釈の範囲を超えており、補正の基礎をなす論理的根拠は、多くの均等物に対しわずかに触れる程度の関係しか持ち得ず、および/または出願人が補正された請求要素のために、ある実質的とはいえない代替物を説明することを予期されることはできない他の多くの理由がある。
【図面の簡単な説明】
【００７４】
【図１】本発明のFPGAエミュレーションシステムの一実施形態の概略ブロック図である。
【図２】本発明により取り外し可能デバイス上に配置することができる図1に示されているFPGAエミュレーションシステムのコンポーネントをさらに詳しく示す概略ブロック図である。
【図３】汎用コンピュータに一体化されている図2に示されている取り外し可能デバイスの一実施例を示す概略ブロック図である。
【図４】試験されるFPGAデバイスの典型的なピンレイアウトおよび図1に示されているバス機能モデル回路の一実施例を示す概略ブロック図である。
【図５】バス機能モデル回路と図1に示されている試験対象のFPGAデバイスとの結合の一実施例、および間に結合されている例示的な保護回路を示す概略ブロック図である。
【図６】本発明のFPGAエミュレーションシステムの他の実施形態の概略ブロック図である。
【図７】試験対象のFPGAデバイス内部の選択されたコンポーネントがバス機能モデル回路で置き換えられている図6に示されているFPGAエミュレーションシステムを示す概略ブロック図である。
【図８Ａ】本発明のFPGAエミュレーションシステムの他の実施形態の概略ブロック図である。
【図８Ｂ】本発明のFPGAエミュレーションシステムの他の実施形態の概略ブロック図である。
【符号の説明】
【００７５】
１０，１０ａ，１０ｂ，１０ｃ  FPGAエミュレーションシステム
１２，１２ａ  試験対象のFPGAデバイス
１４，１７  ピン
１６，１６ａ  バス機能モデル回路
１９  I/O回路モデル
２０，２０ａ，２２，２４，２６，３２，３２ａ  信号線
２１  試験刺激
２３  シミュレートされた入力
２５  シミュレートされた出力
２８，２８ａ  バス機能モデルエンジン
３０，３０ａ  変換回路
３４，３４ａ，３４ｂ  論理シミュレータ
９２  コマンド
１０２  固定電源
１１０，１２１，１２３，１２５，１２７，１２９  信号線
１２０，１２０ａ  コントローラ回路
１２２  プログラム可能インピーダンス基準デバイス
１２４  プログラム可能タイミング基準デバイス
１２６  プログラム可能電源
１２８  プログラム可能発振器
１３０  取り外し可能デバイス
１３４  コンピュータシステム
１３８  プラガブルレセプタクル
３０２，３０４，３０６，３０７，３０８，３１０，３１２，３１４，３１６  コンポーネント
３５０  入力特性
３５４  出力特性
３５２  コンポーネントモデルエンジン
３７０  固有のターゲット環境
３７２  ターゲットサーキットボード
【図１】
2008535046.tif 000003
【図２】
2008535046.tif 000004
【図３】
2008535046.tif 000005
【図４】
2008535046.tif 000006
【図５】
2008535046.tif 000007
【図６】
2008535046.tif 000008
【図７】
2008535046.tif 000009
【図８Ａ】
2008535046.tif 000010
【図８Ｂ】
2008535046.tif 000011
【国際調査報告】
2008535046.tif 000012