platforminfo ユーティリティ

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

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

表 1. platforminfo コマンド
オプション 説明
-f [ --force ] 既存の出力ファイルを上書きします。
-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_u50_gen3x16_xdma_201920_3.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
ヒント: エンベデッド プロセッサ プラットフォームの例は、xilinx_zcu104_base_202010_1 の platforminfo を参照してください。

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

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

Platform:           xdma
File:               /proj/xbuilds/2020.2_daily_latest/internal_platforms/xilinx_u200_xdma_201830_3/xilinx_u200_xdma_201830_3.xpfm
Description: 

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

ハードウェア プラットフォームの一般的な情報がレポートされます。[Software Emulation and Hardware Emulation] フィールドが 1 の場合は、このプラットフォームにこれらの設定が適切であることを示します。

Vendor:                           xilinx
Board:                            U200 (xdma)
Name:                             xdma
Version:                          201830.3
Generated Version:                2018.3
Hardware:                         1
Software Emulation:               1
Hardware Emulation:               1
Hardware Emulation Platform:      0
FPGA Family:                      virtexuplus
FPGA Device:                      xcu200
Board Vendor:                     xilinx.com
Board Name:                       xilinx.com:au200:1.0
Board Part:                       xcu200-fsgd2104-2-e

インターフェイス情報

次は、レポートされる 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:  1047139
    FFs:   2186064
    BRAMs: 1896
    DSPs:  6833

  =======
  Per SLR
  =======
    SLR0:
      LUTs:  354690
      FFs:   723308
      BRAMs: 638
      DSPs:  2265
    SLR1:
      LUTs:  159739
      FFs:   331654
      BRAMs: 326
      DSPs:  1317
    SLR2:
      LUTs:  354839
      FFs:   723294
      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
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

xilinx_zcu104_base_202010_1 の platforminfo

次のコマンドを使用すると、xilinx_zcu104_base_202010_1 プラットフォームの platforminfo が表示されます。
platforminfo -p xilinx_zcu104_base_202010_1
次のような結果が表示されます。

==========================
Basic Platform Information
==========================
Platform:           xilinx_zcu104_base_202010_1
File:               /platforms/xilinx_zcu104_base_202010_1/xilinx_zcu104_base_202010_1.xpfm
Description:        
A basic static platform targeting the ZCU104 evaluation board, which includes 2GB DDR4, GEM, USB, SDIO interface and UART of the Processing System. It reserves most of the PL resources for user to add acceleration kernels
    

=====================================
Hardware Platform (Shell) Information
=====================================
Vendor:                           xilinx
Board:                            zcu104_base
Name:                             zcu104_base
Version:                          1.0
Generated Version:                2020.1
Software Emulation:               1
Hardware Emulation:               0
FPGA Family:                      zynquplus
FPGA Device:                      xczu7ev
Board Vendor:                     xilinx.com
Board Name:                       xilinx.com:zcu104:1.1
Board Part:                       xczu7ev-ffvc1156-2-e
Maximum Number of Compute Units:  60

=================
Clock Information
=================
  Default Clock Index: 0
  Clock Index:         0
    Frequency:         150.000000
  Clock Index:         1
    Frequency:         300.000000
  Clock Index:         2
    Frequency:         75.000000
  Clock Index:         3
    Frequency:         100.000000
  Clock Index:         4
    Frequency:         200.000000
  Clock Index:         5
    Frequency:         400.000000
  Clock Index:         6
    Frequency:         600.000000

==================
Memory Information
==================
  Bus SP Tag: HP0
  Bus SP Tag: HP1
  Bus SP Tag: HP2
  Bus SP Tag: HP3
  Bus SP Tag: HPC0
  Bus SP Tag: HPC1
=======================
Feature ROM Information
=======================

=============================
Software Platform Information
=============================
Number of Runtimes:            1
Default System Configuration:  xilinx_zcu104_base_202010_1
System Configurations:
  System Config Name:                      xilinx_zcu104_base_202010_1
  System Config Description:               xilinx_zcu104_base_202010_1
  System Config Default Processor Group:   xrt
  System Config Default Boot Image:        standard
  System Config Is QEMU Supported:         1
  System Config Processor Groups:
    Processor Group Name:      xrt
    Processor Group CPU Type:  cortex-a53
    Processor Group OS Name:   linux
  System Config Boot Images:
    Boot Image Name:           standard
    Boot Image Type:           
    Boot Image BIF:            xilinx_zcu104_base_202010_1/boot/linux.bif
    Boot Image Data:           xilinx_zcu104_base_202010_1/xrt/image
    Boot Image Boot Mode:      sd
    Boot Image RootFileSystem: 
    Boot Image Mount Path:     /mnt
    Boot Image Read Me:        xilinx_zcu104_base_202010_1/boot/generic.readme
    Boot Image QEMU Args:      xilinx_zcu104_base_202010_1/qemu/pmu_args.txt:xilinx_zcu104_base_202010_1/qemu/qemu_args.txt
    Boot Image QEMU Boot:      
    Boot Image QEMU Dev Tree:  
Supported Runtimes:
  Runtime: OpenCL