図1: 新型FlexRIOモジュールでは、高速シリアル変換器が使用され、I/OとXilinx Kintex UltraScale FPGAテクノロジが単一デバイスに統合されています。
FlexRIO製品ラインの主なメリットは、従来のCOTS計測器ではまだ導入が進んでいない最新鋭の高速データ変換器テクノロジを利用できることです。これは、サンプルレート、帯域幅、分解能、チャンネル数の要件が厳しさを増すアプリケーションでは特に役立つメリットです。
データ変換器の製造元は、特にRF関連アプリケーションにおいてパフォーマンスのさらなる向上が求められていることを背景に、より高速で高分解能の部品を開発し続けています。4 GS/sで12ビットの分解能、さらには500 MS/s超で16ビットの分解能を持つアナログ-デジタル変換器 (ADC) やデジタル-アナログ変換器 (DAC)も珍しくはありません。これらの高速部品はさまざまなアプリケーションにとって役立つものですが、最新の変換器と通信するための基盤テクノロジは、広帯域低電圧差動信号 (LVDS) インタフェースからJESD204Bなどのプロトコルを実行する高速シリアルインタフェースにシフトしています。
図2: 従来のFlexRIOアーキテクチャは、データ通信用のシングルエンドまたはLVDSのインタフェースを備えたこれまでの変換器に最適でした。新型FlexRIOのアーキテクチャは、JESD204Bなどのプロトコルを実行する高速シリアルインタフェースに基づく業界最新の高速変換器と接続できるように設計されています。
この業界トレンドの先端を歩み、最新の商用テクノロジを提供し続けるために、NIは新型FlexRIOのアーキテクチャを開発しました。以前のアーキテクチャで使われていたパラレルデジタルインタフェースの代わりに、新型FlexRIO製品は、メザニンI/OモジュールとXilinx Kintex UltraScale FPGAバックエンド間の高速シリアル通信をベースにしています。
図3: 高速シリアル通信を採用した新しいFlexRIO製品は、Xilinx Kintex UltraScale FPGAバックエンドと一体となるメザニンI/Oモジュールを搭載しています。
高速シリアル通信はFPGAに内蔵されるマルチギガビットトランシーバに依存しているため、FlexRIO FPGAとI/Oモジュール間の電気的インタフェースを一から再設計する必要がありました。このインタフェースにメザニンコネクタを採用したことで、I/OモジュールとFPGAバックエンドを直接一体化して、単一の統合型PXIモジュールを形成することができたのです。これにより、新型FlexRIO製品は、シャーシからはみ出さなくなりました。
新しいアーキテクチャでは、FlexRIOモジュールは、メザニンI/Oモジュールの機能に対応する型番で識別されます。お客様の要件に最適なFPGAバックエンドを選択することができます。たとえば、PXIe-5764は16ビットのFlexRIOデジタイザで、4つのチャンネルを1 GS/sで同時にサンプリングします。そして、PXIe-5764を3つのFPGAバックエンドオプションのいずれかと組み合わせることができます (表1を参照)。
表1: 表に示す2つの新型FlexRIOデジタイザでは、ダイナミックレンジ、サンプルレート、チャンネル数の最適な組み合わを選択できます。
モデル | チャンネル | サンプルレート | 分解能 | カプリング | 帯域幅 | FPGAオプション |
PXIe-5763 | 4 | 500 MS/s | 16ビット | ACまたはDC | 227 MHz | KU035、KU040、KU060 |
PXIe-5764 | 4 | 1 GS/s | 16ビット | ACまたはDC | 1.15 GHz* | KU035、KU040、KU060 |
*フルスケール入力信号の最大帯域幅は400 MHz。
新型FlexRIO製品では、Xilinx Kintex UltraScale FPGAを採用したことで、信号処理能力が大幅に向上しています。Kintex UltraScaleを備えたFlexRIOでは、デジタル信号処理 (DSP) スライスが80%増加、BRAMが30%増加、またデータストリーミング用のPCI Express Gen 3 x8接続が可能になり、PXIにおけるFPGAベースの信号処理の新しい標準が確立されました。FlexRIOには、さまざまなFPGAバックエンドオプションが用意されており、アプリケーションの要件に応じて選択できます。ただし、新規にアプリケーションを開発する場合、可能な限り大規模なFPGAを最初に導入した後で、小規模のFPGAに移行することを推奨します。
表2: 必要なFPGAの規模はどのくらいでしょうか。新型FlexRIO製品では、3つのFPGAバックエンドから選択できます。
FPGA | LUT数/FF数 | DSP48の数 | BRAM (Mb) | DRAM (GB) | PCI Express | 補助I/O |
Xilinx Kintex UltraScale KU035 | 406,245 | 1,700 | 19 | 0 | Gen 3 x8 | 8 GPIO |
Xilinx Kintex UltraScale KU040 | 484,800 | 1,920 | 21.1 | 4 | Gen 3 x8 | 8 GPIO 4 GTH |
Xilinx Kintex UltraScale KU060 | 663,360 | 2,760 | 38 | 4 | Gen 3 x8 | 8 GPIO 4 GTH |
図4: UltraScale FPGAの新しい3つのオプション (青) では、FlexRIO用Kintex-7 FPGAモジュール (灰色) と比較して、さまざまな価格帯で大幅な性能向上が実現されています。
新型FlexRIOモジュールはPCI Express Gen 3 x8接続を搭載しており、DMAを介してCPUメモリとの間で最大7 GB/sのストリーミングを実行できます。また、NIピアツーピアストリーミングテクノロジを使用すると、ホストメモリ経由でデータを渡すことなく、シャーシ内にある2つのモジュール間でデータをストリーミングできます。ピアツーピアストリーミングテクノロジの詳細についてはこちらをご覧ください。
3つのFPGAバックエンドオプションはすべて、トリガやデジタルインタフェース用の補助デジタルI/Oをフロントパネルに装備しています。この補助I/Oは、Molex Nano-Pitch I/Oコネクタ経由で使用されます。大規模なFPGAバックエンドでは、4つの追加のGTHマルチギガビットトランシーバがNano-Pitch I/Oコネクタに経路設定されます。これらの各トランシーバでは、最大16 Gb/sのデータストリーミングを実行できます。これらのトランシーバは、Xilinx Aurora、10ギガビットイーサネットUDP、40ギガビットイーサネットUDP、またはシリアルフロントパネルデータポート (SFPDP) などの高速シリアルプロトコルを経由した、他のデバイスとの高帯域幅通信に使用できます。
既存のシステムに信号処理機能を追加する予定がある場合は、信号処理専用のコプロセッサモジュールも利用できます。FlexRIOコプロセッサモジュールは、最適な熱性能を実現するための特別な機械特性を備えており、PCI Express Gen 3 x8を介したバックプレーンや、フロントパネル上のNano-Pitch I/Oコネクタを介した高速シリアルインタフェースを使用して通信できます。
表3: FlexRIOコプロセッサモジュールによって、既存のシステムに信号処理機能を追加できます。
モデル | FPGA | PCI Express | 補助I/O |
PXIe-7911 | Kintex UltraScale KU035 | Gen 3 x8 | なし |
PXIe-7912 | Kintex UltraScale KU040 | Gen 3 x8 | 8 GPIO、4 GTH |
PXIe-7915 | Kintex UltraScale KU060 | Gen 3 x8 | 8 GPIO、4 GTH |
1つのシステム内で複数モジュールを同期することは、多くの場合、チャンネル数の多いシステムを設計する上で最も難しい作業になります。多くのCOTSベンダが提供する同期用のソリューションは拡張性に乏しく、カスタム設計を行う場合、チャンネル間の位相調整で一般に求められる要件に対応するには高度な専門知識が不可欠です。FlexRIOモジュールは、PXIプラットフォームが備えている固有のタイミング/同期機能を活用し、他の計測器と共有されるクロック経路やトリガ経路に直接アクセスします。また、新型FlexRIO製品はNI-TClkをサポートしており、すべてのモジュールが同じ開始トリガに確実に適合するように、同期を調整することができます。NI-TClkテクノロジの詳細についてはこちらをご覧ください。
図5: 新型FlexRIOデジタイザモジュールはNI-TClkをサポートし、サブサンプルレベルの同期に対応します。
FPGAによって計測器を活用することは、必ずしも難しいことではありません。新型FlexRIO製品を支援するソフトウェアは、カスタムFPGA設計を最初から実装するための柔軟性を備えており、ホストベースのストリーミングドライバから開発を開始する際に役立ちます。新しいFlexRIOストリーミングドライバは、基本的なデジタイザや任意波形発生器の機能をサポートするように設計されています。FPGAプログラミングは必要ありません。ドライバは、アナログI/Oを備えた高速シリアル通信対応のFlexRIO製品で、有限的または連続的にデータを収集/生成する際に役立ち、FPGAで本格的なカスタマイズを行う前のハイレベルな出発点として利用されることを目的としています。また、基本的なストリーミング機能だけでなく、I/Oモジュールのアナログフロントエンド、クロック機能、さらにはダイレクトレジスタのADCまたはDACへの読み書きを構成するためにドライバを使用することもできます。
デジタル回路の開発経験が豊富なエンジニアは、LabVIEW FPGA 2017に含まれているXilinx Vivadoプロジェクトエクスポート機能を使用して、Xilinx Vivadoを使ったFlexRIOハードウェア用の開発、シミュレーション、コンパイルを行うことができます。特定のデプロイメントターゲット用にあらかじめ構成されたVivadoプロジェクトに、必要なハードウェアファイルをすべてエクスポートできます。LabVIEWの設計で使用されるLabVIEW信号処理IPもこのエクスポートに含まれますが、すべてのNI IPは暗号化されます。Xilinx Vivadoプロジェクトエクスポート機能は、すべてのFlexRIO、およびKintex-7以降の世代のFPGAを搭載する高速シリアルデバイスで使用できます。
図6: デジタル回路の開発経験が豊富なエンジニアを対象としていますが、Vivadoプロジェクトエクスポート機能では、開発、シミュレーション、コンパイルに必要なすべてのハードウェア設計ファイルをVivadoプロジェクトにエクスポートできます。