JP2022540420A - サテライトadcを使用したfpga上でのルートモニタリング - Google Patents
サテライトadcを使用したfpga上でのルートモニタリング Download PDFInfo
- Publication number
- JP2022540420A JP2022540420A JP2022500668A JP2022500668A JP2022540420A JP 2022540420 A JP2022540420 A JP 2022540420A JP 2022500668 A JP2022500668 A JP 2022500668A JP 2022500668 A JP2022500668 A JP 2022500668A JP 2022540420 A JP2022540420 A JP 2022540420A
- Authority
- JP
- Japan
- Prior art keywords
- monitor
- reference voltage
- satellite
- satellite monitors
- monitors
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012937 correction Methods 0.000 claims description 75
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 239000004744 fabric Substances 0.000 description 45
- 238000006243 chemical reaction Methods 0.000 description 37
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 28
- 239000002184 metal Substances 0.000 description 18
- 238000013461 design Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 6
- 230000001427 coherent effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000006731 degradation reaction Methods 0.000 description 6
- 101100309519 Arabidopsis thaliana SAT1 gene Proteins 0.000 description 4
- 101000641077 Homo sapiens Diamine acetyltransferase 1 Proteins 0.000 description 4
- 101000713305 Homo sapiens Sodium-coupled neutral amino acid transporter 1 Proteins 0.000 description 4
- 101150015378 SAT5 gene Proteins 0.000 description 4
- 102100030100 Sulfate anion transporter 1 Human genes 0.000 description 4
- 101100060528 Zea mays CNR8 gene Proteins 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00369—Modifications for compensating variations of temperature, supply voltage or other physical parameters
- H03K19/00384—Modifications for compensating variations of temperature, supply voltage or other physical parameters in field effect transistor circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
Abstract
プログラマブルデバイスのいくつかの動作状況を監視するためのシステムおよび方法が開示される。いくつかの実装形態では、システムは、基準電圧を発生させるように構成された回路機器を含むルートモニタと、プログラマブルデバイス全体に分散された複数のセンサおよびサテライトモニタと、ルートモニタに、および複数のサテライトモニタのそれぞれに連結された相互接続システムとを含み得る。サテライトモニタのそれぞれは、複数のセンサの対応する1つの近傍にあり、これらにローカル相互接続を介して連結され得る。相互接続システムは、基準電圧を複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルを含み得、データパケットとしてデジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルを含み得る。【選択図】図1
Description
本開示は一般に集積回路に関し、詳細には、集積回路の1つまたは複数の動作状況を監視することに関する。
プログラマブルロジックデバイス(PLD:Programmable logic device)は、様々なユーザ指定回路設計を実装するようにユーザによってプログラムされ得るデバイスである。PLDの1つの例は、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)である。FPGAは、コンフィギュラブルロジックブロック(CLB:configurable logic block)、専用ランダムアクセスメモリブロック(BRAM)、入出力ブロック(IOB)、デジタルシグナルプロセッサ(DSP:digital signal processor)、いくつかの処理コア、および、プログラマブル相互接続構造によって互いに選択的に接続され得る他のサブシステム(メモリコントローラ、デバイス管理リソース、および構成回路機器など)のアレイを含み得る。ユーザ指定回路設計は、プログラマブルデバイスの様々なブロック、相互接続構造、およびサブシステムによって実施される機能および動作をまとめて決定する構成レジスタに、ユーザ指定回路設計を表現する構成データをロードすることによってプログラマブルデバイス内に実装され得る。
プログラマブルデバイス内の電気構成要素は、典型的には、指定の動作状況の範囲内で動作する。1つの例として、電気構成要素は、指定温度範囲内で動作するように設計され得、動作温度が特定のレベルを超えて上昇すると、無効化されるか、電源を切られ得る。別の例として、供給電圧は、典型的には、プログラマブルデバイス内に提供された他の電気構成要素に比較的一定の動作電圧を提供するために、最小電圧レベルと最大電圧レベルとの間で維持される。より低い供給電圧およびより小さいデバイス形状を使用しつつ、プログラマブルデバイスのサイズおよび複雑性が増すにつれて、デバイスの動作状況が監視され得る精度は、ますます重要になる。
本概要は、「発明を実施するための形態」において下記でさらに説明される概念の選択を単純な形で紹介するために提供される。本概要は、特許請求される主題の主要な特徴または不可欠の特徴を識別することを意図するものでも、特許請求される主題の範囲を限定することを意図するものでもない。その上、本開示のシステム、方法、およびデバイスはそれぞれ、いくつかの革新的な態様を有し、これらのうちのただ1つが単に、本明細書で開示される望ましい属性の原因となるわけではない。
本開示で説明される主題の1つの革新的な態様は、プログラマブルデバイス全体に分散された様々な回路および構成要素の動作状況を監視するように実装することができる。いくつかの実装形態では、プログラマブルデバイスは、複数のコンフィギュラブルロジックリソース、ルートモニタ、プログラマブルデバイス全体の様々なロケーションに分散されたいくつかのセンサ、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタ、ならびに、コンフィギュラブルロジックリソースに、ルートモニタに、および複数のサテライトモニタのそれぞれに連結されたネットワーク相互接続システムを含み得る。センサのそれぞれは、様々なロケーションの対応する1つにおける関連付けられた回路の動作状況を測定するように構成され得、測定された動作状況を示すアナログ信号を、サテライトモニタの対応する1つに提供し得る。いくつかの態様では、動作状況は、関連付けられた回路の温度または電圧レベルの少なくとも1つを含み得る。
サテライトモニタのそれぞれは、1つまたは複数の関連付けられたセンサからアナログ信号を受け取るための入力を有し、デジタルデータをネットワーク相互接続システムに提供するための出力を有する、アナログ/デジタルコンバータ(ADC:analog-digital converter)を含み得る。ADCは、1つまたは複数の関連付けられたセンサの動作状況を示すデジタルデータに、アナログ信号を変換し得、デジタルデータを、ネットワーク相互接続システムを介してルートモニタに提供し得る。
ルートモニタは、基準電圧を発生させるように構成された回路機器を含み得、複数のサテライトモニタから受け取られたデジタルデータを格納するように構成されたメモリを含み得る。いくつかの実装形態では、ルートモニタは、温度変化に対する基準電圧を補償するバンドギャップ基準回路を含み得る。さらに、または別の方式では、ルートモニタは、関連付けられた回路の測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラを含み得る。いくつかの態様では、コントローラは、測定された動作状況が1つの範囲内でないことを示す決定に基づいて、アラームを生成するようにさらに構成され得る。
ネットワーク相互接続システムは、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成され得、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成され得る。いくつかの実装形態では、ネットワーク相互接続システムは、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルを含み得、デジタルデータをサテライトモニタからルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルを含み得る。いくつかの態様では、デジタルデータは、個別にアドレス指定可能なデータパケットとして、ネットワーク相互接続システムを通じてルートされ得る。他の態様では、デジタルデータは、非パケット化デジタル信号として、ネットワーク相互接続システムを通じてルートされ得る。
いくつかの実装形態では、サテライトモニタのそれぞれは、相互接続システムによって配布された基準電圧を、制御信号に基づいてサテライトモニタに選択的に連結するように構成されたスイッチを含み得る。制御信号は、ルートモニタによって生成され得、ネットワーク相互接続システムを介して(または他の適切な信号相互接続によって)対応するサテライトモニタに配布され得る。いくつかの態様では、ルートモニタは、サテライトモニタのただ1つが、任意の時点でネットワーク相互接続システムから配布された基準電圧にアクセスすることを許容するタイミングスケジュールに基づいて、制御信号を選択的にアサートし得る。
プログラマブルデバイスのいくつかの動作状況を監視するための実例のシステムは、ルートモニタと、プログラマブルデバイス全体に分散された複数のセンサと、プログラマブルデバイス全体に分散された複数のサテライトモニタと、少なくともルートモニタ、および複数のサテライトモニタのそれぞれに連結されたネットワーク相互接続システムとを含み得る。ルートモニタは、アナログ/デジタル変換を実施するために使用可能な、基準電圧を発生させるように構成された回路機器を含み得る。いくつかの実装形態では、ルートモニタは、温度変化に対する基準電圧を補償するバンドギャップ基準回路を含み得る。さらに、または別の方式では、ルートモニタは、関連付けられた回路の測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラを含み得る。いくつかの態様では、コントローラは、測定された動作状況が1つの範囲内でないことを示す決定に基づいて、アラームを生成するようにさらに構成され得る。
センサのそれぞれは、関連付けられた回路の動作状況を示すアナログ信号を生成するように構成され得、サテライトモニタのそれぞれは、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、ネットワーク相互接続システムを介してルートモニタにルートされ得るデジタルデータに変換するように構成され得る。
ネットワーク相互接続システムは、基準電圧を複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルを含み得、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルを含み得る。いくつかの態様では、デジタルデータは、個別にアドレス指定可能なデータパケットとして、ネットワーク相互接続システムを通じてルートされ得る。他の態様では、デジタルデータは、非パケット化デジタル信号として、ネットワーク相互接続システムを通じてルートされ得る。
サテライトモニタのそれぞれは、アナログ信号をデジタルデータに変換するように構成されたアナログ/デジタルコンバータ(ADC)を含み得る。いくつかの実装形態では、サテライトモニタのそれぞれは、相互接続システムによって配布された基準電圧を、制御信号に基づいてサテライトモニタに選択的に連結するように構成されたスイッチを含み得る。制御信号は、ルートモニタによって生成され得、ネットワーク相互接続システムを介して(または他の適切な信号相互接続によって)対応するサテライトモニタに配布され得る。いくつかの態様では、ルートモニタは、サテライトモニタのただ1つが、任意の時点でネットワーク相互接続システムから配布された基準電圧にアクセスすることを許容するタイミングスケジュールに基づいて、制御信号を選択的にアサートし得る。
本明細書で開示される実例の方法は、プログラマブルデバイスのいくつかの動作状況を監視するために使用され得る。方法は、プログラマブルデバイス内に提供されたルートモニタに関連付けられた電圧発生器を使用して基準電圧を発生させることと、プログラマブルデバイス内に統合されたネットワーク相互接続システムの1つまたは複数のアナログチャネルを使用して、基準電圧を複数のサテライトモニタのそれぞれに配布することとを含み得る。いくつかの実装形態では、基準電圧を配布することは、対応する制御信号に基づいて、複数のサテライトモニタのそれぞれをネットワーク相互接続システムに選択的に連結することを含み得る。制御信号は、ルートモニタによって生成され、ネットワーク相互接続システムによって複数のサテライトモニタに配布され得る。いくつかの態様では、ルートモニタは、サテライトモニタのただ1つが、任意の時点でネットワーク相互接続システムから配布された基準電圧にアクセスすることを許容するタイミングスケジュールに基づいて、制御信号を選択的にアサートし得る。
方法はまた、いくつかのセンサのそれぞれを使用して、関連付けられた回路の動作状況を示すアナログ信号を生成することと、アナログ信号を複数のサテライトモニタのうちの対応するものに提供することとを含み得る。アナログ信号は、複数のサテライトモニタを使用してデジタルデータに変換され得、デジタルデータは、ネットワーク相互接続システムの1つまたは複数のデジタルチャネルを使用して、複数のサテライトモニタからルートモニタに選択的にルートされ得る。いくつかの態様では、デジタルデータは、個別にアドレス指定可能なデータパケットとして、ネットワーク相互接続システムを通じてルートされ得る。他の態様では、デジタルデータは、非パケット化デジタル信号として、ネットワーク相互接続システムを通じてルートされ得る。
方法はまた、関連付けられた回路の動作状況が1つの範囲内であるかどうかを決定すること、および決定に基づいて1つまたは複数のアラームを選択的に生成することを含み得る。いくつかの実装形態では、アラームは、関連付けられた回路の少なくとも1つの動作状況が1つの範囲内にないときに生成され得、これは、関連付けられた回路の少なくとも1つが特定の条件外で動作していることを示し得る。
本開示で説明される主題の1つの革新的態様は、プログラマブルデバイス全体に分散された様々な回路および構成要素の動作状況を監視するために実装することができる。いくつかの実装形態では、プログラマブルデバイスは、複数のコンフィギュラブルロジックリソースを含むプログラマブルロジック、ルートモニタ、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサ、およびプログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタを含み得る。センサのそれぞれは、様々なロケーションの対応する1つの近傍にある1つまたは複数の関連付けられた回路の測定された動作状況を示すアナログ信号を生成するように構成され得、1つまたは複数のローカル信号線を介して、アナログ信号をサテライトモニタうちの関連付けられた1つに提供し得る。いくつかの態様では、動作状況は、関連付けられた回路の温度または電圧レベルの少なくとも1つを含み得る。
ルートモニタは、温度非依存性基準電圧を発生させるように構成されたバンドギャップ電圧発生器を含み得、複数のサテライトモニタから受け取られたデジタルデータを格納するためのメモリを含み得る。ルートモニタはまた、関連付けられた回路の測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラを含み得る。いくつかの態様では、コントローラは、測定された動作状況が1つの範囲内でないことを示す決定に基づいて、アラームを生成するようにさらに構成され得る。
サテライトモニタのそれぞれは、ローカル基準電圧を発生させるように構成された比較的小さいローカル電圧源、アナログ/デジタルコンバータ(ADC)、較正回路、および訂正回路を含み得る。ADCは、ローカル基準電圧を受け取るための基準端子を含み得、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、測定された動作状況を示すデジタルコードに変換するように構成され得る。較正回路は、デジタルコードのエラーを示す訂正因子を生成するように構成され得、訂正回路は、訂正因子に基づいてADCによって生成されたデジタルコードを訂正するように構成され得る。
いくつかの実装形態では、サテライトモニタのそれぞれは、温度非依存性基準電圧を受け取るために連結された第1の入力端子と、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を受け取るために連結された第2の入力端子と、制御信号を受け取るために連結された制御端子と、サテライトモニタ内のADCの入力端子に連結された出力端子とを含むスイッチを含み得る。較正動作中、スイッチは、温度非依存性基準電圧をADCへの入力信号として提供し得、ADCは、基準コードを生成するために温度非依存性基準電圧をサンプリングし得る。較正回路は、ADCによって生成された基準コードと、温度非依存性基準を示す所定のデジタルコードとの間の差に基づいて、訂正因子を生成し得る。監視動作中、スイッチは、センサからのアナログ信号をADCへの入力信号として提供し得、ADCは、デジタルコードを生成するために、1つまたは複数の関連付けられたセンサからのアナログ信号をサンプリングし得、訂正回路は、デジタルコードを訂正するために訂正因子を使用し得る。
ルートモニタは、複数のサテライトモニタを較正するためのタイミングスケジュールに少なくとも部分的に基づいて制御信号を生成し得る。いくつかの実装形態では、タイミングスケジュールは、サテライトモニタのただ1つが、温度非依存性基準電圧に同時にアクセスすることを許容することによって、複数のサテライトモニタのそれぞれの較正を順次有効化するように構成され得る。
いくつかの実装形態では、プログラマブルデバイスは、コンフィギュラブルロジックリソースに、ルートモニタに、および複数のサテライトモニタのそれぞれに連結されたネットワークオンチップ(NoC:network-on-chip)相互接続システムを含み得る。NoC相互接続システムは、制御信号をルートモニタから複数のサテライトモニタのそれぞれにルートするように構成され得、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成され得る。さらに、または別の方式では、プログラマブルデバイスは、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルを含み得る。
本明細書で開示される実例の方法は、プログラマブルデバイス全体の様々なロケーションに分散された複数の回路の動作状況を監視するために使用され得る。いくつかの実装形態では、方法は、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサの対応する1つを使用して、複数の回路のそれぞれの動作状況を示すアナログ信号を生成することと、アナログ信号のそれぞれを、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタの対応する1つに提供することと、複数のサテライトモニタのそれぞれにおいて、ローカル電圧源を使用してローカル基準電圧を発生させることと、複数のサテライトモニタのそれぞれにおいて、ローカル基準電圧に基づいて、アナログ/デジタルコンバータ(ADC)を使用して、複数のアナログ信号の対応する1つをデジタルコードに変換することと、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布することと、配布された温度非依存性基準電圧に少なくとも部分的に基づいて、複数のサテライトモニタのそれぞれの中のADCによって生成されたデジタルコードを訂正することと、訂正されたデジタルコードを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることとを含み得る。いくつかの実装形態では、温度非依存性基準電圧を配布することは、ルートモニタによって生成された対応する複数の制御信号に基づいて、複数のサテライトモニタのそれぞれが温度非依存性基準電圧にアクセスすることを順次有効化することを含み得る。
いくつかの実装形態では、訂正されたデジタルコードは、プログラマブルロジックを結び付けるネットワークオンチップ(NoC)相互接続システムを使用して、複数のサテライトモニタからルートモニタに選択的にルートされ得、温度非依存性基準電圧は、プログラマブルロジックを結び付ける1つまたは複数のアナログチャネルを使用して、ルートモニタから複数のサテライトモニタに配布され得る。いくつかの実装形態では、デジタルコードを訂正することは、温度非依存性基準電圧をADCへの入力信号として提供することと、ADCを使用して、温度非依存性基準電圧を基準コードに変換することと、基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成することと、訂正因子に基づいてデジタルコードを調節することとを含み得る。
本開示で説明される主題の1つの革新的態様は、プログラマブルデバイス全体に分散された様々な回路および構成要素の動作状況を監視するために実装することができる。いくつかの実装形態では、プログラマブルデバイスは、複数のコンフィギュラブルロジックリソースを含むプログラマブルロジック、ルートモニタ、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサ、およびプログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタを含み得る。センサのそれぞれは、様々なロケーションの対応する1つの近傍にある1つまたは複数の関連付けられた回路の測定された動作状況を示すアナログ信号を生成するように構成され得、1つまたは複数のローカル信号線を介して、アナログ信号をサテライトモニタうちの関連付けられた1つに提供し得る。いくつかの態様では、動作状況は、関連付けられた回路の温度または電圧レベルの少なくとも1つを含み得る。
ルートモニタは、温度非依存性基準電圧を発生させるように構成されたバンドギャップ電圧発生器を含み得、複数のサテライトモニタから受け取られたデジタルデータを格納するためのメモリを含み得る。ルートモニタはまた、関連付けられた回路の測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラを含み得る。いくつかの態様では、コントローラは、測定された動作状況が1つの範囲内でないことを示す決定に基づいて、アラームを生成するようにさらに構成され得る。
サテライトモニタのそれぞれは、バンドギャップ電圧発生器によって発生された温度非依存性基準電圧に基づいてローカル基準電圧を貯蔵するように構成された電圧ストア、アナログ/デジタルコンバータ(ADC)、較正回路、および訂正回路を含み得る。ADCは、ローカル基準電圧を受け取るための基準端子を含み得、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、測定された動作状況を示すデジタルコードに変換するように構成され得る。較正回路は、デジタルコードのエラーを示す訂正因子を生成するように構成され得、訂正回路は、訂正因子に基づいてADCによって生成されたデジタルコードを訂正するように構成され得る。
いくつかの実装形態では、サテライトモニタのそれぞれは、第1のスイッチおよび第2のスイッチを含み得る。第1のスイッチは、温度非依存性基準電圧を受け取るために連結された第1の入力端子と、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を受け取るために連結された第2の入力端子と、制御信号を受け取るために連結された制御端子と、サテライトモニタ内のADCの入力端子に連結された出力端子とを含み得る。第2のスイッチは、温度非依存性基準電圧を受け取るために連結された入力端子と、制御信号を受け取るために連結された制御端子と、電圧ストアに連結された出力端子とを含み得る。
較正動作中、第1のスイッチは、温度非依存性基準電圧をADCへの入力信号として提供し得、第2のスイッチは、電圧ストアを温度非依存性基準電圧から絶縁し得、ADCは、基準コードを生成するために温度非依存性基準電圧をサンプリングし得る。較正回路は、ADCによって生成された基準コードと、温度非依存性基準を示す所定のデジタルコードとの間の差に基づいて、訂正因子を生成し得る。監視動作中、第1のスイッチは、センサからのアナログ信号をADCへの入力信号として提供し得、第2のスイッチは、温度非依存性基準電圧を電圧ストアに提供し得、ADCは、デジタルコードを生成するために、1つまたは複数の関連付けられたセンサからのアナログ信号をサンプリングし得、訂正回路は、デジタルコードを訂正するために訂正因子を使用し得る。
ルートモニタは、複数のサテライトモニタを較正するためのタイミングスケジュールに少なくとも部分的に基づいて制御信号を生成し得る。いくつかの実装形態では、タイミングスケジュールは、サテライトモニタのただ1つが、温度非依存性基準電圧に同時にアクセスすることを許容することによって、複数のサテライトモニタのそれぞれの較正を順次有効化するように構成され得る。
いくつかの実装形態では、プログラマブルデバイスは、コンフィギュラブルロジックリソースに、ルートモニタに、および複数のサテライトモニタのそれぞれに連結されたネットワークオンチップ(NoC)相互接続システムを含み得る。NoC相互接続システムは、制御信号をルートモニタから複数のサテライトモニタのそれぞれにルートするように構成され得、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成され得る。さらに、または別の方式では、プログラマブルデバイスは、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルを含み得る。
本明細書で開示される実例の方法は、プログラマブルデバイス全体の様々なロケーションに分散された複数の回路の動作状況を監視するために使用され得る。いくつかの実装形態では、方法は、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサの対応する1つを使用して、複数の回路のそれぞれの動作状況を示すアナログ信号を生成することと、アナログ信号のそれぞれを、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタの対応する1つに提供することと、複数のサテライトモニタのそれぞれにおいて、温度非依存性基準電圧に基づくローカル基準電圧を貯蔵することと、複数のサテライトモニタのそれぞれにおいて、ローカル基準電圧に基づいて、アナログ/デジタルコンバータ(ADC)を使用して、複数のアナログ信号の対応する1つをデジタルコードに変換することと、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布することと、配布された温度非依存性基準電圧に少なくとも部分的に基づいて、複数のサテライトモニタのそれぞれの中のADCによって生成されたデジタルコードを訂正することと、訂正されたデジタルコードを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることとを含み得る。いくつかの実装形態では、電圧ストアは、キャパシタであり得、ローカル基準電圧は、温度非依存性基準電圧に比べて比較的不正確であり得る。いくつかの実装形態では、温度非依存性基準電圧を配布することは、ルートモニタによって生成された対応する複数の制御信号に基づいて、複数のサテライトモニタのそれぞれが温度非依存性基準電圧にアクセスすることを順次有効化することを含み得る。
訂正されたデジタルコードは、プログラマブルロジックを結び付けるネットワークオンチップ(NoC)相互接続システムを使用して、複数のサテライトモニタからルートモニタに選択的にルートされ得、温度非依存性基準電圧は、プログラマブルロジックを結び付ける1つまたは複数のアナログチャネルを使用して、ルートモニタから複数のサテライトモニタに配布され得る。いくつかの実装形態では、デジタルコードを訂正することは、温度非依存性基準電圧をADCへの入力信号として提供することと、ADCを使用して、温度非依存性基準電圧を基準コードに変換することと、基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成することと、訂正因子に基づいてデジタルコードを調節することとを含み得る。
実例の実装形態は例として示されており、添付の図面の図によって限定されることを意図するものではない。同様の数字は、図面および明細書の至る所にある同様の要素に言及する。以下の図の相対的な寸法は、スケーリングするように描かれていないことがあることに留意されたい。
本開示で説明される主題の実装形態は、プログラマブルデバイスのいくつかの動作状況を監視するために使用され得る。動作状況は、例えば、プログラマブルデバイス内に提供された回路または構成要素の温度、プログラマブルデバイスの外部の回路またはデバイスの温度、供給電圧の電圧レベル、および同様のものを含む、デバイスの動作特性またはパラメータの任意の適切な目安であり得る。本開示のいくつかの態様によれば、監視システムは、プログラマブルロジック、プロセッサおよびDSPなどの専用回路機器、ならびに、(個別にアドレス指定可能なデータパケットを使用して、プログラマブルロジックと、専用回路機器と、プログラマブルデバイスの他の回路または構成要素との間で情報をルート可能な)ネットワーク相互接続システムを含む、プログラマブルデバイス内に実装され得る。
監視システムは、ルートモニタ、プログラマブルデバイス全体の様々なロケーションに分散されたいくつかのセンサ、およびプログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタを含み得る。センサのそれぞれは、関連付けられた回路の1つまたは複数の動作状況を示すアナログ信号を生成し得、アナログ信号をサテライトモニタの対応する1つに提供し得る。サテライトモニタのそれぞれは、アナログ信号をデジタルデータに変換するためのADCを含み得、ネットワーク相互接続システムは、デジタルデータをサテライトモニタのそれぞれからルートモニタにルートし得る。いくつかの実装形態では、サテライトモニタのそれぞれは、例えば、対応するセンサによって生成されたアナログ信号が、デジタルデータへの変換のために、プログラマブルデバイスを横断してルートモニタにルートされるのではなく、デジタルデータへの変換のために、ローカル信号ワイヤを介して、対応するサテライトモニタへの比較的短い距離をルートされるように、対応するセンサの近傍に位置づけられ得る。
他の実装形態では、サテライトモニタによって生成されたデジタルデータは、クロック分散ネットワーク、プログラマブル相互接続ファブリック、および/または、デバイス内のプログラマブルロジックタイルのそれぞれの中に提供されたルーティングリソースを含む(が、これらに限定されない)、デバイス内に提供された他の適切なルーティングリソースを使用して、ルートモニタにルートされ得る。
ルートモニタは、ネットワーク相互接続システムを介して、サテライトモニタのそれぞれによって生成されたデジタルデータを受け取り得、監視されている回路の1つまたは複数が指定動作範囲内で動作していないかどうかを決定するためにデジタルデータを分析し得る。いくつかの実装形態では、ルートモニタは、トリミングおよび温度補償された基準電圧を発生させ得、ネットワーク相互接続システムは、トリミングおよび温度補償された基準電圧を、デバイスの至る所にあるサテライトモニタのそれぞれに配布し得る。
プログラマブルデバイス全体に分散された様々な回路の動作状況を監視するための従来のシステムは、典型的には、中央システムモニタと、監視されるべき回路の近くに位置づけられた複数のセンサとを含む。各センサは、関連付けられた回路の動作状況を示すアナログ信号を生成し、アナログ信号は、デジタルデータへの変換のために、センサのそれぞれからシステムモニタにルートされる。センサは、典型的には、デバイスの至る所にある様々なロケーションに分散され、したがって、センサの少なくともいくつかによって生成されたアナログ信号は、システムモニタに達するようにデバイスの大部分を横断してルートされ得る。動作状況を示すアナログ信号は、ノイズおよび干渉の影響を特に受けやすくなり得るので、プログラマブルデバイスの中には、デジタルデータへの変換のために、遮蔽特性を有する専用金属層ルーティングリソースを使用して、これらのアナログ信号を様々なセンサからシステムモニタにルートし得るものもある。
このような専用金属層ルーティングリソースの遮蔽特性は、信号劣化およびデータ損失を低減させ得るが、専用金属層ルーティングリソースは高価であり、デバイスの金属層のかなりの量を消費する。さらに、プログラマブルロジックは、典型的には、いくつかの行または列に配置された複数の繰り返し可能なタイルとして実装されるので、繰り返し可能なタイルのそれぞれの中に埋め込まれた信号ルーティングリソースは、典型的には、最悪ケースのルーティングシナリオ(デバイス密度が最大のロケーションにタイルが置かれることなど)に基づく。結果として、繰り返し可能なタイルの多くが、信号ルーティングリソースで過剰装備され、これが、未使用のルーティングリソースを生じ得、および/またはプログラマブルデバイスのスケーラビリティを制限し得る。
本開示で説明される主題の特定の実装形態は、以下の潜在的長所の1つまたは複数を実現するために実装することができる。様々な回路の動作状況を監視するセンサに直近のプログラマブルデバイスの至る所にあるロケーションに、アナログ/デジタル変換能力を有する複数のサテライトモニタを導入することによって、本明細書で開示される監視システムは、ローカルサテライトモニタを使用して、センサによって生成されたアナログ信号をデジタルデータに変換し、その後、デジタルデータを、デバイスの至る所にある様々なロケーションからルートモニタにルートし得る。結果として、アナログ信号は、デバイスの大部分を横断してルートされ、その後、デジタルデータに変換されるのではなく、デジタルデータへの変換のために、最も近くのサテライトモニタへの比較的短い距離を送信され、アナログ信号は、次に、ネットワーク相互接続システムを使用してルートモニタにルートされる。いくつかの態様では、サテライトモニタによって生成されたデジタルデータは、個別にアドレス指定可能なデータパケットとしてルートモニタにルートされ得る。他の態様では、サテライトモニタによって生成されたデジタルデータは、非パケット化データとしてルートモニタにルートされ得る。ルートモニタにおいてアナログ/デジタル変換を実施するのではなく、センサの近傍に位置づけられたサテライトモニタを使用して、アナログ信号をデジタルデータに変換することによって、本明細書で開示される監視システムは、金属層ルーティングリソースを必要とせず、プログラマブルデバイスのスケーラビリティを向上させつつ、コストを低減させ得る。さらに、アナログ/デジタル変換をローカルに(例えば、センサの近傍で)実施すること、および結果として生じたデジタルデータをサテライトモニタからルートモニタにルートすることは、例えば、プログラマブルデバイス全体に分散されたADCが、アナログ/デジタル変換を並行に(例えば、同時に)実施し得るので、(アナログ信号を、デバイスの至る所にある様々なセンサから、システムモニタ内に提供されたADCにルートする従来の技法に比べて)ルートモニタによって、より多くのセンサデータを収集し分析することを可能にし得る。
以下の説明では、本開示を完全に理解するために、特定の構成要素、回路、および処理の例などの非常に多くの具体的詳細が示される。本明細書で使用されるような用語「連結される」は、直接的に連結されること、または1つもしくは複数の介在する構成要素もしくは回路を通じて連結されることを意味する。また、以下の説明では、また説明のために、実例の実装形態を完全に理解するために特定の専門語および/または詳細が示される。それでも、これらの具体的詳細は、実例の実装形態を実践することを必要とされないこともあるということが当業者には明らかであろう。他の例では、本開示をあいまいにしないように、よく知られた回路およびデバイスがブロック図の形式で示されている。本明細書で説明される様々なバス上で提供される信号のいずれかは、他の信号で時分割され、1つまたは複数の共通バス上で提供され得る。さらに、回路素子またはソフトウェアブロック間の相互接続は、バスとして、または単一の信号線として示され得る。バスのそれぞれは、代替として、単一の信号線であり得、単一の信号線のそれぞれは、代替として、バスであり得、単一の線またはバスは、構成要素間の通信のための無数の物理または論理メカニズムのうちの任意の1つまたは複数を表し得る。実例の実装形態は、本明細書で説明される具体例に限定されるものと解釈されるべきではなく、むしろ、添付の特許請求の範囲によって定義される全ての実装形態をその範囲内に含めるべきである。
図1は、本開示の様々な態様が実装され得る実例のプログラマブルデバイス100のブロック図を示す。デバイス100は、例えば、プログラマブルロジック(PL:programmable logic)110、ネットワーク相互接続システム120、処理兼管理リソース(PMR:processing and management resource)130、CCIX兼PCIeモジュール(CPM:CCIX and PCIe Module)140、送受信ブロック150、入出力(I/O)ブロック160、メモリコントローラ170、構成ロジック180、ルートモニタ190、複数のサテライトモニタ192(1)~192(19)、およびいくつかのセンサ(S)などの、いくつかのサブシステムを含み得る。1つまたは複数の実装形態では、デバイス100は、図1に示されていない他のサブシステムまたは構成要素を含み得る。さらに、簡略化のために図示されていないが、デバイス100は、いくつかの周辺構成要素(高性能メモリデバイスなど)および/または他のデバイスもしくはチップ(別のプログラマブルデバイスなど)に連結され得る。
PL110は、多数の異なるユーザ定義機能または動作を実施するように構成またはプログラムされ得るプログラマブル回路機器を含む。いくつかの実装形態では、PL110は、例えば、図1に描写されているように、プログラマブルデバイス100内の列に配置された繰り返し可能なタイルとして実装された複数のプログラマブル回路ブロックを含み得る。プログラマブル回路ブロックは、プログラマブルファブリックサブリージョン(FSR)と呼ばれ得、プログラマブル相互接続回路機器およびプログラマブルロジック回路機器をそれぞれ含み得る。いくつかの実装形態では、プログラマブル回路ブロックは、コンフィギュラブルロジックブロック(CLB)、ランダムアクセスメモリブロック(BRAM)、デジタル信号処理ブロック(DSP)、クロックマネージャ、遅延ロックループ(DLL)、および/または、ユーザ指定回路設計を実装するようにプログラムもしくは構成可能な他のロジックもしくは回路を含み得る(が、これらに限定されない)。
プログラマブル回路ブロックまたはタイルのそれぞれの中のプログラマブル相互接続回路機器は、プログラマブル相互接続ポイント(PIP)によって相互接続された様々な長さの複数の相互接続ワイヤを含み得る。相互接続ワイヤは、特定のプログラマブルタイル内の構成要素間、異なるプログラマブルタイル内の構成要素間、およびプログラマブルタイルの構成要素と他のサブシステムまたはデバイスとの間の接続を提供するように構成され得る。プログラマブル相互接続回路機器およびプログラマブル回路ブロックは、どのようにプログラマブル要素が構成されるかを定義し、対応するユーザ指定回路設計を実装するために動作する構成レジスタに構成データをロードすることによってプログラムまたは構成され得る。いくつかの態様では、いくつかのプログラマブル回路ブロックのそれぞれの中のプログラマブル相互接続回路機器は、ブロックレベルおよび/またはデバイスレベルの信号ルーティングリソースをデバイス100に提供するプログラマブル相互接続ファブリック(簡略化のために図示せず)の一部を形成し得る。
ネットワーク相互接続システム120は、デバイス100の一部として製作され得、様々なデバイスリソース(PL110、PMR130、CPM140、送受信ブロック150、I/Oブロック160、メモリコントローラ170、構成ロジック180、ルートモニタ190、およびサテライトモニタ192(1)~192(19)など)を互いに、および簡略化のために図示していない他の構成要素と、選択的に相互接続可能な、高速高帯域幅のプログラマブル信号ルーティングネットワークを実装するために一緒に接続された任意の数の水平セグメントおよび垂直セグメント(ならびに/または対角セグメント)を含み得る。図1の実例の実装形態について、ネットワーク相互接続システム120は、2つの水平セグメントおよび4つの垂直セグメントを含むように示されている。デバイス100の幅全体に延びる第1の水平セグメントは、デバイス100の下部境界に沿って位置づけられ、デバイス100の幅全体に延びる第2の水平セグメントは、デバイス100の上部境界に沿って位置づけられる。4つの垂直セグメントは、デバイス100の高さ全体に延び、ネットワーク相互接続システム120の第1および第2の水平セグメントに接続される。いくつかの態様では、水平セグメントは、介在する回路またはインターフェースを用いずに、ネットワーク相互接続システム120がI/Oブロック160およびメモリコントローラ170と信号およびデータを交換することを可能にし得、垂直セグメントは、介在する回路またはインターフェースを用いずに、ネットワーク相互接続システム120が送受信ブロック150、処理兼管理リソース(PMR)130、およびCPM140と信号およびデータを交換することを可能にし得る。他の実装形態では、ネットワーク相互接続システム120は、他の数の水平および垂直セグメントを含み得、これらのセグメントは、デバイス100の他の位置を占め得る。したがって、図1に描写された実例のネットワーク相互接続システム120の特定のレイアウト、形状、サイズ、方向、および他の物理的特性は、本明細書で開示される様々な実装形態の例証にすぎない。
ネットワーク相互接続システム120は、ソースロケーションから宛先ロケーションに個別にアドレス指定およびルート可能なデータパケットとして、様々なデバイスリソース間で情報を送信するように構成され得る。いくつかの態様では、ネットワーク相互接続システム120上で送信されたデータパケットは、動的にアドレス指定可能であり得る。1つまたは複数の実装形態では、ネットワーク相互接続システム120は、適切なデータパケットプロトコル(トークンリングプロトコルなど)を用いて、および/またはメモリマップされたアドレスを使用して、データパケットを任意の数のソースロケーションから任意の数の宛先ロケーションにルートし得る。データパケットは、データパケットをその指示された宛先にルートするために、ネットワーク相互接続システム120によって使用可能なヘッダ情報(ソースアドレス、宛先アドレス、およびプロトコル情報など)を含み得る。
いくつかの実装形態では、データパケットは、例えば、割り当てられた優先度、トラフィックタイプ、トラフィックフロー、および/または他の尺度に基づいて、ネットワーク相互接続システム120を通じたデータパケットの送信が優先されることを可能にするサービス品質(QoS)情報を含み得る。このような実装形態では、ネットワーク相互接続システム120は、受け取られたデータパケットの優先レベルまたはトラフィッククラスを決定可能な優先ロジックを含み、送信のためのデータパケットを待ち行列に入れるときに、決定された優先レベルまたはトラフィッククラスを使用し得る。個別アドレス指定可能データパケットとして、様々なデバイスリソース間で情報を送信することによって、ネットワーク相互接続システム120は、特定のユーザ指定回路設計に関わらず、様々なデバイスリソース間の接続を提供し得、これにより、(従来のプログラマブルデバイスに比べて)デバイス100の信号ルーティング能力を著しく向上させる。例えば、デバイス100のプログラマブル相互接続ファブリックおよび他のタイルベースの信号ルーティング構造は、典型的には、指定の回路間のポイントツーポイント信号接続を提供するように構成されるが、ネットワーク相互接続システム120は、複数のデータパケットのそれぞれを、デバイス100上の任意のソースアドレスから任意の宛先アドレスに同時にルートし得、これにより、システムレベルの接続性をデバイス100に提供する。
簡略化のために図示されていないが、ネットワーク相互接続システム120はまた、スケジューラおよびアービトレーションロジックを含み得る。スケジューラは、ネットワーク相互接続システム120の1つまたは複数の物理および/または仮想チャネルを使用した、ソースアドレスから宛先アドレスへのデータパケットの送信をスケジュールするために使用され得る。アービトレーションロジックは、例えば、衝突、および他の競合関連のレイテンシを最小化するために、ネットワーク相互接続システム120へのアクセスを調停するために使用され得る。デバイス100が、スタックドシリコン相互接続(SSI)技術を使用して製作される実装形態について、ネットワーク相互接続システム120の柱状部分は、例えば、マスタSLRとスレーブSLRとの間で構成データがルートされることを可能にするために、隣のスーパーロジック領域(SLR)との間の信号接続を提供し得る。
ネットワーク相互接続システム120は、ネットワーク相互接続システム120内の、またはネットワーク相互接続システム120に関連付けられた、様々なスイッチ、インターフェース、およびルータが、特定のユーザ指定回路設計を実装するために、どのように構成されるかを定義する対応する構成レジスタに、構成データをロードすることによってプログラムされ得る。いくつかの実装形態では、ネットワーク相互接続システム120は、ネットワーク相互接続システム120と、デバイス100の様々なリソース、サブシステム、回路、および他の構成要素との間の選択的接続を提供する複数のノード、ポート、または他のインターフェース(簡略化のために図示せず)を含み得る。例えば、ネットワーク相互接続システム120は、デバイス100の複数のサブシステムが、オンチップメモリ(OCM)リソース、処理リソース、I/Oリソース、および/または送受信ブロック150へのアクセスを共有することを可能にし得る。ネットワーク相互接続システム120のノード、ポート、または他のインターフェースは、いくつかの関連付けられた構成レジスタに構成データをロードすることによって、特定の接続プロフィールを実装するようにプログラムされ得る。
大量のデータを要求および使用し得るデバイス100の様々なリソース、サブシステム、回路、および他の構成要素を選択的に相互接続することによって、ネットワーク相互接続システム120は、ローカル相互接続リソースに対する信号ルーティング負荷を緩和し得、これにより、デバイス性能を向上させ、他のプログラマブルデバイスより大きい構成柔軟性を可能にする。その上、デバイスレベルおよびブロックレベルのプログラマブル相互接続より高いデータ送信速度および低いエラー率を有する高性能信号ルーティングネットワークを提供することによって、ネットワーク相互接続システム120は、(他のプログラマブルデバイスに比べて)デバイス100の処理能力およびデータスループットを向上させ得る。
処理兼管理リソース(PMR)130は、専用データ処理能力およびプラットフォーム管理リソースをデバイス100に提供し得る。PMR130は、図2についてより詳細に説明されたように、処理システム(PS:processing system)およびプラットフォーム管理コントローラ(PMC:platform management controller)を含み得る。いくつかの実装形態では、PSは、いくつかのプロセッサコア、キャッシュメモリ、メモリコントローラ、および、デバイス100のI/Oピンに直接的に連結するように構成可能な一方向性および/または双方向性インターフェースを含み得る。いくつかの態様では、各プロセッサコアは、連続したデータ処理のために使用可能な中央処理装置(CPU)またはスカラプロセッサを含み得る。PMCは、外部メモリから提供された構成データ(構成ビットストリームなど)に基づいて、デバイス100をブートおよび構成するために使用され得る。PMCはまた、PL110を構成するため、ならびに様々な暗号化、認証、ルートモニタリング、およびデバイス100のデバッグ能力を制御するために使用され得る。
CCIX兼PCIeモジュール(CPM)140は、デバイス100と、いくつかの周辺構成要素(外部デバイスまたはチップなど)との間の接続を提供するいくつかのインターフェースを含み得る。いくつかの実装形態では、CPM140は、送受信ブロック150を介して他のデバイスまたはチップへの接続を提供する、いくつかのペリフェラルインターコネクトエクスプレス(PCIe)インターフェース兼キャッシュコヒーレントインターコネクトフォーアクセラレータ(CCIX)インターフェースを含み得る。いくつかの態様では、PCIe兼CCIXインターフェースは、送受信ブロック150の一部として実装され得る。CPM140の1つの実例の実装形態は、図2について説明される。
送受信ブロック150は、デバイス100に接続された1つまたは複数の他のデバイスまたはチップ(簡略化のために図示せず)との信号接続を提供し得る。送受信ブロック150は、例えば、ギガビットシリアルトランシーバ(GT)などの、いくつかの異なるシリアルトランシーバを含み得る。いくつかの実装形態では、送受信ブロック150は、図1に描写されているように、デバイス100の右側および左側に沿った様々なロケーションに位置づけられたいくつかの繰り返し可能なタイルとして実装され得る。他の実装形態では、送受信ブロック150は、デバイス100の他の適切なロケーションに位置づけられ得る。1つまたは複数の実装形態では、送受信ブロック150のそれぞれは、1つまたは複数の関連付けられた電圧供給源(簡略化のために図示せず)に連結され得る。いくつかの態様では、所与の送受信ブロック150内の送受信回路の各バンクは、例えば、送受信回路の各バンクが、別個の電圧供給源を使用して電力供給され得るように、対応する電圧供給源を含み得るか、対応する電圧供給源に連結され得る。
I/Oブロック160は、デバイスのI/Oピン(簡略化のために図示せず)に連結され、I/O能力をデバイス100に提供し得る。例えば、I/Oブロック160は、1つまたは複数の他のデバイスからデータを受け取り得、受け取られたデータをデバイス100内のいくつかの宛先に移動させ得る。I/Oブロック160はまた、デバイス100内のいくつかのソースからデータを受け取り得、受け取られたデータをデバイスのI/Oピンを介して1つまたは複数の他のデバイスに移動させ得る。いくつかの実装形態では、I/Oブロック160は、繰り返し可能なタイルとして実装され得る。デバイス100は、任意の適切な数のI/Oブロック160を含み得、したがって、図1に描写された実例の実装形態は、例証にすぎない。
I/Oブロック160は、任意の数の適切なI/O回路またはデバイスを含み得る。いくつかの実装形態では、I/Oブロック160は、超高性能I/O(XPIO)回路、高密度I/O(HDIO)回路、および多重化I/O(MIO)回路を含み得る。XPIO回路は、メモリコントローラ170への高速低レイテンシインターフェースを提供することなど、高性能通信に最適化され得る。1つまたは複数の実装形態では、XPIO回路は、メモリコントローラ170を使用せずにデバイス100の他のサブシステムによってアクセス可能な、専用メモリリソースを含み得る。HDIO回路は、(XPIO回路に比べると)より低いスピードおよびより高い電圧I/Oの能力をサポートする費用効果の高い解決策を提供し得る。MIO回路は、例えば、PL110、PMR130、およびCPM140などの、様々なサブシステムによってアクセス可能な汎用I/Oリソースを提供し得る。
メモリコントローラ170は、デバイス100内および/または外に提供された様々なメモリリソースへのアクセスを制御するために使用され得る。いくつかの実装形態では、メモリコントローラ170は、I/Oブロック160の1つまたは複数に常駐する専用メモリにアクセスするために使用され得る。メモリコントローラ170は、ダブルデータレートv4(DDR4)メモリコントローラ、高帯域幅メモリ(HBM)コントローラ、および/または他の適切なメモリコントローラを含み得る。1つまたは複数の実装形態では、メモリコントローラ170のいくつかまたは全ては、メモリアクセス効率を改善し得るトランザクション並べ替え能力(transaction reordering capabilities)を有するスケジューラを含み得る。さらに、または別の方式では、メモリコントローラ170を実装する繰り返し可能なタイルは互いに異なり得る。例えば、第1の数のメモリコントローラ170は、DDR4メモリコントローラを実装し得、第2の数のメモリコントローラ170は、LPDDR4メモリコントローラを実装し得、第3の数のメモリコントローラ170は、HBMコントローラを実装し得る。
デバイス100は、任意の数のI/Oブロック160およびメモリコントローラ170を含み得、したがって、図1に描写されたI/Oブロック160およびメモリコントローラ170の数および位置は例証にすぎない。いくつかの実装形態では、I/Oブロック160とメモリコントローラ170の第1の行は、デバイス100の下縁に沿って位置づけられた繰り返し可能なタイルとして実装され得、I/Oブロック160とメモリコントローラ170の第2の行は、デバイス100の上縁に沿って位置づけられた繰り返し可能なタイルとして実装され得る。いくつかの実装形態では、I/Oブロック160およびメモリコントローラ170は、例えば、図1の例に描写されているように、交互に位置づけられるか、互いに対して分散され得る。他の実装形態では、I/Oブロック160とメモリコントローラ170とのペアは、同じ繰り返し可能タイル内に実装され得る。
いくつかの実装形態では、デバイス100の下部に沿って位置づけられたI/Oブロック160とメモリコントローラ170の第1の行は、ネットワーク相互接続システム120の第1の水平セグメントに連結され得、デバイス100の上部に沿って位置づけられたI/Oブロック160とメモリコントローラ170の第2の行は、ネットワーク相互接続システム120の第2の水平セグメントに連結され得る。このようにして、ネットワーク相互接続システム120は、デバイス100のプログラマブルリソースとそのI/Oピン(簡略化のために図示せず)との間の接続を提供し得る。
いくつかの実装形態では、デバイス100は、デバイス100の高さ全体に垂直に延び、送受信ブロック150の近傍に位置づけられた、接続ファブリック(簡略化のために図示せず)の1つまたは複数の列を含み得る。接続ファブリックは、USBコントローラ、イーサネットMAC、マルチレート(MR)イーサネットMAC(MRMAC)、PCIeコントローラ、CCIXコントローラ、および/または、送受信ブロック150とPL110との間の接続を提供するための他の構成要素を含む(が、これらに限定されない)、いくつかの配線接続回路を含み得る。
構成ロジック180は、外部メモリからの構成データ(構成ビットストリームなど)、ならびに構成データのルート部分(フレーム、ワード、バイト、および/またはビットなど)を、デバイス100の様々なプログラマブルリソースがどのように構成されるかを定義する適切な構成レジスタにロードするために使用され得る。構成ロジック180はまた、デバイス100を部分的に再構成するため、および/またはデバイス100の1つもしくは複数の部分を内部で再構成するために使用され得る。いくつかの実装形態では、構成ロジック180は、構成レジスタ、境界走査検査回路機器(TAPコントローラ回路機器など)、デバイス100から読み出された構成データのビットストリームを暗号化するための暗号化回路機器、およびデバイス100にロードされた構成データのビットストリームを復号するための復号回路機器を含み得る。
簡略化のために図示されていないが、デバイス100は、プログラマブルファブリックと、デバイス100の境界に位置づけられたI/Oブロック160とメモリコントローラ170の行のそれぞれとの間のインターフェースを含み得る。このインターフェースは、本明細書では境界ロジックインターフェース(BLI)と呼ばれることもあり、大きく複雑な外部デバイス(HBMなど)がデバイス100のプログラマブルファブリック内のはるかに小さいブロック(CLBなど)のように見えることを可能にし得る。いくつかの実装形態では、BLIは、プログラマブルファブリックの上部および下部の境界または縁に位置づけられた行に配置され得る。このようにして、BLIは、円柱ロジック構造(CLB列またはDSP列など)とI/Oリソース(I/Oブロック160など)の行との間で信号をルートするために使用され得る。
本開示の様々な態様によれば、プログラマブルデバイス100は、例えば、選択された回路が指定の動作可能パラメータ内で動作することを保証するために、プログラマブルデバイス100の至る所に提供された複数の選択された回路の1つまたは複数の動作状況を監視可能な監視システムを含み得る。本明細書で開示される監視システムは、例えば、温度、電圧レベル、および電流レベルを含む、選択された回路の任意の適切な動作状況を測定し得る。本明細書で使用されるように、用語「選択された回路」は、デバイス100の正規の動作を保証するために、1つまたは複数の動作状況を監視するために選択可能な任意の回路、構成要素、供給電圧、構造、またはデバイスのことを指し得る。いくつかの実装形態では、監視システムは、選択された回路の1つまたは複数の測定された動作状況が動作状況の指定範囲に含まれないときに、アラーム(または複数のアラーム)を生成し得る。いくつかの態様では、アラームは、デバイス100のいくつかの回路または構成要素の電源を切るために使用され得る。他の態様では、アラームは、デバイス100全体の電源を切るために使用され得る。
監視システムは、ルートモニタ190、サテライトモニタ192(1)~192(19)、センサ(S)、およびネットワーク相互接続システム120の少なくとも一部を含み得る(または、これらによって形成され得る)。ルートモニタ190は、ネットワーク相互接続システム120に連結され、基準電圧を発生させるように構成された回路機器を含み得る。ルートモニタ190によって発生された基準電圧は、アナログ/デジタル変換に適したトリミングおよび温度補償された電圧であり得る。いくつかの実装形態では、ルートモニタ190は、例えば、図1に描写されているように、デバイス100のプロセッサシステム内に位置づけられ得る。他の実装形態では、ルートモニタ190は、デバイス100内の他の適切なロケーションに位置づけられ得る。
基準電圧は、ネットワーク相互接続システム120を介してサテライトモニタ192(1)~192(19)のそれぞれに配布され得、これにより、基準電圧をサテライトモニタ192(1)~192(19)のそれぞれに提供するために、デバイス100全体の様々なロケーションに複数の電圧発生器を置く必要をなくす。いくつかの実装形態では、ネットワーク相互接続システム120は、基準電圧をルートモニタ190からサテライトモニタ192(1)~192(19)のそれぞれに配布するための1つまたは複数のアナログチャネルを含み得、デジタルデータをサテライトモニタ192(1)~192(19)からルートモニタ190に選択的にルートするための1つまたは複数のデジタルチャネルを含み得る。
センサ(S)は、選択された回路の少なくとも1つの1つまたは複数の動作状況を示す電気信号を生成可能な、任意の適切な検知回路またはデバイスであり得、温度センサ、電圧センサ、および/または電流センサを含み得る(が、これらに限定されない)。いくつかの実装形態では、各センサ(S)は、1つまたは複数の選択された回路の動作状況を測定し得、測定された動作状況を示すアナログ信号をサテライトモニタ192(1)~192(19)の対応する1つに提供し得る。
サテライトモニタ192(1)~192(19)は、センサ(S)によって生成されたアナログ信号を、選択された回路の測定された動作状況を示すデジタルデータに変換可能な、任意の適切な回路またはデバイスであり得る。簡略化のために図1に示されていないが、いくつかの実装形態では、サテライトモニタ192(1)~192(19)のそれぞれは、少なくともアナログ/デジタルコンバータ(ADC)およびメモリを含み得る。ADCは、アナログ信号をデジタルデータに変換可能な任意の適切な回路であり得、いくつかの関連付けられたセンサ(S)によって生成されたアナログ信号を受け取るための1つまたは複数の入力、関連付けられたセンサ(S)によって測定された動作状況を示すデジタルデータを提供するための1つまたは複数の出力、およびローカル基準電圧を受け取るための1つまたは複数の基準端子を含み得る。いくつかの実装形態では、ローカル基準電圧は、ルートモニタによって発生され、ネットワーク相互接続システム120によってサテライトモニタ192(1)~192(19)に配布された、基準電圧に少なくとも部分的に基づき得る。メモリは、ADCによって生成されたデジタルデータを格納し得、ルートモニタへのルーティングのために、デジタルデータをネットワーク相互接続システム120に提供し得る。
センサ(S)およびサテライトモニタ192(1)~192(19)は、例えば、選択された回路の動作状況を示すアナログ信号が(中央ハブに送信され、その後、デジタルデータに変換されるのではなく)、様々な分散されたロケーションにおいてデジタル信号に変換され得るように、プログラマブルデバイス100の至る所に分散され、選択された回路の近くの様々なロケーションに位置づけられ得る。いくつかの実装形態では、センサ(S)のそれぞれは、例えば、センサ(S)および対応する選択された回路がローカル信号線を使用して一緒に連結され得るように、対応する選択された回路の近傍に位置づけられ得る。同様に、サテライトモニタ192(1)~192(19)のそれぞれは、例えば、サテライトモニタ192および1つまたは複数の関連付けられたセンサ(S)がローカル信号線を使用して一緒に連結され得るように、1つまたは複数の関連付けられたセンサ(S)の近傍に位置づけられ得る。いくつかの態様では、本明細書で使用されるような用語「近傍」は、動作状況を示すアナログ信号を、最低限の信号劣化で比較的短いローカル信号ワイヤを介して送信可能な距離を指し得る。
図1の例について、送受信ブロック150内にあるセンサ(S)の第1のグループは、送受信ブロック150に関連付けられた電圧供給源(簡略化のために図示せず)のそれぞれの近傍に位置づけられ得、サテライトモニタ192(1)~192(6)の第1のグループは、例えば、センサ(S)の第1のグループのそれぞれが、比較的短いローカル信号ワイヤによって、対応する供給電圧および対応するサテライトモニタ190に連結され得るように、センサ(S)の第1のグループの近傍に位置づけられ得る。いくつかの実装形態では、センサ(S)の第1のグループのそれぞれは、対応する電圧供給源の1つまたは複数の動作状況を示すアナログ信号を生成するように構成され得、サテライトモニタ192(1)~192(6)の第1のグループのそれぞれは、関連付けられたセンサ(S)によって生成されたアナログ信号を、ネットワーク相互接続システム120を介してルートモニタ190に送信可能なデジタルデータに変換するように構成され得る。
PL110内にあるセンサ(S)の第2のグループは、PL110内のまたはPL110に関連付けられた、いくつかの対応する選択された回路(簡略化のために図示せず)の近傍に位置づけられ得、サテライトモニタ192(7)~192(19)の第2のグループは、例えば、センサ(S)の第2のグループのそれぞれが、比較的短いローカル信号ワイヤによって、対応する選択された回路およびサテライトモニタ192(7)~192(19)の第2のグループの対応する1つに連結され得るように、センサ(S)の第2のグループの近傍に位置づけられ得る。いくつかの実装形態では、センサ(S)の第2のグループのそれぞれは、対応する選択された回路の1つまたは複数の動作状況を示すアナログ信号を生成するように構成され得、サテライトモニタ192(7)~192(19)の第2のグループのそれぞれは、関連付けられたセンサ(S)によって生成されたアナログ信号を、ネットワーク相互接続システム120を介してルートモニタ190に送信可能なデジタルデータに変換するように構成され得る。
サテライトモニタ192(1)~192(19)のそれぞれは、ローカル信号線によって任意の適切な数のセンサ(S)に連結され得る。1つの例として、サテライトモニタ192(1)は、送受信ブロック150内に位置づけられた単一のセンサ(S)に連結され得、送受信ブロック150に関連付けられた対応する電圧供給源の1つまたは複数の動作状況を示すデジタル信号を生成し得る。別の例として、サテライトモニタ192(16)は、PL110内に位置づけられた2つのセンサ(S)に連結され得、PL110内に位置づけられた2つのセンサ(S)に関連付けられた選択された回路の1つまたは複数の動作状況を示すデジタル信号を生成し得る。別の例として、サテライトモニタ192(17)は、PL110内に位置づけられた4つのセンサ(S)に連結され得、PL110内に位置づけられた4つのセンサ(S)に関連付けられた選択された回路の1つまたは複数の動作状況を示すデジタル信号を生成し得る。さらに、19個のサテライトモニタ192(1)~192(19)を含むものと図1に示されているが、プログラマブルデバイス100は、プログラマブルデバイス100の他の適切なロケーションに位置づけられた他の数のサテライトモニタ192を含み得る。
上記で説明されたように、サテライトモニタ192(1)~192(19)は、中央システムモニタを使用してデジタルデータへの変換のために比較的長距離を越えてアナログ信号を送信するのではなく、比較的短いローカル信号ワイヤを使用して、センサ(S)のそれぞれを対応するサテライトモニタ192に連結できるように、センサ(S)に十分接近して位置づけられ得る。このようにして、本明細書で開示される監視システムの実装形態は、金属層信号ルーティングリソースが、デジタルデータへの変換のために、これらのアナログ信号を、デバイス100の至る所に分散された様々なロケーションから中央モニタにルートする必要をなくし得、これは、監視システムのスケーラビリティをさらに向上させつつ、デバイスの複雑性およびコストを低減させ得る。その上、デバイス100の至る所に分散された複数のサテライトモニタ192(1)~192(19)を使用して、アナログセンサデータのアナログ/デジタル変換を実施し、次に、分析のためにデジタルデータをルートモニタ190にルートすることによって、同時に測定可能なセンサの数は、サテライトモニタ内に提供されたADCの入力チャネルの数によって制限されない。対照的に、デジタルデータへの変換のためにアナログセンサデータを中央システムモニタにルートする従来の解決策による同時に測定可能なセンサの数は、システムモニタに関連付けられたADCの入力チャネルの数によって制限される。したがって、サテライトモニタ192(1)~192(19)を介してデバイス100の至る所にデジタル情報へのアナログセンサデータの変換を分散させることによって、本明細書で開示される監視システムによる同時に測定可能なセンサの数は、任意の特定のADCの入力チャネルの数ではなく、サテライトモニタ192(1)~192(19)の数に基づく。結果として、本明細書で開示される監視システムは、前述の従来の解決策よりはるかに大きい数のセンサを同時に測定し得る。
ルートモニタ190は、ネットワーク相互接続システム120によってサテライトモニタ192(1)~192(19)のそれぞれからルートされたデジタルデータを受け取り得、センサによって監視される選択された回路の動作状況を決定するために、受け取られたデジタルデータを処理し得る。いくつかの実装形態では、ルートモニタ190は、選択された回路のそれぞれがその指定動作範囲内で動作しているかどうかを決定するために、測定された動作状況を1つまたは複数の基準値と比較し得る。
図1は、プログラマブルデバイス100のただ1つの例証的なアーキテクチャを示すことを意図するものであることに留意されたい。例えば、列(または行)における論理ブロックの数、列(または行)の相対幅、列(または行)の数と順序、列(または行)に含まれる論理ブロックのタイプ、論理ブロックの相対サイズ、および図1に示された他の構造的態様は、本明細書で開示される発明の主題の様々な実装形態の例証にすぎない。
図2は、いくつかの実装形態による、図1のプログラマブルデバイス100の1つの例であり得るプログラマブルデバイス200の機能ブロック図を示している。デバイス200は、送受信ブロック150、プログラマブルロジック(PL)210、CPM220、処理システム(PS:processing system)230、プラットフォーム管理コントローラ(PMC)240、およびI/Oブロック+メモリコントローラ260を含むように示されている。PL210は、図1のPL110の1つの実装形態であり得、送受信ブロック150、CPM220、PMC240、およびネットワーク相互接続システム120に隣接しており、これらに直接接続され得る。I/Oブロック+メモリコントローラ260は、図1のI/Oブロック160およびメモリコントローラ170の1つの実装形態であり得、プログラマブルデバイス200の下縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。簡略化のために図2に示されていないが、I/Oブロック+メモリコントローラ260はまた、プログラマブルデバイス200の上縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。さらに、または別の方式では、I/Oブロック+メモリコントローラ260は、プログラマブルデバイス200の右縁および左縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。
CPM220は、図1のCPM140の1つの実装形態であり得、いくつかの異なるバス規格のためのインターフェース能力を提供し得る。いくつかの実装形態では、CPM220は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)インターフェース222、ダイレクトメモリアクセス(DMA)回路224、およびキャッシュコヒーレントインターコネクトフォーアクセラレータ(CCIX)インターフェース226を含み得る。PCIeインターフェース222は、PCIプロトコルに応じて、送受信ブロック150を介して、PS230と1つまたは複数の他のデバイスまたはチップとの間でデータを交換するために使用され得る。同様に、CCIXインターフェース226は、CCIXプロトコルに応じて、送受信ブロック150を介して、PS230と1つまたは複数の他のデバイスまたはチップとの間でデータを交換するために使用され得る。
PS230は、デバイス200に専用データ処理能力を提供し得、アプリケーション処理ユニット(APU:application processing unit)232、リアルタイム処理ユニット(RPU:real-time processing unit)234、キャッシュメモリ236、およびシステムオンアチップ(SoC:system-on-a-chip)インターフェース238を含むように示されている。簡略化のために図示されていないが、PS230はまた、通信規格(イーサネットおよびUSB2.0インターフェースなど)のための周辺機器、ならびに様々なコントローラ(SPI、I2C、UART、およびCAN-FDコントローラなど)を含み得る。APU232およびRPU234は、デバイス200に専用スカラ処理能力を提供可能な1つまたは複数の処理コア(CPUなど)をそれぞれ含み得る。いくつかの態様では、PS230は、プログラマブル相互接続ファブリックおよびネットワーク相互接続システム120によってデバイス200の他のサブシステムに選択的に接続され得る。
いくつかの実装形態では、APU232は、ハードウェア仮想化をサポートするマルチコアARMプロセッサを含み得、ビルトイン割込みコントローラおよびスヌープ制御ユニットを有し得る。割込みコントローラは、仮想割込みをサポートし得、スヌープ制御ユニットは、APU232およびRPU234によって使用および/または共有される1つまたは複数のキャッシュ間のコヒーレンシを維持するために使用され得る。APU232は、AXIコヒーレント拡張(ACE)ポートを使用してPS230の他の構成要素と通信し得、アクセラレータコヒーレンシポート(ACP)を使用してPL210と通信し得る。いくつかの実装形態では、RPU234は、リアルタイムデータ処理をサポートするマルチコアARMプロセッサを含み得、リアルタイムシングルサイクルアクセスのための密結合メモリ(TCM)インターフェースを含み得、専用割込みコントローラおよび浮動小数点ユニットを有し得る。RPU234は、AXIポートを使用してPS230の他の構成要素と、および/またはPL210と通信し得る。
キャッシュメモリ236は、APU232およびRPU234による共有アクセスを可能にする任意の適切な高速キャッシュであり得る。SoCインターフェース238は、PS230の様々なリソースとネットワーク相互接続システム120との間の接続を提供し得る。
PMC240は、セキュリティ回路機器242、ブート兼再構成回路機器244、アナログ回路機器246、および図1のルートモニタ190を含み得る。セキュリティ回路機器242は、データ暗号化/復号能力および他のセキュリティ特徴を提供し得る。ブート兼再構成回路機器244は、非セキュアブートとセキュアブートの両方をサポートするマルチステージブート処理を提供し得る。アナログ回路機器246は、任意の適切なアナログ回路構成要素を含み得る。さらに、簡略化のために図2に示されていないが、PMC240は、テスト兼デバッギングリソース(JTAG回路機器など)、外部フラッシュメモリインターフェース、および他の構成要素または回路を含み得る。いくつかの実装形態では、PMC240は、PL210の一部が部分再構成動作を使用して再構成されることを可能にし得る。例えば、PL210の一部のための新しい構成ビットストリームは、1次または2次ブートインターフェース(PCIeまたはイーサネットなど)を介してPS230からロードされ、次に、再構成されることになるPL210の一部に関連付けられた構成レジスタに格納され得る。PL210の1つまたは複数の部分の部分再構成を可能にする能力は、ユーザ指定回路設計(他のプログラマブルデバイスに匹敵するものなど)への変更または更新を反映するために、ユーザがデバイス200をより素早く再構成することを可能にし得る。
図3は、いくつかの実装形態による、実例のプログラマブルファブリック300のブロック図を示す。いくつかの実装形態では、プログラマブルファブリック300は、図1のPL110、図2のPL210、または両方であり得る。プログラマブルファブリック300は、列(または行)に配置可能な複数の異なるプログラマブル回路ブロックまたはタイルを含むように示されている。プログラマブル回路ブロックは、円柱状アーキテクチャに配置された、プログラマブル相互接続要素(INT:programmable interconnect element)310、コンフィギュラブルロジック要素(CLE:configurable logic element)320、DSP330、およびブロックRAM(BRAM)340を含み得る(が、これらに限定されない)。図3の例として、プログラマブルファブリック300は、プログラマブル相互接続要素310の11個の列、CLE320の5つの列、DSP330の2つの列、およびBRAM340の2つの列を含むように示されている。他の実装形態では、プログラマブルファブリック300は、プログラマブル相互接続要素310、CLE320、DSP330、およびBRAM340の他の数の列を含み得る。プログラマブルファブリック300はまた、簡略化のために図3に示されていないいくつかの他のサブシステムまたは構成要素(処理コア、プログラマブル相互接続構造、および同様のものなど)を含み得る。
プログラマブル相互接続要素310、CLE320、DSP330、およびBRAM340は、プログラマブルファブリック300全体に繰り返し可能なタイルとして実装され得る。タイルのそれぞれは、同じタイル内のプログラマブルロジック要素へのローカル信号相互接続を提供すること、隣接したタイル内のプログラマブル相互接続要素310へのローカル信号相互接続を提供すること、および/または他の信号ルーティングリソースへのローカル信号相互接続を提供することを行う、少なくとも1つのプログラマブル相互接続要素310を含み得る。プログラマブル相互接続要素310は、プログラマブル相互接続ファブリックの少なくとも一部(または他の適切なブロックレベルおよび/もしくはデバイスレベルの信号ルーティング構造)をまとめて形成し得る。
いくつかの実装形態では、プログラマブルファブリック300は、プログラマブルファブリック300の高さ全体に垂直に延びる円柱状ハードブロック350を含み得る。ハードブロック350は、例えば、USBコントローラ、イーサネットMAC、マルチレート(MR)イーサネットMAC、PCIeコントローラ、CCIXコントローラ、ならびに/または、PCIeプロトコルの物理層、データリンク層、およびトランザクション層を実装する他の適切な回路もしくは構成要素など、いくつかの配線接続回路を含み得る。いくつかの実装形態では、ハードブロック350は、図1について上記で説明された接続ファブリックの1つの実装形態であり得る。
図4は、いくつかの実装形態による、監視システム400の機能ブロック図を示している。監視システム400は、図1のプログラマブルデバイス100内に実装され得、ルートモニタ410、複数のサテライトモニタSAT1~SAT15、複数の供給電圧センサSV1~SV4、複数の温度センサT5~T15、および複数の選択された回路CKT5~CKT15を含むように示されている。ルートモニタ410は、図1のルートモニタ190の1つの実装形態であり得、ネットワーク相互接続システム120に連結され、基準電圧(VREF)を発生させるための回路機器を含み得る。いくつかの実装形態では、ルートモニタ410は、温度補償基準電圧VREFを発生させるバンドギャップ基準回路(簡略化のために図示せず)を含み得る。
サテライトモニタSAT1~SAT15は、デバイス100全体に分散され、サテライトモニタSAT1~SAT15のそれぞれがセンサSV1~SV4およびT5~T15の対応する1つの近傍に位置づけられるように配置され得る。図4の実例の実装形態について、サテライトモニタSAT1~SAT4は、ローカル信号ワイヤを介してそれぞれの供給電圧センサSV1~SV4に連結され、サテライトモニタSAT5~SAT15は、ローカル信号ワイヤを介してそれぞれの温度センサT5~T15に連結される。このようにして、供給電圧センサSV1~SV4によって生成されたアナログ信号は、ローカル信号ワイヤによってそれぞれのサテライトモニタSAT1~SAT4に提供され得、温度センサT5~T15によって生成されたアナログ信号は、ローカル信号ワイヤによってそれぞれのサテライトモニタSAT5~SAT15に提供され得る。関連付けられたセンサSV1~SV4およびT5~T15の直近に(例えば、これらの近傍に)サテライトモニタSAT5~SAT15を位置づけることによって、センサSV1~SV4およびT5~T15によって生成されたアナログ信号は、ルートモニタ410に達するようにデバイス100の大部分を横断してルートされる必要はなく、これにより、デバイス100全体に広がる金属層相互接続全体の比較的小さいアナログ信号のルーティングに関連付けられた信号劣化を最小化する。その上、センサSV1~SV4およびT5~T15によって生成されたアナログ信号のそれぞれは、サテライトモニタSAT1~STA15のうちの近くの1つを使用してデジタルデータにローカルに変換され得るので、プログラマブルデバイス(図1のプログラマブルデバイス100など)内に監視システム400を実装するために、高価な金属層ルーティングリソースは必要とされない。
1つの例として、センサSV1は、関連付けられた供給電圧の電圧レベルを示すアナログ信号を生成することによって、関連付けられた供給電圧の動作状況を監視し得る。対応するサテライトモニタSAT1をセンサSV1の近傍に位置づけることによって、センサSV1によって生成されたアナログ信号は、デバイス100を横断してルートモニタ410にルートされる必要はなく、代わりに、ローカル信号ワイヤを介して、サテライトモニタSAT1への比較的短い距離をルートされ得る。別の例として、センサT5は、関連付けられた回路CKT5の温度を示すアナログ信号を生成することによって、関連付けられた回路CKT5の動作状況を監視し得る。対応するサテライトモニタSAT5をセンサT5の近傍に位置づけることによって、センサT5によって生成されたアナログ信号は、デバイス100を横断してルートモニタ410にルートされる必要はなく、代わりに、ローカル信号ワイヤを介して、サテライトモニタSAT5への比較的短い距離をルートされ得る。
基準電圧VREFは、デバイス100全体に配布され、ネットワーク相互接続システム120の1つまたは複数の専用アナログチャネルによって、サテライトモニタSAT1~STA15のそれぞれへのアクセスを可能にされ得、デジタルデータは、ネットワーク相互接続システム120の1つまたは複数のデジタルチャネルによって、サテライトモニタSAT1~STA15のそれぞれからルートモニタ410に選択的にルートされ得る。いくつかの実装形態では、1つまたは複数のアナログチャネルは、1つまたは複数のデジタルチャネルから物理的に分離され得る。
図5は、いくつかの実装形態による、実例のルートモニタ500のブロック図を示す。ルートモニタ500は、図1のルートモニタ190もしくは図4のルートモニタ410(または両方)の1つの実装形態であり得、電圧発生器510、メモリ520、およびコントローラ530を含むように示されている。電圧発生器510は、基準電圧VREFとしての使用に適したトリミングされた電圧を発生可能な任意の適切な回路またはデバイスであり得、ネットワーク相互接続システム120の1つまたは複数のアナログチャネル121に連結された出力を含む。図1をさらに参照すると、いくつかの実装形態では、電圧発生器510によって発生された基準電圧VREFは、ネットワーク相互接続システム120の1つまたは複数のアナログチャネル121を使用して、デバイス100の至る所にあるサテライトモニタ192(1)~192(19)のそれぞれに配布され得る。サテライトモニタ192(1)~192(19)は、ネットワーク相互接続システム120から基準電圧VREFにアクセスし得、配布された基準電圧VREF使用して、アナログ/デジタル変換を(または他の適切な動作のために)実施し得る。
いくつかの実装形態では、電圧発生器510は、例えば、基準電圧VREFが温度変化に合わせて調節されるように、温度補償電圧を発生可能なバンドギャップ回路512を含み得る。さらに、または別の方式では、電圧発生器510は、正基準電圧と負基準電圧の両方を、ネットワーク相互接続システム120の1つまたは複数のアナログチャネル121に提供し得る。いくつかの態様では、基準電圧VREFは1.25ボルトに等しくなり得るが、他の適切な電圧がVREFとして使用され得る。
メモリ520は、ネットワーク相互接続システム120の1つまたは複数のデジタルチャネル122に連結されたデータ入力と、コントローラ530に連結された制御入力と、コントローラ530に連結されたデータ出力と、JTAGインターフェース、多重化入出力(MIO)ブロック、またはAXIインターフェースの1つまたは複数を介して、メモリ520に格納されたデータにユーザによってアクセス可能な1つまたは複数の出力ポートとを含む。いくつかの実装形態では、メモリ520は、いくつかの状態レジスタ521およびいくつかのアラームレジスタ522を含み得る。状態レジスタ521は、デバイス100の至る所に提供された選択された回路の動作状況を示すデジタルデータを格納し得、アラームレジスタ522は、いくつかの指定動作範囲を定義する複数の基準値を格納し得る。状態レジスタ521は、ネットワーク相互接続システム120を介してサテライトモニタ192(1)~192(19)からルートモニタ500にルートされたデジタルデータをロードされ得、アラームレジスタ522は、プログラマブルデバイス100の構成(または再構成)中に基準値をロードされ得る。
コントローラ530は、ルートモニタ500の様々な動作を制御し得、選択された回路のいずれかがこれらの指定動作範囲内で動作していないかどうかを決定するために、サテライトモニタ192(1)~192(19)から受け取られたデジタルデータを分析し得、ユーザによってアクセス可能な結果データを生成し得る。いくつかの実装形態では、コントローラ530は、状態レジスタ521に格納された測定された動作状況を、アラームレジスタ522に格納された対応する基準値と比較することによって、選択された回路が指定動作範囲内で動作しているかどうかを決定し得る。選択された回路がその指定動作範囲外で動作していると決定された場合、コントローラ530は、アラームを生成し得る。いくつかの態様では、アラームは、例えば、選択された回路の動作状況がその指定動作範囲内になるまで、選択された回路を無効にするか、その電源を切り得る。他の態様では、アラームは、例えば、選択された回路の動作状況が指定動作範囲内になるまで、プログラマブルデバイス100に電源を切らせるか、低減された電力レベルで動作させ得る。
アラームレジスタ522に格納された指定動作範囲のいくつかは、最小基準値および最大基準値によって定義され得る。いくつかの実装形態では、指定電圧範囲は、最小電圧値および最大電圧値を含み得る。このような実装形態では、コントローラ530は、選択された回路の測定電圧を、アラームレジスタ522に格納された最小および最大電圧値と比較し得、比較に基づいて1つまたは複数のアラームを生成し得る。例えば、測定電圧が最小電圧値と最大電圧値との間である場合、コントローラ530は、選択された回路がその指定電圧範囲内で動作していることを示し得る。逆に、測定電圧が最小電圧値より小さいか、最大電圧値より大きい場合、コントローラ530は、選択された回路がその指定電圧範囲内で動作していないことを示すためにアラームを生成し得る。
アラームレジスタ522に格納された他の指定動作範囲は、動作可能上限を定義する基準値を含み得る。いくつかの実装形態では、選択された回路の指定温度範囲は、基準温度値によって定義され得る。このような実装形態では、コントローラ530は、選択された回路の測定温度を、アラームレジスタ522に格納された基準温度値と比較し得、比較に基づいて1つまたは複数のアラームを生成し得る。例えば、測定温度が基準温度値より小さい(または等しい)場合、コントローラ530は、選択された回路がその指定温度範囲内で動作していることを示し得る。逆に、測定温度が基準温度値より大きい場合、コントローラ530は、選択された回路が熱すぎるか、過熱されていることを示すためにアラームを生成し得る。
図6は、いくつかの実装形態による、実例のサテライトモニタ600のブロック図を示す。サテライトモニタ600は、図1のサテライトモニタ192(1)~192(19)もしくは図4のサテライトモニタSAT1~SAT15(または両方)のうちの任意の数の1つの例であり得、1つまたは複数のセンサ20に連結されたデータ入力、ネットワーク相互接続システム120に連結された出力、および、第1のスイッチSW1によってネットワーク相互接続システム120に連結された基準端子を含む。図1および図5をさらに参照すると、いくつかの実装形態では、サテライトモニタ600は、ルートモニタ500によって生成され、第1のスイッチSW1を介してネットワーク相互接続システム120の1つまたは複数のアナログチャネル121によって配布された基準電圧VREFを受け取り得る。いくつかの態様では、センサ20は、温度センサ21、供給電圧センサ22、および外部センサ23を含み得る(が、これらに限定されない)。
図6の例では、サテライトモニタ600は、ADC回路610、メモリ620、およびローカル基準回路630を含むように示されている。ADC回路610は、第2のスイッチSW2を介して1つまたは複数のセンサ20に連結された入力、メモリ620に連結された出力、および、ローカル基準回路630に連結された1つまたは複数の基準端子を含む。ADC回路610は、センサ20の1つまたは複数によって生成されたアナログ信号をデジタル信号またはデジタルデータに変換可能な任意の適切なADCであり得る(またはこれを含み得る)。いくつかの実装形態では、ADC回路610は、スケーリングされたアーキテクチャを利用して、センサ20によって提供されたアナログ検知データをデジタル化し得る。
メモリ620は、任意の適切なストレージデバイスであり得、ADC回路610の出力に連結された入力を含み、ネットワーク相互接続システム120に連結された出力を含む。メモリ620は、センサ20の1つまたは複数によって提供されたアナログ信号に応答して、ADC回路610によって生成されたデジタルデータを格納し得、図5のルートモニタ500へのルーティングのために、デジタルデータをネットワーク相互接続システム120の1つまたは複数のデジタルチャネル122に提供し得る。いくつかの実装形態では、メモリ620は、監視のために選択された複数の回路の対応する1つの動作状況を示すデジタルデータをそれぞれ格納するための複数のレジスタであり得るか、これらを含み得る。このようにして、サテライトモニタ600は、選択された回路の対応する1つの動作状況を示すアナログ信号をセンサ20から受け取り得、アナログ信号をデジタルデータに変換し得、選択された回路の動作状況を示すデジタルデータを、ネットワーク相互接続システム120の1つまたは複数のデジタルチャネル122に提供し得る。
ローカル基準回路630は、第1のスイッチSW1とサテライトモニタ600の1つまたは複数の基準端子との間に連結され、ローカル基準電圧(VREF_LOCAL)をADC回路610に提供可能な任意の適切なデバイスまたは構成要素であり得る。いくつかの実装形態では、ローカル基準電圧VREF_LOCALは、ネットワーク相互接続システム120によって配布された基準電圧VREFに少なくとも部分的に基づき得、アナログ/デジタル変換を実施するためにADC回路610によって使用され得る。
第1のスイッチSW1は、第1の制御信号(CTRL1)に基づいて、ネットワーク相互接続システム120によって配布された基準電圧VREFをサテライトモニタ600に選択的に連結するように構成され得る。いくつかの実装形態では、第1のスイッチSW1は、第1の制御信号CTRL1がアサート状態(ロジックハイなど)のとき、サテライトモニタ600の基準端子をネットワーク相互接続システム120に連結し得、第1の制御信号CTRL1がデアサート状態(ロジックローなど)のとき、サテライトモニタ600をネットワーク相互接続システム120から絶縁し得る。このようにして、第1のスイッチSW1は、サテライトモニタ600が、ネットワーク相互接続システム120によって配布された基準電圧VREFに、いつ(およびどのくらいの間)アクセスするかを制御するために使用され得る。
第1の制御信号CTRL1は、図5のルートモニタ500によって生成され得、ネットワーク相互接続システム120によって(または他の適切な信号相互接続によって)サテライトモニタ600にルートされ得る。図1および図5をさらに参照すると、いくつかの実装形態では、ルートモニタ500は、例えば、サテライトモニタ600のただ1つが、任意の所与の瞬間に、ネットワーク相互接続システム120を介して、配布された基準電圧VREFにアクセスできるように、タイミングスケジュールに基づいてプログラマブルデバイス全体に分散された複数のサテライトモニタ600のそれぞれのために第1の制御信号CTRL1をアサートし得る。このようにして、ルートモニタ500は、配布された基準電圧VREFに同時にアクセスするサテライトモニタ600の2つ以上によって引き起こされる、配布された基準電圧VREFの降下を防ぎ得る。
第2のスイッチSW2は、第2の制御信号(CTRL2)に基づいて、センサ21~23の1つをADC回路610の入力に選択的に連結し得る。いくつかの実装形態では、第2の制御信号CTRL2は、図5のルートモニタ500によって生成され得、ネットワーク相互接続システム120によって(または他の適切な信号相互接続によって)サテライトモニタ600にルートされ得る。
図7は、いくつかの実装形態による、プログラマブルデバイスのいくつかの動作状況を監視するための実例の動作700を描写する例証的なフローチャートである。実例の動作700は、例証のためだけに、図1のプログラマブルデバイス100、図4の監視システム400、図5のルートモニタ500、および図6のサテライトモニタ600について下記で説明される。実例の動作700は、本明細書で開示される他のプログラマブルデバイスによって、および/または他の適切なデバイスによって実施され得ることが理解されよう。
動作700は、ブロック701において、プログラマブルデバイス100内に提供されたルートモニタ190に関連付けられた電圧発生器510を使用して基準電圧(VREF)を発生させることによって始まり得る。いくつかの実装形態では、ルートモニタ190は、例えば、図5のバンドギャップ回路512を使用して、トリミングおよび温度補償された基準電圧VREFを発生させ得る。
動作700は、ブロック702において、相互接続システム120の1つまたは複数のアナログチャネル121を使用して、基準電圧VREFをルートモニタ190から複数のサテライトモニタ192のそれぞれに配布することによって進み得る。いくつかの実装形態では、基準電圧VREFを配布することは、ルートモニタ190によって生成された対応する制御信号CTRL1に基づいて、複数のサテライトモニタ192(1)~192(19)のそれぞれを相互接続システム120に選択的に連結することを含み得る。いくつかの態様では、図6の第1のスイッチSW1は、サテライトモニタ600が、CTRL1の第1の状態に基づいて、基準電圧VREFにネットワーク相互接続システム120からアクセスすることを可能にし得、第1のスイッチSW1は、CTRL1の第2の状態に基づいて、サテライトモニタ600をネットワーク相互接続システム120から絶縁し得る。
動作700は、ブロック703において、いくつかのセンサ20のそれぞれを使用して、関連付けられた回路の動作状況を示すアナログ信号を生成することによって進み得る。いくつかの実装形態では、いくつかのセンサ20のそれぞれは、関連付けられた回路の近傍にあり得る。いくつかの態様では、センサ20は、温度センサ21、供給電圧センサ22、もしくは外部センサ23の少なくとも1つであり得る(またはこれらを含み得る)。
動作700は、ブロック704において、いくつかのセンサ20によって生成されたアナログ信号を、複数のサテライトモニタ192(1)~192(19)のうちの対応するものに提供することによって進み得る。いくつかの実装形態では、センサ20によって生成されたアナログ信号は、例えば、様々な回路の動作状況を示すアナログ信号が、金属層信号ルーティング構造を使用してデバイス全体にルートされ、中央モニタに提供される従来のプログラマブルデバイスとは対照的に、比較的短いローカル信号ワイヤを使用して、対応するサテライトモニタ192(1)~192(19)に提供され得る。
動作700は、ブロック705において、複数のサテライトモニタ192(1)~192(19)を使用して、アナログ信号をデジタルデータに変換することによって進み得る。図6をさらに参照すると、サテライトモニタ192(1)~192(19)のそれぞれの中に提供されたADC回路610は、アナログ信号を、サテライトモニタ192(1)~192(19)のそれぞれのメモリ620に格納され得るデジタルデータに変換し得る。メモリ620は、ルートモニタ190へのルーティングのために、格納されたデジタルデータを相互接続システム120に選択的に提供し得る。
動作700は、ブロック706において、相互接続システム120の1つまたは複数のデジタルチャネル122を使用して、デジタルデータを複数のサテライトモニタ192(1)~192(19)からルートモニタ190に選択的にルートすることによって進み得る。図4をさらに参照すると、デジタルチャネル122は、相互接続システム120のアナログチャネル121とは物理的に分離され得る。いくつかの実装形態では、サテライトモニタ192(1)~192(19)は、例えば、複数のサテライトモニタ192(1)~192(19)からルートモニタ190へのデジタルデータの配信をスケジュールまたは優先させるために、ルートモニタ190によって生成された信号(トリガ信号など)に応答して、デジタルデータを相互接続システム120に提供し得る。他の実装形態では、サテライトモニタ192(1)~192(19)は、ルートモニタ190によって促すことなく、および/または制御することなく、デジタルデータを相互接続システム120に提供し得る。
動作700は、ブロック707において、関連付けられた回路の少なくとも1つの動作状況が1つの範囲内であるかどうかを決定することによって進み得、ブロック708において、決定に基づいてアラームを選択的に生成することによって進み得る。図5をさらに参照すると、ルートモニタ500は、サテライトモニタ192(1)~192(19)の選択された1つからデジタルデータを受け取り得、関連付けられた回路の動作状況が1つの範囲内であるかどうかを決定するために、受け取られたデジタルデータを1つまたは複数の基準値と比較し得る。いくつかの実装形態では、ルートモニタ500は、アラームを生成し得、ならびに/あるいは、プログラマブルデバイス100の1つもしくは複数の部分(または、いくつかの様々な回路、ブロック、およびサブシステムが、これらの指定の動作パラメータの範囲内にとどまらない場合、プログラマブルデバイス100全体)の電源を切り得る。
アナログ信号が、関連付けられた回路(電圧供給源など)の電圧を示す実装形態について、ルートモニタ500は、関連付けられた回路の測定電圧を最小および最大基準電圧レベルと比較し得る。関連付けられた回路の測定電圧が最小基準電圧レベルと最大基準電圧レベルとの間である場合、ルートモニタ190は、関連付けられた回路が指定電圧範囲内で動作していると決定し得る。逆に、関連付けられた回路の測定電圧が最小基準電圧レベルより小さいか、最大基準電圧レベルより大きい場合、ルートモニタ190は、関連付けられた回路が指定電圧範囲内で動作していないと決定し得る。
アナログ信号が、関連付けられた回路の温度を示す実装形態について、ルートモニタ500は、関連付けられた回路の測定温度を基準温度値と比較し得る。関連付けられた回路の測定温度が基準温度値より大きくない場合、ルートモニタ190は、関連付けられた回路がその指定温度範囲内で動作していると決定し得る。逆に、関連付けられた回路の測定温度が基準温度値より大きい場合、ルートモニタ190は、関連付けられた回路が指定温度範囲内で動作していないと決定し得る。
本開示で説明される主題の実装形態は、プログラマブルデバイスのいくつかの動作状況を監視するために使用され得る。動作状況は、例えば、プログラマブルデバイス内に提供された回路または構成要素の温度、プログラマブルデバイスの外部の回路またはデバイスの温度、供給電圧の電圧レベル、および同様のものを含む、デバイスの動作特性またはパラメータの任意の適切な目安であり得る。本開示のいくつかの態様によれば、監視システムは、ルートモニタ、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサ、およびプログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタを含み得る。ルートモニタは、高精度かつ温度非依存性基準電圧を発生させるように構成されたバンドギャップ電圧発生器を含み得、温度非依存性基準電圧は、プログラマブルロジックを結び付ける1つまたは複数のアナログチャネルを介してルートモニタからサテライトモニタのそれぞれに配布され得る。
センサのそれぞれは、関連付けられた回路の1つまたは複数の動作状況を示すアナログ信号を生成し得、1つまたは複数のローカル信号線を介してアナログ信号をサテライトモニタの対応する1つに提供し得る。サテライトモニタのそれぞれは、アナログ信号をデジタルデータに変換するためのADCを含み得、例えば、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号が、デジタルデータへの変換のために、ローカル信号線を介して、サテライトモニタのそれぞれの1つへの比較的短い距離をルートされ得るように、1つまたは複数の関連付けられたセンサの近傍に位置づけられ得る。いくつかの実装形態では、プログラマブルデバイスは、処理のために、デジタルデータをサテライトモニタのそれぞれからルートモニタに選択的にルート可能であり、制御信号および他の情報をルートモニタからサテライトモニタのそれぞれにルート可能な、ネットワークオンチップ(NoC)相互接続システムを含み得る。さらに、または別の方式では、サテライトモニタのそれぞれによって生成されたデジタルデータは、クロック分散ネットワーク、プログラマブル相互接続ファブリック、および/または、デバイスのプログラマブルロジックを形成する繰り返し可能なタイル内に提供されたルーティングリソースを含む(が、これらに限定されない)、デバイス内に提供された他の適切なルーティングリソース使用してルートモニタにルートされ得る。
プログラマブルデバイス全体に分散された複数のセンサの熱および電圧監視の精度は、プログラマブルデバイス全体に分散された複数のサテライトモニタのそれぞれにおける正確なアナログ/デジタル変換に依存する。アナログ/デジタル変換の精度は、サテライトモニタのそれぞれの中のADCに提供された基準電圧の精度に少なくとも部分的に基づき得る。バンドギャップ電圧発生器が、高精度かつ温度非依存性基準電圧を発生させるために使用され得るが、バンドギャップ電圧発生器は、著しい量の回路面積を消費し、プログラマブルデバイスの製造中に高価で時間のかかるトリミングを必要とする。
デバイス全体に分散された複数のサテライトモニタのそれぞれに、正確な基準電圧を提供するというシリコンコストを回避するため、および、対応する複数の電圧発生器をトリミングする必要性を除くために、サテライトモニタのそれぞれは、対応するADCのためのローカル基準電圧を発生させるように構成された比較的小さい電圧源(面積効率の良い電圧源など)を含み得る。ローカル電圧源は、ルートモニタ内に提供されるバンドギャップ電圧発生器に比べて、比較的小さく、したがって「面積効率の良い」ものであり得る。いくつかの実装形態では、ローカル電圧源は、12個未満のトランジスタを含み得、バンドギャップ電圧発生器より少なくとも1桁少ない回路面積しか消費し得ない。いくつかの実装形態では、サテライトモニタのそれぞれは、対応するADCのためのローカル基準電圧を貯蔵するように構成されたローカル電圧ストアを含み得る。ローカル電圧ストアは、スイッチ(トランジスタなど)に連結されたキャパシタから成り得る。
ローカル基準電圧は、バンドギャップ電圧発生器によって発生された高精度温度非依存性基準電圧に比べて比較的不正確であり得、サテライトモニタの対応する1つの中に提供されたADCによって生成されたデジタルコードのエラーを生じ得る。いくつかの実装形態では、サテライトモニタのそれぞれは、デジタルコードのエラーを示す訂正因子を生成するように構成された較正回路を含み得、訂正因子に基づいてデジタルコードを訂正するように構成された訂正回路を含み得る。複数のサテライトモニタ内に提供されたADCは、下記においてより詳細に説明されるように、これらの対応する較正回路および訂正回路によって、高精度かつ温度非依存性基準電圧に対して周期的に較正され得る。
プログラマブルデバイス全体に分散された様々な回路の動作状況を監視するための従来のシステムは、典型的には、中央システムモニタと、監視されるべき回路の近くに位置づけられた複数のセンサとを含む。各センサは、関連付けられた回路の動作状況を示すアナログ信号を生成し、アナログ信号は、デジタルデータへの変換のために、センサのそれぞれからシステムモニタにルートされる。センサは、典型的には、デバイスの至る所にある様々なロケーションに分散され、したがって、センサの少なくともいくつかによって生成されたアナログ信号は、システムモニタに達するようにデバイスの大部分を横断してルートされ得る。動作状況を示すアナログ信号は、ノイズおよび干渉の影響を特に受けやすくなり得るので、プログラマブルデバイスの中には、デジタルデータへの変換のために、遮蔽特性を有する専用金属層ルーティングリソースを使用して、これらのアナログ信号を様々なセンサからシステムモニタにルートし得るものもある。
このような専用金属層ルーティングリソースの遮蔽特性は、信号劣化およびデータ損失を低減させ得るが、専用金属層ルーティングリソースは高価であり、デバイスの金属層のかなりの量を消費する。さらに、プログラマブルロジックは、典型的には、複数の行または列に配置された複数の繰り返し可能なタイルとして実装されるので、繰り返し可能なタイルのそれぞれの中に埋め込まれた信号ルーティングリソースは、典型的には、最悪ケースのルーティングシナリオ(デバイス密度が最大のロケーションにタイルが置かれることなど)に基づく。結果として、繰り返し可能なタイルの多くが、信号ルーティングリソースで過剰装備され、これが、未使用のルーティングリソースを生じ得、および/またはプログラマブルデバイスのスケーラビリティを制限し得る。
様々な回路の動作状況を監視するセンサに直近のプログラマブルデバイスの至る所にあるロケーションに、複数のサテライトモニタを導入することによって、本明細書で開示される監視システムは、ローカルサテライトモニタを使用して、センサによって生成されたアナログ信号をデジタルデータに変換し、その後、デジタルデータを、デバイスの至る所にある様々なロケーションからルートモニタにルートし得る。結果として、アナログ信号は、デバイスの大部分を横断してルートされ、その後、デジタルデータに変換されるのではなく、デジタルデータへの変換のために、最も近くのサテライトモニタへの比較的短い距離を送信され、アナログ信号は、次に、NoC相互接続システムを使用してルートモニタにルートされる。いくつかの態様では、サテライトモニタによって生成されたデジタルデータは、個別にアドレス指定可能なデータパケットとしてルートモニタにルートされ得る。他の態様では、サテライトモニタによって生成されたデジタルデータは、非パケット化データとしてルートモニタにルートされ得る。ルートモニタにおいてアナログ/デジタル変換を実施するのではなく、センサの近傍に位置づけられたサテライトモニタを使用して、アナログ信号をデジタルデータに変換することによって、本明細書で開示される監視システムは、金属層ルーティングリソースを必要とせず、プログラマブルデバイスのスケーラビリティを向上させつつ、コストを低減させ得る。さらに、アナログ/デジタル変換をローカルに(例えば、センサの近傍で)実施すること、および結果として生じたデジタルデータをサテライトモニタからルートモニタにルートすることは、例えば、プログラマブルデバイス全体に分散されたADCが、アナログ/デジタル変換を並行に(例えば、同時に)実施し得るので、(アナログ信号を、デバイスの至る所にある様々なセンサから、システムモニタ内に提供されたADCにルートする従来の技法に比べて)ルートモニタによって、より多くのセンサデータを収集し分析することを可能にし得る。
以下の説明では、本開示を完全に理解するために、特定の構成要素、回路、および処理の例などの非常に多くの具体的詳細が示される。本明細書で使用されるような用語「連結される」は、直接的に連結されること、または1つもしくは複数の介在する構成要素もしくは回路を通じて連結されることを意味する。また、以下の説明では、また説明のために、実例の実装形態を完全に理解するために特定の専門語および/または詳細が示される。それでも、これらの具体的詳細は、実例の実装形態を実践することを必要とされないこともあるということが当業者には明らかであろう。他の例では、本開示をあいまいにしないように、よく知られた回路およびデバイスがブロック図の形式で示されている。本明細書で説明される様々なバス上で提供される信号のいずれかは、他の信号で時分割され、1つまたは複数の共通バス上で提供され得る。さらに、回路素子またはソフトウェアブロック間の相互接続は、バスとして、または単一の信号線として示され得る。バスのそれぞれは、代替として、単一の信号線であり得、単一の信号線のそれぞれは、代替として、バスであり得、単一の線またはバスは、構成要素間の通信のための無数の物理または論理メカニズムのうちの任意の1つまたは複数を表し得る。実例の実装形態は、本明細書で説明される具体例に限定されるものと解釈されるべきではなく、むしろ、添付の特許請求の範囲によって定義される全ての実装形態をその範囲内に含めるべきである。
図8は、本開示の様々な態様が実装され得る実例のプログラマブルデバイス800のブロック図を示す。デバイス800は、例えば、プログラマブルロジック(PL)810、PL810を結び付けるネットワークオンチップ(NoC)相互接続システム820、PL810を結び付ける1つまたは複数のアナログチャネル821、専用回路機器830、CCIX兼PCIeモジュール(CPM)840、送受信ブロック850、入出力(I/O)ブロック860、メモリコントローラ870、構成ロジック880、ルートモニタ890、複数のサテライトモニタ892(1)~892(19)、および複数のセンサ(S)などの、いくつかのサブシステムを含み得る。1つまたは複数の実装形態では、デバイス800は、図8に示されていない他のサブシステムまたは構成要素を含み得る。さらに、簡略化のために図示されていないが、デバイス800は、いくつかの周辺構成要素(高性能メモリデバイスなど)および/または他のデバイスもしくはチップ(別のプログラマブルデバイスなど)に連結され得る。
PL810は、多数の異なるユーザ定義機能または動作を実施するように構成またはプログラムされ得るプログラマブル回路機器を含む。いくつかの実装形態では、PL810は、例えば、図8に描写されているように、プログラマブルデバイス800内の列に配置された繰り返し可能なタイルとして実装された複数のプログラマブル回路ブロックを含み得る。プログラマブル回路ブロックは、プログラマブルファブリックサブリージョン(FSR)と呼ばれ得、プログラマブル相互接続回路機器およびプログラマブルロジック回路機器をそれぞれ含み得る。いくつかの実装形態では、プログラマブル回路ブロックは、コンフィギュラブルロジックブロック(CLB)、ランダムアクセスメモリブロック(BRAM)、デジタル信号処理ブロック(DSP)、クロックマネージャ、遅延ロックループ(DLL)、および/または、ユーザ指定回路設計を実装するようにプログラムもしくは構成可能な他のロジックもしくは回路を含み得る(が、これらに限定されない)。
プログラマブル回路ブロックまたはタイルのそれぞれの中のプログラマブル相互接続回路機器は、プログラマブル相互接続ポイント(PIP)によって相互接続された様々な長さの複数の相互接続ワイヤを含み得る。相互接続ワイヤは、特定のプログラマブルタイル内の構成要素間、異なるプログラマブルタイル内の構成要素間、およびプログラマブルタイルの構成要素と他のサブシステムまたはデバイスとの間の接続を提供するように構成され得る。プログラマブル相互接続回路機器およびプログラマブル回路ブロックは、どのようにプログラマブル要素が構成されるかを定義し、対応するユーザ指定回路設計を実装するために動作する構成レジスタに構成データをロードすることによってプログラムまたは構成され得る。いくつかの態様では、いくつかのプログラマブル回路ブロックのそれぞれの中のプログラマブル相互接続回路機器は、ブロックレベルおよび/またはデバイスレベルの信号ルーティングリソースをデバイス800に提供するプログラマブル相互接続ファブリック(簡略化のために図示せず)の一部を形成し得る。
NoC相互接続システム820は、デバイス800の一部として製作され得、様々なデバイスリソース(PL810、専用回路機器830、CPM840、送受信ブロック850、I/Oブロック860、メモリコントローラ870、構成ロジック880、ルートモニタ890、およびサテライトモニタ892(1)~892(19)など)を互いに、および簡略化のために図示していない他の構成要素と、選択的に相互接続可能な、高速高帯域幅のプログラマブル信号ルーティングネットワークを実装するために一緒に接続された任意の数の水平セグメントおよび垂直セグメント(ならびに/または対角セグメント)を含み得る。図8の実例の実装形態について、NoC相互接続システム820は、2つの水平セグメントおよび4つの垂直セグメントを含むように示されている。デバイス800の幅全体に延びる第1の水平セグメントは、デバイス800の下部境界に沿って位置づけられ、デバイス800の幅全体に延びる第2の水平セグメントは、デバイス800の上部境界に沿って位置づけられる。4つの垂直セグメントは、デバイス800の高さ全体に延び、NoC相互接続システム820の第1および第2の水平セグメントに接続される。いくつかの態様では、水平セグメントは、介在する回路またはインターフェースを用いずに、NoC相互接続システム820がI/Oブロック860およびメモリコントローラ870と信号およびデータを交換することを可能にし得、垂直セグメントは、介在する回路またはインターフェースを用いずに、NoC相互接続システム820が送受信ブロック850、専用回路機器830、およびCPM840と信号およびデータを交換することを可能にし得る。他の実装形態では、NoC相互接続システム820は、他の数の水平および垂直セグメントを含み得、これらのセグメントは、デバイス800の他の位置を占め得る。したがって、図8に描写された実例のNoC相互接続システム820の特定のレイアウト、形状、サイズ、方向、および他の物理的特性は、本明細書で開示される様々な実装形態の例証にすぎない。
NoC相互接続システム820は、ソースロケーションから宛先ロケーションに個別にアドレス指定およびルート可能なデータパケットとして、様々なデバイスリソース間で情報を送信するように構成され得る。いくつかの態様では、NoC相互接続システム820上で送信されたデータパケットは、動的にアドレス指定可能であり得る。1つまたは複数の実装形態では、NoC相互接続システム820は、適切なデータパケットプロトコル(トークンリングプロトコルなど)を用いて、および/またはメモリマップされたアドレスを使用して、データパケットを任意の数のソースロケーションから任意の数の宛先ロケーションにルートし得る。データパケットは、データパケットをその指示された宛先にルートするために、NoC相互接続システム820によって使用可能なヘッダ情報(ソースアドレス、宛先アドレス、およびプロトコル情報など)を含み得る。
いくつかの実装形態では、データパケットは、例えば、割り当てられた優先度、トラフィックタイプ、トラフィックフロー、および/または他の尺度に基づいて、NoC相互接続システム820を通じたデータパケットの送信が優先されることを可能にするサービス品質(QoS)情報を含み得る。このような実装形態では、NoC相互接続システム820は、受け取られたデータパケットの優先レベルまたはトラフィッククラスを決定可能な優先ロジックを含み、送信のためのデータパケットを待ち行列に入れるときに、決定された優先レベルまたはトラフィッククラスを使用し得る。個別アドレス指定可能データパケットとして、様々なデバイスリソース間で情報を送信することによって、NoC相互接続システム820は、特定のユーザ指定回路設計に関わらず、様々なデバイスリソース間の接続を提供し得、これにより、(従来のプログラマブルデバイスに比べて)デバイス800の信号ルーティング能力を著しく向上させる。例えば、デバイス800のプログラマブル相互接続ファブリックおよび他のタイルベースの信号ルーティング構造は、典型的には、指定の回路間のポイントツーポイント信号接続を提供するように構成されるが、NoC相互接続システム820は、複数のデータパケットのそれぞれを、デバイス800上の任意のソースアドレスから任意の宛先アドレスに同時にルートし得、これにより、システムレベルの接続性をデバイス800に提供する。
簡略化のために図示されていないが、NoC相互接続システム820はまた、スケジューラおよびアービトレーションロジックを含み得る。スケジューラは、NoC相互接続システム820の1つまたは複数の物理および/または仮想チャネルを使用した、ソースアドレスから宛先アドレスへのデータパケットの送信をスケジュールするために使用され得る。アービトレーションロジックは、例えば、衝突、および他の競合関連のレイテンシを最小化するために、NoC相互接続システム820へのアクセスを調停するために使用され得る。デバイス800が、スタックドシリコン相互接続(SSI)技術を使用して製作される実装形態について、NoC相互接続システム820の柱状部分は、例えば、マスタSLRとスレーブSLRとの間で構成データがルートされることを可能にするために、隣のスーパーロジック領域(SLR)との間の信号接続を提供し得る。
NoC相互接続システム820は、NoC相互接続システム820内の、またはNoC相互接続システム820に関連付けられた、様々なスイッチ、インターフェース、およびルータが、特定のユーザ指定回路設計を実装するために、どのように構成されるかを定義する対応する構成レジスタに、構成データをロードすることによってプログラムされ得る。いくつかの実装形態では、NoC相互接続システム820は、NoC相互接続システム820と、デバイス800の様々なリソース、サブシステム、回路、および他の構成要素との間の選択的接続を提供する複数のノード、ポート、または他のインターフェース(簡略化のために図示せず)を含み得る。例えば、NoC相互接続システム820は、デバイス800の複数のサブシステムが、オンチップメモリ(OCM)リソース、処理リソース、I/Oリソース、および/または送受信ブロック850へのアクセスを共有することを可能にし得る。NoC相互接続システム820のノード、ポート、または他のインターフェースは、1つまたは複数の関連付けられた構成レジスタに構成データをロードすることによって、特定の接続プロフィールを実装するようにプログラムされ得る。
大量のデータを要求および使用し得るデバイス800の様々なリソース、サブシステム、回路、および他の構成要素を選択的に相互接続することによって、NoC相互接続システム820は、ローカル相互接続リソースに対する信号ルーティング負荷を緩和し得、これにより、デバイス性能を向上させ、他のプログラマブルデバイスより大きい構成柔軟性を可能にする。その上、デバイスレベルおよびブロックレベルのプログラマブル相互接続より高いデータ送信速度および低いエラー率を有する高性能信号ルーティングネットワークを提供することによって、NoC相互接続システム820は、(他のプログラマブルデバイスに比べて)デバイス800の処理能力およびデータスループットを向上させ得る。
プログラマブルデバイス800に広がるアナログチャネル821は、高精度かつ温度非依存性基準電圧をルートモニタ890から複数のサテライトモニタ892(1)~892(19)のそれぞれに配布するために使用され得る。いくつかの実装形態では、アナログチャネル821は、NoC相互接続システム820の対応するセグメントに隣接し得る(または対応するセグメント内に統合され得る)。他の実装形態では、アナログチャネル821は、NoC相互接続システム820から分離され得る。いくつかの他の実装形態では、アナログチャネル821は、クロック分散ネットワーク、または、デバイス800内に提供された他のいくつかの適切な信号相互接続システムの一部であり得る。
専用回路機器830は、プロセッサ、シリアルトランシーバ、デジタルシグナルプロセッサ(DSP)、アナログ/デジタルコンバータ(ADC)、デジタル/アナログコンバータ(DAC)、デバイス管理リソース、デバイス監視リソース、デバイス検査管理リソースなどを含む(が、これらに限定されない)、任意の適切な配線接続回路を含み得る。いくつかの実施形態では、専用回路機器830は、図9について説明された、処理システム(PS)およびプラットフォーム管理コントローラ(PMC)を含み得る。いくつかの実装形態では、PSは、1つまたは複数のプロセッサコア、キャッシュメモリ、メモリコントローラ、および、デバイス800のI/Oピンに直接的に連結するように構成可能な一方向性および/または双方向性インターフェースを含み得る。いくつかの態様では、各プロセッサコアは、連続したデータ処理のために使用可能な中央処理装置(CPU)またはスカラプロセッサを含み得る。PMCは、外部メモリから提供された構成データ(構成ビットストリームなど)に基づいて、デバイス800をブートおよび構成するために使用され得る。PMCはまた、PL810を構成するため、ならびに様々な暗号化、認証、ルートモニタリング、およびデバイス800のデバッグ能力を制御するために使用され得る。
CCIX兼PCIeモジュール(CPM)840は、デバイス800と、いくつかの周辺構成要素(外部デバイスまたはチップなど)との間の接続を提供するいくつかのインターフェースを含み得る。いくつかの実装形態では、CPM840は、送受信ブロック850を介して他のデバイスまたはチップへの接続を提供する、複数のペリフェラルインターコネクトエクスプレス(PCIe)インターフェース兼キャッシュコヒーレントインターコネクトフォーアクセラレータ(CCIX)インターフェースを含み得る。いくつかの態様では、PCIe兼CCIXインターフェースは、送受信ブロック850の一部として実装され得る。CPM840の1つの実例の実装形態が図9について説明される。
送受信ブロック850は、デバイス800に接続された1つまたは複数の他のデバイスまたはチップ(簡略化のために図示せず)との信号接続を提供し得る。送受信ブロック850は、例えば、ギガビットシリアルトランシーバ(GT)などの、いくつかの異なるシリアルトランシーバを含み得る。いくつかの実装形態では、送受信ブロック850は、図8に描写されているように、デバイス800の右側および左側に沿った様々なロケーションに位置づけられた複数の繰り返し可能なタイルとして実装され得る。他の実装形態では、送受信ブロック850は、デバイス800の他の適切なロケーションに位置づけられ得る。1つまたは複数の実装形態では、送受信ブロック850のそれぞれは、1つまたは複数の関連付けられた電圧供給源(簡略化のために図示せず)に連結され得る。いくつかの態様では、所与の送受信ブロック850内の送受信回路の各バンクは、例えば、送受信回路の各バンクが、別個の電圧供給源を使用して電力供給され得るように、対応する電圧供給源を含み得るか、対応する電圧供給源に連結され得る。
I/Oブロック860は、デバイスのI/Oピン(簡略化のために図示せず)に連結され、I/O能力をデバイス800に提供し得る。例えば、I/Oブロック860は、1つまたは複数の他のデバイスからデータを受け取り得、受け取られたデータをデバイス800内のいくつかの宛先に移動させ得る。I/Oブロック860はまた、デバイス800内のいくつかのソースからデータを受け取り得、受け取られたデータをデバイスのI/Oピンを介して1つまたは複数の他のデバイスに移動させ得る。いくつかの実装形態では、I/Oブロック860は、繰り返し可能なタイルとして実装され得る。デバイス800は、任意の適切な数のI/Oブロック860を含み得、したがって、図8に描写された実例の実装形態は、例証にすぎない。
I/Oブロック860は、任意の数の適切なI/O回路またはデバイスを含み得る。いくつかの実装形態では、I/Oブロック860は、超高性能I/O(XPIO)回路、高密度I/O(HDIO)回路、および多重化I/O(MIO)回路を含み得る。XPIO回路は、メモリコントローラ870への高速低レイテンシインターフェースを提供することなど、高性能通信に最適化され得る。1つまたは複数の実装形態では、XPIO回路は、メモリコントローラ870を使用せずにデバイス800の他のサブシステムによってアクセス可能な、専用メモリリソースを含み得る。HDIO回路は、(XPIO回路に比べると)より低いスピードおよびより高い電圧I/Oの能力をサポートする費用効果の高い解決策を提供し得る。MIO回路は、例えば、PL810、専用回路機器830、およびCPM840などの、様々なサブシステムによってアクセス可能な汎用I/Oリソースを提供し得る。
メモリコントローラ870は、デバイス800内および/または外に提供された様々なメモリリソースへのアクセスを制御するために使用され得る。いくつかの実装形態では、メモリコントローラ870は、I/Oブロック860の1つまたは複数に常駐する専用メモリにアクセスするために使用され得る。メモリコントローラ870は、ダブルデータレートv4(DDR4)メモリコントローラ、高帯域幅メモリ(HBM)コントローラ、および/または他の適切なメモリコントローラを含み得る。1つまたは複数の実装形態では、メモリコントローラ870のいくつかまたは全ては、メモリアクセス効率を改善し得るトランザクション並べ替え能力を有するスケジューラを含み得る。さらに、または別の方式では、メモリコントローラ870を実装する繰り返し可能なタイルは互いに異なり得る。例えば、第1の数のメモリコントローラ870は、DDR4メモリコントローラを実装し得、第2の数のメモリコントローラ870は、LPDDR4メモリコントローラを実装し得、第3の数のメモリコントローラ870は、HBMコントローラを実装し得る。
デバイス800は、任意の数のI/Oブロック860およびメモリコントローラ870を含み得、したがって、図8に描写されたI/Oブロック860およびメモリコントローラ870の数および位置は例証にすぎない。いくつかの実装形態では、I/Oブロック860およびメモリコントローラ870の第1の行は、デバイス800の下縁に沿って位置づけられた繰り返し可能なタイルとして実装され得、I/Oブロック860およびメモリコントローラ870の第2の行は、デバイス800の上縁に沿って位置づけられた繰り返し可能なタイルとして実装され得る。いくつかの実装形態では、I/Oブロック860およびメモリコントローラ870は、例えば、図8の例に描写されているように、交互に位置づけられるか、互いに対して分散され得る。他の実装形態では、I/Oブロック860とメモリコントローラ870とのペアは、同じ繰り返し可能タイル内に実装され得る。
いくつかの実装形態では、デバイス800の下部に沿って位置づけられたI/Oブロック860およびメモリコントローラ870の第1の行は、NoC相互接続システム820の第1の水平セグメントに連結され得、デバイス800の上部に沿って位置づけられたI/Oブロック860およびメモリコントローラ870の第2の行は、NoC相互接続システム820の第2の水平セグメントに連結され得る。このようにして、NoC相互接続システム820は、デバイス800のプログラマブルリソースとそのI/Oピン(簡略化のために図示せず)との間の接続を提供し得る。
いくつかの実装形態では、デバイス800は、デバイス800の高さ全体に垂直に延び、送受信ブロック850の近傍に位置づけられた、接続ファブリック(簡略化のために図示せず)の1つまたは複数の列を含み得る。接続ファブリックは、USBコントローラ、イーサネットMAC、マルチレート(MR)イーサネットMAC(MRMAC)、PCIeコントローラ、CCIXコントローラ、および/または、送受信ブロック850とPL810との間の接続を提供するための他の構成要素を含む(が、これらに限定されない)、1つまたは複数の配線接続回路を含み得る。
構成ロジック880は、外部メモリからの構成データ(構成ビットストリームなど)、ならびに構成データのルート部分(フレーム、ワード、バイト、および/またはビットなど)を、デバイス800の様々なプログラマブルリソースがどのように構成されるかを定義する適切な構成レジスタにロードするために使用され得る。構成ロジック880はまた、デバイス800を部分的に再構成するため、および/またはデバイス800の1つもしくは複数の部分を内部で再構成するために使用され得る。いくつかの実装形態では、構成ロジック880は、構成レジスタ、境界走査検査回路機器(TAPコントローラ回路機器など)、デバイス800から読み出された構成データのビットストリームを暗号化するための暗号化回路機器、およびデバイス800にロードされた構成データのビットストリームを復号するための復号回路機器を含み得る。
簡略化のために図示されていないが、デバイス800は、プログラマブルファブリックと、デバイス800の境界に位置づけられたI/Oブロック860およびメモリコントローラ870の行のそれぞれとの間のインターフェースを含み得る。このインターフェースは、本明細書では境界ロジックインターフェース(BLI)と呼ばれることもあり、大きく複雑な外部デバイス(HBMなど)がデバイス800のプログラマブルファブリック内のはるかに小さいブロック(CLBなど)のように見えることを可能にし得る。いくつかの実装形態では、BLIは、プログラマブルファブリックの上部および下部の境界または縁に位置づけられた行に配置され得る。このようにして、BLIは、円柱ロジック構造(CLB列またはDSP列など)とI/Oリソース(I/Oブロック860など)の行との間で信号をルートするために使用され得る。
本開示の様々な態様によれば、プログラマブルデバイス800は、例えば、選択された回路が指定の動作可能パラメータ内で動作することを保証するために、プログラマブルデバイス800の至る所に提供された複数の選択された回路の1つまたは複数の動作状況を監視可能な監視システムを含み得る。本明細書で開示される監視システムは、例えば、温度、電圧レベル、および電流レベルを含む、選択された回路の任意の適切な動作状況を測定し得る。本明細書で使用されるように、用語「選択された回路」は、デバイス800の正規の動作を保証するために、1つまたは複数の動作状況を監視するために選択可能な任意の回路、構成要素、供給電圧、構造、またはデバイスのことを指し得る。いくつかの実装形態では、監視システムは、選択された回路の1つまたは複数の測定された動作状況が動作状況の指定範囲に含まれないときに、アラーム(または複数のアラーム)を生成し得る。いくつかの態様では、アラームは、デバイス800の1つまたは複数の回路または構成要素の電源を切るために使用され得る。他の態様では、アラームは、デバイス800全体の電源を切るために使用され得る。
監視システムは、ルートモニタ890、サテライトモニタ892(1)~892(19)、およびセンサ(S)を含み得る(または、これらによって形成され得る)。ルートモニタ890は、NoC相互接続システム820およびアナログチャネル821に連結され、高精度かつ温度非依存性基準電圧を発生させるように構成された回路機器を含み得る。温度非依存性基準電圧は、1つまたは複数のアナログチャネル821を介してサテライトモニタ892(1)~892(19)のそれぞれに配布され得、これにより、サテライトモニタ892(1)~892(19)のそれぞれが、独自の高精度かつ温度非依存性基準電圧を発生させる必要をなくす。いくつかの実装形態では、ルートモニタ890は、例えば、図8に描写されているように、デバイス800のプロセッサシステム内に位置づけられ得る。他の実装形態では、ルートモニタ890は、デバイス800内の他の適切なロケーションに位置づけられ得る。
センサ(S)は、選択された回路の少なくとも1つの1つまたは複数の動作状況を示す電気信号を生成可能な、任意の適切な検知回路またはデバイスであり得、温度センサ、電圧センサ、および/または電流センサを含み得る(が、これらに限定されない)。いくつかの実装形態では、各センサ(S)は、1つまたは複数の選択された回路の動作状況を測定し得、測定された動作状況を示すアナログ信号をサテライトモニタ892(1)~892(19)のうちの対応する1つに提供し得る。
サテライトモニタ892(1)~892(19)は、センサによって生成されたアナログ信号(S)を、選択された回路の測定された動作状況を示すデジタルデータに変換可能な、任意の適切な回路またはデバイスであり得る。簡略化のために図8に示されていないが、いくつかの実装形態では、サテライトモニタ892(1)~892(19)のそれぞれは、少なくともアナログ/デジタルコンバータ(ADC)、比較的小さいサイズを有するローカル電圧源(バンドギャップ電圧発生器に比べてのものなど)、較正回路、および訂正回路を含み得る。ADCは、アナログ信号をデジタルデータに変換可能な任意の適切な回路であり得、1つまたは複数の関連付けられたセンサ(S)によって生成されたアナログ信号を受け取るための1つまたは複数の入力、関連付けられたセンサ(S)によって測定された動作状況を示すデジタルデータを提供するための1つまたは複数の出力、およびローカル基準電圧を受け取るための1つまたは複数の基準端子を含み得る。いくつかの実装形態では、サテライトモニタ192(1)~192(19)のそれぞれは、少なくともアナログ/デジタルコンバータ(ADC)、対応するADCのためのローカル基準電圧を貯蔵するように構成されたローカル電圧ストア、較正回路、および訂正回路を含み得る。ローカル電圧ストアは、いくつかの実装形態については、キャパシタであるか、またはキャパシタを使用し得、バンドギャップ電圧発生器に比べて比較的小さいサイズを有する。いくつかの実装形態では、ローカル電圧ストアによって消費される回路面積は、バンドギャップ電圧発生器によって消費される回路面積より少なくとも1桁小さくなり得る。電圧ストアは、温度非依存性基準電圧におよそ等しい値まで電圧ストアを充電するために、1つまたは複数のアナログチャネルに選択的に連結され得る。電圧ストアに貯蔵された結果として生じた電荷は、ADCの基準端子に提供されたローカル基準電圧であり得る。
ローカル電圧源は、ローカル基準電圧を発生させ得、ローカル基準電圧は、ルートモニタ890によって提供された高精度かつ温度非依存性基準電圧に比べて比較的不正確であり得る。いくつかの実装形態では、ローカル基準電圧は、バンドギャップ電圧発生器によって発生された温度非依存性基準電圧より少なくとも1桁少ない精度になり得る。1つまたは複数の実装形態では、ローカル基準電圧は、ターゲット電圧内のおよそ5%の精度を有し得るが、温度非依存性基準電圧は、ターゲット電圧内のおよそ0.5%の精度を有し得る。較正回路は、ADCによって生成されたデジタルコードのエラーを示す訂正因子を生成し得、訂正回路は、訂正因子に基づいてデジタルコードを訂正し得る。
センサ(S)およびサテライトモニタ892(1)~892(19)は、例えば、選択された回路の動作状況を示すアナログ信号が(中央ハブに送信され、その後、デジタルデータに変換されるのではなく)、様々な分散されたロケーションにおいてデジタル信号に変換され得るように、プログラマブルデバイス800の至る所に分散され、選択された回路の近くの様々なロケーションに位置づけられ得る。いくつかの実装形態では、センサ(S)のそれぞれは、例えば、センサ(S)および対応する選択された回路がローカル信号線を使用して一緒に連結され得るように、対応する選択された回路の近傍に位置づけられ得る。同様に、サテライトモニタ892(1)~892(19)のそれぞれは、例えば、サテライトモニタ892および1つまたは複数の関連付けられたセンサ(S)がローカル信号線を使用して一緒に連結され得るように、1つまたは複数の関連付けられたセンサ(S)の近傍に位置づけられ得る。いくつかの態様では、本明細書で使用されるような用語「近傍」は、動作状況を示すアナログ信号を、最低限の信号劣化で比較的短いローカル信号ワイヤを介して送信可能な距離を指し得る。
図8の例について、送受信ブロック850内にあるセンサ(S)の第1のグループは、送受信ブロック850に関連付けられた電圧供給源(簡略化のために図示せず)のそれぞれの近傍に位置づけられ得、サテライトモニタ892(1)~892(6)の第1のグループは、例えば、センサ(S)の第1のグループのそれぞれが、比較的短いローカル信号ワイヤによって、対応する供給電圧および対応するサテライトモニタ890に連結され得るように、センサ(S)の第1のグループの近傍に位置づけられ得る。いくつかの実装形態では、センサ(S)の第1のグループのそれぞれは、対応する電圧供給源の1つまたは複数の動作状況を示すアナログ信号を生成するように構成され得、サテライトモニタ892(1)~892(6)の第1のグループのそれぞれは、関連付けられたセンサ(S)によって生成されたアナログ信号を、NoC相互接続システム820を介してルートモニタ890に送信可能なデジタルデータに変換するように構成され得る。
PL810内にあるセンサ(S)の第2のグループは、PL810内のまたはPL810に関連付けられた、1つまたは複数の対応する選択された回路(簡略化のために図示せず)の近傍に位置づけられ得、サテライトモニタ892(7)~892(19)の第2のグループは、例えば、センサ(S)の第2のグループのそれぞれが、比較的短いローカル信号ワイヤによって、対応する選択された回路およびサテライトモニタ892(7)~892(19)の第2のグループの対応する1つに連結され得るように、センサ(S)の第2のグループの近傍に位置づけられ得る。いくつかの実装形態では、センサ(S)の第2のグループのそれぞれは、対応する選択された回路の1つまたは複数の動作状況を示すアナログ信号を生成するように構成され得、サテライトモニタ892(7)~892(19)の第2のグループのそれぞれは、関連付けられたセンサ(S)によって生成されたアナログ信号を、NoC相互接続システム820を介してルートモニタ890に送信可能なデジタルデータに変換するように構成され得る。
サテライトモニタ892(1)~892(19)のそれぞれは、ローカル信号線によって任意の適切な数のセンサ(S)に連結され得る。1つの例として、サテライトモニタ892(1)は、送受信ブロック850内に位置づけられた単一のセンサ(S)に連結され得、送受信ブロック850に関連付けられた対応する電圧供給源の1つまたは複数の動作状況を示すデジタル信号を生成し得る。別の例として、サテライトモニタ892(16)は、PL810内に位置づけられた2つのセンサ(S)に連結され得、PL810内に位置づけられた2つのセンサ(S)に関連付けられた選択された回路の1つまたは複数の動作状況を示すデジタル信号を生成し得る。別の例として、サテライトモニタ892(17)は、PL810内に位置づけられた4つのセンサ(S)に連結され得、PL810内に位置づけられた4つのセンサ(S)に関連付けられた選択された回路の1つまたは複数の動作状況を示すデジタル信号を生成し得る。さらに、19個のサテライトモニタ892(1)~892(19)を含むように図8に示されているが、プログラマブルデバイス800は、プログラマブルデバイス800の他の適切なロケーションに位置づけられた他の数のサテライトモニタ892を含み得る。
上記で説明されたように、サテライトモニタ892(1)~892(19)は、中央システムモニタを使用してデジタルデータへの変換のために比較的長距離を越えてアナログ信号を送信するのではなく、比較的短いローカル信号ワイヤを使用して、センサ(S)のそれぞれを対応するサテライトモニタ892に連結できるように、センサ(S)に十分接近して位置づけられ得る。このようにして、本明細書で開示される監視システムの実装形態は、金属層信号ルーティングリソースが、デジタルデータへの変換のために、これらのアナログ信号を、デバイス800の至る所に分散された様々なロケーションから中央モニタにルートする必要をなくし得、これは、監視システムのスケーラビリティをさらに向上させつつ、デバイスの複雑性およびコストを低減させ得る。その上、デバイス800の至る所に分散された複数のサテライトモニタ892(1)~892(19)を使用して、アナログセンサデータのアナログ/デジタル変換を実施し、次に、分析のためにデジタルデータをルートモニタ890にルートすることによって、同時に測定可能なセンサの数は、サテライトモニタ内に提供されたADCの入力チャネルの数によって制限されない。対照的に、デジタルデータへの変換のためにアナログセンサデータを中央システムモニタにルートする従来の解決策による同時に測定可能なセンサの数は、システムモニタに関連付けられたADCの入力チャネルの数によって制限される。したがって、サテライトモニタ892(1)~892(19)を介してデバイス800の至る所にある様々なロケーションにおいてデジタル情報へのアナログセンサデータの変換を分散させることによって、本明細書で開示される監視システムによる同時に測定可能なセンサの数は、デバイス全体に分散されたセンサからアナログ信号を受け取る、中心にあるADCの入力チャネルの数ではなく、サテライトモニタ892(1)~892(19)の数に基づき得る。結果として、本明細書で開示される監視システムは、前述の従来の解決策よりはるかに大きい数のセンサを同時に測定し得る。
ルートモニタ890は、NoC相互接続システム820によってサテライトモニタ892(1)~892(19)のそれぞれからルートされたデジタルデータを受け取り得、センサによって監視される選択された回路の動作状況を決定するために、受け取られたデジタルデータを処理し得る。いくつかの実装形態では、ルートモニタ890は、選択された回路のそれぞれがその指定動作範囲内で動作しているかどうかを決定するために、測定された動作状況を1つまたは複数の基準値と比較し得る。
図8は、プログラマブルデバイス800のただ1つの例証的なアーキテクチャを示すことを意図するものであることに留意されたい。例えば、列(または行)における論理ブロックの数、列(または行)の相対幅、列(または行)の数と順序、列(または行)に含まれる論理ブロックのタイプ、論理ブロックの相対サイズ、および図8に示された他の構造的態様は、本明細書で開示される発明の主題の様々な実装形態の例証にすぎない。
図9は、いくつかの実装形態による、図8のプログラマブルデバイス800の1つの例であり得るプログラマブルデバイス900の機能ブロック図を示している。デバイス900は、送受信ブロック850、プログラマブルロジック(PL)910、CPM920、処理システム(PS)930、プラットフォーム管理コントローラ(PMC)940、およびI/Oブロック+メモリコントローラ960を含むように示されている。PL910は、図8のPL810の1つの実装形態であり得、送受信ブロック850、CPM920、PMC940、およびNoC相互接続システム820に隣接しており、これらに直接接続され得る。I/Oブロック+メモリコントローラ960は、図8のI/Oブロック860およびメモリコントローラ870の1つの実装形態であり得、プログラマブルデバイス900の下縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。簡略化のために図9に示されていないが、I/Oブロック+メモリコントローラ960はまた、プログラマブルデバイス900の上縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。さらに、または別の方式では、I/Oブロック+メモリコントローラ960は、プログラマブルデバイス900の右縁および左縁に沿って配置された複数の繰り返し可能なタイルとして実装され得る。
CPM920は、図8のCPM840の1つの実装形態であり得、いくつかの異なるバス規格のためのインターフェース能力を提供し得る。いくつかの実装形態では、CPM920は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)インターフェース922、ダイレクトメモリアクセス(DMA)回路924、およびキャッシュコヒーレントインターコネクトフォーアクセラレータ(CCIX)インターフェース926を含み得る。PCIeインターフェース922は、PCIプロトコルに応じて、送受信ブロック850を介して、PS930と1つまたは複数の他のデバイスまたはチップとの間でデータを交換するために使用され得る。同様に、CCIXインターフェース926は、CCIXプロトコルに応じて、送受信ブロック850を介して、PS930と1つまたは複数の他のデバイスまたはチップとの間でデータを交換するために使用され得る。
PS930は、デバイス900に専用データ処理能力を提供し得、アプリケーション処理ユニット(APU)932、リアルタイム処理ユニット(RPU)934、キャッシュメモリ936、およびシステムオンアチップ(SoC)インターフェース938を含むように示されている。簡略化のために図示されていないが、PS930はまた、通信規格(イーサネットおよびUSB2.0インターフェースなど)のための周辺機器、ならびに様々なコントローラ(SPI、I2C、UART、およびCAN-FDコントローラなど)を含み得る。APU932およびRPU934は、デバイス900に専用スカラ処理能力を提供可能な1つまたは複数の処理コア(CPUなど)をそれぞれ含み得る。いくつかの態様では、PS930は、プログラマブル相互接続ファブリックおよびNoC相互接続システム820によってデバイス900の他のサブシステムに選択的に接続され得る。
いくつかの実装形態では、APU932は、ハードウェア仮想化をサポートするマルチコアARMプロセッサを含み得、ビルトイン割込みコントローラおよびスヌープ制御ユニットを有し得る。割込みコントローラは、仮想割込みをサポートし得、スヌープ制御ユニットは、APU932およびRPU934によって使用および/または共有される1つまたは複数のキャッシュ間のコヒーレンシを維持するために使用され得る。APU932は、AXIコヒーレント拡張(ACE)ポートを使用してPS930の他の構成要素と通信し得、アクセラレータコヒーレンシポート(ACP)を使用してPL910と通信し得る。いくつかの実装形態では、RPU934は、リアルタイムデータ処理をサポートするマルチコアARMプロセッサを含み得、リアルタイムシングルサイクルアクセスのための密結合メモリ(TCM)インターフェースを含み得、専用割込みコントローラおよび浮動小数点ユニットを有し得る。RPU934は、AXIポートを使用してPS930の他の構成要素と、および/またはPL910と通信し得る。
キャッシュメモリ936は、APU932およびRPU934による共有アクセスを可能にする任意の適切な高速キャッシュであり得る。SoCインターフェース938は、PS930の様々なリソースとNoC相互接続システム820との間の接続を提供し得る。
PMC940は、セキュリティ回路機器942、ブート兼再構成回路機器944、アナログ回路機器946、および図8のルートモニタ890を含み得る。セキュリティ回路機器942は、データ暗号化/復号能力および他のセキュリティ特徴を提供し得る。ブート兼再構成回路機器944は、非セキュアブートとセキュアブートの両方をサポートするマルチステージブート処理を提供し得る。アナログ回路機器946は、任意の適切なアナログ回路機器構成要素を含み得る。さらに、簡略化のために図9に示されていないが、PMC940は、テスト兼デバッギングリソース(JTAG回路機器など)、外部フラッシュメモリインターフェース、および他の構成要素または回路を含み得る。いくつかの実装形態では、PMC940は、PL910の一部が部分再構成動作を使用して再構成されることを可能にし得る。例えば、PL910の一部のための新しい構成ビットストリームは、1次または2次ブートインターフェース(PCIeまたはイーサネットなど)を介してPS930からロードされ、次に、再構成されることになるPL910の一部に関連付けられた構成レジスタに格納され得る。PL910の1つまたは複数の部分の部分再構成を可能にする能力は、ユーザ指定回路設計(他のプログラマブルデバイスに匹敵するものなど)への変更または更新を反映するために、ユーザがデバイス900をより素早く再構成することを可能にし得る。
図10は、いくつかの実装形態による、実例のプログラマブルファブリック1000のブロック図を示す。いくつかの実装形態では、プログラマブルファブリック1000は、図8のPL810、図9のPL910、または両方であり得る。プログラマブルファブリック1000は、列(または行)に配置可能な複数の異なるプログラマブル回路ブロックまたはタイルを含むように示されている。プログラマブル回路ブロックは、円柱状アーキテクチャに配置された、プログラマブル相互接続要素(INT)1010、コンフィギュラブルロジック要素(CLE)1020、DSP1030、およびブロックRAM(BRAM)1040を含み得る(が、これらに限定されない)。図10の例として、プログラマブルファブリック1000は、プログラマブル相互接続要素1010の11個の列、CLE1020の5つの列、DSP1030の2つの列、およびBRAM1040の2つの列を含むように示されている。他の実装形態では、プログラマブルファブリック1000は、プログラマブル相互接続要素1010、CLE1020、DSP1030、およびBRAM31040の他の数の列を含み得る。プログラマブルファブリック1000はまた、簡略化のために図10に示されていないいくつかの他のサブシステムまたは構成要素(処理コア、プログラマブル相互接続構造、および同様のものなど)を含み得る。
プログラマブル相互接続要素1010、CLE1020、DSP1030、およびBRAM1040は、プログラマブルファブリック1000全体に繰り返し可能なタイルとして実装され得る。タイルのそれぞれは、同じタイル内のプログラマブルロジック要素へのローカル信号相互接続を提供すること、隣接したタイル内のプログラマブル相互接続要素1010へのローカル信号相互接続を提供すること、および/または他の信号ルーティングリソースへのローカル信号相互接続を提供することを行う、少なくとも1つのプログラマブル相互接続要素1010を含み得る。プログラマブル相互接続要素1010は、プログラマブル相互接続ファブリックの少なくとも一部(または他の適切なブロックレベルおよび/もしくはデバイスレベルの信号ルーティング構造)をまとめて形成し得る。
いくつかの実装形態では、プログラマブルファブリック1000は、プログラマブルファブリック1000の高さ全体に垂直に延びる円柱状ハードブロック1050を含み得る。ハードブロック1050は、例えば、USBコントローラ、イーサネットMAC、マルチレート(MR)イーサネットMAC、PCIeコントローラ、CCIXコントローラ、ならびに/または、PCIeプロトコルの物理層、データリンク層、およびトランザクション層を実装する他の適切な回路もしくは構成要素など、いくつかの配線接続回路を含み得る。いくつかの実装形態では、ハードブロック1050は、図8について上記で説明された接続ファブリックの1つの実装形態であり得る。
図11は、いくつかの実装形態による、監視システム1100の機能ブロック図を示している。監視システム1100、図8のプログラマブルデバイス800内に実装され得、ルートモニタ1110、複数のサテライトモニタSAT1~SAT15、複数の供給電圧センサSV1~SV4、複数の温度センサT5~T15、および複数の選択された回路CKT5~CKT15を含むように示されている。ルートモニタ1110は、図8のルートモニタ890の1つの実装形態であり得、NoC相互接続システム820および1つまたは複数のアナログチャネル821に連結される。いくつかの実装形態では、ルートモニタ1110は、温度非依存性基準電圧VREFを発生させるためのバンドギャップ電圧発生器(簡略化のために図示せず)を含み得る。
サテライトモニタSAT1~SAT15は、デバイス800全体に分散され、サテライトモニタSAT1~SAT15のそれぞれがセンサSV1~SV4およびT5~T15の対応する1つの近傍に位置づけられるように配置され得る。図11の実例の実装形態について、サテライトモニタSAT1~SAT4は、ローカル信号ワイヤを介してそれぞれの供給電圧センサSV1~SV4に連結され、サテライトモニタSAT5~SAT15は、ローカル信号ワイヤを介してそれぞれの温度センサT5~T15に連結される。このようにして、供給電圧センサSV1~SV4によって生成されたアナログ信号は、ローカル信号ワイヤによってそれぞれのサテライトモニタSAT1~SAT4に提供され得、温度センサT5~T15によって生成されたアナログ信号は、ローカル信号ワイヤによってそれぞれのサテライトモニタSAT5~SAT15に提供され得る。関連付けられたセンサSV1~SV4およびT5~T15の直近に(例えば、これらの近傍に)サテライトモニタSAT5~SAT15を位置づけることによって、センサSV1~SV4およびT5~T15によって生成されたアナログ信号は、ルートモニタ1110に達するようにデバイス800の大部分を横断してルートされる必要はなく、これにより、デバイス800全体に広がる金属層相互接続全体の比較的小さいアナログ信号のルーティングに関連付けられた信号劣化を最小化する。その上、センサSV1~SV4およびT5~T15によって生成されたアナログ信号のそれぞれは、サテライトモニタSAT1~STA15のうちの近くの1つを使用してデジタルデータにローカルに変換され得るので、プログラマブルデバイス(図8のプログラマブルデバイス800など)内に監視システム1100を実装するために、高価な金属層ルーティングリソースは必要とされない。
1つの例として、センサSV1は、関連付けられた供給電圧の電圧レベルを示すアナログ信号を生成することによって、関連付けられた供給電圧の動作状況を監視し得る。対応するサテライトモニタSAT1をセンサSV1の近傍に位置づけることによって、センサSV1によって生成されたアナログ信号は、デバイス800を横断してルートモニタ1110にルートされる必要はなく、代わりに、ローカル信号ワイヤを介して、サテライトモニタSAT1への比較的短い距離をルートされ得る。別の例として、センサT5は、関連付けられた回路CKT5の温度を示すアナログ信号を生成することによって、関連付けられた回路CKT5の動作状況を監視し得る。対応するサテライトモニタSAT5をセンサT5の近傍に位置づけることによって、センサT5によって生成されたアナログ信号は、デバイス800を横断してルートモニタ1110にルートされる必要はなく、代わりに、ローカル信号ワイヤを介して、サテライトモニタSAT5への比較的短い距離をルートされ得る。
温度非依存性基準電圧VREFは、デバイス800全体に分散され、1つまたは複数のアナログチャネル821によってサテライトモニタSAT1~STA15のそれぞれへのアクセスを可能にされ得、デジタルデータは、NoC相互接続システム820によってサテライトモニタSAT1~STA15のそれぞれからルートモニタ1110に選択的にルートされ得る。いくつかの実装形態では、1つまたは複数のアナログチャネル821は、NoC相互接続システム820の対応する部分に沿って延び得る。他の実装形態では、1つまたは複数のアナログチャネル821は、NoC相互接続システム820から分離され得る。
図12は、いくつかの実装形態による、実例のルートモニタ1200のブロック図を示す。ルートモニタ500は、図8のルートモニタ890もしくは図11のルートモニタ1110(または両方)の1つの実装形態であり得、バンドギャップ電圧発生器1210、メモリ1220、およびコントローラ1230を含むように示されている。バンドギャップ電圧発生器1210は、高精度かつ温度非依存性基準電圧VREFを発生可能な任意の適切な回路またはデバイスであり得、1つまたは複数のアナログチャネル821に連結された出力を含む。いくつかの実装形態では、バンドギャップ電圧発生器1210は、温度非依存性基準電圧VREFを差動電圧(正基準電圧と負基準電圧の両方を含むものなど)として1つまたは複数のアナログチャネル821に提供し得る。いくつかの態様では、温度非依存性基準電圧VREFは1.25ボルトに等しくなり得るが、他の適切な電圧がVREFとして使用され得る。
図8をさらに参照すると、いくつかの実装形態では、バンドギャップ電圧発生器1210によって発生された温度非依存性基準電圧VREFは、1つまたは複数のアナログチャネル821使用して、デバイス800の至る所にあるサテライトモニタ892(1)~892(19)のそれぞれに配布され得る。サテライトモニタ892(1)~892(19)は、例えば、(高精度かつ温度非依存性基準電圧VREFを使用するのではなく)アナログ信号をサンプリングするために比較的不正確なローカル基準電圧を使用することに関連付けられたアナログ/デジタル変換エラーを補償するために、1つまたは複数のアナログチャネル821から温度非依存性基準電圧VREFに選択的にアクセスして、これらのそれぞれの電圧ストアを充電し、これらのADCを周期的に較正し得る。
メモリ1220は、NoC相互接続システム820に連結されたデータ入力と、コントローラ1230に連結された制御入力と、コントローラ1230に連結されたデータ出力と、JTAGインターフェース、多重化入出力(MIO)ブロック、またはAXIインターフェースの1つまたは複数を介して、メモリ1220に格納されたデータにユーザによってアクセス可能な1つまたは複数の出力ポートとを含む。いくつかの実装形態では、メモリ1220は、いくつかの状態レジスタ1221およびいくつかのアラームレジスタ1222を含み得る。状態レジスタ1221は、デバイス800の至る所に提供された選択された回路の動作状況を示すデジタルデータを格納し得、アラームレジスタ1222は、いくつかの指定動作範囲を定義する複数の基準値を格納し得る。状態レジスタ1221は、NoC相互接続システム820を介してサテライトモニタ892(1)~892(19)からルートモニタ1200にルートされたデジタルデータをロードされ得、アラームレジスタ1222は、プログラマブルデバイス800の構成(または再構成)中に基準値をロードされ得る。
コントローラ1230は、ルートモニタ1200の様々な動作を制御し得、選択された回路のいずれかがこれらの指定動作範囲内で動作していないかどうかを決定するために、サテライトモニタ892(1)~892(19)から受け取られたデジタルデータを分析し得、ユーザによってアクセス可能な結果データを生成し得る。いくつかの実装形態では、コントローラ1230は、状態レジスタ1221に格納された測定された動作状況を、アラームレジスタ1222に格納された対応する基準値と比較することによって、選択された回路が指定動作範囲内で動作しているかどうかを決定し得る。選択された回路がその指定動作範囲外で動作していると決定された場合、コントローラ1230は、アラームを生成し得る。いくつかの態様では、アラームは、例えば、選択された回路の動作状況がその指定動作範囲内になるまで、選択された回路を無効にするか、その電源を切り得る。他の態様では、アラームは、例えば、選択された回路の動作状況が指定動作範囲内になるまで、プログラマブルデバイス800に電源を切らせるか、低減された電力レベルで動作させ得る。
アラームレジスタ1222に格納された指定動作範囲のいくつかは、最小基準値および最大基準値によって定義され得る。いくつかの実装形態では、指定電圧範囲は、最小電圧値および最大電圧値を含み得る。このような実装形態では、コントローラ1230は、選択された回路の測定電圧を、アラームレジスタ1222に格納された最小および最大電圧値と比較し得、比較に基づいて1つまたは複数のアラームを生成し得る。例えば、測定電圧が最小電圧値と最大電圧値との間である場合、コントローラ1230は、選択された回路がその指定電圧範囲内で動作していることを示し得る。逆に、測定電圧が最小電圧値より小さいか、最大電圧値より大きい場合、コントローラ1230は、選択された回路がその指定電圧範囲内で動作していないことを示すためにアラームを生成し得る。
アラームレジスタ1222に格納された他の指定動作範囲は、動作可能上限を定義する基準値を含み得る。いくつかの実装形態では、選択された回路の指定温度範囲は、基準温度値によって定義され得る。このような実装形態では、コントローラ1230は、選択された回路の測定温度を、アラームレジスタ1222に格納された基準温度値と比較し得、比較に基づいて1つまたは複数のアラームを生成し得る。例えば、測定温度が基準温度値より小さい(または等しい)場合、コントローラ1230は、選択された回路がその指定温度範囲内で動作していることを示し得る。逆に、測定温度が基準温度値より大きい場合、コントローラ1230は、選択された回路が熱すぎるか、過熱されていることを示すためにアラームを生成し得る。
いくつかの実装形態では、コントローラ1230は、較正モードまたは監視モードで動作するためにそれぞれのサテライトモニタ892(1)~892(19)によって使用可能な制御信号CTRL[1:19]を生成するように構成され得る。較正モードで動作するとき、それぞれのサテライトモニタ892は、1つまたは複数のアナログチャネル821から温度非依存性基準電圧VREFにアクセスし得、比較的不正確なローカル基準電圧(図13について説明されたものなど)の誤りから生じるアナログ/デジタル変換エラーを示す訂正因子を、VREFを使用して生成し得る。監視モードで動作するとき、それぞれのサテライトモニタ892は、1つまたは複数のセンサ(S)によって生成されたアナログ信号をデジタルコードに変換し得、訂正因子(図13について説明されたものなど)に基づいてデジタルコードを訂正し得る。いくつかの実装形態では、コントローラ1230は、サテライトモニタ892(1)~892(19)のただ1つが、1つまたは複数のアナログチャネル821からVREFに同時にアクセスし得るように、タイミングスケジュールに基づいて制御信号CTRL[1:19]を選択的にアサートし得る。このようにして、ルートモニタ1200は、サテライトモニタ892(1)~892(19)の2つ以上が温度非依存性基準電圧VREFに同時にアクセスすることによって引き起こされる温度非依存性基準電圧VREFの降下を防ぎ得る。
タイミングスケジュールは、メモリ1220に格納され得、また、例えば、サテライトモニタ892(1)~892(19)のそれぞれによって使用される、および/またはこれらに格納されたローカル基準電圧の任意の周期変動が、訂正因子への対応する更新によって補償されることを保証するために、VREFを使用してサテライトモニタ892(1)~892(19)のそれぞれを周期的に較正するためのスケジュールを含み得る。例えば、1つまたは複数の実装形態では、コントローラ1230は、サテライトモニタ892(1)~892(19)のそれぞれがNミリ秒毎に較正動作を実施するように、Nミリ秒毎に制御信号CTRL[1:19]を順次アサートし得、ここで、Nは、任意の適切な数字であり得る。タイミングスケジュールはまた、例えば、1つの範囲内(温度非依存性基準電圧の値内など)に電圧ストアによって保持されるローカル基準電圧を維持するために、VREF使用して、サテライトモニタ192(1)~192(19)のそれぞれの中の電圧ストアを周期的に充電するためのスケジュールを含み得る。
図13は、いくつかの実装形態による、実例のサテライトモニタ1300のブロック図を示す。サテライトモニタ1300は、図8の任意の数のサテライトモニタ892(1)~892(19)、もしくは図11のサテライトモニタSAT1~SAT15(または両方)の1つの例であり得、ADC1310、メモリ1320、ローカル電圧源1330、較正回路1340、訂正回路1345、およびスイッチSWを含むように示されている。スイッチSWは、1つまたは複数のアナログチャネル821から温度非依存性基準電圧VREFを受け取るために連結された第1の入力端子、1つまたは複数の関連付けられたセンサ20によって生成されたアナログ信号を受け取るために連結された第2の入力端子、ルートモニタ1200によって生成された対応する制御信号CTRLを受け取るために連結された制御端子、および、ADC1310の入力端子に連結された出力端子を含む。いくつかの態様では、センサ20は、温度センサ21、供給電圧センサ22、および外部センサ23を含み得る(が、これらに限定されない)。
ADC1310は、メモリ1320に連結された出力端子を含み、ローカル電圧源1330に連結された1つまたは複数の基準端子を含む。ADC1310は、センサ20の1つまたは複数によって生成されたアナログ信号をデジタルデータまたはデジタルコードに変換可能な任意の適切なADCであり得る(またはこれを含み得る)。いくつかの実装形態では、ADC1310は、スケーリングされたアーキテクチャを利用して、センサ20によって提供されたアナログ検知データをデジタル化し得る。
メモリ1320は、任意の適切なストレージデバイスであり得、ADC1310の出力端子に連結された入力を含み、NoC相互接続システム820に連結された出力を含む。メモリ1320は、センサ20の1つまたは複数によって提供されたアナログ信号に応答して、ADC1310によって生成されたデジタルデータを格納し得、図12のルートモニタ1200にルートするためにNoC相互接続システム820にデジタルデータを提供し得る。いくつかの実装形態では、メモリ1320は、監視のために選択された複数の回路の対応する1つの動作状況を示すデジタルデータをそれぞれ格納するための複数のレジスタであり得るか、これらを含み得る。このようにして、サテライトモニタ1300は、選択された回路の対応する1つの動作状況を示すアナログ信号をセンサ20から受け取り得、アナログ信号をデジタルデータに変換し得、選択された回路の動作状況を示すデジタルデータを、NoC相互接続システム820を介してルートモニタ1200に提供し得る。
ローカル電圧源1330は、ADC1310による使用に適したローカル基準電圧VREF_LOCALを生成可能な(および、製造中にトリミングされる必要がない)任意の適切な比較的小さいまたは面積効率の良い電圧源であり得る。ローカル電圧源1330は、わずか10個のトランジスタを使用して構築され得、図12のバンドギャップ電圧発生器1210より著しく小さい回路面積しか占めない。いくつかの実装形態では、ローカル電圧源1330は、図12のバンドギャップ電圧発生器1210より少なくとも1桁小さい回路面積しか占め得ない。例えば、1つまたは複数の実装形態では、ローカル電圧源によって占められる回路面積は、およそ数十平方ミクロンであり得る。
ローカル基準電圧VREF_LOCALは、バンドギャップ電圧発生器1210によって生成された温度非依存性基準電圧VREFに比べて比較的不正確であり得、ADC1310によって生成されたデジタルコードのエラーを引き起こし得る。いくつかの実装形態では、ローカル電圧源1330によって提供されるローカル基準電圧は、バンドギャップ電圧発生器1210によって生成された温度非依存性基準電圧より少なくとも1桁少ない精度になり得る。1つまたは複数の実装形態では、ローカル基準電圧は、ターゲット電圧内のおよそ5%の精度を有し得るが、温度非依存性基準電圧は、ターゲット電圧内のおよそ0.5%の精度を有し得る。
較正回路1340は、ADC1310の出力端子からデジタルコードを受け取るために連結された入力、訂正回路1345に訂正因子を提供するための出力、およびルートモニタ1200から対応する制御信号CTRLを受け取るための制御端子を含み得る。訂正回路1345は、ADC1310とメモリ1320との間に連結され得、較正回路1340によって提供された訂正因子を受け取るための端子を含む。いくつかの実装形態では、較正回路1340は、ADC1310によって生成されたデジタルコードのエラーを補償するための訂正因子を生成するように構成され得、訂正回路1345は、訂正因子に基づいてADC1310によって生成されたデジタルコードを訂正するように構成され得る。
例えば、較正動作中、制御信号CTRLのアサート状態によって、スイッチSWは、温度非依存性基準電圧VREFをADC1310への入力信号として提供し得、また、較正回路1340を有効化し得る。ADC1310は、基準コードを生成するために温度非依存性基準電圧VREFをサンプリングし得、較正回路1340は、ADC1310によって生成された基準コードと、VREFの既知値を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成し得る。監視動作中、制御信号CTRLのデアサート状態によって、スイッチSWは、センサ20からのアナログ信号をADC1310への入力信号として提供し得、VREFおよび/またはNoC相互接続システム820からサテライトモニタ1300を絶縁し得る。ADC1310は、センサ20によって提供されたアナログ信号をサンプリングし、デジタルコードを生成し得る。訂正回路1345は、訂正因子を使用して、例えば、訂正因子に基づいてデジタルコードを調節することによって、デジタルコードを訂正し得る。このようにして、サテライトモニタ1300は、比較的不正確なローカル基準電圧VREF_LOCALの誤りから生じるアナログ/デジタル変換エラーを補償し得る。
図14は、いくつかの実装形態による、プログラマブルデバイス全体の様々なロケーションに分散された複数の回路の動作状況を監視するための実例の動作1400を描写する例証的なフローチャートである。実例の動作1400は、例証のためだけに、図8のプログラマブルデバイス800、図11の監視システム1100、図12のルートモニタ1200、および図13のサテライトモニタ1300について下記で説明される。実例の動作1400は、本明細書で開示される他のプログラマブルデバイスによって、および/または他の適切なデバイスによって実施され得ることが理解されよう。
動作1400は、ブロック1401において、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサの対応する1つを使用して、複数の回路のそれぞれの動作状況を示すアナログ信号を生成することによって始まり得る。いくつかの実装形態では、いくつかのセンサ20のそれぞれは、関連付けられた回路の近傍にあり得る。いくつかの態様では、センサ20は、温度センサ21、供給電圧センサ22、もしくは外部センサ23の少なくとも1つであり得る(またはこれらを含み得る)。いくつかの実装形態では、ルートモニタ890は、例えば、図12のバンドギャップ回路1212を使用して、トリミングされたおよび温度非依存性基準電圧VREFを発生させ得る。
動作1400は、ブロック1402において、アナログ信号のそれぞれを、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタの対応する1つに提供することによって進み得る。いくつかの実装形態では、センサ20によって生成されたアナログ信号は、例えば、様々な回路の動作状況を示すアナログ信号が、金属層信号ルーティング構造を使用してデバイス全体にルートされ、中央モニタに提供される従来のプログラマブルデバイスとは対照的に、比較的短いローカル信号ワイヤを使用して、対応するサテライトモニタ892(1)~892(19)に提供され得る。
動作1400は、ブロック1403において、複数のサテライトモニタ892(1)~892(19)のそれぞれにおいて、(例えば、温度非依存性基準電圧に基づいて)ローカル電圧源1330を使用してローカル基準電圧を発生させることによって進み得る。ローカル電圧源1330は、ルートモニタ1200に提供されたバンドギャップ電圧発生器1210に比べて、比較的小さく「面積効率の良い」ものであり得る。いくつかの実装形態では、ローカル電圧源1330は、12個未満のトランジスタを含み得、バンドギャップ電圧発生器1210より少なくとも1桁少ない回路面積しか消費し得ない。1つまたは複数の実装形態では、ローカル電圧源1330によって占められた回路面積は、およそ数十平方ミクロンであり得るが、バンドギャップ電圧発生器1210によって占められた回路面積は、およそ数百平方ミクロン(またはことによると、千平方ミクロン)であり得る。
ローカル基準電圧は、バンドギャップ電圧発生器1210によって生成された温度非依存性基準電圧に比べて比較的不正確であり得る。いくつかの実装形態では、ローカル電圧源1330によって提供されたおよび/またはこれに格納されたローカル基準電圧は、バンドギャップ電圧発生器1210によって発生された温度非依存性基準電圧より少なくとも1桁少ない精度になり得る。1つまたは複数の実装形態では、ローカル基準電圧は、ターゲット電圧内のおよそ5%の精度を有し得るが、温度非依存性基準電圧は、ターゲット電圧内のおよそ0.5%の精度を有し得る。
動作1400は、ブロック1404において、複数のサテライトモニタ892(1)~892(19)のそれぞれにおいて、ローカル基準電圧に基づいて、アナログ/デジタルコンバータ(ADC)を使用して、対応するアナログ信号をデジタルコードに変換することによって進み得る。図13をさらに参照すると、サテライトモニタ892(1)~892(19)のそれぞれの中に提供されたADC回路1310は、サテライトモニタ892(1)~892(19)のそれぞれのメモリ1320に格納され得るアナログ信号をデジタルデータに変換し得る。メモリ1320は、ルートモニタ890へのルーティングのために、格納されたデジタルデータを相互接続システム820に選択的に提供し得る。
動作1400は、ブロック1405において、ルートモニタ890から複数のサテライトモニタ892(1)~892(19)のそれぞれに温度非依存性基準電圧を配布することによって進み得る。いくつかの実装形態では、温度非依存性基準電圧は、プログラマブルファブリックに広がる1つまたは複数のアナログチャネル821を使用して、複数のサテライトモニタ892(1)~892(19)のそれぞれに配布され得る。
動作1400は、ブロック1406において、配布された温度非依存性基準電圧に少なくとも部分的に基づいて、複数のサテライトモニタ892(1)~892(19)のそれぞれの中のADC1310によって生成されたデジタルコードを訂正することによって進み得る。いくつかの実装形態では、デジタルコードは、ローカル基準電圧の誤りから生じるアナログ/デジタル変換エラーを示す訂正因子に基づいて調節され得る。
動作1400は、ブロック1407において、訂正されたデジタルコードを複数のサテライトモニタ892(1)~892(19)からルートモニタ890に選択的にルートすることによって進み得る。訂正されたデジタルコードは、NoC相互接続システム820を使用して、複数のサテライトモニタ892(1)~892(19)からルートモニタ890に選択的にルートされ得る。いくつかの実装形態では、サテライトモニタ892(1)~892(19)のそれぞれは、例えば、サテライトモニタ892(1)~892(19)からルートモニタ890へのデジタルデータの配信をスケジュールまたは優先させるために、ルートモニタ890によって生成された信号(トリガ信号など)に応答して、訂正されたデジタルコードをNoC相互接続システム820に提供し得る。他の実装形態では、サテライトモニタ892(1)~892(19)は、ルートモニタ890によって促すことなく、および/または制御することなく、NoC相互接続システム820にデジタルデータを提供し得る。
図15は、サテライトモニタのそれぞれの中に提供されたADCによって生成されたデジタルコードを訂正するための実例の動作1500を描写する例証的なフローチャートである。実例の動作1500は、例証のためだけに、図8のプログラマブルデバイス800、図11の監視システム1100、図12のルートモニタ1200、および図13のサテライトモニタ1300について下記で説明される。実例の動作1500は、本明細書で開示される他のプログラマブルデバイスによって、および/または他の適切なデバイスによって実施され得ることが理解されよう。いくつかの実装形態では、実例の動作は、図14について上記で説明された動作1400の処理1408の例であり得る。
動作1500は、ブロック1501において、温度非依存性基準電圧をADC1310への入力信号として提供することによって始まり得る。動作1500は、ブロック1502において、ADC1310を使用して、温度非依存性基準電圧を基準コードに変換することによって進み得る。動作1500は、ブロック1503において、基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成することによって進み得る。動作1500は、ブロック1504において、訂正因子に基づいてデジタルコードを調節することによって進み得る。
図16は、いくつかの実装形態による、実例のサテライトモニタ1600のブロック図を示す。サテライトモニタ1600は、図8の任意の数のサテライトモニタ892(1)~892(19)、もしくは図4のサテライトモニタSAT1~SAT15(または両方)の1つの例であり得、ADC1610、メモリ1620、電圧ストア1630、較正回路1640、訂正回路1645、第1のスイッチSW1、および第2のスイッチSW2を含むように示されている。第1のスイッチSW1は、1つまたは複数のアナログチャネル821から温度非依存性基準電圧VREFを受け取るために連結された第1の入力端子、1つまたは複数の関連付けられたセンサ20によって生成されたアナログ信号を受け取るために連結された第2の入力端子、第1の制御信号CTRL1の対応する1つを受け取るために連結された制御端子、およびADC1610の入力端子に連結された出力端子を含む。第2のスイッチSW2は、1つまたは複数のアナログチャネルから温度非依存性基準電圧を受け取るために連結された入力端子、第2の制御信号CTRL2の対応する1つを受け取るために連結された制御端子、および電圧ストア1630に連結された出力端子を含む。いくつかの態様では、センサ20は、温度センサ21、供給電圧センサ22、および外部センサ23を含み得る(が、これらに限定されない)。
ADC1610は、メモリ1620に連結された出力端子を含み、電圧ストア1630に連結された1つまたは複数の基準端子を含む。ADC1610は、センサ20の1つまたは複数によって生成されたアナログ信号をデジタルデータまたはデジタルコードに変換可能な任意の適切なADCであり得る(またはこれを含み得る)。いくつかの実装形態では、ADC1610は、スケーリングされたアーキテクチャを利用して、センサ20によって提供されたアナログ検知データをデジタル化し得る。
メモリ1620は、任意の適切なストレージデバイスであり得、ADC1610の出力端子に連結された入力を含み、NoC相互接続システム820に連結された出力を含む。メモリ1620は、センサ20の1つまたは複数によって提供されたアナログ信号に応答して、ADC1610によって生成されたデジタルデータを格納し得、図12のルートモニタ1200へのルーティングのためにNoC相互接続システム820にデジタルデータを提供し得る。いくつかの実装形態では、メモリ1620は、監視のために選択された複数の回路の対応する1つの動作状況を示すデジタルデータをそれぞれ格納するための複数のレジスタであり得るか、これらを含み得る。このようにして、サテライトモニタ1600は、選択された回路の対応する1つの動作状況を示すアナログ信号をセンサ20から受け取り得、アナログ信号をデジタルデータに変換し得、選択された回路の動作状況を示すデジタルデータを、NoC相互接続システム820を介してルートモニタ1200に提供し得る。
電圧ストア1630は、ADC1610による使用に適したローカル基準電圧VREF_LOCALを貯蔵可能な任意の適切なデバイスまたは構成要素であり得る。いくつかの実装形態では、電圧ストア1630は、例えば、図16に描写されているような、キャパシタであり得る。より具体的には、いくつかの実装形態では、電圧ストア1630は、キャパシタC1として実装され得、第2のスイッチSW2は、CMOSトランジスタM1として実装され得る。キャパシタC1は、トランジスタM1(第2のスイッチSW2として動作する)と、ADC1610の基準端子との間に連結され、図12のバンドギャップ電圧発生器1210より著しく小さい回路面積しか占め得ない。さらに、キャパシタは、例えば、バンドギャップ電圧発生器1210などの正確な電圧基準のように、製造中にトリミングされる必要がない。いくつかの実装形態では、電圧ストア1630は、図12のバンドギャップ電圧発生器1210より少なくとも1桁小さい回路面積しか占め得ない。例えば、1つまたは複数の実装形態では、ローカル電圧ストア1630によって占められる回路面積は、およそ数十平方ミクロンであり得る。
ローカル基準電圧VREF_LOCALは、バンドギャップ電圧発生器1210によって生成された温度非依存性基準電圧VREFに比べて比較的不正確であり得、ADC1610によって生成されたデジタルコードのエラーを引き起こし得る。いくつかの実装形態では、ローカル電圧ストア1630によって提供されたローカル基準電圧は、バンドギャップ電圧発生器1210によって生成された温度非依存性基準電圧より少なくとも1桁少ない精度になり得る。1つまたは複数の実装形態では、ローカル基準電圧は、ターゲット電圧内のおよそ5%の精度を有し得るが、温度非依存性基準電圧は、ターゲット電圧内のおよそ0.5%の精度を有し得る。
較正回路1640は、ADC1610の出力端子からデジタルコードを受け取るために連結された入力、訂正回路1645に訂正因子を提供するための出力、およびルートモニタ1200から対応する第1の制御信号CTRL1を受け取るための制御端子を含み得る。訂正回路1645は、ADC1610とメモリ1620との間に連結され得、較正回路1640によって提供された訂正因子を受け取るための端子を含む。いくつかの実装形態では、較正回路1640は、ADC1610によって生成されたデジタルコードのエラーを補償するための訂正因子を生成するように構成され得、訂正回路1645は、訂正因子に基づいてADC1610によって生成されたデジタルコードを訂正するように構成され得る。
例えば、較正動作中、第1の制御信号CTRL1は、(例えば、ロジックハイに)アサートされ得、第2の制御信号CTRL2は、(例えば、ロジックハイに)アサートされ得る。第1の制御信号CTRL1のアサート状態によって、第1のスイッチSW1は、温度非依存性基準電圧VREFをADC1610への入力信号として提供し得、また、較正回路1640を有効化し得る。第2の制御信号CTRL2のアサート状態は、第2のスイッチSW2を開き、電圧ストア1630を1つまたは複数のアナログチャネル821に連結し得、これにより、(貯蔵された電荷が、ローカル基準電圧VREF_LOCALとしてADC1610によって使用され得るように)、電圧ストア1630が、温度非依存性基準電圧におよそ等しい値まで充電されることを可能にする。スイッチSW1およびSW2の導電状態は、例えば、V_REFがADC1610の入力端子に、および電圧ストア1630に連結されることによって引き起こされる、温度非依存性基準電圧の擾乱(降下など)を引き起こし得る。
電圧ストア1630が十分に充電され、ローカル基準電圧VREF_LOCALを貯蔵すると、第2の制御信号CTRL2は、(例えば、ロジックローに)デアサートされ得る。第2の制御信号CTRL2のデアサート状態は、第2のスイッチSW2を閉じ、電圧ストア1630が、1つまたは複数のアナログチャネル821から温度非依存性基準電圧にアクセスするのを防ぎ得る。第2の制御信号CTRL2のデアサートはまた、温度非依存性基準電圧V_REFの擾乱(降下など)を引き起こし得る。いくつかの実装形態では、第1の制御信号CTRL1は、温度非依存性基準電圧VREFの擾乱が静まるまで、アサート状態のままであり得る。その後、第1の制御信号CTRL1は、(例えば、ロジックローに)デアサートされ得、ADC1610は、基準コードを生成するために、温度非依存性基準電圧VREFをサンプリングし得る。較正回路1640は、ADC1610によって生成された基準コードと、VREFの既知値を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成し得る。訂正因子は、訂正回路1645に提供され得る(および格納され得る)。
監視動作中、第1の制御信号CTRL1は、デアサート状態のままであり得、これにより、第1のスイッチSW1が、センサ20によって生成されたアナログ信号をADC1610への入力信号として提供することを可能にする(および、また、較正回路1640を無効にし得る)。ADC1610は、センサ20によって提供されたアナログ信号をサンプリングし、サンプリングされたアナログ信号を示すデジタルコードを生成し得る。訂正回路1645は、較正動作中に生成された訂正因子を使用して、例えば、訂正因子に基づいてデジタルコードを調節することによって、デジタルコードを訂正し得る。このようにして、サテライトモニタ1600は、比較的不正確なローカル基準電圧VREF_LOCALの誤りから生じるアナログ/デジタル変換エラーを補償し得る。
いくつかの実装形態では、較正動作は、(VREF_LOCALとして)電圧ストア1630によって貯蔵された最小電圧レベルを維持するため、および、サテライトモニタ1600が正しく較正されたままであることを保証するために、周期的に実施され得る(Nミリ秒毎など、ここで、Nは、ゼロより大きい任意の適切な数字である)。
例
例1:プログラマブルデバイスであって、複数のコンフィギュラブルロジックリソースと、基準電圧を発生させるように構成された回路機器を含むルートモニタと、プログラマブルデバイス全体の様々なロケーションに分散されたいくつかのセンサであって、センサのそれぞれが、様々なロケーションの対応する1つにおける関連付けられた回路の動作状況を測定するように構成される、いくつかのセンサと、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタであって、サテライトモニタのそれぞれが、対応するサテライトモニタの近傍にある1つまたは複数の関連付けられたセンサに連結される、サテライトモニタと、コンフィギュラブルロジックリソースに、ルートモニタに、および複数のサテライトモニタのそれぞれに連結された相互接続システムであって、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布すること、およびデジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることであって、デジタルデータが、測定された動作状況を示す、選択的にルートすることを行うように構成される、相互接続システムとを備える、プログラマブルデバイス。
例1:プログラマブルデバイスであって、複数のコンフィギュラブルロジックリソースと、基準電圧を発生させるように構成された回路機器を含むルートモニタと、プログラマブルデバイス全体の様々なロケーションに分散されたいくつかのセンサであって、センサのそれぞれが、様々なロケーションの対応する1つにおける関連付けられた回路の動作状況を測定するように構成される、いくつかのセンサと、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタであって、サテライトモニタのそれぞれが、対応するサテライトモニタの近傍にある1つまたは複数の関連付けられたセンサに連結される、サテライトモニタと、コンフィギュラブルロジックリソースに、ルートモニタに、および複数のサテライトモニタのそれぞれに連結された相互接続システムであって、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布すること、およびデジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることであって、デジタルデータが、測定された動作状況を示す、選択的にルートすることを行うように構成される、相互接続システムとを備える、プログラマブルデバイス。
例2:動作状況が、温度または電圧レベルの少なくとも1つを含む、例1のプログラマブルデバイス。
例3:ルートモニタが、温度変化に対して基準電圧を補償するように構成されたバンドギャップ回路を備える、例1のプログラマブルデバイス。
例4:サテライトモニタのそれぞれが、1つまたは複数の関連付けられたセンサによって測定された動作状況を示すアナログ信号を受け取るための入力、相互接続システムにデジタルデータを提供するための出力、およびローカル基準電圧を受け取るための基準端子を含むアナログ/デジタルコンバータ(ADC)を備える、例1のプログラマブルデバイス。
例5:ローカル基準電圧が、相互接続システムによって配布された基準電圧に少なくとも部分的に基づく、例4のプログラマブルデバイス。
例6:サテライトモニタのそれぞれが、ADCの出力に連結された入力を含み、相互接続システムに連結された出力を含み、ADCによって提供されたデジタルデータを格納するように構成されたメモリをさらに備える、例4のプログラマブルデバイス。
例7:サテライトモニタのそれぞれが、ルートモニタによって生成された制御信号に基づいて、相互接続システムによって配布された基準電圧を、サテライトモニタに選択的に連結するように構成されたスイッチをさらに備える、例4のプログラマブルデバイス。
例8:制御信号が、相互接続システムによって配布された基準電圧をサテライトモニタのただ1つに同時に連結するように構成される、例7のプログラマブルデバイス。
例9:複数のサテライトモニタの少なくともいくつかが、相互接続システム内に統合される、例1のプログラマブルデバイス。
例10:相互接続システムが、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルと、個別にアドレス指定可能なデータパケットとしてデジタルデータをサテライトモニタからルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルとをさらに含む、例1のプログラマブルデバイス。
例11:ルートモニタが、複数のサテライトモニタのそれぞれから受け取られたデジタルデータを格納するように構成されたメモリと、関連付けられた回路の少なくとも1つの測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラとをさらに備える、例1のプログラマブルデバイス。
例12:プログラマブルデバイスのいくつかの動作状況を監視するためのシステムであって、基準電圧を発生させるように構成された回路機器を含むルートモニタと、プログラマブルデバイス全体に分散された複数のセンサであって、センサのそれぞれが、関連付けられた回路の動作状況を示すアナログ信号を生成するように構成される、複数のセンサと、プログラマブルデバイス全体に分散された複数のサテライトモニタであって、サテライトモニタのそれぞれが、1つまたは複数の対応するセンサによって生成されたアナログ信号をデジタルデータに変換するように構成される、複数のサテライトモニタと、少なくともルートモニタ、および複数のサテライトモニタのそれぞれに連結された相互接続システムであって、基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネル、およびデジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルを備える、相互接続システムと、を備える、システム。
例13:動作状況が、温度または電圧レベルの少なくとも1つを含む、例12のシステム。
例14:サテライトモニタのそれぞれが、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号をデジタルデータに変換するように構成されたアナログ/デジタルコンバータ(ADC)を備える、例12のシステム。
例15:サテライトモニタのそれぞれが、ルートモニタによって生成された制御信号に基づいて、相互接続システムによって配布された基準電圧を、サテライトモニタに選択的に連結するように構成されたスイッチをさらに備える、例14のシステム。
例16:制御信号が、相互接続システムによって配布された基準電圧をサテライトモニタのただ1つに同時に連結するように構成される、例15のシステム。
例17:プログラマブルデバイスのいくつかの動作状況を監視する方法であって、プログラマブルデバイス内に提供されたルートモニタに関連付けられた電圧発生器を使用して基準電圧を発生させることと、プログラマブルデバイス内に統合された相互接続システムの1つまたは複数のアナログチャネルを使用して、基準電圧を複数のサテライトモニタのそれぞれに配布することと、いくつかのセンサのそれぞれを使用して、関連付けられた回路の動作状況を示すアナログ信号を生成することと、いくつかのセンサによって生成されたアナログ信号を、複数のサテライトモニタのうちの対応するものに提供することと、複数のサテライトモニタを使用して、アナログ信号をデジタルデータに変換することと、相互接続システムの1つまたは複数のデジタルチャネルを使用して、デジタルデータを複数のサテライトモニタからルートモニタに選択的にルートすることとを含む、方法。
例18:動作状況が、温度または電圧レベルの少なくとも1つを含む、例17の方法。
例19:基準電圧を配布することが、ルートモニタによって生成された対応する制御信号に基づいて、複数のサテライトモニタのそれぞれを相互接続システムに選択的に連結することをさらに含む、例17の方法。
例20:制御信号が、相互接続システムによって配布された基準電圧をサテライトモニタのただ1つに同時に連結するように構成される、例19の方法。
例21:プログラマブルデバイスであって、複数のコンフィギュラブルロジックリソースを含むプログラマブルロジックと、温度非依存性基準電圧を発生させるように構成されたバンドギャップ電圧発生器を含むルートモニタと、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサであって、センサのそれぞれが、様々なロケーションの対応する1つの近傍にある1つまたは複数の関連付けられた回路の測定された動作状況を示すアナログ信号を生成するように構成される、複数のセンサと、様々なロケーションにおけるプログラマブルデバイス全体に分散された複数のサテライトモニタであって、サテライトモニタのそれぞれが、1つまたは複数のローカル信号線を介して1つまたは複数の関連付けられたセンサに連結され、ローカル基準電圧を発生させるように構成された比較的小さいローカル電圧源、ローカル基準電圧を受け取るための基準端子を含み、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、測定された動作状況を示すデジタルコードに変換するように構成されたアナログ/デジタルコンバータ(ADC)、デジタルコードのエラーを示す訂正因子を生成するように構成された較正回路、および訂正因子に基づいてデジタルコードを訂正するように構成された訂正回路を備える、複数のサテライトモニタとを備える、プログラマブルデバイス。
例22:ローカル電圧源が、12個未満のトランジスタから成り、バンドギャップ電圧発生器より少なくとも1桁少ない回路面積を消費する、例21のプログラマブルデバイス。
例23:デジタルコードのエラーが、温度非依存性基準電圧からのローカル基準電圧の偏差に関連付けられる、例21のプログラマブルデバイス。
例24:訂正因子が、温度非依存性基準電圧をサンプリングすることに応答してADCによって生成された基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づく、例21のプログラマブルデバイス。
例25:プログラマブルロジックに広がり、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成された、ネットワークオンチップ(NoC)相互接続システムをさらに備える、例21のプログラマブルデバイス。
例26:ルートモニタが、NoC相互接続システムを介して複数のサテライトモニタから受け取られたデジタルデータを格納するように構成されたメモリと、デジタルデータによって具体化された測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラとをさらに備える、例25のプログラマブルデバイス。
例27:温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルをさらに備える、例25のプログラマブルデバイス。
例28:NoC相互接続システムが、1つまたは複数のアナログチャネルを備える、例27のプログラマブルデバイス。
例29:サテライトモニタのそれぞれが、1つまたは複数のアナログチャネルから温度非依存性基準電圧を受け取るために連結された第1の入力端子と、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を受け取るために連結された第2の入力端子と、制御信号を受け取るために連結された制御端子と、サテライトモニタ内のADCの入力端子に連結された出力端子とを含むスイッチをさらに備える、例27のプログラマブルデバイス。
例30:較正動作中、スイッチが、温度非依存性基準電圧をADCへの入力信号として提供し、監視動作中、スイッチが、センサからのアナログ信号をADCへの入力信号として提供する、例29のプログラマブルデバイス。
例31:較正動作中、ADCが、基準コードを生成するために温度非依存性基準電圧をサンプリングし、監視動作中、ADCが、デジタルコードを生成するために、1つまたは複数の関連付けられたセンサからのアナログ信号をサンプリングする、例30のプログラマブルデバイス。
例32:較正回路が、ADCによって生成された基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成するように構成される、例31のプログラマブルデバイス。
例33:ルートモニタが、複数のサテライトモニタを較正するためのタイミングスケジュールに少なくとも部分的に基づいて制御信号を生成するように構成される、例29のプログラマブルデバイス。
例34:タイミングスケジュールが、温度非依存性基準電圧をサテライトモニタのただ1つに一度に提供することによって、複数のサテライトモニタのそれぞれの較正を順次有効化するように構成される、例33のプログラマブルデバイス。
例35:プログラマブルデバイス全体の様々なロケーションに分散された複数の回路の動作状況を監視する方法であって、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサの対応する1つを使用して、複数の回路のそれぞれの動作状況を示すアナログ信号を生成することと、アナログ信号のそれぞれを、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタの対応する1つに提供することと、複数のサテライトモニタのそれぞれにおいて、比較的小さいローカル電圧源を使用してローカル基準電圧を発生させることと、複数のサテライトモニタのそれぞれにおいて、ローカル基準電圧に基づいて、アナログ/デジタルコンバータ(ADC)を使用して、複数のアナログ信号の対応する1つをデジタルコードに変換することと、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布することと、配布された温度非依存性基準電圧に少なくとも部分的に基づいて、複数のサテライトモニタのそれぞれの中のADCによって生成されたデジタルコードを訂正することと、訂正されたデジタルコードを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることとを含む、方法。
例36:ローカル電圧源が、12個未満のトランジスタから成り、バンドギャップ電圧発生器より少なくとも1桁少ない回路面積を消費する、例35の方法。
例37:訂正されたデジタルコードが、プログラマブルデバイスに広がるネットワークオンチップ(NoC)相互接続システムを使用して、複数のサテライトモニタからルートモニタに選択的にルートされ、温度非依存性基準電圧が、プログラマブルデバイスに広がる1つまたは複数のアナログチャネルを使用して、ルートモニタから複数のサテライトモニタに配布される、例35の方法。
例38:温度非依存性基準電圧を配布することが、ルートモニタによって生成された対応する複数の制御信号に基づいて、複数のサテライトモニタのそれぞれが温度非依存性基準電圧にアクセスすることを順次有効化することをさらに含む、例35の方法。
例39:訂正することが、温度非依存性基準電圧をADCへの入力信号として提供することと、ADCを使用して、温度非依存性基準電圧を基準コードに変換することと、基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成することと、訂正因子に基づいてデジタルコードを調節することとを含む、例35の方法。
例40:訂正因子が、温度非依存性基準電圧からのローカル基準電圧の偏差に関連付けられたデジタルコードのエラーを補償するように構成される、例39の方法。
例41:プログラマブルデバイスであって、複数のコンフィギュラブルロジックリソースを含むプログラマブルロジックと、温度非依存性基準電圧を発生させるように構成されたバンドギャップ電圧発生器を含むルートモニタと、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサであって、センサのそれぞれが、様々なロケーションの対応する1つの近傍にある1つまたは複数の関連付けられた回路の測定された動作状況を示すアナログ信号を生成するように構成される、複数のセンサと、様々なロケーションにおけるプログラマブルデバイス全体に分散された複数のサテライトモニタであって、サテライトモニタのそれぞれが、1つまたは複数のローカル信号線を介して1つまたは複数の関連付けられたセンサに連結され、バンドギャップ電圧発生器によって発生された温度非依存性基準電圧に基づいてローカル基準電圧を貯蔵するように構成された電圧ストア、ローカル基準電圧を受け取るための基準端子を含み、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、測定された動作状況を示すデジタルコードに変換するように構成されたアナログ/デジタルコンバータ(ADC)、デジタルコードのエラーを示す訂正因子を生成するように構成された較正回路、訂正因子に基づいてデジタルコードを訂正するように構成された訂正回路を備える、複数のサテライトモニタとを備える、プログラマブルデバイス。
例42:ローカル基準電圧が、バンドギャップ電圧発生器によって発生された温度非依存性基準電圧より少なくとも1桁少なく正確な、例41のプログラマブルデバイス。
例43:電圧ストアが、キャパシタを含む、例41のプログラマブルデバイス。
例44:デジタルコードのエラーが、温度非依存性基準電圧からのローカル基準電圧の偏差に関連付けられる、例41のプログラマブルデバイス。
例45:訂正因子が、温度非依存性基準電圧をサンプリングすることに応答してADCによって生成された基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づく、例41のプログラマブルデバイス。
例46:プログラマブルロジックに広がり、デジタルデータを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートするように構成された、ネットワークオンチップ(NoC)相互接続システムをさらに備える、例41のプログラマブルデバイス。
例47:ルートモニタが、NoC相互接続システムを介して複数のサテライトモニタから受け取られたデジタルデータを格納するように構成されたメモリと、デジタルデータによって具体化された測定された動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラとをさらに備える、例46のプログラマブルデバイス。
例48:温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルをさらに備える、例46のプログラマブルデバイス。
例49:NoC相互接続システムが、1つまたは複数のアナログチャネルを備える、例48のプログラマブルデバイス。
例50:サテライトモニタのそれぞれが、1つまたは複数のアナログチャネルから温度非依存性基準電圧を受け取るために連結された第1の入力端子と、1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を受け取るために連結された第2の入力端子と、制御信号を受け取るために連結された制御端子と、サテライトモニタ内のADCの入力端子に連結された出力端子とを含む第1のスイッチをさらに備える、例48のプログラマブルデバイス。
例51:サテライトモニタのそれぞれが、1つまたは複数のアナログチャネルから温度非依存性基準電圧を受け取るために連結された入力端子と、制御信号を受け取るために連結された制御端子と、電圧ストアに連結された出力端子とを含む第2のスイッチとをさらに備える、例50のプログラマブルデバイス。
例52:較正動作中、第1のスイッチが、温度非依存性基準電圧をADCへの入力信号として提供し、第2のスイッチが、電圧ストアを充電し、その後、電圧ストアを温度非依存性基準電圧から絶縁し、ADCが、基準コードを生成するために温度非依存性基準電圧をサンプリングする、例51のプログラマブルデバイス。
例53:監視動作中:第1のスイッチが、センサからのアナログ信号をADCへの入力信号として提供し、第2のスイッチが、温度非依存性基準電圧を電圧ストアに周期的に提供し、ADCが、デジタルコードを生成するために、1つまたは複数の関連付けられたセンサからのアナログ信号をサンプリングする、例52のプログラマブルデバイス。
例54:ルートモニタが、複数のサテライトモニタを較正するためのタイミングスケジュールに少なくとも部分的に基づいて制御信号を生成するように構成される、例51のプログラマブルデバイス。
例55:タイミングスケジュールが、温度非依存性基準電圧をサテライトモニタのただ1つに一度に提供することによって、複数のサテライトモニタのそれぞれの較正を順次有効化するように構成される、例54のプログラマブルデバイス。
例56:プログラマブルデバイス全体の様々なロケーションに分散された複数の回路の動作状況を監視する方法であって、プログラマブルデバイス全体の様々なロケーションに分散された複数のセンサの対応する1つを使用して、複数の回路のそれぞれの動作状況を示すアナログ信号を生成することと、アナログ信号のそれぞれを、プログラマブルデバイス全体の様々なロケーションに分散された複数のサテライトモニタの対応する1つに提供することと、複数のサテライトモニタのそれぞれにおいて、温度非依存性基準電圧に基づくローカル基準電圧を貯蔵することと、複数のサテライトモニタのそれぞれにおいて、ローカル基準電圧に基づいて、アナログ/デジタルコンバータ(ADC)を使用して、複数のアナログ信号の対応する1つをデジタルコードに変換することと、温度非依存性基準電圧をルートモニタから複数のサテライトモニタのそれぞれに配布することと、配布された温度非依存性基準電圧に少なくとも部分的に基づいて、複数のサテライトモニタのそれぞれの中のADCによって生成されたデジタルコードを訂正することと、訂正されたデジタルコードを複数のサテライトモニタのそれぞれからルートモニタに選択的にルートすることとを含む、方法。
例57:訂正されたデジタルコードが、プログラマブルデバイスに広がるネットワークオンチップ(NoC)相互接続システムを使用して、複数のサテライトモニタからルートモニタに選択的にルートされ、温度非依存性基準電圧が、プログラマブルデバイスに広がる1つまたは複数のアナログチャネルを使用して、ルートモニタから複数のサテライトモニタに配布される、例56の方法。
例58:格納することが、1つまたは複数のアナログチャネルによって配布された温度非依存性基準電圧を使用して、それぞれのサテライトモニタ内に提供されたキャパシタを選択的に充電することを含む、例57の方法。
例59:温度非依存性基準電圧を配布することが、ルートモニタによって生成された対応する複数の制御信号に基づいて、複数のサテライトモニタのそれぞれが温度非依存性基準電圧にアクセスすることを順次有効化することをさらに含む、例56の方法。
例60:訂正することが、温度非依存性基準電圧をADCへの入力信号として提供することと、ADCを使用して、温度非依存性基準電圧を基準コードに変換することと、基準コードと、温度非依存性基準電圧を示す所定のデジタルコードとの間の差に基づいて訂正因子を生成することと、訂正因子に基づいてデジタルコードを調節することとを含む、例56の方法。
当業者は、情報および信号が、様々な異なる技術および技法のいずれかを使用して表され得ることを理解するであろう。例えば、上記の説明の至る所で参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは粒子、光場もしくは粒子、またはその任意の組合せによって表され得る。
さらに、当業者は、本明細書で開示される態様に関して説明される様々な例証的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを理解するであろう。ハードウェアとソフトウェアの互換性を明確に示すために、様々な例証的な構成要素、ブロック、モジュール、回路、およびステップが、これらの機能の観点から全体的に上記で説明されてきた。このような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の用途、および全般的なシステムに課される設計制約によって決まる。当業者は、それぞれの特定の用途のための様々なやり方で、説明された機能を実装し得るが、このような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示される態様に関して説明された方法、シーケンス、またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または2つの組合せで、直接具体化され得る。ソフトウェアモジュールは、RAMラッチ、フラッシュラッチ、ROMラッチ、EPROMラッチ、EEPROMラッチ、レジスタ、ハードディスク、取外し可能ディスク、CD-ROM、または、当技術分野で知られるストレージ媒体の任意の他の形式の中に常駐し得る。実例のストレージ媒体は、プロセッサがストレージ媒体から情報を読み込み、ストレージ媒体に情報を書き込むことができるように、プロセッサに連結される。別の方式では、ストレージ媒体は、プロセッサに統合され得る。
前述の明細書では、実例の実装形態は、その特定の実例の実装形態を参照しながら説明された。それでも、添付の特許請求の範囲に示されるような、本開示のより広い範囲から逸脱することなく、様々な修正および変更が実例の実装形態に対して行われ得ることが明らかであろう。明細書および図面は、したがって、限定的な意味ではなく、例証的な意味で評価されるべきである。
Claims (18)
- プログラマブルデバイスであって、
複数のコンフィギュラブルロジックリソースと、
基準電圧を発生させるように構成された回路機器を含むルートモニタと、
前記プログラマブルデバイス全体の様々なロケーションに分散されたいくつかのセンサであって、前記センサのそれぞれが、前記様々なロケーションの対応する1つにおける関連付けられた回路の動作状況を測定するように構成される、いくつかのセンサと、
前記プログラマブルデバイス全体の前記様々なロケーションに分散された複数のサテライトモニタであって、前記サテライトモニタのそれぞれが、対応する前記サテライトモニタの近傍にある1つまたは複数の関連付けられたセンサに連結される、複数のサテライトモニタと、
前記コンフィギュラブルロジックリソースに、前記ルートモニタに、および前記複数のサテライトモニタのそれぞれに連結された相互接続システムであって、
前記基準電圧を前記ルートモニタから前記複数のサテライトモニタのそれぞれに配布すること、および
デジタルデータを前記複数のサテライトモニタのそれぞれから前記ルートモニタに選択的にルートすることであって、前記デジタルデータが、測定された前記動作状況を示す、選択的にルートすること
を行うように構成される、相互接続システムと
を備える、プログラマブルデバイス。 - 前記ルートモニタが、
温度変化に対して前記基準電圧を補償するように構成されたバンドギャップ回路と、
前記複数のサテライトモニタのそれぞれから受け取られた前記デジタルデータを格納するように構成されたメモリと、
前記関連付けられた回路の少なくとも1つの測定された前記動作状況が1つの範囲内であるかどうかを決定するように構成されたコントローラと
の少なくとも1つを備える、請求項1に記載のプログラマブルデバイス。 - サテライトモニタのそれぞれが、
前記1つまたは複数の関連付けられたセンサによって測定された動作状況を示すアナログ信号を受け取るための入力、前記相互接続システムに前記デジタルデータを提供するための出力、およびローカル基準電圧を受け取るための基準端子を含むアナログ/デジタルコンバータ(ADC)と、
前記ADCの前記出力に連結された入力を含み、前記相互接続システムに連結された出力を含み、前記ADCによって提供された前記デジタルデータを格納するように構成されたメモリと、
前記ルートモニタによって生成された制御信号に基づいて、前記相互接続システムによって配布された前記基準電圧を、前記サテライトモニタに選択的に連結するように構成されたスイッチであって、前記制御信号が、前記相互接続システムによって配布された前記基準電圧を前記サテライトモニタのただ1つに同時に連結するように構成される、スイッチと
の少なくとも1つを備える、請求項1に記載のプログラマブルデバイス。 - 前記ローカル基準電圧が、前記相互接続システムによって配布された前記基準電圧に少なくとも部分的に基づく、請求項3に記載のプログラマブルデバイス。
- 前記相互接続システムが、
前記基準電圧を前記ルートモニタから前記複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネルと、
個別にアドレス指定可能なデータパケットとして前記デジタルデータを前記サテライトモニタから前記ルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネルと
をさらに備える、請求項1に記載のプログラマブルデバイス。 - 前記サテライトモニタのそれぞれが、1つまたは複数のローカル信号線を介して1つまたは複数の関連付けられたセンサに連結され、
ローカル電圧源と、
ローカル基準電圧を受け取るための基準端子を含み、前記1つまたは複数の関連付けられたセンサによって生成されたアナログ信号を、測定された前記動作状況を示すデジタルコードに変換するように構成されたアナログ/デジタルコンバータ(ADC)と、
前記デジタルコードのエラーを示す訂正因子を生成するように構成された較正回路と、
前記訂正因子に基づいて前記デジタルコードを訂正するように構成された訂正回路と
を備える、
請求項1に記載のプログラマブルデバイス。 - 前記電圧源が、
前記ローカル基準電圧を発生させること、または
バンドギャップ電圧発生器によって発生された温度非依存性基準電圧に基づいて前記ローカル基準電圧を貯蔵すること
を行うように構成される、請求項6に記載のプログラマブルデバイス。 - プログラマブルロジックに広がり、デジタルデータを前記複数のサテライトモニタのそれぞれから前記ルートモニタに選択的にルートするように構成された、ネットワークオンチップ(NoC)相互接続システム
をさらに備える、請求項6に記載のプログラマブルデバイス。 - 前記サテライトモニタのそれぞれが、
前記1つまたは複数のアナログチャネルから温度非依存性基準電圧を受け取るために連結された第1の入力端子と、前記1つまたは複数の関連付けられたセンサによって生成された前記アナログ信号を受け取るために連結された第2の入力端子と、制御信号を受け取るために連結された制御端子と、前記サテライトモニタ内の前記ADCの入力端子に連結された出力端子とを含む第1のスイッチ
をさらに備える、請求項6に記載のプログラマブルデバイス。 - 較正動作中、前記第1のスイッチが、前記温度非依存性基準電圧を前記ADCへの入力信号として提供し、
監視動作中、前記第1のスイッチが、前記センサからの前記アナログ信号を前記ADCへの入力信号として提供する、
請求項9に記載のプログラマブルデバイス。 - 前記較正動作中、前記ADCが、基準コードを生成するために前記温度非依存性基準電圧をサンプリングし、
前記監視動作中、前記ADCが、前記デジタルコードを生成するために、前記1つまたは複数の関連付けられたセンサからの前記アナログ信号をサンプリングする、
請求項10に記載のプログラマブルデバイス。 - 前記サテライトモニタのそれぞれが、
前記1つまたは複数のアナログチャネルから前記温度非依存性基準電圧を受け取るために連結された入力端子と、前記制御信号を受け取るために連結された制御端子と、電圧ストアに連結された出力端子とを含む第2のスイッチ
をさらに備える、請求項9に記載のプログラマブルデバイス。 - 較正動作中、
前記第2のスイッチが、前記電圧ストアを充電し、その後、前記電圧ストアを前記温度非依存性基準電圧から絶縁し、
前記ADCが、基準コードを生成するために前記温度非依存性基準電圧をサンプリングする、
請求項12に記載のプログラマブルデバイス。 - プログラマブルデバイスのいくつかの動作状況を監視するためのシステムであって、
基準電圧を発生させるように構成された回路機器を含むルートモニタと、
前記プログラマブルデバイス全体に分散された複数のセンサであって、前記センサのそれぞれが、関連付けられた回路の動作状況を示すアナログ信号を生成するように構成される、複数のセンサと、
前記プログラマブルデバイス全体に分散された複数のサテライトモニタであって、前記サテライトモニタのそれぞれが、1つまたは複数の対応するセンサによって生成された前記アナログ信号をデジタルデータに変換するように構成される、複数のサテライトモニタと、
少なくとも前記ルートモニタ、および前記複数のサテライトモニタのそれぞれに連結された相互接続システムであって、
前記基準電圧を前記ルートモニタから前記複数のサテライトモニタのそれぞれに配布するように構成された1つまたは複数のアナログチャネル、および
前記デジタルデータを前記複数のサテライトモニタのそれぞれから前記ルートモニタに選択的にルートするように構成された1つまたは複数のデジタルチャネル
を備える、相互接続システムと
を備える、システム。 - 前記サテライトモニタのそれぞれが、
前記複数のセンサによって生成された前記アナログ信号を前記デジタルデータに変換するように構成されたアナログ/デジタルコンバータ(ADC)と、
前記ルートモニタによって生成された制御信号に基づいて、前記相互接続システムによって配布された前記基準電圧を、前記サテライトモニタに選択的に連結するように構成されたスイッチと
の少なくとも1つを備え、
前記制御信号が、前記相互接続システムによって配布された前記基準電圧を前記サテライトモニタのただ1つに同時に連結するように構成される、
請求項14に記載のシステム。 - プログラマブルデバイスのいくつかの動作状況を監視する方法であって、
前記プログラマブルデバイス内に提供されたルートモニタに関連付けられた電圧発生器を使用して基準電圧を発生させることと、
前記プログラマブルデバイス内に統合された相互接続システムの1つまたは複数のアナログチャネルを使用して、前記基準電圧を複数のサテライトモニタのそれぞれに配布することと、
いくつかのセンサのそれぞれを使用して、関連付けられた回路の動作状況を示すアナログ信号を生成することと、
前記いくつかのセンサによって生成された前記アナログ信号を、前記複数のサテライトモニタのうちの対応するものに提供することと、
前記複数のサテライトモニタを使用して、前記アナログ信号をデジタルデータに変換することと、
前記相互接続システムの1つまたは複数のデジタルチャネルを使用して、前記デジタルデータを前記複数のサテライトモニタから前記ルートモニタに選択的にルートすることと
を含む、方法。 - 前記基準電圧を配布することが、
前記ルートモニタによって生成された対応する制御信号に基づいて、前記複数のサテライトモニタのそれぞれを前記相互接続システムに選択的に連結することであって、前記制御信号が、前記相互接続システムによって配布された前記基準電圧を前記サテライトモニタのただ1つに同時に連結するように構成される、前記複数のサテライトモニタのそれぞれを前記相互接続システムに選択的に連結すること
をさらに含む、請求項16に記載の方法。 - 温度非依存性基準電圧をルートモニタから前記複数のサテライトモニタのそれぞれに配布することと、
配布された前記温度非依存性基準電圧に少なくとも部分的に基づいて、前記複数のサテライトモニタのそれぞれの中のADCによって生成されたデジタルコードを訂正することと
をさらに含む、請求項16に記載の方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/506,064 US11709275B2 (en) | 2019-07-09 | 2019-07-09 | Root monitoring on an FPGA using satellite ADCs |
US16/506,064 | 2019-07-09 | ||
US16/535,713 US10705144B1 (en) | 2019-08-08 | 2019-08-08 | Device monitoring using satellite ADCs having local capacitors |
US16/535,726 | 2019-08-08 | ||
US16/535,713 | 2019-08-08 | ||
US16/535,726 US10598729B1 (en) | 2019-08-08 | 2019-08-08 | Device monitoring using satellite ADCs having local voltage reference |
PCT/US2020/041287 WO2021007376A1 (en) | 2019-07-09 | 2020-07-08 | Root monitoring on an fpga using satellite adcs |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022540420A true JP2022540420A (ja) | 2022-09-15 |
Family
ID=71784736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022500668A Pending JP2022540420A (ja) | 2019-07-09 | 2020-07-08 | サテライトadcを使用したfpga上でのルートモニタリング |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3981074A1 (ja) |
JP (1) | JP2022540420A (ja) |
KR (1) | KR20220031022A (ja) |
CN (1) | CN114364996A (ja) |
WO (1) | WO2021007376A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114372021B (zh) * | 2022-01-13 | 2023-03-24 | 中国人民解放军国防科技大学 | 一种支持高一致多信道并行收发的数字信号处理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170272073A1 (en) * | 2016-03-18 | 2017-09-21 | Altera Corporation | Dynamic parameter operation of an fpga |
US10228294B2 (en) * | 2016-05-12 | 2019-03-12 | Infineon Technologies Ag | System and method for temperature sensing |
US20180097825A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | System monitor |
US10557894B2 (en) * | 2017-08-07 | 2020-02-11 | Linear Technology Holding Llc | Reference signal correction circuit |
-
2020
- 2020-07-08 JP JP2022500668A patent/JP2022540420A/ja active Pending
- 2020-07-08 KR KR1020227002161A patent/KR20220031022A/ko unknown
- 2020-07-08 CN CN202080062705.XA patent/CN114364996A/zh active Pending
- 2020-07-08 WO PCT/US2020/041287 patent/WO2021007376A1/en unknown
- 2020-07-08 EP EP20745456.2A patent/EP3981074A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021007376A1 (en) | 2021-01-14 |
CN114364996A (zh) | 2022-04-15 |
EP3981074A1 (en) | 2022-04-13 |
KR20220031022A (ko) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11199581B1 (en) | Device monitoring using satellite ADCS having local voltage reference | |
US11537532B2 (en) | Lookahead priority collection to support priority elevation | |
US11100028B1 (en) | Programmable I/O switch/bridge chiplet | |
US11709275B2 (en) | Root monitoring on an FPGA using satellite ADCs | |
EP4202713A1 (en) | Embedded network on chip accessible to programmable logic fabric of programmable logic device in multi-dimensional die systems | |
US7257723B2 (en) | Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation | |
US10673745B2 (en) | End-to-end quality-of-service in a network-on-chip | |
US10963411B1 (en) | Integrating rows of input/output blocks with memory controllers in a columnar programmable fabric archeture | |
US9436785B1 (en) | Hierarchical preset and rule based configuration of a system-on-chip | |
KR101519771B1 (ko) | 집적 회로 내의 프로세서 시스템의 확장 | |
US10886218B2 (en) | Fabric die to fabric die interconnect for modularized integrated circuit devices | |
US20140118026A1 (en) | Techniques and circuitry for configuring and calibrating an integrated circuit | |
CN111684392B (zh) | 用于片上系统的存储器子系统 | |
CN107112994B (zh) | 用于集成电路的电源管理系统 | |
US11012072B1 (en) | Thermal load balancing of programmable devices | |
JP2022540420A (ja) | サテライトadcを使用したfpga上でのルートモニタリング | |
US10705144B1 (en) | Device monitoring using satellite ADCs having local capacitors | |
US9639646B2 (en) | System-on-chip intellectual property block discovery | |
Hagemeyer et al. | A scalable platform for run-time reconfigurable satellite payload processing | |
US11755511B2 (en) | Data bus inversion using multiple transforms | |
US20220196735A1 (en) | Debug trace microsectors | |
US11953967B2 (en) | Power management unit | |
CN115118350A (zh) | 一种小型化信道模拟器 | |
Olugbon et al. | A formal approach to virtualisation and provisioning in AMBA AHB-based reconfigurable systems-on-chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230630 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240426 |