AN 954: 階層型パーシャル・リコンフィグレーションのチュートリアル: インテル® Agilex® FシリーズFPGA開発ボード用

ID 683687
日付 8/04/2021
Public
ドキュメント目次

ステップ9: 子PRパーティションのPR実装リビジョンの準備

このセットアップには、各実装リビジョンのソースファイルとしてスタティック領域 .qdb ファイルを追加することが含まれます。さらに、親PRパーティションの .qdb ファイルをインポートし、PR領域の対応するエンティティーを指定する必要があります。
  1. 現在のリビジョンを設定するには、Project > Revisionsをクリックし、Revision namehpr_child_defaultを選択して、Set Currentをクリックします。
  2. 実装リビジョンごとに正しい子ペルソナのソースファイルを指定するには、Project > Add/Remove Files in Projectをクリックします。blinking_led_child.sv がファイルリストに表示されていることを確認します。
    図 11. Add/Remove Files in Project
  3. 手順1から2を繰り返して、他の実装リビジョン用に次の子ペルソナのソースファイルを指定します。
    表 8.  実装リビジョンのソースファイル
    実装リビジョン名 子ペルソナのソースファイル
    hpr_child_default blinking_led_child.sv
    hpr_child_slow blinking_led_child_slow.sv
    hpr_child_empty blinking_led_child_empty.sv
    hpr_parent_slow_child_slow blinking_led_child_slow.sv
  4. ルート・パーティションに関連付けられている .qdb ファイルを確認するには、Assignments > Design Partitions Windowをクリックします。Partition Database Fileセルをダブルクリックし、blinking_led_static.qdb ファイルに移動して、スタティック領域に関連付けられている .qdb ファイルを指定します。
    図 12. Partition Database Fileの指定
    もしくは、次のコマンドでこのファイルを割り当てます。
    set_instance_assignment -name QDB_FILE_PARTITION \
    		blinking_led_static.qdb -to |
  5. 親PRパーティション .qdb ファイルを指定するには、Assignments > Design Partitions Windowをクリックします。pr_parent_partitionPartition Database Fileをダブルクリックし、プロジェクト・ディレクトリーでそれぞれの .qdb ファイルを指定します。
    表 9.  親PRパーティション .qdb ファイルの指定
    実装リビジョン名 親ペルソナの .qdb ファイル
    hpr_child_default pr_parent_partition_default_final.qdb
    hpr_child_slow pr_parent_partition_default_final.qdb
    hpr_child_empty pr_parent_partition_default_final.qdb
    hpr_parent_slow_child_slow pr_parent_partition_slow_final.qdb

    次の行が .qsf に存在することを確認します。

    # To use the default parent PR persona:
    set_instance_assignment -name QDB_FILE_PARTITION \
          pr_parent_partition_default_final.qdb -to u_blinking_led
    
    # To use the slow parent PR persona:
    set_instance_assignment -name QDB_FILE_PARTITION \
          pr_parent_partition_slow_final.qdb -to u_blinking_led
  6. Entity Re-bindingセルで、子PRパーティションのエンティティー名を指定します。デフォルトのペルソナの場合、エンティティー名は blinking_led です。この実装リビジョンの blinking_led_child は、パーシャル・リコンフィグレーションを行うエンティティーの名前です。u_blinking_led|u_blinking_led_child は、PR中にエンティティーが上書きするインスタンスの名前です。次の行が .qsf に存在することを確認します。
    図 13. Entity Rebindingのアサインメント
    #hpr_child_default.qsf
    set_instance_assignment -name ENTITY_REBINDING \
          blinking_led_child -to u_blinking_led|u_blinking_led_child
    
    #hpr_child_slow.qsf and hpr_parent_slow_child_slow.qsf
    set_instance_assignment -name ENTITY_REBINDING \
          blinking_led_child_slow -to u_blinking_led|u_blinking_led_child
    
    #hpr_child_empty.qsf
    set_instance_assignment -name ENTITY_REBINDING \
          blinking_led_child_empty -to u_blinking_led|u_blinking_led_child
  7. デザインをコンパイルするには、Processing > Start Compilationをクリックします。もしくは、次のコマンドでこのプロジェクトをコンパイルします。
    quartus_sh --flow compile blinking_led –c hpr_child_default
  8. 上記の手順を繰り返して、hpr_child_slowhpr_child_empty、および hpr_parent_slow_child_slow リビジョンを準備します。
    注: PR実装のコンパイル中に適用するFitter固有の設定を指定できます。Fitter固有の設定は、ペルソナのフィットにのみ影響を与えます。インポートされたスタティック領域に影響を与えることはありません。
  9. output_files ディレクトリーに生成されたビットストリーム・ファイルを調べます。
    注: ソフトウェアは子PRパーティションに対してのみPRビットストリームを生成します。これは、親PRパーティションを最終的な .qdb ファイルとしてインポートし、子PR領域でのみエンティティー再バインドを使用したためです。

    output_files ディレクトリーに、次の生成された .rbf ファイルが含まれていることを確認します。これは、すべての実装リビジョンをコンパイルした後に行います。

    • hpr_child_default.pr_parent_partition.pr_partition.rbf
    • hpr_child_slow.pr_parent_partition.pr_partition.rbf
    • hpr_child_empty.pr_parent_partition.pr_partition.rbf
    • hpr_parent_slow_child_slow.pr_parent_partition.pr_partition.rbf