P4 (Programming Protocol-independent Packet Processors)

P4 および Vivado ツールによるパケット処理デザインの簡略化 (WP555)

Document ID
WP555
Release Date
2024-01-24
Revision
1.0 日本語

要件の記述には、業界標準のドメイン特化言語である P4 (Programming Protocol-independent Packet Processors) を使用します。VNP4 は P4 で記述した設計意図を AMD FPGA またはアダプティブ SoC デザイン ソリューションに変換するツールで、プログラマはヘッダーおよびパケット処理要件を明示的に指定することにより、新しいデータ プレーンを構築できます。P4 デザインを実装するには、意図した機能をコンパイラを使用して VNP4 RTL エンジンおよびソフトウェア ドライバーで構成されるカスタム データ プレーン アーキテクチャへマップします。このマッピングでは、P4 で指定した処理に基づいて適切なエンジン タイプが選択され、各エンジンがカスタマイズされます。このために使用される専用エンジンには、Parsing エンジン、Match-Action エンジン、Deparsing エンジンが含まれ、これらはそれぞれアプリケーション固有の要件に応じて生成されます。

生成された RTL は、AMD Vivado™ Design Suite でパッケージ IP に統合され、これをメディア アクセス コントローラーなどほかの標準 IP と即座に統合して完全なデバイス デザインを作成できます。このデザインを合成すると、ターゲット デバイス用のビットファイルが生成されます。合成デザイン データを生成する前であっても、必要なレイテンシやメモリ リソースなどの重要な設計メトリクスを利用できます。

最新の AMD ソリューションは、数百におよぶ顧客からのフィードバックや早期イテレーションから収集した情報に基づいて設計されています。従来世代のツールとの主な違いは、次の 3 つです。

  • P416 言語をネイティブにサポート
  • アルゴリズム CAM (Content Addressable Memory) テクノロジ
  • 効率的なリソース使用と確実なタイミング クロージャを重点的に強化