AN 813: PCI Express* リファレンス・デザインを使用した Arria® 10デバイスの階層的なパーシャル・リコンフィグレーション

ID 683730
日付 9/24/2018
Public
ドキュメント目次

1.5.3.2. アプリケーション例を使用したデザインのプログラミング

次の手順は、提供されたスクリプトを使用したデザインのプログラミングを表しています。

  1. Programmerを使用してベース・リビジョン.sofファイルをプログラミングします。 PCIe* が列挙可能となるようホストPCを再起動します。 PCIe* デバイスとしてFPGAが確実に表示されるには、 Linuxシェルで次の内容を入力します。
    lspci -vvvd1172:
  2. デザインの機能性を検証するには、たとえば次のような内容をLinuxシェルで入力します。
    ./example_host_uio
  3. 次のいずれかのシングル・ファンクションPRペルソナでデザイン内の親PRパーティションを置き換えるには、Linuxシェルで次を入力します。
    fpga-configure -p <rbf file from list> 10000
    <rbf file from list>は次のいずれかのファイルです。
    • a10_pcie_devkit_cvp_normal_basic_arithmetic.pr_partition
    • a10_pcie_devkit_cvp_normal_basic_dsp.pr_partition
    • a10_pcie_devkit_cvp_normal_ddr4_access.pr_partition
    • a10_pcie_devkit_cvp_normal_gol.pr_partition
  4. デザインの機能性を検証するには、次の内容をLinuxシェルで入力します。
    ./example_host_uio
  5. 2つの子パーティションを含む親PRパーティションをプログラムするには、Linuxシェルで次を入力します。
    fpga-configure -p a10_pcie_devkit_cvp_ddr4_access.pr_partition.rbf 10000
    子パーシャルは両方ともDDR4アクセスペルソナです。
  6. デザインの機能性を検証するには、次の内容をLinuxシェルで入力します。
    ./example_host_uio
  7. さらに、それぞれの子PRパーティションは、ペルソナの任意の組み合わせで再プログラミングが可能です。以下は、output_filesディレクトリーに生成されるファイルです。
    • a10_pcie_devkit_cvp_ddr4_access.pr_partition.pr_child_partition_1.rbf
    • a10_pcie_devkit_cvp_basic_dsp.pr_partition.pr_child_partition_0.rbf
    • a10_pcie_devkit_cvp_basic_dsp.pr_partition.pr_child_partition_1.rbf
    • a10_pcie_devkit_cvp_basic_arithmetic.pr_partition.pr_child_partition_0.rbf
    • a10_pcie_devkit_cvp_basic_arithmetic.pr_partition.pr_child_partition_1.rbf
    • a10_pcie_devkit_cvp_gol.pr_partition.pr_child_partition_0.rbf
    • a10_pcie_devkit_cvp_gol.pr_partition.pr_child_partition_1.rbf
    各ビットストリーム・ファイルは特定の子PRリージョンに固有であり、互換性はありません。たとえば、 *.pr_child_partition_0.rbfファイルは、子PRリージョン0にのみ互換性があり、1とは互換性がありません。
  8. それぞれの子リージョンをコンパイルするには、Linuxシェルで次の内容を入力します。
    子リージョン0の場合
    fpga-configure -p <persona>.pr_partition.pr_child_partition_0.rbf 10
    子リージョン1の場合
    fpga-configure -p <persona>.pr_partition.pr_child_partition_1.rbf 20

    より大きいPRリージョンに向けたPRリージョン・コントローラーは、アドレス0x10000です。より小さい子PRリージョンに向けたPRリージョン・コントローラーは、それぞれアドレス0x10とアドレス0x20です。