(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-01
(54)【発明の名称】部分的再構成FPGAに基づくマルチ機器デバイス
(51)【国際特許分類】
G01R 31/28 20060101AFI20240325BHJP
G01R 31/3181 20060101ALI20240325BHJP
G01R 31/3163 20060101ALI20240325BHJP
G06F 11/36 20060101ALI20240325BHJP
H01L 21/822 20060101ALI20240325BHJP
H01L 21/82 20060101ALI20240325BHJP
【FI】
G01R31/28 H
G01R31/3181
G01R31/3163
G06F11/36 164
G06F11/36 196
H01L27/04 T
H01L27/04 U
H01L27/04 F
H01L21/82 A
H01L21/82 T
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2023556855
(86)(22)【出願日】2022-03-15
(85)【翻訳文提出日】2023-10-30
(86)【国際出願番号】 US2022020367
(87)【国際公開番号】W WO2022197692
(87)【国際公開日】2022-09-22
(32)【優先日】2021-03-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521085146
【氏名又は名称】リキッド・インスツルメンツ・プロプライエタリー・リミテッド
【氏名又は名称原語表記】LIQUID INSTRUMENTS PTY. LTD.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】シャドック,ダニエル・アンソニー
(72)【発明者】
【氏名】ローレス・ウチェニッチ,ダニエル・マリー
(72)【発明者】
【氏名】コフラン,ベンジャミン・ポール
(72)【発明者】
【氏名】ラム,ティモシー・ティエン-ユエ
【テーマコード(参考)】
2G132
5B042
5F038
5F064
【Fターム(参考)】
2G132AB01
2G132AE23
2G132AE24
2G132AL07
5B042HH03
5B042HH17
5B042HH49
5F038DF03
5F038DF04
5F038DF05
5F038DF12
5F038DF14
5F038DF16
5F038DT03
5F038DT05
5F038DT08
5F038DT18
5F064AA08
5F064AA11
5F064BB09
5F064BB12
5F064BB21
5F064BB31
5F064FF04
5F064FF13
5F064FF36
5F064FF52
(57)【要約】
本開示は、複数の試験及び測定デバイスを単一のマルチ機器デバイス(102)に実装するためのシステム、方法、及び装置を提供する。デバイスは、部分的再構成を可能にする少なくとも1つのフィールドプログラマブルゲートアレイFPGA(112)を含むことができる。FPGAの1つ以上の動的再構成可能部分が、1つ以上の試験及び測定デバイスとして機能するように構成されることができる。デバイスは、試験及び測定機器の各々の出力をクライアントデバイスに提供することができ、クライアントデバイスは出力をユーザに表示することができる。デバイスは、所望の試験及び測定デバイスに関連付けられたビットストリーム(122、136)をロードすることによって再構成されることができる。ビットストリームは、クライアントデバイス(104)、サーバ(106)から、又はデバイス自体のメモリ記憶ユニット(114)からロードされることができる。
【特許請求の範囲】
【請求項1】
システムであって、
マルチ機器デバイスであって、
静的再構成可能部分、
複数の動的再構成可能部分であって、前記複数の動的再構成可能部分の各々が試験及び測定デバイスとして構成されている、複数の動的再構成可能部分、並びに
前記静的再構成可能部分及び前記複数の動的再構成可能部分と結合されたコントローラであって、
前記複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成するための少なくとも1つのビットストリームを処理するように構成されたコントローラ、を含むマルチ機器デバイスと、
サーバであって、
前記少なくとも1つのビットストリームを記憶するように構成されたメモリ、及び
少なくとも1つのプロセッサであって、
前記少なくとも1つのビットストリームを提供するための要求を受信し、
前記要求に応答して、前記少なくとも1つのビットストリームを前記メモリから取り出し、前記マルチ機器デバイスに配信するために、前記少なくとも1つのビットストリームを送信するように構成された少なくとも1つのプロセッサ、を含むサーバと、を備える、システム。
【請求項2】
前記少なくとも1つのプロセッサは、前記少なくとも1つのビットストリームを提供するための前記要求を、前記マルチ機器デバイスと通信するユーザデバイスから受信するように構成されている、請求項1に記載のシステム。
【請求項3】
前記少なくとも1つのビットストリームを提供するための前記要求は第1の要求であり、前記少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、前記少なくとも1つのプロセッサは、
第2の少なくとも1つのビットストリームを提供するための第2の要求を受信し、
前記第2の要求に応答して、第2の少なくとも1つのビットストリームを前記メモリから取り出し、前記第2の少なくとも1つのビットストリームを前記マルチ機器デバイスに送信するように構成されており、
前記コントローラは、
前記第2の少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成されている、請求項1又は2に記載のシステム。
【請求項4】
前記マルチ機器デバイスは、
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを、別個の物理的出力ポートに出力するように構成されたデータインターフェースを更に含む、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
前記マルチ機器デバイスは、
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを、シリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたデータインターフェースを更に含む、請求項1~4のいずれか一項に記載のシステム。
【請求項6】
前記静的再構成可能部分は、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から前記複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む、請求項1~5のいずれか一項に記載のシステム。
【請求項7】
前記静的再構成可能部分は、前記複数の動的再構成可能部分の出力と結合された入力と、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、前記コントローラは、前記複数の動的再構成可能部分の前記出力のうちの少なくとも1つが、前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分の前記入力に提供されることを可能にするように前記マルチプレクサを制御するように構成されている、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
前記複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する、請求項1~7のいずれか一項に記載のシステム。
【請求項9】
前記静的再構成可能部分は、
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、前記少なくとも1つのチャネルバッファの各々は、前記複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合されており、前記少なくとも1つのチャネルバッファは、前記チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームをメモリに提供するように構成されている、請求項1~8のいずれか一項に記載のシステム。
【請求項10】
前記コントローラは、前記メモリに記憶された前記バッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、前記出力チャネルバッファデータを前記マルチ機器デバイスの1つ以上の出力ポートに提供するように構成されている、請求項1~9のいずれか一項に記載のシステム。
【請求項11】
前記出力チャネルバッファデータは画像フレームである、請求項10に記載のシステム。
【請求項12】
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームが、前記メモリに記憶される、請求項1~11のいずれか一項に記載のシステム。
【請求項13】
前記コントローラは、前記チャネルデータストリームを前記マルチ機器デバイスの前記1つ以上の出力ポートに出力するように構成されている、請求項12に記載のシステム。
【請求項14】
前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分が、
制御バスを介して前記コントローラと結合された少なくとも1つの制御レジスタと、
前記制御バスを介して前記コントローラと結合された少なくとも1つのメモリユニットとを含み、
前記少なくとも1つの制御レジスタ及び前記少なくとも1つのメモリユニットは、前記コントローラから受信した構成データを記憶し、前記少なくとも1つのメモリユニットは、前記少なくとも1つの制御レジスタよりもサイズが大きい、請求項1~13のいずれか一項に記載のシステム。
【請求項15】
前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分が、
少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、前記複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、
少なくとも1つのプロセッサであって、その少なくとも1つの入力が、前記少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む、請求項1~14のいずれか一項に記載のシステム。
【請求項16】
前記マルチ機器デバイスと通信可能に結合され、かつ前記サーバと通信可能に結合された前記ユーザデバイスを更に備え、前記ユーザデバイスは、前記少なくとも1つのビットストリームを提供するための前記要求を前記サーバに送信し、前記少なくとも1つのビットストリームを含む送信を前記サーバから受信し、前記少なくとも1つのビットストリームを前記マルチ機器デバイスに送信するように構成されている、請求項1~15のいずれか一項に記載のシステム。
【請求項17】
前記静的再構成可能部分は、少なくとも1つのアナログ-デジタル変換器(ADC)及び少なくとも1つのデジタル-アナログ変換器(DAC)を含み、前記複数の動的再構成可能部分の各々は、前記少なくとも1つのADCと選択的に結合され、かつ前記少なくとも1つのDACと選択的に結合されている、請求項1~16のいずれか一項に記載のシステム。
【請求項18】
マルチ機器デバイスであって、
静的再構成可能部分と、
複数の動的再構成可能部分であって、前記複数の動的再構成可能部分のうちの少なくとも1つが試験及び測定デバイスとして構成されている、複数の動的再構成可能部分と、
前記静的再構成可能部分及び前記複数の動的再構成可能部分と結合されたコントローラであって、
データインターフェースを介して受信された少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成し、
前記静的再構成可能部分を、前記複数の動的再構成可能部分の各々によって生成されたデータストリームを複数の出力ポートに提供するように再構成するように構成されたコントローラと、を備える、マルチ機器デバイス。
【請求項19】
前記複数の出力ポートは複数の物理的出力ポートを含み、前記複数の物理的出力ポートの各物理的出力ポートは、前記複数の動的再構成可能部分のうちのいずれか1つに選択的に結合されている、請求項18に記載のマルチ機器デバイス。
【請求項20】
複数の入力ポートと、
前記複数の入力ポートと結合された複数のアナログ-デジタル変換器(ADC)と、を更に備え、
前記静的再構成可能部分は、前記複数のADCと結合されかつ前記複数のADCの各々からのデジタル信号を前記複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む、請求項18又は19に記載のマルチ機器デバイス。
【請求項21】
複数の出力ポートと、
前記複数の出力ポートと結合された複数のデジタル-アナログ変換器(DAC)と、を更に備え、
前記静的再構成可能部分は、前記複数のDACと結合されかつ前記複数の動的再構成可能部分の各々からの出力信号を前記複数のDACの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む、請求項18~20のいずれか一項に記載のマルチ機器デバイス。
【請求項22】
前記少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、前記少なくとも1つのコントローラは、
前記データインターフェースを介して第2の少なくとも1つのビットストリームを受信し、
前記第2の少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの前記少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成されている、請求項18~21のいずれか一項に記載のマルチ機器デバイス。
【請求項23】
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを別個の物理的出力ポートに出力するように構成された出力インターフェースを更に備える、請求項18~22のいずれか一項に記載のマルチ機器デバイス。
【請求項24】
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームをシリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたネットワークインターフェースを更に備える、請求項18~22のいずれか一項に記載のマルチ機器デバイス。
【請求項25】
前記静的再構成可能部分は、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から前記複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む、請求項18~24のいずれか一項に記載のマルチ機器デバイス。
【請求項26】
前記静的再構成可能部分は、前記複数の動的再構成可能部分の出力と結合された入力と、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、前記コントローラは、前記複数の動的再構成可能部分の前記出力のうちの少なくとも1つが、前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分の前記入力に提供されることを可能にするように前記マルチプレクサを制御するように構成されている、請求項18~25のいずれか一項に記載のマルチ機器デバイス。
【請求項27】
前記複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する、請求項18~26のいずれか一項に記載のマルチ機器デバイス。
【請求項28】
前記静的再構成可能部分は、
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、前記少なくとも1つのチャネルバッファの各々は、前記複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合されており、前記少なくとも1つのチャネルバッファは、前記チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームをメモリに提供するように構成されている、請求項18~27のいずれか一項に記載のマルチ機器デバイス。
【請求項29】
前記コントローラは、前記メモリに記憶された前記バッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、前記出力チャネルバッファデータを前記マルチ機器デバイスの1つ以上の出力ポートに提供するように構成されている、請求項18~28のいずれか一項に記載のマルチ機器デバイス。
【請求項30】
前記出力チャネルバッファデータは画像フレームである、請求項29に記載のマルチ機器デバイス。
【請求項31】
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームが、前記メモリに記憶される、請求項18~30のいずれか一項に記載のマルチ機器デバイス。
【請求項32】
前記コントローラは、前記チャネルデータストリームを前記マルチ機器デバイスの1つ以上の出力ポートに出力するように構成されている、請求項31に記載のマルチ機器デバイス。
【請求項33】
前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分は、
制御バスを介して前記コントローラと結合された少なくとも1つの制御レジスタと、
前記制御バスを介して前記コントローラと結合された少なくとも1つのメモリユニットとを含み、
前記少なくとも1つの制御レジスタ及び前記少なくとも1つのメモリユニットは、前記コントローラから受信した構成データを記憶し、前記少なくとも1つのメモリユニットは、前記少なくとも1つの制御レジスタよりもサイズが大きい、請求項18~32のいずれか一項に記載のマルチ機器デバイス。
【請求項34】
前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分は、
少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、前記複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、
少なくとも1つのプロセッサであって、その少なくとも1つの入力が、前記少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む、請求項18~33のいずれか一項に記載のマルチ機器デバイス。
【請求項35】
メモリ記憶装置と結合されたメモリインターフェースを更に備え、
前記コントローラは、前記メモリインターフェースを介して、前記メモリ記憶装置からの前記少なくとも1つのビットストリームにアクセスするように構成されている、請求項18~34のいずれか一項に記載のマルチ機器デバイス。
【請求項36】
前記コントローラは、
前記複数の動的再構成可能部分のうちの前記少なくとも1つを再構成するための命令をユーザデバイスからインターフェースを介して受信し、
前記命令の前記受信に応答して、前記メモリ記憶装置からの前記少なくとも1つのビットストリームに前記メモリインターフェースを介してアクセスするように構成されている、請求項35に記載のマルチ機器デバイス。
【請求項37】
少なくとも1つのデジタル入力ポートを更に備え、
前記静的再構成可能部分は、前記少なくとも1つのデジタル入力ポートと結合されかつ前記少なくとも1つのデジタル入力ポートの各々からのデジタル信号を前記複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む、請求項18~36のいずれか一項に記載のマルチ機器デバイス。
【請求項38】
少なくとも1つのデジタル出力ポートを更に備え、
前記静的再構成可能部分は、前記少なくとも1つのデジタル出力と結合されかつ前記複数の動的再構成可能部分の各々からの出力信号を前記少なくとも1つのデジタル出力ポートの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む、請求項18~37のいずれか一項に記載のマルチ機器デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、「Multi-Instrument Device Based on Partial Reconfiguration FPGA」と題された、2021年3月15日出願の米国仮出願第63/161,348号の優先権の利益を主張し、その内容はその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、電子試験及び機器の分野、特に、マルチ機器デバイスに関する。
【背景技術】
【0003】
関連技術の説明
電子デバイスの開発では、試験及び測定機器が一般に使用される。典型的には、試験及び測定機器は、個別のパッケージ内の個別のデバイスである。場合によっては、試験又は計測機器を具現化するモジュラーハードウェアデバイスをデバイスに取り外し可能にインストールして、デバイスの機能を変更し、それによって、単一のデバイスが複数の試験及び計測機能を提供することを可能にすることができる。いくつかのデバイスは、デバイスの機能において更なる融通性を可能にするために、ハードウェアプラットフォームに選択的にインストールできるソフトウェアベースの試験及び機器をサポートしている。
【発明の概要】
【0004】
1つの態様では、システムは、マルチ機器デバイス及びサーバを含む。マルチ機器デバイスは、静的再構成可能部分と、複数の動的再構成可能部分であって、複数の動的再構成可能部分の各々が試験及び測定デバイスとして構成されている、複数の動的再構成可能部分と、静的再構成可能部分及び複数の動的再構成可能部分と結合されたコントローラと、を含む。コントローラは、複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成するための少なくとも1つのビットストリームを処理するように構成されている。サーバは、少なくとも1つのビットストリームを記憶するように構成されたメモリと、少なくとも1つのビットストリームを提供するための要求を受信し、その要求に応答して、少なくとも1つのビットストリームをメモリから取り出し、マルチ機器デバイスに配信するために、少なくとも1つのビットストリームを送信するように構成された、少なくとも1つのプロセッサと、を含む。
【0005】
いくつかの実施形態では、少なくとも1つのプロセッサは、少なくとも1つのビットストリームを提供するための要求を、マルチ機器デバイスと通信するユーザデバイスから受信するように構成される。いくつかの実施形態では、少なくとも1つのビットストリームを提供するための要求は第1の要求であり、その場合、少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、その場合、少なくとも1つのプロセッサは、第2の少なくとも1つのビットストリームを提供するための第2の要求を受信し、第2の要求に応答して、第2の少なくとも1つのビットストリームをメモリから取り出し、第2の少なくとも1つのビットストリームをマルチ機器デバイスに送信するように構成される。コントローラは、第2の少なくとも1つのビットストリームに基づいて、複数の動的再構成可能部分のうちの少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成される。いくつかの実施形態では、マルチ機器デバイスは、複数の動的再構成可能部分の各々に関連付けられたデータストリームを別個の物理的出力ポートに出力するように構成されたデータインターフェースを更に含む。
【0006】
いくつかの実施形態では、マルチ機器デバイスは、複数の動的再構成可能部分の各々に関連付けられたデータストリームをシリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたデータインターフェースを更に含む。いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む。いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分の出力と結合された入力と、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、その場合、コントローラは、複数の動的再構成可能部分の出力のうちの少なくとも1つが複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力に提供されることを可能にするようにマルチプレクサを制御するように構成される。
【0007】
いくつかの実施形態では、複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する。いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、少なくとも1つのチャネルバッファの各々は、複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合され、少なくとも1つのチャネルバッファは、チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームをメモリに提供するように構成される。いくつかの実施形態では、コントローラは、メモリに記憶されたバッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、出力チャネルバッファデータをマルチ機器デバイスの1つ以上の出力ポートに提供するように構成される。いくつかの実施形態では、出力チャネルバッファデータは画像フレームである。
【0008】
いくつかの実施形態では、複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームがメモリに記憶される。いくつかの実施形態では、コントローラは、チャネルデータストリームをマルチ機器デバイスの1つ以上の出力ポートに出力するように構成される。いくつかの実施形態では、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分は、制御バスを介してコントローラと結合された少なくとも1つの制御レジスタと、制御バスを介してコントローラと結合された少なくとも1つのメモリユニットとを含み、その場合、少なくとも1つの制御レジスタ及び少なくとも1つのメモリユニットは、コントローラから受信した構成データを記憶し、その場合、少なくとも1つのメモリユニットは、少なくとも1つの制御レジスタよりもサイズが大きい。
【0009】
いくつかの実施形態では、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分は、少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、少なくとも1つのプロセッサであって、その少なくとも1つの入力が、少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む。いくつかの実施形態では、システムは、マルチ機器デバイスと通信可能に結合されかつサーバと通信可能に結合されたユーザデバイスを更に含み、ユーザデバイスは、少なくとも1つのビットストリームを提供するための要求をサーバに送信し、少なくとも1つのビットストリームを含む送信をサーバから受信し、少なくとも1つのビットストリームをマルチ機器デバイスに送信するように構成される。いくつかの実施形態では、静的再構成可能部分は、少なくとも1つのアナログ-デジタル変換器(analog-to-digital converter、ADC)及び少なくとも1つのデジタル-アナログ変換器(digital-to-analog converter、DAC)を含み、その場合、複数の動的再構成可能部分の各々は、少なくとも1つのADCと選択的に結合され、かつ少なくとも1つのDACと選択的に結合される。
【0010】
別の態様では、マルチ機器デバイスは、静的再構成可能部分と、複数の動的再構成可能部分であって、複数の動的再構成可能部分のうちの少なくとも1つが試験及び測定デバイスとして構成されている、複数の動的再構成可能部分と、静的再構成可能部分及び複数の動的再構成可能部分と結合されたコントローラであって、データインターフェースを介して受信された少なくとも1つのビットストリームに基づいて、複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成し、複数の動的再構成可能部分の各々によって生成されたデータストリームを複数の出力ポートに提供するように静的再構成可能部分を再構成するように構成されたコントローラと、を含む。
【0011】
いくつかの実施形態では、複数の出力ポートは複数の物理的出力ポートを含み、その場合、複数の物理的出力ポートの各物理的出力ポートは複数の動的再構成可能部分のうちのいずれか1つに選択的に結合される。いくつかの実施形態では、マルチ機器デバイスは、複数の入力ポートと、複数の入力ポートと結合された複数のアナログ-デジタル変換器(ADC)とを更に含み、その場合、静的再構成可能部分は、複数のADCと結合されかつ複数のADCの各々からのデジタル信号を複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む。いくつかの実施形態では、マルチ機器デバイスは、複数の出力ポートと、複数の出力ポートと結合された複数のデジタル-アナログ変換器(DAC)とを更に含み、その場合、静的再構成可能部分は、複数のDACと結合されかつ複数の動的再構成可能部分の各々からの出力信号を複数のDACの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む。
【0012】
いくつかの実施形態では、少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、その場合、少なくとも1つのコントローラは、データインターフェースを介して第2の少なくとも1つのビットストリームを受信し、第2の少なくとも1つのビットストリームに基づいて、複数の動的再構成可能部分のうちの少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成される。いくつかの実施形態では、マルチ機器デバイスは、複数の動的再構成可能部分の各々に関連付けられたデータストリームを別個の物理的出力ポートに出力するように構成された出力インターフェースを更に含む。いくつかの実施形態では、マルチ機器デバイスは、複数の動的再構成可能部分の各々に関連付けられたデータストリームをシリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたネットワークインターフェースを更に含む。いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む。
【0013】
いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分の出力と結合された入力と、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、その場合、コントローラは、複数の動的再構成可能部分の出力のうちの少なくとも1つが複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力に提供されることを可能にするようにマルチプレクサを制御するように構成される。いくつかの実施形態では、複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する。いくつかの実施形態では、静的再構成可能部分は、複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、少なくとも1つのチャネルバッファの各々は、複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合され、少なくとも1つのチャネルバッファは、チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームをメモリに提供するように構成される。
【0014】
いくつかの実施形態では、コントローラは、メモリに記憶されたバッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、出力チャネルバッファデータをマルチ機器デバイスの1つ以上の出力ポートに提供するように構成される。いくつかの実施形態では、出力チャネルバッファデータは画像フレームである。いくつかの実施形態では、複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームがメモリに記憶される。いくつかの実施形態では、コントローラは、チャネルデータストリームをマルチ機器デバイスの1つ以上の出力ポートに出力するように構成される。いくつかの実施形態では、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分は、制御バスを介してコントローラと結合された少なくとも1つの制御レジスタと、制御バスを介してコントローラと結合された少なくとも1つのメモリユニットとを含み、その場合、少なくとも1つの制御レジスタ及び少なくとも1つのメモリユニットは、コントローラから受信した構成データを記憶し、その場合、少なくとも1つのメモリユニットは、少なくとも1つの制御レジスタよりもサイズが大きい。
【0015】
いくつかの実施形態では、複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分は、少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、少なくとも1つのプロセッサであって、その少なくとも1つの入力が、少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む。いくつかの実施形態では、マルチ機器デバイスは、メモリ記憶装置と結合されたメモリインターフェースを更に含み、その場合、コントローラは、メモリインターフェースを介してメモリ記憶装置からの少なくとも1つのビットストリームにアクセスするように構成される。いくつかの実施形態では、コントローラは、複数の動的再構成可能部分のうちの少なくとも1つを再構成するための命令をユーザデバイスからインターフェースを介して受信し、命令の受信に応答して、メモリ記憶装置からの少なくとも1つのビットストリームにメモリインターフェースを介してアクセスするように構成される。
【0016】
いくつかの実施形態では、マルチ機器デバイスは、少なくとも1つのデジタル入力ポートを更に含み、その場合、静的再構成可能部分は、少なくとも1つのデジタル入力ポートと結合されかつ少なくとも1つのデジタル入力ポートの各々からのデジタル信号を複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む。いくつかの実施形態では、マルチ機器デバイスは、少なくとも1つのデジタル出力ポートを更に含み、その場合、静的再構成可能部分は、少なくとも1つのデジタル出力と結合されかつ複数の動的再構成可能部分の各々からの出力信号を少なくとも1つのデジタル出力ポートの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む。
【図面の簡単な説明】
【0017】
【
図1】マルチ機器デバイスを含む例示的なシステムを示す。
【
図2】システムがマルチ機器デバイスにビットストリームを通信する様々な方法を示す。
【
図3】システムがマルチ機器デバイスにビットストリームを通信する様々な方法を示す。
【
図4】システムがマルチ機器デバイスにビットストリームを通信する様々な方法を示す。
【
図5】例示的なマルチ機器デバイスの一部分のブロック図を示す。
【
図6】
図5に示された第1の動的再構成可能部分の例示的なブロック図を示す。
【発明を実施するための形態】
【0018】
様々な図面における同様の参照番号及び記号表示は、同様の要素を示す。
詳細な説明
上記に紹介され、以下により詳細に説明される様々な概念は、説明された概念は任意の特定の実装方法に限定されないので、多数の方法のいずれかで実施され得る。具体的な実装態様及び適用の例は、主に例示的な目的で提供される。
【0019】
試験及び測定機器は、電子デバイスの試験及び製造に不可欠な構成要素である。単純な電子デバイスでさえ、試験には、オシロスコープ、波形発生器、スペクトルアナライザ、フィルタ、その他などのいくつかの機器が関与する可能性がある。試験されるべき電子デバイスの複雑さが増すと、機器の数が更に増える可能性がある。その結果、システムなどのコストや可搬性が、法外に高くなる可能性がある。
【0020】
フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)は、機能を、フィールド内のFPGAにプログラムする能力を提供する。特に、FPGAは、あるときは第1の試験及び測定デバイスとして動作するように構成することができ、後には第2の試験及び測定デバイスとして動作するように再構成することができる。いくつかのFPGAは、FPGAの部分がランタイム中に再構成されることを可能にする部分的再構成部分を含む。そのようなFPGAは、複数の試験及び測定デバイスを動作させるように構成することができる。更に、試験及び測定デバイスのうちの1つ以上を、必要に応じて異なる試験及び測定デバイスとして動作するように動的に再構成することが可能である。
【0021】
図1は、マルチ機器デバイス102を含む例示的なシステム100を示す。システム100は、マルチ機器デバイス102、クライアントデバイス104、サーバ106、及びリモート記憶デバイス108を含むことができる。以下で更に詳細に説明されるマルチ機器デバイス102は、1つ以上の(「コントローラ」とも称される)プロセッサ110と、1つ以上のFPGA112と、1つ以上のメモリユニット114とを含むことができる。マルチ機器デバイス102は、1つ以上のFPGA112内に、複数の試験機器、測定機器、並びにデータ及び信号処理ユニットを収容することができる。クライアントデバイス104は、例えば、タブレット、ラップトップ、スマートフォン、その他などのモバイルデバイス、デスクトップコンピュータ、パーソナルコンピュータ、又は任意のコンピューティングデバイスを含むことができる。クライアントデバイス104は、1つ以上のプロセッサ116と、例えば、マルチ機器デバイスインターフェースプログラム120、一セットのビットストリームセット122、及びサーバインターフェースプログラム124などの1つ以上のプログラム又はアプリケーションを含むことができる少なくとも1つのメモリユニット118と、を含むことができる。少なくとも1つのメモリユニット118内のプログラムは、1つ以上のプロセッサ116によって実行されることができる。マルチ機器デバイスインターフェースプログラム120は、マルチ機器デバイス102とインターフェースすることができ、クライアントデバイス104とマルチ機器デバイス102との間でデータを送受信することができる。サーバインターフェースプログラム124は、サーバ106とインターフェースすることができ、すなわち、サーバ106と通信して、アプリケーション、プログラム、及び、例えば、1つ以上のFPGA112の構成情報を含むことができる一セットのビットストリームセット122などのビットストリームを要求することができる。
【0022】
サーバ106は、1つ以上のプロセッサ126と、少なくとも1つのメモリユニット128とを含むことができる。少なくとも1つのメモリユニット128は、例えば、コンパイラプログラム130、クライアントデバイスインターフェースプログラム132、及びマルチ機器デバイスインターフェースプログラム134などの1つ以上のプログラム又はアプリケーションを含むことができる。コンパイラプログラム130は、例えば、Verilog、VHDL、その他などのハードウェア記述言語で記述されたFPGA構成をコンパイルして、FPGAにロードされてFPGAを構成することができる対応ビットストリームを生成することができる。クライアントデバイスインターフェースプログラム132は、クライアントデバイス104上のサーバインターフェースプログラム124と通信して、クライアントデバイス104とサーバ106との間で、プログラム、アプリケーション、及びデータを通信することができる。マルチ機器インターフェースプログラム134は、対応するプログラム(
図1には示さず)と通信して、サーバ106とマルチ機器デバイス102との間で、プログラム、アプリケーション、及びデータを通信することができる。通信は、例えば、FPGA112を構成するためのビットストリームセットを含むことができる。記憶デバイス108は、例えば、クライアントデバイス104及び/又はマルチ機器デバイス102に通信することができるビットストリームセット136を記憶することができる。場合によっては、サーバ106は、コンパイルされたビットストリームを記憶デバイス108に記憶したり、又は記憶デバイス108に記憶されたビットストリームを取り出し、そのビットストリームをマルチ機器デバイス102若しくはクライアントデバイス104に提供することができる。
【0023】
マルチ機器デバイス102、クライアントデバイス104、サーバ106、及び記憶デバイス108は、ネットワーク150を介して通信することができ、ネットワーク150は、パケットベースの通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、公的/私的ネットワーク、インターネット、その他のうちの1つ以上を含むことができる。場合によっては、マルチ機器デバイス102及びクライアントデバイス104は、記憶デバイス108と直接通信することができる。場合によっては、サーバ106及び記憶デバイス108は、クラウド内に位置することができ、サーバ又は記憶デバイスの分散セットを介して実装することができる。
【0024】
マルチ機器デバイス102は、いくつかの試験機器、測定機器、及び信号発生器、その他をサポートすることができる。1つ以上のFPGA112は、マルチ機器デバイス102が、1つ以上のFPGA112に機器を動的に割り当てる能力を提供する。特に、1つ以上のFPGA112は、FPGAの残りの部分が動作し続ける間、能動的設計における機能ブロックの動的な変更を可能にする部分的再構成(partial reconfiguration、PR)をサポートすることができる。PRを使用して、FPGAのランタイム中の異なる時間にハードウェアモジュールを変更することができ、それによって、大きく複雑な設計が比較的小さいFPGAに適合することが可能になる。1つ以上のFPGA112のうちの少なくとも1つは、PRをサポートすることができ、静的再構成可能部分及び動的再構成可能部分に分割されることができる。完全ビットストリームが、FPGA全体の構成に対応することができるが、但し、動的構成可能部分に対応する部分的ビットストリームをFPGAにロードして、動的再構成可能部分の機能を再構成及び変更することができる。例えば、1つ以上のプロセッサ110が完全ビットストリームを1つ以上のFPGA112にロードした後、1つ以上のプロセッサ110は、部分的ビットストリームをロードして、動的再構成可能部分の機能を、例えばオシロスコープからスペクトルアナライザに変更することができる。静的再構成可能部分と、部分的ビットストリームに対応しない他の動的再構成可能部分とは、ビットストリームが目的の動的再構成可能部分にロードされている間、動作し続けることができる。1つ以上のFPGA112は、例えば、ザイリンクス(Xilinx)7シリーズ及びZynq FPGAデバイスなどのPR FPGAを使用して実装されることができる。
【0025】
場合によっては、サーバ106内のコンパイラプログラム130は、静的再構成可能部分及び動的再構成可能部分のハードウェア記述言語の記述をコンパイルして、完全ビットストリーム及び部分的ビットストリームを生成することができる。コンパイラプログラム130は、1つ以上のFPGA112に固有とすることができる。例えば、Vivado Design Suiteを使用して、ビットストリームを生成することができる。動的再構成可能部分に関しては、各ビットストリームは、異なる試験及び測定デバイスに対応することができる(以下、「試験及び測定デバイス」という用語は、試験及び測定デバイスに限定されるものではなく、増幅器、任意の波形発生器、比例・積分・微分(PID)コントローラ、周波数応答分析器、位相計、オシロスコープ、スペクトルアナライザ、デジタルフィルタ、波形発生器、データロガー、フィルタビルダー、その他などの構成要素を指すこともできる)。ユーザは、第1の試験及び測定デバイスに関連付けられたビットストリームを1つ以上のFPGA112にロードすることができる。ユーザが異なる試験及び測定デバイスを動作させることを望む場合、ユーザは、第2の試験及び測定デバイスに関連付けられたビットストリームを1つ以上のFPGA112にロードすることができる。コンパイラプログラム130は、様々な試験及び測定デバイスのハードウェア記述をコンパイルし、ビットストリームを、一セットのビットストリームセット136として記憶することができる。
図1は、サーバ106に位置するコンパイラプログラム130を示しているが、コンパイラプログラム130又は別のコンパイラプログラムは、クライアントデバイス104に位置することもできる。様々な試験及び測定デバイスのハードウェア記述のコンパイルは、時間及びコンピューティングリソースの観点から実質的にコストがかかる可能性があるので、コンパイルプロセスは、サーバ106によって事前に実行されることができる。
【0026】
クライアントデバイス104は、マルチ機器デバイス102を制御することができるだけでなく、マルチ機器デバイス102から測定データを受信することもできる、マルチ機器デバイスインターフェースプログラム120を含むことができる。言い換えると、クライアントデバイス104は、マルチ機器デバイス102のための制御センターとして機能することができる。マルチ機器デバイス102は、表示画面又はグラフィカルユーザインターフェースを含まない場合があるので、クライアントデバイス104の表示画面及びグラフィカルユーザインターフェースを使用して、マルチ機器デバイス102の動作を間接的に制御することができる。マルチ機器デバイスインターフェースプログラム120は、ユーザが1つ以上のFPGA112上に実装したい機器のタイプを選択することを可能にすることができる。そのために、所望の機器に対応するビットストリームを1つ以上のFPGA112にロードすることを容易にするために、クライアントデバイス104を使用することができる。
【0027】
ビットストリームセット136は、いくつかの方法でマルチ機器デバイス102に提供されることができる。場合によっては、クライアントデバイス104は、ビットストリームセット136を記憶デバイス108からダウンロードし、ビットストリームセット136をマルチ機器デバイス102に提供することができる。いくつかの他の場合には、マルチ機器デバイス102は、ビットストリームセット136を記憶デバイス108から直接ダウンロードすることができる。更に他の場合には、ビットストリームセット136は、マルチ機器デバイス102の1つ以上のメモリユニット114にプレロードされ、1つ以上のプロセッサ110がそれにアクセスして1つ以上のFPGA112にロードすることができる。
図2~
図4は、システムがビットストリームをマルチ機器デバイス102に通信する様々な方法を示す。具体的には、
図2は、マルチ機器デバイス102がサーバ106にビットストリームセットを要求する例示的なプロセスのフロー図を示し、
図3は、クライアントデバイス104がサーバ106にビットストリームを要求し、ビットストリームをマルチ機器デバイス102に提供する例示的なプロセスのフロー図を示し、
図4は、マルチ機器デバイス102がローカルメモリユニットからビットストリームを取り出してロードする例示的なプロセスのフロー図を示す。
【0028】
図2を参照すると、プロセス200は、クライアントデバイス104が、マルチ機器デバイスインターフェースプログラム120に対する要求202をサーバ106に送信することを含む。いくつかの実施例では、マルチ機器デバイスインターフェースプログラム120は、アプリケーションサーバ(例えば、Appleアプリストア、Google Playアプリストア、その他)からダウンロードすることができるアプリケーション(例えば、タブレットクライアントデバイス104用のアプリ)とすることができる。そのような場合には、サーバ106は、アプリケーションをそこからダウンロードすることができるアプリケーションサーバを含むことができる。サーバ106は、一般に、マルチ機器デバイスインターフェースプログラム120に対する要求を処理することができる1つ以上のサーバを含むことができる。例えば、サーバ106は、クラウドサーバ、ファイルサーバ、ウェブサーバ、データベースサーバ、プロキシサーバ、その他を含むことができ、これらの各々は、1つ以上のプロセッサ上に実装されることができ、ネットワークを介して統合又は分散されることができる。要求202を受信すると、サーバ106は、マルチ機器デバイスインターフェースプログラム120をメモリ記憶ユニットから取り出すこと204ができる。次いで、サーバ106は、取り出されたマルチ機器デバイスインターフェースプログラム120をクライアントデバイス104に送信すること206ができる。サーバ106は、例えば、マルチ機器デバイスインターフェースプログラム120をリモートメモリ記憶ユニットから取り出すために互いに通信することができる、分散サーバセットなどの1つを超えるサーバとして実装されることができることに留意されたい。
【0029】
クライアントデバイス104上で動作するマルチ機器デバイスインターフェースプログラム120は、マルチ機器デバイス102に、1つ以上のFPGA112の動的再構成可能部分のうちの1つ以上に所望の試験及び測定デバイスをロードするように要求すること208ができる。場合によっては、マルチ機器デバイス102が初めて初期化され、1つ以上のFPGA112にロードされたいかなる試験及び測定デバイスも有しないときに、要求208がマルチ機器デバイス102に送信されることができる。いくつかの他の場合には、ユーザが、1つ以上のFPGA112に現在ロードされている試験及び測定デバイスを置き換えることを要求したときに、要求208がマルチ機器デバイス102に送信されることができる。マルチ機器デバイス102は、要求された試験及び測定デバイスに関連付けられたビットストリームに対する要求210をサーバ106に送信することができる。ビットストリームに対する要求210は、マルチ機器デバイスインターフェースプログラム120をクライアントデバイス104に提供するデバイスとは異なるデバイスに送信され得ることに留意されたい。例えば、ビットストリームに対する要求210は、サーバ106とは別個のクラウド記憶デバイスに送信され得、クラウド記憶デバイスは、1つ以上のFPGA112にロードされることができる様々な試験及び測定デバイスに関連付けられたビットストリームを記憶する。要求210はまた、サーバ106の代わりに記憶デバイス108に直接送信されてもよい。ビットストリームに対する要求210を受信したことに応答して、サーバ106は、記憶デバイス108にアクセスして、要求されたビットストリームを取り出すこと212ができる。サーバ106は、要求されたビットストリームをマルチ機器デバイス102に送信すること214ができる。マルチ機器デバイス102は、ビットストリームを受信すると、1つ以上のFPGA112を再構成216して、ビットストリームを1つ以上のFPGA112にロードすることができる。マルチ機器デバイス102はまた、要求された試験及び測定デバイスがロードされたことを示す通知218をクライアントデバイス104に送信することもできる。
【0030】
図3は、クライアントデバイス104がサーバ106にビットストリームを要求し、ビットストリームをマルチ機器デバイス102に提供する例示的なプロセス300のフロー図を示す。クライアントデバイス104は、サーバ106にマルチ機器デバイスインターフェースプログラム120をダウンロードすることを要求すること302ができる。要求を受信したことに応答して、サーバ106は、マルチ機器デバイスインターフェースプログラム120をメモリ記憶ユニットから取り出すこと304ができる。しかしながら、この場合には、サーバ106は、一セットの試験及び測定デバイスに対応するビットストリームセット304を取り出してもよい。次いで、サーバ106は、マルチ機器デバイスインターフェースプログラム120及びビットストリームセットの両方をクライアントデバイス104に送信することができる。サーバ106は、クライアントデバイス104によって要求されたマルチ機器デバイスインターフェースプログラム120と同じパッケージ内でビットストリームセットを送信することができる。一実施例として、クライアントデバイス104がアプリケーションサーバ(例えば、Appleアプリストア又はGoogle Playアプリストアなど)にアクセスして、マルチ機器デバイスインターフェースプログラム120をダウンロードするとき、サーバ106は、ダウンロードにビットストリームセットを含むこともできる。マルチ機器デバイスインターフェースプログラム120とともにビットストリームセットをダウンロードすることによって、クライアントデバイスは、ネットワーク150を介して再度サーバ106にアクセスしてビットストリームをダウンロードする必要なくして、所望の試験及び測定デバイスに対応するビットストリームをマルチ機器デバイス102にロードすることができる。マルチ機器デバイス102の初期構成中又は再構成中、クライアントデバイス104は、所望のビットストリームをマルチ機器デバイス102に送信308して、1つ以上のFPGA112にロードすることができる。クライアントデバイス104からビットストリームを受信した後、マルチ機器デバイス102は、ビットストリームを1つ以上のFPGA112にロードし、1つ以上のFPGA112を所望の試験及び測定デバイスに関して構成することができる。ユーザが、1つ以上のFPGA112上で現在実行中の1つ以上の試験及び測定デバイスを置き換えると決めた場合、ユーザは、対応するビットストリームを、以前にダウンロードされたビットストリームセットから選択し、そのビットストリームをマルチ機器デバイス102に送信することができる。所望の試験及び測定デバイスに対応するビットストリームが最初にダウンロードされたビットストリームセットに含まれていない場合、クライアントデバイス104は、サーバ106に特定のビットストリームを要求するか、又はマルチ機器デバイス102に、サーバ106にビットストリームを要求するように指示することができる。
【0031】
図4は、マルチ機器デバイス102がローカルメモリユニットからビットストリームを取り出してロードする例示的なプロセス400のフロー図を示す。特に、クライアントデバイス104は、
図2に示された要求202に関連して上述されたのと同様の方法で、サーバ106にマルチ機器デバイスインターフェースプログラム120を要求402することができる。サーバ106は、
図2に示された取り出し204及び送信206に関連して上述されたのと同様の方法で、マルチ機器デバイスインターフェースプログラム120を取り出し404、マルチ機器デバイスインターフェースプログラム120をクライアントデバイスに送信すること406ができる。クライアントデバイス104は、マルチ機器デバイス102に、試験及び測定デバイスを1つ以上のFPGA112にロードするように要求することができる。しかしながら、クライアントデバイス104は、要求された試験及び測定デバイスに対応するビットストリームをマルチ機器デバイス102に送信しなくてもよい。代わりに、マルチ機器デバイス102は、
図1に示された1つ以上のメモリユニット114などのローカルメモリユニットから、要求された試験及び測定デバイスに対応するビットストリームを取り出すこと410ができる。次いで、マルチ機器デバイス102は、取り出されたビットストリームを1つ以上のFPGA112にロードすることによって、1つ以上のFPGA112を再構成することに進むことができる。マルチ機器デバイス102は、ローカルメモリに既に記憶されているビットストリームセットから適切なビットストリームを選択することができる。いくつかの実施例では、マルチ機器デバイス102は、ユーザに販売又は出荷されるときにビットストリームセットをプレロードされることができる。いくつかの実施例では、ビットストリームセットは、初期構成手順中にマルチ機器デバイス102のローカルメモリにロードされることができ、その場合、ビットストリームセットはクライアントデバイス104によってロードされることができるし、又は(
図2に示されたように)サーバ106からアクセスされることができる。マルチ機器デバイス102のローカルメモリにビットストリームセットを記憶することで、ネットワークを介してサーバ106と通信する必要性を軽減することができる。これは、ネットワーク接続が信頼できないか又は利用できないシナリオにおいて有利であり得る。加えて、サーバ106との通信を回避することによって、サーバ106にビットストリームセットを要求しダウンロードすることに関連付けられた時間遅延を回避することができ、それによって、新しい試験及び測定デバイスに関して1つ以上のFPGA112を再構成するために必要な時間が改善される。
【0032】
図2~
図4に関連して説明された上記プロセスの各々において、クライアントデバイス104又はマルチ機器デバイス102は、併合ビットストリームをFPGAにロードすることに寄与する。例えば、クライアントデバイス104又はマルチ機器デバイス102は、部分的ビットストリームの併合体がロードされるための要求とともに、部分的ビットストリームを1つ以上のFPGA112にロードすることができる。1つ以上のFPGA112は、要求された併合体内の部分的ビットストリームを順番にロードすることができ、それによって、要求された方法で部分的ビットストリームを併合することができる。部分的ビットストリームの各々は、特定の機能又は機器に対応することができる。ビットストリームを、要求された併合体に併合することによって、1つ以上のFPGA112は、部分的ビットストリームをロードすることによって、併合機能を作成することができる。
【0033】
図5は、例示的なマルチ機器デバイス502の一部分のブロック図を示す。マルチ機器デバイス502を使用して、上述したマルチ機器デバイス102を実装することができる。マルチ機器デバイス502は、1つ以上のプロセッサ510と、FPGA512と、1つ以上のメモリユニット514とを含む。1つ以上のプロセッサ510を使用して、
図1に示された1つ以上のプロセッサ110を実装することができ、FPGA512を使用して、
図1に示された1つ以上のFPGA112のうちの1つ以上を実装することができ、メモリユニット514を使用して、1つ以上のメモリユニット114を実装することができる。1つ以上のプロセッサ510は、コントローラ、マイクロプロセッサ、マルチコアプロセッサ、又は1つ以上のプログラムに関連付けられた命令セットを実行するように構成することができる任意のデバイスを含むことができる。例えば、1つ以上のプロセッサ510は、シングルコア又はマルチコアのARMCortex-A9又はCortex-A53プロセッサを含むことができる。
【0034】
1つ以上のメモリユニット514は、揮発性メモリや不揮発性メモリを含むことができる。例えば、1つ以上のメモリユニット514は、DDR SDRAM又は任意の他のタイプのRAMなどの揮発性メモリを含むことができる。不揮発性メモリは、ROM、EEPROM、フラッシュドライブ、メモリカード(例えば、SDカード)、その他を含むことができる。1つ以上のプロセッサ510はまた、キャッシュメモリ及び追加の揮発性二次メモリなどのメモリユニットも含むことができる。1つ以上のプロセッサ510及び1つ以上のメモリユニット514は、互いに通信するように構成することができ、したがって、1つ以上のプロセッサ510は、1つ以上のメモリユニット514から命令を取り出し、1つ以上のメモリユニット514にデータを記憶することができる。
【0035】
FPGA512は、1つ以上のプロセッサ510及び1つ以上のメモリユニット514と通信可能に結合されることができる。FPGA512は、マルチ機器デバイス502内の多くのFPGAのうちの1つとすることができる。いくつかの実施例では、マルチ機器デバイス502内のFPGAの数は、チャネル入力の数以上とすることができ、その場合、FPGAのうちの少なくとも1つを使用して、他のFPGAの出力を統合することができる。上述したように、マルチ機器デバイス102は、部分的に再構成可能なFPGAを含むことができる。部分的に再構成可能なFPGAは、静的再構成可能部分及び動的再構成可能部分を含む。
図5に示されたFPGA512は、第1の動的再構成可能部分520、第2の動的再構成可能部分522、及び第nの動的再構成可能部分524という複数の動的再構成可能部分を含むことができる。複数の動的再構成可能部分の各々は、FPGA512にロードされたビットストリームに基づいて、1つ以上の試験及び測定デバイスに動的に再構成されることができる。FPGA512の残りものは、FPGA512の静的再構成可能部分に対応することができる。静的再構成可能部分もまた、ビットストリームを使用して構成されるが、但し、FPGA512の残りものが動作し続けることができる間に再構成することができる複数の動的再構成可能部分とは異なり、静的再構成可能部分はそのように再構成されることはできない。静的再構成可能部分は、マルチ機器デバイス502の配備中に最初に構成されることができる。その後、動的再構成可能部分のうちの1つ以上が、それぞれの動的再構成可能部分にビットストリームをロードすることによって再構成されることができる。第1の動的再構成可能部分520は、第1の試験及び測定デバイス(TM-1)として機能するように構成されることができ、第2の動的再構成可能部分522は、第2の試験及び測定デバイス(TM-2)として機能するように構成されることができ、第nの動的再構成可能部分524は、第nの試験及び測定デバイス(TM-n)として機能するように構成されることができる。これらの試験及び測定デバイスのうちの少なくとも1つは、所望の試験及び測定デバイスのビットストリームを対応する動的再構成可能部分にロードすることによって、異なる試験及び測定デバイスと動的に交換されることができる。
【0036】
FPGA512は、アナログ入力を受信することができるチャネル入力526(「入力ポート」とも称される)を含むことができる。いくつかの実施例では、チャネル入力526は、同軸入力ケーブルを接続するための同軸コネクタ(例えば、BNC)を有することができる。いくつかの実施例では、チャネル入力526は、接地コネクタと、入力信号を搬送することができる任意の2線式ケーブルを接続するための信号コネクタとを含むことができる。チャネル入力526の数は、マルチ機器デバイス502が処理するように設計された入力信号の数に基づくことができる。いくつかの実施例では、マルチ機器デバイス502は、少なくとも2つのチャネル入力526を有し得る。いくつかの他の実施例では、チャネル入力526の数は、1~10の間で変わることができる。更に他の実施例では、チャネル入力526の数は、複数の動的再構成可能部分の数以上とすることができる。チャネル入力526は、アナログ信号調整回路528と結合されることができる。アナログ信号調整回路528は、例えば、チャネル入力526に結合された同軸入力ケーブルとのインピーダンス整合のための50Ω終端抵抗などのインピーダンス整合回路を含むことができる。いくつかの実施例では、アナログ信号調整回路528は、チャネル入力526によって提供される入力信号を処理するための受動若しくは能動フィルタ及び/又はオペアンプを含むことができる。
【0037】
アナログ信号調整回路528の出力は、複数のアナログ-デジタル変換器(ADC)の入力と結合されることができる。例えば、マルチ機器デバイス502は、チャネル入力526に提供されたアナログ信号を対応するデジタル信号に変換することができる複数のADC530を含むことができる。ADC530は、1つ以上のプロセッサ510によって構成することができる。例えば、1つ以上のプロセッサ510は、ADC530のサンプリングレート、モード、アンチエイリアシングフィルタのオン/オフ、ゲイン、DCオフセット、位相調整、その他のうちの少なくとも1つを設定又は制御することができる。場合によっては、2つ以上のチャネル入力526が同じ入力信号に接続されている場合、それぞれのADC530は、整合されねばならない。そのような場合には、1つ以上のプロセッサ510は、ADC530を同じパラメータ値を用いて構成することができる。1つ以上のプロセッサ510は、構成制御信号をADC制御入力532に出力することができる。いくつかの実施例では、ADCのサンプリングレートは、1つのチャネル入力526のみが使用される場合には約5ギガサンプル/秒(Gs/s)、2つのチャネル入力526が使用される場合には約2.5Gs/s、及び4つのチャネル入力526が使用される場合には1.25Gs/sとすることができる。上記に列挙されたサンプリングレートは例に過ぎず、上記に列挙されたものよりも大きいか又は小さいサンプリングレートを実装することもできる。ADC530は、アナログ入力信号の値をデジタルに符号化するaビット出力をサンプリングレートで出力することができる。いくつかの実施例では、aの値は、8~64(閉区間)とすることができるが、但し、これらの値は限定的ではなく、特定の実装態様に基づくことができる。マルチ機器デバイス502はまた、少なくとも1つの外部トリガ入力534を含むこともできる。
【0038】
ADC530及び少なくとも1つの外部トリガ入力534の出力は、入力バス516に統合されることができる。入力バス516は、kビット幅とすることができ、ADC530の出力に加えて、出力-入力マルチプレクサ536の出力を含むことができる。入力バス516は、複数の動的再構成可能部分の各々と結合されることができる。すなわち、入力バス516は、第1の動的再構成可能部分520、第2の動的再構成可能部分522、及び第nの動的再構成可能部分524と結合されている。結果として、各動的再構成可能部分は、全てのADC530の出力、少なくとも1つの外部トリガ入力534、及び出力-入力マルチプレクサ536を介して複数の動的再構成可能部分のうちの選択された出力を受信することができる。これにより、ユーザは、他の試験及び測定デバイスによって出力される信号を処理することができる1つを超える試験及び測定デバイスを単一のFPGA内に構成することが可能になる。したがって、ユーザは、FPGA上に試験ベンチを作成することができ、その場合、試験ベンチは、同じマルチ機器デバイス502内で複雑なデータ及び信号処理を実行するために連動して動作するいくつかの試験及び測定機器を含む。
【0039】
複数の動的再構成可能部分のうちの少なくとも1つは、2つのタイプの出力を出力することができる。例えば、第1の動的再構成可能部分520は、第1のデータストリーム538と1つ以上の第1のチャネルストリーム546とを出力する。第1のデータストリーム538は、いくつかの試験及び測定デバイスでは、第1の試験及び測定デバイスTM-1のほぼリアルタイムのデジタルデータ(又は量子化データ)出力を表すことができる。例えば、第1の試験及び測定デバイスTM-1が信号発生器として動作するように構成された場合、第1のデータストリーム538は、信号発生器によって出力された波形を表すことができる。一実施例として、第1のデータストリーム538は、s秒ごとのdビット出力を含むことができ、その場合、sは、第1の動的再構成可能部分520に提供されるクロック周波数の逆数に等しくすることができる。1つ以上の第1のチャネルストリーム546は、第1の試験及び測定デバイスTM-1の出力に対応するデータポイントを出力することができる。特に、1つ以上の第1のチャネルストリーム546は、dビットの出力ビットアレイを含むことができる。場合によっては、アレイは、dビット出力ビットと、対応するタイムスタンプとを含むことができる。いくつかの実施例では、1つ以上の第1のチャネルストリーム546は、特定の時間ウィンドウにわたってサンプリングされた信号の最大値及び/又は最小値として構造化されることができる。このチャネルストリームは、時間ウィンドウ並びに最大値及び最小値に対応する網掛領域をディスプレイ上に表示するために、クライアントデバイス104によって使用されることができる。再び、第1の試験及び測定デバイスTM-1が波形発生器であると仮定すると、1つ以上の第1のチャネルストリーム546は、波形発生器によって生成された波形を表す、対応するタイムスタンプを有する一連のdビット出力を有するアレイを含むことができる。第1の動的再構成可能部分520と同様に、第2の動的再構成可能部分522は、第2のデータストリーム540及び1つ以上の第2のチャネルストリーム548を出力し、第nの動的再構成可能部分524は、第nのデータストリーム544及び1つ以上の第nのチャネルストリーム550を出力する。
【0040】
複数の動的再構成可能部分のデータストリーム出力は、出力バス518に統合されることができる。出力バス518は、mビット幅とすることができ、複数のdビットデータストリーム出力を含むことができる。マルチ機器デバイス502は、静的再構成可能部分において、複数の動的再構成可能部分によって出力されたデータストリームをチャネル出力562(「出力ポート」とも称される)に選択的に提供することができる一セットの出力マルチプレクサ564を更に含むことができる。チャネル出力562は、チャネル入力526と同様の物理的ポートとすることができ、チャネル出力562に提供されたアナログ信号を搬送するためのケーブルを接続することを容易にするための物理的コネクタを含むことができる。チャネル出力の数は、実装態様に基づくことができる。いくつかの実施例では、チャネル出力562の数は、チャネル入力526の数に等しくすることができる。いくつかの実施例では、チャネル出力562の数は、1~10(閉区間)とすることができる。更に他の実施例では、チャネル出力562の数は、複数の動的再構成可能部分の数以上とすることができる。出力マルチプレクサ564は、1つ以上のプロセッサ510によって制御されることができ、1つ以上のプロセッサ510は、試験及び測定デバイスのタイプ、出力のタイプ、並びにチャネル出力562に対するユーザ構成に基づいて、出力マルチプレクサ564の構成を決定することができる。例えば、ユーザが、第1の動的再構成可能部分520の出力をチャネル出力562のうちの第1のものに提供するように、マルチ機器デバイス502を構成する場合、1つ以上のプロセッサ510は、その出力チャネルに対応する出力マルチプレクサ564を制御して、第1のデータストリーム538を選択し、第1のデータストリームをそのチャネル出力に出力することができる。いくつかの実施例では、出力マルチプレクサ564は、複数の動的再構成可能部分によって生成されたデータストリームをチャネル出力562に出力するデータインターフェースとして見ることができる。場合によっては、複数の動的再構成可能部分の各々に関連付けられたデータストリームが、チャネル出力などの別個の物理的出力ポートに提供されるように、出力マルチプレクサ564を構成することができる。すなわち、1つ以上のプロセッサ510は、複数の動的再構成可能部分によって出力されたデータストリームが別個のチャネル出力562に導かれるように、出力マルチプレクサ564を構成することができる。
【0041】
データストリームが選択されたチャネル出力に出力される前に、データストリームは、デジタルドメインからアナログドメインに変換される。特に、マルチ機器デバイス502は、一セットのデジタル-アナログ変換器(DAC)558を含むことができ、その場合、少なくとも1つのDACが各チャネル出力に関連付けられる。DAC558は、対応する出力マルチプレクサによって出力されたデータストリームをアナログ信号に変換することができる。DAC558は、1つ以上のプロセッサ510によって構成されることができる。具体的には、1つ以上のプロセッサ510は、例えば、DAC558のサンプリングレート、基準電圧、その他などのパラメータを構成することができる。マルチ機器デバイス502はまた、チャネル出力562の前に配置された一セットの信号調整器560も含む。一セットの信号調整器560は、アナログ出力信号からノイズを除去するために、例えばバンドパスフィルタなどのフィルタを含むことができる。
【0042】
マルチ機器デバイス502はまた、複数の動的再構成可能部分の各々に関連付けられたチャネルバッファセットも含む。例えば、マルチ機器デバイス502は、第1の動的再構成可能部分520に関連付けられた第1のチャネルバッファセット552、第2の動的再構成可能部分522に関連付けられた第2のチャネルバッファセット554、及び第nの動的再構成可能部分524に関連付けられた第nのチャネルバッファセット556を含む。各チャネルバッファセットは、1つ以上のチャネルバッファを含むことができる。第1の動的再構成可能部分520によって出力された1つ以上の第1のチャネルストリーム546は、第1のチャネルバッファセット552に一時的に記憶されることができる。同様に、第2の動的再構成可能部分522によって出力された1つ以上の第2のチャネルストリーム548は、第2のチャネルバッファセット554に一時的に記憶されることができ、1つ以上の第nのチャネルストリーム550は、第nのチャネルバッファセット556に一時的に記憶されることができる。
【0043】
チャネルバッファセットに一時的に記憶されたチャネルストリームは、チャネルストリームデータインターフェース566を介して、1つ以上のメモリユニット514に転送されることができる。データインターフェース566は、例えば、Advanced eXtensible Interface(AXI)を含むことができる。AXIは、ザイリンクスFPGAにおけるバスアーキテクチャとして広く使用されている。しかしながら、他のバスアーキテクチャ又はデータインターフェースアーキテクチャも使用され得る。いくつかの実施例では、チャネルバッファセットに一時的に記憶されたチャネルストリームは、チャネルバッファが満杯であるときには、1つ以上のメモリユニット514に転送される。いくつかの他の実施例では、チャネルストリームは、チャネルバッファ内のデータのサイズが閾値に達した後には、1つ以上のメモリユニット514に転送される。次いで、1つ以上のメモリユニット514に記憶されたチャネルストリームは、表示のためにクライアントデバイス104に転送されることができる。このようにして、複数の再構成可能部分の各々の出力は、クライアントデバイス104での表示のために提供されることができる。チャネルバッファセット内のチャネルバッファの数は、対応する試験及び測定機器によって生成される出力の数に依存することができる。例えば、第1の動的再構成可能部分520が波形発生器として構成されていると再び仮定すると、第1のチャネルバッファセット552内のチャネルバッファの数は、波形発生器によって生成される波形の数と等しくすることができる。場合によっては、第1のチャネルバッファセット552内のチャネルバッファの数は固定されることができるが、但し、チャネルストリームを一時的に記憶するために利用されるチャネルバッファセットを形成するチャネルバッファの数は、クライアントデバイス104に表示されるべき信号の数と等しくすることができる。例えば、波形発生器が2つの波形を生成する場合、第1のチャネルバッファセット552を形成する2つのチャネルバッファが利用されることができる。
【0044】
1つ以上のメモリユニット514に記憶されたチャネルストリームは、データポート又はネットワークポートを介してクライアントデバイスに転送されることができ、その場合、マルチ機器デバイスインターフェースプログラム120は、受信したデータポイントを表示することができる。マルチ機器デバイスインターフェースプログラム120は、受信したデータポイントを、クライアントデバイス104上に表示されることができる画像フレームに変換することができる。いくつかの実施例では、1つ以上のプロセッサ510は、1つ以上のメモリユニット514に記憶されたデータポイントを処理して、画像フレームを生成することができる。1つ以上のプロセッサ510は、データポイントに基づいて画像フレームを生成することができる画像処理プログラムを実行することができる。画像処理プログラムは、例えば、アドバンストビデオコーディング(AVC)ベースのコーデックを含むことができる。1つ以上のプロセッサ510は、画像フレームをクライアントデバイス104にデータポート又はネットワークポートを介して送信することができる。
【0045】
マルチ機器デバイス502は、1つの動的再構成可能領域からの出力データストリームを別の動的再構成可能領域の入力に直接提供する一セットのデバイス相互接続部(又はデータバス)を更に含む。例えば、FPGA512は、第1の動的再構成可能部分520からの出力データストリームを第2の動的再構成可能部分522のデータ入力に接続する第1のデバイス相互接続部568を含むことができる。第2のデバイス相互接続部570は、第2の動的再構成可能部分522からの出力データストリームを後続の動的再構成可能部分に接続することができる。第nのデバイス相互接続部572は、先行する動的再構成可能部分の出力を第nの動的再構成可能部分524に接続することができる。デバイス相互接続部は、(出力-入力マルチプレクサ536に加えて)動的再構成可能部分の出力から動的再構成可能部分の入力にデータを転送する追加導管を提供する。
図5は、デバイス相互接続部が1つの動的再構成可能部分からの出力データストリームを単一の他の動的再構成可能部分に提供することを示しているが、デバイス相互接続部は、1つの動的再構成可能部分からの出力データストリームが1つを超える他の動的再構成部分に提供されるように、他の動的再構成可能部分まで延在されることができる。
【0046】
マルチ機器デバイス502は、1つ以上のプロセッサ510を複数の動的再構成可能部分と結合する構成データバス574を更に含むことができる。特に、1つ以上のプロセッサ510は、構成データバス574を介して試験及び測定デバイスにランタイム構成情報を提供することができる。構成データバス574は、データバスシャットダウンロジック580を介して各動的再構成可能部分と結合されることができる。動的再構成部分の再構成の間、その内の構成レジスタはアクセス不可能であり得る。1つ以上のプロセッサ510がこれらの構成レジスタにアクセス又は書き込みを試みた場合、1つ以上のプロセッサ510は、デッドロック状態に入り得る。デッドロック状態を回避するために、FPGA512は、構成データバス574と現在再構成を受けている動的再構成可能部分との間の接続を無効にするデータバスシャットダウンロジック580を含むことができる。1つ以上のプロセッサ510は、シャットダウンロジック制御信号576をアクティブ/非アクティブにすることによって、所望のデータバスシャットダウンロジック580を有効化/無効化することができる。データバスシャットダウンロジック580は、一般に、FPGA内のコアとして提供される。例えば、いくつかのザイリンクスFPGAは、1つ以上のプロセッサ510によって制御されて、動的再構成部分の再構成中に動的再構成部分と静的部分との間のインターフェースを安全にすることができるAXIシャットダウンマネージャコアを含むことができる。
【0047】
マルチ機器デバイス502はまた、マルチ機器デバイス502との間でデータを通信するための1つ以上の物理的出力ポートも含むことができる。例えば、マルチ機器デバイス502は、シリアルデータポート582及びネットワークポート584を含むことができる。シリアルデータポート582は、USB、FireWire、PCIExpress、その他をサポートするポートを含むことができる。シリアルデータポート582は、例えば、クライアントデバイス104との接続を容易にすることができる。ネットワークポート584は、有線ネットワークポート、無線ネットワークポート、又は両方を含むことができる。有線ネットワークポートは、例えば、イーサネット(登録商標)ポートを含むことができる。無線ポートは、例えば、Bluetooth(登録商標)、WiFi、Zigbee(登録商標)、その他を含むことができる。1つ以上のプロセッサ510、1つ以上のメモリユニット514、シリアルデータポート582、及びネットワークポート584は、データバス586を介して通信することができる。動作中、1つ以上のプロセッサ510は、1つ以上のメモリユニット514に記憶されたチャネルストリームを、シリアルポート582及びネットワークポート584のうちの1つ以上を介してクライアントデバイスに送信することができる。また、サーバ106(
図1~
図4)と通信してビットストリームをダウンロードするために、ネットワークポート584が利用されることができる。1つ以上のプロセッサ510は、ネットワークポート584又はシリアルデータポート582を利用して、クライアントデバイス104からビットストリームを受信することができる。ビットストリームは、対応する動的再構成可能部分にビットストリームがロードされるまで、1つ以上のメモリユニット514に記憶されることができる。
【0048】
図5には示されていないが、マルチ機器デバイス502は、マルチ機器デバイス502の再構成可能部分のうちの2つ以上に同期信号を提供する1つ以上の同期信号相互接続部を含むことができる。特に、同期信号は、試験及び測定デバイス(TM-1、TM-2、....TM-n)のうちの2つ以上の間のクロックサイクル同期を可能にすることができる。同期信号相互接続部は、静的再構成可能部分内に実装されることができる。いくつかの実施例では、同期信号は、2つ以上の動的再構成可能部分(すなわち、試験及び測定デバイス(TM-1、TM-2、....TM-n))に選択的に提供されて、それらの動的再構成可能部分を選択的に同期させることができる。同期信号は、試験及び測定デバイスのうちの選択されたものに、同じクロックエッジに到達することができる。例えば、同期信号は、選択された試験及び測定デバイスに、同じ立ち上がりクロックエッジに到達することができる。1つ以上のプロセッサ510は、動的再構成可能部分のうちのどれが同期信号を受信するかを制御することができる。例えば、1つ以上のプロセッサ510は、有効化されたときに、イネーブルロジックに関連付けられた動的構成部分に同期信号が提供されることを可能にするイネーブルロジック(例えば、論理ゲート)を制御することができる。
【0049】
図6は、
図5に示された第1の動的再構成可能部分520の例示的なブロック図を示す。第1の動的再構成可能部分520は、一セットの制御レジスタ602、少なくとも1つのメモリマップ604(又は「少なくとも1つのメモリユニット604」)、複数のマルチプレクサ606、及び再構成可能ロジック608を含むことができる。制御レジスタ602は、第1の動的再構成可能部分520内に構成された試験及び測定デバイスに固有の構成値を記憶することができる。例えば、第1の動的再構成可能部分520がスペクトルアナライザとして機能するように構成されると仮定すると、構成レジスタ602は、開始周波数及び終了周波数などのパラメータの値を記憶することができる。別の実施例では、第1の動的再構成可能部分520がPIDコントローラとして機能するように構成されると仮定すると、そのときは、制御レジスタ602は、フィルタ係数などのパラメータの値を記憶することができる。メモリマップ604もまた、試験及び測定デバイスの構成パラメータの値を記憶することができる。場合によっては、メモリマップ604の記憶容量は、構成レジスタ602の総体メモリ容量よりも大きくすることができる。したがって、メモリマップ604は、試験及び測定デバイスの動作のための追加データを記憶することができる。例えば、第1の動的再構成可能部分520が波形発生器として機能するように構成されると仮定すると、メモリマップ604は、波形発生器によって生成される波形に関連するデータを記憶することができる。別の実施例では、第1の動的再構成可能部分520がスペクトルアナライザとして機能するように構成されると仮定すると、メモリマップ604は、ウィンドウイング機能に関連するデータを記憶することができる。
【0050】
マルチプレクサ606は、入力バス516からデータストリームを受信し、データストリームのうちのどれが再構成可能ロジック608に提供されるかを選択することができる。1つ以上のプロセッサ510は、マルチプレクサの入力選択構成を制御レジスタ602又はメモリマップ604に記憶することによって、マルチプレクサ606の動作を制御することができる。再構成可能ロジック608の出力は、1つ以上の第1のチャネルストリーム546及び第1のデータストリーム538を含むことができる。再構成可能ロジック608は、例えば、ルックアップテーブル、フリップフロップ、ブロックランダムアクセスメモリ(RAM)、デジタル信号プロセッサ(DSP)ブロック、その他などのいくつかの論理ブロックを含むことができる。1つ以上のプロセッサ510は、ビットストリームを使用して、試験及び測定デバイスとして機能するのに所望される方法で、これらの論理ブロックを構成することができる。
【0051】
部分的再構成をサポートするほとんどのFPGAについて、FPGAは、動的再構成可能部分及び静的再構成可能部分へのビットストリームのロードを容易にし、かつ一般的な再構成可能部分の管理を容易にする、FPGAの製造業者によって包含される独自の処理ロジックを含むことに留意されたい。例えば、ザイリンクスファミリのPR FPGAは、PR設計のための管理機能を提供する部分的再構成コントローラ(PRC)コアを含む。1つ以上のプロセッサ510は、FPGAの一部分を再構成するために、所望のビットストリームをFPGA上の処理ロジックに送信し、処理ロジックに、再構成動作を実行するように指示することができる。したがって、1つ以上のプロセッサ510は、動的再構成可能部分にビットストリームを直接ロードしなくてもよい。FPGA上の処理ロジックとインターフェースするための手順は、FPGA製造業者に固有であり得るが、典型的には、製造業者によって十分に文書化されている。そのために、当業者は、1つ以上のプロセッサ510を、FPGAの処理ロジックと通信するように容易に構成することができる。
【0052】
本明細書に記載の主題及び動作の実装態様は、デジタル電子回路で、又は本明細書に開示された構造及びそれらの構造的等価物を含む有形媒体、ファームウェア、若しくはハードウェア上に具現化されたコンピュータソフトウェアで、又はこれらのうちの1つ以上の組み合わせで、実装することができる。本明細書に記載の主題の実装態様は、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、コンピュータ記憶媒体上に符号化された、1つ以上のコンピュータプログラム、すなわち、コンピュータプログラム命令のうちの1つ以上の構成要素として実装することができる。プログラム命令は、人工的に生成される伝搬信号、例えば、データ処理装置によって実行するのに好適な受信装置に送信するための情報を符号化するために生成される、機械生成の電気、光、又は電磁信号において符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダム若しくはシリアルアクセスメモリアレイ若しくはデバイス、又はこれらのうちの1つ以上の組み合わせとすることもできるし、あるいはそれらに含まれることもできる。更に、コンピュータ記憶媒体が伝搬信号でなければ、コンピュータ記憶媒体は、人工的に生成された伝搬信号中に符号化されたコンピュータプログラム命令のソース又は宛先を含むことができる。コンピュータ記憶媒体はまた、1つ以上の別個の物理的構成要素若しくは媒体(例えば、複数のCD、ディスク、若しくは他の記憶デバイス)とすることもできるし、又はこれらに含まれることもできる。
【0053】
本開示に記載の実装態様に対する様々な改変は、当業者には容易に明らかであり得、本明細書で定義された一般的な原理は、本開示の趣旨又は範囲から逸脱することなく、他の実装態様に適用され得る。したがって、特許請求の範囲は、本明細書に示された実装態様に限定されるとは意図されず、本開示、本明細書に開示された原理及び新規特徴と一致する最も広い範囲を付与される。
【手続補正書】
【提出日】2023-04-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
システムであって、
マルチ機器デバイスであって、
静的再構成可能部分、
複数の動的再構成可能部分であって、前記複数の動的再構成可能部分の各々が試験及び測定デバイスとして構成されている、複数の動的再構成可能部分、並びに
前記静的再構成可能部分及び前記複数の動的再構成可能部分と結合されたコントローラであって、
前記複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成するための少なくとも1つのビットストリームを処理するように構成されたコントローラ、を含むマルチ機器デバイスと、
サーバであって、
前記少なくとも1つのビットストリームを記憶するように構成されたメモリ、及び
少なくとも1つのプロセッサであって、
前記少なくとも1つのビットストリームを提供するための要求を
前記マルチ機器デバイスから受信し、
前記要求に応答して、前記少なくとも1つのビットストリームを前記メモリから取り出し、前記マルチ機器デバイス
に前記少なくとも1つのビットストリームを送信するように構成された少なくとも1つのプロセッサ、を含むサーバと、を備える、システム。
【請求項2】
前記マルチ機器デバイスは、所望の試験及び測定デバイスをロードするためにユーザデバイスから要求を受信して、前記ユーザデバイスからの要求に応答して、前記所望の試験及び測定デバイスに対応する前記少なくとも1つのビットストリームを提供するために前記サーバと前記要求を通信するように構成されている、請求項1に記載のシステム。
【請求項3】
前記少なくとも1つのビットストリームを提供するための前記要求は第1の要求であり、前記少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、前記少なくとも1つのプロセッサは、
第2の少なくとも1つのビットストリームを提供するための第2の要求を受信し、
前記第2の要求に応答して、第2の少なくとも1つのビットストリームを前記メモリから取り出し、前記第2の少なくとも1つのビットストリームを前記マルチ機器デバイスに送信するように構成されており、
前記コントローラは、
前記第2の少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成されている、請求項1又は2に記載のシステム。
【請求項4】
前記マルチ機器デバイスは、
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを、別個の物理的出力ポートに出力するように構成されたデータインターフェースを更に含む、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
前記マルチ機器デバイスは、
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを、シリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたデータインターフェースを更に含む、請求項1~4のいずれか一項に記載のシステム。
【請求項6】
前記静的再構成可能部分は、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から前記複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む、請求項1~5のいずれか一項に記載のシステム。
【請求項7】
前記静的再構成可能部分は、前記複数の動的再構成可能部分の出力と結合された入力と、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、前記コントローラは、前記複数の動的再構成可能部分の前記出力のうちの少なくとも1つが、前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分の前記入力に提供されることを可能にするように前記マルチプレクサを制御するように構成されている、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
前記複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する、請求項1~7のいずれか一項に記載のシステム。
【請求項9】
前記静的再構成可能部分は、
前記複数の動的再構成可能部分の
少なくとも1つの動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、前記少なくとも1つのチャネルバッファの各々は、前記複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合されており、前記少なくとも1つのチャネルバッファは、前記チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームを
前記マルチ機器デバイスのメモリに提供するように構成されている、請求項1~8のいずれか一項に記載のシステム。
【請求項10】
前記コントローラは、
前記マルチ機器デバイスの前記メモリに記憶された前記バッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、前記出力チャネルバッファデータを前記マルチ機器デバイスの1つ以上の出力ポートに提供するように構成されている、請求
項9に記載のシステム。
【請求項11】
前記出力チャネルバッファデータは画像フレームである、請求項10に記載のシステム。
【請求項12】
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームが、
前記マルチ機器デバイスの前記メモリに記憶される、請求項1~11のいずれか一項に記載のシステム。
【請求項13】
前記コントローラは、前記チャネルデータストリームを前記マルチ機器デバイスの前記1つ以上の出力ポートに出力するように構成されている、請求項12に記載のシステム。
【請求項14】
前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分が、
制御バスを介して前記コントローラと結合された少なくとも1つの制御レジスタと、
前記制御バスを介して前記コントローラと結合された少なくとも1つのメモリユニットとを含み、
前記少なくとも1つの制御レジスタ及び前記少なくとも1つのメモリユニットは、前記コントローラから受信した構成データを記憶し、前記少なくとも1つのメモリユニットは、前記少なくとも1つの制御レジスタよりもサイズが大きい、請求項1~13のいずれか一項に記載のシステム。
【請求項15】
前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分が、
少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、前記複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、
少なくとも1つのプロセッサであって、その少なくとも1つの入力が、前記少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む、請求項1~14のいずれか一項に記載のシステム。
【請求項16】
前記マルチ機器デバイスと通信可能に結合され、かつ前記サーバと通信可能に結合された前記ユーザデバイスを更に備え、前記ユーザデバイスは、
別の前記少なくとも1つのビットストリームを提供するため
の要求を前記サーバに送信し、前記
別の少なくとも1つのビットストリームを含む送信を前記サーバから受信し、前記
別の少なくとも1つのビットストリームを前記マルチ機器デバイスに送信するように構成されている、請求項1~15のいずれか一項に記載のシステム。
【請求項17】
前記静的再構成可能部分は、少なくとも1つのアナログ-デジタル変換器(ADC)及び少なくとも1つのデジタル-アナログ変換器(DAC)を含み、前記複数の動的再構成可能部分の各々は、前記少なくとも1つのADCと選択的に結合され、かつ前記少なくとも1つのDACと選択的に結合されている、請求項1~16のいずれか一項に記載のシステム。
【請求項18】
マルチ機器デバイスであって、
静的再構成可能部分と、
複数の動的再構成可能部分であって、前記複数の動的再構成可能部分のうちの少なくとも1つが試験及び測定デバイスとして構成されている、複数の動的再構成可能部分と、
前記静的再構成可能部分及び前記複数の動的再構成可能部分と結合されたコントローラであって、
データインターフェースを介して受信された少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの少なくとも1つを試験及び測定デバイスとして再構成し、
前記静的再構成可能部分を、前記複数の動的再構成可能部分の各々によって生成されたデータストリームを複数の出力ポートに提供するように再構成するように構成されたコントローラと、を備
え、
前記コントローラは、さらに、前記複数の動的再構成可能部分のうちの少なくとも1つを再構成するための命令をユーザデバイスから受信して、命令の受信に応答して、前記少なくとも1つのビットストリームを提供するためにサーバに要求するように構成されている、マルチ機器デバイス。
【請求項19】
前記複数の出力ポートは複数の物理的出力ポートを含み、前記複数の物理的出力ポートの各物理的出力ポートは、前記複数の動的再構成可能部分のうちのいずれか1つに選択的に結合されている、請求項18に記載のマルチ機器デバイス。
【請求項20】
複数の入力ポートと、
前記複数の入力ポートと結合された複数のアナログ-デジタル変換器(ADC)と、を更に備え、
前記静的再構成可能部分は、前記複数のADCと結合されかつ前記複数のADCの各々からのデジタル信号を前記複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む、請求項18又は19に記載のマルチ機器デバイス。
【請求項21】
複数の出力ポートと、
前記複数の出力ポートと結合された複数のデジタル-アナログ変換器(DAC)と、を更に備え、
前記静的再構成可能部分は、前記複数のDACと結合されかつ前記複数の動的再構成可能部分の各々からの出力信号を前記複数のDACの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む、請求項18~20のいずれか一項に記載のマルチ機器デバイス。
【請求項22】
前記少なくとも1つのビットストリームは第1の少なくとも1つのビットストリームであり、前記少なくとも1つのコントローラは、
前記データインターフェースを介して第2の少なくとも1つのビットストリームを受信し、
前記第2の少なくとも1つのビットストリームに基づいて、前記複数の動的再構成可能部分のうちの前記少なくとも1つを、1つの試験及び測定デバイスから別の試験及び測定デバイスに再構成するように構成されている、請求項18~21のいずれか一項に記載のマルチ機器デバイス。
【請求項23】
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームを別個の物理的出力ポートに出力するように構成された出力インターフェースを更に備える、請求項18~22のいずれか一項に記載のマルチ機器デバイス。
【請求項24】
前記複数の動的再構成可能部分の各々に関連付けられたデータストリームをシリアルデータポート又はネットワークポートの少なくとも一方に出力するように構成されたネットワークインターフェースを更に備える、請求項18~22のいずれか一項に記載のマルチ機器デバイス。
【請求項25】
前記静的再構成可能部分は、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分から前記複数の動的再構成可能部分のうちの少なくとも1つの別の動的再構成可能部分に信号を搬送するように構成された少なくとも1つのデータバスを含む、請求項18~24のいずれか一項に記載のマルチ機器デバイス。
【請求項26】
前記静的再構成可能部分は、前記複数の動的再構成可能部分の出力と結合された入力と、前記複数の動的再構成可能部分のうちの少なくとも1つの動的再構成可能部分の入力と結合された少なくとも1つの出力とを有する少なくとも1つのマルチプレクサを含み、前記コントローラは、前記複数の動的再構成可能部分の前記出力のうちの少なくとも1つが、前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分の前記入力に提供されることを可能にするように前記マルチプレクサを制御するように構成されている、請求項18~25のいずれか一項に記載のマルチ機器デバイス。
【請求項27】
前記複数の動的再構成可能部分の少なくとも1つの出力が、量子化されたほぼリアルタイムのアナログ信号を表すデータストリームを提供する、請求項18~26のいずれか一項に記載のマルチ機器デバイス。
【請求項28】
前記静的再構成可能部分は、
前記複数の動的再構成可能部分の
少なくとも1つの動的再構成可能部分と結合された少なくとも1つのチャネルバッファを含み、前記少なくとも1つのチャネルバッファの各々は、前記複数の動的再構成可能部分のうちの対応するもののチャネル出力と結合されており、前記少なくとも1つのチャネルバッファは、前記チャネル出力によって出力されたチャネルデータストリームをバッファリングし、バッファリングされたチャネルデータストリームをメモリに提供するように構成されている、請求項18~27のいずれか一項に記載のマルチ機器デバイス。
【請求項29】
前記コントローラは、前記メモリに記憶された前記バッファリングされたチャネルデータを処理して出力チャネルバッファデータを生成し、前記出力チャネルバッファデータを前記マルチ機器デバイスの1つ以上の出力ポートに提供するように構成されている、請求項18~28のいずれか一項に記載のマルチ機器デバイス。
【請求項30】
前記出力チャネルバッファデータは画像フレームである、請求項29に記載のマルチ機器デバイス。
【請求項31】
前記複数の動的再構成可能部分の各動的再構成可能部分と結合された少なくとも1つのチャネルバッファのチャネルデータストリームが、前記メモリに記憶される、請求項18~30のいずれか一項に記載のマルチ機器デバイス。
【請求項32】
前記コントローラは、前記チャネルデータストリームを前記マルチ機器デバイスの1つ以上の出力ポートに出力するように構成されている、請求項31に記載のマルチ機器デバイス。
【請求項33】
前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分は、
制御バスを介して前記コントローラと結合された少なくとも1つの制御レジスタと、
前記制御バスを介して前記コントローラと結合された少なくとも1つのメモリユニットとを含み、
前記少なくとも1つの制御レジスタ及び前記少なくとも1つのメモリユニットは、前記コントローラから受信した構成データを記憶し、前記少なくとも1つのメモリユニットは、前記少なくとも1つの制御レジスタよりもサイズが大きい、請求項18~32のいずれか一項に記載のマルチ機器デバイス。
【請求項34】
前記複数の動的再構成可能部分のうちの前記少なくとも1つの動的再構成可能部分は、
少なくとも1つのマルチプレクサであって、その少なくとも1つの入力が、前記複数の動的再構成可能部分のうちの1つ以上の他の動的再構成可能部分のデータストリーム出力と結合されている、少なくとも1つのマルチプレクサと、
少なくとも1つのプロセッサであって、その少なくとも1つの入力が、前記少なくとも1つのマルチプレクサの少なくとも出力と結合されている、少なくとも1つのプロセッサと、を含む、請求項18~33のいずれか一項に記載のマルチ機器デバイス。
【請求項35】
前記サーバからの前記少なくとも1つのビットストリームを記憶するメモリ記憶装置と結合されたメモリインターフェースを更に備え、
前記コントローラは、前記メモリインターフェースを介して、前記メモリ記憶装置からの前記少なくとも1つのビットストリームにアクセスするように構成されている、請求項18~34のいずれか一項に記載のマルチ機器デバイス。
【請求項36】
前記コントローラは、
前記複数の動的再構成可能部分のうちの前記少なくとも1つを再構成するための
追加の命令を
前記ユーザデバイスからインターフェースを介して受信し、
前記命令の前記受信に応答して、前記メモリ記憶装置から
の別の少なくとも1つのビットストリームに前記メモリインターフェースを介してアクセスするように構成されている、請求項35に記載のマルチ機器デバイス。
【請求項37】
少なくとも1つのデジタル入力ポートを更に備え、
前記静的再構成可能部分は、前記少なくとも1つのデジタル入力ポートと結合されかつ前記少なくとも1つのデジタル入力ポートの各々からのデジタル信号を前記複数の動的再構成可能部分の各々に選択的に提供するように構成された、少なくとも1つの入力バスを含む、請求項18~36のいずれか一項に記載のマルチ機器デバイス。
【請求項38】
少なくとも1つのデジタル出力ポートを更に備え、
前記静的再構成可能部分は、前記少なくとも1つのデジタル出力と結合されかつ前記複数の動的再構成可能部分の各々からの出力信号を前記少なくとも1つのデジタル出力ポートの各々に選択的に提供するように構成された、少なくとも1つの出力バスを含む、請求項18~37のいずれか一項に記載のマルチ機器デバイス。
【国際調査報告】