platforminfo ユーティリティ

platforminfo コマンド ライン ユーティリティは、インターフェイス、クロック、有効な SLR と割り当てられたリソース、および構造化されたフォーマットのメモリなどのプラットフォームのメタデータをレポートします。この情報は、たとえばカーネルを SLR またはメモリ リソース割り当てる際に参照できます。

platforminfo に使用可能なコマンド オプションは次のとおりです。

表 1. platforminfo コマンド
オプション 説明
-h [ --help ] ヘルプ メッセージを表示します。
-k [ --keys ] 指定したプラットフォームのキーを取得します。JSON パスのリストが返されます。
-l [ --list ] プラットフォームをリストします。.xpfm ファイルを見つけるのに、まずユーザー リポジトリ パスの $PLATFORM_REPO_PATHS を検索し、その後インストール ディレクトリを検索します。
-e [ --extended ] 拡張情報を含むプラットフォームをリストします。--list と共に使用してください。
-d [ --hw ] <arg> 操作を実行するハードウェア プラットフォーム定義 (*.dsa) を指定します。値はフル パスで、ファイル名と .dsa 拡張子を含む必要があります。
-s [ --sw ] <arg> 操作を実行するソフトウェア プラットフォーム定義 (*.spfm) を指定します。値はフル パスで、ファイル名と .spfm 拡張子を含む必要があります。
-p [ --platform ] <arg> 操作を実行するザイリンクス プラットフォーム定義 (*.xpfm) を指定します。--platform の値はフル パスで、次の Example 1 に示すように、ファイル名と .xpfm 拡張子を含む必要があります。パスなしでファイル名と .xpfm 拡張子を指定した場合は、現在作業中のディレクトリのみが検索されます。プラットフォームのベース名だけを指定することもできます。Example 2 のように値をベース名にすると、該当する .xpfm ファイルを見つけるのに、まず $PLATFORM_REPO_PATHS が検索され、その後インストール ディレクトリが検索されます。
Example 1: --platform /opt/xilinx/platforms/xilinx_u200_xdma_201830_1.xpfm

Example 2: --platform xilinx_u200_xdma_201830_1
-o [ --output ] <arg> 結果を書き込む出力ファイルを指定します。デフォルトでは、出力はターミナル (stdout) に表示されます。
-j [ --json ] <arg> 生成する出力の JSON フォーマットを指定します。値を指定しない場合、platforminfo ユーティリティはプラットフォーム全体を JSON フォーマットで表示します。このオプションには、-k オプションで返される JSON パスを指定する引数を使用することもできます。JSON パスは、有効であれば、JSON サブツリー、リスト、または値をフェッチするために使用されます。
Example 1: 
platforminfo --json="hardwarePlatform" --platform <platform base name>

Example 2: Specify the index when referring to an item in a list.
platforminfo --json="hardwarePlatform.devices[0].name" --platform <platform base name>

Example 3: When using the short option form (-j), the value must follow immediately.
platforminfo -j"hardwarePlatform.systemClocks[]" -p <platform base name>
-v [ --verbose ] 詳細な情報を出力します。デフォルトでは、指定したプラットフォームの最も重要な特性を含め、人間に解読可能なレポートが生成されます。
注記: --help または --list オプションを使用する場合を除き、プラットフォームは必ず指定する必要があります。プラットフォームは、--platform オプションを使用するか、--hw または --sw のいずれかを使用して指定できます。または、単にプラットフォーム名を挿入するか、コマンド ラインにフル パスを指定することもできます。

生成されたレポートを理解するには、次のコマンドを使用して生成された要約された出力ログを確認します。このレポートは、理解しやすいようにセクションに分割されています。

platforminfo -p $PLATFORM_REPO_PATHS/xilinx_u200_xdma_201830_1.xpfm

基本的なプラットフォーム情報

プラットフォーム情報と大まかな説明がレポートされます。

Platform:      xdma
File:          /opt/xilinx/platforms/xilinx_u200_xdma_201830_1/
			   xilinx_u200_xdma_201830_1.xpfm
Description:   This platform targets the Alveo U200 Data Center Accelerator 
			   Card. This high-performance acceleration platform features 
			   up to four channels of DDR4-2400 SDRAM which are 
			   instantiated as required by the user kernels for high fabric 
			   resource availability, and Xilinx DMA Subsystem for PCI 
			   Express with PCIe Gen3 x16 connectivity.
Platform Type: Vitis

ハードウェア プラットフォーム情報

ハードウェア プラットフォームの一般的な情報がレポートされます。[Software Emulation and Hardware Emulation] フィールドが 1 の場合は、このプラットフォームにこれらの設定が適切であることを示します。Maximum Number of Compute Units フィールドには、このプラットフォームで使用可能な計算ユニットの最大数が表示されます。

Vendor:                           xilinx
Board:                            U200 (xdma)
Name:                             xdma
Version:                          201830.1
Generated Version:                2018.3
Software Emulation:               1
Hardware Emulation:               1
FPGA Family:                      virtexuplus
FPGA Device:                      xcu200
Board Vendor:                     xilinx.com
Board Name:                       xilinx.com:au200:1.0
Board Part:                       xcu200-fsgd2104-2-e
Maximum Number of Compute Units:  60

インターフェイス情報

次は、レポートされる PCIe インターフェイス情報を示しています。

  Interface Name: PCIe
  Interface Type: gen3x16
  PCIe Vendor Id:    0x10EE
  PCIe Device Id:    0x5000
  PCIe Subsystem Id: 0x000E

クロック情報

使用可能な最大カーネル クロック周波数をレポートします。クロック インデックスは、デフォルト値を上書きする際に --kernel_frequency v++ 指示子で使用するリファレンスです。

  Default Clock Index: 0
  Clock Index:         1
    Frequency:         500.000000
  Clock Index:         0
    Frequency:         300.000000

有効な SLR

プラットフォームの有効な SLR をレポートします。

  SLR0, SLR1, SLR2

使用可能なリソース

使用可能なリソースの合計および SLR ごとに使用可能なリソースがレポートされます。この情報は、プラットフォームの適用性を取得するのに使用でき、計算ユニットを使用可能な SLR に割り当てやすくします。

  Total...
    LUTs:  1051996
    FFs:   2197301
    BRAMs: 1896
    DSPs:  6833
  Per SLR...
    SLR0:
      LUTs:  354825
      FFs:   723370
      BRAMs: 638
      DSPs:  2265
    SLR1:
      LUTs:  159108
      FFs:   329166
      BRAMs: 326
      DSPs:  1317
    SLR2:
      LUTs:  354966
      FFs:   723413
      BRAMs: 638
      DSPs:  2265

メモリ情報

次の出力例に示すように、使用可能な DDR および PLRAM メモリ接続が SLR 別にレポートされます。
  Type: ddr4
  Bus SP Tag: DDR
    Segment Index: 0
      Consumption: automatic
      SP Tag:      bank0
      SLR:         SLR0
      Max Masters: 15
    Segment Index: 1
      Consumption: default
      SP Tag:      bank1
      SLR:         SLR1
      Max Masters: 15
    Segment Index: 2
      Consumption: automatic
      SP Tag:      bank2
      SLR:         SLR1
      Max Masters: 15
    Segment Index: 3
      Consumption: automatic
      SP Tag:      bank3
      SLR:         SLR2
      Max Masters: 15
  Bus SP Tag: PLRAM
    Segment Index: 0
      Consumption: explicit
      SLR:         SLR0
      Max Masters: 15
    Segment Index: 1
      Consumption: explicit
      SLR:         SLR1
      Max Masters: 15
    Segment Index: 2
      Consumption: explicit
      SLR:         SLR2
      Max Masters: 15

Bus SP Tag ヘディングは、DDR または PLRAM になり、次のように関連する情報が含まれます。

Segment Index フィールドは、次のように SP Tag と共に使用され、関連するメモリ リソース インデックスを生成します。

Bus SP Tag[Segment Index]

たとえば、Segment Index が 0 の場合、関連する DDR リソース インデックスは DDR[0] になります。

このメモリ インデックスは、v++ コマンドでメモリ リソースを使用する際に次のように使用されます。

v++ … --connectivity.sp vadd.m_axi_gmem:DDR[3]

複数の Segment Index が 1 つの SLR に関連付けられることもあります。たとえば、上記の出力の場合、SLR1 に Segment Index 1 および 2 の両方が含まれます。

Consumption フィールドは、デザインをビルドする際のメモリ リソースの使用方法を示します。

default
--connectivity.sp 指示子を指定しない場合、デフォルトで v++ ビルド中にこのメモリ リソースが使用されます。たとえば、次のレポート例の場合、Segment Index 1 の付いた DDR がデフォルトで使用されます。
automatic
Consumption: default が完全に適用された状態で最大数のメモリ インターフェイスが使用される場合は、automatic のインターフェイスが使用されます。メモリ リソースごとのインターフェイスの最大数は Max Masters フィールドに表示されます。
explicit
PLRAM の場合、[Consumption] が explicit に設定され、このメモリ リソースが v++ コマンド ラインで明示的に指定された場合にのみ使用されることを示します。

Feature ROM 情報

Feature ROM 情報には、ROM プラットフォームのビルド関連情報が含まれます。この情報は、システム問題をデバッグする際にザイリンクス サポートから尋ねられることがあります。

  ROM Major Version:       10
  ROM Minor Version:       1
  ROM Vivado Build ID:     2388429
  ROM DDR Channel Count:   5
  ROM DDR Channel Size:    16
  ROM Feature Bit Map:     655885
  ROM UUID:                00194bb3-707b-49c4-911e-a66899000b6b
  ROM CDMA Base Address 0: 620756992
  ROM CDMA Base Address 1: 0
  ROM CDMA Base Address 2: 0
  ROM CDMA Base Address 3: 0

ソフトウェア プラットフォーム情報

ソフトウェア プラットフォーム情報はデバイスで実行される OS を含むので、 ユーザーには役立ちますが、ホスト マシンを使用するユーザーに役立つ情報ではありません。

Number of Runtimes:            1
Linux root file system path:   tbd
Default System Configuration:  config0_0
System Configurations:
  System Config Name:                      config0_0
  System Config Description:               config0_0 Linux OS on x86_0
  System Config Default Processor Group:   x86_0
  System Config Default Boot Image:        
  System Config Is QEMU Supported:         0
  System Config Processor Groups:
    Processor Group Name:      x86_0
    Processor Group CPU Type:  x86
    Processor Group OS Name:   Linux OS
  System Config Boot Images:
Supported Runtimes:
  Runtime: OpenCL