(57)【要約】【課題】単一のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置、システム及び方法の提供。【解決手段】本発明は複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、高性能トランシーバ、メモリデバイスが電子回路設計のタイミング及び状態デバッグ用検証モジュールを提供し、各ＦＰＧＡに組み込まれた信号値圧縮回路とギガビットトランシーバが各ＦＰＧＡのファンアウトを増加し、イーサネット通信ポートがプロセッサインストラクションのリモートソフトウェアデバッグを可能にする。【選択図】図１
2014120155.tif 000002
【特許請求の範囲】
【請求項１】
エンベデッドプロセッサデザインのデザインおよびエミュレーションを行うためのシステムであって、前記システムが、
（ａ）ユーザワークステーションへのインターフェースと、
（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、
（ｃ）少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルと、
（ｄ）複数のギガビットトランシーバと、
を含む（ｉ）検証モジュール及びシステムコントローラと、
（ｉｉ）前記第１クロックに接続された少なくとも１つのシステム・オン・チップ（ＳｏＣ）パーティション論理モジュールと、検証モジュールのユーザ信号論理値圧縮トンネルポータルとを含み、各ＳＯＣパーティション論理モジュールが、
（ｅ）ユーザデザインのエミュレーションに用いる複数のフィールド・プログラマブル・ロジック・デバイスを含み、そのうち、各フィールド・プログラマブル・ロジック・デバイスが、前記ユーザデザインに加えて、ユーザ信号圧縮トンネル用の回路を含み、前記ユーザ信号圧縮トンネル用回路が、少なくとも１つの第２クロックとユーザ信号圧縮トンネルポータルに接続され、それにより前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分とギガビットトランシーバ経由で通信し、
（ｆ）ユーザ信号圧縮トンネルポータル用回路によって別の各フィールド・プログラマブル・ロジック・デバイスに接続された、プロセッサとして構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスを含み、それによりすべてのオンボードのグローバルクロックをリアルタイムでモニタリングし、電圧、電流、温度をモニタリングして表示し、ソフトウェア経由で外部Ｉ／Ｏ電圧を設定し、ソフトウェア経由でグローバルリセットがリモート提供される、
ことを特徴とする、システム。
【請求項２】
前記クロック及びユーザ信号圧縮トンネルポータルが、クロック信号用コントローラと、ギガビットトランシーババックプレーンファンクションブロックを含むことを特徴とする、請求項１に記載のシステム。
【請求項３】
前記クロック及びユーザ信号圧縮トンネルポータルが、クロック信号用コントローラと、ギガビットトランシーバ光学インターフェース回路を含むことを特徴とする、請求項１に記載のシステム。
【請求項４】
各ユーザ信号圧縮トンネル用回路が、信号値を以前にメモリデバイスに書き込まれた信号論理値と比較し、新しい信号論理値をＤＤＲ３メモリデバイスに書き込むことを特徴とする、請求項１に記載のシステム。
【請求項５】
信号論理値が保存された信号論理値と一致する場合、各ユーザ信号圧縮トンネル用回路が、メモリに保存された論理値のアドレスのみを前記ユーザ信号圧縮トンネルポータルに送信することを特徴とする、請求項４に記載のシステム。
【請求項６】
各ユーザ信号圧縮トンネル用回路が、新しい信号値と、新しい信号値が保存されるメモリデバイス内のアドレスの両方を前記ユーザ信号圧縮トンネルポータルに送信することを特徴とする、請求項１に記載のシステム。
【請求項７】
前記検証モジュールがさらにユーザ信号論理値圧縮用のメモリデバイスを含み、前記ストレージがエンベデッド・ロジック・アナライザを含有するフィールド・プログラマブル・ロジック・デバイスに通信可能に接続されたことを特徴とする、請求項１に記載のシステム。
【請求項８】
プリント配線板を含む装置であって、
（ａ）ユーザワークステーションへのインターフェースと、
（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、
少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルと、
（ｃ）ユーザデザインのエミュレーション用の少なくとも１つの別のフィールド・プログラマブル・ロジック・デバイス（そのうち、各フィールド・プログラマブル・ロジック・デバイスが、複数のギガビットトランシーバ、リモートソフトウェアデバッグ用ギガビットイーサネットポート、ユーザ信号圧縮トンネル用回路を含み、前記ユーザ信号圧縮トンネル用回路が少なくとも１つの第２クロック及びユーザ信号圧縮トンネルポータルに接続され、それにより前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分と通信する）、
（ｄ）ＡＲＭプロセッサのソフトウェアインストラクションを実行するように構成された少なくとも１つの別のフィールド・プログラマブル・ロジック・デバイスと、
に前記プリント配線板が通信可能に接続されたことを特徴とする、装置。
【請求項９】
エンベデッド・プロセッサのユーザデザインのタイミング及び状態の検証方法であって、前記方法が、
（ａ）ユーザワークステーションへのインターフェースと、
（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、
少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルと、
を含む、（ｉ）検証モジュール及びシステムコントローラを提供する工程と、
（ｉｉ）前記検証モジュールの前記第１クロック及びユーザ信号値圧縮トンネルポータルに接続された少なくとも１つのシステム・オン・チップ（ＳｏＣ）パーティション論理モジュールを提供し、各ＳＯＣパーティション論理モジュールが、
（ａ）ユーザデザインのエミュレーション用の複数のフィールド・プログラマブル・ロジック・デバイス（ＦＰＩＤ）を含み、各ＦＰＩＤが少なくとも１つの第２クロック及びユーザ信号圧縮トンネルポータルに接続されたユーザ信号圧縮トンネル用回路を含む工程と、
（ｉｉｉ）コンピュータを使用して前記ユーザデザインと１つ以上のエンベデッド・ロジック・アナライザＩＰ回路記述を含む最上位モジュールを生成する工程と、
（ｉｖ）前記コンピュータを使用して、前記ユーザデザインをパーティションに区分し、各パーティションが前記ＦＰＩＤの１つへのコンフィギュレーションに適している工程と、
（ｖ）コンピュータを使用して、各ＦＰＩＤにユーザ信号値圧縮トンネル用回路を割り当て、該トンネル経由で、そのプログラマブル・ロジック・デバイス内で構成される前記パーティションが、前記コンピュータを使用して別のプログラマブル・ロジック・デバイスで構成された別のパーティションと通信できる工程と、
（ｖｉ）コンピュータを使用して、少なくとも１つのＦＰＩＤに、ギガビットイーサネットプロトコルによりインストラクション及び信号論理値を送受信するための回路を割り当てる工程と、
を含むことを特徴とする、方法。
【請求項１０】
さらに、チップの境界を越えてプロトタイプをデバッグするためのマルチチップアクセス法を設定し、コンピュータ及びギガビットイーサネットポートを使用して正確なプロセッサインストラクションの実行を検証する工程を含むことを特徴とする、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連特許及び出願に関する記載）
本出願は、２０１２年７月８日に出願された米国特許出願１３５４３８５４号の一部継続出願であり、その開示内容が参照によって本願に組み込まれる、２０１１年５月１２日に出願された米国特許仮出願番号６１／４８５１７７号の利益を主張するもので、当該仮出願に基づき優先権を主張する。関連特許は、米国特許第７３５３１６２号「Ｓｃａｌａｂｌｅ  ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｐｒｏｔｏｔｙｐｉｎｇ  ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ」（スケーラブル再構成可能型プロトタイプシステムと方法）である。
【０００２】
本発明は電子回路設計の自動化と検証（ｖａｌｉｄａｔｉｏｎ）技術に関し、特に、本発明はシステム・オン・チップ型（ＳｏＣ）電子回路設計の自動化と検証技術に関する。
【背景技術】
【０００３】
マスクドゲートアレイまたはスタンダードセルとして実装されるアプリケーションに特化した集積回路のプロトタイピングには、ＸｉｌｉｎｘやＡｌｔｅｒａなどの供給元が提供するフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）デバイスを使用することが一般的である。しかしながら、不適切な設計のデバッグにおいてピンの制限が障壁となる。個々のＦＰＧＡには、ロジックアナライザＩＰ（ｉｎｔｅｌｌｅｃｔｕａｌ  ｐｒｏｐｅｒｔｙ）を組み込むことでその観測機能を強化しているものもあるが、ルーティング及びロジックリソースが犠牲となり、容易な配置と自動配線が可能なユーザロジックの量に悪影響を生じる。デバッグされる単一のＦＰＧＡは制御と表示のためのホストコンピュータに接続することができる。連動する２個のＦＰＧＡが別々のホストコンピュータに接続されるのは扱いにくい。
【０００４】
フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）が大規模な電子回路のプロトタイピングに使用され、任意の１個のＦＰＧＡ上の信号をデバッグするためのツール及び方法が存在することは知られている。これらのツールは各ＦＰＧＡに大量のルーティング及びロジックリソースを必要とし、これらはプロトタイプでは利用できない。
【０００５】
複雑な電子回路のデバッグには、複数のＦＰＧＡが必要となることに問題がある。複数のＦＰＧＡを必要とするプロトタイプの各ＦＰＧＡをエミュレートすることは可能であるが、１個のＧＰＧＡと別のＦＰＧＡの境界にまたがる問題を理解することは極めて難しい。シングルチップＦＰＧＡデバッグソリューションは、スケーリングできないことが知られている。
【０００６】
第一世代のシステムは、ＦＰＧＡコンパイラを制御して観測する信号を外部ピンに送達する。しかし出入力ピンは、往々にしてＦＰＧＡにおいて境界のあるリソース（ｂｏｕｎｄｉｎｇ  ｒｅｓｏｕｒｃｅ）であり、ピン数が減少されたＦＰＧＡにはすべてのファンクションブロックが入らない可能性がある。
【０００７】
第二世代のシステムは、シンプルな内部ロジックアナライザを組み込み、簡単化した論理式をトリガし、イベントの小さいシーケンスを実行する。有用とするには、この内部ロジックアナライザのマルチインスタンスが必要とされ、機能性は所望されるよりも低かった。
【０００８】
第三世代のシステムは、複数のＦＰＧＡを組み合わせるが、それらＦＰＧＡの１つのみプローブされる。これは、その設計のある一部分に起因する問題を運がよければデバッグできるのみである。これは、ＦＰＧＡのパーティションにわたる問題に対応することができなかった。
【０００９】
より最近になり、それぞれ異なる要件に対応する４つの高性能トランシーバのタイプが生み出された。Ａｒｔｉｘ−７  ＦＰＧＡのＧＴＰ（６．６Ｇｂ／ｓ）は、超低コストのパッケージでメインストリームの低消費電力接続を提供する。Ｋｉｎｔｅｘ−７及びＶｉｒｔｅｘ−７  ＦＰＧＡのＧＴＸ（１２．５Ｇｂ／ｓ）は、コスト効果に優れた１２．５Ｇｂ／ｓのオプティカル及びバックプレーンアプリケーションを提供する。Ｖｉｒｔｅｘ−７  ＦＰＧＡのＧＴＨ（１３．１Ｇｂ／ｓ）は、有線ＯＴＵにおけるＥＦＥＣに必要な２５％のオーバーヘッドと低消費電力での高性能バックプレーンアプリケーションをサポートする。Ｖｉｒｔｅｘ−７  ＨＴ  ＦＰＧＡのＧＴＺ（２８．０５Ｇｂ／ｓ）は１００〜４００Ｇアプリケーションの帯域幅を実現し、主要な高速シリアル及びオプティカルプロトコルをサポートする。周知のように、Ａｒｔｉｘ、Ｋｉｎｔｅｘ、Ｖｉｒｔｅｘはそれぞれの所有者の所有する商標である。これらは、市販されているギガビットトランシーバの非限定的な例として挙げたものである。本発明においてギガビットトランシーバとは、制限なく前述のいずれかまたはそれらの同等品を指す。
【００１０】
従来のＦＰＧＡデバッグツールは単一のＦＰＧＡ内の信号に制限されており、リソースを消費するためその単一のＦＰＧＡ内で実装可能なユーザロジックの量が減少する。ピン、ロジックエレメント、チャネルがデバッグ回路によって消費されるため、ユーザロジックの配置配線がより困難になる。
【００１１】
デザインフローにおける従来の手順は次の通りである。
１．従来：ユーザデザインの設定
１ａ．初期デザインエントリの実行
１ｂ．合成と配置配線の実行
１ｃ．単一デバイスのプログラムとテスト
２．従来：従来型エンベデッド・ロジック・アナライザの設定
２ａ．観測に所望される信号ファイルの作成
２ｂ．解析する信号の選択
２ｃ．信号、トリガ、条件トリガ、階層トリガの設定
３．従来：サンプル信号値のキャプチャ、表示、解析
３ａ．単一デバイスの再プログラムとテスト
３ｂ．接続されたホストコンピュータ上でのサンプル信号値の表示
３ｃ．ユーザデザインにおける問題を特定するためのデータ解析
【００１２】
このため、エンベデッド・プロセッサで実行するソフトウェアを含む「チップ上のシステム（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）」をデバッグする方法が必要とされている。特に、解決される問題は、複数のＦＰＧＡにおいて内部で使用される信号シーケンスの組み合わせの結果として論理値キャプチャをトリガすることである。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、単一のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置、システム及び方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、ユーザデザインの設計とエミュレーションに再構成可能型プラットフォームを使用する方法及びシステムを提供する。論理検証モジュールとホストコンピュータへのインターフェースが、１つのＦＰＧＡにコンパイルされる。前記論理検証モジュールによってトレースされる信号は、別のＦＰＧＡ内にある。論理値トンネリング回路が各ＦＰＧＡにコンパイルされ、論理検証モジュールが別のＦＰＧＡ内部の論理値をトリガしてキャプチャすることを可能にする。本発明は、メモリ及びプログラマブル・ゲート・アレイなど複数のフィールド・プログラマブル・ロジック・デバイスを含むプラットフォーム上に実装することができる。一実施例において、複数のＦＰＧＡ、高性能トランシーバ、及びＤＤＲ３メモリデバイスなどのストレージがエンベデッド・プロセッサ設計のタイミング及び状態のデバッグ用検証モジュールを提供する。各ＦＰＧＡに組み込まれた信号値圧縮回路及びギガビットトランシーバが各ＦＰＧＡのファンアウトを増加する。ギガビットイーサネット通信ポートが、プロセッサインストラクションのリモートソフトウェアデバッグを可能にする。
【００１５】
本発明の一実施例に基づき、ユーザデザインのエミュレーション及びデバッグ用システムを使用して、ユーザはユーザデザインを含む最上位モジュールを生成する。続いてユーザはユーザデザインを合成し、プログラマブル・ロジック・デバイスの１つでの実装にそれぞれ適したパーティションに区分する。さらに、各プログラマブル・ロジック・デバイスにデータ値トンネルが割り当てられる。このデータ値トンネルを通して、各パーティションが検証モジュール上のプログラマブル・ロジック・デバイスに実装されたロジックアナライザと完全に通信可能になる。その後、前記パーティション及び前記データ値トンネル回路がプログラマブル・ロジック・デバイスで配置配線され、実装される。
【００１６】
本発明の一実施例に基づき、前記システムは、ランタイム中プログラマブル・ロジック・デバイス内及び間の信号の監視及び解析用のシステムデバッグツールを提供することができる。前記システムデバッグツールは、ＦＰＧＡリードバックツール、データ値トンネル、内部ロジックアナライザツールを含むことができる。前記内部ロジックアナライザツールは、ロジックアナライザを実装した回路として構成されるプログラマブル・ロジック・デバイスを含む。
【００１７】
本発明の上述及び他の利点と特徴を明確にするために、本発明の上述の簡潔な説明のより具体的な説明は、添付の図面で示される特定の実施形態を参照して表わされる。これらの図面は、本発明の典型的な実施形態を示したものである。したがって、本発明の範囲を限定するものと見なすべきではないことを理解されたい。本発明は、添付の図面を使用して、さらなる特定性および具体性ともに記述され説明される。
【図面の簡単な説明】
【００１８】
【図１】ＳＯＣパーティション論理モジュールのブロック図である。
【図２】論理検証モジュールのブロック図である。
【図３】ＳＯＣパーティション論理モジュールと論理検証モジュールを組み合わせたシステム図である。
【図４】ＳＯＣパーティション論理モジュールと論理検証モジュールを単一のプリント配線板上で組み合わせた装置のブロック図である。
【発明を実施するための形態】
【００１９】
本発明の実施形態例の種々の態様について説明するために、以下図面を参照する。図面は、そのような実施形態例の概略的で模式的な表現であり、本発明を限定するものではなく、また必ずしも一定の縮尺で描かれているものではないことを理解されたい。
【００２０】
まず図１に示すように、一実施例において、ＦＰＧＡ３１１は、トンネル３２１によって別のモジュールに接続されたＳＯＣパーティション論理モジュールのコンポーネントである。前記ＦＰＧＡ３１１は、ユーザデザインパーティション３１２と、回路信号値にアクセスして前記トンネル３２１経由で転送するトンネルポータル３１３を含んで構成される。
【００２１】
一実施例において、図２に示すように、本発明はホストコンピュータ３９０に接続され、かつトンネル３２１、３２２経由で複数のＳＯＣパーティション論理モジュールにも接続された論理検証モジュール３８０を含む。一実施例において、前記論理検証モジュール３８０は、信号値ストレージ（ｓｉｇｎａｌ  ｖａｌｕｅ  ｓｔｏｒｅ）３８９を含む。前記論理検証モジュール３８０は、ロジックアナライザ３８２、少なくとも１つのトンネルポータル３８３、３８４を含んで構成されるＦＰＧＡ３８１を含む。各トンネルポータルはトンネルに接続される。
【００２２】
図３のシステム図に示すように、一実施例において、システム３００は複数のＦＰＧＡ３１０、３６０を含み、前記複数のＦＰＧＡ３１０、３６０は、さらにホストコンピュータ３９０に接続された論理検証モジュール３８０にトンネル３２１、３２６経由で接続される。前記トンネル３２１、３２６のメリットは、前記論理検証モジュール３８０内でロジックアナライザに信号を転送するために利用できるピン数の制限を克服できることにある。
【００２３】
図４に示すように、単一のプリント配線板はユーザデザインパーティションとして構成されたＦＰＧＡとロジックアナライザの両方を提供できることが分かる。ホストコンピュータ３９０は、電子的に再構成可能なプロトタイプシステム４００の動作を制御するために人間のユーザに対してグラフィカルユーザインターフェースを提供する。このグラフィカルユーザインターフェースを通して、ホストコンピュータ３９０のユーザは、ユーザデザインにアクセスし、観測する信号を選択して、データキャプチャ用のトリガを設定し、エミュレーション後に結果を表示することができる。ホストコンピュータ３９０は、エンジニアリングワークステーションまたはパーソナルコンピュータとすることができる。本実施例において、ホストコンピュータ３９０はロジックアナライザ３８２と業界標準通信インターフェースを介して通信を行い、前記標準通信インターフェースは、ＵＳＢ、ＰＣＩ、ＩＥＥＥ−１３９４（「ファイアワイヤ」とも呼ばれる）またはその他業界標準通信バスとすることができる。
【００２４】
本発明の好ましい実施形態の例は、次を含むが、これらに限らない。
【００２５】
本発明の一実施形態は、エンベデッド・プロセッサ設計の設計及びエミュレーションのためのシステムである。このシステムは、（ａ）ユーザワークステーションへのインターフェースと、（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、（ｃ）少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルと、（ｄ）複数のギガビットトランシーバと、を含む（ｉ）検証モジュール及びシステムコントローラと、（ｉｉ）前記検証モジュールの前記第１クロック及びユーザ信号論理値圧縮トンネルポータルに接続された少なくとも１つのＳＯＣパーティション論理モジュールを具え、各パーティション論理モジュールが、（ｅ）ユーザデザインのエミュレーションに用いる複数のフィールド・プログラマブル・ロジック・デバイスを含み、そのうち、各フィールド・プログラマブル・ロジック・デバイスが、前記ユーザデザインに加えて、ユーザ信号圧縮トンネル用の回路を含み、前記ユーザ信号圧縮トンネル用回路が、少なくとも１つの第２クロックとユーザ信号圧縮トンネルポータルに接続され、それにより前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分とギガビットトランシーバ経由で通信し、さらに（ｆ）ユーザ信号圧縮トンネルポータル用回路によって別の各フィールド・プログラマブル・ロジック・デバイスに接続されたプロセッサとして構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスを含み、それによりすべてのオンボードのグローバルクロックをリアルタイムでモニタリングし、電圧、電流、温度をモニタリングして表示し、ソフトウェア経由で外部Ｉ／Ｏ電圧を設定し、ソフトウェア経由でグローバルリセットがリモート提供される。
【００２６】
一実施例において、前記クロックとユーザ信号圧縮トンネルポータルは、クロック信号用コントローラと、ＳｅｒＤｅｓファンクションブロックを含むことができる。
【００２７】
別の一実施例において、前記クロックとユーザ信号圧縮トンネルポータルは、クロック信号用コントローラと、ＬＶＤＳインターフェース回路またはギガビットトランシーバを含むことができる。
【００２８】
前記システムの一実施態様は、各ユーザ信号圧縮トンネル用回路が信号値をメモリデバイスに以前に書き込まれた信号論理値と比較し、新しい信号論理値をメモリデバイスに書き込む。
【００２９】
別の一実施例において、各ユーザ信号圧縮トンネル用回路は、信号論理値が保存された信号論理値と一致するとき、メモリに保存された論理値のアドレスのみを前記ユーザ信号圧縮トンネルポータルに転送する。
【００３０】
別の一実施例において、各ユーザ信号圧縮トンネル用回路は、新しい信号値と、新しい信号値が保存されるメモリデバイス内のアドレスの両方を前記ユーザ信号圧縮トンネルポータルに転送する。
【００３１】
一実施例において、前記検証モジュールはさらに、ユーザ信号論理値圧縮用のメモリデバイスなどのメモリデバイスを含み、前記ストレージはエンベデッド・ロジック・アナライザを含むフィールド・プログラマブル・ロジック・デバイスに通信可能に接続される。
【００３２】
本発明の一実施形態である装置は、（ａ）ユーザワークステーションへのインターフェース、（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータル、（ｃ）ユーザデザインのエミュレーション用の少なくとも１つの別のフィールド・プログラマブル・ロジック・デバイス（そのうち、各フィールド・プログラマブル・ロジック・デバイスが、複数のギガビットトランシーバ、リモートソフトウェアデバッグ用ギガビットイーサネットポート、ユーザ信号圧縮トンネル用回路を含み、前記ユーザ信号圧縮トンネル用回路が少なくとも１つの第２クロック及びユーザ信号圧縮トンネルポータルに接続され、それにより前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分と通信する）、（ｄ）ＡＲＭプロセッサのソフトウェアインストラクションを実行するように構成された少なくとも１つの別のフィールド・プログラマブル・ロジック・デバイス、と通信可能に接続されたプリント配線板を含む装置である。
【００３３】
一実施例において、前記エンベデッド・ロジック・アナライザは、ユーザ信号圧縮アドレスを受信し、メモリデバイスから信号値を読み取り、信号値をユーザワークステーションまたはリモートソフトウェアデバッガに転送するための回路に接続される。
【００３４】
別の一実施例において、前記ユーザ信号圧縮トンネル用回路は、信号値がＤＤＲ３デバイスなどのメモリデバイス内に以前に保存されている場合アドレスを転送する。
【００３５】
本発明の一実施態様は、エンベデッド・プロセッサのユーザデザインのタイミング及び状態の検証方法であり、前記方法が、（ｉ）（ａ）ユーザワークステーションへのインターフェースと、（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述（ａ  ｃｏｎｖｅｎｔｉｏｎａｌ  ｅｍｂｅｄｄｅｄ  ｌｏｇｉｃ  ａｎａｌｙｚｅｒ  ＩＰ  ｃｉｒｃｕｉｔ  ｄｅｓｃｒｉｐｔｉｏｎ）として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルを含む、検証モジュール及びシステムコントローラを提供する工程と、（ｉｉ）前記検証モジュールの前記第１クロック及びユーザ信号値圧縮トンネルポータルに接続された少なくとも１つのシステム・オン・チップ（ＳｏＣ）パーティション論理モジュールを提供し、各ＳＯＣパーティション論理モジュールが、（ａ）ユーザデザインのエミュレーション用の複数のフィールド・プログラマブル・ロジック・デバイス（ＦＰＩＤ）を含み、各ＦＰＩＤが少なくとも１つの第２クロック及びユーザ信号圧縮トンネルポータルに接続されたユーザ信号圧縮トンネル用回路を含む工程と、（ｉｉｉ）コンピュータを使用して前記ユーザデザインと１つ以上のエンベデッド・ロジック・アナライザＩＰ回路記述を含む最上位モジュールを生成する工程と、（ｉｖ）前記コンピュータを使用して、前記ユーザデザインをパーティションに区分し、各パーティションが前記ＦＰＩＤの１つへのコンフィギュレーションに適している工程と、（ｖ）コンピュータを使用して、各ＦＰＩＤにユーザ信号値圧縮トンネル用回路を割り当て、該トンネル経由で、そのプログラマブル・ロジック・デバイス内で構成される前記パーティションが、前記コンピュータを使用して別のプログラマブル・ロジック・デバイスで構成された別のパーティションとの通信できる工程と、（ｖｉ）コンピュータを使用して、少なくとも１つのＦＰＩＤに、ギガビットイーサネットプロトコルによりインストラクション及び信号論理値を送受信するための回路を割り当てる工程と、を含む。
【００３６】
前記方法における改善は、チップの境界を越えてプロトタイプをデバッグするためのマルチチップアクセス法を設定し、コンピュータ及びギガビットイーサネットポートを使用して正確なプロセッサインストラクションの実行を検証する工程を追加する。
【００３７】
一実施例において、マルチチップアクセス法の設定は、観測に所望される信号のファイルを作成する工程を含む。
【００３８】
追加の工程として、前記最上位モジュールをパーティションに区分して１つ以上のエンベデッド・ロジック・アナライザＩＰ回路記述が検証モジュールに区分されるようにし、それによりユーザワークステーションへのインターフェースが１つ以上のトリガを提供し、前記コンピュータを使用して各トリガの観測でキャプチャされた信号値を転送する工程を含むことができる。追加の工程として、コンピュータを使用して前記プログラマブル・ロジック・デバイスの１つを構成するために適した予備リソースを含むイメージファイルに各パーティションを配置配線する工程を含むことができる。より好ましい方法では、ａ）解析する信号を選択する工程と、ｂ）前記コンピュータを使用して最適なトンネル圧縮技術を決定する工程が追加される。
【００３９】
前記コンピュータを使用して、信号値圧縮用のメモリデバイス出入力管理イメージを検証モジュール上のエンベデッド・ロジック・アナライザＩＰファイルを含むイメージファイルに挿入することで、スループットとパフォーマンスを向上することができる。
【００４０】
エミュレーションの準備は、前記プログラマブル・ロジック・デバイス内の配置配線されたイメージファイルを実行すること、及びプロセッサ実行可能インストラクションをＤＤＲ３メモリに保存することを伴う。
【００４１】
より好ましい方法では、ａ）信号論理値をメモリデバイスに保存する工程と、ｂ）保存された信号論理値と新しい信号値を比較する工程と、ｃ）それらが一致するとき保存されたロジックのメモリデバイスの場所のアドレスを転送する工程と、ｄ）以前に保存された信号値と一致しない場合アドレスと信号値を転送する工程と、ｅ）メモリデバイスから信号値を読み取る工程が追加される。
【００４２】
本発明の一実施態様は装置であり、この装置は、プリント配線板（ＰＣＢ)に通信可能に接続・固定された複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）デバイスを含む。前記ＰＣＢはユーザワークステーションへのインターフェースを備えている。少なくとも１つのＦＰＧＡが、従来のエンベデッド・ロジック・アナライザＩＰ回路記述として構成され、かつ少なくとも１つの第１クロックとユーザ信号圧縮トンネルポータルを含み、さらにユーザデザインの全部または一部をエミュレーションするために構成された少なくとも１つの別のフィールド・プログラマブル・ロジック・デバイスを含み、そのうち各フィールド・プログラマブル・ロジック・デバイスが、前記ユーザデザインに加え、前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分と通信を行うユーザ信号圧縮トンネル用回路が割り当てられ、さらに少なくとも１つの第２クロックと、前記エンベデッド・ロジック・アナライザＩＰ回路と通信可能に接続されたユーザ信号圧縮トンネルポータルを含む。
【００４３】
別の一実施例において、本発明は論理検証モジュールであり、次のようなユーザロジックを持つ少なくとも１つのＳＯＣパーティション論理モジュールに接続される。論理検証モジュールは、それぞれが出入力回路及びＦＰＧＡを含む複数のプロトタイピングボードに接続される。前記論理検証モジュールは、ユーザロジックを全く持たないＦＰＧＡを具え、各プロトタイピングボードへの論理値トンネル回路を含む。一実施例において、前記論理検証モジュールは、さらにストレージ回路と、動作の制御および結果の表示を行うホストコンピュータへのインターフェース回路を含む。
【００４４】
前記論理検証モジュールは、別のＦＰＧＡ内の論理値を観測する回路、保存する回路、それに基づいてトリガを発生する回路を含む。しかし、ピン数の不足がボトルネックとなる。
【００４５】
解決策の１つは、マルチプレクサを制御して所望のプローブポイント間を切り替えることで多数の出力プローブ向けにＦＰＧＡのピンを共有する方法である。
【００４６】
もう１つの解決策は、ＬＶＤＳドライバ及びレシーバを使用してＦＰＧＡ間のデータレートを高め、複数のビットワードで論理値を送達する方法である。別の解決策は、ＳＥＲＤＥＳ技術を使用してＦＰＧＡ内でパラレルバスをシリアルに変える方法である。改善された技術は、ＦＰＧＡ間でギガビットトランシーバを使用する。
【００４７】
さらに別の解決策は、ビットを各Ｍ４ｋビットバッファに保存し、アイドル時間中またはサイクル間にそれらを送信する方法である。本発明は、装置を動作させる方法で実施することができる。この方法では、グラフィカルユーザインターフェースで、プロービングが電子回路の特定のレジスタトランスファ言語（ｒｅｇｉｓｔｅｒ  ｔｒａｎｓｆｅｒ  ｌａｎｇｕａｇｅ；ＲＴＬ）記述に所望されることを示すチェックボックスを選択する；前記ＲＴＬ記述から信号名を抽出する；モジュールインターフェースの階層ディレクトリと内部信号から選択して観測に所望される信号名を指定する；複数のＦＰＧＡ間で電子回路をパーティションに区分する；ＦＰＧＡ間で内部ＲＴＬ信号名と信号の相互参照を保持する；論理値ポータルと論理解析回路（ｌｏｇｉｃ  ａｎａｌｙｓｉｓ  ｃｉｒｃｕｉｔ）をデザイン記述（ｄｅｓｉｇｎ  ｄｅｓｃｒｉｐｔｉｏｎ）に挿入する；ＲＴＬから選択された信号名を外部から観測可能に保つゲートレベルのネットリスト（ｎｅｔｌｉｓｔ）合成を開始する；各ＦＰＧＡのピンに信号を割り当て、ＦＰＧＡ間を配線する；各ＦＰＧＡの配置配線を行う。
【００４８】
改善したデザインフローの好ましい実施例における改善した工程を以下に示す。
１．従来：ユーザデザインの設定
１ａ．初期デザインエントリの実行
１ｂ．合成と配置配線の実行
１ｃ．単一デバイスのプログラムとテスト
２．改善:プロトタイプのデバッグにマルチチップアクセスを設定
２ａ．観測に所望される信号ファイルの作成
２ａ＋ｉ 改善：複数のチップ間でユーザデザインと従来のエンベデッド・ロジック・アナライザをパーティションに区分
２ａ＋ｉｉ 合成の実行と各ＦＰＧＡの配線配置
２ｂ．解析する信号の選択
２ｂ＋ｉｉｉ  改善：最適化したトンネル圧縮技術の決定
２ｃ．信号、トリガ、条件トリガ、階層トリガの設定
２ｃ＋ｉｖ  改善：各プログラミングファイルに圧縮トンネルポータルイメージを挿入
２ｃ＋ｖ  改善：各プログラミングファイルにストレージ出入力管理イメージを挿入
３．改善：マルチチッププロトタイプからのサンプル信号値のキャプチャ、表示、解析
３ａ．単一デバイスの再プログラムとテスト
３ａ＋ｖｉ  改善：複数のデバイスのプログラムとテスト
３ａ＋ｖｉｉ  改善：オフチップストレージへの信号値書き込み
３ａ＋ｖｉｉｉ  改善：新しい信号値と保存された信号値の比較
３ａ＋ｉｘ  改善：信号値のオフチップストレージアドレス（及び以前に転送されていない信号値のみ）の転送
３ａ＋ｘ  改善：オフチップストレージからの信号値読み取り
３ｂ．接続されたホストコンピュータ上でのサンプル信号値の表示
３ｃ．ユーザデザインにおける問題を特定するためのデータ解析
【００４９】
本発明の一側面は、ユーザデザインの設計およびエミュレーション用システムとして実現できる。このシステムは、一部分において、
（ａ）ユーザワークステーションへのインターフェース、
（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイス、
（ｃ）少なくとも１つの第１クロックとユーザ信号圧縮トンネルポータル、
を含む、（ｉ）検証モジュールとシステムコントローラを備えている。
【００５０】
しかし、前記検証モジュールはユーザデザインロジックを含まない。前記デザインは、パーティション論理モジュールにパーティション区分されている。前記システムは、（ｉｉ）クロック及びユーザ信号値圧縮トンネルに接続された少なくとも１つのＳＯＣパーティション論理モジュールとして表され、各論理モジュールが、（ｄ）ユーザデザインをエミュレーションするための複数のフィールド・プログラマブル・ロジック・デバイスを含み、そのうち各フィールド・プログラマブル・ロジック・デバイスは、前記ユーザデザインに加え、前記プログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分が、別のプログラマブル・ロジック・デバイスに割り当てられた前記ユーザデザインの部分と通信するときに経由するユーザ信号圧縮トンネル用の回路が割り当てられ、（ｅ）少なくとも１つの第２クロックとユーザ信号圧縮トンネルポータルを含む。利点は、ロジックアナライザＩＰを持たない複数のＦＰＧＡにわたってパーティション区分をすることで、配置配線が容易になることである。これまで、ロジックアナライザに必要とされてきた配置配線リソースがデバッグ可能なユーザデザインのサイズに減少される。
【００５１】
一実施例において、前記クロック及びユーザ信号圧縮トンネルポータルは、ＳｅｒＤｅｓファンクションブロックを含む。一実施例において、前記クロック及びユーザ信号圧縮トンネルポータルは、ＬＶＤＳインターフェース回路を含む。一実施例において、前記クロック及びユーザ信号圧縮トンネルポータルは、少なくとも１つの信号マルチプレクサユニットを含む。一実施例において、ギガビットトランシーバは、チップ間データ転送機能を提供する。
【００５２】
一実施例において、前記クロック及びユーザ信号圧縮トンネルポータルは、クロック信号用コントローラを含む。
【００５３】
１つの供給元に制限されることを避けるため、本発明では用語フィールド・プログラマブル・ロジック・デバイス及びフィールド・プログラマブル・ゲート・アレイ及びその等価物を相互置き換え可能に使用している。
【００５４】
一実施例において、前記検証モジュールはさらにオフチップストレージを含み、前記ストレージはエンベデッド・ロジック・アナライザを含むフィールド・プログラマブル・ロジック・デバイスに通信可能に接続される。つまり、前記プログラマブル・ロジック・デバイスの内部ストレージよりもずっと大きな信号値の量を保存することができる。かつ、ストレージのアドレスはさらに非線形的にデータ転送を圧縮するために使用できる。
【００５５】
前記検証モジュールはさらに、基板上のメモリデバイスへの書き込みとメモリデバイスからの読み取りを行うためのオフチップストレージ出入力管理回路を備えている。
【００５６】
ユーザがこれらの保存された信号値に関心がある場合、回路によって転送し、オフチップストレージから読み取って、信号値をユーザワークステーションに転送し、表示、比較、解析を行うことができる。
【００５７】
データ値を効率的に転送するために設計された装置は、同じデータ値が以前にメモリに保存されたかを判断するため、アドレスを判断するための回路（またはインストラクションによって構成された（ｃｏｎｆｉｇｕｒｅｄ）プロセッサ）を含むことができる。これは回路を利用して、信号値があるストレージアドレスでオフチップストレージに保存されている、または保存されるときにそのストレージアドレスを転送する。
【００５８】
本発明の別の一側面は、ユーザデザインを機能的に評価する方法であり、
（ａ）ユーザワークステーションへのインターフェースと、
（ｂ）従来のエンベデッド・ロジック・アナライザＩＰ回路記述として構成された少なくとも１つのフィールド・プログラマブル・ロジック・デバイスと、
（ｃ）少なくとも１つの第１クロック及びユーザ信号圧縮トンネルポータルと、
を含む、（ｉ）検証モジュールとシステムコントローラを提供する工程を含む。前記ポータルは前記検証モジュールを検証対象の信号を有するすべてのＦＰＧＡに接続する。またこの方法は、（ｉｉ）クロック及びユーザ信号値圧縮トンネルに接続された少なくとも１つのＳＯＣパーティション論理モジュールを提供する工程も含む。各論理モジュールは、（ｄ）ユーザデザインのエミュレーションに用いる複数のフィールド・プログラマブル・ロジック・デバイスと、（ｅ）少なくとも１つの第２クロック及びユーザ信号圧縮トンネルポータルを含む。
【００５９】
この方法はさらに、（ｉｉｉ）前記ユーザデザインと１つ以上のエンベデッド・ロジック・アナライザＩＰ回路記述を含む最上位モジュールを生成する工程と、（ｉｖ）前記ユーザデザインをパーティションに区分し、各パーティションが前記プログラマブル・ロジック・デバイスの１つへのコンフィギュレーションに適している工程と、（ｖ）各プログラマブル・ロジック・デバイスに少なくとも１つの信号値圧縮トンネルを割り当て、このトンネル経由で、そのプログラマブル・ロジック・デバイス内で構成される前記パーティションと、別のプログラマブル・ロジック・デバイスで構成された別のパーティションとの通信が許可される工程を含む。これらの工程またはプロセスは、コンピュータを使用して自動化され、複数のオリジナルファイルからの複数の大きなファイルがより少ない中間ファイル（ｉｎｔｅｒｍｅｄｉａｔｅ  ｆｉｌｅｓ）に変換された後、複数のＦＰＧＡで利用可能なリソースに合わせて再度それらが変換される。ＦＰＧＡ内の回路経路を制御するプログラミングファイル中のバイナリイメージにソースファイルを変換する簡単な手作業の方法はない。
【００６０】
パーティションのプロセスは、ユーザデザインのパーティションにデザインを分割し、各パーティションは１つのＦＰＧＡでの実装に用いられる。一実施例において、パーティションコマンドは、サードパーティのパーティションツールを呼び出す。以下で説明するデータ値トンネリングを使用した相互接続スキームのため、パーティションツールは、ＦＰＧＡのピン使用による制限を受けずにＦＰＧＡのキャパシティ利用を最大化するという目的に基づいてパーティション区分を最適化できる。パーティショナーは、各ＦＰＧＡに対して個別のネットリスト（ｎｅｔｌｉｓｔ）を生成する。パーティショニングではすべてのデザイン情報とユーザデザインの機能が保持される。または、サードパーティのパーティショナーあるいは手動パーティションを使用してデザインのパーティションを行ってもよい。前記パーティショナーは制限の指定を許可することもでき、それにより前記パーティショナーによる特定のハードウェアを標的とするネットリストの生成をガイドする。
【００６１】
前記ユーザデザインでパーティションのプロセスを実行した後、コンパイラが各ＦＰＧＡのネットリスト上で動作する配置配線プロセスを呼び出す。この配置配線プロセスは通常ＦＰＧＡ供給元の定めるプログラムであり、各ネットリストをバイナリ形式またはＡＳＣＩＩ形式のファイルに変換する。その後出力されたファイルをＦＰＧＡにダウンロードすることができる。一実施例において、配置配線プロセスは１つを超えるユーザステーションまたはプロセッサ上で実行され、ＦＰＧＡの配置配線タスクを平行処理することができる。配置配線バイナリまたはＡＳＣＩＩ出力ファイルは、ホストコンピュータ３９０に保存し、ランタイムソフトウェアの更なる処理を待つことができる。
【００６２】
前記検証モジュールは内部ロジックアナライザを実行するＩＰ（「内部ロジックアナライザＩＰ」）またはフロー／ステートアナライザを実行するＩＰ専用に提供される。これらのＩＰでシステム設計者に実行時コンフィギュレーション済みのシステムのデバッグを行うことができる。例えば、内部ロジックアナライザＩＰを指定のトリガポイントで使用してユーザデザイン中の信号値をサンプリングしてメモリユニットに保存し、後続の解析に用いることができる。ランタイムソフトウェアは実行時これらデバッグＩＰにアクセスし、操作することができる。
【００６３】
内部ロジックアナライザツールは、検証モジュールに組み込まれたロジックアナライザにトリガ条件を設定する。前記ロジックアナライザは、前記検証モジュール中にダウンロードされる特殊な（ｓｐｅｃｉａｌｉｚｅｄ）ＩＰ（「ロジックアナライザＩＰ」）である。前記ロジックアナライザＩＰは、従来のロジックアナライザと同じ機能を提供できる。前記ロジックアナライザＩＰは、大量の信号のサンプルを提供し、大量のトリガ条件を処理することができる。一実施例において、前記内部ロジックアナライザツールは、エンベデッド・ロジック・アナライザＩＰでトリガ条件を設定し、トリガ条件またはイベントの発生を待ち、ロジックアナライザＩＰに組み込まれたサンプルメモリから信号サンプルデータを読み取り、サンプルデータをユーザ定義のシンボルに関連付ける。一実施例において、前記内部ロジックアナライザツールはロジックアナライザＩＰに組み込まれた複雑なイベントステートマシンを設定する。前記イベントステートマシンは、サンプル信号データに対してユーザ定義の条件のシーケンスに従い、デバッグ目的で動作する。前記ロジックアナライザＩＰはユーザにランタイム条件で信号を監視する機能を提供する（例：実行を中断または一時停止するのではなくインサーキット（ｉｎ−ｃｉｒｃｕｉｔ）モードで動作する）。
【００６４】
本発明は、プロトタイプのデバッグにチップの境界を越えたマルチチップアクセスをセットアップすることで差別化される。
【００６５】
まず、プロセスがグラフィカルディスプレイでユーザの選択を実行し、観測に所望される信号のファイルを作成する。
【００６６】
方法における次の工程は、最上位モジュールのパーティショニングであり、１つ以上のエンベデッド・ロジック・アナライザＩＰ回路記述が検証モジュールにパーティショニングされ、それによりユーザワークステーションへのインターフェースが１つ以上のトリガを提供し、各トリガの観測でキャプチャされた信号値を送信する。
【００６７】
その後、前記方法は、予想されるとおり、プログラマブル・ロジック・デバイスの１つのコンフィギュレーションに適した予備リソースを含むイメージファイルに各パーティションの配置配線を実行する。
【００６８】
本発明は、ａ）解析するための信号を選択する、及びｂ）最適なトンネル圧縮技術を決定する、という２つの工程によって差別化される。解析に必要とされる信号数は、ユーザデザインにおける信号値のトリガとキャプチャの帯域幅要件を満たすためのトンネル圧縮技術の選択に直接的な影響がある。
【００６９】
エミュレーションＦＰＧＡからロジックアナライザＦＰＧＡに信号値を送るための技術が選択されたら、a）観測可能な信号、トリガ、条件トリガ、階層トリガを設定し、ｂ）少なくとも１つの圧縮トンネルポータルイメージを前記プログラマブル・ロジック・デバイスの１つでの実装に適した予備リソースを含む前記各イメージファイルに挿入するのに有用となる。ポータルは前記検証モジュールにデータを送信するためのピンの複雑な動作を制御する。
【００７０】
一実施例において、プログラミングファイルは、オフチップストレージ出入力管理イメージを検証モジュール上のエンベデッド・ロジック・アナライザＩＰファイルを含むイメージファイルに挿入することで変換される。
【００７１】
回路記述言語ファイルを解析し、イメージファイルに変換して必要なプログラミングファイルを生成した後、プロセスは前記プログラマブル・ロジック・デバイスで配置配線イメージファイルの自動実装を呼び出す。
【００７２】
一実施例において、このコンピュータにより実行される方法はさらに、回路を制御して、
ａ）オフチップストレージに信号値を書き込む、
ｂ）新しい信号値と保存された信号値を比較する、
ｃ）一致する場合オフチップで保存された値のアドレスを送信する、
ｄ）以前に保存された信号値に一致しない場合アドレスと信号値を送信する、
ｅ）オフチップストレージから信号値を読み取る、
という工程を実行させる、インストラクションを実行する。この方法の工程すべてがさらにコンピュータ読み取り可能なインストラクションに変換され、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）媒体に保存されて、そこから読み取られる。
【００７３】
（手段、実施例、構造）
本発明の実施例は、携帯端末、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む、多様なコンピュータシステム構成で実行することができる。また本発明は、ネットワーク経由で接続されたリモートの処理装置によってタスクが実行される分散型コンピューティング環境でも実行できる。
【００７４】
上述の実施例を念頭に、本発明はコンピュータシステム内に保存されたデータを利用した、多様なコンピュータにより実行される動作を取り入れることができると理解すべきである。これらの動作は物理的な量の物理的な操作が必要ものである。通常、必ずしもそうとは限らないが、これらの量は保存、転送、結合、比較、その他操作が可能な電気または磁気信号の形態である。
【００７５】
ここに記載された本発明の一部を形成するあらゆる操作は有用な機械操作（ｕｓｅｆｕｌ  ｍａｃｈｉｎｅ  ｏｐｅｒａｔｉｏｎｓ）である。また、本発明は、これらの操作を実行するためのデバイスまたは装置にも関連する。この装置は必要な目的のために特別に構築してもよく、またこの装置はコンピュータに保存されたコンピュータプログラムによって選択的に有効化または構成された汎用コンピュータとすることもできる。特に、ここでの記載に従ってコンピュータプログラムが書き込まれた多様な汎用マシンを使用することができる。または、必要な操作を実行するためにより特化された装置を構築したほうが便利な場合もある。
【００７６】
本発明はまた、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）コンピュータ読み取り可能媒体上のコンピュータ読み取り可能コードとしても実施することができる。前記コンピュータ読み取り可能媒体とは、データを保存でき、その後コンピュータシステムにより読み取ることができる任意のデータストレージデバイスである。コンピュータ読み取り可能媒体の例としては、ハードドライブ、ネットワークアタッチトストレージ（ＮＡＳ)、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、その他光学および非光学データデバイスなどが含まれる。また、コンピュータ読み取り可能媒体は、コンピュータ読み取り可能コードが分散形式で保存・実行される、ネットワーク接続されたコンピュータシステムに分散されてもよい。本出願において、コンピュータ読み取り可能媒体とは任意の既知の非一時的有形媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｔａｎｇｉｂｌｅ  ｍｅｄｉａ）を指す。
【００７７】
上述で明確な理解を促すために本発明を詳細に説明したが、本発明の請求の範囲内において多くの変更と代替が可能であることは明らかである。したがって、本発明の実施例は制限ではなく例示を目的としており、本発明は記載された詳細に制限されず、請求の範囲及び相当の範囲内で変更が可能である。
【００７８】
（まとめ）
本発明は、従来のＡＳＩＣプロトタイピングソリューションと次の点で容易に差別化することができる。
１．ＦＰＧＡ内のユーザロジックと別のＦＰＧＡ内のロジックアナライザＩＰ間のロジック信号値のコンパクトで効率的な転送が可能である。
２．どのＦＰＧＡに実際の信号トレースが含まれるかを知らずともホストコンピュータで階層ＲＴＬ信号名（ｈｉｅｒａｒｃｈｉｃａｌ  ＲＴＬ  ｓｉｇｎａｌ  ｎａｍｅ）を表示できる。
３．複数のＦＰＧＡシステム内でのロジックアナライザＩＰ重複が少なく、配線配置が容易になる。
【符号の説明】
【００７９】
３００    システム
３１０、３１１、３６０  ＦＰＧＡ
３１２    ユーザデザインパーティション
３１３    トンネルポータル
３２１、３２２、３２６  トンネル
３８０    論理検証モジュール
３８１    ＦＰＧＡ
３８２    ロジックアナライザ
３８３、３８４  トンネルポータル
３８９    信号値ストレージ
３９０    ホストコンピュータ
４００    再構成可能なプロトタイプシステム
【図１】
2014120155.tif 000003
【図２】
2014120155.tif 000004
【図３】
2014120155.tif 000005
【図４】
2014120155.tif 000006