F-Tile Dynamic Reconfiguration Suite Intel® FPGA IP ユーザーガイド

ID 711009
日付 9/30/2024
Public
ドキュメント目次

4.7.1. QSF 割り当ての作成

  1. プラットフォーム・デザイナーを使用して、ディスクリート IP を作成します。
  2. 適切な RTL 接続を使用して、作成した IP をデザインにインスタンス化します。
  3. デザインで Design Analysis を実行します。
  4. Tile Assignment Editor を開きます。それには、 Quartus® Prime Menu > Assignments > Tile Assignment Editor をクリックします。
  5. new DR Group セルをクリックし、DR グループのプロパティーを定義します。属性を入力し、OK をクリックします。
    図 6. New DR Group のプロパティー
  6. ungrouped IP Instances セルの下にある IP を確認します。グループ化されていない IP の 1 つを右クリックし、Move IP Instance オプションをクリックします。
    図 7. グループ化されていない IP インスタンス
  7. IP に適切なリコンフィグレーション・グループを選択し、OK をクリックします。
    図 8. リコンフィグレーション・グループの選択
  8. グループ化されていない残りの IP すべてで、ステップ 6 と 7 を繰り返します。
  9. grouped IP Instances セルの下にあるリコンフィグレーション・グループ名を右クリックします。マスター・クロック・チャネルに使用する IP を選択します。それには、Use master clock channel from: プルダウンメニューを使用します。
    図 9. マスター・クロック・チャネルに使用する IP の選択
  10. リコンフィグレーション・グループ名の下にある、スタートアップ・インスタンスとする IP をクリックします。 Is Startup Instance ダイアログボックス・ボタンを選択します。
    図 10. オプション: スタートアップ・インスタンス
  11. Save Tile Assignment Editor をクリックします。
    注: マスター・クロック・チャネルとスタートアップ・インスタンスが、Tile Assignment Editor の Properties 列で定義されました。
    図 11. プロパティー
  12. プロトコル IP を関連付けるリコンフィグレーション・コントローラー IP を選択します。それには、Reconfig controller プルダウンメニューを使用します。
  13. Save Tile Assignment Editor をクリックすると、新しく導出されたダイナミック・リコンフィグレーション割り当てがすべてプロジェクトの .qsf ファイルに書き込まれます。
  14. プロジェクトの .qsf ファイルを開き、ダイナミック・リコンフィグレーションの割り当てを確認します。
    例: 2 つのマルチレート IP インスタンスを使用する一般的なデザインの QSF 割り当て
    set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A:EXCLUSIVE:CLK_MASTER" -entity dr_mr_eth_mr_cpri_same_ux
    set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:MY_MR_CPRI_INST_1|CPRIPHY_MR_F_0/RG_A" -entity dr_mr_eth_mr_cpri_same_ux
    set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:MY_MR_ETH_INST_1|ETH_F_DR_0/RG_A" -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_eth_inst_1|eth_f_dr_0 -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri_inst_1|cpriphy_mr_f_0 -entity dr_mr_eth_mr_cpri_same_ux
    set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_eth_inst_1|eth_f_dr_0 -entity dr_mr_eth_mr_cpri_same_ux
上の例は、マルチレート IP インスタンスを 2 つのみ使用したシンプルなデザインです。Tile Assignment Editor を使用すると、より複雑な階層的 DR グループを作成し、マルチレート IP とシングルレート IP の両方を含むデザインに対応することができます。下の図は、このような高度なデザインに対する Tile Assignment Editor GUI を示しています。
図 12. 例: 高度なデザイン

この例に関連付けられる .qsf 割り当ては次のとおりです。

例: 高度なデザインの QSF 割り当て
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_4_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_5_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_6_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_8_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_9_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_e25g_1_10_inst_1|eth_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_1_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_2_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4


set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_3_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_4_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_5_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_cpri25g_6_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_e25g_inst_1|eth_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4


set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_cpri24g_2_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4

set_instance_assignment -name IP_COLOCATE F_TILE -from dr_ctrl_inst_1|dr_f_0 -to my_pma25g_3_inst_1|directphy_f_0 -entity ceg_ex_v4

set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A2:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C1:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A1:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C2:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B2:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A3:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A4:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_D:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B1:EXCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B3:INCLUSIVE" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A2" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A3" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_A:RG_A4" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B2" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_B:RG_B3" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_C:RG_C1" -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_C:RG_C2" -entity ceg_ex_v4

set_instance_assignment -name IP_RECONFIG_GROUP RG_D -to my_pma25g_3_inst_1|directphy_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_CPRI24G_INST_1|CPRIPHY_MR_F_0/RG_A" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL OFF -to my_mr_cpri24g_inst_1|cpriphy_mr_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_E25G_INST_1|ETH_F_DR_0/RG_A" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE OFF -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL OFF -to my_mr_pma25g_inst_1|directphy_f_dr_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A1 -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e100g_4_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A2 -to my_e100g_4_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A3 -to my_cpri25g_1_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A3 -to my_cpri25g_2_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_1_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_2_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_A4 -to my_e25g_1_4_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B1 -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e100g_4_3_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B2 -to my_cpri25g_3_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B2 -to my_cpri25g_4_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B3 -to my_e25g_1_5_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_B3 -to my_e25g_1_6_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C1 -to my_cpri25g_5_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C1 -to my_cpri25g_6_inst_1|cpriphy_ftile_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_STARTUP_INSTANCE ON -to my_e25g_1_7_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_8_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_9_inst_1|eth_f_0 -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP RG_C2 -to my_e25g_1_10_inst_1|eth_f_0 -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_B:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_B" -to my_e100g_4_3_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_C:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_C" -to my_e25g_1_7_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4
set_global_assignment -name IP_RECONFIG_GROUP_TYPE "RG_A:EXCLUSIVE:CLK_MASTER" -entity ceg_ex_v4
set_instance_assignment -name IP_RECONFIG_GROUP_MASTER_CLOCK_CHANNEL "PLD_PCS_TX_CLK_OUT1_DCM:RG_A" -to my_e100g_4_1_inst_1|eth_f_0|hip_inst|per_aib[0].x_bb_m_hdpldadapt_tx -entity ceg_ex_v4

set_global_assignment -name IP_RECONFIG_GROUP_PARENT "RG_D:MY_MR_PMA25G_INST_1|DIRECTPHY_F_DR_0/RG_A_E" -entity ceg_ex_v4