JP2012168946A - プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置 - Google Patents

プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置 Download PDF

Info

Publication number
JP2012168946A
JP2012168946A JP2012026121A JP2012026121A JP2012168946A JP 2012168946 A JP2012168946 A JP 2012168946A JP 2012026121 A JP2012026121 A JP 2012026121A JP 2012026121 A JP2012026121 A JP 2012026121A JP 2012168946 A JP2012168946 A JP 2012168946A
Authority
JP
Japan
Prior art keywords
interface
verification module
control information
timing
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012026121A
Other languages
English (en)
Other versions
JP2012168946A5 (ja
JP6068805B2 (ja
Inventor
Ying-Tsai Chang
チャン,イン−ツァイ
Hwa Mao
マオ,ファ
Swey-Yan Shei
シェイ,スウェイ−ヤン
Ming-Yang Wang
ワン,ミン−ヤン
Yu-Chin Hsu
スウ,ユー−チン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Springsoft Inc
SpringSoft USA Inc
Original Assignee
Springsoft Inc
SpringSoft USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/025,809 external-priority patent/US8281280B2/en
Application filed by Springsoft Inc, SpringSoft USA Inc filed Critical Springsoft Inc
Publication of JP2012168946A publication Critical patent/JP2012168946A/ja
Publication of JP2012168946A5 publication Critical patent/JP2012168946A5/ja
Application granted granted Critical
Publication of JP6068805B2 publication Critical patent/JP6068805B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】プロトタイプの試験を行うための方法及びシステムを提供することである。
【解決手段】この方法は、第1のインタフェース・コンポーネントにおいて、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像に関連付けられた構成パラメータと、ランタイム制御情報とを受信することを含む。この方法は、さらに、第1のインタフェース・コンポーネントを使用して、構成画像をデバイスへ送信することを含む。第2のインタフェース・コンポーネントは、第1のインタフェース・コンポーネントから受信された構成画像及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を検証モジュールへ送信するように構成され得る。第2のインタフェース・コンポーネントからタイミング及び制御情報を受信することに応答して、検証モジュールは、デバイスを制御し、且つ/又は、ユーザ設計の少なくとも一部のデバイス状態を監視する。
【選択図】図1

Description

関連出願
本出願は、2010年2月12日に出願した「Method and Apparatus for Versatile Controllability and Observability in Prototype System」という名称の米国仮特許出願第61304,328号の優先権の権利を主張するものであり、その出願の内容が参照により全体として本明細書に組み込まれる。
本開示は一般に、半導体及び集積回路システムに関し、より詳細には、プロトタイプシステムを利用する設計検証システム及び設計検証方法に関する。
高集積システムオンチップ(SoC)デバイスは、幅広い種類の製品に力を与えて、さらにより幅広い種類のソフトウェアアプリケーションの要求を満たしている。これらの要求を満たすため、SoCデバイスのサイズ及び複雑性は増し続けている。先行の半導体処理技術及びシリコン実証済みの第三者の知的財産が助けにはなるが、高集積SoCの開発によって、設計検証チームへの負担が増している。場合によっては、検証がSoC開発サイクルの大部分を消費することになる。
SoC設計の検証アプローチは、様々なものがある。速度、ソフトウェア開発、ハードウェア開発、又はシステム確認について最適化されるため、各アプローチは、様々なレベルの可観測性及び制御を提供することになる。フィールド・プログラマブル・ゲート・アレイ(FPGA)プロトタイプシステムは、例えば、システム実行時間の改善をもたらす場合がある。いくつかのFPGA SoC検証システムは、それにもかかわらず、設計内の信号値に対する可視性の欠如しているため、発見された誤りの根本的原因を分離する能力がない。FPGAベンダ固有の検証ツールの共通の欠陥としては、アクセスされる信号の数の制限と、サンプルキャプチャの深さの制限がある。外部ロジックアナライザと組み合わせたとしても、FPGAベンダ固有の検証ツールは、SoC検証中に誤りの根本的原因を分離するための十分な機能がない。
したがって、あるアプリケーションにおける高集積SoCデバイスの設計検証要求を満たすことができ、又は、FPGAベースの電子プロトタイプシステムにおける信号の制御及びその信号の可観測性が向上されたSoC設計検証システムを提供することができる方法又は装置が望まれる。
本開示のいくつかの実施形態と一致して、試験システムは、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像と、ランタイム制御情報とを提供するように構成された第1のインタフェース・コンポーネントと、第1のインタフェース・コンポーネントから受信された、構成画像及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を関連付けられた検証モジュールに提供するように構成された第2のインタフェース・コンポーネントとを含み得る。関連付けられた検証モジュールは、第2のインタフェース・コンポーネントと結合され得る。検証モジュールはまた、第2のインタフェース・コンポーネントから受信されたタイミング及び制御情報に応答して、デバイスを制御するように、且つ、ユーザ設計の少なくとも一部のデバイス状態を監視するように構成され得る。
本開示のいくつかの実施形態と一致して、試験の方法は、第1のインタフェース・コンポーネントにおいて、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像に関連付けられた構成パラメータと、ランタイム制御情報とを受信することを含み得る。この方法はさらに、第1のインタフェース・コンポーネントを使用して、構成画像をデバイスへ送信することと、第2のインタフェース・コンポーネントを使用して、第1のインタフェース・コンポーネントから受信された構成画像及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を検証モジュールへ送信することとを含み得る。いくつかの実施形態では、第2のインタフェース・コンポーネントからタイミング及び制御情報を受信することに応答して、検証モジュールは、デバイスを制御し、且つ/又は、ユーザ設計の少なくとも一部のデバイス状態を監視し得る。
本開示のいくつかの実施形態と一致して、コンピュータ可読媒体は、プロセッサに試験の方法を実行させるための命令を備える。試験の方法は、第1のインタフェース・コンポーネントにおいて、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像に関連付けられた構成パラメータと、ランタイム制御情報とを受信することを含み得る。この方法は、更に、第1のインタフェース・コンポーネントを使用して、構成画像をデバイスへ送信することと、第2のインタフェース・コンポーネントを使用して、第1のインタフェース・コンポーネントから受信された構成画像及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を検証モジュールへ送信することとを含み得る。いくつかの実施形態では、第2のインタフェース・コンポーネントからタイミング及び制御情報を受信することに応答して、検証モジュールは、デバイスを制御し、且つ/又は、ユーザ設計の少なくとも一部のデバイス状態を監視してもよい。
本開示の追加の特徴及び利点を、以下の説明で部分的に述べる。開示された実施形態の特徴及び利点は、添付の特許請求の範囲において特に指摘された要素とそれらの組み合わせによって実現され、達成される。
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、説明と共に、本明細書に開示された実施形態を例示し、開示された実施形態の原理を説明する役目を果たすものである。
開示された実施形態と一致する例示的なプロトタイプのシステム図である。 開示された実施形態と一致する例示的なワークステーションのブロック図である。 開示された実施形態と一致する例示的なホスト側インタフェースカードのブロック図である。 開示された実施形態と一致する例示的なプロトタイプ・システム・インタフェースカードのブロック図である。 開示された実施形態と一致する、プロトタイプシステムを実装するための例示的な方法のフロー図である。
添付の図面に例示された、開示された実施形態を以下で詳細に参照する。可能な限り、同じ又は同様の部分を示すために、図面を通じて同じ参照番号が使用される。なお、図面は大幅に簡略化された形式になっており、正確な縮尺通りではない。
以下の説明では、「結合された(coupled)」及び「接続された(connected)」という表現が、それら派生語と共に使用され得る。これらの語は、互いに同義語であるようには意図していないことを理解されたい。むしろ、いくつかの特定の実施形態では、「接続された」及び/又は「結合された」は、2つ以上の要素が互いに物理的又は電子的に直接接触していることを示すために使用され得る。しかしながら、「結合された」という表現は、また、2つ以上の要素が互いに直接接触していないが、それでもなお、互いに協同し、通信し、且つ/又は、相互的に作用することを意味する場合もある。
図1は、開示された実施形態と一致する例示的なプロトタイプシステム100の図を示す。図1に示すように、プロトタイプシステム100は、ハードウェアコンポーネントと、インタフェースカードと、設計検証処理中に被試験デバイスの可視性及び制御を向上させるように適合された再構成可能検証モジュールとの組み合わせを含み得る。例えば、いくつかの実施形態では、プロトタイプシステム100は、ホストワークステーション110と、ホストインタフェースカード120と、プロトタイプ・システム・インタフェースカード130と、1つ又は複数の被試験デバイス(DUT)からなるプロトタイプカード150とを含む。加えて、検証モジュール160は、各FPGAチップのための被試験デバイスDUTの部分と組み合わされて構成され得る。
ホストワークステーション110は、コンピュータインタフェース規格の1つなど、インタフェース通信プロトコルを使用して、ホスト通信チャネル115を介してホストインタフェースカード120に結合され得る。例えば、いくつかの実施形態では、ホスト通信チャネル115は、ペリフェラル・コンポーネント・インターコネクト(PCI)エクスプレス、イーサネット(登録商標)、又は、ホストワークステーション110とホストインタフェースカード120の間でコマンド及び情報の交換を可能にする他のインタフェース方法などの有線通信方法であってもよい。
図2は、開示された実施形態と一致する例示的なホストワークステーション110のブロック図を示す。例として、図2に示すように、ホストワークステーション110は、以下のコンポーネントのうち1つ又は複数を含んでもよく、このコンポーネントとしては、少なくとも1つのプロセッサ200と、メモリ210と、設計データベース220と、値変更データベース230と、I/Oデバイス240と、インタフェース250である。プロセッサ200は、コンピュータプログラム命令を実行して、様々なプロトタイプのシステム命令及び方法を実行するように構成されている。メモリ100は、情報及びコンピュータプログラム命令を格納且つ提供するように構成されている。設計データベース220は、ランタイムソフトウェア及び設計情報を維持するように構成されている。値変更データベース230は、プロトタイプカード150から受信された情報を格納する。
本明細書で使用されるとき、「プロセッサ」という語は、1つ又は複数の命令を実行する電気回路を含み得る。例えば、このようなプロセッサは、1つ又は複数の集積回路、マイクロチップ、マイクロコントローラ、マイクロプロセッサ、組み込みプロセッサ、中央処理装置(CPU)の全部又は一部、デジタル信号プロセッサ(DSP)、FPGA、又は、命令を実行する若しくは論理演算を行うのに適した他の回路を含み得る。プロセッサ200は、コマンド及びデータをプロトタイプカード150と交換するようにプログラムされた検証プロセッサとして動作するように構成且つプログラムされ得るという点で、専用プロセッサであり得る。例えば、プロセッサ200は、メモリ210、設計データベース220、値変更データベース230、I/Oデバイス240、インタフェース250、又は、コンポーネント(不図示)から出力された命令及びデータに基づいて動作してもよい。いくつかの実施形態では、プロセッサ200は、データ又はコマンドを、メモリ210、設計データベース220、及び、値変更データベース230と交換するように結合され得る。例えば、プロセッサ200は、プロトタイプシステムがダウンロードしている間に、検証モジュール160及び被試験デバイスDUTの一部を含むFPGA画像データを、1つ又は複数のFPGAチップ155a〜155dへ送信する命令を実行してもよい。
いくつかの実施形態によれば、検証モジュール160は、従来の論理解析計装機能(analysis instrumentation function)を行うように構成された、少なくとも1つの計装回路及びロジックモジュールであってもよい。検証モジュール160によって行われる論理解析機能は、例えば、信号値のサンプリング、状態解析、プロトコル解析、及び、トリガリングを含み得る。いくつかの実施形態では、検証モジュール160は、論理合成可能(synthesizable)又はソフトの知的財産(IP)であってもよい。検証モジュール160を定義する構成パラメータは、FGPAチップをプログラミングするためのフローに類似したやり方などで、設計検証セットアップ処理中に設定されてもよい。例えば、いくつかの実施形態におけるセットアップ中において、セットアップのフローは、自動的にサードパーティ合成を統合し、ツールを配置且つ経路指定し、自動的又は手動的に設計を分割し、ランタイムソフトウェア利用のための設計データベースを構築してもよい。セットアップのフローは、例えば、事前分割された設計のための自動処理を含んでもよく、レジスタ転送言語(RTL)分割ツールには、サードパーティ・ツール又はユーザ自身の手動の分割が含まれる。代替のやり方又は追加のやり方として、セットアップのフローはまた、ユーザの設計がRTLレベルで手動で分割されなかったフローを含んでもよい。
特定のプロトタイプカード150で使用可能な物理的ピンリソースを最適化するため、検証モジュール160は、設計依存及び設計非依存の回路の両方を含む。例えば、検証モジュール160は、特定の信号に接続し、特定の信号をプローブするように構成された設計依存回路を含み得る。プローブ又は信号プローブは、個々の信号を解析し、且つ、トラブルシューティングを行うように構成された回路を含み得る。被試験デバイスに関連付けられた設計データベース220へのアクセスを利用して、データ依存回路は、プローブを修正、除去又は追加するように、試験処理中に再構成され得る。また、検証モジュール160は、データを符号化且つ復号するように構成された設計非依存回路を含んでもよい。例えば、データ非依存回路は、他の回路タイプの中でも、先入力先出力(FIFO)及び制御状態マシンを含んでよい。ここで、先入力先出力(FIFO)及び制御状態マシンは、検証モジュール160によって取り込まれたデータを、処理のためにコントローラ400及びホストワークステーション110のうち少なくとも1つへ送信するものである。検証モジュール160を定義する構成パラメータは、設計検証セットアップ処理中に設定され得る。
動作的には、検証モジュール160は、セットアップ処理中に設定されたか、又は試験中に修正された構成パラメータに応答してもよい。これらのパラメータに基づいて、検証モジュール160は、被試験デバイスの部分の全設計状態スナップショットを取り込み、送信し、サイクルごとの解析を行い、協調シミュレーション(co-simulation)又は協調エミュレーション(co-emulation)を行い、どの信号がプローブされるべきであるかを増分的に修正する。協調シミュレーションは、一般的には、当業者に知られているように、同期的なサイクル精度の、ホストワークステーション110上で実行するソフトウェアベースのシミュレーション、及び、プロトタイプカード150上で実行するFPGAベースのエミュレーションを指すが、これに限定されない。協調エミュレーションは、一般的には、当業者に知られているように、非同期的なトランザクション駆動型の、ホストワークステーション110上で実行するソフトウェアベースのシミュレーション、及び、プロトタイプカード150上で実行するFPGAベースのエミュレーションを指すが、これに限定されない。検証モジュール160によって取り込まれたデータは、プロトタイプ・システム・インタフェースカード130、ホストワークステーション110、又は、検証モジュール160によって送信されたデータを受信するように結合された適切な計算デバイスなどの、計算デバイス又はコンポーネントによって後処理され得る。後処理には、タイミング、状態及びプロトコル解析が含まれるが、それらに限定されない。検証モジュール160によって取り込まれたデータの処理に先立って、取り込まれたデータは、値変更データベース230に格納され得る。他の実施形態では、取り込まれたデータは、処理の後、値変更データベースに格納され得る。
いくつかの実施形態によれば、2つ以上のプロセッサが、独立して、又は協調的に動作するように構成されてもよい。すべてのプロセッサは、類似の構造であってもよく、又は、電気的に接続されるか若しくは互いから切り離された異なる構造であってもよい。本明細書において、「構造(construction)」という表現が使用されるとき、この表現は、プロセッサの物理的、電気的又は機能的特性を含み得る。これらのプロセッサは、物理的又は機能的に別々の回路であってもよく、又は、単一の回路に統合されてもよい。これらのプロセッサは、電気的に、磁気的に、光学的に、音響的に、機械的に、無線によって、又は、プロセッサ間の通信を可能にする任意の他の方法で結合され得る。
いくつかの実施形態によれば、メモリ210は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ハードディスク、光ディスク、磁気媒体、フラッシュメモリ、他の永久的な固定の揮発性メモリ、不揮発性メモリ、又は、プロセッサ200若しくは類似のコンポーネントに命令を提供可能な任意の他の有形の機構など、コンピュータ可読メモリであってもよい。例えば、メモリ210は、設計データベース220に格納された情報に従って、プロトタイプカード150上で検証機能を行うために、命令及びデータを格納してもよい。メモリ210は、分散されてもよい。すなわち、メモリ210の部分は、リムーバブルであっても非リムーバブルであってもよく、地理的に異なる場所に位置してもよい。
いくつかの実施形態によれば、設計データベース220は、設計検証セットアップ及びランタイム実行のためのテーブル、リスト又は他のデータの構造化された集まりであってもよい。したがって、この構造は、リレーショナルデータベース又はオブジェクト指向データベースとして編成されてもよい。他の実施形態では、設計データベース220は、ハードウェアシステムであってもよく、このハードウェアシステムは、物理的なコンピュータ可読記憶媒体と、テーブル、リスト又は他のデータ構造を受信し、それらへのアクセスを提供するように構成された入力及び/又は出力デバイスとを含む。さらに、ハードウェアシステムとして構成されると、設計データベース220は、1つ又は複数のプロセッサ及び/又はディスプレイを含み得る。構造は類似しているが、値変更データベース230は、プロトタイプカード150から受信された情報を格納するように構成され得る。例えば、値変更データベースは、信号プローブ関連の検証モジュール160によって取り込まれた信号値に関連する情報を格納するように構成されてもよい。
いくつかの実施形態によれば、I/Oデバイス240は、マウス、スタイラス、キーボード、オーディオ入力/出力デバイス、イメージングデバイス、印刷デバイス、表示デバイス、センサ、無線トランシーバ、又は他の類似のデバイスのうち、1つ又は複数であってもよい。また、I/Oデバイス240は、データ及び命令をメモリ210、プロセッサ200、設計データベース220、又は、値変更データベース230に提供するデバイスを含んでもよい。
いくつかの実施形態によれば、インタフェース250は、PCIエクスプレス、イーサネット(登録商標)、FireWire(登録商標)、USB、及び、無線通信プロトコルなど、外部又は一体型のインタフェースカード又はインタフェースポートを含み得る。例えば、インタフェース250は、ホスト通信チャネル115を使用してホストインタフェースカード120と通信するように結合された、PCIエクスプレスカードであってもよい。IOデバイス240はまた、グラフィカルユーザインタフェース、又は、データを提示するように構成された、人間が知覚可能な他のインタフェースを含んでもよい。
図3は、開示された実施形態と一致する例示的なホストインタフェースカード120のブロック図を示す。例として、図3に示すように、ホストインタフェースカード120は、ホスト側インタフェース310と、コントローラ300と、信号変換器320と、トランシーバ330とのうちの1つ又は複数を含み得る。ホスト側インタフェース310は、インタフェース250に類似していてもよく、ホスト通信チャネル115を使用したホストワークステーション110との通信を容易にするように構成されてもよい。他の実施形態では、ホスト側インタフェース310は、インタフェース250とは異なってもよく、ホストワークステーション110との通信を容易にするために、物理的又は論理的信号変換コンポーネントを含んでもよい。
いくつかの実施形態によれば、コントローラ300は、プロセッサ200に類似したコンポーネントであってもよい。いくつかの実施形態では、コントローラ300は、ホストワークステーション110から、信号変換器320から、又は、トランシーバ330を通じてプロトタイプ・システム・インタフェースカード130から受信されたデータ又は命令に基づいて動作してもよい。例えば、コントローラ300は、1つ又は複数の検証モジュール160とコマンド及びデータを交換して、FPGAデバイス155a〜155dのうち1つ又は複数に関連付けられたデバイス状態を制御且つ監視するようにしてもよい。他の実施形態では、コントローラ300は、コマンド又はデータを検証モジュール160へ送信し、検証モジュール160に、特に、取り込まれるデータの量、及び、プローブされる信号の数又はタイプを修正させてもよい。信号変換器320は、インタフェースカード通信チャネル125上で交換されたデータを、ホストワークステーション110による処理のために適したフォーマットに変換するように構成されたプロセッサを含んでもよい。
トランシーバ330は、データを送信し、プロトタイプカード150からデータを受信する任意の適切なタイプの送信器及び受信器を含み得る。いくつかの実施形態では、トランシーバ330は、符号化/復号、変調/復調、及び、ホストインタフェースカード120とプロトタイプカード150との間の通信チャネルに関連する他の機能を行うための、所望の(1つ又は複数の)機能的コンポーネント及び(1つ又は複数の)プロセッサのうち1つ又はそれらの組み合わせを含んでもよい。トランシーバ330は、インタフェースカード通信チャネル125を介してプロトタイプ・システム・インタフェースカード130と通信するように結合され得る。いくつかの実施形態では、インタフェースカード通信チャネル125は、ファイバチャネルなど、高スループット、低レイテンシの通信チャネル技術を利用してもよい。
図4は、開示された実施形態と一致する例示的プロトタイプ・システム・インタフェースカード130のブロック図を示す。例として、図4に示すように、プロトタイプ・システム・インタフェースカード130は、コントローラ400と、メモリ410と、トランシーバ420と、プロトタイプコネクタ430a〜430dのうちの1つ又は複数を含み得る。概して、コントローラ400、メモリ410、及びトランシーバ420は、コントローラ300、メモリ210、及びトランシーバ330にそれぞれ類似していてもよい。図4に示すように、コントローラ400は、メモリ410及びトランシーバ420からデータ又は命令を受信するように結合され得る。例えば、コントローラ400は、いくつかの命令に基づいて動作して、プロトタイプカード150上の各FPGAチップ内に位置する検証モジュール160にタイミング及び制御情報を送信してもよい。命令は、ホストインタフェースカード120から受信された構成パラメータ及びランタイム制御情報を含み得るが、それらに限定されない。
タイミング及び制御情報は、デバイス又はデバイス状態に関連付けられた時間ベース又は状態ベースの情報を集めるために、信号をプローブすることに関連付けられたコマンド及びデータを含み得るが、それらに限定されない。タイミング情報は、コントローラ400によって生成、受信又は処理されたクロック信号を含み得る。また、タイミング信号は、開始、停止及びリセット信号を含んでもよい。検証モジュール160によって受信されると、タイミング情報は、被試験デバイスに関連付けられたタイミング及び状態解析データをプローブし、取り込み、且つ処理するための基礎としての役割を果たし得る。例えば、コントローラ400によって送信されたタイミング及び制御情報は、トリガ・シーケンスを作成し、被試験デバイスからデータを取り込み、取り込まれたデータに時間基準を割り当て、信号値をサンプリングし、FPGA内の1つ又は複数の信号を、状態解析を行う際にクロックとして使用されるように構成するための基礎を提供してもよい。いくつかの実施形態では、コントローラ400は、FPGAチップから取り込まれたデータをメモリ410に格納するように構成され得る。データは、タイミングデータと、状態データと、取り込まれたデータに関連付けられたメタデータとを含み得る。メタデータは、特に、時間基準又は信号名を含み得る。メモリ410に格納された1つ又は複数の個々の信号に関連付けられた、取り込まれたデータは、その後に取り込まれた同じ信号に関連付けられたデータと比較されてもよい。また、いくつかの実施形態では、コントローラ400は、各FPGAチップ内に位置する1つ又は複数の検証モジュール160と交換されたデータを符号化且つ/又は復号するように構成されてもよい。
プロトタイプ・システム・インタフェースカード130はまた、コントローラ400に結合された、1つ又は複数のプロトタイプコネクタを含んでもよい。例えば、プロトタイプコネクタ430a〜430dは、コントローラ400とプロトタイプカード150との間でコマンド及びデータを交換するために適した信号送信特性を有する、Jコネクタ又は他のコネクタタイプであってもよい。プロトタイプコネクタ430a〜430dは、それぞれ対応するJコネクタ互換ケーブル135a〜135dを受けるように構成されてもよい。いくつかの実施形態では、プロトタイプ・システム・インタフェースカード130は、特定のシステム要件に従って、4つより多いか又は少ないプロトタイプコネクタを含んでもよい。プロトタイプ・システム・インタフェースカード130は、事前定義され構成可能な様々な論理構成を、FPGAチップに物理的に接続できるように構成され得る。
いくつかの実施形態では、プロトタイプ・システム・インタフェースカード130の構造的及び機能的コンポーネントの組み合わせは、プロトタイプカード150内に埋め込まれてもよく、そうでない場合は物理的にプロトタイプカード150内の同一場所に位置してもよい。例えば、コントローラ400、メモリ410、及びトランシーバ420というコンポーネントの一部又は全部は、プロトタイプカード150上に位置してもよい。他の実施形態では、コントローラ400、メモリ410、及びトランシーバ420のうち1つ又は複数の機能性は、プロトタイプカード150上に位置するか又はプロトタイプカード150と通信するように結合された他のコンポーネントに統合されてもよい。プロトタイプ・システム・インタフェースカード130のコンポーネント又は機能性の一部又は全部がプロトタイプカード150上に存在する構成では、ホストインタフェースカード120は、インタフェースカード通信チャネル125又は他の適切な通信方法を使用して、プロトタイプカード150に結合されてもよい。
図1に戻ると、例示的なプロトタイプカード150は、1つ又は複数のFPGAチップに実装された被試験設計を試験するために適した、事前製作又はカスタマイズされたテストボードであってもよい。例として、図1に示すように、プロトタイプカード150は、コネクタ140を通じてホストワークステーション110と通信するように結合された1つ又は複数のFPGAデバイス155a〜155dを含み得る。単一のコネクタとして図示されるが、コネクタ140は、Jコネクタ又は同様に適切なコネクタなどの1つ又は複数のコネクタであってもよい。同様に、4つのFPGAデバイスを含むように図示されるが、プロトタイプカード150は、特定のシステム要件に従って、より多く又はより少ないFPGAデバイスを有してもよい。いくつかの実施形態では、プロトタイプカード150は、複数のFPGA、プリント回路基板、又は、FPGAデバイスを使用した設計検証試験を容易にするために適した他のハードウェアの組み合わせにわたって、論理的又は物理的に分割されてもよい。
図5は、開示された実施形態と一致する、プロトタイプシステムを実装するための例示的な方法500のフロー図を示す。図5に示すように、ステップ502において、第1のインタフェース・コンポーネントは、ある構成された画像(以下、構成画像という)を受信するように構成され得る。この構成画像は、ユーザ設計の少なくとも一部と、ある関連付けられた検証モジュールとを表すものである。構成画像は、特に、ユーザ設計の一部及び検証モジュール160の両方又はいずれか一方に関連付けられた1つ又は複数の構成パラメータを含み得る。例えば、構成パラメータは、設計のフローのセットアップと、検証モジュール160の機能性と、設計データベース220の構造に関連付けられたパラメータとを含み得る。より具体的には、構成パラメータはまた、FPGA、コネクタ及び相互接続などの詳細なプロトタイプボード情報も含み得る。ステップ504において、第1のインタフェース・コンポーネントは、ある構成された検証モジュール160を被試験デバイスへ送るように構成され得る。いくつかの実施形態では、ステップ504が、システムセットアップ処理中に発生する場合がある。他の実施形態では、ステップ504は、検証モジュール160の機能性を再構成するために、デバイス試験中に発生する場合がある。構成画像の再構成では、ホストインタフェースカード120などの第1のインタフェース・コンポーネントは、あるコマンドを送信してもよく、このコマンドは、設計データベース220に含まれた設計情報に基づいて、数、タイプ、及び、信号が解析され得るやり方を再構成するように動作可能なホストワークステーション110から受信したものである。他の実施形態では、ホストインタフェースカード120は、ユーザ設計の一部を再構成するように動作可能なホストワークステーション110から受信されたコマンドを、検証モジュール160の再構成につながるコマンドとは別に又はこのコマンドに加えて、送信してもよい。
ステップ506において、第2のインタフェース・コンポーネントは、第1のインタフェース・コンポーネントから受信された構成パラメータ及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を検証モジュール160へ送信するように構成され得る。いくつかの実施形態では、タイミング情報は、プロトタイプ・システム・インタフェースカード130などの第2のインタフェース・コンポーネントから生成されたか、又は、第2のインタフェース・コンポーネントによって処理されたクロック信号を含み得る。いくつかの実施形態では、制御情報は、解析トリガ・シーケンス又は条件に関連付けられた情報を含み得る。制御情報は、選択された信号の解析のための信号プローブを作成することに関連付けられたコマンドを含み得るが、それらに限定されない。ステップ508において、検証モジュール160は、第2のインタフェース・コンポーネントからタイミング及び制御情報を受信することに応答して、被試験デバイスを制御するように構成され得る。例えば、被試験デバイスを制御することは、第2のインタフェース・コンポーネントから受信されたタイミング情報に基づいた、所定のセットの信号の値の設定又はサンプリングを含み得る。いくつかの実施形態では、サンプリングは同期的に行われ得る。他の実施形態では、サンプリングは非同期的に行われ得る。被試験デバイスを制御することはまた、検証モジュール160を使用して、協調シミュレーション又は協調エミュレーションタイプの試験を行うことを含んでもよい。
代替として又はこれに加えて、ステップ510において、検証モジュール160は、被試験デバイス内の所定の信号を監視してもよい。例えば、検証モジュール160は、1つ又は複数の信号を解析するように構成されたプローブを含み得る。代替として又はこれに加えて、ステップ512において、検証モジュール160は、デバイスに関連付けられたデバイス状態を表す情報を取り込んでもよい。例えば、検証モジュール160は、特定の信号に関連付けられたデータを取り込むためのプローブが装備された設計依存回路を含み得る。被試験デバイスに関連付けられた設計データベース220へのアクセスを利用して、検証モジュール160は、試験処理中に、プローブを修正、除去又は追加するように再構成されて、同じか又は異なる信号を取り込むようにしてもよい。検証モジュール160を定義する構成パラメータは、どの信号がプローブされるかを決定するために使用され得る。これらのパラメータは、設計検証セットアップ処理中に設定され得る。代替として、検証モジュール160は、試験中に修正され得る。これらのパラメータに基づいて、検証モジュール160は、被試験デバイスの全設計状態スナップショットを取り込み、送信し、サイクルごとの解析及び取り込みを行い、協調シミュレーション又は協調エミュレーションを行い、どの信号がプローブされるかを増分的に修正してもよい。代替として又はこれに加えて、ステップ514において、検証モジュール160によって取り込まれたデータは、プロトタイプ・システム・インタフェースカード130、ホストワークステーション110、又は、検証モジュール160によって送信されたデータを受信するように結合された適切な計算デバイスなど、計算デバイス又はコンポーネントによって処理され得る。
上述の開示された実施形態に対して、その幅広い発明概念から逸脱することなく、変更を行うことができることは、当業者には理解されよう。したがって、開示された実施形態は、開示された特定の例に限定されず、以下の特許請求の範囲によって定義されるような、開示された実施形態の精神及び範囲内における修正を包含することを理解されたい。
110 ホストワークステーション
120 ホストインタフェースカード
130 プロトタイプ・システム・インタフェースカード
140 コネクタ
150 プロトタイプカード

Claims (20)

  1. プロセッサと第1のメモリとを備え、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像と、ランタイム制御情報とを提供するように構成されたホストワークステーションと、
    前記ホストワークステーションから受信された前記構成画像及び前記ランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を前記関連付けられた検証モジュールに提供するように構成されたインタフェースと
    を備え、
    前記インタフェースは、コントローラと第2のメモリとを備え、前記第2のメモリは、前記検証モジュールから受信された、被試験デバイスのためのデバイス状態データを格納するように構成され、前記コントローラは、前記受信されたデバイス状態データを処理するように構成され、
    前記関連付けられた検証モジュールは、前記インタフェースと結合され、
    前記関連付けられた検証モジュールは、前記インタフェースからの前記タイミング及び制御情報に応答して、前記被試験デバイスを制御し、且つ、前記被試験デバイスの少なくとも一部のデバイス状態を監視するように構成されている、試験システム。
  2. 前記構成画像は、少なくとも1つのフィールド・プログラマブル・ゲート・アレイ(FPGA)画像を備える、請求項1に記載の試験システム。
  3. 前記インタフェースは、前記ホストワークステーションからの要求に応答して、前記構成画像を再構成するためのコマンドを送信するように更に構成されている、請求項1に記載の試験システム。
  4. 前記インタフェースの前記コントローラは、前記ホストワークステーションから受信された制御情報の少なくとも一部分に基づいて、トリガ条件を作成するように構成されている、請求項1に記載の試験システム。
  5. 前記トリガ条件は、前記インタフェースから受信されたタイミング情報の少なくとも一部分に基づくものである、請求項4に記載の試験システム。
  6. 前記検証モジュールは、前記インタフェースから受信された制御情報の少なくとも一部分に基づいて、信号をプローブするように構成されている、請求項1に記載の試験システム。
  7. 前記インタフェースの前記コントローラは、クロック及びリセット信号を前記検証モジュールに提供するように更に構成されている、請求項1に記載の試験システム。
  8. 前記検証モジュールは、
    前記被試験デバイス内に位置する所定の信号に接続し、前記所定の信号をプローブするように構成された第1の回路と、
    前記インタフェースと交換されたデータの復号又は符号化のうち少なくとも1つを行うように構成された第2の回路と
    を備える、請求項1に記載の試験システム。
  9. 前記所定の信号は、前記ホストワークステーション内の設計データベースに含まれたレジスタ転送言語(RTL)情報の部分に基づくものである、請求項8に記載の試験システム。
  10. 前記検証モジュールは、前記インタフェースからのクロック及び制御信号を受信することに応答して、協調シミュレーション及び協調エミュレーション検証試験のうち少なくとも1つを行うように構成されている、請求項1に記載の試験システム。
  11. あるインタフェースにおいて、ホストワークステーションから、ユーザ設計の少なくとも一部及び関連付けられた検証モジュールを表す構成画像と、ランタイム制御情報とを受信することと、
    前記インタフェースによって、前記構成画像を被試験デバイスへ送信することと、
    前記インタフェースによって、前記ホストワークステーションから受信された前記構成画像及びランタイム制御情報のうち少なくとも1つに基づいて、タイミング及び制御情報を前記関連付けられた検証モジュールへ送信することと、
    前記関連付けられた検証モジュールによって、前記インタフェースからの前記タイミング及び制御情報に応答して、前記被試験デバイスを制御することと、
    前記インタフェースによって、前記関連付けられた検証モジュールから、前記被試験デバイスのためのデバイス状態データを受信することと、
    前記インタフェース内のコントローラによって、前記関連付けられた検証モジュールから受信された前記デバイス状態データの少なくとも一部を処理し、前記インタフェース内のメモリに格納することと
    を含み、
    前記デバイス状態データは、前記被試験デバイスの前記デバイス状態データの少なくとも一部に対応するものである、方法。
  12. 前記インタフェースによって、前記ホストワークステーションから受信された前記ランタイム制御情報に基づいて、トリガ条件を作成することを更に含み、
    前記検証モジュールは、前記ユーザ設計のある部分に関連付けられた所定の信号に関連付けられたデータを取り込むものである、請求項11に記載の方法。
  13. 前記トリガ条件は、前記インタフェースから受信されたタイミング情報の部分に基づくものである、請求項12に記載の方法。
  14. 前記検証モジュールは、前記インタフェースから受信された制御情報に応答して、所定の信号をプローブするものである、請求項11に記載の方法。
  15. 前記検証モジュールによるプローブは、同期的又は非同期的に行われる、請求項14に記載の方法。
  16. 前記検証モジュールは、前記インタフェースからのタイミング及び制御情報のうち少なくとも1つに応答して、協調シミュレーション及び協調エミュレーション検証試験のうち少なくとも1つを行うように構成されている、請求項11に記載の方法。
  17. 前記インタフェースは、前記構成画像を再構成するためのコマンドを送信するように更に構成されている、請求項11に記載の方法。
  18. 前記構成画像を再構成することは、
    修正されたFPGA画像を受信することと、
    前記検証モジュールに関連付けられた、前記修正されたFPGA画像のデータ依存回路を再構成することと
    を含む、請求項17に記載の方法。
  19. 前記コントローラによって処理することは、前記受信されたデバイス状態データを復号することを含む、請求項1に記載の試験システム。
  20. 前記コントローラによって処理するステップは、前記受信されたデバイス状態データを復号することを含む、請求項11に記載の方法。
JP2012026121A 2011-02-11 2012-02-09 プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置 Active JP6068805B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/025,809 US8281280B2 (en) 2010-02-12 2011-02-11 Method and apparatus for versatile controllability and observability in prototype system
US13/025,809 2011-02-11

Publications (3)

Publication Number Publication Date
JP2012168946A true JP2012168946A (ja) 2012-09-06
JP2012168946A5 JP2012168946A5 (ja) 2016-09-08
JP6068805B2 JP6068805B2 (ja) 2017-01-25

Family

ID=46981168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012026121A Active JP6068805B2 (ja) 2011-02-11 2012-02-09 プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置

Country Status (1)

Country Link
JP (1) JP6068805B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163456A (ja) * 1998-11-25 2000-06-16 Hitachi Ltd 論理検証方法
JP2007526442A (ja) * 2003-06-05 2007-09-13 メンター グラフィックス コーポレーション エミュレーション追跡データの圧縮法
JP2007292492A (ja) * 2006-04-21 2007-11-08 Aoi Electronics Co Ltd 回路検証装置及び回路検証方法
US20090002020A1 (en) * 2007-06-27 2009-01-01 Brad Hutchings Dynamically tracking data values in a configurable ic
JP2009031933A (ja) * 2007-07-25 2009-02-12 S2C Inc スケーラブル再構成可能型プロトタイプシステムと方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163456A (ja) * 1998-11-25 2000-06-16 Hitachi Ltd 論理検証方法
JP2007526442A (ja) * 2003-06-05 2007-09-13 メンター グラフィックス コーポレーション エミュレーション追跡データの圧縮法
JP2007292492A (ja) * 2006-04-21 2007-11-08 Aoi Electronics Co Ltd 回路検証装置及び回路検証方法
US20090002020A1 (en) * 2007-06-27 2009-01-01 Brad Hutchings Dynamically tracking data values in a configurable ic
JP2009031933A (ja) * 2007-07-25 2009-02-12 S2C Inc スケーラブル再構成可能型プロトタイプシステムと方法

Also Published As

Publication number Publication date
JP6068805B2 (ja) 2017-01-25

Similar Documents

Publication Publication Date Title
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
US8839179B2 (en) Prototype and emulation system for multiple custom prototype boards
US10288681B2 (en) Test architecture with a small form factor test board for rapid prototyping
US8732650B2 (en) Method and apparatus for versatile controllability and observability in prototype system
US8997034B2 (en) Emulation-based functional qualification
US9032344B2 (en) Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
US8214694B1 (en) Lightweight probe and data collection within an integrated circuit
US9495492B1 (en) Implementing synchronous triggers for waveform capture in an FPGA prototyping system
CN105550119B (zh) 一种基于jtag协议的仿真装置
US20060184350A1 (en) Scalable reconfigurable prototyping system and method
US10678976B2 (en) Generic protocol analyzer for circuit design verification
US10664563B2 (en) Concurrent testbench and software driven verification
JP2023100844A (ja) 集積回路のためのロジックアナライザ
US10664637B2 (en) Testbench restoration based on capture and replay
JP6068805B2 (ja) プロトタイプシステムにおける汎用的な可制御性及び可観測性のための方法及び装置
Chang et al. A unified GDB-based source-transaction level SW/HW co-debugging
US9581643B1 (en) Methods and circuits for testing partial circuit designs
JP2012168946A5 (ja)
CN116594830B (zh) 硬件仿真工具、调试方法和存储介质
US9608871B1 (en) Intellectual property cores with traffic scenario data
CN102662812A (zh) 基于pci总线单路接收解调器性能测试系统
Kuitunen SoC FPGA based integration testing platform
Kashai Soc block-based design and ip assembly
Jamro et al. B04: Heterogeneous hardware-software prototyping system for PC-controlled FPGA-based designs

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20120920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141120

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160712

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20160712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161226

R150 Certificate of patent or registration of utility model

Ref document number: 6068805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250